@gientech/modual 2.0.9 → 2.0.11

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 (423) hide show
  1. package/README.md +761 -761
  2. package/{dist/assets/GientechStreamReader-CNj6Rcm7.js → assets/GientechStreamReader-DybWMK4d.js} +1 -1
  3. package/{src/modules/database/assets → assets}/database.svg +11 -11
  4. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  5. package/{src/modules/database/assets → assets}/database_connect.svg +66 -66
  6. package/{dist/assets → assets}/database_upload.svg +29 -29
  7. package/{dist/assets → assets}/databse.svg +6 -6
  8. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  9. package/{dist/assets → assets}/graph.svg +4 -4
  10. package/{dist/assets/index-DrkSoKz6.js → assets/index-B1ZDDbC1.js} +1 -1
  11. package/{dist/assets/index-D72cKELw.js → assets/index-CBTA5S-5.js} +1 -1
  12. package/{dist/assets/index-B2yNvzjy.js → assets/index-CN2AYX8Q.js} +1 -1
  13. package/{dist/assets/index-BJv0t0eJ.js → assets/index-D0DDewJ2.js} +34 -34
  14. package/{dist/assets/index-BKe5FgcC.js → assets/index-D9lYd8TZ.js} +1 -1
  15. package/{dist/assets/index-ZopkeZtI.js → assets/index-DYhXjvk4.js} +1 -1
  16. package/{dist/assets/index-g-SUxfJH.js → assets/index-LDFwTu47.js} +1 -1
  17. package/{dist/assets/index-j0kQJd0a.js → assets/index-NFQIKNFn.js} +1 -1
  18. package/{dist/assets/index-CU45mVZ4.js → assets/index-S4W4X-HN.js} +2 -2
  19. package/{dist/assets/index-DdVFXD_y.js → assets/index-s0cmC4Ks.js} +1 -1
  20. package/{src/modules/assistantConfig/assets → assets}/knowledge.svg +4 -4
  21. package/{src/modules/database/assets → assets}/mysql.svg +14 -14
  22. package/{dist/assets/plus-V9zUoSq6.js → assets/plus-G7zGXf6S.js} +1 -1
  23. package/{dist/assets → assets}/sensitive.svg +5 -5
  24. package/{dist/assets/style-CGmZ5osp.js → assets/style-Bn7b5XHU.js} +2 -2
  25. package/assets/style4.css +1 -0
  26. package/{dist/assets/x-CnaaLGJF.js → assets/x-vfKYzKkK.js} +1 -1
  27. package/assistantConfig.js +1 -0
  28. package/chat.js +806 -0
  29. package/database.js +20 -0
  30. package/databaseId.js +1 -0
  31. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  32. package/index.js +1 -0
  33. package/{dist/modelManage.js → modelManage.js} +1 -1
  34. package/package.json +44 -106
  35. package/{dist/sensitive.js → sensitive.js} +1 -1
  36. package/streamFilesReader.js +1 -0
  37. package/{public/worker → worker}/pdf.worker.min.js +21 -21
  38. package/.editorconfig +0 -38
  39. package/.prettierignore +0 -16
  40. package/.prettierrc +0 -17
  41. package/INSTALL_TROUBLESHOOTING.md +0 -316
  42. package/USAGE.md +0 -247
  43. package/bash.exe.stackdump +0 -40
  44. package/components.json +0 -21
  45. package/dist/README.md +0 -761
  46. package/dist/assets/database.svg +0 -11
  47. package/dist/assets/database_add.svg +0 -53
  48. package/dist/assets/database_connect.svg +0 -66
  49. package/dist/assets/knowledge.svg +0 -4
  50. package/dist/assets/mysql.svg +0 -14
  51. package/dist/assets/style4.css +0 -1
  52. package/dist/assistantConfig.js +0 -1
  53. package/dist/chat.js +0 -844
  54. package/dist/database.js +0 -20
  55. package/dist/databaseId.js +0 -1
  56. package/dist/index.js +0 -1
  57. package/dist/package.json +0 -68
  58. package/dist/streamFilesReader.js +0 -1
  59. package/dist/worker/pdf.worker.min.js +0 -22
  60. package/doc_assets/2.png +0 -0
  61. package/doc_assets/demo.md +0 -27
  62. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  63. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  64. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  65. package/doc_assets/demos/dist-app/index.html +0 -14
  66. package/doc_assets/demos/dist-app/vite.svg +0 -1
  67. package/doc_assets/images/1.png +0 -0
  68. package/doc_assets/images/3.png +0 -0
  69. package/doc_assets/images/component-screenshot.png +0 -1
  70. package/doc_assets/install.md +0 -5
  71. package/doc_assets/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +0 -115
  72. 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
  73. package/eslint.config.js +0 -92
  74. package/index.html +0 -13
  75. package/package.json.demo-backup +0 -109
  76. package/postcss.config.cjs +0 -19
  77. package/public/icons/answerAwartar.png +0 -0
  78. package/public/icons/docx-file.png +0 -0
  79. package/public/icons/folder.png +0 -0
  80. package/public/icons/html.png +0 -0
  81. package/public/icons/image.png +0 -0
  82. package/public/icons/jpg-file.png +0 -0
  83. package/public/icons/json.png +0 -0
  84. package/public/icons/md.png +0 -0
  85. package/public/icons/pdf.png +0 -0
  86. package/public/icons/pptx.png +0 -0
  87. package/public/icons/questionAwartar.png +0 -0
  88. package/public/icons/sheets.png +0 -0
  89. package/public/icons/txt.png +0 -0
  90. package/public/icons/xlsx.png +0 -0
  91. package/public/vite.svg +0 -1
  92. package/scripts/README.md +0 -133
  93. package/scripts/build-demo.js +0 -88
  94. package/scripts/decrypt-api-key.js +0 -95
  95. package/scripts/demo-selector.js +0 -216
  96. package/scripts/dev-demo.js +0 -76
  97. package/scripts/preview-demo.js +0 -130
  98. package/scripts/run-demo.bat +0 -34
  99. package/src/assets/img/close.png +0 -0
  100. package/src/assets/img/database.png +0 -0
  101. package/src/assets/img/downArrow.png +0 -0
  102. package/src/assets/img/downLoad.png +0 -0
  103. package/src/assets/img/excel.png +0 -0
  104. package/src/assets/img/graphIcon.png +0 -0
  105. package/src/assets/img/img.png +0 -0
  106. package/src/assets/img/pdf.png +0 -0
  107. package/src/assets/img/ppt.png +0 -0
  108. package/src/assets/img/singleQa.png +0 -0
  109. package/src/assets/img/txt.png +0 -0
  110. package/src/assets/img/webSearch.png +0 -0
  111. package/src/assets/img/word.png +0 -0
  112. package/src/assets/login/homeBg.png +0 -0
  113. package/src/assets/login/left.jpg +0 -0
  114. package/src/assets/login/logoImg.png +0 -0
  115. package/src/examples/ConversationAssistantPage/index.tsx +0 -41
  116. package/src/examples/Demo/index.tsx +0 -12
  117. package/src/examples/LoginPage/index.tsx +0 -18
  118. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  119. package/src/examples/chat/index.tsx +0 -166
  120. package/src/examples/chat/logo03.png +0 -0
  121. package/src/examples/gientechStreamFilesReader/index.tsx +0 -951
  122. package/src/examples/headlessChat/assets/mind.svg +0 -6
  123. package/src/examples/headlessChat/assets/net.svg +0 -7
  124. package/src/examples/headlessChat/index.tsx +0 -285
  125. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  126. package/src/examples/ragDatabaseIdPage/index.tsx +0 -47
  127. package/src/examples/ragDatabasePage/index.tsx +0 -36
  128. package/src/examples/ragModelManagePage/index.tsx +0 -38
  129. package/src/examples/ragSearchPage/index.tsx +0 -0
  130. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  131. package/src/examples/streamFiles/index.tsx +0 -417
  132. package/src/lib_enter.ts +0 -43
  133. package/src/main.tsx +0 -5
  134. package/src/main.tsx.backup +0 -5
  135. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  136. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  137. package/src/modules/assistantConfig/assets/empty.png +0 -0
  138. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  139. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  140. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  141. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  142. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  143. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  144. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  145. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -39
  146. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  147. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  148. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  149. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -65
  150. package/src/modules/assistantConfig/constants.tsx +0 -75
  151. package/src/modules/assistantConfig/index.tsx +0 -710
  152. package/src/modules/assistantConfig/server.ts +0 -262
  153. package/src/modules/chat/Conversations/Item.tsx +0 -167
  154. package/src/modules/chat/Conversations/List.tsx +0 -210
  155. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  156. package/src/modules/chat/Conversations/index.tsx +0 -252
  157. package/src/modules/chat/ReferenceBar.tsx +0 -622
  158. package/src/modules/chat/constants.tsx +0 -57
  159. package/src/modules/chat/index.tsx +0 -2449
  160. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  161. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  162. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  163. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  164. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  165. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  166. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  167. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  168. package/src/modules/chat/style.less +0 -3
  169. package/src/modules/chat/types.ts +0 -17
  170. package/src/modules/chat/utils/index.ts +0 -348
  171. package/src/modules/database/CreateModal.tsx +0 -403
  172. package/src/modules/database/assets/Doris.png +0 -0
  173. package/src/modules/database/assets/PostgreSQL.png +0 -0
  174. package/src/modules/database/assets/SQLServer.png +0 -0
  175. package/src/modules/database/assets/database_upload.svg +0 -29
  176. package/src/modules/database/assets/empty.png +0 -0
  177. package/src/modules/database/index.tsx +0 -477
  178. package/src/modules/database/server.ts +0 -196
  179. package/src/modules/databaseId/CustomCom.tsx +0 -156
  180. package/src/modules/databaseId/EditConfig.tsx +0 -280
  181. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  182. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  183. package/src/modules/databaseId/assets/empty.png +0 -0
  184. package/src/modules/databaseId/assets/template.svg +0 -6
  185. package/src/modules/databaseId/assets/upload.svg +0 -9
  186. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  187. package/src/modules/databaseId/index.tsx +0 -769
  188. package/src/modules/databaseId/server.ts +0 -286
  189. package/src/modules/databaseId/style.css +0 -5
  190. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  191. package/src/modules/databaseTable/index.tsx +0 -359
  192. package/src/modules/databaseTable/server.ts +0 -180
  193. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  194. package/src/modules/headlessChat/constants.tsx +0 -54
  195. package/src/modules/headlessChat/index.tsx +0 -1782
  196. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  197. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  198. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  199. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  200. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  201. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  202. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  203. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  204. package/src/modules/headlessChat/style.less +0 -3
  205. package/src/modules/headlessChat/types.ts +0 -23
  206. package/src/modules/headlessChat/utils/index.ts +0 -348
  207. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  208. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  209. package/src/modules/login/components/Login/index.tsx +0 -100
  210. package/src/modules/login/index.tsx +0 -106
  211. package/src/modules/login/style.css +0 -3
  212. package/src/modules/login/useServices.ts +0 -53
  213. package/src/modules/login/utils.ts +0 -42
  214. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  215. package/src/modules/modelManage/ReplaceModal.tsx +0 -124
  216. package/src/modules/modelManage/assets/empty.png +0 -0
  217. package/src/modules/modelManage/const.ts +0 -51
  218. package/src/modules/modelManage/index.tsx +0 -606
  219. package/src/modules/modelManage/server.ts +0 -223
  220. package/src/modules/nodegraph/index.tsx +0 -1
  221. package/src/modules/search/assets/Icon-history.svg +0 -8
  222. package/src/modules/search/assets/answerAwartar.png +0 -0
  223. package/src/modules/search/assets/doc.png +0 -0
  224. package/src/modules/search/assets/genera.gif +0 -0
  225. package/src/modules/search/assets/icon-robot.svg +0 -9
  226. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  227. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  228. package/src/modules/search/assets/icon-title.svg +0 -9
  229. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  230. package/src/modules/search/assets/iconAi.svg +0 -9
  231. package/src/modules/search/assets/pdf.png +0 -0
  232. package/src/modules/search/assets/ppt.png +0 -0
  233. package/src/modules/search/assets/search.svg +0 -3
  234. package/src/modules/search/assets/selected.svg +0 -4
  235. package/src/modules/search/assets/txt.png +0 -0
  236. package/src/modules/search/assets/xls.png +0 -0
  237. package/src/modules/search/components/AssisSelect.tsx +0 -137
  238. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  239. package/src/modules/search/components/Editor/aichat.css +0 -1
  240. package/src/modules/search/components/Editor/constant.ts +0 -13
  241. package/src/modules/search/components/Editor/index.tsx +0 -113
  242. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  243. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  244. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  245. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  246. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  247. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  248. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  249. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  250. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  251. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  252. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  253. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  254. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  255. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  256. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  257. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  258. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  259. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  260. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  261. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  262. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  263. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  264. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  265. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  266. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  267. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  268. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  269. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  270. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  271. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  272. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  273. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  274. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  275. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  276. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  277. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  278. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  279. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  280. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  281. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  282. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  283. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  284. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  285. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  286. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  287. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  288. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  289. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  290. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  291. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  292. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  293. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  294. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  295. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  296. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  297. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  298. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  299. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  300. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  301. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  302. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  303. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  304. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  305. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  306. package/src/modules/search/components/Editor/ui/style.less +0 -12
  307. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  308. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  309. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  310. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  311. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  312. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  313. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  314. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  315. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  316. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  317. package/src/modules/search/components/FileList.tsx +0 -287
  318. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  319. package/src/modules/search/components/ResultContent.tsx +0 -232
  320. package/src/modules/search/components/SearchInput.tsx +0 -232
  321. package/src/modules/search/components/SearchLanding.tsx +0 -74
  322. package/src/modules/search/components/SearchView.tsx +0 -563
  323. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  324. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  325. package/src/modules/search/index.tsx +0 -10
  326. package/src/modules/search/reademe.md +0 -1
  327. package/src/modules/search/servers/apis.tsx +0 -19
  328. package/src/modules/search/servers/index.ts +0 -184
  329. package/src/modules/search/style.less +0 -503
  330. package/src/modules/search/type.ts +0 -22
  331. package/src/modules/search/utils.ts +0 -34
  332. package/src/modules/sensitive/index.tsx +0 -313
  333. package/src/modules/sensitive/server.ts +0 -122
  334. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1625
  335. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  336. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  337. package/src/modules/streamFilesReader/index.tsx +0 -3
  338. package/src/style.css +0 -6
  339. package/src/type.d.ts +0 -0
  340. package/src/utils/commonFn.tsx +0 -111
  341. package/src/utils/decryptApiKey.ts +0 -40
  342. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  343. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  344. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  345. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  346. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  347. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  348. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  349. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  350. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  351. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -581
  352. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  353. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  354. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  355. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  356. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  357. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  358. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  359. package/src/utils/gientechCommon/components/style.less +0 -11
  360. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  361. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  362. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  363. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -417
  364. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -251
  365. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -208
  366. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  367. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  368. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  369. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  370. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  371. package/src/utils/gientechCommon/utils/request.ts +0 -37
  372. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  373. package/src/utils/index.tsx +0 -142
  374. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  375. package/src/utils/testconfigs/index.ts +0 -59
  376. package/src/vite-env.d.ts +0 -42
  377. package/stats.html +0 -4949
  378. package/tailwind.config.js +0 -170
  379. package/tsconfig.app.json +0 -30
  380. package/tsconfig.app.tsbuildinfo +0 -11
  381. package/tsconfig.json +0 -13
  382. package/tsconfig.node.json +0 -22
  383. package/tsconfig.node.tsbuildinfo +0 -1
  384. package/vite.config.app.ts +0 -93
  385. package/vite.config.ts +0 -232
  386. package/workflows/release.yml +0 -60
  387. 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
  388. /package/{dist/assets → assets}/Doris.png +0 -0
  389. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  390. /package/{dist/assets → assets}/SQLServer.png +0 -0
  391. /package/{dist/assets → assets}/empty.png +0 -0
  392. /package/{dist/assets → assets}/homeBg.png +0 -0
  393. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  394. /package/{dist/assets → assets}/left.jpg +0 -0
  395. /package/{dist/assets → assets}/logoImg.png +0 -0
  396. /package/{dist/assets → assets}/style.css +0 -0
  397. /package/{dist/assets → assets}/style2.css +0 -0
  398. /package/{dist/assets → assets}/style3.css +0 -0
  399. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  400. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  401. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  402. /package/{dist/database.d.ts → database.d.ts} +0 -0
  403. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  404. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  405. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  406. /package/{dist/icons → icons}/docx-file.png +0 -0
  407. /package/{dist/icons → icons}/folder.png +0 -0
  408. /package/{dist/icons → icons}/html.png +0 -0
  409. /package/{dist/icons → icons}/image.png +0 -0
  410. /package/{dist/icons → icons}/jpg-file.png +0 -0
  411. /package/{dist/icons → icons}/json.png +0 -0
  412. /package/{dist/icons → icons}/md.png +0 -0
  413. /package/{dist/icons → icons}/pdf.png +0 -0
  414. /package/{dist/icons → icons}/pptx.png +0 -0
  415. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  416. /package/{dist/icons → icons}/sheets.png +0 -0
  417. /package/{dist/icons → icons}/txt.png +0 -0
  418. /package/{dist/icons → icons}/xlsx.png +0 -0
  419. /package/{dist/index.d.ts → index.d.ts} +0 -0
  420. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  421. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  422. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  423. /package/{dist/vite.svg → vite.svg} +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;