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

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/README.md +761 -761
  2. package/{dist/assets/GientechStreamReader-Bae2-4f7.js → assets/GientechStreamReader-r5ZTSZk2.js} +1 -1
  3. package/{dist/assets/LeftOutlined-COk0w5nY.js → assets/LeftOutlined-DZMeGbKk.js} +1 -1
  4. package/{dist/assets/circle-plus-DOKqXUMk.js → assets/circle-plus-B73z_SUN.js} +1 -1
  5. package/{src/modules/database/assets → assets}/database.svg +11 -11
  6. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  7. package/{dist/assets → assets}/database_connect.svg +66 -66
  8. package/{dist/assets → assets}/database_upload.svg +29 -29
  9. package/{dist/assets → assets}/databse.svg +6 -6
  10. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  11. package/{dist/assets → assets}/graph.svg +4 -4
  12. package/{src/assets/img → assets}/iconAi.svg +9 -9
  13. package/{dist/assets/index-BKbpfN9S.js → assets/index-97Oe7YBe.js} +1 -1
  14. package/{dist/assets/index-BXdyn2W3.js → assets/index-B4k3tK0f.js} +1 -1
  15. package/{dist/assets/index-Bin0NZwF.js → assets/index-BDc2zBbG.js} +7 -3
  16. package/assets/index-BIEKgWu0.js +27 -0
  17. package/assets/index-CzZQWA2P.js +1 -0
  18. package/{dist/assets/index-CpSzj-Sx.js → assets/index-DHK_n74G.js} +58 -73
  19. package/assets/index-DPA1HCWQ.js +1372 -0
  20. package/assets/index-DPyRygOA.js +745 -0
  21. package/assets/index-YHUI3QVz.js +943 -0
  22. package/{dist/assets/index-vfI1_Qg0.js → assets/index-iOuQJ8vu.js} +1 -1
  23. package/{dist/assets/index-Ct_k24Ar.js → assets/index-usBlUHOb.js} +1 -1
  24. package/{src/modules/assistantConfig/assets → assets}/knowledge.svg +4 -4
  25. package/{src/modules/database/assets → assets}/mysql.svg +14 -14
  26. package/assets/plus-BICgMvz9.js +6 -0
  27. package/assets/search-CD5YKija.js +6 -0
  28. package/{dist/assets → assets}/sensitive.svg +5 -5
  29. package/assets/style-Blt3Kyyt.js +196 -0
  30. package/assets/style2.css +1 -0
  31. package/{dist/assets/triangle-alert-CaJaaCaZ.js → assets/triangle-alert-C4Z1AkGW.js} +1 -1
  32. package/{dist/assets/x-B65AntWN.js → assets/x-DWGzNb9c.js} +1 -1
  33. package/{dist/assistantConfig.js → assistantConfig.js} +14 -9
  34. package/chat.js +1 -0
  35. package/chatCompare.js +1 -0
  36. package/database.js +20 -0
  37. package/{dist/databaseId.js → databaseId.js} +1 -1
  38. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  39. package/index.js +1 -0
  40. package/modelManage.js +1 -0
  41. package/package.json +44 -125
  42. package/{dist/sensitive.js → sensitive.js} +6 -6
  43. package/streamFilesReader.js +1 -0
  44. package/{public/worker → worker}/pdf.worker.min.js +21 -21
  45. package/.editorconfig +0 -38
  46. package/.prettierignore +0 -16
  47. package/.prettierrc +0 -17
  48. package/CHANGELOG.md +0 -162
  49. package/Dockerfile +0 -15
  50. package/USAGE.md +0 -247
  51. package/bash.exe.stackdump +0 -40
  52. package/components.json +0 -21
  53. package/default.conf +0 -19
  54. package/dist/README.md +0 -761
  55. package/dist/assets/database.svg +0 -11
  56. package/dist/assets/database_add.svg +0 -53
  57. package/dist/assets/iconAi.svg +0 -9
  58. package/dist/assets/index-1PwCuRjv.js +0 -1061
  59. package/dist/assets/index-7QvYA6eT.js +0 -1
  60. package/dist/assets/index-BhUNGJOe.js +0 -27
  61. package/dist/assets/index-DT3qkjJ3.js +0 -750
  62. package/dist/assets/index-lFBFf_0k.js +0 -1890
  63. package/dist/assets/knowledge.svg +0 -4
  64. package/dist/assets/mysql.svg +0 -14
  65. package/dist/assets/style-CfNUqKAA.js +0 -196
  66. package/dist/assets/style2.css +0 -1
  67. package/dist/chat.js +0 -1
  68. package/dist/chatCompare.js +0 -1
  69. package/dist/database.js +0 -20
  70. package/dist/index.js +0 -1
  71. package/dist/modelManage.js +0 -1
  72. package/dist/package.json +0 -73
  73. package/dist/streamFilesReader.js +0 -1
  74. package/dist/worker/pdf.worker.min.js +0 -22
  75. package/doc_assets/images/1.png +0 -0
  76. package/doc_assets/images/3.png +0 -0
  77. package/doc_assets/images/component-screenshot.png +0 -1
  78. 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 +0 -115
  79. 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
  80. 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 +0 -359
  81. package/eslint.config.js +0 -92
  82. package/index.html +0 -13
  83. package/package.json.demo-backup +0 -109
  84. package/postcss.config.cjs +0 -19
  85. package/public/icons/answerAwartar.png +0 -0
  86. package/public/icons/docx-file.png +0 -0
  87. package/public/icons/folder.png +0 -0
  88. package/public/icons/html.png +0 -0
  89. package/public/icons/image.png +0 -0
  90. package/public/icons/jpg-file.png +0 -0
  91. package/public/icons/json.png +0 -0
  92. package/public/icons/md.png +0 -0
  93. package/public/icons/pdf.png +0 -0
  94. package/public/icons/pptx.png +0 -0
  95. package/public/icons/questionAwartar.png +0 -0
  96. package/public/icons/sheets.png +0 -0
  97. package/public/icons/txt.png +0 -0
  98. package/public/icons/xlsx.png +0 -0
  99. package/public/vite.svg +0 -1
  100. package/rag/assets/index.Bd0tNzw0.js +0 -2797
  101. package/rag/assets/index.D6t67hlu.css +0 -1
  102. package/rag/assets/left.KBHV5h7q.jpg +0 -0
  103. package/rag/assets/worker-BbpylX7l.DptbXke_.js +0 -13
  104. package/release-it.json +0 -21
  105. package/scripts/README.md +0 -133
  106. package/scripts/build-demo.js +0 -88
  107. package/scripts/check-changelog.cjs +0 -124
  108. package/scripts/check-version.cjs +0 -49
  109. package/scripts/decrypt-api-key.js +0 -95
  110. package/scripts/demo-selector.js +0 -216
  111. package/scripts/dev-demo.js +0 -85
  112. package/scripts/open-file.cjs +0 -61
  113. package/scripts/preview-demo.js +0 -130
  114. package/scripts/run-demo.bat +0 -34
  115. package/src/assets/img/close.png +0 -0
  116. package/src/assets/img/database.png +0 -0
  117. package/src/assets/img/downArrow.png +0 -0
  118. package/src/assets/img/downLoad.png +0 -0
  119. package/src/assets/img/excel.png +0 -0
  120. package/src/assets/img/graphIcon.png +0 -0
  121. package/src/assets/img/img.png +0 -0
  122. package/src/assets/img/pdf.png +0 -0
  123. package/src/assets/img/ppt.png +0 -0
  124. package/src/assets/img/search.svg +0 -3
  125. package/src/assets/img/selected.svg +0 -4
  126. package/src/assets/img/singleQa.png +0 -0
  127. package/src/assets/img/txt.png +0 -0
  128. package/src/assets/img/webSearch.png +0 -0
  129. package/src/assets/img/word.png +0 -0
  130. package/src/assets/login/homeBg.png +0 -0
  131. package/src/assets/login/left.jpg +0 -0
  132. package/src/assets/login/logoImg.png +0 -0
  133. package/src/examples/ConversationAssistantPage/index.tsx +0 -42
  134. package/src/examples/LoginPage/index.tsx +0 -20
  135. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  136. package/src/examples/chat/index.tsx +0 -171
  137. package/src/examples/chat/logo03.png +0 -0
  138. package/src/examples/chatCompare/icons/rag_think.svg +0 -8
  139. package/src/examples/chatCompare/icons/wenda_lianwangsousuo.svg +0 -9
  140. package/src/examples/chatCompare/index.tsx +0 -154
  141. package/src/examples/gientechStreamFilesReader/index.tsx +0 -979
  142. package/src/examples/headlessChat/assets/mind.svg +0 -6
  143. package/src/examples/headlessChat/assets/net.svg +0 -7
  144. package/src/examples/headlessChat/index.tsx +0 -298
  145. package/src/examples/knowledgebaseDetails/index.tsx +0 -119
  146. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  147. package/src/examples/ragDatabaseIdPage/index.tsx +0 -126
  148. package/src/examples/ragDatabasePage/index.tsx +0 -36
  149. package/src/examples/ragModelManagePage/index.tsx +0 -107
  150. package/src/examples/ragModelManagePage/style.css +0 -7
  151. package/src/examples/ragSearchPage/index.tsx +0 -0
  152. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -117
  153. package/src/examples/ragSensitiveWordsPage/style.css +0 -16
  154. package/src/examples/sensitiveId/index.tsx +0 -41
  155. package/src/examples/streamFiles/index.tsx +0 -417
  156. package/src/examples/utils/demo_setting_pannel.ts +0 -0
  157. package/src/lib_enter.ts +0 -44
  158. package/src/main.tsx +0 -5
  159. package/src/main.tsx.backup +0 -5
  160. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  161. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  162. package/src/modules/assistantConfig/assets/empty.png +0 -0
  163. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  164. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  165. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  166. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  167. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  168. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  169. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  170. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -40
  171. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  172. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  173. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  174. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -66
  175. package/src/modules/assistantConfig/constants.tsx +0 -75
  176. package/src/modules/assistantConfig/index.tsx +0 -785
  177. package/src/modules/assistantConfig/server.ts +0 -262
  178. package/src/modules/chat/AllFiles.tsx +0 -158
  179. package/src/modules/chat/Conversations/Item.tsx +0 -169
  180. package/src/modules/chat/Conversations/List.tsx +0 -210
  181. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  182. package/src/modules/chat/Conversations/index.tsx +0 -255
  183. package/src/modules/chat/ReferenceBar.tsx +0 -659
  184. package/src/modules/chat/constants.tsx +0 -66
  185. package/src/modules/chat/i18n.ts +0 -151
  186. package/src/modules/chat/i18n.tsx +0 -151
  187. package/src/modules/chat/icons/rag_think.svg +0 -8
  188. package/src/modules/chat/icons/wenda_lianwangsousuo.svg +0 -9
  189. package/src/modules/chat/index.tsx +0 -2400
  190. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  191. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  192. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  193. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  194. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  195. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  196. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  197. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  198. package/src/modules/chat/style.css +0 -6
  199. package/src/modules/chat/style.less +0 -7
  200. package/src/modules/chat/types.ts +0 -17
  201. package/src/modules/chat/utils/index.ts +0 -348
  202. package/src/modules/chatCompare/UseChatCompareHooks.ts +0 -103
  203. package/src/modules/chatCompare/components/AichatCompareUseController.tsx +0 -754
  204. package/src/modules/chatCompare/components/AssistantSelector.tsx +0 -127
  205. package/src/modules/chatCompare/components/ChatInputer.tsx +0 -67
  206. package/src/modules/chatCompare/components/ChatInstance.tsx +0 -426
  207. package/src/modules/chatCompare/components/ChatItem.tsx +0 -556
  208. package/src/modules/chatCompare/components/Sender/FileCardCommon.tsx +0 -97
  209. package/src/modules/chatCompare/components/Sender/FileUpload.tsx +0 -89
  210. package/src/modules/chatCompare/components/Sender/FilesDisplay.tsx +0 -309
  211. package/src/modules/chatCompare/components/Sender/VoiceInput.tsx +0 -80
  212. package/src/modules/chatCompare/components/Sender/contexts/BadgeContext.tsx +0 -36
  213. package/src/modules/chatCompare/components/Sender/fileIcon.tsx +0 -100
  214. package/src/modules/chatCompare/components/Sender/index.tsx +0 -850
  215. package/src/modules/chatCompare/components/UseChatInstanceHooks.ts +0 -406
  216. package/src/modules/chatCompare/components/UseScrollHooks.ts +0 -36
  217. package/src/modules/chatCompare/components/components/AllFiles.tsx +0 -156
  218. package/src/modules/chatCompare/components/components/DeleteModal.tsx +0 -75
  219. package/src/modules/chatCompare/components/components/DrawerContent.tsx +0 -138
  220. package/src/modules/chatCompare/components/components/DrawerDatabase.tsx +0 -110
  221. package/src/modules/chatCompare/components/components/DrawerGraphPreview.tsx +0 -95
  222. package/src/modules/chatCompare/components/components/DrawerPreview.tsx +0 -75
  223. package/src/modules/chatCompare/components/components/DrawerTitle.tsx +0 -26
  224. package/src/modules/chatCompare/components/components/DrawerVideo.tsx +0 -85
  225. package/src/modules/chatCompare/components/components/ReferenceBar.tsx +0 -659
  226. package/src/modules/chatCompare/components/components/RenameModal.tsx +0 -86
  227. package/src/modules/chatCompare/components/components/TagCom.tsx +0 -30
  228. package/src/modules/chatCompare/components/defaultStyleSet.tsx +0 -148
  229. package/src/modules/chatCompare/components/server.ts +0 -208
  230. package/src/modules/chatCompare/components/serverFn.ts +0 -172
  231. package/src/modules/chatCompare/components/style.less +0 -97
  232. package/src/modules/chatCompare/components/useFileManager.ts +0 -173
  233. package/src/modules/chatCompare/components/utils.ts +0 -31
  234. package/src/modules/chatCompare/data.ts +0 -842
  235. package/src/modules/chatCompare/index.tsx +0 -537
  236. package/src/modules/chatCompare/utils/AiChat.types.tsx +0 -110
  237. package/src/modules/chatCompare/utils/constants.tsx +0 -70
  238. package/src/modules/chatCompare/utils/fileUploadValidator.ts +0 -183
  239. package/src/modules/chatCompare/utils/icons/rag_think.svg +0 -8
  240. package/src/modules/chatCompare/utils/icons/wenda_lianwangsousuo.svg +0 -9
  241. package/src/modules/chatCompare/utils/index.ts +0 -46
  242. package/src/modules/database/CreateModal.tsx +0 -402
  243. package/src/modules/database/assets/Doris.png +0 -0
  244. package/src/modules/database/assets/PostgreSQL.png +0 -0
  245. package/src/modules/database/assets/SQLServer.png +0 -0
  246. package/src/modules/database/assets/database_connect.svg +0 -66
  247. package/src/modules/database/assets/database_upload.svg +0 -29
  248. package/src/modules/database/assets/empty.png +0 -0
  249. package/src/modules/database/index.tsx +0 -477
  250. package/src/modules/database/server.ts +0 -196
  251. package/src/modules/databaseId/CustomCom.tsx +0 -156
  252. package/src/modules/databaseId/EditConfig.tsx +0 -280
  253. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  254. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  255. package/src/modules/databaseId/assets/empty.png +0 -0
  256. package/src/modules/databaseId/assets/template.svg +0 -6
  257. package/src/modules/databaseId/assets/upload.svg +0 -9
  258. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  259. package/src/modules/databaseId/i18n.ts +0 -360
  260. package/src/modules/databaseId/index.tsx +0 -855
  261. package/src/modules/databaseId/server.ts +0 -286
  262. package/src/modules/databaseId/style.css +0 -5
  263. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  264. package/src/modules/databaseTable/index.tsx +0 -359
  265. package/src/modules/databaseTable/server.ts +0 -180
  266. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  267. package/src/modules/headlessChat/constants.tsx +0 -54
  268. package/src/modules/headlessChat/index.tsx +0 -1903
  269. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  270. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  271. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  272. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  273. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  274. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  275. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  276. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  277. package/src/modules/headlessChat/style.less +0 -3
  278. package/src/modules/headlessChat/types.ts +0 -23
  279. package/src/modules/headlessChat/utils/index.ts +0 -348
  280. package/src/modules/knowledgeBase/index.tsx +0 -58
  281. package/src/modules/knowledgeBase/server.ts +0 -196
  282. package/src/modules/knowledgebaseDetails/KnowledgeBaseDetails.tsx +0 -169
  283. package/src/modules/knowledgebaseDetails/components/KnowledgeBaseSummaryCard.tsx +0 -193
  284. package/src/modules/knowledgebaseDetails/components/fileManagementParts.tsx +0 -534
  285. package/src/modules/knowledgebaseDetails/components/index.ts +0 -3
  286. package/src/modules/knowledgebaseDetails/index.ts +0 -3
  287. package/src/modules/knowledgebaseDetails/modules/ConfigModule.tsx +0 -49
  288. package/src/modules/knowledgebaseDetails/modules/FaqModule.tsx +0 -47
  289. package/src/modules/knowledgebaseDetails/modules/KnowledgeParseModule.tsx +0 -771
  290. package/src/modules/knowledgebaseDetails/modules/RetrievalTestModule.tsx +0 -49
  291. package/src/modules/knowledgebaseDetails/modules/UploadManagementModule.tsx +0 -49
  292. package/src/modules/knowledgebaseDetails/modules/types.ts +0 -44
  293. package/src/modules/knowledgebaseDetails/modules-shim.d.ts +0 -14
  294. package/src/modules/knowledgebaseDetails/servers/analysis.ts +0 -5
  295. package/src/modules/knowledgebaseDetails/servers/index.ts +0 -318
  296. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -105
  297. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -181
  298. package/src/modules/login/components/Login/index.tsx +0 -100
  299. package/src/modules/login/i18n.ts +0 -217
  300. package/src/modules/login/index.tsx +0 -113
  301. package/src/modules/login/style.css +0 -3
  302. package/src/modules/login/useServices.ts +0 -53
  303. package/src/modules/login/utils.ts +0 -42
  304. package/src/modules/modelManage/ConfigDrawer.tsx +0 -267
  305. package/src/modules/modelManage/ReplaceModal.tsx +0 -113
  306. package/src/modules/modelManage/assets/empty.png +0 -0
  307. package/src/modules/modelManage/const.ts +0 -51
  308. package/src/modules/modelManage/i18n.ts +0 -407
  309. package/src/modules/modelManage/index.tsx +0 -668
  310. package/src/modules/modelManage/server.ts +0 -231
  311. package/src/modules/nodegraph/index.tsx +0 -1
  312. package/src/modules/search/assets/Icon-history.svg +0 -8
  313. package/src/modules/search/assets/answerAwartar.png +0 -0
  314. package/src/modules/search/assets/doc.png +0 -0
  315. package/src/modules/search/assets/genera.gif +0 -0
  316. package/src/modules/search/assets/icon-robot.svg +0 -9
  317. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  318. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  319. package/src/modules/search/assets/icon-title.svg +0 -9
  320. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  321. package/src/modules/search/assets/iconAi.svg +0 -9
  322. package/src/modules/search/assets/pdf.png +0 -0
  323. package/src/modules/search/assets/ppt.png +0 -0
  324. package/src/modules/search/assets/search.svg +0 -3
  325. package/src/modules/search/assets/selected.svg +0 -4
  326. package/src/modules/search/assets/txt.png +0 -0
  327. package/src/modules/search/assets/xls.png +0 -0
  328. package/src/modules/search/components/AssisSelect.tsx +0 -137
  329. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  330. package/src/modules/search/components/Editor/aichat.css +0 -1
  331. package/src/modules/search/components/Editor/constant.ts +0 -13
  332. package/src/modules/search/components/Editor/index.tsx +0 -113
  333. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  334. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  335. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  336. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  337. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  338. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  339. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  340. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  341. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  342. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  343. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  344. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  345. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  346. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  347. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  348. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  349. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  350. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  351. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  352. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  353. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  354. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  355. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  356. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  357. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  358. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  359. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  360. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  361. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  362. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  363. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  364. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  365. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  366. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  367. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  368. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  369. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  370. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  371. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  372. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  373. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  374. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  375. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  376. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  377. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  378. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  379. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  380. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  381. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  382. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  383. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  384. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  385. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  386. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  387. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  388. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  389. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  390. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  391. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  392. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  393. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  394. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  395. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  396. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  397. package/src/modules/search/components/Editor/ui/style.less +0 -12
  398. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  399. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  400. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  401. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  402. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  403. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  404. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  405. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  406. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  407. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  408. package/src/modules/search/components/FileList.tsx +0 -287
  409. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  410. package/src/modules/search/components/ResultContent.tsx +0 -232
  411. package/src/modules/search/components/SearchInput.tsx +0 -232
  412. package/src/modules/search/components/SearchLanding.tsx +0 -74
  413. package/src/modules/search/components/SearchView.tsx +0 -563
  414. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  415. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  416. package/src/modules/search/index.tsx +0 -10
  417. package/src/modules/search/reademe.md +0 -1
  418. package/src/modules/search/servers/apis.tsx +0 -19
  419. package/src/modules/search/servers/index.ts +0 -184
  420. package/src/modules/search/style.less +0 -503
  421. package/src/modules/search/type.ts +0 -22
  422. package/src/modules/search/utils.ts +0 -34
  423. package/src/modules/sensitive/i18n.ts +0 -391
  424. package/src/modules/sensitive/index.tsx +0 -604
  425. package/src/modules/sensitive/sensitiveEditor.tsx +0 -543
  426. package/src/modules/sensitive/server.ts +0 -197
  427. package/src/modules/sensitiveId/AutoTag.tsx +0 -311
  428. package/src/modules/sensitiveId/UploadModal.tsx +0 -181
  429. package/src/modules/sensitiveId/VirtualWrap.tsx +0 -125
  430. package/src/modules/sensitiveId/index.tsx +0 -253
  431. package/src/modules/sensitiveId/server.ts +0 -142
  432. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1658
  433. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  434. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  435. package/src/modules/streamFilesReader/index.tsx +0 -3
  436. package/src/style.css +0 -6
  437. package/src/type.d.ts +0 -0
  438. package/src/utils/commonFn.tsx +0 -153
  439. package/src/utils/decryptApiKey.ts +0 -40
  440. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  441. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  442. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  443. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  444. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  445. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  446. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  447. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  448. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  449. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -583
  450. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  451. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  452. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  453. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  454. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  455. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  456. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  457. package/src/utils/gientechCommon/components/style.less +0 -11
  458. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  459. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  460. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  461. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -761
  462. package/src/utils/gientechCommon/hooks/style.less +0 -8
  463. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -352
  464. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -169
  465. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  466. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  467. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  468. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  469. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  470. package/src/utils/gientechCommon/utils/index.ts +0 -386
  471. package/src/utils/gientechCommon/utils/request.ts +0 -37
  472. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  473. package/src/utils/index.tsx +0 -186
  474. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  475. package/src/utils/testconfigs/index.ts +0 -66
  476. package/src/vite-env.d.ts +0 -49
  477. package/stats.html +0 -4949
  478. package/tailwind.config.js +0 -170
  479. package/tsconfig.app.json +0 -31
  480. package/tsconfig.app.tsbuildinfo +0 -11
  481. package/tsconfig.json +0 -17
  482. package/tsconfig.node.json +0 -23
  483. package/tsconfig.node.tsbuildinfo +0 -1
  484. package/vite.config.app.ts +0 -91
  485. package/vite.config.ts +0 -238
  486. /package/{dist/assets → assets}/Doris.png +0 -0
  487. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  488. /package/{dist/assets → assets}/SQLServer.png +0 -0
  489. /package/{dist/assets → assets}/empty.png +0 -0
  490. /package/{dist/assets → assets}/homeBg.png +0 -0
  491. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  492. /package/{dist/assets → assets}/left.jpg +0 -0
  493. /package/{dist/assets → assets}/logoImg.png +0 -0
  494. /package/{dist/assets → assets}/style.css +0 -0
  495. /package/{dist/assets → assets}/style3.css +0 -0
  496. /package/{dist/assets → assets}/style4.css +0 -0
  497. /package/{dist/assets → assets}/style5.css +0 -0
  498. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  499. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  500. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  501. /package/{dist/chatCompare.d.ts → chatCompare.d.ts} +0 -0
  502. /package/{dist/database.d.ts → database.d.ts} +0 -0
  503. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  504. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  505. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  506. /package/{dist/icons → icons}/docx-file.png +0 -0
  507. /package/{dist/icons → icons}/folder.png +0 -0
  508. /package/{dist/icons → icons}/html.png +0 -0
  509. /package/{dist/icons → icons}/image.png +0 -0
  510. /package/{dist/icons → icons}/jpg-file.png +0 -0
  511. /package/{dist/icons → icons}/json.png +0 -0
  512. /package/{dist/icons → icons}/md.png +0 -0
  513. /package/{dist/icons → icons}/pdf.png +0 -0
  514. /package/{dist/icons → icons}/pptx.png +0 -0
  515. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  516. /package/{dist/icons → icons}/sheets.png +0 -0
  517. /package/{dist/icons → icons}/txt.png +0 -0
  518. /package/{dist/icons → icons}/xlsx.png +0 -0
  519. /package/{dist/index.d.ts → index.d.ts} +0 -0
  520. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  521. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  522. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  523. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,89 +0,0 @@
