@agentscope-ai/chat 1.1.20 → 1.1.22

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 (335) hide show
  1. package/bin/client.js +1 -1
  2. package/components/AGUI/components/HelpModal/icons.tsx +68 -0
  3. package/components/AGUI/components/HelpModal/index.tsx +1 -0
  4. package/components/AGUI/components/HelpModal/modal.tsx +101 -0
  5. package/components/AGUI/components/chat/Button.tsx +18 -0
  6. package/components/AGUI/components/chat/Chat.tsx +780 -0
  7. package/components/AGUI/components/chat/ChatContext.tsx +248 -0
  8. package/components/AGUI/components/chat/CodeBlock.tsx +406 -0
  9. package/components/AGUI/components/chat/Header.tsx +22 -0
  10. package/components/AGUI/components/chat/Icons.tsx +237 -0
  11. package/components/AGUI/components/chat/ImageUploadQueue.tsx +77 -0
  12. package/components/AGUI/components/chat/Input.tsx +24 -0
  13. package/components/AGUI/components/chat/Markdown.tsx +134 -0
  14. package/components/AGUI/components/chat/Messages.tsx +259 -0
  15. package/components/AGUI/components/chat/Modal.tsx +133 -0
  16. package/components/AGUI/components/chat/Popup.tsx +57 -0
  17. package/components/AGUI/components/chat/PoweredByTag.tsx +29 -0
  18. package/components/AGUI/components/chat/Sidebar.tsx +74 -0
  19. package/components/AGUI/components/chat/Suggestion.tsx +132 -0
  20. package/components/AGUI/components/chat/Suggestions.tsx +20 -0
  21. package/components/AGUI/components/chat/Textarea.tsx +61 -0
  22. package/components/AGUI/components/chat/Window.tsx +152 -0
  23. package/components/AGUI/components/chat/index.tsx +11 -0
  24. package/components/AGUI/components/chat/messages/AssistantMessage.tsx +69 -0
  25. package/components/AGUI/components/chat/messages/RenderActionExecutionMessage.tsx +129 -0
  26. package/components/AGUI/components/chat/messages/RenderAgentStateMessage.tsx +116 -0
  27. package/components/AGUI/components/chat/messages/RenderImageMessage.tsx +64 -0
  28. package/components/AGUI/components/chat/messages/RenderResultMessage.tsx +26 -0
  29. package/components/AGUI/components/chat/messages/RenderTextMessage.tsx +51 -0
  30. package/components/AGUI/components/chat/messages/UserMessage.tsx +10 -0
  31. package/components/AGUI/components/chat/props.ts +186 -0
  32. package/components/AGUI/components/index.ts +1 -0
  33. package/components/AGUI/context/index.ts +1 -0
  34. package/components/AGUI/hooks/index.ts +1 -0
  35. package/components/AGUI/hooks/use-copilot-chat-suggestions.tsx +122 -0
  36. package/components/AGUI/hooks/use-copy-to-clipboard.tsx +29 -0
  37. package/components/AGUI/hooks/use-dark-mode.ts +10 -0
  38. package/components/AGUI/hooks/use-push-to-talk.tsx +166 -0
  39. package/components/AGUI/index.tsx +4 -0
  40. package/components/AGUI/lib/utils.test.ts +7 -0
  41. package/components/AGUI/lib/utils.ts +27 -0
  42. package/components/AGUI/styles.css +0 -0
  43. package/components/AGUI/types/css.ts +0 -0
  44. package/components/AGUI/types/index.ts +1 -0
  45. package/components/AGUI/types/suggestions.ts +6 -0
  46. package/components/Accordion/Accordion.tsx +203 -0
  47. package/components/Accordion/BodyContent.tsx +28 -0
  48. package/components/Accordion/DeepThinking.tsx +91 -0
  49. package/components/Accordion/SoftLightTitle.tsx +13 -0
  50. package/components/Accordion/demo/search.tsx +39 -0
  51. package/components/Accordion/demo/steps.tsx +135 -0
  52. package/components/Accordion/demo/thinking.tsx +62 -0
  53. package/components/Accordion/index.en-US.md +34 -0
  54. package/components/Accordion/index.tsx +3 -0
  55. package/components/Accordion/index.zh-CN.md +34 -0
  56. package/components/Accordion/style.ts +208 -0
  57. package/components/AgentScopeRuntimeWebUI/demo/index.tsx +4 -0
  58. package/components/AgentScopeRuntimeWebUI/index.tsx +3 -0
  59. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Request/Builder.tsx +82 -0
  60. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Request/Card.tsx +52 -0
  61. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Actions.tsx +39 -0
  62. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Builder.tsx +205 -0
  63. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Card.tsx +44 -0
  64. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Error.tsx +7 -0
  65. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Message.tsx +23 -0
  66. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Reasoning.tsx +16 -0
  67. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/Response/Tool.tsx +19 -0
  68. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/index.tsx +0 -0
  69. package/components/AgentScopeRuntimeWebUI/lib/AgentScopeRuntime/types.tsx +100 -0
  70. package/components/AgentScopeRuntimeWebUI/lib/Chat/Input/index.tsx +77 -0
  71. package/components/AgentScopeRuntimeWebUI/lib/Chat/Input/useAttachments.tsx +53 -0
  72. package/components/AgentScopeRuntimeWebUI/lib/Chat/MessageList/index.tsx +30 -0
  73. package/components/AgentScopeRuntimeWebUI/lib/Chat/Welcome/index.tsx +66 -0
  74. package/components/AgentScopeRuntimeWebUI/lib/Chat/Welcome/styles.ts +51 -0
  75. package/components/AgentScopeRuntimeWebUI/lib/Chat/hooks/index.tsx +5 -0
  76. package/components/AgentScopeRuntimeWebUI/lib/Chat/hooks/useChatController.tsx +130 -0
  77. package/components/AgentScopeRuntimeWebUI/lib/Chat/hooks/useChatMessageHandler.tsx +87 -0
  78. package/components/AgentScopeRuntimeWebUI/lib/Chat/hooks/useChatRequest.tsx +114 -0
  79. package/components/AgentScopeRuntimeWebUI/lib/Chat/hooks/useChatSessionHandler.tsx +50 -0
  80. package/components/AgentScopeRuntimeWebUI/lib/Chat/index.tsx +18 -0
  81. package/components/AgentScopeRuntimeWebUI/lib/Chat/styles.tsx +59 -0
  82. package/components/AgentScopeRuntimeWebUI/lib/ChatAnywhere/ComposedProvider.tsx +27 -0
  83. package/components/AgentScopeRuntimeWebUI/lib/ChatAnywhere/index.tsx +29 -0
  84. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereControl.tsx +0 -0
  85. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereInputContext.tsx +27 -0
  86. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereLayoutContext.tsx +27 -0
  87. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereMessagesContext.tsx +82 -0
  88. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereOptionsContext.tsx +76 -0
  89. package/components/AgentScopeRuntimeWebUI/lib/Context/ChatAnywhereSessionsContext.tsx +111 -0
  90. package/components/AgentScopeRuntimeWebUI/lib/Context/useChatAnywhereEventEmitter.tsx +30 -0
  91. package/components/AgentScopeRuntimeWebUI/lib/Header/index.tsx +45 -0
  92. package/components/AgentScopeRuntimeWebUI/lib/Header/styles.ts +23 -0
  93. package/components/AgentScopeRuntimeWebUI/lib/Layout/index.tsx +45 -0
  94. package/components/AgentScopeRuntimeWebUI/lib/Layout/styles.tsx +104 -0
  95. package/components/AgentScopeRuntimeWebUI/lib/Sessions/index.tsx +114 -0
  96. package/components/AgentScopeRuntimeWebUI/lib/Sessions/styles.tsx +0 -0
  97. package/components/AgentScopeRuntimeWebUI/lib/demo/OptionsPanel/FormItem.tsx +37 -0
  98. package/components/AgentScopeRuntimeWebUI/lib/demo/OptionsPanel/OptionsEditor.tsx +163 -0
  99. package/components/AgentScopeRuntimeWebUI/lib/demo/OptionsPanel/defaultConfig.ts +43 -0
  100. package/components/AgentScopeRuntimeWebUI/lib/demo/OptionsPanel/index.tsx +27 -0
  101. package/components/AgentScopeRuntimeWebUI/lib/demo/index.tsx +57 -0
  102. package/components/AgentScopeRuntimeWebUI/lib/demo/sessionApi/index.ts +51 -0
  103. package/components/AgentScopeRuntimeWebUI/lib/types/IChatAnywhere.ts +358 -0
  104. package/components/AgentScopeRuntimeWebUI/lib/types/IMessages.tsx +52 -0
  105. package/components/AgentScopeRuntimeWebUI/lib/types/ISessions.tsx +29 -0
  106. package/components/AgentScopeRuntimeWebUI/lib/types/index.tsx +3 -0
  107. package/components/AgentScopeRuntimeWebUI/starter/OptionsPanel/FormItem.tsx +37 -0
  108. package/components/AgentScopeRuntimeWebUI/starter/OptionsPanel/OptionsEditor.tsx +163 -0
  109. package/components/AgentScopeRuntimeWebUI/starter/OptionsPanel/defaultConfig.ts +43 -0
  110. package/components/AgentScopeRuntimeWebUI/starter/OptionsPanel/index.tsx +27 -0
  111. package/components/AgentScopeRuntimeWebUI/starter/index.tsx +57 -0
  112. package/components/AgentScopeRuntimeWebUI/starter/sessionApi/index.ts +51 -0
  113. package/components/Attachments/DropArea.tsx +97 -0
  114. package/components/Attachments/FileList/AudioIcon.tsx +20 -0
  115. package/components/Attachments/FileList/FileListCard.tsx +270 -0
  116. package/components/Attachments/FileList/Progress.tsx +30 -0
  117. package/components/Attachments/FileList/VideoIcon.tsx +20 -0
  118. package/components/Attachments/FileList/index.tsx +201 -0
  119. package/components/Attachments/PlaceholderUploader.tsx +124 -0
  120. package/components/Attachments/SilentUploader.tsx +39 -0
  121. package/components/Attachments/context.tsx +11 -0
  122. package/components/Attachments/demo/basic.tsx +71 -0
  123. package/components/Attachments/index.en-US.md.bk +10 -0
  124. package/components/Attachments/index.tsx +274 -0
  125. package/components/Attachments/index.zh-CN.md.bk +10 -0
  126. package/components/Attachments/style/fileCard.ts +163 -0
  127. package/components/Attachments/style/index.ts +232 -0
  128. package/components/Attachments/util.ts +56 -0
  129. package/components/Bubble/Avatar.tsx +39 -0
  130. package/components/Bubble/Bubble.tsx +131 -0
  131. package/components/Bubble/BubbleList.tsx +105 -0
  132. package/components/Bubble/Cards.tsx +61 -0
  133. package/components/Bubble/Footer.tsx +55 -0
  134. package/components/Bubble/Interrupted.tsx +82 -0
  135. package/components/Bubble/ScrollToBottom.tsx +42 -0
  136. package/components/Bubble/Spin.tsx +13 -0
  137. package/components/Bubble/demo/assistantWithCode.tsx +60 -0
  138. package/components/Bubble/demo/assistantWithErrorStatus.tsx +102 -0
  139. package/components/Bubble/demo/assistantWithImage.tsx +46 -0
  140. package/components/Bubble/demo/assistantWithProcess.tsx +103 -0
  141. package/components/Bubble/demo/assistantWithSearch.tsx +69 -0
  142. package/components/Bubble/demo/assistantWithThinking.tsx +54 -0
  143. package/components/Bubble/demo/basic.tsx +55 -0
  144. package/components/Bubble/demo/userWithFile.tsx +27 -0
  145. package/components/Bubble/demo/userWithImage.tsx +26 -0
  146. package/components/Bubble/hooks/useDisplayData.ts +0 -0
  147. package/components/Bubble/hooks/useListData.ts +0 -0
  148. package/components/Bubble/index.en-US.md +33 -0
  149. package/components/Bubble/index.tsx +21 -0
  150. package/components/Bubble/index.zh-CN.md +33 -0
  151. package/components/Bubble/interface.ts +71 -0
  152. package/components/Bubble/loading.tsx +15 -0
  153. package/components/Bubble/style/avatar.ts +43 -0
  154. package/components/Bubble/style/footer.ts +45 -0
  155. package/components/Bubble/style/index.ts +192 -0
  156. package/components/Bubble/style/list.ts +51 -0
  157. package/components/ChatAnywhere/Chat/Ref.tsx +20 -0
  158. package/components/ChatAnywhere/Chat/index.tsx +56 -0
  159. package/components/ChatAnywhere/Chat/style.ts +59 -0
  160. package/components/ChatAnywhere/Header/index.tsx +37 -0
  161. package/components/ChatAnywhere/Header/style.ts +27 -0
  162. package/components/ChatAnywhere/Input/index.tsx +158 -0
  163. package/components/ChatAnywhere/Input/style.ts +14 -0
  164. package/components/ChatAnywhere/Layout/index.tsx +70 -0
  165. package/components/ChatAnywhere/Layout/style.ts +51 -0
  166. package/components/ChatAnywhere/SessionList/index.tsx +122 -0
  167. package/components/ChatAnywhere/SessionList/style.ts +53 -0
  168. package/components/ChatAnywhere/hooks/ChatAnywhereProvider.tsx +219 -0
  169. package/components/ChatAnywhere/hooks/types.ts +333 -0
  170. package/components/ChatAnywhere/hooks/useInput.tsx +22 -0
  171. package/components/ChatAnywhere/hooks/useMessages.tsx +63 -0
  172. package/components/ChatAnywhere/hooks/useSessionList.tsx +123 -0
  173. package/components/ChatAnywhere/index.tsx +49 -0
  174. package/components/Conversations/GroupTitle.tsx +28 -0
  175. package/components/Conversations/Item.tsx +189 -0
  176. package/components/Conversations/demo/basic.tsx +107 -0
  177. package/components/Conversations/demo/timeline.tsx +111 -0
  178. package/components/Conversations/demo/timestamp.tsx +110 -0
  179. package/components/Conversations/hooks/useGroupable.ts +81 -0
  180. package/components/Conversations/index.en-US.md +32 -0
  181. package/components/Conversations/index.tsx +176 -0
  182. package/components/Conversations/index.zh-CN.md +31 -0
  183. package/components/Conversations/interface.ts +69 -0
  184. package/components/Conversations/style.ts +153 -0
  185. package/components/DefaultCards/DeepThinking/index.tsx +33 -0
  186. package/components/DefaultCards/Files/index.tsx +69 -0
  187. package/components/DefaultCards/Footer/index.tsx +16 -0
  188. package/components/DefaultCards/Images/index.tsx +53 -0
  189. package/components/DefaultCards/Interrupted/index.tsx +13 -0
  190. package/components/DefaultCards/Text/index.tsx +13 -0
  191. package/components/DefaultCards/index.tsx +6 -0
  192. package/components/DeviceAction/actionMap.tsx +100 -0
  193. package/components/DeviceAction/demo/index.tsx +132 -0
  194. package/components/DeviceAction/index.en-US.md +19 -0
  195. package/components/DeviceAction/index.tsx +75 -0
  196. package/components/DeviceAction/index.zh-CN.md +19 -0
  197. package/components/Disclaimer/demo/index.tsx +4 -0
  198. package/components/Disclaimer/demo/withLink.tsx +4 -0
  199. package/components/Disclaimer/index.en-US.md +23 -0
  200. package/components/Disclaimer/index.tsx +42 -0
  201. package/components/Disclaimer/index.zh-CN.md +24 -0
  202. package/components/Disclaimer/style.ts +17 -0
  203. package/components/ImageGenerator/demo/basic.tsx +23 -0
  204. package/components/ImageGenerator/demo/custom.tsx +56 -0
  205. package/components/ImageGenerator/demo/size.tsx +15 -0
  206. package/components/ImageGenerator/index.en-US.md +23 -0
  207. package/components/ImageGenerator/index.tsx +124 -0
  208. package/components/ImageGenerator/index.zh-CN.md +23 -0
  209. package/components/ImageGenerator/style.ts +99 -0
  210. package/components/Markdown/Markdown/AnimationNode.tsx +89 -0
  211. package/components/Markdown/Markdown/Markdown.tsx +61 -0
  212. package/components/Markdown/Markdown/core/Parser.ts +52 -0
  213. package/components/Markdown/Markdown/core/Renderer.ts +121 -0
  214. package/components/Markdown/Markdown/core/index.ts +4 -0
  215. package/components/Markdown/Markdown/defaultComponents/CodeBlock.tsx +113 -0
  216. package/components/Markdown/Markdown/defaultComponents/DisabledImage.tsx +3 -0
  217. package/components/Markdown/Markdown/defaultComponents/Media.tsx +71 -0
  218. package/components/Markdown/Markdown/hooks/index.ts +4 -0
  219. package/components/Markdown/Markdown/hooks/useAnimation.tsx +27 -0
  220. package/components/Markdown/Markdown/hooks/useCitationsData.tsx +36 -0
  221. package/components/Markdown/Markdown/hooks/useStreaming.ts +503 -0
  222. package/components/Markdown/Markdown/hooks/useTyping.ts +22 -0
  223. package/components/Markdown/Markdown/index.tsx +198 -0
  224. package/components/Markdown/Markdown/interface.ts +217 -0
  225. package/components/Markdown/Markdown/style.ts +152 -0
  226. package/components/Markdown/demo/basic.tsx +107 -0
  227. package/components/Markdown/demo/citations.tsx +47 -0
  228. package/components/Markdown/demo/cursor.tsx +9 -0
  229. package/components/Markdown/demo/latex.tsx +77 -0
  230. package/components/Markdown/demo/typing.tsx +82 -0
  231. package/components/Markdown/index.en-US.md +27 -0
  232. package/components/Markdown/index.ts +1 -0
  233. package/components/Markdown/index.zh-CN.md +28 -0
  234. package/components/Markdown/plugins/citations/CitationComponent.tsx +72 -0
  235. package/components/Markdown/plugins/citations/index.tsx +37 -0
  236. package/components/Markdown/plugins/cursor/Dot.tsx +106 -0
  237. package/components/Markdown/plugins/cursor/Underline.tsx +38 -0
  238. package/components/Markdown/plugins/cursor/index.tsx +59 -0
  239. package/components/Markdown/plugins/latex/index.ts +109 -0
  240. package/components/Markdown/plugins/type.ts +71 -0
  241. package/components/Mermaid/demo/basic.tsx +12 -0
  242. package/components/Mermaid/demo/class.tsx +31 -0
  243. package/components/Mermaid/demo/flowchart.tsx +13 -0
  244. package/components/Mermaid/demo/sequence.tsx +18 -0
  245. package/components/Mermaid/demo/state.tsx +16 -0
  246. package/components/Mermaid/demo/timeline.tsx +15 -0
  247. package/components/Mermaid/index.en-US.md +27 -0
  248. package/components/Mermaid/index.tsx +118 -0
  249. package/components/Mermaid/index.zh-CN.md +27 -0
  250. package/components/OperateCard/OperateCard.tsx +93 -0
  251. package/components/OperateCard/demo/index.tsx +35 -0
  252. package/components/OperateCard/demo/rag.tsx +19 -0
  253. package/components/OperateCard/demo/thinking.tsx +17 -0
  254. package/components/OperateCard/demo/todo.tsx +28 -0
  255. package/components/OperateCard/demo/toolCall.tsx +14 -0
  256. package/components/OperateCard/demo/webSearch.tsx +12 -0
  257. package/components/OperateCard/index.en-US.md +51 -0
  258. package/components/OperateCard/index.tsx +1 -0
  259. package/components/OperateCard/index.zh-CN.md +51 -0
  260. package/components/OperateCard/preset/Rag.tsx +90 -0
  261. package/components/OperateCard/preset/Thinking.tsx +45 -0
  262. package/components/OperateCard/preset/TodoList.tsx +73 -0
  263. package/components/OperateCard/preset/ToolCall.tsx +67 -0
  264. package/components/OperateCard/preset/WebSearch.tsx +65 -0
  265. package/components/OperateCard/preset/index.tsx +5 -0
  266. package/components/OperateCard/style.ts +268 -0
  267. package/components/Provider/CustomCardsProvider.tsx +17 -0
  268. package/components/Provider/GlobalProvider.tsx +17 -0
  269. package/components/Provider/index.tsx +33 -0
  270. package/components/Provider/types.ts +23 -0
  271. package/components/ResponsesAPI/index.tsx +0 -0
  272. package/components/Sender/ModeSelect/index.tsx +160 -0
  273. package/components/Sender/ModeSelect/styles.ts +0 -0
  274. package/components/Sender/SenderHeader.tsx +164 -0
  275. package/components/Sender/StopLoading.tsx +48 -0
  276. package/components/Sender/components/ActionButton.tsx +106 -0
  277. package/components/Sender/components/ClearButton.tsx +10 -0
  278. package/components/Sender/components/LoadingButton.tsx +26 -0
  279. package/components/Sender/components/SendButton.tsx +22 -0
  280. package/components/Sender/components/SpeechButton/RecordingIcon.tsx +68 -0
  281. package/components/Sender/components/SpeechButton/index.tsx +30 -0
  282. package/components/Sender/demo/asr.tsx +7 -0
  283. package/components/Sender/demo/basic.tsx +7 -0
  284. package/components/Sender/demo/loading.tsx +5 -0
  285. package/components/Sender/demo/moreMode.tsx +45 -0
  286. package/components/Sender/demo/morePrefixAction.tsx +40 -0
  287. package/components/Sender/demo/withFile.tsx +54 -0
  288. package/components/Sender/demo/withImage.tsx +52 -0
  289. package/components/Sender/index.en-US.md +29 -0
  290. package/components/Sender/index.tsx +491 -0
  291. package/components/Sender/index.zh-CN.md +30 -0
  292. package/components/Sender/style/index.ts +150 -0
  293. package/components/Sender/useSpeech.ts +133 -0
  294. package/components/StatusCard/demo/index.tsx +32 -0
  295. package/components/StatusCard/index.en-US.md +30 -0
  296. package/components/StatusCard/index.tsx +162 -0
  297. package/components/StatusCard/index.zh-CN.md +27 -0
  298. package/components/StatusCard/style.ts +119 -0
  299. package/components/Stream/index.ts +203 -0
  300. package/components/Util/hooks/use-proxy-imperative-handle.ts +25 -0
  301. package/components/Util/sleep.ts +3 -0
  302. package/components/Util/type.ts +1 -0
  303. package/components/Util/warning.ts +118 -0
  304. package/components/Version/index.ts +3 -0
  305. package/components/Voice/Recorder.tsx +3 -0
  306. package/components/Voice/demo/index.tsx +0 -0
  307. package/components/Voice/index.en-US.md +8 -0
  308. package/components/Voice/index.tsx +0 -0
  309. package/components/Voice/index.zh-CN.md +9 -0
  310. package/components/Welcome/demo/EyeFollower.tsx +161 -0
  311. package/components/Welcome/demo/demo0.tsx +14 -0
  312. package/components/Welcome/demo/demo1.tsx +16 -0
  313. package/components/Welcome/demo/demo2.tsx +30 -0
  314. package/components/Welcome/demo/demo3.tsx +16 -0
  315. package/components/Welcome/index.en-US.md +28 -0
  316. package/components/Welcome/index.tsx +72 -0
  317. package/components/Welcome/index.zh-CN.md +28 -0
  318. package/components/index.ts +88 -0
  319. package/components/overview.en-US.md +10 -0
  320. package/components/overview.zh-CN.md +10 -0
  321. package/lib/AgentScopeRuntimeWebUI/index.d.ts +1 -0
  322. package/lib/AgentScopeRuntimeWebUI/index.js +1 -0
  323. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/FormItem.d.ts +9 -0
  324. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/FormItem.js +33 -0
  325. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/OptionsEditor.d.ts +7 -0
  326. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/OptionsEditor.js +188 -0
  327. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/defaultConfig.d.ts +29 -0
  328. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/defaultConfig.js +35 -0
  329. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/index.d.ts +6 -0
  330. package/lib/AgentScopeRuntimeWebUI/starter/OptionsPanel/index.js +49 -0
  331. package/lib/AgentScopeRuntimeWebUI/starter/index.d.ts +1 -0
  332. package/lib/AgentScopeRuntimeWebUI/starter/index.js +70 -0
  333. package/lib/AgentScopeRuntimeWebUI/starter/sessionApi/index.d.ts +14 -0
  334. package/lib/AgentScopeRuntimeWebUI/starter/sessionApi/index.js +143 -0
  335. package/package.json +3 -2
