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

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