@mxmweb/aichat 1.1.8 → 1.2.1

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/{dist/adopters → adopters}/gientechCommon/components/Messages/AiChatBox.d.ts +3 -1
  2. package/{dist/adopters → adopters}/gientechCommon/components/Messages/RetriveItem.d.ts +2 -0
  3. package/assets/aichat.css +1 -0
  4. package/{dist/components → components}/AiChat.d.ts +1 -11
  5. package/{dist/index.js → index.js} +6523 -6497
  6. package/package.json +10 -41
  7. package/{dist/utils → utils}/index.d.ts +1 -0
  8. package/.editorconfig +0 -38
  9. package/.github/workflows/release.yml +0 -60
  10. package/.prettierignore +0 -16
  11. package/.prettierrc +0 -17
  12. package/.releaserc.json +0 -36
  13. package/CHANGELOG.md +0 -58
  14. package/CONTRIBUTING.md +0 -111
  15. package/NPMREADME.md +0 -215
  16. package/bash.exe.stackdump +0 -40
  17. package/components.json +0 -21
  18. package/demo.txt +0 -134
  19. package/dist/README.md +0 -216
  20. package/dist/assets/aichat.css +0 -1
  21. package/dist/package.json +0 -19
  22. package/eslint.config.js +0 -92
  23. package/index.html +0 -14
  24. package/postcss.config.cjs +0 -19
  25. package/public/icons/answerAwartar.png +0 -0
  26. package/public/icons/docx-file.png +0 -0
  27. package/public/icons/folder.png +0 -0
  28. package/public/icons/html.png +0 -0
  29. package/public/icons/image.png +0 -0
  30. package/public/icons/jpg-file.png +0 -0
  31. package/public/icons/json.png +0 -0
  32. package/public/icons/md.png +0 -0
  33. package/public/icons/pdf.png +0 -0
  34. package/public/icons/pptx.png +0 -0
  35. package/public/icons/questionAwartar.png +0 -0
  36. package/public/icons/sheets.png +0 -0
  37. package/public/icons/txt.png +0 -0
  38. package/public/icons/xlsx.png +0 -0
  39. package/public/libs/luckysheet/fontAwesome.otf +0 -0
  40. package/public/libs/luckysheet/fontawesome-webfont.eot +0 -0
  41. package/public/libs/luckysheet/fontawesome-webfont.svg +0 -2671
  42. package/public/libs/luckysheet/fontawesome-webfont.ttf +0 -0
  43. package/public/libs/luckysheet/fontawesome-webfont.woff +0 -0
  44. package/public/libs/luckysheet/fontawesome-webfont.woff2 +0 -0
  45. package/public/libs/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  46. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  47. package/public/libs/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  48. package/public/libs/luckysheet/iconfont.css +0 -461
  49. package/public/libs/luckysheet/jquery.min.js +0 -2
  50. package/public/libs/luckysheet/luckysheet.css +0 -1
  51. package/public/libs/luckysheet/luckysheet.umd.js +0 -27
  52. package/public/libs/luckysheet/plugin.js +0 -1
  53. package/public/libs/luckysheet/plugins.css +0 -10
  54. package/public/libs/luckysheet/pluginsCss.css +0 -1
  55. package/public/vite.svg +0 -1
  56. package/public/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  57. package/public/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
  58. package/public/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
  59. package/public/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
  60. package/public/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
  61. package/public/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
  62. package/public/vs/base/common/worker/simpleWorker.nls.js +0 -8
  63. package/public/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
  64. package/public/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
  65. package/public/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
  66. package/public/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
  67. package/public/vs/base/worker/workerMain.js +0 -27
  68. package/public/vs/basic-languages/abap/abap.js +0 -10
  69. package/public/vs/basic-languages/apex/apex.js +0 -10
  70. package/public/vs/basic-languages/azcli/azcli.js +0 -10
  71. package/public/vs/basic-languages/bat/bat.js +0 -10
  72. package/public/vs/basic-languages/bicep/bicep.js +0 -11
  73. package/public/vs/basic-languages/cameligo/cameligo.js +0 -10
  74. package/public/vs/basic-languages/clojure/clojure.js +0 -10
  75. package/public/vs/basic-languages/coffee/coffee.js +0 -10
  76. package/public/vs/basic-languages/cpp/cpp.js +0 -10
  77. package/public/vs/basic-languages/csharp/csharp.js +0 -10
  78. package/public/vs/basic-languages/csp/csp.js +0 -10
  79. package/public/vs/basic-languages/css/css.js +0 -12
  80. package/public/vs/basic-languages/cypher/cypher.js +0 -10
  81. package/public/vs/basic-languages/dart/dart.js +0 -10
  82. package/public/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  83. package/public/vs/basic-languages/ecl/ecl.js +0 -10
  84. package/public/vs/basic-languages/elixir/elixir.js +0 -10
  85. package/public/vs/basic-languages/flow9/flow9.js +0 -10
  86. package/public/vs/basic-languages/freemarker2/freemarker2.js +0 -12
  87. package/public/vs/basic-languages/fsharp/fsharp.js +0 -10
  88. package/public/vs/basic-languages/go/go.js +0 -10
  89. package/public/vs/basic-languages/graphql/graphql.js +0 -10
  90. package/public/vs/basic-languages/handlebars/handlebars.js +0 -10
  91. package/public/vs/basic-languages/hcl/hcl.js +0 -10
  92. package/public/vs/basic-languages/html/html.js +0 -10
  93. package/public/vs/basic-languages/ini/ini.js +0 -10
  94. package/public/vs/basic-languages/java/java.js +0 -10
  95. package/public/vs/basic-languages/javascript/javascript.js +0 -10
  96. package/public/vs/basic-languages/julia/julia.js +0 -10
  97. package/public/vs/basic-languages/kotlin/kotlin.js +0 -10
  98. package/public/vs/basic-languages/less/less.js +0 -11
  99. package/public/vs/basic-languages/lexon/lexon.js +0 -10
  100. package/public/vs/basic-languages/liquid/liquid.js +0 -10
  101. package/public/vs/basic-languages/lua/lua.js +0 -10
  102. package/public/vs/basic-languages/m3/m3.js +0 -10
  103. package/public/vs/basic-languages/markdown/markdown.js +0 -10
  104. package/public/vs/basic-languages/mdx/mdx.js +0 -10
  105. package/public/vs/basic-languages/mips/mips.js +0 -10
  106. package/public/vs/basic-languages/msdax/msdax.js +0 -10
  107. package/public/vs/basic-languages/mysql/mysql.js +0 -10
  108. package/public/vs/basic-languages/objective-c/objective-c.js +0 -10
  109. package/public/vs/basic-languages/pascal/pascal.js +0 -10
  110. package/public/vs/basic-languages/pascaligo/pascaligo.js +0 -10
  111. package/public/vs/basic-languages/perl/perl.js +0 -10
  112. package/public/vs/basic-languages/pgsql/pgsql.js +0 -10
  113. package/public/vs/basic-languages/php/php.js +0 -10
  114. package/public/vs/basic-languages/pla/pla.js +0 -10
  115. package/public/vs/basic-languages/postiats/postiats.js +0 -10
  116. package/public/vs/basic-languages/powerquery/powerquery.js +0 -10
  117. package/public/vs/basic-languages/powershell/powershell.js +0 -10
  118. package/public/vs/basic-languages/protobuf/protobuf.js +0 -11
  119. package/public/vs/basic-languages/pug/pug.js +0 -10
  120. package/public/vs/basic-languages/python/python.js +0 -10
  121. package/public/vs/basic-languages/qsharp/qsharp.js +0 -10
  122. package/public/vs/basic-languages/r/r.js +0 -10
  123. package/public/vs/basic-languages/razor/razor.js +0 -10
  124. package/public/vs/basic-languages/redis/redis.js +0 -10
  125. package/public/vs/basic-languages/redshift/redshift.js +0 -10
  126. package/public/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
  127. package/public/vs/basic-languages/ruby/ruby.js +0 -10
  128. package/public/vs/basic-languages/rust/rust.js +0 -10
  129. package/public/vs/basic-languages/sb/sb.js +0 -10
  130. package/public/vs/basic-languages/scala/scala.js +0 -10
  131. package/public/vs/basic-languages/scheme/scheme.js +0 -10
  132. package/public/vs/basic-languages/scss/scss.js +0 -12
  133. package/public/vs/basic-languages/shell/shell.js +0 -10
  134. package/public/vs/basic-languages/solidity/solidity.js +0 -10
  135. package/public/vs/basic-languages/sophia/sophia.js +0 -10
  136. package/public/vs/basic-languages/sparql/sparql.js +0 -10
  137. package/public/vs/basic-languages/sql/sql.js +0 -10
  138. package/public/vs/basic-languages/st/st.js +0 -10
  139. package/public/vs/basic-languages/swift/swift.js +0 -13
  140. package/public/vs/basic-languages/systemverilog/systemverilog.js +0 -10
  141. package/public/vs/basic-languages/tcl/tcl.js +0 -10
  142. package/public/vs/basic-languages/twig/twig.js +0 -10
  143. package/public/vs/basic-languages/typescript/typescript.js +0 -10
  144. package/public/vs/basic-languages/vb/vb.js +0 -10
  145. package/public/vs/basic-languages/wgsl/wgsl.js +0 -307
  146. package/public/vs/basic-languages/xml/xml.js +0 -10
  147. package/public/vs/basic-languages/yaml/yaml.js +0 -10
  148. package/public/vs/editor/editor.main.css +0 -6
  149. package/public/vs/editor/editor.main.js +0 -745
  150. package/public/vs/editor/editor.main.js.gz +0 -0
  151. package/public/vs/editor/editor.main.nls.de.js +0 -31
  152. package/public/vs/editor/editor.main.nls.es.js +0 -31
  153. package/public/vs/editor/editor.main.nls.fr.js +0 -29
  154. package/public/vs/editor/editor.main.nls.it.js +0 -29
  155. package/public/vs/editor/editor.main.nls.ja.js +0 -31
  156. package/public/vs/editor/editor.main.nls.js +0 -29
  157. package/public/vs/editor/editor.main.nls.ko.js +0 -29
  158. package/public/vs/editor/editor.main.nls.ru.js +0 -31
  159. package/public/vs/editor/editor.main.nls.zh-cn.js +0 -31
  160. package/public/vs/editor/editor.main.nls.zh-tw.js +0 -29
  161. package/public/vs/language/css/cssMode.js +0 -13
  162. package/public/vs/language/css/cssWorker.js +0 -81
  163. package/public/vs/language/css/cssWorker.js.gz +0 -0
  164. package/public/vs/language/html/htmlMode.js +0 -13
  165. package/public/vs/language/html/htmlWorker.js +0 -453
  166. package/public/vs/language/json/jsonMode.js +0 -15
  167. package/public/vs/language/json/jsonWorker.js +0 -36
  168. package/public/vs/language/typescript/tsMode.js +0 -20
  169. package/public/vs/language/typescript/tsWorker.js +0 -37016
  170. package/public/vs/language/typescript/tsWorker.js.gz +0 -0
  171. package/public/vs/loader.js +0 -11
  172. package/public/worker/pdf.worker.min.js +0 -32
  173. package/src/HeadlessChat.tsx +0 -250
  174. package/src/LoginPage/components/Login/LoginBox/index.tsx +0 -103
  175. package/src/LoginPage/components/Login/RegisterBox/index.tsx +0 -181
  176. package/src/LoginPage/components/Login/index.tsx +0 -101
  177. package/src/LoginPage/index.tsx +0 -103
  178. package/src/LoginPage/useServices.ts +0 -53
  179. package/src/LoginPage/utils.ts +0 -42
  180. package/src/Preview.tsx +0 -278
  181. package/src/UseLogingHeadless.tsx +0 -238
  182. package/src/adopters/GientechChat/Conversations/Item.tsx +0 -132
  183. package/src/adopters/GientechChat/Conversations/List.tsx +0 -127
  184. package/src/adopters/GientechChat/Conversations/groupByTime.ts +0 -39
  185. package/src/adopters/GientechChat/Conversations/index.tsx +0 -102
  186. package/src/adopters/GientechChat/constants.tsx +0 -33
  187. package/src/adopters/GientechChat/index.tsx +0 -1242
  188. package/src/adopters/GientechChat/types.ts +0 -17
  189. package/src/adopters/HeadLessChat/constants.tsx +0 -32
  190. package/src/adopters/HeadLessChat/index.tsx +0 -1038
  191. package/src/adopters/HeadLessChat/types.ts +0 -23
  192. package/src/adopters/gientechCommon/components/AppError.tsx +0 -32
  193. package/src/adopters/gientechCommon/components/AppLoading.tsx +0 -75
  194. package/src/adopters/gientechCommon/components/DisplayError.tsx +0 -33
  195. package/src/adopters/gientechCommon/components/DisplayLoading.tsx +0 -38
  196. package/src/adopters/gientechCommon/components/FeedBackModal.tsx +0 -310
  197. package/src/adopters/gientechCommon/components/FileManager/index.tsx +0 -381
  198. package/src/adopters/gientechCommon/components/FileManager/style.css +0 -5
  199. package/src/adopters/gientechCommon/components/Messages/AiChatBox.tsx +0 -530
  200. package/src/adopters/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -245
  201. package/src/adopters/gientechCommon/components/Messages/ReferenceCard.tsx +0 -302
  202. package/src/adopters/gientechCommon/components/Messages/RetriveItem.tsx +0 -194
  203. package/src/adopters/gientechCommon/components/Messages/UserChatBox.tsx +0 -211
  204. package/src/adopters/gientechCommon/components/RenameModal.tsx +0 -75
  205. package/src/adopters/gientechCommon/components/style.less +0 -11
  206. package/src/adopters/gientechCommon/configs/commonConfig.ts +0 -2
  207. package/src/adopters/gientechCommon/configs/senderConfig.ts +0 -0
  208. package/src/adopters/gientechCommon/configs/stylesConfig.ts +0 -142
  209. package/src/adopters/gientechCommon/hooks/AichatUseController.tsx +0 -308
  210. package/src/adopters/gientechCommon/slate/converters/deserializers.ts +0 -757
  211. package/src/adopters/gientechCommon/slate/converters/mockData.ts +0 -232
  212. package/src/adopters/gientechCommon/slate/converters/slateConverters.ts +0 -258
  213. package/src/adopters/gientechCommon/slate/richElements/index.tsx +0 -476
  214. package/src/adopters/gientechCommon/utils/request.ts +0 -37
  215. package/src/adopters/gientechCommon/utils/serverFn.ts +0 -143
  216. package/src/assets/img/downArrow.png +0 -0
  217. package/src/assets/img/excel.png +0 -0
  218. package/src/assets/img/img.png +0 -0
  219. package/src/assets/img/pdf.png +0 -0
  220. package/src/assets/img/ppt.png +0 -0
  221. package/src/assets/img/txt.png +0 -0
  222. package/src/assets/img/word.png +0 -0
  223. package/src/assets/login/homeBg.png +0 -0
  224. package/src/assets/login/left.jpg +0 -0
  225. package/src/assets/login/logoImg.png +0 -0
  226. package/src/assets/style.css +0 -1
  227. package/src/components/AiChat.tsx +0 -647
  228. package/src/components/AiChat.types.tsx +0 -110
  229. package/src/components/DefaultAppError.tsx +0 -7
  230. package/src/components/DefaultAppLoading.tsx +0 -7
  231. package/src/components/DefaultDisplayError.tsx +0 -7
  232. package/src/components/DefaultDisplayLoading.tsx +0 -7
  233. package/src/components/DefaultNewChatWelcome.tsx +0 -10
  234. package/src/components/Displayer/DefaultAiChatBox.tsx +0 -64
  235. package/src/components/Displayer/DefaultUserChatBox.tsx +0 -34
  236. package/src/components/Displayer/index.tsx +0 -107
  237. package/src/components/Displayer/slate/converters/deserializers.ts +0 -427
  238. package/src/components/Displayer/slate/converters/mockData.ts +0 -190
  239. package/src/components/Displayer/slate/converters/slateConverters.ts +0 -258
  240. package/src/components/Displayer/slate/richElements/index.tsx +0 -308
  241. package/src/components/DrawerContent.tsx +0 -105
  242. package/src/components/DrawerPreview.tsx +0 -36
  243. package/src/components/DynamicForm.tsx +0 -29
  244. package/src/components/Loading.tsx +0 -0
  245. package/src/components/RetrieveTest/components/ChatInput.tsx +0 -198
  246. package/src/components/RetrieveTest/components/ChatMessage.tsx +0 -894
  247. package/src/components/RetrieveTest/components/ConfigPanel.tsx +0 -472
  248. package/src/components/RetrieveTest/components/RichTextEditor.tsx +0 -97
  249. package/src/components/RetrieveTest/components/VoiceInput.tsx +0 -257
  250. package/src/components/RetrieveTest/components/config/index.ts +0 -0
  251. package/src/components/RetrieveTest/components/converters/deserializers.ts +0 -393
  252. package/src/components/RetrieveTest/components/converters/mockData.ts +0 -190
  253. package/src/components/RetrieveTest/components/converters/slateConverters.ts +0 -164
  254. package/src/components/RetrieveTest/components/richElements/index.tsx +0 -339
  255. package/src/components/RetrieveTest/components/style.css +0 -3
  256. package/src/components/RetrieveTest/index.tsx +0 -679
  257. package/src/components/Sender/FileUpload.tsx +0 -76
  258. package/src/components/Sender/FilesDisplay.tsx +0 -103
  259. package/src/components/Sender/VoiceInput.tsx +0 -81
  260. package/src/components/Sender/contexts/BadgeContext.tsx +0 -36
  261. package/src/components/Sender/index.tsx +0 -545
  262. package/src/components/Sidebar/Loading.tsx +0 -0
  263. package/src/components/Sidebar/RetriveConfigPanel.tsx +0 -41
  264. package/src/components/Sidebar/useDynamicFormItems.tsx +0 -176
  265. package/src/components/SidebarProp.ts +0 -41
  266. package/src/components/common/FileCardCommon.tsx +0 -82
  267. package/src/components/defaultStyleSet.tsx +0 -142
  268. package/src/components/styles.config.ts +0 -4
  269. package/src/lib_enter.ts +0 -12
  270. package/src/main.tsx +0 -12
  271. package/src/mockForm.ts +0 -91
  272. package/src/servers/chatApi.ts +0 -43
  273. package/src/servers/fileApi.ts +0 -12
  274. package/src/servers/modelApi.ts +0 -19
  275. package/src/style.css +0 -22
  276. package/src/testj.js +0 -3
  277. package/src/type.d.ts +0 -0
  278. package/src/utils/commonFn.tsx +0 -111
  279. package/src/utils/index.tsx +0 -94
  280. package/src/vite-env.d.ts +0 -11
  281. package/tailwind.config.js +0 -18
  282. package/tsconfig.app.json +0 -29
  283. package/tsconfig.app.tsbuildinfo +0 -11
  284. package/tsconfig.json +0 -13
  285. package/tsconfig.node.json +0 -22
  286. package/tsconfig.node.tsbuildinfo +0 -1
  287. package/vite.config.ts +0 -138
  288. package/vite.config_mainapp.ts +0 -126
  289. /package/{dist/HeadlessChat.d.ts → HeadlessChat.d.ts} +0 -0
  290. /package/{dist/LoginPage → LoginPage}/components/Login/LoginBox/index.d.ts +0 -0
  291. /package/{dist/LoginPage → LoginPage}/components/Login/RegisterBox/index.d.ts +0 -0
  292. /package/{dist/LoginPage → LoginPage}/components/Login/index.d.ts +0 -0
  293. /package/{dist/LoginPage → LoginPage}/index.d.ts +0 -0
  294. /package/{dist/LoginPage → LoginPage}/useServices.d.ts +0 -0
  295. /package/{dist/LoginPage → LoginPage}/utils.d.ts +0 -0
  296. /package/{dist/Preview.d.ts → Preview.d.ts} +0 -0
  297. /package/{dist/UseLogingHeadless.d.ts → UseLogingHeadless.d.ts} +0 -0
  298. /package/{dist/adopters → adopters}/GientechChat/Conversations/Item.d.ts +0 -0
  299. /package/{dist/adopters → adopters}/GientechChat/Conversations/List.d.ts +0 -0
  300. /package/{dist/adopters → adopters}/GientechChat/Conversations/groupByTime.d.ts +0 -0
  301. /package/{dist/adopters → adopters}/GientechChat/Conversations/index.d.ts +0 -0
  302. /package/{dist/adopters → adopters}/GientechChat/constants.d.ts +0 -0
  303. /package/{dist/adopters → adopters}/GientechChat/index.d.ts +0 -0
  304. /package/{dist/adopters → adopters}/GientechChat/types.d.ts +0 -0
  305. /package/{dist/adopters → adopters}/HeadLessChat/constants.d.ts +0 -0
  306. /package/{dist/adopters → adopters}/HeadLessChat/index.d.ts +0 -0
  307. /package/{dist/adopters → adopters}/HeadLessChat/types.d.ts +0 -0
  308. /package/{dist/adopters → adopters}/gientechCommon/components/AppError.d.ts +0 -0
  309. /package/{dist/adopters → adopters}/gientechCommon/components/AppLoading.d.ts +0 -0
  310. /package/{dist/adopters → adopters}/gientechCommon/components/DisplayError.d.ts +0 -0
  311. /package/{dist/adopters → adopters}/gientechCommon/components/DisplayLoading.d.ts +0 -0
  312. /package/{dist/adopters → adopters}/gientechCommon/components/FeedBackModal.d.ts +0 -0
  313. /package/{dist/adopters → adopters}/gientechCommon/components/FileManager/index.d.ts +0 -0
  314. /package/{dist/adopters → adopters}/gientechCommon/components/Messages/GientechNewChatWelcome.d.ts +0 -0
  315. /package/{dist/adopters → adopters}/gientechCommon/components/Messages/ReferenceCard.d.ts +0 -0
  316. /package/{dist/adopters → adopters}/gientechCommon/components/Messages/UserChatBox.d.ts +0 -0
  317. /package/{dist/adopters → adopters}/gientechCommon/components/RenameModal.d.ts +0 -0
  318. /package/{dist/adopters → adopters}/gientechCommon/configs/commonConfig.d.ts +0 -0
  319. /package/{dist/adopters → adopters}/gientechCommon/configs/senderConfig.d.ts +0 -0
  320. /package/{dist/adopters → adopters}/gientechCommon/configs/stylesConfig.d.ts +0 -0
  321. /package/{dist/adopters → adopters}/gientechCommon/hooks/AichatUseController.d.ts +0 -0
  322. /package/{dist/adopters → adopters}/gientechCommon/slate/converters/deserializers.d.ts +0 -0
  323. /package/{dist/adopters → adopters}/gientechCommon/slate/converters/mockData.d.ts +0 -0
  324. /package/{dist/adopters → adopters}/gientechCommon/slate/converters/slateConverters.d.ts +0 -0
  325. /package/{dist/adopters → adopters}/gientechCommon/slate/richElements/index.d.ts +0 -0
  326. /package/{dist/adopters → adopters}/gientechCommon/utils/request.d.ts +0 -0
  327. /package/{dist/adopters → adopters}/gientechCommon/utils/serverFn.d.ts +0 -0
  328. /package/{dist/components → components}/AiChat.types.d.ts +0 -0
  329. /package/{dist/components → components}/DefaultAppError.d.ts +0 -0
  330. /package/{dist/components → components}/DefaultAppLoading.d.ts +0 -0
  331. /package/{dist/components → components}/DefaultDisplayError.d.ts +0 -0
  332. /package/{dist/components → components}/DefaultDisplayLoading.d.ts +0 -0
  333. /package/{dist/components → components}/DefaultNewChatWelcome.d.ts +0 -0
  334. /package/{dist/components → components}/Displayer/DefaultAiChatBox.d.ts +0 -0
  335. /package/{dist/components → components}/Displayer/DefaultUserChatBox.d.ts +0 -0
  336. /package/{dist/components → components}/Displayer/index.d.ts +0 -0
  337. /package/{dist/components → components}/Displayer/slate/converters/deserializers.d.ts +0 -0
  338. /package/{dist/components → components}/Displayer/slate/converters/mockData.d.ts +0 -0
  339. /package/{dist/components → components}/Displayer/slate/converters/slateConverters.d.ts +0 -0
  340. /package/{dist/components → components}/Displayer/slate/richElements/index.d.ts +0 -0
  341. /package/{dist/components → components}/DrawerContent.d.ts +0 -0
  342. /package/{dist/components → components}/DrawerPreview.d.ts +0 -0
  343. /package/{dist/components → components}/DynamicForm.d.ts +0 -0
  344. /package/{dist/components → components}/Loading.d.ts +0 -0
  345. /package/{dist/components → components}/RetrieveTest/components/ChatInput.d.ts +0 -0
  346. /package/{dist/components → components}/RetrieveTest/components/ChatMessage.d.ts +0 -0
  347. /package/{dist/components → components}/RetrieveTest/components/ConfigPanel.d.ts +0 -0
  348. /package/{dist/components → components}/RetrieveTest/components/RichTextEditor.d.ts +0 -0
  349. /package/{dist/components → components}/RetrieveTest/components/VoiceInput.d.ts +0 -0
  350. /package/{dist/components → components}/RetrieveTest/components/config/index.d.ts +0 -0
  351. /package/{dist/components → components}/RetrieveTest/components/converters/deserializers.d.ts +0 -0
  352. /package/{dist/components → components}/RetrieveTest/components/converters/mockData.d.ts +0 -0
  353. /package/{dist/components → components}/RetrieveTest/components/converters/slateConverters.d.ts +0 -0
  354. /package/{dist/components → components}/RetrieveTest/components/richElements/index.d.ts +0 -0
  355. /package/{dist/components → components}/RetrieveTest/index.d.ts +0 -0
  356. /package/{dist/components → components}/Sender/FileUpload.d.ts +0 -0
  357. /package/{dist/components → components}/Sender/FilesDisplay.d.ts +0 -0
  358. /package/{dist/components → components}/Sender/VoiceInput.d.ts +0 -0
  359. /package/{dist/components → components}/Sender/contexts/BadgeContext.d.ts +0 -0
  360. /package/{dist/components → components}/Sender/index.d.ts +0 -0
  361. /package/{dist/components → components}/Sidebar/Loading.d.ts +0 -0
  362. /package/{dist/components → components}/Sidebar/RetriveConfigPanel.d.ts +0 -0
  363. /package/{dist/components → components}/Sidebar/useDynamicFormItems.d.ts +0 -0
  364. /package/{dist/components → components}/SidebarProp.d.ts +0 -0
  365. /package/{dist/components → components}/common/FileCardCommon.d.ts +0 -0
  366. /package/{dist/components → components}/defaultStyleSet.d.ts +0 -0
  367. /package/{dist/components → components}/styles.config.d.ts +0 -0
  368. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  369. /package/{dist/icons → icons}/docx-file.png +0 -0
  370. /package/{dist/icons → icons}/folder.png +0 -0
  371. /package/{dist/icons → icons}/html.png +0 -0
  372. /package/{dist/icons → icons}/image.png +0 -0
  373. /package/{dist/icons → icons}/jpg-file.png +0 -0
  374. /package/{dist/icons → icons}/json.png +0 -0
  375. /package/{dist/icons → icons}/md.png +0 -0
  376. /package/{dist/icons → icons}/pdf.png +0 -0
  377. /package/{dist/icons → icons}/pptx.png +0 -0
  378. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  379. /package/{dist/icons → icons}/sheets.png +0 -0
  380. /package/{dist/icons → icons}/txt.png +0 -0
  381. /package/{dist/icons → icons}/xlsx.png +0 -0
  382. /package/{dist/index.d.ts → index.d.ts} +0 -0
  383. /package/{dist/lib_enter.d.ts → lib_enter.d.ts} +0 -0
  384. /package/{dist/libs → libs}/luckysheet/fontAwesome.otf +0 -0
  385. /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.eot +0 -0
  386. /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.svg +0 -0
  387. /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.ttf +0 -0
  388. /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.woff +0 -0
  389. /package/{dist/libs → libs}/luckysheet/fontawesome-webfont.woff2 +0 -0
  390. /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.ttf +0 -0
  391. /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.woff +0 -0
  392. /package/{dist/libs → libs}/luckysheet/fonts/fontawesome-webfont.woff2 +0 -0
  393. /package/{dist/libs → libs}/luckysheet/iconfont.css +0 -0
  394. /package/{dist/libs → libs}/luckysheet/jquery.min.js +0 -0
  395. /package/{dist/libs → libs}/luckysheet/luckysheet.css +0 -0
  396. /package/{dist/libs → libs}/luckysheet/luckysheet.umd.js +0 -0
  397. /package/{dist/libs → libs}/luckysheet/plugin.js +0 -0
  398. /package/{dist/libs → libs}/luckysheet/plugins.css +0 -0
  399. /package/{dist/libs → libs}/luckysheet/pluginsCss.css +0 -0
  400. /package/{dist/main.d.ts → main.d.ts} +0 -0
  401. /package/{dist/mockForm.d.ts → mockForm.d.ts} +0 -0
  402. /package/{dist/servers → servers}/chatApi.d.ts +0 -0
  403. /package/{dist/servers → servers}/fileApi.d.ts +0 -0
  404. /package/{dist/servers → servers}/modelApi.d.ts +0 -0
  405. /package/{dist/utils → utils}/commonFn.d.ts +0 -0
  406. /package/{dist/vite.svg → vite.svg} +0 -0
  407. /package/{dist/vs → vs}/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  408. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.de.js +0 -0
  409. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.es.js +0 -0
  410. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.fr.js +0 -0
  411. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.it.js +0 -0
  412. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ja.js +0 -0
  413. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.js +0 -0
  414. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ko.js +0 -0
  415. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.ru.js +0 -0
  416. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.zh-cn.js +0 -0
  417. /package/{dist/vs → vs}/base/common/worker/simpleWorker.nls.zh-tw.js +0 -0
  418. /package/{dist/vs → vs}/base/worker/workerMain.js +0 -0
  419. /package/{dist/vs → vs}/basic-languages/abap/abap.js +0 -0
  420. /package/{dist/vs → vs}/basic-languages/apex/apex.js +0 -0
  421. /package/{dist/vs → vs}/basic-languages/azcli/azcli.js +0 -0
  422. /package/{dist/vs → vs}/basic-languages/bat/bat.js +0 -0
  423. /package/{dist/vs → vs}/basic-languages/bicep/bicep.js +0 -0
  424. /package/{dist/vs → vs}/basic-languages/cameligo/cameligo.js +0 -0
  425. /package/{dist/vs → vs}/basic-languages/clojure/clojure.js +0 -0
  426. /package/{dist/vs → vs}/basic-languages/coffee/coffee.js +0 -0
  427. /package/{dist/vs → vs}/basic-languages/cpp/cpp.js +0 -0
  428. /package/{dist/vs → vs}/basic-languages/csharp/csharp.js +0 -0
  429. /package/{dist/vs → vs}/basic-languages/csp/csp.js +0 -0
  430. /package/{dist/vs → vs}/basic-languages/css/css.js +0 -0
  431. /package/{dist/vs → vs}/basic-languages/cypher/cypher.js +0 -0
  432. /package/{dist/vs → vs}/basic-languages/dart/dart.js +0 -0
  433. /package/{dist/vs → vs}/basic-languages/dockerfile/dockerfile.js +0 -0
  434. /package/{dist/vs → vs}/basic-languages/ecl/ecl.js +0 -0
  435. /package/{dist/vs → vs}/basic-languages/elixir/elixir.js +0 -0
  436. /package/{dist/vs → vs}/basic-languages/flow9/flow9.js +0 -0
  437. /package/{dist/vs → vs}/basic-languages/freemarker2/freemarker2.js +0 -0
  438. /package/{dist/vs → vs}/basic-languages/fsharp/fsharp.js +0 -0
  439. /package/{dist/vs → vs}/basic-languages/go/go.js +0 -0
  440. /package/{dist/vs → vs}/basic-languages/graphql/graphql.js +0 -0
  441. /package/{dist/vs → vs}/basic-languages/handlebars/handlebars.js +0 -0
  442. /package/{dist/vs → vs}/basic-languages/hcl/hcl.js +0 -0
  443. /package/{dist/vs → vs}/basic-languages/html/html.js +0 -0
  444. /package/{dist/vs → vs}/basic-languages/ini/ini.js +0 -0
  445. /package/{dist/vs → vs}/basic-languages/java/java.js +0 -0
  446. /package/{dist/vs → vs}/basic-languages/javascript/javascript.js +0 -0
  447. /package/{dist/vs → vs}/basic-languages/julia/julia.js +0 -0
  448. /package/{dist/vs → vs}/basic-languages/kotlin/kotlin.js +0 -0
  449. /package/{dist/vs → vs}/basic-languages/less/less.js +0 -0
  450. /package/{dist/vs → vs}/basic-languages/lexon/lexon.js +0 -0
  451. /package/{dist/vs → vs}/basic-languages/liquid/liquid.js +0 -0
  452. /package/{dist/vs → vs}/basic-languages/lua/lua.js +0 -0
  453. /package/{dist/vs → vs}/basic-languages/m3/m3.js +0 -0
  454. /package/{dist/vs → vs}/basic-languages/markdown/markdown.js +0 -0
  455. /package/{dist/vs → vs}/basic-languages/mdx/mdx.js +0 -0
  456. /package/{dist/vs → vs}/basic-languages/mips/mips.js +0 -0
  457. /package/{dist/vs → vs}/basic-languages/msdax/msdax.js +0 -0
  458. /package/{dist/vs → vs}/basic-languages/mysql/mysql.js +0 -0
  459. /package/{dist/vs → vs}/basic-languages/objective-c/objective-c.js +0 -0
  460. /package/{dist/vs → vs}/basic-languages/pascal/pascal.js +0 -0
  461. /package/{dist/vs → vs}/basic-languages/pascaligo/pascaligo.js +0 -0
  462. /package/{dist/vs → vs}/basic-languages/perl/perl.js +0 -0
  463. /package/{dist/vs → vs}/basic-languages/pgsql/pgsql.js +0 -0
  464. /package/{dist/vs → vs}/basic-languages/php/php.js +0 -0
  465. /package/{dist/vs → vs}/basic-languages/pla/pla.js +0 -0
  466. /package/{dist/vs → vs}/basic-languages/postiats/postiats.js +0 -0
  467. /package/{dist/vs → vs}/basic-languages/powerquery/powerquery.js +0 -0
  468. /package/{dist/vs → vs}/basic-languages/powershell/powershell.js +0 -0
  469. /package/{dist/vs → vs}/basic-languages/protobuf/protobuf.js +0 -0
  470. /package/{dist/vs → vs}/basic-languages/pug/pug.js +0 -0
  471. /package/{dist/vs → vs}/basic-languages/python/python.js +0 -0
  472. /package/{dist/vs → vs}/basic-languages/qsharp/qsharp.js +0 -0
  473. /package/{dist/vs → vs}/basic-languages/r/r.js +0 -0
  474. /package/{dist/vs → vs}/basic-languages/razor/razor.js +0 -0
  475. /package/{dist/vs → vs}/basic-languages/redis/redis.js +0 -0
  476. /package/{dist/vs → vs}/basic-languages/redshift/redshift.js +0 -0
  477. /package/{dist/vs → vs}/basic-languages/restructuredtext/restructuredtext.js +0 -0
  478. /package/{dist/vs → vs}/basic-languages/ruby/ruby.js +0 -0
  479. /package/{dist/vs → vs}/basic-languages/rust/rust.js +0 -0
  480. /package/{dist/vs → vs}/basic-languages/sb/sb.js +0 -0
  481. /package/{dist/vs → vs}/basic-languages/scala/scala.js +0 -0
  482. /package/{dist/vs → vs}/basic-languages/scheme/scheme.js +0 -0
  483. /package/{dist/vs → vs}/basic-languages/scss/scss.js +0 -0
  484. /package/{dist/vs → vs}/basic-languages/shell/shell.js +0 -0
  485. /package/{dist/vs → vs}/basic-languages/solidity/solidity.js +0 -0
  486. /package/{dist/vs → vs}/basic-languages/sophia/sophia.js +0 -0
  487. /package/{dist/vs → vs}/basic-languages/sparql/sparql.js +0 -0
  488. /package/{dist/vs → vs}/basic-languages/sql/sql.js +0 -0
  489. /package/{dist/vs → vs}/basic-languages/st/st.js +0 -0
  490. /package/{dist/vs → vs}/basic-languages/swift/swift.js +0 -0
  491. /package/{dist/vs → vs}/basic-languages/systemverilog/systemverilog.js +0 -0
  492. /package/{dist/vs → vs}/basic-languages/tcl/tcl.js +0 -0
  493. /package/{dist/vs → vs}/basic-languages/twig/twig.js +0 -0
  494. /package/{dist/vs → vs}/basic-languages/typescript/typescript.js +0 -0
  495. /package/{dist/vs → vs}/basic-languages/vb/vb.js +0 -0
  496. /package/{dist/vs → vs}/basic-languages/wgsl/wgsl.js +0 -0
  497. /package/{dist/vs → vs}/basic-languages/xml/xml.js +0 -0
  498. /package/{dist/vs → vs}/basic-languages/yaml/yaml.js +0 -0
  499. /package/{dist/vs → vs}/editor/editor.main.css +0 -0
  500. /package/{dist/vs → vs}/editor/editor.main.js +0 -0
  501. /package/{dist/vs → vs}/editor/editor.main.js.gz +0 -0
  502. /package/{dist/vs → vs}/editor/editor.main.nls.de.js +0 -0
  503. /package/{dist/vs → vs}/editor/editor.main.nls.es.js +0 -0
  504. /package/{dist/vs → vs}/editor/editor.main.nls.fr.js +0 -0
  505. /package/{dist/vs → vs}/editor/editor.main.nls.it.js +0 -0
  506. /package/{dist/vs → vs}/editor/editor.main.nls.ja.js +0 -0
  507. /package/{dist/vs → vs}/editor/editor.main.nls.js +0 -0
  508. /package/{dist/vs → vs}/editor/editor.main.nls.ko.js +0 -0
  509. /package/{dist/vs → vs}/editor/editor.main.nls.ru.js +0 -0
  510. /package/{dist/vs → vs}/editor/editor.main.nls.zh-cn.js +0 -0
  511. /package/{dist/vs → vs}/editor/editor.main.nls.zh-tw.js +0 -0
  512. /package/{dist/vs → vs}/language/css/cssMode.js +0 -0
  513. /package/{dist/vs → vs}/language/css/cssWorker.js +0 -0
  514. /package/{dist/vs → vs}/language/css/cssWorker.js.gz +0 -0
  515. /package/{dist/vs → vs}/language/html/htmlMode.js +0 -0
  516. /package/{dist/vs → vs}/language/html/htmlWorker.js +0 -0
  517. /package/{dist/vs → vs}/language/json/jsonMode.js +0 -0
  518. /package/{dist/vs → vs}/language/json/jsonWorker.js +0 -0
  519. /package/{dist/vs → vs}/language/typescript/tsMode.js +0 -0
  520. /package/{dist/vs → vs}/language/typescript/tsWorker.js +0 -0
  521. /package/{dist/vs → vs}/language/typescript/tsWorker.js.gz +0 -0
  522. /package/{dist/vs → vs}/loader.js +0 -0
  523. /package/{dist/worker → worker}/pdf.worker.min.js +0 -0
