@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
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # VectorX Agent Simulator
2
+
3
+ VectorX Agent模拟器是一个开发工具,用于帮助开发和调试AI代理应用。它提供了一个简单的界面和调试环境,允许开发者在本地模拟API请求和响应。
4
+
5
+ ## 特性
6
+
7
+ - 提供Web界面用于实时查看模拟器状态
8
+ - 使用标准 Fetch API 直接连接Agent服务
9
+ - 支持流式响应和普通 JSON 响应
10
+ - 提供命令行工具,便于快速启动和配置
11
+
12
+ ## 安装
13
+
14
+ ```bash
15
+ # 在项目根目录安装依赖
16
+ npm install
17
+
18
+ # 构建模拟器
19
+ cd packages/vectorx-agent-simulator
20
+ npm run build
21
+ ```
22
+
23
+ ## 实现方式
24
+
25
+ VectorX Agent Simulator 使用标准的 Fetch API 直接连接Agent服务。
26
+
27
+ 这种实现方式具有以下优势:
28
+ - 使用标准 Web API,无需额外依赖
29
+ - 直接与Agent服务通信,无需模拟层
30
+ - 支持流式响应,实时更新内容
31
+ - 便于理解和扩展
32
+
33
+ ## 使用方法
34
+
35
+ ### 命令行
36
+
37
+ 使用以下命令启动模拟器:
38
+
39
+ ```bash
40
+ agent -p 3001 --agent-server-url http://localhost:3000/v1/aiagent/agents/123
41
+ ```
42
+
43
+ #### 命令行参数
44
+
45
+ - `-p, --port <port>`: 模拟器HTTP服务端口 (默认: 3001)
46
+ - `--agent-server-url <agentServerUrl>`: **[必填]** Agent服务器完整URL地址,例如: http://localhost:3000/v1/aiagent/agents/123
47
+ - `-o, --open`: 启动后自动打开浏览器 (默认: true)
48
+
49
+ #### 示例
50
+
51
+ ```bash
52
+ # 基本使用
53
+ agent --agent-server-url http://localhost:3000/v1/aiagent/agents/my-agent
54
+
55
+ # 指定端口
56
+ agent -p 8080 --agent-server-url http://localhost:3000/v1/aiagent/agents/my-agent
57
+
58
+ # 不自动打开浏览器
59
+ agent --agent-server-url http://localhost:3000/v1/aiagent/agents/my-agent --no-open
60
+ ```
61
+
62
+ ## 开发
63
+
64
+ 要在开发模式下运行模拟器:
65
+
66
+ ```bash
67
+ # 监视文件变化并重新构建
68
+ npm run dev
69
+
70
+ # 在另一个终端启动模拟器
71
+ node bin/agent.js --agent-server-url http://localhost:3000/v1/aiagent/agents/demo-agent
72
+ ```
73
+
74
+ ## 许可证
75
+
76
+ ISC
package/bin/agent.js ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { AgentSimulator } = require('../lib/simulator');
4
+ const path = require('path');
5
+ const fs = require('fs');
6
+ const { Command } = require('commander');
7
+
8
+ // 获取版本信息
9
+ const packageJsonPath = path.resolve(__dirname, '../package.json');
10
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
11
+
12
+ // 创建命令行解析器
13
+ const program = new Command();
14
+
15
+ program
16
+ .name('agent')
17
+ .description('VectorX Agent模拟器 - 用于开发和调试AI代理应用')
18
+ .version(packageJson.version);
19
+
20
+ program
21
+ .option('-p, --port <port>', '模拟器服务端口', '3001')
22
+ .requiredOption('--agent-server-url <agentServerUrl>', 'Agent服务器完整URL地址,例如: http://localhost:3000/v1/aiagent/agents/123')
23
+ .option('-o, --open', '启动后自动打开浏览器', true)
24
+ .action(async (options) => {
25
+ try {
26
+ // 参数处理
27
+ const simulatorOptions = {
28
+ port: parseInt(options.port, 10),
29
+ agentServerUrl: options.agentServerUrl,
30
+ open: options.open === true || options.open === 'true'
31
+ };
32
+
33
+ // 创建并启动模拟器
34
+ const simulator = new AgentSimulator(simulatorOptions);
35
+
36
+ console.log('\x1b[34m正在启动VectorX Agent模拟器...\x1b[0m');
37
+
38
+ // 处理进程结束信号
39
+ process.on('SIGINT', async () => {
40
+ console.log('\n' + '\x1b[33m接收到终止信号,正在关闭模拟器...\x1b[0m');
41
+ await simulator.stop();
42
+ process.exit(0);
43
+ });
44
+
45
+ // 启动模拟器
46
+ await simulator.start();
47
+
48
+ } catch (error) {
49
+ console.error('\x1b[31m模拟器启动失败:\x1b[0m', error);
50
+ process.exit(1);
51
+ }
52
+ });
53
+
54
+ // 启动CLI
55
+ program.parse(process.argv);
package/lib/app.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ import "reflect-metadata";
2
+ import express from "express";
3
+ import type { Container } from "inversify";
4
+ import { type AppContext } from "./config/app.config";
5
+ export declare class App {
6
+ private app;
7
+ private context;
8
+ private container;
9
+ constructor(options: {
10
+ port: number;
11
+ agentServerUrl: string;
12
+ open?: boolean;
13
+ });
14
+ /**
15
+ * 设置中间件
16
+ */
17
+ private setupMiddleware;
18
+ /**
19
+ * 设置路由
20
+ */
21
+ private setupRoutes;
22
+ /**
23
+ * 设置错误处理
24
+ */
25
+ private setupErrorHandling;
26
+ /**
27
+ * 获取Express应用实例
28
+ */
29
+ getApp(): express.Application;
30
+ /**
31
+ * 获取应用上下文
32
+ */
33
+ getContext(): AppContext;
34
+ /**
35
+ * 获取依赖注入容器
36
+ */
37
+ getContainer(): Container;
38
+ /**
39
+ * 获取配置
40
+ */
41
+ getConfig(): import("./config/app.config").AppConfig;
42
+ }
43
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAOvE,qBAAa,GAAG;IACd,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAY;gBAEjB,OAAO,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;IAmBD;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,WAAW;IAI7B;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,SAAS;CAGV"}
package/lib/app.js ADDED
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.App = void 0;
7
+ require("reflect-metadata");
8
+ const path_1 = __importDefault(require("path"));
9
+ const express_1 = __importDefault(require("express"));
10
+ const app_config_1 = require("./config/app.config");
11
+ const container_1 = require("./container/container");
12
+ const cors_middleware_1 = require("./middleware/cors.middleware");
13
+ const error_middleware_1 = require("./middleware/error.middleware");
14
+ const routes_1 = require("./routes");
15
+ const url_parser_1 = require("./utils/url-parser");
16
+ class App {
17
+ constructor(options) {
18
+ const config = (0, app_config_1.createAppConfig)(options);
19
+ const parsedServerUrl = (0, url_parser_1.parseAgentServerUrl)(options.agentServerUrl);
20
+ this.context = {
21
+ config,
22
+ agentServerUrl: options.agentServerUrl,
23
+ parsedServerUrl,
24
+ };
25
+ // 初始化 Inversify 依赖注入容器
26
+ this.container = (0, container_1.initializeContainer)(this.context);
27
+ this.app = (0, express_1.default)();
28
+ this.setupMiddleware();
29
+ this.setupRoutes();
30
+ this.setupErrorHandling();
31
+ }
32
+ /**
33
+ * 设置中间件
34
+ */
35
+ setupMiddleware() {
36
+ // CORS中间件
37
+ this.app.use(cors_middleware_1.corsMiddleware);
38
+ // JSON解析中间件
39
+ this.app.use(express_1.default.json({ limit: "10mb" }));
40
+ this.app.use(express_1.default.urlencoded({ limit: "10mb", extended: true }));
41
+ // 注意:文件上传使用 multer 中间件处理,不需要在这里配置大的 limit
42
+ // multer 会在特定路由上处理 multipart/form-data 请求
43
+ // 静态文件服务
44
+ const publicPath = path_1.default.resolve(__dirname, "../public");
45
+ this.app.use(express_1.default.static(publicPath));
46
+ }
47
+ /**
48
+ * 设置路由
49
+ */
50
+ setupRoutes() {
51
+ // API路由
52
+ const routes = (0, routes_1.createRoutes)(this.container);
53
+ this.app.use("/api", routes);
54
+ // 处理所有前端路由请求,返回index.html
55
+ this.app.get("*", (req, res, next) => {
56
+ // 如果是API请求,跳过
57
+ if (req.path.startsWith("/api")) {
58
+ return next();
59
+ }
60
+ // 返回React应用的index.html
61
+ res.sendFile(path_1.default.resolve(__dirname, "../public/index.html"));
62
+ });
63
+ }
64
+ /**
65
+ * 设置错误处理
66
+ */
67
+ setupErrorHandling() {
68
+ // 404处理
69
+ this.app.use(error_middleware_1.notFoundHandler);
70
+ // 全局错误处理
71
+ this.app.use(error_middleware_1.errorHandler);
72
+ }
73
+ /**
74
+ * 获取Express应用实例
75
+ */
76
+ getApp() {
77
+ return this.app;
78
+ }
79
+ /**
80
+ * 获取应用上下文
81
+ */
82
+ getContext() {
83
+ return this.context;
84
+ }
85
+ /**
86
+ * 获取依赖注入容器
87
+ */
88
+ getContainer() {
89
+ return this.container;
90
+ }
91
+ /**
92
+ * 获取配置
93
+ */
94
+ getConfig() {
95
+ return this.context.config;
96
+ }
97
+ }
98
+ exports.App = App;
99
+ //# sourceMappingURL=app.js.map
package/lib/app.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getBaseUrl(): string;
2
+ //# sourceMappingURL=api.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.d.ts","sourceRoot":"","sources":["../../src/config/api.config.ts"],"names":[],"mappings":"AAQA,wBAAgB,UAAU,IAAI,MAAM,CAInC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBaseUrl = getBaseUrl;
4
+ const apiUrls = {
5
+ development: "https://miniapp.beta.xiaohongshu.com",
6
+ production: "https://miniapp.xiaohongshu.com",
7
+ // production: "http://miniapp-permit.sl.beta.xiaohongshu.com",
8
+ };
9
+ const env = process.env.AGENT_BUILD_ENV || "production";
10
+ function getBaseUrl() {
11
+ return apiUrls[env in apiUrls ? env : "development"];
12
+ }
13
+ //# sourceMappingURL=api.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.js","sourceRoot":"","sources":["../../src/config/api.config.ts"],"names":[],"mappings":";;AAQA,gCAIC;AAZD,MAAM,OAAO,GAAG;IACd,WAAW,EAAE,sCAAsC;IACnD,UAAU,EAAE,iCAAiC;IAC7C,+DAA+D;CACvD,CAAC;AAEX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AAExD,SAAgB,UAAU;IACxB,OAAO,OAAO,CACX,GAAoC,IAAI,OAAO,CAAC,CAAC,CAAE,GAAoC,CAAC,CAAC,CAAC,aAAa,CACzG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface AppConfig {
2
+ port: number;
3
+ agentServerUrl: string;
4
+ open: boolean;
5
+ cors: {
6
+ origin: boolean;
7
+ credentials: boolean;
8
+ methods: string[];
9
+ allowedHeaders: string[];
10
+ };
11
+ }
12
+ export interface AppContext {
13
+ config: AppConfig;
14
+ agentServerUrl: string;
15
+ parsedServerUrl: ReturnType<typeof import("../utils/url-parser").parseAgentServerUrl>;
16
+ }
17
+ export declare const createAppConfig: (options: {
18
+ port: number;
19
+ agentServerUrl: string;
20
+ open?: boolean;
21
+ }) => AppConfig;
22
+ //# sourceMappingURL=app.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.config.d.ts","sourceRoot":"","sources":["../../src/config/app.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,UAAU,CAAC,cAAc,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;CACvF;AAED,eAAO,MAAM,eAAe,GAAI,SAAS;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,KAAG,SAYH,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAppConfig = void 0;
4
+ const createAppConfig = (options) => {
5
+ return {
6
+ port: options.port,
7
+ agentServerUrl: options.agentServerUrl,
8
+ open: options.open ?? true,
9
+ cors: {
10
+ origin: true,
11
+ credentials: true,
12
+ methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
13
+ allowedHeaders: ["Content-Type", "Authorization", "X-Requested-With"],
14
+ },
15
+ };
16
+ };
17
+ exports.createAppConfig = createAppConfig;
18
+ //# sourceMappingURL=app.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.config.js","sourceRoot":"","sources":["../../src/config/app.config.ts"],"names":[],"mappings":";;;AAkBO,MAAM,eAAe,GAAG,CAAC,OAI/B,EAAa,EAAE;IACd,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;YACpD,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,CAAC;SACtE;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B"}
@@ -0,0 +1,6 @@
1
+ export declare const uploadBizConfig: {
2
+ readonly bizCode: 17;
3
+ readonly bizName: "sns";
4
+ readonly scene: "chatbox_img";
5
+ };
6
+ //# sourceMappingURL=upload.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.config.d.ts","sourceRoot":"","sources":["../../src/config/upload.config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;CAKlB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadBizConfig = void 0;
4
+ exports.uploadBizConfig = {
5
+ bizCode: 17,
6
+ bizName: "sns",
7
+ // scene: "cloudbase_agent_simulator_files", // 未注册
8
+ scene: "chatbox_img",
9
+ };
10
+ //# sourceMappingURL=upload.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.config.js","sourceRoot":"","sources":["../../src/config/upload.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK;IACd,mDAAmD;IACnD,KAAK,EAAE,aAAa;CACZ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Container } from "inversify";
2
+ import type { AppContext } from "../config/app.config";
3
+ declare const container: Container;
4
+ export declare function initializeContainer(context: AppContext): Container;
5
+ export { container };
6
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAYvD,QAAA,MAAM,SAAS,WAAkB,CAAC;AAelC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAKlE;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.container = void 0;
4
+ exports.initializeContainer = initializeContainer;
5
+ const inversify_1 = require("inversify");
6
+ const agent_controller_1 = require("../controllers/agent.controller");
7
+ const auth_controller_1 = require("../controllers/auth.controller");
8
+ const simulator_controller_1 = require("../controllers/simulator.controller");
9
+ const upload_controller_1 = require("../controllers/upload.controller");
10
+ const agent_service_1 = require("../services/agent.service");
11
+ const auth_service_1 = require("../services/auth.service");
12
+ const simulator_service_1 = require("../services/simulator.service");
13
+ const upload_service_1 = require("../services/upload.service");
14
+ const identifiers_1 = require("./identifiers");
15
+ // 创建 DI 容器
16
+ const container = new inversify_1.Container();
17
+ exports.container = container;
18
+ // 绑定服务
19
+ container.bind(identifiers_1.SERVICE_IDENTIFIERS.AgentService).to(agent_service_1.AgentService).inSingletonScope();
20
+ container.bind(identifiers_1.SERVICE_IDENTIFIERS.SimulatorService).to(simulator_service_1.SimulatorService).inSingletonScope();
21
+ container.bind(identifiers_1.SERVICE_IDENTIFIERS.AuthService).to(auth_service_1.AuthService).inSingletonScope();
22
+ container.bind(identifiers_1.SERVICE_IDENTIFIERS.UploadService).to(upload_service_1.UploadService).inSingletonScope();
23
+ // 绑定控制器
24
+ container.bind(identifiers_1.CONTROLLER_IDENTIFIERS.AgentController).to(agent_controller_1.AgentController).inSingletonScope();
25
+ container.bind(identifiers_1.CONTROLLER_IDENTIFIERS.SimulatorController).to(simulator_controller_1.SimulatorController).inSingletonScope();
26
+ container.bind(identifiers_1.CONTROLLER_IDENTIFIERS.AuthController).to(auth_controller_1.AuthController).inSingletonScope();
27
+ container.bind(identifiers_1.CONTROLLER_IDENTIFIERS.UploadController).to(upload_controller_1.UploadController).inSingletonScope();
28
+ // 初始化容器的函数
29
+ function initializeContainer(context) {
30
+ // 绑定应用上下文
31
+ container.bind(identifiers_1.APP_CONTEXT).toConstantValue(context);
32
+ return container;
33
+ }
34
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":";;;AA4BA,kDAKC;AAjCD,yCAAsC;AAEtC,sEAAkE;AAClE,oEAAgE;AAChE,8EAA0E;AAC1E,wEAAoE;AACpE,6DAAyD;AACzD,2DAAuD;AACvD,qEAAiE;AACjE,+DAA2D;AAC3D,+CAAyF;AAEzF,WAAW;AACX,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;AAsBzB,8BAAS;AApBlB,OAAO;AACP,SAAS,CAAC,IAAI,CAAC,iCAAmB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,4BAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACrF,SAAS,CAAC,IAAI,CAAC,iCAAmB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,oCAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC7F,SAAS,CAAC,IAAI,CAAC,iCAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,0BAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACnF,SAAS,CAAC,IAAI,CAAC,iCAAmB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,8BAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAEvF,QAAQ;AACR,SAAS,CAAC,IAAI,CAAC,oCAAsB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,kCAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC9F,SAAS,CAAC,IAAI,CAAC,oCAAsB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,0CAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACtG,SAAS,CAAC,IAAI,CAAC,oCAAsB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,gCAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC5F,SAAS,CAAC,IAAI,CAAC,oCAAsB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,oCAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAEhG,WAAW;AACX,SAAgB,mBAAmB,CAAC,OAAmB;IACrD,UAAU;IACV,SAAS,CAAC,IAAI,CAAa,yBAAW,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEjE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const APP_CONTEXT: unique symbol;
2
+ export declare const SERVICE_IDENTIFIERS: {
3
+ AgentService: symbol;
4
+ SimulatorService: symbol;
5
+ AuthService: symbol;
6
+ UploadService: symbol;
7
+ };
8
+ export declare const CONTROLLER_IDENTIFIERS: {
9
+ AgentController: symbol;
10
+ SimulatorController: symbol;
11
+ AuthController: symbol;
12
+ UploadController: symbol;
13
+ };
14
+ //# sourceMappingURL=identifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/container/identifiers.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,eAA2B,CAAC;AAGpD,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAGF,eAAO,MAAM,sBAAsB;;;;;CAKlC,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTROLLER_IDENTIFIERS = exports.SERVICE_IDENTIFIERS = exports.APP_CONTEXT = void 0;
4
+ // 应用上下文标识符
5
+ exports.APP_CONTEXT = Symbol.for("AppContext");
6
+ // 服务标识符
7
+ exports.SERVICE_IDENTIFIERS = {
8
+ AgentService: Symbol.for("AgentService"),
9
+ SimulatorService: Symbol.for("SimulatorService"),
10
+ AuthService: Symbol.for("AuthService"),
11
+ UploadService: Symbol.for("UploadService"),
12
+ };
13
+ // 控制器标识符
14
+ exports.CONTROLLER_IDENTIFIERS = {
15
+ AgentController: Symbol.for("AgentController"),
16
+ SimulatorController: Symbol.for("SimulatorController"),
17
+ AuthController: Symbol.for("AuthController"),
18
+ UploadController: Symbol.for("UploadController"),
19
+ };
20
+ //# sourceMappingURL=identifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/container/identifiers.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACE,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEpD,QAAQ;AACK,QAAA,mBAAmB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;CAC3C,CAAC;AAEF,SAAS;AACI,QAAA,sBAAsB,GAAG;IACpC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACtD,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACjD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./container";
2
+ export * from "./identifiers";
3
+ export * from "./types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./container"), exports);
18
+ __exportStar(require("./identifiers"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB"}
@@ -0,0 +1,48 @@
1
+ import type { Request, Response } from "express";
2
+ export interface IAgentService {
3
+ getAgentInfo(): Promise<any>;
4
+ getAgentStatus(): Promise<any>;
5
+ uploadFile(params: {
6
+ filename: string;
7
+ fileContent: Buffer;
8
+ purpose?: string;
9
+ mimeType?: string;
10
+ }): Promise<any>;
11
+ }
12
+ export interface ISimulatorService {
13
+ getSimulatorStatus(): any;
14
+ }
15
+ export interface IAuthService {
16
+ getAuthStatus(): Promise<any>;
17
+ getLoginInfo(): Promise<any>;
18
+ hasLogin(): boolean;
19
+ check(params: {
20
+ secret_id: string;
21
+ nonce: string;
22
+ cli_token: string;
23
+ }): Promise<any>;
24
+ }
25
+ export interface IUploadService {
26
+ getToken(params: {
27
+ bizName: string;
28
+ scene: string;
29
+ }): Promise<any>;
30
+ }
31
+ export interface IUploadController {
32
+ getToken(req: Request, res: Response): Promise<void>;
33
+ }
34
+ export interface IAgentController {
35
+ getAgentInfo(req: Request, res: Response): Promise<void>;
36
+ getAgentStatus(req: Request, res: Response): Promise<void>;
37
+ uploadFile(req: Request, res: Response): Promise<void>;
38
+ }
39
+ export interface ISimulatorController {
40
+ getSimulatorStatus(req: Request, res: Response): void;
41
+ }
42
+ export interface IAuthController {
43
+ getAuthStatus(req: Request, res: Response): Promise<void>;
44
+ getLoginInfo(req: Request, res: Response): Promise<void>;
45
+ hasLogin(req: Request, res: Response): Promise<void>;
46
+ checkLoginStatus(req: Request, res: Response): Promise<void>;
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,MAAM,WAAW,aAAa;IAC5B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAClH;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,IAAI,GAAG,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,IAAI,OAAO,CAAC;IACpB,KAAK,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAGD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { Request, Response } from "express";
2
+ import type { IAgentController, IAgentService } from "../container/types";
3
+ export declare class AgentController implements IAgentController {
4
+ private agentService;
5
+ constructor(agentService: IAgentService);
6
+ /**
7
+ * 获取Agent信息
8
+ */
9
+ getAgentInfo: (req: Request, res: Response) => Promise<void>;
10
+ /**
11
+ * 获取Agent状态
12
+ */
13
+ getAgentStatus: (req: Request, res: Response) => Promise<void>;
14
+ /**
15
+ * 上传文件(使用 multipart/form-data,对齐 OpenAI 标准)
16
+ */
17
+ uploadFile: (req: Request, res: Response) => Promise<void>;
18
+ }
19
+ //# sourceMappingURL=agent.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/agent.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,YAAY,CAAgB;gBAEkB,YAAY,EAAE,aAAa;IAIjF;;OAEG;IACH,YAAY,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAU/D;IAEF;;OAEG;IACH,cAAc,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAUjE;IAEF;;OAEG;IACH,UAAU,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CA2C7D;CACH"}