@mxmweb/aichat 1.1.1 → 1.1.8

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 (523) hide show
  1. package/.editorconfig +38 -0
  2. package/.github/workflows/release.yml +60 -0
  3. package/.prettierignore +16 -0
  4. package/.prettierrc +17 -0
  5. package/.releaserc.json +36 -0
  6. package/CHANGELOG.md +58 -0
  7. package/CONTRIBUTING.md +111 -0
  8. package/NPMREADME.md +215 -0
  9. package/bash.exe.stackdump +40 -0
  10. package/components.json +21 -0
  11. package/demo.txt +134 -0
  12. package/dist/README.md +216 -0
  13. package/{adopters → dist/adopters}/GientechChat/Conversations/Item.d.ts +4 -2
  14. package/{adopters → dist/adopters}/GientechChat/Conversations/List.d.ts +4 -1
  15. package/{adopters → dist/adopters}/GientechChat/Conversations/index.d.ts +1 -0
  16. package/{adopters → dist/adopters}/gientechCommon/components/Messages/ReferenceCard.d.ts +7 -3
  17. package/dist/adopters/gientechCommon/components/Messages/RetriveItem.d.ts +25 -0
  18. package/dist/assets/aichat.css +1 -0
  19. package/{components → dist/components}/AiChat.d.ts +2 -1
  20. package/{index.js → dist/index.js} +13403 -13142
  21. package/dist/package.json +19 -0
  22. package/eslint.config.js +92 -0
  23. package/index.html +14 -0
  24. package/package.json +41 -10
  25. package/postcss.config.cjs +19 -0
  26. package/public/icons/answerAwartar.png +0 -0
  27. package/public/icons/docx-file.png +0 -0
  28. package/public/icons/folder.png +0 -0
  29. package/public/icons/html.png +0 -0
  30. package/public/icons/image.png +0 -0
  31. package/public/icons/jpg-file.png +0 -0
  32. package/public/icons/json.png +0 -0
  33. package/public/icons/md.png +0 -0
  34. package/public/icons/pdf.png +0 -0
  35. package/public/icons/pptx.png +0 -0
  36. package/public/icons/questionAwartar.png +0 -0
  37. package/public/icons/sheets.png +0 -0
  38. package/public/icons/txt.png +0 -0
  39. package/public/icons/xlsx.png +0 -0
  40. package/public/libs/luckysheet/fontAwesome.otf +0 -0
  41. package/public/libs/luckysheet/fontawesome-webfont.eot +0 -0
  42. package/public/libs/luckysheet/fontawesome-webfont.svg +2671 -0
  43. package/public/libs/luckysheet/fontawesome-webfont.ttf +0 -0
  44. package/public/libs/luckysheet/fontawesome-webfont.woff +0 -0
  45. package/public/libs/luckysheet/fontawesome-webfont.woff2 +0 -0
  46. package/public/libs/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  47. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  48. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  49. package/public/libs/luckysheet/iconfont.css +461 -0
  50. package/public/libs/luckysheet/jquery.min.js +2 -0
  51. package/public/libs/luckysheet/luckysheet.css +1 -0
  52. package/public/libs/luckysheet/luckysheet.umd.js +27 -0
  53. package/public/libs/luckysheet/plugin.js +1 -0
  54. package/public/libs/luckysheet/plugins.css +10 -0
  55. package/public/libs/luckysheet/pluginsCss.css +1 -0
  56. package/public/vite.svg +1 -0
  57. package/public/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  58. package/public/vs/base/common/worker/simpleWorker.nls.de.js +8 -0
  59. package/public/vs/base/common/worker/simpleWorker.nls.es.js +8 -0
  60. package/public/vs/base/common/worker/simpleWorker.nls.fr.js +8 -0
  61. package/public/vs/base/common/worker/simpleWorker.nls.it.js +8 -0
  62. package/public/vs/base/common/worker/simpleWorker.nls.ja.js +8 -0
  63. package/public/vs/base/common/worker/simpleWorker.nls.js +8 -0
  64. package/public/vs/base/common/worker/simpleWorker.nls.ko.js +8 -0
  65. package/public/vs/base/common/worker/simpleWorker.nls.ru.js +8 -0
  66. package/public/vs/base/common/worker/simpleWorker.nls.zh-cn.js +8 -0
  67. package/public/vs/base/common/worker/simpleWorker.nls.zh-tw.js +8 -0
  68. package/public/vs/base/worker/workerMain.js +27 -0
  69. package/public/vs/basic-languages/abap/abap.js +10 -0
  70. package/public/vs/basic-languages/apex/apex.js +10 -0
  71. package/public/vs/basic-languages/azcli/azcli.js +10 -0
  72. package/public/vs/basic-languages/bat/bat.js +10 -0
  73. package/public/vs/basic-languages/bicep/bicep.js +11 -0
  74. package/public/vs/basic-languages/cameligo/cameligo.js +10 -0
  75. package/public/vs/basic-languages/clojure/clojure.js +10 -0
  76. package/public/vs/basic-languages/coffee/coffee.js +10 -0
  77. package/public/vs/basic-languages/cpp/cpp.js +10 -0
  78. package/public/vs/basic-languages/csharp/csharp.js +10 -0
  79. package/public/vs/basic-languages/csp/csp.js +10 -0
  80. package/public/vs/basic-languages/css/css.js +12 -0
  81. package/public/vs/basic-languages/cypher/cypher.js +10 -0
  82. package/public/vs/basic-languages/dart/dart.js +10 -0
  83. package/public/vs/basic-languages/dockerfile/dockerfile.js +10 -0
  84. package/public/vs/basic-languages/ecl/ecl.js +10 -0
  85. package/public/vs/basic-languages/elixir/elixir.js +10 -0
  86. package/public/vs/basic-languages/flow9/flow9.js +10 -0
  87. package/public/vs/basic-languages/freemarker2/freemarker2.js +12 -0
  88. package/public/vs/basic-languages/fsharp/fsharp.js +10 -0
  89. package/public/vs/basic-languages/go/go.js +10 -0
  90. package/public/vs/basic-languages/graphql/graphql.js +10 -0
  91. package/public/vs/basic-languages/handlebars/handlebars.js +10 -0
  92. package/public/vs/basic-languages/hcl/hcl.js +10 -0
  93. package/public/vs/basic-languages/html/html.js +10 -0
  94. package/public/vs/basic-languages/ini/ini.js +10 -0
  95. package/public/vs/basic-languages/java/java.js +10 -0
  96. package/public/vs/basic-languages/javascript/javascript.js +10 -0
  97. package/public/vs/basic-languages/julia/julia.js +10 -0
  98. package/public/vs/basic-languages/kotlin/kotlin.js +10 -0
  99. package/public/vs/basic-languages/less/less.js +11 -0
  100. package/public/vs/basic-languages/lexon/lexon.js +10 -0
  101. package/public/vs/basic-languages/liquid/liquid.js +10 -0
  102. package/public/vs/basic-languages/lua/lua.js +10 -0
  103. package/public/vs/basic-languages/m3/m3.js +10 -0
  104. package/public/vs/basic-languages/markdown/markdown.js +10 -0
  105. package/public/vs/basic-languages/mdx/mdx.js +10 -0
  106. package/public/vs/basic-languages/mips/mips.js +10 -0
  107. package/public/vs/basic-languages/msdax/msdax.js +10 -0
  108. package/public/vs/basic-languages/mysql/mysql.js +10 -0
  109. package/public/vs/basic-languages/objective-c/objective-c.js +10 -0
  110. package/public/vs/basic-languages/pascal/pascal.js +10 -0
  111. package/public/vs/basic-languages/pascaligo/pascaligo.js +10 -0
  112. package/public/vs/basic-languages/perl/perl.js +10 -0
  113. package/public/vs/basic-languages/pgsql/pgsql.js +10 -0
  114. package/public/vs/basic-languages/php/php.js +10 -0
  115. package/public/vs/basic-languages/pla/pla.js +10 -0
  116. package/public/vs/basic-languages/postiats/postiats.js +10 -0
  117. package/public/vs/basic-languages/powerquery/powerquery.js +10 -0
  118. package/public/vs/basic-languages/powershell/powershell.js +10 -0
  119. package/public/vs/basic-languages/protobuf/protobuf.js +11 -0
  120. package/public/vs/basic-languages/pug/pug.js +10 -0
  121. package/public/vs/basic-languages/python/python.js +10 -0
  122. package/public/vs/basic-languages/qsharp/qsharp.js +10 -0
  123. package/public/vs/basic-languages/r/r.js +10 -0
  124. package/public/vs/basic-languages/razor/razor.js +10 -0
  125. package/public/vs/basic-languages/redis/redis.js +10 -0
  126. package/public/vs/basic-languages/redshift/redshift.js +10 -0
  127. package/public/vs/basic-languages/restructuredtext/restructuredtext.js +10 -0
  128. package/public/vs/basic-languages/ruby/ruby.js +10 -0
  129. package/public/vs/basic-languages/rust/rust.js +10 -0
  130. package/public/vs/basic-languages/sb/sb.js +10 -0
  131. package/public/vs/basic-languages/scala/scala.js +10 -0
  132. package/public/vs/basic-languages/scheme/scheme.js +10 -0
  133. package/public/vs/basic-languages/scss/scss.js +12 -0
  134. package/public/vs/basic-languages/shell/shell.js +10 -0
  135. package/public/vs/basic-languages/solidity/solidity.js +10 -0
  136. package/public/vs/basic-languages/sophia/sophia.js +10 -0
  137. package/public/vs/basic-languages/sparql/sparql.js +10 -0
  138. package/public/vs/basic-languages/sql/sql.js +10 -0
  139. package/public/vs/basic-languages/st/st.js +10 -0
  140. package/public/vs/basic-languages/swift/swift.js +13 -0
  141. package/public/vs/basic-languages/systemverilog/systemverilog.js +10 -0
  142. package/public/vs/basic-languages/tcl/tcl.js +10 -0
  143. package/public/vs/basic-languages/twig/twig.js +10 -0
  144. package/public/vs/basic-languages/typescript/typescript.js +10 -0
  145. package/public/vs/basic-languages/vb/vb.js +10 -0
  146. package/public/vs/basic-languages/wgsl/wgsl.js +307 -0
  147. package/public/vs/basic-languages/xml/xml.js +10 -0
  148. package/public/vs/basic-languages/yaml/yaml.js +10 -0
  149. package/public/vs/editor/editor.main.css +6 -0
  150. package/public/vs/editor/editor.main.js +745 -0
  151. package/public/vs/editor/editor.main.js.gz +0 -0
  152. package/public/vs/editor/editor.main.nls.de.js +31 -0
  153. package/public/vs/editor/editor.main.nls.es.js +31 -0
  154. package/public/vs/editor/editor.main.nls.fr.js +29 -0
  155. package/public/vs/editor/editor.main.nls.it.js +29 -0
  156. package/public/vs/editor/editor.main.nls.ja.js +31 -0
  157. package/public/vs/editor/editor.main.nls.js +29 -0
  158. package/public/vs/editor/editor.main.nls.ko.js +29 -0
  159. package/public/vs/editor/editor.main.nls.ru.js +31 -0
  160. package/public/vs/editor/editor.main.nls.zh-cn.js +31 -0
  161. package/public/vs/editor/editor.main.nls.zh-tw.js +29 -0
  162. package/public/vs/language/css/cssMode.js +13 -0
  163. package/public/vs/language/css/cssWorker.js +81 -0
  164. package/public/vs/language/css/cssWorker.js.gz +0 -0
  165. package/public/vs/language/html/htmlMode.js +13 -0
  166. package/public/vs/language/html/htmlWorker.js +453 -0
  167. package/public/vs/language/json/jsonMode.js +15 -0
  168. package/public/vs/language/json/jsonWorker.js +36 -0
  169. package/public/vs/language/typescript/tsMode.js +20 -0
  170. package/public/vs/language/typescript/tsWorker.js +37016 -0
  171. package/public/vs/language/typescript/tsWorker.js.gz +0 -0
  172. package/public/vs/loader.js +11 -0
  173. package/public/worker/pdf.worker.min.js +32 -0
  174. package/src/HeadlessChat.tsx +250 -0
  175. package/src/LoginPage/components/Login/LoginBox/index.tsx +103 -0
  176. package/src/LoginPage/components/Login/RegisterBox/index.tsx +181 -0
  177. package/src/LoginPage/components/Login/index.tsx +101 -0
  178. package/src/LoginPage/index.tsx +103 -0
  179. package/src/LoginPage/useServices.ts +53 -0
  180. package/src/LoginPage/utils.ts +42 -0
  181. package/src/Preview.tsx +278 -0
  182. package/src/UseLogingHeadless.tsx +238 -0
  183. package/src/adopters/GientechChat/Conversations/Item.tsx +132 -0
  184. package/src/adopters/GientechChat/Conversations/List.tsx +127 -0
  185. package/src/adopters/GientechChat/Conversations/groupByTime.ts +39 -0
  186. package/src/adopters/GientechChat/Conversations/index.tsx +102 -0
  187. package/src/adopters/GientechChat/constants.tsx +33 -0
  188. package/src/adopters/GientechChat/index.tsx +1242 -0
  189. package/src/adopters/GientechChat/types.ts +17 -0
  190. package/src/adopters/HeadLessChat/constants.tsx +32 -0
  191. package/src/adopters/HeadLessChat/index.tsx +1038 -0
  192. package/src/adopters/HeadLessChat/types.ts +23 -0
  193. package/src/adopters/gientechCommon/components/AppError.tsx +32 -0
  194. package/src/adopters/gientechCommon/components/AppLoading.tsx +75 -0
  195. package/src/adopters/gientechCommon/components/DisplayError.tsx +33 -0
  196. package/src/adopters/gientechCommon/components/DisplayLoading.tsx +38 -0
  197. package/src/adopters/gientechCommon/components/FeedBackModal.tsx +310 -0
  198. package/src/adopters/gientechCommon/components/FileManager/index.tsx +381 -0
  199. package/src/adopters/gientechCommon/components/FileManager/style.css +5 -0
  200. package/src/adopters/gientechCommon/components/Messages/AiChatBox.tsx +530 -0
  201. package/src/adopters/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +245 -0
  202. package/src/adopters/gientechCommon/components/Messages/ReferenceCard.tsx +302 -0
  203. package/src/adopters/gientechCommon/components/Messages/RetriveItem.tsx +194 -0
  204. package/src/adopters/gientechCommon/components/Messages/UserChatBox.tsx +211 -0
  205. package/src/adopters/gientechCommon/components/RenameModal.tsx +75 -0
  206. package/src/adopters/gientechCommon/components/style.less +11 -0
  207. package/src/adopters/gientechCommon/configs/commonConfig.ts +2 -0
  208. package/src/adopters/gientechCommon/configs/senderConfig.ts +0 -0
  209. package/src/adopters/gientechCommon/configs/stylesConfig.ts +142 -0
  210. package/src/adopters/gientechCommon/hooks/AichatUseController.tsx +308 -0
  211. package/src/adopters/gientechCommon/slate/converters/deserializers.ts +757 -0
  212. package/src/adopters/gientechCommon/slate/converters/mockData.ts +232 -0
  213. package/src/adopters/gientechCommon/slate/converters/slateConverters.ts +258 -0
  214. package/src/adopters/gientechCommon/slate/richElements/index.tsx +476 -0
  215. package/src/adopters/gientechCommon/utils/request.ts +37 -0
  216. package/src/adopters/gientechCommon/utils/serverFn.ts +143 -0
  217. package/src/assets/img/downArrow.png +0 -0
  218. package/src/assets/img/excel.png +0 -0
  219. package/src/assets/img/img.png +0 -0
  220. package/src/assets/img/pdf.png +0 -0
  221. package/src/assets/img/ppt.png +0 -0
  222. package/src/assets/img/txt.png +0 -0
  223. package/src/assets/img/word.png +0 -0
  224. package/src/assets/login/homeBg.png +0 -0
  225. package/src/assets/login/left.jpg +0 -0
  226. package/src/assets/login/logoImg.png +0 -0
  227. package/src/assets/style.css +1 -0
  228. package/src/components/AiChat.tsx +647 -0
  229. package/src/components/AiChat.types.tsx +110 -0
  230. package/src/components/DefaultAppError.tsx +7 -0
  231. package/src/components/DefaultAppLoading.tsx +7 -0
  232. package/src/components/DefaultDisplayError.tsx +7 -0
  233. package/src/components/DefaultDisplayLoading.tsx +7 -0
  234. package/src/components/DefaultNewChatWelcome.tsx +10 -0
  235. package/src/components/Displayer/DefaultAiChatBox.tsx +64 -0
  236. package/src/components/Displayer/DefaultUserChatBox.tsx +34 -0
  237. package/src/components/Displayer/index.tsx +107 -0
  238. package/src/components/Displayer/slate/converters/deserializers.ts +427 -0
  239. package/src/components/Displayer/slate/converters/mockData.ts +190 -0
  240. package/src/components/Displayer/slate/converters/slateConverters.ts +258 -0
  241. package/src/components/Displayer/slate/richElements/index.tsx +308 -0
  242. package/src/components/DrawerContent.tsx +105 -0
  243. package/src/components/DrawerPreview.tsx +36 -0
  244. package/src/components/DynamicForm.tsx +29 -0
  245. package/src/components/Loading.tsx +0 -0
  246. package/src/components/RetrieveTest/components/ChatInput.tsx +198 -0
  247. package/src/components/RetrieveTest/components/ChatMessage.tsx +894 -0
  248. package/src/components/RetrieveTest/components/ConfigPanel.tsx +472 -0
  249. package/src/components/RetrieveTest/components/RichTextEditor.tsx +97 -0
  250. package/src/components/RetrieveTest/components/VoiceInput.tsx +257 -0
  251. package/src/components/RetrieveTest/components/config/index.ts +0 -0
  252. package/src/components/RetrieveTest/components/converters/deserializers.ts +393 -0
  253. package/src/components/RetrieveTest/components/converters/mockData.ts +190 -0
  254. package/src/components/RetrieveTest/components/converters/slateConverters.ts +164 -0
  255. package/src/components/RetrieveTest/components/richElements/index.tsx +339 -0
  256. package/src/components/RetrieveTest/components/style.css +3 -0
  257. package/src/components/RetrieveTest/index.tsx +679 -0
  258. package/src/components/Sender/FileUpload.tsx +76 -0
  259. package/src/components/Sender/FilesDisplay.tsx +103 -0
  260. package/src/components/Sender/VoiceInput.tsx +81 -0
  261. package/src/components/Sender/contexts/BadgeContext.tsx +36 -0
  262. package/src/components/Sender/index.tsx +545 -0
  263. package/src/components/Sidebar/Loading.tsx +0 -0
  264. package/src/components/Sidebar/RetriveConfigPanel.tsx +41 -0
  265. package/src/components/Sidebar/useDynamicFormItems.tsx +176 -0
  266. package/src/components/SidebarProp.ts +41 -0
  267. package/src/components/common/FileCardCommon.tsx +82 -0
  268. package/src/components/defaultStyleSet.tsx +142 -0
  269. package/src/components/styles.config.ts +4 -0
  270. package/src/lib_enter.ts +12 -0
  271. package/src/main.tsx +12 -0
  272. package/src/mockForm.ts +91 -0
  273. package/src/servers/chatApi.ts +43 -0
  274. package/src/servers/fileApi.ts +12 -0
  275. package/src/servers/modelApi.ts +19 -0
  276. package/src/style.css +22 -0
  277. package/src/testj.js +3 -0
  278. package/src/type.d.ts +0 -0
  279. package/src/utils/commonFn.tsx +111 -0
  280. package/src/utils/index.tsx +94 -0
  281. package/src/vite-env.d.ts +11 -0
  282. package/tailwind.config.js +18 -0
  283. package/tsconfig.app.json +29 -0
  284. package/tsconfig.app.tsbuildinfo +11 -0
  285. package/tsconfig.json +13 -0
  286. package/tsconfig.node.json +22 -0
  287. package/tsconfig.node.tsbuildinfo +1 -0
  288. package/vite.config.ts +138 -0
  289. package/vite.config_mainapp.ts +126 -0
  290. package/assets/aichat.css +0 -1
  291. /package/{HeadlessChat.d.ts → dist/HeadlessChat.d.ts} +0 -0
  292. /package/{LoginPage → dist/LoginPage}/components/Login/LoginBox/index.d.ts +0 -0
  293. /package/{LoginPage → dist/LoginPage}/components/Login/RegisterBox/index.d.ts +0 -0
  294. /package/{LoginPage → dist/LoginPage}/components/Login/index.d.ts +0 -0
  295. /package/{LoginPage → dist/LoginPage}/index.d.ts +0 -0
  296. /package/{LoginPage → dist/LoginPage}/useServices.d.ts +0 -0
  297. /package/{LoginPage → dist/LoginPage}/utils.d.ts +0 -0
  298. /package/{Preview.d.ts → dist/Preview.d.ts} +0 -0
  299. /package/{UseLogingHeadless.d.ts → dist/UseLogingHeadless.d.ts} +0 -0
  300. /package/{adopters → dist/adopters}/GientechChat/Conversations/groupByTime.d.ts +0 -0
  301. /package/{adopters → dist/adopters}/GientechChat/constants.d.ts +0 -0
  302. /package/{adopters → dist/adopters}/GientechChat/index.d.ts +0 -0
  303. /package/{adopters → dist/adopters}/GientechChat/types.d.ts +0 -0
  304. /package/{adopters → dist/adopters}/HeadLessChat/constants.d.ts +0 -0
  305. /package/{adopters → dist/adopters}/HeadLessChat/index.d.ts +0 -0
  306. /package/{adopters → dist/adopters}/HeadLessChat/types.d.ts +0 -0
  307. /package/{adopters → dist/adopters}/gientechCommon/components/AppError.d.ts +0 -0
  308. /package/{adopters → dist/adopters}/gientechCommon/components/AppLoading.d.ts +0 -0
  309. /package/{adopters → dist/adopters}/gientechCommon/components/DisplayError.d.ts +0 -0
  310. /package/{adopters → dist/adopters}/gientechCommon/components/DisplayLoading.d.ts +0 -0
  311. /package/{adopters → dist/adopters}/gientechCommon/components/FeedBackModal.d.ts +0 -0
  312. /package/{adopters → dist/adopters}/gientechCommon/components/FileManager/index.d.ts +0 -0
  313. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/AiChatBox.d.ts +0 -0
  314. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/GientechNewChatWelcome.d.ts +0 -0
  315. /package/{adopters → dist/adopters}/gientechCommon/components/Messages/UserChatBox.d.ts +0 -0
  316. /package/{adopters → dist/adopters}/gientechCommon/components/RenameModal.d.ts +0 -0
  317. /package/{adopters → dist/adopters}/gientechCommon/configs/commonConfig.d.ts +0 -0
  318. /package/{adopters → dist/adopters}/gientechCommon/configs/senderConfig.d.ts +0 -0
  319. /package/{adopters → dist/adopters}/gientechCommon/configs/stylesConfig.d.ts +0 -0
  320. /package/{adopters → dist/adopters}/gientechCommon/hooks/AichatUseController.d.ts +0 -0
  321. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/deserializers.d.ts +0 -0
  322. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/mockData.d.ts +0 -0
  323. /package/{adopters → dist/adopters}/gientechCommon/slate/converters/slateConverters.d.ts +0 -0
  324. /package/{adopters → dist/adopters}/gientechCommon/slate/richElements/index.d.ts +0 -0
  325. /package/{adopters → dist/adopters}/gientechCommon/utils/request.d.ts +0 -0
  326. /package/{adopters → dist/adopters}/gientechCommon/utils/serverFn.d.ts +0 -0
  327. /package/{components → dist/components}/AiChat.types.d.ts +0 -0
  328. /package/{components → dist/components}/DefaultAppError.d.ts +0 -0
  329. /package/{components → dist/components}/DefaultAppLoading.d.ts +0 -0
  330. /package/{components → dist/components}/DefaultDisplayError.d.ts +0 -0
  331. /package/{components → dist/components}/DefaultDisplayLoading.d.ts +0 -0
  332. /package/{components → dist/components}/DefaultNewChatWelcome.d.ts +0 -0
  333. /package/{components → dist/components}/Displayer/DefaultAiChatBox.d.ts +0 -0
  334. /package/{components → dist/components}/Displayer/DefaultUserChatBox.d.ts +0 -0
  335. /package/{components → dist/components}/Displayer/index.d.ts +0 -0
  336. /package/{components → dist/components}/Displayer/slate/converters/deserializers.d.ts +0 -0
  337. /package/{components → dist/components}/Displayer/slate/converters/mockData.d.ts +0 -0
  338. /package/{components → dist/components}/Displayer/slate/converters/slateConverters.d.ts +0 -0
  339. /package/{components → dist/components}/Displayer/slate/richElements/index.d.ts +0 -0
  340. /package/{components → dist/components}/DrawerContent.d.ts +0 -0
  341. /package/{components → dist/components}/DrawerPreview.d.ts +0 -0
  342. /package/{components → dist/components}/DynamicForm.d.ts +0 -0
  343. /package/{components → dist/components}/Loading.d.ts +0 -0
  344. /package/{components → dist/components}/RetrieveTest/components/ChatInput.d.ts +0 -0
  345. /package/{components → dist/components}/RetrieveTest/components/ChatMessage.d.ts +0 -0
  346. /package/{components → dist/components}/RetrieveTest/components/ConfigPanel.d.ts +0 -0
  347. /package/{components → dist/components}/RetrieveTest/components/RichTextEditor.d.ts +0 -0
  348. /package/{components → dist/components}/RetrieveTest/components/VoiceInput.d.ts +0 -0
  349. /package/{components → dist/components}/RetrieveTest/components/config/index.d.ts +0 -0
  350. /package/{components → dist/components}/RetrieveTest/components/converters/deserializers.d.ts +0 -0
  351. /package/{components → dist/components}/RetrieveTest/components/converters/mockData.d.ts +0 -0
  352. /package/{components → dist/components}/RetrieveTest/components/converters/slateConverters.d.ts +0 -0
  353. /package/{components → dist/components}/RetrieveTest/components/richElements/index.d.ts +0 -0
  354. /package/{components → dist/components}/RetrieveTest/index.d.ts +0 -0
  355. /package/{components → dist/components}/Sender/FileUpload.d.ts +0 -0
  356. /package/{components → dist/components}/Sender/FilesDisplay.d.ts +0 -0
  357. /package/{components → dist/components}/Sender/VoiceInput.d.ts +0 -0
  358. /package/{components → dist/components}/Sender/contexts/BadgeContext.d.ts +0 -0
  359. /package/{components → dist/components}/Sender/index.d.ts +0 -0
  360. /package/{components → dist/components}/Sidebar/Loading.d.ts +0 -0
  361. /package/{components → dist/components}/Sidebar/RetriveConfigPanel.d.ts +0 -0
  362. /package/{components → dist/components}/Sidebar/useDynamicFormItems.d.ts +0 -0
  363. /package/{components → dist/components}/SidebarProp.d.ts +0 -0
  364. /package/{components → dist/components}/common/FileCardCommon.d.ts +0 -0
  365. /package/{components → dist/components}/defaultStyleSet.d.ts +0 -0
  366. /package/{components → dist/components}/styles.config.d.ts +0 -0
  367. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  368. /package/{icons → dist/icons}/docx-file.png +0 -0
  369. /package/{icons → dist/icons}/folder.png +0 -0
  370. /package/{icons → dist/icons}/html.png +0 -0
  371. /package/{icons → dist/icons}/image.png +0 -0
  372. /package/{icons → dist/icons}/jpg-file.png +0 -0
  373. /package/{icons → dist/icons}/json.png +0 -0
  374. /package/{icons → dist/icons}/md.png +0 -0
  375. /package/{icons → dist/icons}/pdf.png +0 -0
  376. /package/{icons → dist/icons}/pptx.png +0 -0
  377. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  378. /package/{icons → dist/icons}/sheets.png +0 -0
  379. /package/{icons → dist/icons}/txt.png +0 -0
  380. /package/{icons → dist/icons}/xlsx.png +0 -0
  381. /package/{index.d.ts → dist/index.d.ts} +0 -0
  382. /package/{lib_enter.d.ts → dist/lib_enter.d.ts} +0 -0
  383. /package/{libs → dist/libs}/luckysheet/fontAwesome.otf +0 -0
  384. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.eot +0 -0
  385. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.svg +0 -0
  386. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.ttf +0 -0
  387. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.woff +0 -0
  388. /package/{libs → dist/libs}/luckysheet/fontawesome-webfont.woff2 +0 -0
  389. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  390. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  391. /package/{libs → dist/libs}/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  392. /package/{libs → dist/libs}/luckysheet/iconfont.css +0 -0
  393. /package/{libs → dist/libs}/luckysheet/jquery.min.js +0 -0
  394. /package/{libs → dist/libs}/luckysheet/luckysheet.css +0 -0
  395. /package/{libs → dist/libs}/luckysheet/luckysheet.umd.js +0 -0
  396. /package/{libs → dist/libs}/luckysheet/plugin.js +0 -0
  397. /package/{libs → dist/libs}/luckysheet/plugins.css +0 -0
  398. /package/{libs → dist/libs}/luckysheet/pluginsCss.css +0 -0
  399. /package/{main.d.ts → dist/main.d.ts} +0 -0
  400. /package/{mockForm.d.ts → dist/mockForm.d.ts} +0 -0
  401. /package/{servers → dist/servers}/chatApi.d.ts +0 -0
  402. /package/{servers → dist/servers}/fileApi.d.ts +0 -0
  403. /package/{servers → dist/servers}/modelApi.d.ts +0 -0
  404. /package/{utils → dist/utils}/commonFn.d.ts +0 -0
  405. /package/{utils → dist/utils}/index.d.ts +0 -0
  406. /package/{vite.svg → dist/vite.svg} +0 -0
  407. /package/{vs → dist/vs}/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  408. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.de.js +0 -0
  409. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.es.js +0 -0
  410. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.fr.js +0 -0
  411. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.it.js +0 -0
  412. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ja.js +0 -0
  413. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.js +0 -0
  414. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ko.js +0 -0
  415. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.ru.js +0 -0
  416. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.zh-cn.js +0 -0
  417. /package/{vs → dist/vs}/base/common/worker/simpleWorker.nls.zh-tw.js +0 -0
  418. /package/{vs → dist/vs}/base/worker/workerMain.js +0 -0
  419. /package/{vs → dist/vs}/basic-languages/abap/abap.js +0 -0
  420. /package/{vs → dist/vs}/basic-languages/apex/apex.js +0 -0
  421. /package/{vs → dist/vs}/basic-languages/azcli/azcli.js +0 -0
  422. /package/{vs → dist/vs}/basic-languages/bat/bat.js +0 -0
  423. /package/{vs → dist/vs}/basic-languages/bicep/bicep.js +0 -0
  424. /package/{vs → dist/vs}/basic-languages/cameligo/cameligo.js +0 -0
  425. /package/{vs → dist/vs}/basic-languages/clojure/clojure.js +0 -0
  426. /package/{vs → dist/vs}/basic-languages/coffee/coffee.js +0 -0
  427. /package/{vs → dist/vs}/basic-languages/cpp/cpp.js +0 -0
  428. /package/{vs → dist/vs}/basic-languages/csharp/csharp.js +0 -0
  429. /package/{vs → dist/vs}/basic-languages/csp/csp.js +0 -0
  430. /package/{vs → dist/vs}/basic-languages/css/css.js +0 -0
  431. /package/{vs → dist/vs}/basic-languages/cypher/cypher.js +0 -0
  432. /package/{vs → dist/vs}/basic-languages/dart/dart.js +0 -0
  433. /package/{vs → dist/vs}/basic-languages/dockerfile/dockerfile.js +0 -0
  434. /package/{vs → dist/vs}/basic-languages/ecl/ecl.js +0 -0
  435. /package/{vs → dist/vs}/basic-languages/elixir/elixir.js +0 -0
  436. /package/{vs → dist/vs}/basic-languages/flow9/flow9.js +0 -0
  437. /package/{vs → dist/vs}/basic-languages/freemarker2/freemarker2.js +0 -0
  438. /package/{vs → dist/vs}/basic-languages/fsharp/fsharp.js +0 -0
  439. /package/{vs → dist/vs}/basic-languages/go/go.js +0 -0
  440. /package/{vs → dist/vs}/basic-languages/graphql/graphql.js +0 -0
  441. /package/{vs → dist/vs}/basic-languages/handlebars/handlebars.js +0 -0
  442. /package/{vs → dist/vs}/basic-languages/hcl/hcl.js +0 -0
  443. /package/{vs → dist/vs}/basic-languages/html/html.js +0 -0
  444. /package/{vs → dist/vs}/basic-languages/ini/ini.js +0 -0
  445. /package/{vs → dist/vs}/basic-languages/java/java.js +0 -0
  446. /package/{vs → dist/vs}/basic-languages/javascript/javascript.js +0 -0
  447. /package/{vs → dist/vs}/basic-languages/julia/julia.js +0 -0
  448. /package/{vs → dist/vs}/basic-languages/kotlin/kotlin.js +0 -0
  449. /package/{vs → dist/vs}/basic-languages/less/less.js +0 -0
  450. /package/{vs → dist/vs}/basic-languages/lexon/lexon.js +0 -0
  451. /package/{vs → dist/vs}/basic-languages/liquid/liquid.js +0 -0
  452. /package/{vs → dist/vs}/basic-languages/lua/lua.js +0 -0
  453. /package/{vs → dist/vs}/basic-languages/m3/m3.js +0 -0
  454. /package/{vs → dist/vs}/basic-languages/markdown/markdown.js +0 -0
  455. /package/{vs → dist/vs}/basic-languages/mdx/mdx.js +0 -0
  456. /package/{vs → dist/vs}/basic-languages/mips/mips.js +0 -0
  457. /package/{vs → dist/vs}/basic-languages/msdax/msdax.js +0 -0
  458. /package/{vs → dist/vs}/basic-languages/mysql/mysql.js +0 -0
  459. /package/{vs → dist/vs}/basic-languages/objective-c/objective-c.js +0 -0
  460. /package/{vs → dist/vs}/basic-languages/pascal/pascal.js +0 -0
  461. /package/{vs → dist/vs}/basic-languages/pascaligo/pascaligo.js +0 -0
  462. /package/{vs → dist/vs}/basic-languages/perl/perl.js +0 -0
  463. /package/{vs → dist/vs}/basic-languages/pgsql/pgsql.js +0 -0
  464. /package/{vs → dist/vs}/basic-languages/php/php.js +0 -0
  465. /package/{vs → dist/vs}/basic-languages/pla/pla.js +0 -0
  466. /package/{vs → dist/vs}/basic-languages/postiats/postiats.js +0 -0
  467. /package/{vs → dist/vs}/basic-languages/powerquery/powerquery.js +0 -0
  468. /package/{vs → dist/vs}/basic-languages/powershell/powershell.js +0 -0
  469. /package/{vs → dist/vs}/basic-languages/protobuf/protobuf.js +0 -0
  470. /package/{vs → dist/vs}/basic-languages/pug/pug.js +0 -0
  471. /package/{vs → dist/vs}/basic-languages/python/python.js +0 -0
  472. /package/{vs → dist/vs}/basic-languages/qsharp/qsharp.js +0 -0
  473. /package/{vs → dist/vs}/basic-languages/r/r.js +0 -0
  474. /package/{vs → dist/vs}/basic-languages/razor/razor.js +0 -0
  475. /package/{vs → dist/vs}/basic-languages/redis/redis.js +0 -0
  476. /package/{vs → dist/vs}/basic-languages/redshift/redshift.js +0 -0
  477. /package/{vs → dist/vs}/basic-languages/restructuredtext/restructuredtext.js +0 -0
  478. /package/{vs → dist/vs}/basic-languages/ruby/ruby.js +0 -0
  479. /package/{vs → dist/vs}/basic-languages/rust/rust.js +0 -0
  480. /package/{vs → dist/vs}/basic-languages/sb/sb.js +0 -0
  481. /package/{vs → dist/vs}/basic-languages/scala/scala.js +0 -0
  482. /package/{vs → dist/vs}/basic-languages/scheme/scheme.js +0 -0
  483. /package/{vs → dist/vs}/basic-languages/scss/scss.js +0 -0
  484. /package/{vs → dist/vs}/basic-languages/shell/shell.js +0 -0
  485. /package/{vs → dist/vs}/basic-languages/solidity/solidity.js +0 -0
  486. /package/{vs → dist/vs}/basic-languages/sophia/sophia.js +0 -0
  487. /package/{vs → dist/vs}/basic-languages/sparql/sparql.js +0 -0
  488. /package/{vs → dist/vs}/basic-languages/sql/sql.js +0 -0
  489. /package/{vs → dist/vs}/basic-languages/st/st.js +0 -0
  490. /package/{vs → dist/vs}/basic-languages/swift/swift.js +0 -0
  491. /package/{vs → dist/vs}/basic-languages/systemverilog/systemverilog.js +0 -0
  492. /package/{vs → dist/vs}/basic-languages/tcl/tcl.js +0 -0
  493. /package/{vs → dist/vs}/basic-languages/twig/twig.js +0 -0
  494. /package/{vs → dist/vs}/basic-languages/typescript/typescript.js +0 -0
  495. /package/{vs → dist/vs}/basic-languages/vb/vb.js +0 -0
  496. /package/{vs → dist/vs}/basic-languages/wgsl/wgsl.js +0 -0
  497. /package/{vs → dist/vs}/basic-languages/xml/xml.js +0 -0
  498. /package/{vs → dist/vs}/basic-languages/yaml/yaml.js +0 -0
  499. /package/{vs → dist/vs}/editor/editor.main.css +0 -0
  500. /package/{vs → dist/vs}/editor/editor.main.js +0 -0
  501. /package/{vs → dist/vs}/editor/editor.main.js.gz +0 -0
  502. /package/{vs → dist/vs}/editor/editor.main.nls.de.js +0 -0
  503. /package/{vs → dist/vs}/editor/editor.main.nls.es.js +0 -0
  504. /package/{vs → dist/vs}/editor/editor.main.nls.fr.js +0 -0
  505. /package/{vs → dist/vs}/editor/editor.main.nls.it.js +0 -0
  506. /package/{vs → dist/vs}/editor/editor.main.nls.ja.js +0 -0
  507. /package/{vs → dist/vs}/editor/editor.main.nls.js +0 -0
  508. /package/{vs → dist/vs}/editor/editor.main.nls.ko.js +0 -0
  509. /package/{vs → dist/vs}/editor/editor.main.nls.ru.js +0 -0
  510. /package/{vs → dist/vs}/editor/editor.main.nls.zh-cn.js +0 -0
  511. /package/{vs → dist/vs}/editor/editor.main.nls.zh-tw.js +0 -0
  512. /package/{vs → dist/vs}/language/css/cssMode.js +0 -0
  513. /package/{vs → dist/vs}/language/css/cssWorker.js +0 -0
  514. /package/{vs → dist/vs}/language/css/cssWorker.js.gz +0 -0
  515. /package/{vs → dist/vs}/language/html/htmlMode.js +0 -0
  516. /package/{vs → dist/vs}/language/html/htmlWorker.js +0 -0
  517. /package/{vs → dist/vs}/language/json/jsonMode.js +0 -0
  518. /package/{vs → dist/vs}/language/json/jsonWorker.js +0 -0
  519. /package/{vs → dist/vs}/language/typescript/tsMode.js +0 -0
  520. /package/{vs → dist/vs}/language/typescript/tsWorker.js +0 -0
  521. /package/{vs → dist/vs}/language/typescript/tsWorker.js.gz +0 -0
  522. /package/{vs → dist/vs}/loader.js +0 -0
  523. /package/{worker → dist/worker}/pdf.worker.min.js +0 -0
