@gientech/modual 2.0.9 → 2.0.10

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 (421) hide show
  1. package/{dist/assets/GientechStreamReader-CNj6Rcm7.js → assets/GientechStreamReader-DybWMK4d.js} +1 -1
  2. package/{dist/assets/index-DrkSoKz6.js → assets/index-B1ZDDbC1.js} +1 -1
  3. package/{dist/assets/index-D72cKELw.js → assets/index-CBTA5S-5.js} +1 -1
  4. package/{dist/assets/index-B2yNvzjy.js → assets/index-CN2AYX8Q.js} +1 -1
  5. package/{dist/assets/index-BJv0t0eJ.js → assets/index-D0DDewJ2.js} +34 -34
  6. package/{dist/assets/index-BKe5FgcC.js → assets/index-D9lYd8TZ.js} +1 -1
  7. package/{dist/assets/index-ZopkeZtI.js → assets/index-DYhXjvk4.js} +1 -1
  8. package/{dist/assets/index-g-SUxfJH.js → assets/index-LDFwTu47.js} +1 -1
  9. package/{dist/assets/index-j0kQJd0a.js → assets/index-NFQIKNFn.js} +1 -1
  10. package/{dist/assets/index-CU45mVZ4.js → assets/index-S4W4X-HN.js} +2 -2
  11. package/{dist/assets/index-DdVFXD_y.js → assets/index-s0cmC4Ks.js} +1 -1
  12. package/{dist/assets/plus-V9zUoSq6.js → assets/plus-G7zGXf6S.js} +1 -1
  13. package/{dist/assets/style-CGmZ5osp.js → assets/style-Bn7b5XHU.js} +2 -2
  14. package/assets/style4.css +1 -0
  15. package/{dist/assets/x-CnaaLGJF.js → assets/x-vfKYzKkK.js} +1 -1
  16. package/assistantConfig.js +1 -0
  17. package/chat.js +806 -0
  18. package/{dist/database.js → database.js} +1 -1
  19. package/databaseId.js +1 -0
  20. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  21. package/index.js +1 -0
  22. package/{dist/modelManage.js → modelManage.js} +1 -1
  23. package/package.json +41 -103
  24. package/{dist/sensitive.js → sensitive.js} +1 -1
  25. package/streamFilesReader.js +1 -0
  26. package/.editorconfig +0 -38
  27. package/.prettierignore +0 -16
  28. package/.prettierrc +0 -17
  29. package/INSTALL_TROUBLESHOOTING.md +0 -316
  30. package/USAGE.md +0 -247
  31. package/bash.exe.stackdump +0 -40
  32. package/components.json +0 -21
  33. package/dist/README.md +0 -761
  34. package/dist/assets/style4.css +0 -1
  35. package/dist/assistantConfig.js +0 -1
  36. package/dist/chat.js +0 -844
  37. package/dist/databaseId.js +0 -1
  38. package/dist/index.js +0 -1
  39. package/dist/package.json +0 -68
  40. package/dist/streamFilesReader.js +0 -1
  41. package/doc_assets/2.png +0 -0
  42. package/doc_assets/demo.md +0 -27
  43. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  44. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  45. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  46. package/doc_assets/demos/dist-app/index.html +0 -14
  47. package/doc_assets/demos/dist-app/vite.svg +0 -1
  48. package/doc_assets/images/1.png +0 -0
  49. package/doc_assets/images/3.png +0 -0
  50. package/doc_assets/images/component-screenshot.png +0 -1
  51. package/doc_assets/install.md +0 -5
  52. package/doc_assets/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +0 -115
  53. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +0 -504
  54. package/eslint.config.js +0 -92
  55. package/index.html +0 -13
  56. package/package.json.demo-backup +0 -109
  57. package/postcss.config.cjs +0 -19
  58. package/public/icons/answerAwartar.png +0 -0
  59. package/public/icons/docx-file.png +0 -0
  60. package/public/icons/folder.png +0 -0
  61. package/public/icons/html.png +0 -0
  62. package/public/icons/image.png +0 -0
  63. package/public/icons/jpg-file.png +0 -0
  64. package/public/icons/json.png +0 -0
  65. package/public/icons/md.png +0 -0
  66. package/public/icons/pdf.png +0 -0
  67. package/public/icons/pptx.png +0 -0
  68. package/public/icons/questionAwartar.png +0 -0
  69. package/public/icons/sheets.png +0 -0
  70. package/public/icons/txt.png +0 -0
  71. package/public/icons/xlsx.png +0 -0
  72. package/public/vite.svg +0 -1
  73. package/public/worker/pdf.worker.min.js +0 -22
  74. package/scripts/README.md +0 -133
  75. package/scripts/build-demo.js +0 -88
  76. package/scripts/decrypt-api-key.js +0 -95
  77. package/scripts/demo-selector.js +0 -216
  78. package/scripts/dev-demo.js +0 -76
  79. package/scripts/preview-demo.js +0 -130
  80. package/scripts/run-demo.bat +0 -34
  81. package/src/assets/img/close.png +0 -0
  82. package/src/assets/img/database.png +0 -0
  83. package/src/assets/img/downArrow.png +0 -0
  84. package/src/assets/img/downLoad.png +0 -0
  85. package/src/assets/img/excel.png +0 -0
  86. package/src/assets/img/graphIcon.png +0 -0
  87. package/src/assets/img/img.png +0 -0
  88. package/src/assets/img/pdf.png +0 -0
  89. package/src/assets/img/ppt.png +0 -0
  90. package/src/assets/img/singleQa.png +0 -0
  91. package/src/assets/img/txt.png +0 -0
  92. package/src/assets/img/webSearch.png +0 -0
  93. package/src/assets/img/word.png +0 -0
  94. package/src/assets/login/homeBg.png +0 -0
  95. package/src/assets/login/left.jpg +0 -0
  96. package/src/assets/login/logoImg.png +0 -0
  97. package/src/examples/ConversationAssistantPage/index.tsx +0 -41
  98. package/src/examples/Demo/index.tsx +0 -12
  99. package/src/examples/LoginPage/index.tsx +0 -18
  100. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  101. package/src/examples/chat/index.tsx +0 -166
  102. package/src/examples/chat/logo03.png +0 -0
  103. package/src/examples/gientechStreamFilesReader/index.tsx +0 -951
  104. package/src/examples/headlessChat/assets/mind.svg +0 -6
  105. package/src/examples/headlessChat/assets/net.svg +0 -7
  106. package/src/examples/headlessChat/index.tsx +0 -285
  107. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  108. package/src/examples/ragDatabaseIdPage/index.tsx +0 -47
  109. package/src/examples/ragDatabasePage/index.tsx +0 -36
  110. package/src/examples/ragModelManagePage/index.tsx +0 -38
  111. package/src/examples/ragSearchPage/index.tsx +0 -0
  112. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  113. package/src/examples/streamFiles/index.tsx +0 -417
  114. package/src/lib_enter.ts +0 -43
  115. package/src/main.tsx +0 -5
  116. package/src/main.tsx.backup +0 -5
  117. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  118. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  119. package/src/modules/assistantConfig/assets/empty.png +0 -0
  120. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  121. package/src/modules/assistantConfig/assets/knowledge.svg +0 -4
  122. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  123. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  124. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  125. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  126. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  127. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  128. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -39
  129. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  130. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  131. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  132. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -65
  133. package/src/modules/assistantConfig/constants.tsx +0 -75
  134. package/src/modules/assistantConfig/index.tsx +0 -710
  135. package/src/modules/assistantConfig/server.ts +0 -262
  136. package/src/modules/chat/Conversations/Item.tsx +0 -167
  137. package/src/modules/chat/Conversations/List.tsx +0 -210
  138. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  139. package/src/modules/chat/Conversations/index.tsx +0 -252
  140. package/src/modules/chat/ReferenceBar.tsx +0 -622
  141. package/src/modules/chat/constants.tsx +0 -57
  142. package/src/modules/chat/index.tsx +0 -2449
  143. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  144. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  145. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  146. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  147. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  148. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  149. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  150. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  151. package/src/modules/chat/style.less +0 -3
  152. package/src/modules/chat/types.ts +0 -17
  153. package/src/modules/chat/utils/index.ts +0 -348
  154. package/src/modules/database/CreateModal.tsx +0 -403
  155. package/src/modules/database/assets/Doris.png +0 -0
  156. package/src/modules/database/assets/PostgreSQL.png +0 -0
  157. package/src/modules/database/assets/SQLServer.png +0 -0
  158. package/src/modules/database/assets/database.svg +0 -11
  159. package/src/modules/database/assets/database_add.svg +0 -53
  160. package/src/modules/database/assets/database_connect.svg +0 -66
  161. package/src/modules/database/assets/database_upload.svg +0 -29
  162. package/src/modules/database/assets/empty.png +0 -0
  163. package/src/modules/database/assets/mysql.svg +0 -14
  164. package/src/modules/database/index.tsx +0 -477
  165. package/src/modules/database/server.ts +0 -196
  166. package/src/modules/databaseId/CustomCom.tsx +0 -156
  167. package/src/modules/databaseId/EditConfig.tsx +0 -280
  168. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  169. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  170. package/src/modules/databaseId/assets/empty.png +0 -0
  171. package/src/modules/databaseId/assets/template.svg +0 -6
  172. package/src/modules/databaseId/assets/upload.svg +0 -9
  173. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  174. package/src/modules/databaseId/index.tsx +0 -769
  175. package/src/modules/databaseId/server.ts +0 -286
  176. package/src/modules/databaseId/style.css +0 -5
  177. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  178. package/src/modules/databaseTable/index.tsx +0 -359
  179. package/src/modules/databaseTable/server.ts +0 -180
  180. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  181. package/src/modules/headlessChat/constants.tsx +0 -54
  182. package/src/modules/headlessChat/index.tsx +0 -1782
  183. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  184. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  185. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  186. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  187. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  188. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  189. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  190. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  191. package/src/modules/headlessChat/style.less +0 -3
  192. package/src/modules/headlessChat/types.ts +0 -23
  193. package/src/modules/headlessChat/utils/index.ts +0 -348
  194. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  195. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  196. package/src/modules/login/components/Login/index.tsx +0 -100
  197. package/src/modules/login/index.tsx +0 -106
  198. package/src/modules/login/style.css +0 -3
  199. package/src/modules/login/useServices.ts +0 -53
  200. package/src/modules/login/utils.ts +0 -42
  201. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  202. package/src/modules/modelManage/ReplaceModal.tsx +0 -124
  203. package/src/modules/modelManage/assets/empty.png +0 -0
  204. package/src/modules/modelManage/const.ts +0 -51
  205. package/src/modules/modelManage/index.tsx +0 -606
  206. package/src/modules/modelManage/server.ts +0 -223
  207. package/src/modules/nodegraph/index.tsx +0 -1
  208. package/src/modules/search/assets/Icon-history.svg +0 -8
  209. package/src/modules/search/assets/answerAwartar.png +0 -0
  210. package/src/modules/search/assets/doc.png +0 -0
  211. package/src/modules/search/assets/genera.gif +0 -0
  212. package/src/modules/search/assets/icon-robot.svg +0 -9
  213. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  214. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  215. package/src/modules/search/assets/icon-title.svg +0 -9
  216. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  217. package/src/modules/search/assets/iconAi.svg +0 -9
  218. package/src/modules/search/assets/pdf.png +0 -0
  219. package/src/modules/search/assets/ppt.png +0 -0
  220. package/src/modules/search/assets/search.svg +0 -3
  221. package/src/modules/search/assets/selected.svg +0 -4
  222. package/src/modules/search/assets/txt.png +0 -0
  223. package/src/modules/search/assets/xls.png +0 -0
  224. package/src/modules/search/components/AssisSelect.tsx +0 -137
  225. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  226. package/src/modules/search/components/Editor/aichat.css +0 -1
  227. package/src/modules/search/components/Editor/constant.ts +0 -13
  228. package/src/modules/search/components/Editor/index.tsx +0 -113
  229. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  230. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  231. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  232. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  233. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  234. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  235. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  236. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  237. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  238. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  239. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  240. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  241. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  242. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  243. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  244. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  245. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  246. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  247. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  248. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  249. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  250. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  251. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  252. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  253. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  254. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  255. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  256. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  257. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  258. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  259. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  260. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  261. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  262. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  263. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  264. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  265. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  266. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  267. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  268. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  269. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  270. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  271. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  272. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  273. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  274. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  275. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  276. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  277. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  278. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  279. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  280. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  281. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  282. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  283. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  284. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  285. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  286. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  287. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  288. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  289. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  290. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  291. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  292. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  293. package/src/modules/search/components/Editor/ui/style.less +0 -12
  294. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  295. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  296. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  297. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  298. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  299. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  300. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  301. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  302. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  303. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  304. package/src/modules/search/components/FileList.tsx +0 -287
  305. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  306. package/src/modules/search/components/ResultContent.tsx +0 -232
  307. package/src/modules/search/components/SearchInput.tsx +0 -232
  308. package/src/modules/search/components/SearchLanding.tsx +0 -74
  309. package/src/modules/search/components/SearchView.tsx +0 -563
  310. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  311. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  312. package/src/modules/search/index.tsx +0 -10
  313. package/src/modules/search/reademe.md +0 -1
  314. package/src/modules/search/servers/apis.tsx +0 -19
  315. package/src/modules/search/servers/index.ts +0 -184
  316. package/src/modules/search/style.less +0 -503
  317. package/src/modules/search/type.ts +0 -22
  318. package/src/modules/search/utils.ts +0 -34
  319. package/src/modules/sensitive/index.tsx +0 -313
  320. package/src/modules/sensitive/server.ts +0 -122
  321. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1625
  322. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  323. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  324. package/src/modules/streamFilesReader/index.tsx +0 -3
  325. package/src/style.css +0 -6
  326. package/src/type.d.ts +0 -0
  327. package/src/utils/commonFn.tsx +0 -111
  328. package/src/utils/decryptApiKey.ts +0 -40
  329. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  330. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  331. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  332. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  333. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  334. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  335. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  336. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  337. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  338. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -581
  339. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  340. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  341. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  342. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  343. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  344. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  345. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  346. package/src/utils/gientechCommon/components/style.less +0 -11
  347. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  348. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  349. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  350. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -417
  351. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -251
  352. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -208
  353. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  354. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  355. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  356. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  357. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  358. package/src/utils/gientechCommon/utils/request.ts +0 -37
  359. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  360. package/src/utils/index.tsx +0 -142
  361. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  362. package/src/utils/testconfigs/index.ts +0 -59
  363. package/src/vite-env.d.ts +0 -42
  364. package/stats.html +0 -4949
  365. package/tailwind.config.js +0 -170
  366. package/tsconfig.app.json +0 -30
  367. package/tsconfig.app.tsbuildinfo +0 -11
  368. package/tsconfig.json +0 -13
  369. package/tsconfig.node.json +0 -22
  370. package/tsconfig.node.tsbuildinfo +0 -1
  371. package/vite.config.app.ts +0 -93
  372. package/vite.config.ts +0 -232
  373. package/workflows/release.yml +0 -60
  374. package//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +0 -359
  375. /package/{dist/assets → assets}/Doris.png +0 -0
  376. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  377. /package/{dist/assets → assets}/SQLServer.png +0 -0
  378. /package/{dist/assets → assets}/database.svg +0 -0
  379. /package/{dist/assets → assets}/database_add.svg +0 -0
  380. /package/{dist/assets → assets}/database_connect.svg +0 -0
  381. /package/{dist/assets → assets}/database_upload.svg +0 -0
  382. /package/{dist/assets → assets}/databse.svg +0 -0
  383. /package/{dist/assets → assets}/defaultWeLogo.svg +0 -0
  384. /package/{dist/assets → assets}/empty.png +0 -0
  385. /package/{dist/assets → assets}/graph.svg +0 -0
  386. /package/{dist/assets → assets}/homeBg.png +0 -0
  387. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  388. /package/{dist/assets → assets}/knowledge.svg +0 -0
  389. /package/{dist/assets → assets}/left.jpg +0 -0
  390. /package/{dist/assets → assets}/logoImg.png +0 -0
  391. /package/{dist/assets → assets}/mysql.svg +0 -0
  392. /package/{dist/assets → assets}/sensitive.svg +0 -0
  393. /package/{dist/assets → assets}/style.css +0 -0
  394. /package/{dist/assets → assets}/style2.css +0 -0
  395. /package/{dist/assets → assets}/style3.css +0 -0
  396. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  397. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  398. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  399. /package/{dist/database.d.ts → database.d.ts} +0 -0
  400. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  401. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  402. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  403. /package/{dist/icons → icons}/docx-file.png +0 -0
  404. /package/{dist/icons → icons}/folder.png +0 -0
  405. /package/{dist/icons → icons}/html.png +0 -0
  406. /package/{dist/icons → icons}/image.png +0 -0
  407. /package/{dist/icons → icons}/jpg-file.png +0 -0
  408. /package/{dist/icons → icons}/json.png +0 -0
  409. /package/{dist/icons → icons}/md.png +0 -0
  410. /package/{dist/icons → icons}/pdf.png +0 -0
  411. /package/{dist/icons → icons}/pptx.png +0 -0
  412. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  413. /package/{dist/icons → icons}/sheets.png +0 -0
  414. /package/{dist/icons → icons}/txt.png +0 -0
  415. /package/{dist/icons → icons}/xlsx.png +0 -0
  416. /package/{dist/index.d.ts → index.d.ts} +0 -0
  417. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  418. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  419. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  420. /package/{dist/vite.svg → vite.svg} +0 -0
  421. /package/{dist/worker → worker}/pdf.worker.min.js +0 -0
