@next-bricks/ai 1.32.11 → 1.32.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/7736.e4045459.js +2 -0
- package/dist/chunks/{4145.40484a55.js.map → 7736.e4045459.js.map} +1 -1
- package/dist/chunks/9415.f88a0ecb.js +2 -0
- package/dist/chunks/9415.f88a0ecb.js.map +1 -0
- package/dist/chunks/chat-agent.34421bb8.js +2 -0
- package/dist/chunks/chat-agent.34421bb8.js.map +1 -0
- package/dist/chunks/chat-view.20131fe6.js +2 -0
- package/dist/chunks/chat-view.20131fe6.js.map +1 -0
- package/dist/chunks/main.0b25040b.js +2 -0
- package/dist/chunks/{main.a21f3a11.js.map → main.0b25040b.js.map} +1 -1
- package/dist/index.4f6d5411.js +2 -0
- package/dist/{index.d0d333d9.js.map → index.4f6d5411.js.map} +1 -1
- package/package.json +3 -3
- package/dist/chunks/4145.40484a55.js +0 -2
- package/dist/chunks/519.683d97cb.js +0 -2
- package/dist/chunks/519.683d97cb.js.map +0 -1
- package/dist/chunks/chat-agent.29d3321d.js +0 -2
- package/dist/chunks/chat-agent.29d3321d.js.map +0 -1
- package/dist/chunks/chat-view.f27b831c.js +0 -2
- package/dist/chunks/chat-view.f27b831c.js.map +0 -1
- package/dist/chunks/main.a21f3a11.js +0 -2
- package/dist/index.d0d333d9.js +0 -2
package/dist/bricks.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[7736],{356:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(6758),a=s.n(n),i=s(935),o=s.n(i)()(a());o.push([e.id,":host{display:none}",""]);const r=o.toString()},7736:(e,t,s)=>{var n,a=s(4635),i=s(918),o=s(6902),r=s(5536),h=s(6121),l=s(829),u=s(2740),c=s(8769),d=s.n(c),A=s(870),g=s(981),w=s(6420),p=s(9183),v=s(5756),k=s(6413),I=s(1333);let m,y,f,C,S,b,M,L,W,E,B,R,T,q,N,x,U,F,_,D,P,Q,H,O,$,J,Z,j,z,G,K,V,X,Y,ee,te,se,ne,ae,ie,oe,re,he,le,ue,ce,de,Ae;s(4419),s(2896),s(3262);const{defineElement:ge,property:we,method:pe,event:ve}=(0,A.createDecorators)();function ke(e,t){let{agentId:s,robotId:n,sessionId:a,showAvatar:i,showSessionList:o=!0,readonly:r=!1,showLike:h=!0,showShare:l=!0,quickAnswerConfig:u,snippetList:A,enterInterval:g,debug:m=!1,useSpiltWord:y=!1,commandBricks:f,answerLanguage:C,inputToolbarBrick:S,showToolCalls:b,onSessionIdChange:M,onRobotIdChange:L,onQaFinish:W}=e;const{sessionEnd:E,sessionLoading:B,activeSessionId:R,msgEnd:T,msgLoading:q,msgList:N,sessionList:x,loading:U,chatting:F,searchStr:_,toolNames:D,setAgent:P,handleIsLike:Q,handleChat:H,stopChat:O,createSession:$,deleteSession:J,updateSession:Z,checkSession:j,setSearchStr:z,querySessionHistory:G,setConfig:K,setFormData:V}=(0,v.Fn)({agentId:s,robotId:n,sessionId:a,enterInterval:g,debug:m,answerLanguage:C,useSpiltWord:y,showToolCalls:b});(0,c.useEffect)((()=>{var e;R&&(M(R),L(null===(e=x.find((e=>e.conversationId===R)))||void 0===e?void 0:e.robotId))}),[R,L,M,x]),(0,c.useEffect)((()=>{!F&&R&&W(R)}),[F]);const X=(0,c.useRef)(null);return(0,c.useImperativeHandle)(t,(()=>({handleInsertQuestion(e){var t;return null===(t=X.current)||void 0===t?void 0:t.handleInsertQuestion(e)},sendMsg(e){var t;return null===(t=X.current)||void 0===t?void 0:t.sendMsg(e)},setConfig:K,setFormData:V})),[K,V]),d().createElement(w.t.Provider,{value:{sessionEnd:E,sessionLoading:B,activeSessionId:R,sessionList:x,msgEnd:T,msgLoading:q,msgList:N,chatting:F,loading:U,searchStr:_,showLike:h,showShare:l,readonly:r,quickAnswerConfig:u,snippetList:A,commandBricks:f,showToolCalls:b,toolNames:D,setAgent:P,handleIsLike:Q,handleChat:H,stopChat:O,createSession:$,deleteSession:J,updateSession:Z,checkSession:j,setSearchStr:z,querySessionHistory:G}},d().createElement("div",{className:"chat-view-container"},o&&d().createElement("div",{className:"chat-view-selector"},d().createElement(k.Z,null)),d().createElement("div",{className:"chat-view-content"},d().createElement(p.M,{showAvatar:i}),!r&&d().createElement(I.D,{inputToolbarBrick:S,ref:X}))))}const Ie=(0,c.forwardRef)(ke);let me;var ye=new WeakMap,fe=new WeakMap,Ce=new WeakMap,Se=new WeakMap,be=new WeakMap,Me=new WeakMap,Le=new WeakMap,We=new WeakMap,Ee=new WeakMap,Be=new WeakMap,Re=new WeakMap,Te=new WeakMap,qe=new WeakMap,Ne=new WeakMap,xe=new WeakMap,Ue=new WeakMap,Fe=new WeakMap,_e=new WeakMap,De=new WeakMap,Pe=new WeakSet,Qe=new WeakMap,He=new WeakMap,Oe=new WeakMap,$e=new WeakMap,Je=new WeakMap;class Ze extends g.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,Pe),(0,i.A)(this,ye,(m(this),f(this))),(0,i.A)(this,fe,(C(this),S(this))),(0,i.A)(this,Ce,(b(this),M(this))),(0,i.A)(this,Se,(L(this),W(this))),(0,i.A)(this,be,(E(this),B(this))),(0,i.A)(this,Me,(R(this),T(this))),(0,i.A)(this,Le,(q(this),N(this))),(0,i.A)(this,We,(x(this),U(this))),(0,i.A)(this,Ee,(F(this),_(this))),(0,i.A)(this,Be,(D(this),P(this))),(0,i.A)(this,Re,(Q(this),H(this))),(0,i.A)(this,Te,(O(this),$(this))),(0,i.A)(this,qe,(J(this),Z(this))),(0,i.A)(this,Ne,(j(this),z(this))),(0,i.A)(this,xe,(G(this),K(this))),(0,i.A)(this,Ue,(V(this),X(this))),(0,i.A)(this,Fe,(Y(this),ee(this))),(0,i.A)(this,_e,(te(this),d().createRef())),(0,i.A)(this,De,se(this)),(0,i.A)(this,Qe,(ie(this),e=>{(0,r.A)(Pe,this,ne).emit(e)})),(0,i.A)(this,He,oe(this)),(0,i.A)(this,Oe,(le(this),e=>{(0,r.A)(Pe,this,re).emit(e)})),(0,i.A)(this,$e,ue(this)),(0,i.A)(this,Je,(Ae(this),e=>{(0,r.A)(Pe,this,ce).emit(e)}))}get sessionId(){return(0,l.A)(ye,this)}set sessionId(e){(0,h.A)(ye,this,e)}get agentId(){return(0,l.A)(fe,this)}set agentId(e){(0,h.A)(fe,this,e)}get robotId(){return(0,l.A)(Ce,this)}set robotId(e){(0,h.A)(Ce,this,e)}get answerLanguage(){return(0,l.A)(Se,this)}set answerLanguage(e){(0,h.A)(Se,this,e)}get debug(){return(0,l.A)(be,this)}set debug(e){(0,h.A)(be,this,e)}get showAvatar(){return(0,l.A)(Me,this)}set showAvatar(e){(0,h.A)(Me,this,e)}get showSessionList(){return(0,l.A)(Le,this)}set showSessionList(e){(0,h.A)(Le,this,e)}get readonly(){return(0,l.A)(We,this)}set readonly(e){(0,h.A)(We,this,e)}get showLike(){return(0,l.A)(Ee,this)}set showLike(e){(0,h.A)(Ee,this,e)}get showShare(){return(0,l.A)(Be,this)}set showShare(e){(0,h.A)(Be,this,e)}get useSpiltWord(){return(0,l.A)(Re,this)}set useSpiltWord(e){(0,h.A)(Re,this,e)}get enterInterval(){return(0,l.A)(Te,this)}set enterInterval(e){(0,h.A)(Te,this,e)}get quickAnswerConfig(){return(0,l.A)(qe,this)}set quickAnswerConfig(e){(0,h.A)(qe,this,e)}get snippetList(){return(0,l.A)(Ne,this)}set snippetList(e){(0,h.A)(Ne,this,e)}get commandBricks(){return(0,l.A)(xe,this)}set commandBricks(e){(0,h.A)(xe,this,e)}get inputToolbarBrick(){return(0,l.A)(Ue,this)}set inputToolbarBrick(e){(0,h.A)(Ue,this,e)}get showToolCalls(){return(0,l.A)(Fe,this)}set showToolCalls(e){(0,h.A)(Fe,this,e)}setConfig(e){var t;null===(t=(0,l.A)(_e,this).current)||void 0===t||t.setConfig(e)}setFormData(e){var t;null===(t=(0,l.A)(_e,this).current)||void 0===t||t.setFormData(e)}insertQuestion(e){var t;const{value:s}=e;s&&(null===(t=(0,l.A)(_e,this).current)||void 0===t||t.handleInsertQuestion(s))}sendMsg(e){var t;null===(t=(0,l.A)(_e,this).current)||void 0===t||t.sendMsg(e)}render(){return d().createElement(Ie,{agentId:this.agentId,robotId:this.robotId,debug:this.debug,sessionId:this.sessionId,readonly:this.readonly,showAvatar:this.showAvatar,showSessionList:this.showSessionList,showLike:this.showLike,showShare:this.showShare,useSpiltWord:this.useSpiltWord,quickAnswerConfig:this.quickAnswerConfig,snippetList:this.snippetList,enterInterval:this.enterInterval,commandBricks:this.commandBricks,answerLanguage:this.answerLanguage,inputToolbarBrick:this.inputToolbarBrick,showToolCalls:this.showToolCalls,onSessionIdChange:(0,l.A)(Qe,this),onRobotIdChange:(0,l.A)(Oe,this),onQaFinish:(0,l.A)(Je,this),ref:(0,l.A)(_e,this)})}}n=Ze,({e:[f,C,S,b,M,L,W,E,B,R,T,q,N,x,U,F,_,D,P,Q,H,O,$,J,Z,j,z,G,K,V,X,Y,ee,te,se,ne,ae,ie,oe,re,he,le,ue,ce,de,Ae,m],c:[me,y]}=(0,u.A)(n,[ge("ai.chat-view",{shadowOptions:!1})],[[we(),1,"sessionId"],[we(),1,"agentId"],[we(),1,"robotId"],[we(),1,"answerLanguage"],[we({type:Boolean}),1,"debug"],[we({type:Boolean}),1,"showAvatar"],[we({type:Boolean}),1,"showSessionList"],[we({type:Boolean}),1,"readonly"],[we({type:Boolean}),1,"showLike"],[we({type:Boolean}),1,"showShare"],[we({type:Boolean}),1,"useSpiltWord"],[we({type:Number}),1,"enterInterval"],[we({attribute:!1}),1,"quickAnswerConfig"],[we({attribute:!1}),1,"snippetList"],[we({attribute:!1}),1,"commandBricks"],[we({attribute:!1}),1,"inputToolbarBrick"],[we({type:Boolean}),1,"showToolCalls"],[pe(),2,"setConfig"],[pe(),2,"setFormData"],[ve({type:"sessionId.change"}),1,"sessionIdChange",e=>(0,l.A)(De,e),(e,t)=>(0,h.A)(De,e,t)],[ve({type:"robotId.change"}),1,"robotIdChange",e=>(0,l.A)(He,e),(e,t)=>(0,h.A)(He,e,t)],[ve({type:"qa.finish"}),1,"qaFinish",e=>(0,l.A)($e,e),(e,t)=>(0,h.A)($e,e,t)],[pe(),2,"insertQuestion"],[pe(),2,"sendMsg"]],0,(e=>Je.has((0,o.A)(e))),g.ReactNextElement)),y();var je,ze=s(1921),Ge=s(9936),Ke=s(356);let Ve,Xe,Ye,et,tt,st,nt,at,it,ot,rt,ht,lt,ut,ct,dt,At,gt,wt,pt,vt,kt;const{defineElement:It,property:mt,event:yt,method:ft}=(0,A.createDecorators)(),Ct=(0,c.forwardRef)(_t);let St;var bt=new WeakMap,Mt=new WeakMap,Lt=new WeakMap,Wt=new WeakMap,Et=new WeakMap,Bt=new WeakSet,Rt=new WeakMap,Tt=new WeakMap,qt=new WeakMap,Nt=new WeakMap,xt=new WeakMap,Ut=new WeakMap;class Ft extends g.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,Bt),(0,i.A)(this,bt,(Ve(this),Ye(this))),(0,i.A)(this,Mt,(et(this),tt(this))),(0,i.A)(this,Lt,(st(this),nt(this))),(0,i.A)(this,Wt,(at(this),it(this))),(0,i.A)(this,Et,(ot(this),rt(this))),(0,i.A)(this,Rt,(ut(this),e=>{(0,r.A)(Bt,this,ht).emit(e)})),(0,i.A)(this,Tt,ct(this)),(0,i.A)(this,qt,(gt(this),e=>{(0,r.A)(Bt,this,dt).emit(e)})),(0,i.A)(this,Nt,wt(this)),(0,i.A)(this,xt,(kt(this),e=>{(0,r.A)(Bt,this,pt).emit(e)})),(0,i.A)(this,Ut,(0,c.createRef)())}get agentId(){return(0,l.A)(bt,this)}set agentId(e){(0,h.A)(bt,this,e)}get robotId(){return(0,l.A)(Mt,this)}set robotId(e){(0,h.A)(Mt,this,e)}get conversationId(){return(0,l.A)(Lt,this)}set conversationId(e){(0,h.A)(Lt,this,e)}get alwaysUseNewConversation(){return(0,l.A)(Wt,this)}set alwaysUseNewConversation(e){(0,h.A)(Wt,this,e)}postMessage(e){var t;return null===(t=(0,l.A)(Ut,this).current)||void 0===t?void 0:t.postMessage(e)}sendRequest(e,t,s){var n;return null===(n=(0,l.A)(Ut,this).current)||void 0===n?void 0:n.sendRequest(e,t,s)}lowLevelSendRequest(e,t,s){var n;return null===(n=(0,l.A)(Ut,this).current)||void 0===n?void 0:n.lowLevelSendRequest(e,t,s)}newConversation(){var e;null===(e=(0,l.A)(Ut,this).current)||void 0===e||e.newConversation()}render(){return d().createElement(Ct,{ref:(0,l.A)(Ut,this),agentId:this.agentId,robotId:this.robotId,conversationId:this.conversationId,alwaysUseNewConversation:this.alwaysUseNewConversation,onMessagesUpdate:(0,l.A)(Rt,this),onBusyChange:(0,l.A)(qt,this),onConversationIdChange:(0,l.A)(xt,this)})}}function _t(e,t){let{agentId:s,robotId:n,conversationId:a,alwaysUseNewConversation:i,onMessageChunkPush:o,onMessagesUpdate:r,onBusyChange:h,onConversationIdChange:l}=e;const u=(0,c.useRef)(!1),d=(0,c.useRef)(1),A=(0,c.useRef)(!1),[g,w]=(0,c.useState)(null);(0,c.useEffect)((()=>{w(null!=a?a:null)}),[a]),(0,c.useEffect)((()=>{u.current&&(null==l||l(g))}),[g,l]);const p=(0,c.useRef)(0),v=(0,c.useCallback)((()=>p.current++),[]),[k,I]=(0,c.useState)([]),m=(0,c.useCallback)((e=>{null==o||o(e),I((t=>{const s=t[t.length-1];return s&&s.key===e.key?(s.content+=e.delta.content,[...t]):(null!=s&&s.partial&&(s.partial=!1),[...t,{...e.delta,key:e.key,partial:e.partial}])}))}),[o]),y=(0,c.useCallback)((async(e,t,s,n)=>{if(A.current)return null;(i||e)&&I((e=>0===e.length?e:[]));const a=d.current;let o;const r=async()=>{if(a!==d.current)throw o||(o=new Error("New conversation started")),o},l=v(),u=v();let c=i||e?null:g;null==h||h(A.current=!0);try{if(Array.isArray(t))for(const e of t){const t="assistant"===e.role;(t||"user"===e.role)&&(null==m||m({key:t?u:l,delta:{role:e.role,content:e.content}}))}else null==m||m({key:l,delta:{content:t,role:"user"}});const a=(0,Ge.createSSEStream)(new URL(s,`${location.origin}${(0,ze.getBasePath)()}`).toString(),n);await Promise.race([a,new Promise((e=>setTimeout(e,1e3)))]),await r(),null==m||m({key:u,delta:{content:"",role:"assistant"},partial:!0});const o=await a;for await(const t of o)if(await r(),e){var p;const e=null===(p=t.choices)||void 0===p||null===(p=p[0])||void 0===p?void 0:p.delta;null!=e&&e.content&&m({delta:{role:e.role,content:e.content},key:u,partial:!0})}else null==m||m({delta:t.delta,key:u,partial:!0}),i||!t.conversationId||c||w(c=t.conversationId);await r(),I((e=>{const t=e[e.length-1];return null!=t&&t.partial&&(t.partial=!1),[...e]}))}catch(e){if(e&&e===o)throw e;console.error("stream failed:",e),await r(),I((e=>{const t=e[e.length-1];let s=e;return(null==t?void 0:t.key)===u&&(t.content?(t.partial=!1,t.failed=!0):s=e.slice(0,-1)),[...s,{role:"assistant",content:"系统错误",key:v(),failed:!0}]}))}return await r(),null==h||h(A.current=!1),c}),[g,i,v,h,m]);return(0,c.useImperativeHandle)(t,(()=>({lowLevelSendRequest:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return y(!0,...t)},sendRequest:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return y(!1,...t)},postMessage:e=>y(!1,e,"api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions",{method:"POST",body:JSON.stringify({agentId:s,robotId:n,input:e,stream:!0,conversationId:i||null===g?void 0:g}),headers:{"giraffe-contract-name":"easyops.api.aiops_chat.manage.LLMChatProxy"}}),newConversation(){d.current++,w(null),I((e=>0===e.length?e:[])),A.current&&(null==h||h(A.current=!1))}})),[y,s,n,i,g,h]),(0,c.useEffect)((()=>{u.current&&(null==r||r(k))}),[k,r]),(0,c.useEffect)((()=>{u.current=!0}),[]),null}je=Ft,({e:[Ye,et,tt,st,nt,at,it,ot,rt,ht,lt,ut,ct,dt,At,gt,wt,pt,vt,kt,Ve],c:[St,Xe]}=(0,u.A)(je,[It("ai.chat-agent",{styleTexts:[Ke.A]})],[[mt(),1,"agentId"],[mt(),1,"robotId"],[mt(),1,"conversationId"],[mt(),1,"alwaysUseNewConversation"],[ft(),2,"postMessage"],[ft(),2,"sendRequest"],[ft(),2,"lowLevelSendRequest"],[ft(),2,"newConversation"],[yt({type:"messages.update"}),1,"messagesUpdate",e=>(0,l.A)(Et,e),(e,t)=>(0,h.A)(Et,e,t)],[yt({type:"busy.change"}),1,"busyChangeEvent",e=>(0,l.A)(Tt,e),(e,t)=>(0,h.A)(Tt,e,t)],[yt({type:"conversationId.change"}),1,"conversationIdChangeEvent",e=>(0,l.A)(Nt,e),(e,t)=>(0,h.A)(Nt,e,t)]],0,(e=>Ut.has((0,o.A)(e))),g.ReactNextElement)),Xe()}}]);
|
|
2
|
+
//# sourceMappingURL=7736.e4045459.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4145.40484a55.js","mappings":"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","sources":["webpack:///./src/chat-agent/styles.shadow.css","webpack:///./src/chat-view/index.tsx","webpack:///./src/chat-agent/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n ChatViewContext,\n QuickAnswerConfig,\n snippet,\n} from \"./ChatViewContext.js\";\nimport { MessageList } from \"./components/MessageList.js\";\nimport { useChatViewInfo } from \"./hooks/useChatViewInfo.js\";\nimport { SessionList } from \"./components/SessionList.js\";\nimport { SearchInput, SearchInputRef } from \"./components/SearchInput.js\";\nimport \"@next-core/theme\";\nimport \"./host-context.css\";\nimport \"./index.css\";\nimport { commandBrickConf } from \"./ChatViewContext\";\nimport { UseBrickConf } from \"@next-core/types\";\nimport { ChatBody } from \"./ChatService.js\";\n\nconst { defineElement, property, method, event } = createDecorators();\n\ntype InputToolbarBrick = { useBrick: UseBrickConf };\n\nexport interface ChatViewRef extends SearchInputRef {\n setConfig(config: Record<string, unknown> | undefined): void;\n setFormData(formData: Record<string, unknown> | undefined): void;\n}\n\nexport interface ChatViewProps {\n agentId: string;\n robotId: string;\n sessionId?: string;\n readonly?: boolean;\n showAvatar?: boolean;\n showSessionList?: boolean;\n showLike?: boolean;\n showShare?: boolean;\n useSpiltWord?: boolean;\n quickAnswerConfig?: QuickAnswerConfig;\n snippetList?: snippet[];\n enterInterval?: number;\n debug?: boolean;\n commandBricks?: commandBrickConf;\n answerLanguage?: string;\n inputToolbarBrick?: InputToolbarBrick;\n showToolCalls?: boolean;\n onSessionIdChange: (sessionId: string | undefined) => void;\n onRobotIdChange: (robotId: string | undefined) => void;\n onQaFinish: (sessionId: string | undefined) => void;\n}\n\nexport function LegacyChatViewComponent(\n {\n agentId,\n robotId,\n sessionId,\n showAvatar,\n showSessionList = true,\n readonly = false,\n showLike = true,\n showShare = true,\n quickAnswerConfig,\n snippetList,\n enterInterval,\n debug = false,\n useSpiltWord = false,\n commandBricks,\n answerLanguage,\n inputToolbarBrick,\n showToolCalls,\n onSessionIdChange,\n onRobotIdChange,\n onQaFinish,\n }: ChatViewProps,\n ref: React.Ref<ChatViewRef>\n) {\n const {\n sessionEnd,\n sessionLoading,\n activeSessionId,\n msgEnd,\n msgLoading,\n msgList,\n sessionList,\n loading,\n chatting,\n searchStr,\n toolNames,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n updateSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n setConfig,\n setFormData,\n } = useChatViewInfo({\n agentId,\n robotId,\n sessionId,\n enterInterval,\n debug,\n answerLanguage,\n useSpiltWord,\n showToolCalls,\n });\n\n useEffect(() => {\n if (activeSessionId) {\n onSessionIdChange(activeSessionId);\n onRobotIdChange(\n sessionList.find((item) => item.conversationId === activeSessionId)\n ?.robotId\n );\n }\n }, [activeSessionId, onRobotIdChange, onSessionIdChange, sessionList]);\n\n useEffect(() => {\n if (!chatting && activeSessionId) {\n // 当此时存在activeSessionId,且chatting是从true变为false时触发,不需要加入activeSessionId的依赖判断\n onQaFinish(activeSessionId);\n }\n }, [chatting]);\n\n const inputRef = useRef<SearchInputRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n handleInsertQuestion(value) {\n return inputRef.current?.handleInsertQuestion(value);\n },\n sendMsg(msg) {\n return inputRef.current?.sendMsg(msg);\n },\n setConfig,\n setFormData,\n }),\n [setConfig, setFormData]\n );\n\n return (\n <ChatViewContext.Provider\n value={{\n sessionEnd,\n sessionLoading,\n activeSessionId,\n sessionList,\n msgEnd,\n msgLoading,\n msgList,\n chatting,\n loading,\n searchStr,\n showLike,\n showShare,\n readonly,\n quickAnswerConfig,\n snippetList,\n commandBricks,\n showToolCalls,\n toolNames,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n updateSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n }}\n >\n <div className=\"chat-view-container\">\n {showSessionList && (\n <div className=\"chat-view-selector\">\n <SessionList />\n </div>\n )}\n <div className=\"chat-view-content\">\n <MessageList showAvatar={showAvatar} />\n {!readonly && (\n <SearchInput inputToolbarBrick={inputToolbarBrick} ref={inputRef} />\n )}\n </div>\n </div>\n </ChatViewContext.Provider>\n );\n}\n\nexport const ChatViewComponent = forwardRef(LegacyChatViewComponent);\n\n/**\n * AI 对话终端\n */\nexport\n@defineElement(\"ai.chat-view\", {\n // shadow 模式下,会导致 useBrick 样式丢失\n // 如:commandBricks 配置 cmdb-instances.instance-list\n shadowOptions: false,\n})\nclass ChatView extends ReactNextElement {\n @property()\n accessor sessionId: string | undefined;\n\n /**\n * 智能体id\n */\n @property()\n accessor agentId!: string;\n\n /**\n * 机器人id\n */\n @property()\n accessor robotId!: string;\n\n /**\n * 指定智能体回答代码时所使用的语言\n */\n @property()\n accessor answerLanguage: string | undefined;\n\n /**\n * 是否为debug模式\n */\n @property({\n type: Boolean,\n })\n accessor debug: boolean | undefined;\n\n /**\n * 是否展示对话用户头像\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showAvatar: boolean | undefined;\n\n /**\n * 是否展示历史会话信息\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showSessionList: boolean | undefined;\n\n /**\n * 只读模式\n */\n @property({\n type: Boolean,\n })\n accessor readonly: boolean | undefined;\n\n /**\n * 是否展示点赞能力\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showLike: boolean | undefined;\n\n /**\n * 是否展示分享能力\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showShare: boolean | undefined;\n\n /**\n * 是否开启前端分词\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor useSpiltWord: boolean | undefined;\n\n /**\n * 输入间隔,设置为 -1 使用新的方式对大段消息进行模拟打字效果节流输出\n *\n * @default 50\n */\n @property({\n type: Number,\n })\n accessor enterInterval: number | undefined;\n\n /**\n * 快速入口列表\n */\n @property({\n attribute: false,\n })\n accessor quickAnswerConfig: QuickAnswerConfig | undefined;\n\n /**\n * 常用语列表\n */\n @property({\n attribute: false,\n })\n accessor snippetList: snippet[] | undefined;\n\n /**\n * 自定义语言配置\n */\n @property({\n attribute: false,\n })\n accessor commandBricks: commandBrickConf | undefined;\n\n /**\n * 输入框工具栏 useBrick\n */\n @property({\n attribute: false,\n })\n accessor inputToolbarBrick: InputToolbarBrick | undefined;\n\n /**\n * 是否显示工具调用过程\n */\n @property({ type: Boolean })\n accessor showToolCalls: boolean | undefined;\n\n /** 设置接口 config */\n @method()\n setConfig(config: Record<string, unknown> | undefined): void {\n this.#ref.current?.setConfig(config);\n }\n\n /** 设置接口 formData */\n @method()\n setFormData(formData: Record<string, unknown> | undefined): void {\n this.#ref.current?.setFormData(formData);\n }\n\n #ref = React.createRef<ChatViewRef>();\n\n @event({ type: \"sessionId.change\" })\n accessor #sessionIdChange!: EventEmitter<string | undefined>;\n\n #handleSessionIdChange = (activeSessionId: string | undefined) => {\n this.#sessionIdChange.emit(activeSessionId);\n };\n\n @event({ type: \"robotId.change\" })\n accessor #robotIdChange!: EventEmitter<string | undefined>;\n\n #handleRobotIdChange = (robotId: string | undefined) => {\n this.#robotIdChange.emit(robotId);\n };\n\n @event({ type: \"qa.finish\" })\n accessor #qaFinish!: EventEmitter<string | undefined>;\n\n #handleQaFinish = (activeSessionId: string | undefined) => {\n this.#qaFinish.emit(activeSessionId);\n };\n\n /**\n *\n * @description 调用方法进行提问\n */\n @method()\n insertQuestion(args: { value: string }): void {\n const { value } = args;\n if (!value) return;\n this.#ref.current?.handleInsertQuestion(value);\n }\n\n /**\n * @description 外部提问\n */\n @method()\n sendMsg(msg: string | ChatBody): void {\n this.#ref.current?.sendMsg(msg);\n }\n\n render() {\n return (\n <ChatViewComponent\n agentId={this.agentId}\n robotId={this.robotId}\n debug={this.debug}\n sessionId={this.sessionId}\n readonly={this.readonly}\n showAvatar={this.showAvatar}\n showSessionList={this.showSessionList}\n showLike={this.showLike}\n showShare={this.showShare}\n useSpiltWord={this.useSpiltWord}\n quickAnswerConfig={this.quickAnswerConfig}\n snippetList={this.snippetList}\n enterInterval={this.enterInterval}\n commandBricks={this.commandBricks}\n answerLanguage={this.answerLanguage}\n inputToolbarBrick={this.inputToolbarBrick}\n showToolCalls={this.showToolCalls}\n onSessionIdChange={this.#handleSessionIdChange}\n onRobotIdChange={this.#handleRobotIdChange}\n onQaFinish={this.#handleQaFinish}\n ref={this.#ref}\n />\n );\n }\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { createSSEStream, type Options } from \"@next-core/utils/general\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatAgentProps {\n agentId?: string;\n robotId?: string;\n conversationId?: string;\n alwaysUseNewConversation?: boolean;\n}\n\nexport interface Message extends BaseMessage {\n key: number;\n partial?: boolean;\n failed?: boolean;\n}\n\nexport interface BaseMessage {\n role: \"user\" | \"assistant\";\n content: string;\n}\n\nexport interface MessageChunk {\n delta: BaseMessage;\n conversationId?: string;\n key: number;\n partial?: boolean;\n}\n\nexport interface LowLevelMessageChunk {\n choices: LowLevelChoice[];\n}\n\nexport interface LowLevelChoice {\n delta: {\n role: \"assistant\";\n content?: string;\n };\n}\n\nexport const ChatAgentComponent = forwardRef(LegacyChatAgentComponent);\n\n/**\n * 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。\n */\nexport\n@defineElement(\"ai.chat-agent\", {\n styleTexts: [styleText],\n})\nclass ChatAgent extends ReactNextElement implements ChatAgentProps {\n @property()\n accessor agentId: string | undefined;\n\n @property()\n accessor robotId: string | undefined;\n\n @property()\n accessor conversationId: string | undefined;\n\n @property()\n accessor alwaysUseNewConversation: boolean | undefined;\n\n /**\n * 发送消息到默认的聊天 API\n */\n @method()\n postMessage(content: string) {\n return this.#ref.current?.postMessage(content);\n }\n\n /**\n * 发送聊天请求到指定的 URL\n */\n @method()\n sendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ) {\n return this.#ref.current?.sendRequest(leadingMessages, url, options);\n }\n\n /**\n * 发送底层聊天请求到指定的 URL。接口的请求和响应的数据结构和 OpenAI 聊天接口一致。\n */\n @method()\n lowLevelSendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ) {\n return this.#ref.current?.lowLevelSendRequest(\n leadingMessages,\n url,\n options\n );\n }\n\n @method()\n newConversation() {\n this.#ref.current?.newConversation();\n }\n\n // @event({ type: \"messageChunk.push\" })\n // accessor #messageChunkPushEvent!: EventEmitter<MessageChunk>;\n\n // #handleMessageChunkPush = (msg: MessageChunk) => {\n // this.#messageChunkPushEvent.emit(msg);\n // };\n\n @event({ type: \"messages.update\" })\n accessor #messagesUpdate!: EventEmitter<Message[]>;\n\n #handleMessagesUpdate = (messages: Message[]) => {\n this.#messagesUpdate.emit(messages);\n };\n\n @event({ type: \"busy.change\" })\n accessor #busyChangeEvent!: EventEmitter<boolean>;\n\n #handleBusyChange = (busy: boolean) => {\n this.#busyChangeEvent.emit(busy);\n };\n\n @event({ type: \"conversationId.change\" })\n accessor #conversationIdChangeEvent!: EventEmitter<string | null>;\n\n #handleConversationIdChange = (conversationId: string | null) => {\n this.#conversationIdChangeEvent.emit(conversationId);\n };\n\n #ref = createRef<ChatAgentRef>();\n\n render() {\n return (\n <ChatAgentComponent\n ref={this.#ref}\n agentId={this.agentId}\n robotId={this.robotId}\n conversationId={this.conversationId}\n alwaysUseNewConversation={this.alwaysUseNewConversation}\n // onMessageChunkPush={this.#handleMessageChunkPush}\n onMessagesUpdate={this.#handleMessagesUpdate}\n onBusyChange={this.#handleBusyChange}\n onConversationIdChange={this.#handleConversationIdChange}\n />\n );\n }\n}\n\nexport interface ChatAgentComponentProps extends ChatAgentProps {\n onMessageChunkPush?(msg: MessageChunk): void;\n onMessagesUpdate?(messages: Message[]): void;\n onBusyChange?(busy: boolean): void;\n onConversationIdChange?(conversationId: string | null): void;\n}\n\nexport interface ChatAgentRef {\n postMessage(content: string): Promise<string | null>;\n sendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ): Promise<string | null>;\n lowLevelSendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ): Promise<string | null>;\n newConversation(): void;\n}\n\nexport function LegacyChatAgentComponent(\n {\n agentId,\n robotId,\n conversationId: propConversationId,\n alwaysUseNewConversation,\n onMessageChunkPush,\n onMessagesUpdate,\n onBusyChange,\n onConversationIdChange,\n }: ChatAgentComponentProps,\n ref: React.Ref<ChatAgentRef>\n) {\n const didMountRef = useRef(false);\n const chatIdRef = useRef(1);\n const busyRef = useRef(false);\n const [conversationId, setConversationId] = useState<string | null>(null);\n\n useEffect(() => {\n setConversationId(propConversationId ?? null);\n }, [propConversationId]);\n\n useEffect(() => {\n didMountRef.current && onConversationIdChange?.(conversationId);\n }, [conversationId, onConversationIdChange]);\n\n const counterRef = useRef(0);\n const getMessageChunkKey = useCallback(() => counterRef.current++, []);\n\n const [fullMessages, setFullMessages] = useState<Message[]>([]);\n\n const pushPartialMessage = useCallback(\n (chunk: MessageChunk) => {\n onMessageChunkPush?.(chunk);\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n if (last && last.key === chunk.key) {\n last.content += chunk.delta.content;\n return [...prev];\n }\n if (last?.partial) {\n last.partial = false;\n }\n return [\n ...prev,\n { ...chunk.delta, key: chunk.key, partial: chunk.partial },\n ];\n });\n },\n [onMessageChunkPush]\n );\n\n const legacySendRequest = useCallback(\n async (\n isLowLevel: boolean,\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk | LowLevelMessageChunk>\n ) => {\n // Use ref instead of state to handle sync sequential calls.\n if (busyRef.current) {\n return null;\n }\n if (alwaysUseNewConversation || isLowLevel) {\n setFullMessages((prev) => (prev.length === 0 ? prev : []));\n }\n const thisChatId = chatIdRef.current;\n let newConversationError: Error | undefined;\n const checkNewConversation = async () => {\n if (thisChatId !== chatIdRef.current) {\n // istanbul ignore else: should never happen\n if (!newConversationError) {\n newConversationError = new Error(\"New conversation started\");\n }\n throw newConversationError;\n }\n };\n\n const userKey = getMessageChunkKey();\n const assistantKey = getMessageChunkKey();\n let currentConversationId =\n alwaysUseNewConversation || isLowLevel ? null : conversationId;\n\n onBusyChange?.((busyRef.current = true));\n\n try {\n if (Array.isArray(leadingMessages)) {\n for (const msg of leadingMessages) {\n const isAssistant = msg.role === \"assistant\";\n if (isAssistant || msg.role === \"user\") {\n pushPartialMessage?.({\n key: isAssistant ? assistantKey : userKey,\n delta: {\n role: msg.role,\n content: msg.content,\n },\n });\n }\n }\n } else {\n pushPartialMessage?.({\n key: userKey,\n delta: {\n content: leadingMessages,\n role: \"user\",\n },\n });\n }\n const request = createSSEStream<MessageChunk | LowLevelMessageChunk>(\n new URL(url, `${location.origin}${getBasePath()}`).toString(),\n options\n );\n\n // Put a placeholder assistant message to indicate that the assistant\n // is processing if the request takes longer than one second.\n await Promise.race([\n request,\n new Promise((resolve) => setTimeout(resolve, 1000)),\n ]);\n\n await checkNewConversation();\n\n pushPartialMessage?.({\n key: assistantKey,\n delta: {\n content: \"\",\n role: \"assistant\",\n },\n partial: true,\n });\n\n const stream = await request;\n for await (const value of stream) {\n // istanbul ignore next\n // if (process.env.NODE_ENV === \"development\") {\n // // eslint-disable-next-line no-console\n // console.log(\"stream iterated:\", value);\n // }\n\n await checkNewConversation();\n\n if (isLowLevel) {\n const delta = (value as LowLevelMessageChunk).choices?.[0]?.delta;\n if (delta?.content) {\n pushPartialMessage({\n delta: {\n role: delta.role,\n content: delta.content,\n },\n key: assistantKey,\n partial: true,\n });\n }\n } else {\n pushPartialMessage?.({\n delta: (value as MessageChunk).delta,\n key: assistantKey,\n partial: true,\n });\n if (\n !alwaysUseNewConversation &&\n (value as MessageChunk).conversationId &&\n !currentConversationId\n ) {\n setConversationId(\n (currentConversationId = (value as MessageChunk)\n .conversationId!)\n );\n }\n }\n }\n\n await checkNewConversation();\n\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n if (last?.partial) {\n last.partial = false;\n }\n return [...prev];\n });\n } catch (error) {\n if (error && error === newConversationError) {\n throw error;\n }\n\n // eslint-disable-next-line no-console\n console.error(\"stream failed:\", error);\n await checkNewConversation();\n\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n let keep = prev;\n if (last?.key === assistantKey) {\n if (last.content) {\n last.partial = false;\n last.failed = true;\n } else {\n // Ignore the empty assistant message.\n keep = prev.slice(0, -1);\n }\n }\n return [\n ...keep,\n {\n role: \"assistant\",\n content: \"系统错误\",\n key: getMessageChunkKey(),\n failed: true,\n },\n ];\n });\n }\n\n await checkNewConversation();\n\n onBusyChange?.((busyRef.current = false));\n\n return currentConversationId;\n },\n [\n conversationId,\n alwaysUseNewConversation,\n getMessageChunkKey,\n onBusyChange,\n pushPartialMessage,\n ]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n lowLevelSendRequest: (...args) => legacySendRequest(true, ...args),\n sendRequest: (...args) => legacySendRequest(false, ...args),\n postMessage(content: string) {\n return legacySendRequest(\n false,\n content,\n \"api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions\",\n {\n method: \"POST\",\n body: JSON.stringify({\n agentId,\n robotId,\n input: content,\n stream: true,\n conversationId:\n alwaysUseNewConversation || conversationId === null\n ? undefined\n : conversationId,\n }),\n headers: {\n \"giraffe-contract-name\":\n \"easyops.api.aiops_chat.manage.LLMChatProxy\",\n },\n }\n );\n },\n newConversation() {\n chatIdRef.current++;\n setConversationId(null);\n setFullMessages((prev) => (prev.length === 0 ? prev : []));\n if (busyRef.current) {\n onBusyChange?.((busyRef.current = false));\n }\n },\n }),\n [\n legacySendRequest,\n agentId,\n robotId,\n alwaysUseNewConversation,\n conversationId,\n onBusyChange,\n ]\n );\n\n useEffect(() => {\n didMountRef.current && onMessagesUpdate?.(fullMessages);\n }, [fullMessages, onMessagesUpdate]);\n\n useEffect(() => {\n didMountRef.current = true;\n }, []);\n\n return null;\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","defineElement","property","method","event","createDecorators","LegacyChatViewComponent","_ref","ref","agentId","robotId","sessionId","showAvatar","showSessionList","readonly","showLike","showShare","quickAnswerConfig","snippetList","enterInterval","debug","useSpiltWord","commandBricks","answerLanguage","inputToolbarBrick","showToolCalls","onSessionIdChange","onRobotIdChange","onQaFinish","sessionEnd","sessionLoading","activeSessionId","msgEnd","msgLoading","msgList","sessionList","loading","chatting","searchStr","toolNames","setAgent","handleIsLike","handleChat","stopChat","createSession","deleteSession","updateSession","checkSession","setSearchStr","querySessionHistory","setConfig","setFormData","useChatViewInfo","useEffect","_sessionList$find","find","item","conversationId","inputRef","useRef","useImperativeHandle","handleInsertQuestion","value","_inputRef$current","current","sendMsg","msg","_inputRef$current2","React","ChatViewContext","Provider","className","SessionList","MessageList","SearchInput","ChatViewComponent","forwardRef","_ChatView","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_ref2","_R","_ChatView_brand","WeakSet","_handleSessionIdChange","_S","_handleRobotIdChange","_T","_handleQaFinish","ChatView","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_sessionId","_init_extra_sessionId","_init_agentId","_init_extra_agentId","_init_robotId","_init_extra_robotId","_init_answerLanguage","_init_extra_answerLanguage","_init_debug","_init_extra_debug","_init_showAvatar","_init_extra_showAvatar","_init_showSessionList","_init_extra_showSessionList","_init_readonly","_init_extra_readonly","_init_showLike","_init_extra_showLike","_init_showShare","_init_extra_showShare","_init_useSpiltWord","_init_extra_useSpiltWord","_init_enterInterval","_init_extra_enterInterval","_init_quickAnswerConfig","_init_extra_quickAnswerConfig","_init_snippetList","_init_extra_snippetList","_init_commandBricks","_init_extra_commandBricks","_init_inputToolbarBrick","_init_extra_inputToolbarBrick","_init_showToolCalls","_init_extra_showToolCalls","_init_sessionIdChange","_init_extra_sessionIdChange","_classPrivateGetter","this","_get_sessionIdChange","emit","_init_robotIdChange","_init_extra_robotIdChange","_get_robotIdChange","_init_qaFinish","_init_extra_qaFinish","_get_qaFinish","_classPrivateFieldGet","v","_classPrivateFieldSet","config","_classPrivateFieldGet2","formData","_classPrivateFieldGet3","insertQuestion","args","_classPrivateFieldGet4","_classPrivateFieldGet5","render","_ChatView2","e","_set_sessionIdChange","_set_robotIdChange","_set_qaFinish","c","_initClass","_applyDecs","shadowOptions","type","Boolean","Number","attribute","o","_","has","_checkInRHS","ChatAgentComponent","LegacyChatAgentComponent","_ChatAgent","_ChatAgent_brand","_handleMessagesUpdate","_handleBusyChange","_handleConversationIdChange","ChatAgent","_init_conversationId","_init_extra_conversationId","_init_alwaysUseNewConversation","_init_extra_alwaysUseNewConversation","_init_messagesUpdate","_init_extra_messagesUpdate","messages","_get_messagesUpdate","_init_busyChangeEvent","_init_extra_busyChangeEvent","busy","_get_busyChangeEvent","_init_conversationIdChangeEvent","_init_extra_conversationIdChangeEvent","_get_conversationIdChangeEvent","createRef","alwaysUseNewConversation","postMessage","content","sendRequest","leadingMessages","url","options","lowLevelSendRequest","newConversation","onMessagesUpdate","onBusyChange","onConversationIdChange","propConversationId","onMessageChunkPush","didMountRef","chatIdRef","busyRef","setConversationId","useState","counterRef","getMessageChunkKey","useCallback","fullMessages","setFullMessages","pushPartialMessage","chunk","prev","last","length","key","delta","partial","legacySendRequest","async","isLowLevel","thisChatId","newConversationError","checkNewConversation","Error","userKey","assistantKey","currentConversationId","Array","isArray","isAssistant","role","request","createSSEStream","URL","location","origin","getBasePath","Promise","race","resolve","setTimeout","stream","_choices","choices","error","console","keep","failed","slice","_len","_key","_len2","_key2","body","JSON","stringify","input","undefined","headers","_ChatAgent2","_set_messagesUpdate","_set_busyChangeEvent","_set_conversationIdChangeEvent","styleTexts","styleText"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7736.e4045459.js","mappings":"8KAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,sBAAuB,KAEhE,QAAeH,EAAwBI,U,4TCiBvC,MAAM,cAAEC,GAAa,SAAEC,GAAQ,OAAEC,GAAQC,MAAKA,KAAKC,EAAAA,EAAAA,oBAgC5C,SAASC,GAAuBC,EAuBrCC,GACA,IAvBA,QACEC,EAAO,QACPC,EAAO,UACPC,EAAS,WACTC,EAAU,gBACVC,GAAkB,EAAI,SACtBC,GAAW,EAAK,SAChBC,GAAW,EAAI,UACfC,GAAY,EAAI,kBAChBC,EAAiB,YACjBC,EAAW,cACXC,EAAa,MACbC,GAAQ,EAAK,aACbC,GAAe,EAAK,cACpBC,EAAa,eACbC,EAAc,kBACdC,EAAiB,cACjBC,EAAa,kBACbC,EAAiB,gBACjBC,EAAe,WACfC,GACcrB,EAGhB,MAAM,WACJsB,EAAU,eACVC,EAAc,gBACdC,EAAe,OACfC,EAAM,WACNC,EAAU,QACVC,EAAO,YACPC,EAAW,QACXC,EAAO,SACPC,EAAQ,UACRC,EAAS,UACTC,EAAS,SACTC,EAAQ,aACRC,EAAY,WACZC,EAAU,SACVC,EAAQ,cACRC,EAAa,cACbC,EAAa,cACbC,EAAa,aACbC,EAAY,aACZC,EAAY,oBACZC,EAAmB,UACnBC,EAAS,YACTC,IACEC,EAAAA,EAAAA,IAAgB,CAClB3C,UACAC,UACAC,YACAQ,gBACAC,QACAG,iBACAF,eACAI,mBAGF4B,EAAAA,EAAAA,YAAU,KACa,IAAAC,EAAjBvB,IACFL,EAAkBK,GAClBJ,EACqE,QADtD2B,EACbnB,EAAYoB,MAAMC,GAASA,EAAKC,iBAAmB1B,WAAgB,IAAAuB,OAAA,EAAnEA,EACI5C,SAER,GACC,CAACqB,EAAiBJ,EAAiBD,EAAmBS,KAEzDkB,EAAAA,EAAAA,YAAU,MACHhB,GAAYN,GAEfH,EAAWG,EACb,GACC,CAACM,IAEJ,MAAMqB,GAAWC,EAAAA,EAAAA,QAAuB,MAiBxC,OAfAC,EAAAA,EAAAA,qBACEpD,GACA,KAAM,CACJqD,oBAAAA,CAAqBC,GAAO,IAAAC,EAC1B,OAAuB,QAAvBA,EAAOL,EAASM,eAAO,IAAAD,OAAA,EAAhBA,EAAkBF,qBAAqBC,EAChD,EACAG,OAAAA,CAAQC,GAAK,IAAAC,EACX,OAAuB,QAAvBA,EAAOT,EAASM,eAAO,IAAAG,OAAA,EAAhBA,EAAkBF,QAAQC,EACnC,EACAhB,YACAC,iBAEF,CAACD,EAAWC,IAIZiB,IAAAA,cAACC,EAAAA,EAAgBC,SAAQ,CACvBR,MAAO,CACLjC,aACAC,iBACAC,kBACAI,cACAH,SACAC,aACAC,UACAG,WACAD,UACAE,YACAvB,WACAC,YACAF,WACAG,oBACAC,cACAI,gBACAG,gBACAc,YACAC,WACAC,eACAC,aACAC,WACAC,gBACAC,gBACAC,gBACAC,eACAC,eACAC,wBAGFmB,IAAAA,cAAA,OAAKG,UAAU,uBACZ1D,GACCuD,IAAAA,cAAA,OAAKG,UAAU,sBACbH,IAAAA,cAACI,EAAAA,EAAW,OAGhBJ,IAAAA,cAAA,OAAKG,UAAU,qBACbH,IAAAA,cAACK,EAAAA,EAAW,CAAC7D,WAAYA,KACvBE,GACAsD,IAAAA,cAACM,EAAAA,EAAW,CAAClD,kBAAmBA,EAAmBhB,IAAKkD,MAMpE,CAEO,MAAMiB,IAAoBC,EAAAA,EAAAA,YAAWtE,IAE5C,IAAAuE,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAjB,QAAAkB,GAAA,IAAAlB,QAAAmB,GAAA,IAAAC,QAAAC,GAAA,IAAArB,QAAAsB,GAAA,IAAAtB,QAAAuB,GAAA,IAAAvB,QAAAwB,GAAA,IAAAxB,QAAAyB,GAAA,IAAAzB,QAIA,MAAA0B,WAKuBC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAX,KAAAY,EAAAA,EAAAA,GAAA,KAAAhC,IAAAiC,EAAA,MAAAC,EAAA,SAItCF,EAAAA,EAAAA,GAAA,KAAA9B,IAAAiC,EAAA,MAAAC,EAAA,SAMAJ,EAAAA,EAAAA,GAAA,KAAA7B,IAAAkC,EAAA,MAAAC,EAAA,SAMAN,EAAAA,EAAAA,GAAA,KAAA5B,IAAAmC,EAAA,MAAAC,EAAA,SAMAR,EAAAA,EAAAA,GAAA,KAAA3B,IAAAoC,EAAA,MAAAC,EAAA,SAQAV,EAAAA,EAAAA,GAAA,KAAA1B,IAAAqC,EAAA,MAAAC,EAAA,SASAZ,EAAAA,EAAAA,GAAA,KAAAzB,IAAAsC,EAAA,MAAAC,EAAA,SASAd,EAAAA,EAAAA,GAAA,KAAAxB,IAAAuC,EAAA,MAAAC,EAAA,SAQAhB,EAAAA,EAAAA,GAAA,KAAAvB,IAAAwC,EAAA,MAAAC,EAAA,SASAlB,EAAAA,EAAAA,GAAA,KAAAtB,IAAAyC,EAAA,MAAAC,EAAA,SASApB,EAAAA,EAAAA,GAAA,KAAArB,IAAA0C,EAAA,MAAAC,EAAA,SASAtB,EAAAA,EAAAA,GAAA,KAAApB,IAAA2C,EAAA,MAAAC,EAAA,SAUAxB,EAAAA,EAAAA,GAAA,KAAAnB,IAAA4C,EAAA,MAAAC,EAAA,SAQA1B,EAAAA,EAAAA,GAAA,KAAAlB,IAAA6C,EAAA,MAAAC,EAAA,SAQA5B,EAAAA,EAAAA,GAAA,KAAAjB,IAAA8C,EAAA,MAAAC,EAAA,SAQA9B,EAAAA,EAAAA,GAAA,KAAAhB,IAAA+C,EAAA,MAAAC,EAAA,SAQAhC,EAAAA,EAAAA,GAAA,KAAAf,IAAAgD,EAAA,MAAAC,GAAA,SAkBAlC,EAAAA,EAAAA,GAAA,KAAAd,IAAIiD,GAAA,MAAG7E,IAAAA,eAA+B0C,EAAAA,EAAAA,GAAA,KAAAb,GAAAiD,GAAA,QAKtCpC,EAAAA,EAAAA,GAAA,KAAAV,IAAsB+C,GAAA,MAAIpH,KACxBqH,EAAAA,EAAAA,GAAAlD,GAAAmD,KAAKC,IAAiBC,KAAKxH,EAAgB,KAC3C+E,EAAAA,EAAAA,GAAA,KAAAT,GAAAmD,GAAA,QAKF1C,EAAAA,EAAAA,GAAA,KAAAR,IAAoBmD,GAAA,MAAI/I,KACtB0I,EAAAA,EAAAA,GAAAlD,GAAAmD,KAAKK,IAAeH,KAAK7I,EAAQ,KACjCoG,EAAAA,EAAAA,GAAA,KAAAP,GAAAoD,GAAA,QAKF7C,EAAAA,EAAAA,GAAA,KAAAN,IAAeoD,GAAA,MAAI7H,KACjBqH,EAAAA,EAAAA,GAAAlD,GAAAmD,KAAKQ,IAAUN,KAAKxH,EAAgB,GACpC,cAlKOpB,GAAS,OAAAmJ,EAAAA,EAAAA,GAAAhF,GAAA,mBAATnE,CAASoJ,IAAAC,EAAAA,EAAAA,GAAAlF,GAAA,KAAAiF,EAAA,YAMTtJ,GAAO,OAAAqJ,EAAAA,EAAAA,GAAA9E,GAAA,iBAAPvE,CAAOsJ,IAAAC,EAAAA,EAAAA,GAAAhF,GAAA,KAAA+E,EAAA,YAMPrJ,GAAO,OAAAoJ,EAAAA,EAAAA,GAAA7E,GAAA,iBAAPvE,CAAOqJ,IAAAC,EAAAA,EAAAA,GAAA/E,GAAA,KAAA8E,EAAA,mBAMPxI,GAAc,OAAAuI,EAAAA,EAAAA,GAAA5E,GAAA,wBAAd3D,CAAcwI,IAAAC,EAAAA,EAAAA,GAAA9E,GAAA,KAAA6E,EAAA,UAQd3I,GAAK,OAAA0I,EAAAA,EAAAA,GAAA3E,GAAA,eAAL/D,CAAK2I,IAAAC,EAAAA,EAAAA,GAAA7E,GAAA,KAAA4E,EAAA,eASLnJ,GAAU,OAAAkJ,EAAAA,EAAAA,GAAA1E,GAAA,oBAAVxE,CAAUmJ,IAAAC,EAAAA,EAAAA,GAAA5E,GAAA,KAAA2E,EAAA,oBASVlJ,GAAe,OAAAiJ,EAAAA,EAAAA,GAAAzE,GAAA,yBAAfxE,CAAekJ,IAAAC,EAAAA,EAAAA,GAAA3E,GAAA,KAAA0E,EAAA,aAQfjJ,GAAQ,OAAAgJ,EAAAA,EAAAA,GAAAxE,GAAA,kBAARxE,CAAQiJ,IAAAC,EAAAA,EAAAA,GAAA1E,GAAA,KAAAyE,EAAA,aASRhJ,GAAQ,OAAA+I,EAAAA,EAAAA,GAAAvE,GAAA,kBAARxE,CAAQgJ,IAAAC,EAAAA,EAAAA,GAAAzE,GAAA,KAAAwE,EAAA,cASR/I,GAAS,OAAA8I,EAAAA,EAAAA,GAAAtE,GAAA,mBAATxE,CAAS+I,IAAAC,EAAAA,EAAAA,GAAAxE,GAAA,KAAAuE,EAAA,iBAST1I,GAAY,OAAAyI,EAAAA,EAAAA,GAAArE,GAAA,sBAAZpE,CAAY0I,IAAAC,EAAAA,EAAAA,GAAAvE,GAAA,KAAAsE,EAAA,kBAUZ5I,GAAa,OAAA2I,EAAAA,EAAAA,GAAApE,GAAA,uBAAbvE,CAAa4I,IAAAC,EAAAA,EAAAA,GAAAtE,GAAA,KAAAqE,EAAA,sBAQb9I,GAAiB,OAAA6I,EAAAA,EAAAA,GAAAnE,GAAA,2BAAjB1E,CAAiB8I,IAAAC,EAAAA,EAAAA,GAAArE,GAAA,KAAAoE,EAAA,gBAQjB7I,GAAW,OAAA4I,EAAAA,EAAAA,GAAAlE,GAAA,qBAAX1E,CAAW6I,IAAAC,EAAAA,EAAAA,GAAApE,GAAA,KAAAmE,EAAA,kBAQXzI,GAAa,OAAAwI,EAAAA,EAAAA,GAAAjE,GAAA,uBAAbvE,CAAayI,IAAAC,EAAAA,EAAAA,GAAAnE,GAAA,KAAAkE,EAAA,sBAQbvI,GAAiB,OAAAsI,EAAAA,EAAAA,GAAAhE,GAAA,2BAAjBtE,CAAiBuI,IAAAC,EAAAA,EAAAA,GAAAlE,GAAA,KAAAiE,EAAA,CAQ1B,iBAFStI,GAAa,OAAAqI,EAAAA,EAAAA,GAAA/D,GAAA,uBAAbtE,CAAasI,IAAAC,EAAAA,EAAAA,GAAAjE,GAAA,KAAAgE,EAAA,CAItB7G,SAAAA,CAAU+G,GAAmD,IAAAC,EAC1C,QAAjBA,GAAAJ,EAAAA,EAAAA,GAAK9D,GAALqD,MAAUrF,eAAO,IAAAkG,GAAjBA,EAAmBhH,UAAU+G,EAC/B,CAIA9G,WAAAA,CAAYgH,GAAqD,IAAAC,EAC9C,QAAjBA,GAAAN,EAAAA,EAAAA,GAAK9D,GAALqD,MAAUrF,eAAO,IAAAoG,GAAjBA,EAAmBjH,YAAYgH,EACjC,CA8BAE,cAAAA,CAAeC,GAA+B,IAAAC,EAC5C,MAAM,MAAEzG,GAAUwG,EACbxG,IACY,QAAjByG,GAAAT,EAAAA,EAAAA,GAAK9D,GAALqD,MAAUrF,eAAO,IAAAuG,GAAjBA,EAAmB1G,qBAAqBC,GAC1C,CAMAG,OAAAA,CAAQC,GAA8B,IAAAsG,EACnB,QAAjBA,GAAAV,EAAAA,EAAAA,GAAK9D,GAALqD,MAAUrF,eAAO,IAAAwG,GAAjBA,EAAmBvG,QAAQC,EAC7B,CAEAuG,MAAAA,GACE,OACErG,IAAAA,cAACO,GAAiB,CAChBlE,QAAS4I,KAAK5I,QACdC,QAAS2I,KAAK3I,QACdU,MAAOiI,KAAKjI,MACZT,UAAW0I,KAAK1I,UAChBG,SAAUuI,KAAKvI,SACfF,WAAYyI,KAAKzI,WACjBC,gBAAiBwI,KAAKxI,gBACtBE,SAAUsI,KAAKtI,SACfC,UAAWqI,KAAKrI,UAChBK,aAAcgI,KAAKhI,aACnBJ,kBAAmBoI,KAAKpI,kBACxBC,YAAamI,KAAKnI,YAClBC,cAAekI,KAAKlI,cACpBG,cAAe+H,KAAK/H,cACpBC,eAAgB8H,KAAK9H,eACrBC,kBAAmB6H,KAAK7H,kBACxBC,cAAe4H,KAAK5H,cACpBC,mBAAmBoI,EAAAA,EAAAA,GAAK1D,GAALiD,MACnB1H,iBAAiBmI,EAAAA,EAAAA,GAAKxD,GAAL+C,MACjBzH,YAAYkI,EAAAA,EAAAA,GAAKtD,GAAL6C,MACZ7I,KAAKsJ,EAAAA,EAAAA,GAAK9D,GAALqD,OAGX,EACDqB,EAAAjE,KAAAkE,GAAA3D,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAI,GAAAsB,GAAAzB,GAAAK,GAAAE,GAAAmB,GAAApB,GAAAE,GAAAE,GAAAiB,GAAAlB,GAAA7C,GAAAgE,GAAAlG,GAAAmG,KAAAC,EAAAA,EAAAA,GAAAP,EAAA,CAzNAzK,GAAc,eAAgB,CAG7BiL,eAAe,KACf,EAEChL,KAAU,gBAMVA,KAAU,cAMVA,KAAU,cAMVA,KAAU,qBAMVA,GAAS,CACRiL,KAAMC,UACN,YAODlL,GAAS,CACRiL,KAAMC,UACN,iBAODlL,GAAS,CACRiL,KAAMC,UACN,sBAMDlL,GAAS,CACRiL,KAAMC,UACN,eAODlL,GAAS,CACRiL,KAAMC,UACN,eAODlL,GAAS,CACRiL,KAAMC,UACN,gBAODlL,GAAS,CACRiL,KAAMC,UACN,mBAQDlL,GAAS,CACRiL,KAAME,SACN,oBAMDnL,GAAS,CACRoL,WAAW,IACX,wBAMDpL,GAAS,CACRoL,WAAW,IACX,kBAMDpL,GAAS,CACRoL,WAAW,IACX,oBAMDpL,GAAS,CACRoL,WAAW,IACX,wBAMDpL,GAAS,CAAEiL,KAAMC,UAAU,oBAI3BjL,KAAQ,gBAMRA,KAAQ,kBAORC,GAAM,CAAE+K,KAAM,qBAAqB,oBAAAI,IAAAzB,EAAAA,EAAAA,GAAA7D,GAAAsF,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAA/D,GAAAsF,EAAAxB,IAAA,CAOnC3J,GAAM,CAAE+K,KAAM,mBAAmB,kBAAAI,IAAAzB,EAAAA,EAAAA,GAAAzD,GAAAkF,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAA3D,GAAAkF,EAAAxB,IAAA,CAOjC3J,GAAM,CAAE+K,KAAM,cAAc,aAAAI,IAAAzB,EAAAA,EAAAA,GAAAvD,GAAAgF,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAAzD,GAAAgF,EAAAxB,IAAA,CAW5B5J,KAAQ,qBAURA,KAAQ,iBAAAqL,GAAAhF,GAAAiF,KAAAC,EAAAA,EAAAA,GAAAF,KApLY9E,EAAAA,mBAAgBsE,I,6GCpMvC,MAAQ/K,cAAa,GAAEC,SAAQ,GAAEE,MAAK,GAAED,OAAMA,KAAKE,EAAAA,EAAAA,oBAsCtCsL,IAAqB/G,EAAAA,EAAAA,YAAWgH,IAE7C,IAAAC,GAAA,IAAA/G,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAA+G,GAAA,IAAA3F,QAAA4F,GAAA,IAAAhH,QAAAK,GAAA,IAAAL,QAAAiH,GAAA,IAAAjH,QAAAM,GAAA,IAAAN,QAAAkH,GAAA,IAAAlH,QAAAxE,GAAA,IAAAwE,QAIA,MAAAmH,WAGwBxF,EAAAA,iBAA2CC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAiF,KAAAhF,EAAAA,EAAAA,GAAA,KAAAhC,IAAAiC,GAAA,MAAAG,GAAA,SAAAJ,EAAAA,EAAAA,GAAA,KAAA9B,IAAAmC,GAAA,MAAAC,GAAA,SAAAN,EAAAA,EAAAA,GAAA,KAAA7B,IAAAoC,GAAA,MAAA8E,GAAA,SAAArF,EAAAA,EAAAA,GAAA,KAAA5B,IAAAkH,GAAA,MAAAC,GAAA,SA2DjEvF,EAAAA,EAAAA,GAAA,KAAA3B,IAAAmH,GAAA,MAAAC,GAAA,SAKAzF,EAAAA,EAAAA,GAAA,KAAAiF,IAAqBS,GAAA,MAAIC,KACvBrD,EAAAA,EAAAA,GAAA0C,GAAAzC,KAAKqD,IAAgBnD,KAAKkD,EAAS,KACnC3F,EAAAA,EAAAA,GAAA,KAAA1B,GAAAuH,GAAA,QAKF7F,EAAAA,EAAAA,GAAA,KAAAkF,IAAiBY,GAAA,MAAIC,KACnBzD,EAAAA,EAAAA,GAAA0C,GAAAzC,KAAKyD,IAAiBvD,KAAKsD,EAAK,KAChC/F,EAAAA,EAAAA,GAAA,KAAAzB,GAAA0H,GAAA,QAKFjG,EAAAA,EAAAA,GAAA,KAAAmF,IAA2Be,GAAA,MAAIvJ,KAC7B2F,EAAAA,EAAAA,GAAA0C,GAAAzC,KAAK4D,IAA2B1D,KAAK9F,EAAe,KAGtDqD,EAAAA,EAAAA,GAAA,KAAAvG,IAAO2M,EAAAA,EAAAA,aAA0B,YAhFxBzM,GAAO,OAAAqJ,EAAAA,EAAAA,GAAAhF,GAAA,iBAAPrE,CAAOsJ,IAAAC,EAAAA,EAAAA,GAAAlF,GAAA,KAAAiF,EAAA,YAGPrJ,GAAO,OAAAoJ,EAAAA,EAAAA,GAAA9E,GAAA,iBAAPtE,CAAOqJ,IAAAC,EAAAA,EAAAA,GAAAhF,GAAA,KAAA+E,EAAA,mBAGPtG,GAAc,OAAAqG,EAAAA,EAAAA,GAAA7E,GAAA,wBAAdxB,CAAcsG,IAAAC,EAAAA,EAAAA,GAAA/E,GAAA,KAAA8E,EAAA,CAKvB,4BAFSoD,GAAwB,OAAArD,EAAAA,EAAAA,GAAA5E,GAAA,kCAAxBiI,CAAwBpD,IAAAC,EAAAA,EAAAA,GAAA9E,GAAA,KAAA6E,EAAA,CAMjCqD,WAAAA,CAAYC,GAAiB,IAAAnD,EAC3B,OAAwB,QAAxBA,GAAOJ,EAAAA,EAAAA,GAAKvJ,GAAL8I,MAAUrF,eAAO,IAAAkG,OAAA,EAAjBA,EAAmBkD,YAAYC,EACxC,CAMAC,WAAAA,CACEC,EACAC,EACAC,GACA,IAAArD,EACA,OAAwB,QAAxBA,GAAON,EAAAA,EAAAA,GAAKvJ,GAAL8I,MAAUrF,eAAO,IAAAoG,OAAA,EAAjBA,EAAmBkD,YAAYC,EAAiBC,EAAKC,EAC9D,CAMAC,mBAAAA,CACEH,EACAC,EACAC,GACA,IAAAlD,EACA,OAAwB,QAAxBA,GAAOT,EAAAA,EAAAA,GAAKvJ,GAAL8I,MAAUrF,eAAO,IAAAuG,OAAA,EAAjBA,EAAmBmD,oBACxBH,EACAC,EACAC,EAEJ,CAGAE,eAAAA,GAAkB,IAAAnD,EACC,QAAjBA,GAAAV,EAAAA,EAAAA,GAAKvJ,GAAL8I,MAAUrF,eAAO,IAAAwG,GAAjBA,EAAmBmD,iBACrB,CAgCAlD,MAAAA,GACE,OACErG,IAAAA,cAACuH,GAAkB,CACjBnL,KAAKsJ,EAAAA,EAAAA,GAAKvJ,GAAL8I,MACL5I,QAAS4I,KAAK5I,QACdC,QAAS2I,KAAK3I,QACd+C,eAAgB4F,KAAK5F,eACrB0J,yBAA0B9D,KAAK8D,yBAE/BS,kBAAkB9D,EAAAA,EAAAA,GAAKiC,GAAL1C,MAClBwE,cAAc/D,EAAAA,EAAAA,GAAKkC,GAAL3C,MACdyE,wBAAwBhE,EAAAA,EAAAA,GAAKmC,GAAL5C,OAG9B,EAyBK,SAASuC,GAAwB5F,EAWtCxF,GACA,IAXA,QACEC,EAAO,QACPC,EACA+C,eAAgBsK,EAAkB,yBAClCZ,EAAwB,mBACxBa,EAAkB,iBAClBJ,EAAgB,aAChBC,EAAY,uBACZC,GACwB9H,EAG1B,MAAMiI,GAActK,EAAAA,EAAAA,SAAO,GACrBuK,GAAYvK,EAAAA,EAAAA,QAAO,GACnBwK,GAAUxK,EAAAA,EAAAA,SAAO,IAChBF,EAAgB2K,IAAqBC,EAAAA,EAAAA,UAAwB,OAEpEhL,EAAAA,EAAAA,YAAU,KACR+K,EAAkBL,QAAAA,EAAsB,KAAK,GAC5C,CAACA,KAEJ1K,EAAAA,EAAAA,YAAU,KACR4K,EAAYjK,UAAW8J,SAAAA,EAAyBrK,GAAe,GAC9D,CAACA,EAAgBqK,IAEpB,MAAMQ,GAAa3K,EAAAA,EAAAA,QAAO,GACpB4K,GAAqBC,EAAAA,EAAAA,cAAY,IAAMF,EAAWtK,WAAW,KAE5DyK,EAAcC,IAAmBL,EAAAA,EAAAA,UAAoB,IAEtDM,GAAqBH,EAAAA,EAAAA,cACxBI,IACCZ,SAAAA,EAAqBY,GACrBF,GAAiBG,IACf,MAAMC,EAAOD,EAAKA,EAAKE,OAAS,GAChC,OAAID,GAAQA,EAAKE,MAAQJ,EAAMI,KAC7BF,EAAKzB,SAAWuB,EAAMK,MAAM5B,QACrB,IAAIwB,KAETC,SAAAA,EAAMI,UACRJ,EAAKI,SAAU,GAEV,IACFL,EACH,IAAKD,EAAMK,MAAOD,IAAKJ,EAAMI,IAAKE,QAASN,EAAMM,UAClD,GACD,GAEJ,CAAClB,IAGGmB,GAAoBX,EAAAA,EAAAA,cACxBY,MACEC,EACA9B,EACAC,EACAC,KAGA,GAAIU,EAAQnK,QACV,OAAO,MAELmJ,GAA4BkC,IAC9BX,GAAiBG,GAA0B,IAAhBA,EAAKE,OAAeF,EAAO,KAExD,MAAMS,EAAapB,EAAUlK,QAC7B,IAAIuL,EACJ,MAAMC,EAAuBJ,UAC3B,GAAIE,IAAepB,EAAUlK,QAK3B,MAHKuL,IACHA,EAAuB,IAAIE,MAAM,6BAE7BF,CACR,EAGIG,EAAUnB,IACVoB,EAAepB,IACrB,IAAIqB,EACFzC,GAA4BkC,EAAa,KAAO5L,EAElDoK,SAAAA,EAAgBM,EAAQnK,SAAU,GAElC,IACE,GAAI6L,MAAMC,QAAQvC,GAChB,IAAK,MAAMrJ,KAAOqJ,EAAiB,CACjC,MAAMwC,EAA2B,cAAb7L,EAAI8L,MACpBD,GAA4B,SAAb7L,EAAI8L,QACrBrB,SAAAA,EAAqB,CACnBK,IAAKe,EAAcJ,EAAeD,EAClCT,MAAO,CACLe,KAAM9L,EAAI8L,KACV3C,QAASnJ,EAAImJ,WAIrB,MAEAsB,SAAAA,EAAqB,CACnBK,IAAKU,EACLT,MAAO,CACL5B,QAASE,EACTyC,KAAM,UAIZ,MAAMC,GAAUC,EAAAA,GAAAA,iBACd,IAAIC,IAAI3C,EAAK,GAAG4C,SAASC,UAASC,EAAAA,GAAAA,kBAAiBtQ,WACnDyN,SAKI8C,QAAQC,KAAK,CACjBP,EACA,IAAIM,SAASE,GAAYC,WAAWD,EAAS,eAGzCjB,IAENb,SAAAA,EAAqB,CACnBK,IAAKW,EACLV,MAAO,CACL5B,QAAS,GACT2C,KAAM,aAERd,SAAS,IAGX,MAAMyB,QAAeV,EACrB,UAAW,MAAMnM,KAAS6M,EASxB,SAFMnB,IAEFH,EAAY,KAAAuB,EACd,MAAM3B,EAA+C,QAA1C2B,EAAI9M,EAA+B+M,eAAO,IAAAD,GAAK,QAALA,EAAvCA,EAA0C,UAAE,IAAAA,OAAA,EAA5CA,EAA8C3B,MACxDA,SAAAA,EAAO5B,SACTsB,EAAmB,CACjBM,MAAO,CACLe,KAAMf,EAAMe,KACZ3C,QAAS4B,EAAM5B,SAEjB2B,IAAKW,EACLT,SAAS,GAGf,MACEP,SAAAA,EAAqB,CACnBM,MAAQnL,EAAuBmL,MAC/BD,IAAKW,EACLT,SAAS,IAGR/B,IACArJ,EAAuBL,gBACvBmM,GAEDxB,EACGwB,EAAyB9L,EACvBL,sBAML+L,IAENd,GAAiBG,IACf,MAAMC,EAAOD,EAAKA,EAAKE,OAAS,GAIhC,OAHID,SAAAA,EAAMI,UACRJ,EAAKI,SAAU,GAEV,IAAIL,EAAK,GAEpB,CAAE,MAAOiC,GACP,GAAIA,GAASA,IAAUvB,EACrB,MAAMuB,EAIRC,QAAQD,MAAM,iBAAkBA,SAC1BtB,IAENd,GAAiBG,IACf,MAAMC,EAAOD,EAAKA,EAAKE,OAAS,GAChC,IAAIiC,EAAOnC,EAUX,OATIC,aAAI,EAAJA,EAAME,OAAQW,IACZb,EAAKzB,SACPyB,EAAKI,SAAU,EACfJ,EAAKmC,QAAS,GAGdD,EAAOnC,EAAKqC,MAAM,GAAI,IAGnB,IACFF,EACH,CACEhB,KAAM,YACN3C,QAAS,OACT2B,IAAKT,IACL0C,QAAQ,GAEX,GAEL,CAMA,aAJMzB,IAEN3B,SAAAA,EAAgBM,EAAQnK,SAAU,GAE3B4L,CAAqB,GAE9B,CACEnM,EACA0J,EACAoB,EACAV,EACAc,IA4DJ,OAxDA/K,EAAAA,EAAAA,qBACEpD,GACA,KAAM,CACJkN,oBAAqB,mBAAAyD,EAAAvK,UAAAmI,OAAIzE,EAAI,IAAAuF,MAAAsB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ9G,EAAI8G,GAAAxK,UAAAwK,GAAA,OAAKjC,GAAkB,KAAS7E,EAAK,EAClEgD,YAAa,mBAAA+D,EAAAzK,UAAAmI,OAAIzE,EAAI,IAAAuF,MAAAwB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhH,EAAIgH,GAAA1K,UAAA0K,GAAA,OAAKnC,GAAkB,KAAU7E,EAAK,EAC3D8C,YAAYC,GACH8B,GACL,EACA9B,EACA,kGACA,CACElN,OAAQ,OACRoR,KAAMC,KAAKC,UAAU,CACnBhR,UACAC,UACAgR,MAAOrE,EACPsD,QAAQ,EACRlN,eACE0J,GAA+C,OAAnB1J,OACxBkO,EACAlO,IAERmO,QAAS,CACP,wBACE,gDAKVjE,eAAAA,GACEO,EAAUlK,UACVoK,EAAkB,MAClBM,GAAiBG,GAA0B,IAAhBA,EAAKE,OAAeF,EAAO,KAClDV,EAAQnK,UACV6J,SAAAA,EAAgBM,EAAQnK,SAAU,GAEtC,KAEF,CACEmL,EACA1O,EACAC,EACAyM,EACA1J,EACAoK,KAIJxK,EAAAA,EAAAA,YAAU,KACR4K,EAAYjK,UAAW4J,SAAAA,EAAmBa,GAAa,GACtD,CAACA,EAAcb,KAElBvK,EAAAA,EAAAA,YAAU,KACR4K,EAAYjK,SAAU,CAAI,GACzB,IAEI,IACT,CAtTC6N,GAAA3F,KAAAvB,GAAAzD,GAAAC,GAAAC,GAAAC,GAAA8E,GAAAC,GAAAC,GAAAC,GAAAC,GAAAG,GAAAoF,GAAAtF,GAAAG,GAAAG,GAAAiF,GAAAnF,GAAAG,GAAAE,GAAA+E,GAAAhF,GAAAjG,IAAAgE,GAAAc,GAAAb,MAAAC,EAAAA,EAAAA,GAAA4G,GAAA,CAtGA5R,GAAc,gBAAiB,CAC9BgS,WAAY,CAACC,GAAAA,MACb,EAEChS,KAAU,cAGVA,KAAU,cAGVA,KAAU,qBAGVA,KAAU,+BAMVC,KAAQ,kBAQRA,KAAQ,kBAYRA,KAAQ,0BAaRA,KAAQ,sBAYRC,GAAM,CAAE+K,KAAM,oBAAoB,mBAAAI,IAAAzB,EAAAA,EAAAA,GAAA3E,GAAAoG,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAA7E,GAAAoG,EAAAxB,IAAA,CAOlC3J,GAAM,CAAE+K,KAAM,gBAAgB,oBAAAI,IAAAzB,EAAAA,EAAAA,GAAA1E,GAAAmG,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAA5E,GAAAmG,EAAAxB,IAAA,CAO9B3J,GAAM,CAAE+K,KAAM,0BAA0B,8BAAAI,IAAAzB,EAAAA,EAAAA,GAAAzE,GAAAkG,GAAA,CAAAA,EAAAxB,KAAAC,EAAAA,EAAAA,GAAA3E,GAAAkG,EAAAxB,KAAA,GAAAyB,GAAAjL,GAAAkL,KAAAC,EAAAA,EAAAA,GAAAF,KA3EnB9E,EAAAA,mBAAgBsE,I","sources":["webpack:///./src/chat-agent/styles.shadow.css","webpack:///./src/chat-view/index.tsx","webpack:///./src/chat-agent/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n ChatViewContext,\n QuickAnswerConfig,\n snippet,\n} from \"./ChatViewContext.js\";\nimport { MessageList } from \"./components/MessageList.js\";\nimport { useChatViewInfo } from \"./hooks/useChatViewInfo.js\";\nimport { SessionList } from \"./components/SessionList.js\";\nimport { SearchInput, SearchInputRef } from \"./components/SearchInput.js\";\nimport \"@next-core/theme\";\nimport \"./host-context.css\";\nimport \"./index.css\";\nimport { commandBrickConf } from \"./ChatViewContext\";\nimport { UseBrickConf } from \"@next-core/types\";\nimport { ChatBody } from \"./ChatService.js\";\n\nconst { defineElement, property, method, event } = createDecorators();\n\ntype InputToolbarBrick = { useBrick: UseBrickConf };\n\nexport interface ChatViewRef extends SearchInputRef {\n setConfig(config: Record<string, unknown> | undefined): void;\n setFormData(formData: Record<string, unknown> | undefined): void;\n}\n\nexport interface ChatViewProps {\n agentId: string;\n robotId: string;\n sessionId?: string;\n readonly?: boolean;\n showAvatar?: boolean;\n showSessionList?: boolean;\n showLike?: boolean;\n showShare?: boolean;\n useSpiltWord?: boolean;\n quickAnswerConfig?: QuickAnswerConfig;\n snippetList?: snippet[];\n enterInterval?: number;\n debug?: boolean;\n commandBricks?: commandBrickConf;\n answerLanguage?: string;\n inputToolbarBrick?: InputToolbarBrick;\n showToolCalls?: boolean;\n onSessionIdChange: (sessionId: string | undefined) => void;\n onRobotIdChange: (robotId: string | undefined) => void;\n onQaFinish: (sessionId: string | undefined) => void;\n}\n\nexport function LegacyChatViewComponent(\n {\n agentId,\n robotId,\n sessionId,\n showAvatar,\n showSessionList = true,\n readonly = false,\n showLike = true,\n showShare = true,\n quickAnswerConfig,\n snippetList,\n enterInterval,\n debug = false,\n useSpiltWord = false,\n commandBricks,\n answerLanguage,\n inputToolbarBrick,\n showToolCalls,\n onSessionIdChange,\n onRobotIdChange,\n onQaFinish,\n }: ChatViewProps,\n ref: React.Ref<ChatViewRef>\n) {\n const {\n sessionEnd,\n sessionLoading,\n activeSessionId,\n msgEnd,\n msgLoading,\n msgList,\n sessionList,\n loading,\n chatting,\n searchStr,\n toolNames,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n updateSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n setConfig,\n setFormData,\n } = useChatViewInfo({\n agentId,\n robotId,\n sessionId,\n enterInterval,\n debug,\n answerLanguage,\n useSpiltWord,\n showToolCalls,\n });\n\n useEffect(() => {\n if (activeSessionId) {\n onSessionIdChange(activeSessionId);\n onRobotIdChange(\n sessionList.find((item) => item.conversationId === activeSessionId)\n ?.robotId\n );\n }\n }, [activeSessionId, onRobotIdChange, onSessionIdChange, sessionList]);\n\n useEffect(() => {\n if (!chatting && activeSessionId) {\n // 当此时存在activeSessionId,且chatting是从true变为false时触发,不需要加入activeSessionId的依赖判断\n onQaFinish(activeSessionId);\n }\n }, [chatting]);\n\n const inputRef = useRef<SearchInputRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n handleInsertQuestion(value) {\n return inputRef.current?.handleInsertQuestion(value);\n },\n sendMsg(msg) {\n return inputRef.current?.sendMsg(msg);\n },\n setConfig,\n setFormData,\n }),\n [setConfig, setFormData]\n );\n\n return (\n <ChatViewContext.Provider\n value={{\n sessionEnd,\n sessionLoading,\n activeSessionId,\n sessionList,\n msgEnd,\n msgLoading,\n msgList,\n chatting,\n loading,\n searchStr,\n showLike,\n showShare,\n readonly,\n quickAnswerConfig,\n snippetList,\n commandBricks,\n showToolCalls,\n toolNames,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n updateSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n }}\n >\n <div className=\"chat-view-container\">\n {showSessionList && (\n <div className=\"chat-view-selector\">\n <SessionList />\n </div>\n )}\n <div className=\"chat-view-content\">\n <MessageList showAvatar={showAvatar} />\n {!readonly && (\n <SearchInput inputToolbarBrick={inputToolbarBrick} ref={inputRef} />\n )}\n </div>\n </div>\n </ChatViewContext.Provider>\n );\n}\n\nexport const ChatViewComponent = forwardRef(LegacyChatViewComponent);\n\n/**\n * AI 对话终端\n */\nexport\n@defineElement(\"ai.chat-view\", {\n // shadow 模式下,会导致 useBrick 样式丢失\n // 如:commandBricks 配置 cmdb-instances.instance-list\n shadowOptions: false,\n})\nclass ChatView extends ReactNextElement {\n @property()\n accessor sessionId: string | undefined;\n\n /**\n * 智能体id\n */\n @property()\n accessor agentId!: string;\n\n /**\n * 机器人id\n */\n @property()\n accessor robotId!: string;\n\n /**\n * 指定智能体回答代码时所使用的语言\n */\n @property()\n accessor answerLanguage: string | undefined;\n\n /**\n * 是否为debug模式\n */\n @property({\n type: Boolean,\n })\n accessor debug: boolean | undefined;\n\n /**\n * 是否展示对话用户头像\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showAvatar: boolean | undefined;\n\n /**\n * 是否展示历史会话信息\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showSessionList: boolean | undefined;\n\n /**\n * 只读模式\n */\n @property({\n type: Boolean,\n })\n accessor readonly: boolean | undefined;\n\n /**\n * 是否展示点赞能力\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showLike: boolean | undefined;\n\n /**\n * 是否展示分享能力\n * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showShare: boolean | undefined;\n\n /**\n * 是否开启前端分词\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor useSpiltWord: boolean | undefined;\n\n /**\n * 输入间隔,设置为 -1 使用新的方式对大段消息进行模拟打字效果节流输出\n *\n * @default 50\n */\n @property({\n type: Number,\n })\n accessor enterInterval: number | undefined;\n\n /**\n * 快速入口列表\n */\n @property({\n attribute: false,\n })\n accessor quickAnswerConfig: QuickAnswerConfig | undefined;\n\n /**\n * 常用语列表\n */\n @property({\n attribute: false,\n })\n accessor snippetList: snippet[] | undefined;\n\n /**\n * 自定义语言配置\n */\n @property({\n attribute: false,\n })\n accessor commandBricks: commandBrickConf | undefined;\n\n /**\n * 输入框工具栏 useBrick\n */\n @property({\n attribute: false,\n })\n accessor inputToolbarBrick: InputToolbarBrick | undefined;\n\n /**\n * 是否显示工具调用过程\n */\n @property({ type: Boolean })\n accessor showToolCalls: boolean | undefined;\n\n /** 设置接口 config */\n @method()\n setConfig(config: Record<string, unknown> | undefined): void {\n this.#ref.current?.setConfig(config);\n }\n\n /** 设置接口 formData */\n @method()\n setFormData(formData: Record<string, unknown> | undefined): void {\n this.#ref.current?.setFormData(formData);\n }\n\n #ref = React.createRef<ChatViewRef>();\n\n @event({ type: \"sessionId.change\" })\n accessor #sessionIdChange!: EventEmitter<string | undefined>;\n\n #handleSessionIdChange = (activeSessionId: string | undefined) => {\n this.#sessionIdChange.emit(activeSessionId);\n };\n\n @event({ type: \"robotId.change\" })\n accessor #robotIdChange!: EventEmitter<string | undefined>;\n\n #handleRobotIdChange = (robotId: string | undefined) => {\n this.#robotIdChange.emit(robotId);\n };\n\n @event({ type: \"qa.finish\" })\n accessor #qaFinish!: EventEmitter<string | undefined>;\n\n #handleQaFinish = (activeSessionId: string | undefined) => {\n this.#qaFinish.emit(activeSessionId);\n };\n\n /**\n *\n * @description 调用方法进行提问\n */\n @method()\n insertQuestion(args: { value: string }): void {\n const { value } = args;\n if (!value) return;\n this.#ref.current?.handleInsertQuestion(value);\n }\n\n /**\n * @description 外部提问\n */\n @method()\n sendMsg(msg: string | ChatBody): void {\n this.#ref.current?.sendMsg(msg);\n }\n\n render() {\n return (\n <ChatViewComponent\n agentId={this.agentId}\n robotId={this.robotId}\n debug={this.debug}\n sessionId={this.sessionId}\n readonly={this.readonly}\n showAvatar={this.showAvatar}\n showSessionList={this.showSessionList}\n showLike={this.showLike}\n showShare={this.showShare}\n useSpiltWord={this.useSpiltWord}\n quickAnswerConfig={this.quickAnswerConfig}\n snippetList={this.snippetList}\n enterInterval={this.enterInterval}\n commandBricks={this.commandBricks}\n answerLanguage={this.answerLanguage}\n inputToolbarBrick={this.inputToolbarBrick}\n showToolCalls={this.showToolCalls}\n onSessionIdChange={this.#handleSessionIdChange}\n onRobotIdChange={this.#handleRobotIdChange}\n onQaFinish={this.#handleQaFinish}\n ref={this.#ref}\n />\n );\n }\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { createSSEStream, type Options } from \"@next-core/utils/general\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatAgentProps {\n agentId?: string;\n robotId?: string;\n conversationId?: string;\n alwaysUseNewConversation?: boolean;\n}\n\nexport interface Message extends BaseMessage {\n key: number;\n partial?: boolean;\n failed?: boolean;\n}\n\nexport interface BaseMessage {\n role: \"user\" | \"assistant\";\n content: string;\n}\n\nexport interface MessageChunk {\n delta: BaseMessage;\n conversationId?: string;\n key: number;\n partial?: boolean;\n}\n\nexport interface LowLevelMessageChunk {\n choices: LowLevelChoice[];\n}\n\nexport interface LowLevelChoice {\n delta: {\n role: \"assistant\";\n content?: string;\n };\n}\n\nexport const ChatAgentComponent = forwardRef(LegacyChatAgentComponent);\n\n/**\n * 用于与 AI 机器人进行对话的代理构件,处理通信并整合消息。\n */\nexport\n@defineElement(\"ai.chat-agent\", {\n styleTexts: [styleText],\n})\nclass ChatAgent extends ReactNextElement implements ChatAgentProps {\n @property()\n accessor agentId: string | undefined;\n\n @property()\n accessor robotId: string | undefined;\n\n @property()\n accessor conversationId: string | undefined;\n\n @property()\n accessor alwaysUseNewConversation: boolean | undefined;\n\n /**\n * 发送消息到默认的聊天 API\n */\n @method()\n postMessage(content: string) {\n return this.#ref.current?.postMessage(content);\n }\n\n /**\n * 发送聊天请求到指定的 URL\n */\n @method()\n sendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ) {\n return this.#ref.current?.sendRequest(leadingMessages, url, options);\n }\n\n /**\n * 发送底层聊天请求到指定的 URL。接口的请求和响应的数据结构和 OpenAI 聊天接口一致。\n */\n @method()\n lowLevelSendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ) {\n return this.#ref.current?.lowLevelSendRequest(\n leadingMessages,\n url,\n options\n );\n }\n\n @method()\n newConversation() {\n this.#ref.current?.newConversation();\n }\n\n // @event({ type: \"messageChunk.push\" })\n // accessor #messageChunkPushEvent!: EventEmitter<MessageChunk>;\n\n // #handleMessageChunkPush = (msg: MessageChunk) => {\n // this.#messageChunkPushEvent.emit(msg);\n // };\n\n @event({ type: \"messages.update\" })\n accessor #messagesUpdate!: EventEmitter<Message[]>;\n\n #handleMessagesUpdate = (messages: Message[]) => {\n this.#messagesUpdate.emit(messages);\n };\n\n @event({ type: \"busy.change\" })\n accessor #busyChangeEvent!: EventEmitter<boolean>;\n\n #handleBusyChange = (busy: boolean) => {\n this.#busyChangeEvent.emit(busy);\n };\n\n @event({ type: \"conversationId.change\" })\n accessor #conversationIdChangeEvent!: EventEmitter<string | null>;\n\n #handleConversationIdChange = (conversationId: string | null) => {\n this.#conversationIdChangeEvent.emit(conversationId);\n };\n\n #ref = createRef<ChatAgentRef>();\n\n render() {\n return (\n <ChatAgentComponent\n ref={this.#ref}\n agentId={this.agentId}\n robotId={this.robotId}\n conversationId={this.conversationId}\n alwaysUseNewConversation={this.alwaysUseNewConversation}\n // onMessageChunkPush={this.#handleMessageChunkPush}\n onMessagesUpdate={this.#handleMessagesUpdate}\n onBusyChange={this.#handleBusyChange}\n onConversationIdChange={this.#handleConversationIdChange}\n />\n );\n }\n}\n\nexport interface ChatAgentComponentProps extends ChatAgentProps {\n onMessageChunkPush?(msg: MessageChunk): void;\n onMessagesUpdate?(messages: Message[]): void;\n onBusyChange?(busy: boolean): void;\n onConversationIdChange?(conversationId: string | null): void;\n}\n\nexport interface ChatAgentRef {\n postMessage(content: string): Promise<string | null>;\n sendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ): Promise<string | null>;\n lowLevelSendRequest(\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk>\n ): Promise<string | null>;\n newConversation(): void;\n}\n\nexport function LegacyChatAgentComponent(\n {\n agentId,\n robotId,\n conversationId: propConversationId,\n alwaysUseNewConversation,\n onMessageChunkPush,\n onMessagesUpdate,\n onBusyChange,\n onConversationIdChange,\n }: ChatAgentComponentProps,\n ref: React.Ref<ChatAgentRef>\n) {\n const didMountRef = useRef(false);\n const chatIdRef = useRef(1);\n const busyRef = useRef(false);\n const [conversationId, setConversationId] = useState<string | null>(null);\n\n useEffect(() => {\n setConversationId(propConversationId ?? null);\n }, [propConversationId]);\n\n useEffect(() => {\n didMountRef.current && onConversationIdChange?.(conversationId);\n }, [conversationId, onConversationIdChange]);\n\n const counterRef = useRef(0);\n const getMessageChunkKey = useCallback(() => counterRef.current++, []);\n\n const [fullMessages, setFullMessages] = useState<Message[]>([]);\n\n const pushPartialMessage = useCallback(\n (chunk: MessageChunk) => {\n onMessageChunkPush?.(chunk);\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n if (last && last.key === chunk.key) {\n last.content += chunk.delta.content;\n return [...prev];\n }\n if (last?.partial) {\n last.partial = false;\n }\n return [\n ...prev,\n { ...chunk.delta, key: chunk.key, partial: chunk.partial },\n ];\n });\n },\n [onMessageChunkPush]\n );\n\n const legacySendRequest = useCallback(\n async (\n isLowLevel: boolean,\n leadingMessages: string | BaseMessage[],\n url: string,\n options: Options<MessageChunk | LowLevelMessageChunk>\n ) => {\n // Use ref instead of state to handle sync sequential calls.\n if (busyRef.current) {\n return null;\n }\n if (alwaysUseNewConversation || isLowLevel) {\n setFullMessages((prev) => (prev.length === 0 ? prev : []));\n }\n const thisChatId = chatIdRef.current;\n let newConversationError: Error | undefined;\n const checkNewConversation = async () => {\n if (thisChatId !== chatIdRef.current) {\n // istanbul ignore else: should never happen\n if (!newConversationError) {\n newConversationError = new Error(\"New conversation started\");\n }\n throw newConversationError;\n }\n };\n\n const userKey = getMessageChunkKey();\n const assistantKey = getMessageChunkKey();\n let currentConversationId =\n alwaysUseNewConversation || isLowLevel ? null : conversationId;\n\n onBusyChange?.((busyRef.current = true));\n\n try {\n if (Array.isArray(leadingMessages)) {\n for (const msg of leadingMessages) {\n const isAssistant = msg.role === \"assistant\";\n if (isAssistant || msg.role === \"user\") {\n pushPartialMessage?.({\n key: isAssistant ? assistantKey : userKey,\n delta: {\n role: msg.role,\n content: msg.content,\n },\n });\n }\n }\n } else {\n pushPartialMessage?.({\n key: userKey,\n delta: {\n content: leadingMessages,\n role: \"user\",\n },\n });\n }\n const request = createSSEStream<MessageChunk | LowLevelMessageChunk>(\n new URL(url, `${location.origin}${getBasePath()}`).toString(),\n options\n );\n\n // Put a placeholder assistant message to indicate that the assistant\n // is processing if the request takes longer than one second.\n await Promise.race([\n request,\n new Promise((resolve) => setTimeout(resolve, 1000)),\n ]);\n\n await checkNewConversation();\n\n pushPartialMessage?.({\n key: assistantKey,\n delta: {\n content: \"\",\n role: \"assistant\",\n },\n partial: true,\n });\n\n const stream = await request;\n for await (const value of stream) {\n // istanbul ignore next\n // if (process.env.NODE_ENV === \"development\") {\n // // eslint-disable-next-line no-console\n // console.log(\"stream iterated:\", value);\n // }\n\n await checkNewConversation();\n\n if (isLowLevel) {\n const delta = (value as LowLevelMessageChunk).choices?.[0]?.delta;\n if (delta?.content) {\n pushPartialMessage({\n delta: {\n role: delta.role,\n content: delta.content,\n },\n key: assistantKey,\n partial: true,\n });\n }\n } else {\n pushPartialMessage?.({\n delta: (value as MessageChunk).delta,\n key: assistantKey,\n partial: true,\n });\n if (\n !alwaysUseNewConversation &&\n (value as MessageChunk).conversationId &&\n !currentConversationId\n ) {\n setConversationId(\n (currentConversationId = (value as MessageChunk)\n .conversationId!)\n );\n }\n }\n }\n\n await checkNewConversation();\n\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n if (last?.partial) {\n last.partial = false;\n }\n return [...prev];\n });\n } catch (error) {\n if (error && error === newConversationError) {\n throw error;\n }\n\n // eslint-disable-next-line no-console\n console.error(\"stream failed:\", error);\n await checkNewConversation();\n\n setFullMessages((prev) => {\n const last = prev[prev.length - 1];\n let keep = prev;\n if (last?.key === assistantKey) {\n if (last.content) {\n last.partial = false;\n last.failed = true;\n } else {\n // Ignore the empty assistant message.\n keep = prev.slice(0, -1);\n }\n }\n return [\n ...keep,\n {\n role: \"assistant\",\n content: \"系统错误\",\n key: getMessageChunkKey(),\n failed: true,\n },\n ];\n });\n }\n\n await checkNewConversation();\n\n onBusyChange?.((busyRef.current = false));\n\n return currentConversationId;\n },\n [\n conversationId,\n alwaysUseNewConversation,\n getMessageChunkKey,\n onBusyChange,\n pushPartialMessage,\n ]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n lowLevelSendRequest: (...args) => legacySendRequest(true, ...args),\n sendRequest: (...args) => legacySendRequest(false, ...args),\n postMessage(content: string) {\n return legacySendRequest(\n false,\n content,\n \"api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions\",\n {\n method: \"POST\",\n body: JSON.stringify({\n agentId,\n robotId,\n input: content,\n stream: true,\n conversationId:\n alwaysUseNewConversation || conversationId === null\n ? undefined\n : conversationId,\n }),\n headers: {\n \"giraffe-contract-name\":\n \"easyops.api.aiops_chat.manage.LLMChatProxy\",\n },\n }\n );\n },\n newConversation() {\n chatIdRef.current++;\n setConversationId(null);\n setFullMessages((prev) => (prev.length === 0 ? prev : []));\n if (busyRef.current) {\n onBusyChange?.((busyRef.current = false));\n }\n },\n }),\n [\n legacySendRequest,\n agentId,\n robotId,\n alwaysUseNewConversation,\n conversationId,\n onBusyChange,\n ]\n );\n\n useEffect(() => {\n didMountRef.current && onMessagesUpdate?.(fullMessages);\n }, [fullMessages, onMessagesUpdate]);\n\n useEffect(() => {\n didMountRef.current = true;\n }, []);\n\n return null;\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","defineElement","property","method","event","createDecorators","LegacyChatViewComponent","_ref","ref","agentId","robotId","sessionId","showAvatar","showSessionList","readonly","showLike","showShare","quickAnswerConfig","snippetList","enterInterval","debug","useSpiltWord","commandBricks","answerLanguage","inputToolbarBrick","showToolCalls","onSessionIdChange","onRobotIdChange","onQaFinish","sessionEnd","sessionLoading","activeSessionId","msgEnd","msgLoading","msgList","sessionList","loading","chatting","searchStr","toolNames","setAgent","handleIsLike","handleChat","stopChat","createSession","deleteSession","updateSession","checkSession","setSearchStr","querySessionHistory","setConfig","setFormData","useChatViewInfo","useEffect","_sessionList$find","find","item","conversationId","inputRef","useRef","useImperativeHandle","handleInsertQuestion","value","_inputRef$current","current","sendMsg","msg","_inputRef$current2","React","ChatViewContext","Provider","className","SessionList","MessageList","SearchInput","ChatViewComponent","forwardRef","_ChatView","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_ref2","_R","_ChatView_brand","WeakSet","_handleSessionIdChange","_S","_handleRobotIdChange","_T","_handleQaFinish","ChatView","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_sessionId","_init_extra_sessionId","_init_agentId","_init_extra_agentId","_init_robotId","_init_extra_robotId","_init_answerLanguage","_init_extra_answerLanguage","_init_debug","_init_extra_debug","_init_showAvatar","_init_extra_showAvatar","_init_showSessionList","_init_extra_showSessionList","_init_readonly","_init_extra_readonly","_init_showLike","_init_extra_showLike","_init_showShare","_init_extra_showShare","_init_useSpiltWord","_init_extra_useSpiltWord","_init_enterInterval","_init_extra_enterInterval","_init_quickAnswerConfig","_init_extra_quickAnswerConfig","_init_snippetList","_init_extra_snippetList","_init_commandBricks","_init_extra_commandBricks","_init_inputToolbarBrick","_init_extra_inputToolbarBrick","_init_showToolCalls","_init_extra_showToolCalls","_init_sessionIdChange","_init_extra_sessionIdChange","_classPrivateGetter","this","_get_sessionIdChange","emit","_init_robotIdChange","_init_extra_robotIdChange","_get_robotIdChange","_init_qaFinish","_init_extra_qaFinish","_get_qaFinish","_classPrivateFieldGet","v","_classPrivateFieldSet","config","_classPrivateFieldGet2","formData","_classPrivateFieldGet3","insertQuestion","args","_classPrivateFieldGet4","_classPrivateFieldGet5","render","_ChatView2","e","_set_sessionIdChange","_set_robotIdChange","_set_qaFinish","c","_initClass","_applyDecs","shadowOptions","type","Boolean","Number","attribute","o","_","has","_checkInRHS","ChatAgentComponent","LegacyChatAgentComponent","_ChatAgent","_ChatAgent_brand","_handleMessagesUpdate","_handleBusyChange","_handleConversationIdChange","ChatAgent","_init_conversationId","_init_extra_conversationId","_init_alwaysUseNewConversation","_init_extra_alwaysUseNewConversation","_init_messagesUpdate","_init_extra_messagesUpdate","messages","_get_messagesUpdate","_init_busyChangeEvent","_init_extra_busyChangeEvent","busy","_get_busyChangeEvent","_init_conversationIdChangeEvent","_init_extra_conversationIdChangeEvent","_get_conversationIdChangeEvent","createRef","alwaysUseNewConversation","postMessage","content","sendRequest","leadingMessages","url","options","lowLevelSendRequest","newConversation","onMessagesUpdate","onBusyChange","onConversationIdChange","propConversationId","onMessageChunkPush","didMountRef","chatIdRef","busyRef","setConversationId","useState","counterRef","getMessageChunkKey","useCallback","fullMessages","setFullMessages","pushPartialMessage","chunk","prev","last","length","key","delta","partial","legacySendRequest","async","isLowLevel","thisChatId","newConversationError","checkNewConversation","Error","userKey","assistantKey","currentConversationId","Array","isArray","isAssistant","role","request","createSSEStream","URL","location","origin","getBasePath","Promise","race","resolve","setTimeout","stream","_choices","choices","error","console","keep","failed","slice","_len","_key","_len2","_key2","body","JSON","stringify","input","undefined","headers","_ChatAgent2","_set_messagesUpdate","_set_busyChangeEvent","_set_conversationIdChangeEvent","styleTexts","styleText"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[9415],{950:(e,t,o)=>{e.exports=o.p+"images/8c6e5bc3.png"},1333:(e,t,o)=>{o.d(t,{D:()=>w});var r=o(9575),n=o(8769),s=o.n(n),a=o(981);const i=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];let l;var c=o(3373),p=o.n(c),d=o(6420),m=o(9711);const u=(0,a.wrapBrick)("eo-tooltip"),h=(0,a.wrapBrick)("eo-icon");function g(e,t){const[o,a]=(0,n.useState)(""),[c,g]=(0,n.useState)(!1),[w,b]=(0,n.useState)(!1),[f,v]=(0,n.useState)(),[x,k]=(0,n.useState)(!1),[y,E]=(0,n.useState)(!1),[A,C]=(0,n.useState)([]),[N,S]=(0,n.useState)(0),[M,I]=(0,n.useState)(!1),[z,q]=(0,n.useState)(-1),[_,P]=(0,n.useState)([]),[R,T]=(0,n.useState)(0),L=(0,n.useRef)(null),D=(0,n.useRef)(null),B=(0,n.useRef)(null),$=(0,n.useRef)(null),O=(0,n.useRef)(!1),H=(0,n.useRef)(!1),{chatting:W,loading:Y,searchStr:F,quickAnswerConfig:j,createSession:J,setSearchStr:U,handleChat:X,setAgent:V,snippetList:K}=(0,d.a)(),Q=(0,n.useMemo)((()=>{var e;return null!==(e=null==j?void 0:j.list)&&void 0!==e?e:[]}),[j]),G=(0,n.useMemo)((()=>!!o),[o]),Z=(0,n.useMemo)((()=>[1,5]),[]),ee=(0,n.useMemo)((()=>Y||W),[W,Y]),te=(0,n.useMemo)((()=>{const e=$.current;if(z>=0&&o){const t=e.selectionStart;let r="";for(let e=z+1;e<t;e++){if(!/[\u4e00-\u9fa5]|\w|\d/.test(o[e])&&!H.current)return q(-1),!1;r+=o[e]}return{start:z+1,end:t,word:r}}return!1}),[z,o]),oe=(0,n.useCallback)((e=>{if(te){const{start:t,end:r}=te,n=o.split(""),s=e.name.replace(/\s+/g,"")+" ",i=t+s.length;n.splice(t,r-t,s),a(n.join("")),q(-1),setTimeout((()=>{$.current.selectionStart=i,$.current.selectionEnd=i,$.current.focus()}),0)}}),[te,o]),re=(0,n.useCallback)((e=>{const t=/@([\u4e00-\u9fa5|\w|\d]+)/g,r=[];let n;for(;null!==(n=t.exec(o));)r.push(n[0]);r.length?a(r.join(" ")+" "+e.content):a(e.content),E(!1),S(0),setTimeout((()=>{$.current.focus()}),0)}),[o]),ne=(0,n.useMemo)((()=>_.length&&M),[_,M]),se=(0,n.useMemo)((()=>ne?s().createElement("div",{className:"mentions-list-wrapper",ref:L},s().createElement("div",{className:"content"},s().createElement("div",{className:"mentions-title"},"技能"),s().createElement("div",{className:"mentions-list"},_.slice(0,10).map(((e,t)=>s().createElement("div",{className:p()("mentions-item",{active:t===R}),key:t,onClick:()=>oe(e)},s().createElement(h,(0,r.A)({className:"icon"},e.icon,{style:{color:`var(--theme-${e.icon.color}-color)`,background:`var(--theme-${e.icon.color}-background)`}})),s().createElement("div",{className:"name"},e.name),s().createElement("div",{className:"description"},e.description))))))):null),[_,R,ne,oe]),ae=(0,n.useMemo)((()=>!ne&&A.length&&y),[ne,A,y]),ie=(0,n.useMemo)((()=>ae?s().createElement("div",{className:"snippets-list-wrapper",ref:D},s().createElement("div",{className:"content"},s().createElement("div",{className:"snippets-title"},"常用语"),s().createElement("div",{className:"snippets-list"},A.slice(0,10).map(((e,t)=>s().createElement("div",{className:p()("snippets-item",{active:t===N}),key:t,onClick:()=>re(e)},s().createElement("div",{className:"name"},e.name),s().createElement("div",{className:"description"},e.content))))))):null),[A,N,ae,re]),le=(0,n.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Z;if(O.current&&w)return;const t=$.current;if(t){const o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;l||(l=document.createElement("textarea"),l.setAttribute("tab-index","-1"),l.setAttribute("aria-hidden","true"),document.body.appendChild(l));const r=window.getComputedStyle(e),n=i.map((e=>`${e}:${r.getPropertyValue(e)}`)).join(";");let s,a;l.setAttribute("style",`${n};\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n padding: 10px !important;\n pointer-events: none !important;\n`),l.value=e.value||e.placeholder||"";let c=l.scrollHeight-20+2;if(null!==t||null!==o){l.value=" ";const e=l.scrollHeight-20;null!==t&&(s=e*t-20+2,c=Math.max(20,c)),null!==o&&(a=e*o-20+2,c=Math.min(a,c))}const p={height:c,overflowY:"scroll",resize:"none"};return s&&(p.minHeight=s),a&&(p.maxHeight=a),p}(t,e[0],e[1]);v(o)}O.current=w}),[Z,w]),ce=(0,n.useCallback)((e=>{const t="string"==typeof e?e:e.target.value;a(t),$.current.value=t;const o=t.replaceAll(/@([\u4e00-\u9fa5|\w|\d]+)\s/g,"").trim();if(o){var r;const e=null!==(r=null==K?void 0:K.filter((e=>e.name.includes(o))))&&void 0!==r?r:[];C(e),E(!!e.length)}else C([]),E(!1)}),[K]),pe=(0,n.useCallback)((()=>{b((e=>!e))}),[]),de=(0,n.useCallback)((e=>{const t=/@([\u4e00-\u9fa5|\w|\d]+)/g;let o;for(;null!==(o=t.exec(e));)if(o){const e=null==Q?void 0:Q.find((e=>e.name.replace(/\s+/g,"")===o[1]));if(e&&V(e.id),e)break}}),[Q,V]),me=(0,n.useCallback)((e=>{var t;de(e),X(e),g(!1),b(!1),ce(""),null===(t=$.current)||void 0===t||t.blur()}),[X,ce,de]),ue=(0,n.useCallback)((()=>{G&&$.current&&!ee&&me(o)}),[o,G,ee,me]),he=(0,n.useCallback)((e=>{"Enter"!==e.key||w&&!ne&&!ae||e.shiftKey||H.current||(e.preventDefault(),ne?oe(_[R]):ae?re(A[N]):ue()),ne?("ArrowUp"===e.key&&(e.preventDefault(),T((e=>Math.max(0,e-1)))),"ArrowDown"===e.key&&(e.preventDefault(),T((e=>Math.min(_.length-1,e+1))))):ae&&("ArrowUp"===e.key&&(e.preventDefault(),S((e=>Math.max(0,e-1)))),"ArrowDown"===e.key&&(e.preventDefault(),S((e=>Math.min(A.length-1,e+1)))))}),[ue,oe,re,ne,_,R,ae,A,N,w]),ge=(0,n.useCallback)((e=>{const t=$.current,o=t.selectionStart,r=t.value[o-1],n=t.value.slice(0,o).lastIndexOf("@");"Escape"===e.key||!ne&&-1!==["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.key)?q(-1):q("@"===r?o-1:n)}),[ne]);return(0,n.useEffect)((()=>{var e;F&&(ce(F.trim()),null===(e=$.current)||void 0===e||e.focus(),U(""))}),[F,ee,U,ce]),(0,n.useEffect)((()=>{le(w?[20,20]:void 0)}),[o,w,le]),(0,n.useEffect)((()=>{const e=B.current;if(e){const t=new ResizeObserver((()=>{const{width:t}=e.getBoundingClientRect();k(t<900)}));return t.observe(e),()=>{t.disconnect()}}}),[]),(0,n.useEffect)((()=>{var e;!W&&$.current&&(null===(e=$.current)||void 0===e||e.focus())}),[W]),(0,n.useEffect)((()=>{if(null!=Q&&Q.length&&te){const e=""===te.word?Q:Q.filter((e=>e.name.includes(te.word)));P(e),T(0),I(!0)}else P([]),I(!1)}),[te,Q]),(0,n.useEffect)((()=>{if(R>=0&&L.current){const e=L.current.querySelector(".mentions-item.active");null==e||e.scrollIntoView({block:"nearest"})}}),[R]),(0,n.useEffect)((()=>{if(N>=0&&D.current){const e=D.current.querySelector(".snippets-item.active");null==e||e.scrollIntoView({block:"nearest"})}}),[N]),(0,n.useEffect)((()=>{const e=e=>{const t=L.current;t&&!t.contains(e.composedPath()[0])&&I(!1)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]),(0,n.useImperativeHandle)(t,(()=>({handleInsertQuestion:e=>{me(e)},sendMsg:e=>{X(e)}}))),s().createElement("div",{className:p()("search-input-box",{"fill-content":x}),ref:B},se,ie,e.inputToolbarBrick&&s().createElement("div",{className:"input-toolbar"},s().createElement(m.ReactUseMultipleBricks,e.inputToolbarBrick)),s().createElement("div",{className:p()("input-box",{active:c,disabled:ee,expand:w})},s().createElement("textarea",{value:o,ref:$,style:{...f,paddingRight:w?"50px":"140px"},placeholder:W?"回复中,请稍等...":"提出你的想法...",onFocus:()=>g(!0),onBlur:()=>g(!1),onChange:ce,onKeyDown:he,onKeyUpCapture:ge,onCompositionStart:()=>{H.current=!0},onCompositionEnd:()=>{H.current=!1}}),s().createElement("span",{className:"suffix-icon"},s().createElement(u,{content:"新增会话"},s().createElement(h,{lib:"antd",icon:"plus-circle",onClick:()=>{J()}})),!w&&s().createElement(u,{content:"放大"},s().createElement(h,{lib:"antd",icon:"arrows-alt",onClick:pe})),s().createElement("div",{className:"submit-split"}),s().createElement(u,{content:"提交"},s().createElement(h,{className:p()("submit-btn",{active:G,disabled:!G||ee}),lib:W?"antd":"easyops",icon:W?"loading":"release-management-fill",category:W?"":"menu",spinning:W,onClick:ue}))),s().createElement("span",{className:"toolbar-icon"},w&&s().createElement(u,{content:"缩小"},s().createElement(h,{lib:"antd",icon:"shrink",onClick:pe})))),G&&s().createElement("div",{className:"search-input-toolbar"},s().createElement("div",{className:"input-tip"},"Shift + Enter 换行")))}const w=(0,n.forwardRef)(g)},2793:(e,t,o)=>{o.d(t,{A:()=>i});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s)()(n());a.push([e.id,'.progress-text{position:relative;margin-left:12px;font-size:12px;color:var(--palette-gray-7);line-height:22px;min-height:22px}.progress-text::before{content:"·";font-size:16px;position:absolute;left:-10px;top:-4px}.custom-component-wrapper .params{margin-top:6px;border-radius:3px}.custom-component-wrapper .params pre{margin:4px 0}.custom-component-wrapper .params-tip,.custom-component-wrapper .error-tip,.custom-component-wrapper .result-tip{font-size:0.875em;color:rgb(94 129 172)}.custom-component-wrapper .empty-tip{font-size:12px;color:var(--palette-gray-7)}.custom-component-wrapper .table-wrapper .table-container{position:relative;box-sizing:border-box;margin:0;padding:0;font-size:14px;clear:both;max-width:100%;overflow:hidden}.custom-component-wrapper .table-wrapper .table-container .table-content{overflow-x:auto}.custom-component-wrapper .table-wrapper .table-container .table-content table{margin:4px 0}.custom-component-wrapper .table-wrapper .table-container .table-content table tr td{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.custom-component-wrapper .table-wrapper .open-more{margin-top:4px;font-size:12px;display:flex;justify-content:flex-end}.custom-component-wrapper .chart-wrapper{background:#fff;margin-top:12px}.default-container .default-toolbar-container{visibility:hidden;position:absolute;top:0;right:0}.default-container:hover .default-toolbar-container{visibility:visible}',""]);const i=a},2896:(e,t,o)=>{var r=o(2591),n=o.n(r),s=o(1740),a=o.n(s),i=o(8128),l=o.n(i),c=o(855),p=o.n(c),d=o(3051),m=o.n(d),u=o(3656),h=o.n(u),g=o(6870),w={};w.styleTagTransform=h(),w.setAttributes=p(),w.insert=l().bind(null,"head"),w.domAPI=a(),w.insertStyleElement=m(),n()(g.A,w),g.A&&g.A.locals&&g.A.locals},3101:(e,t,o)=>{e.exports=o.p+"images/863bc601.gif"},3262:(e,t,o)=>{var r=o(2591),n=o.n(r),s=o(1740),a=o.n(s),i=o(8128),l=o.n(i),c=o(855),p=o.n(c),d=o(3051),m=o.n(d),u=o(3656),h=o.n(u),g=o(5800),w={};w.styleTagTransform=h(),w.setAttributes=p(),w.insert=l().bind(null,"head"),w.domAPI=a(),w.insertStyleElement=m(),n()(g.A,w),g.A&&g.A.locals&&g.A.locals},3613:(e,t,o)=>{o.d(t,{A:()=>m});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s),i=o(62),l=o.n(i),c=new URL(o(3101),o.b),p=a()(n()),d=l()(c);p.push([e.id,`.message-list-loading-wrapper{width:140px;height:140px;background-repeat:no-repeat;margin:auto;background-image:url(${d})}.chart-item-loading-wrapper{display:flex;padding:10px;font-size:40px;align-items:center;justify-content:center;color:#d2d3d4;border-radius:6px}.chart-item-loading-wrapper .load{display:inline-block;position:relative;width:64px;height:64px}.chart-item-loading-wrapper .load div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:#aaa8a8;animation-timing-function:cubic-bezier(0,1,1,0)}.chart-item-loading-wrapper .load div:nth-child(1){left:6px;animation:load1 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(2){left:6px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(3){left:26px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(4){left:45px;animation:load3 0.6s infinite}@keyframes load1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes load2{0%{transform:translate(0,0)}100%{transform:translate(19px,0)}}@keyframes load3{0%{transform:scale(1)}100%{transform:scale(0)}}.common-loading-wrapper{text-align:center;font-size:30px;color:#ddd}`,""]);const m=p},4218:(e,t,o)=>{o.d(t,{A:()=>i});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s)()(n());a.push([e.id,'.quick-answer-wrapper{margin-top:20px;border-radius:6px;border:1px solid var(--color-border-divider-line);padding:16px 24px}.quick-answer-wrapper .tip{font-size:18px;margin-bottom:30px}.quick-answer-wrapper .quick-answer-list{display:grid;gap:24px 16px;border-radius:3px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item{position:relative;padding:16px;border-radius:6px;cursor:pointer;display:flex;padding:10px 20px;gap:12px;width:auto;box-sizing:border-box}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item:hover{box-shadow:var(--quick-answer-card-item-hover)}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .left .icon{font-size:20px;color:#fff;padding:8px;border-radius:6px;margin-top:4px}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content{flex:1;min-width:0}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .title{font-size:16px;font-weight:bold;color:var(--color-normal-text);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .description{color:var(--color-auxiliary-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.quick-answer-wrapper .show-more-wrapper{text-align:center;margin-top:20px}.quick-answer-wrapper .show-more-wrapper .show-more-btn{line-height:24px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after{content:"- - - - -";color:var(--color-text-divider-line);position:absolute}.quick-answer-wrapper .show-more-wrapper .show-more-btn::before{content:"- - - - -";color:var(--color-text-divider-line);position:absolute}.quick-answer-wrapper .show-more-wrapper .show-more-btn::before{margin-left:-60px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after{margin-left:10px}',""]);const i=a},4345:(e,t,o)=>{o.d(t,{A:()=>i});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s)()(n());a.push([e.id,'.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0,none;font-weight:400}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden;background-color:white;margin:4px 0}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.user .milkdown-theme-nord code{color:rgb(120 168 237)}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~="not-prose"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~="not-prose"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);width:max-content}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\n.milkdown-theme-nord.prose th{padding:0.75rem 1.5rem!important;max-width:20em}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.prose :where(tr:first-child){background-color:var(--antd-table-header-bg)}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline="true"],\n.milkdown-theme-nord.prose br[data-is-inline="true"]:after{content:" "}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--color-info);-webkit-text-decoration:underline;text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600}.user .prose :where(strong):not(:where([class~="not-prose"] *)){color:inherit;font-weight:600;padding:0 2px}.prose :where(a strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\\201C" "\\201D" "\\2018" "\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~="not-prose"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~="not-prose"] *))::before{content:"`"}.prose :where(code):not(:where([class~="not-prose"] *))::after{content:"`"}.prose :where(a code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h1 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h2 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *))::before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *))::after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~="not-prose"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:0.5em;margin-bottom:0.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~="not-prose"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~="not-prose"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;margin:0;padding:0}.editor{margin-left:auto;margin-right:auto}.dark .dark\\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}code[class*="language-"],\npre[class*="language-"]{color:#f8f8f2;background:none;font-family:"Fira Code",Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*="language-"],\npre[class*="language-"]{background:#2e3440}:not(pre) > code[class*="language-"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}',""]);const i=a},5756:(e,t,o)=>{o.d(t,{vY:()=>Y,eX:()=>H,Dq:()=>W,WY:()=>j,Fn:()=>J});var r=o(8769),n=o(1916),s=o.n(n),a=o(4635),i=o(918),l=o(2559),c=o(829),p=o(6121),d=o(2110),m=o(1361),u=o(1921),h=o(563),g=o.n(h),w=new WeakMap,b=new WeakMap,f=new WeakMap,v=new WeakMap,x=new WeakMap,k=new WeakMap,y=new WeakMap,E=new WeakMap,A=new WeakMap,C=new WeakMap,N=new WeakMap,S=new WeakMap,M=new WeakMap,I=new WeakMap,z=new WeakMap,q=new WeakMap,_=new WeakMap,P=new WeakMap,R=new WeakMap,T=new WeakSet;class L{constructor(e){let{agentId:t,robotId:o,enterInterval:r=50,debug:n=!1,answerLanguage:s,useSpiltWord:l}=e;(0,a.A)(this,T),(0,i.A)(this,w,void 0),(0,i.A)(this,b,void 0),(0,i.A)(this,f,void 0),(0,i.A)(this,v,void 0),(0,i.A)(this,x,void 0),(0,i.A)(this,k,!1),(0,i.A)(this,y,!1),(0,i.A)(this,E,void 0),(0,i.A)(this,A,[]),(0,i.A)(this,C,{}),(0,i.A)(this,N,void 0),(0,i.A)(this,S,void 0),(0,i.A)(this,M,void 0),(0,i.A)(this,I,void 0),(0,i.A)(this,z,void 0),(0,i.A)(this,q,void 0),(0,i.A)(this,_,void 0),(0,i.A)(this,P,void 0),(0,i.A)(this,R,!1),(0,p.A)(f,this,t),(0,p.A)(v,this,o),(0,p.A)(x,this,r),(0,p.A)(w,this,n),(0,p.A)(R,this,null!=l&&l),(0,p.A)(S,this,s)}enqueue(e){(0,c.A)(A,this).push(e),(0,l.A)(T,this,B).call(this)}dequeue(){return(0,c.A)(A,this).shift()}getMessageQueue(){return(0,c.A)(A,this)}subscribe(e,t){(0,c.A)(C,this)[e]||((0,c.A)(C,this)[e]=[]),(0,c.A)(C,this)[e].push(t)}unsubscribe(e,t){(0,c.A)(C,this)[e]&&((0,c.A)(C,this)[e]=(0,c.A)(C,this)[e].filter((e=>e!==t)))}notifySubscribers(e){const t=e.topic;(0,c.A)(C,this)[t]&&(0,c.A)(C,this)[t].forEach((t=>{t(null==e?void 0:e.message)}))}async setChatItemIsLike(e,t){let o=!1;try{const{code:r}=await m.http.request(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.conversation.CommentDialogue/conversation/comment`,{method:"POST",body:JSON.stringify({taskId:e,isLike:t})});0===r&&(o=!0)}catch{o=!1}return o}setAgentId(e){(0,p.A)(f,this,e)}setConversationId(e){(0,p.A)(N,this,e)}setConfig(e){(0,p.A)(_,this,e)}setFormData(e){(0,p.A)(P,this,e)}async getSessionHistory(e,t){e&&(0,p.A)(I,this,e),g().isNil(t)||((0,c.A)(z,this)!==t&&(0,p.A)(M,this,void 0),(0,p.A)(z,this,t));try{var o;const{data:{conversations:e,next_token:t}}=await m.http.request(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.conversation.ListConversation/conversation/list`,{method:"POST",body:JSON.stringify({limit:null!==(o=(0,c.A)(I,this))&&void 0!==o?o:20,query:(0,c.A)(z,this),next_token:(0,c.A)(M,this)})});return(0,p.A)(M,this,t),t||this.notifySubscribers({topic:"session.fetch.end"}),e}catch{console.error("获取会话历史失败")}return[]}async getChatHistory(e){if(e&&(this.setConversationId(e),(0,p.A)(q,this,"")),!(0,c.A)(N,this))return[];try{const{data:{conversations:e,next_token:t}}=await m.http.request(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.conversation.GetAllDialogue/conversation/get/${(0,c.A)(N,this)}`,{method:"POST",body:JSON.stringify({limit:1e3,next_token:(0,c.A)(q,this)})});return(0,p.A)(q,this,t),t||this.notifySubscribers({topic:"message.fetch.end"}),e}catch{console.error("获取消息历史失败")}return[]}async deleteSession(e){if(!e.length)return!1;let t=!1;try{const{code:o}=await m.http.request(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.conversation.DeleteConversation/conversation/delete`,{method:"POST",body:JSON.stringify({conversationIds:e})});0===o&&(t=!0)}catch{t=!1}return t}async updateSession(e,t){if(!e)return!1;let o=!1;try{const{code:r}=await m.http.request(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.conversation.UpdateConversation/conversation/update/${e}`,{method:"POST",body:JSON.stringify({updateData:t})});0===r&&(o=!0)}catch{o=!1}return o}getCustomSplit(){return{[Symbol.split](e){let t=0;const o=[];let r="";for(;t<e.length;){const n=e.substring(t,t+1);/[\u4e00-\u9fa5]/.test(n)||/\s|[,。;《》?!,.:<>?!]]/.test(n)?(o.push(r+n),r=""):r+=n,t++}return r&&o.push(r),o}}}splitWord(e){if(!e)return[];if((null==e?void 0:e.length)<5)return[e];let t=[];if(/^```easy_cmd_[^]*?```[^`]*$/.test(e)&&!/easy_cmd_progress/.test(e))return[e];if(window.Intl)try{const o=new Intl.Segmenter("zh-Hans-CN",{granularity:"word"}).segment(e)[Symbol.iterator]();let r=o.next();for(;!r.done;)t.push(r.value.segment),r=o.next()}catch{t=[];const o=this.getCustomSplit();e.split(o).forEach((e=>{t.push(e)}))}else{const o=this.getCustomSplit();e.split(o).forEach((e=>{t.push(e)}))}return t}async chat(e){(0,p.A)(b,this,new AbortController);let t=!1;(0,p.A)(k,this,!0),await(0,d.y)(`${(0,u.getBasePath)()}api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions`,{method:"POST",signal:(0,c.A)(b,this).signal,openWhenHidden:!0,body:JSON.stringify({agentId:(0,c.A)(f,this),robotId:(0,c.A)(v,this),conversationId:(0,c.A)(N,this),stream:!0,config:{debug:(0,c.A)(w,this),...(0,c.A)(S,this)?{lang:(0,c.A)(S,this)}:null,...(0,c.A)(_,this)},formData:(0,c.A)(P,this),..."string"==typeof e?{input:e}:e}),headers:{"giraffe-contract-name":"easyops.api.aiops_chat.manage.LLMChatProxy"},onopen:async e=>{e.ok?console.log("open sse service success!"):console.log("open sse service fail!")},onmessage:e=>{const{data:o}=e;if(t=!0,"[DONE]"===o)return void(0,c.A)(b,this).abort();let r={};try{if(r=JSON.parse(o),(0,c.A)(N,this)||this.setConversationId(r.conversationId),(0,c.A)(R,this)&&j(r.type)){const e=this.splitWord(r.delta.content);let t=e;const o=100;if(e.length>o){const r=50,n=Math.ceil(e.length/(Math.floor(Math.random()*(o-r+1))+r));t=g().chunk(e,n).map((e=>e.join("")))}t.forEach((e=>{var t;this.enqueue({topic:"add",message:{...r,delta:{role:null!==(t=r.delta.role)&&void 0!==t?t:"assistant",content:e}}})}))}else{var n;this.enqueue({topic:"add",message:{...r,delta:{role:null!==(n=r.delta.role)&&void 0!==n?n:"assistant",...(0,h.pick)(r.delta,["content","tool_calls","tool_call_id"])}}})}}catch{var a,i;r=JSON.parse(o);const e="input messages contains sensitive words",t="exceed tokens resource limit";let n=`\`【数据格式错误】:\` ${o}`;return null!==(a=r)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.includes(e)?n="触发敏感词限制,请换一个问题,或找管理员修改敏感词配置":null!==(i=r)&&void 0!==i&&null!==(i=i.error)&&void 0!==i&&i.includes(t)&&(n="超过资源配额限制,请找管理员增加资源配额"),this.enqueue({topic:"add",message:{created:s()().format("YYYY-MM-DD HH:mm:ss"),delta:{role:"assistant",content:n},agentId:(0,c.A)(f,this),robotId:(0,c.A)(v,this)}}),void(0,c.A)(b,this).abort()}},onclose:()=>{console.log("close"),t||this.enqueue({topic:"add",message:{delta:{role:"assistant",content:"`无法识别`"},agentId:(0,c.A)(f,this),robotId:(0,c.A)(v,this),created:s()().format("YYYY-MM-DD HH:mm:ss")}}),(0,c.A)(b,this).abort()},onerror:e=>{throw e}}),(0,p.A)(k,this,!1)}stop(){var e;clearTimeout((0,c.A)(E,this)),(0,c.A)(b,this)&&(null===(e=(0,c.A)(b,this))||void 0===e||e.abort()),(0,p.A)(k,this,!1),(0,p.A)(E,this,void 0),(0,p.A)(y,this,!1),(0,l.A)(T,this,D).call(this),this.notifySubscribers({topic:"stop"})}}function D(){(0,c.A)(A,this).length=0}function B(){if((0,c.A)(y,this))return;(0,p.A)(y,this,!0);const e=()=>{if((0,c.A)(k,this)||(0,c.A)(A,this).length){const t=this.dequeue();t&&this.notifySubscribers(t),(0,p.A)(E,this,setTimeout(e,$((0,c.A)(x,this),(0,c.A)(A,this).length)))}else clearTimeout((0,c.A)(E,this)),(0,p.A)(E,this,void 0),(0,p.A)(y,this,!1),this.notifySubscribers({topic:"finish"})};(0,p.A)(E,this,setTimeout(e,$((0,c.A)(x,this),(0,c.A)(A,this).length)))}function $(e,t){return e>=0?e:t>50?16:Math.floor(11*Math.random())<9?50:Math.floor(251*Math.random())+50}var O=o(8406);const H="new_session_id",W="RELATED_QUESTIONS",Y="TEXT",F=["TEXT","tool_call","tool_response"];function j(e){return F.includes(null!=e?e:"TEXT")}function J(e){let{agentId:t,robotId:o,sessionId:n,enterInterval:a=50,debug:i,answerLanguage:l,useSpiltWord:c,showToolCalls:p}=e;const[d,m]=(0,r.useState)(!1),[u,g]=(0,r.useState)(!1),[w,b]=(0,r.useState)(n||H),[f,v]=(0,r.useState)(!1),[x,k]=(0,r.useState)(!1),[y,E]=(0,r.useState)([]),[A,C]=(0,r.useState)(!1),[N,S]=(0,r.useState)(!1),[M,I]=(0,r.useState)([]),[z,q]=(0,r.useState)(""),_=(0,r.useRef)(),P=(0,r.useRef)(),R=(0,r.useRef)(!1),[T,D]=(0,r.useState)(new Map),B=(0,r.useRef)(new Map),$=(0,r.useCallback)((e=>{if(B.current.has(e))return;const t=(0,O.y)("LLM_TOOL@EASYOPS",{query:{id:e},fields:["name"]}).then((t=>{const o=t.list,r=o.length>0?o[0].name:null;D((t=>{const o=new Map(t);return o.set(e,r),o}))}),(e=>{console.error("fetch tool name error",e)}));B.current.set(e,t)}),[]),F=(0,r.useMemo)((()=>new L({agentId:t,robotId:o,enterInterval:a,debug:i,answerLanguage:l,useSpiltWord:c})),[t,o,a,i,l,c]),J=(0,r.useMemo)((()=>({conversationId:H,title:"新建会话"})),[]),U=(0,r.useCallback)((()=>{F.stop()}),[F]),X=(0,r.useCallback)((e=>{F.setAgentId(e)}),[F]),V=(0,r.useCallback)((e=>{F.setConfig(e)}),[F]),K=(0,r.useCallback)((e=>{F.setFormData(e)}),[F]),Q=(0,r.useCallback)((async function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&e?(S(!1),C(!1),v(!0),I([]),b(e),x&&U()):C(!0),e===H)return F.setConversationId(),S(!0),void v(!1);const t=await F.getChatHistory(e);I((e=>(e=>{const t=[];return e.forEach((e=>{let o;if(p&&e.allToolCalls)try{const t=JSON.parse(e.allToolCalls);o=[],t.forEach((e=>{try{const t=JSON.parse(e.call);o.push({id:e.callId,...Array.isArray(t)?t[0]:t,response:e.result})}catch(e){console.error("parse allToolCalls.call error",e)}}))}catch(e){console.error("parse allToolCalls error",e)}t.unshift({agentId:e.agentId,robotId:e.robotId,taskId:e.taskId,conversationId:e.conversationId,role:"user",content:{type:"markdown",text:e.input},key:(0,h.uniqueId)("msg-"),created:e.inputTime,type:Y},{agentId:e.agentId,taskId:e.taskId,conversationId:e.conversationId,role:"assistant",content:{type:"markdown",text:e.output},key:(0,h.uniqueId)("msg-"),created:e.time,tag:e.tag,type:Y,toolCalls:o})})),t.filter((e=>e.content.text))})(t).concat(e))),C(!1),v(!1)}),[F,x,U]),G=(0,r.useCallback)((async e=>{const t=e.filter((e=>e!==H)),o=await F.deleteSession(t);if(o){let e=!1;w&&t.includes(w)&&w!==H&&(e=!0,F.setConversationId(),S(!1),C(!1),I([]),x&&U()),E((o=>{const r=o.filter((e=>!t.includes(e.conversationId)));if(e){const e=o.find((e=>e.conversationId===H));return v(!1),b(H),e?r:[J].concat(r)}return r}))}return o}),[w,F,x,J,U]),Z=(0,r.useCallback)((async(e,t)=>{const o=await F.updateSession(e,t);return o&&null!=t&&t.title&&E((o=>o.map((o=>({...o,title:o.conversationId===e?t.title:null==o?void 0:o.title}))))),o}),[w,F,x,J,U]),ee=(0,r.useCallback)((async(e,t)=>{g(!0);let o=await F.getSessionHistory(e,t);w||(b(H),I([])),t&&P.current!==t?m(!1):o=[...y].concat(o),w?w&&!R.current&&(y.find((e=>e.conversationId===H))||(o=[J].concat(o))):o=[J].concat(o),P.current=t,E(o),g(!1)}),[F,w,y,J,P,R.current]),te=(0,r.useCallback)((async e=>{const t="string"==typeof e?e:e.input;w===H&&(E((e=>e.map((e=>({...e,title:e.conversationId===H?t:e.title}))))),R.current=!0),k(!0),F.chat(e),I((e=>e.filter((e=>e.type!==W)).concat([{role:"user",content:{type:"markdown",text:t},created:s()().format("YYYY-MM-DD HH:mm:ss"),type:Y,key:(0,h.uniqueId)("msg-")},{role:"assistant",content:{type:"load",text:""},chatting:!0,created:"Now",type:Y,key:(0,h.uniqueId)("msg-")}])))}),[F,w]),oe=(0,r.useCallback)((()=>{F.setConversationId(),I([]),b(H),y.find((e=>e.conversationId===H))||E((e=>[J].concat(e)))}),[F,y,J]),re=(0,r.useCallback)((async(e,t)=>{const o=await F.setChatItemIsLike(e,t);return o&&I((o=>o.map((o=>({...o,tag:e===o.taskId?{isLike:t}:o.tag}))))),o}),[F]);return(0,r.useEffect)((()=>{n?Q(n):ee(30)}),[n]),(0,r.useEffect)((()=>{const e=()=>{m(!0)};return F.subscribe("session.fetch.end",e),()=>{F.subscribe("session.fetch.end",e)}}),[F]),(0,r.useEffect)((()=>{const e=e=>{var t,o,r,n,a,i,l,c;if(!e)return;const d={type:Y,...e};if(w===H&&d.conversationId&&(E((e=>e.map((e=>({...e,conversationId:e.conversationId===H?d.conversationId:e.conversationId}))))),b(d.conversationId)),!p&&("tool_call"===d.type||"tool_response"===d.type))return;if("tool_call"===d.type)for(const e of d.delta.tool_calls.map((e=>e.function.name)))$(e);let m=!1;const u=!_.current,g=!u&&(f=d.type,v=_.current.type,m=(f===v||j(f)&&j(v))&&d.taskId===_.current.taskId);var f,v;const x=_.current={...d,role:"assistant",content:{type:"markdown",text:d.type===W?d.delta.content:null==d.type||"TEXT"===d.type?`${g?_.current.content.text:""}${d.delta.content}`:null!==(t=null===(o=_.current)||void 0===o?void 0:o.content.text)&&void 0!==t?t:""},chatting:!0,toolCalls:"tool_call"===d.type?[...null!==(r=null===(n=_.current)||void 0===n?void 0:n.toolCalls)&&void 0!==r?r:[],...d.delta.tool_calls]:"tool_response"===d.type?null===(a=_.current)||void 0===a||null===(a=a.toolCalls)||void 0===a?void 0:a.map((e=>e.id===d.delta.tool_call_id?{...e,response:d.delta.content}:e)):d.type===W||null===(i=_.current)||void 0===i?void 0:i.toolCalls,created:s()(null==d?void 0:d.created).format("YYYY-MM-DD HH:mm:ss"),key:null!==(l=null===(c=_.current)||void 0===c?void 0:c.key)&&void 0!==l?l:(0,h.uniqueId)("msg-")};I((e=>u||g?(e.pop(),e.concat(x)):(m?e:e.filter((e=>e.type!==W))).map((e=>({...e,chatting:!1}))).concat(x)))},t=()=>{k(!1),v(!1),_.current=void 0},o=()=>{I((e=>e.map((e=>{var t;return{...e,chatting:!1,toolCalls:null===(t=e.toolCalls)||void 0===t?void 0:t.map((e=>void 0===e.response?{...e,failed:!0}:e))}})))),t()},r=()=>{S(!0)},n=()=>{if(_.current){const e={..._.current,content:{type:"markdown",text:_.current.content.text+" \\\n ` 对话被中断了 `"}};I((t=>(t.pop(),M.concat(e))))}else I((e=>e.filter((e=>"load"!==e.content.type))));t()};return F.subscribe("add",e),F.subscribe("finish",o),F.subscribe("stop",n),F.subscribe("message.fetch.end",r),()=>{F.unsubscribe("add",e),F.unsubscribe("finish",o),F.unsubscribe("stop",n),F.unsubscribe("message.fetch.end",r)}}),[F,w,M,p,$]),{sessionEnd:d,sessionLoading:u,loading:f,chatting:x,activeSessionId:w,sessionList:y,searchStr:z,msgEnd:N,msgLoading:A,msgList:M,toolNames:T,setAgent:X,handleChat:te,stopChat:U,createSession:oe,deleteSession:G,updateSession:Z,checkSession:Q,setSearchStr:q,querySessionHistory:ee,handleIsLike:re,setConfig:V,setFormData:K}}},5800:(e,t,o)=>{o.d(t,{A:()=>u});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s),i=o(7956),l=o(3613),c=o(4345),p=o(4218),d=o(2793),m=a()(n());m.i(i.A),m.i(l.A),m.i(c.A),m.i(p.A),m.i(d.A),m.push([e.id,"",""]);const u=m},6413:(e,t,o)=>{o.d(t,{Z:()=>A});var r=o(9575),n=o(8769),s=o.n(n),a=o(6420),i=o(3373),l=o.n(i),c=o(563),p=o(7817),d=o(981),m=o(9936),u=o(5756);const h=(0,d.wrapBrick)("eo-tooltip"),g=(0,m.unwrapProvider)("basic.show-notification"),w=(0,d.wrapBrick)("eo-icon"),b=(0,m.unwrapProvider)("basic.show-dialog"),f=(0,d.wrapBrick)("eo-modal",{onClose:"close",onConfirm:"confirm",onCancel:"cancel",onOpen:"open"}),v=(0,d.wrapBrick)("eo-form",{onValuesChange:"values.change",onValidateSuccess:"validate.success",onValidateError:"validate.error"}),x=(0,d.wrapBrick)("eo-input"),k=42,y=5,E=100;function A(){const{sessionEnd:e,sessionLoading:t,sessionList:o,querySessionHistory:i,updateSession:l}=(0,a.a)(),d=(0,n.useRef)(null),m=(0,n.useRef)(null),u=(0,n.useRef)(""),b=(0,n.useRef)(null),A=(0,n.useRef)(null),N=(0,n.useRef)(),S=(0,n.useRef)(""),M=()=>{let e=20;const t=d.current;return t&&(e=Math.floor(t.clientHeight/k)+y),e};(0,n.useEffect)((()=>{i(M())}),[]);const I=(0,n.useCallback)((()=>{if(t||e)return;const o=m.current;if(o){const{scrollTop:e,scrollHeight:t,clientHeight:r}=o;e+r+E>t&&i()}}),[i,t,e]),z=(0,c.debounce)(I,200),q=(0,n.useCallback)((e=>{u.current=e.target.value}),[]),_=(0,n.useCallback)((()=>{i(M(),u.current)}),[]),P=(0,n.useCallback)((e=>{"Enter"===e.key&&_()}),[]),R=(0,n.useCallback)(((e,t)=>{var o,r;S.current=e,N.current=t,null===(o=A.current)||void 0===o||o.setInitValue({...t}),null===(r=b.current)||void 0===r||r.open()}),[]),T=(0,n.useCallback)((()=>{var e;null===(e=A.current)||void 0===e||e.validate()}),[]),L=(0,n.useCallback)((async e=>{const t=await l(S.current,e.detail);var o;g({message:"修改会话"+(t?"成功":"失败"),type:t?"success":"error"}),t&&(null===(o=b.current)||void 0===o||o.close())}),[S.current,b.current]);return s().createElement(s().Fragment,null,s().createElement("div",{className:"session-list-wrapper",ref:d},s().createElement("div",{className:"session-title"},"历史对话"),s().createElement("div",{className:"session-search-input-box"},s().createElement("input",{placeholder:"输入关键词进行搜索",onChange:q,onKeyUpCapture:P}),s().createElement("span",{className:"suffix-icon"},s().createElement(h,{content:"搜索"},s().createElement(w,{lib:"antd",icon:"search",theme:"outlined",onClick:_})))),s().createElement("div",{className:"session-list",ref:m,onScroll:z},o.map(((e,t)=>s().createElement(C,(0,r.A)({key:t},e,{handleEditSession:R})))),t&&s().createElement(p.g3,null))),s().createElement(f,{ref:b,modalTitle:"编辑会话",width:"688px",maskClosable:!1,closeWhenConfirm:!1,onConfirm:T},s().createElement(v,{layout:"horizontal",ref:A,onValidateSuccess:L},s().createElement(x,{label:"标题",name:"title"}))))}function C(e){let{title:t,conversationId:o,handleEditSession:r}=e;const{activeSessionId:i,checkSession:c,deleteSession:p}=(0,a.a)(),d=(0,n.useCallback)((()=>{c(o,!0)}),[o,c]),m=(0,n.useCallback)((e=>{e.stopPropagation(),b({type:"confirm",title:"会话删除确认",content:"请输入 {{ expect }} 以确认删除",expect:t.replace(/\s+/g,"")}).then((async()=>{const e=await p([o]);g({message:"删除会话"+(e?"成功":"失败"),type:e?"success":"error"})}))}),[o,p,t]),h=(0,n.useCallback)((e=>{e.stopPropagation(),r&&r(o,{title:t})}),[o,r,t]);return s().createElement("div",{key:t,className:l()("session-item",{active:o===i}),onClick:d},s().createElement("div",{className:"content"},s().createElement("div",{className:"title",title:t},t)),o!==u.eX&&s().createElement(s().Fragment,null,s().createElement("div",{className:"session-edit-btn",onClick:h},s().createElement(w,{icon:"edit",lib:"antd"})),s().createElement("div",{className:"session-close-btn",onClick:m},s().createElement(w,{icon:"close",lib:"antd"}))))}},6420:(e,t,o)=>{o.d(t,{a:()=>s,t:()=>n});var r=o(8769);const n=(0,r.createContext)({}),s=()=>(0,r.useContext)(n)},6870:(e,t,o)=>{o.d(t,{A:()=>i});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s)()(n());a.push([e.id,':root{--message-box-bg:#f1f3f4;--search-input-icon-hover:#ddd;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.15)}html[data-theme="dark"],\nhtml[data-theme="dark-v2"]{--message-box-bg:rgba(255,255,255,0.16);--search-input-icon-hover:#383838;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.24)}',""]);const i=a},7309:(e,t,o)=>{e.exports=o.p+"images/6c9a569e.png"},7817:(e,t,o)=>{o.d(t,{CA:()=>a,g3:()=>l,mc:()=>i});var r=o(8769),n=o.n(r);const s=(0,o(981).wrapBrick)("eo-icon");function a(){return n().createElement("div",{className:"message-list-loading-wrapper"})}function i(){return n().createElement("div",{className:"chart-item-loading-wrapper"},n().createElement("div",{className:"load"},n().createElement("div",null),n().createElement("div",null),n().createElement("div",null),n().createElement("div",null)))}function l(){return n().createElement("div",{className:"common-loading-wrapper"},n().createElement(s,{icon:"loading",lib:"antd",spinning:!0}))}},7956:(e,t,o)=>{o.d(t,{A:()=>h});var r=o(6758),n=o.n(r),s=o(935),a=o.n(s),i=o(62),l=o.n(i),c=new URL(o(7309),o.b),p=new URL(o(950),o.b),d=a()(n()),m=l()(c),u=l()(p);d.push([e.id,`:host{display:block;height:100%}:host([hidden]){display:none}.chat-view-container{display:flex;flex-direction:row;width:100%;height:100%}.chat-view-selector{width:200px;padding:14px;border-right:1px solid var(--color-border-divider-line)}.chat-view-content{flex:1;display:flex;flex-direction:column;width:100%;gap:8px}.chat-view-content .chat-view-toolbar{background:#e0e4e5;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-view-content .chat-view-toolbar .username{color:#333333;font-weight:500;line-height:22px;font-size:16px}.chat-view-content .chat-view{max-width:100%;position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;overflow-y:auto}.session-list-wrapper{display:flex;flex-direction:column;height:100%}.session-list-wrapper .session-title{font-size:16px;color:var(--color-header-text);margin-bottom:16px}.session-list-wrapper .session-list{overflow-y:auto}.session-list-wrapper .session-list .session-item{display:flex;justify-content:space-between;cursor:pointer;border-radius:var(--small-border-radius);background-color:var(--third-menu-default-bg);padding:6px 18px;color:var(--color-header-text);margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list-wrapper .session-list .session-item > .content{width:0;flex:1}.session-list-wrapper .session-list .session-item > .content .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list-wrapper .session-list .session-item:hover .session-close-btn eo-icon{display:block}.session-list-wrapper .session-list .session-item:hover .session-edit-btn eo-icon{display:block}.session-list-wrapper .session-list .session-item:first-child{margin-top:0px}.session-list-wrapper .session-list .session-item.active{background-color:var(--third-menu-item-selected-bg);color:var(--color-brand)}.session-list-wrapper .session-list .session-item:hover,.session-list-wrapper .session-list .session-item.active:hover{color:var(--color-header-text);background-color:var(--third-menu-item-hover-bg)}.session-list-wrapper .session-list .session-item .session-close-btn{display:flex;align-items:center;cursor:pointer;font-size:12px;margin-left:6px}.session-list-wrapper .session-list .session-item .session-close-btn:hover{color:var(--color-error)}.session-list-wrapper .session-list .session-item .session-close-btn eo-icon{display:none}.session-list-wrapper .session-list .session-item .session-edit-btn{display:flex;align-items:center;cursor:pointer;font-size:12px}.session-list-wrapper .session-list .session-item .session-edit-btn:hover{color:var(--color-info)}.session-list-wrapper .session-list .session-item .session-edit-btn eo-icon{display:none}.message-list{display:flex;flex-direction:column;padding-bottom:30px;padding:12px;flex:1;margin:0 auto;max-width:1556px;width:100%;box-sizing:border-box}.message-list .message-list-box{display:flex;flex-direction:column;position:relative;gap:36px}.message-list .message-list-box .message-item{display:flex;gap:8px;padding-right:40px}.message-list .message-list-box .message-item:last-child{margin-bottom:10px}.message-list .message-list-box .message-item.user{flex-direction:row-reverse;padding:0;padding-left:40px}.message-list .message-list-box .message-item.user .message-box{margin-bottom:0;overflow:hidden}.message-list .message-list-box .message-item.user .message-box .message-top{flex-direction:row-reverse}.message-list .message-list-box .message-item.user .message-box .message-content{justify-content:flex-end}.message-list .message-list-box .message-item.user .message-box .message-content .wrapper > .content{background-color:#606f7c;color:#fff}.message-list .message-list-box .message-item.user .message-box .message-content .wrapper > .content .ProseMirror.prose{color:#fff}.message-list .message-list-box .message-item .avatar{width:36px;height:36px;margin-top:32px;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center}.message-list .message-list-box .message-item .avatar.user{background-image:url(${m})}.message-list .message-list-box .message-item .avatar.robot{background-image:url(${u})}.message-list .message-list-box .message-item .message-box{position:relative;flex:1;overflow:hidden}.message-list .message-list-box .message-item .message-box .message-content{display:flex;justify-content:start;position:relative}.message-list .message-list-box .message-item .message-box .message-content .wrapper{position:relative;overflow:hidden}.message-list .message-list-box .message-item .message-box .message-content .wrapper > .content{position:relative;padding:14px;border-radius:6px;overflow:hidden;background:var(--message-box-bg)}.message-list .message-list-box .message-item .message-box .message-content .wrapper > .content .text-item{white-space:pre-wrap}.message-list .message-list-box .message-item .message-box .message-content .wrapper .message-toolbar{display:flex;gap:12px;justify-content:flex-end;margin-top:4px}.message-list .message-list-box .message-item .message-box .message-content .wrapper .message-toolbar eo-icon{cursor:pointer;color:#606f7c}.message-list .message-list-box .message-item .message-box .message-content .wrapper .message-toolbar eo-icon.active{color:var(--color-brand)}.message-list .message-list-box .message-item .message-box .message-content .wrapper .message-toolbar .split{width:1px;height:16px;background-color:#d9d9d9;margin-bottom:1px}.message-list .message-list-box .message-item .message-box .message-top{display:flex;margin-bottom:4px;color:#bec8ce;gap:8px}.message-list .message-list-box .message-item .message-box .message-top .time{min-height:22px}.message-list .message-list-box .stop-responding-wrapper{position:absolute;left:44px;bottom:-28px}.message-list .tool-calls{width:-moz-fit-content;width:fit-content;max-width:100%;padding:14px;border-radius:6px;background:var(--message-box-bg);margin-bottom:8px}.message-list .tool-calls pre{margin-top:1em;padding:0.5em;border:1px solid var(--palette-gray-5);border-radius:4px;font-size:12px}.message-list .tool-calls-summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content}.message-list .tool-calls-summary-toggle{color:var(--color-secondary-text)}.message-list .tool-calls-status,.message-list .tool-call-function-name{display:flex;gap:8px;align-items:center}.message-list .tool-calls-status.processing{color:var(--color-secondary-text)}.message-list .tool-calls-status.ok{color:var(--color-success)}.message-list .tool-calls-status.failed{color:var(--color-error)}.message-list .tool-call{margin-top:1em;padding-top:1em;border-top:1px solid var(--palette-gray-5)}.message-list .tool-call-function-name{font-weight:bold;margin-bottom:0.5em}.message-list .tool-call-wait-response{margin:1em 0}.message-list .tool-call-function-arguments.failed,.message-list .tool-call-function-response.failed{color:var(--color-error)}.message-list .tool-call-function-arguments.failed pre,.message-list .tool-call-function-response.failed pre{border-color:var(--color-error)}.search-input-box{display:flex;flex-direction:column;height:87px;padding:12px;position:relative;margin:0 auto;max-width:1556px;width:100%;box-sizing:border-box}.search-input-box .input-toolbar{position:absolute;bottom:71%;left:12px;right:12px}.search-input-box .mentions-list-wrapper{position:absolute;bottom:100%;left:12px;right:12px;z-index:1}.search-input-box .mentions-list-wrapper > .content{background-color:var(--antd-input-bg);border-radius:6px;border:1px solid var(--palette-gray-4);padding:8px}.search-input-box .mentions-list-wrapper > .content .mentions-title{font-size:14px;font-weight:bold;color:var(--color-strong-text);padding-bottom:8px}.search-input-box .mentions-list-wrapper > .content .mentions-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:6px;cursor:pointer}.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item .icon{font-size:18px;padding:8px;border-radius:50%}.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item .name{color:var(--color-normal-text)}.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item .description{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-disabled-text)}.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item:hover,.search-input-box .mentions-list-wrapper > .content .mentions-list .mentions-item.active{background:var(--palette-gray-3)}.search-input-box .snippets-list-wrapper{position:absolute;bottom:100%;left:12px;right:12px;z-index:1}.search-input-box .snippets-list-wrapper > .content{background-color:var(--antd-input-bg);border-radius:6px;border:1px solid var(--palette-gray-4);padding:8px}.search-input-box .snippets-list-wrapper > .content .snippets-title{font-size:14px;font-weight:bold;color:var(--color-strong-text);padding-bottom:8px}.search-input-box .snippets-list-wrapper > .content .snippets-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:6px;cursor:pointer}.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item .icon{font-size:18px;padding:8px;border-radius:50%}.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item .name{color:var(--color-normal-text)}.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item .description{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-disabled-text)}.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item:hover,.search-input-box .snippets-list-wrapper > .content .snippets-list .snippets-item.active{background:var(--palette-gray-3)}.search-input-box.fill-content{border-top:1px solid rgba(197,197,197,0.5)}.search-input-box .input-box{position:absolute;bottom:20px;left:12px;right:12px;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s;overflow:visible}.search-input-box .input-box.active{border-color:var(--antd-input-focus-border-color)}.search-input-box .input-box.disabled{pointer-events:none;background:var(--input-outline-disabled);cursor:not-allowed}.search-input-box .input-box.expand textarea{padding-right:50px;margin-bottom:50px}.search-input-box .input-box textarea{width:100%;height:22px;font-size:18px;resize:none;padding:10px 50px 10px 10px;outline:none;border:none;line-height:20px;color:var(--color-normal-text);background-color:transparent;cursor:inherit;transition:all 300ms ease-out;box-sizing:content-box}.search-input-box .input-box textarea::placeholder{color:#b0b1b8}.search-input-box .input-box .suffix-icon{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:6px}.search-input-box .input-box .suffix-icon eo-tooltip{display:flex}.search-input-box .input-box .suffix-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .suffix-icon eo-icon:not(.disabled):hover{background:var(--search-input-icon-hover)}.search-input-box .input-box .suffix-icon .submit-split{width:1px;height:20px;background:#d1d1d1}.search-input-box .input-box .suffix-icon .submit-btn.active{color:var(--color-brand)}.search-input-box .input-box .suffix-icon .submit-btn.disabled{color:var(--color-disabled-text);cursor:not-allowed}.search-input-box .input-box .toolbar-icon{position:absolute;top:12px;right:14px}.search-input-box .input-box .toolbar-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .toolbar-icon eo-icon:hover{background:var(--search-input-icon-hover)}.search-input-box .search-input-toolbar{display:flex;justify-content:flex-end;position:absolute;right:12px;bottom:0px}.search-input-box .search-input-toolbar .input-tip{font-size:12px;color:var(--color-secondary-text)}.message-start-tip,\n.session-end-tip{color:var(--color-disabled-text);font-size:12px;text-align:center;margin-top:12px;position:relative}.message-start-tip::after{content:"- - -";color:var(--color-disabled-text);position:absolute}.session-end-tip::after{content:"- - -";color:var(--color-disabled-text);position:absolute}.message-start-tip::before{content:"- - -";color:var(--color-disabled-text);position:absolute}.session-end-tip::before{content:"- - -";color:var(--color-disabled-text);position:absolute}.message-start-tip::before{margin-left:-35px}.session-end-tip::before{margin-left:-35px}.message-start-tip::after{margin-left:10px}.session-end-tip::after{margin-left:10px}.session-search-input-box{position:relative;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);margin-bottom:8px}.session-search-input-box input{width:100%;padding:4px 28px 4px 8px;outline:none;border:none;color:var(--color-normal-text);background-color:transparent;cursor:inherit;transition:all 300ms ease-out;box-sizing:content-box}.session-search-input-box input::placeholder{color:#b0b1b8}.session-search-input-box .suffix-icon{display:flex;align-items:center;position:absolute;right:0;bottom:0;color:var(--color-secondary-text)}.session-search-input-box .suffix-icon eo-tooltip{display:flex}.session-search-input-box .suffix-icon eo-icon{font-size:18px;cursor:pointer;padding:6px;border-radius:3px}.session-search-input-box .suffix-icon eo-icon:not(.disabled):hover{color:var(--color-info-active)}`,""]);const h=d},9183:(e,t,o)=>{o.d(t,{M:()=>me});var r=o(8769),n=o.n(r),s=o(9126),a=o(6420),i=o(9575),l=o(981);const c=(0,l.wrapBrick)("eo-icon");function p(e){let{role:t,agentId:o}=e;const s=(0,r.useMemo)((()=>"user"===t),[t]),{quickAnswerConfig:l}=(0,a.a)(),p=(0,r.useMemo)((()=>{var e;return null!==(e=null==l?void 0:l.list)&&void 0!==e?e:[]}),[l]),d=(0,r.useMemo)((()=>p.find((e=>e.id===o))),[p,o]);return!s&&d?n().createElement(c,(0,i.A)({className:"avatar"},d.icon,{style:{color:`var(--theme-${d.icon.color}-color)`,background:`var(--theme-${d.icon.color}-background)`}})):n().createElement("div",{className:"avatar "+(s?"user":"robot")})}var d=o(3373),m=o.n(d),u=o(7817);const h=(0,l.wrapBrick)("eo-link");function g(e){let{text:t,prompts:o}=e;return n().createElement("div",{className:"guide-item"},t,n().createElement("div",{className:"prompts-list"},o?o.map(((e,t)=>n().createElement(h,{key:t},e))):null))}var w=o(6960),b=o(4001),f=o(536),v=o(4895),x=o(8880),k=o(8427),y=o(7268),E=o(3319);function A(e){let{text:t}=e;const o=(0,r.useMemo)((()=>t.replace(/\n[`]{0,3}$/,"")),[t]);return n().createElement("div",{className:"progress-text"},o)}const C=(0,r.createContext)({}),N=()=>(0,r.useContext)(C);var S=o(9711);function M(e){let{text:t,language:o}=e;const{commandBricks:s}=(0,a.a)(),{chatting:i,agentId:l,robotId:c,conversationId:p,taskId:d}=N(),{parseData:m,isError:u}=function(e){let{text:t,chatting:o}=e;const n=(0,r.useRef)(""),[s,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),[c,p]=(0,r.useState)();return(0,r.useEffect)((()=>{if(n.current!==t){let e;n.current=t;try{e=JSON.parse(t)}catch{return void l(!0)}p(e)}}),[t]),(0,r.useEffect)((()=>{o?t.match(/\n[`]{0,3}$/)&&a(!0):a(!0)}),[t,o]),{parseData:c,isError:s&&i}}({text:t,chatting:!!i}),h=(0,r.useMemo)((()=>{const e=null==s?void 0:s[o];if(e){const t={data:m,agentId:l,robotId:c,conversationId:p,taskId:d};return{component:n().createElement(S.ReactUseMultipleBricks,{useBrick:e.useBrick,data:t}),...e}}return{component:null,showOriginData:!0}}),[s,o,m,l,c,p,d]);return n().createElement("div",{className:"custom-component-wrapper not-prose"},null!=h&&h.showOriginData?n().createElement(n().Fragment,null,n().createElement("div",{className:"params"},n().createElement("div",{className:"params-tip"},"【原始命令】: "),n().createElement("pre",null,n().createElement("code",null,t))),u?n().createElement("div",{className:"error-tip"},"【执行失败】"):n().createElement(n().Fragment,null,n().createElement("div",{className:"result-tip"},"【执行结果】:"),n().createElement("div",{className:"custom-component"},h.component))):h.component)}var I=o(8695),z=o(4229);const q=(0,l.wrapBrick)("eo-icon"),_={lib:"antd",icon:"copy",theme:"outlined"},P=()=>{const[e,t]=(0,r.useState)(""),{contentRef:o,node:s}=(0,E.e2)(),{commandBricks:l}=(0,a.a)(),[c,p]=I.Ay.useMessage(),d=async()=>{var e;const t=null===(e=s.content.firstChild)||void 0===e?void 0:e.text;try{t&&(await navigator.clipboard.writeText(t),c.success("复制成功"))}catch(e){console.error("Failed to copy: ",e),c.error("复制失败")}},m=(0,r.useMemo)((()=>n().createElement("div",{className:"default-container"},p,n().createElement("pre",{spellCheck:!1},n().createElement("code",{ref:o,style:{position:"relative"}},n().createElement("div",{className:"default-toolbar-container"},n().createElement(z.A,{title:"复制",color:"#474747",arrow:!1},n().createElement(q,(0,i.A)({},_,{onClick:d,style:{cursor:"pointer"}})))))))),[o]),u=(0,r.useMemo)((()=>{var t,o,r;if(null===(t=s.firstChild)||void 0===t||!t.text)return null;const a=null===(o=s.firstChild)||void 0===o?void 0:o.textContent,i=e||(null===(r=s.attrs)||void 0===r?void 0:r.language);return l&&l[i]?n().createElement(M,{text:a,language:i}):"easy_cmd_progress"===i?n().createElement(A,{text:a}):m}),[s,e,m,l]);return(0,r.useEffect)((()=>{if(!e){const{attrs:{language:e}}=s;e&&t(e)}}),[s,e]),u};function R(e){let{text:t}=e;return n().createElement("div",{className:"markdown-item"},n().createElement(b.pb,null,n().createElement(E.vo,null,n().createElement(T,{value:t}))))}function T(e){let{value:t}=e;const o=(0,E.$X)(),s=e=>/<tool_call>(.+)<\/tool_call>/.test(e)?e.replace(/<tool_call>(.+?)<\/tool_call>/g,((e,t)=>`\n\`\`\`easy_cmd_tool_call\n${t}\n\`\`\`\n`)):e,{get:a}=(0,b.hG)((e=>w.KE.make().config((o=>{o.set(w.k,e),o.update(w.QM,(e=>({...e,editable:()=>!1,handleClickOn:(e,t)=>((e,t)=>{const o=e.state.tr.doc.nodeAt(t),r=null==o?void 0:o.marks.find((e=>"link"===e.type.name));if(r){const e=null==r?void 0:r.attrs.href;window.open(e,"_blank")}return!0})(e,t)})));const r=s(t);r&&o.set(w.CI,r),new MutationObserver((()=>{Array.from(e.querySelectorAll("a")).forEach((e=>{e.onclick=()=>!1}))})).observe(e,{childList:!0,subtree:!0})})).config(v.E).use(k.Wj).use(x.Te).use(f.PD).use((0,y.m5)(f.Ay.node,(()=>o({component:P}))))),[]);return(0,r.useEffect)((()=>{if(void 0!==t){var e;const o=s(t);null===(e=a())||void 0===e||e.action((0,y.yh)(o))}}),[a,t]),n().createElement(b.y5,null)}function L(e){let{text:t}=e;return n().createElement("div",{className:"table-item"},t)}function D(e){let{text:t}=e;return n().createElement("div",{className:"text-item"},t)}var B=o(9936),$=o(1921);const O=(0,l.wrapBrick)("eo-icon"),H=(0,l.wrapBrick)("eo-tooltip"),W=(0,B.unwrapProvider)("basic.copy-to-clipboard"),Y=(0,B.unwrapProvider)("basic.show-notification");function F(e){let{role:t,content:o,chatting:s,taskId:i,tag:l}=e;const c=(0,r.useMemo)((()=>"assistant"===t&&"load"!==o.type),[t,o.type]),p=(0,r.useMemo)((()=>"user"===t),[t]),d=(0,r.useMemo)((()=>s),[s]),{showLike:u,chatting:h,showShare:g,readonly:w,handleIsLike:b,setSearchStr:f}=(0,a.a)(),{agentId:v,robotId:x,conversationId:k}=N(),y=(0,r.useCallback)((async e=>{const t=await b(i,e);Y({message:`${e?"点赞":"操作"}${t?"成功":"失败"}`,type:t?"success":"error"})}),[i,b]);return c&&!d?n().createElement("div",{className:"message-toolbar"},u&&!w&&n().createElement(n().Fragment,null,n().createElement(H,{content:"点赞",hoist:!0},n().createElement(O,{className:m()("like",{active:!0===(null==l?void 0:l.isLike)}),lib:"easyops",icon:"like",onClick:()=>y(!0)})),n().createElement(H,{content:"还不够好",hoist:!0},n().createElement(O,{className:m()("unlike",{active:!1===(null==l?void 0:l.isLike)}),lib:"easyops",icon:"unlike",onClick:()=>y(!1)})),n().createElement("div",{className:"split"})),n().createElement(H,{content:"点击复制",hoist:!0},n().createElement(O,{lib:"antd",icon:"copy",onClick:()=>{W(o.text).then((()=>Y({type:"success",message:"复制成功"}))).catch((()=>Y({type:"error",message:"复制失败"})))}})),g&&n().createElement(H,{content:"点击分享",hoist:!0},n().createElement(O,{lib:"antd",icon:"share-alt",onClick:()=>{W(`${location.origin}${(0,$.getBasePath)()}ai-center/share?agentId=${v}&robotId=${x}&conversationId=${k}`).then((()=>Y({type:"success",message:"会话链接已复制到剪贴板"}))).catch((()=>Y({type:"error",message:"会话链接复制失败"})))}}))):w||!p||h?null:n().createElement("div",{className:"message-toolbar"},n().createElement(H,{content:"点击再次提问",hoist:!0},n().createElement(O,{lib:"antd",icon:"edit",onClick:()=>{f(o.text)}})))}var j=o(1916),J=o.n(j);function U(e){let{time:t}=e;return n().createElement("div",{className:"time"},t?"string"==typeof t?t:J()(t).format("YYYY-MM-DD HH:mm:ss"):null)}var X=o(5756),V=o(8679);const K=(0,l.wrapBrick)("eo-icon"),Q=(0,l.wrapBrick)("eo-button"),G=(0,l.wrapBrick)("eo-tag");function Z(e){let{toolCalls:t}=e;const[o,s]=(0,r.useState)(!1),a=(0,r.useMemo)((()=>t.map((e=>{let t,o,{id:r,function:n,response:s}=e;try{t={ok:!0,data:JSON.parse(n.arguments)}}catch{t={ok:!0,data:n.arguments}}if("string"==typeof s){let e;try{e=JSON.parse(s),o={ok:!0,data:e}}catch{o={ok:!0,data:s}}}else o={ok:!1};return{id:r,functionName:n.name,processedArguments:t,processedResponse:o,args:n.arguments,response:s}}))),[t]),i=(0,r.useMemo)((()=>{let e="ok";for(const t of a){if(void 0===t.processedResponse){e="processing";break}!1===t.processedResponse.ok&&(e="failed")}return e}),[a]);return n().createElement("div",{className:"tool-calls"},o?n().createElement(n().Fragment,null,n().createElement("div",{className:"tool-calls-summary"},n().createElement(Q,{type:"ghost",onClick:()=>s(!1)},n().createElement("span",{style:{marginRight:8}},"隐藏工具调用过程"),n().createElement(K,{lib:"fa",prefix:"fas",icon:"chevron-up",className:"tool-calls-summary-toggle"}))),a.map((e=>n().createElement(ee,{id:e.id,key:e.id,functionName:e.functionName,processedArguments:e.processedArguments,processedResponse:e.processedResponse,args:e.args})))):n().createElement("div",{className:"tool-calls-summary",onClick:()=>s(!0)},n().createElement("span",{className:m()("tool-calls-status",i)},"processing"===i?n().createElement(K,{lib:"fa",prefix:"fas",icon:"spinner",spinning:!0}):"ok"===i?n().createElement(K,{lib:"fa",prefix:"far",icon:"circle-check"}):n().createElement(K,{lib:"fa",prefix:"fas",icon:"triangle-exclamation"}),n().createElement("span",null,"processing"===i?"工具调用中":"ok"===i?"工具调用完成":"工具调用失败")),n().createElement(K,{lib:"fa",prefix:"fas",icon:"chevron-down",className:"tool-calls-summary-toggle"})))}function ee(e){var t;let{functionName:o,processedArguments:r,processedResponse:s,args:i}=e;const{toolNames:l}=(0,a.a)();return n().createElement("div",{className:"tool-call"},n().createElement("div",{className:"tool-call-function-name"},n().createElement(K,{lib:"antd",theme:"outlined",icon:"function"}),null!==(t=l.get(o))&&void 0!==t?t:o),n().createElement(G,{outline:!0},"Arguments"),n().createElement("div",{className:m()("tool-call-function-arguments",{failed:!r.ok})},n().createElement("pre",null,n().createElement("code",null,r.ok?te(r.data):i))),s?n().createElement(n().Fragment,null,n().createElement(G,{outline:!0},"Response"),n().createElement("div",{className:m()("tool-call-function-response",{failed:!s.ok})},n().createElement("pre",null,n().createElement("code",null,s.ok?te(s.data):"Failed")))):n().createElement("div",{className:"tool-call-wait-response"},"…"))}function te(e){return(0,V.safeDump)(e,{schema:V.JSON_SCHEMA,skipInvalid:!0,noRefs:!0,noCompatMode:!0})}const oe="no_agent";function re(e){const{content:t,created:o,role:s,agentId:i,type:l,chatting:c,toolCalls:p}=e,d=(0,r.useMemo)((()=>"user"===s),[s]),{quickAnswerConfig:m,showToolCalls:h}=(0,a.a)(),w=(0,r.useCallback)((e=>{const{type:t,text:o,examplePrompts:r}=e;switch(t){case"guide":return n().createElement(g,{text:o,prompts:r});case"text":return n().createElement(D,{text:o});case"table":return n().createElement(L,{text:o});case"load":return n().createElement(u.mc,null);default:return n().createElement(R,{text:o})}}),[]),b=(0,r.useMemo)((()=>w(t)),[t,w]),f=(0,r.useMemo)((()=>{var e;return null!==(e=null==m?void 0:m.list)&&void 0!==e?e:[]}),[m]),v=(0,r.useMemo)((()=>f.find((e=>e.id===i))),[f,i]),x=(0,r.useCallback)((()=>{switch(l){case X.Dq:return n().createElement(n().Fragment,null,n().createElement("div",{className:"message-top"},n().createElement("div",{style:{color:"gray"}},"推荐提问")),n().createElement("div",{className:"message-content"},n().createElement("div",{className:"wrapper"},c?n().createElement("div",{className:"content"},n().createElement(u.mc,null)):n().createElement(n().Fragment,null,b))));case X.vY:default:return n().createElement(n().Fragment,null,n().createElement("div",{className:"message-top"},d?"我":i&&i!==oe&&v?v.name:"AI助手",n().createElement(U,{time:o})),n().createElement("div",{className:"message-content"},n().createElement("div",{className:"wrapper"},h&&null!=p&&p.length?n().createElement(Z,{toolCalls:p}):null,n().createElement("div",{className:"content"},b),n().createElement(F,e))))}}),[l,d,i,v,o,c,b,e,h,p]);return n().createElement(C.Provider,{value:e},n().createElement("div",{className:"message-box"},x()))}const ne=(0,l.wrapBrick)("eo-icon"),se=(0,l.wrapBrick)("eo-link"),ae=85,ie=24;function le(e){let{name:t,description:o,icon:s,starterPrompts:l}=e;const{setSearchStr:c}=(0,a.a)(),p=(0,r.useMemo)((()=>{var e;return null!==(e=null==s?void 0:s.color)&&void 0!==e?e:"geekblue"}),[s]);return n().createElement("div",{className:"quick-answer-card-item",style:{height:ae,background:`linear-gradient(rgba(var(--theme-${p}-color-rgb-channel), 0.1), rgba(var(--theme-${p}-color-rgb-channel), 0.08))`},onClick:()=>{(null==l?void 0:l.length)&&c(l[0])}},n().createElement("div",{className:"left"},n().createElement(ne,(0,i.A)({className:"icon"},null!=s?s:{icon:"default-app",lib:"easyops",category:"app"},{style:{background:`rgba(var(--theme-${p}-color-rgb-channel), 0.5)`}}))),n().createElement("div",{className:"content"},n().createElement("div",{className:"title"},t),n().createElement("div",{className:"description"},o)))}function ce(){var e;const{quickAnswerConfig:t,msgList:o,loading:s}=(0,a.a)(),[l,c]=(0,r.useState)(!1),p=(0,r.useRef)(null),d=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{const e=p.current;if(e){const t=new ResizeObserver((e=>{for(const t of e)t.contentRect.height>3*ae+2*ie?d.current||c(!0):c(!1)}));return t.observe(e),()=>t.disconnect()}}),[l,null==t?void 0:t.list]),null!=t&&t.list.length&&0===o.length&&!s?n().createElement("div",{className:"quick-answer-wrapper"},n().createElement("div",{className:"tip"},null!==(e=t.tip)&&void 0!==e?e:"你好,我是运维数智人 — Murphy,我能为你提供以下服务:"),n().createElement("div",{className:"quick-answer-list",style:{...l?{maxHeight:3*ae+2*ie+10,overflow:"hidden"}:{}},ref:p},t.list.map((e=>n().createElement(le,(0,i.A)({key:e.instanceId},e))))),l?n().createElement("div",{className:"show-more-wrapper"},n().createElement(se,{icon:{lib:"antd",icon:"down"},className:"show-more-btn",onClick:()=>{d.current=!0,c(!1)}},"显示更多")):null):null}const pe=(0,l.wrapBrick)("eo-link");function de(){const{stopChat:e}=(0,a.a)();return n().createElement("div",{className:"stop-responding-wrapper"},n().createElement(pe,{className:"stop-btn",onClick:()=>{e()}},"停止生成"))}function me(e){let{showAvatar:t=!0}=e;const o=(0,r.useRef)(null),i=(0,r.useRef)(null),{msgLoading:l,msgEnd:c,msgList:d,loading:h,chatting:g}=(0,a.a)(),w=(0,r.useCallback)((function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;switch(e.type){case X.Dq:return n().createElement("div",{className:m()("message-item"),style:{marginTop:"-36px",marginLeft:"44px"},key:o},n().createElement(re,e));case X.vY:default:return n().createElement("div",{className:m()("message-item",{user:"user"===e.role}),key:o},t&&n().createElement(p,{role:e.role,agentId:e.agentId}),n().createElement(re,e))}}),[t]),b=(0,r.useMemo)((()=>d.map(((e,t)=>n().createElement(n().Fragment,{key:e.key},e.chatting?n().createElement(n().Fragment,null,w(e,t),g&&t===d.length-1&&e.type!==X.Dq?n().createElement(de,null):null):w(e,t))))),[d,g,w]),[f,v]=(0,r.useState)(!1),x=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{const e=o.current;if(!e)return;const t=()=>{x.current||v(e.scrollTop+e.clientHeight+6<e.scrollHeight)};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}}),[]),(0,r.useEffect)((()=>{const e=i.current,t=o.current;if(f||!e||!t)return;const r=new s.A((()=>{x.current=!0,t.scroll({top:t.scrollHeight}),requestAnimationFrame((()=>{x.current=!1}))}));return r.observe(e),()=>r.disconnect()}),[f]),n().createElement("div",{className:"chat-view",ref:o},n().createElement("div",{className:"message-list",ref:i},n().createElement("div",{className:"message-list-box"},c&&d.length?n().createElement("div",{className:"message-start-tip"},"会话开始"):null,l&&n().createElement(u.g3,null),n().createElement(ce,null),b),h&&n().createElement(u.CA,null)))}}}]);
|
|
2
|
+
//# sourceMappingURL=9415.f88a0ecb.js.map
|