@next-bricks/ai 1.23.1 → 1.23.2

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 (57) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{1122.d2b1380f.js → 1122.ee6b5e2f.js} +2 -2
  3. package/dist/chunks/{1122.d2b1380f.js.map → 1122.ee6b5e2f.js.map} +1 -1
  4. package/dist/chunks/{114.2e91696a.js → 114.4a5c3827.js} +2 -2
  5. package/dist/chunks/{114.2e91696a.js.map → 114.4a5c3827.js.map} +1 -1
  6. package/dist/chunks/{1940.0a6a901a.js → 1940.ce3d4836.js} +2 -2
  7. package/dist/chunks/{1940.0a6a901a.js.map → 1940.ce3d4836.js.map} +1 -1
  8. package/dist/chunks/{2277.b2ba10a2.js → 2277.f1c3d460.js} +2 -2
  9. package/dist/chunks/{2277.b2ba10a2.js.map → 2277.f1c3d460.js.map} +1 -1
  10. package/dist/chunks/{3171.0ae0608e.js → 3171.ba6c9dab.js} +2 -2
  11. package/dist/chunks/{3171.0ae0608e.js.map → 3171.ba6c9dab.js.map} +1 -1
  12. package/dist/chunks/{3933.bac7b036.js → 3933.2380594b.js} +2 -2
  13. package/dist/chunks/{6314.98d6a714.js.map → 3933.2380594b.js.map} +1 -1
  14. package/dist/chunks/{4658.21c1c49e.js → 4658.6a23a499.js} +2 -2
  15. package/dist/chunks/{4658.21c1c49e.js.map → 4658.6a23a499.js.map} +1 -1
  16. package/dist/chunks/4837.e62a6876.js +2 -0
  17. package/dist/chunks/{4837.c49bac2e.js.map → 4837.e62a6876.js.map} +1 -1
  18. package/dist/chunks/4947.f31fa5da.js +3 -0
  19. package/dist/chunks/4947.f31fa5da.js.map +1 -0
  20. package/dist/chunks/{5425.84dca93e.js → 5425.c7aa237f.js} +2 -2
  21. package/dist/chunks/{5425.84dca93e.js.map → 5425.c7aa237f.js.map} +1 -1
  22. package/dist/chunks/{5552.0612699c.js → 5552.9ed9c51b.js} +2 -2
  23. package/dist/chunks/{5552.0612699c.js.map → 5552.9ed9c51b.js.map} +1 -1
  24. package/dist/chunks/{5927.8dcd2de1.js → 5927.249f90a5.js} +3 -3
  25. package/dist/chunks/{5927.8dcd2de1.js.map → 5927.249f90a5.js.map} +1 -1
  26. package/dist/chunks/{6314.98d6a714.js → 6314.3756cd4b.js} +2 -2
  27. package/dist/chunks/{3933.bac7b036.js.map → 6314.3756cd4b.js.map} +1 -1
  28. package/dist/chunks/7218.c6023276.js +2 -0
  29. package/dist/chunks/{7218.b3963315.js.map → 7218.c6023276.js.map} +1 -1
  30. package/dist/chunks/{7733.1402041d.js → 7733.a27c4438.js} +2 -2
  31. package/dist/chunks/{7733.1402041d.js.map → 7733.a27c4438.js.map} +1 -1
  32. package/dist/chunks/{8997.b768ed95.js → 8997.bc8fd0ff.js} +2 -2
  33. package/dist/chunks/{8997.b768ed95.js.map → 8997.bc8fd0ff.js.map} +1 -1
  34. package/dist/chunks/{9559.0c270879.js → 9559.bf647ef7.js} +2 -2
  35. package/dist/chunks/{9559.0c270879.js.map → 9559.bf647ef7.js.map} +1 -1
  36. package/dist/chunks/chat-agent.0805d371.js +2 -0
  37. package/dist/chunks/{chat-agent.9cbf8526.js.map → chat-agent.0805d371.js.map} +1 -1
  38. package/dist/chunks/{chat-view.d7c40bea.js → chat-view.39305b23.js} +2 -2
  39. package/dist/chunks/{chat-view.d7c40bea.js.map → chat-view.39305b23.js.map} +1 -1
  40. package/dist/chunks/main.b15ec6b5.js +2 -0
  41. package/dist/chunks/{main.06fc9f9f.js.map → main.b15ec6b5.js.map} +1 -1
  42. package/dist/index.3fe34baa.js +2 -0
  43. package/dist/{index.808d0678.js.map → index.3fe34baa.js.map} +1 -1
  44. package/dist-types/chat-view/ChatViewContext.d.ts +0 -3
  45. package/dist-types/chat-view/components/MessageItem/MsgItemContext.d.ts +0 -1
  46. package/dist-types/chat-view/components/utils/calculateAutoSizeStyle.d.ts +0 -1
  47. package/dist-types/chat-view/hooks/useChatViewInfo.d.ts +0 -1
  48. package/package.json +4 -4
  49. package/dist/chunks/4837.c49bac2e.js +0 -2
  50. package/dist/chunks/4947.d8a285a6.js +0 -3
  51. package/dist/chunks/4947.d8a285a6.js.map +0 -1
  52. package/dist/chunks/7218.b3963315.js +0 -2
  53. package/dist/chunks/chat-agent.9cbf8526.js +0 -2
  54. package/dist/chunks/main.06fc9f9f.js +0 -2
  55. package/dist/index.808d0678.js +0 -2
  56. /package/dist/chunks/{4947.d8a285a6.js.LICENSE.txt → 4947.f31fa5da.js.LICENSE.txt} +0 -0
  57. /package/dist/chunks/{5927.8dcd2de1.js.LICENSE.txt → 5927.249f90a5.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
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(5351),u=s(3340),d=s(15),g=s(1465),A=s(2442),w=s(3830),p=s(205);let k,v,m,I,y,f,S,b,M,L,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z;s(9583),s(2896),s(3262);const{defineElement:j,property:z,method:G}=(0,l.createDecorators)();function K(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,enterInterval:k,debug:v=!1,commandBricks:m,answerLanguage:I,inputToolbarBrick:y}=e;const{sessionEnd:f,sessionLoading:S,activeSessionId:b,msgEnd:M,msgLoading:L,msgList:C,sessionList:E,loading:W,chatting:B,searchStr:R,setAgent:q,handleIsLike:T,handleChat:x,stopChat:N,createSession:_,deleteSession:P,checkSession:U,setSearchStr:D,querySessionHistory:H}=(0,A.F)({agentId:s,robotId:n,sessionId:a,enterInterval:k,debug:v,answerLanguage:I});return c().createElement(d.t.Provider,{value:{sessionEnd:f,sessionLoading:S,activeSessionId:b,sessionList:E,msgEnd:M,msgLoading:L,msgList:C,chatting:B,loading:W,searchStr:R,showLike:h,showShare:l,readonly:o,quickAnswerConfig:u,commandBricks:m,setAgent:q,handleIsLike:T,handleChat:x,stopChat:N,createSession:_,deleteSession:P,checkSession:U,setSearchStr:D,querySessionHistory:H}},c().createElement("div",{className:"chat-view-container"},r&&c().createElement("div",{className:"chat-view-selector"},c().createElement(w.Z,null)),c().createElement("div",{className:"chat-view-content"},c().createElement(g.M,{showAvatar:i}),!o&&c().createElement(p.D,{inputToolbarBrick:y,ref:t}))))}const V=(0,h.forwardRef)(K);let X;var Y=new WeakMap,ee=new WeakMap,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;class Ae extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,Y,(k(this),m(this))),(0,a.A)(this,ee,(I(this),y(this))),(0,a.A)(this,te,(f(this),S(this))),(0,a.A)(this,se,(b(this),M(this))),(0,a.A)(this,ne,(L(this),C(this))),(0,a.A)(this,ae,(E(this),W(this))),(0,a.A)(this,ie,(B(this),R(this))),(0,a.A)(this,re,(q(this),T(this))),(0,a.A)(this,oe,(x(this),N(this))),(0,a.A)(this,he,(_(this),P(this))),(0,a.A)(this,ce,(U(this),D(this))),(0,a.A)(this,le,(H(this),O(this))),(0,a.A)(this,ue,(Q(this),$(this))),(0,a.A)(this,de,(F(this),J(this))),(0,a.A)(this,ge,(Z(this),c().createRef()))}get sessionId(){return(0,r.A)(Y,this)}set sessionId(e){(0,i.A)(Y,this,e)}get agentId(){return(0,r.A)(ee,this)}set agentId(e){(0,i.A)(ee,this,e)}get robotId(){return(0,r.A)(te,this)}set robotId(e){(0,i.A)(te,this,e)}get answerLanguage(){return(0,r.A)(se,this)}set answerLanguage(e){(0,i.A)(se,this,e)}get debug(){return(0,r.A)(ne,this)}set debug(e){(0,i.A)(ne,this,e)}get showAvatar(){return(0,r.A)(ae,this)}set showAvatar(e){(0,i.A)(ae,this,e)}get showSessionList(){return(0,r.A)(ie,this)}set showSessionList(e){(0,i.A)(ie,this,e)}get readonly(){return(0,r.A)(re,this)}set readonly(e){(0,i.A)(re,this,e)}get showLike(){return(0,r.A)(oe,this)}set showLike(e){(0,i.A)(oe,this,e)}get showShare(){return(0,r.A)(he,this)}set showShare(e){(0,i.A)(he,this,e)}get enterInterval(){return(0,r.A)(ce,this)}set enterInterval(e){(0,i.A)(ce,this,e)}get quickAnswerConfig(){return(0,r.A)(le,this)}set quickAnswerConfig(e){(0,i.A)(le,this,e)}get commandBricks(){return(0,r.A)(ue,this)}set commandBricks(e){(0,i.A)(ue,this,e)}get inputToolbarBrick(){return(0,r.A)(de,this)}set inputToolbarBrick(e){(0,i.A)(de,this,e)}insertQuestion(e){var t;const{value:s}=e;s&&(null===(t=(0,r.A)(ge,this).current)||void 0===t||t.handleInsertQuestion(s))}sendMsg(e){var t;null===(t=(0,r.A)(ge,this).current)||void 0===t||t.sendMsg(e)}render(){return c().createElement(V,{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,enterInterval:this.enterInterval,commandBricks:this.commandBricks,answerLanguage:this.answerLanguage,inputToolbarBrick:this.inputToolbarBrick,ref:(0,r.A)(ge,this)})}}n=Ae,({e:[m,I,y,f,S,b,M,L,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z,k],c:[X,v]}=(0,o.A)(n,[j("ai.chat-view",{shadowOptions:!1})],[[z(),1,"sessionId"],[z(),1,"agentId"],[z(),1,"robotId"],[z(),1,"answerLanguage"],[z({type:Boolean}),1,"debug"],[z({type:Boolean}),1,"showAvatar"],[z({type:Boolean}),1,"showSessionList"],[z({type:Boolean}),1,"readonly"],[z({type:Boolean}),1,"showLike"],[z({type:Boolean}),1,"showShare"],[z({type:Number}),1,"enterInterval"],[z({attribute:!1}),1,"quickAnswerConfig"],[z({attribute:!1}),1,"commandBricks"],[z({attribute:!1}),1,"inputToolbarBrick"],[G(),2,"insertQuestion"],[G(),2,"sendMsg"]],0,void 0,u.ReactNextElement)),v();var we=s(4635),pe=s(6902),ke=s(2559);function ve(e,t,s){return s((0,ke.A)(e,t))}var me,Ie=s(6003),ye=s(8706),fe=s(356);let Se,be,Me,Le,Ce,Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He;const{defineElement:Oe,property:Qe,event:$e,method:Fe}=(0,l.createDecorators)(),Je=(0,h.forwardRef)(at);let Ze;var je=new WeakMap,ze=new WeakMap,Ge=new WeakMap,Ke=new WeakSet,Ve=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,et=new WeakMap,tt=new WeakMap,st=new WeakMap;class nt extends u.ReactNextElement{constructor(){super(...arguments),(0,we.A)(this,Ke),(0,a.A)(this,je,(Se(this),Me(this))),(0,a.A)(this,ze,(Le(this),Ce(this))),(0,a.A)(this,Ge,(Ee(this),We(this))),(0,a.A)(this,Ve,(qe(this),e=>{ve(Ke,this,Be).emit(e)})),(0,a.A)(this,Xe,Te(this)),(0,a.A)(this,Ye,(_e(this),e=>{ve(Ke,this,xe).emit(e)})),(0,a.A)(this,et,Pe(this)),(0,a.A)(this,tt,(He(this),e=>{ve(Ke,this,Ue).emit(e)})),(0,a.A)(this,st,(0,h.createRef)())}get agentId(){return(0,r.A)(je,this)}set agentId(e){(0,i.A)(je,this,e)}get conversationId(){return(0,r.A)(ze,this)}set conversationId(e){(0,i.A)(ze,this,e)}postMessage(e){var t;return null===(t=(0,r.A)(st,this).current)||void 0===t?void 0:t.postMessage(e)}sendRequest(e,t,s){var n;return null===(n=(0,r.A)(st,this).current)||void 0===n?void 0:n.sendRequest(e,t,s)}newConversation(){var e;null===(e=(0,r.A)(st,this).current)||void 0===e||e.newConversation()}render(){return c().createElement(Je,{ref:(0,r.A)(st,this),agentId:this.agentId,conversationId:this.conversationId,onMessagesUpdate:(0,r.A)(Ve,this),onBusyChange:(0,r.A)(Ye,this),onConversationIdChange:(0,r.A)(tt,this)})}}function at(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 A=(0,h.useRef)(0),w=(0,h.useCallback)((()=>A.current++),[]),[p,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=w(),h=w();let c=d;null==r||r(u.current=!0);try{null==v||v({key:o,delta:{content:e,role:"user"}});const n=(0,ye.createSSEStream)(new URL(t,`${location.origin}${(0,Ie.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:w(),failed:!0}]}))}return await i(),null==r||r(u.current=!1),c}),[d,w,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(p))}),[p,i]),(0,h.useEffect)((()=>{c.current=!0}),[]),null}me=nt,({e:[Me,Le,Ce,Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He,Se],c:[Ze,be]}=(0,o.A)(me,[Oe("ai.chat-agent",{styleTexts:[fe.A]})],[[Qe(),1,"agentId"],[Qe(),1,"conversationId"],[Fe(),2,"postMessage"],[Fe(),2,"sendRequest"],[Fe(),2,"newConversation"],[$e({type:"messages.update"}),1,"messagesUpdate",e=>(0,r.A)(Ge,e),(e,t)=>(0,i.A)(Ge,e,t)],[$e({type:"busy.change"}),1,"busyChangeEvent",e=>(0,r.A)(Xe,e),(e,t)=>(0,i.A)(Xe,e,t)],[$e({type:"conversationId.change"}),1,"conversationIdChangeEvent",e=>(0,r.A)(et,e),(e,t)=>(0,i.A)(et,e,t)]],0,(e=>st.has((0,pe.A)(e))),u.ReactNextElement)),be()},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.84dca93e.js.map
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(1465),A=s(2442),w=s(3830),p=s(205);let k,v,m,I,y,f,S,b,M,L,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z;s(9583),s(2896),s(3262);const{defineElement:j,property:z,method:G}=(0,l.createDecorators)();function K(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,enterInterval:k,debug:v=!1,commandBricks:m,answerLanguage:I,inputToolbarBrick:y}=e;const{sessionEnd:f,sessionLoading:S,activeSessionId:b,msgEnd:M,msgLoading:L,msgList:C,sessionList:E,loading:W,chatting:B,searchStr:R,setAgent:q,handleIsLike:T,handleChat:x,stopChat:N,createSession:_,deleteSession:P,checkSession:U,setSearchStr:D,querySessionHistory:H}=(0,A.F)({agentId:s,robotId:n,sessionId:a,enterInterval:k,debug:v,answerLanguage:I});return c().createElement(d.t.Provider,{value:{sessionEnd:f,sessionLoading:S,activeSessionId:b,sessionList:E,msgEnd:M,msgLoading:L,msgList:C,chatting:B,loading:W,searchStr:R,showLike:h,showShare:l,readonly:o,quickAnswerConfig:u,commandBricks:m,setAgent:q,handleIsLike:T,handleChat:x,stopChat:N,createSession:_,deleteSession:P,checkSession:U,setSearchStr:D,querySessionHistory:H}},c().createElement("div",{className:"chat-view-container"},r&&c().createElement("div",{className:"chat-view-selector"},c().createElement(w.Z,null)),c().createElement("div",{className:"chat-view-content"},c().createElement(g.M,{showAvatar:i}),!o&&c().createElement(p.D,{inputToolbarBrick:y,ref:t}))))}const V=(0,h.forwardRef)(K);let X;var Y=new WeakMap,ee=new WeakMap,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;class Ae extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,Y,(k(this),m(this))),(0,a.A)(this,ee,(I(this),y(this))),(0,a.A)(this,te,(f(this),S(this))),(0,a.A)(this,se,(b(this),M(this))),(0,a.A)(this,ne,(L(this),C(this))),(0,a.A)(this,ae,(E(this),W(this))),(0,a.A)(this,ie,(B(this),R(this))),(0,a.A)(this,re,(q(this),T(this))),(0,a.A)(this,oe,(x(this),N(this))),(0,a.A)(this,he,(_(this),P(this))),(0,a.A)(this,ce,(U(this),D(this))),(0,a.A)(this,le,(H(this),O(this))),(0,a.A)(this,ue,(Q(this),$(this))),(0,a.A)(this,de,(F(this),J(this))),(0,a.A)(this,ge,(Z(this),c().createRef()))}get sessionId(){return(0,r.A)(Y,this)}set sessionId(e){(0,i.A)(Y,this,e)}get agentId(){return(0,r.A)(ee,this)}set agentId(e){(0,i.A)(ee,this,e)}get robotId(){return(0,r.A)(te,this)}set robotId(e){(0,i.A)(te,this,e)}get answerLanguage(){return(0,r.A)(se,this)}set answerLanguage(e){(0,i.A)(se,this,e)}get debug(){return(0,r.A)(ne,this)}set debug(e){(0,i.A)(ne,this,e)}get showAvatar(){return(0,r.A)(ae,this)}set showAvatar(e){(0,i.A)(ae,this,e)}get showSessionList(){return(0,r.A)(ie,this)}set showSessionList(e){(0,i.A)(ie,this,e)}get readonly(){return(0,r.A)(re,this)}set readonly(e){(0,i.A)(re,this,e)}get showLike(){return(0,r.A)(oe,this)}set showLike(e){(0,i.A)(oe,this,e)}get showShare(){return(0,r.A)(he,this)}set showShare(e){(0,i.A)(he,this,e)}get enterInterval(){return(0,r.A)(ce,this)}set enterInterval(e){(0,i.A)(ce,this,e)}get quickAnswerConfig(){return(0,r.A)(le,this)}set quickAnswerConfig(e){(0,i.A)(le,this,e)}get commandBricks(){return(0,r.A)(ue,this)}set commandBricks(e){(0,i.A)(ue,this,e)}get inputToolbarBrick(){return(0,r.A)(de,this)}set inputToolbarBrick(e){(0,i.A)(de,this,e)}insertQuestion(e){var t;const{value:s}=e;s&&(null===(t=(0,r.A)(ge,this).current)||void 0===t||t.handleInsertQuestion(s))}sendMsg(e){var t;null===(t=(0,r.A)(ge,this).current)||void 0===t||t.sendMsg(e)}render(){return c().createElement(V,{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,enterInterval:this.enterInterval,commandBricks:this.commandBricks,answerLanguage:this.answerLanguage,inputToolbarBrick:this.inputToolbarBrick,ref:(0,r.A)(ge,this)})}}n=Ae,({e:[m,I,y,f,S,b,M,L,C,E,W,B,R,q,T,x,N,_,P,U,D,H,O,Q,$,F,J,Z,k],c:[X,v]}=(0,o.A)(n,[j("ai.chat-view",{shadowOptions:!1})],[[z(),1,"sessionId"],[z(),1,"agentId"],[z(),1,"robotId"],[z(),1,"answerLanguage"],[z({type:Boolean}),1,"debug"],[z({type:Boolean}),1,"showAvatar"],[z({type:Boolean}),1,"showSessionList"],[z({type:Boolean}),1,"readonly"],[z({type:Boolean}),1,"showLike"],[z({type:Boolean}),1,"showShare"],[z({type:Number}),1,"enterInterval"],[z({attribute:!1}),1,"quickAnswerConfig"],[z({attribute:!1}),1,"commandBricks"],[z({attribute:!1}),1,"inputToolbarBrick"],[G(),2,"insertQuestion"],[G(),2,"sendMsg"]],0,void 0,u.ReactNextElement)),v();var we=s(4635),pe=s(6902),ke=s(2559);function ve(e,t,s){return s((0,ke.A)(e,t))}var me,Ie=s(941),ye=s(3453),fe=s(356);let Se,be,Me,Le,Ce,Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He;const{defineElement:Oe,property:Qe,event:$e,method:Fe}=(0,l.createDecorators)(),Je=(0,h.forwardRef)(at);let Ze;var je=new WeakMap,ze=new WeakMap,Ge=new WeakMap,Ke=new WeakSet,Ve=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,et=new WeakMap,tt=new WeakMap,st=new WeakMap;class nt extends u.ReactNextElement{constructor(){super(...arguments),(0,we.A)(this,Ke),(0,a.A)(this,je,(Se(this),Me(this))),(0,a.A)(this,ze,(Le(this),Ce(this))),(0,a.A)(this,Ge,(Ee(this),We(this))),(0,a.A)(this,Ve,(qe(this),e=>{ve(Ke,this,Be).emit(e)})),(0,a.A)(this,Xe,Te(this)),(0,a.A)(this,Ye,(_e(this),e=>{ve(Ke,this,xe).emit(e)})),(0,a.A)(this,et,Pe(this)),(0,a.A)(this,tt,(He(this),e=>{ve(Ke,this,Ue).emit(e)})),(0,a.A)(this,st,(0,h.createRef)())}get agentId(){return(0,r.A)(je,this)}set agentId(e){(0,i.A)(je,this,e)}get conversationId(){return(0,r.A)(ze,this)}set conversationId(e){(0,i.A)(ze,this,e)}postMessage(e){var t;return null===(t=(0,r.A)(st,this).current)||void 0===t?void 0:t.postMessage(e)}sendRequest(e,t,s){var n;return null===(n=(0,r.A)(st,this).current)||void 0===n?void 0:n.sendRequest(e,t,s)}newConversation(){var e;null===(e=(0,r.A)(st,this).current)||void 0===e||e.newConversation()}render(){return c().createElement(Je,{ref:(0,r.A)(st,this),agentId:this.agentId,conversationId:this.conversationId,onMessagesUpdate:(0,r.A)(Ve,this),onBusyChange:(0,r.A)(Ye,this),onConversationIdChange:(0,r.A)(tt,this)})}}function at(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 A=(0,h.useRef)(0),w=(0,h.useCallback)((()=>A.current++),[]),[p,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=w(),h=w();let c=d;null==r||r(u.current=!0);try{null==v||v({key:o,delta:{content:e,role:"user"}});const n=(0,ye.createSSEStream)(new URL(t,`${location.origin}${(0,Ie.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:w(),failed:!0}]}))}return await i(),null==r||r(u.current=!1),c}),[d,w,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(p))}),[p,i]),(0,h.useEffect)((()=>{c.current=!0}),[]),null}me=nt,({e:[Me,Le,Ce,Ee,We,Be,Re,qe,Te,xe,Ne,_e,Pe,Ue,De,He,Se],c:[Ze,be]}=(0,o.A)(me,[Oe("ai.chat-agent",{styleTexts:[fe.A]})],[[Qe(),1,"agentId"],[Qe(),1,"conversationId"],[Fe(),2,"postMessage"],[Fe(),2,"sendRequest"],[Fe(),2,"newConversation"],[$e({type:"messages.update"}),1,"messagesUpdate",e=>(0,r.A)(Ge,e),(e,t)=>(0,i.A)(Ge,e,t)],[$e({type:"busy.change"}),1,"busyChangeEvent",e=>(0,r.A)(Xe,e),(e,t)=>(0,i.A)(Xe,e,t)],[$e({type:"conversationId.change"}),1,"conversationIdChangeEvent",e=>(0,r.A)(et,e),(e,t)=>(0,i.A)(et,e,t)]],0,(e=>st.has((0,pe.A)(e))),u.ReactNextElement)),be()},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.c7aa237f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5425.84dca93e.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 { ChatViewContext, QuickAnswerConfig } 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 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 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 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 * 输入间隔\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 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 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","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","_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_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
+ {"version":3,"file":"chunks/5425.c7aa237f.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 { ChatViewContext, QuickAnswerConfig } 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 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 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 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 * 输入间隔\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 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 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","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","_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_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 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[5552,3171],{5552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>c});var i=t(2350),s=t(8113),r=t(7072);let a=!1;const o=new Set;function c(e,n){if(a||(a=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var u=t(8706);function l(e){if(!e)return;const n=s.i18n.language??"zh-CN";if((0,u.hasOwnProperty)(e,n))return e[n];const t=n.split("-")[0];if(t!==n)return(0,u.hasOwnProperty)(e,t)?e[t]:void 0;const i=`${t}-`;for(const n of Object.keys(e))if(n.startsWith(i))return e[n]}const p=i.default}}]);
2
- //# sourceMappingURL=5552.0612699c.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai=globalThis.webpackChunk_next_bricks_ai||[]).push([[5552,3171],{5552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>c});var i=t(2350),s=t(7472),r=t(7072);let a=!1;const o=new Set;function c(e,n){if(a||(a=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var u=t(3453);function l(e){if(!e)return;const n=s.i18n.language??"zh-CN";if((0,u.hasOwnProperty)(e,n))return e[n];const t=n.split("-")[0];if(t!==n)return(0,u.hasOwnProperty)(e,t)?e[t]:void 0;const i=`${t}-`;for(const n of Object.keys(e))if(n.startsWith(i))return e[n]}const p=i.default}}]);
2
+ //# sourceMappingURL=5552.9ed9c51b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5552.0612699c.js","mappings":"oOAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,cCjCO,SAASO,EAASC,GACvB,IAAKA,EACH,OAEF,MAAMC,EAAW,EAAArB,KAAKqB,UAAY,QAElC,IAAI,IAAAC,gBAAeF,EAAMC,GACvB,OAAOD,EAAKC,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeF,EAAMG,GAAmBH,EAAKG,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOX,OAAOY,KAAKR,GAC5B,GAAIO,EAAIE,WAAWH,GACjB,OAAON,EAAKO,EAGlB,CC1BO,MAAM3B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n if (!data) {\n return;\n }\n const language = i18n.language ?? \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5552.9ed9c51b.js","mappings":"oOAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,cCjCO,SAASO,EAASC,GACvB,IAAKA,EACH,OAEF,MAAMC,EAAW,EAAArB,KAAKqB,UAAY,QAElC,IAAI,IAAAC,gBAAeF,EAAMC,GACvB,OAAOD,EAAKC,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeF,EAAMG,GAAmBH,EAAKG,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOX,OAAOY,KAAKR,GAC5B,GAAIO,EAAIE,WAAWH,GACjB,OAAON,EAAKO,EAGlB,CC1BO,MAAM3B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n if (!data) {\n return;\n }\n const language = i18n.language ?? \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}