1
- import React from 'react';
2
- import { X } from 'lucide-react';
3
- import { Icon } from '@mxmweb/zui';
4
- import { getFileTypeIcon } from './fileIcon';
5
-
6
- interface FilePreview {
7
- file: File;
8
- preview?: string;
9
- type: 'image' | 'document';
10
- }
11
-
12
- interface FileUploadProps {
13
- uploadedFiles: FilePreview[];
14
- onUpload?: (files: FileList) => void;
15
- onRemoveFile?: (index: number) => void;
16
- styles?: any; // 支持自定义图标配置
17
- }
18
-
19
- export default function FileUpload({
20
- uploadedFiles,
21
- onUpload,
22
- onRemoveFile,
23
- styles,
24
- }: FileUploadProps) {
25
- const fileInputRef = React.useRef<HTMLInputElement>(null);
26
-
27
- const handleFileSelect = (e: React.ChangeEvent<HTMLInputElement>) => {
28
- if (e.target.files && e.target.files.length > 0) {
29
- onUpload?.(e.target.files);
30
- }
31
- };
32
-
33
- return (
34
- <>
35
- {uploadedFiles && uploadedFiles.length > 0 && (
36
- <div className="mb-2 flex flex-wrap gap-2">
37
- {uploadedFiles.map((file, index) => (
38
- <div
39
- key={index}
40
- className="relative group bg-white/80 backdrop-blur-sm rounded-lg p-2 flex items-center gap-2 border border-gray-200/50 shadow-sm"
41
- >
42
- {file.type === 'image' ? (
43
- <>
44
- <div className="w-8 h-8 rounded overflow-hidden">
45
- <img src={file.preview} alt="" className="w-full h-full object-cover" />
46
- </div>
47
- <span className="absolute top-2 left-2 w-4 h-4 text-white drop-shadow">
48
- <Icon type="rag/pic" size={14} />
49
- </span>
50
- </>
51
- ) : (
52
- <>
53
- {(() => {
54
- const ext = (file.file?.name || '').split('.').pop() || 'file';
55
- const icon = getFileTypeIcon(ext, styles);
56
- return icon;
57
- })()}
58
- </>
59
- )}
60
- <span className="text-xs text-gray-700 max-w-[120px] truncate">{file.file.name}</span>
61
- <button
62
- onClick={() => onRemoveFile?.(index)}
63
- className="absolute -top-1.5 -right-1.5 w-4 h-4 rounded-full bg-gray-500/90 text-white flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity hover:bg-gray-600"
64
- >
65
- <X className="w-3 h-3" />
66
- </button>
67
- </div>
68
- ))}
69
- </div>
70
- )}
71
- <input
72
- ref={fileInputRef}
73
- type="file"
74
- multiple
75
- className="hidden"
76
- id="file-upload"
77
- onChange={handleFileSelect}
78
- />
79
- <label
80
- htmlFor="file-upload"
81
- className="relative w-7 h-7 flex items-center justify-center rounded-lg cursor-pointer group"
82
- >
83
- <div className="absolute inset-0 bg-black/[0.02] rounded-lg group-hover:bg-black/[0.04] transition-colors duration-200"></div>
84
- {/* 注意:文件夹图标暂时使用 rag/folder,因为 Files/ 系列中没有对应的文件夹图标 */}
85
- <Icon type="rag/folder" size={17} />
86
- </label>
87
- </>
88
- );
89
- }
@@ -1,309 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { Loader2, CheckCircle2, AlertCircle, ChevronLeft, ChevronRight } from 'lucide-react';
3
- import anime from 'animejs';
4
- import FileCardCommon from './FileCardCommon';
5
- import { getFileTypeIcon } from './fileIcon';
6
-
7
- interface FilePreview {
8
- file: File;
9
- preview?: string;
10
- type: 'image' | 'document';
11
- status?: 'pending' | 'uploading' | 'parsing' | 'done' | 'error' | 'finished';
12
- name?: string; // name 和 uid 可能是从 fileUploadStatus 传来的
13
- uid?: string;
14
- styles?: any;
15
- }
16
-
17
- // 图片预览图标组件,支持错误回退
18
- const ImagePreviewIcon: React.FC<{
19
- src: string;
20
- alt: string;
21
- fallback: React.ReactNode;
22
- onError?: () => void;
23
- }> = ({ src, alt, fallback, onError }) => {
24
- const [hasError, setHasError] = useState(false);
25
-
26
- if (hasError) {
27
- // 如果预览图加载失败,显示回退图标
28
- return (
29
- <div
30
- style={{
31
- width: 24,
32
- height: 24,
33
- display: 'flex',
34
- alignItems: 'center',
35
- justifyContent: 'center',
36
- }}
37
- >
38
- {fallback}
39
- </div>
40
- );
41
- }
42
-
43
- return (
44
- <img
45
- src={src}
46
- alt={alt}
47
- style={{
48
- width: 24,
49
- height: 24,
50
- objectFit: 'cover',
51
- borderRadius: '4px',
52
- }}
53
- onError={() => {
54
- setHasError(true);
55
- onError?.();
56
- }}
57
- />
58
- );
59
- };
60
-
61
- export default function FilesDisplay({
62
- uploadedFiles,
63
- onRemoveFile,
64
- eventsEmit,
65
- styles,
66
- }: {
67
- uploadedFiles: FilePreview[];
68
- onRemoveFile: (idx: number) => void;
69
- eventsEmit?: (eventName: string) => void;
70
- styles?: any;
71
- }) {
72
- const scrollContainerRef = useRef<HTMLDivElement>(null);
73
- const [canScrollLeft, setCanScrollLeft] = useState(false);
74
- const [canScrollRight, setCanScrollRight] = useState(false);
75
-
76
- // 检查滚动状态
77
- const checkScrollability = () => {
78
- const container = scrollContainerRef.current;
79
- if (!container) return;
80
-
81
- const { scrollLeft, scrollWidth, clientWidth } = container;
82
- setCanScrollLeft(scrollLeft > 0);
83
- setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 1);
84
- };
85
-
86
- // 监听滚动事件和文件列表变化
87
- useEffect(() => {
88
- const container = scrollContainerRef.current;
89
- if (!container) return;
90
-
91
- // 延迟检查,确保 DOM 已更新
92
- const timeoutId = setTimeout(() => {
93
- checkScrollability();
94
- }, 0);
95
-
96
- container.addEventListener('scroll', checkScrollability);
97
-
98
- // 监听窗口大小变化
99
- const resizeObserver = new ResizeObserver(() => {
100
- checkScrollability();
101
- });
102
- resizeObserver.observe(container);
103
-
104
- return () => {
105
- clearTimeout(timeoutId);
106
- container.removeEventListener('scroll', checkScrollability);
107
- resizeObserver.disconnect();
108
- };
109
- }, [uploadedFiles]);
110
-
111
- // 滚动函数
112
- const scroll = (direction: 'left' | 'right') => {
113
- const container = scrollContainerRef.current;
114
- if (!container) return;
115
-
116
- const scrollAmount = 200; // 每次滚动200px
117
- const currentScroll = container.scrollLeft;
118
- const newScroll =
119
- direction === 'left' ? currentScroll - scrollAmount : currentScroll + scrollAmount;
120
-
121
- container.scrollTo({
122
- left: newScroll,
123
- behavior: 'smooth',
124
- });
125
- };
126
-
127
- // 顶层 useEffect,调试所有文件的 status
128
- useEffect(() => {
129
- uploadedFiles.forEach((fileObj, idx) => {
130
- if (!fileObj) return;
131
- console.log('FilesDisplay currentStatus', fileObj.status);
132
- });
133
- }, [uploadedFiles]);
134
-
135
- useEffect(() => {
136
- // 检查是否所有文件都完成了它们的生命周期,准备离场
137
- const allFinished =
138
- uploadedFiles.length > 0 && uploadedFiles.every(f => f.status === 'finished');
139
- if (allFinished) {
140
- anime({
141
- targets: '.file-display-card', // 使用class选择器来选中所有卡片
142
- opacity: 0,
143
- scale: 0.8,
144
- delay: anime.stagger(100), // 每个卡片依次延迟100ms播放动画
145
- duration: 400,
146
- easing: 'easeOutExpo',
147
- complete: () => {
148
- // 所有动画完成后,通知上层组件可以清空state了
149
- eventsEmit?.('files:finished_animation_complete');
150
- },
151
- });
152
- }
153
- }, [uploadedFiles, eventsEmit]);
154
-
155
- const borderColor = styles?.theme?.colors?.border || '#dee2e6';
156
- const disabledColor = styles?.theme?.colors?.disabled || '#808080';
157
-
158
- return (
159
- <div className="flex items-center w-full gap-2">
160
- {/* 左侧滚动按钮 */}
161
- {canScrollLeft ? (
162
- <button
163
- onClick={() => scroll('left')}
164
- className="shrink-0 w-7 h-7 rounded-full bg-white shadow-sm border flex items-center justify-center hover:bg-gray-50 hover:shadow-md transition-all cursor-pointer"
165
- style={{
166
- borderColor: borderColor,
167
- borderWidth: '1px',
168
- }}
169
- aria-label="向左滚动"
170
- >
171
- <ChevronLeft size={16} style={{ color: disabledColor }} />
172
- </button>
173
- ) : (
174
- <div className="shrink-0 w-0" />
175
- )}
176
-
177
- {/* 文件列表容器 */}
178
- <div
179
- ref={scrollContainerRef}
180
- className="flex-1 flex overflow-x-auto gap-3 pb-[0.5px] files-display-scroll"
181
- style={{
182
- scrollbarWidth: 'none', // Firefox - 完全隐藏
183
- scrollbarColor: 'transparent transparent', // Firefox
184
- }}
185
- >
186
- {uploadedFiles.filter(Boolean).map((fileObj, idx) => {
187
- if (!fileObj || !fileObj.file) return null;
188
- // 优先使用 fileObj.name,其次是 fileObj.file.name
189
- const fileName = fileObj.name || fileObj.file.name;
190
- const fileSize = fileObj.file?.size;
191
- let { type, status } = fileObj;
192
-
193
- // 如果是finished状态,UI上表现为done状态
194
- if (status === 'finished') {
195
- status = 'done';
196
- }
197
-
198
- // 生成唯一的 key:使用文件名 + 大小 + 索引 + 时间戳(如果有 uid 则使用 uid)
199
- const uniqueKey =
200
- fileObj.uid ||
201
- `${fileName}-${fileSize}-${idx}-${fileObj.file.lastModified || Date.now()}`;
202
-
203
- // 文件大小格式化
204
- const formatSize = (size: number) => {
205
- if (!size) return '';
206
- if (size < 1024) return `${size}B`;
207
- if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)}KB`;
208
- return `${(size / 1024 / 1024).toFixed(1)}MB`;
209
- };
210
-
211
- // 状态映射
212
- const statusMap: {
213
- [key: string]: { text: string; icon: React.ReactNode; color: string };
214
- } = {
215
- pending: { text: '待发送', icon: null, color: 'text-gray-400' },
216
- uploading: {
217
- text: '上传中',
218
- icon: <Loader2 className="w-3 h-3 animate-spin" />,
219
- color: 'text-blue-500',
220
- },
221
- parsing: {
222
- text: '解析中',
223
- icon: <Loader2 className="w-3 h-3 animate-spin" />,
224
- color: 'text-blue-500',
225
- },
226
- done: {
227
- text: '已就绪',
228
- icon: <CheckCircle2 className="w-3 h-3" />,
229
- color: 'text-green-500',
230
- },
231
- error: {
232
- text: '失败',
233
- icon: <AlertCircle className="w-3 h-3" />,
234
- color: 'text-red-500',
235
- },
236
- };
237
- const currentStatus = statusMap[status || 'pending'] || {
238
- text: '未知',
239
- icon: null,
240
- color: 'text-gray-400',
241
- };
242
-
243
- // 获取文件扩展名(转换为小写)
244
- const fileType = fileName.split('.').pop()?.toLowerCase() || '';
245
-
246
- // 获取文件类型图标(优先使用扩展名判断,而不是 type 字段)
247
- // 如果 fileType 为空,使用 'unknow' 作为默认类型
248
- const defaultIcon = getFileTypeIcon(fileType || 'unknow', styles);
249
-
250
- // 只有当文件扩展名明确是图片类型,且有预览图时,才显示预览图
251
- // 这样可以避免非图片文件被错误识别为图片类型
252
- const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg', 'ico'];
253
- const isImageFile = imageExtensions.includes(fileType);
254
- const isImage = isImageFile && type === 'image' && fileObj.preview;
255
-
256
- const icon = isImage ? (
257
- <ImagePreviewIcon src={fileObj.preview!} alt={fileName} fallback={defaultIcon} />
258
- ) : (
259
- defaultIcon
260
- );
261
-
262
- return (
263
- <FileCardCommon
264
- key={uniqueKey}
265
- cardId={`file-card-${idx}`}
266
- fileName={fileName}
267
- fileSize={fileSize}
268
- icon={icon}
269
- statusText={currentStatus.text || '未知'}
270
- statusColor={currentStatus.color || 'text-gray-400'}
271
- statusIcon={currentStatus.icon || null}
272
- showRemove={status !== 'parsing' && status !== 'uploading'}
273
- onRemoveWithAnim={id => {
274
- anime({
275
- targets: `#${id}`,
276
- opacity: 0,
277
- scale: 0.8,
278
- duration: 300,
279
- easing: 'easeOutExpo',
280
- complete: () => {
281
- onRemoveFile?.(idx);
282
- },
283
- });
284
- }}
285
- themeColors={styles?.theme?.colors}
286
- />
287
- );
288
- })}
289
- </div>
290
-
291
- {/* 右侧滚动按钮 */}
292
- {canScrollRight ? (
293
- <button
294
- onClick={() => scroll('right')}
295
- className="shrink-0 w-7 h-7 rounded-full bg-white shadow-sm border flex items-center justify-center hover:bg-gray-50 hover:shadow-md transition-all cursor-pointer"
296
- style={{
297
- borderColor: borderColor,
298
- borderWidth: '1px',
299
- }}
300
- aria-label="向右滚动"
301
- >
302
- <ChevronRight size={16} style={{ color: disabledColor }} />
303
- </button>
304
- ) : (
305
- <div className="shrink-0 w-0" />
306
- )}
307
- </div>
308
- );
309
- }
@@ -1,80 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { Mic } from 'lucide-react';
3
- import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition';
4
-
5
- interface VoiceInputProps {
6
- onResult: (text: string) => void;
7
- onError?: (error: string) => void;
8
- }
9
-
10
- export default function VoiceInput({ onResult, onError }: VoiceInputProps) {
11
- const {
12
- transcript,
13
- listening,
14
- resetTranscript,
15
- browserSupportsSpeechRecognition,
16
- isMicrophoneAvailable,
17
- } = useSpeechRecognition();
18
-
19
- useEffect(() => {
20
- console.log(transcript, 'transcript');
21
- if (transcript) {
22
- onResult(transcript);
23
- }
24
- }, [transcript, onResult]);
25
-
26
- useEffect(() => {
27
- if (!browserSupportsSpeechRecognition) {
28
- onError && onError('您的浏览器不支持语音识别功能');
29
- } else if (!isMicrophoneAvailable) {
30
- onError && onError('无法访问麦克风,请检查权限设置');
31
- }
32
- }, [browserSupportsSpeechRecognition, isMicrophoneAvailable, onError]);
33
-
34
- const toggleRecording = () => {
35
- if (!browserSupportsSpeechRecognition) {
36
- console.log(SpeechRecognition, '您的浏览器不支持语音识别功能');
37
- onError && onError('您的浏览器不支持语音识别功能');
38
- return;
39
- }
40
- if (!isMicrophoneAvailable) {
41
- console.log(SpeechRecognition, '无法访问麦克风,请检查权限设置');
42
- onError && onError('无法访问麦克风,请检查权限设置');
43
- return;
44
- }
45
- if (listening) {
46
- console.log(SpeechRecognition, '停止录音');
47
- SpeechRecognition.stopListening();
48
- } else {
49
- console.log(SpeechRecognition, '开始录音');
50
- resetTranscript();
51
- SpeechRecognition.startListening({ continuous: true, language: 'zh-CN' });
52
- }
53
- };
54
-
55
- return (
56
- <div
57
- className={`relative w-7 h-7 flex items-center justify-center rounded-lg cursor-pointer group ${listening ? 'bg-blue-50' : ''}`}
58
- onClick={toggleRecording}
59
- title={listening ? '点击停止录音' : '点击开始录音'}
60
- >
61
- <div
62
- className={`absolute inset-0 rounded-lg transition-colors duration-200 ${
63
- listening ? 'bg-blue-100' : 'bg-black/[0.02] group-hover:bg-black/[0.04]'
64
- }`}
65
- ></div>
66
- {!listening ? (
67
- <Mic className="w-[17px] h-[17px] text-gray-600/85" />
68
- ) : (
69
- <span className="relative w-[17px] h-[17px] flex items-center justify-center">
70
- <span className="absolute inset-0 flex items-center justify-center">
71
- <span className="group-hover:hidden w-[17px] h-[17px] rounded-full bg-red-500 animate-pulse"></span>
72
- <span className="hidden group-hover:flex items-center justify-center">
73
- <span className="w-[13px] h-[13px] bg-red-500 rounded-[3px]"></span>
74
- </span>
75
- </span>
76
- </span>
77
- )}
78
- </div>
79
- );
80
- }
@@ -1,36 +0,0 @@
1
- import React, { createContext, useContext, useState } from 'react';
2
-
3
- interface BadgeContextType {
4
- badgeCounts: Record<string, number>;
5
- updateBadgeCount: (name: string, count: number) => void;
6
- }
7
-
8
- const BadgeContext = createContext<BadgeContextType>({
9
- badgeCounts: {},
10
- updateBadgeCount: () => {},
11
- });
12
-
13
- export const BadgeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
14
- const [badgeCounts, setBadgeCounts] = useState<Record<string, number>>({});
15
-
16
- const updateBadgeCount = (name: string, count: number) => {
17
- setBadgeCounts(prev => ({
18
- ...prev,
19
- [name]: count,
20
- }));
21
- };
22
-
23
- return (
24
- <BadgeContext.Provider value={{ badgeCounts, updateBadgeCount }}>
25
- {children}
26
- </BadgeContext.Provider>
27
- );
28
- };
29
-
30
- export const useBadge = () => {
31
- const context = useContext(BadgeContext);
32
- if (!context) {
33
- throw new Error('useBadge must be used within a BadgeProvider');
34
- }
35
- return context;
36
- };
@@ -1,100 +0,0 @@
1
- import React from 'react';
2
- import { Icon } from '@mxmweb/zui';
3
-
4
- /**
5
- * 文件类型图标获取函数
6
- * 优先使用用户传入的 styles.theme.icons,如果没有配置则使用 zui-icon 的默认图标
7
- * 支持两种形式的自定义图标:
8
- * 1. React 组件形式:<Icon type="rag/pdf" size={18} />
9
- * 2. 图片路径形式:字符串 URL
10
- * 默认图标使用 rag/xxx 格式的图标系统
11
- * @param type 文件类型(如 'pdf', 'docx', 'jpg' 等)
12
- * @param styles 样式配置对象,可包含 theme.icons 自定义图标
13
- * @returns React.ReactNode 图标组件
14
- */
15
- export function getFileTypeIcon(type: string, styles?: any): React.ReactNode {
16
- const icons = styles?.theme?.icons || {};
17
-
18
- /**
19
- * 获取图标辅助函数
20
- * 优先使用用户配置的图标,支持 React 组件和图片路径两种形式
21
- */
22
- const getIcon = (iconKey: string, defaultIconType: string, fallbackKeys?: string[]): React.ReactNode => {
23
- // 尝试从配置中获取图标(支持多个可能的键名)
24
- const iconKeys = [iconKey, ...(fallbackKeys || [])];
25
- for (const key of iconKeys) {
26
- const customIcon = icons[key];
27
- if (customIcon) {
28
- // 如果是 React 元素(组件),直接返回
29
- if (React.isValidElement(customIcon)) {
30
- return customIcon;
31
- }
32
- // 如果是字符串(图片路径),返回 img 标签
33
- if (typeof customIcon === 'string') {
34
- return <img src={customIcon} alt={key} style={{ width: 20, height: 20 }} />;
35
- }
36
- }
37
- }
38
- // 如果没有配置,使用默认图标
39
- return <Icon type={defaultIconType} size={18} />;
40
- };
41
-
42
- switch (type.toLowerCase()) {
43
- case 'docx':
44
- case 'doc':
45
- return getIcon('docx', 'rag/word', ['doc']);
46
- case 'image':
47
- case 'jpg':
48
- case 'jpeg':
49
- case 'png':
50
- case 'gif':
51
- case 'bmp':
52
- case 'webp':
53
- case 'svg':
54
- case 'ico':
55
- return getIcon('image', 'rag/pic', ['png', 'jpg', 'jpeg']);
56
- case 'pptx':
57
- case 'ppt':
58
- return getIcon('pptx', 'rag/ppt', ['ppt']);
59
- case 'sheets':
60
- case 'excel':
61
- case 'xls':
62
- case 'xlsx':
63
- case 'xlsm':
64
- case 'xlsb':
65
- case 'xltx':
66
- case 'xltm':
67
- case 'xlt':
68
- case 'xlam':
69
- if (type.toLowerCase() === 'csv') {
70
- return getIcon('csv', 'rag/csv', ['sheets', 'excel']);
71
- }
72
- return getIcon('sheets', 'rag/excel', ['excel', 'xls', 'xlsx']);
73
- case 'pdf':
74
- return getIcon('pdf', 'rag/pdf');
75
- case 'txt':
76
- return getIcon('txt', 'rag/txt');
77
- case 'md':
78
- return getIcon('md', 'rag/txt', ['txt']);
79
- case 'json':
80
- return getIcon('json', 'rag/json');
81
- case 'html':
82
- case 'htm':
83
- case 'url':
84
- return getIcon('html', 'rag/url', ['htm', 'url']);
85
- case 'zip':
86
- case 'rar':
87
- case '7z':
88
- return getIcon('archive', 'rag/zip', ['zip', 'rar']);
89
- case 'odt':
90
- case 'ods':
91
- case 'odp':
92
- case 'odf':
93
- return getIcon('odt', 'rag/odf');
94
- case 'xml':
95
- return getIcon('xml', 'rag/file');
96
- default:
97
- // 默认使用 zui-icon 的未知文件类型图标
98
- return <Icon type='rag/file' size={18} />;
99
- }
100
- }