@@ -0,0 +1,258 @@
1
+
2
+
3
+ import { BaseEditor } from 'slate';
4
+ import { ReactEditor } from 'slate-react';
5
+ import React from 'react';
6
+
7
+ // 定义自定义文本类型
8
+ export type CustomText = {
9
+ text: string;
10
+ bold?: boolean;
11
+ italic?: boolean;
12
+ underline?: boolean;
13
+ code?: boolean;
14
+ retrive?: boolean;
15
+ strikethrough?: boolean;
16
+ link?: string;
17
+ }
18
+
19
+ // 定义基础元素类型
20
+ export interface BaseElement {
21
+ type: string;
22
+ children: (CustomElement | CustomText)[];
23
+ align?: 'left' | 'center' | 'right';
24
+ }
25
+
26
+ // 定义各种元素类型
27
+ export interface ParagraphElement extends BaseElement {
28
+ type: 'paragraph';
29
+ }
30
+
31
+ export interface HeadingOneElement extends BaseElement {
32
+ type: 'heading-one';
33
+ }
34
+
35
+ export interface HeadingTwoElement extends BaseElement {
36
+ type: 'heading-two';
37
+ }
38
+
39
+ export interface HeadingThreeElement extends BaseElement {
40
+ type: 'heading-three';
41
+ }
42
+
43
+ export interface ListElement extends BaseElement {
44
+ type: 'bulleted-list' | 'numbered-list';
45
+ }
46
+
47
+ export interface ListItemElement extends BaseElement {
48
+ type: 'list-item';
49
+ }
50
+
51
+ export interface TableElement extends BaseElement {
52
+ type: 'table';
53
+ }
54
+
55
+ export interface TableRowElement extends BaseElement {
56
+ type: 'table-row';
57
+ }
58
+
59
+ export interface TableCellElement extends BaseElement {
60
+ type: 'table-cell';
61
+ }
62
+
63
+ export interface ImageElement extends BaseElement {
64
+ type: 'image';
65
+ url: string;
66
+ }
67
+
68
+ export interface CodeBlockElement extends BaseElement {
69
+ type: 'code-block';
70
+ }
71
+
72
+ export interface BlockQuoteElement extends BaseElement {
73
+ type: 'block-quote';
74
+ }
75
+
76
+ // 组合所有元素类型
77
+ export type CustomElement =
78
+ | ParagraphElement
79
+ | HeadingOneElement
80
+ | HeadingTwoElement
81
+ | HeadingThreeElement
82
+ | ListElement
83
+ | ListItemElement
84
+ | TableElement
85
+ | TableRowElement
86
+ | TableCellElement
87
+ | ImageElement
88
+ | CodeBlockElement
89
+ | BlockQuoteElement;
90
+
91
+ declare module 'slate' {
92
+ interface CustomTypes {
93
+ Editor: BaseEditor & ReactEditor;
94
+ Element: CustomElement;
95
+ Text: CustomText;
96
+ }
97
+ }
98
+ // Markdown 转换器
99
+ export const serializeToMarkdown = (nodes: CustomElement[]): string => {
100
+ return nodes.map(node => {
101
+ switch (node.type) {
102
+ case 'heading-one':
103
+ return `# ${serializeLeaf(node.children[0] as CustomText)}\n\n`;
104
+ case 'heading-two':
105
+ return `## ${serializeLeaf(node.children[0] as CustomText)}\n\n`;
106
+ case 'paragraph':
107
+ return `${node.children.map(child => serializeLeaf(child as CustomText)).join('')}\n\n`;
108
+ case 'bulleted-list':
109
+ return (node.children as CustomElement[]).map(item => `* ${(item.children as CustomText[]).map(child => serializeLeaf(child)).join('')}\n`).join('') + '\n';
110
+ case 'numbered-list':
111
+ return (node.children as CustomElement[]).map((item, i) => `${i + 1}. ${(item.children as CustomText[]).map(child => serializeLeaf(child)).join('')}\n`).join('') + '\n';
112
+ case 'block-quote':
113
+ return `> ${node.children.map(child => serializeLeaf(child as CustomText)).join('')}\n\n`;
114
+ case 'table':
115
+ return serializeTable(node) + '\n';
116
+ case 'image':
117
+ const align = node.align ? ` align="${node.align}"` : '';
118
+ return `![](${node.url}${align})\n\n`;
119
+ default:
120
+ return '';
121
+ }
122
+ }).join('');
123
+ };
124
+
125
+ const serializeLeaf = (leaf: CustomText): string => {
126
+ let text = leaf.text;
127
+ if (leaf.bold) text = `**${text}**`;
128
+ if (leaf.italic) text = `_${text}_`;
129
+ if (leaf.underline) text = `<u>${text}</u>`;
130
+ if (leaf.strikethrough) text = `~~${text}~~`;
131
+ if (leaf.code) text = `\`${text}\``;
132
+ if (leaf.link) text = `[${text}](${leaf.link})`;
133
+ return text;
134
+ };
135
+
136
+ const serializeTable = (table: CustomElement): string => {
137
+ const rows = table.children as CustomElement[];
138
+ if (rows.length === 0) return '';
139
+
140
+ // 创建表头
141
+ const headerRow = rows[0];
142
+ const headerCells = headerRow.children as CustomElement[];
143
+ let markdown = '| ' + headerCells.map(cell => {
144
+ const text = (cell.children[0] as CustomText).text;
145
+ return text.replace(/\|/g, '\\|'); // 转义表格中的竖线
146
+ }).join(' | ') + ' |\n';
147
+
148
+ // 添加分隔行
149
+ markdown += '| ' + headerCells.map(() => '---').join(' | ') + ' |\n';
150
+
151
+ // 添加数据行
152
+ for (let i = 1; i < rows.length; i++) {
153
+ const row = rows[i];
154
+ markdown += '| ' + (row.children as CustomElement[])
155
+ .map(cell => {
156
+ const text = (cell.children[0] as CustomText).text;
157
+ return text.replace(/\|/g, '\\|'); // 转义表格中的竖线
158
+ })
159
+ .join(' | ') + ' |\n';
160
+ }
161
+
162
+ return markdown;
163
+ };
164
+
165
+ // HTML 转换器
166
+ export const serializeToHtml = (nodes: CustomElement[]): string => {
167
+ return nodes.map(node => {
168
+ switch (node.type) {
169
+ case 'heading-one':
170
+ return `<h1>${serializeLeafToHtml(node.children[0] as CustomText)}</h1>`;
171
+ case 'heading-two':
172
+ return `<h2>${serializeLeafToHtml(node.children[0] as CustomText)}</h2>`;
173
+ case 'paragraph':
174
+ const align = node.align ? ` style="text-align: ${node.align};"` : '';
175
+ return `<p${align}>${node.children.map(child => serializeLeafToHtml(child as CustomText)).join('')}</p>`;
176
+ case 'bulleted-list':
177
+ return `<ul>${(node.children as CustomElement[]).map(item => `<li>${(item.children as CustomText[]).map(child => serializeLeafToHtml(child)).join('')}</li>`).join('')}</ul>`;
178
+ case 'numbered-list':
179
+ return `<ol>${(node.children as CustomElement[]).map(item => `<li>${(item.children as CustomText[]).map(child => serializeLeafToHtml(child)).join('')}</li>`).join('')}</ol>`;
180
+ case 'block-quote':
181
+ return `<blockquote>${node.children.map(child => serializeLeafToHtml(child as CustomText)).join('')}</blockquote>`;
182
+ case 'table':
183
+ return serializeTableToHtml(node);
184
+ case 'image':
185
+ const imgAlign = node.align ? ` style="display: block; margin: 0 auto;"` : '';
186
+ return `<img src="${node.url}" alt=""${imgAlign}/>`;
187
+ default:
188
+ return '';
189
+ }
190
+ }).join('\n');
191
+ };
192
+
193
+ const serializeLeafToHtml = (leaf: CustomText): string => {
194
+ let text = leaf.text;
195
+ if (leaf.bold) text = `<strong>${text}</strong>`;
196
+ if (leaf.italic) text = `<em>${text}</em>`;
197
+ if (leaf.underline) text = `<u>${text}</u>`;
198
+ if (leaf.strikethrough) text = `<del>${text}</del>`;
199
+ if (leaf.code) text = `<code>${text}</code>`;
200
+ if (leaf.link) text = `<a href="${leaf.link}">${text}</a>`;
201
+ return text;
202
+ };
203
+
204
+ const serializeTableToHtml = (table: CustomElement): string => {
205
+ const rows = table.children as CustomElement[];
206
+ if (rows.length === 0) return '';
207
+
208
+ const tableStyles = {
209
+ wrapper: 'style="overflow-x: auto; margin: 1rem 0;"',
210
+ table: 'style="min-width: 420px; width: 550px; border-collapse: collapse; border: 1px solid #e5e7eb;"',
211
+ thead: 'style="background-color: #f0f9ff;"',
212
+ headerRow: 'style="border-bottom: 2px solid #93c5fd;"',
213
+ headerCell: 'style="padding: 0.75rem 1.5rem; text-align: left; font-size: 0.875rem; font-weight: 600; color: #1e3a8a; text-transform: uppercase; letter-spacing: 0.05em; border-right: 1px solid #93c5fd;"',
214
+ tbody: 'style="background-color: #ffffff;"',
215
+ row: 'style="border-bottom: 1px solid #e5e7eb;"',
216
+ cell: 'style="padding: 0.75rem 1.5rem; font-size: 0.875rem; color: #374151; border-right: 1px solid #e5e7eb;"',
217
+ lastCell: 'style="padding: 0.75rem 1.5rem; font-size: 0.875rem; color: #374151;"'
218
+ };
219
+
220
+ let html = `<div ${tableStyles.wrapper}><table ${tableStyles.table}>`;
221
+
222
+ // 添加表头
223
+ html += `<thead ${tableStyles.thead}>`;
224
+ const headerRow = rows[0];
225
+ if (headerRow) {
226
+ html += `<tr ${tableStyles.headerRow}>`;
227
+ const cells = headerRow.children as CustomElement[];
228
+ html += cells.map((cell, index) => {
229
+ const isLast = index === cells.length - 1;
230
+ const cellStyle = isLast ? tableStyles.lastCell : tableStyles.headerCell;
231
+ return `<th scope="col" ${cellStyle}>${(cell.children[0] as CustomText).text}</th>`;
232
+ }).join('');
233
+ html += '</tr>';
234
+ }
235
+ html += '</thead>';
236
+
237
+ // 添加表格主体
238
+ html += `<tbody ${tableStyles.tbody}>`;
239
+ if (rows.length > 1) {
240
+ for (let i = 1; i < rows.length; i++) {
241
+ const row = rows[i];
242
+ html += `<tr ${tableStyles.row}>`;
243
+ const cells = row.children as CustomElement[];
244
+ html += cells.map((cell, index) => {
245
+ const isLast = index === cells.length - 1;
246
+ const cellStyle = isLast ? tableStyles.lastCell : tableStyles.cell;
247
+ return `<td ${cellStyle}>${(cell.children[0] as CustomText).text}</td>`;
248
+ }).join('');
249
+ html += '</tr>';
250
+ }
251
+ } else {
252
+ // 如果没有数据行,添加一个空的行
253
+ html += `<tr ${tableStyles.row}><td colspan="100" style="padding: 0.75rem 1.5rem; text-align: center; color: #6b7280;">暂无数据</td></tr>`;
254
+ }
255
+ html += '</tbody></table></div>';
256
+
257
+ return html;
258
+ };
@@ -0,0 +1,308 @@
1
+ // 富文本元素渲染统一出口
2
+
3
+ // 迁移自ChatMessage.tsx
4
+ import React from 'react';
5
+
6
+ export const renderElement = (props: any) => {
7
+ // console.log('------------------renderElement element:', props);
8
+ const { element, children, attributes } = props;
9
+ switch (element.type) {
10
+ case 'paragraph':
11
+ return (
12
+ <p
13
+ {...attributes}
14
+ className="mb-4 leading-7 text-gray-700 font-normal"
15
+ >
16
+ {children}
17
+ </p>
18
+ );
19
+ case 'heading-one':
20
+ return (
21
+ <h1
22
+ {...attributes}
23
+ className="text-xl font-bold mb-6 text-gradient bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-cyan-500"
24
+ >
25
+ {children}
26
+ </h1>
27
+ );
28
+ case 'heading-two':
29
+ return (
30
+ <h2
31
+ {...attributes}
32
+ className="text-lg font-semibold mb-4 text-gray-600 border-l-4 pl-3"
33
+ >
34
+ {children}
35
+ </h2>
36
+ );
37
+ case 'heading-three':
38
+ return (
39
+ <h3
40
+ {...attributes}
41
+ className="text-lg font-medium mb-3 text-gray-600 flex items-center before:content-[''] before:w-2 before:h-2 before:rounded-full before:bg-blue-500 before:mr-2"
42
+ >
43
+ {children}
44
+ </h3>
45
+ );
46
+ case 'bulleted-list':
47
+ return (
48
+ <ul
49
+ {...attributes}
50
+ className="mb-4 space-y-2 list-none pl-4"
51
+ >
52
+ {children}
53
+ </ul>
54
+ );
55
+ case 'numbered-list':
56
+ return (
57
+ <ol
58
+ {...attributes}
59
+ className="mb-4 space-y-2 list-decimal pl-4 marker:text-blue-500 marker:font-medium"
60
+ >
61
+ {children}
62
+ </ol>
63
+ );
64
+ case 'list-item':
65
+ return (
66
+ <li
67
+ {...attributes}
68
+ className="relative pl-6 before:absolute before:left-0 before:top-3 before:w-2 before:h-2 before:bg-blue-500 before:rounded-full before:transform before:-translate-y-1/2"
69
+ >
70
+ {children}
71
+ </li>
72
+ );
73
+ case 'table':
74
+ return (
75
+ <div style={{ display: 'flex', msOverflowX:'scroll', width:"100%", maxWidth: '65vw', overflowX: 'auto', margin: '1rem 0' }}>
76
+ <table style={{ minWidth: 380, maxwidth: '100%', borderCollapse: 'collapse', border: '1px solid #e5e7eb' }} {...attributes}>
77
+ <tbody>{children}</tbody>
78
+ </table>
79
+ </div>
80
+ );
81
+ case 'table-row':
82
+ return (
83
+ <tr style={{ borderBottom: '1px solid #e5e7eb' }} {...attributes}>
84
+ {children}
85
+ </tr>
86
+ );
87
+ case 'table-cell':
88
+ if (element.header) {
89
+ return (
90
+ <th
91
+ style={{
92
+ padding: '0.75rem 1.5rem',
93
+ textAlign: 'left',
94
+ fontSize: '0.875rem',
95
+ fontWeight: 600,
96
+ color: '#1e3a8a',
97
+ textTransform: 'uppercase',
98
+ letterSpacing: '0.05em',
99
+ borderRight: '1px solid #93c5fd',
100
+ backgroundColor: '#f0f9ff'
101
+ }}
102
+ {...attributes}
103
+ >
104
+ {children}
105
+ </th>
106
+ );
107
+ }
108
+ return (
109
+ <td
110
+ style={{
111
+ padding: '0.75rem 1.5rem',
112
+ fontSize: '0.875rem',
113
+ color: '#374151',
114
+ borderRight: '1px solid #e5e7eb'
115
+ }}
116
+ {...attributes}
117
+ >
118
+ {children}
119
+ </td>
120
+ );
121
+ case 'block-quote':
122
+ return (
123
+ <blockquote
124
+ {...attributes}
125
+ className="border-l-4 border-blue-500 bg-blue-50 pl-4 py-2 mb-4 rounded-r-lg italic text-gray-700"
126
+ >
127
+ {children}
128
+ </blockquote>
129
+ );
130
+ case 'code-block':
131
+ const codeLines = element.children[0]?.text?.split('\n') || [''];
132
+ return (
133
+
134
+ <div {...attributes} className="mb-4 w-full rounded-lg overflow-x-scroll bg-[#f6f8fa] border border-[#d0d7de]">
135
+ <div className="flex w-full">
136
+ {/* 行号区域 */}
137
+ <div className="py-4 pr-4 pl-3 text-right select-none bg-[#f6f8fa] border-r border-[#d0d7de] text-gray-400 font-mono text-xs">
138
+ {codeLines.map((_: string, i: number) => (
139
+ <div key={i} className="leading-5">
140
+ {i + 1}
141
+ </div>
142
+ ))}
143
+ </div>
144
+ {/* 代码区域 */}
145
+ <pre className="flex-1 p-4 m-0 overflow-x-auto bg-[#f6f8fa] text-[#1f2328]">
146
+ <code className="font-mono text-sm leading-5">
147
+ {children}
148
+ </code>
149
+ </pre>
150
+ </div>
151
+ </div>
152
+ );
153
+ case 'think':
154
+ return (
155
+ <div
156
+ {...attributes}
157
+ style={{
158
+ background: '#f8fafc',
159
+ borderRadius: '8px',
160
+ border: '1px dashed #e0e7ef',
161
+ color: '#b0b8c9',
162
+ margin: '16px 0',
163
+ padding: '0',
164
+ position: 'relative',
165
+ fontStyle: 'italic',
166
+ overflow: 'hidden',
167
+ display: 'flex',
168
+ }}
169
+ className="relative my-4"
170
+ >
171
+ <div style={{
172
+ width: 4,
173
+ background: 'linear-gradient(to bottom, #e0e7ef 60%, #f1f5f9 100%)',
174
+ borderRadius: '2px',
175
+ marginRight: 12,
176
+ minHeight: '100%',
177
+ }} />
178
+ <div style={{ flex: 1 }}>
179
+ <div
180
+ style={{
181
+ borderTop: '1px solid #e0e7ef',
182
+ paddingTop: '8px',
183
+ marginBottom: '6px',
184
+ fontWeight: 500,
185
+ color: '#a3a3a3',
186
+ fontSize: '13px',
187
+ letterSpacing: '1px',
188
+ display: 'flex',
189
+ alignItems: 'center',
190
+ }}
191
+ >
192
+ <span style={{ marginRight: 8, fontSize: 12 }}>💭</span>
193
+ 思考中
194
+ </div>
195
+ <div style={{ color: '#b0b8c9', fontSize: '13px', lineHeight: 1.7, padding: '0px 12px' }}>{children}</div>
196
+ </div>
197
+ </div>
198
+ );
199
+
200
+ default:
201
+ return (
202
+ <div {...attributes} className="mb-4">
203
+ {children}
204
+ </div>
205
+ );
206
+ }
207
+ };
208
+
209
+ export const renderLeaf = (props: any) => {
210
+ const { attributes, children, leaf } = props;
211
+ let el = children;
212
+
213
+ // retrive-tag 行内高亮渲染
214
+ if (leaf.retrive) {
215
+ el = (
216
+ <span
217
+ {...attributes}
218
+ style={{
219
+ display: 'inline-block',
220
+ background: '#e6f7ff',
221
+ color: '#1890ff',
222
+ border: '1px solid rgba(114,187,255,0.3)',
223
+ borderRadius: 6,
224
+ padding: '1px 6px',
225
+ margin: '0 2px',
226
+ fontWeight: 600,
227
+ fontSize: 8,
228
+ lineHeight: '17px',
229
+ cursor: 'pointer',
230
+ verticalAlign: 'middle',
231
+ }}
232
+ // title={leaf.id ? `召回标注ID: ${leaf.id}` : ''}
233
+ onClick={() => {
234
+ //console.log('老子杯垫了leaf:', leaf,attributes)
235
+ if (props.onRetriveTagClick) {
236
+ props.onRetriveTagClick(leaf,attributes);
237
+ }
238
+ }}
239
+ onMouseEnter={e => (e.currentTarget.style.background = '#bae7ff')}
240
+ onMouseLeave={e => (e.currentTarget.style.background = '#e6f7ff')}
241
+ >
242
+ {el}
243
+ </span>
244
+ );
245
+ // 保证行内渲染,直接返回
246
+ return el;
247
+ }
248
+
249
+ if (leaf.code) {
250
+ el = (
251
+ <code
252
+ style={{
253
+ padding: '0.125rem 0.375rem',
254
+ margin: '0 0.125rem',
255
+ borderRadius: '0.25rem',
256
+ backgroundColor: '#f6f8fa',
257
+ color: '#1f2328',
258
+ fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace',
259
+ fontSize: '0.875rem',
260
+ border: '1px solid #d0d7de',
261
+ fontWeight: leaf.bold ? 600 : 'normal',
262
+ fontStyle: leaf.italic ? 'italic' : 'normal',
263
+ textDecoration: [
264
+ leaf.underline && 'underline',
265
+ leaf.strikethrough && 'line-through'
266
+ ].filter(Boolean).join(' ') || 'none'
267
+ }}
268
+ >
269
+ {el}
270
+ </code>
271
+ );
272
+ } else {
273
+ const style: React.CSSProperties = {
274
+ fontWeight: leaf.bold ? 600 : 'normal',
275
+ fontStyle: leaf.italic ? 'italic' : 'normal',
276
+ textDecoration: [
277
+ leaf.underline && 'underline',
278
+ leaf.strikethrough && 'line-through'
279
+ ].filter(Boolean).join(' ') || 'none',
280
+ color: leaf.strikethrough ? '#6b7280' : 'inherit'
281
+ };
282
+ el = <span style={style}>{el}</span>;
283
+ }
284
+
285
+ if (leaf.link) {
286
+ el = (
287
+ <a
288
+ href={leaf.link}
289
+ target="_blank"
290
+ rel="noopener noreferrer"
291
+ style={{
292
+ color: '#3b82f6',
293
+ textDecoration: 'underline'
294
+ }}
295
+ onMouseEnter={(e) => {
296
+ e.currentTarget.style.color = '#2563eb';
297
+ }}
298
+ onMouseLeave={(e) => {
299
+ e.currentTarget.style.color = '#3b82f6';
300
+ }}
301
+ >
302
+ {el}
303
+ </a>
304
+ );
305
+ }
306
+
307
+ return <span {...attributes}>{el}</span>;
308
+ };
@@ -0,0 +1,105 @@
1
+ import { uid } from 'uid';
2
+ import { useEffect, useMemo, useRef, useState } from 'react';
3
+ import FileViewer, { registerPDFWorker } from '@mxmweb/file-viewer';
4
+ import { dealMinioUrl } from '../utils';
5
+ registerPDFWorker('/worker/pdf.worker.min.js');
6
+ export const DrawerContent = ({
7
+ content,
8
+ onClose,
9
+ }: {
10
+ content: {
11
+ file_source: string;
12
+ contents: any[];
13
+ curMark: string;
14
+ file_type: string;
15
+ title: string;
16
+ metadata: any;
17
+ } | null;
18
+ onClose: any;
19
+ }) => {
20
+ const [annotations, setAnnotations] = useState<any[]>([]);
21
+ const [tableAnnotations, setTableAnnotations] = useState<any>([]);
22
+ const [initialPage, setInitialPage] = useState(1);
23
+
24
+ useEffect(() => {
25
+ console.log('annotations', annotations);
26
+ console.log('initialPage', initialPage);
27
+ }, [annotations, initialPage]);
28
+ const fileType = useMemo(() => {
29
+ if (!content) return;
30
+ const { file_source } = content;
31
+ const arr = file_source.split('.');
32
+ if (!arr.length) return '';
33
+ return arr[arr.length - 1];
34
+ }, [content]);
35
+
36
+ useEffect(() => {
37
+ console.log('content88888888888', content);
38
+ if (!content) return;
39
+ const { contents, metadata } = content;
40
+ if (!metadata) return;
41
+ const { page_number, page_size, position, offset, chunk_type, table_name } = metadata;
42
+ if (fileType === 'md') {
43
+ if (offset?.length) {
44
+ setTableAnnotations([{ id: uid(), offsets: offset }]);
45
+ } else {
46
+ setTableAnnotations([]);
47
+ }
48
+ } else {
49
+ if (!page_size || !position) {
50
+ console.log('%c缺少文件size或者文件坐标', 'color: red');
51
+ return;
52
+ }
53
+ const pageSizes = Array.isArray(page_size) ? page_size : JSON.parse(page_size);
54
+ if (!pageSizes.length) {
55
+ console.log('%c缺少文件size', 'color: red');
56
+ return;
57
+ }
58
+ const positions = Array.isArray(position) ? position : JSON.parse(position);
59
+ if (!positions.length || !page_number) {
60
+ console.log('%c缺少文件坐标或者文件页数', 'color: red');
61
+ return;
62
+ }
63
+ const anno = positions.map((item: any, index: number) => {
64
+ return {
65
+ id: uid(),
66
+ pageNumber: page_number[index],
67
+ x: +(item[0][0] / pageSizes[0][0]).toFixed(4),
68
+ y: +(item[0][1] / pageSizes[0][1]).toFixed(4),
69
+ width: +((item[1][0] - item[0][0]) / pageSizes[0][0]).toFixed(4),
70
+ height: +((item[2][1] - item[0][1]) / pageSizes[0][1]).toFixed(4),
71
+ content: '',
72
+ color: chunk_type === 'image' ? '#60f74f' : '#4FC3F7',
73
+ };
74
+ });
75
+ console.log('anno', anno);
76
+ setInitialPage(page_number[0]);
77
+ setAnnotations(anno);
78
+ }
79
+ }, [content]);
80
+
81
+ return (
82
+ <div
83
+ style={{
84
+ fontFamily: 'Source Han Sans CN',
85
+ fontSize: '12px',
86
+ }}
87
+ className="h-full w-full"
88
+ >
89
+ <FileViewer
90
+ content={dealMinioUrl(content?.file_source) as any}
91
+ onClose={onClose}
92
+ annotations={annotations}
93
+ tableAnnotations={tableAnnotations as any}
94
+ tools={{
95
+ annotation: true,
96
+ download: true,
97
+ close: true,
98
+ }}
99
+ initialPage={initialPage}
100
+ headerClass="bg-white"
101
+ contentClass="bg-white p-[12px] md:p-[12px]"
102
+ />
103
+ </div>
104
+ );
105
+ };
@@ -0,0 +1,36 @@
1
+ import { useEffect } from 'react';
2
+ import { dealMinioUrl, fileViewTypes, TempBaseUrl } from '../utils';
3
+ import FileViewer, { registerPDFWorker } from '@mxmweb/file-viewer';
4
+ registerPDFWorker('/worker/pdf.worker.min.js');
5
+
6
+ const DrawerPreview = ({ curFileInfo, onClose }: { curFileInfo: any; onClose: any }) => {
7
+ useEffect(() => {
8
+ console.log('curFileInfo1', curFileInfo);
9
+ }, [curFileInfo]);
10
+ return (
11
+ <div className="h-full overflow-y-auto">
12
+ <FileViewer
13
+ fileName={curFileInfo.file_name || ''}
14
+ content={
15
+ fileViewTypes.includes(curFileInfo.file_type)
16
+ ? dealMinioUrl(
17
+ curFileInfo.url.indexOf('http') > -1
18
+ ? curFileInfo.url
19
+ : `${TempBaseUrl}/${curFileInfo.url}`
20
+ )
21
+ : dealMinioUrl(curFileInfo.parse_url || curFileInfo.url)
22
+ }
23
+ onClose={onClose}
24
+ tools={{
25
+ annotation: false,
26
+ download: true,
27
+ close: true,
28
+ }}
29
+ headerClass="bg-white"
30
+ contentClass="bg-gray-50 p-[12px] md:p-[12px]"
31
+ />
32
+ </div>
33
+ );
34
+ };
35
+
36
+ export default DrawerPreview;