@gientech/modual 2.0.9 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/README.md +761 -761
  2. package/{dist/assets/GientechStreamReader-CNj6Rcm7.js → assets/GientechStreamReader-DybWMK4d.js} +1 -1
  3. package/{src/modules/database/assets → assets}/database.svg +11 -11
  4. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  5. package/{src/modules/database/assets → assets}/database_connect.svg +66 -66
  6. package/{dist/assets → assets}/database_upload.svg +29 -29
  7. package/{dist/assets → assets}/databse.svg +6 -6
  8. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  9. package/{dist/assets → assets}/graph.svg +4 -4
  10. package/{dist/assets/index-DrkSoKz6.js → assets/index-B1ZDDbC1.js} +1 -1
  11. package/{dist/assets/index-D72cKELw.js → assets/index-CBTA5S-5.js} +1 -1
  12. package/{dist/assets/index-B2yNvzjy.js → assets/index-CN2AYX8Q.js} +1 -1
  13. package/{dist/assets/index-BJv0t0eJ.js → assets/index-D0DDewJ2.js} +34 -34
  14. package/{dist/assets/index-BKe5FgcC.js → assets/index-D9lYd8TZ.js} +1 -1
  15. package/{dist/assets/index-ZopkeZtI.js → assets/index-DYhXjvk4.js} +1 -1
  16. package/{dist/assets/index-g-SUxfJH.js → assets/index-LDFwTu47.js} +1 -1
  17. package/{dist/assets/index-j0kQJd0a.js → assets/index-NFQIKNFn.js} +1 -1
  18. package/{dist/assets/index-CU45mVZ4.js → assets/index-S4W4X-HN.js} +2 -2
  19. package/{dist/assets/index-DdVFXD_y.js → assets/index-s0cmC4Ks.js} +1 -1
  20. package/{src/modules/assistantConfig/assets → assets}/knowledge.svg +4 -4
  21. package/{src/modules/database/assets → assets}/mysql.svg +14 -14
  22. package/{dist/assets/plus-V9zUoSq6.js → assets/plus-G7zGXf6S.js} +1 -1
  23. package/{dist/assets → assets}/sensitive.svg +5 -5
  24. package/{dist/assets/style-CGmZ5osp.js → assets/style-Bn7b5XHU.js} +2 -2
  25. package/assets/style4.css +1 -0
  26. package/{dist/assets/x-CnaaLGJF.js → assets/x-vfKYzKkK.js} +1 -1
  27. package/assistantConfig.js +1 -0
  28. package/chat.js +806 -0
  29. package/database.js +20 -0
  30. package/databaseId.js +1 -0
  31. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  32. package/index.js +1 -0
  33. package/{dist/modelManage.js → modelManage.js} +1 -1
  34. package/package.json +44 -106
  35. package/{dist/sensitive.js → sensitive.js} +1 -1
  36. package/streamFilesReader.js +1 -0
  37. package/{public/worker → worker}/pdf.worker.min.js +21 -21
  38. package/.editorconfig +0 -38
  39. package/.prettierignore +0 -16
  40. package/.prettierrc +0 -17
  41. package/INSTALL_TROUBLESHOOTING.md +0 -316
  42. package/USAGE.md +0 -247
  43. package/bash.exe.stackdump +0 -40
  44. package/components.json +0 -21
  45. package/dist/README.md +0 -761
  46. package/dist/assets/database.svg +0 -11
  47. package/dist/assets/database_add.svg +0 -53
  48. package/dist/assets/database_connect.svg +0 -66
  49. package/dist/assets/knowledge.svg +0 -4
  50. package/dist/assets/mysql.svg +0 -14
  51. package/dist/assets/style4.css +0 -1
  52. package/dist/assistantConfig.js +0 -1
  53. package/dist/chat.js +0 -844
  54. package/dist/database.js +0 -20
  55. package/dist/databaseId.js +0 -1
  56. package/dist/index.js +0 -1
  57. package/dist/package.json +0 -68
  58. package/dist/streamFilesReader.js +0 -1
  59. package/dist/worker/pdf.worker.min.js +0 -22
  60. package/doc_assets/2.png +0 -0
  61. package/doc_assets/demo.md +0 -27
  62. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  63. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  64. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  65. package/doc_assets/demos/dist-app/index.html +0 -14
  66. package/doc_assets/demos/dist-app/vite.svg +0 -1
  67. package/doc_assets/images/1.png +0 -0
  68. package/doc_assets/images/3.png +0 -0
  69. package/doc_assets/images/component-screenshot.png +0 -1
  70. package/doc_assets/install.md +0 -5
  71. package/doc_assets/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +0 -115
  72. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +0 -504
  73. package/eslint.config.js +0 -92
  74. package/index.html +0 -13
  75. package/package.json.demo-backup +0 -109
  76. package/postcss.config.cjs +0 -19
  77. package/public/icons/answerAwartar.png +0 -0
  78. package/public/icons/docx-file.png +0 -0
  79. package/public/icons/folder.png +0 -0
  80. package/public/icons/html.png +0 -0
  81. package/public/icons/image.png +0 -0
  82. package/public/icons/jpg-file.png +0 -0
  83. package/public/icons/json.png +0 -0
  84. package/public/icons/md.png +0 -0
  85. package/public/icons/pdf.png +0 -0
  86. package/public/icons/pptx.png +0 -0
  87. package/public/icons/questionAwartar.png +0 -0
  88. package/public/icons/sheets.png +0 -0
  89. package/public/icons/txt.png +0 -0
  90. package/public/icons/xlsx.png +0 -0
  91. package/public/vite.svg +0 -1
  92. package/scripts/README.md +0 -133
  93. package/scripts/build-demo.js +0 -88
  94. package/scripts/decrypt-api-key.js +0 -95
  95. package/scripts/demo-selector.js +0 -216
  96. package/scripts/dev-demo.js +0 -76
  97. package/scripts/preview-demo.js +0 -130
  98. package/scripts/run-demo.bat +0 -34
  99. package/src/assets/img/close.png +0 -0
  100. package/src/assets/img/database.png +0 -0
  101. package/src/assets/img/downArrow.png +0 -0
  102. package/src/assets/img/downLoad.png +0 -0
  103. package/src/assets/img/excel.png +0 -0
  104. package/src/assets/img/graphIcon.png +0 -0
  105. package/src/assets/img/img.png +0 -0
  106. package/src/assets/img/pdf.png +0 -0
  107. package/src/assets/img/ppt.png +0 -0
  108. package/src/assets/img/singleQa.png +0 -0
  109. package/src/assets/img/txt.png +0 -0
  110. package/src/assets/img/webSearch.png +0 -0
  111. package/src/assets/img/word.png +0 -0
  112. package/src/assets/login/homeBg.png +0 -0
  113. package/src/assets/login/left.jpg +0 -0
  114. package/src/assets/login/logoImg.png +0 -0
  115. package/src/examples/ConversationAssistantPage/index.tsx +0 -41
  116. package/src/examples/Demo/index.tsx +0 -12
  117. package/src/examples/LoginPage/index.tsx +0 -18
  118. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  119. package/src/examples/chat/index.tsx +0 -166
  120. package/src/examples/chat/logo03.png +0 -0
  121. package/src/examples/gientechStreamFilesReader/index.tsx +0 -951
  122. package/src/examples/headlessChat/assets/mind.svg +0 -6
  123. package/src/examples/headlessChat/assets/net.svg +0 -7
  124. package/src/examples/headlessChat/index.tsx +0 -285
  125. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  126. package/src/examples/ragDatabaseIdPage/index.tsx +0 -47
  127. package/src/examples/ragDatabasePage/index.tsx +0 -36
  128. package/src/examples/ragModelManagePage/index.tsx +0 -38
  129. package/src/examples/ragSearchPage/index.tsx +0 -0
  130. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  131. package/src/examples/streamFiles/index.tsx +0 -417
  132. package/src/lib_enter.ts +0 -43
  133. package/src/main.tsx +0 -5
  134. package/src/main.tsx.backup +0 -5
  135. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  136. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  137. package/src/modules/assistantConfig/assets/empty.png +0 -0
  138. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  139. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  140. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  141. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  142. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  143. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  144. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  145. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -39
  146. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  147. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  148. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  149. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -65
  150. package/src/modules/assistantConfig/constants.tsx +0 -75
  151. package/src/modules/assistantConfig/index.tsx +0 -710
  152. package/src/modules/assistantConfig/server.ts +0 -262
  153. package/src/modules/chat/Conversations/Item.tsx +0 -167
  154. package/src/modules/chat/Conversations/List.tsx +0 -210
  155. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  156. package/src/modules/chat/Conversations/index.tsx +0 -252
  157. package/src/modules/chat/ReferenceBar.tsx +0 -622
  158. package/src/modules/chat/constants.tsx +0 -57
  159. package/src/modules/chat/index.tsx +0 -2449
  160. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  161. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  162. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  163. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  164. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  165. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  166. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  167. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  168. package/src/modules/chat/style.less +0 -3
  169. package/src/modules/chat/types.ts +0 -17
  170. package/src/modules/chat/utils/index.ts +0 -348
  171. package/src/modules/database/CreateModal.tsx +0 -403
  172. package/src/modules/database/assets/Doris.png +0 -0
  173. package/src/modules/database/assets/PostgreSQL.png +0 -0
  174. package/src/modules/database/assets/SQLServer.png +0 -0
  175. package/src/modules/database/assets/database_upload.svg +0 -29
  176. package/src/modules/database/assets/empty.png +0 -0
  177. package/src/modules/database/index.tsx +0 -477
  178. package/src/modules/database/server.ts +0 -196
  179. package/src/modules/databaseId/CustomCom.tsx +0 -156
  180. package/src/modules/databaseId/EditConfig.tsx +0 -280
  181. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  182. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  183. package/src/modules/databaseId/assets/empty.png +0 -0
  184. package/src/modules/databaseId/assets/template.svg +0 -6
  185. package/src/modules/databaseId/assets/upload.svg +0 -9
  186. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  187. package/src/modules/databaseId/index.tsx +0 -769
  188. package/src/modules/databaseId/server.ts +0 -286
  189. package/src/modules/databaseId/style.css +0 -5
  190. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  191. package/src/modules/databaseTable/index.tsx +0 -359
  192. package/src/modules/databaseTable/server.ts +0 -180
  193. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  194. package/src/modules/headlessChat/constants.tsx +0 -54
  195. package/src/modules/headlessChat/index.tsx +0 -1782
  196. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  197. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  198. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  199. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  200. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  201. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  202. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  203. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  204. package/src/modules/headlessChat/style.less +0 -3
  205. package/src/modules/headlessChat/types.ts +0 -23
  206. package/src/modules/headlessChat/utils/index.ts +0 -348
  207. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  208. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  209. package/src/modules/login/components/Login/index.tsx +0 -100
  210. package/src/modules/login/index.tsx +0 -106
  211. package/src/modules/login/style.css +0 -3
  212. package/src/modules/login/useServices.ts +0 -53
  213. package/src/modules/login/utils.ts +0 -42
  214. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  215. package/src/modules/modelManage/ReplaceModal.tsx +0 -124
  216. package/src/modules/modelManage/assets/empty.png +0 -0
  217. package/src/modules/modelManage/const.ts +0 -51
  218. package/src/modules/modelManage/index.tsx +0 -606
  219. package/src/modules/modelManage/server.ts +0 -223
  220. package/src/modules/nodegraph/index.tsx +0 -1
  221. package/src/modules/search/assets/Icon-history.svg +0 -8
  222. package/src/modules/search/assets/answerAwartar.png +0 -0
  223. package/src/modules/search/assets/doc.png +0 -0
  224. package/src/modules/search/assets/genera.gif +0 -0
  225. package/src/modules/search/assets/icon-robot.svg +0 -9
  226. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  227. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  228. package/src/modules/search/assets/icon-title.svg +0 -9
  229. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  230. package/src/modules/search/assets/iconAi.svg +0 -9
  231. package/src/modules/search/assets/pdf.png +0 -0
  232. package/src/modules/search/assets/ppt.png +0 -0
  233. package/src/modules/search/assets/search.svg +0 -3
  234. package/src/modules/search/assets/selected.svg +0 -4
  235. package/src/modules/search/assets/txt.png +0 -0
  236. package/src/modules/search/assets/xls.png +0 -0
  237. package/src/modules/search/components/AssisSelect.tsx +0 -137
  238. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  239. package/src/modules/search/components/Editor/aichat.css +0 -1
  240. package/src/modules/search/components/Editor/constant.ts +0 -13
  241. package/src/modules/search/components/Editor/index.tsx +0 -113
  242. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  243. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  244. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  245. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  246. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  247. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  248. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  249. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  250. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  251. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  252. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  253. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  254. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  255. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  256. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  257. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  258. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  259. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  260. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  261. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  262. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  263. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  264. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  265. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  266. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  267. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  268. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  269. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  270. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  271. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  272. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  273. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  274. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  275. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  276. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  277. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  278. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  279. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  280. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  281. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  282. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  283. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  284. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  285. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  286. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  287. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  288. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  289. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  290. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  291. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  292. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  293. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  294. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  295. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  296. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  297. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  298. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  299. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  300. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  301. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  302. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  303. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  304. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  305. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  306. package/src/modules/search/components/Editor/ui/style.less +0 -12
  307. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  308. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  309. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  310. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  311. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  312. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  313. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  314. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  315. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  316. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  317. package/src/modules/search/components/FileList.tsx +0 -287
  318. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  319. package/src/modules/search/components/ResultContent.tsx +0 -232
  320. package/src/modules/search/components/SearchInput.tsx +0 -232
  321. package/src/modules/search/components/SearchLanding.tsx +0 -74
  322. package/src/modules/search/components/SearchView.tsx +0 -563
  323. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  324. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  325. package/src/modules/search/index.tsx +0 -10
  326. package/src/modules/search/reademe.md +0 -1
  327. package/src/modules/search/servers/apis.tsx +0 -19
  328. package/src/modules/search/servers/index.ts +0 -184
  329. package/src/modules/search/style.less +0 -503
  330. package/src/modules/search/type.ts +0 -22
  331. package/src/modules/search/utils.ts +0 -34
  332. package/src/modules/sensitive/index.tsx +0 -313
  333. package/src/modules/sensitive/server.ts +0 -122
  334. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1625
  335. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  336. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  337. package/src/modules/streamFilesReader/index.tsx +0 -3
  338. package/src/style.css +0 -6
  339. package/src/type.d.ts +0 -0
  340. package/src/utils/commonFn.tsx +0 -111
  341. package/src/utils/decryptApiKey.ts +0 -40
  342. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  343. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  344. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  345. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  346. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  347. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  348. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  349. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  350. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  351. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -581
  352. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  353. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  354. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  355. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  356. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  357. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  358. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  359. package/src/utils/gientechCommon/components/style.less +0 -11
  360. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  361. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  362. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  363. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -417
  364. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -251
  365. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -208
  366. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  367. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  368. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  369. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  370. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  371. package/src/utils/gientechCommon/utils/request.ts +0 -37
  372. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  373. package/src/utils/index.tsx +0 -142
  374. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  375. package/src/utils/testconfigs/index.ts +0 -59
  376. package/src/vite-env.d.ts +0 -42
  377. package/stats.html +0 -4949
  378. package/tailwind.config.js +0 -170
  379. package/tsconfig.app.json +0 -30
  380. package/tsconfig.app.tsbuildinfo +0 -11
  381. package/tsconfig.json +0 -13
  382. package/tsconfig.node.json +0 -22
  383. package/tsconfig.node.tsbuildinfo +0 -1
  384. package/vite.config.app.ts +0 -93
  385. package/vite.config.ts +0 -232
  386. package/workflows/release.yml +0 -60
  387. package//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +0 -359
  388. /package/{dist/assets → assets}/Doris.png +0 -0
  389. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  390. /package/{dist/assets → assets}/SQLServer.png +0 -0
  391. /package/{dist/assets → assets}/empty.png +0 -0
  392. /package/{dist/assets → assets}/homeBg.png +0 -0
  393. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  394. /package/{dist/assets → assets}/left.jpg +0 -0
  395. /package/{dist/assets → assets}/logoImg.png +0 -0
  396. /package/{dist/assets → assets}/style.css +0 -0
  397. /package/{dist/assets → assets}/style2.css +0 -0
  398. /package/{dist/assets → assets}/style3.css +0 -0
  399. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  400. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  401. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  402. /package/{dist/database.d.ts → database.d.ts} +0 -0
  403. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  404. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  405. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  406. /package/{dist/icons → icons}/docx-file.png +0 -0
  407. /package/{dist/icons → icons}/folder.png +0 -0
  408. /package/{dist/icons → icons}/html.png +0 -0
  409. /package/{dist/icons → icons}/image.png +0 -0
  410. /package/{dist/icons → icons}/jpg-file.png +0 -0
  411. /package/{dist/icons → icons}/json.png +0 -0
  412. /package/{dist/icons → icons}/md.png +0 -0
  413. /package/{dist/icons → icons}/pdf.png +0 -0
  414. /package/{dist/icons → icons}/pptx.png +0 -0
  415. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  416. /package/{dist/icons → icons}/sheets.png +0 -0
  417. /package/{dist/icons → icons}/txt.png +0 -0
  418. /package/{dist/icons → icons}/xlsx.png +0 -0
  419. /package/{dist/index.d.ts → index.d.ts} +0 -0
  420. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  421. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  422. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  423. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,359 +0,0 @@
