@gientech/modual 2.0.4 → 2.0.5

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 (419) hide show
  1. package/.editorconfig +38 -0
  2. package/.prettierignore +16 -0
  3. package/.prettierrc +17 -0
  4. package/README.md +643 -643
  5. package/USAGE.md +247 -0
  6. package/bash.exe.stackdump +40 -0
  7. package/components.json +21 -0
  8. package/dist/README.md +643 -0
  9. package/{assets/GientechStreamReader-CzB5AuYo.js → dist/assets/GientechStreamReader-DUCq-O5X.js} +1 -1
  10. package/{assets → dist/assets}/database.svg +11 -11
  11. package/{assets → dist/assets}/database_add.svg +53 -53
  12. package/{assets → dist/assets}/database_connect.svg +66 -66
  13. package/{assets → dist/assets}/database_upload.svg +29 -29
  14. package/{assets → dist/assets}/databse.svg +6 -6
  15. package/{assets → dist/assets}/defaultWeLogo.svg +14 -14
  16. package/{assets → dist/assets}/graph.svg +4 -4
  17. package/{assets/index-CN2AYX8Q.js → dist/assets/index-B2yNvzjy.js} +1 -1
  18. package/{assets/index-D9lYd8TZ.js → dist/assets/index-BKe5FgcC.js} +1 -1
  19. package/{assets/index-CBTA5S-5.js → dist/assets/index-D72cKELw.js} +1 -1
  20. package/{assets/index-s0cmC4Ks.js → dist/assets/index-DdVFXD_y.js} +1 -1
  21. package/{assets/index-B1ZDDbC1.js → dist/assets/index-DrkSoKz6.js} +1 -1
  22. package/{assets/index-B2rFliXg.js → dist/assets/index-KCfkkJKb.js} +1 -1
  23. package/{assets/index-DnBY0UXI.js → dist/assets/index-QI9biQrR.js} +2 -2
  24. package/{assets/index-DYhXjvk4.js → dist/assets/index-ZopkeZtI.js} +1 -1
  25. package/{assets/index-LDFwTu47.js → dist/assets/index-g-SUxfJH.js} +1 -1
  26. package/{assets/index-NFQIKNFn.js → dist/assets/index-j0kQJd0a.js} +1 -1
  27. package/{assets → dist/assets}/knowledge.svg +4 -4
  28. package/{assets/MySQL.svg → dist/assets/mysql.svg} +14 -14
  29. package/{assets/plus-G7zGXf6S.js → dist/assets/plus-V9zUoSq6.js} +1 -1
  30. package/{assets → dist/assets}/sensitive.svg +5 -5
  31. package/{assets/style-Bn7b5XHU.js → dist/assets/style-CGmZ5osp.js} +2 -2
  32. package/{assets/x-vfKYzKkK.js → dist/assets/x-CnaaLGJF.js} +1 -1
  33. package/dist/assistantConfig.js +1 -0
  34. package/dist/chat.js +824 -0
  35. package/dist/database.js +20 -0
  36. package/dist/databaseId.js +1 -0
  37. package/{databaseTable.js → dist/databaseTable.js} +1 -1
  38. package/dist/index.js +1 -0
  39. package/{modelManage.js → dist/modelManage.js} +1 -1
  40. package/dist/package.json +68 -0
  41. package/{sensitive.js → dist/sensitive.js} +1 -1
  42. package/dist/streamFilesReader.js +1 -0
  43. package/{worker → dist/worker}/pdf.worker.min.js +21 -21
  44. package/doc_assets/2.png +0 -0
  45. package/doc_assets/demo.md +27 -0
  46. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +2 -0
  47. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +23699 -0
  48. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +1 -0
  49. package/doc_assets/demos/dist-app/index.html +14 -0
  50. package/doc_assets/demos/dist-app/vite.svg +1 -0
  51. package/doc_assets/images/1.png +0 -0
  52. package/doc_assets/images/3.png +0 -0
  53. package/doc_assets/images/component-screenshot.png +1 -0
  54. package/doc_assets/install.md +5 -0
  55. 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 +504 -0
  56. package/eslint.config.js +92 -0
  57. package/index.html +13 -0
  58. package/package.json +106 -44
  59. package/package.json.demo-backup +109 -0
  60. package/postcss.config.cjs +19 -0
  61. package/public/icons/answerAwartar.png +0 -0
  62. package/public/icons/docx-file.png +0 -0
  63. package/public/icons/folder.png +0 -0
  64. package/public/icons/html.png +0 -0
  65. package/public/icons/image.png +0 -0
  66. package/public/icons/jpg-file.png +0 -0
  67. package/public/icons/json.png +0 -0
  68. package/public/icons/md.png +0 -0
  69. package/public/icons/pdf.png +0 -0
  70. package/public/icons/pptx.png +0 -0
  71. package/public/icons/questionAwartar.png +0 -0
  72. package/public/icons/sheets.png +0 -0
  73. package/public/icons/txt.png +0 -0
  74. package/public/icons/xlsx.png +0 -0
  75. package/public/vite.svg +1 -0
  76. package/public/worker/pdf.worker.min.js +22 -0
  77. package/scripts/README.md +133 -0
  78. package/scripts/build-demo.js +88 -0
  79. package/scripts/decrypt-api-key.js +95 -0
  80. package/scripts/demo-selector.js +216 -0
  81. package/scripts/dev-demo.js +76 -0
  82. package/scripts/preview-demo.js +130 -0
  83. package/scripts/run-demo.bat +34 -0
  84. package/src/assets/img/close.png +0 -0
  85. package/src/assets/img/database.png +0 -0
  86. package/src/assets/img/downArrow.png +0 -0
  87. package/src/assets/img/downLoad.png +0 -0
  88. package/src/assets/img/excel.png +0 -0
  89. package/src/assets/img/graphIcon.png +0 -0
  90. package/src/assets/img/img.png +0 -0
  91. package/src/assets/img/pdf.png +0 -0
  92. package/src/assets/img/ppt.png +0 -0
  93. package/src/assets/img/singleQa.png +0 -0
  94. package/src/assets/img/txt.png +0 -0
  95. package/src/assets/img/webSearch.png +0 -0
  96. package/src/assets/img/word.png +0 -0
  97. package/src/assets/login/homeBg.png +0 -0
  98. package/src/assets/login/left.jpg +0 -0
  99. package/src/assets/login/logoImg.png +0 -0
  100. package/src/examples/ConversationAssistantPage/index.tsx +41 -0
  101. package/src/examples/Demo/index.tsx +12 -0
  102. package/src/examples/LoginPage/index.tsx +18 -0
  103. package/src/examples/chat/components/DrawerGraphPreview.tsx +78 -0
  104. package/src/examples/chat/index.tsx +154 -0
  105. package/src/examples/chat/logo03.png +0 -0
  106. package/src/examples/gientechStreamFilesReader/index.tsx +951 -0
  107. package/src/examples/headlessChat/index.tsx +234 -0
  108. package/src/examples/ragDatabaseDataPage/index.tsx +40 -0
  109. package/src/examples/ragDatabaseIdPage/index.tsx +47 -0
  110. package/src/examples/ragDatabasePage/index.tsx +36 -0
  111. package/src/examples/ragModelManagePage/index.tsx +38 -0
  112. package/src/examples/ragSearchPage/index.tsx +0 -0
  113. package/src/examples/ragSensitiveWordsPage/index.tsx +32 -0
  114. package/src/examples/streamFiles/index.tsx +417 -0
  115. package/src/lib_enter.ts +43 -0
  116. package/src/main.tsx +5 -0
  117. package/src/main.tsx.backup +5 -0
  118. package/src/modules/CHAT_UNIFICATION_PLAN.md +324 -0
  119. package/src/modules/assistantConfig/assets/databse.svg +6 -0
  120. package/src/modules/assistantConfig/assets/empty.png +0 -0
  121. package/src/modules/assistantConfig/assets/graph.svg +4 -0
  122. package/src/modules/assistantConfig/assets/knowledge.svg +4 -0
  123. package/src/modules/assistantConfig/assets/sensitive.svg +5 -0
  124. package/src/modules/assistantConfig/components/Database.tsx +171 -0
  125. package/src/modules/assistantConfig/components/Graph.tsx +177 -0
  126. package/src/modules/assistantConfig/components/Knowledge.tsx +276 -0
  127. package/src/modules/assistantConfig/components/NotFoundContent.tsx +21 -0
  128. package/src/modules/assistantConfig/components/Paragraph.tsx +51 -0
  129. package/src/modules/assistantConfig/components/ParamsItem.tsx +39 -0
  130. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +133 -0
  131. package/src/modules/assistantConfig/components/SearchableSelector.tsx +500 -0
  132. package/src/modules/assistantConfig/components/Sensitive.tsx +221 -0
  133. package/src/modules/assistantConfig/components/SliderInput.tsx +65 -0
  134. package/src/modules/assistantConfig/constants.tsx +75 -0
  135. package/src/modules/assistantConfig/index.tsx +710 -0
  136. package/src/modules/assistantConfig/server.ts +262 -0
  137. package/src/modules/chat/Conversations/Item.tsx +167 -0
  138. package/src/modules/chat/Conversations/List.tsx +210 -0
  139. package/src/modules/chat/Conversations/groupByTime.ts +39 -0
  140. package/src/modules/chat/Conversations/index.tsx +252 -0
  141. package/src/modules/chat/ReferenceBar.tsx +622 -0
  142. package/src/modules/chat/constants.tsx +52 -0
  143. package/src/modules/chat/data.txt +82 -0
  144. package/src/modules/chat/index.tsx +2054 -0
  145. package/src/modules/chat/referenceCom/DeleteModal.tsx +75 -0
  146. package/src/modules/chat/referenceCom/DrawerContent.tsx +136 -0
  147. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +102 -0
  148. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +86 -0
  149. package/src/modules/chat/referenceCom/DrawerPreview.tsx +73 -0
  150. package/src/modules/chat/referenceCom/DrawerTitle.tsx +26 -0
  151. package/src/modules/chat/referenceCom/RenameModal.tsx +86 -0
  152. package/src/modules/chat/referenceCom/TagCom.tsx +30 -0
  153. package/src/modules/chat/style.less +3 -0
  154. package/src/modules/chat/types.ts +17 -0
  155. package/src/modules/chat/utils/index.ts +348 -0
  156. package/src/modules/database/CreateModal.tsx +403 -0
  157. package/src/modules/database/assets/Doris.png +0 -0
  158. package/src/modules/database/assets/PostgreSQL.png +0 -0
  159. package/src/modules/database/assets/SQLServer.png +0 -0
  160. package/src/modules/database/assets/database.svg +11 -0
  161. package/src/modules/database/assets/database_add.svg +53 -0
  162. package/src/modules/database/assets/database_connect.svg +66 -0
  163. package/src/modules/database/assets/database_upload.svg +29 -0
  164. package/src/modules/database/assets/empty.png +0 -0
  165. package/src/modules/database/assets/mysql.svg +14 -0
  166. package/src/modules/database/index.tsx +477 -0
  167. package/src/modules/database/server.ts +196 -0
  168. package/src/modules/databaseId/CustomCom.tsx +156 -0
  169. package/src/modules/databaseId/EditConfig.tsx +280 -0
  170. package/src/modules/databaseId/UploadDrawer.tsx +535 -0
  171. package/src/modules/databaseId/assets/aiOptimize.svg +10 -0
  172. package/src/modules/databaseId/assets/empty.png +0 -0
  173. package/src/modules/databaseId/assets/template.svg +6 -0
  174. package/src/modules/databaseId/assets/upload.svg +9 -0
  175. package/src/modules/databaseId/assets/useTemp.svg +6 -0
  176. package/src/modules/databaseId/index.tsx +769 -0
  177. package/src/modules/databaseId/server.ts +286 -0
  178. package/src/modules/databaseId/style.css +5 -0
  179. package/src/modules/databaseTable/EditRowDrawer.tsx +124 -0
  180. package/src/modules/databaseTable/index.tsx +359 -0
  181. package/src/modules/databaseTable/server.ts +180 -0
  182. package/src/modules/headlessChat/ReferenceBar.tsx +783 -0
  183. package/src/modules/headlessChat/constants.tsx +54 -0
  184. package/src/modules/headlessChat/index.tsx +1706 -0
  185. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +75 -0
  186. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +136 -0
  187. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +102 -0
  188. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +86 -0
  189. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +73 -0
  190. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +26 -0
  191. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +86 -0
  192. package/src/modules/headlessChat/referenceCom/TagCom.tsx +30 -0
  193. package/src/modules/headlessChat/style.less +3 -0
  194. package/src/modules/headlessChat/types.ts +23 -0
  195. package/src/modules/headlessChat/utils/index.ts +348 -0
  196. package/src/modules/login/components/Login/LoginBox/index.tsx +102 -0
  197. package/src/modules/login/components/Login/RegisterBox/index.tsx +180 -0
  198. package/src/modules/login/components/Login/index.tsx +100 -0
  199. package/src/modules/login/index.tsx +106 -0
  200. package/src/modules/login/style.css +3 -0
  201. package/src/modules/login/useServices.ts +53 -0
  202. package/src/modules/login/utils.ts +42 -0
  203. package/src/modules/modelManage/ConfigDrawer.tsx +249 -0
  204. package/src/modules/modelManage/ReplaceModal.tsx +124 -0
  205. package/src/modules/modelManage/assets/empty.png +0 -0
  206. package/src/modules/modelManage/const.ts +51 -0
  207. package/src/modules/modelManage/index.tsx +606 -0
  208. package/src/modules/modelManage/server.ts +223 -0
  209. package/src/modules/nodegraph/index.tsx +1 -0
  210. package/src/modules/search/assets/Icon-history.svg +8 -0
  211. package/src/modules/search/assets/answerAwartar.png +0 -0
  212. package/src/modules/search/assets/doc.png +0 -0
  213. package/src/modules/search/assets/genera.gif +0 -0
  214. package/src/modules/search/assets/icon-robot.svg +9 -0
  215. package/src/modules/search/assets/icon-search-bar.svg +14 -0
  216. package/src/modules/search/assets/icon-sub-title.svg +3 -0
  217. package/src/modules/search/assets/icon-title.svg +9 -0
  218. package/src/modules/search/assets/icon-zoomOut.svg +9 -0
  219. package/src/modules/search/assets/iconAi.svg +9 -0
  220. package/src/modules/search/assets/pdf.png +0 -0
  221. package/src/modules/search/assets/ppt.png +0 -0
  222. package/src/modules/search/assets/search.svg +3 -0
  223. package/src/modules/search/assets/selected.svg +4 -0
  224. package/src/modules/search/assets/txt.png +0 -0
  225. package/src/modules/search/assets/xls.png +0 -0
  226. package/src/modules/search/components/AssisSelect.tsx +137 -0
  227. package/src/modules/search/components/Editor/ChatViewEditor.tsx +261 -0
  228. package/src/modules/search/components/Editor/aichat.css +1 -0
  229. package/src/modules/search/components/Editor/constant.ts +13 -0
  230. package/src/modules/search/components/Editor/index.tsx +113 -0
  231. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +332 -0
  232. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +20 -0
  233. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +38 -0
  234. package/src/modules/search/components/Editor/plugins/displayer.ts +298 -0
  235. package/src/modules/search/components/Editor/plugins/imageClick.tsx +32 -0
  236. package/src/modules/search/components/Editor/plugins/myplugin.tsx +98 -0
  237. package/src/modules/search/components/Editor/ui/avatar.tsx +19 -0
  238. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +21 -0
  239. package/src/modules/search/components/Editor/ui/button.tsx +58 -0
  240. package/src/modules/search/components/Editor/ui/calendar.tsx +68 -0
  241. package/src/modules/search/components/Editor/ui/caption.tsx +46 -0
  242. package/src/modules/search/components/Editor/ui/checkbox.tsx +27 -0
  243. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +188 -0
  244. package/src/modules/search/components/Editor/ui/code-block-element.css +434 -0
  245. package/src/modules/search/components/Editor/ui/code-block-element.tsx +39 -0
  246. package/src/modules/search/components/Editor/ui/code-leaf.tsx +24 -0
  247. package/src/modules/search/components/Editor/ui/code-line-element.tsx +10 -0
  248. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +21 -0
  249. package/src/modules/search/components/Editor/ui/column-element.tsx +30 -0
  250. package/src/modules/search/components/Editor/ui/column-group-element.tsx +94 -0
  251. package/src/modules/search/components/Editor/ui/command.tsx +75 -0
  252. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +22 -0
  253. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +37 -0
  254. package/src/modules/search/components/Editor/ui/comment-item.tsx +74 -0
  255. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +49 -0
  256. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +42 -0
  257. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +22 -0
  258. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +32 -0
  259. package/src/modules/search/components/Editor/ui/comment-value.tsx +34 -0
  260. package/src/modules/search/components/Editor/ui/comments-popover.tsx +63 -0
  261. package/src/modules/search/components/Editor/ui/date-element.tsx +83 -0
  262. package/src/modules/search/components/Editor/ui/dialog.tsx +63 -0
  263. package/src/modules/search/components/Editor/ui/draggable.tsx +177 -0
  264. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +180 -0
  265. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +85 -0
  266. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +28 -0
  267. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +76 -0
  268. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +8 -0
  269. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +51 -0
  270. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +77 -0
  271. package/src/modules/search/components/Editor/ui/heading-element.tsx +48 -0
  272. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +17 -0
  273. package/src/modules/search/components/Editor/ui/hr-element.tsx +30 -0
  274. package/src/modules/search/components/Editor/ui/icons.tsx +267 -0
  275. package/src/modules/search/components/Editor/ui/image-element.tsx +74 -0
  276. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +368 -0
  277. package/src/modules/search/components/Editor/ui/input.tsx +25 -0
  278. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +218 -0
  279. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +20 -0
  280. package/src/modules/search/components/Editor/ui/link-element.tsx +29 -0
  281. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +161 -0
  282. package/src/modules/search/components/Editor/ui/list-element.tsx +30 -0
  283. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +24 -0
  284. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +133 -0
  285. package/src/modules/search/components/Editor/ui/media-popover.tsx +97 -0
  286. package/src/modules/search/components/Editor/ui/mention-element.tsx +43 -0
  287. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +141 -0
  288. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +93 -0
  289. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +67 -0
  290. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +4 -0
  291. package/src/modules/search/components/Editor/ui/placeholder.tsx +52 -0
  292. package/src/modules/search/components/Editor/ui/popover.tsx +32 -0
  293. package/src/modules/search/components/Editor/ui/resizable.tsx +66 -0
  294. package/src/modules/search/components/Editor/ui/separator.tsx +25 -0
  295. package/src/modules/search/components/Editor/ui/style.less +12 -0
  296. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +143 -0
  297. package/src/modules/search/components/Editor/ui/table-element.tsx +243 -0
  298. package/src/modules/search/components/Editor/ui/table-row-element.tsx +22 -0
  299. package/src/modules/search/components/Editor/ui/tableValue.tsx +135 -0
  300. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +43 -0
  301. package/src/modules/search/components/Editor/ui/toggle-element.tsx +31 -0
  302. package/src/modules/search/components/Editor/ui/toolbar.tsx +157 -0
  303. package/src/modules/search/components/Editor/ui/tooltip.tsx +65 -0
  304. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +160 -0
  305. package/src/modules/search/components/Editor/ui/with-draggables.tsx +175 -0
  306. package/src/modules/search/components/FileList.tsx +287 -0
  307. package/src/modules/search/components/ImageGroupView/index.tsx +85 -0
  308. package/src/modules/search/components/ResultContent.tsx +232 -0
  309. package/src/modules/search/components/SearchInput.tsx +232 -0
  310. package/src/modules/search/components/SearchLanding.tsx +74 -0
  311. package/src/modules/search/components/SearchView.tsx +563 -0
  312. package/src/modules/search/components/SimpleEditor.tsx +158 -0
  313. package/src/modules/search/components/SimpleFileList.tsx +215 -0
  314. package/src/modules/search/index.tsx +10 -0
  315. package/src/modules/search/reademe.md +1 -0
  316. package/src/modules/search/servers/apis.tsx +19 -0
  317. package/src/modules/search/servers/index.ts +184 -0
  318. package/src/modules/search/style.less +503 -0
  319. package/src/modules/search/type.ts +22 -0
  320. package/src/modules/search/utils.ts +34 -0
  321. package/src/modules/sensitive/index.tsx +313 -0
  322. package/src/modules/sensitive/server.ts +122 -0
  323. package/src/modules/streamFilesReader/GientechStreamReader.tsx +1625 -0
  324. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  325. package/src/modules/streamFilesReader/components/Header/index.tsx +297 -0
  326. package/src/modules/streamFilesReader/index.tsx +3 -0
  327. package/src/style.css +6 -0
  328. package/src/type.d.ts +0 -0
  329. package/src/utils/commonFn.tsx +111 -0
  330. package/src/utils/decryptApiKey.ts +40 -0
  331. package/src/utils/gientechCommon/components/AppError.tsx +32 -0
  332. package/src/utils/gientechCommon/components/AppLoading.tsx +75 -0
  333. package/src/utils/gientechCommon/components/DeleteModal.tsx +75 -0
  334. package/src/utils/gientechCommon/components/DisplayError.tsx +33 -0
  335. package/src/utils/gientechCommon/components/DisplayLoading.tsx +38 -0
  336. package/src/utils/gientechCommon/components/FeedBackModal.tsx +319 -0
  337. package/src/utils/gientechCommon/components/FileCardCommon.tsx +82 -0
  338. package/src/utils/gientechCommon/components/FileManager/index.tsx +400 -0
  339. package/src/utils/gientechCommon/components/FileManager/style.css +5 -0
  340. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +581 -0
  341. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +359 -0
  342. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +245 -0
  343. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +209 -0
  344. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  345. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +148 -0
  346. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +14 -0
  347. package/src/utils/gientechCommon/components/RenameModal.tsx +86 -0
  348. package/src/utils/gientechCommon/components/style.less +11 -0
  349. package/src/utils/gientechCommon/configs/commonConfig.ts +2 -0
  350. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  351. package/src/utils/gientechCommon/configs/stylesConfig.ts +142 -0
  352. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +417 -0
  353. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +204 -0
  354. package/src/utils/gientechCommon/hooks/useFileManager.ts +193 -0
  355. package/src/utils/gientechCommon/slate/converters/deserializers.ts +763 -0
  356. package/src/utils/gientechCommon/slate/converters/mockData.ts +232 -0
  357. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +258 -0
  358. package/src/utils/gientechCommon/slate/richElements/index.tsx +499 -0
  359. package/src/utils/gientechCommon/utils/fileUtils.ts +86 -0
  360. package/src/utils/gientechCommon/utils/request.ts +37 -0
  361. package/src/utils/gientechCommon/utils/serverFn.ts +172 -0
  362. package/src/utils/index.tsx +142 -0
  363. package/src/utils/testconfigs/demologin/index.tsx +32 -0
  364. package/src/utils/testconfigs/index.ts +59 -0
  365. package/src/vite-env.d.ts +42 -0
  366. package/stats.html +4949 -0
  367. package/tailwind.config.js +170 -0
  368. package/tsconfig.app.json +30 -0
  369. package/tsconfig.app.tsbuildinfo +11 -0
  370. package/tsconfig.json +13 -0
  371. package/tsconfig.node.json +22 -0
  372. package/tsconfig.node.tsbuildinfo +1 -0
  373. package/vite.config.app.ts +93 -0
  374. package/vite.config.ts +232 -0
  375. package/workflows/release.yml +60 -0
  376. 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 +359 -0
  377. package/assistantConfig.js +0 -1
  378. package/chat.js +0 -786
  379. package/database.js +0 -20
  380. package/databaseId.js +0 -1
  381. package/index.js +0 -1
  382. package/streamFilesReader.js +0 -1
  383. /package/{assets → dist/assets}/Doris.png +0 -0
  384. /package/{assets → dist/assets}/PostgreSQL.png +0 -0
  385. /package/{assets → dist/assets}/SQLServer.png +0 -0
  386. /package/{assets → dist/assets}/empty.png +0 -0
  387. /package/{assets → dist/assets}/homeBg.png +0 -0
  388. /package/{assets → dist/assets}/index-CpW6Dhpp.js +0 -0
  389. /package/{assets → dist/assets}/left.jpg +0 -0
  390. /package/{assets → dist/assets}/logoImg.png +0 -0
  391. /package/{assets → dist/assets}/style.css +0 -0
  392. /package/{assets → dist/assets}/style2.css +0 -0
  393. /package/{assets → dist/assets}/style3.css +0 -0
  394. /package/{assets → dist/assets}/style4.css +0 -0
  395. /package/{assets → dist/assets}/worker-BbpylX7l.js +0 -0
  396. /package/{assistantConfig.d.ts → dist/assistantConfig.d.ts} +0 -0
  397. /package/{chat.d.ts → dist/chat.d.ts} +0 -0
  398. /package/{database.d.ts → dist/database.d.ts} +0 -0
  399. /package/{databaseId.d.ts → dist/databaseId.d.ts} +0 -0
  400. /package/{databaseTable.d.ts → dist/databaseTable.d.ts} +0 -0
  401. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  402. /package/{icons → dist/icons}/docx-file.png +0 -0
  403. /package/{icons → dist/icons}/folder.png +0 -0
  404. /package/{icons → dist/icons}/html.png +0 -0
  405. /package/{icons → dist/icons}/image.png +0 -0
  406. /package/{icons → dist/icons}/jpg-file.png +0 -0
  407. /package/{icons → dist/icons}/json.png +0 -0
  408. /package/{icons → dist/icons}/md.png +0 -0
  409. /package/{icons → dist/icons}/pdf.png +0 -0
  410. /package/{icons → dist/icons}/pptx.png +0 -0
  411. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  412. /package/{icons → dist/icons}/sheets.png +0 -0
  413. /package/{icons → dist/icons}/txt.png +0 -0
  414. /package/{icons → dist/icons}/xlsx.png +0 -0
  415. /package/{index.d.ts → dist/index.d.ts} +0 -0
  416. /package/{modelManage.d.ts → dist/modelManage.d.ts} +0 -0
  417. /package/{sensitive.d.ts → dist/sensitive.d.ts} +0 -0
  418. /package/{streamFilesReader.d.ts → dist/streamFilesReader.d.ts} +0 -0
  419. /package/{vite.svg → dist/vite.svg} +0 -0