@@ -1,86 +0,0 @@
1
- import { BorderBottomOutlined } from "@ant-design/icons";
2
- import { Button, ConfigProvider, Form, Input, Modal } from "antd";
3
- import { useForm } from "antd/es/form/Form";
4
- import { useEffect } from "react";
5
-
6
- export const RenameModal = ({
7
- isModalOpen,
8
- handleOk,
9
- handleCancel,
10
- data
11
- }: any) => {
12
- const modalStyles = {
13
- header: {
14
- height: "60px",
15
- borderBottom: "1px solid #F0F0F0",
16
- display: "flex",
17
- paddingLeft: "24px",
18
- alignItems: "center",
19
- marginBottom: "16px"
20
- },
21
- title: { fontSize: "16px" },
22
- body: { padding: "0 24px" },
23
- mask: {},
24
- footer: { marginTop: "0px", padding: "0 24px 16px 24px" },
25
- content: { padding: 0 }
26
- };
27
- const [rename_form] = useForm();
28
- useEffect(() => {
29
- if (!isModalOpen) {
30
- rename_form.resetFields();
31
- return;
32
- }
33
- rename_form.setFieldValue("new_name", data?.label);
34
- }, [data, isModalOpen]);
35
- return (
36
- <ConfigProvider
37
- modal={{
38
- styles: modalStyles
39
- }}
40
- >
41
- <Modal
42
- title={<div className="text-[16px]">编辑会话名称</div>}
43
- closeIcon={null}
44
- open={isModalOpen}
45
- width={520}
46
- centered
47
- className="[&:[.ant-modal-content]]:bg-red"
48
- footer={
49
- <div className="mt-[16px] flex justify-end">
50
- <Button
51
- children="取消"
52
- onClick={handleCancel}
53
- className="mr-[8px]"
54
- />
55
- <Button
56
- children="确认"
57
- onClick={async () => {
58
- try {
59
- const data = await rename_form.validateFields();
60
- handleOk("ok_rename", data);
61
- } catch (e) {
62
- console.log(e);
63
- return;
64
- }
65
- }}
66
- type="primary"
67
- className="border-none"
68
- />
69
- </div>
70
- }
71
- >
72
- <Form form={rename_form}>
73
- <Form.Item
74
- name="new_name"
75
- rules={[
76
- { required: true, message: "请输入" },
77
- { max: 100, message: "最大字数限制100" }
78
- ]}
79
- >
80
- <Input />
81
- </Form.Item>
82
- </Form>
83
- </Modal>
84
- </ConfigProvider>
85
- );
86
- };
@@ -1,11 +0,0 @@
1
- .selfTree {
2
- .ant-tree .ant-tree-treenode {
3
- padding: 4px 0 4px 0;
4
- }
5
- .ant-tree-switcher {
6
- display: none;
7
- }
8
- .ant-tree-indent {
9
- display: none;
10
- }
11
- }
@@ -1,2 +0,0 @@
1
- export const maxPollCount = 1000;
2
- export const maxPollInterval = 3000;
File without changes
@@ -1,142 +0,0 @@
1
- // 主题类型定义
2
- export type SizeType = 'sm' | 'md' | 'lg'
3
- export type FontWeightType = 'normal' | 'bold' |'thin'
4
- export type FontFamilyType = 'default' | 'serif' | 'mono'
5
-
6
- export interface AiChatStyles {
7
- theme?: AppTheme
8
- mode?: 'light' | 'dark'
9
- [key: string]: any
10
- }
11
-
12
- export interface ThemeColors {
13
- primary: string
14
- secondary: string
15
- success: string
16
- warning: string
17
- error: string
18
- info: string
19
- background: string
20
- text: string
21
- border: string
22
- disabled: string
23
- disabledBackground: string
24
- disabledText: string
25
- shadow: string
26
- appBackground: string
27
- }
28
-
29
- export interface ThemeOthers {
30
-
31
- }
32
-
33
- export interface ThemeSpace {
34
- sidebar: string
35
- size: string
36
- radius: string
37
- padding: string
38
- margin: string
39
- shadow: string
40
- lineHeight: string
41
- }
42
-
43
- export interface ThemeIcons {
44
- aiAvatar: string
45
- userAvatar: string
46
- pdf: string
47
- word: string
48
- image: string
49
- video: string
50
- audio: string
51
- excel: string
52
- ppt: string
53
- }
54
-
55
- export interface AppTheme {
56
- colors: ThemeColors
57
-
58
- space: ThemeSpace
59
- icons: ThemeIcons
60
- others: ThemeOthers
61
- }
62
-
63
- // 默认主题实现
64
- export const defaultTheme: AppTheme = {
65
- colors: {
66
- primary: '#007bff',
67
- secondary: '#6c757d',
68
- success: '#008000',
69
- warning: '#FFA500',
70
- error: '#FF0000',
71
- info: '#0000FF',
72
- background: '#f8f9fa',
73
- text: '#343a40',
74
- border: '#dee2e6',
75
- disabled: '#808080',
76
- disabledBackground: '#F5F5F5',
77
- disabledText: '#808080',
78
- shadow: '#000000',
79
- appBackground: '#fff',
80
- },
81
- space: {
82
- sidebar: 'md',
83
- size: 'md',
84
- radius: 'md',
85
- padding: 'md',
86
- margin: 'md',
87
- shadow: 'md',
88
- lineHeight: 'md',
89
- },
90
- icons: {
91
- aiAvatar: 'http://10.15.12.13:9000/dev-rag-data/header_pic/JIABINBIN00/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20231212161213.jpg',
92
- userAvatar: 'http://10.15.12.13:9005/assets/nav-logo-BKaOCDqi.png',
93
- pdf: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/pdf-icon.png',
94
- word: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/word-icon.png',
95
- image: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/image-icon.png',
96
- video: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/video-icon.png',
97
- audio: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/audio-icon.png',
98
- excel: 'https://ai-chat-1326151111.cos.c zap-shanghai.myqcloud.com/excel-icon.png',
99
- ppt: 'https://ai-chat-1326151111.cos.ap-shanghai.myqcloud.com/ppt-icon.png',
100
- },
101
- others: {
102
- baseFontWeight: 'normal',
103
- },
104
- }
105
-
106
- // SizeType 映射表
107
- export const sidebarMap = {
108
- sm: '240px',
109
- md: '260px',
110
- lg: '280px',
111
- };
112
- export const sizeMap = {
113
- sm: '12px',
114
- md: '16px',
115
- lg: '20px',
116
- };
117
- export const radiusMap = {
118
- sm: '2px',
119
- md: '4px',
120
- lg: '8px',
121
- };
122
- export const paddingMap = {
123
- sm: '4px',
124
- md: '8px',
125
- lg: '16px',
126
- };
127
- export const marginMap = {
128
- sm: '4px',
129
- md: '8px',
130
- lg: '16px',
131
- };
132
- export const shadowMap = {
133
- sm: '0 1px 2px #eee',
134
- md: '0 2px 8px #ddd',
135
- lg: '0 4px 16px #ccc',
136
- };
137
- export const lineHeightMap = {
138
- sm: '1.2',
139
- md: '1.5',
140
- lg: '2',
141
- };
142
-
@@ -1,417 +0,0 @@
1
- import { EventSourceMessage, fetchEventSource } from '@microsoft/fetch-event-source';
2
-
3
- import { uid } from 'uid';
4
- import { AppStatusManager } from '@mxmweb/aichat';
5
-
6
- interface Api_Chat {
7
- sessionId: string;
8
- queryId: string;
9
- name: string;
10
- lastDate: string | number;
11
- type: string;
12
- content: string;
13
- configId: string;
14
- audioUrl: string;
15
- fileUids: any[];
16
- signal?: AbortSignal;
17
- sysType?: 'KNO_INDEX' | 'INT_SESSION' | 'TEMPORARY';
18
- }
19
-
20
- export enum StatusType {
21
- Pending = 0,
22
- Process,
23
- Done,
24
- Error,
25
- }
26
-
27
- class FatalError extends Error {}
28
-
29
- let currentStreamController: AbortController | null = null;
30
- // 记录当前流式请求的 sessionId,用于在切换会话时判断是否需要取消请求
31
- let currentStreamSessionId: string | null = null;
32
-
33
- const AichatUseController = ({
34
- baseUrl,
35
- token,
36
- CSRFToken,
37
- setChatData,
38
- activeSessionId,
39
- setAppStatus,
40
- setConversationList,
41
- }: {
42
- baseUrl: string;
43
- token: string;
44
- CSRFToken?: string;
45
- setChatData: (arg: any[] | ((prev: any[]) => any[])) => void;
46
- activeSessionId: string | undefined;
47
- setAppStatus: React.Dispatch<React.SetStateAction<AppStatusManager>>;
48
- setConversationList: React.Dispatch<React.SetStateAction<any[]>>;
49
- }) => {
50
- // 判断 graphReference 是否有有效值
51
- const isValidGraphReference = (ref: any): boolean => {
52
- if (!ref) return false;
53
- if (typeof ref === 'string') {
54
- const trimmed = ref.trim();
55
- return trimmed !== '' && trimmed !== '[]' && trimmed !== 'null';
56
- }
57
- return true;
58
- };
59
-
60
- const reset_chat = ({
61
- content,
62
- status,
63
- respTime,
64
- filePaths,
65
- reference,
66
- webReference,
67
- graphReference,
68
- databaseReference,
69
- llmType,
70
- resultType,
71
- queryId,
72
- tokens,
73
- }: {
74
- content: string;
75
- status: StatusType;
76
- respTime: number;
77
- filePaths: any[];
78
- reference: string;
79
- webReference: string;
80
- graphReference?: string;
81
- databaseReference?: any;
82
- llmType: number;
83
- resultType: number;
84
- queryId?: string;
85
- tokens: number;
86
- [key: string]: any;
87
- }) => {
88
- setChatData((chatList: any) => {
89
- if (!chatList[0]) return chatList;
90
- const current = chatList[0];
91
- const messages = current.messages || [];
92
- const lastIndex = messages.length - 1;
93
- if (lastIndex < 0) return chatList;
94
- const lastMessage = messages[lastIndex];
95
- if (lastMessage.istype !== 'ai') return chatList;
96
-
97
- // 更新上一条 user 的 filePaths(不可变)
98
- let newMessages = messages.slice();
99
- if (filePaths?.length) {
100
- const lastSecondIndex = messages.length - 2;
101
- if (lastSecondIndex >= 0 && messages[lastSecondIndex]?.istype === 'user') {
102
- const lastSecond = { ...messages[lastSecondIndex], filePaths };
103
- newMessages[lastSecondIndex] = lastSecond;
104
- }
105
- }
106
-
107
- // 只有当 graphReference 有有效值时才更新,否则保留之前的值
108
- // 如果传入的 graphReference 是 undefined,说明本次没有更新,保留之前的值
109
- // 如果传入的 graphReference 是 null 或无效值,也保留之前的值
110
- const finalGraphReference = graphReference !== undefined
111
- ? (isValidGraphReference(graphReference) ? graphReference : lastMessage.graphReference)
112
- : lastMessage.graphReference;
113
- // 调试:检查 reset_chat 中的 graphReference 处理
114
- if (status === StatusType.Done && graphReference !== undefined) {
115
- console.log('[AichatUseController] reset_chat status=2 时的 graphReference:', {
116
- graphReference,
117
- isValid: isValidGraphReference(graphReference),
118
- lastMessageGraphReference: lastMessage.graphReference,
119
- finalGraphReference,
120
- });
121
- }
122
-
123
- const updatedLast = {
124
- ...lastMessage,
125
- content: (lastMessage.content || '') + content,
126
- status,
127
- respTime,
128
- filePaths,
129
- reference,
130
- webReference,
131
- graphReference: finalGraphReference,
132
- // 流式阶段若后端带来了 databaseReference,写入当前 AI 消息
133
- databaseReference: databaseReference ?? lastMessage.databaseReference,
134
- resultType,
135
- llmType,
136
- tokens,
137
- queryId: queryId || lastMessage.queryId || uid(32),
138
- } as any;
139
- updatedLast.clientSideId = updatedLast.clientSideId || updatedLast.queryId + '-ai';
140
- newMessages[lastIndex] = updatedLast;
141
-
142
- const newChat0 = { ...current, isNew: false, messages: newMessages };
143
- return [newChat0, ...chatList.slice(1)];
144
- });
145
- };
146
-
147
- const onErrorCallback = (err: any) => {
148
- if (err instanceof FatalError) {
149
- setAppStatus((pre:any) => ({ ...pre, display: 'error', sender: 'ready' }));
150
- if (currentStreamController) {
151
- currentStreamController.abort();
152
- currentStreamController = null;
153
- }
154
- currentStreamSessionId = null;
155
- throw err;
156
- }
157
- // 其他错误可选处理
158
- };
159
-
160
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
161
- if (currentStreamController) {
162
- currentStreamController.abort();
163
- }
164
- currentStreamController = new AbortController();
165
- // 记录当前流式请求的 sessionId
166
- currentStreamSessionId = data.sessionId;
167
- const eventSourceUrl = `${baseUrl}/qa/ai/question_re`;
168
- console.log('data', data);
169
- const params = { ...data };
170
- fetchEventSource(eventSourceUrl, {
171
- method: 'post',
172
- signal: currentStreamController.signal,
173
- headers: {
174
- 'Content-Type': 'application/json',
175
- Accept: 'text/event-stream',
176
- Authorization: token || '',
177
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
178
- },
179
- openWhenHidden: true,
180
- body: JSON.stringify(params),
181
- onopen: async response => {
182
- if (response.status === 500) {
183
- throw new FatalError('Internal Server Error');
184
- }
185
- if (!response.ok) {
186
- throw new FatalError(`HTTP error: ${response.status}`);
187
- }
188
- // 其他状态可根据需要处理
189
- },
190
- onmessage: event => {
191
- const curData = JSON.parse(event.data);
192
- // 检查当前请求的 sessionId 是否仍然匹配,如果不匹配则忽略所有后续数据
193
- if (currentStreamSessionId !== curData.sessionId) {
194
- console.log('[AichatUseController] 流式请求的 sessionId 已不匹配,忽略数据', {
195
- currentStreamSessionId,
196
- receivedSessionId: curData.sessionId,
197
- activeSessionId,
198
- });
199
- return;
200
- }
201
- if (activeSessionId !== curData.sessionId) return;
202
- const {
203
- reply,
204
- resultType,
205
- respTime,
206
- reference,
207
- webReference,
208
- graphReference,
209
- filePaths,
210
- status,
211
- docs,
212
- llmType,
213
- databaseReference,
214
- } = curData;
215
- const _filePaths = filePaths ? JSON.parse(filePaths) : [];
216
- // === 新增:流式错误兜底 ===
217
- if (
218
- status === StatusType.Done &&
219
- reply &&
220
- reply.content &&
221
- (reply.content.includes('模型暂无法返回') ||
222
- reply.content.includes('失败') ||
223
- reply.content.includes('错误') ||
224
- reply.content.includes('请稍后再试'))
225
- ) {
226
- setAppStatus((pre:any) => ({ ...pre, display: 'ready', sender: 'ready' }));
227
- }
228
- // 处理 graphReference:只有当有有效值时才传递,否则传递 undefined 让 reset_chat 保留之前的值
229
- const finalGraphReference = isValidGraphReference(graphReference) ? graphReference : undefined;
230
- // 调试:检查最后一条消息的 graphReference
231
- if (status === StatusType.Done) {
232
- console.log('[AichatUseController] status=2 时的 graphReference:', {
233
- graphReference,
234
- type: typeof graphReference,
235
- isValid: isValidGraphReference(graphReference),
236
- finalGraphReference,
237
- });
238
- }
239
-
240
- if (status === StatusType.Done) {
241
- reset_chat({
242
- content: reply.content || '',
243
- status: StatusType.Done, // 流式完成时,消息状态应该是 Done
244
- respTime: respTime,
245
- filePaths: _filePaths,
246
- reference: reference || docs || '',
247
- webReference: webReference || '',
248
- graphReference: finalGraphReference,
249
- databaseReference,
250
- llmType,
251
- resultType,
252
- queryId: curData.queryId,
253
- tokens: curData.tokens,
254
- });
255
- setAppStatus((pre:any) => {
256
- return {
257
- ...pre,
258
- display: 'ready',
259
- sender: 'ready',
260
- };
261
- });
262
- if (onSuccess) {
263
- const gmtModified = respTime || Date.now();
264
- console.log('[AichatUseController] 消息发送成功,gmtModified:', gmtModified);
265
- onSuccess(gmtModified);
266
- }
267
- } else {
268
- reset_chat({
269
- content: reply.content || '',
270
- status: status,
271
- respTime: respTime,
272
- filePaths: _filePaths,
273
- reference: reference || docs || '',
274
- webReference: webReference || '',
275
- graphReference: finalGraphReference, // 流式过程中保持之前的graphReference值
276
- databaseReference,
277
- llmType,
278
- resultType,
279
- queryId: curData.queryId,
280
- tokens: curData.tokens,
281
- });
282
- }
283
- },
284
- onerror: onErrorCallback,
285
- onclose: () => {
286
- // 流式请求结束时,清理 sessionId 记录
287
- if (currentStreamSessionId === data.sessionId) {
288
- currentStreamSessionId = null;
289
- }
290
- },
291
- });
292
- };
293
-
294
- const setLastEmptyMessage = ({ now }: { now: number }) => {
295
- setChatData((chatList: any[]) => {
296
- if (!chatList[0]) return chatList;
297
- const current = chatList[0];
298
- const messages = current.messages || [];
299
- if (!messages.length) return chatList;
300
- const lastIndex = messages.length - 1;
301
- if (lastIndex < 0) return chatList;
302
- const lastMessage = messages[lastIndex];
303
- if (lastMessage.istype !== 'ai') return chatList;
304
- const newMessages = messages.slice();
305
- newMessages[lastIndex] = {
306
- ...lastMessage,
307
- istype: 'ai',
308
- content: '',
309
- time: now,
310
- streaming: true,
311
- status: StatusType.Pending,
312
- } as any;
313
- const newChat0 = { ...current, messages: newMessages };
314
- return [newChat0, ...chatList.slice(1)];
315
- });
316
- };
317
-
318
- const addEmptyMessage = ({
319
- queryId,
320
- content,
321
- filePaths,
322
- currentFiles,
323
- }: {
324
- queryId: string;
325
- content: string;
326
- filePaths?: string;
327
- currentFiles?: any[];
328
- }) => {
329
- setChatData((chatList: any[]) => {
330
- const now = new Date().toISOString();
331
- const _queryId = queryId || uid(32); // 保证只生成一次
332
- const userMessage = {
333
- istype: 'user',
334
- content: content,
335
- time: now,
336
- queryId: _queryId,
337
- clientSideId: _queryId + '-user',
338
- filePaths: filePaths || '',
339
- currentFiles: currentFiles || [],
340
- };
341
- const aiMessage = {
342
- istype: 'ai',
343
- content: '', // AI回复流式填充
344
- time: new Date(Date.now() + 1).toISOString(),
345
- streaming: true,
346
- status: StatusType.Pending,
347
- queryId: _queryId,
348
- clientSideId: _queryId + '-ai',
349
- };
350
-
351
- // 找到当前激活的对话
352
- const activeChat = chatList.find(chat => chat.id === activeSessionId);
353
-
354
- if (activeChat) {
355
- // 如果激活的对话存在,则向其添加新消息
356
- activeChat.messages.push(userMessage, aiMessage);
357
- } else {
358
- // 如果没有激活的对话(例如首次加载),则需要特殊处理
359
- // 这里的逻辑可能需要根据产品需求调整,是创建新对话还是报错
360
- // 假设我们总是有一个激活的对话
361
- console.warn('addEmptyMessage called without an active session.');
362
- }
363
- return [...chatList];
364
- });
365
- };
366
-
367
- // 主动终止当前 stream
368
- const stopStream = () => {
369
- if (currentStreamController) {
370
- currentStreamController.abort();
371
- currentStreamController = null;
372
- }
373
- currentStreamSessionId = null;
374
- setAppStatus((pre:any) => ({ ...pre, display: 'ready', sender: 'ready' }));
375
- };
376
-
377
- // 根据 sessionId 取消流式请求(用于切换会话时)
378
- const cancelStreamBySessionId = (sessionId: string) => {
379
- if (currentStreamController && currentStreamSessionId === sessionId) {
380
- console.log('[AichatUseController] 切换会话,取消正在进行的流式请求', sessionId);
381
- currentStreamController.abort();
382
- currentStreamController = null;
383
- currentStreamSessionId = null;
384
- setAppStatus((pre:any) => ({ ...pre, display: 'ready', sender: 'ready' }));
385
- return true;
386
- }
387
- return false;
388
- };
389
-
390
- const updateUserFilesMessage = ({ currentFiles }: { currentFiles: any[] }) => {
391
- setChatData((chatList: any[]) => {
392
- if (!chatList[0]) return chatList;
393
- const current = chatList[0];
394
- const messages = current.messages || [];
395
- if (!messages.length) return chatList;
396
- const lastIndex = messages.length - 2;
397
- if (lastIndex < 0) return chatList;
398
- const lastMessage = messages[lastIndex];
399
- if (lastMessage.istype !== 'user') return chatList;
400
- const newMessages = messages.slice();
401
- newMessages[lastIndex] = { ...messages[lastIndex], currentFiles } as any;
402
- const newChat0 = { ...current, messages: newMessages };
403
- return [newChat0, ...chatList.slice(1)];
404
- });
405
- };
406
-
407
- return {
408
- updateUserFilesMessage,
409
- api_startChat_re,
410
- addEmptyMessage,
411
- setLastEmptyMessage,
412
- stopStream,
413
- cancelStreamBySessionId,
414
- };
415
- };
416
-
417
- export default AichatUseController;