@@ -0,0 +1,51 @@
1
+ import { IAgentScopeRuntimeWebUISessionAPI } from '@agentscope-ai/chat';
2
+ import { IAgentScopeRuntimeWebUISession } from '../../lib/types/ISessions';
3
+
4
+ class SessionApi implements IAgentScopeRuntimeWebUISessionAPI {
5
+ private lsKey: string;
6
+ private sessionList: IAgentScopeRuntimeWebUISession[];
7
+
8
+ constructor() {
9
+ this.lsKey = 'agent-scope-runtime-webui-sessions';
10
+ this.sessionList = [];
11
+ }
12
+
13
+ async getSessionList() {
14
+ this.sessionList = JSON.parse(localStorage.getItem(this.lsKey) || '[]');
15
+ return [...this.sessionList];
16
+ }
17
+
18
+ async getSession(sessionId) {
19
+ return this.sessionList.find((session) => session.id === sessionId);
20
+ }
21
+
22
+ async updateSession(session) {
23
+ const index = this.sessionList.findIndex((item) => item.id === session.id);
24
+ if (index > -1) {
25
+ this.sessionList[index] = {
26
+ ...this.sessionList[index],
27
+ ...session,
28
+ };
29
+ localStorage.setItem(this.lsKey, JSON.stringify(this.sessionList));
30
+ }
31
+
32
+ return [...this.sessionList];
33
+ }
34
+
35
+ async createSession(session) {
36
+ session.id = Date.now().toString();
37
+ this.sessionList.unshift(session);
38
+ localStorage.setItem(this.lsKey, JSON.stringify(this.sessionList));
39
+ return [...this.sessionList];
40
+ }
41
+
42
+ async removeSession(session) {
43
+ this.sessionList = this.sessionList.filter(
44
+ (item) => item.id !== session.id,
45
+ );
46
+ localStorage.setItem(this.lsKey, JSON.stringify(this.sessionList));
47
+ return [...this.sessionList];
48
+ }
49
+ }
50
+
51
+ export default new SessionApi();
@@ -0,0 +1,358 @@
1
+ import { UploadProps } from 'antd';
2
+ import { IAgentScopeRuntimeWebUISession } from './ISessions';
3
+
4
+ /**
5
+ * @description API 配置选项
6
+ * @descriptionEn API configuration options
7
+ */
8
+ export interface IAgentScopeRuntimeWebUIAPIOptions {
9
+ /**
10
+ * @description 基础URL
11
+ * @descriptionEn Base URL
12
+ */
13
+ baseURL: string;
14
+ /**
15
+ * @description 鉴权参数
16
+ * @descriptionEn Authorization Token
17
+ */
18
+ token?: string;
19
+ }
20
+
21
+ /**
22
+ * @description 主题配置选项
23
+ * @descriptionEn Theme configuration options
24
+ */
25
+ export interface IAgentScopeRuntimeWebUIThemeOptions {
26
+ /**
27
+ * @description 主题色
28
+ * @descriptionEn Primary color
29
+ */
30
+ colorPrimary?: string;
31
+ /**
32
+ * @description 背景色
33
+ * @descriptionEn Background color
34
+ */
35
+ colorBgBase?: string;
36
+ /**
37
+ * @description 文本颜色
38
+ * @descriptionEn Text color
39
+ */
40
+ colorTextBase?: string;
41
+ /**
42
+ * @description 是否开启暗色模式
43
+ * @descriptionEn Enable dark mode
44
+ */
45
+ darkMode?: boolean;
46
+ /**
47
+ * @description 是否开启窄屏模式
48
+ * @descriptionEn Enable narrow mode
49
+ */
50
+ narrowMode?: boolean;
51
+ /**
52
+ * @description CSS 类名前缀
53
+ * @descriptionEn CSS class name prefix
54
+ */
55
+ prefix?: string;
56
+ /**
57
+ * @description 左侧头部配置
58
+ * @descriptionEn Left header configuration
59
+ */
60
+ leftHeader?: IAgentScopeRuntimeWebUILeftHeader | React.ReactElement;
61
+ /**
62
+ * @description 右侧头部配置
63
+ * @descriptionEn Right header configuration
64
+ */
65
+ rightHeader?: React.ReactElement | React.ReactElement[];
66
+ /**
67
+ * @description 排版配置
68
+ * @descriptionEn Typography configuration
69
+ */
70
+ typography?: IAgentScopeRuntimeWebUITypography;
71
+ }
72
+
73
+ export interface IAgentScopeRuntimeWebUITypography {
74
+ /**
75
+ * @description 基础字体大小
76
+ * @descriptionEn Base font size
77
+ */
78
+ baseFontSize?: number;
79
+ /**
80
+ * @description 基础行高
81
+ * @descriptionEn Base line height
82
+ */
83
+ baseLineHeight?: number;
84
+ }
85
+
86
+ export interface IAgentScopeRuntimeWebUILeftHeader {
87
+ /**
88
+ * @description Logo 图片地址
89
+ * @descriptionEn Logo image URL
90
+ */
91
+ logo?: string;
92
+ /**
93
+ * @description 标题
94
+ * @descriptionEn Title
95
+ */
96
+ title?: string;
97
+ }
98
+
99
+ /**
100
+ * @description 欢迎页配置选项
101
+ * @descriptionEn Welcome page configuration options
102
+ */
103
+ export interface IAgentScopeRuntimeWebUIWelcomeOptions {
104
+ /**
105
+ * @description 问候语
106
+ * @descriptionEn Greeting message
107
+ */
108
+ greeting?: string | React.ReactElement;
109
+ /**
110
+ * @description 描述信息
111
+ * @descriptionEn Description text
112
+ */
113
+ description?: string | React.ReactElement;
114
+ /**
115
+ * @description 头像
116
+ * @descriptionEn Avatar
117
+ */
118
+ avatar?: string | React.ReactElement;
119
+ /**
120
+ * @description 提示语列表
121
+ * @descriptionEn Prompt list
122
+ */
123
+ prompts?: (
124
+ | { label?: string; value: string; icon?: React.ReactElement }
125
+ | string
126
+ )[];
127
+ /**
128
+ * @description 自定义渲染函数
129
+ * @descriptionEn Custom render function
130
+ */
131
+ render?: (
132
+ props: Pick<
133
+ IAgentScopeRuntimeWebUIWelcomeOptions,
134
+ 'greeting' | 'description' | 'avatar' | 'prompts'
135
+ > & { onSubmit: (data: { query: string; fileList?: any[] }) => void },
136
+ ) => React.ReactElement;
137
+ }
138
+
139
+ /**
140
+ * @description 输入框配置选项
141
+ * @descriptionEn Sender configuration options
142
+ */
143
+ export interface IAgentScopeRuntimeWebUISenderOptions {
144
+ /**
145
+ * @description 输入框占位符
146
+ * @descriptionEn Input placeholder
147
+ */
148
+ placeholder?: string;
149
+ /**
150
+ * @description 最大输入长度
151
+ * @descriptionEn Maximum input length
152
+ */
153
+ maxLength?: number;
154
+ /**
155
+ * @description 是否可缩放
156
+ * @descriptionEn Whether scalable
157
+ */
158
+ scalable?: boolean;
159
+ /**
160
+ * @description 输入框前置UI
161
+ * @descriptionEn UI before input
162
+ */
163
+ beforeUI?: React.ReactElement | React.ReactElement[];
164
+ /**
165
+ * @description 输入框后置UI
166
+ * @descriptionEn UI after input
167
+ */
168
+ afterUI?: React.ReactElement | React.ReactElement[];
169
+ /**
170
+ * @description 提交前的钩子函数
171
+ * @descriptionEn Hook function before submit
172
+ */
173
+ beforeSubmit?: () => Promise<Boolean>;
174
+ /**
175
+ * @description 提交回调函数
176
+ * @descriptionEn Submit callback function
177
+ */
178
+ onSubmit?: (data: { query: string; fileList?: any[] }) => void;
179
+ /**
180
+ * @description 取消回调函数
181
+ * @descriptionEn Cancel callback function
182
+ */
183
+ onCancel?: () => void;
184
+ /**
185
+ * @description 免责声明
186
+ * @descriptionEn Disclaimer
187
+ */
188
+ disclaimer?: string | React.ReactElement;
189
+ /**
190
+ * @description 附件配置
191
+ * @descriptionEn Attachments configuration
192
+ */
193
+ attachments?: IAgentScopeRuntimeWebUISenderAttachmentsOptions;
194
+ }
195
+
196
+ /**
197
+ * @description 附件配置选项
198
+ * @descriptionEn Attachments configuration options
199
+ */
200
+ export interface IAgentScopeRuntimeWebUISenderAttachmentsOptions {
201
+ /**
202
+ * @description 自定义上传请求
203
+ * @descriptionEn Custom upload request
204
+ */
205
+ customRequest?: UploadProps['customRequest'];
206
+ }
207
+
208
+ /**
209
+ * @description 会话 API 接口
210
+ * @descriptionEn Session API interface
211
+ */
212
+ export interface IAgentScopeRuntimeWebUISessionAPI {
213
+ /**
214
+ * @description 获取会话列表
215
+ * @descriptionEn Get session list
216
+ */
217
+ getSessionList?: () => Promise<IAgentScopeRuntimeWebUISession[]>;
218
+ /**
219
+ * @description 获取会话详情
220
+ * @descriptionEn Get session details
221
+ */
222
+ getSession?: (sessionId: string) => Promise<IAgentScopeRuntimeWebUISession>;
223
+ /**
224
+ * @description 更新会话
225
+ * @descriptionEn Update session
226
+ */
227
+ updateSession?: (session: Partial<IAgentScopeRuntimeWebUISession>) => Promise<IAgentScopeRuntimeWebUISession[]>;
228
+ /**
229
+ * @description 创建会话
230
+ * @descriptionEn Create session
231
+ */
232
+ createSession?: (session: Partial<IAgentScopeRuntimeWebUISession>) => Promise<IAgentScopeRuntimeWebUISession[]>;
233
+ /**
234
+ * @description 删除会话
235
+ * @descriptionEn Remove session
236
+ */
237
+ removeSession?: (session: Partial<IAgentScopeRuntimeWebUISession>) => Promise<IAgentScopeRuntimeWebUISession[]>;
238
+ }
239
+
240
+ /**
241
+ * @description 会话配置选项
242
+ * @descriptionEn Session configuration options
243
+ */
244
+ export interface IAgentScopeRuntimeWebUISessionOptions {
245
+ /**
246
+ * @description 是否支持多会话
247
+ * @descriptionEn Whether to support multiple sessions
248
+ */
249
+ multiple?: boolean;
250
+ /**
251
+ * @description 会话 API 接口
252
+ * @descriptionEn Session API interface
253
+ */
254
+ api: IAgentScopeRuntimeWebUISessionAPI;
255
+ }
256
+
257
+ /**
258
+ * @description 自定义卡片组件配置
259
+ * @descriptionEn Custom cards component configuration
260
+ */
261
+ export interface IAgentScopeRuntimeWebUICardsOptions {
262
+ /**
263
+ * @description 卡片组件映射表,key 为卡片类型,value 为对应的 React 组件
264
+ * @descriptionEn Card component mapping, key is card type, value is corresponding React component
265
+ */
266
+ [key: string]: React.FC<any>;
267
+ }
268
+
269
+ /**
270
+ * @description AgentScope Runtime WebUI 主配置选项
271
+ * @descriptionEn AgentScope Runtime WebUI main configuration options
272
+ */
273
+ export interface IAgentScopeRuntimeWebUIOptions {
274
+ /**
275
+ * @description API 配置
276
+ * @descriptionEn API configuration
277
+ */
278
+ api: IAgentScopeRuntimeWebUIAPIOptions;
279
+ /**
280
+ * @description 主题配置
281
+ * @descriptionEn Theme configuration
282
+ */
283
+ theme?: IAgentScopeRuntimeWebUIThemeOptions;
284
+ /**
285
+ * @description 欢迎页配置
286
+ * @descriptionEn Welcome page configuration
287
+ */
288
+ welcome?: IAgentScopeRuntimeWebUIWelcomeOptions;
289
+ /**
290
+ * @description 输入框配置
291
+ * @descriptionEn Sender configuration
292
+ */
293
+ sender?: IAgentScopeRuntimeWebUISenderOptions;
294
+ /**
295
+ * @description 会话配置
296
+ * @descriptionEn Session configuration
297
+ */
298
+ session: IAgentScopeRuntimeWebUISessionOptions;
299
+ /**
300
+ * @description 自定义卡片配置
301
+ * @descriptionEn Custom cards configuration
302
+ */
303
+ cards?: IAgentScopeRuntimeWebUICardsOptions;
304
+ }
305
+
306
+ /**
307
+ * @description 输入框上下文状态接口
308
+ * @descriptionEn Input context state interface
309
+ */
310
+ export interface IAgentScopeRuntimeWebUIInputContext {
311
+ /**
312
+ * @description 加载状态
313
+ * @descriptionEn Loading state
314
+ */
315
+ loading: boolean;
316
+ /**
317
+ * @description 设置加载状态
318
+ * @descriptionEn Set loading state
319
+ */
320
+ setLoading: (loading: boolean) => void;
321
+ /**
322
+ * @description 获取加载状态
323
+ * @descriptionEn Get loading state
324
+ */
325
+ getLoading: () => boolean;
326
+ /**
327
+ * @description 禁用状态
328
+ * @descriptionEn Disabled state
329
+ */
330
+ disabled: boolean;
331
+ /**
332
+ * @description 设置禁用状态
333
+ * @descriptionEn Set disabled state
334
+ */
335
+ setDisabled: (disabled: boolean) => void;
336
+ /**
337
+ * @description 获取禁用状态
338
+ * @descriptionEn Get disabled state
339
+ */
340
+ getDisabled: () => boolean;
341
+ }
342
+
343
+ /**
344
+ * @description 输入数据接口
345
+ * @descriptionEn Input data interface
346
+ */
347
+ export interface IAgentScopeRuntimeWebUIInputData {
348
+ /**
349
+ * @description 查询文本
350
+ * @descriptionEn Query text
351
+ */
352
+ query: string;
353
+ /**
354
+ * @description 文件列表
355
+ * @descriptionEn File list
356
+ */
357
+ fileList?: UploadProps['fileList'];
358
+ }
@@ -0,0 +1,52 @@
1
+ export interface IAgentScopeRuntimeWebUIMessageCard<T = string | any> {
2
+ /**
3
+ * @description 卡片的唯一标识符
4
+ * @descriptionEn Unique identifier for the card
5
+ */
6
+ id?: string;
7
+ /**
8
+ * @description 卡片的类型代码
9
+ * @descriptionEn Type code for the card
10
+ */
11
+ code: string;
12
+ /**
13
+ * @description 卡片的渲染组件
14
+ * @descriptionEn Rendering component for the card
15
+ */
16
+ component?: React.FC;
17
+ /**
18
+ * @description 卡片的数据内容
19
+ * @descriptionEn Data content for the card
20
+ */
21
+ data?: T;
22
+ }
23
+
24
+ export interface IAgentScopeRuntimeWebUIMessage<T = string | any> {
25
+ /**
26
+ * @description 消息的唯一标识符
27
+ * @descriptionEn Unique identifier for the message
28
+ */
29
+ id: string;
30
+
31
+ /**
32
+ * @description 消息中的卡片组件配置
33
+ * @descriptionEn Card component configuration in the message
34
+ */
35
+ cards?: IAgentScopeRuntimeWebUIMessageCard<T>[];
36
+ /**
37
+ * @description 消息的角色类型,区分用户、助手和系统消息
38
+ * @descriptionEn Role type of the message to distinguish user, assistant, and system messages
39
+ */
40
+ role: 'user' | 'assistant' | 'system';
41
+ /**
42
+ * @description 消息的处理状态,影响显示效果
43
+ * @descriptionEn Processing status of the message, affects display effects
44
+ */
45
+ msgStatus?: 'finished' | 'interrupted' | 'generating' | 'error';
46
+ }
47
+
48
+ export interface IAgentScopeRuntimeWebUIMessagesContext {
49
+ messages: IAgentScopeRuntimeWebUIMessage[];
50
+ setMessages: (messages: IAgentScopeRuntimeWebUIMessage[]) => void;
51
+ getMessages: () => IAgentScopeRuntimeWebUIMessage[];
52
+ }
@@ -0,0 +1,29 @@
1
+ import { IAgentScopeRuntimeWebUIMessage } from "@agentscope-ai/chat";
2
+
3
+
4
+ export interface IAgentScopeRuntimeWebUISession {
5
+ /**
6
+ * @description 会话的唯一标识符
7
+ * @descriptionEn Unique identifier for the session
8
+ */
9
+ id: string;
10
+ /**
11
+ * @description 会话的名称
12
+ * @descriptionEn Name of the session
13
+ */
14
+ name: string;
15
+ /**
16
+ * @description 会话的消息列表
17
+ * @descriptionEn Message list for the session
18
+ */
19
+ messages: IAgentScopeRuntimeWebUIMessage[];
20
+ }
21
+
22
+ export interface IAgentScopeRuntimeWebUISessionsContext {
23
+ sessions: IAgentScopeRuntimeWebUISession[];
24
+ setSessions: (sessions: IAgentScopeRuntimeWebUISession[]) => void;
25
+ getSessions: () => IAgentScopeRuntimeWebUISession[];
26
+ currentSessionId: string | undefined;
27
+ setCurrentSessionId: (sessionId: string | undefined) => void;
28
+ getCurrentSessionId: () => string | undefined;
29
+ }
@@ -0,0 +1,3 @@
1
+ export * from './IChatAnywhere';
2
+ export * from './IMessages';
3
+ export * from './ISessions';
@@ -0,0 +1,37 @@
1
+ import { Form, Input, InputNumber, Space, ColorPicker, Flex } from 'antd';
2
+ import { createStyles } from 'antd-style';
3
+
4
+
5
+ interface FormItemProps {
6
+ name: string | string[];
7
+ label: string;
8
+ isList?: boolean;
9
+ children: any;
10
+ normalize?: (value: any) => any;
11
+ }
12
+
13
+
14
+ const useStyles = createStyles(({ token, css }) => ({
15
+ label: {
16
+ marginBottom: 6,
17
+ fontSize: 12,
18
+ color: token.colorTextSecondary,
19
+ },
20
+
21
+ }));
22
+
23
+ export default function FormItem(props: FormItemProps) {
24
+ const { styles } = useStyles();
25
+
26
+
27
+ const node = props.isList ?
28
+ <Form.List name={props.name}>{props.children}</Form.List> :
29
+ <Form.Item name={props.name} normalize={props.normalize}>{props.children}</Form.Item>;
30
+
31
+
32
+ return <div>
33
+ {props.label && <div className={styles.label}>{props.label}</div>}
34
+ {node}
35
+ </div>
36
+
37
+ }
@@ -0,0 +1,163 @@
1
+ import React, { useEffect } from 'react';
2
+ import { Form, Input, ColorPicker, Flex, Splitter, Divider, InputNumber } from 'antd';
3
+ import { createStyles } from 'antd-style';
4
+ import { Button, IconButton, Switch } from '@agentscope-ai/design'
5
+ import { SparkDeleteLine, SparkPlusLine } from '@agentscope-ai/icons';
6
+ import FormItem from './FormItem';
7
+ import defaultConfig from './defaultConfig';
8
+
9
+ const useStyles = createStyles(({ token, css }) => ({
10
+ container: {
11
+ height: '100%',
12
+ display: 'flex',
13
+ flexDirection: 'column',
14
+ },
15
+
16
+ form: {
17
+ height: 0,
18
+ flex: 1,
19
+ padding: '8px 16px 16px 16px',
20
+ overflow: 'auto',
21
+ },
22
+ actions: {
23
+ padding: 16,
24
+ display: 'flex',
25
+ borderTop: `1px solid ${token.colorBorderSecondary}`,
26
+ justifyContent: 'flex-end',
27
+ gap: 16,
28
+ }
29
+
30
+ }));
31
+
32
+ interface OptionsEditorProps {
33
+ value?: any;
34
+ onChange?: any;
35
+ }
36
+
37
+ const OptionsEditor: React.FC<OptionsEditorProps> = ({
38
+ value,
39
+ onChange,
40
+ }) => {
41
+ const { styles } = useStyles();
42
+ const [form] = Form.useForm();
43
+
44
+
45
+ const handleSave = () => {
46
+ form.validateFields().then((values) => {
47
+ onChange(values);
48
+ });
49
+ };
50
+
51
+ const handleReset = () => {
52
+ form.setFieldsValue(defaultConfig);
53
+ };
54
+
55
+ return (
56
+ <div className={styles.container}>
57
+ <Form
58
+ className={styles.form}
59
+ form={form}
60
+ layout="vertical"
61
+ initialValues={value}
62
+ >
63
+
64
+
65
+ <Divider orientation="left">Theme</Divider>
66
+
67
+ <FormItem name={['theme', 'colorPrimary']} label="colorPrimary" normalize={value => value.toHexString()}>
68
+ <ColorPicker />
69
+ </FormItem>
70
+
71
+ <FormItem name={['theme', 'colorBgBase']} label="colorBgBase" normalize={value => value.toHexString()}>
72
+ <ColorPicker />
73
+ </FormItem>
74
+
75
+ <FormItem name={['theme', 'colorTextBase']} label="colorTextBase" normalize={value => value.toHexString()}>
76
+ <ColorPicker />
77
+ </FormItem>
78
+
79
+ <FormItem name={['theme', 'darkMode']} label="darkMode" >
80
+ <Switch />
81
+ </FormItem>
82
+
83
+ <FormItem name={['theme', 'leftHeader', 'logo']} label="leftHeader.logo" >
84
+ <Input />
85
+ </FormItem>
86
+
87
+ <FormItem name={['theme', 'leftHeader', 'title']} label="leftHeader.title" >
88
+ <Input />
89
+ </FormItem>
90
+
91
+ <Divider orientation="left">Sender</Divider>
92
+
93
+
94
+ <FormItem name={['sender', 'disclaimer']} label="disclaimer" >
95
+ <Input />
96
+ </FormItem>
97
+
98
+
99
+ <FormItem name={['sender', 'attachments']} label="attachments" >
100
+ <Switch />
101
+ </FormItem>
102
+
103
+
104
+ <FormItem name={['sender', 'maxLength']} label="maxLength" >
105
+ <InputNumber min={1000} />
106
+ </FormItem>
107
+
108
+ <Divider orientation="left">Welcome</Divider>
109
+
110
+
111
+ <FormItem name={['welcome', 'greeting']} label="greeting" >
112
+ <Input />
113
+ </FormItem>
114
+
115
+ <FormItem name={['welcome', 'description']} label="description" >
116
+ <Input />
117
+ </FormItem>
118
+
119
+ <FormItem name={['welcome', 'avatar']} label="avatar" >
120
+ <Input />
121
+ </FormItem>
122
+
123
+
124
+ <FormItem name={['welcome', 'prompts']} isList label="prompts" >
125
+ {(fields, { add, remove }) => {
126
+ return <div>
127
+ {fields.map(field => {
128
+ return <Flex key={field.key} gap={6}>
129
+ <Form.Item style={{ flex: 1 }} key={field.key} name={[field.name, 'value']}>
130
+ <Input />
131
+ </Form.Item>
132
+ <IconButton icon={<SparkPlusLine />} onClick={() => add({})}></IconButton>
133
+ <IconButton icon={<SparkDeleteLine />} onClick={() => remove(field.name)}></IconButton>
134
+ </Flex>
135
+ })}
136
+ </div>
137
+ }}
138
+ </FormItem>
139
+
140
+
141
+ <Divider orientation="left">API</Divider>
142
+
143
+ <FormItem name={['api', 'baseURL']} label="baseURL" >
144
+ <Input />
145
+ </FormItem>
146
+
147
+ <FormItem name={['api', 'token']} label="token" >
148
+ <Input />
149
+ </FormItem>
150
+ </Form>
151
+
152
+ <div className={styles.actions}>
153
+ <Button onClick={handleReset}>Reset</Button>
154
+ <Button type="primary" onClick={handleSave}>
155
+ Save & Copy
156
+ </Button>
157
+ </div>
158
+ </div>
159
+ );
160
+ };
161
+
162
+ export default OptionsEditor;
163
+