@@ -0,0 +1,783 @@
1
+ import { ConfigProvider, Drawer, message, Tooltip } from 'antd';
2
+ import SingleQa from '../../assets/img/singleQa.png';
3
+ import DownLoad from '../../assets/img/downLoad.png';
4
+ import GraphIcon from '../../assets/img/graphIcon.png';
5
+ import WebSearch from '../../assets/img/webSearch.png';
6
+ import Database from '../../assets/img/database.png';
7
+ import { useEffect, useMemo, useState } from 'react';
8
+ import './style.less';
9
+ import DrawerGraphPreview from './referenceCom/DrawerGraphPreview';
10
+ import { DrawerContent } from './referenceCom/DrawerContent';
11
+ import DrawerPreview from './referenceCom/DrawerPreview';
12
+ import DrawerDatabase from './referenceCom/DrawerDatabase';
13
+ import DrawerTitle from './referenceCom/DrawerTitle';
14
+ import TagCom from './referenceCom/TagCom';
15
+ import {
16
+ downloadByStream,
17
+ fileViewTypes,
18
+ getFileIcon,
19
+ getFileName,
20
+ getMarkExcludeType,
21
+ getNameBySource,
22
+ getTypeBySource,
23
+ getUrlPrefix,
24
+ TempBaseUrl,
25
+ } from './utils';
26
+ import { DrawerType } from '../../lib_enter';
27
+ import axios from 'axios';
28
+
29
+ enum ListName {
30
+ KNOWLEDGE = 'knowledgeList',
31
+ SEARCH = 'searchList',
32
+ DATABASE = 'databaseList',
33
+ GRAPH = 'graphList',
34
+ }
35
+
36
+ export const bgColor: any = {
37
+ [ListName.KNOWLEDGE]: '#EAF4FD',
38
+ [ListName.SEARCH]: '#E8F7F0',
39
+ [ListName.DATABASE]: '#FFF4E5',
40
+ [ListName.GRAPH]: '#E7F8FB',
41
+ };
42
+
43
+ export const textColor: any = {
44
+ [ListName.KNOWLEDGE]: '#2072F0',
45
+ [ListName.SEARCH]: '#39B83F',
46
+ [ListName.DATABASE]: '#F48C14',
47
+ [ListName.GRAPH]: '#10BBD9',
48
+ };
49
+
50
+ const BTNS = [
51
+ {
52
+ key: ListName.KNOWLEDGE,
53
+ name: '知识库文档',
54
+ },
55
+ {
56
+ key: ListName.SEARCH,
57
+ name: '联网搜索',
58
+ hideBtns: true,
59
+ },
60
+ {
61
+ key: ListName.DATABASE,
62
+ name: '数据库',
63
+ hideBtns: true,
64
+ },
65
+ {
66
+ key: ListName.GRAPH,
67
+ name: '知识图谱',
68
+ hideBtns: true,
69
+ },
70
+ ];
71
+
72
+ export const ReferenceBar = ({
73
+ type,
74
+ data,
75
+ token,
76
+ is_download,
77
+ }: {
78
+ type: string;
79
+ data: any;
80
+ token: string;
81
+ is_download: boolean;
82
+ }) => {
83
+ const [btns, setBtns] = useState(BTNS);
84
+ const [drawerType, setDrawerType] = useState<string>('mark');
85
+ const [drawerOpen, setDrawerOpen] = useState<boolean>(false);
86
+ const [curFileInfo, setCurFileInfo] = useState<any>({});
87
+ const [activeBtn, setActiveBtn] = useState<any>(ListName.KNOWLEDGE);
88
+ const [lists, seLists] = useState<any>({
89
+ [ListName.KNOWLEDGE]: [],
90
+ [ListName.SEARCH]: [],
91
+ [ListName.DATABASE]: [],
92
+ [ListName.GRAPH]: [],
93
+ });
94
+
95
+ const referenceFile_question_upload = async (data: any) => {
96
+ if (fileViewTypes.includes(data.file_type)) {
97
+ setCurFileInfo({
98
+ ...data,
99
+ url: data.url || data.metadata.source ? `${TempBaseUrl}${data.metadata.source}` : data.url,
100
+ });
101
+
102
+ setDrawerType('preview');
103
+ setDrawerOpen(true);
104
+ return;
105
+ }
106
+ try {
107
+ const res: any = await axios.get(
108
+ `${getUrlPrefix()}/index/knowledgeBase/file/getFileStatusByUids?uids=${data.uid}`,
109
+ {
110
+ headers: { Authorization: token },
111
+ }
112
+ );
113
+ if (res?.length) {
114
+ const d = res[0];
115
+ setCurFileInfo({
116
+ ...data,
117
+ url: d.convertedFilePath,
118
+ });
119
+
120
+ setDrawerType('preview');
121
+ setDrawerOpen(true);
122
+ }
123
+ } catch (error) {}
124
+ };
125
+
126
+ const eventsEmit = (event: any, data: any) => {
127
+ console.log('事件触发:', event, data);
128
+ switch (event) {
129
+ // 点击title
130
+ case 'knowledge_referenceFile_title:click':
131
+ const d3 = data?.data;
132
+ if (data?.data?.file_type == 'video') {
133
+ const curTag: any = (d3?.tags || []).find((item: any) => item.id === d3.order_num);
134
+ setCurFileInfo(curTag.metadata);
135
+ setDrawerType('video');
136
+ setDrawerOpen(true);
137
+ return;
138
+ }
139
+ if (!data?.data?.metadata?.source) {
140
+ if (d3?.tags?.length) {
141
+ let curTag = d3.tags.find((item: any) => {
142
+ return item.id === d3.order_num;
143
+ });
144
+ if (!curTag) {
145
+ curTag = d3.tags[0];
146
+ }
147
+ d3.metadata = curTag.metadata;
148
+ }
149
+ }
150
+ setCurFileInfo(d3);
151
+ setDrawerType('preview');
152
+ setDrawerOpen(true);
153
+
154
+ break;
155
+ case 'graph_reference:click':
156
+ if (!data) return;
157
+ setDrawerType('graphPreview');
158
+ setCurFileInfo(data);
159
+ setDrawerOpen(true);
160
+ break;
161
+ case 'referenceFile_question':
162
+ referenceFile_question_upload(data.data);
163
+ break;
164
+ case 'referenceFile_view':
165
+ const d2 = data.data;
166
+ setCurFileInfo({
167
+ ...d2,
168
+ url: fileViewTypes.includes(d2.file_type)
169
+ ? d2.metadata.source
170
+ ? `${TempBaseUrl}${d2.metadata.source}`
171
+ : d2.convertedFilePath || d2.parsedFilePath
172
+ : d2.convertedFilePath || d2.parsedFilePath,
173
+ });
174
+
175
+ setDrawerType('preview');
176
+ setDrawerOpen(true);
177
+ break;
178
+ case 'reference_file:click':
179
+ if (data.file_type === 'image') return;
180
+
181
+ // if (data.file_type === "database") {
182
+ // setDrawerType("database");
183
+ // setCurFileInfo(data);
184
+ // setDrawerOpen(true);
185
+ // return;
186
+ // }
187
+
188
+ if (!data.parse_url) {
189
+ return message.warning('该文件未解析完成,请稍后再试');
190
+ }
191
+ setCurFileInfo({
192
+ ...data,
193
+ file_type: data.type,
194
+ file_name: data.file,
195
+ });
196
+ setDrawerType('preview');
197
+ setDrawerOpen(true);
198
+ break;
199
+ case 'database_referenceFile_title:click':
200
+ setDrawerType('database');
201
+ setCurFileInfo(data.data);
202
+ setDrawerOpen(true);
203
+ break;
204
+ // 点击溯源
205
+ case 'action_retrive_tag':
206
+ case 'retrive_tag:click':
207
+ if (data?.graph?.id) {
208
+ //图谱溯源
209
+ setDrawerType('graphPreview');
210
+ setCurFileInfo({ ...data.graph, traceNode: data.traceNode });
211
+ setDrawerOpen(true);
212
+ return;
213
+ }
214
+ if (!data?.tagInfo && !data?.file && !data?.referenceDoc) return;
215
+ const curFile = data?.referenceDoc || data?.file || data?.tagInfo;
216
+ const { pdfPages, parsedFilePath, order_num, metadata, tags } = curFile;
217
+ if (curFile.type == 'video') {
218
+ setCurFileInfo({
219
+ ...metadata,
220
+ displayType: 'retrive',
221
+ });
222
+ setDrawerType('video');
223
+ setDrawerOpen(true);
224
+ return;
225
+ }
226
+
227
+ const id = curFile.id || order_num || 'Unknown ID';
228
+ // 解析 source 字段
229
+ const sourceParts = metadata.source.split('/');
230
+ const fileName = sourceParts[sourceParts.length - 1] || '';
231
+ const fileParts = fileName.split('.');
232
+ const label = fileParts.slice(0, -1).join('.') || 'Unknown Label';
233
+ const file_type = fileParts[fileParts.length - 1] || 'Unknown Type';
234
+
235
+ setCurFileInfo({
236
+ id,
237
+ title: label,
238
+ file_name: fileName,
239
+ file_type: file_type,
240
+ file_source: getMarkExcludeType(file_type)
241
+ ? `${TempBaseUrl}${metadata.source}`
242
+ : parsedFilePath,
243
+ metadata: metadata,
244
+ pdfPages: pdfPages,
245
+ });
246
+ setDrawerType('mark');
247
+ setDrawerOpen(true);
248
+ break;
249
+ }
250
+
251
+ // 监听所有交互事件
252
+ };
253
+
254
+ const getEmptyBoxs = useMemo(() => {
255
+ const n = 4 - btns.length;
256
+ const arr = Array(n)
257
+ .fill(null)
258
+ .map((v, i) => {
259
+ return {
260
+ name: '',
261
+ key: 100 + i,
262
+ };
263
+ });
264
+
265
+ const r = [...btns, ...arr];
266
+ console.log('rrrrrr', r);
267
+
268
+ return r;
269
+ }, [btns]);
270
+
271
+ const filterScore = (score: any) => {
272
+ if (isNaN(score)) {
273
+ return '';
274
+ } else {
275
+ return (+score).toFixed(2);
276
+ }
277
+ };
278
+
279
+ const getIcon = (btn: string, filtType?: string) => {
280
+ switch (btn) {
281
+ case ListName.KNOWLEDGE:
282
+ return getFileIcon(filtType as any);
283
+ case ListName.SEARCH:
284
+ return WebSearch;
285
+ case ListName.DATABASE:
286
+ return Database;
287
+ case ListName.GRAPH:
288
+ return GraphIcon;
289
+ }
290
+ };
291
+
292
+ const dealData = (type: string, data: any[]) => {
293
+ if (type === ListName.GRAPH) {
294
+ return data
295
+ .map(item => {
296
+ return {
297
+ ...item,
298
+ name: item.graphName,
299
+ };
300
+ })
301
+ .sort((a, b) => {
302
+ return (b.score || 0) - (a.score || 0);
303
+ });
304
+ }
305
+
306
+ if (type === ListName.KNOWLEDGE) {
307
+ return data
308
+ .map(item => {
309
+ return {
310
+ ...item,
311
+ file_type: getTypeBySource(item.source) || item.file_type,
312
+ name: getNameBySource(item.source) || item.file_name,
313
+ score: item.rrf_score,
314
+ };
315
+ })
316
+ .sort((a, b) => {
317
+ return (b.score || 0) - (a.score || 0);
318
+ });
319
+ }
320
+
321
+ if (type === ListName.SEARCH) {
322
+ return data
323
+ .map(item => {
324
+ return {
325
+ ...item,
326
+ name: item.file_name,
327
+ };
328
+ })
329
+ .sort((a, b) => {
330
+ return (b.score || 0) - (a.score || 0);
331
+ });
332
+ }
333
+
334
+ if (type === ListName.DATABASE) {
335
+ return data
336
+ .map(item => {
337
+ // 数据库引用:使用 databaseName 和 tableName 组合作为名称
338
+ const name = item.tableName
339
+ ? `${item.databaseName || '数据库'} - ${item.tableName}`
340
+ : item.databaseName || item.name || '数据库';
341
+ return {
342
+ ...item,
343
+ name,
344
+ file_name: name,
345
+ file_type: 'database',
346
+ };
347
+ })
348
+ .sort((a, b) => {
349
+ return (b.score || 0) - (a.score || 0);
350
+ });
351
+ }
352
+
353
+ return data;
354
+ };
355
+
356
+ const clickTag = (file: any, tag: any, btn: any) => {
357
+ switch (btn.key) {
358
+ case ListName.KNOWLEDGE:
359
+ const { pdfPages, parsedFilePath, order_num, tags } = file || {};
360
+ const id = tag.id || order_num || 'Unknown ID';
361
+ const curTag: any = (tags || []).find((item: any) => item.id === id);
362
+ if (file.type === 'video') {
363
+ console.log('sdgasdgag', {
364
+ file: {
365
+ ...file,
366
+ ...curTag,
367
+ },
368
+ });
369
+
370
+ return eventsEmit?.('retrive_tag:click', {
371
+ file: {
372
+ ...file,
373
+ ...curTag,
374
+ },
375
+ });
376
+ }
377
+ console.log('click knowledge tag', file, tag);
378
+ if (!file) return;
379
+
380
+ if (!curTag) return;
381
+ const { metadata } = curTag;
382
+ // 解析 source 字段
383
+ const sourceParts = metadata.source.split('/');
384
+ const fileName = sourceParts[sourceParts.length - 1] || '';
385
+ const fileParts = fileName.split('.');
386
+ const label = fileParts.slice(0, -1).join('.') || 'Unknown Label';
387
+ const file_type = fileParts[fileParts.length - 1] || 'Unknown Type';
388
+
389
+ setCurFileInfo({
390
+ id,
391
+ title: label,
392
+ file_name: fileName,
393
+ file_type: file_type,
394
+ file_source: getMarkExcludeType(file_type)
395
+ ? `${TempBaseUrl}${metadata.source}`
396
+ : parsedFilePath,
397
+ metadata: metadata,
398
+ pdfPages: pdfPages,
399
+ });
400
+ setDrawerType('mark');
401
+ setDrawerOpen(true);
402
+ break;
403
+ case ListName.SEARCH:
404
+ console.log('click search tag', file, tag);
405
+ break;
406
+ case ListName.DATABASE:
407
+ console.log('click database tag', file, tag);
408
+ // 打开数据库详情抽屉
409
+ setDrawerType('database');
410
+ setCurFileInfo({
411
+ ...file,
412
+ metadata: file.metadata || {},
413
+ fetchUrl: file.fetchUrl || file.metadata?.fetchUrl || '',
414
+ });
415
+ setDrawerOpen(true);
416
+ break;
417
+ case ListName.GRAPH:
418
+ console.log('click graph tag', file, tag);
419
+ setDrawerType('graphPreview');
420
+ setCurFileInfo({
421
+ ...file,
422
+ traceNode: (data?.traceNode || []).find((item: any) => {
423
+ return item.id === tag.id;
424
+ }),
425
+ });
426
+ setDrawerOpen(true);
427
+ break;
428
+ }
429
+ };
430
+
431
+ useEffect(() => {
432
+ if (type !== DrawerType.REFERENCELIST) return;
433
+ console.log('data in reference drawer', data);
434
+ if (!data) return;
435
+ const { graphRefs, knowledgeRefs, webRefs, databaseRefs } = data;
436
+ if (graphRefs?.length) {
437
+ lists[ListName.GRAPH] = dealData(ListName.GRAPH, graphRefs);
438
+ }
439
+ if (knowledgeRefs?.length) {
440
+ lists[ListName.KNOWLEDGE] = dealData(ListName.KNOWLEDGE, knowledgeRefs);
441
+ }
442
+ if (webRefs?.length) {
443
+ lists[ListName.SEARCH] = dealData(ListName.SEARCH, webRefs);
444
+ }
445
+ // 处理数据库引用(使用摘要信息,不包含完整数据行)
446
+ if (databaseRefs?.length) {
447
+ lists[ListName.DATABASE] = dealData(ListName.DATABASE, databaseRefs);
448
+ }
449
+
450
+ const curBtns = BTNS.filter((item: any) => {
451
+ return lists[item.key]?.length;
452
+ }).sort((a, b) => {
453
+ return (lists[b.key]?.length || 0) - (lists[a.key]?.length || 0);
454
+ });
455
+
456
+ setBtns(curBtns);
457
+
458
+ if (curBtns?.length) {
459
+ setActiveBtn(curBtns[0].key);
460
+ }
461
+
462
+ seLists({ ...lists });
463
+ }, [data]);
464
+
465
+ return (
466
+ <>
467
+ <div className="listWrap w-full h-full">
468
+ <DrawerTitle
469
+ title="知识溯源"
470
+ setOpen={() => {
471
+ const closeEvent = new CustomEvent('aichat:right_set', {
472
+ detail: { collapsed: true },
473
+ });
474
+ window.dispatchEvent(closeEvent);
475
+ }}
476
+ />
477
+ <div style={{ height: 'calc(100% - 60px)' }}>
478
+ <div
479
+ className="tabs"
480
+ style={{ display: 'flex', justifyContent: 'space-between', padding: '12px 20px' }}
481
+ >
482
+ {getEmptyBoxs.map(item => (
483
+ <div
484
+ key={item.key}
485
+ className="tab-item"
486
+ style={{
487
+ padding: '5.5px 12px',
488
+ backgroundColor: !item.name
489
+ ? 'transparent'
490
+ : activeBtn === item.key
491
+ ? '#4E6EF2'
492
+ : '#F5F6F9',
493
+ cursor: 'pointer',
494
+ borderRadius: '4px',
495
+ color: activeBtn === item.key ? '#FFFFFF' : '#4E5969',
496
+ fontSize: '14px',
497
+ minWidth: '80px',
498
+ display: 'flex',
499
+ justifyContent: 'center',
500
+ }}
501
+ onClick={() => {
502
+ if (item.name) {
503
+ setActiveBtn(item.key);
504
+ }
505
+ }}
506
+ >
507
+ {item.name}
508
+ </div>
509
+ ))}
510
+ </div>
511
+ <div
512
+ className="listBox"
513
+ style={{
514
+ height: 'calc(100% - 66px)',
515
+ overflowY: 'auto',
516
+ display: 'flex',
517
+ flexDirection: 'column',
518
+ alignItems: 'center',
519
+ // 优化滚动性能(Windows 上特别重要)
520
+ willChange: 'scroll-position',
521
+ // 启用硬件加速
522
+ transform: 'translateZ(0)',
523
+ }}
524
+ >
525
+ {btns.map((item: any) => {
526
+ let list: any[] = lists[item.key] || [];
527
+ if (activeBtn !== item.key) return null;
528
+ return (
529
+ <div key={item.key}>
530
+ {list.map(
531
+ (i: {
532
+ name: string;
533
+ id: string;
534
+ score: number | string;
535
+ tags?: any[];
536
+ hideBtns?: boolean;
537
+ file_type?: string;
538
+ link?: string;
539
+ metadata: any;
540
+ file_name: any;
541
+ parsedFilePath: any;
542
+ fetchUrl?: string;
543
+ type: string;
544
+ }) => {
545
+ return (
546
+ <div
547
+ key={i.id}
548
+ style={{
549
+ width: '360px',
550
+ padding: '4px 8px',
551
+ borderRadius: '4px',
552
+ margin: '6px 0',
553
+ cursor: 'pointer',
554
+ }}
555
+ className="listItemBox"
556
+ onClick={() => {
557
+ if (item.key === ListName.SEARCH) {
558
+ window.open(i.link, '_blank');
559
+ }
560
+ }}
561
+ >
562
+ <div
563
+ style={{
564
+ display: 'flex',
565
+ justifyContent: 'space-between',
566
+ alignItems: 'center',
567
+ }}
568
+ >
569
+ <div
570
+ style={{
571
+ width: item.hideBtns ? '339px' : '288px',
572
+ fontSize: '14px',
573
+ color: '#1D2129',
574
+ fontWeight: '700',
575
+ display: 'flex',
576
+ alignItems: 'center',
577
+ }}
578
+ >
579
+ <img
580
+ src={getIcon(item.key, i.file_type)}
581
+ style={{ width: '16px', height: '16px', marginRight: '2px' }}
582
+ />
583
+ <Tooltip
584
+ placement="topLeft"
585
+ title={i?.name?.length > 16 ? i.name : ''}
586
+ >
587
+ <div
588
+ style={{
589
+ whiteSpace: 'nowrap',
590
+ overflow: 'hidden',
591
+ textOverflow: 'ellipsis',
592
+ width: item.hideBtns ? '322px' : '258px',
593
+ }}
594
+ onClick={() => {
595
+ if (item.key === ListName.KNOWLEDGE) {
596
+ eventsEmit?.('knowledge_referenceFile_title:click', {
597
+ data: {
598
+ ...i,
599
+ file_type: i.file_type,
600
+ file_name: i.file_name,
601
+ metadata: i.metadata,
602
+ parsedFilePath: i.parsedFilePath,
603
+ },
604
+ });
605
+ } else if (item.key === ListName.DATABASE) {
606
+ // 点击数据库项标题时,打开数据库详情抽屉
607
+ setDrawerType('database');
608
+ setCurFileInfo({
609
+ ...i,
610
+ metadata: i.metadata || {},
611
+ fetchUrl: i.fetchUrl || i.metadata?.fetchUrl || '',
612
+ });
613
+ setDrawerOpen(true);
614
+ }
615
+ }}
616
+ >
617
+ {i.name}
618
+ </div>
619
+ </Tooltip>
620
+ </div>
621
+ <div
622
+ style={{
623
+ width: '52px',
624
+ justifyContent: 'space-between',
625
+ alignItems: 'center',
626
+ marginRight: '8px',
627
+ display: item.hideBtns || i.type === 'video' ? 'none' : 'flex',
628
+ }}
629
+ >
630
+ <div></div>
631
+ {/* <img
632
+ src={SingleQa}
633
+ style={{ width: '16px', height: '16px', cursor: 'pointer' }}
634
+ onClick={() => {
635
+ eventsEmit?.('referenceFile_filechat', {
636
+ data: {
637
+ ...i,
638
+ file_type: i.file_type,
639
+ file_name: i.file_name,
640
+ metadata: i.metadata,
641
+ parsedFilePath: i.parsedFilePath,
642
+ },
643
+ });
644
+ }}
645
+ />
646
+ <div
647
+ style={{ borderRight: '1px solid #E5E6EB', height: '14px' }}
648
+ ></div> */}
649
+ <img
650
+ src={DownLoad}
651
+ style={{
652
+ width: '16px',
653
+ height: '16px',
654
+ cursor: is_download ? 'pointer' : 'not-allowed',
655
+ }}
656
+ onClick={() => {
657
+ if ((!i?.tags?.length && !i?.metadata?.source) || !is_download)
658
+ return;
659
+ const metadata: any = (i?.tags || [])[0]?.metadata || i?.metadata;
660
+ downloadByStream({
661
+ filePath: `${TempBaseUrl}${metadata.source}`,
662
+ fileName: getFileName({ metadata }),
663
+ token,
664
+ });
665
+ }}
666
+ />
667
+ </div>
668
+ </div>
669
+ {!!(
670
+ typeof i.score === 'string' ||
671
+ typeof i.score === 'number' ||
672
+ (i?.tags?.length && i.tags.length > 0 && i.tags.length <= 10)
673
+ ) && (
674
+ <div
675
+ style={{
676
+ display: 'flex',
677
+ justifyContent: 'space-between',
678
+ height: '18px',
679
+ marginTop: '4px',
680
+ }}
681
+ >
682
+ {(typeof i.score === 'string' || typeof i.score === 'number') && (
683
+ <div
684
+ style={{
685
+ backgroundColor: '#F2F2FB',
686
+ borderRadius: '4px',
687
+ padding: '2px 3px',
688
+ display: 'flex',
689
+ justifyContent: 'center',
690
+ alignItems: 'center',
691
+ fontSize: '12px',
692
+ }}
693
+ >
694
+ <span style={{ color: '#4E5969', marginRight: '6px' }}>
695
+ 分数:
696
+ </span>
697
+ <span style={{ color: '#1D2129' }}>{filterScore(i.score)}</span>
698
+ </div>
699
+ )}
700
+ <div style={{ flex: 1, display: 'flex', justifyContent: 'flex-end' }}>
701
+ {(i?.tags?.length && i.tags.length > 0 && i.tags.length <= 10
702
+ ? i.tags
703
+ : []
704
+ ).map((j: any) => {
705
+ return (
706
+ <TagCom
707
+ key={j.id}
708
+ i={i}
709
+ item={item}
710
+ j={j}
711
+ clickTag={clickTag}
712
+ />
713
+ );
714
+ })}
715
+ </div>
716
+ </div>
717
+ )}
718
+ <div
719
+ style={{
720
+ flex: 1,
721
+ display: 'flex',
722
+ justifyContent: 'flex-start',
723
+ marginTop: '4px',
724
+ }}
725
+ >
726
+ {(i?.tags?.length && i.tags.length > 10 ? i.tags : []).map((j: any) => {
727
+ return (
728
+ <TagCom key={j.id} i={i} item={item} j={j} clickTag={clickTag} />
729
+ );
730
+ })}
731
+ </div>
732
+ </div>
733
+ );
734
+ }
735
+ )}
736
+ </div>
737
+ );
738
+ })}
739
+ </div>
740
+ </div>
741
+ </div>
742
+ <ConfigProvider
743
+ drawer={{
744
+ styles: {
745
+ body: { padding: 0 },
746
+ header: { display: 'none' },
747
+ },
748
+ }}
749
+ >
750
+ <Drawer
751
+ autoFocus={false}
752
+ onClose={() => setDrawerOpen(false)}
753
+ open={drawerOpen}
754
+ width={activeBtn === ListName.GRAPH ? '100%' : 720}
755
+ className="overflow-x-hidden"
756
+ destroyOnClose
757
+ afterOpenChange={open => {
758
+ if (!open) {
759
+ setCurFileInfo(null);
760
+ }
761
+ }}
762
+ >
763
+ {drawerType === 'graphPreview' && (
764
+ <DrawerGraphPreview
765
+ curFileInfo={curFileInfo as any}
766
+ onClose={setDrawerOpen}
767
+ token={token}
768
+ />
769
+ )}
770
+ {drawerType === 'mark' && (
771
+ <DrawerContent content={curFileInfo as any} onClose={setDrawerOpen} token={token} />
772
+ )}
773
+ {drawerType === 'preview' && (
774
+ <DrawerPreview curFileInfo={curFileInfo} onClose={setDrawerOpen} token={token} />
775
+ )}
776
+ {drawerType === 'database' && (
777
+ <DrawerDatabase curFileInfo={curFileInfo} onClose={setDrawerOpen} token={token} />
778
+ )}
779
+ </Drawer>
780
+ </ConfigProvider>
781
+ </>
782
+ );
783
+ };