@next-bricks/advanced 0.31.0 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +2 -12
- package/dist/chunks/5114.810601d4.js +2 -0
- package/dist/chunks/5114.810601d4.js.map +1 -0
- package/dist/chunks/main.ec1e0fe2.js +2 -0
- package/dist/chunks/main.ec1e0fe2.js.map +1 -0
- package/dist/index.a1c6dbb6.js +2 -0
- package/dist/index.a1c6dbb6.js.map +1 -0
- package/dist/manifest.json +0 -42
- package/dist/types.json +0 -48
- package/dist-types/bootstrap.d.ts +0 -1
- package/package.json +2 -2
- package/dist/chunks/513.012e9518.js +0 -2
- package/dist/chunks/513.012e9518.js.map +0 -1
- package/dist/chunks/9542.578ac7bc.js +0 -2
- package/dist/chunks/9542.578ac7bc.js.map +0 -1
- package/dist/chunks/chat-view.388265e8.js +0 -3
- package/dist/chunks/chat-view.388265e8.js.LICENSE.txt +0 -5
- package/dist/chunks/chat-view.388265e8.js.map +0 -1
- package/dist/chunks/main.83536f21.js +0 -2
- package/dist/chunks/main.83536f21.js.map +0 -1
- package/dist/index.418bc8fa.js +0 -2
- package/dist/index.418bc8fa.js.map +0 -1
- package/dist-types/chat-view/ChatService.d.ts +0 -30
- package/dist-types/chat-view/ChatViewContext.d.ts +0 -36
- package/dist-types/chat-view/components/ChatViewToolbar.d.ts +0 -2
- package/dist-types/chat-view/components/MessageItem/Avatar.d.ts +0 -5
- package/dist-types/chat-view/components/MessageItem/ContentTip.d.ts +0 -3
- package/dist-types/chat-view/components/MessageItem/GuideItem.d.ts +0 -7
- package/dist-types/chat-view/components/MessageItem/Loading.d.ts +0 -4
- package/dist-types/chat-view/components/MessageItem/MarkdownItem.d.ts +0 -6
- package/dist-types/chat-view/components/MessageItem/TableItem.d.ts +0 -6
- package/dist-types/chat-view/components/MessageItem/TextItem.d.ts +0 -6
- package/dist-types/chat-view/components/MessageItem/Time.d.ts +0 -4
- package/dist-types/chat-view/components/MessageItem/Toolbar.d.ts +0 -3
- package/dist-types/chat-view/components/MessageItem/index.d.ts +0 -3
- package/dist-types/chat-view/components/MessageList.d.ts +0 -6
- package/dist-types/chat-view/components/SearchInput.d.ts +0 -2
- package/dist-types/chat-view/components/SessionList.d.ts +0 -2
- package/dist-types/chat-view/components/utils/calculateAutoSizeStyle.d.ts +0 -8
- package/dist-types/chat-view/hooks/useChatViewInfo.d.ts +0 -16
- package/dist-types/chat-view/index.d.ts +0 -42
- package/dist-types/chat-view/index.spec.d.ts +0 -1
- package/dist-types/chat-view/mockList.d.ts +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_advanced=self.webpackChunk_next_bricks_advanced||[]).push([[9542],{10015:(e,t,n)=>{n.d(t,{a:()=>s,t:()=>o});var a=n(18769),o=(0,a.createContext)({}),s=()=>(0,a.useContext)(o)},87883:(e,t,n)=>{n.d(t,{v:()=>l});var a=n(18769),o=n.n(a),s=n(39938),i=n(5530),r=(0,s.wrapBrick)("eo-icon"),c=(0,s.wrapBrick)("eo-tooltip");function l(){return o().createElement("div",{className:"chat-view-toolbar"},o().createElement("div",{className:"username"},"AI助手"),o().createElement("div",{className:"toolbar"},o().createElement(c,{content:"跳转至 AI-Center"},o().createElement(r,{lib:"fa",icon:"external-link-alt",onClick:()=>{(0,i.getHistory)().push("/ai-center")}}))))}},6994:(e,t,n)=>{n.d(t,{M:()=>B});var a=n(69740),o=n(18769),s=n.n(o),i=n(10015),r=n(39938),c=(0,r.wrapBrick)("eo-icon");function l(e){var{role:t}=e;return(0,o.useMemo)((()=>"user"===t),[t])?s().createElement(c,{className:"avatar",lib:"easyops",icon:"user-avatar",category:"colored-common"}):s().createElement(c,{className:"avatar",lib:"easyops",icon:"robot-avatar",category:"colored-common"})}var d=n(53373),m=n.n(d),u=(0,r.wrapBrick)("eo-icon");function p(e){var{loading:t}=e;return t?s().createElement("div",{className:"loading-wrapper"},s().createElement(u,{lib:"antd",icon:"loading",spinning:!0})):null}var g=(0,r.wrapBrick)("eo-link");function v(e){var{text:t,prompts:n}=e;return s().createElement("div",{className:"guide-item"},t,s().createElement("div",{className:"prompts-list"},n?n.map(((e,t)=>s().createElement(g,{key:t},e))):null))}var x=(0,r.wrapBrick)("eo-markdown-editor");function b(e){var{text:t}=e;return s().createElement("div",{className:"markdown-item"},s().createElement(x,{key:0,containerStyle:{border:"none",background:"inherit"},readonly:!0,value:t}))}var h=n(89575),f=(0,r.wrapBrick)("eo-next-table");function w(e){var{text:t}=e,n=(0,o.useMemo)((()=>{var e;try{e=JSON.parse(t)}catch(t){e={}}return e}),[t]);return s().createElement("div",{className:"table-item"},s().createElement(f,(0,h.A)({pagination:!1},n)))}function y(e){var{text:t}=e;return s().createElement("div",{className:"text-item"},t)}var E=n(52681),S=(0,r.wrapBrick)("eo-icon"),k=(0,r.wrapBrick)("eo-tooltip"),N=(0,E.unwrapProvider)("basic.copy-to-clipboard"),C=(0,E.unwrapProvider)("basic.show-notification");function A(e){var{role:t,content:n,chatting:a}=e,r=(0,o.useMemo)((()=>"assistant"===t&&!(null!=n&&n.find((e=>"load"===e.type)))),[t,n]),c=(0,o.useMemo)((()=>a),[a]),{showLike:l}=(0,i.a)();return r&&!c?s().createElement("div",{className:"toolbar"},l&&s().createElement(s().Fragment,null,s().createElement(k,{content:"点赞"},s().createElement(S,{lib:"antd",icon:"like",theme:"filled"})),s().createElement(k,{content:"还不够好"},s().createElement(S,{lib:"antd",icon:"dislike",theme:"filled"}))),s().createElement(k,{content:"点击复制"},s().createElement(S,{lib:"antd",icon:"copy",onClick:()=>{var e=n.map((e=>e.text)).toString();N(e).then((()=>C({type:"success",message:"复制成功"}))).catch((()=>C({type:"error",message:"复制失败"})))}}))):null}var M=n(6238),T=n.n(M);function I(e){var{time:t}=e;return s().createElement("div",{className:"time"},t?"string"==typeof t?t:T()(1e3*t).format("YYYY-MM-DD HH:mm:ss"):null)}var H=(0,r.wrapBrick)("eo-tooltip"),O=(0,r.wrapBrick)("eo-icon");function P(e){var{role:t,content:n}=e,a=(0,o.useMemo)((()=>"user"===t),[t]),{chartting:r,setSearchStr:c}=(0,i.a)();return a&&!r?s().createElement("div",{className:"content-tip"},s().createElement(H,{content:"点击再次提问"},s().createElement(O,{lib:"antd",icon:"edit",onClick:()=>{c(n.map((e=>e.text)).toString())}}))):null}function j(e){var{content:t,ctime:n,role:a}=e,i=(0,o.useMemo)((()=>"user"===a),[a]),r=(0,o.useCallback)(((e,t)=>{var{type:n,text:a,examplePrompts:o}=e;switch(n){case"guide":return s().createElement(v,{key:t,text:a,prompts:o});case"markdown":return s().createElement(b,{key:t,text:a});case"table":return s().createElement(w,{key:t,text:a});case"load":return s().createElement(p,{loading:!0});default:return s().createElement(y,{key:t,text:a})}}),[]),c=(0,o.useMemo)((()=>t.map(r)),[t,r]);return s().createElement("div",{className:"message-box"},s().createElement("div",{className:"message-top"},i?"我":"AI助手",s().createElement(I,{time:n})),s().createElement("div",{className:"message-content"},s().createElement("div",{className:"content"},c,s().createElement(P,e))),s().createElement("div",{className:m()("message-bottom",a)},s().createElement("div",{className:"message-toolbar"},s().createElement(A,e))))}var R=80;function B(e){var{showAvatar:t=!0}=e,n=(0,o.useRef)(null),r=(0,o.useRef)(null),[c,d]=(0,o.useState)(0),{msgList:u,msgItem:g,loading:v,chartting:x}=(0,i.a)(),b=(0,o.useCallback)((function(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return s().createElement("div",{className:m()("message-item",{user:"user"===e.role}),key:null!==(n=e.ctime)&&void 0!==n?n:a},t&&s().createElement(l,{role:e.role}),s().createElement(j,e))}),[t]),h=(0,o.useMemo)((()=>u.length?u.map(b):null),[u,b]),f=(0,o.useMemo)((()=>g?b((0,a.A)((0,a.A)({},g),{},{chatting:!0})):null),[g,b]);return(0,o.useEffect)((()=>{var e=r.current;if(e){var t=new ResizeObserver((e=>{var t=0;for(var a of e)t=a.contentRect.height-R;t>c&&!v&&!x&&(n.current.scroll({top:Number.MAX_SAFE_INTEGER}),d(t)),t>c&&x&&(n.current.scroll({top:Number.MAX_SAFE_INTEGER}),d(Math.max(c,t)))}));return t.observe(e),()=>t.disconnect()}}),[x,v,c]),s().createElement("div",{className:"message-list",ref:n},s().createElement("div",{className:"message-list-box",ref:r},h,f),s().createElement(p,{loading:v}))}},60205:(e,t,n)=>{n.d(t,{D:()=>v});var a,o=n(69740),s=n(18769),i=n.n(s),r=n(39938),c="\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n padding: 10px !important;\n pointer-events: none !important;\n",l=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],d=n(53373),m=n.n(d),u=n(10015),p=(0,r.wrapBrick)("eo-tooltip"),g=(0,r.wrapBrick)("eo-icon");function v(){var[e,t]=(0,s.useState)(""),[n,r]=(0,s.useState)(!1),[d,v]=(0,s.useState)(!1),[x,b]=(0,s.useState)(),[h,f]=(0,s.useState)(!1),w=(0,s.useRef)(null),y=(0,s.useRef)(null),E=(0,s.useRef)(!1),{chartting:S,loading:k,searchStr:N,setSearchStr:C,handleChat:A}=(0,u.a)(),M=(0,s.useMemo)((()=>!!e),[e]),T=(0,s.useMemo)((()=>[1,5]),[]),I=(0,s.useMemo)((()=>k||S),[S,k]),H=(0,s.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;if(!E.current||!d){var t=y.current;if(t){var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;a||((a=document.createElement("textarea")).setAttribute("tab-index","-1"),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=window.getComputedStyle(e),s=l.map((e=>"".concat(e,":").concat(o.getPropertyValue(e)))).join(";");a.setAttribute("style","".concat(s,";").concat(c)),a.value=e.value||e.placeholder||"";var i=void 0,r=void 0,d=a.scrollHeight-20+2;if(null!==t||null!==n){a.value=" ";var m=a.scrollHeight-20;null!==t&&(i=m*t-20+2,d=Math.max(20,d)),null!==n&&(r=m*n-20+2,d=Math.min(r,d))}var u={height:d,overflowY:"scroll",resize:"none"};return i&&(u.minHeight=i),r&&(u.maxHeight=r),u}(t,e[0],e[1]);b(n)}E.current=d}}),[T,d]),O=(0,s.useCallback)((e=>{var n="string"==typeof e?e:e.target.value;t(n),y.current.value=n}),[]),P=(0,s.useCallback)((()=>{v((e=>!e))}),[]),j=(0,s.useCallback)((()=>{M&&y.current&&!I&&(A(e),r(!1),v(!1),O(""),y.current.blur())}),[e,M,I,A,O]),R=(0,s.useCallback)((e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),j())}),[j]);return(0,s.useEffect)((()=>{N&&(O(N),C(""))}),[N,I,C,O]),(0,s.useEffect)((()=>{H(d?[20,20]:void 0)}),[e,d,H]),(0,s.useEffect)((()=>{var e=w.current;if(e){var t=new ResizeObserver((()=>{var{width:t}=e.getBoundingClientRect(),{width:n}=e.parentElement.parentElement.getBoundingClientRect();f(t===n)}));return t.observe(e),()=>{t.disconnect()}}}),[]),i().createElement("div",{className:m()("search-input-box",{"fill-content":h}),ref:w},i().createElement("div",{className:m()("input-box",{active:n,disabled:I,expand:d})},i().createElement("textarea",{value:e,ref:y,style:(0,o.A)((0,o.A)({},x),{},{paddingRight:d?"50px":"140px"}),placeholder:"提出你的想法...",onFocus:()=>r(!0),onBlur:()=>r(!1),onChange:O,onKeyDown:R}),i().createElement("span",{className:"suffix-icon"},i().createElement(p,{content:"新增会话"},i().createElement(g,{lib:"antd",icon:"plus-circle",onClick:()=>{}})),!d&&i().createElement(p,{content:"放大"},i().createElement(g,{lib:"antd",icon:"arrows-alt",onClick:P})),i().createElement("div",{className:"submit-split"}),i().createElement(p,{content:"提交"},i().createElement(g,{className:m()("submit-btn",{active:M,disabled:!M||I}),lib:S?"antd":"easyops",icon:S?"loading":"release-management-fill",category:S?"":"menu",spinning:S,onClick:j}))),i().createElement("span",{className:"toolbar-icon"},d&&i().createElement(p,{content:"缩小"},i().createElement(g,{lib:"antd",icon:"shrink",onClick:P})))),M&&i().createElement("div",{className:"search-input-toolbar"},i().createElement("div",{className:"input-tip"},"Shift + Enter 换行")))}},3830:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(89575),o=n(18769),s=n.n(o),i=n(10015),r=n(53373),c=n.n(r);function l(){var{sessionList:e}=(0,i.a)();return s().createElement("div",{className:"session-list-wrapper"},s().createElement("div",{className:"session-title"},"历史对话"),s().createElement("div",{className:"session-list"},e.map(((e,t)=>s().createElement(d,(0,a.A)({key:t},e))))))}function d(e){var{title:t,id:n}=e,{updateSession:a,activeSessionId:o}=(0,i.a)();return s().createElement("div",{className:c()("session-item",{active:n===o}),onClick:()=>{a(n)}},t)}},75144:(e,t,n)=>{n.d(t,{F:()=>T});var a=n(86330),o=n(18769),s=[{role:"guide",content:[{type:"guide",text:"DEFAULT_CHAT_GUIDE"}]},{role:"user",content:[{type:"text",text:"你好"}],ctime:1710731198},{content:[{text:"你好!很高兴能为你服务。如果你有任何问题或者需要帮助,随时告诉我,我会尽我所能为你提供帮助。有什么我可以帮你的吗?",type:"markdown"}],ctime:"1710731200",role:"assistant"},{role:"user",content:[{type:"text",text:"你知道百度的地址吗"}],ctime:1710731261},{content:[{text:"百度公司是一家中国的互联网技术公司,其总部位于北京市。以下是百度的官方地址:\n\n北京市海淀区西北旺东路10号院百度科技园\n\n请注意,百度可能有多个办公地点,但上述地址是其主要的总部地址。如果你需要访问百度或与其联系,建议你查看其官方网站获取最新的联系信息。",type:"markdown"}],ctime:1710731266,role:"assistant"},{role:"user",content:[{type:"text",text:"可以给我官网的地址吗"}],ctime:1710731280},{content:[{text:"当然可以。以下是百度公司的官方网站地址:\n\nhttps://www.baidu.com/\n\n你可以通过这个链接访问百度,获取更多信息和服务。",type:"markdown"}],ctime:"1710731282",role:"assistant"},{role:"user",content:[{type:"text",text:"现在我们多少个微应用"}],ctime:1710731716},{content:[{text:"很抱歉,但我不清楚你提到的“微应用”是指什么具体的上下文或系统。如果你是指在使用某个特定的平台或服务中的微应用数量,例如微信小程序、百度智能小程序等,我需要更多的上下文信息才能给出准确的回答。\n\n如果你能提供更多的细节,我会很乐意帮助你查询或解答有关微应用数量的问题。",type:"markdown"}],ctime:"1710731720",role:"assistant"},{role:"user",content:[{type:"text",text:"给我一个任意表格数据"}],ctime:1710731756},{content:[{text:"以下是任意创建的一个简单表格数据示例:\n\n| 姓名 | 年龄 | 性别 | 职位 |\n|-------|-----|------|----------|\n| 张三 | 25 | 男 | 软件工程师 |\n| 李四 | 30 | 女 | 产品经理 |\n| 王五 | 28 | 男 | UI设计师 |\n| 赵六 | 32 | 女 | 市场专员 |\n\n这个表格包含了姓名、年龄、性别和职位四列数据,以及四个示例员工的信息。这只是一个虚构的数据示例,你可以根据需要修改或扩展表格的内容。",type:"markdown"}],ctime:1710731761,role:"assistant"}],i=[{role:"guide",content:[{type:"guide",text:"DEFAULT_CHAT_GUIDE",examplePrompts:["http://www.baidu.com"]}]},{role:"user",content:[{type:"text",text:"什么是 SSE"}],ctime:1710837828},{content:[{text:"SSE(Server-Sent Events)是一种服务器到客户端的单向通信协议。它允许服务器通过HTTP连接向客户端推送数据,特别适用于实现实时更新功能,比如在网页上实时显示新闻更新、股票价格变动等。SSE基于HTTP协议,并且得到了所有现代浏览器的支持。\n\nSSE 的工作原理是什么?\nSSE的工作原理相对简单:\n1. 客户端通过JavaScript的`EventSource`对象向服务器发送一个HTTP请求,请求建立SSE连接。\n2. 服务器接收到请求后,返回一个HTTP响应,这个响应的`Content-Type`头部被设置为`text/event-stream`。\n3. 服务器保持这个连接打开,并且可以随时通过这个连接向客户端发送数据。\n4. 客户端通过`EventSource`对象接收服务器发来的数据,并可以监听特定的事件。\n\nSSE 有哪些优点?\n- **兼容性**:SSE得到了所有现代浏览器的支持,而其他一些实时通信技术如WebSocket可能不适用于所有浏览器。\n- **简单性**:SSE的实现比较简单,不需要复杂的握手过程,直接基于HTTP协议,易于理解和部署。\n\n与短轮询、Comet、WebSocket等技术相比,SSE有哪些优势?\n- **短轮询**:短轮询要求客户端定期向服务器发送请求,这种方式实现简单,但会造成很多无效请求,增加服务器负载。\n- **Comet**:Comet技术是一种基于HTTP长连接的推送技术,但实现较为复杂,且不如SSE标准化。\n- **WebSocket**:WebSocket提供了全双工的通信渠道,适用于需要双向通信的场景,但它的兼容性和实现复杂度不如SSE。\n\nSSE相比之下,在只需要服务器到客户端单向通信的场景中,提供了简单、高效且兼容性好的解决方案。\n\n如何实现一个简单的SSE服务?\n以下是一个简单的示例,展示了客户端和服务器端的实现:\n\n**客户端(JavaScript)**\n```javascript\n// 创建EventSource对象\nconst eventSource = new EventSource('http://localhost:8080/events');\n// 监听服务器发送的消息\neventSource.onmessage = function(event) {\n console.log('收到消息:', event.data);\n};\n// 监听连接关闭事件\neventSource.onclose = function() {\n console.log('连接已关闭');\n};\n// 监听错误事件\neventSource.onerror = function() {\n console.log('连接出错');\n};\n```\n\n**服务器端(Node.js)**\n```javascript\nconst http = require('http');\nconst express = require('express');\nconst app = express();\n\napp.get('/events', function(req, res) {\n res.setHeader('Content-Type', 'text/event-stream');\n res.setHeader('Cache-Control', 'no-cache');\n res.setHeader('Connection', 'keep-alive');\n \n // 定期发送数据到客户端\n const sendData = () => {\n res.write(`data: ${new Date().toString()}\\n\\n`);\n };\n setInterval(sendData, 1000);\n\n // 当连接关闭时,停止发送数据\n req.on('close', () => {\n clearInterval(sendData);\n });\n});\n\nconst server = http.createServer(app);\nserver.listen(8080, () => {\n console.log('SSE服务正在监听端口8080');\n});\n```\n\n以上代码展示了一个简单的SSE服务器和客户端的实现,其中服务器每秒向客户端发送当前时间。",type:"markdown"}],ctime:1710837855,role:"assistant"},{role:"user",content:[{type:"text",text:"请写出一段示例代码"}],ctime:1710837859},{content:[{text:"当然,下面是一个简单的Node.js服务器端示例代码,它使用Express框架来创建一个SSE服务器。这个服务器会向连接的客户端发送一个简单的消息流。\n\n**服务器端(Node.js + Express)**\n\n```javascript\nconst express = require('express');\nconst app = express();\nconst PORT = 3000;\n\napp.get('/events', function(req, res) {\n // 设置响应头以支持SSE\n res.writeHead(200, {\n 'Content-Type': 'text/event-stream', // SSE的MIME类型\n 'Cache-Control': 'no-cache', // 禁止缓存\n 'Connection': 'keep-alive', // 保持连接\n });\n\n // 发送事件到客户端\n const sendEvent = (data, eventName = 'message') => {\n res.write(`event: ${eventName}\\n`); // 事件名称\n res.write(`data: ${JSON.stringify(data)}\\n\\n`); // 数据\n };\n\n // 发送初始化消息\n sendEvent({ message: 'Connected successfully!' });\n\n // 模拟定时发送数据\n const intervalId = setInterval(() => {\n sendEvent({ message: `Server time: ${new Date().toString()}` });\n }, 1000); // 每1秒发送一次\n\n // 当请求关闭时,清除定时器\n req.on('close', () => {\n clearInterval(intervalId);\n console.log('Client connection closed, stopped sending events');\n });\n});\n\napp.listen(PORT, () => {\n console.log(`SSE server is running on http://localhost:${PORT}`);\n});\n```\n\n**客户端(HTML + JavaScript)**\n\n以下是客户端的HTML和JavaScript代码,它将连接到上面的SSE服务器并显示接收到的消息。\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<title>SSE Client Example</title>\n<script>\nwindow.onload = function() {\n var eventSource = new EventSource('/events');\n eventSource.onmessage = function(e) {\n console.log('Received a message:', e.data);\n document.getElementById('output').innerHTML += e.data + '<br>';\n };\n eventSource.onerror = function(e) {\n console.error('EventSource failed:', e);\n eventSource.close();\n };\n};\n<\/script>\n</head>\n<body>\n<div id=\"output\"></div>\n</body>\n</html>\n```\n\n要运行这个示例,首先启动服务器端代码,然后打开HTML文件在浏览器中查看。服务器将开始向客户端发送消息,客户端将在`<div id=\"output\"></div>`元素中显示这些消息。",type:"markdown"}],ctime:1710837878,role:"assistant"}],r=n(6238),c=n.n(r),l=n(74635),d=n(70918);const m="text/event-stream",u="last-event-id";function p(e,t){var{signal:n,headers:a,onopen:o,onmessage:s,onclose:i,onerror:r,openWhenHidden:c,fetch:l}=t,d=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]])}return n}(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,p)=>{const v=Object.assign({},a);let x;function b(){x.abort(),document.hidden||S()}v.accept||(v.accept=m),c||document.addEventListener("visibilitychange",b);let h=1e3,f=0;function w(){document.removeEventListener("visibilitychange",b),window.clearTimeout(f),x.abort()}null==n||n.addEventListener("abort",(()=>{w(),t()}));const y=null!=l?l:window.fetch,E=null!=o?o:g;async function S(){var n;x=new AbortController;try{const n=await y(e,Object.assign(Object.assign({},d),{headers:v,signal:x.signal}));await E(n),await async function(e,t){const n=e.getReader();let a;for(;!(a=await n.read()).done;)t(a.value)}(n.body,function(e){let t,n,a,o=!1;return function(s){void 0===t?(t=s,n=0,a=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,s);const i=t.length;let r=0;for(;n<i;){o&&(10===t[n]&&(r=++n),o=!1);let s=-1;for(;n<i&&-1===s;++n)switch(t[n]){case 58:-1===a&&(a=n-r);break;case 13:o=!0;case 10:s=n}if(-1===s)break;e(t.subarray(r,s),a),r=n,a=-1}r===i?t=void 0:0!==r&&(t=t.subarray(r),n-=r)}}(function(e,t,n){let a={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(e,t){if(0===e.length)null==n||n(a),a={data:"",event:"",id:"",retry:void 0};else if(t>0){const n=o.decode(e.subarray(0,t)),i=t+(32===e[t+1]?2:1),r=o.decode(e.subarray(i));switch(n){case"data":a.data=a.data?a.data+"\n"+r:r;break;case"event":a.event=r;break;case"id":(s=a.id=r)?v[u]=s:delete v[u];break;case"retry":const e=parseInt(r,10);isNaN(e)||(e=>{h=e})(a.retry=e)}}var s}}(0,0,s))),null==i||i(),w(),t()}catch(e){if(!x.signal.aborted)try{const t=null!==(n=null==r?void 0:r(e))&&void 0!==n?n:h;window.clearTimeout(f),f=window.setTimeout(S,t)}catch(e){w(),p(e)}}}S()}))}function g(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(m)))throw new Error(`Expected content-type to be ${m}, Actual: ${t}`)}var v=n(5530);function x(e,t){return e.get(h(e,t))}function b(e,t,n){return e.set(h(e,t),n),n}function h(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var f=new WeakMap,w=new WeakMap,y=new WeakMap,E=new WeakMap,S=new WeakMap,k=new WeakMap,N=new WeakMap,C=new WeakSet;class A{constructor(e){var{agentId:t}=e;(0,l.A)(this,C),(0,d.A)(this,f,void 0),(0,d.A)(this,w,!1),(0,d.A)(this,y,!1),(0,d.A)(this,E,void 0),(0,d.A)(this,S,[]),(0,d.A)(this,k,{}),(0,d.A)(this,N,void 0),b(f,this,t)}enqueue(e){x(S,this).push(e),h(C,this,M).call(this)}dequeue(){return x(S,this).shift()}getMessageQueue(){return x(S,this)}subscribe(e,t){x(k,this)[e]||(x(k,this)[e]=[]),x(k,this)[e].push(t)}unsubscribe(e,t){x(k,this)[e]&&(x(k,this)[e]=x(k,this)[e].filter((e=>e!==t)))}notifySubscribers(e){var t=e.topic;x(k,this)[t]&&x(k,this)[t].forEach((t=>{t(null==e?void 0:e.message)}))}getSessionList(){return(0,a.A)((function*(){}))()}chat(e){var t=this;return(0,a.A)((function*(){var n,o=new AbortController;b(w,t,!0),yield p("".concat((0,v.getBasePath)(),"api/gateway/easyops.api.aiops_chat.manage.LLMStreamChat/stream_chat"),{method:"POST",signal:o.signal,body:JSON.stringify({agentId:x(f,t),conversationId:x(N,t),messages:[{role:"user",content:[{text:e,type:"text"}]}]}),onopen:(n=(0,a.A)((function*(e){e.ok?console.log("open sse service success!"):console.log("open sse service fail!")})),function(e){return n.apply(this,arguments)}),onmessage:e=>{var{data:n}=e,a={};try{a=JSON.parse(n)}catch(e){console.log("数据格式错误",e)}b(N,t,a.conversationId),t.enqueue({topic:"add",message:a})},onclose:()=>{console.log("close"),o.abort()},onerror:e=>{console.log("err",e),o.abort()}}),b(w,t,!1)}))()}}function M(){x(y,this)||(b(y,this,!0),b(E,this,setInterval((()=>{if(x(w,this)||this.getMessageQueue().length){var e=this.dequeue();this.notifySubscribers(e)}else clearInterval(x(E,this)),b(E,this,void 0),b(y,this,!1),this.notifySubscribers({topic:"finish"})}),80)))}function T(e){var{agentId:t}=e,[n,r]=(0,o.useState)("1"),[l,d]=(0,o.useState)(!1),[m,u]=(0,o.useState)(!1),[p,g]=(0,o.useState)([]),[v,x]=(0,o.useState)([]),[b,h]=(0,o.useState)(),[f,w]=(0,o.useState)(""),y=(0,o.useRef)(""),E=(0,o.useRef)(),S=(0,o.useMemo)((()=>new A({agentId:t})),[t]);(0,o.useEffect)((()=>{}),[]),(0,o.useEffect)((()=>{g([{title:"会话一",id:"1",ctime:1710731756,active:!0}])}),[]),(0,o.useEffect)((()=>{var e=e=>{e&&(y.current=y.current+e.messages.map((e=>e.content.text)).toString(),console.log(y.current),E.current={role:"assistant",content:[{type:"markdown",text:y.current}],key:Math.random(),ctime:null==e?void 0:e.ctime},h(E.current))},t=()=>{x((e=>e.concat(E.current))),y.current="",h(void 0),u(!1)};return S.subscribe("add",e),S.subscribe("finish",t),()=>{S.unsubscribe("add",e),S.unsubscribe("finish",t)}}),[S]);var k=(0,o.useCallback)(function(){var e=(0,a.A)((function*(e){u(!0),S.chat(e),x((t=>t.concat({role:"user",content:[{type:"text",text:e}],ctime:c()().format("YYYY-MM-DD HH:mm:ss")}))),h({role:"assistant",content:[{type:"load",text:""}],ctime:"Now"})}));return function(t){return e.apply(this,arguments)}}(),[S]),N=(0,o.useCallback)(function(){var e=(0,a.A)((function*(e){d(!0),x([]),r(e);var t=function(){var t=(0,a.A)((function*(){return new Promise((t=>{setTimeout((()=>{t("1"===e?s:i)}),5e3)}))}));return function(){return t.apply(this,arguments)}}(),n=yield t();x(n),d(!1)}));return function(t){return e.apply(this,arguments)}}(),[]);return{loading:l,chartting:m,activeSessionId:n,sessionList:p,searchStr:f,msgList:v,msgItem:b,handleChat:k,updateSession:N,setSearchStr:w}}},68894:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(36758),o=n.n(a),s=n(40935),i=n.n(s)()(o());i.push([e.id,':host{display:inline-block}:host([hidden]){display:none}@media only screen and (min-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1556px}}@media only screen and (min-width: 1440px) and (max-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1156px}}@media only screen and (min-width: 804px) and (max-width: 1440px){.chat-view-container .chat-view-content .chat-view{width:804px}}@media only screen and (max-width: 804px){.chat-view-container .chat-view-content .chat-view{width:100%}}.chat-view-container{display:flex;flex-direction:row;width:100%;height:100%}.chat-view-selector{width:200px;padding:14px;border-right:1px solid var(--color-border-divider-line)}.chat-view-content{flex:1;display:flex;flex-direction:column;width:100%}.chat-view-content .chat-view-toolbar{background:#e0e4e5;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-view-content .chat-view-toolbar .username{color:#333333;font-weight:500;line-height:22px;font-size:16px}.chat-view-content .chat-view-toolbar .toolbar eo-icon{cursor:pointer}.chat-view-content .chat-view{max-width:100%;position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;overflow-y:auto;margin:0 auto}.session-list-wrapper .session-title{font-size:16px;color:var(--color-header-text);margin-bottom:16px}.session-list-wrapper .session-list{display:flex;flex-direction:column;gap:8px}.session-list-wrapper .session-list .session-item{cursor:pointer;border-radius:var(--small-border-radius);background-color:var(--third-menu-default-bg);padding:6px 16px;color:var(--color-header-text)}.session-list-wrapper .session-list .session-item.active{background-color:var(--third-menu-item-selected-bg);color:var(--color-brand)}.session-list-wrapper .session-list .session-item:hover,\n .session-list-wrapper .session-list .session-item.active:hover{color:var(--color-header-text);background-color:var(--third-menu-item-hover-bg)}.message-list{display:flex;flex-direction:column;padding-bottom:30px;padding:12px;flex:1;overflow-y:scroll}.message-list .message-list-box{display:flex;flex-direction:column;gap:18px}.message-list .message-list-box .message-item{display:flex;gap:8px;padding-right:40px}.message-list .message-list-box .message-item.user{flex-direction:row-reverse;padding:0;padding-left:40px}.message-list .message-list-box .message-item.user .message-box{position:relative}.message-list .message-list-box .message-item.user .message-box .message-top{flex-direction:row-reverse}.message-list .message-list-box .message-item.user .message-box .message-content{justify-content:end}.message-list .message-list-box .message-item.user .message-box .message-content .content{background-color:#606f7c;color:#fff}.message-list .message-list-box .message-item.user .message-box .message-content:hover .content-tip{display:block}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip{position:absolute;left:-22px;top:0px;display:none}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip eo-icon{padding:4px;color:#606f7c;cursor:pointer}.message-list .message-list-box .message-item .avatar{font-size:36px;margin-top:32px}.message-list .message-list-box .message-item .message-box .message-content{display:flex;justify-content:start;position:relative}.message-list .message-list-box .message-item .message-box .message-content .content{position:relative;padding:14px;border-radius:6px;background:#f1f3f4}.message-list .message-list-box .message-item .message-box .message-content .content .text-item{white-space:pre-wrap}.message-list .message-list-box .message-item .message-box .message-top{display:flex;margin-bottom:4px;color:#bec8ce;gap:8px}.message-list .message-list-box .message-item .message-box .message-top .time{min-height:22px}.message-list .message-list-box .message-item .message-box .message-bottom{display:flex;justify-content:end;margin-top:4px}.message-list .message-list-box .message-item .message-box .message-bottom.user{justify-content:start}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar{display:flex;gap:16px}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar eo-icon{cursor:pointer;color:#606f7c}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar eo-icon[icon="copy"]{padding-left:12px;border-left:1px solid #d9d9d9}.search-input-box{display:flex;flex-direction:column;height:50px;padding:12px;position:relative}.search-input-box.fill-content{box-shadow:1px 0px 4px 0px rgba(197,197,197,0.5)}.search-input-box .input-box{position:absolute;bottom:20px;left:12px;right:12px;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s;overflow:visible}.search-input-box .input-box.active{border-color:var(--antd-input-focus-border-color)}.search-input-box .input-box.disabled{pointer-events:none;background:var(--input-outline-disabled);cursor:not-allowed}.search-input-box .input-box.expand textarea{padding-right:50px;margin-bottom:50px}.search-input-box .input-box textarea{width:100%;height:22px;font-size:18px;resize:none;padding:10px 50px 10px 10px;outline:none;border:none;line-height:20px;color:inherit;background-color:transparent;cursor:inherit;transition:all 300ms ease-out}.search-input-box .input-box textarea::placeholder{color:#b0b1b8}.search-input-box .input-box .suffix-icon{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:6px}.search-input-box .input-box .suffix-icon eo-tooltip{display:flex}.search-input-box .input-box .suffix-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .suffix-icon eo-icon:hover{background:#ddd}.search-input-box .input-box .suffix-icon .submit-split{width:1px;height:20px;background:#d1d1d1}.search-input-box .input-box .suffix-icon .submit-btn.active{color:var(--color-brand)}.search-input-box .input-box .suffix-icon .submit-btn.disabled{color:var(--color-disabled-text);cursor:not-allowed}.search-input-box .input-box .toolbar-icon{position:absolute;top:12px;right:14px}.search-input-box .input-box .toolbar-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .toolbar-icon eo-icon:hover{background:#ddd}.search-input-box .search-input-toolbar{display:flex;justify-content:end;position:absolute;right:12px;bottom:0px}.search-input-box .search-input-toolbar .input-tip{font-size:12px;color:var(--color-secondary-text)}.loading-wrapper{display:flex;padding:20px;font-size:40px;align-items:center;justify-content:center;background:inherit;color:#d2d3d4;border-radius:6px}',""]);const r=i.toString()}}]);
|
|
2
|
-
//# sourceMappingURL=9542.578ac7bc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9542.578ac7bc.js","mappings":"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","sources":["webpack:///./src/chat-view/ChatViewContext.ts","webpack:///./src/chat-view/components/ChatViewToolbar.tsx","webpack:///./src/chat-view/components/MessageItem/Avatar.tsx","webpack:///./src/chat-view/components/MessageItem/Loading.tsx","webpack:///./src/chat-view/components/MessageItem/GuideItem.tsx","webpack:///./src/chat-view/components/MessageItem/MarkdownItem.tsx","webpack:///./src/chat-view/components/MessageItem/TableItem.tsx","webpack:///./src/chat-view/components/MessageItem/TextItem.tsx","webpack:///./src/chat-view/components/MessageItem/Toolbar.tsx","webpack:///./src/chat-view/components/MessageItem/Time.tsx","webpack:///./src/chat-view/components/MessageItem/ContentTip.tsx","webpack:///./src/chat-view/components/MessageItem/index.tsx","webpack:///./src/chat-view/components/MessageList.tsx","webpack:///./src/chat-view/components/utils/calculateAutoSizeStyle.ts","webpack:///./src/chat-view/components/SearchInput.tsx","webpack:///./src/chat-view/components/SessionList.tsx","webpack:///./src/chat-view/mockList.ts","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/parse.js","webpack:///./src/chat-view/ChatService.ts","webpack:///./src/chat-view/hooks/useChatViewInfo.ts","webpack:///./src/chat-view/styles.shadow.css"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport type Role = \"guide\" | \"user\" | \"assistant\";\n\nexport interface MessageItemContent {\n type: \"guide\" | \"text\" | \"markdown\" | \"table\" | \"load\";\n text: string;\n examplePrompts?: string[];\n}\n\nexport interface MessageItem {\n role: Role;\n content: MessageItemContent[];\n ctime?: number | string;\n key?: number;\n chatting?: boolean;\n}\n\nexport interface SessionItem {\n title: string;\n ctime: number;\n id: string;\n active?: boolean;\n}\n\ninterface ChatViewContextProps {\n activeSessionId: string;\n sessionList: SessionItem[];\n msgList: MessageItem[];\n msgItem?: MessageItem;\n loading: boolean;\n chartting: boolean;\n searchStr: string;\n showLike: boolean;\n handleChat: (str: string) => void;\n updateSession: (id: string) => void;\n setSearchStr: (str: string) => void;\n}\n\nexport const ChatViewContext = createContext<ChatViewContextProps>(\n {} as ChatViewContextProps\n);\n\nexport const useChatViewContext = (): ChatViewContextProps =>\n useContext(ChatViewContext);\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { getHistory } from \"@next-core/runtime\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nexport function ChatViewToolbar(): React.ReactNode {\n const handleJump = () => {\n const history = getHistory();\n history.push(\"/ai-center\");\n };\n\n return (\n <div className=\"chat-view-toolbar\">\n <div className=\"username\">AI助手</div>\n <div className=\"toolbar\">\n <WrappedToolTip content=\"跳转至 AI-Center\">\n <WrappedIcon lib=\"fa\" icon=\"external-link-alt\" onClick={handleJump} />\n </WrappedToolTip>\n </div>\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\n// import type { EoEasyopsAvatar, EoEasyopsAvatarProps } from '@next-bricks/basic/easyops-avatar';\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n// import { auth } from \"@next-core/easyops-runtime\";\nimport type { Role } from \"../../ChatViewContext.js\";\n\n// const WrapperEasyopsAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\"eo-easyops-avatar\");\n// <WrapperEasyopsAvatar nameOrInstanceId={user} />\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function Avatar({ role }: { role: Role }): React.ReactNode {\n // const user = auth.getAuth().username;\n const isUser = useMemo(() => role === \"user\", [role]);\n\n return isUser ? (\n <WrapperIcon\n className=\"avatar\"\n lib=\"easyops\"\n icon=\"user-avatar\"\n category=\"colored-common\"\n />\n ) : (\n <WrapperIcon\n className=\"avatar\"\n lib=\"easyops\"\n icon=\"robot-avatar\"\n category=\"colored-common\"\n />\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function Loading({ loading }: { loading: boolean }) {\n return loading ? (\n <div className=\"loading-wrapper\">\n <WrapperIcon lib=\"antd\" icon=\"loading\" spinning />\n </div>\n ) : null;\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\ninterface GuideItemProps {\n text: string;\n prompts?: string[];\n}\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function GuideItem({ text, prompts }: GuideItemProps) {\n return (\n <div className=\"guide-item\">\n {text}\n <div className=\"prompts-list\">\n {prompts\n ? prompts.map((item, index) => (\n <WrappedLink key={index}>{item}</WrappedLink>\n ))\n : null}\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n MarkdownEditor,\n MarkdownEditorProps,\n} from \"@next-bricks/markdown/markdown-editor\";\n\ninterface MarkdownItemProps {\n text: string;\n}\n\nconst WrappedMarkdownEditor = wrapBrick<MarkdownEditor, MarkdownEditorProps>(\n \"eo-markdown-editor\"\n);\n\nexport function MarkdownItem({ text }: MarkdownItemProps) {\n const defaultStyle = {\n border: \"none\",\n background: \"inherit\",\n };\n\n return (\n <div className=\"markdown-item\">\n <WrappedMarkdownEditor\n key={0}\n containerStyle={defaultStyle}\n readonly\n value={text}\n />\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n EoNextTable,\n NextTableComponentProps,\n} from \"../../../next-table/index.js\";\n\ninterface MarkdownItemProps {\n text: string;\n}\n\nconst WrappedNextTable = wrapBrick<EoNextTable, NextTableComponentProps>(\n \"eo-next-table\"\n);\n\nexport function TableItem({ text }: MarkdownItemProps) {\n const parseContent = useMemo((): NextTableComponentProps => {\n let content: NextTableComponentProps;\n try {\n content = JSON.parse(text);\n } catch {\n content = {} as NextTableComponentProps;\n }\n return content;\n }, [text]);\n\n return (\n <div className=\"table-item\">\n <WrappedNextTable pagination={false} {...parseContent} />\n </div>\n );\n}\n","import React from \"react\";\n\ninterface TextItem {\n text: string;\n}\n\nexport function TextItem({ text }: TextItem) {\n return <div className=\"text-item\">{text}</div>;\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { MessageItem, useChatViewContext } from \"../../ChatViewContext\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\n\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport function Toolbar({\n role,\n content,\n chatting,\n}: MessageItem): React.ReactNode {\n const isAssistant = useMemo(\n () =>\n role === \"assistant\" && !content?.find((item) => item.type === \"load\"),\n [role, content]\n );\n const isChattingItem = useMemo(() => chatting, [chatting]);\n const { showLike } = useChatViewContext();\n\n const handleCopy = () => {\n const str = content.map((item) => item.text).toString();\n copyToClipboard(str)\n .then(() => showNotification({ type: \"success\", message: \"复制成功\" }))\n .catch(() => showNotification({ type: \"error\", message: \"复制失败\" }));\n };\n\n return isAssistant && !isChattingItem ? (\n <div className=\"toolbar\">\n {showLike && (\n <>\n <WrappedToolTip content=\"点赞\">\n <WrapperIcon lib=\"antd\" icon=\"like\" theme=\"filled\" />\n </WrappedToolTip>\n <WrappedToolTip content=\"还不够好\">\n <WrapperIcon lib=\"antd\" icon=\"dislike\" theme=\"filled\" />\n </WrappedToolTip>\n </>\n )}\n <WrappedToolTip content=\"点击复制\">\n <WrapperIcon lib=\"antd\" icon=\"copy\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import moment from \"moment\";\nimport React from \"react\";\n\nexport function Time({ time }: { time?: string | number }) {\n return (\n <div className=\"time\">\n {time\n ? typeof time === \"string\"\n ? time\n : moment(time * 1000).format(\"YYYY-MM-DD HH:mm:ss\")\n : null}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { useChatViewContext, type MessageItem } from \"../../ChatViewContext\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function ContentTip({ role, content }: MessageItem): React.ReactNode {\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const { chartting, setSearchStr } = useChatViewContext();\n\n const handleCopy = () => {\n setSearchStr(content.map((item) => item.text).toString());\n };\n\n return isUser && !chartting ? (\n <div className=\"content-tip\">\n <WrappedToolTip content=\"点击再次提问\">\n <WrapperIcon lib=\"antd\" icon=\"edit\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { MessageItem, MessageItemContent } from \"../../ChatViewContext.js\";\nimport { GuideItem } from \"./GuideItem.js\";\nimport { MarkdownItem } from \"./MarkdownItem.js\";\nimport { TableItem } from \"./TableItem.js\";\nimport { Loading } from \"./Loading.js\";\nimport { TextItem } from \"./TextItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { Time } from \"./Time.js\";\nimport classNames from \"classnames\";\nimport { ContentTip } from \"./ContentTip.js\";\n\nexport function MessageNode(props: MessageItem): React.ReactNode {\n const { content, ctime, role } = props;\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const getContentNode = useCallback(\n (content: MessageItemContent, key: number) => {\n const { type, text, examplePrompts } = content;\n switch (type) {\n case \"guide\":\n return <GuideItem key={key} text={text} prompts={examplePrompts} />;\n case \"markdown\":\n return <MarkdownItem key={key} text={text} />;\n case \"table\":\n return <TableItem key={key} text={text} />;\n case \"load\":\n return <Loading loading />;\n case \"text\":\n default:\n return <TextItem key={key} text={text} />;\n }\n },\n []\n );\n\n const messageNode = useMemo(\n () => content.map(getContentNode),\n [content, getContentNode]\n );\n\n return (\n <div className=\"message-box\">\n <div className=\"message-top\">\n {isUser ? \"我\" : \"AI助手\"}\n <Time time={ctime} />\n </div>\n <div className=\"message-content\">\n <div className=\"content\">\n {messageNode}\n <ContentTip {...props} />\n </div>\n </div>\n <div className={classNames(\"message-bottom\", role)}>\n <div className=\"message-toolbar\">\n <Toolbar {...props} />\n </div>\n </div>\n </div>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { MessageItem, useChatViewContext } from \"../ChatViewContext\";\nimport { Avatar } from \"./MessageItem/Avatar.js\";\nimport classNames from \"classnames\";\nimport { Loading } from \"./MessageItem/Loading\";\nimport { MessageNode } from \"./MessageItem/index.js\";\n\ninterface MessageListProps {\n showAvatar?: boolean;\n}\n\nconst DEFAULT_OFFSET_HEIGHT = 80;\n\nexport function MessageList({\n showAvatar = true,\n}: MessageListProps): React.ReactNode {\n const messageListRef = useRef<HTMLDivElement>(null);\n const messgetListBoxRef = useRef<HTMLDivElement>(null);\n // const preHeight = useRef<number>(0);\n const [preHeight, setPreHeight] = useState<number>(0);\n\n const { msgList, msgItem, loading, chartting } = useChatViewContext();\n\n const getMsgItemNode = useCallback(\n (item: MessageItem, index: number = 0) => {\n return (\n <div\n className={classNames(\"message-item\", { user: item.role === \"user\" })}\n key={item.ctime ?? index}\n >\n {showAvatar && <Avatar role={item.role} />}\n <MessageNode {...item} />\n </div>\n );\n },\n [showAvatar]\n );\n\n const msgListNode = useMemo(() => {\n if (msgList.length) {\n return msgList.map(getMsgItemNode);\n }\n return null;\n }, [msgList, getMsgItemNode]);\n\n const msgItemNode = useMemo(() => {\n if (msgItem) {\n return getMsgItemNode({\n ...msgItem,\n chatting: true,\n });\n }\n return null;\n }, [msgItem, getMsgItemNode]);\n\n useEffect(() => {\n const element = messgetListBoxRef.current;\n if (element) {\n const observer = new ResizeObserver((entries) => {\n let newHeight: number = 0;\n for (const entry of entries) {\n newHeight = entry.contentRect.height - DEFAULT_OFFSET_HEIGHT;\n }\n if (newHeight > preHeight && !loading && !chartting) {\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n setPreHeight(newHeight);\n }\n if (newHeight > preHeight && chartting) {\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n setPreHeight(Math.max(preHeight, newHeight));\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }\n }, [chartting, loading, preHeight]);\n\n return (\n <div className=\"message-list\" ref={messageListRef}>\n <div className=\"message-list-box\" ref={messgetListBoxRef}>\n {msgListNode}\n {msgItemNode}\n </div>\n <Loading loading={loading} />\n </div>\n );\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n padding: 10px !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\n/**\n * 计算 textare 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n * */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n // let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 20;\n let height = hiddenTextarea.scrollHeight - paddingSize + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows - paddingSize + borderSize;\n height = Math.max(paddingSize, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows - paddingSize + borderSize;\n // overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY: \"scroll\",\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n ChangeEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\nimport classNames from \"classnames\";\nimport { useChatViewContext } from \"../ChatViewContext.js\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function SearchInput(): React.ReactNode {\n const [value, setValue] = useState<string>(\"\");\n const [active, setActive] = useState<boolean>(false);\n const [expand, setExpand] = useState<boolean>(false);\n const [autoSizeStyle, setAutoSizeStyle] = useState<React.CSSProperties>();\n const [isFillContent, setIsFillContent] = useState<boolean>(false);\n const searchInputBoxRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const hadExpanded = useRef<boolean>(false);\n\n const { chartting, loading, searchStr, setSearchStr, handleChat } =\n useChatViewContext();\n\n const hadValue = useMemo(() => !!value, [value]);\n const defaultSize = useMemo(() => [1, 5], []);\n const disabled = useMemo(() => loading || chartting, [chartting, loading]);\n\n const computedAutoSize = useCallback(\n (size = defaultSize) => {\n if (hadExpanded.current && expand) return;\n const textareaElement = textareaRef.current as HTMLTextAreaElement;\n if (textareaElement) {\n const textareaStyles = calculateAutoSizeStyle(\n textareaElement,\n size[0],\n size[1]\n );\n\n setAutoSizeStyle(textareaStyles);\n }\n hadExpanded.current = expand;\n },\n [defaultSize, expand]\n );\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement> | string): void => {\n const value = typeof e === \"string\" ? e : e.target.value;\n setValue(value);\n textareaRef.current!.value = value;\n },\n []\n );\n\n const hanldeCreateSession = () => {\n //\n };\n\n const handleExpand = useCallback(() => {\n setExpand((value) => {\n return !value;\n });\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (!hadValue || !textareaRef.current || disabled) return;\n\n handleChat(value);\n\n setActive(false);\n setExpand(false);\n handleChange(\"\");\n textareaRef.current.blur();\n }, [value, hadValue, disabled, handleChat, handleChange]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSubmit();\n }\n },\n [handleSubmit]\n );\n\n useEffect(() => {\n if (searchStr) {\n handleChange(searchStr);\n setSearchStr(\"\");\n }\n }, [searchStr, disabled, setSearchStr, handleChange]);\n\n useEffect(() => {\n computedAutoSize(expand ? [20, 20] : undefined);\n }, [value, expand, computedAutoSize]);\n\n useEffect(() => {\n const searchInputBox = searchInputBoxRef.current;\n if (searchInputBox) {\n const observe = new ResizeObserver(() => {\n const { width: currentWidth } = searchInputBox.getBoundingClientRect();\n const { width: parentWidth } =\n searchInputBox.parentElement!.parentElement!.getBoundingClientRect();\n\n setIsFillContent(currentWidth === parentWidth);\n });\n\n observe.observe(searchInputBox);\n\n return () => {\n observe.disconnect();\n };\n }\n }, []);\n\n return (\n <div\n className={classNames(\"search-input-box\", {\n \"fill-content\": isFillContent,\n })}\n ref={searchInputBoxRef}\n >\n <div\n className={classNames(\"input-box\", {\n active,\n disabled,\n expand,\n })}\n >\n <textarea\n value={value}\n ref={textareaRef}\n style={{\n ...autoSizeStyle,\n paddingRight: expand ? \"50px\" : \"140px\",\n }}\n placeholder=\"提出你的想法...\"\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n />\n <span className=\"suffix-icon\">\n <WrappedToolTip content=\"新增会话\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"plus-circle\"\n onClick={hanldeCreateSession}\n />\n </WrappedToolTip>\n {!expand && (\n <WrappedToolTip content=\"放大\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"arrows-alt\"\n onClick={handleExpand}\n />\n </WrappedToolTip>\n )}\n <div className=\"submit-split\"></div>\n <WrappedToolTip content=\"提交\">\n <WrappedIcon\n className={classNames(\"submit-btn\", {\n active: hadValue,\n disabled: !hadValue || disabled,\n })}\n lib={chartting ? \"antd\" : \"easyops\"}\n icon={chartting ? \"loading\" : \"release-management-fill\"}\n category={chartting ? \"\" : \"menu\"}\n spinning={chartting}\n onClick={handleSubmit}\n />\n </WrappedToolTip>\n </span>\n <span className=\"toolbar-icon\">\n {expand && (\n <WrappedToolTip content=\"缩小\">\n <WrappedIcon lib=\"antd\" icon=\"shrink\" onClick={handleExpand} />\n </WrappedToolTip>\n )}\n </span>\n </div>\n {hadValue && (\n <div className=\"search-input-toolbar\">\n <div className=\"input-tip\">Shift + Enter 换行</div>\n </div>\n )}\n </div>\n );\n}\n","import React from \"react\";\nimport {\n SessionItem as SessionItemProps,\n useChatViewContext,\n} from \"../ChatViewContext\";\nimport classNames from \"classnames\";\n\nexport function SessionList(): React.ReactNode {\n const { sessionList } = useChatViewContext();\n\n return (\n <div className=\"session-list-wrapper\">\n <div className=\"session-title\">历史对话</div>\n <div className=\"session-list\">\n {sessionList.map((item, index) => {\n return <SessionItem key={index} {...item} />;\n })}\n </div>\n </div>\n );\n}\n\nfunction SessionItem({ title, id }: SessionItemProps) {\n const { updateSession, activeSessionId } = useChatViewContext();\n\n const handleUpdateSession = () => {\n updateSession(id);\n };\n\n return (\n <div\n className={classNames(\"session-item\", {\n active: id === activeSessionId,\n })}\n onClick={handleUpdateSession}\n >\n {title}\n </div>\n );\n}\n","export const mockmsgList = [\n {\n role: \"guide\",\n content: [\n {\n type: \"guide\",\n text: \"DEFAULT_CHAT_GUIDE\",\n },\n ],\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"你好\",\n },\n ],\n ctime: 1710731198,\n },\n {\n content: [\n {\n text: \"你好!很高兴能为你服务。如果你有任何问题或者需要帮助,随时告诉我,我会尽我所能为你提供帮助。有什么我可以帮你的吗?\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731200\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"你知道百度的地址吗\",\n },\n ],\n ctime: 1710731261,\n },\n {\n content: [\n {\n text: \"百度公司是一家中国的互联网技术公司,其总部位于北京市。以下是百度的官方地址:\\n\\n北京市海淀区西北旺东路10号院百度科技园\\n\\n请注意,百度可能有多个办公地点,但上述地址是其主要的总部地址。如果你需要访问百度或与其联系,建议你查看其官方网站获取最新的联系信息。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710731266,\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"可以给我官网的地址吗\",\n },\n ],\n ctime: 1710731280,\n },\n {\n content: [\n {\n text: \"当然可以。以下是百度公司的官方网站地址:\\n\\nhttps://www.baidu.com/\\n\\n你可以通过这个链接访问百度,获取更多信息和服务。\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731282\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"现在我们多少个微应用\",\n },\n ],\n ctime: 1710731716,\n },\n {\n content: [\n {\n text: \"很抱歉,但我不清楚你提到的“微应用”是指什么具体的上下文或系统。如果你是指在使用某个特定的平台或服务中的微应用数量,例如微信小程序、百度智能小程序等,我需要更多的上下文信息才能给出准确的回答。\\n\\n如果你能提供更多的细节,我会很乐意帮助你查询或解答有关微应用数量的问题。\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731720\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"给我一个任意表格数据\",\n },\n ],\n ctime: 1710731756,\n },\n {\n content: [\n {\n text: \"以下是任意创建的一个简单表格数据示例:\\n\\n| 姓名 | 年龄 | 性别 | 职位 |\\n|-------|-----|------|----------|\\n| 张三 | 25 | 男 | 软件工程师 |\\n| 李四 | 30 | 女 | 产品经理 |\\n| 王五 | 28 | 男 | UI设计师 |\\n| 赵六 | 32 | 女 | 市场专员 |\\n\\n这个表格包含了姓名、年龄、性别和职位四列数据,以及四个示例员工的信息。这只是一个虚构的数据示例,你可以根据需要修改或扩展表格的内容。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710731761,\n role: \"assistant\",\n },\n] as any;\n\nexport const mockList2 = [\n {\n role: \"guide\",\n content: [\n {\n type: \"guide\",\n text: \"DEFAULT_CHAT_GUIDE\",\n examplePrompts: [\"http://www.baidu.com\"],\n },\n ],\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"什么是 SSE\",\n },\n ],\n ctime: 1710837828,\n },\n {\n content: [\n {\n text: \"SSE(Server-Sent Events)是一种服务器到客户端的单向通信协议。它允许服务器通过HTTP连接向客户端推送数据,特别适用于实现实时更新功能,比如在网页上实时显示新闻更新、股票价格变动等。SSE基于HTTP协议,并且得到了所有现代浏览器的支持。\\n\\nSSE 的工作原理是什么?\\nSSE的工作原理相对简单:\\n1. 客户端通过JavaScript的`EventSource`对象向服务器发送一个HTTP请求,请求建立SSE连接。\\n2. 服务器接收到请求后,返回一个HTTP响应,这个响应的`Content-Type`头部被设置为`text/event-stream`。\\n3. 服务器保持这个连接打开,并且可以随时通过这个连接向客户端发送数据。\\n4. 客户端通过`EventSource`对象接收服务器发来的数据,并可以监听特定的事件。\\n\\nSSE 有哪些优点?\\n- **兼容性**:SSE得到了所有现代浏览器的支持,而其他一些实时通信技术如WebSocket可能不适用于所有浏览器。\\n- **简单性**:SSE的实现比较简单,不需要复杂的握手过程,直接基于HTTP协议,易于理解和部署。\\n\\n与短轮询、Comet、WebSocket等技术相比,SSE有哪些优势?\\n- **短轮询**:短轮询要求客户端定期向服务器发送请求,这种方式实现简单,但会造成很多无效请求,增加服务器负载。\\n- **Comet**:Comet技术是一种基于HTTP长连接的推送技术,但实现较为复杂,且不如SSE标准化。\\n- **WebSocket**:WebSocket提供了全双工的通信渠道,适用于需要双向通信的场景,但它的兼容性和实现复杂度不如SSE。\\n\\nSSE相比之下,在只需要服务器到客户端单向通信的场景中,提供了简单、高效且兼容性好的解决方案。\\n\\n如何实现一个简单的SSE服务?\\n以下是一个简单的示例,展示了客户端和服务器端的实现:\\n\\n**客户端(JavaScript)**\\n```javascript\\n// 创建EventSource对象\\nconst eventSource = new EventSource('http://localhost:8080/events');\\n// 监听服务器发送的消息\\neventSource.onmessage = function(event) {\\n console.log('收到消息:', event.data);\\n};\\n// 监听连接关闭事件\\neventSource.onclose = function() {\\n console.log('连接已关闭');\\n};\\n// 监听错误事件\\neventSource.onerror = function() {\\n console.log('连接出错');\\n};\\n```\\n\\n**服务器端(Node.js)**\\n```javascript\\nconst http = require('http');\\nconst express = require('express');\\nconst app = express();\\n\\napp.get('/events', function(req, res) {\\n res.setHeader('Content-Type', 'text/event-stream');\\n res.setHeader('Cache-Control', 'no-cache');\\n res.setHeader('Connection', 'keep-alive');\\n \\n // 定期发送数据到客户端\\n const sendData = () => {\\n res.write(`data: ${new Date().toString()}\\\\n\\\\n`);\\n };\\n setInterval(sendData, 1000);\\n\\n // 当连接关闭时,停止发送数据\\n req.on('close', () => {\\n clearInterval(sendData);\\n });\\n});\\n\\nconst server = http.createServer(app);\\nserver.listen(8080, () => {\\n console.log('SSE服务正在监听端口8080');\\n});\\n```\\n\\n以上代码展示了一个简单的SSE服务器和客户端的实现,其中服务器每秒向客户端发送当前时间。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710837855,\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"请写出一段示例代码\",\n },\n ],\n ctime: 1710837859,\n },\n {\n content: [\n {\n text: \"当然,下面是一个简单的Node.js服务器端示例代码,它使用Express框架来创建一个SSE服务器。这个服务器会向连接的客户端发送一个简单的消息流。\\n\\n**服务器端(Node.js + Express)**\\n\\n```javascript\\nconst express = require('express');\\nconst app = express();\\nconst PORT = 3000;\\n\\napp.get('/events', function(req, res) {\\n // 设置响应头以支持SSE\\n res.writeHead(200, {\\n 'Content-Type': 'text/event-stream', // SSE的MIME类型\\n 'Cache-Control': 'no-cache', // 禁止缓存\\n 'Connection': 'keep-alive', // 保持连接\\n });\\n\\n // 发送事件到客户端\\n const sendEvent = (data, eventName = 'message') => {\\n res.write(`event: ${eventName}\\\\n`); // 事件名称\\n res.write(`data: ${JSON.stringify(data)}\\\\n\\\\n`); // 数据\\n };\\n\\n // 发送初始化消息\\n sendEvent({ message: 'Connected successfully!' });\\n\\n // 模拟定时发送数据\\n const intervalId = setInterval(() => {\\n sendEvent({ message: `Server time: ${new Date().toString()}` });\\n }, 1000); // 每1秒发送一次\\n\\n // 当请求关闭时,清除定时器\\n req.on('close', () => {\\n clearInterval(intervalId);\\n console.log('Client connection closed, stopped sending events');\\n });\\n});\\n\\napp.listen(PORT, () => {\\n console.log(`SSE server is running on http://localhost:${PORT}`);\\n});\\n```\\n\\n**客户端(HTML + JavaScript)**\\n\\n以下是客户端的HTML和JavaScript代码,它将连接到上面的SSE服务器并显示接收到的消息。\\n\\n```html\\n<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n<meta charset=\\\"UTF-8\\\">\\n<title>SSE Client Example</title>\\n<script>\\nwindow.onload = function() {\\n var eventSource = new EventSource('/events');\\n eventSource.onmessage = function(e) {\\n console.log('Received a message:', e.data);\\n document.getElementById('output').innerHTML += e.data + '<br>';\\n };\\n eventSource.onerror = function(e) {\\n console.error('EventSource failed:', e);\\n eventSource.close();\\n };\\n};\\n</script>\\n</head>\\n<body>\\n<div id=\\\"output\\\"></div>\\n</body>\\n</html>\\n```\\n\\n要运行这个示例,首先启动服务器端代码,然后打开HTML文件在浏览器中查看。服务器将开始向客户端发送消息,客户端将在`<div id=\\\"output\\\"></div>`元素中显示这些消息。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710837878,\n role: \"assistant\",\n },\n] as any;\n","var __rest = (this && this.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\nimport { getBytes, getLines, getMessages } from './parse';\r\nexport const EventStreamContentType = 'text/event-stream';\r\nconst DefaultRetryInterval = 1000;\r\nconst LastEventId = 'last-event-id';\r\nexport function fetchEventSource(input, _a) {\r\n var { signal: inputSignal, headers: inputHeaders, onopen: inputOnOpen, onmessage, onclose, onerror, openWhenHidden, fetch: inputFetch } = _a, rest = __rest(_a, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\r\n return new Promise((resolve, reject) => {\r\n const headers = Object.assign({}, inputHeaders);\r\n if (!headers.accept) {\r\n headers.accept = EventStreamContentType;\r\n }\r\n let curRequestController;\r\n function onVisibilityChange() {\r\n curRequestController.abort();\r\n if (!document.hidden) {\r\n create();\r\n }\r\n }\r\n if (!openWhenHidden) {\r\n document.addEventListener('visibilitychange', onVisibilityChange);\r\n }\r\n let retryInterval = DefaultRetryInterval;\r\n let retryTimer = 0;\r\n function dispose() {\r\n document.removeEventListener('visibilitychange', onVisibilityChange);\r\n window.clearTimeout(retryTimer);\r\n curRequestController.abort();\r\n }\r\n inputSignal === null || inputSignal === void 0 ? void 0 : inputSignal.addEventListener('abort', () => {\r\n dispose();\r\n resolve();\r\n });\r\n const fetch = inputFetch !== null && inputFetch !== void 0 ? inputFetch : window.fetch;\r\n const onopen = inputOnOpen !== null && inputOnOpen !== void 0 ? inputOnOpen : defaultOnOpen;\r\n async function create() {\r\n var _a;\r\n curRequestController = new AbortController();\r\n try {\r\n const response = await fetch(input, Object.assign(Object.assign({}, rest), { headers, signal: curRequestController.signal }));\r\n await onopen(response);\r\n await getBytes(response.body, getLines(getMessages(id => {\r\n if (id) {\r\n headers[LastEventId] = id;\r\n }\r\n else {\r\n delete headers[LastEventId];\r\n }\r\n }, retry => {\r\n retryInterval = retry;\r\n }, onmessage)));\r\n onclose === null || onclose === void 0 ? void 0 : onclose();\r\n dispose();\r\n resolve();\r\n }\r\n catch (err) {\r\n if (!curRequestController.signal.aborted) {\r\n try {\r\n const interval = (_a = onerror === null || onerror === void 0 ? void 0 : onerror(err)) !== null && _a !== void 0 ? _a : retryInterval;\r\n window.clearTimeout(retryTimer);\r\n retryTimer = window.setTimeout(create, interval);\r\n }\r\n catch (innerErr) {\r\n dispose();\r\n reject(innerErr);\r\n }\r\n }\r\n }\r\n }\r\n create();\r\n });\r\n}\r\nfunction defaultOnOpen(response) {\r\n const contentType = response.headers.get('content-type');\r\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith(EventStreamContentType))) {\r\n throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);\r\n }\r\n}\r\n//# sourceMappingURL=fetch.js.map","export async function getBytes(stream, onChunk) {\r\n const reader = stream.getReader();\r\n let result;\r\n while (!(result = await reader.read()).done) {\r\n onChunk(result.value);\r\n }\r\n}\r\nexport function getLines(onLine) {\r\n let buffer;\r\n let position;\r\n let fieldLength;\r\n let discardTrailingNewline = false;\r\n return function onChunk(arr) {\r\n if (buffer === undefined) {\r\n buffer = arr;\r\n position = 0;\r\n fieldLength = -1;\r\n }\r\n else {\r\n buffer = concat(buffer, arr);\r\n }\r\n const bufLength = buffer.length;\r\n let lineStart = 0;\r\n while (position < bufLength) {\r\n if (discardTrailingNewline) {\r\n if (buffer[position] === 10) {\r\n lineStart = ++position;\r\n }\r\n discardTrailingNewline = false;\r\n }\r\n let lineEnd = -1;\r\n for (; position < bufLength && lineEnd === -1; ++position) {\r\n switch (buffer[position]) {\r\n case 58:\r\n if (fieldLength === -1) {\r\n fieldLength = position - lineStart;\r\n }\r\n break;\r\n case 13:\r\n discardTrailingNewline = true;\r\n case 10:\r\n lineEnd = position;\r\n break;\r\n }\r\n }\r\n if (lineEnd === -1) {\r\n break;\r\n }\r\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\r\n lineStart = position;\r\n fieldLength = -1;\r\n }\r\n if (lineStart === bufLength) {\r\n buffer = undefined;\r\n }\r\n else if (lineStart !== 0) {\r\n buffer = buffer.subarray(lineStart);\r\n position -= lineStart;\r\n }\r\n };\r\n}\r\nexport function getMessages(onId, onRetry, onMessage) {\r\n let message = newMessage();\r\n const decoder = new TextDecoder();\r\n return function onLine(line, fieldLength) {\r\n if (line.length === 0) {\r\n onMessage === null || onMessage === void 0 ? void 0 : onMessage(message);\r\n message = newMessage();\r\n }\r\n else if (fieldLength > 0) {\r\n const field = decoder.decode(line.subarray(0, fieldLength));\r\n const valueOffset = fieldLength + (line[fieldLength + 1] === 32 ? 2 : 1);\r\n const value = decoder.decode(line.subarray(valueOffset));\r\n switch (field) {\r\n case 'data':\r\n message.data = message.data\r\n ? message.data + '\\n' + value\r\n : value;\r\n break;\r\n case 'event':\r\n message.event = value;\r\n break;\r\n case 'id':\r\n onId(message.id = value);\r\n break;\r\n case 'retry':\r\n const retry = parseInt(value, 10);\r\n if (!isNaN(retry)) {\r\n onRetry(message.retry = retry);\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n}\r\nfunction concat(a, b) {\r\n const res = new Uint8Array(a.length + b.length);\r\n res.set(a);\r\n res.set(b, a.length);\r\n return res;\r\n}\r\nfunction newMessage() {\r\n return {\r\n data: '',\r\n event: '',\r\n id: '',\r\n retry: undefined,\r\n };\r\n}\r\n//# sourceMappingURL=parse.js.map","import { fetchEventSource } from \"@microsoft/fetch-event-source\";\nimport { getBasePath } from \"@next-core/runtime\";\n\nexport interface SSEMessageItem {\n ctime: string;\n mtime: string;\n conversationId: string;\n messages: Array<{\n content: {\n type: string;\n text: string;\n };\n role: string;\n }>;\n}\n\nexport interface QueueItem {\n topic: string;\n message?: SSEMessageItem;\n}\n\nexport class ChatService {\n #agentId: string;\n #charting = false;\n #isStartEmitEvent = false;\n #emitTimer: NodeJS.Timeout | undefined;\n #messageQueue: Array<QueueItem> = [];\n #subscribers: Record<string, Array<(msg?: SSEMessageItem) => void>> = {};\n #conversationId?: string;\n\n constructor({ agentId }: { agentId: string }) {\n this.#agentId = agentId;\n }\n\n enqueue(data: QueueItem) {\n this.#messageQueue.push(data);\n // this.notifySubscribers(data);\n this.#startEmitEvent();\n }\n\n dequeue() {\n return this.#messageQueue.shift();\n }\n\n getMessageQueue() {\n return this.#messageQueue;\n }\n\n subscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (!this.#subscribers[topic]) {\n this.#subscribers[topic] = [];\n }\n this.#subscribers[topic].push(callback);\n }\n\n unsubscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (this.#subscribers[topic]) {\n this.#subscribers[topic] = this.#subscribers[topic].filter(\n (cb) => cb !== callback\n );\n }\n }\n\n notifySubscribers(data: QueueItem) {\n const topic = data.topic;\n if (this.#subscribers[topic]) {\n this.#subscribers[topic].forEach((callback) => {\n callback(data?.message);\n });\n }\n }\n\n async getSessionList() {\n // const response = await fetch(\n // `${getBasePath()}api/gateway/easyops.api.aiops_chat.conversation/conversation/list/${this.#agentId}`,\n // )\n // console.log(response);\n }\n\n async chat(str: string): Promise<void> {\n // http://172.30.0.57:8107\n const ctrl = new AbortController();\n this.#charting = true;\n await fetchEventSource(\n `${getBasePath()}api/gateway/easyops.api.aiops_chat.manage.LLMStreamChat/stream_chat`,\n {\n method: \"POST\",\n signal: ctrl.signal,\n body: JSON.stringify({\n agentId: this.#agentId,\n conversationId: this.#conversationId,\n messages: [\n {\n role: \"user\",\n content: [\n {\n text: str,\n type: \"text\",\n },\n ],\n },\n ],\n }),\n onopen: async (response) => {\n if (response.ok) {\n // eslint-disable-next-line no-console\n console.log(\"open sse service success!\");\n } else {\n // eslint-disable-next-line no-console\n console.log(\"open sse service fail!\");\n }\n },\n onmessage: (msg) => {\n const { data } = msg;\n let result = {} as SSEMessageItem;\n try {\n result = JSON.parse(data);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"数据格式错误\", e);\n }\n this.#conversationId = result.conversationId;\n // const newText = result.messages.map(item => item.context.text).toString();\n this.enqueue({\n topic: \"add\",\n message: result,\n });\n },\n onclose: () => {\n // eslint-disable-next-line no-console\n console.log(\"close\");\n ctrl.abort();\n },\n onerror: (err) => {\n // eslint-disable-next-line no-console\n console.log(\"err\", err);\n ctrl.abort();\n },\n }\n );\n\n this.#charting = false;\n }\n\n #startEmitEvent() {\n if (this.#isStartEmitEvent) return;\n this.#isStartEmitEvent = true;\n // 轮训队列,每隔 80ms 推出第一条数据,获取到 text,推送给组件,组件接受后进行渲染\n // 直到聊天结束,并且消息队列数据为空时,停止 emit\n this.#emitTimer = setInterval(() => {\n if (this.#charting || this.getMessageQueue().length) {\n const messageItem = this.dequeue()!;\n this.notifySubscribers(messageItem);\n } else {\n clearInterval(this.#emitTimer);\n this.#emitTimer = undefined;\n this.#isStartEmitEvent = false;\n this.notifySubscribers({ topic: \"finish\" });\n }\n }, 80);\n }\n}\n\n// export const chartService = new ChatService();\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { MessageItem, SessionItem } from \"../ChatViewContext.js\";\nimport { mockList2, mockmsgList } from \"../mockList.js\";\nimport moment from \"moment\";\nimport { ChatService, SSEMessageItem } from \"../ChatService.js\";\n\nexport function useChatViewInfo({ agentId }: { agentId: string }) {\n const [activeSessionId, setActiveSessionid] = useState<string>(\"1\");\n const [loading, setLoading] = useState<boolean>(false);\n const [chartting, setChatting] = useState<boolean>(false);\n const [sessionList, setSessionList] = useState<SessionItem[]>([]);\n const [msgList, setMsgList] = useState<MessageItem[]>([]);\n const [msgItem, setMsgItem] = useState<MessageItem>();\n const [searchStr, setSearchStr] = useState<string>(\"\");\n const chartingText = useRef<string>(\"\");\n const chartingMessageItem = useRef<MessageItem>();\n const chartService = useMemo(\n () =>\n new ChatService({\n agentId,\n }),\n [agentId]\n );\n\n useEffect(() => {\n // mock\n // setMsgList(mockmsgList);\n }, []);\n\n useEffect(() => {\n // chartService.getSessionList();\n // mock\n setSessionList([\n {\n title: \"会话一\",\n id: \"1\",\n ctime: 1710731756,\n active: true,\n },\n ]);\n }, []);\n\n useEffect(() => {\n const listener = (msgItem?: SSEMessageItem) => {\n if (!msgItem) return;\n chartingText.current =\n chartingText.current +\n msgItem.messages.map((item) => item.content.text).toString();\n // eslint-disable-next-line no-console\n console.log(chartingText.current);\n chartingMessageItem.current = {\n role: \"assistant\",\n content: [\n {\n type: \"markdown\",\n text: chartingText.current,\n },\n ],\n key: Math.random(),\n ctime: msgItem?.ctime,\n };\n setMsgItem(chartingMessageItem.current);\n };\n const finishListener = () => {\n setMsgList((list) => {\n return list.concat(chartingMessageItem.current!);\n });\n chartingText.current = \"\";\n setMsgItem(undefined);\n setChatting(false);\n };\n chartService.subscribe(\"add\", listener);\n chartService.subscribe(\"finish\", finishListener);\n return () => {\n chartService.unsubscribe(\"add\", listener);\n chartService.unsubscribe(\"finish\", finishListener);\n };\n }, [chartService]);\n\n const handleChat = useCallback(\n async (str: string) => {\n setChatting(true);\n chartService.chat(str);\n setMsgList((list) => {\n return list.concat({\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: str,\n },\n ],\n ctime: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n });\n });\n setMsgItem({\n role: \"assistant\",\n content: [\n {\n type: \"load\",\n text: \"\",\n },\n ],\n ctime: \"Now\",\n });\n },\n [chartService]\n );\n\n const updateSession = useCallback(async (id: string) => {\n setLoading(true);\n setMsgList([]);\n setActiveSessionid(id);\n const mockSearch = async () => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(id === \"1\" ? mockmsgList : mockList2);\n }, 5000);\n });\n };\n const list = await mockSearch();\n setMsgList(list as any);\n setLoading(false);\n }, []);\n\n return {\n loading,\n chartting,\n activeSessionId,\n sessionList,\n searchStr,\n msgList,\n msgItem,\n handleChat,\n updateSession,\n setSearchStr,\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}@media only screen and (min-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1556px}}@media only screen and (min-width: 1440px) and (max-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1156px}}@media only screen and (min-width: 804px) and (max-width: 1440px){.chat-view-container .chat-view-content .chat-view{width:804px}}@media only screen and (max-width: 804px){.chat-view-container .chat-view-content .chat-view{width:100%}}.chat-view-container{display:flex;flex-direction:row;width:100%;height:100%}.chat-view-selector{width:200px;padding:14px;border-right:1px solid var(--color-border-divider-line)}.chat-view-content{flex:1;display:flex;flex-direction:column;width:100%}.chat-view-content .chat-view-toolbar{background:#e0e4e5;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-view-content .chat-view-toolbar .username{color:#333333;font-weight:500;line-height:22px;font-size:16px}.chat-view-content .chat-view-toolbar .toolbar eo-icon{cursor:pointer}.chat-view-content .chat-view{max-width:100%;position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;overflow-y:auto;margin:0 auto}.session-list-wrapper .session-title{font-size:16px;color:var(--color-header-text);margin-bottom:16px}.session-list-wrapper .session-list{display:flex;flex-direction:column;gap:8px}.session-list-wrapper .session-list .session-item{cursor:pointer;border-radius:var(--small-border-radius);background-color:var(--third-menu-default-bg);padding:6px 16px;color:var(--color-header-text)}.session-list-wrapper .session-list .session-item.active{background-color:var(--third-menu-item-selected-bg);color:var(--color-brand)}.session-list-wrapper .session-list .session-item:hover,\n .session-list-wrapper .session-list .session-item.active:hover{color:var(--color-header-text);background-color:var(--third-menu-item-hover-bg)}.message-list{display:flex;flex-direction:column;padding-bottom:30px;padding:12px;flex:1;overflow-y:scroll}.message-list .message-list-box{display:flex;flex-direction:column;gap:18px}.message-list .message-list-box .message-item{display:flex;gap:8px;padding-right:40px}.message-list .message-list-box .message-item.user{flex-direction:row-reverse;padding:0;padding-left:40px}.message-list .message-list-box .message-item.user .message-box{position:relative}.message-list .message-list-box .message-item.user .message-box .message-top{flex-direction:row-reverse}.message-list .message-list-box .message-item.user .message-box .message-content{justify-content:end}.message-list .message-list-box .message-item.user .message-box .message-content .content{background-color:#606f7c;color:#fff}.message-list .message-list-box .message-item.user .message-box .message-content:hover .content-tip{display:block}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip{position:absolute;left:-22px;top:0px;display:none}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip eo-icon{padding:4px;color:#606f7c;cursor:pointer}.message-list .message-list-box .message-item .avatar{font-size:36px;margin-top:32px}.message-list .message-list-box .message-item .message-box .message-content{display:flex;justify-content:start;position:relative}.message-list .message-list-box .message-item .message-box .message-content .content{position:relative;padding:14px;border-radius:6px;background:#f1f3f4}.message-list .message-list-box .message-item .message-box .message-content .content .text-item{white-space:pre-wrap}.message-list .message-list-box .message-item .message-box .message-top{display:flex;margin-bottom:4px;color:#bec8ce;gap:8px}.message-list .message-list-box .message-item .message-box .message-top .time{min-height:22px}.message-list .message-list-box .message-item .message-box .message-bottom{display:flex;justify-content:end;margin-top:4px}.message-list .message-list-box .message-item .message-box .message-bottom.user{justify-content:start}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar{display:flex;gap:16px}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar eo-icon{cursor:pointer;color:#606f7c}.message-list .message-list-box .message-item .message-box .message-bottom .message-toolbar .toolbar eo-icon[icon=\"copy\"]{padding-left:12px;border-left:1px solid #d9d9d9}.search-input-box{display:flex;flex-direction:column;height:50px;padding:12px;position:relative}.search-input-box.fill-content{box-shadow:1px 0px 4px 0px rgba(197,197,197,0.5)}.search-input-box .input-box{position:absolute;bottom:20px;left:12px;right:12px;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s;overflow:visible}.search-input-box .input-box.active{border-color:var(--antd-input-focus-border-color)}.search-input-box .input-box.disabled{pointer-events:none;background:var(--input-outline-disabled);cursor:not-allowed}.search-input-box .input-box.expand textarea{padding-right:50px;margin-bottom:50px}.search-input-box .input-box textarea{width:100%;height:22px;font-size:18px;resize:none;padding:10px 50px 10px 10px;outline:none;border:none;line-height:20px;color:inherit;background-color:transparent;cursor:inherit;transition:all 300ms ease-out}.search-input-box .input-box textarea::placeholder{color:#b0b1b8}.search-input-box .input-box .suffix-icon{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:6px}.search-input-box .input-box .suffix-icon eo-tooltip{display:flex}.search-input-box .input-box .suffix-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .suffix-icon eo-icon:hover{background:#ddd}.search-input-box .input-box .suffix-icon .submit-split{width:1px;height:20px;background:#d1d1d1}.search-input-box .input-box .suffix-icon .submit-btn.active{color:var(--color-brand)}.search-input-box .input-box .suffix-icon .submit-btn.disabled{color:var(--color-disabled-text);cursor:not-allowed}.search-input-box .input-box .toolbar-icon{position:absolute;top:12px;right:14px}.search-input-box .input-box .toolbar-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .toolbar-icon eo-icon:hover{background:#ddd}.search-input-box .search-input-toolbar{display:flex;justify-content:end;position:absolute;right:12px;bottom:0px}.search-input-box .search-input-toolbar .input-tip{font-size:12px;color:var(--color-secondary-text)}.loading-wrapper{display:flex;padding:20px;font-size:40px;align-items:center;justify-content:center;background:inherit;color:#d2d3d4;border-radius:6px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["ChatViewContext","createContext","useChatViewContext","useContext","WrappedIcon","wrapBrick","WrappedToolTip","ChatViewToolbar","React","className","content","lib","icon","onClick","handleJump","getHistory","push","WrapperIcon","Avatar","_ref","role","useMemo","category","Loading","loading","spinning","WrappedLink","GuideItem","text","prompts","map","item","index","key","WrappedMarkdownEditor","MarkdownItem","containerStyle","border","background","readonly","value","WrappedNextTable","TableItem","parseContent","JSON","parse","_unused","_extends","pagination","TextItem","copyToClipboard","unwrapProvider","showNotification","Toolbar","chatting","isAssistant","find","type","isChattingItem","showLike","theme","handleCopy","str","toString","then","message","catch","Time","time","moment","format","ContentTip","isUser","chartting","setSearchStr","MessageNode","props","ctime","getContentNode","useCallback","examplePrompts","messageNode","classNames","DEFAULT_OFFSET_HEIGHT","MessageList","showAvatar","messageListRef","useRef","messgetListBoxRef","preHeight","setPreHeight","useState","msgList","msgItem","getMsgItemNode","_item$ctime","arguments","length","undefined","user","msgListNode","msgItemNode","_objectSpread","useEffect","element","current","observer","ResizeObserver","entries","newHeight","entry","contentRect","height","scroll","top","Number","MAX_SAFE_INTEGER","Math","max","observe","disconnect","ref","hiddenTextarea","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","SearchInput","setValue","active","setActive","expand","setExpand","autoSizeStyle","setAutoSizeStyle","isFillContent","setIsFillContent","searchInputBoxRef","textareaRef","hadExpanded","searchStr","handleChat","hadValue","defaultSize","disabled","computedAutoSize","size","textareaElement","textareaStyles","uiTextNode","minRows","maxRows","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","name","concat","getPropertyValue","join","placeholder","minHeight","maxHeight","scrollHeight","singleRowHeight","min","style","overflowY","resize","calculateAutoSizeStyle","handleChange","e","target","handleExpand","handleSubmit","blur","handleKeyDown","shiftKey","preventDefault","searchInputBox","width","currentWidth","getBoundingClientRect","parentWidth","parentElement","paddingRight","onFocus","onBlur","onChange","onKeyDown","hanldeCreateSession","SessionList","sessionList","SessionItem","title","id","updateSession","activeSessionId","handleUpdateSession","mockmsgList","mockList2","EventStreamContentType","LastEventId","fetchEventSource","input","_a","signal","inputSignal","headers","inputHeaders","onopen","inputOnOpen","onmessage","onclose","onerror","openWhenHidden","fetch","inputFetch","rest","s","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","Promise","resolve","reject","assign","curRequestController","onVisibilityChange","abort","hidden","create","accept","addEventListener","retryInterval","retryTimer","dispose","removeEventListener","clearTimeout","defaultOnOpen","async","AbortController","response","stream","onChunk","reader","getReader","result","read","done","getBytes","onLine","buffer","position","fieldLength","discardTrailingNewline","arr","a","b","res","Uint8Array","set","bufLength","lineStart","lineEnd","subarray","getLines","onId","onRetry","onMessage","data","event","retry","decoder","TextDecoder","line","field","decode","valueOffset","parseInt","isNaN","getMessages","err","aborted","interval","setTimeout","innerErr","contentType","get","startsWith","Error","_agentId","WeakMap","_charting","_isStartEmitEvent","_emitTimer","_messageQueue","_subscribers","_conversationId","_ChatService_brand","WeakSet","ChatService","constructor","agentId","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_classPrivateFieldSet","this","enqueue","_classPrivateFieldGet","_assertClassBrand","_startEmitEvent","dequeue","shift","getMessageQueue","subscribe","topic","callback","unsubscribe","filter","cb","notifySubscribers","forEach","getSessionList","_asyncToGenerator","chat","_this","_ref2","ctrl","getBasePath","method","stringify","conversationId","messages","ok","console","log","_x","apply","msg","setInterval","messageItem","clearInterval","useChatViewInfo","setActiveSessionid","setLoading","setChatting","setSessionList","setMsgList","setMsgItem","chartingText","chartingMessageItem","chartService","listener","random","finishListener","list","_ref3","mockSearch","_ref4","_x2","___CSS_LOADER_EXPORT___","module"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see chat-view.388265e8.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunk_next_bricks_advanced=self.webpackChunk_next_bricks_advanced||[]).push([[6129,6330,2052],{11943:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ChatView:()=>N,ChatViewComponent:()=>G});var r,o,i,s,a,c,u,l,h,f,p,d,v,w,g=n(70918),m=n(11369),y=n(18449),b=n(4521),A=n(18769),S=n.n(A),j=n(79929),O=n(39938),E=n(10015),k=n(6994),P=n(75144),I=n(3830),L=n(60205),T=n(87883),x=n(68894);function C(t,e,n){return t.set(M(t,e),n),n}function D(t,e){return t.get(M(t,e))}function M(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n(90330);var N,{defineElement:W,property:_}=(0,j.createDecorators)(),z=new WeakMap,B=new WeakMap,R=new WeakMap,V=new WeakMap,F=new WeakMap,Z=new WeakMap;class q extends O.ReactNextElement{constructor(){super(...arguments),(0,g.A)(this,z,o(this)),(0,g.A)(this,B,(i(this),s(this))),(0,g.A)(this,R,(a(this),c(this))),(0,g.A)(this,V,(u(this),l(this))),(0,g.A)(this,F,(h(this),f(this))),(0,g.A)(this,Z,(p(this),d(this))),v(this)}get sessionId(){return D(z,this)}set sessionId(t){C(z,this,t)}get agentId(){return D(B,this)}set agentId(t){C(B,this,t)}get showToolbar(){return D(R,this)}set showToolbar(t){C(R,this,t)}get showAvatar(){return D(V,this)}set showAvatar(t){C(V,this,t)}get showSessionList(){return D(F,this)}set showSessionList(t){C(F,this,t)}get showLike(){return D(Z,this)}set showLike(t){C(Z,this,t)}render(){return S().createElement(G,{agentId:this.agentId,sessionId:this.sessionId,showToolbar:this.showToolbar,showAvatar:this.showAvatar,showSessionList:this.showSessionList,showLike:this.showLike})}}function G(t){var{agentId:e,showToolbar:n,showAvatar:r,showSessionList:o=!0,showLike:i=!0}=t,{activeSessionId:s,msgList:a,msgItem:c,sessionList:u,loading:l,chartting:h,searchStr:f,handleChat:p,updateSession:d,setSearchStr:v}=(0,P.F)({agentId:e});return S().createElement(E.t.Provider,{value:{activeSessionId:s,sessionList:u,msgList:a,msgItem:c,chartting:h,loading:l,searchStr:f,showLike:i,handleChat:p,updateSession:d,setSearchStr:v}},S().createElement("div",{className:"chat-view-container"},o&&S().createElement("div",{className:"chat-view-selector"},S().createElement(I.Z,null)),S().createElement("div",{className:"chat-view-content"},n&&S().createElement(T.v,null),S().createElement("div",{className:"chat-view"},S().createElement(k.M,{showAvatar:r}),S().createElement(L.D,null)))))}w=q,({e:[o,i,s,a,c,u,l,h,f,p,d,v],c:[N,r]}=function(t,e,n,r,o,i){var s,a,c,u,l,h,f,p=Symbol.metadata||Symbol.for("Symbol.metadata"),d=Object.defineProperty,v=Object.create,w=[v(null),v(null)],g=e.length;function A(e,n,r){return function(o,i){n&&(i=o,o=t);for(var s=0;s<e.length;s++)i=e[s].apply(o,r?[i]:[]);return r?i:o}}function S(t,e,n,r){if("function"!=typeof t&&(r||void 0!==t))throw new TypeError(e+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return t}function j(t,e,n,r,o,i,c,u,l,h,f){function p(t){if(!f(t))throw new TypeError("Attempted to access private element on non-instance")}var v=[].concat(e[0]),g=e[3],m=!c,b=1===o,j=3===o,O=4===o,E=2===o;function k(e,n,r){return function(o,i){return n&&(i=o,o=t),r&&r(o),P[e].call(o,i)}}if(!m){var P={},I=[],L=j?"get":O||b?"set":"value";if(l?(h||b?P={get:(0,y.A)((function(){return g(this)}),r,"get"),set:function(t){e[4](this,t)}}:P[L]=g,h||(0,y.A)(P[L],r,E?"":L)):h||(P=Object.getOwnPropertyDescriptor(t,r)),!h&&!l){if((a=w[+u][r])&&7!=(a^o))throw new Error("Decorating two elements with the same name ("+P[L].name+") is not supported yet");w[+u][r]=o<3?1:o}}for(var T=t,x=v.length-1;x>=0;x-=n?2:1){var C=v[x],D=n?v[x-1]:void 0,M={},N={kind:["field","accessor","method","getter","setter","class"][o],name:r,metadata:s,addInitializer:function(t,e){if(t.v)throw new Error("attempted to call addInitializer after decoration was finished");S(e,"An initializer","be",!0),i.push(e)}.bind(null,M)};if(m)a=C.call(D,T,N),M.v=1,S(a,"class decorators","return")&&(T=a);else if(N.static=u,N.private=l,a=N.access={has:l?f.bind():function(t){return r in t}},O||(a.get=l?E?function(t){return p(t),P.value}:k("get",0,p):function(t){return t[r]}),E||j||(a.set=l?k("set",0,p):function(t,e){t[r]=e}),T=C.call(D,b?{get:P.get,set:P.set}:P[L],N),M.v=1,b){if("object"==typeof T&&T)(a=S(T.get,"accessor.get"))&&(P.get=a),(a=S(T.set,"accessor.set"))&&(P.set=a),(a=S(T.init,"accessor.init"))&&I.unshift(a);else if(void 0!==T)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else S(T,(h?"field":"method")+" decorators","return")&&(h?I.unshift(T):P[L]=T)}return o<2&&c.push(A(I,u,1),A(i,u,0)),h||m||(l?b?c.splice(-1,0,k("get",u),k("set",u)):c.push(E?P[L]:S.call.bind(P[L])):d(t,r,P)),T}function O(t){return d(t,p,{configurable:!0,enumerable:!0,value:s})}return void 0!==i&&(s=i[p]),s=v(null==s?null:s),l=[],h=function(t){t&&l.push(A(t))},(f=function(e,r){for(var o=0;o<n.length;o++){var i=n[o],s=i[1],a=7&s;if((8&s)==e&&!a==r){var h=i[2],f=!!i[3],p=16&s;j(e?t:t.prototype,i,p,f?"#"+h:(0,m.A)(h),a,a<2?[]:e?u=u||[]:c=c||[],l,!!e,f,r,e&&f?function(e){return(0,b.A)(e)===t}:undefined)}}})(8,0),f(0,0),f(8,1),f(0,1),h(c),h(u),a=l,g||O(t),{e:a,get c(){var n=[];return g&&[O(t=j(t,[e],0,t.name,5,n)),A(n,1)]}}}(w,[W("advanced.chat-view",{styleTexts:[x.A]})],[[_(),1,"sessionId"],[_(),1,"agentId"],[_({type:Boolean}),1,"showToolbar"],[_({type:Boolean}),1,"showAvatar"],[_({type:Boolean}),1,"showSessionList"],[_({type:Boolean}),1,"showLike"]],0,0,O.ReactNextElement)),r()},40935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(s[c]=!0)}for(var u=0;u<t.length;u++){var l=[].concat(t[u]);r&&s[l[0]]||(void 0!==i&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},36758:t=>{"use strict";t.exports=function(t){return t[1]}},53373:(t,e)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(t=s(t,i(n)))}return t}function i(t){if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return o.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var n in t)r.call(t,n)&&t[n]&&(e=s(e,n));return e}function s(t,e){return e?t?t+" "+e:t+e:t}t.exports?(o.default=o,t.exports=o):void 0===(n=function(){return o}.apply(e,[]))||(t.exports=n)}()},86330:(t,e,n)=>{"use strict";function r(t,e,n,r,o,i,s){try{var a=t[i](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,o)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var s=t.apply(e,n);function a(t){r(s,o,i,a,c,"next",t)}function c(t){r(s,o,i,a,c,"throw",t)}a(void 0)}))}}n.d(e,{A:()=>o})},4521:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(17545);function o(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==t?(0,r.A)(t):"null"));return t}},72016:(t,e,n)=>{"use strict";function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},70918:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(72016);function o(t,e,n){(0,r.A)(t,e),e.set(t,n)}},74635:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(72016);function o(t,e){(0,r.A)(t,e),e.add(t)}},24586:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(11369);function o(t,e,n){return(e=(0,r.A)(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},89575:(t,e,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r.apply(this,arguments)}n.d(e,{A:()=>r})},69740:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(24586);function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){(0,r.A)(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}},18449:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(17545);function o(t,e,n){"symbol"==(0,r.A)(e)&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:n?n+" "+e:e})}catch(t){}return t}},11369:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(17545);function o(t){var e=function(t,e){if("object"!=(0,r.A)(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,"string");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,r.A)(e)?e:String(e)}},17545:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}n.d(e,{A:()=>r})}}]);
|
|
3
|
-
//# sourceMappingURL=chat-view.388265e8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-view.388265e8.js","mappings":"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","sources":["webpack:///./src/chat-view/index.tsx","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { ChatViewContext } from \"./ChatViewContext.js\";\nimport { MessageList } from \"./components/MessageList.js\";\nimport { useChatViewInfo } from \"./hooks/useChatViewInfo.js\";\nimport { SessionList } from \"./components/SessionList.js\";\nimport { SearchInput } from \"./components/SearchInput.js\";\nimport { ChatViewToolbar } from \"./components/ChatViewToolbar.js\";\nimport styleText from \"./styles.shadow.css\";\nimport \"@next-core/theme\";\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * AI 对话终端\n */\nexport\n@defineElement(\"advanced.chat-view\", {\n styleTexts: [styleText],\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 * 是否展示聊天工具栏\n */\n @property({\n type: Boolean,\n })\n accessor showToolbar: 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 * @default true\n */\n @property({\n type: Boolean,\n })\n accessor showLike: boolean | undefined;\n\n render() {\n return (\n <ChatViewComponent\n agentId={this.agentId}\n sessionId={this.sessionId}\n showToolbar={this.showToolbar}\n showAvatar={this.showAvatar}\n showSessionList={this.showSessionList}\n showLike={this.showLike}\n />\n );\n }\n}\n\nexport interface ChatViewProps {\n agentId: string;\n sessionId?: string;\n showToolbar?: boolean;\n showAvatar?: boolean;\n showSessionList?: boolean;\n showLike?: boolean;\n}\n\nexport function ChatViewComponent({\n agentId,\n showToolbar,\n showAvatar,\n showSessionList = true,\n showLike = true,\n}: ChatViewProps) {\n const {\n activeSessionId,\n msgList,\n msgItem,\n sessionList,\n loading,\n chartting,\n searchStr,\n handleChat,\n updateSession,\n setSearchStr,\n } = useChatViewInfo({\n agentId,\n });\n\n return (\n <ChatViewContext.Provider\n value={{\n activeSessionId,\n sessionList,\n msgList,\n msgItem,\n chartting,\n loading,\n searchStr,\n showLike,\n handleChat,\n updateSession,\n setSearchStr,\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 {showToolbar && <ChatViewToolbar />}\n <div className=\"chat-view\">\n <MessageList showAvatar={showAvatar} />\n <SearchInput />\n </div>\n </div>\n </div>\n </ChatViewContext.Provider>\n );\n}\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"names":["_ChatView","defineElement","property","createDecorators","_A","WeakMap","_B","_C","_D","_E","_F","ChatView","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_init_sessionId","_init_extra_sessionId","_init_agentId","_init_extra_agentId","_init_showToolbar","_init_extra_showToolbar","_init_showAvatar","_init_extra_showAvatar","_init_showSessionList","_init_extra_showSessionList","_init_showLike","_init_extra_showLike","sessionId","_classPrivateFieldGet","v","_classPrivateFieldSet","agentId","showToolbar","showAvatar","showSessionList","showLike","render","React","ChatViewComponent","this","_ref","activeSessionId","msgList","msgItem","sessionList","loading","chartting","searchStr","handleChat","updateSession","setSearchStr","useChatViewInfo","ChatViewContext","Provider","value","className","SessionList","ChatViewToolbar","MessageList","SearchInput","_ChatView2","e","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","module","exports","cssWithMappingToString","list","toString","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","apply","Object","prototype","includes","key","call","newClass","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","_checkInRHS","TypeError","_checkPrivateRedeclaration","obj","privateCollection","has","privateMap","set","_classPrivateMethodInitSpec","privateSet","add","_defineProperty","defineProperty","enumerable","configurable","writable","_extends","assign","bind","target","source","ownKeys","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","setFunctionName","n","description","toPropertyKey","Symbol","toPrimitive","String","_typeof","iterator"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{var e,t,r,n,a,o,l,c,i,f,d,u,s,h,b,p,m,v,x,g,y,P,j,k={17934:(e,t,r)=>{Promise.all([r.e(1549),r.e(6800),r.e(1436),r.e(3761),r.e(5368),r.e(8841),r.e(8317),r.e(5541),r.e(9655),r.e(2025),r.e(7039),r.e(9484),r.e(8769),r.e(1030),r.e(9435),r.e(9929),r.e(8299),r.e(5530),r.e(6263),r.e(2681),r.e(8799),r.e(5290),r.e(9542),r.e(5479),r.e(513)]).then(r.bind(r,47816))}},w={};function O(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,O),r.loaded=!0,r.exports}O.m=k,O.c=w,O.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return O.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,O.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"==typeof r.then)return r}var a=Object.create(null);O.r(a);var o={};e=e||[null,t({}),t([]),t(t)];for(var l=2&n&&r;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((e=>o[e]=()=>r[e]));return o.default=()=>r,O.d(a,o),a},O.d=(e,t)=>{for(var r in t)O.o(t,r)&&!O.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},O.f={},O.e=e=>Promise.all(Object.keys(O.f).reduce(((t,r)=>(O.f[r](e,t),t)),[])),O.u=e=>"chunks/"+e+"."+{114:"939f84b3",478:"157addab",513:"012e9518",726:"3da9c6a8",790:"73f2dd1d",1030:"9a3bc444",1045:"6ac72d59",1122:"443bf544",1302:"877516bc",1370:"f5711ebb",1436:"791333be",1549:"f8b952df",1576:"218de96f",1651:"d494a333",1860:"f38d415d",1889:"d343ec6f",1940:"19b9ad66",1972:"5ed0dc71",2025:"e18ab4fb",2052:"cf331b1b",2073:"711d96d8",2277:"ad4dcf98",2617:"9be763ae",2681:"5785ff02",3144:"3fd68397",3171:"37596a9b",3426:"7791cceb",3761:"162481f3",3933:"2e9cbbad",4041:"290c1b24",4658:"9ee4f95f",4741:"a99aeaca",5053:"97cae8bc",5250:"fe9e143a",5290:"9a5793df",5368:"2f25a6b3",5384:"7ed9db85",5399:"c90375cf",5479:"a0737c65",5481:"f1d1c9c4",5530:"4aeb7d11",5541:"103446ea",5552:"5c5fbce0",6263:"d86d4c14",6314:"d70af290",6330:"691966e7",6519:"52d0f86c",6688:"ae20b01b",6773:"e28dbeba",6800:"f81b7880",7039:"055fdf7a",7304:"093f0d25",7434:"184ead21",7452:"6d02c7eb",7721:"f5275653",7733:"5f8c2d29",7780:"1f94864f",7825:"92bf68f2",8097:"39d9b97d",8260:"bb40390f",8299:"c47158dd",8317:"42860852",8438:"15ac49c0",8442:"01a159be",8769:"1b74d046",8799:"aa70e5d4",8841:"f0587441",8989:"c957be2a",9259:"a7096477",9435:"e98e24c5",9484:"624da25b",9515:"4d0b35e9",9542:"578ac7bc",9559:"56808b78",9591:"ac4c49ed",9655:"79761c08",9844:"7edfae2f",9929:"6623a3e2"}[e]+".js",O.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),O.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="@next-bricks/advanced:",O.l=(e,t,a,o)=>{if(r[e])r[e].push(t);else{var l,c;if(void 0!==a)for(var i=document.getElementsByTagName("script"),f=0;f<i.length;f++){var d=i[f];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==n+a){l=d;break}}l||(c=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,O.nc&&l.setAttribute("nonce",O.nc),l.setAttribute("data-webpack",n+a),l.src=e),r[e]=[t];var u=(t,n)=>{l.onerror=l.onload=null,clearTimeout(s);var a=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.bind(null,l.onload),c&&document.head.appendChild(l)}},O.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},O.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{O.S={};var e={},t={};O.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];O.o(O.S,r)||(O.S[r]={});var o=O.S[r],l="@next-bricks/advanced",c=(e,t,r,n)=>{var a=o[e]=o[e]||{},c=a[t];(!c||!c.loaded&&(!n!=!c.eager?n:l>c.from))&&(a[t]={get:r,from:l,eager:!!n})},i=[];return"default"===r&&(c("@babel/parser","7.24.0",(()=>O.e(6773).then((()=>()=>O(46773))))),c("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([O.e(4741),O.e(1030),O.e(6688)]).then((()=>()=>O(24741))))),c("@next-core/cook","2.2.13",(()=>Promise.all([O.e(1122),O.e(2617)]).then((()=>()=>O(61122))))),c("@next-core/element","1.2.3",(()=>O.e(3426).then((()=>()=>O(21045))))),c("@next-core/http","1.1.10",(()=>O.e(1370).then((()=>()=>O(48989))))),c("@next-core/i18n/react","1.0.39",(()=>Promise.all([O.e(8799),O.e(7825),O.e(8097)]).then((()=>()=>O(88097))))),c("@next-core/i18n","1.0.39",(()=>Promise.all([O.e(8799),O.e(8438),O.e(8442),O.e(5552)]).then((()=>()=>O(75552))))),c("@next-core/inject","1.0.29",(()=>Promise.all([O.e(1030),O.e(9259),O.e(2277)]).then((()=>()=>O(72277))))),c("@next-core/loader","1.5.5",(()=>O.e(5399).then((()=>()=>O(35399))))),c("@next-core/pipes","2.0.17",(()=>O.e(6519).then((()=>()=>O(76519))))),c("@next-core/react-element","1.0.22",(()=>Promise.all([O.e(8769),O.e(9435),O.e(9929),O.e(114)]).then((()=>()=>O(20114))))),c("@next-core/react-runtime","1.2.9",(()=>Promise.all([O.e(8769),O.e(1030),O.e(5530),O.e(1972)]).then((()=>()=>O(91972))))),c("@next-core/runtime","1.34.3",(()=>Promise.all([O.e(1549),O.e(1860),O.e(1030),O.e(8438),O.e(5290),O.e(1302),O.e(5481),O.e(8260),O.e(6330)]).then((()=>()=>O(51860))))),c("@next-core/supply","2.1.12",(()=>Promise.all([O.e(1030),O.e(9259),O.e(1302),O.e(9559)]).then((()=>()=>O(49559))))),c("@next-core/theme","1.4.8",(()=>Promise.all([O.e(1889),O.e(2052)]).then((()=>()=>O(51889))))),c("@next-core/utils/general","1.6.11",(()=>O.e(7452).then((()=>()=>O(17452))))),c("@next-core/utils/storyboard","1.6.11",(()=>Promise.all([O.e(2681),O.e(5481),O.e(3933)]).then((()=>()=>O(13933))))),c("history","4.10.1",(()=>O.e(5384).then((()=>()=>O(65384))))),c("i18next-browser-languagedetector","7.2.0",(()=>O.e(726).then((()=>()=>O(50726))))),c("i18next","22.5.1",(()=>O.e(7304).then((()=>()=>O(47304))))),c("js-yaml","3.14.1",(()=>O.e(9515).then((()=>()=>O(19515))))),c("lodash","4.17.21",(()=>O.e(5250).then((()=>()=>O(45250))))),c("moment/locale/zh-cn.js","2.29.4",(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(61329))))),c("moment","2.29.4",(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(99420))))),c("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([O.e(3144),O.e(8769)]).then((()=>()=>O(43144))))),c("react-i18next","12.3.1",(()=>Promise.all([O.e(8769),O.e(7434)]).then((()=>()=>O(97434))))),c("react","0.0.0-experimental-ee8509801-20230117",(()=>O.e(4041).then((()=>()=>O(14041)))))),e[r]=i.length?Promise.all(i).then((()=>e[r]=1)):1}}})(),(()=>{var e;O.g.importScripts&&(e=O.g.location+"");var t=O.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),O.p=e+"../"})(),a=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},o=(e,t)=>{e=a(e),t=a(t);for(var r=0;;){if(r>=e.length)return r<t.length&&"u"!=(typeof t[r])[0];var n=e[r],o=(typeof n)[0];if(r>=t.length)return"u"==o;var l=t[r],c=(typeof l)[0];if(o!=c)return"o"==o&&"n"==c||"s"==c||"u"==o;if("o"!=o&&"u"!=o&&n!=l)return n<l;r++}},l=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,r+="u"==(typeof(c=e[a]))[0]?"-":(n>0?".":"")+(n=2,c);return r}var o=[];for(a=1;a<e.length;a++){var c=e[a];o.push(0===c?"not("+i()+")":1===c?"("+i()+" || "+i()+")":2===c?o.pop()+" "+o.pop():l(c))}return i();function i(){return o.pop().replace(/^\((.+)\)$/,"$1")}},c=(e,t)=>{if(0 in e){t=a(t);var r=e[0],n=r<0;n&&(r=-r-1);for(var o=0,l=1,i=!0;;l++,o++){var f,d,u=l<e.length?(typeof e[l])[0]:"";if(o>=t.length||"o"==(d=(typeof(f=t[o]))[0]))return!i||("u"==u?l>r&&!n:""==u!=n);if("u"==d){if(!i||"u"!=u)return!1}else if(i)if(u==d)if(l<=r){if(f!=e[l])return!1}else{if(n?f>e[l]:f<e[l])return!1;f!=e[l]&&(i=!1)}else if("s"!=u&&"n"!=u){if(n||l<=r)return!1;i=!1,l--}else{if(l<=r||d<u!=n)return!1;i=!1}else"s"!=u&&"n"!=u&&(i=!1,l--)}}var s=[],h=s.pop.bind(s);for(o=1;o<e.length;o++){var b=e[o];s.push(1==b?h()|h():2==b?h()&h():b?c(b,t):!h())}return!!h()},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&o(e,t)?t:e),0)},f=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+l(n)+")",d=(e,t,r,n)=>{var a=i(e,r);return b(e[r][a])},u=(e,t,r,n)=>{var a=i(e,r);return c(n,a)||h(f(e,r,a,n)),b(e[r][a])},s=(e,t,r)=>{var n=e[t];return(t=Object.keys(n).reduce(((e,t)=>!c(r,t)||e&&!o(e,t)?e:t),0))&&n[t]},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=e=>(e.loaded=1,e.get()),m=(p=e=>function(t,r,n,a){var o=O.I(t);return o&&o.then?o.then(e.bind(e,t,O.S[t],r,n,a)):e(t,O.S[t],r,n,a)})(((e,t,r,n)=>t&&O.o(t,r)?d(t,0,r):n())),v=p(((e,t,r,n,a)=>t&&O.o(t,r)?u(t,0,r,n):a())),x=p(((e,t,r,n,a)=>{var o=t&&O.o(t,r)&&s(t,r,n);return o?b(o):a()})),g={},y={18769:()=>x("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>O.e(4041).then((()=>()=>O(14041))))),41030:()=>v("default","lodash",[1,4,17,21],(()=>O.e(5250).then((()=>()=>O(45250))))),59435:()=>x("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>O.e(3144).then((()=>()=>O(43144))))),79929:()=>x("default","@next-core/element",[1,1,2,3],(()=>O.e(1045).then((()=>()=>O(21045))))),39938:()=>x("default","@next-core/react-element",[1,1,0,22],(()=>Promise.all([O.e(9435),O.e(7733)]).then((()=>()=>O(20114))))),90330:()=>v("default","@next-core/theme",[1,1,4,8],(()=>O.e(1889).then((()=>()=>O(51889))))),5530:()=>v("default","@next-core/runtime",[1,1,34,3],(()=>Promise.all([O.e(1549),O.e(1860),O.e(1030),O.e(8438),O.e(5290),O.e(1302),O.e(5481),O.e(8260)]).then((()=>()=>O(51860))))),76263:()=>x("default","@next-core/react-runtime",[1,1,2,9],(()=>Promise.all([O.e(1030),O.e(5530),O.e(9591)]).then((()=>()=>O(91972))))),52681:()=>m("default","@next-core/utils/general",(()=>O.e(7452).then((()=>()=>O(17452))))),18799:()=>m("default","@next-core/i18n",(()=>Promise.all([O.e(8438),O.e(8442),O.e(3171)]).then((()=>()=>O(75552))))),75290:()=>v("default","@next-core/http",[1,1,1,10],(()=>O.e(8989).then((()=>()=>O(48989))))),6238:()=>m("default","moment",(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(99420))))),36538:()=>m("default","react-i18next",(()=>O.e(5053).then((()=>()=>O(97434))))),85502:()=>m("default","@next-core/i18n/react",(()=>Promise.all([O.e(7825),O.e(478)]).then((()=>()=>O(88097))))),28297:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(99420))))),91204:()=>v("default","js-yaml",[1,3,14,0],(()=>O.e(9515).then((()=>()=>O(19515))))),12617:()=>v("default","@babel/parser",[1,7,24,0],(()=>O.e(6773).then((()=>()=>O(46773))))),47825:()=>v("default","react-i18next",[1,12,3,1],(()=>Promise.all([O.e(8769),O.e(7434)]).then((()=>()=>O(97434))))),48438:()=>v("default","@next-core/utils/general",[1,1,6,11],(()=>O.e(7452).then((()=>()=>O(17452))))),2350:()=>v("default","i18next",[1,22,5,1],(()=>O.e(7304).then((()=>()=>O(47304))))),76837:()=>v("default","i18next-browser-languagedetector",[1,7,2,0],(()=>O.e(726).then((()=>()=>O(50726))))),99259:()=>v("default","@next-core/pipes",[1,2,0,17],(()=>O.e(6519).then((()=>()=>O(76519))))),161:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([O.e(4741),O.e(1030),O.e(6688)]).then((()=>()=>O(24741))))),21302:()=>v("default","moment",[1,2,30,1],(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(99420))))),75481:()=>v("default","@next-core/cook",[1,2,2,13],(()=>Promise.all([O.e(1122),O.e(2617)]).then((()=>()=>O(61122))))),17058:()=>v("default","@next-core/i18n",[1,1,0,39],(()=>Promise.all([O.e(8799),O.e(8442),O.e(790)]).then((()=>()=>O(75552))))),26036:()=>v("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([O.e(7721),O.e(9844)]).then((()=>()=>O(61329))))),32890:()=>v("default","history",[1,4,10,1],(()=>O.e(5384).then((()=>()=>O(65384))))),35435:()=>v("default","@next-core/inject",[1,1,0,29],(()=>Promise.all([O.e(9259),O.e(4658)]).then((()=>()=>O(72277))))),50050:()=>v("default","@next-core/utils/storyboard",[1,1,6,11],(()=>Promise.all([O.e(2681),O.e(6314)]).then((()=>()=>O(13933))))),66154:()=>v("default","@next-core/loader",[1,1,5,5],(()=>O.e(7780).then((()=>()=>O(35399))))),87731:()=>v("default","@next-core/supply",[1,2,1,12],(()=>Promise.all([O.e(9259),O.e(1940)]).then((()=>()=>O(49559)))))},P={1030:[41030],1302:[21302],2617:[12617],2681:[52681],5290:[75290],5479:[36538,85502],5481:[75481],5530:[5530],6263:[76263],6519:[161],6688:[28297,91204],7825:[47825],8260:[17058,26036,32890,35435,50050,66154,87731],8299:[39938,90330],8438:[48438],8442:[2350,76837],8769:[18769],8799:[18799],9259:[99259],9435:[59435],9542:[6238],9929:[79929]},j={},O.f.consumes=(e,t)=>{O.o(P,e)&&P[e].forEach((e=>{if(O.o(g,e))return t.push(g[e]);if(!j[e]){var r=t=>{g[e]=0,O.m[e]=r=>{delete O.c[e],r.exports=t()}};j[e]=!0;var n=t=>{delete g[e],O.m[e]=r=>{throw delete O.c[e],t}};try{var a=y[e]();a.then?t.push(g[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{O.b=document.baseURI||self.location.href;var e={8792:0};O.f.j=(t,r)=>{var n=O.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(26(17|81)|5(290|481|530)|8((29|76|79)9|260|438|442)|9(259|435|929)|1030|1302|6263|6688|7825)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=O.p+O.u(t),l=new Error;O.l(o,(r=>{if(O.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,c]=r,i=0;if(o.some((t=>0!==e[t]))){for(n in l)O.o(l,n)&&(O.m[n]=l[n]);c&&c(O)}for(t&&t(r);i<o.length;i++)a=o[i],O.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_advanced=self.webpackChunk_next_bricks_advanced||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),O.nc=void 0,O(17934)})();
|
|
2
|
-
//# sourceMappingURL=main.83536f21.js.map
|