@next-bricks/ai 0.0.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.
Files changed (113) hide show
  1. package/dist/bricks.json +18 -0
  2. package/dist/chunks/1045.fc678dd3.js +2 -0
  3. package/dist/chunks/1045.fc678dd3.js.map +1 -0
  4. package/dist/chunks/1122.de9f618a.js +2 -0
  5. package/dist/chunks/1122.de9f618a.js.map +1 -0
  6. package/dist/chunks/114.870fa2ca.js +2 -0
  7. package/dist/chunks/114.870fa2ca.js.map +1 -0
  8. package/dist/chunks/1370.e919e49d.js +2 -0
  9. package/dist/chunks/1370.e919e49d.js.map +1 -0
  10. package/dist/chunks/1889.5fa71390.js +2 -0
  11. package/dist/chunks/1889.5fa71390.js.map +1 -0
  12. package/dist/chunks/1940.730f2f34.js +2 -0
  13. package/dist/chunks/1940.730f2f34.js.map +1 -0
  14. package/dist/chunks/2052.1b6d67cf.js +2 -0
  15. package/dist/chunks/2052.1b6d67cf.js.map +1 -0
  16. package/dist/chunks/2225.4fe21718.js +3 -0
  17. package/dist/chunks/2225.4fe21718.js.LICENSE.txt +5 -0
  18. package/dist/chunks/2225.4fe21718.js.map +1 -0
  19. package/dist/chunks/2277.0a8f574e.js +2 -0
  20. package/dist/chunks/2277.0a8f574e.js.map +1 -0
  21. package/dist/chunks/3144.a770e0d7.js +3 -0
  22. package/dist/chunks/3144.a770e0d7.js.LICENSE.txt +19 -0
  23. package/dist/chunks/3144.a770e0d7.js.map +1 -0
  24. package/dist/chunks/3171.03596b36.js +2 -0
  25. package/dist/chunks/3171.03596b36.js.map +1 -0
  26. package/dist/chunks/3208.692aee2c.js +2 -0
  27. package/dist/chunks/3208.692aee2c.js.map +1 -0
  28. package/dist/chunks/3426.9d170e6d.js +2 -0
  29. package/dist/chunks/3426.9d170e6d.js.map +1 -0
  30. package/dist/chunks/3933.961ad2cb.js +2 -0
  31. package/dist/chunks/3933.961ad2cb.js.map +1 -0
  32. package/dist/chunks/4041.2d89cf03.js +3 -0
  33. package/dist/chunks/4041.2d89cf03.js.LICENSE.txt +9 -0
  34. package/dist/chunks/4041.2d89cf03.js.map +1 -0
  35. package/dist/chunks/4658.54a64f7d.js +2 -0
  36. package/dist/chunks/4658.54a64f7d.js.map +1 -0
  37. package/dist/chunks/4741.d4ae195b.js +2 -0
  38. package/dist/chunks/4741.d4ae195b.js.map +1 -0
  39. package/dist/chunks/5250.8c43fdcf.js +3 -0
  40. package/dist/chunks/5250.8c43fdcf.js.LICENSE.txt +8 -0
  41. package/dist/chunks/5250.8c43fdcf.js.map +1 -0
  42. package/dist/chunks/5384.557997f8.js +2 -0
  43. package/dist/chunks/5384.557997f8.js.map +1 -0
  44. package/dist/chunks/5399.94eec5d1.js +2 -0
  45. package/dist/chunks/5399.94eec5d1.js.map +1 -0
  46. package/dist/chunks/5552.d209df22.js +2 -0
  47. package/dist/chunks/5552.d209df22.js.map +1 -0
  48. package/dist/chunks/6302.d5613af9.js +2 -0
  49. package/dist/chunks/6302.d5613af9.js.map +1 -0
  50. package/dist/chunks/6314.7b0e2891.js +2 -0
  51. package/dist/chunks/6314.7b0e2891.js.map +1 -0
  52. package/dist/chunks/6519.b7c54e82.js +2 -0
  53. package/dist/chunks/6519.b7c54e82.js.map +1 -0
  54. package/dist/chunks/6773.52a5e080.js +2 -0
  55. package/dist/chunks/6773.52a5e080.js.map +1 -0
  56. package/dist/chunks/726.58ddddbd.js +2 -0
  57. package/dist/chunks/726.58ddddbd.js.map +1 -0
  58. package/dist/chunks/7452.0c2bed4d.js +2 -0
  59. package/dist/chunks/7452.0c2bed4d.js.map +1 -0
  60. package/dist/chunks/7721.0d113a84.js +3 -0
  61. package/dist/chunks/7721.0d113a84.js.LICENSE.txt +3 -0
  62. package/dist/chunks/7721.0d113a84.js.map +1 -0
  63. package/dist/chunks/7733.f0adff6d.js +2 -0
  64. package/dist/chunks/7733.f0adff6d.js.map +1 -0
  65. package/dist/chunks/7780.7adc2387.js +2 -0
  66. package/dist/chunks/7780.7adc2387.js.map +1 -0
  67. package/dist/chunks/8057.16219952.js +2 -0
  68. package/dist/chunks/8057.16219952.js.map +1 -0
  69. package/dist/chunks/843.da66a259.js +2 -0
  70. package/dist/chunks/843.da66a259.js.map +1 -0
  71. package/dist/chunks/8989.ba42c68e.js +2 -0
  72. package/dist/chunks/8989.ba42c68e.js.map +1 -0
  73. package/dist/chunks/9251.9da3f634.js +2 -0
  74. package/dist/chunks/9251.9da3f634.js.map +1 -0
  75. package/dist/chunks/9515.530a47e3.js +2 -0
  76. package/dist/chunks/9515.530a47e3.js.map +1 -0
  77. package/dist/chunks/9559.ac5cd6d1.js +2 -0
  78. package/dist/chunks/9559.ac5cd6d1.js.map +1 -0
  79. package/dist/chunks/9844.e6342d7e.js +2 -0
  80. package/dist/chunks/9844.e6342d7e.js.map +1 -0
  81. package/dist/chunks/chat-view.034730aa.js +2 -0
  82. package/dist/chunks/chat-view.034730aa.js.map +1 -0
  83. package/dist/chunks/main.39456c72.js +2 -0
  84. package/dist/chunks/main.39456c72.js.map +1 -0
  85. package/dist/examples.json +1 -0
  86. package/dist/images/863bc601.gif +0 -0
  87. package/dist/index.22ad5599.js +2 -0
  88. package/dist/index.22ad5599.js.map +1 -0
  89. package/dist/manifest.json +45 -0
  90. package/dist/types.json +43 -0
  91. package/dist-types/bootstrap.d.ts +1 -0
  92. package/dist-types/chat-view/ChatService.d.ts +31 -0
  93. package/dist-types/chat-view/ChatViewContext.d.ts +39 -0
  94. package/dist-types/chat-view/components/Loading.d.ts +7 -0
  95. package/dist-types/chat-view/components/MessageItem/Avatar.d.ts +5 -0
  96. package/dist-types/chat-view/components/MessageItem/ContentTip.d.ts +3 -0
  97. package/dist-types/chat-view/components/MessageItem/GuideItem.d.ts +7 -0
  98. package/dist-types/chat-view/components/MessageItem/MarkdownItem.d.ts +7 -0
  99. package/dist-types/chat-view/components/MessageItem/TableItem.d.ts +6 -0
  100. package/dist-types/chat-view/components/MessageItem/TextItem.d.ts +6 -0
  101. package/dist-types/chat-view/components/MessageItem/Time.d.ts +4 -0
  102. package/dist-types/chat-view/components/MessageItem/Toolbar.d.ts +3 -0
  103. package/dist-types/chat-view/components/MessageItem/index.d.ts +3 -0
  104. package/dist-types/chat-view/components/MessageList.d.ts +6 -0
  105. package/dist-types/chat-view/components/SearchInput.d.ts +2 -0
  106. package/dist-types/chat-view/components/SessionList.d.ts +2 -0
  107. package/dist-types/chat-view/components/utils/calculateAutoSizeStyle.d.ts +6 -0
  108. package/dist-types/chat-view/hooks/useChatViewInfo.d.ts +17 -0
  109. package/dist-types/chat-view/index.d.ts +37 -0
  110. package/dist-types/chat-view/mockList.d.ts +2 -0
  111. package/dist-types/index.d.ts +0 -0
  112. package/docs/markdown-display.md +9 -0
  113. package/package.json +50 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[7733],{5873:(e,t,r)=>{var n=r(454);t.H=n.createRoot,n.hydrateRoot},4223:(e,t,r)=>{function n(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}r.d(t,{A:()=>n})},114:(e,t,r)=>{r.r(t),r.d(t,{ReactNextElement:()=>p,wrapBrick:()=>k,wrapLocalBrick:()=>_});var n=r(4635),i=r(918),s=r(8769),o=r(5873),l=r(9435),a=r(9929);function c(e,t,r){return e.set(u(e,t),r),r}function h(e,t){return e.get(u(e,t))}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var d=new WeakMap,f=new WeakSet;class p extends a.NextElement{constructor(){super(...arguments),(0,n.A)(this,f),(0,i.A)(this,d,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),u(f,this,y).call(this),this._render()}disconnectedCallback(){var e;null===(e=h(d,this))||void 0===e||e.render(null)}_render(){var e=()=>{if(this.isConnected&&h(d,this)){var e,t=this.constructor;t.shadowOptions?h(d,this).render((0,a.supportsAdoptingStyleSheets)()||null===(e=t.styleTexts)||void 0===e||!e.length?this.render():s.createElement(s.Fragment,null,s.createElement("style",null,t.styleTexts.join("\n")),this.render())):h(d,this).render(this.render())}};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,l.flushSync)(e):e()}}function y(){if(!h(d,this)){var e=this.constructor;if(e.shadowOptions){var t,r=this.attachShadow(e.shadowOptions);if((0,a.supportsAdoptingStyleSheets)()&&null!==(t=e.styleTexts)&&void 0!==t&&t.length){var n=new CSSStyleSheet;n.replaceSync(e.styleTexts.join("")),r.adoptedStyleSheets=[n]}c(d,this,(0,o.H)(r))}else c(d,this,(0,o.H)(this))}}var v=r(9575),w=r(4223),S=["children"],b=["children"];function _(e,t){return(0,s.forwardRef)((function(r,n){var{children:i}=r,o=(0,w.A)(r,S),l="string"==typeof e?e:e.__tagName,a=O(o,t);return s.createElement(l,(0,v.A)({},a,{ref:n}),i)}))}function k(e,t){return(0,s.forwardRef)((function(r,n){var{children:i}=r,o=O((0,w.A)(r,b),t);return s.createElement(e,(0,v.A)({},o,{ref:n}),i)}))}function O(e,t){var r;if(t)for(var[n,i]of(r={},Object.entries(e)))Object.prototype.hasOwnProperty.call(t,n)?r["on".concat(t[n])]=i:r[n]=i;else r=e;return r}}}]);
