@next-bricks/ai 1.23.13 → 1.23.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/bricks.json +5 -2
  2. package/dist/chunks/{1122.875fef49.js → 1122.0d0eeba0.js} +2 -2
  3. package/dist/chunks/1122.0d0eeba0.js.map +1 -0
  4. package/dist/chunks/{114.4a5c3827.js → 114.31177ce6.js} +2 -2
  5. package/dist/chunks/{114.4a5c3827.js.map → 114.31177ce6.js.map} +1 -1
  6. package/dist/chunks/{1940.ce3d4836.js → 1940.de532591.js} +2 -2
  7. package/dist/chunks/{1940.ce3d4836.js.map → 1940.de532591.js.map} +1 -1
  8. package/dist/chunks/{2277.f1c3d460.js → 2277.33c71f3d.js} +2 -2
  9. package/dist/chunks/{2277.f1c3d460.js.map → 2277.33c71f3d.js.map} +1 -1
  10. package/dist/chunks/2605.45bdb682.js +2 -0
  11. package/dist/chunks/2605.45bdb682.js.map +1 -0
  12. package/dist/chunks/{3171.52c278f7.js → 3171.5ef107e0.js} +2 -2
  13. package/dist/chunks/{3171.52c278f7.js.map → 3171.5ef107e0.js.map} +1 -1
  14. package/dist/chunks/3533.159153f5.js +3 -0
  15. package/dist/chunks/3533.159153f5.js.map +1 -0
  16. package/dist/chunks/{3933.de5e46f7.js → 3933.f8607e06.js} +2 -2
  17. package/dist/chunks/{6314.529e5545.js.map → 3933.f8607e06.js.map} +1 -1
  18. package/dist/chunks/{4658.6a23a499.js → 4658.1f3df89d.js} +2 -2
  19. package/dist/chunks/{4658.6a23a499.js.map → 4658.1f3df89d.js.map} +1 -1
  20. package/dist/chunks/{4837.74abadc0.js → 4837.b37dbb53.js} +2 -2
  21. package/dist/chunks/{4837.74abadc0.js.map → 4837.b37dbb53.js.map} +1 -1
  22. package/dist/chunks/{5399.9d42a7ca.js → 5399.229220b5.js} +2 -2
  23. package/dist/chunks/{5399.9d42a7ca.js.map → 5399.229220b5.js.map} +1 -1
  24. package/dist/chunks/5425.a571701f.js +2 -0
  25. package/dist/chunks/5425.a571701f.js.map +1 -0
  26. package/dist/chunks/{5552.c235863f.js → 5552.afad62dd.js} +2 -2
  27. package/dist/chunks/{5552.c235863f.js.map → 5552.afad62dd.js.map} +1 -1
  28. package/dist/chunks/{5927.249f90a5.js → 5927.8dcd2de1.js} +3 -3
  29. package/dist/chunks/{5927.249f90a5.js.map → 5927.8dcd2de1.js.map} +1 -1
  30. package/dist/chunks/{6314.529e5545.js → 6314.5e44c91c.js} +2 -2
  31. package/dist/chunks/{3933.de5e46f7.js.map → 6314.5e44c91c.js.map} +1 -1
  32. package/dist/chunks/{7218.d4a00b3e.js → 7218.3fa896a1.js} +2 -2
  33. package/dist/chunks/{7218.d4a00b3e.js.map → 7218.3fa896a1.js.map} +1 -1
  34. package/dist/chunks/{7733.a27c4438.js → 7733.06a15fa1.js} +2 -2
  35. package/dist/chunks/{7733.a27c4438.js.map → 7733.06a15fa1.js.map} +1 -1
  36. package/dist/chunks/{9559.bf647ef7.js → 9559.8870b76d.js} +2 -2
  37. package/dist/chunks/{9559.bf647ef7.js.map → 9559.8870b76d.js.map} +1 -1
  38. package/dist/chunks/{chat-agent.b971090f.js → chat-agent.540b41db.js} +2 -2
  39. package/dist/chunks/{chat-agent.b971090f.js.map → chat-agent.540b41db.js.map} +1 -1
  40. package/dist/chunks/chat-view.e5f25597.js +2 -0
  41. package/dist/chunks/chat-view.e5f25597.js.map +1 -0
  42. package/dist/chunks/{main.6e72aca1.js → main.370450eb.js} +2 -2
  43. package/dist/chunks/{main.6e72aca1.js.map → main.370450eb.js.map} +1 -1
  44. package/dist/{index.89d6893a.js → index.fddef8c3.js} +2 -2
  45. package/dist/{index.89d6893a.js.map → index.fddef8c3.js.map} +1 -1
  46. package/dist-types/chat-view/ChatService.d.ts +3 -1
  47. package/dist-types/chat-view/ChatViewContext.d.ts +2 -1
  48. package/dist-types/chat-view/hooks/useChatViewInfo.d.ts +2 -1
  49. package/package.json +4 -4
  50. package/dist/chunks/1122.875fef49.js.map +0 -1
  51. package/dist/chunks/2605.8271284d.js +0 -2
  52. package/dist/chunks/2605.8271284d.js.map +0 -1
  53. package/dist/chunks/3533.8abb32d5.js +0 -3
  54. package/dist/chunks/3533.8abb32d5.js.map +0 -1
  55. package/dist/chunks/5425.108ee571.js +0 -2
  56. package/dist/chunks/5425.108ee571.js.map +0 -1
  57. package/dist/chunks/chat-view.efda5395.js +0 -2
  58. package/dist/chunks/chat-view.efda5395.js.map +0 -1
  59. /package/dist/chunks/{3533.8abb32d5.js.LICENSE.txt → 3533.159153f5.js.LICENSE.txt} +0 -0
  60. /package/dist/chunks/{5927.249f90a5.js.LICENSE.txt → 5927.8dcd2de1.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[5425],{5425:(e,t,s)=>{s.r(t);var n,a=s(918),i=s(6121),r=s(829),o=s(2740),h=s(8769),c=s.n(h),l=s(1929),u=s(4223),d=s(15),g=s(24),p=s(2442),A=s(3830),w=s(205);let k,v,m,I,y,f,L,S,b,M,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z,j,z;s(9583),s(2896),s(3262);const{defineElement:G,property:K,method:V}=(0,l.createDecorators)();function X(e,t){let{agentId:s,robotId:n,sessionId:a,showAvatar:i,showSessionList:r=!0,readonly:o=!1,showLike:h=!0,showShare:l=!0,quickAnswerConfig:u,snippetList:k,enterInterval:v,debug:m=!1,commandBricks:I,answerLanguage:y,inputToolbarBrick:f}=e;const{sessionEnd:L,sessionLoading:S,activeSessionId:b,msgEnd:M,msgLoading:C,msgList:E,sessionList:W,loading:B,chatting:R,searchStr:q,setAgent:T,handleIsLike:x,handleChat:N,stopChat:_,createSession:P,deleteSession:U,checkSession:D,setSearchStr:H,querySessionHistory:O}=(0,p.Fn)({agentId:s,robotId:n,sessionId:a,enterInterval:v,debug:m,answerLanguage:y});return c().createElement(d.t.Provider,{value:{sessionEnd:L,sessionLoading:S,activeSessionId:b,sessionList:W,msgEnd:M,msgLoading:C,msgList:E,chatting:R,loading:B,searchStr:q,showLike:h,showShare:l,readonly:o,quickAnswerConfig:u,snippetList:k,commandBricks:I,setAgent:T,handleIsLike:x,handleChat:N,stopChat:_,createSession:P,deleteSession:U,checkSession:D,setSearchStr:H,querySessionHistory:O}},c().createElement("div",{className:"chat-view-container"},r&&c().createElement("div",{className:"chat-view-selector"},c().createElement(A.Z,null)),c().createElement("div",{className:"chat-view-content"},c().createElement(g.M,{showAvatar:i}),!o&&c().createElement(w.D,{inputToolbarBrick:f,ref:t}))))}const Y=(0,h.forwardRef)(X);let ee;var te=new WeakMap,se=new WeakMap,ne=new WeakMap,ae=new WeakMap,ie=new WeakMap,re=new WeakMap,oe=new WeakMap,he=new WeakMap,ce=new WeakMap,le=new WeakMap,ue=new WeakMap,de=new WeakMap,ge=new WeakMap,pe=new WeakMap,Ae=new WeakMap,we=new WeakMap;class ke extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,te,(k(this),m(this))),(0,a.A)(this,se,(I(this),y(this))),(0,a.A)(this,ne,(f(this),L(this))),(0,a.A)(this,ae,(S(this),b(this))),(0,a.A)(this,ie,(M(this),C(this))),(0,a.A)(this,re,(E(this),W(this))),(0,a.A)(this,oe,(B(this),R(this))),(0,a.A)(this,he,(q(this),T(this))),(0,a.A)(this,ce,(x(this),N(this))),(0,a.A)(this,le,(_(this),P(this))),(0,a.A)(this,ue,(U(this),D(this))),(0,a.A)(this,de,(H(this),O(this))),(0,a.A)(this,ge,(Q(this),$(this))),(0,a.A)(this,pe,(F(this),J(this))),(0,a.A)(this,Ae,(Z(this),j(this))),(0,a.A)(this,we,(z(this),c().createRef()))}get sessionId(){return(0,r.A)(te,this)}set sessionId(e){(0,i.A)(te,this,e)}get agentId(){return(0,r.A)(se,this)}set agentId(e){(0,i.A)(se,this,e)}get robotId(){return(0,r.A)(ne,this)}set robotId(e){(0,i.A)(ne,this,e)}get answerLanguage(){return(0,r.A)(ae,this)}set answerLanguage(e){(0,i.A)(ae,this,e)}get debug(){return(0,r.A)(ie,this)}set debug(e){(0,i.A)(ie,this,e)}get showAvatar(){return(0,r.A)(re,this)}set showAvatar(e){(0,i.A)(re,this,e)}get showSessionList(){return(0,r.A)(oe,this)}set showSessionList(e){(0,i.A)(oe,this,e)}get readonly(){return(0,r.A)(he,this)}set readonly(e){(0,i.A)(he,this,e)}get showLike(){return(0,r.A)(ce,this)}set showLike(e){(0,i.A)(ce,this,e)}get showShare(){return(0,r.A)(le,this)}set showShare(e){(0,i.A)(le,this,e)}get enterInterval(){return(0,r.A)(ue,this)}set enterInterval(e){(0,i.A)(ue,this,e)}get quickAnswerConfig(){return(0,r.A)(de,this)}set quickAnswerConfig(e){(0,i.A)(de,this,e)}get snippetList(){return(0,r.A)(ge,this)}set snippetList(e){(0,i.A)(ge,this,e)}get commandBricks(){return(0,r.A)(pe,this)}set commandBricks(e){(0,i.A)(pe,this,e)}get inputToolbarBrick(){return(0,r.A)(Ae,this)}set inputToolbarBrick(e){(0,i.A)(Ae,this,e)}insertQuestion(e){var t;const{value:s}=e;s&&(null===(t=(0,r.A)(we,this).current)||void 0===t||t.handleInsertQuestion(s))}sendMsg(e){var t;null===(t=(0,r.A)(we,this).current)||void 0===t||t.sendMsg(e)}render(){return c().createElement(Y,{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,quickAnswerConfig:this.quickAnswerConfig,snippetList:this.snippetList,enterInterval:this.enterInterval,commandBricks:this.commandBricks,answerLanguage:this.answerLanguage,inputToolbarBrick:this.inputToolbarBrick,ref:(0,r.A)(we,this)})}}n=ke,({e:[m,I,y,f,L,S,b,M,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z,j,z,k],c:[ee,v]}=(0,o.A)(n,[G("ai.chat-view",{shadowOptions:!1})],[[K(),1,"sessionId"],[K(),1,"agentId"],[K(),1,"robotId"],[K(),1,"answerLanguage"],[K({type:Boolean}),1,"debug"],[K({type:Boolean}),1,"showAvatar"],[K({type:Boolean}),1,"showSessionList"],[K({type:Boolean}),1,"readonly"],[K({type:Boolean}),1,"showLike"],[K({type:Boolean}),1,"showShare"],[K({type:Number}),1,"enterInterval"],[K({attribute:!1}),1,"quickAnswerConfig"],[K({attribute:!1}),1,"snippetList"],[K({attribute:!1}),1,"commandBricks"],[K({attribute:!1}),1,"inputToolbarBrick"],[V(),2,"insertQuestion"],[V(),2,"sendMsg"]],0,void 0,u.ReactNextElement)),v();var ve=s(4635),me=s(6902),Ie=s(2559);function ye(e,t,s){return s((0,Ie.A)(e,t))}var fe,Le=s(6916),Se=s(8896),be=s(356);let Me,Ce,Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He,Oe,Qe,$e;const{defineElement:Fe,property:Je,event:Ze,method:je}=(0,l.createDecorators)(),ze=(0,h.forwardRef)(ot);let Ge;var Ke=new WeakMap,Ve=new WeakMap,Xe=new WeakMap,Ye=new WeakSet,et=new WeakMap,tt=new WeakMap,st=new WeakMap,nt=new WeakMap,at=new WeakMap,it=new WeakMap;class rt extends u.ReactNextElement{constructor(){super(...arguments),(0,ve.A)(this,Ye),(0,a.A)(this,Ke,(Me(this),Ee(this))),(0,a.A)(this,Ve,(We(this),Be(this))),(0,a.A)(this,Xe,(Re(this),qe(this))),(0,a.A)(this,et,(Ne(this),e=>{ye(Ye,this,Te).emit(e)})),(0,a.A)(this,tt,_e(this)),(0,a.A)(this,st,(De(this),e=>{ye(Ye,this,Pe).emit(e)})),(0,a.A)(this,nt,He(this)),(0,a.A)(this,at,($e(this),e=>{ye(Ye,this,Oe).emit(e)})),(0,a.A)(this,it,(0,h.createRef)())}get agentId(){return(0,r.A)(Ke,this)}set agentId(e){(0,i.A)(Ke,this,e)}get conversationId(){return(0,r.A)(Ve,this)}set conversationId(e){(0,i.A)(Ve,this,e)}postMessage(e){var t;return null===(t=(0,r.A)(it,this).current)||void 0===t?void 0:t.postMessage(e)}sendRequest(e,t,s){var n;return null===(n=(0,r.A)(it,this).current)||void 0===n?void 0:n.sendRequest(e,t,s)}newConversation(){var e;null===(e=(0,r.A)(it,this).current)||void 0===e||e.newConversation()}render(){return c().createElement(ze,{ref:(0,r.A)(it,this),agentId:this.agentId,conversationId:this.conversationId,onMessagesUpdate:(0,r.A)(et,this),onBusyChange:(0,r.A)(st,this),onConversationIdChange:(0,r.A)(at,this)})}}function ot(e,t){let{agentId:s,conversationId:n,onMessageChunkPush:a,onMessagesUpdate:i,onBusyChange:r,onConversationIdChange:o}=e;const c=(0,h.useRef)(!1),l=(0,h.useRef)(1),u=(0,h.useRef)(!1),[d,g]=(0,h.useState)(null);(0,h.useEffect)((()=>{g(n??null)}),[n]),(0,h.useEffect)((()=>{c.current&&(null==o||o(d))}),[d,o]);const p=(0,h.useRef)(0),A=(0,h.useCallback)((()=>p.current++),[]),[w,k]=(0,h.useState)([]),v=(0,h.useCallback)((e=>{null==a||a(e),k((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}])}))}),[a]),m=(0,h.useCallback)((async(e,t,s)=>{if(u.current)return null;const n=l.current;let a;const i=async()=>{if(n!==l.current)throw a||(a=new Error("New conversation started")),a},o=A(),h=A();let c=d;null==r||r(u.current=!0);try{null==v||v({key:o,delta:{content:e,role:"user"}});const n=(0,Se.createSSEStream)(new URL(t,`${location.origin}${(0,Le.getBasePath)()}`).toString(),s);await Promise.race([n,new Promise((e=>setTimeout(e,1e3)))]),await i(),null==v||v({key:h,delta:{content:"",role:"assistant"},partial:!0});const a=await n;for await(const e of a)await i(),null==v||v({delta:e.delta,key:h,partial:!0}),e.conversationId&&!c&&g(c=e.conversationId);await i(),k((e=>{const t=e[e.length-1];return null!=t&&t.partial&&(t.partial=!1),[...e]}))}catch(e){if(e&&e===a)throw e;console.error("stream failed:",e),await i(),k((e=>{const t=e[e.length-1];let s=e;return(null==t?void 0:t.key)===h&&(t.content?(t.partial=!1,t.failed=!0):s=e.slice(0,-1)),[...s,{role:"assistant",content:"系统错误",key:A(),failed:!0}]}))}return await i(),null==r||r(u.current=!1),c}),[d,A,r,v]);return(0,h.useImperativeHandle)(t,(()=>({sendRequest:m,postMessage:e=>m(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,input:e,stream:!0,conversationId:d}),headers:{"giraffe-contract-name":"easyops.api.aiops_chat.manage.LLMChatProxy"}}),newConversation(){l.current++,g(null),k((e=>0===e.length?e:[])),u.current&&(null==r||r(u.current=!1))}})),[s,d,r,m]),(0,h.useEffect)((()=>{c.current&&(null==i||i(w))}),[w,i]),(0,h.useEffect)((()=>{c.current=!0}),[]),null}fe=rt,({e:[Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He,Oe,Qe,$e,Me],c:[Ge,Ce]}=(0,o.A)(fe,[Fe("ai.chat-agent",{styleTexts:[be.A]})],[[Je(),1,"agentId"],[Je(),1,"conversationId"],[je(),2,"postMessage"],[je(),2,"sendRequest"],[je(),2,"newConversation"],[Ze({type:"messages.update"}),1,"messagesUpdate",e=>(0,r.A)(Xe,e),(e,t)=>(0,i.A)(Xe,e,t)],[Ze({type:"busy.change"}),1,"busyChangeEvent",e=>(0,r.A)(tt,e),(e,t)=>(0,i.A)(tt,e,t)],[Ze({type:"conversationId.change"}),1,"conversationIdChangeEvent",e=>(0,r.A)(nt,e),(e,t)=>(0,i.A)(nt,e,t)]],0,(e=>it.has((0,me.A)(e))),u.ReactNextElement)),Ce()},356:(e,t,s)=>{s.d(t,{A:()=>o});var n=s(6758),a=s.n(n),i=s(935),r=s.n(i)()(a());r.push([e.id,":host{display:none}",""]);const o=r.toString()}}]);
