@vectorx/agent-simulator 0.0.0-beta-20251112071234

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 (303) hide show
  1. package/README.md +76 -0
  2. package/bin/agent.js +55 -0
  3. package/lib/app.d.ts +43 -0
  4. package/lib/app.d.ts.map +1 -0
  5. package/lib/app.js +99 -0
  6. package/lib/app.js.map +1 -0
  7. package/lib/config/api.config.d.ts +2 -0
  8. package/lib/config/api.config.d.ts.map +1 -0
  9. package/lib/config/api.config.js +13 -0
  10. package/lib/config/api.config.js.map +1 -0
  11. package/lib/config/app.config.d.ts +22 -0
  12. package/lib/config/app.config.d.ts.map +1 -0
  13. package/lib/config/app.config.js +18 -0
  14. package/lib/config/app.config.js.map +1 -0
  15. package/lib/config/upload.config.d.ts +6 -0
  16. package/lib/config/upload.config.d.ts.map +1 -0
  17. package/lib/config/upload.config.js +10 -0
  18. package/lib/config/upload.config.js.map +1 -0
  19. package/lib/container/container.d.ts +6 -0
  20. package/lib/container/container.d.ts.map +1 -0
  21. package/lib/container/container.js +34 -0
  22. package/lib/container/container.js.map +1 -0
  23. package/lib/container/identifiers.d.ts +14 -0
  24. package/lib/container/identifiers.d.ts.map +1 -0
  25. package/lib/container/identifiers.js +20 -0
  26. package/lib/container/identifiers.js.map +1 -0
  27. package/lib/container/index.d.ts +4 -0
  28. package/lib/container/index.d.ts.map +1 -0
  29. package/lib/container/index.js +20 -0
  30. package/lib/container/index.js.map +1 -0
  31. package/lib/container/types.d.ts +48 -0
  32. package/lib/container/types.d.ts.map +1 -0
  33. package/lib/container/types.js +3 -0
  34. package/lib/container/types.js.map +1 -0
  35. package/lib/controllers/agent.controller.d.ts +19 -0
  36. package/lib/controllers/agent.controller.d.ts.map +1 -0
  37. package/lib/controllers/agent.controller.js +102 -0
  38. package/lib/controllers/agent.controller.js.map +1 -0
  39. package/lib/controllers/auth.controller.d.ts +23 -0
  40. package/lib/controllers/auth.controller.d.ts.map +1 -0
  41. package/lib/controllers/auth.controller.js +132 -0
  42. package/lib/controllers/auth.controller.js.map +1 -0
  43. package/lib/controllers/simulator.controller.d.ts +11 -0
  44. package/lib/controllers/simulator.controller.d.ts.map +1 -0
  45. package/lib/controllers/simulator.controller.js +44 -0
  46. package/lib/controllers/simulator.controller.js.map +1 -0
  47. package/lib/controllers/upload.controller.d.ts +8 -0
  48. package/lib/controllers/upload.controller.d.ts.map +1 -0
  49. package/lib/controllers/upload.controller.js +44 -0
  50. package/lib/controllers/upload.controller.js.map +1 -0
  51. package/lib/index.d.ts +7 -0
  52. package/lib/index.d.ts.map +1 -0
  53. package/lib/index.js +18 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/middleware/cors.middleware.d.ts +7 -0
  56. package/lib/middleware/cors.middleware.d.ts.map +1 -0
  57. package/lib/middleware/cors.middleware.js +14 -0
  58. package/lib/middleware/cors.middleware.js.map +1 -0
  59. package/lib/middleware/error.middleware.d.ts +8 -0
  60. package/lib/middleware/error.middleware.d.ts.map +1 -0
  61. package/lib/middleware/error.middleware.js +33 -0
  62. package/lib/middleware/error.middleware.js.map +1 -0
  63. package/lib/middleware/proxy.middleware.d.ts +3 -0
  64. package/lib/middleware/proxy.middleware.d.ts.map +1 -0
  65. package/lib/middleware/proxy.middleware.js +21 -0
  66. package/lib/middleware/proxy.middleware.js.map +1 -0
  67. package/lib/middleware/upload.middleware.d.ts +10 -0
  68. package/lib/middleware/upload.middleware.d.ts.map +1 -0
  69. package/lib/middleware/upload.middleware.js +27 -0
  70. package/lib/middleware/upload.middleware.js.map +1 -0
  71. package/lib/routes/agent.d.ts +3 -0
  72. package/lib/routes/agent.d.ts.map +1 -0
  73. package/lib/routes/agent.js +19 -0
  74. package/lib/routes/agent.js.map +1 -0
  75. package/lib/routes/auth.d.ts +3 -0
  76. package/lib/routes/auth.d.ts.map +1 -0
  77. package/lib/routes/auth.js +20 -0
  78. package/lib/routes/auth.js.map +1 -0
  79. package/lib/routes/index.d.ts +3 -0
  80. package/lib/routes/index.d.ts.map +1 -0
  81. package/lib/routes/index.js +19 -0
  82. package/lib/routes/index.js.map +1 -0
  83. package/lib/routes/simulator.d.ts +3 -0
  84. package/lib/routes/simulator.d.ts.map +1 -0
  85. package/lib/routes/simulator.js +14 -0
  86. package/lib/routes/simulator.js.map +1 -0
  87. package/lib/routes/upload.d.ts +3 -0
  88. package/lib/routes/upload.d.ts.map +1 -0
  89. package/lib/routes/upload.js +13 -0
  90. package/lib/routes/upload.js.map +1 -0
  91. package/lib/services/agent.service.d.ts +49 -0
  92. package/lib/services/agent.service.d.ts.map +1 -0
  93. package/lib/services/agent.service.js +147 -0
  94. package/lib/services/agent.service.js.map +1 -0
  95. package/lib/services/auth.service.d.ts +55 -0
  96. package/lib/services/auth.service.d.ts.map +1 -0
  97. package/lib/services/auth.service.js +124 -0
  98. package/lib/services/auth.service.js.map +1 -0
  99. package/lib/services/simulator.service.d.ts +23 -0
  100. package/lib/services/simulator.service.d.ts.map +1 -0
  101. package/lib/services/simulator.service.js +49 -0
  102. package/lib/services/simulator.service.js.map +1 -0
  103. package/lib/services/upload.service.d.ts +32 -0
  104. package/lib/services/upload.service.d.ts.map +1 -0
  105. package/lib/services/upload.service.js +61 -0
  106. package/lib/services/upload.service.js.map +1 -0
  107. package/lib/simulator.d.ts +27 -0
  108. package/lib/simulator.d.ts.map +1 -0
  109. package/lib/simulator.js +79 -0
  110. package/lib/simulator.js.map +1 -0
  111. package/lib/utils/logger.d.ts +8 -0
  112. package/lib/utils/logger.d.ts.map +1 -0
  113. package/lib/utils/logger.js +28 -0
  114. package/lib/utils/logger.js.map +1 -0
  115. package/lib/utils/request.d.ts +11 -0
  116. package/lib/utils/request.d.ts.map +1 -0
  117. package/lib/utils/request.js +36 -0
  118. package/lib/utils/request.js.map +1 -0
  119. package/lib/utils/url-parser.d.ts +14 -0
  120. package/lib/utils/url-parser.d.ts.map +1 -0
  121. package/lib/utils/url-parser.js +25 -0
  122. package/lib/utils/url-parser.js.map +1 -0
  123. package/lib/utils.d.ts +6 -0
  124. package/lib/utils.d.ts.map +1 -0
  125. package/lib/utils.js +12 -0
  126. package/lib/utils.js.map +1 -0
  127. package/lib/webview-ui/Agent.d.ts +5 -0
  128. package/lib/webview-ui/Agent.d.ts.map +1 -0
  129. package/lib/webview-ui/Agent.js +24 -0
  130. package/lib/webview-ui/Agent.js.map +1 -0
  131. package/lib/webview-ui/App.d.ts +3 -0
  132. package/lib/webview-ui/App.d.ts.map +1 -0
  133. package/lib/webview-ui/App.js +775 -0
  134. package/lib/webview-ui/App.js.map +1 -0
  135. package/lib/webview-ui/ErrorBoundary.d.ts +19 -0
  136. package/lib/webview-ui/ErrorBoundary.d.ts.map +1 -0
  137. package/lib/webview-ui/ErrorBoundary.js +54 -0
  138. package/lib/webview-ui/ErrorBoundary.js.map +1 -0
  139. package/lib/webview-ui/components/AsyncTaskBlock.d.ts +13 -0
  140. package/lib/webview-ui/components/AsyncTaskBlock.d.ts.map +1 -0
  141. package/lib/webview-ui/components/AsyncTaskBlock.js +179 -0
  142. package/lib/webview-ui/components/AsyncTaskBlock.js.map +1 -0
  143. package/lib/webview-ui/components/AuthIndicator.d.ts +3 -0
  144. package/lib/webview-ui/components/AuthIndicator.d.ts.map +1 -0
  145. package/lib/webview-ui/components/AuthIndicator.js +17 -0
  146. package/lib/webview-ui/components/AuthIndicator.js.map +1 -0
  147. package/lib/webview-ui/components/ErrorCard.d.ts +11 -0
  148. package/lib/webview-ui/components/ErrorCard.d.ts.map +1 -0
  149. package/lib/webview-ui/components/ErrorCard.js +18 -0
  150. package/lib/webview-ui/components/ErrorCard.js.map +1 -0
  151. package/lib/webview-ui/components/KnowledgeBaseSearchBlock.d.ts +20 -0
  152. package/lib/webview-ui/components/KnowledgeBaseSearchBlock.d.ts.map +1 -0
  153. package/lib/webview-ui/components/KnowledgeBaseSearchBlock.js +45 -0
  154. package/lib/webview-ui/components/KnowledgeBaseSearchBlock.js.map +1 -0
  155. package/lib/webview-ui/components/KnowledgeBaseSearchResult.d.ts +9 -0
  156. package/lib/webview-ui/components/KnowledgeBaseSearchResult.d.ts.map +1 -0
  157. package/lib/webview-ui/components/KnowledgeBaseSearchResult.js +31 -0
  158. package/lib/webview-ui/components/KnowledgeBaseSearchResult.js.map +1 -0
  159. package/lib/webview-ui/components/MarkdownRenderer.d.ts +7 -0
  160. package/lib/webview-ui/components/MarkdownRenderer.d.ts.map +1 -0
  161. package/lib/webview-ui/components/MarkdownRenderer.js +28 -0
  162. package/lib/webview-ui/components/MarkdownRenderer.js.map +1 -0
  163. package/lib/webview-ui/components/MessageRenderer.d.ts +7 -0
  164. package/lib/webview-ui/components/MessageRenderer.d.ts.map +1 -0
  165. package/lib/webview-ui/components/MessageRenderer.js +33 -0
  166. package/lib/webview-ui/components/MessageRenderer.js.map +1 -0
  167. package/lib/webview-ui/components/MultimodalFileRenderer.d.ts +20 -0
  168. package/lib/webview-ui/components/MultimodalFileRenderer.d.ts.map +1 -0
  169. package/lib/webview-ui/components/MultimodalFileRenderer.js +216 -0
  170. package/lib/webview-ui/components/MultimodalFileRenderer.js.map +1 -0
  171. package/lib/webview-ui/components/ThinkingBlock.d.ts +8 -0
  172. package/lib/webview-ui/components/ThinkingBlock.d.ts.map +1 -0
  173. package/lib/webview-ui/components/ThinkingBlock.js +75 -0
  174. package/lib/webview-ui/components/ThinkingBlock.js.map +1 -0
  175. package/lib/webview-ui/components/ToolUseBlock.d.ts +10 -0
  176. package/lib/webview-ui/components/ToolUseBlock.d.ts.map +1 -0
  177. package/lib/webview-ui/components/ToolUseBlock.js +14 -0
  178. package/lib/webview-ui/components/ToolUseBlock.js.map +1 -0
  179. package/lib/webview-ui/components/ToolUseBlockHeader.d.ts +10 -0
  180. package/lib/webview-ui/components/ToolUseBlockHeader.d.ts.map +1 -0
  181. package/lib/webview-ui/components/ToolUseBlockHeader.js +31 -0
  182. package/lib/webview-ui/components/ToolUseBlockHeader.js.map +1 -0
  183. package/lib/webview-ui/components/UploadPreview.d.ts +6 -0
  184. package/lib/webview-ui/components/UploadPreview.d.ts.map +1 -0
  185. package/lib/webview-ui/components/UploadPreview.js +12 -0
  186. package/lib/webview-ui/components/UploadPreview.js.map +1 -0
  187. package/lib/webview-ui/components/WelcomeModule.d.ts +10 -0
  188. package/lib/webview-ui/components/WelcomeModule.d.ts.map +1 -0
  189. package/lib/webview-ui/components/WelcomeModule.js +161 -0
  190. package/lib/webview-ui/components/WelcomeModule.js.map +1 -0
  191. package/lib/webview-ui/components/index.d.ts +14 -0
  192. package/lib/webview-ui/components/index.d.ts.map +1 -0
  193. package/lib/webview-ui/components/index.js +30 -0
  194. package/lib/webview-ui/components/index.js.map +1 -0
  195. package/lib/webview-ui/config/cos-config.d.ts +41 -0
  196. package/lib/webview-ui/config/cos-config.d.ts.map +1 -0
  197. package/lib/webview-ui/config/cos-config.js +83 -0
  198. package/lib/webview-ui/config/cos-config.js.map +1 -0
  199. package/lib/webview-ui/config/http-config.d.ts +8 -0
  200. package/lib/webview-ui/config/http-config.d.ts.map +1 -0
  201. package/lib/webview-ui/config/http-config.js +36 -0
  202. package/lib/webview-ui/config/http-config.js.map +1 -0
  203. package/lib/webview-ui/constants.d.ts +18 -0
  204. package/lib/webview-ui/constants.d.ts.map +1 -0
  205. package/lib/webview-ui/constants.js +25 -0
  206. package/lib/webview-ui/constants.js.map +1 -0
  207. package/lib/webview-ui/contexts/AgentContext.d.ts +13 -0
  208. package/lib/webview-ui/contexts/AgentContext.d.ts.map +1 -0
  209. package/lib/webview-ui/contexts/AgentContext.js +19 -0
  210. package/lib/webview-ui/contexts/AgentContext.js.map +1 -0
  211. package/lib/webview-ui/contexts/AuthContext.d.ts +17 -0
  212. package/lib/webview-ui/contexts/AuthContext.d.ts.map +1 -0
  213. package/lib/webview-ui/contexts/AuthContext.js +79 -0
  214. package/lib/webview-ui/contexts/AuthContext.js.map +1 -0
  215. package/lib/webview-ui/contexts/ThemeContext.d.ts +12 -0
  216. package/lib/webview-ui/contexts/ThemeContext.d.ts.map +1 -0
  217. package/lib/webview-ui/contexts/ThemeContext.js +21 -0
  218. package/lib/webview-ui/contexts/ThemeContext.js.map +1 -0
  219. package/lib/webview-ui/hooks/useAgentStatus.d.ts +17 -0
  220. package/lib/webview-ui/hooks/useAgentStatus.d.ts.map +1 -0
  221. package/lib/webview-ui/hooks/useAgentStatus.js +117 -0
  222. package/lib/webview-ui/hooks/useAgentStatus.js.map +1 -0
  223. package/lib/webview-ui/hooks/useUploader.d.ts +19 -0
  224. package/lib/webview-ui/hooks/useUploader.d.ts.map +1 -0
  225. package/lib/webview-ui/hooks/useUploader.js +132 -0
  226. package/lib/webview-ui/hooks/useUploader.js.map +1 -0
  227. package/lib/webview-ui/hooks/useUserAvatar.d.ts +28 -0
  228. package/lib/webview-ui/hooks/useUserAvatar.d.ts.map +1 -0
  229. package/lib/webview-ui/hooks/useUserAvatar.js +74 -0
  230. package/lib/webview-ui/hooks/useUserAvatar.js.map +1 -0
  231. package/lib/webview-ui/index.d.ts +3 -0
  232. package/lib/webview-ui/index.d.ts.map +1 -0
  233. package/lib/webview-ui/index.js +17 -0
  234. package/lib/webview-ui/index.js.map +1 -0
  235. package/lib/webview-ui/services/agent-service.d.ts +124 -0
  236. package/lib/webview-ui/services/agent-service.d.ts.map +1 -0
  237. package/lib/webview-ui/services/agent-service.js +80 -0
  238. package/lib/webview-ui/services/agent-service.js.map +1 -0
  239. package/lib/webview-ui/services/index.d.ts +3 -0
  240. package/lib/webview-ui/services/index.d.ts.map +1 -0
  241. package/lib/webview-ui/services/index.js +19 -0
  242. package/lib/webview-ui/services/index.js.map +1 -0
  243. package/lib/webview-ui/services/logger-service.d.ts +46 -0
  244. package/lib/webview-ui/services/logger-service.d.ts.map +1 -0
  245. package/lib/webview-ui/services/logger-service.js +69 -0
  246. package/lib/webview-ui/services/logger-service.js.map +1 -0
  247. package/lib/webview-ui/styles/copilot.d.ts +14 -0
  248. package/lib/webview-ui/styles/copilot.d.ts.map +1 -0
  249. package/lib/webview-ui/styles/copilot.js +119 -0
  250. package/lib/webview-ui/styles/copilot.js.map +1 -0
  251. package/lib/webview-ui/styles/workarea.d.ts +11 -0
  252. package/lib/webview-ui/styles/workarea.d.ts.map +1 -0
  253. package/lib/webview-ui/styles/workarea.js +73 -0
  254. package/lib/webview-ui/styles/workarea.js.map +1 -0
  255. package/lib/webview-ui/types.d.ts +65 -0
  256. package/lib/webview-ui/types.d.ts.map +1 -0
  257. package/lib/webview-ui/types.js +3 -0
  258. package/lib/webview-ui/types.js.map +1 -0
  259. package/lib/webview-ui/utils/cos.d.ts +65 -0
  260. package/lib/webview-ui/utils/cos.d.ts.map +1 -0
  261. package/lib/webview-ui/utils/cos.js +113 -0
  262. package/lib/webview-ui/utils/cos.js.map +1 -0
  263. package/lib/webview-ui/utils/http-client.d.ts +44 -0
  264. package/lib/webview-ui/utils/http-client.d.ts.map +1 -0
  265. package/lib/webview-ui/utils/http-client.js +101 -0
  266. package/lib/webview-ui/utils/http-client.js.map +1 -0
  267. package/lib/webview-ui/utils/stream-text-handler.d.ts +4 -0
  268. package/lib/webview-ui/utils/stream-text-handler.d.ts.map +1 -0
  269. package/lib/webview-ui/utils/stream-text-handler.js +54 -0
  270. package/lib/webview-ui/utils/stream-text-handler.js.map +1 -0
  271. package/lib/webview-ui/utils/upload.d.ts +8 -0
  272. package/lib/webview-ui/utils/upload.d.ts.map +1 -0
  273. package/lib/webview-ui/utils/upload.js +22 -0
  274. package/lib/webview-ui/utils/upload.js.map +1 -0
  275. package/lib/webview-ui/widgets/BubbleComponents.d.ts +8 -0
  276. package/lib/webview-ui/widgets/BubbleComponents.d.ts.map +1 -0
  277. package/lib/webview-ui/widgets/BubbleComponents.js +62 -0
  278. package/lib/webview-ui/widgets/BubbleComponents.js.map +1 -0
  279. package/lib/webview-ui/widgets/ChatInput.d.ts +27 -0
  280. package/lib/webview-ui/widgets/ChatInput.d.ts.map +1 -0
  281. package/lib/webview-ui/widgets/ChatInput.js +203 -0
  282. package/lib/webview-ui/widgets/ChatInput.js.map +1 -0
  283. package/lib/webview-ui/widgets/LogPanel.d.ts +15 -0
  284. package/lib/webview-ui/widgets/LogPanel.d.ts.map +1 -0
  285. package/lib/webview-ui/widgets/LogPanel.js +59 -0
  286. package/lib/webview-ui/widgets/LogPanel.js.map +1 -0
  287. package/lib/webview-ui/widgets/SystemLogs.d.ts +30 -0
  288. package/lib/webview-ui/widgets/SystemLogs.d.ts.map +1 -0
  289. package/lib/webview-ui/widgets/SystemLogs.js +460 -0
  290. package/lib/webview-ui/widgets/SystemLogs.js.map +1 -0
  291. package/lib/webview-ui/widgets/ToolBar.d.ts +18 -0
  292. package/lib/webview-ui/widgets/ToolBar.d.ts.map +1 -0
  293. package/lib/webview-ui/widgets/ToolBar.js +90 -0
  294. package/lib/webview-ui/widgets/ToolBar.js.map +1 -0
  295. package/lib/webview-ui/widgets/index.d.ts +6 -0
  296. package/lib/webview-ui/widgets/index.d.ts.map +1 -0
  297. package/lib/webview-ui/widgets/index.js +22 -0
  298. package/lib/webview-ui/widgets/index.js.map +1 -0
  299. package/package.json +92 -0
  300. package/public/assets/index-j_rEEDWU.js +93 -0
  301. package/public/assets/main.js +603 -0
  302. package/public/assets/style.css +1 -0
  303. package/public/index.html +15 -0
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const icons_1 = require("@ant-design/icons");
6
+ const x_1 = require("@ant-design/x");
7
+ const antd_1 = require("antd");
8
+ const react_1 = require("react");
9
+ const agent_service_1 = require("../services/agent-service");
10
+ require("./ChatInput.less");
11
+ const MOCK_SUGGESTIONS = [
12
+ { label: "帮我写一篇关于AI的文章", value: "ai-article" },
13
+ { label: "生成一张夕阳下的海滩图片", value: "beach-image" },
14
+ { label: "制作一个产品展示动画", value: "product-animation" },
15
+ { label: "协调多个AI完成项目规划", value: "ai-planning" },
16
+ ];
17
+ // 根据模块动态生成建议提示
18
+ const getModuleSuggestions = (moduleId) => {
19
+ switch (moduleId) {
20
+ case "chat":
21
+ return [
22
+ { label: "帮我写一篇关于AI的文章", value: "ai-article" },
23
+ { label: "帮我写一篇关于广州的旅游攻略", value: "travel-guide" },
24
+ { label: "帮我写一篇购物笔记", value: "shopping-note" },
25
+ { label: "帮我总结一下今天的会议内容", value: "meeting-summary" },
26
+ ];
27
+ case "image":
28
+ return [
29
+ { label: "给我一个五彩斑斓的黑", value: "colorful-black" },
30
+ { label: "生成一张夕阳下的海滩图片", value: "sunset-beach" },
31
+ { label: "画一只可爱的小猫咪", value: "cute-kitten" },
32
+ { label: "创作一幅抽象艺术作品", value: "abstract-art" },
33
+ ];
34
+ case "video":
35
+ // 文生视频模块暂不支持,返回默认建议
36
+ return [
37
+ { label: "帮我写一篇关于AI的文章", value: "ai-article" },
38
+ { label: "生成一张夕阳下的海滩图片", value: "beach-image" },
39
+ { label: "制作一个产品展示动画", value: "product-animation" },
40
+ { label: "协调多个AI完成项目规划", value: "ai-planning" },
41
+ ];
42
+ case "multi-agent":
43
+ // 多智能体编排模块暂不支持,返回默认建议
44
+ return [
45
+ { label: "帮我写一篇关于AI的文章", value: "ai-article" },
46
+ { label: "生成一张夕阳下的海滩图片", value: "beach-image" },
47
+ { label: "制作一个产品展示动画", value: "product-animation" },
48
+ { label: "协调多个AI完成项目规划", value: "ai-planning" },
49
+ ];
50
+ default:
51
+ // 默认建议(未选择模块时)
52
+ return MOCK_SUGGESTIONS;
53
+ }
54
+ };
55
+ const ChatInput = ({ loading, inputValue, canSendMessage, isLoggedIn, attachedFiles, uploadConfig, currentModule, attachmentsOpen = false, onAttachmentsOpenChange, onInputChange, onSubmit, onCancel, onPasteFile, enqueueUpload, onRemoveFile, getDisabledReason, onAgentFileUpload, }) => {
56
+ // 如果没有外部传入的状态控制,则使用内部状态(向后兼容)
57
+ const [internalAttachmentsOpen, setInternalAttachmentsOpen] = (0, react_1.useState)(false);
58
+ const attachmentsOpenState = attachmentsOpen !== undefined ? attachmentsOpen : internalAttachmentsOpen;
59
+ const setAttachmentsOpen = onAttachmentsOpenChange || setInternalAttachmentsOpen;
60
+ const [uploading, setUploading] = (0, react_1.useState)(false);
61
+ const fileInputRef = (0, react_1.useRef)(null);
62
+ // 判断是否有上传成功的 OpenAI 文件(从 attachedFiles 中查找)
63
+ const hasAgentFiles = attachedFiles?.some((f) => f.fileSource === "openai" && f.status === "done") || false;
64
+ // 根据当前模块动态获取建议提示
65
+ const moduleSuggestions = getModuleSuggestions(currentModule);
66
+ // 处理文件上传到 Agent
67
+ const handleAgentFileUpload = async () => {
68
+ if (!isLoggedIn) {
69
+ antd_1.message.warning("请先登录后再上传文件");
70
+ return;
71
+ }
72
+ // 触发文件选择
73
+ fileInputRef.current?.click();
74
+ };
75
+ // 处理文件选择(使用标准的 multipart/form-data 方式)
76
+ const handleFileChange = async (event) => {
77
+ const file = event.target.files?.[0];
78
+ if (!file)
79
+ return;
80
+ try {
81
+ setUploading(true);
82
+ // 直接传递 File 对象,使用 FormData 上传
83
+ const response = await agent_service_1.apiService.uploadOpenAiFile(file, "file-extract");
84
+ if (response.code === 0) {
85
+ antd_1.message.success(`文件上传成功!文件 ID: ${response.data.id},可在消息中引用此文件。`);
86
+ console.log("上传成功的文件信息:", response.data);
87
+ // 通知父组件上传成功,将文件信息传递出去
88
+ if (onAgentFileUpload) {
89
+ onAgentFileUpload({
90
+ id: response.data.id,
91
+ filename: response.data.filename || file.name,
92
+ purpose: response.data.purpose,
93
+ bytes: response.data.bytes || file.size,
94
+ created_at: response.data.created_at || Date.now(),
95
+ });
96
+ }
97
+ }
98
+ else {
99
+ antd_1.message.error(response.message || "文件上传失败");
100
+ }
101
+ }
102
+ catch (error) {
103
+ console.error("文件上传失败:", error);
104
+ antd_1.message.error(error instanceof Error ? error.message : "文件上传失败");
105
+ }
106
+ finally {
107
+ setUploading(false);
108
+ // 重置 input,允许上传相同文件
109
+ if (fileInputRef.current) {
110
+ fileInputRef.current.value = "";
111
+ }
112
+ }
113
+ };
114
+ const sendHeader = ((0, jsx_runtime_1.jsx)(x_1.Sender.Header, { title: "Upload File", styles: { content: { padding: 0 } }, open: attachmentsOpenState, onOpenChange: (open) => {
115
+ if (!isLoggedIn && open) {
116
+ antd_1.message.warning("请先登录后再上传文件");
117
+ return;
118
+ }
119
+ setAttachmentsOpen(open);
120
+ }, forceRender: true, children: (0, jsx_runtime_1.jsx)(x_1.Attachments, { beforeUpload: (file) => {
121
+ // 登录校验
122
+ if (!isLoggedIn) {
123
+ antd_1.message.warning("请先登录后再上传文件");
124
+ return antd_1.Upload.LIST_IGNORE;
125
+ }
126
+ // 类型和大小校验
127
+ if (file.size > uploadConfig.maxFileSize) {
128
+ antd_1.message.error(`文件大小不能超过 ${uploadConfig.maxFileSize / 1024 / 1024}MB`);
129
+ return antd_1.Upload.LIST_IGNORE;
130
+ }
131
+ if (!uploadConfig.allowedTypes.includes(file.type)) {
132
+ antd_1.message.error("不支持的文件类型");
133
+ return antd_1.Upload.LIST_IGNORE;
134
+ }
135
+ // 自定义上传:交由 enqueueUpload 统一入列与上传
136
+ enqueueUpload(file);
137
+ // 阻止组件默认入列与上传
138
+ return antd_1.Upload.LIST_IGNORE;
139
+ }, items: attachedFiles.map((file) => {
140
+ // 为 OpenAI 文件添加标识和图标
141
+ const isAgentFile = file.fileSource === "openai";
142
+ if (isAgentFile) {
143
+ const fileId = file.agentFileId || file.id;
144
+ const fileName = file.name?.replace("[Agent] ", "") || file.name || "OpenAI 文件";
145
+ return {
146
+ ...file,
147
+ name: fileName,
148
+ description: ((0, jsx_runtime_1.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 6, fontSize: "12px", color: "#666" }, children: [(0, jsx_runtime_1.jsx)(icons_1.OpenAIOutlined, { style: { fontSize: "14px", color: "#10a37f" } }), (0, jsx_runtime_1.jsxs)("span", { children: ["File ID: ", fileId] })] })),
149
+ // 尝试通过 thumbUrl 设置图标(如果 Attachments 支持)
150
+ thumbUrl: undefined, // OpenAI 文件没有图片预览
151
+ };
152
+ }
153
+ return file;
154
+ }), onRemove: onRemoveFile, placeholder: (type) => type === "drop"
155
+ ? { title: "拖拽文件到此处上传" }
156
+ : {
157
+ icon: (0, jsx_runtime_1.jsx)(icons_1.CloudUploadOutlined, {}),
158
+ title: "上传多模态文件",
159
+ description: "支持图片、PDF、视频、音频等文件格式",
160
+ } }) }));
161
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "chat-input-container", children: [(0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", style: { display: "none" }, onChange: handleFileChange, accept: "*/*" }), (0, jsx_runtime_1.jsx)(x_1.Suggestion, { items: moduleSuggestions, onSelect: (value) => {
162
+ // 根据 value 找到对应的 label
163
+ const selectedItem = moduleSuggestions.find((item) => item.value === value);
164
+ const label = selectedItem?.label || value || "未知建议";
165
+ onInputChange(`${label}`);
166
+ }, children: ({ onTrigger, onKeyDown, }) => ((0, jsx_runtime_1.jsx)(x_1.Sender, { loading: loading, value: inputValue, disabled: !canSendMessage, onChange: (v) => {
167
+ onTrigger(v === "/" ? "/" : "");
168
+ onInputChange(v || "");
169
+ }, onSubmit: () => {
170
+ onSubmit(inputValue);
171
+ onInputChange("");
172
+ }, onCancel: onCancel, allowSpeech: true, placeholder: !canSendMessage ? getDisabledReason() || "Ask or input / use skills" : "Ask or input / use skills", onKeyDown: onKeyDown, header: sendHeader, prefix: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(antd_1.Button, { type: "text", className: "attachment-button", icon: (0, jsx_runtime_1.jsx)(icons_1.PaperClipOutlined, {}), onClick: () => {
173
+ if (!isLoggedIn) {
174
+ antd_1.message.warning("请先登录后再上传文件");
175
+ return;
176
+ }
177
+ setAttachmentsOpen(!attachmentsOpenState);
178
+ }, disabled: !canSendMessage }), (0, jsx_runtime_1.jsx)(antd_1.Tooltip, { title: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: { fontWeight: "bold", marginBottom: 6 }, children: "\u667A\u80FD\u4F53\u6587\u4EF6\u4E0A\u4F20 (OpenAI \u6807\u51C6)" }), (0, jsx_runtime_1.jsxs)("div", { style: { fontSize: "12px", lineHeight: "1.6", color: "rgba(255,255,255,0.85)" }, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2022 \u5BF9\u63A5\u300C\u667A\u80FD\u4F53\u4E0A\u4F20\u63A5\u53E3\u670D\u52A1\u300D" }), (0, jsx_runtime_1.jsx)("div", { children: "\u2022 \u4E0A\u4F20\u6210\u529F\u540E\u8FD4\u56DE file_id" }), (0, jsx_runtime_1.jsx)("div", { children: "\u2022 \u9700\u5728\u667A\u80FD\u4F53\u5185\u81EA\u884C\u89E3\u6790\u6587\u4EF6" }), (0, jsx_runtime_1.jsxs)("div", { style: { marginTop: 6, paddingTop: 6, borderTop: "1px solid rgba(255,255,255,0.15)" }, children: [(0, jsx_runtime_1.jsx)("div", { style: { color: "rgba(255,255,255,0.65)", marginBottom: 2 }, children: (0, jsx_runtime_1.jsx)("strong", { children: "\u4E0E\u5DE6\u4FA7\u4E0A\u4F20\u7684\u533A\u522B\uFF1A" }) }), (0, jsx_runtime_1.jsx)("div", { children: "\u5DE6\u4FA7\u4E0A\u4F20\u8FD4\u56DE\u516C\u7F51\u94FE\u63A5\uFF0C\u6587\u4EF6\u76F4\u63A5\u663E\u793A\u5728\u5BF9\u8BDD\u4E2D" })] })] })] }), placement: "topLeft", overlayStyle: { maxWidth: 340 }, children: (0, jsx_runtime_1.jsxs)("div", { style: { position: "relative", display: "inline-block" }, children: [(0, jsx_runtime_1.jsx)(antd_1.Button, { type: "text", className: "file-upload-button", style: {
179
+ color: hasAgentFiles ? "#52c41a" : undefined,
180
+ transition: "color 0.3s ease",
181
+ }, icon: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", "aria-hidden": "true", role: "img", className: "icon size-5", width: "1em", height: "1em", viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 16v3m0 0v3m0-3h3m-3 0h-3m4-10v-.172a2 2 0 0 0-.586-1.414l-3.828-3.828A2 2 0 0 0 14.172 3H14m6 6h-4a2 2 0 0 1-2-2V3m6 6v3m-6-9H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6" }) }), onClick: handleAgentFileUpload, disabled: !canSendMessage || uploading, loading: uploading }), (0, jsx_runtime_1.jsx)("span", { style: {
182
+ position: "absolute",
183
+ top: "2px",
184
+ right: "2px",
185
+ fontSize: "10px",
186
+ fontWeight: "bold",
187
+ color: "#1890ff",
188
+ backgroundColor: "rgba(255, 255, 255, 0.9)",
189
+ borderRadius: "50%",
190
+ width: "14px",
191
+ height: "14px",
192
+ display: "flex",
193
+ alignItems: "center",
194
+ justifyContent: "center",
195
+ lineHeight: "1",
196
+ pointerEvents: "none",
197
+ }, children: "?" })] }) })] }), onPasteFile: onPasteFile, actions: (_, info) => {
198
+ const { SendButton, LoadingButton, SpeechButton } = info.components;
199
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "action-buttons", children: [(0, jsx_runtime_1.jsx)(SpeechButton, { className: "speech-button", disabled: !canSendMessage }), loading ? ((0, jsx_runtime_1.jsx)(LoadingButton, { type: "default" })) : ((0, jsx_runtime_1.jsx)(SendButton, { type: "primary", disabled: !canSendMessage }))] }));
200
+ } })) })] }));
201
+ };
202
+ exports.ChatInput = ChatInput;
203
+ //# sourceMappingURL=ChatInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../src/webview-ui/widgets/ChatInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { AgentSimulatorInfo } from "../services/agent-service";
3
+ import type { DebugStatusType } from "./ToolBar";
4
+ interface LogPanelProps {
5
+ open: boolean;
6
+ activeTab: string;
7
+ onTabChange: (tab: string) => void;
8
+ onClose: () => void;
9
+ agentSimulatorInfo: AgentSimulatorInfo | null;
10
+ height: number;
11
+ debugStatus: DebugStatusType;
12
+ }
13
+ export declare const LogPanel: React.FC<LogPanelProps>;
14
+ export {};
15
+ //# sourceMappingURL=LogPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../../src/webview-ui/widgets/LogPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsH5C,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogPanel = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const antd_1 = require("antd");
6
+ const logger_service_1 = require("../services/logger-service");
7
+ const SystemLogs_1 = require("./SystemLogs");
8
+ const LogPanel = ({ open, activeTab, onTabChange, onClose, agentSimulatorInfo, height, debugStatus, }) => {
9
+ const { token } = antd_1.theme.useToken();
10
+ // 解析 agentServerUrl 获取 baseUrl
11
+ const getBaseUrl = (uri) => {
12
+ if (!uri)
13
+ return "";
14
+ try {
15
+ const url = new URL(uri);
16
+ return `${url.protocol}//${url.hostname}${url.port ? ":" + url.port : ""}`;
17
+ }
18
+ catch {
19
+ return "";
20
+ }
21
+ };
22
+ return ((0, jsx_runtime_1.jsxs)(antd_1.Drawer, { placement: "bottom", open: open, onClose: onClose, height: height, mask: true, maskClosable: true, styles: {
23
+ body: { padding: 0, display: "flex", flexDirection: "column" },
24
+ header: { display: "none" },
25
+ }, destroyOnClose: false, children: [(0, jsx_runtime_1.jsx)("div", { style: {
26
+ borderBottom: `1px solid ${token.colorBorder}`,
27
+ backgroundColor: token.colorBgContainer,
28
+ }, children: (0, jsx_runtime_1.jsx)(antd_1.Tabs, { activeKey: activeTab, onChange: onTabChange, type: "card", tabBarStyle: {
29
+ margin: 0,
30
+ padding: "0 16px",
31
+ marginBottom: 0,
32
+ }, animated: {
33
+ inkBar: true,
34
+ tabPane: false,
35
+ }, items: [
36
+ { key: "system", label: "系统日志" },
37
+ { key: "user", label: "用户日志" },
38
+ ] }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
39
+ flex: 1,
40
+ overflow: "auto",
41
+ padding: "16px",
42
+ }, children: [activeTab === "system" &&
43
+ (agentSimulatorInfo ? ((0, jsx_runtime_1.jsx)(SystemLogs_1.SystemLogs, { baseUrl: getBaseUrl(agentSimulatorInfo.agentServerUrl), agentName: agentSimulatorInfo.agentInfo?.agent_name || "未获取到Agent名称", debugStatus: debugStatus, isOpen: open, logType: logger_service_1.LogType.ACCESS })) : ((0, jsx_runtime_1.jsx)("div", { style: {
44
+ display: "flex",
45
+ alignItems: "center",
46
+ justifyContent: "center",
47
+ height: "200px",
48
+ color: token.colorTextSecondary,
49
+ }, children: "Agent \u670D\u52A1\u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u83B7\u53D6\u7CFB\u7EDF\u65E5\u5FD7" }))), activeTab === "user" &&
50
+ (agentSimulatorInfo ? ((0, jsx_runtime_1.jsx)(SystemLogs_1.SystemLogs, { baseUrl: getBaseUrl(agentSimulatorInfo.agentServerUrl), agentName: agentSimulatorInfo.agentInfo?.agent_name || "未获取到Agent名称", debugStatus: debugStatus, isOpen: open, logType: logger_service_1.LogType.USERCODE })) : ((0, jsx_runtime_1.jsx)("div", { style: {
51
+ display: "flex",
52
+ alignItems: "center",
53
+ justifyContent: "center",
54
+ height: "200px",
55
+ color: token.colorTextSecondary,
56
+ }, children: "Agent \u670D\u52A1\u672A\u8FDE\u63A5\uFF0C\u65E0\u6CD5\u83B7\u53D6\u7528\u6237\u65E5\u5FD7" })))] })] }));
57
+ };
58
+ exports.LogPanel = LogPanel;
59
+ //# sourceMappingURL=LogPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogPanel.js","sourceRoot":"","sources":["../../../src/webview-ui/widgets/LogPanel.tsx"],"names":[],"mappings":";;;;AAAA,+BAA2C;AAG3C,+DAAqD;AACrD,6CAA0C;AAanC,MAAM,QAAQ,GAA4B,CAAC,EAChD,IAAI,EACJ,SAAS,EACT,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,MAAM,EACN,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,YAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,+BAA+B;IAC/B,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,aAAM,IACL,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,EAClB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE;YAC9D,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC5B,EACD,cAAc,EAAE,KAAK,aAGrB,gCACE,KAAK,EAAE;oBACL,YAAY,EAAE,aAAa,KAAK,CAAC,WAAW,EAAE;oBAC9C,eAAe,EAAE,KAAK,CAAC,gBAAgB;iBACxC,YAED,uBAAC,WAAI,IACH,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAC,MAAM,EACX,WAAW,EAAE;wBACX,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,QAAQ;wBACjB,YAAY,EAAE,CAAC;qBAChB,EACD,QAAQ,EAAE;wBACR,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,KAAK;qBACf,EACD,KAAK,EAAE;wBACL,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;wBAChC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;qBAC/B,GACD,GACE,EAGN,iCACE,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,MAAM;iBAChB,aAEA,SAAS,KAAK,QAAQ;wBACrB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACpB,uBAAC,uBAAU,IACT,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,cAAc,CAAC,EACtD,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,IAAI,aAAa,EACpE,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,wBAAO,CAAC,MAAM,GACvB,CACH,CAAC,CAAC,CAAC,CACF,gCACE,KAAK,EAAE;gCACL,OAAO,EAAE,MAAM;gCACf,UAAU,EAAE,QAAQ;gCACpB,cAAc,EAAE,QAAQ;gCACxB,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,KAAK,CAAC,kBAAkB;6BAChC,2GAGG,CACP,CAAC,EAEH,SAAS,KAAK,MAAM;wBACnB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACpB,uBAAC,uBAAU,IACT,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,cAAc,CAAC,EACtD,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,IAAI,aAAa,EACpE,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,wBAAO,CAAC,QAAQ,GACzB,CACH,CAAC,CAAC,CAAC,CACF,gCACE,KAAK,EAAE;gCACL,OAAO,EAAE,MAAM;gCACf,UAAU,EAAE,QAAQ;gCACpB,cAAc,EAAE,QAAQ;gCACxB,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,KAAK,CAAC,kBAAkB;6BAChC,2GAGG,CACP,CAAC,IACA,IACC,CACV,CAAC;AACJ,CAAC,CAAC;AAtHW,QAAA,QAAQ,YAsHnB"}
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { LogType } from "../services/logger-service";
3
+ import type { DebugStatusType } from "./ToolBar";
4
+ interface SystemLogsProps {
5
+ baseUrl: string;
6
+ agentName: string;
7
+ debugStatus: DebugStatusType;
8
+ isOpen?: boolean;
9
+ logType?: LogType;
10
+ }
11
+ export declare enum AgentType {
12
+ AI_SDK_REQUEST_START = "AI_SDK_REQUEST_START",
13
+ AI_SDK_REQUEST_SUCCESS = "AI_SDK_REQUEST_SUCCESS",
14
+ AI_SDK_REQUEST_ERROR = "AI_SDK_REQUEST_ERROR",
15
+ AI_SDK_CREATE_MODEL = "AI_SDK_CREATE_MODEL",
16
+ AI_SDK_CREATE_RECORD_PAIR = "AI_SDK_CREATE_RECORD_PAIR",
17
+ AI_SDK_GET_HISTORY_MESSAGES = "AI_SDK_GET_HISTORY_MESSAGES",
18
+ AI_SDK_GET_CONVERSATIONS = "AI_SDK_GET_CONVERSATIONS",
19
+ Ai_SDK_POST_KNOWLEDGE_BASE = "Ai_SDK_POST_KNOWLEDGE_BASE",
20
+ AI_SDK_QUERY_TASKS = "AI_SDK_QUERY_TASKS",
21
+ SERVER_REQUEST_START = "SERVER_REQUEST_START",
22
+ SERVER_REQUEST_END = "SERVER_REQUEST_END"
23
+ }
24
+ /**
25
+ * 系统日志组件
26
+ * 显示系统运行状态和相关信息
27
+ */
28
+ export declare const SystemLogs: React.FC<SystemLogsProps>;
29
+ export {};
30
+ //# sourceMappingURL=SystemLogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemLogs.d.ts","sourceRoot":"","sources":["../../../src/webview-ui/widgets/SystemLogs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAuC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAYD,oBAAY,SAAS;IACnB,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,kBAAkB,uBAAuB;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAonBhD,CAAC"}