2
+ //# sourceMappingURL=7733.f0adff6d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7733.f0adff6d.js","mappings":"sHAEIA,EAAI,EAAQ,KAEdC,EAAQ,EAAaD,EAAEE,WACDF,EAAEG,W,iBCJX,SAASC,EAAyBC,EAAQC,GACvD,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAC5B,IACIE,EAAKC,EADLC,ECHS,SAAuCJ,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,CAAC,EAC5B,IAEIE,EAAKC,EAFLC,EAAS,CAAC,EACVC,EAAaC,OAAOC,KAAKP,GAE7B,IAAKG,EAAI,EAAGA,EAAIE,EAAWG,OAAQL,IACjCD,EAAMG,EAAWF,GACbF,EAASQ,QAAQP,IAAQ,IAC7BE,EAAOF,GAAOF,EAAOE,IAEvB,OAAOE,CACT,CDRe,CAA6BJ,EAAQC,GAElD,GAAIK,OAAOI,sBAAuB,CAChC,IAAIC,EAAmBL,OAAOI,sBAAsBV,GACpD,IAAKG,EAAI,EAAGA,EAAIQ,EAAiBH,OAAQL,IACvCD,EAAMS,EAAiBR,GACnBF,EAASQ,QAAQP,IAAQ,GACxBI,OAAOM,UAAUC,qBAAqBC,KAAKd,EAAQE,KACxDE,EAAOF,GAAOF,EAAOE,GAEzB,CACA,OAAOE,CACT,C,2KEZA,SAASW,EAAsBC,EAAGC,EAAGC,GAAK,OAAOF,EAAEG,IAAIC,EAAkBJ,EAAGC,GAAIC,GAAIA,CAAG,CACvF,SAASG,EAAsBL,EAAGC,GAAK,OAAOD,EAAEM,IAAIF,EAAkBJ,EAAGC,GAAK,CAC9E,SAASG,EAAkBG,EAAGC,EAAGC,GAAK,GAAI,mBAAqBF,EAAIA,IAAMC,EAAID,EAAEG,IAAIF,GAAI,OAAOG,UAAUnB,OAAS,EAAIgB,EAAIC,EAAG,MAAM,IAAIG,UAAU,gDAAkD,CAKlM,IAAIC,EAAqB,IAAIC,QACzBC,EAAuC,IAAIC,QACxC,MAAMC,UAAyB,EAAAC,YACpC,WAAAC,GACEC,SAAST,YACT,OAA4BU,KAAMN,IAClC,OAA2BM,KAAMR,OAAO,EAC1C,CACA,iBAAAS,GACEF,MAAMG,+BACNnB,EAAkBW,EAAyBM,KAAMG,GAAa1B,KAAKuB,MACnEA,KAAKI,SACP,CACA,oBAAAC,GACE,IAAIC,EAC8D,QAAjEA,EAAyBtB,EAAsBQ,EAAOQ,aAA8C,IAA3BM,GAAqCA,EAAuBC,OAAO,KAC/I,CACA,OAAAH,GACE,IAAIG,EAAS,KACX,GAAKP,KAAKQ,aAAgBxB,EAAsBQ,EAAOQ,MAAvD,CAGA,IAEMS,EAFFC,EAAOV,KAAKF,YACZY,EAAKC,cAEP3B,EAAsBQ,EAAOQ,MAAMO,QAAO,IAAAK,gCAA4E,QAAxCH,EAAmBC,EAAKG,kBAA6C,IAArBJ,IAA+BA,EAAiBtC,OAAU6B,KAAKO,SAAwB,gBAAoB,WAAgB,KAAmB,gBAAoB,QAAS,KAAMG,EAAKG,WAAWC,KAAK,OAAQd,KAAKO,WAEjVvB,EAAsBQ,EAAOQ,MAAMO,OAAOP,KAAKO,SANjD,CAOA,EAMEQ,OAAOC,sBAAwBD,OAAOE,0BACxC,IAAAC,WAAUX,GAEVA,GAEJ,EAGF,SAASJ,IACP,IAAInB,EAAsBQ,EAAOQ,MAAjC,CAGA,IAAIU,EAAOV,KAAKF,YAChB,GAAIY,EAAKC,cAAe,CACtB,IAEMQ,EAFFC,EAAapB,KAAKqB,aAAaX,EAAKC,eACxC,IAAI,IAAAC,gCAE4C,QAAzCO,EAAoBT,EAAKG,kBAA8C,IAAtBM,GAAgCA,EAAkBhD,OAAQ,CAC9G,IAAImD,EAAa,IAAIC,cACrBD,EAAWE,YAAYd,EAAKG,WAAWC,KAAK,KAC5CM,EAAWK,mBAAqB,CAACH,EACnC,CAEF5C,EAAsBc,EAAOQ,MAAM,OAAWoB,GAChD,MAKE1C,EAAsBc,EAAOQ,MAAM,OAAWA,MAlBhD,CAoBF,C,wBCzEI0B,EAAY,CAAC,YACfC,EAAa,CAAC,YAET,SAASC,EAAeC,EAAOC,GAOpC,OAAoB,IAAAC,aAAW,SAA2BC,EAAMC,GAC9D,IAAI,SACAC,GACEF,EACJG,GAAQ,OAAyBH,EAAMN,GACrCU,EAAgC,iBAAVP,EAAqBA,EAAQA,EAAMQ,UACzDC,EAAaC,EAAoBJ,EAAOL,GAC5C,OAAoB,gBAAoBM,GAAc,OAAS,CAAC,EAAGE,EAAY,CAC7EL,IAAKA,IACHC,EACN,GACF,CACO,SAASM,EAAUC,EAAWX,GACnC,OAAoB,IAAAC,aAAW,SAA2BW,EAAOT,GAC/D,IAAI,SACAC,GACEQ,EAEFJ,EAAaC,GADP,OAAyBG,EAAOf,GACEG,GAC5C,OAAoB,gBAAoBW,GAAW,OAAS,CAAC,EAAGH,EAAY,CAC1EL,IAAKA,IACHC,EACN,GACF,CACA,SAASK,EAAoBJ,EAAOL,GAClC,IAAIQ,EACJ,GAAIR,EAEF,IAAK,IAAKa,EAAUC,KADpBN,EAAa,CAAC,EACoBrE,OAAO4E,QAAQV,IAC3ClE,OAAOM,UAAUuE,eAAerE,KAAKqD,EAAea,GACtDL,EAAW,KAAKS,OAAOjB,EAAca,KAAcC,EAEnDN,EAAWK,GAAYC,OAI3BN,EAAaH,EAEf,OAAOG,CACT,C","sources":["webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nvar _ReactNextElement;\nfunction _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }\nfunction _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }\nfunction _assertClassBrand(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\"); }\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n var render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n var ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n var ctor = this.constructor;\n if (ctor.shadowOptions) {\n var shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n var styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"children\"];\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(\"Brick \".concat(brick, \" is not defined while using `wrapLocalBrick`.\"));\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n var {\n children\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n var WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n var properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n var {\n children\n } = _ref2,\n props = _objectWithoutProperties(_ref2, _excluded2);\n var properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n var properties;\n if (eventsMapping) {\n properties = {};\n for (var [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[\"on\".concat(eventsMapping[propName])] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map"],"names":["m","exports","createRoot","hydrateRoot","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_classPrivateFieldSet","s","a","r","set","_assertClassBrand","_classPrivateFieldGet","get","e","t","n","has","arguments","TypeError","_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","this","connectedCallback","_markConnectedCallbackCalled","_createRoot","_render","disconnectedCallback","_classPrivateFieldGet2","render","isConnected","_ctor$styleTexts","ctor","shadowOptions","supportsAdoptingStyleSheets","styleTexts","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","_ctor$styleTexts2","shadowRoot","attachShadow","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","_excluded","_excluded2","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","entries","hasOwnProperty","concat"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[7780],{5399:(e,r,t)=>{t.r(r),t.d(r,{enqueueStableLoadBricks:()=>y,enqueueStableLoadProcessors:()=>m,flushStableLoadBricks:()=>h,loadBricksImperatively:()=>w,loadProcessorsImperatively:()=>b,loadScript:()=>o,loadSharedModule:()=>u,loadStyle:()=>s});var n=t(9740),a=new Map;function i(e,r,t,o){if(Array.isArray(r))return Promise.all(r.map((r=>i(e,r,t))));var s=t&&!/^https?:/.test(r)?"".concat(t).concat(r):r,c=a.get(s);if(c)return c;var l=new Promise(((r,t)=>{var a=()=>{window.dispatchEvent(new Event("request.end"))},i=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(i,(0,n.A)((0,n.A)({type:"text/javascript",async:!0},o),{},{src:s})):Object.assign(i,(0,n.A)((0,n.A)({rel:"stylesheet"},o),{},{href:s})),i.onload=()=>{r(s),a()},i.onerror=e=>{t(e),a()};var c=document.currentScript||document.getElementsByTagName("script")[0];c.parentNode.insertBefore(i,c),window.dispatchEvent(new Event("request.start"))}));return a.set(s,l),l}function o(e,r,t){return i("script",e,r,t)}function s(e,r,t){return i("style",e,r,t)}var c,l=t(6330);function u(e,r){return f.apply(this,arguments)}function f(){return(f=(0,l.A)((function*(e,r){yield t.I("default");var n=window[e];return yield n.init(t.S.default),(yield n.get(r))()}))).apply(this,arguments)}var p,d=!1,v=new Promise((e=>{c=e}));function h(){d||c()}function y(e,r){return B(_("bricks",e,r))}function m(e,r){return B(_("processors",e,r))}function w(e,r){return k.apply(this,arguments)}function k(){return(k=(0,l.A)((function*(e,r){var t=_("bricks",e,r);return h(),B(t)}))).apply(this,arguments)}function b(e,r){var t=_("processors",e,r);return h(),B(t)}var P="v2-adapter.load-bricks";function g(e,r,t){var n=new Map,a=new Set,i=r=>{var o;if(!a.has(r)){var s,c,l;if(a.add(r),"processors"===e||r.includes(".")){[c,l]=r.split(".");var u="bricks/".concat("processors"===e?c.replace(/[A-Z]/g,(e=>"-".concat(e[0].toLocaleLowerCase()))).replace(/_[0-9]/g,(e=>"-".concat(e[1]))):c);s=t.get(u)}else{var f;for(var p of(l=r,t.values())){var d;if(null!==(d=p.elements)&&void 0!==d&&d.some((e=>e===l))){var v;if(null===(v=p.deprecatedElements)||void 0===v||!v.includes(r)){s=p;break}f=p}}!s&&f&&(s=f)}if(s){var h=n.get(s);h||(h=[],n.set(s,h)),h.push({fullName:r,lastName:l});var y=null===(o=s.dependencies)||void 0===o?void 0:o[r];if(y)for(var m of y)i(m)}else console.error("Package for ".concat(r," not found."))}};for(var o of r)i(o);return n}function A(e,r,t){return E.apply(this,arguments)}function E(){return(E=(0,l.A)((function*(e,r,t){var n="".concat("processors"===e?"./processors/":"./").concat(t.lastName);try{yield u(r,n)}catch(r){throw console.error(r),new Error("Load ".concat(e,' of "').concat(t.fullName,'" failed'))}}))).apply(this,arguments)}function S(e,r,t){return r.map(function(){var r=(0,l.A)((function*(r){var n;return yield o(r.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),yield v,Promise.all(t.get(r).map((t=>A(e,r.id,t))))}));return function(e){return r.apply(this,arguments)}}())}function _(e,r,t){return L.apply(this,arguments)}function L(){return L=(0,l.A)((function*(e,r,t){var n=new Map;for(var a of t){var i,s=null!==(i=a.id)&&void 0!==i?i:q(a.filePath);n.set(s,a)}var u,f,v=g(e,r,n),h=[],y=[];for(var m of v.keys())if(m.id)"bricks/basic"===m.id?u=m:y.push(m);else if(h.push(m),!(f=n.get("bricks/v2-adapter")))throw new Error("Using v2 bricks, but v2-adapter not found");var w,k=f,b=u;if(b){var E,_=o(b.filePath,null!==(E=window.PUBLIC_ROOT)&&void 0!==E?E:"");d||(d=!0,_.then((()=>Promise.resolve())).then(c)),w=_.then((()=>Promise.all(v.get(b).map((r=>A(e,b.id,r))))))}var L=[w].concat(S(e,y,v));if(k&&h.length>0){if(!p){var B=g("bricks",[P],n),N=[...B.keys()],O=function(){var e=(0,l.A)((function*(){return yield Promise.all(S("bricks",N,B)),document.createElement(P)}));return function(){return e.apply(this,arguments)}}();p=O()}L.push(p.then((r=>Promise.all(h.map((n=>{var a=q(n.filePath).split("/")[1];return r.resolve(k.filePath,n.filePath,"bricks"===e?v.get(n).map((e=>"".concat(a,".").concat(e.lastName))):[],n.dll,t)}))))))}yield Promise.all(L)})),L.apply(this,arguments)}function B(e){return N.apply(this,arguments)}function N(){return(N=(0,l.A)((function*(e){window.dispatchEvent(new Event("request.start"));try{yield e}finally{window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function q(e){return e.split("/").slice(0,2).join("/")}}}]);
2
+ //# sourceMappingURL=7780.7adc2387.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7780.7adc2387.js","mappings":"kWACIA,EAAQ,IAAIC,IACD,SAASC,EAAkBC,EAAMC,EAAKC,EAAQC,GAC3D,GAAIC,MAAMC,QAAQJ,GAChB,OAAOK,QAAQC,IAAIN,EAAIO,KAAIC,GAAQV,EAAkBC,EAAMS,EAAMP,MAEnE,IAAIQ,EAAWR,IAAW,WAAWS,KAAKV,GAAO,GAAGW,OAAOV,GAAQU,OAAOX,GAAOA,EAC7EY,EAAgBhB,EAAMiB,IAAIJ,GAC9B,GAAIG,EACF,OAAOA,EAET,IAAIE,EAAU,IAAIT,SAAQ,CAACU,EAASC,KAClC,IAAIC,EAAM,KACRC,OAAOC,cAAc,IAAIC,MAAM,eAAe,EAE5CC,EAAUC,SAASC,cAAuB,UAATxB,EAAmB,OAAS,UACpD,WAATA,EACFyB,OAAOC,OAAOJ,GAAS,QAAc,OAAc,CACjDtB,KAAM,kBACN2B,OAAO,GACNxB,GAAQ,CAAC,EAAG,CACbF,IAAKS,KAGPe,OAAOC,OAAOJ,GAAS,QAAc,OAAc,CACjDM,IAAK,cACJzB,GAAQ,CAAC,EAAG,CACb0B,KAAMnB,KAGVY,EAAQQ,OAAS,KACfd,EAAQN,GACRQ,GAAK,EAEPI,EAAQS,QAAUC,IAChBf,EAAOe,GACPd,GAAK,EAEP,IAAIe,EAAcV,SAASW,eAAiBX,SAASY,qBAAqB,UAAU,GACpFF,EAAYG,WAAWC,aAAaf,EAASW,GAC7Cd,OAAOC,cAAc,IAAIC,MAAM,iBAAiB,IAGlD,OADAxB,EAAMyC,IAAI5B,EAAUK,GACbA,CACT,CC3Ce,SAASwB,EAAWtC,EAAKC,EAAQC,GAC9C,OAAOJ,EAAkB,SAAUE,EAAKC,EAAQC,EAClD,CCFe,SAASqC,EAAUvC,EAAKC,EAAQC,GAC7C,OAAOJ,EAAkB,QAASE,EAAKC,EAAQC,EACjD,C,ICAIsC,E,UCDW,SAASC,EAAiBC,EAAIC,GAC3C,OAAOC,EAAkBC,MAAMC,KAAMC,UACvC,CACA,SAASH,IAUP,OATAA,GAAoB,QAAkB,UAAWI,EAAOC,SAEhD,IAAyB,WAC/B,IAAIC,EAAYhC,OAAO8B,GAIvB,aAFME,EAAUC,KAAK,IAAyBC,gBAC1BF,EAAUrC,IAAIoC,KAEpC,KACyBJ,MAAMC,KAAMC,UACvC,CDZA,IA8CIM,EA9CAC,GAAyB,EACzBC,EAAe,IAAIlD,SAAQU,IAC7ByB,EAAkBzB,CAAO,IAEpB,SAASyC,IACTF,GACHd,GAEJ,CAcO,SAASiB,EAAwBC,EAAQC,GAE9C,OAAOC,EADOC,EAAkB,SAAUH,EAAQC,GAEpD,CACO,SAASG,EAA4BC,EAAYJ,GAEtD,OAAOC,EADOC,EAAkB,aAAcE,EAAYJ,GAE5D,CACO,SAASK,EAAuBtB,EAAIC,GACzC,OAAOsB,EAAwBpB,MAAMC,KAAMC,UAC7C,CACA,SAASkB,IAMP,OALAA,GAA0B,QAAkB,UAAWP,EAAQC,GAC7D,IAAI7C,EAAU+C,EAAkB,SAAUH,EAAQC,GAElD,OADAH,IACOI,EAAsB9C,EAC/B,KAC+B+B,MAAMC,KAAMC,UAC7C,CACO,SAASmB,EAA2BH,EAAYJ,GACrD,IAAI7C,EAAU+C,EAAkB,aAAcE,EAAYJ,GAE1D,OADAH,IACOI,EAAsB9C,EAC/B,CAEA,IAAIqD,EAAyB,yBAE7B,SAASC,EAAcrE,EAAMsE,EAAMC,GACjC,IAAIC,EAAa,IAAI1E,IACjB2E,EAAa,IAAIC,IACjBC,EAAMlE,IACR,IAAImE,EACJ,IAAIH,EAAWI,IAAIpE,GAAnB,CAIA,IAAIqE,EACAC,EACAC,EACJ,GAJAP,EAAWE,IAAIlE,GAIF,eAATT,GAAyBS,EAAKwE,SAAS,KAAM,EAC9CF,EAAWC,GAAYvE,EAAKyE,MAAM,KACnC,IAAIC,EAAQ,UAAUvE,OAAgB,eAATZ,EAAgD+E,EA6KzDK,QAAQ,UAAUC,GAAS,IAAIzE,OAAOyE,EAAM,GAAGC,uBAAsBF,QAAQ,WAAWC,GAAS,IAAIzE,OAAOyE,EAAM,MA7K5CN,GAC1FD,EAAMP,EAAiBzD,IAAIqE,EAC7B,KAAO,CAEL,IAAII,EACJ,IAAK,IAAIC,KAFTR,EAAWvE,EAEG8D,EAAiBkB,UAAU,CACvC,IAAIC,EACJ,GAAmC,QAA9BA,EAAcF,EAAEG,gBAAsC,IAAhBD,GAA0BA,EAAYE,MAAK5D,GAAKA,IAAMgD,IAAW,CAC1G,IAAIa,EACJ,GAAuD,QAAlDA,EAAwBL,EAAEM,0BAA0D,IAA1BD,IAAoCA,EAAsBZ,SAASxE,GAE3H,CACLqE,EAAMU,EACN,KACF,CAJED,EAA2BC,CAK/B,CACF,EACKV,GAAOS,IACVT,EAAMS,EAEV,CACA,GAAKT,EAAL,CAKA,IAAIiB,EAAavB,EAAW1D,IAAIgE,GAC3BiB,IACHA,EAAa,GACbvB,EAAWlC,IAAIwC,EAAKiB,IAEtBA,EAAWC,KAAK,CACdC,SAAUxF,EACVuE,aAIF,IAAIkB,EAAkD,QAA1CtB,EAAoBE,EAAIqB,oBAAgD,IAAtBvB,OAA+B,EAASA,EAAkBnE,GACxH,GAAIyF,EACF,IAAK,IAAIE,KAAOF,EACdvB,EAAIyB,EAfR,MAFEC,QAAQC,MAAM,eAAe1F,OAAOH,EAAM,eA9B5C,CAiDA,EAEF,IAAK,IAAIA,KAAQ6D,EACfK,EAAIlE,GAEN,OAAO+D,CACT,CACA,SAAS+B,EAAgBC,EAAKC,EAAKC,GACjC,OAAOC,EAAiB7D,MAAMC,KAAMC,UACtC,CACA,SAAS2D,IAWP,OAVAA,GAAmB,QAAkB,UAAW3G,EAAMmF,EAAO1E,GAC3D,IAAImG,EAAa,GAAGhG,OAAgB,eAATZ,EAAwB,gBAAkB,MAAMY,OAAOH,EAAKuE,UACvF,UACQtC,EAAiByC,EAAOyB,EAChC,CAAE,MAAON,GAGP,MADAD,QAAQC,MAAMA,GACR,IAAIO,MAAM,QAAQjG,OAAOZ,EAAM,SAAUY,OAAOH,EAAKwF,SAAU,YACvE,CACF,KACwBnD,MAAMC,KAAMC,UACtC,CACA,SAAS8D,EAAe9G,EAAM+G,EAAMC,GAClC,OAAOD,EAAKvG,IAAkB,WAC5B,IAAIyG,GAAO,QAAkB,UAAWnC,GACtC,IAAIoC,EAGJ,aAFM3E,EAAWuC,EAAIqC,SAAyD,QAA9CD,EAAsB/F,OAAOiG,mBAAiD,IAAxBF,EAAiCA,EAAsB,UACvI1D,EACClD,QAAQC,IAEfyG,EAASlG,IAAIgE,GAAKtE,KAAIC,GAAQ8F,EAAgBvG,EAAM8E,EAAIuC,GAAI5G,KAC9D,IACA,OAAO,SAAU6G,GACf,OAAOL,EAAKnE,MAAMC,KAAMC,UAC1B,CACF,CAZ8B,GAahC,CACA,SAASc,EAAkByD,EAAKC,EAAKC,GACnC,OAAOC,EAAmB5E,MAAMC,KAAMC,UACxC,CACA,SAAS0E,IAyEP,OAxEAA,GAAqB,QAAkB,UAAW1H,EAAMsE,EAAMV,GAC5D,IAAIW,EAAmB,IAAIzE,IAC3B,IAAK,IAAIgF,KAAOlB,EAAe,CAC7B,IAAI+D,EACAxC,EAA+B,QAAtBwC,EAAU7C,EAAIuC,UAA4B,IAAZM,EAAqBA,EAAUC,EAAmB9C,EAAIqC,UACjG5C,EAAiBjC,IAAI6C,EAAOL,EAC9B,CACA,IACI+C,EAGAC,EAJAtD,EAAaH,EAAcrE,EAAMsE,EAAMC,GAEvCwD,EAAa,GACbC,EAA2B,GAE/B,IAAK,IAAIC,KAAQzD,EAAW0D,OAC1B,GAAID,EAAKZ,GACS,iBAAZY,EAAKZ,GACPQ,EAAgBI,EAEhBD,EAAyBhC,KAAKiC,QAMhC,GAFAF,EAAW/B,KAAKiC,KAChBH,EAAiBvD,EAAiBzD,IAAI,sBAEpC,MAAM,IAAI+F,MAAM,6CAItB,IACIsB,EADAC,EAAYN,EAEZO,EAAWR,EACf,GAAIQ,EAAU,CACZ,IAAIC,EACAC,EAAchG,EAAW8F,EAASlB,SAA0D,QAA/CmB,EAAuBnH,OAAOiG,mBAAkD,IAAzBkB,EAAkCA,EAAuB,IAE5J/E,IACHA,GAAyB,EACzBgF,EAAYC,MAAK,IAAMlI,QAAQU,YAAWwH,KAAK/F,IAEjD0F,EAAkBI,EAAYC,MAAK,IAAMlI,QAAQC,IAEjDiE,EAAW1D,IAAIuH,GAAU7H,KAAIC,GAAQ8F,EAAgBvG,EAAMqI,EAAShB,GAAI5G,OAC1E,CACA,IAAIgI,EAAc,CAACN,GAAiBvH,OAAOkG,EAAe9G,EAAMgI,EAA0BxD,IAC1F,GAAI4D,GAAaL,EAAWW,OAAS,EAAG,CACtC,IAAKpF,EAAkB,CAErB,IAAIqF,EAAsBtE,EAAc,SAAU,CAACD,GAAyBG,GACxEqE,EAAoB,IAAID,EAAoBT,QAC5CW,EAA6B,WAC/B,IAAIC,GAAQ,QAAkB,YAE5B,aADMxI,QAAQC,IAAIuG,EAAe,SAAU8B,EAAmBD,IACvDpH,SAASC,cAAc4C,EAChC,IACA,OAAO,WACL,OAAO0E,EAAMhG,MAAMC,KAAMC,UAC3B,CACF,CARiC,GASjCM,EAAmBuF,GACrB,CACAJ,EAAYzC,KAAK1C,EAAiBkF,MAAKO,GAAWzI,QAAQC,IAAIwH,EAAWvH,KAAIsE,IAC3E,IACIkE,EADQpB,EAAmB9C,EAAIqC,UACVjC,MAAM,KAAK,GACpC,OAAO6D,EAAQ/H,QAAQoH,EAAUjB,SAAUrC,EAAIqC,SAAmB,WAATnH,EAEzDwE,EAAW1D,IAAIgE,GAAKtE,KAAIC,GAAQ,GAAGG,OAAOoI,EAAc,KAAKpI,OAAOH,EAAKuE,YAAa,GAAIF,EAAImE,IAE9FrF,EAAc,OAElB,OACMtD,QAAQC,IAAIkI,EACpB,IACOf,EAAmB5E,MAAMC,KAAMC,UACxC,CACA,SAASa,EAAsBqF,GAC7B,OAAOC,EAAuBrG,MAAMC,KAAMC,UAC5C,CACA,SAASmG,IASP,OARAA,GAAyB,QAAkB,UAAWpI,GACpDI,OAAOC,cAAc,IAAIC,MAAM,kBAC/B,UACQN,CACR,CAAE,QACAI,OAAOC,cAAc,IAAIC,MAAM,eACjC,CACF,KAC8ByB,MAAMC,KAAMC,UAC5C,CAIA,SAAS4E,EAAmBT,GAC1B,OAAOA,EAASjC,MAAM,KAAKkE,MAAM,EAAG,GAAGC,KAAK,IAC9C,C","sources":["webpack:///../../node_modules/@next-core/loader/dist/esm/loadScriptOrStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.js"],"sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar cache = new Map();\nexport default function loadScriptOrStyle(type, src, prefix, attrs) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScriptOrStyle(type, item, prefix)));\n }\n var fixedSrc = prefix && !/^https?:/.test(src) ? \"\".concat(prefix).concat(src) : src;\n var cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n var promise = new Promise((resolve, reject) => {\n var end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n var element = document.createElement(type === \"style\" ? \"link\" : \"script\");\n if (type === \"script\") {\n Object.assign(element, _objectSpread(_objectSpread({\n type: \"text/javascript\",\n async: true\n }, attrs), {}, {\n src: fixedSrc\n }));\n } else {\n Object.assign(element, _objectSpread(_objectSpread({\n rel: \"stylesheet\"\n }, attrs), {}, {\n href: fixedSrc\n }));\n }\n element.onload = () => {\n resolve(fixedSrc);\n end();\n };\n element.onerror = e => {\n reject(e);\n end();\n };\n var firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(element, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScriptOrStyle.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadScript(src, prefix, attrs) {\n return loadScriptOrStyle(\"script\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadScript.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadStyle(src, prefix, attrs) {\n return loadScriptOrStyle(\"style\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadStyle.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nvar resolveBasicPkg;\nvar basicPkgWillBeResolved = false;\nvar waitBasicPkg = new Promise(resolve => {\n resolveBasicPkg = resolve;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function loadBricksImperatively(_x, _x2) {\n return _loadBricksImperatively.apply(this, arguments);\n}\nfunction _loadBricksImperatively() {\n _loadBricksImperatively = _asyncToGenerator(function* (bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n });\n return _loadBricksImperatively.apply(this, arguments);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nvar v2AdapterPromise;\nvar V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n var itemsByPkg = new Map();\n var listToLoad = new Set();\n var add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n var pkg;\n var namespace;\n var lastName;\n if (type === \"processors\" || item.includes(\".\")) {\n [namespace, lastName] = item.split(\".\");\n var pkgId = \"bricks/\".concat(type === \"processors\" ? getProcessorPackageName(namespace) : namespace);\n pkg = brickPackagesMap.get(pkgId);\n } else {\n lastName = item;\n var deprecatedBrickInThisPkg;\n for (var p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === lastName)) {\n var _p$deprecatedElements;\n if ((_p$deprecatedElements = p.deprecatedElements) !== null && _p$deprecatedElements !== void 0 && _p$deprecatedElements.includes(item)) {\n deprecatedBrickInThisPkg = p;\n } else {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg && deprecatedBrickInThisPkg) {\n pkg = deprecatedBrickInThisPkg;\n }\n }\n if (!pkg) {\n // eslint-disable-next-line no-console\n console.error(\"Package for \".concat(item, \" not found.\"));\n return;\n }\n var groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push({\n fullName: item,\n lastName\n });\n\n // Load their dependencies too\n var deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (var dep of deps) {\n add(dep);\n }\n }\n };\n for (var item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nfunction loadBrickModule(_x3, _x4, _x5) {\n return _loadBrickModule.apply(this, arguments);\n}\nfunction _loadBrickModule() {\n _loadBrickModule = _asyncToGenerator(function* (type, pkgId, item) {\n var moduleName = \"\".concat(type === \"processors\" ? \"./processors/\" : \"./\").concat(item.lastName);\n try {\n yield loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n throw new Error(\"Load \".concat(type, \" of \\\"\").concat(item.fullName, \"\\\" failed\"));\n }\n });\n return _loadBrickModule.apply(this, arguments);\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (pkg) {\n var _window$PUBLIC_ROOT;\n yield loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n yield waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(item => loadBrickModule(type, pkg.id, item)));\n });\n return function (_x6) {\n return _ref.apply(this, arguments);\n };\n }());\n}\nfunction enqueueStableLoad(_x7, _x8, _x9) {\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction _enqueueStableLoad() {\n _enqueueStableLoad = _asyncToGenerator(function* (type, list, brickPackages) {\n var brickPackagesMap = new Map();\n for (var pkg of brickPackages) {\n var _pkg$id;\n var pkgId = (_pkg$id = pkg.id) !== null && _pkg$id !== void 0 ? _pkg$id : getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n var itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n var foundBasicPkg;\n var v2Packages = [];\n var v3PackagesOtherThanBasic = [];\n var maybeV2Adapter;\n for (var _pkg of itemsByPkg.keys()) {\n if (_pkg.id) {\n if (_pkg.id === \"bricks/basic\") {\n foundBasicPkg = _pkg;\n } else {\n v3PackagesOtherThanBasic.push(_pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(_pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n throw new Error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n var v2Adapter = maybeV2Adapter;\n var basicPkgPromise;\n var basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n var tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(item => loadBrickModule(type, basicPkg.id, item))));\n }\n var pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n var v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n var v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n var loadV2Adapter = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n });\n return function loadV2Adapter() {\n return _ref2.apply(this, arguments);\n };\n }();\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var pkgId = getPkgIdByFilePath(pkg.filePath);\n var pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(item => \"\".concat(pkgNamespace, \".\").concat(item.lastName)) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n yield Promise.all(pkgPromises);\n });\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction dispatchRequestStatus(_x10) {\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction _dispatchRequestStatus() {\n _dispatchRequestStatus = _asyncToGenerator(function* (promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n yield promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n });\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => \"-\".concat(match[0].toLocaleLowerCase())).replace(/_[0-9]/g, match => \"-\".concat(match[1]));\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default function loadSharedModule(_x, _x2) {\n return _loadSharedModule.apply(this, arguments);\n}\nfunction _loadSharedModule() {\n _loadSharedModule = _asyncToGenerator(function* (scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n yield __webpack_init_sharing__(\"default\");\n var container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n yield container.init(__webpack_share_scopes__.default);\n var factory = yield container.get(module);\n return factory();\n });\n return _loadSharedModule.apply(this, arguments);\n}\n//# sourceMappingURL=loadSharedModule.js.map"],"names":["cache","Map","loadScriptOrStyle","type","src","prefix","attrs","Array","isArray","Promise","all","map","item","fixedSrc","test","concat","cachedPromise","get","promise","resolve","reject","end","window","dispatchEvent","Event","element","document","createElement","Object","assign","async","rel","href","onload","onerror","e","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","loadScript","loadStyle","resolveBasicPkg","loadSharedModule","_x","_x2","_loadSharedModule","apply","this","arguments","scope","module","container","init","default","v2AdapterPromise","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","_loadBricksImperatively","loadProcessorsImperatively","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","lastName","includes","split","pkgId","replace","match","toLocaleLowerCase","deprecatedBrickInThisPkg","p","values","_p$elements","elements","some","_p$deprecatedElements","deprecatedElements","groupItems","push","fullName","deps","dependencies","dep","console","error","loadBrickModule","_x3","_x4","_x5","_loadBrickModule","moduleName","Error","loadRestBricks","pkgs","itemsMap","_ref","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","_x6","_x7","_x8","_x9","_enqueueStableLoad","_pkg$id","getPkgIdByFilePath","foundBasicPkg","maybeV2Adapter","v2Packages","v3PackagesOtherThanBasic","_pkg","keys","basicPkgPromise","v2Adapter","basicPkg","_window$PUBLIC_ROOT2","tempPromise","then","pkgPromises","length","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","_ref2","adapter","pkgNamespace","dll","_x10","_dispatchRequestStatus","slice","join"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[8057],{15:(e,t,r)=>{r.d(t,{a:()=>a,t:()=>n});var o=r(8769),n=(0,o.createContext)({}),a=()=>(0,o.useContext)(n)},1337:(e,t,r)=>{r.d(t,{M:()=>W});var o=r(9740),n=r(8769),a=r.n(n),s=r(15),i=r(9938),l=(0,i.wrapBrick)("eo-icon");function c(e){var{role:t}=e;return(0,n.useMemo)((()=>"user"===t),[t])?a().createElement(l,{className:"avatar",lib:"easyops",icon:"user-avatar",category:"colored-common"}):a().createElement(l,{className:"avatar",lib:"easyops",icon:"robot-avatar",category:"colored-common"})}var p=r(3373),d=r.n(p);function m(e){var{loading:t}=e;return t?a().createElement("div",{className:"message-list-loading-wrapper"}):null}function w(e){var{loading:t}=e;return t?a().createElement("div",{className:"chart-item-loading-wrapper"},a().createElement("div",{className:"load"},a().createElement("div",null),a().createElement("div",null),a().createElement("div",null),a().createElement("div",null))):null}var h=(0,i.wrapBrick)("eo-link");function u(e){var{text:t,prompts:r}=e;return a().createElement("div",{className:"guide-item"},t,a().createElement("div",{className:"prompts-list"},r?r.map(((e,t)=>a().createElement(h,{key:t},e))):null))}var g=r(7357),b=r(4001),v=r(536),f=r(4895),x=r(8589),k=r(2762);function y(e){var{text:t}=e;return a().createElement("div",{className:"markdown-item"},a().createElement(b.pb,null,a().createElement(E,{value:t})))}function E(e){var{value:t}=e;return(0,b.hG)((e=>g.KE.make().config((r=>{r.set(g.k,e),r.update(g.QM,(e=>(0,o.A)((0,o.A)({},e),{},{editable:()=>!1}))),t&&r.set(g.CI,t)})).config(f.E).use(k.Wj).use(x.Te).use(v.PD)),[]),a().createElement(b.y5,null)}function S(e){var{text:t}=e;return a().createElement("div",{className:"table-item"},t)}function z(e){var{text:t}=e;return a().createElement("div",{className:"text-item"},t)}var M=r(2681),C=(0,i.wrapBrick)("eo-icon"),N=(0,i.wrapBrick)("eo-tooltip"),A=(0,M.unwrapProvider)("basic.copy-to-clipboard"),P=(0,M.unwrapProvider)("basic.show-notification");function T(e){var{role:t,content:r,chatting:o}=e,i=(0,n.useMemo)((()=>"assistant"===t&&!(null!=r&&r.find((e=>"load"===e.type)))),[t,r]),l=(0,n.useMemo)((()=>o),[o]),{showLike:c}=(0,s.a)();return i&&!l?a().createElement("div",{className:"toolbar"},c&&a().createElement(a().Fragment,null,a().createElement(N,{content:"点赞"},a().createElement(C,{lib:"antd",icon:"like",theme:"filled"})),a().createElement(N,{content:"还不够好"},a().createElement(C,{lib:"antd",icon:"dislike",theme:"filled"}))),a().createElement(N,{content:"点击复制"},a().createElement(C,{lib:"antd",icon:"copy",onClick:()=>{var e=r.map((e=>e.text)).toString();A(e).then((()=>P({type:"success",message:"复制成功"}))).catch((()=>P({type:"error",message:"复制失败"})))}}))):null}var q=r(6238),I=r.n(q);function H(e){var{time:t}=e;return a().createElement("div",{className:"time"},t?"string"==typeof t?t:I()(1e3*t).format("YYYY-MM-DD HH:mm:ss"):null)}var R=(0,i.wrapBrick)("eo-tooltip"),D=(0,i.wrapBrick)("eo-icon");function j(e){var{role:t,content:r}=e,o=(0,n.useMemo)((()=>"user"===t),[t]),{chartting:i,setSearchStr:l}=(0,s.a)();return o&&!i?a().createElement("div",{className:"content-tip"},a().createElement(R,{content:"点击再次提问"},a().createElement(D,{lib:"antd",icon:"edit",onClick:()=>{l(r.map((e=>e.text)).toString())}}))):null}function L(e){var{content:t,ctime:r,role:o}=e,s=(0,n.useMemo)((()=>"user"===o),[o]),i=(0,n.useCallback)(((e,t)=>{var{type:r,text:o,examplePrompts:n}=e;switch(r){case"guide":return a().createElement(u,{key:t,text:o,prompts:n});case"markdown":return a().createElement(y,{key:t,text:o});case"table":return a().createElement(S,{key:t,text:o});case"load":return a().createElement(w,{loading:!0});default:return a().createElement(z,{key:t,text:o})}}),[]),l=(0,n.useMemo)((()=>t.map(i)),[t,i]);return a().createElement("div",{className:"message-box"},a().createElement("div",{className:"message-top"},s?"我":"AI助手",a().createElement(H,{time:r})),a().createElement("div",{className:"message-content"},a().createElement("div",{className:"content"},l,a().createElement(j,e))),a().createElement("div",{className:d()("message-bottom",o)},a().createElement("div",{className:"message-toolbar"},a().createElement(T,e))))}var _=80;function W(e){var{showAvatar:t=!0}=e,r=(0,n.useRef)(null),i=(0,n.useRef)(null),[l,p]=(0,n.useState)(0),{msgList:w,msgItem:h,loading:u,chartting:g}=(0,s.a)(),b=(0,n.useCallback)((function(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return a().createElement("div",{className:d()("message-item",{user:"user"===e.role}),key:null!==(r=e.ctime)&&void 0!==r?r:o},t&&a().createElement(c,{role:e.role}),a().createElement(L,e))}),[t]),v=(0,n.useMemo)((()=>w.length?w.map(b):null),[w,b]),f=(0,n.useMemo)((()=>h?b((0,o.A)((0,o.A)({},h),{},{chatting:!0})):null),[h,b]);return(0,n.useEffect)((()=>{var e=i.current;if(e){var t=new ResizeObserver((e=>{var t=0;for(var o of e)t=o.contentRect.height-_;t>l&&!u&&!g&&(r.current.scroll({top:Number.MAX_SAFE_INTEGER}),p(t)),t>l&&g&&(r.current.scroll({top:Number.MAX_SAFE_INTEGER}),p(Math.max(l,t)))}));return t.observe(e),()=>t.disconnect()}}),[g,u,l]),a().createElement("div",{className:"message-list",ref:r},a().createElement("div",{className:"message-list-box",ref:i},v,f),a().createElement(m,{loading:u}))}},205:(e,t,r)=>{r.d(t,{D:()=>u});var o,n=r(9740),a=r(8769),s=r.n(a),i=r(9938),l="\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",c=["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"],p=r(3373),d=r.n(p),m=r(15),w=(0,i.wrapBrick)("eo-tooltip"),h=(0,i.wrapBrick)("eo-icon");function u(){var[e,t]=(0,a.useState)(""),[r,i]=(0,a.useState)(!1),[p,u]=(0,a.useState)(!1),[g,b]=(0,a.useState)(),[v,f]=(0,a.useState)(!1),x=(0,a.useRef)(null),k=(0,a.useRef)(null),y=(0,a.useRef)(!1),{chartting:E,loading:S,searchStr:z,createSession:M,setSearchStr:C,handleChat:N}=(0,m.a)(),A=(0,a.useMemo)((()=>!!e),[e]),P=(0,a.useMemo)((()=>[1,5]),[]),T=(0,a.useMemo)((()=>S||E),[E,S]),q=(0,a.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P;if(!y.current||!p){var t=k.current;if(t){var r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;o||((o=document.createElement("textarea")).setAttribute("tab-index","-1"),o.setAttribute("aria-hidden","true"),document.body.appendChild(o));var n=window.getComputedStyle(e),a=c.map((e=>"".concat(e,":").concat(n.getPropertyValue(e)))).join(";");o.setAttribute("style","".concat(a,";").concat(l)),o.value=e.value||e.placeholder||"";var s=void 0,i=void 0,p=o.scrollHeight-20+2;if(null!==t||null!==r){o.value=" ";var d=o.scrollHeight-20;null!==t&&(s=d*t-20+2,p=Math.max(20,p)),null!==r&&(i=d*r-20+2,p=Math.min(i,p))}var m={height:p,overflowY:"scroll",resize:"none"};return s&&(m.minHeight=s),i&&(m.maxHeight=i),m}(t,e[0],e[1]);b(r)}y.current=p}}),[P,p]),I=(0,a.useCallback)((e=>{var r="string"==typeof e?e:e.target.value;t(r),k.current.value=r}),[]),H=(0,a.useCallback)((()=>{u((e=>!e))}),[]),R=(0,a.useCallback)((()=>{A&&k.current&&!T&&(N(e),i(!1),u(!1),I(""),k.current.blur())}),[e,A,T,N,I]),D=(0,a.useCallback)((e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),R())}),[R]);return(0,a.useEffect)((()=>{z&&(I(z),C(""))}),[z,T,C,I]),(0,a.useEffect)((()=>{q(p?[20,20]:void 0)}),[e,p,q]),(0,a.useEffect)((()=>{var e=x.current;if(e){var t=new ResizeObserver((()=>{var{width:t}=e.getBoundingClientRect(),{width:r}=e.parentElement.parentElement.getBoundingClientRect();f(t===r)}));return t.observe(e),()=>{t.disconnect()}}}),[]),s().createElement("div",{className:d()("search-input-box",{"fill-content":v}),ref:x},s().createElement("div",{className:d()("input-box",{active:r,disabled:T,expand:p})},s().createElement("textarea",{value:e,ref:k,style:(0,n.A)((0,n.A)({},g),{},{paddingRight:p?"50px":"140px"}),placeholder:E?"回复中,请稍等...":"提出你的想法...",onFocus:()=>i(!0),onBlur:()=>i(!1),onChange:I,onKeyDown:D}),s().createElement("span",{className:"suffix-icon"},s().createElement(w,{content:"新增会话"},s().createElement(h,{lib:"antd",icon:"plus-circle",onClick:()=>{M()}})),!p&&s().createElement(w,{content:"放大"},s().createElement(h,{lib:"antd",icon:"arrows-alt",onClick:H})),s().createElement("div",{className:"submit-split"}),s().createElement(w,{content:"提交"},s().createElement(h,{className:d()("submit-btn",{active:A,disabled:!A||T}),lib:E?"antd":"easyops",icon:E?"loading":"release-management-fill",category:E?"":"menu",spinning:E,onClick:R}))),s().createElement("span",{className:"toolbar-icon"},p&&s().createElement(w,{content:"缩小"},s().createElement(h,{lib:"antd",icon:"shrink",onClick:H})))),A&&s().createElement("div",{className:"search-input-toolbar"},s().createElement("div",{className:"input-tip"},"Shift + Enter 换行")))}},3830:(e,t,r)=>{r.d(t,{Z:()=>c});var o=r(9575),n=r(8769),a=r.n(n),s=r(15),i=r(3373),l=r.n(i);function c(){var{sessionList:e}=(0,s.a)();return a().createElement("div",{className:"session-list-wrapper"},a().createElement("div",{className:"session-title"},"历史对话"),a().createElement("div",{className:"session-list"},e.map(((e,t)=>a().createElement(p,(0,o.A)({key:t},e))))))}function p(e){var{title:t,id:r}=e,{updateSession:o,activeSessionId:n}=(0,s.a)();return a().createElement("div",{className:l()("session-item",{active:r===n}),onClick:()=>{o(r)}},t)}},8312:(e,t,r)=>{r.d(t,{F:()=>M});var o=r(6330),n=r(8769),a=[{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"}],s=[{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"}],i=r(6238),l=r.n(i),c=r(4635),p=r(918),d=r(2110),m=r(6595);function w(e,t){return e.get(u(e,t))}function h(e,t,r){return e.set(u(e,t),r),r}function u(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var g=new WeakMap,b=new WeakMap,v=new WeakMap,f=new WeakMap,x=new WeakMap,k=new WeakMap,y=new WeakMap,E=new WeakSet;class S{constructor(e){var{agentId:t}=e;(0,c.A)(this,E),(0,p.A)(this,g,void 0),(0,p.A)(this,b,!1),(0,p.A)(this,v,!1),(0,p.A)(this,f,void 0),(0,p.A)(this,x,[]),(0,p.A)(this,k,{}),(0,p.A)(this,y,void 0),h(g,this,t)}enqueue(e){w(x,this).push(e),u(E,this,z).call(this)}dequeue(){return w(x,this).shift()}getMessageQueue(){return w(x,this)}subscribe(e,t){w(k,this)[e]||(w(k,this)[e]=[]),w(k,this)[e].push(t)}unsubscribe(e,t){w(k,this)[e]&&(w(k,this)[e]=w(k,this)[e].filter((e=>e!==t)))}notifySubscribers(e){var t=e.topic;w(k,this)[t]&&w(k,this)[t].forEach((t=>{t(null==e?void 0:e.message)}))}setConversationId(e){h(y,this,e)}getSessionList(){return(0,o.A)((function*(){}))()}chat(e){var t=this;return(0,o.A)((function*(){var r,n=new AbortController;h(b,t,!0),yield(0,d.y)("".concat((0,m.getBasePath)(),"api/gateway/easyops.api.aiops_chat.manage.LLMStreamChat/stream_chat"),{method:"POST",signal:n.signal,body:JSON.stringify({agentId:w(g,t),conversationId:w(y,t),messages:[{role:"user",content:[{text:e,type:"text"}]}]}),onopen:(r=(0,o.A)((function*(e){e.ok?console.log("open sse service success!"):console.log("open sse service fail!")})),function(e){return r.apply(this,arguments)}),onmessage:e=>{var{data:r}=e,o={};try{o=JSON.parse(r)}catch(e){console.log("数据格式错误",e)}h(y,t,o.conversationId),t.enqueue({topic:"add",message:o})},onclose:()=>{console.log("close"),n.abort()},onerror:e=>{console.log("err",e),n.abort()}}),h(b,t,!1)}))()}}function z(){w(v,this)||(h(v,this,!0),h(f,this,setInterval((()=>{if(w(b,this)||this.getMessageQueue().length){var e=this.dequeue();this.notifySubscribers(e)}else clearInterval(w(f,this)),h(f,this,void 0),h(v,this,!1),this.notifySubscribers({topic:"finish"})}),80)))}function M(e){var{agentId:t}=e,[r,i]=(0,n.useState)("1"),[c,p]=(0,n.useState)(!1),[d,m]=(0,n.useState)(!1),[w,h]=(0,n.useState)([]),[u,g]=(0,n.useState)([]),[b,v]=(0,n.useState)(),[f,x]=(0,n.useState)(""),k=(0,n.useRef)(""),y=(0,n.useRef)(),E=(0,n.useMemo)((()=>new S({agentId:t})),[t]);(0,n.useEffect)((()=>{}),[]),(0,n.useEffect)((()=>{h([{title:"会话一",id:"1",ctime:1710731756,active:!0}])}),[]),(0,n.useEffect)((()=>{var e=e=>{e&&(k.current=k.current+e.messages.map((e=>e.content.text)).toString(),console.log(k.current),y.current={role:"assistant",content:[{type:"markdown",text:k.current}],key:Math.random(),ctime:null==e?void 0:e.ctime},v(y.current))},t=()=>{g((e=>e.concat(y.current))),k.current="",v(void 0),m(!1)};return E.subscribe("add",e),E.subscribe("finish",t),()=>{E.unsubscribe("add",e),E.unsubscribe("finish",t)}}),[E]);var z=(0,n.useCallback)(function(){var e=(0,o.A)((function*(e){m(!0),E.chat(e),g((t=>t.concat({role:"user",content:[{type:"text",text:e}],ctime:l()().format("YYYY-MM-DD HH:mm:ss")}))),v({role:"assistant",content:[{type:"load",text:""}],ctime:"Now"})}));return function(t){return e.apply(this,arguments)}}(),[E]),M=(0,n.useCallback)((()=>{g([]),E.setConversationId()}),[E]),C=(0,n.useCallback)(function(){var e=(0,o.A)((function*(e){p(!0),g([]),i(e);var t=function(){var t=(0,o.A)((function*(){return new Promise((t=>{setTimeout((()=>{t("1"===e?a:s)}),5e3)}))}));return function(){return t.apply(this,arguments)}}(),r=yield t();g(r),p(!1)}));return function(t){return e.apply(this,arguments)}}(),[]);return{loading:c,chartting:d,activeSessionId:r,sessionList:w,searchStr:f,msgList:u,msgItem:b,handleChat:z,createSession:M,updateSession:C,setSearchStr:x}}},4651:(e,t,r)=>{r.d(t,{A:()=>i});var o=r(6758),n=r.n(o),a=r(935),s=r.n(a)()(n());s.push([e.id,'.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~="not-prose"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~="not-prose"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~="not-prose"] *)):after{content:""}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\n.milkdown-theme-nord.prose th{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline="true"],\n.milkdown-theme-nord.prose br[data-is-inline="true"]:after{content:" "}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--color-info);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\\201C" "\\201D" "\\2018" "\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~="not-prose"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~="not-prose"] *))::before{content:"`"}.prose :where(code):not(:where([class~="not-prose"] *))::after{content:"`"}.prose :where(a code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h1 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(h2 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(thead th code):not(:where([class~="not-prose"] *)){color:inherit}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *))::before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *))::after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~="not-prose"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~="not-prose"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:0.5em;margin-bottom:0.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~="not-prose"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~="not-prose"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;margin:0;padding:0}.editor{margin-left:auto;margin-right:auto}:is(.dark .dark\\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}code[class*="language-"],\npre[class*="language-"]{color:#f8f8f2;background:none;font-family:"Fira Code",Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*="language-"],\npre[class*="language-"]{background:#2e3440}:not(pre) > code[class*="language-"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}',""]);const i=s.toString()},5679:(e,t,r)=>{r.d(t,{A:()=>m});var o=r(6758),n=r.n(o),a=r(935),s=r.n(a),i=r(62),l=r.n(i),c=new URL(r(3101),r.b),p=s()(n()),d=l()(c);p.push([e.id,`.message-list-loading-wrapper{width:140px;height:140px;background-repeat:no-repeat;margin:auto;background-image:url(${d})}.chart-item-loading-wrapper{display:flex;padding:10px;font-size:40px;align-items:center;justify-content:center;background:inherit;color:#d2d3d4;border-radius:6px}.chart-item-loading-wrapper .load{display:inline-block;position:relative;width:64px;height:64px}.chart-item-loading-wrapper .load div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:#aaa8a8;animation-timing-function:cubic-bezier(0,1,1,0)}.chart-item-loading-wrapper .load div:nth-child(1){left:6px;animation:load1 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(2){left:6px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(3){left:26px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(4){left:45px;animation:load3 0.6s infinite}@keyframes load1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes load2{0%{transform:translate(0,0)}100%{transform:translate(19px,0)}}@keyframes load3{0%{transform:scale(1)}100%{transform:scale(0)}}`,""]);const m=p.toString()},8894:(e,t,r)=>{r.d(t,{A:()=>i});var o=r(6758),n=r.n(o),a=r(935),s=r.n(a)()(n());s.push([e.id,':host{display:block;height:100%}: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:var(--color-normal-text);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)}',""]);const i=s.toString()},3101:(e,t,r)=>{e.exports=r.p+"images/863bc601.gif"}}]);
2
+ //# sourceMappingURL=8057.16219952.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8057.16219952.js","mappings":"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","sources":["webpack:///./src/chat-view/ChatViewContext.ts","webpack:///./src/chat-view/components/MessageItem/Avatar.tsx","webpack:///./src/chat-view/components/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:///./src/chat-view/ChatService.ts","webpack:///./src/chat-view/hooks/useChatViewInfo.ts","webpack:///./src/chat-view/components/MessageItem/markdown.shadow.css","webpack:///./src/chat-view/components/loading.shadow.css","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 createSession: () => 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, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Role } from \"../../ChatViewContext.js\";\n\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function Avatar({ role }: { role: Role }): React.ReactNode {\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\";\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nexport function MessageListLoading({ loading }: LoadingProps) {\n return loading ? <div className=\"message-list-loading-wrapper\"></div> : null;\n}\n\nexport function ChatItemLoading({ loading }: LoadingProps) {\n return loading ? (\n <div className=\"chart-item-loading-wrapper\">\n <div className=\"load\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\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 {\n defaultValueCtx,\n Editor,\n rootCtx,\n editorViewOptionsCtx,\n} from \"@milkdown/core\";\nimport { Milkdown, useEditor, MilkdownProvider } from \"@milkdown/react\";\nimport { commonmark } from \"@milkdown/preset-commonmark\";\nimport { nord } from \"@milkdown/theme-nord\";\nimport { gfm } from \"@milkdown/preset-gfm\";\nimport { prism } from \"@milkdown/plugin-prism\";\n\nexport function MarkdownItem({ text }: { text: string }) {\n return (\n <div className=\"markdown-item\">\n <MilkdownProvider>\n <MarkdownDisplay value={text} />\n </MilkdownProvider>\n </div>\n );\n}\n\nexport function MarkdownDisplay({ value }: { value: string }): React.ReactNode {\n useEditor((root) => {\n return Editor.make()\n .config((ctx) => {\n ctx.set(rootCtx, root);\n ctx.update(editorViewOptionsCtx, (prev: any) => ({\n ...prev,\n editable: () => false,\n }));\n value && ctx.set(defaultValueCtx, value);\n })\n .config(nord)\n .use(prism)\n .use(gfm)\n .use(commonmark);\n }, []);\n\n return <Milkdown />;\n}\n","import React from \"react\";\n// import { wrapBrick } from \"@next-core/react-element\";\n// import type {\n// EoNextTable,\n// NextTableComponentProps,\n// } from \"@next-bricks/advanced/next-table\";\n\ninterface MarkdownItemProps {\n text: string;\n}\n\n// const 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 return <div className=\"table-item\">{text}</div>;\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 { ChatItemLoading } 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 <ChatItemLoading 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 { MessageListLoading } from \"./Loading.js\";\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, 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 <MessageListLoading 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 {\n chartting,\n loading,\n searchStr,\n createSession,\n setSearchStr,\n 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 createSession();\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={chartting ? \"回复中,请稍等...\" : \"提出你的想法...\"}\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","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 setConversationId(id?: string) {\n this.#conversationId = id;\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 // title: \"会话二\",\n // id: \"2\",\n // ctime: 1710731756,\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 createSession = useCallback(() => {\n setMsgList([]);\n chartService.setConversationId();\n }, [chartService]);\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 createSession,\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, `.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:\"liga\" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:\"\";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\n.milkdown-theme-nord.prose th{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline=\"true\"],\n.milkdown-theme-nord.prose br[data-is-inline=\"true\"]:after{content:\" \"}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=\"not-prose\"] *)){color:var(--color-info);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(ol):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=\"A\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"A\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"I\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"I\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=\"not-prose\"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=\"not-prose\"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~=\"not-prose\"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~=\"not-prose\"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=\"not-prose\"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=\"not-prose\"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~=\"not-prose\"] *))::before{content:\"\\`\"}.prose :where(code):not(:where([class~=\"not-prose\"] *))::after{content:\"\\`\"}.prose :where(a code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h1 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h2 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(pre):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::before{content:none}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::after{content:none}.prose :where(table):not(:where([class~=\"not-prose\"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=\"not-prose\"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=\"not-prose\"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=\"not-prose\"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=\"not-prose\"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:0.5em;margin-bottom:0.5em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~=\"not-prose\"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;margin:0;padding:0}.editor{margin-left:auto;margin-right:auto}:is(.dark .dark\\\\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}code[class*=\"language-\"],\npre[class*=\"language-\"]{color:#f8f8f2;background:none;font-family:\"Fira Code\",Consolas,Monaco,\"Andale Mono\",\"Ubuntu Mono\",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=\"language-\"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"]{background:#2e3440}:not(pre) > code[class*=\"language-\"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../assets/loading.gif\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.message-list-loading-wrapper{width:140px;height:140px;background-repeat:no-repeat;margin:auto;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.chart-item-loading-wrapper{display:flex;padding:10px;font-size:40px;align-items:center;justify-content:center;background:inherit;color:#d2d3d4;border-radius:6px}.chart-item-loading-wrapper .load{display:inline-block;position:relative;width:64px;height:64px}.chart-item-loading-wrapper .load div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:#aaa8a8;animation-timing-function:cubic-bezier(0,1,1,0)}.chart-item-loading-wrapper .load div:nth-child(1){left:6px;animation:load1 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(2){left:6px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(3){left:26px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(4){left:45px;animation:load3 0.6s infinite}@keyframes load1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes load2{0%{transform:translate(0,0)}100%{transform:translate(19px,0)}}@keyframes load3{0%{transform:scale(1)}100%{transform:scale(0)}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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:block;height:100%}: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:var(--color-normal-text);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)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["ChatViewContext","createContext","useChatViewContext","useContext","WrapperIcon","wrapBrick","Avatar","_ref","role","useMemo","React","className","lib","icon","category","MessageListLoading","loading","ChatItemLoading","_ref2","WrappedLink","GuideItem","text","prompts","map","item","index","key","MarkdownItem","MilkdownProvider","MarkdownDisplay","value","useEditor","root","Editor","make","config","ctx","set","rootCtx","update","editorViewOptionsCtx","prev","_objectSpread","editable","defaultValueCtx","nord","use","prism","gfm","commonmark","Milkdown","TableItem","TextItem","WrappedToolTip","copyToClipboard","unwrapProvider","showNotification","Toolbar","content","chatting","isAssistant","find","type","isChattingItem","showLike","theme","onClick","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","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","WrappedIcon","SearchInput","setValue","active","setActive","expand","setExpand","autoSizeStyle","setAutoSizeStyle","isFillContent","setIsFillContent","searchInputBoxRef","textareaRef","hadExpanded","searchStr","createSession","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","spinning","SessionList","sessionList","SessionItem","_extends","title","id","updateSession","activeSessionId","handleUpdateSession","mockmsgList","mockList2","_agentId","WeakMap","_charting","_isStartEmitEvent","_emitTimer","_messageQueue","_subscribers","_conversationId","_ChatService_brand","WeakSet","ChatService","constructor","agentId","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_classPrivateFieldSet","this","enqueue","data","_classPrivateFieldGet","push","_assertClassBrand","_startEmitEvent","call","dequeue","shift","getMessageQueue","subscribe","topic","callback","unsubscribe","filter","cb","notifySubscribers","forEach","setConversationId","getSessionList","_asyncToGenerator","chat","_this","ctrl","AbortController","fetchEventSource","getBasePath","method","signal","JSON","stringify","conversationId","messages","onopen","response","ok","console","log","_x","apply","onmessage","msg","result","parse","onclose","abort","onerror","err","setInterval","messageItem","clearInterval","useChatViewInfo","setActiveSessionid","setLoading","setChatting","setSessionList","setMsgList","setMsgItem","chartingText","chartingMessageItem","chartService","listener","random","finishListener","list","_ref3","mockSearch","_ref4","Promise","resolve","setTimeout","_x2","___CSS_LOADER_EXPORT___","module","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___"],"sourceRoot":""}