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

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