2
- //# sourceMappingURL=5425.108ee571.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/5425.108ee571.js","mappings":"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","sources":["webpack:///./src/chat-view/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/chat-agent/index.tsx","webpack:///./src/chat-agent/styles.shadow.css"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { 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 } = createDecorators();\n\ntype InputToolbarBrick = { useBrick: UseBrickConf };\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 quickAnswerConfig?: QuickAnswerConfig;\n snippetList?: snippet[];\n enterInterval?: number;\n debug?: boolean;\n commandBricks?: commandBrickConf;\n answerLanguage?: string;\n inputToolbarBrick?: InputToolbarBrick;\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 commandBricks,\n answerLanguage,\n inputToolbarBrick,\n }: ChatViewProps,\n ref: React.Ref<SearchInputRef>\n) {\n const {\n sessionEnd,\n sessionLoading,\n activeSessionId,\n msgEnd,\n msgLoading,\n msgList,\n sessionList,\n loading,\n chatting,\n searchStr,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n } = useChatViewInfo({\n agentId,\n robotId,\n sessionId,\n enterInterval,\n debug,\n answerLanguage,\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 setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\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={ref} />\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 * 输入间隔,设置为 -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 #ref = React.createRef<SearchInputRef>();\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 quickAnswerConfig={this.quickAnswerConfig}\n snippetList={this.snippetList}\n enterInterval={this.enterInterval}\n commandBricks={this.commandBricks}\n answerLanguage={this.answerLanguage}\n inputToolbarBrick={this.inputToolbarBrick}\n ref={this.#ref}\n />\n );\n }\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\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 conversationId?: string;\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 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 conversationId: string | undefined;\n\n @method()\n postMessage(content: string) {\n return this.#ref.current?.postMessage(content);\n }\n\n @method()\n sendRequest(content: string, url: string, options: Options<MessageChunk>) {\n return this.#ref.current?.sendRequest(content, url, options);\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 conversationId={this.conversationId}\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 content: string,\n url: string,\n options: Options<MessageChunk>\n ): Promise<string | null>;\n newConversation(): void;\n}\n\nexport function LegacyChatAgentComponent(\n {\n agentId,\n conversationId: propConversationId,\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 sendRequest = useCallback(\n async (content: string, url: string, options: Options<MessageChunk>) => {\n // Use ref instead of state to handle sync sequential calls.\n if (busyRef.current) {\n return null;\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 = conversationId;\n\n onBusyChange?.((busyRef.current = true));\n\n try {\n pushPartialMessage?.({\n key: userKey,\n delta: {\n content: content,\n role: \"user\",\n },\n });\n const request = createSSEStream<MessageChunk>(\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 pushPartialMessage?.({\n delta: value.delta,\n key: assistantKey,\n partial: true,\n });\n if (value.conversationId && !currentConversationId) {\n setConversationId((currentConversationId = value.conversationId));\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 [conversationId, getMessageChunkKey, onBusyChange, pushPartialMessage]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n sendRequest,\n postMessage(content: string) {\n return sendRequest(\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 input: content,\n stream: true,\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 [agentId, conversationId, onBusyChange, sendRequest]\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","// 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"],"names":["defineElement","property","method","createDecorators","LegacyChatViewComponent","_ref","ref","agentId","robotId","sessionId","showAvatar","showSessionList","readonly","showLike","showShare","quickAnswerConfig","snippetList","enterInterval","debug","commandBricks","answerLanguage","inputToolbarBrick","sessionEnd","sessionLoading","activeSessionId","msgEnd","msgLoading","msgList","sessionList","loading","chatting","searchStr","setAgent","handleIsLike","handleChat","stopChat","createSession","deleteSession","checkSession","setSearchStr","querySessionHistory","useChatViewInfo","React","ChatViewContext","Provider","value","className","SessionList","MessageList","SearchInput","ChatViewComponent","forwardRef","_ChatView","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_ref2","ChatView","ReactNextElement","constructor","arguments","_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_enterInterval","_init_extra_enterInterval","_init_quickAnswerConfig","_init_extra_quickAnswerConfig","_init_snippetList","_init_extra_snippetList","_init_commandBricks","_init_extra_commandBricks","_init_inputToolbarBrick","_init_extra_inputToolbarBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","insertQuestion","args","_classPrivateFieldGet2","this","current","handleInsertQuestion","sendMsg","msg","_classPrivateFieldGet3","render","_ChatView2","e","c","_initClass","_applyDecs","shadowOptions","type","Boolean","Number","attribute","_classPrivateGetter","s","r","a","assertClassBrand","event","ChatAgentComponent","LegacyChatAgentComponent","_ChatAgent","_ChatAgent_brand","WeakSet","_handleMessagesUpdate","_handleBusyChange","_handleConversationIdChange","ChatAgent","_classPrivateMethodInitSpec","_init_conversationId","_init_extra_conversationId","_init_messagesUpdate","_init_extra_messagesUpdate","messages","_get_messagesUpdate","emit","_init_busyChangeEvent","_init_extra_busyChangeEvent","busy","_get_busyChangeEvent","_init_conversationIdChangeEvent","_init_extra_conversationIdChangeEvent","conversationId","_get_conversationIdChangeEvent","createRef","postMessage","content","sendRequest","url","options","newConversation","_classPrivateFieldGet4","onMessagesUpdate","onBusyChange","onConversationIdChange","propConversationId","onMessageChunkPush","didMountRef","useRef","chatIdRef","busyRef","setConversationId","useState","useEffect","counterRef","getMessageChunkKey","useCallback","fullMessages","setFullMessages","pushPartialMessage","chunk","prev","last","length","key","delta","partial","async","thisChatId","newConversationError","checkNewConversation","Error","userKey","assistantKey","currentConversationId","role","request","createSSEStream","URL","location","origin","getBasePath","toString","Promise","race","resolve","setTimeout","stream","error","console","keep","failed","slice","useImperativeHandle","body","JSON","stringify","input","headers","_ChatAgent2","_set_messagesUpdate","_set_busyChangeEvent","_set_conversationIdChangeEvent","styleTexts","styleText","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","id"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[6129],{1943:(e,t,s)=>{s.r(t),s.d(t,{ChatView:()=>ee,ChatViewComponent:()=>$,LegacyChatViewComponent:()=>Y});var i,n=s(918),a=s(6121),r=s(829),h=s(2740),o=s(8769),c=s.n(o),d=s(1929),g=s(4223),u=s(15),w=s(24),l=s(2442),A=s(3830),p=s(205);let k,m,L,v,I,b,S,y,B,M,C,W,E,f,q,T,N,_,x,R,Q,V,D,H,F,O,P,Z,j,z,G,J;s(9583),s(2896),s(3262);const{defineElement:K,property:U,method:X}=(0,d.createDecorators)();function Y(e,t){let{agentId:s,robotId:i,sessionId:n,showAvatar:a,showSessionList:r=!0,readonly:h=!1,showLike:o=!0,showShare:d=!0,quickAnswerConfig:g,snippetList:k,enterInterval:m,debug:L=!1,commandBricks:v,answerLanguage:I,inputToolbarBrick:b}=e;const{sessionEnd:S,sessionLoading:y,activeSessionId:B,msgEnd:M,msgLoading:C,msgList:W,sessionList:E,loading:f,chatting:q,searchStr:T,setAgent:N,handleIsLike:_,handleChat:x,stopChat:R,createSession:Q,deleteSession:V,checkSession:D,setSearchStr:H,querySessionHistory:F}=(0,l.Fn)({agentId:s,robotId:i,sessionId:n,enterInterval:m,debug:L,answerLanguage:I});return c().createElement(u.t.Provider,{value:{sessionEnd:S,sessionLoading:y,activeSessionId:B,sessionList:E,msgEnd:M,msgLoading:C,msgList:W,chatting:q,loading:f,searchStr:T,showLike:o,showShare:d,readonly:h,quickAnswerConfig:g,snippetList:k,commandBricks:v,setAgent:N,handleIsLike:_,handleChat:x,stopChat:R,createSession:Q,deleteSession:V,checkSession:D,setSearchStr:H,querySessionHistory:F}},c().createElement("div",{className:"chat-view-container"},r&&c().createElement("div",{className:"chat-view-selector"},c().createElement(A.Z,null)),c().createElement("div",{className:"chat-view-content"},c().createElement(w.M,{showAvatar:a}),!h&&c().createElement(p.D,{inputToolbarBrick:b,ref:t}))))}const $=(0,o.forwardRef)(Y);let ee;var te=new WeakMap,se=new WeakMap,ie=new WeakMap,ne=new WeakMap,ae=new WeakMap,re=new WeakMap,he=new WeakMap,oe=new WeakMap,ce=new WeakMap,de=new WeakMap,ge=new WeakMap,ue=new WeakMap,we=new WeakMap,le=new WeakMap,Ae=new WeakMap,pe=new WeakMap;class ke extends g.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,te,(k(this),L(this))),(0,n.A)(this,se,(v(this),I(this))),(0,n.A)(this,ie,(b(this),S(this))),(0,n.A)(this,ne,(y(this),B(this))),(0,n.A)(this,ae,(M(this),C(this))),(0,n.A)(this,re,(W(this),E(this))),(0,n.A)(this,he,(f(this),q(this))),(0,n.A)(this,oe,(T(this),N(this))),(0,n.A)(this,ce,(_(this),x(this))),(0,n.A)(this,de,(R(this),Q(this))),(0,n.A)(this,ge,(V(this),D(this))),(0,n.A)(this,ue,(H(this),F(this))),(0,n.A)(this,we,(O(this),P(this))),(0,n.A)(this,le,(Z(this),j(this))),(0,n.A)(this,Ae,(z(this),G(this))),(0,n.A)(this,pe,(J(this),c().createRef()))}get sessionId(){return(0,r.A)(te,this)}set sessionId(e){(0,a.A)(te,this,e)}get agentId(){return(0,r.A)(se,this)}set agentId(e){(0,a.A)(se,this,e)}get robotId(){return(0,r.A)(ie,this)}set robotId(e){(0,a.A)(ie,this,e)}get answerLanguage(){return(0,r.A)(ne,this)}set answerLanguage(e){(0,a.A)(ne,this,e)}get debug(){return(0,r.A)(ae,this)}set debug(e){(0,a.A)(ae,this,e)}get showAvatar(){return(0,r.A)(re,this)}set showAvatar(e){(0,a.A)(re,this,e)}get showSessionList(){return(0,r.A)(he,this)}set showSessionList(e){(0,a.A)(he,this,e)}get readonly(){return(0,r.A)(oe,this)}set readonly(e){(0,a.A)(oe,this,e)}get showLike(){return(0,r.A)(ce,this)}set showLike(e){(0,a.A)(ce,this,e)}get showShare(){return(0,r.A)(de,this)}set showShare(e){(0,a.A)(de,this,e)}get enterInterval(){return(0,r.A)(ge,this)}set enterInterval(e){(0,a.A)(ge,this,e)}get quickAnswerConfig(){return(0,r.A)(ue,this)}set quickAnswerConfig(e){(0,a.A)(ue,this,e)}get snippetList(){return(0,r.A)(we,this)}set snippetList(e){(0,a.A)(we,this,e)}get commandBricks(){return(0,r.A)(le,this)}set commandBricks(e){(0,a.A)(le,this,e)}get inputToolbarBrick(){return(0,r.A)(Ae,this)}set inputToolbarBrick(e){(0,a.A)(Ae,this,e)}insertQuestion(e){var t;const{value:s}=e;s&&(null===(t=(0,r.A)(pe,this).current)||void 0===t||t.handleInsertQuestion(s))}sendMsg(e){var t;null===(t=(0,r.A)(pe,this).current)||void 0===t||t.sendMsg(e)}render(){return c().createElement($,{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,quickAnswerConfig:this.quickAnswerConfig,snippetList:this.snippetList,enterInterval:this.enterInterval,commandBricks:this.commandBricks,answerLanguage:this.answerLanguage,inputToolbarBrick:this.inputToolbarBrick,ref:(0,r.A)(pe,this)})}}i=ke,({e:[L,v,I,b,S,y,B,M,C,W,E,f,q,T,N,_,x,R,Q,V,D,H,F,O,P,Z,j,z,G,J,k],c:[ee,m]}=(0,h.A)(i,[K("ai.chat-view",{shadowOptions:!1})],[[U(),1,"sessionId"],[U(),1,"agentId"],[U(),1,"robotId"],[U(),1,"answerLanguage"],[U({type:Boolean}),1,"debug"],[U({type:Boolean}),1,"showAvatar"],[U({type:Boolean}),1,"showSessionList"],[U({type:Boolean}),1,"readonly"],[U({type:Boolean}),1,"showLike"],[U({type:Boolean}),1,"showShare"],[U({type:Number}),1,"enterInterval"],[U({attribute:!1}),1,"quickAnswerConfig"],[U({attribute:!1}),1,"snippetList"],[U({attribute:!1}),1,"commandBricks"],[U({attribute:!1}),1,"inputToolbarBrick"],[X(),2,"insertQuestion"],[X(),2,"sendMsg"]],0,void 0,g.ReactNextElement)),m()}}]);
2
- //# sourceMappingURL=chat-view.efda5395.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/chat-view.efda5395.js","mappings":"gbAmBA,MAAM,cAAEA,EAAa,SAAEC,EAAQ,OAAEC,IAAWC,EAAAA,EAAAA,oBAsBrC,SAASC,EAAuBC,EAkBrCC,GACA,IAlBA,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,cACbC,EAAa,eACbC,EAAc,kBACdC,GACchB,EAGhB,MAAM,WACJiB,EAAU,eACVC,EAAc,gBACdC,EAAe,OACfC,EAAM,WACNC,EAAU,QACVC,EAAO,YACPC,EAAW,QACXC,EAAO,SACPC,EAAQ,UACRC,EAAS,SACTC,EAAQ,aACRC,EAAY,WACZC,EAAU,SACVC,EAAQ,cACRC,EAAa,cACbC,EAAa,aACbC,EAAY,aACZC,EAAY,oBACZC,IACEC,EAAAA,EAAAA,IAAgB,CAClBlC,UACAC,UACAC,YACAQ,gBACAC,QACAE,mBAEF,OACEsB,IAAAA,cAACC,EAAAA,EAAgBC,SAAQ,CACvBC,MAAO,CACLvB,aACAC,iBACAC,kBACAI,cACAH,SACAC,aACAC,UACAG,WACAD,UACAE,YACAlB,WACAC,YACAF,WACAG,oBACAC,cACAG,gBACAa,WACAC,eACAC,aACAC,WACAC,gBACAC,gBACAC,eACAC,eACAC,wBAGFE,IAAAA,cAAA,OAAKI,UAAU,uBACZnC,GACC+B,IAAAA,cAAA,OAAKI,UAAU,sBACbJ,IAAAA,cAACK,EAAAA,EAAW,OAGhBL,IAAAA,cAAA,OAAKI,UAAU,qBACbJ,IAAAA,cAACM,EAAAA,EAAW,CAACtC,WAAYA,KACvBE,GACA8B,IAAAA,cAACO,EAAAA,EAAW,CAAC5B,kBAAmBA,EAAmBf,IAAKA,MAMpE,CAEO,MAAM4C,GAAoBC,EAAAA,EAAAA,YAAW/C,GAE5C,IAAAgD,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,QAIA,MAAAgB,WAKuBC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAArB,IAAAsB,EAAA,MAAAC,EAAA,SAItCF,EAAAA,EAAAA,GAAA,KAAAnB,IAAAsB,EAAA,MAAAC,EAAA,SAMAJ,EAAAA,EAAAA,GAAA,KAAAlB,IAAAuB,EAAA,MAAAC,EAAA,SAMAN,EAAAA,EAAAA,GAAA,KAAAjB,IAAAwB,EAAA,MAAAC,EAAA,SAMAR,EAAAA,EAAAA,GAAA,KAAAhB,IAAAyB,EAAA,MAAAC,EAAA,SAQAV,EAAAA,EAAAA,GAAA,KAAAf,IAAA0B,EAAA,MAAAC,EAAA,SASAZ,EAAAA,EAAAA,GAAA,KAAAd,IAAA2B,EAAA,MAAAC,EAAA,SASAd,EAAAA,EAAAA,GAAA,KAAAb,IAAA4B,EAAA,MAAAC,EAAA,SAQAhB,EAAAA,EAAAA,GAAA,KAAAZ,IAAA6B,EAAA,MAAAC,EAAA,SASAlB,EAAAA,EAAAA,GAAA,KAAAX,IAAA8B,EAAA,MAAAC,EAAA,SASApB,EAAAA,EAAAA,GAAA,KAAAV,IAAA+B,EAAA,MAAAC,EAAA,SAUAtB,EAAAA,EAAAA,GAAA,KAAAT,IAAAgC,EAAA,MAAAC,EAAA,SAQAxB,EAAAA,EAAAA,GAAA,KAAAR,IAAAiC,EAAA,MAAAC,EAAA,SAQA1B,EAAAA,EAAAA,GAAA,KAAAP,IAAAkC,EAAA,MAAAC,EAAA,SAQA5B,EAAAA,EAAAA,GAAA,KAAAN,IAAAmC,EAAA,MAAAC,EAAA,SAQA9B,EAAAA,EAAAA,GAAA,KAAAL,IAAIoC,EAAA,MAAG/D,IAAAA,aAAkC,cAlHhCjC,GAAS,OAAAiG,EAAAA,EAAAA,GAAArD,GAAA,mBAAT5C,CAASkG,IAAAC,EAAAA,EAAAA,GAAAvD,GAAA,KAAAsD,EAAA,YAMTpG,GAAO,OAAAmG,EAAAA,EAAAA,GAAAnD,GAAA,iBAAPhD,CAAOoG,IAAAC,EAAAA,EAAAA,GAAArD,GAAA,KAAAoD,EAAA,YAMPnG,GAAO,OAAAkG,EAAAA,EAAAA,GAAAlD,GAAA,iBAAPhD,CAAOmG,IAAAC,EAAAA,EAAAA,GAAApD,GAAA,KAAAmD,EAAA,mBAMPvF,GAAc,OAAAsF,EAAAA,EAAAA,GAAAjD,GAAA,wBAAdrC,CAAcuF,IAAAC,EAAAA,EAAAA,GAAAnD,GAAA,KAAAkD,EAAA,UAQdzF,GAAK,OAAAwF,EAAAA,EAAAA,GAAAhD,GAAA,eAALxC,CAAKyF,IAAAC,EAAAA,EAAAA,GAAAlD,GAAA,KAAAiD,EAAA,eASLjG,GAAU,OAAAgG,EAAAA,EAAAA,GAAA/C,GAAA,oBAAVjD,CAAUiG,IAAAC,EAAAA,EAAAA,GAAAjD,GAAA,KAAAgD,EAAA,oBASVhG,GAAe,OAAA+F,EAAAA,EAAAA,GAAA9C,GAAA,yBAAfjD,CAAegG,IAAAC,EAAAA,EAAAA,GAAAhD,GAAA,KAAA+C,EAAA,aAQf/F,GAAQ,OAAA8F,EAAAA,EAAAA,GAAA7C,GAAA,kBAARjD,CAAQ+F,IAAAC,EAAAA,EAAAA,GAAA/C,GAAA,KAAA8C,EAAA,aASR9F,GAAQ,OAAA6F,EAAAA,EAAAA,GAAA5C,GAAA,kBAARjD,CAAQ8F,IAAAC,EAAAA,EAAAA,GAAA9C,GAAA,KAAA6C,EAAA,cASR7F,GAAS,OAAA4F,EAAAA,EAAAA,GAAA3C,GAAA,mBAATjD,CAAS6F,IAAAC,EAAAA,EAAAA,GAAA7C,GAAA,KAAA4C,EAAA,kBAUT1F,GAAa,OAAAyF,EAAAA,EAAAA,GAAA1C,GAAA,uBAAb/C,CAAa0F,IAAAC,EAAAA,EAAAA,GAAA5C,GAAA,KAAA2C,EAAA,sBAQb5F,GAAiB,OAAA2F,EAAAA,EAAAA,GAAAzC,GAAA,2BAAjBlD,CAAiB4F,IAAAC,EAAAA,EAAAA,GAAA3C,GAAA,KAAA0C,EAAA,gBAQjB3F,GAAW,OAAA0F,EAAAA,EAAAA,GAAAxC,GAAA,qBAAXlD,CAAW2F,IAAAC,EAAAA,EAAAA,GAAA1C,GAAA,KAAAyC,EAAA,kBAQXxF,GAAa,OAAAuF,EAAAA,EAAAA,GAAAvC,GAAA,uBAAbhD,CAAawF,IAAAC,EAAAA,EAAAA,GAAAzC,GAAA,KAAAwC,EAAA,sBAQbtF,GAAiB,OAAAqF,EAAAA,EAAAA,GAAAtC,GAAA,2BAAjB/C,CAAiBsF,IAAAC,EAAAA,EAAAA,GAAAxC,GAAA,KAAAuC,EAAA,CAS1BE,cAAAA,CAAeC,GAA+B,IAAAC,EAC5C,MAAM,MAAElE,GAAUiE,EACbjE,IACY,QAAjBkE,GAAAL,EAAAA,EAAAA,GAAKrC,GAAL2C,MAAUC,eAAO,IAAAF,GAAjBA,EAAmBG,qBAAqBrE,GAC1C,CAMAsE,OAAAA,CAAQC,GAA8B,IAAAC,EACnB,QAAjBA,GAAAX,EAAAA,EAAAA,GAAKrC,GAAL2C,MAAUC,eAAO,IAAAI,GAAjBA,EAAmBF,QAAQC,EAC7B,CAEAE,MAAAA,GACE,OACE5E,IAAAA,cAACQ,EAAiB,CAChB3C,QAASyG,KAAKzG,QACdC,QAASwG,KAAKxG,QACdU,MAAO8F,KAAK9F,MACZT,UAAWuG,KAAKvG,UAChBG,SAAUoG,KAAKpG,SACfF,WAAYsG,KAAKtG,WACjBC,gBAAiBqG,KAAKrG,gBACtBE,SAAUmG,KAAKnG,SACfC,UAAWkG,KAAKlG,UAChBC,kBAAmBiG,KAAKjG,kBACxBC,YAAagG,KAAKhG,YAClBC,cAAe+F,KAAK/F,cACpBE,cAAe6F,KAAK7F,cACpBC,eAAgB4F,KAAK5F,eACrBC,kBAAmB2F,KAAK3F,kBACxBf,KAAKoG,EAAAA,EAAAA,GAAKrC,GAAL2C,OAGX,EACDO,EAAAjD,KAAAkD,GAAA5C,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,EAAA9B,GAAA8C,GAAArE,GAAAsE,KAAAC,EAAAA,EAAAA,GAAAJ,EAAA,CApKAvH,EAAc,eAAgB,CAG7B4H,eAAe,KACf,EAEC3H,IAAU,gBAMVA,IAAU,cAMVA,IAAU,cAMVA,IAAU,qBAMVA,EAAS,CACR4H,KAAMC,UACN,YAOD7H,EAAS,CACR4H,KAAMC,UACN,iBAOD7H,EAAS,CACR4H,KAAMC,UACN,sBAMD7H,EAAS,CACR4H,KAAMC,UACN,eAOD7H,EAAS,CACR4H,KAAMC,UACN,eAOD7H,EAAS,CACR4H,KAAMC,UACN,gBAQD7H,EAAS,CACR4H,KAAME,SACN,oBAMD9H,EAAS,CACR+H,WAAW,IACX,wBAMD/H,EAAS,CACR+H,WAAW,IACX,kBAMD/H,EAAS,CACR+H,WAAW,IACX,oBAMD/H,EAAS,CACR+H,WAAW,IACX,wBASD9H,IAAQ,qBAURA,IAAQ,uBApIYqE,EAAAA,mBAAgBmD,G","sources":["webpack:///./src/chat-view/index.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { 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 } = createDecorators();\n\ntype InputToolbarBrick = { useBrick: UseBrickConf };\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 quickAnswerConfig?: QuickAnswerConfig;\n snippetList?: snippet[];\n enterInterval?: number;\n debug?: boolean;\n commandBricks?: commandBrickConf;\n answerLanguage?: string;\n inputToolbarBrick?: InputToolbarBrick;\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 commandBricks,\n answerLanguage,\n inputToolbarBrick,\n }: ChatViewProps,\n ref: React.Ref<SearchInputRef>\n) {\n const {\n sessionEnd,\n sessionLoading,\n activeSessionId,\n msgEnd,\n msgLoading,\n msgList,\n sessionList,\n loading,\n chatting,\n searchStr,\n setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n } = useChatViewInfo({\n agentId,\n robotId,\n sessionId,\n enterInterval,\n debug,\n answerLanguage,\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 setAgent,\n handleIsLike,\n handleChat,\n stopChat,\n createSession,\n deleteSession,\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={ref} />\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 * 输入间隔,设置为 -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 #ref = React.createRef<SearchInputRef>();\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 quickAnswerConfig={this.quickAnswerConfig}\n snippetList={this.snippetList}\n enterInterval={this.enterInterval}\n commandBricks={this.commandBricks}\n answerLanguage={this.answerLanguage}\n inputToolbarBrick={this.inputToolbarBrick}\n ref={this.#ref}\n />\n );\n }\n}\n"],"names":["defineElement","property","method","createDecorators","LegacyChatViewComponent","_ref","ref","agentId","robotId","sessionId","showAvatar","showSessionList","readonly","showLike","showShare","quickAnswerConfig","snippetList","enterInterval","debug","commandBricks","answerLanguage","inputToolbarBrick","sessionEnd","sessionLoading","activeSessionId","msgEnd","msgLoading","msgList","sessionList","loading","chatting","searchStr","setAgent","handleIsLike","handleChat","stopChat","createSession","deleteSession","checkSession","setSearchStr","querySessionHistory","useChatViewInfo","React","ChatViewContext","Provider","value","className","SessionList","MessageList","SearchInput","ChatViewComponent","forwardRef","_ChatView","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_ref2","ChatView","ReactNextElement","constructor","arguments","_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_enterInterval","_init_extra_enterInterval","_init_quickAnswerConfig","_init_extra_quickAnswerConfig","_init_snippetList","_init_extra_snippetList","_init_commandBricks","_init_extra_commandBricks","_init_inputToolbarBrick","_init_extra_inputToolbarBrick","_classPrivateFieldGet","v","_classPrivateFieldSet","insertQuestion","args","_classPrivateFieldGet2","this","current","handleInsertQuestion","sendMsg","msg","_classPrivateFieldGet3","render","_ChatView2","e","c","_initClass","_applyDecs","shadowOptions","type","Boolean","Number","attribute"],"sourceRoot":""}