1
- import React, { useEffect, useMemo } from 'react';
2
- import { FileSpreadsheet, FileText, FileCode, File, Eye, FolderUp } from 'lucide-react';
3
- import { getFileTypeIcon } from '../FileManager';
4
- import { AiChatStyles } from '../../configs/stylesConfig';
5
- import { dealMinioUrl, TempBaseUrl } from '../../../../utils';
6
- import { message } from 'antd';
7
-
8
- interface ReferenceCardProps {
9
- file_type?: string;
10
- file_name?: string;
11
- url?: string;
12
- parse_url?: string;
13
- retrieve_tags?: any[];
14
- clip_from?: string;
15
- eventsEmit?: (eventName: string, payload?: any) => void;
16
- styles: any;
17
- onlyDownloadTypes?: string[];
18
- type?: 'file' | 'image' | 'collection';
19
- collectionItems?: Array<Partial<ReferenceCardProps>>;
20
- [key: string]: any;
21
- }
22
-
23
- const ReferenceCard: React.FC<ReferenceCardProps> = (props) => {
24
- const {
25
- file_type,
26
- file_name,
27
- url,
28
- parse_url,
29
- retrieve_tags,
30
- file_id,
31
- parsed_file_type,
32
- onlyDownloadTypes,
33
- references,
34
- eventsEmit,
35
- styles,
36
- isUploadFile,
37
- type,
38
- collectionItems,
39
- pdfPages = 0,
40
- fileManagerData
41
- } = props;
42
-
43
-
44
- // 新增:集合类型渲染
45
- if (type === 'collection' && Array.isArray(collectionItems)) {
46
- // 计算宫格item尺寸:父容器与普通item一致(w-24 h-24),gap为1px
47
- const gridGap = 1; // px
48
- const parentSize = 94; // 24*4=96px
49
- const itemSize = `calc(90% - ${gridGap / 2}px)`;
50
- // 最多展示4个,超出4个第4格显示省略号
51
- const previewItems = collectionItems.slice(0, 4);
52
- const showEllipsis = collectionItems.length > 4;
53
- // hover 盖层内容
54
- const overlayText = `打开合集`;
55
- const handleClick = () => {
56
- if(fileManagerData && file_type === 'pdf' && !props.pdfPages){
57
- const cur = (fileManagerData?.uploadedFiles||[]).find((item: any) => (item?.name||item?.file?.name) === file_name);
58
- if(!cur?.pdfPages){
59
- message.warning('该PDF文件未解析完成,请稍后再试');
60
- return
61
- }
62
- eventsEmit?.('reference_file:click', {...props, pdfPages: cur?.pdfPages || 0});
63
- }else {
64
- eventsEmit?.('reference_file:click', props);
65
- }
66
- };
67
- return (
68
- <div
69
- className="user-file relative group flex flex-col items-center justify-center cursor-pointer backdrop-blur-sm rounded-lg border p-2 text-sm transition-all bg-white shadow"
70
- style={{ width: parentSize, height: parentSize, minWidth: parentSize, minHeight: parentSize, borderColor: styles?.theme?.colors?.border }}
71
- onClick={handleClick}
72
- >
73
- <div className="grid grid-cols-2 items-center justify-center grid-rows-2 gap-1 w-full h-full"
74
- style={{ width: '100%', height: '100%', gap: gridGap }}
75
- >
76
- {previewItems.map((item, idx) => {
77
- if (showEllipsis && idx === 3) {
78
- return (
79
- <div key="ellipsis" className="flex items-center justify-center bg-gray-100 rounded" style={{ width: itemSize, height: itemSize }}>
80
- <span className="text-xl text-gray-300 font-bold scale-75">...</span>
81
- </div>
82
- );
83
- }
84
- const isImage =
85
- item.file_type === 'image' ||
86
- item.file_type === 'jpg' ||
87
- item.file_type === 'jpeg' ||
88
- item.file_type === 'png' ||
89
- item.file_type === 'gif' ||
90
- item.file_type === 'bmp' ||
91
- item.file_type === 'webp';
92
- if (isImage) {
93
- return (
94
- <div
95
- key={item.file_name || idx}
96
- className="relative flex items-center justify-center bg-white rounded-lg border overflow-hidden"
97
- style={{ width: itemSize, height: itemSize, borderColor: styles?.theme?.colors?.border }}
98
- >
99
- <div className="flex items-center justify-center w-full h-full scale-75">
100
- <img
101
- src={String(item.url || item.file_path || '')}
102
- alt={item.file_name || ''}
103
- className="object-contain max-w-full max-h-full"
104
- />
105
- </div>
106
- </div>
107
- );
108
- }
109
- const icon = getFileTypeIcon(String(item.file_type || ''), styles);
110
- return (
111
- <div
112
- key={item.file_name || idx}
113
- className="user-file flex flex-col items-center justify-center rounded-lg border bg-gray-50 p-1 text-sm"
114
- title={item.file_name}
115
- style={{ width: itemSize, height: itemSize, borderColor: styles?.theme?.colors?.border }}
116
- >
117
- <div className="flex items-center justify-center w-full h-full scale-75">
118
- {icon}
119
- </div>
120
- </div>
121
- );
122
- })}
123
- </div>
124
- {/* 整体hover盖层 */}
125
- <div className="absolute inset-0 bg-transparent group-hover:bg-black/40 transition-all duration-300 flex items-center justify-center rounded-lg pointer-events-none">
126
- <div className="flex flex-col items-center text-xs justify-center text-white opacity-0 group-hover:opacity-100 transition-opacity">
127
- <FolderUp size={20} className="mb-1 text-white" />
128
- <span className="text-white text-center" style={{ fontSize: 12 }}>{overlayText}</span>
129
- </div>
130
- </div>
131
- </div>
132
- );
133
- }
134
-
135
- // const icon = fileTypeIcons[file_type?.toLowerCase()] || fileTypeIcons.default;
136
-
137
- // 文档引用点击
138
- const handleReferenceClick = () => {
139
- console.log(parse_url,'parse_url',url,'url')
140
- if(fileManagerData && file_type === 'pdf' && !pdfPages){
141
- const cur = (fileManagerData?.uploadedFiles||[]).find((item: any) => (item?.name||item?.file?.name) === (file_name||'').replace(/\s+/g, ''));
142
- if(!cur?.pdfPages){
143
- message.warning('该PDF文件未解析完成,请稍后再试');
144
- return
145
- }
146
- eventsEmit?.('reference_file:click', {
147
- file: file_name,
148
- file_type,
149
- url,
150
- parse_url,
151
- retrieve_tags,
152
- file_id,
153
- parsed_file_type,
154
- references,
155
- type: fileType,
156
- isUploadFile: isUploadFile,
157
- pdfPages:cur.pdfPages || 0,
158
- });
159
- }else {
160
- eventsEmit?.('reference_file:click', {
161
- file: file_name,
162
- file_type,
163
- url,
164
- parse_url,
165
- retrieve_tags,
166
- file_id,
167
- parsed_file_type,
168
- references,
169
- type: fileType,
170
- isUploadFile: isUploadFile,
171
- pdfPages
172
- });
173
- }
174
-
175
- };
176
- const fileType = useMemo(() => {
177
- return (file_name || '').split('.').pop() || '';
178
- }, [file_name]);
179
- //console.log('fileType123123123123123123',fileType)
180
- const icon = getFileTypeIcon(fileType, styles);
181
- // 召回标签点击
182
- // const handleRetriveTagClick = (tag: any) => {
183
- // eventsEmit?.('retrive_tag:click', { file: file_name, tag });
184
- // };
185
-
186
- const downloadFile = async () => {
187
- if (url) {
188
- const _url: any = dealMinioUrl(url.indexOf('http') > -1 ? url : `${TempBaseUrl}/${url}`);
189
- const fileExt = fileType.toLowerCase();
190
- if (fileExt === 'json') {
191
- try {
192
- const response = await fetch(_url);
193
- if (!response.ok) throw new Error('下载失败');
194
- const blob = await response.blob();
195
- const link = document.createElement('a');
196
- link.href = URL.createObjectURL(blob);
197
- link.download = file_name || '';
198
- document.body.appendChild(link);
199
- link.click();
200
- document.body.removeChild(link);
201
- setTimeout(() => URL.revokeObjectURL(link.href), 1000);
202
- } catch (e) {
203
- alert('文件下载失败');
204
- }
205
- return;
206
- }
207
- const link = document.createElement('a');
208
- link.href = _url;
209
- link.download = file_name || '';
210
- document.body.appendChild(link);
211
- link.click();
212
- document.body.removeChild(link);
213
- }
214
- };
215
-
216
- // 只支持下载的文件类型
217
- //const onlyDownloadTypes = onlyDownloadTypes || ['xlsx', 'csv', 'xls', 'ppt', 'pptx', 'pub', 'json', 'doc', 'docx'];
218
- if (onlyDownloadTypes && onlyDownloadTypes.includes(fileType.toLowerCase())) {
219
- return (
220
- <div
221
- key={file_name}
222
- className="user-file relative group w-24 h-24 flex flex-col items-center justify-center cursor-pointer backdrop-blur-sm rounded-lg border p-2 text-sm transition-all"
223
- title={file_name}
224
- onClick={downloadFile}
225
- style={{ borderColor: styles?.theme?.colors?.border }}
226
- >
227
- {icon}
228
- <span
229
- className="file-name font-medium truncate text-center px-2 pt-1"
230
- style={{ fontSize: 10, maxWidth: '5.5rem' }}
231
- >
232
- {file_name}
233
- </span>
234
- <div className="absolute text-center inset-0 cursor-pointer bg-transparent group-hover:bg-black/40 transition-all duration-300 flex items-center justify-center rounded-lg">
235
- <div className="flex flex-col items-center text-xs justify-center text-white opacity-0 group-hover:opacity-100 transition-opacity">
236
- <FolderUp className="text-white opacity-0 group-hover:opacity-100 transition-opacity mx-auto" />
237
- <div className="text-white text-center" style={{ fontSize: 10 }}>
238
- 下载文件
239
- </div>
240
- </div>
241
- </div>
242
- </div>
243
- );
244
- }
245
-
246
- // 判断是否为图片类型:同时检查 file_type 和 fileType(从文件名提取)
247
- const isImageType =
248
- file_type === 'image' ||
249
- file_type === 'jpg' ||
250
- file_type === 'jpeg' ||
251
- file_type === 'png' ||
252
- file_type === 'gif' ||
253
- file_type === 'bmp' ||
254
- file_type === 'webp' ||
255
- fileType === 'image' ||
256
- fileType === 'jpg' ||
257
- fileType === 'jpeg' ||
258
- fileType === 'png' ||
259
- fileType === 'gif' ||
260
- fileType === 'bmp' ||
261
- fileType === 'webp';
262
-
263
- if (isImageType) {
264
- return (
265
- <div
266
- key={file_name}
267
- className="relative group w-24 h-24 cursor-pointer flex items-center justify-center"
268
- onClick={() => handleReferenceClick()}
269
- >
270
- {url ? (
271
- <img
272
- src={String(
273
- url && (url.indexOf('http://') > -1 || url.indexOf('https://') > -1)
274
- ? url
275
- : dealMinioUrl(`${TempBaseUrl}/${url}`) || ''
276
- )}
277
- alt={file_name || ''}
278
- className="w-full h-full object-cover rounded-md border"
279
- style={{ borderColor: styles?.theme?.colors?.border }}
280
- onError={(e) => {
281
- // 如果图片加载失败,尝试使用原始 URL
282
- const target = e.target as HTMLImageElement;
283
- if (target.src !== url) {
284
- target.src = url;
285
- }
286
- }}
287
- />
288
- ) : (
289
- <div className="w-full h-full flex items-center justify-center">
290
- <span className="animate-spin rounded-full border-2 border-gray-300 border-t-blue-500 w-8 h-8 inline-block"></span>
291
- </div>
292
- )}
293
- <div className="absolute inset-0 bg-transparent group-hover:bg-black/40 transition-all duration-300 flex items-center justify-center rounded-md">
294
- <div className="flex flex-col items-center text-xs justify-center text-white opacity-0 group-hover:opacity-100 transition-opacity">
295
- <Eye className="text-white opacity-0 group-hover:opacity-100 transition-opacity mx-auto" />
296
- <div className="text-white text-center">查看图片</div>
297
- </div>
298
- </div>
299
- </div>
300
- );
301
- } else {
302
- return (
303
- <div
304
- key={file_name}
305
- className="user-file relative group w-24 h-24 flex flex-col items-center justify-center cursor-pointer backdrop-blur-sm rounded-lg border p-2 text-sm transition-all"
306
- title={file_name}
307
- onClick={handleReferenceClick}
308
- style={{ borderColor: styles?.theme?.colors?.border }}
309
- >
310
- {icon}
311
- <span
312
- className="file-name font-medium truncate text-center px-2 pt-1"
313
- style={{ fontSize: 10, maxWidth: '5.5rem' }}
314
- >
315
- {file_name}
316
- </span>
317
- <div className="absolute text-center inset-0 cursor-pointer bg-transparent group-hover:bg-black/40 transition-all duration-300 flex items-center justify-center rounded-lg">
318
- <div className="flex flex-col items-center text-xs justify-center text-white opacity-0 group-hover:opacity-100 transition-opacity">
319
- <FolderUp className="text-white opacity-0 group-hover:opacity-100 transition-opacity mx-auto" />
320
- <div className="text-white text-center" style={{ fontSize: 10 }}>
321
- 打开文件
322
- </div>
323
- </div>
324
- </div>
325
- </div>
326
- );
327
- }
328
- //return (
329
- // <div
330
- // className="flex items-center bg-white rounded-lg shadow-sm border border-gray-100 px-3 py-2 mb-2 min-w-[220px] max-w-[340px] hover:shadow-md hover:border-blue-200 transition cursor-pointer group"
331
- // style={{ gap: 12 }}
332
- // onClick={handleReferenceClick}
333
- // >
334
- // <div className="flex-shrink-0">{icon}</div>
335
- // <div className="flex-1 min-w-0">
336
- // <div
337
- // className="font-medium text-[13px] text-gray-900 truncate group-hover:text-blue-600"
338
- // title={file_name}
339
- // >
340
- // {file_name}
341
- // </div>
342
- // </div>
343
- // {/* {parse_url && (
344
- // <a
345
- // href={parse_url}
346
- // target="_blank"
347
- // rel="noopener noreferrer"
348
- // className="ml-3 px-2 py-0.5 text-xs rounded border border-blue-100 bg-blue-50 text-blue-600 hover:bg-blue-100 hover:border-blue-300 transition"
349
- // onClick={e => { e.stopPropagation(); handleReferenceClick(); }}
350
- // >
351
- // 下载
352
- // </a>
353
- // )} */}
354
- // </div>
355
-
356
- //);
357
- };
358
-
359
- export default ReferenceCard;
@@ -1,245 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { ArrowDownToLine, ArrowUpToLine, Download, Eye, MessageSquare } from 'lucide-react';
3
- import { getFileTypeIcon } from '../FileManager';
4
- import { Tooltip } from 'antd';
5
-
6
- // 定义召回文件类型
7
- interface Tag {
8
- id: string;
9
- index: string;
10
- image_urls: string[];
11
- fromtype: string;
12
- }
13
-
14
- interface RetriveFile {
15
- file_id: string;
16
- file_name: string;
17
- file_type: string;
18
- score: number;
19
- tags: Tag[];
20
- parsedFilePath?: string;
21
- }
22
-
23
- interface RetriveItemProps {
24
- is_download?: string;
25
- from?: string;
26
- files: RetriveFile[];
27
- onQa?: (file: RetriveFile) => void;
28
- onPreview?: (file: RetriveFile) => void;
29
- onDownload?: (file: RetriveFile) => void;
30
- styles?: any;
31
- onTagClick?: (tag: Tag, file: RetriveFile) => void;
32
- eventsEmit?: (eventName: string, payload?: any) => void;
33
- }
34
-
35
- // const mockFiles: RetriveFile[] = [
36
- // {
37
- // file_id: '1',
38
- // file_name: '测试文档1.pdf',
39
- // file_type: 'pdf',
40
- // score: 0.98,
41
- // tags: [
42
- // { id: 't1', name: '标签A' },
43
- // { id: 't2', name: '标签B' },
44
- // ],
45
- // },
46
- // {
47
- // file_id: '2',
48
- // file_name: '说明文档.docx',
49
- // file_type: 'docx',
50
- // score: 0.87,
51
- // tags: [
52
- // { id: 't3', name: '标签C' },
53
- // ],
54
- // },
55
- // {
56
- // file_id: '3',
57
- // file_name: '图片示例.png',
58
- // file_type: 'png',
59
- // score: 0.92,
60
- // tags: [
61
- // { id: 't4', name: '图片标签' },
62
- // ],
63
- // },
64
- // ];
65
-
66
- const getThemeColor = (styles: any, key: string, fallback: string) =>
67
- styles?.theme?.colors?.[key] || fallback;
68
-
69
- const RetriveItem: React.FC<RetriveItemProps> = ({
70
- files,
71
- onQa,
72
- onPreview,
73
- onDownload,
74
- styles,
75
- onTagClick,
76
- eventsEmit,
77
- from,
78
- is_download,
79
- }) => {
80
- // 主题色
81
- const borderColor = getThemeColor(styles, 'border', '#F2F3F5');
82
- const bgHover = getThemeColor(styles, 'background', '#F5F6FA');
83
- const textColor = getThemeColor(styles, 'text', '#1F2329');
84
- const disabledText = getThemeColor(styles, 'disabledText', '#8F959E');
85
-
86
- const btnHover = getThemeColor(styles, 'btnHover', '#E5E6EB');
87
- const [open, setOpen] = useState(false);
88
- return (
89
- <div className="w-full">
90
- <ul className="divide-y divide-gray-50 flex flex-col gap-2">
91
- {(open ? files : files.slice(0, 2)).map((file: RetriveFile, idx: number) => {
92
- return (
93
- <li
94
- key={file.parsedFilePath || file.file_id + '-' + idx}
95
- className="flex items-center px-3 py-2 group transition"
96
- style={{
97
- minHeight: 32,
98
- border: 'none',
99
- borderRadius: 6,
100
- cursor: 'default',
101
- background: undefined,
102
- }}
103
- onMouseEnter={e => (e.currentTarget.style.background = bgHover)}
104
- onMouseLeave={e => (e.currentTarget.style.background = '')}
105
- >
106
- {/* 文件icon+文件名 */}
107
- <div className="flex items-center min-w-0 flex-1">
108
- {getFileTypeIcon(file.file_type, styles)}
109
- <Tooltip title={file.file_name}>
110
- <span
111
- className="font-medium text-sm ml-2 truncate max-w-[300px]"
112
- title={file.file_name}
113
- style={{ color: textColor }}
114
- >
115
- {file.file_name}
116
- </span>
117
- </Tooltip>
118
- </div>
119
- {/* 分数+标签 */}
120
- <div className="flex items-center gap-x-1 min-w-[120px] ml-4">
121
- {(() => {
122
- // tags去重并排序
123
- const seen = new Set();
124
- const uniqueSortedTags = (file.tags || [])
125
- .filter(tag => {
126
- if (seen.has(tag.id)) return false;
127
- // console.log(tag,'tag')
128
- seen.add(tag.id);
129
- return true;
130
- })
131
- .sort((a, b) => Number(a.index) - Number(b.index));
132
- return uniqueSortedTags.map(tag => (
133
- <span
134
- className="cursor-pointer"
135
- key={tag.id}
136
- style={{
137
- display: 'inline-block',
138
- background: '#e6f7ff',
139
- color: '#1890ff',
140
- border: '1px solid rgba(114,187,255,0.3)',
141
- borderRadius: 6,
142
- padding: '1px 6px',
143
- margin: '0 2px',
144
- fontWeight: 600,
145
- fontSize: 12,
146
- lineHeight: '17px',
147
- verticalAlign: 'middle',
148
- }}
149
- onClick={e => {
150
- e.stopPropagation();
151
- onTagClick?.({ ...tag, fromtype: '0' }, file);
152
- }}
153
- onMouseEnter={e => (e.currentTarget.style.background = '#bae7ff')}
154
- onMouseLeave={e => (e.currentTarget.style.background = '#e6f7ff')}
155
- >
156
- {tag.index}
157
- </span>
158
- ));
159
- })()}
160
- <span
161
- className="text-xs px-5 border-r border-solid border-gray-300 ml-2"
162
- style={{ color: disabledText }}
163
- >
164
- 分数: {Number(file.score).toFixed(2)}
165
- </span>
166
- </div>
167
- {/* 操作按钮组 */}
168
- <div className="flex pl-5 items-center gap-1 ml-auto">
169
- {from !== 'headless' && (
170
- <Tooltip title="单文档问答" placement="top">
171
- <button
172
- onClick={() => {
173
- onQa?.(file);
174
- eventsEmit?.('referenceFile_question', { data: file, is_download });
175
- }}
176
- className="flex cursor-pointer items-center justify-center w-8 h-8 rounded transition group"
177
- style={{ outline: 'none', border: 'none', background: 'none' }}
178
- onMouseEnter={e => (e.currentTarget.style.background = btnHover)}
179
- onMouseLeave={e => (e.currentTarget.style.background = 'none')}
180
- >
181
- <MessageSquare className="w-4 h-4" style={{ color: disabledText }} />
182
- </button>
183
- </Tooltip>
184
- )}
185
-
186
- <Tooltip title="预览" placement="top">
187
- <button
188
- onClick={() => {
189
- onPreview?.(file);
190
- eventsEmit?.('referenceFile_view', { data: file });
191
- }}
192
- className="flex cursor-pointer items-center justify-center w-8 h-8 rounded transition group"
193
- style={{ outline: 'none', border: 'none', background: 'none' }}
194
- onMouseEnter={e => (e.currentTarget.style.background = btnHover)}
195
- onMouseLeave={e => (e.currentTarget.style.background = 'none')}
196
- >
197
- <Eye className="w-4 h-4" style={{ color: disabledText }} />
198
- </button>
199
- </Tooltip>
200
- {from !== 'headless' && (
201
- <Tooltip title={is_download ? '下载' : '无权限下载'} placement="top">
202
- <button
203
- onClick={() => {
204
- onDownload?.(file);
205
- eventsEmit?.('referenceFile_download', { data: file });
206
- }}
207
- disabled={!is_download}
208
- className="flex items-center justify-center w-8 h-8 rounded transition group"
209
- style={{
210
- outline: 'none',
211
- border: 'none',
212
- background: 'none',
213
- cursor: is_download ? 'pointer' : 'not-allowed',
214
- }}
215
- onMouseEnter={e => (e.currentTarget.style.background = btnHover)}
216
- onMouseLeave={e => (e.currentTarget.style.background = 'none')}
217
- >
218
- <Download className="w-4 h-4" style={{ color: disabledText }} />
219
- </button>
220
- </Tooltip>
221
- )}
222
- </div>
223
- </li>
224
- );
225
- })}
226
- </ul>
227
- {files?.length > 2 && (
228
- <div
229
- className="w-full flex justify-center mt-[8px]"
230
- onClick={() => {
231
- setOpen(!open);
232
- }}
233
- >
234
- {open ? (
235
- <ArrowUpToLine className="cursor-pointer w-[16px] text-[#555]" />
236
- ) : (
237
- <ArrowDownToLine className="cursor-pointer w-[16px] text-[#555]" />
238
- )}
239
- </div>
240
- )}
241
- </div>
242
- );
243
- };
244
-
245
- export default RetriveItem;