@@ -1,257 +0,0 @@
1
- import React, { useState, useEffect, useCallback, useRef } from 'react';
2
- import { Mic, MicOff, Loader2 } from 'lucide-react';
3
-
4
- interface VoiceInputProps {
5
- onResult: (text: string) => void;
6
- onError: (error: string) => void;
7
- }
8
-
9
- interface SpeechRecognitionErrorEvent extends Event {
10
- error: 'no-speech' | 'audio-capture' | 'not-allowed' | string;
11
- }
12
-
13
- interface SpeechRecognitionEvent extends Event {
14
- results: {
15
- item(index: number): {
16
- item(index: number): {
17
- transcript: string;
18
- };
19
- };
20
- length: number;
21
- };
22
- }
23
-
24
- interface SpeechRecognition extends EventTarget {
25
- continuous: boolean;
26
- interimResults: boolean;
27
- lang: string;
28
- onstart: () => void;
29
- onend: () => void;
30
- onerror: (event: SpeechRecognitionErrorEvent) => void;
31
- onresult: (event: SpeechRecognitionEvent) => void;
32
- abort: () => void;
33
- start: () => void;
34
- stop: () => void;
35
- }
36
-
37
- interface SpeechRecognitionConstructor {
38
- new (): SpeechRecognition;
39
- }
40
-
41
- // 为了 TypeScript 支持
42
- declare global {
43
- interface Window {
44
- SpeechRecognition: SpeechRecognitionConstructor;
45
- webkitSpeechRecognition: SpeechRecognitionConstructor;
46
- }
47
- }
48
-
49
- export function VoiceInput({ onResult, onError }: VoiceInputProps) {
50
- const [isRecording, setIsRecording] = useState(false);
51
- const [shouldRestart, setShouldRestart] = useState(false);
52
- const silenceTimerRef = useRef<number | null>(null);
53
- const recognitionRef = useRef<SpeechRecognition | null>(null);
54
- const isComponentMounted = useRef(true);
55
- const SILENCE_TIMEOUT = 3000; // 3秒无语音自动停止
56
-
57
- // 清除计时器
58
- const clearSilenceTimer = useCallback(() => {
59
- if (silenceTimerRef.current) {
60
- window.clearTimeout(silenceTimerRef.current);
61
- silenceTimerRef.current = null;
62
- }
63
- }, []);
64
-
65
- // 重置无语音计时器
66
- const resetSilenceTimer = useCallback(() => {
67
- if (!isComponentMounted.current) return;
68
-
69
- clearSilenceTimer();
70
-
71
- if (!recognitionRef.current) return;
72
-
73
- silenceTimerRef.current = window.setTimeout(() => {
74
- if (!isComponentMounted.current) return;
75
- setShouldRestart(false);
76
- if (recognitionRef.current) {
77
- try {
78
- recognitionRef.current.stop();
79
- } catch (error) {
80
- console.error('停止录音失败:', error);
81
- }
82
- }
83
- }, SILENCE_TIMEOUT);
84
- }, [clearSilenceTimer]);
85
-
86
- // 停止录音
87
- const stopRecording = useCallback(() => {
88
- setShouldRestart(false);
89
- if (recognitionRef.current) {
90
- try {
91
- recognitionRef.current.stop();
92
- } catch (error) {
93
- console.error('停止录音失败:', error);
94
- }
95
- }
96
- clearSilenceTimer();
97
- setIsRecording(false);
98
- }, [clearSilenceTimer]);
99
-
100
- // 初始化语音识别
101
- useEffect(() => {
102
- isComponentMounted.current = true;
103
-
104
- // 如果已经初始化过,就不再重新初始化
105
- if (recognitionRef.current) {
106
- return;
107
- }
108
-
109
- const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
110
-
111
- if (!SpeechRecognition) {
112
- console.warn('浏览器不支持语音识别功能');
113
- onError('您的浏览器不支持语音识别功能');
114
- return;
115
- }
116
-
117
- try {
118
- const recognition = new SpeechRecognition();
119
- recognition.continuous = true;
120
- recognition.interimResults = true;
121
- recognition.lang = 'zh-CN';
122
-
123
- // 绑定事件处理器
124
- recognition.onstart = () => {
125
- if (!isComponentMounted.current) return;
126
- console.log('语音识别开始');
127
- setIsRecording(true);
128
- resetSilenceTimer();
129
- };
130
-
131
- recognition.onend = () => {
132
- if (!isComponentMounted.current) return;
133
- console.log('语音识别结束', { shouldRestart });
134
- if (shouldRestart) {
135
- try {
136
- recognition.start();
137
- } catch (error) {
138
- console.error('重新启动语音识别失败:', error);
139
- stopRecording();
140
- if (error instanceof Error) {
141
- onError(error.message);
142
- }
143
- }
144
- } else {
145
- setIsRecording(false);
146
- clearSilenceTimer();
147
- }
148
- };
149
-
150
- recognition.onresult = (event: SpeechRecognitionEvent) => {
151
- if (!isComponentMounted.current) return;
152
- console.log('收到语音识别结果');
153
- resetSilenceTimer();
154
-
155
- const results = Array.from({ length: event.results.length }, (_, i) =>
156
- event.results.item(i).item(0).transcript
157
- );
158
- const result = results.join('');
159
- // console.log('识别结果:', result);
160
- onResult(result);
161
- };
162
-
163
- recognition.onerror = (event: SpeechRecognitionErrorEvent) => {
164
- if (!isComponentMounted.current) return;
165
- console.error('语音识别错误:', event.error);
166
-
167
- // 忽略 aborted 错误,因为这通常是由于手动停止导致的
168
- if (event.error === 'aborted') {
169
- return;
170
- }
171
-
172
- if (event.error !== 'no-speech') {
173
- if (event.error === 'audio-capture') {
174
- onError('无法访问麦克风,请检查权限设置');
175
- } else if (event.error === 'not-allowed') {
176
- onError('麦克风权限被拒绝');
177
- } else {
178
- onError(`语音识别出错: ${event.error}`);
179
- }
180
- stopRecording();
181
- } else {
182
- resetSilenceTimer();
183
- }
184
- };
185
-
186
- recognitionRef.current = recognition;
187
- // console.log('语音识别初始化成功');
188
- } catch (error) {
189
- console.error('初始化语音识别失败:', error);
190
- onError('初始化语音识别失败');
191
- }
192
-
193
- return () => {
194
- isComponentMounted.current = false;
195
- if (recognitionRef.current) {
196
- try {
197
- recognitionRef.current.abort();
198
- } catch (error) {
199
- console.error('清理语音识别失败:', error);
200
- }
201
- recognitionRef.current = null;
202
- }
203
- clearSilenceTimer();
204
- };
205
- }, [onResult, onError, resetSilenceTimer, clearSilenceTimer, stopRecording]);
206
-
207
- const toggleRecording = useCallback(() => {
208
- console.log('切换录音状态', { isRecording, recognition: !!recognitionRef.current });
209
-
210
- if (!recognitionRef.current) {
211
- console.error('语音识别未初始化');
212
- onError('语音识别未初始化');
213
- return;
214
- }
215
-
216
- if (isRecording) {
217
- console.log('停止录音');
218
- stopRecording();
219
- } else {
220
- console.log('开始录音');
221
- setShouldRestart(true);
222
- try {
223
- recognitionRef.current.start();
224
- } catch (error) {
225
- console.error('启动语音识别失败:', error);
226
- stopRecording();
227
- if (error instanceof Error) {
228
- onError(error.message);
229
- } else {
230
- onError('启动语音识别失败');
231
- }
232
- }
233
- }
234
- }, [isRecording, onError, stopRecording]);
235
-
236
- return (
237
- <div
238
- className={`relative w-7 h-7 flex items-center justify-center rounded-lg cursor-pointer group ${
239
- isRecording ? 'bg-blue-50' : ''
240
- }`}
241
- onClick={toggleRecording}
242
- title={isRecording ? "点击停止录音" : "点击开始录音"}
243
- >
244
- <div className={`absolute inset-0 rounded-lg transition-colors duration-200 ${
245
- isRecording ? 'bg-blue-100' : 'bg-black/[0.02] group-hover:bg-black/[0.04]'
246
- }`}></div>
247
- {isRecording ? (
248
- <>
249
- <Loader2 className="w-[17px] h-[17px] text-blue-500 animate-spin" />
250
- <span className="absolute -top-1 -right-1 w-2 h-2 rounded-full bg-red-500 animate-pulse"></span>
251
- </>
252
- ) : (
253
- <Mic className="w-[17px] h-[17px] text-gray-600/85" />
254
- )}
255
- </div>
256
- );
257
- }
@@ -1,393 +0,0 @@
1
- import { marked } from 'marked';
2
- import type {
3
- CustomElement,
4
- CustomText,
5
- ParagraphElement,
6
- HeadingOneElement,
7
- HeadingTwoElement,
8
- ListElement,
9
- ListItemElement,
10
- BaseElement,
11
- CodeBlockElement,
12
- HeadingThreeElement,
13
- BlockQuoteElement,
14
- TableElement,
15
- TableRowElement,
16
- TableCellElement
17
- } from '../RichTextEditor';
18
-
19
- // 新增think类型
20
- export interface ThinkElement extends BaseElement {
21
- type: 'think';
22
- }
23
-
24
- function ensureChildren(elements: CustomElement[]): CustomElement[] {
25
- return elements.map(el => {
26
- if (!el.children || el.children.length === 0) {
27
- return { ...el, children: [{ text: '' }] };
28
- }
29
- return { ...el, children: el.children.map(child => {
30
- if (typeof child === 'object' && 'type' in child) {
31
- return ensureChildren([child as CustomElement])[0];
32
- }
33
- return child;
34
- }) };
35
- });
36
- }
37
-
38
- export function deserializeMarkdown(markdown: string): CustomElement[] {
39
- // 处理<think>标签,替换为自定义占位符
40
- let replaced = markdown.replace(/<think>([\s\S]*?)<\/think>/g, (match, p1) => {
41
- // 用特殊占位符包裹内容,后续HTML解析时识别
42
- return `\n<think-block>${p1}</think-block>\n`;
43
- });
44
- // 新增:处理 [retrive-tag ...]...[/retrive-tag]
45
-
46
- replaced = replaced.replace(/\[retrive-tag([^\]]*)\]\[([^\]]+)\]\[\/retrive-tag\]/g, (match, attrs, inner) => {
47
- return `<retrive-tag${attrs ? ' ' + attrs.trim() : ''}>${inner}</retrive-tag>`;
48
- });
49
- //console.log('replaced:', replaced)
50
- marked.setOptions({
51
- gfm: true,
52
- breaks: true,
53
- pedantic: false
54
- });
55
- // console.log('````````````replaced:', replaced)
56
-
57
- const html = marked(replaced);
58
- if (typeof html !== 'string') {
59
- return [{ type: 'paragraph', children: [{ text: '' }] } as ParagraphElement];
60
- }
61
-
62
- const div = document.createElement('div');
63
- div.innerHTML = html;
64
- // console.log('divewfwejfwejkfhwekjfhkj23f32f23:', html)
65
- const result = deserializeHtmlNode(div);
66
- // 保证返回值始终为非空数组,且所有节点children非空
67
- if (!result || result.length === 0) {
68
- return [{ type: 'paragraph', children: [{ text: '' }] } as ParagraphElement];
69
- }
70
- return ensureChildren(result);
71
- }
72
-
73
- function deserializeHtmlNode(node: Node): CustomElement[] {
74
- const elements: CustomElement[] = [];
75
-
76
- node.childNodes.forEach(child => {
77
- if (child.nodeType === Node.ELEMENT_NODE) {
78
- const el = child as HTMLElement;
79
-
80
- switch (el.tagName.toLowerCase()) {
81
- case 'p':
82
- elements.push({
83
- type: 'paragraph',
84
- children: deserializeChildren(el)
85
- } as ParagraphElement);
86
- break;
87
- case 'h1':
88
- elements.push({
89
- type: 'heading-one',
90
- children: deserializeChildren(el)
91
- } as HeadingOneElement);
92
- break;
93
- case 'h2':
94
- elements.push({
95
- type: 'heading-two',
96
- children: deserializeChildren(el)
97
- } as HeadingTwoElement);
98
- break;
99
- case 'h3':
100
- elements.push({
101
- type: 'heading-three',
102
- children: deserializeChildren(el)
103
- } as HeadingThreeElement);
104
- break;
105
- case 'ul':
106
- elements.push({
107
- type: 'bulleted-list',
108
- children: Array.from(el.children).map(li => ({
109
- type: 'list-item',
110
- children: deserializeChildren(li)
111
- } as ListItemElement))
112
- } as ListElement);
113
- break;
114
- case 'ol':
115
- elements.push({
116
- type: 'numbered-list',
117
- children: Array.from(el.children).map(li => ({
118
- type: 'list-item',
119
- children: deserializeChildren(li)
120
- } as ListItemElement))
121
- } as ListElement);
122
- break;
123
- case 'li':
124
- elements.push({
125
- type: 'list-item',
126
- children: deserializeChildren(el)
127
- } as ListItemElement);
128
- break;
129
- case 'pre': {
130
- const codeEl = el.querySelector('code');
131
- if (codeEl) {
132
- elements.push({
133
- type: 'code-block',
134
- children: [{ text: codeEl.textContent || '' }]
135
- } as any);
136
- } else {
137
- elements.push({
138
- type: 'code-block',
139
- children: [{ text: el.textContent || '' }]
140
- } as any);
141
- }
142
- break;
143
- }
144
- case 'code': {
145
- if (!el.closest('pre')) {
146
- elements.push({
147
- type: 'paragraph',
148
- children: [{ text: el.textContent || '', code: true }]
149
- } as ParagraphElement);
150
- }
151
- break;
152
- }
153
- case 'blockquote':
154
- elements.push({
155
- type: 'block-quote',
156
- children: deserializeChildren(el)
157
- } as BlockQuoteElement);
158
- break;
159
- case 'table':
160
- elements.push(deserializeTable(el));
161
- break;
162
- case 'think-block':
163
- elements.push({
164
- type: 'think',
165
- children: [{ text: el.textContent || '' }]
166
- } as any);
167
- break;
168
- default:
169
- elements.push({
170
- type: 'paragraph',
171
- children: deserializeChildren(el)
172
- } as ParagraphElement);
173
- break;
174
- }
175
- } else if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim()) {
176
- elements.push({
177
- type: 'paragraph',
178
- children: [{ text: child.textContent }]
179
- } as ParagraphElement);
180
- }
181
- });
182
-
183
- // console.log('elements:', elements)
184
- return elements;
185
- }
186
-
187
- function deserializeChildren(node: Node): (CustomText | BaseElement)[] {
188
- const texts: (CustomText | BaseElement)[] = [];
189
-
190
- // 解析行内代码中的 Markdown 样式
191
- function parseInlineCodeMarkdown(text: string): (CustomText)[] {
192
- const result: CustomText[] = [];
193
- let currentText = '';
194
- let isBold = false;
195
- let isItalic = false;
196
- let i = 0;
197
-
198
- while (i < text.length) {
199
- if (text.startsWith('**', i)) {
200
- // 处理加粗
201
- if (currentText) {
202
- result.push({
203
- text: currentText,
204
- code: true,
205
- bold: isBold,
206
- italic: isItalic
207
- });
208
- currentText = '';
209
- }
210
- isBold = !isBold;
211
- i += 2;
212
- } else if (text.startsWith('*', i)) {
213
- // 处理斜体
214
- if (currentText) {
215
- result.push({
216
- text: currentText,
217
- code: true,
218
- bold: isBold,
219
- italic: isItalic
220
- });
221
- currentText = '';
222
- }
223
- isItalic = !isItalic;
224
- i += 1;
225
- } else {
226
- currentText += text[i];
227
- i += 1;
228
- }
229
- }
230
-
231
- if (currentText) {
232
- result.push({
233
- text: currentText,
234
- code: true,
235
- bold: isBold,
236
- italic: isItalic
237
- });
238
- }
239
-
240
- return result;
241
- }
242
-
243
- function processNode(node: Node, styles: Partial<CustomText> = {}): (CustomText | BaseElement)[] {
244
- if (node.nodeType === Node.TEXT_NODE) {
245
- const text = node.textContent?.trim();
246
- if (text) {
247
- if (styles.code) {
248
- // 如果是行内代码,解析其中的 Markdown 样式
249
- return parseInlineCodeMarkdown(text);
250
- } else {
251
- return [{ text, ...styles }];
252
- }
253
- }
254
- return [];
255
- }
256
-
257
- if (node.nodeType === Node.ELEMENT_NODE) {
258
- const el = node as HTMLElement;
259
- const currentStyles = { ...styles };
260
-
261
- switch (el.tagName.toLowerCase()) {
262
- case 'em':
263
- case 'i':
264
- currentStyles.italic = true;
265
- break;
266
- case 'strong':
267
- case 'b':
268
- currentStyles.bold = true;
269
- break;
270
- case 'code':
271
- if (!el.closest('pre')) {
272
- currentStyles.code = true;
273
- }
274
- break;
275
- case 'del':
276
- case 's':
277
- currentStyles.strikethrough = true;
278
- break;
279
- case 'u':
280
- currentStyles.underline = true;
281
- break;
282
- case 'a':
283
- currentStyles.link = el.getAttribute('href') || undefined;
284
- break;
285
- case 'retrive-tag': {
286
- // 解析所有属性
287
- const attrs: Record<string, string> = {};
288
- for (const { name, value } of Array.from(el.attributes)) {
289
- attrs[name] = value;
290
- }
291
- // 只取纯文本内容,做成leaf
292
- const text = el.textContent || '';
293
- return [{
294
- text,
295
- retrive: true,
296
- ...attrs
297
- } as any]; // 这里用 any 或扩展 CustomText 类型
298
- }
299
- }
300
- if (el.childNodes.length === 0 && el.textContent?.trim()) {
301
- if (currentStyles.code) {
302
- return parseInlineCodeMarkdown(el.textContent);
303
- } else {
304
- return [{ text: el.textContent, ...currentStyles }];
305
- }
306
- }
307
-
308
- // 递归处理所有子节点
309
- let result: (CustomText | BaseElement)[] = [];
310
- for (const child of Array.from(el.childNodes)) {
311
- result = result.concat(processNode(child, currentStyles));
312
- }
313
- return result;
314
- }
315
- return [];
316
- }
317
-
318
- for (const child of Array.from(node.childNodes)) {
319
- texts.push(...processNode(child));
320
- }
321
-
322
- return texts;
323
- }
324
-
325
- function deserializeTable(tableEl: HTMLElement): TableElement {
326
- const rows: TableRowElement[] = [];
327
-
328
- // 处理表头
329
- const thead = tableEl.querySelector('thead');
330
- const tbody = tableEl.querySelector('tbody');
331
-
332
- // 如果没有 thead 和 tbody,说明是简单表格,需要自动添加结构
333
- if (!thead && !tbody) {
334
- const allRows = Array.from(tableEl.querySelectorAll('tr'));
335
- if (allRows.length > 0) {
336
- // 第一行作为表头
337
- rows.push({
338
- type: 'table-row',
339
- children: Array.from(allRows[0].children).map(cell => ({
340
- type: 'table-cell',
341
- header: true,
342
- children: deserializeChildren(cell)
343
- } as TableCellElement))
344
- } as TableRowElement);
345
-
346
- // 剩余行作为表格主体
347
- allRows.slice(1).forEach(tr => {
348
- rows.push({
349
- type: 'table-row',
350
- children: Array.from(tr.children).map(cell => ({
351
- type: 'table-cell',
352
- header: false,
353
- children: deserializeChildren(cell)
354
- } as TableCellElement))
355
- } as TableRowElement);
356
- });
357
- }
358
- } else {
359
- // 处理表头
360
- if (thead) {
361
- const headerRow = thead.querySelector('tr');
362
- if (headerRow) {
363
- rows.push({
364
- type: 'table-row',
365
- children: Array.from(headerRow.querySelectorAll('th')).map(cell => ({
366
- type: 'table-cell',
367
- header: true,
368
- children: deserializeChildren(cell)
369
- } as TableCellElement))
370
- } as TableRowElement);
371
- }
372
- }
373
-
374
- // 处理表格主体
375
- if (tbody) {
376
- Array.from(tbody.querySelectorAll('tr')).forEach(tr => {
377
- rows.push({
378
- type: 'table-row',
379
- children: Array.from(tr.querySelectorAll('td')).map(cell => ({
380
- type: 'table-cell',
381
- header: false,
382
- children: deserializeChildren(cell)
383
- } as TableCellElement))
384
- } as TableRowElement);
385
- });
386
- }
387
- }
388
-
389
- return {
390
- type: 'table',
391
- children: rows
392
- } as TableElement;
393
- }