@gientech/modual 1.9.4-fix.1 → 1.9.4-fix.2

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