@gientech/modual 2.2.3-fix.5 → 2.2.3-fix.6

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 (523) hide show
  1. package/.editorconfig +38 -0
  2. package/.prettierignore +16 -0
  3. package/.prettierrc +17 -0
  4. package/CHANGELOG.md +162 -0
  5. package/Dockerfile +15 -0
  6. package/README.md +761 -761
  7. package/USAGE.md +247 -0
  8. package/bash.exe.stackdump +40 -0
  9. package/components.json +21 -0
  10. package/default.conf +19 -0
  11. package/dist/README.md +761 -0
  12. package/{assets/GientechStreamReader-r5ZTSZk2.js → dist/assets/GientechStreamReader-Bae2-4f7.js} +1 -1
  13. package/{assets/LeftOutlined-DZMeGbKk.js → dist/assets/LeftOutlined-COk0w5nY.js} +1 -1
  14. package/{assets/circle-plus-B73z_SUN.js → dist/assets/circle-plus-DOKqXUMk.js} +1 -1
  15. package/{assets → dist/assets}/database.svg +11 -11
  16. package/{assets → dist/assets}/database_add.svg +53 -53
  17. package/{assets → dist/assets}/database_connect.svg +66 -66
  18. package/{assets → dist/assets}/database_upload.svg +29 -29
  19. package/{assets → dist/assets}/databse.svg +6 -6
  20. package/{assets → dist/assets}/defaultWeLogo.svg +14 -14
  21. package/{assets → dist/assets}/graph.svg +4 -4
  22. package/{assets → dist/assets}/iconAi.svg +9 -9
  23. package/dist/assets/index-1PwCuRjv.js +1061 -0
  24. package/dist/assets/index-7QvYA6eT.js +1 -0
  25. package/{assets/index-97Oe7YBe.js → dist/assets/index-BKbpfN9S.js} +1 -1
  26. package/{assets/index-B4k3tK0f.js → dist/assets/index-BXdyn2W3.js} +1 -1
  27. package/dist/assets/index-BhUNGJOe.js +27 -0
  28. package/{assets/index-BDc2zBbG.js → dist/assets/index-Bin0NZwF.js} +3 -7
  29. package/{assets/index-DHK_n74G.js → dist/assets/index-CpSzj-Sx.js} +73 -58
  30. package/{assets/index-usBlUHOb.js → dist/assets/index-Ct_k24Ar.js} +1 -1
  31. package/dist/assets/index-DT3qkjJ3.js +750 -0
  32. package/dist/assets/index-lFBFf_0k.js +1890 -0
  33. package/{assets/index-iOuQJ8vu.js → dist/assets/index-vfI1_Qg0.js} +1 -1
  34. package/{assets → dist/assets}/knowledge.svg +4 -4
  35. package/{assets → dist/assets}/mysql.svg +14 -14
  36. package/{assets → dist/assets}/sensitive.svg +5 -5
  37. package/{assets/style-6bvhg-jh.js → dist/assets/style-CfNUqKAA.js} +7 -7
  38. package/dist/assets/style2.css +1 -0
  39. package/dist/assets/style5.css +1 -0
  40. package/{assets/triangle-alert-C4Z1AkGW.js → dist/assets/triangle-alert-CaJaaCaZ.js} +1 -1
  41. package/{assets/x-DWGzNb9c.js → dist/assets/x-B65AntWN.js} +1 -1
  42. package/{assistantConfig.js → dist/assistantConfig.js} +9 -14
  43. package/dist/chat.js +1 -0
  44. package/dist/chatCompare.js +1 -0
  45. package/dist/database.js +20 -0
  46. package/{databaseId.js → dist/databaseId.js} +1 -1
  47. package/{databaseTable.js → dist/databaseTable.js} +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/modelManage.js +1 -0
  50. package/dist/package.json +73 -0
  51. package/{sensitive.js → dist/sensitive.js} +6 -6
  52. package/dist/streamFilesReader.js +1 -0
  53. package/{worker → dist/worker}/pdf.worker.min.js +21 -21
  54. package/doc_assets/images/1.png +0 -0
  55. package/doc_assets/images/3.png +0 -0
  56. package/doc_assets/images/component-screenshot.png +1 -0
  57. package/doc_assets//346/226/271/346/241/210/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +115 -0
  58. 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
  59. package/doc_assets//346/226/271/346/241/210//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
  60. package/eslint.config.js +92 -0
  61. package/index.html +13 -0
  62. package/package.json +125 -44
  63. package/package.json.demo-backup +109 -0
  64. package/postcss.config.cjs +19 -0
  65. package/public/icons/answerAwartar.png +0 -0
  66. package/public/icons/docx-file.png +0 -0
  67. package/public/icons/folder.png +0 -0
  68. package/public/icons/html.png +0 -0
  69. package/public/icons/image.png +0 -0
  70. package/public/icons/jpg-file.png +0 -0
  71. package/public/icons/json.png +0 -0
  72. package/public/icons/md.png +0 -0
  73. package/public/icons/pdf.png +0 -0
  74. package/public/icons/pptx.png +0 -0
  75. package/public/icons/questionAwartar.png +0 -0
  76. package/public/icons/sheets.png +0 -0
  77. package/public/icons/txt.png +0 -0
  78. package/public/icons/xlsx.png +0 -0
  79. package/public/vite.svg +1 -0
  80. package/public/worker/pdf.worker.min.js +22 -0
  81. package/rag/assets/index.Bd0tNzw0.js +2797 -0
  82. package/rag/assets/index.D6t67hlu.css +1 -0
  83. package/rag/assets/left.KBHV5h7q.jpg +0 -0
  84. package/rag/assets/worker-BbpylX7l.DptbXke_.js +13 -0
  85. package/release-it.json +21 -0
  86. package/scripts/README.md +133 -0
  87. package/scripts/build-demo.js +88 -0
  88. package/scripts/check-changelog.cjs +124 -0
  89. package/scripts/check-version.cjs +49 -0
  90. package/scripts/decrypt-api-key.js +95 -0
  91. package/scripts/demo-selector.js +216 -0
  92. package/scripts/dev-demo.js +85 -0
  93. package/scripts/open-file.cjs +61 -0
  94. package/scripts/preview-demo.js +130 -0
  95. package/scripts/run-demo.bat +34 -0
  96. package/src/assets/img/close.png +0 -0
  97. package/src/assets/img/database.png +0 -0
  98. package/src/assets/img/downArrow.png +0 -0
  99. package/src/assets/img/downLoad.png +0 -0
  100. package/src/assets/img/excel.png +0 -0
  101. package/src/assets/img/graphIcon.png +0 -0
  102. package/src/assets/img/iconAi.svg +9 -0
  103. package/src/assets/img/img.png +0 -0
  104. package/src/assets/img/pdf.png +0 -0
  105. package/src/assets/img/ppt.png +0 -0
  106. package/src/assets/img/search.svg +3 -0
  107. package/src/assets/img/selected.svg +4 -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 +42 -0
  116. package/src/examples/LoginPage/index.tsx +20 -0
  117. package/src/examples/chat/components/DrawerGraphPreview.tsx +78 -0
  118. package/src/examples/chat/index.tsx +171 -0
  119. package/src/examples/chat/logo03.png +0 -0
  120. package/src/examples/chatCompare/icons/rag_think.svg +8 -0
  121. package/src/examples/chatCompare/icons/wenda_lianwangsousuo.svg +9 -0
  122. package/src/examples/chatCompare/index.tsx +154 -0
  123. package/src/examples/gientechStreamFilesReader/index.tsx +979 -0
  124. package/src/examples/headlessChat/assets/mind.svg +6 -0
  125. package/src/examples/headlessChat/assets/net.svg +7 -0
  126. package/src/examples/headlessChat/index.tsx +298 -0
  127. package/src/examples/knowledgebaseDetails/index.tsx +119 -0
  128. package/src/examples/ragDatabaseDataPage/index.tsx +40 -0
  129. package/src/examples/ragDatabaseIdPage/index.tsx +126 -0
  130. package/src/examples/ragDatabasePage/index.tsx +36 -0
  131. package/src/examples/ragModelManagePage/index.tsx +107 -0
  132. package/src/examples/ragModelManagePage/style.css +7 -0
  133. package/src/examples/ragSearchPage/index.tsx +0 -0
  134. package/src/examples/ragSensitiveWordsPage/index.tsx +117 -0
  135. package/src/examples/ragSensitiveWordsPage/style.css +16 -0
  136. package/src/examples/sensitiveId/index.tsx +41 -0
  137. package/src/examples/streamFiles/index.tsx +417 -0
  138. package/src/examples/utils/demo_setting_pannel.ts +0 -0
  139. package/src/lib_enter.ts +44 -0
  140. package/src/main.tsx +5 -0
  141. package/src/main.tsx.backup +5 -0
  142. package/src/modules/CHAT_UNIFICATION_PLAN.md +324 -0
  143. package/src/modules/assistantConfig/assets/databse.svg +6 -0
  144. package/src/modules/assistantConfig/assets/empty.png +0 -0
  145. package/src/modules/assistantConfig/assets/graph.svg +4 -0
  146. package/src/modules/assistantConfig/assets/knowledge.svg +4 -0
  147. package/src/modules/assistantConfig/assets/sensitive.svg +5 -0
  148. package/src/modules/assistantConfig/components/Database.tsx +171 -0
  149. package/src/modules/assistantConfig/components/Graph.tsx +177 -0
  150. package/src/modules/assistantConfig/components/Knowledge.tsx +276 -0
  151. package/src/modules/assistantConfig/components/NotFoundContent.tsx +21 -0
  152. package/src/modules/assistantConfig/components/Paragraph.tsx +51 -0
  153. package/src/modules/assistantConfig/components/ParamsItem.tsx +40 -0
  154. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +133 -0
  155. package/src/modules/assistantConfig/components/SearchableSelector.tsx +500 -0
  156. package/src/modules/assistantConfig/components/Sensitive.tsx +221 -0
  157. package/src/modules/assistantConfig/components/SliderInput.tsx +66 -0
  158. package/src/modules/assistantConfig/constants.tsx +75 -0
  159. package/src/modules/assistantConfig/index.tsx +785 -0
  160. package/src/modules/assistantConfig/server.ts +262 -0
  161. package/src/modules/chat/AllFiles.tsx +158 -0
  162. package/src/modules/chat/Conversations/Item.tsx +169 -0
  163. package/src/modules/chat/Conversations/List.tsx +210 -0
  164. package/src/modules/chat/Conversations/groupByTime.ts +39 -0
  165. package/src/modules/chat/Conversations/index.tsx +255 -0
  166. package/src/modules/chat/ReferenceBar.tsx +659 -0
  167. package/src/modules/chat/constants.tsx +66 -0
  168. package/src/modules/chat/i18n.ts +151 -0
  169. package/src/modules/chat/i18n.tsx +151 -0
  170. package/src/modules/chat/icons/rag_think.svg +8 -0
  171. package/src/modules/chat/icons/wenda_lianwangsousuo.svg +9 -0
  172. package/src/modules/chat/index.tsx +2400 -0
  173. package/src/modules/chat/referenceCom/DeleteModal.tsx +75 -0
  174. package/src/modules/chat/referenceCom/DrawerContent.tsx +136 -0
  175. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +102 -0
  176. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +86 -0
  177. package/src/modules/chat/referenceCom/DrawerPreview.tsx +73 -0
  178. package/src/modules/chat/referenceCom/DrawerTitle.tsx +26 -0
  179. package/src/modules/chat/referenceCom/RenameModal.tsx +86 -0
  180. package/src/modules/chat/referenceCom/TagCom.tsx +30 -0
  181. package/src/modules/chat/style.css +6 -0
  182. package/src/modules/chat/style.less +7 -0
  183. package/src/modules/chat/types.ts +17 -0
  184. package/src/modules/chat/utils/index.ts +348 -0
  185. package/src/modules/chatCompare/UseChatCompareHooks.ts +103 -0
  186. package/src/modules/chatCompare/components/AichatCompareUseController.tsx +754 -0
  187. package/src/modules/chatCompare/components/AssistantSelector.tsx +127 -0
  188. package/src/modules/chatCompare/components/ChatInputer.tsx +67 -0
  189. package/src/modules/chatCompare/components/ChatInstance.tsx +426 -0
  190. package/src/modules/chatCompare/components/ChatItem.tsx +556 -0
  191. package/src/modules/chatCompare/components/Sender/FileCardCommon.tsx +97 -0
  192. package/src/modules/chatCompare/components/Sender/FileUpload.tsx +89 -0
  193. package/src/modules/chatCompare/components/Sender/FilesDisplay.tsx +309 -0
  194. package/src/modules/chatCompare/components/Sender/VoiceInput.tsx +80 -0
  195. package/src/modules/chatCompare/components/Sender/contexts/BadgeContext.tsx +36 -0
  196. package/src/modules/chatCompare/components/Sender/fileIcon.tsx +100 -0
  197. package/src/modules/chatCompare/components/Sender/index.tsx +850 -0
  198. package/src/modules/chatCompare/components/UseChatInstanceHooks.ts +406 -0
  199. package/src/modules/chatCompare/components/UseScrollHooks.ts +36 -0
  200. package/src/modules/chatCompare/components/components/AllFiles.tsx +156 -0
  201. package/src/modules/chatCompare/components/components/DeleteModal.tsx +75 -0
  202. package/src/modules/chatCompare/components/components/DrawerContent.tsx +138 -0
  203. package/src/modules/chatCompare/components/components/DrawerDatabase.tsx +110 -0
  204. package/src/modules/chatCompare/components/components/DrawerGraphPreview.tsx +95 -0
  205. package/src/modules/chatCompare/components/components/DrawerPreview.tsx +75 -0
  206. package/src/modules/chatCompare/components/components/DrawerTitle.tsx +26 -0
  207. package/src/modules/chatCompare/components/components/DrawerVideo.tsx +85 -0
  208. package/src/modules/chatCompare/components/components/ReferenceBar.tsx +659 -0
  209. package/src/modules/chatCompare/components/components/RenameModal.tsx +86 -0
  210. package/src/modules/chatCompare/components/components/TagCom.tsx +30 -0
  211. package/src/modules/chatCompare/components/defaultStyleSet.tsx +148 -0
  212. package/src/modules/chatCompare/components/server.ts +208 -0
  213. package/src/modules/chatCompare/components/serverFn.ts +172 -0
  214. package/src/modules/chatCompare/components/style.less +97 -0
  215. package/src/modules/chatCompare/components/useFileManager.ts +173 -0
  216. package/src/modules/chatCompare/components/utils.ts +31 -0
  217. package/src/modules/chatCompare/data.ts +842 -0
  218. package/src/modules/chatCompare/index.tsx +537 -0
  219. package/src/modules/chatCompare/utils/AiChat.types.tsx +110 -0
  220. package/src/modules/chatCompare/utils/constants.tsx +70 -0
  221. package/src/modules/chatCompare/utils/fileUploadValidator.ts +183 -0
  222. package/src/modules/chatCompare/utils/icons/rag_think.svg +8 -0
  223. package/src/modules/chatCompare/utils/icons/wenda_lianwangsousuo.svg +9 -0
  224. package/src/modules/chatCompare/utils/index.ts +46 -0
  225. package/src/modules/database/CreateModal.tsx +402 -0
  226. package/src/modules/database/assets/Doris.png +0 -0
  227. package/src/modules/database/assets/PostgreSQL.png +0 -0
  228. package/src/modules/database/assets/SQLServer.png +0 -0
  229. package/src/modules/database/assets/database.svg +11 -0
  230. package/src/modules/database/assets/database_add.svg +53 -0
  231. package/src/modules/database/assets/database_connect.svg +66 -0
  232. package/src/modules/database/assets/database_upload.svg +29 -0
  233. package/src/modules/database/assets/empty.png +0 -0
  234. package/src/modules/database/assets/mysql.svg +14 -0
  235. package/src/modules/database/index.tsx +477 -0
  236. package/src/modules/database/server.ts +196 -0
  237. package/src/modules/databaseId/CustomCom.tsx +156 -0
  238. package/src/modules/databaseId/EditConfig.tsx +280 -0
  239. package/src/modules/databaseId/UploadDrawer.tsx +535 -0
  240. package/src/modules/databaseId/assets/aiOptimize.svg +10 -0
  241. package/src/modules/databaseId/assets/empty.png +0 -0
  242. package/src/modules/databaseId/assets/template.svg +6 -0
  243. package/src/modules/databaseId/assets/upload.svg +9 -0
  244. package/src/modules/databaseId/assets/useTemp.svg +6 -0
  245. package/src/modules/databaseId/i18n.ts +360 -0
  246. package/src/modules/databaseId/index.tsx +855 -0
  247. package/src/modules/databaseId/server.ts +286 -0
  248. package/src/modules/databaseId/style.css +5 -0
  249. package/src/modules/databaseTable/EditRowDrawer.tsx +124 -0
  250. package/src/modules/databaseTable/index.tsx +359 -0
  251. package/src/modules/databaseTable/server.ts +180 -0
  252. package/src/modules/headlessChat/ReferenceBar.tsx +783 -0
  253. package/src/modules/headlessChat/constants.tsx +54 -0
  254. package/src/modules/headlessChat/index.tsx +1903 -0
  255. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +75 -0
  256. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +136 -0
  257. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +102 -0
  258. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +86 -0
  259. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +73 -0
  260. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +26 -0
  261. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +86 -0
  262. package/src/modules/headlessChat/referenceCom/TagCom.tsx +30 -0
  263. package/src/modules/headlessChat/style.less +3 -0
  264. package/src/modules/headlessChat/types.ts +23 -0
  265. package/src/modules/headlessChat/utils/index.ts +348 -0
  266. package/src/modules/knowledgeBase/index.tsx +58 -0
  267. package/src/modules/knowledgeBase/server.ts +196 -0
  268. package/src/modules/knowledgebaseDetails/KnowledgeBaseDetails.tsx +169 -0
  269. package/src/modules/knowledgebaseDetails/components/KnowledgeBaseSummaryCard.tsx +193 -0
  270. package/src/modules/knowledgebaseDetails/components/fileManagementParts.tsx +534 -0
  271. package/src/modules/knowledgebaseDetails/components/index.ts +3 -0
  272. package/src/modules/knowledgebaseDetails/index.ts +3 -0
  273. package/src/modules/knowledgebaseDetails/modules/ConfigModule.tsx +49 -0
  274. package/src/modules/knowledgebaseDetails/modules/FaqModule.tsx +47 -0
  275. package/src/modules/knowledgebaseDetails/modules/KnowledgeParseModule.tsx +771 -0
  276. package/src/modules/knowledgebaseDetails/modules/RetrievalTestModule.tsx +49 -0
  277. package/src/modules/knowledgebaseDetails/modules/UploadManagementModule.tsx +49 -0
  278. package/src/modules/knowledgebaseDetails/modules/types.ts +44 -0
  279. package/src/modules/knowledgebaseDetails/modules-shim.d.ts +14 -0
  280. package/src/modules/knowledgebaseDetails/servers/analysis.ts +5 -0
  281. package/src/modules/knowledgebaseDetails/servers/index.ts +318 -0
  282. package/src/modules/login/components/Login/LoginBox/index.tsx +105 -0
  283. package/src/modules/login/components/Login/RegisterBox/index.tsx +181 -0
  284. package/src/modules/login/components/Login/index.tsx +100 -0
  285. package/src/modules/login/i18n.ts +217 -0
  286. package/src/modules/login/index.tsx +113 -0
  287. package/src/modules/login/style.css +3 -0
  288. package/src/modules/login/useServices.ts +53 -0
  289. package/src/modules/login/utils.ts +42 -0
  290. package/src/modules/modelManage/ConfigDrawer.tsx +267 -0
  291. package/src/modules/modelManage/ReplaceModal.tsx +113 -0
  292. package/src/modules/modelManage/assets/empty.png +0 -0
  293. package/src/modules/modelManage/const.ts +51 -0
  294. package/src/modules/modelManage/i18n.ts +407 -0
  295. package/src/modules/modelManage/index.tsx +668 -0
  296. package/src/modules/modelManage/server.ts +231 -0
  297. package/src/modules/nodegraph/index.tsx +1 -0
  298. package/src/modules/search/assets/Icon-history.svg +8 -0
  299. package/src/modules/search/assets/answerAwartar.png +0 -0
  300. package/src/modules/search/assets/doc.png +0 -0
  301. package/src/modules/search/assets/genera.gif +0 -0
  302. package/src/modules/search/assets/icon-robot.svg +9 -0
  303. package/src/modules/search/assets/icon-search-bar.svg +14 -0
  304. package/src/modules/search/assets/icon-sub-title.svg +3 -0
  305. package/src/modules/search/assets/icon-title.svg +9 -0
  306. package/src/modules/search/assets/icon-zoomOut.svg +9 -0
  307. package/src/modules/search/assets/iconAi.svg +9 -0
  308. package/src/modules/search/assets/pdf.png +0 -0
  309. package/src/modules/search/assets/ppt.png +0 -0
  310. package/src/modules/search/assets/search.svg +3 -0
  311. package/src/modules/search/assets/selected.svg +4 -0
  312. package/src/modules/search/assets/txt.png +0 -0
  313. package/src/modules/search/assets/xls.png +0 -0
  314. package/src/modules/search/components/AssisSelect.tsx +137 -0
  315. package/src/modules/search/components/Editor/ChatViewEditor.tsx +261 -0
  316. package/src/modules/search/components/Editor/aichat.css +1 -0
  317. package/src/modules/search/components/Editor/constant.ts +13 -0
  318. package/src/modules/search/components/Editor/index.tsx +113 -0
  319. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +332 -0
  320. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +20 -0
  321. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +38 -0
  322. package/src/modules/search/components/Editor/plugins/displayer.ts +298 -0
  323. package/src/modules/search/components/Editor/plugins/imageClick.tsx +32 -0
  324. package/src/modules/search/components/Editor/plugins/myplugin.tsx +98 -0
  325. package/src/modules/search/components/Editor/ui/avatar.tsx +19 -0
  326. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +21 -0
  327. package/src/modules/search/components/Editor/ui/button.tsx +58 -0
  328. package/src/modules/search/components/Editor/ui/calendar.tsx +68 -0
  329. package/src/modules/search/components/Editor/ui/caption.tsx +46 -0
  330. package/src/modules/search/components/Editor/ui/checkbox.tsx +27 -0
  331. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +188 -0
  332. package/src/modules/search/components/Editor/ui/code-block-element.css +434 -0
  333. package/src/modules/search/components/Editor/ui/code-block-element.tsx +39 -0
  334. package/src/modules/search/components/Editor/ui/code-leaf.tsx +24 -0
  335. package/src/modules/search/components/Editor/ui/code-line-element.tsx +10 -0
  336. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +21 -0
  337. package/src/modules/search/components/Editor/ui/column-element.tsx +30 -0
  338. package/src/modules/search/components/Editor/ui/column-group-element.tsx +94 -0
  339. package/src/modules/search/components/Editor/ui/command.tsx +75 -0
  340. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +22 -0
  341. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +37 -0
  342. package/src/modules/search/components/Editor/ui/comment-item.tsx +74 -0
  343. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +49 -0
  344. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +42 -0
  345. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +22 -0
  346. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +32 -0
  347. package/src/modules/search/components/Editor/ui/comment-value.tsx +34 -0
  348. package/src/modules/search/components/Editor/ui/comments-popover.tsx +63 -0
  349. package/src/modules/search/components/Editor/ui/date-element.tsx +83 -0
  350. package/src/modules/search/components/Editor/ui/dialog.tsx +63 -0
  351. package/src/modules/search/components/Editor/ui/draggable.tsx +177 -0
  352. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +180 -0
  353. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +85 -0
  354. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +28 -0
  355. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +76 -0
  356. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +8 -0
  357. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +51 -0
  358. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +77 -0
  359. package/src/modules/search/components/Editor/ui/heading-element.tsx +48 -0
  360. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +17 -0
  361. package/src/modules/search/components/Editor/ui/hr-element.tsx +30 -0
  362. package/src/modules/search/components/Editor/ui/icons.tsx +267 -0
  363. package/src/modules/search/components/Editor/ui/image-element.tsx +74 -0
  364. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +368 -0
  365. package/src/modules/search/components/Editor/ui/input.tsx +25 -0
  366. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +218 -0
  367. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +20 -0
  368. package/src/modules/search/components/Editor/ui/link-element.tsx +29 -0
  369. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +161 -0
  370. package/src/modules/search/components/Editor/ui/list-element.tsx +30 -0
  371. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +24 -0
  372. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +133 -0
  373. package/src/modules/search/components/Editor/ui/media-popover.tsx +97 -0
  374. package/src/modules/search/components/Editor/ui/mention-element.tsx +43 -0
  375. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +141 -0
  376. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +93 -0
  377. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +67 -0
  378. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +4 -0
  379. package/src/modules/search/components/Editor/ui/placeholder.tsx +52 -0
  380. package/src/modules/search/components/Editor/ui/popover.tsx +32 -0
  381. package/src/modules/search/components/Editor/ui/resizable.tsx +66 -0
  382. package/src/modules/search/components/Editor/ui/separator.tsx +25 -0
  383. package/src/modules/search/components/Editor/ui/style.less +12 -0
  384. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +143 -0
  385. package/src/modules/search/components/Editor/ui/table-element.tsx +243 -0
  386. package/src/modules/search/components/Editor/ui/table-row-element.tsx +22 -0
  387. package/src/modules/search/components/Editor/ui/tableValue.tsx +135 -0
  388. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +43 -0
  389. package/src/modules/search/components/Editor/ui/toggle-element.tsx +31 -0
  390. package/src/modules/search/components/Editor/ui/toolbar.tsx +157 -0
  391. package/src/modules/search/components/Editor/ui/tooltip.tsx +65 -0
  392. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +160 -0
  393. package/src/modules/search/components/Editor/ui/with-draggables.tsx +175 -0
  394. package/src/modules/search/components/FileList.tsx +287 -0
  395. package/src/modules/search/components/ImageGroupView/index.tsx +85 -0
  396. package/src/modules/search/components/ResultContent.tsx +232 -0
  397. package/src/modules/search/components/SearchInput.tsx +232 -0
  398. package/src/modules/search/components/SearchLanding.tsx +74 -0
  399. package/src/modules/search/components/SearchView.tsx +563 -0
  400. package/src/modules/search/components/SimpleEditor.tsx +158 -0
  401. package/src/modules/search/components/SimpleFileList.tsx +215 -0
  402. package/src/modules/search/index.tsx +10 -0
  403. package/src/modules/search/reademe.md +1 -0
  404. package/src/modules/search/servers/apis.tsx +19 -0
  405. package/src/modules/search/servers/index.ts +184 -0
  406. package/src/modules/search/style.less +503 -0
  407. package/src/modules/search/type.ts +22 -0
  408. package/src/modules/search/utils.ts +34 -0
  409. package/src/modules/sensitive/i18n.ts +391 -0
  410. package/src/modules/sensitive/index.tsx +604 -0
  411. package/src/modules/sensitive/sensitiveEditor.tsx +543 -0
  412. package/src/modules/sensitive/server.ts +197 -0
  413. package/src/modules/sensitiveId/AutoTag.tsx +311 -0
  414. package/src/modules/sensitiveId/UploadModal.tsx +181 -0
  415. package/src/modules/sensitiveId/VirtualWrap.tsx +125 -0
  416. package/src/modules/sensitiveId/index.tsx +253 -0
  417. package/src/modules/sensitiveId/server.ts +142 -0
  418. package/src/modules/streamFilesReader/GientechStreamReader.tsx +1658 -0
  419. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  420. package/src/modules/streamFilesReader/components/Header/index.tsx +297 -0
  421. package/src/modules/streamFilesReader/index.tsx +3 -0
  422. package/src/style.css +6 -0
  423. package/src/type.d.ts +0 -0
  424. package/src/utils/commonFn.tsx +153 -0
  425. package/src/utils/decryptApiKey.ts +40 -0
  426. package/src/utils/gientechCommon/components/AppError.tsx +32 -0
  427. package/src/utils/gientechCommon/components/AppLoading.tsx +75 -0
  428. package/src/utils/gientechCommon/components/DeleteModal.tsx +75 -0
  429. package/src/utils/gientechCommon/components/DisplayError.tsx +33 -0
  430. package/src/utils/gientechCommon/components/DisplayLoading.tsx +38 -0
  431. package/src/utils/gientechCommon/components/FeedBackModal.tsx +319 -0
  432. package/src/utils/gientechCommon/components/FileCardCommon.tsx +82 -0
  433. package/src/utils/gientechCommon/components/FileManager/index.tsx +418 -0
  434. package/src/utils/gientechCommon/components/FileManager/style.css +5 -0
  435. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +583 -0
  436. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +359 -0
  437. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +245 -0
  438. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +209 -0
  439. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  440. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +148 -0
  441. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +14 -0
  442. package/src/utils/gientechCommon/components/RenameModal.tsx +86 -0
  443. package/src/utils/gientechCommon/components/style.less +11 -0
  444. package/src/utils/gientechCommon/configs/commonConfig.ts +2 -0
  445. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  446. package/src/utils/gientechCommon/configs/stylesConfig.ts +142 -0
  447. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +761 -0
  448. package/src/utils/gientechCommon/hooks/style.less +8 -0
  449. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +352 -0
  450. package/src/utils/gientechCommon/hooks/useFileManager.ts +169 -0
  451. package/src/utils/gientechCommon/slate/converters/deserializers.ts +763 -0
  452. package/src/utils/gientechCommon/slate/converters/mockData.ts +232 -0
  453. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +258 -0
  454. package/src/utils/gientechCommon/slate/richElements/index.tsx +499 -0
  455. package/src/utils/gientechCommon/utils/fileUtils.ts +86 -0
  456. package/src/utils/gientechCommon/utils/index.ts +386 -0
  457. package/src/utils/gientechCommon/utils/request.ts +37 -0
  458. package/src/utils/gientechCommon/utils/serverFn.ts +172 -0
  459. package/src/utils/index.tsx +186 -0
  460. package/src/utils/testconfigs/demologin/index.tsx +32 -0
  461. package/src/utils/testconfigs/index.ts +66 -0
  462. package/src/vite-env.d.ts +49 -0
  463. package/stats.html +4949 -0
  464. package/tailwind.config.js +170 -0
  465. package/tsconfig.app.json +31 -0
  466. package/tsconfig.app.tsbuildinfo +11 -0
  467. package/tsconfig.json +17 -0
  468. package/tsconfig.node.json +23 -0
  469. package/tsconfig.node.tsbuildinfo +1 -0
  470. package/vite.config.app.ts +91 -0
  471. package/vite.config.ts +238 -0
  472. package/assets/index-BIEKgWu0.js +0 -27
  473. package/assets/index-C1tyXsqQ.js +0 -943
  474. package/assets/index-CzZQWA2P.js +0 -1
  475. package/assets/index-DPA1HCWQ.js +0 -1372
  476. package/assets/index-DPyRygOA.js +0 -745
  477. package/assets/plus-BICgMvz9.js +0 -6
  478. package/assets/search-CD5YKija.js +0 -6
  479. package/assets/style2.css +0 -1
  480. package/assets/style5.css +0 -1
  481. package/chat.js +0 -1
  482. package/chatCompare.js +0 -1
  483. package/database.js +0 -20
  484. package/index.js +0 -1
  485. package/modelManage.js +0 -1
  486. package/streamFilesReader.js +0 -1
  487. /package/{assets → dist/assets}/Doris.png +0 -0
  488. /package/{assets → dist/assets}/PostgreSQL.png +0 -0
  489. /package/{assets → dist/assets}/SQLServer.png +0 -0
  490. /package/{assets → dist/assets}/empty.png +0 -0
  491. /package/{assets → dist/assets}/homeBg.png +0 -0
  492. /package/{assets → dist/assets}/index-CpW6Dhpp.js +0 -0
  493. /package/{assets → dist/assets}/left.jpg +0 -0
  494. /package/{assets → dist/assets}/logoImg.png +0 -0
  495. /package/{assets → dist/assets}/style.css +0 -0
  496. /package/{assets → dist/assets}/style3.css +0 -0
  497. /package/{assets → dist/assets}/style4.css +0 -0
  498. /package/{assets → dist/assets}/worker-BbpylX7l.js +0 -0
  499. /package/{assistantConfig.d.ts → dist/assistantConfig.d.ts} +0 -0
  500. /package/{chat.d.ts → dist/chat.d.ts} +0 -0
  501. /package/{chatCompare.d.ts → dist/chatCompare.d.ts} +0 -0
  502. /package/{database.d.ts → dist/database.d.ts} +0 -0
  503. /package/{databaseId.d.ts → dist/databaseId.d.ts} +0 -0
  504. /package/{databaseTable.d.ts → dist/databaseTable.d.ts} +0 -0
  505. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  506. /package/{icons → dist/icons}/docx-file.png +0 -0
  507. /package/{icons → dist/icons}/folder.png +0 -0
  508. /package/{icons → dist/icons}/html.png +0 -0
  509. /package/{icons → dist/icons}/image.png +0 -0
  510. /package/{icons → dist/icons}/jpg-file.png +0 -0
  511. /package/{icons → dist/icons}/json.png +0 -0
  512. /package/{icons → dist/icons}/md.png +0 -0
  513. /package/{icons → dist/icons}/pdf.png +0 -0
  514. /package/{icons → dist/icons}/pptx.png +0 -0
  515. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  516. /package/{icons → dist/icons}/sheets.png +0 -0
  517. /package/{icons → dist/icons}/txt.png +0 -0
  518. /package/{icons → dist/icons}/xlsx.png +0 -0
  519. /package/{index.d.ts → dist/index.d.ts} +0 -0
  520. /package/{modelManage.d.ts → dist/modelManage.d.ts} +0 -0
  521. /package/{sensitive.d.ts → dist/sensitive.d.ts} +0 -0
  522. /package/{streamFilesReader.d.ts → dist/streamFilesReader.d.ts} +0 -0
  523. /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
+ };