@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.
- package/README.md +76 -0
- package/bin/agent.js +55 -0
- package/lib/app.d.ts +43 -0
- package/lib/app.d.ts.map +1 -0
- package/lib/app.js +99 -0
- package/lib/app.js.map +1 -0
- package/lib/config/api.config.d.ts +2 -0
- package/lib/config/api.config.d.ts.map +1 -0
- package/lib/config/api.config.js +13 -0
- package/lib/config/api.config.js.map +1 -0
- package/lib/config/app.config.d.ts +22 -0
- package/lib/config/app.config.d.ts.map +1 -0
- package/lib/config/app.config.js +18 -0
- package/lib/config/app.config.js.map +1 -0
- package/lib/config/upload.config.d.ts +6 -0
- package/lib/config/upload.config.d.ts.map +1 -0
- package/lib/config/upload.config.js +10 -0
- package/lib/config/upload.config.js.map +1 -0
- package/lib/container/container.d.ts +6 -0
- package/lib/container/container.d.ts.map +1 -0
- package/lib/container/container.js +34 -0
- package/lib/container/container.js.map +1 -0
- package/lib/container/identifiers.d.ts +14 -0
- package/lib/container/identifiers.d.ts.map +1 -0
- package/lib/container/identifiers.js +20 -0
- package/lib/container/identifiers.js.map +1 -0
- package/lib/container/index.d.ts +4 -0
- package/lib/container/index.d.ts.map +1 -0
- package/lib/container/index.js +20 -0
- package/lib/container/index.js.map +1 -0
- package/lib/container/types.d.ts +48 -0
- package/lib/container/types.d.ts.map +1 -0
- package/lib/container/types.js +3 -0
- package/lib/container/types.js.map +1 -0
- package/lib/controllers/agent.controller.d.ts +19 -0
- package/lib/controllers/agent.controller.d.ts.map +1 -0
- package/lib/controllers/agent.controller.js +102 -0
- package/lib/controllers/agent.controller.js.map +1 -0
- package/lib/controllers/auth.controller.d.ts +23 -0
- package/lib/controllers/auth.controller.d.ts.map +1 -0
- package/lib/controllers/auth.controller.js +132 -0
- package/lib/controllers/auth.controller.js.map +1 -0
- package/lib/controllers/simulator.controller.d.ts +11 -0
- package/lib/controllers/simulator.controller.d.ts.map +1 -0
- package/lib/controllers/simulator.controller.js +44 -0
- package/lib/controllers/simulator.controller.js.map +1 -0
- package/lib/controllers/upload.controller.d.ts +8 -0
- package/lib/controllers/upload.controller.d.ts.map +1 -0
- package/lib/controllers/upload.controller.js +44 -0
- package/lib/controllers/upload.controller.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +18 -0
- package/lib/index.js.map +1 -0
- package/lib/middleware/cors.middleware.d.ts +7 -0
- package/lib/middleware/cors.middleware.d.ts.map +1 -0
- package/lib/middleware/cors.middleware.js +14 -0
- package/lib/middleware/cors.middleware.js.map +1 -0
- package/lib/middleware/error.middleware.d.ts +8 -0
- package/lib/middleware/error.middleware.d.ts.map +1 -0
- package/lib/middleware/error.middleware.js +33 -0
- package/lib/middleware/error.middleware.js.map +1 -0
- package/lib/middleware/proxy.middleware.d.ts +3 -0
- package/lib/middleware/proxy.middleware.d.ts.map +1 -0
- package/lib/middleware/proxy.middleware.js +21 -0
- package/lib/middleware/proxy.middleware.js.map +1 -0
- package/lib/middleware/upload.middleware.d.ts +10 -0
- package/lib/middleware/upload.middleware.d.ts.map +1 -0
- package/lib/middleware/upload.middleware.js +27 -0
- package/lib/middleware/upload.middleware.js.map +1 -0
- package/lib/routes/agent.d.ts +3 -0
- package/lib/routes/agent.d.ts.map +1 -0
- package/lib/routes/agent.js +19 -0
- package/lib/routes/agent.js.map +1 -0
- package/lib/routes/auth.d.ts +3 -0
- package/lib/routes/auth.d.ts.map +1 -0
- package/lib/routes/auth.js +20 -0
- package/lib/routes/auth.js.map +1 -0
- package/lib/routes/index.d.ts +3 -0
- package/lib/routes/index.d.ts.map +1 -0
- package/lib/routes/index.js +19 -0
- package/lib/routes/index.js.map +1 -0
- package/lib/routes/simulator.d.ts +3 -0
- package/lib/routes/simulator.d.ts.map +1 -0
- package/lib/routes/simulator.js +14 -0
- package/lib/routes/simulator.js.map +1 -0
- package/lib/routes/upload.d.ts +3 -0
- package/lib/routes/upload.d.ts.map +1 -0
- package/lib/routes/upload.js +13 -0
- package/lib/routes/upload.js.map +1 -0
- package/lib/services/agent.service.d.ts +49 -0
- package/lib/services/agent.service.d.ts.map +1 -0
- package/lib/services/agent.service.js +147 -0
- package/lib/services/agent.service.js.map +1 -0
- package/lib/services/auth.service.d.ts +55 -0
- package/lib/services/auth.service.d.ts.map +1 -0
- package/lib/services/auth.service.js +124 -0
- package/lib/services/auth.service.js.map +1 -0
- package/lib/services/simulator.service.d.ts +23 -0
- package/lib/services/simulator.service.d.ts.map +1 -0
- package/lib/services/simulator.service.js +49 -0
- package/lib/services/simulator.service.js.map +1 -0
- package/lib/services/upload.service.d.ts +32 -0
- package/lib/services/upload.service.d.ts.map +1 -0
- package/lib/services/upload.service.js +61 -0
- package/lib/services/upload.service.js.map +1 -0
- package/lib/simulator.d.ts +27 -0
- package/lib/simulator.d.ts.map +1 -0
- package/lib/simulator.js +79 -0
- package/lib/simulator.js.map +1 -0
- package/lib/utils/logger.d.ts +8 -0
- package/lib/utils/logger.d.ts.map +1 -0
- package/lib/utils/logger.js +28 -0
- package/lib/utils/logger.js.map +1 -0
- package/lib/utils/request.d.ts +11 -0
- package/lib/utils/request.d.ts.map +1 -0
- package/lib/utils/request.js +36 -0
- package/lib/utils/request.js.map +1 -0
- package/lib/utils/url-parser.d.ts +14 -0
- package/lib/utils/url-parser.d.ts.map +1 -0
- package/lib/utils/url-parser.js +25 -0
- package/lib/utils/url-parser.js.map +1 -0
- package/lib/utils.d.ts +6 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +12 -0
- package/lib/utils.js.map +1 -0
- package/lib/webview-ui/Agent.d.ts +5 -0
- package/lib/webview-ui/Agent.d.ts.map +1 -0
- package/lib/webview-ui/Agent.js +24 -0
- package/lib/webview-ui/Agent.js.map +1 -0
- package/lib/webview-ui/App.d.ts +3 -0
- package/lib/webview-ui/App.d.ts.map +1 -0
- package/lib/webview-ui/App.js +775 -0
- package/lib/webview-ui/App.js.map +1 -0
- package/lib/webview-ui/ErrorBoundary.d.ts +19 -0
- package/lib/webview-ui/ErrorBoundary.d.ts.map +1 -0
- package/lib/webview-ui/ErrorBoundary.js +54 -0
- package/lib/webview-ui/ErrorBoundary.js.map +1 -0
- package/lib/webview-ui/components/AsyncTaskBlock.d.ts +13 -0
- package/lib/webview-ui/components/AsyncTaskBlock.d.ts.map +1 -0
- package/lib/webview-ui/components/AsyncTaskBlock.js +179 -0
- package/lib/webview-ui/components/AsyncTaskBlock.js.map +1 -0
- package/lib/webview-ui/components/AuthIndicator.d.ts +3 -0
- package/lib/webview-ui/components/AuthIndicator.d.ts.map +1 -0
- package/lib/webview-ui/components/AuthIndicator.js +17 -0
- package/lib/webview-ui/components/AuthIndicator.js.map +1 -0
- package/lib/webview-ui/components/ErrorCard.d.ts +11 -0
- package/lib/webview-ui/components/ErrorCard.d.ts.map +1 -0
- package/lib/webview-ui/components/ErrorCard.js +18 -0
- package/lib/webview-ui/components/ErrorCard.js.map +1 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchBlock.d.ts +20 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchBlock.d.ts.map +1 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchBlock.js +45 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchBlock.js.map +1 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchResult.d.ts +9 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchResult.d.ts.map +1 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchResult.js +31 -0
- package/lib/webview-ui/components/KnowledgeBaseSearchResult.js.map +1 -0
- package/lib/webview-ui/components/MarkdownRenderer.d.ts +7 -0
- package/lib/webview-ui/components/MarkdownRenderer.d.ts.map +1 -0
- package/lib/webview-ui/components/MarkdownRenderer.js +28 -0
- package/lib/webview-ui/components/MarkdownRenderer.js.map +1 -0
- package/lib/webview-ui/components/MessageRenderer.d.ts +7 -0
- package/lib/webview-ui/components/MessageRenderer.d.ts.map +1 -0
- package/lib/webview-ui/components/MessageRenderer.js +33 -0
- package/lib/webview-ui/components/MessageRenderer.js.map +1 -0
- package/lib/webview-ui/components/MultimodalFileRenderer.d.ts +20 -0
- package/lib/webview-ui/components/MultimodalFileRenderer.d.ts.map +1 -0
- package/lib/webview-ui/components/MultimodalFileRenderer.js +216 -0
- package/lib/webview-ui/components/MultimodalFileRenderer.js.map +1 -0
- package/lib/webview-ui/components/ThinkingBlock.d.ts +8 -0
- package/lib/webview-ui/components/ThinkingBlock.d.ts.map +1 -0
- package/lib/webview-ui/components/ThinkingBlock.js +75 -0
- package/lib/webview-ui/components/ThinkingBlock.js.map +1 -0
- package/lib/webview-ui/components/ToolUseBlock.d.ts +10 -0
- package/lib/webview-ui/components/ToolUseBlock.d.ts.map +1 -0
- package/lib/webview-ui/components/ToolUseBlock.js +14 -0
- package/lib/webview-ui/components/ToolUseBlock.js.map +1 -0
- package/lib/webview-ui/components/ToolUseBlockHeader.d.ts +10 -0
- package/lib/webview-ui/components/ToolUseBlockHeader.d.ts.map +1 -0
- package/lib/webview-ui/components/ToolUseBlockHeader.js +31 -0
- package/lib/webview-ui/components/ToolUseBlockHeader.js.map +1 -0
- package/lib/webview-ui/components/UploadPreview.d.ts +6 -0
- package/lib/webview-ui/components/UploadPreview.d.ts.map +1 -0
- package/lib/webview-ui/components/UploadPreview.js +12 -0
- package/lib/webview-ui/components/UploadPreview.js.map +1 -0
- package/lib/webview-ui/components/WelcomeModule.d.ts +10 -0
- package/lib/webview-ui/components/WelcomeModule.d.ts.map +1 -0
- package/lib/webview-ui/components/WelcomeModule.js +161 -0
- package/lib/webview-ui/components/WelcomeModule.js.map +1 -0
- package/lib/webview-ui/components/index.d.ts +14 -0
- package/lib/webview-ui/components/index.d.ts.map +1 -0
- package/lib/webview-ui/components/index.js +30 -0
- package/lib/webview-ui/components/index.js.map +1 -0
- package/lib/webview-ui/config/cos-config.d.ts +41 -0
- package/lib/webview-ui/config/cos-config.d.ts.map +1 -0
- package/lib/webview-ui/config/cos-config.js +83 -0
- package/lib/webview-ui/config/cos-config.js.map +1 -0
- package/lib/webview-ui/config/http-config.d.ts +8 -0
- package/lib/webview-ui/config/http-config.d.ts.map +1 -0
- package/lib/webview-ui/config/http-config.js +36 -0
- package/lib/webview-ui/config/http-config.js.map +1 -0
- package/lib/webview-ui/constants.d.ts +18 -0
- package/lib/webview-ui/constants.d.ts.map +1 -0
- package/lib/webview-ui/constants.js +25 -0
- package/lib/webview-ui/constants.js.map +1 -0
- package/lib/webview-ui/contexts/AgentContext.d.ts +13 -0
- package/lib/webview-ui/contexts/AgentContext.d.ts.map +1 -0
- package/lib/webview-ui/contexts/AgentContext.js +19 -0
- package/lib/webview-ui/contexts/AgentContext.js.map +1 -0
- package/lib/webview-ui/contexts/AuthContext.d.ts +17 -0
- package/lib/webview-ui/contexts/AuthContext.d.ts.map +1 -0
- package/lib/webview-ui/contexts/AuthContext.js +79 -0
- package/lib/webview-ui/contexts/AuthContext.js.map +1 -0
- package/lib/webview-ui/contexts/ThemeContext.d.ts +12 -0
- package/lib/webview-ui/contexts/ThemeContext.d.ts.map +1 -0
- package/lib/webview-ui/contexts/ThemeContext.js +21 -0
- package/lib/webview-ui/contexts/ThemeContext.js.map +1 -0
- package/lib/webview-ui/hooks/useAgentStatus.d.ts +17 -0
- package/lib/webview-ui/hooks/useAgentStatus.d.ts.map +1 -0
- package/lib/webview-ui/hooks/useAgentStatus.js +117 -0
- package/lib/webview-ui/hooks/useAgentStatus.js.map +1 -0
- package/lib/webview-ui/hooks/useUploader.d.ts +19 -0
- package/lib/webview-ui/hooks/useUploader.d.ts.map +1 -0
- package/lib/webview-ui/hooks/useUploader.js +132 -0
- package/lib/webview-ui/hooks/useUploader.js.map +1 -0
- package/lib/webview-ui/hooks/useUserAvatar.d.ts +28 -0
- package/lib/webview-ui/hooks/useUserAvatar.d.ts.map +1 -0
- package/lib/webview-ui/hooks/useUserAvatar.js +74 -0
- package/lib/webview-ui/hooks/useUserAvatar.js.map +1 -0
- package/lib/webview-ui/index.d.ts +3 -0
- package/lib/webview-ui/index.d.ts.map +1 -0
- package/lib/webview-ui/index.js +17 -0
- package/lib/webview-ui/index.js.map +1 -0
- package/lib/webview-ui/services/agent-service.d.ts +124 -0
- package/lib/webview-ui/services/agent-service.d.ts.map +1 -0
- package/lib/webview-ui/services/agent-service.js +80 -0
- package/lib/webview-ui/services/agent-service.js.map +1 -0
- package/lib/webview-ui/services/index.d.ts +3 -0
- package/lib/webview-ui/services/index.d.ts.map +1 -0
- package/lib/webview-ui/services/index.js +19 -0
- package/lib/webview-ui/services/index.js.map +1 -0
- package/lib/webview-ui/services/logger-service.d.ts +46 -0
- package/lib/webview-ui/services/logger-service.d.ts.map +1 -0
- package/lib/webview-ui/services/logger-service.js +69 -0
- package/lib/webview-ui/services/logger-service.js.map +1 -0
- package/lib/webview-ui/styles/copilot.d.ts +14 -0
- package/lib/webview-ui/styles/copilot.d.ts.map +1 -0
- package/lib/webview-ui/styles/copilot.js +119 -0
- package/lib/webview-ui/styles/copilot.js.map +1 -0
- package/lib/webview-ui/styles/workarea.d.ts +11 -0
- package/lib/webview-ui/styles/workarea.d.ts.map +1 -0
- package/lib/webview-ui/styles/workarea.js +73 -0
- package/lib/webview-ui/styles/workarea.js.map +1 -0
- package/lib/webview-ui/types.d.ts +65 -0
- package/lib/webview-ui/types.d.ts.map +1 -0
- package/lib/webview-ui/types.js +3 -0
- package/lib/webview-ui/types.js.map +1 -0
- package/lib/webview-ui/utils/cos.d.ts +65 -0
- package/lib/webview-ui/utils/cos.d.ts.map +1 -0
- package/lib/webview-ui/utils/cos.js +113 -0
- package/lib/webview-ui/utils/cos.js.map +1 -0
- package/lib/webview-ui/utils/http-client.d.ts +44 -0
- package/lib/webview-ui/utils/http-client.d.ts.map +1 -0
- package/lib/webview-ui/utils/http-client.js +101 -0
- package/lib/webview-ui/utils/http-client.js.map +1 -0
- package/lib/webview-ui/utils/stream-text-handler.d.ts +4 -0
- package/lib/webview-ui/utils/stream-text-handler.d.ts.map +1 -0
- package/lib/webview-ui/utils/stream-text-handler.js +54 -0
- package/lib/webview-ui/utils/stream-text-handler.js.map +1 -0
- package/lib/webview-ui/utils/upload.d.ts +8 -0
- package/lib/webview-ui/utils/upload.d.ts.map +1 -0
- package/lib/webview-ui/utils/upload.js +22 -0
- package/lib/webview-ui/utils/upload.js.map +1 -0
- package/lib/webview-ui/widgets/BubbleComponents.d.ts +8 -0
- package/lib/webview-ui/widgets/BubbleComponents.d.ts.map +1 -0
- package/lib/webview-ui/widgets/BubbleComponents.js +62 -0
- package/lib/webview-ui/widgets/BubbleComponents.js.map +1 -0
- package/lib/webview-ui/widgets/ChatInput.d.ts +27 -0
- package/lib/webview-ui/widgets/ChatInput.d.ts.map +1 -0
- package/lib/webview-ui/widgets/ChatInput.js +203 -0
- package/lib/webview-ui/widgets/ChatInput.js.map +1 -0
- package/lib/webview-ui/widgets/LogPanel.d.ts +15 -0
- package/lib/webview-ui/widgets/LogPanel.d.ts.map +1 -0
- package/lib/webview-ui/widgets/LogPanel.js +59 -0
- package/lib/webview-ui/widgets/LogPanel.js.map +1 -0
- package/lib/webview-ui/widgets/SystemLogs.d.ts +30 -0
- package/lib/webview-ui/widgets/SystemLogs.d.ts.map +1 -0
- package/lib/webview-ui/widgets/SystemLogs.js +460 -0
- package/lib/webview-ui/widgets/SystemLogs.js.map +1 -0
- package/lib/webview-ui/widgets/ToolBar.d.ts +18 -0
- package/lib/webview-ui/widgets/ToolBar.d.ts.map +1 -0
- package/lib/webview-ui/widgets/ToolBar.js +90 -0
- package/lib/webview-ui/widgets/ToolBar.js.map +1 -0
- package/lib/webview-ui/widgets/index.d.ts +6 -0
- package/lib/webview-ui/widgets/index.d.ts.map +1 -0
- package/lib/webview-ui/widgets/index.js +22 -0
- package/lib/webview-ui/widgets/index.js.map +1 -0
- package/package.json +92 -0
- package/public/assets/index-j_rEEDWU.js +93 -0
- package/public/assets/main.js +603 -0
- package/public/assets/style.css +1 -0
- 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
|
package/lib/app.d.ts.map
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|