@cicctencent/agent-midway 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +280 -0
  2. package/dist/adapters/express.d.ts +8 -0
  3. package/dist/adapters/express.js +91 -0
  4. package/dist/adapters/index.d.ts +5 -0
  5. package/dist/adapters/index.js +21 -0
  6. package/dist/adapters/koa.d.ts +3 -0
  7. package/dist/adapters/koa.js +75 -0
  8. package/dist/adapters/midway.d.ts +5 -0
  9. package/dist/adapters/midway.js +11 -0
  10. package/dist/adapters/next.d.ts +12 -0
  11. package/dist/adapters/next.js +89 -0
  12. package/dist/adapters/shared.d.ts +4 -0
  13. package/dist/adapters/shared.js +31 -0
  14. package/dist/channel/dingtalk.d.ts +18 -0
  15. package/dist/channel/dingtalk.js +68 -0
  16. package/dist/channel/feishu.d.ts +20 -0
  17. package/dist/channel/feishu.js +96 -0
  18. package/dist/channel/index.d.ts +46 -0
  19. package/dist/channel/index.js +311 -0
  20. package/dist/channel/types.d.ts +77 -0
  21. package/dist/channel/types.js +7 -0
  22. package/dist/channel/wecom.d.ts +22 -0
  23. package/dist/channel/wecom.js +106 -0
  24. package/dist/component.d.ts +49 -0
  25. package/dist/component.js +129 -0
  26. package/dist/connector/calendar-adapter.d.ts +19 -0
  27. package/dist/connector/calendar-adapter.js +236 -0
  28. package/dist/connector/db-adapter.d.ts +28 -0
  29. package/dist/connector/db-adapter.js +193 -0
  30. package/dist/connector/email-adapter.d.ts +23 -0
  31. package/dist/connector/email-adapter.js +192 -0
  32. package/dist/connector/fs-adapter.d.ts +15 -0
  33. package/dist/connector/fs-adapter.js +199 -0
  34. package/dist/connector/http-adapter.d.ts +29 -0
  35. package/dist/connector/http-adapter.js +181 -0
  36. package/dist/connector/index.d.ts +24 -0
  37. package/dist/connector/index.js +454 -0
  38. package/dist/connector/mcp-adapter.d.ts +27 -0
  39. package/dist/connector/mcp-adapter.js +156 -0
  40. package/dist/connector/mq-adapter.d.ts +25 -0
  41. package/dist/connector/mq-adapter.js +181 -0
  42. package/dist/connector/types.d.ts +205 -0
  43. package/dist/connector/types.js +9 -0
  44. package/dist/controller/a2a.controller.d.ts +41 -0
  45. package/dist/controller/a2a.controller.js +150 -0
  46. package/dist/controller/agent-profile.controller.d.ts +97 -0
  47. package/dist/controller/agent-profile.controller.js +200 -0
  48. package/dist/controller/agent.controller.d.ts +199 -0
  49. package/dist/controller/agent.controller.js +414 -0
  50. package/dist/controller/application.controller.d.ts +113 -0
  51. package/dist/controller/application.controller.js +217 -0
  52. package/dist/controller/automation.controller.d.ts +113 -0
  53. package/dist/controller/automation.controller.js +246 -0
  54. package/dist/controller/channel.controller.d.ts +73 -0
  55. package/dist/controller/channel.controller.js +183 -0
  56. package/dist/controller/chat.controller.d.ts +188 -0
  57. package/dist/controller/chat.controller.js +375 -0
  58. package/dist/controller/connector.controller.d.ts +134 -0
  59. package/dist/controller/connector.controller.js +257 -0
  60. package/dist/controller/knowledge-base.controller.d.ts +157 -0
  61. package/dist/controller/knowledge-base.controller.js +278 -0
  62. package/dist/controller/mcp-server.controller.d.ts +115 -0
  63. package/dist/controller/mcp-server.controller.js +236 -0
  64. package/dist/controller/model-config.controller.d.ts +139 -0
  65. package/dist/controller/model-config.controller.js +274 -0
  66. package/dist/controller/observability.controller.d.ts +124 -0
  67. package/dist/controller/observability.controller.js +142 -0
  68. package/dist/controller/security.controller.d.ts +91 -0
  69. package/dist/controller/security.controller.js +172 -0
  70. package/dist/controller/settings.controller.d.ts +83 -0
  71. package/dist/controller/settings.controller.js +280 -0
  72. package/dist/core/ai-workstation.d.ts +17 -0
  73. package/dist/core/ai-workstation.js +129 -0
  74. package/dist/core/index.d.ts +4 -0
  75. package/dist/core/index.js +20 -0
  76. package/dist/core/service-container.d.ts +12 -0
  77. package/dist/core/service-container.js +54 -0
  78. package/dist/core/sse.d.ts +6 -0
  79. package/dist/core/sse.js +56 -0
  80. package/dist/core/types.d.ts +72 -0
  81. package/dist/core/types.js +2 -0
  82. package/dist/dto/agent.dto.d.ts +21 -0
  83. package/dist/dto/agent.dto.js +79 -0
  84. package/dist/dto/ai-config.dto.d.ts +67 -0
  85. package/dist/dto/ai-config.dto.js +249 -0
  86. package/dist/dto/chat.dto.d.ts +40 -0
  87. package/dist/dto/chat.dto.js +122 -0
  88. package/dist/index.d.ts +101 -0
  89. package/dist/index.js +195 -0
  90. package/dist/memory/db-store.d.ts +33 -0
  91. package/dist/memory/db-store.js +143 -0
  92. package/dist/memory/index.d.ts +187 -0
  93. package/dist/memory/index.js +443 -0
  94. package/dist/model/ai-agent-profile.entity.d.ts +32 -0
  95. package/dist/model/ai-agent-profile.entity.js +289 -0
  96. package/dist/model/ai-application.entity.d.ts +20 -0
  97. package/dist/model/ai-application.entity.js +166 -0
  98. package/dist/model/ai-chat-memory.entity.d.ts +16 -0
  99. package/dist/model/ai-chat-memory.entity.js +123 -0
  100. package/dist/model/ai-chat-message.entity.d.ts +16 -0
  101. package/dist/model/ai-chat-message.entity.js +122 -0
  102. package/dist/model/ai-chat-skill.entity.d.ts +19 -0
  103. package/dist/model/ai-chat-skill.entity.js +155 -0
  104. package/dist/model/ai-chat-thread.entity.d.ts +15 -0
  105. package/dist/model/ai-chat-thread.entity.js +113 -0
  106. package/dist/model/ai-chat-workspace.entity.d.ts +17 -0
  107. package/dist/model/ai-chat-workspace.entity.js +136 -0
  108. package/dist/model/ai-kb-document.entity.d.ts +16 -0
  109. package/dist/model/ai-kb-document.entity.js +122 -0
  110. package/dist/model/ai-knowledge-base.entity.d.ts +22 -0
  111. package/dist/model/ai-knowledge-base.entity.js +185 -0
  112. package/dist/model/ai-mcp-server.entity.d.ts +23 -0
  113. package/dist/model/ai-mcp-server.entity.js +198 -0
  114. package/dist/model/ai-model-config.entity.d.ts +24 -0
  115. package/dist/model/ai-model-config.entity.js +200 -0
  116. package/dist/service/a2a.service.d.ts +142 -0
  117. package/dist/service/a2a.service.js +537 -0
  118. package/dist/service/agent-profile.service.d.ts +34 -0
  119. package/dist/service/agent-profile.service.js +110 -0
  120. package/dist/service/agent-server.service.d.ts +91 -0
  121. package/dist/service/agent-server.service.js +634 -0
  122. package/dist/service/agent-task-queue.service.d.ts +98 -0
  123. package/dist/service/agent-task-queue.service.js +283 -0
  124. package/dist/service/ai-chat.service.d.ts +103 -0
  125. package/dist/service/ai-chat.service.js +431 -0
  126. package/dist/service/ai-skill.service.d.ts +116 -0
  127. package/dist/service/ai-skill.service.js +457 -0
  128. package/dist/service/application.service.d.ts +42 -0
  129. package/dist/service/application.service.js +139 -0
  130. package/dist/service/automation.service.d.ts +37 -0
  131. package/dist/service/automation.service.js +196 -0
  132. package/dist/service/connector.service.d.ts +136 -0
  133. package/dist/service/connector.service.js +524 -0
  134. package/dist/service/knowledge-base.service.d.ts +138 -0
  135. package/dist/service/knowledge-base.service.js +528 -0
  136. package/dist/service/mcp-server.service.d.ts +39 -0
  137. package/dist/service/mcp-server.service.js +143 -0
  138. package/dist/service/model-config.service.d.ts +57 -0
  139. package/dist/service/model-config.service.js +168 -0
  140. package/dist/service/observability.service.d.ts +145 -0
  141. package/dist/service/observability.service.js +281 -0
  142. package/dist/service/openai.service.d.ts +88 -0
  143. package/dist/service/openai.service.js +406 -0
  144. package/dist/service/prompt-builder.service.d.ts +50 -0
  145. package/dist/service/prompt-builder.service.js +246 -0
  146. package/dist/tools/code-exec.tool.d.ts +37 -0
  147. package/dist/tools/code-exec.tool.js +162 -0
  148. package/dist/tools/datetime.tool.d.ts +21 -0
  149. package/dist/tools/datetime.tool.js +379 -0
  150. package/dist/tools/http-request.tool.d.ts +43 -0
  151. package/dist/tools/http-request.tool.js +455 -0
  152. package/dist/tools/registry.d.ts +71 -0
  153. package/dist/tools/registry.js +77 -0
  154. package/dist/tools/text-process.tool.d.ts +7 -0
  155. package/dist/tools/text-process.tool.js +366 -0
  156. package/dist/tools/web-search.tool.d.ts +28 -0
  157. package/dist/tools/web-search.tool.js +304 -0
  158. package/dist/types.d.ts +70 -0
  159. package/dist/types.js +7 -0
  160. package/package.json +69 -0
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ModelConfigController = void 0;
16
+ const core_1 = require("@midwayjs/core");
17
+ const midwayjs_base_1 = require("@cicctencent/midwayjs-base");
18
+ const ai_config_dto_1 = require("../dto/ai-config.dto");
19
+ const model_config_service_1 = require("../service/model-config.service");
20
+ const application_service_1 = require("../service/application.service");
21
+ /**
22
+ * 模型配置管理 Controller
23
+ */
24
+ let ModelConfigController = class ModelConfigController extends midwayjs_base_1.BaseController {
25
+ /** 获取当前应用ID */
26
+ async getApplicationId() {
27
+ const app = await this.applicationService.getDefault();
28
+ return app?.id || 0;
29
+ }
30
+ /** 获取模型配置列表 */
31
+ async list() {
32
+ try {
33
+ const applicationId = await this.getApplicationId();
34
+ const configs = await this.modelConfigService.list(applicationId, {
35
+ enabled: true,
36
+ });
37
+ return { ret: 0, data: configs, msg: 'success' };
38
+ }
39
+ catch (error) {
40
+ return { ret: 1, msg: error.message };
41
+ }
42
+ }
43
+ /** 获取单个模型配置 */
44
+ async detail(id) {
45
+ try {
46
+ const applicationId = await this.getApplicationId();
47
+ const config = await this.modelConfigService.get(Number(id), applicationId);
48
+ if (!config) {
49
+ return { ret: 1, msg: '模型配置不存在' };
50
+ }
51
+ return { ret: 0, data: config, msg: 'success' };
52
+ }
53
+ catch (error) {
54
+ return { ret: 1, msg: error.message };
55
+ }
56
+ }
57
+ /** 获取默认模型配置 */
58
+ async getDefault() {
59
+ try {
60
+ const applicationId = await this.getApplicationId();
61
+ const config = await this.modelConfigService.getDefault(applicationId);
62
+ return { ret: 0, data: config, msg: 'success' };
63
+ }
64
+ catch (error) {
65
+ return { ret: 1, msg: error.message };
66
+ }
67
+ }
68
+ /** 获取主模型配置 */
69
+ async getPrimary() {
70
+ try {
71
+ const applicationId = await this.getApplicationId();
72
+ const config = await this.modelConfigService.getPrimary(applicationId);
73
+ return { ret: 0, data: config, msg: 'success' };
74
+ }
75
+ catch (error) {
76
+ return { ret: 1, msg: error.message };
77
+ }
78
+ }
79
+ /** 获取降级链 */
80
+ async getFallbackChain(body = {}) {
81
+ try {
82
+ const applicationId = await this.getApplicationId();
83
+ const chain = await this.modelConfigService.getFallbackChain(applicationId, body.role);
84
+ return { ret: 0, data: chain, msg: 'success' };
85
+ }
86
+ catch (error) {
87
+ return { ret: 1, msg: error.message };
88
+ }
89
+ }
90
+ /** 创建模型配置 */
91
+ async create(body) {
92
+ try {
93
+ const applicationId = await this.getApplicationId();
94
+ const config = await this.modelConfigService.create(applicationId, body);
95
+ return { ret: 0, data: config, msg: 'success' };
96
+ }
97
+ catch (error) {
98
+ return { ret: 1, msg: error.message };
99
+ }
100
+ }
101
+ /** 更新模型配置 */
102
+ async update(id, body) {
103
+ try {
104
+ const applicationId = await this.getApplicationId();
105
+ const config = await this.modelConfigService.update(Number(id), applicationId, body);
106
+ return { ret: 0, data: config, msg: 'success' };
107
+ }
108
+ catch (error) {
109
+ return { ret: 1, msg: error.message };
110
+ }
111
+ }
112
+ /** 删除模型配置 */
113
+ async remove(id) {
114
+ try {
115
+ const applicationId = await this.getApplicationId();
116
+ await this.modelConfigService.delete(Number(id), applicationId);
117
+ return { ret: 0, data: null, msg: 'success' };
118
+ }
119
+ catch (error) {
120
+ return { ret: 1, msg: error.message };
121
+ }
122
+ }
123
+ /** 设置为默认 */
124
+ async setDefault(id) {
125
+ try {
126
+ const applicationId = await this.getApplicationId();
127
+ const config = await this.modelConfigService.setDefault(Number(id), applicationId);
128
+ return { ret: 0, data: config, msg: 'success' };
129
+ }
130
+ catch (error) {
131
+ return { ret: 1, msg: error.message };
132
+ }
133
+ }
134
+ /** 启用模型配置 */
135
+ async enable(id) {
136
+ try {
137
+ const applicationId = await this.getApplicationId();
138
+ const config = await this.modelConfigService.enable(Number(id), applicationId);
139
+ return { ret: 0, data: config, msg: 'success' };
140
+ }
141
+ catch (error) {
142
+ return { ret: 1, msg: error.message };
143
+ }
144
+ }
145
+ /** 禁用模型配置 */
146
+ async disable(id) {
147
+ try {
148
+ const applicationId = await this.getApplicationId();
149
+ const config = await this.modelConfigService.disable(Number(id), applicationId);
150
+ return { ret: 0, data: config, msg: 'success' };
151
+ }
152
+ catch (error) {
153
+ return { ret: 1, msg: error.message };
154
+ }
155
+ }
156
+ /** 获取指定角色的模型配置 */
157
+ async getByRole(role) {
158
+ try {
159
+ const applicationId = await this.getApplicationId();
160
+ const configs = await this.modelConfigService.getByRole(applicationId, role);
161
+ return { ret: 0, data: configs, msg: 'success' };
162
+ }
163
+ catch (error) {
164
+ return { ret: 1, msg: error.message };
165
+ }
166
+ }
167
+ };
168
+ exports.ModelConfigController = ModelConfigController;
169
+ __decorate([
170
+ (0, core_1.Inject)(),
171
+ __metadata("design:type", model_config_service_1.ModelConfigService)
172
+ ], ModelConfigController.prototype, "modelConfigService", void 0);
173
+ __decorate([
174
+ (0, core_1.Inject)(),
175
+ __metadata("design:type", application_service_1.ApplicationService)
176
+ ], ModelConfigController.prototype, "applicationService", void 0);
177
+ __decorate([
178
+ (0, core_1.Get)('/'),
179
+ midwayjs_base_1.decorators.checkLogin(true),
180
+ __metadata("design:type", Function),
181
+ __metadata("design:paramtypes", []),
182
+ __metadata("design:returntype", Promise)
183
+ ], ModelConfigController.prototype, "list", null);
184
+ __decorate([
185
+ (0, core_1.Get)('/:id'),
186
+ midwayjs_base_1.decorators.checkLogin(true),
187
+ __param(0, (0, core_1.Param)('id')),
188
+ __metadata("design:type", Function),
189
+ __metadata("design:paramtypes", [Number]),
190
+ __metadata("design:returntype", Promise)
191
+ ], ModelConfigController.prototype, "detail", null);
192
+ __decorate([
193
+ (0, core_1.Get)('/default'),
194
+ midwayjs_base_1.decorators.checkLogin(true),
195
+ __metadata("design:type", Function),
196
+ __metadata("design:paramtypes", []),
197
+ __metadata("design:returntype", Promise)
198
+ ], ModelConfigController.prototype, "getDefault", null);
199
+ __decorate([
200
+ (0, core_1.Get)('/primary'),
201
+ midwayjs_base_1.decorators.checkLogin(true),
202
+ __metadata("design:type", Function),
203
+ __metadata("design:paramtypes", []),
204
+ __metadata("design:returntype", Promise)
205
+ ], ModelConfigController.prototype, "getPrimary", null);
206
+ __decorate([
207
+ (0, core_1.Get)('/fallback-chain'),
208
+ midwayjs_base_1.decorators.checkLogin(true),
209
+ __param(0, (0, core_1.Body)()),
210
+ __metadata("design:type", Function),
211
+ __metadata("design:paramtypes", [Object]),
212
+ __metadata("design:returntype", Promise)
213
+ ], ModelConfigController.prototype, "getFallbackChain", null);
214
+ __decorate([
215
+ (0, core_1.Post)('/'),
216
+ midwayjs_base_1.decorators.checkLogin(true),
217
+ __param(0, (0, core_1.Body)()),
218
+ __metadata("design:type", Function),
219
+ __metadata("design:paramtypes", [ai_config_dto_1.CreateModelConfigDTO]),
220
+ __metadata("design:returntype", Promise)
221
+ ], ModelConfigController.prototype, "create", null);
222
+ __decorate([
223
+ (0, core_1.Put)('/:id'),
224
+ midwayjs_base_1.decorators.checkLogin(true),
225
+ __param(0, (0, core_1.Param)('id')),
226
+ __param(1, (0, core_1.Body)()),
227
+ __metadata("design:type", Function),
228
+ __metadata("design:paramtypes", [Number, Object]),
229
+ __metadata("design:returntype", Promise)
230
+ ], ModelConfigController.prototype, "update", null);
231
+ __decorate([
232
+ (0, core_1.Del)('/:id'),
233
+ midwayjs_base_1.decorators.checkLogin(true),
234
+ __param(0, (0, core_1.Param)('id')),
235
+ __metadata("design:type", Function),
236
+ __metadata("design:paramtypes", [Number]),
237
+ __metadata("design:returntype", Promise)
238
+ ], ModelConfigController.prototype, "remove", null);
239
+ __decorate([
240
+ (0, core_1.Post)('/:id/default'),
241
+ midwayjs_base_1.decorators.checkLogin(true),
242
+ __param(0, (0, core_1.Param)('id')),
243
+ __metadata("design:type", Function),
244
+ __metadata("design:paramtypes", [Number]),
245
+ __metadata("design:returntype", Promise)
246
+ ], ModelConfigController.prototype, "setDefault", null);
247
+ __decorate([
248
+ (0, core_1.Post)('/:id/enable'),
249
+ midwayjs_base_1.decorators.checkLogin(true),
250
+ __param(0, (0, core_1.Param)('id')),
251
+ __metadata("design:type", Function),
252
+ __metadata("design:paramtypes", [Number]),
253
+ __metadata("design:returntype", Promise)
254
+ ], ModelConfigController.prototype, "enable", null);
255
+ __decorate([
256
+ (0, core_1.Post)('/:id/disable'),
257
+ midwayjs_base_1.decorators.checkLogin(true),
258
+ __param(0, (0, core_1.Param)('id')),
259
+ __metadata("design:type", Function),
260
+ __metadata("design:paramtypes", [Number]),
261
+ __metadata("design:returntype", Promise)
262
+ ], ModelConfigController.prototype, "disable", null);
263
+ __decorate([
264
+ (0, core_1.Get)('/role/:role'),
265
+ midwayjs_base_1.decorators.checkLogin(true),
266
+ __param(0, (0, core_1.Param)('role')),
267
+ __metadata("design:type", Function),
268
+ __metadata("design:paramtypes", [String]),
269
+ __metadata("design:returntype", Promise)
270
+ ], ModelConfigController.prototype, "getByRole", null);
271
+ exports.ModelConfigController = ModelConfigController = __decorate([
272
+ (0, core_1.Provide)(),
273
+ (0, core_1.Controller)('/api/model-configs')
274
+ ], ModelConfigController);
@@ -0,0 +1,124 @@
1
+ import { BaseController } from '@cicctencent/midwayjs-base';
2
+ import { ObservabilityService } from '../service/observability.service';
3
+ /**
4
+ * 可观测性 Controller
5
+ * 提供链路追踪、指标、仪表板和系统健康监控接口
6
+ */
7
+ export declare class ObservabilityController extends BaseController {
8
+ observabilityService: ObservabilityService;
9
+ /** 查询追踪记录 */
10
+ traces(query?: {
11
+ traceId?: string;
12
+ threadId?: number;
13
+ action?: string;
14
+ status?: string;
15
+ startTime?: string;
16
+ endTime?: string;
17
+ page?: number;
18
+ pageSize?: number;
19
+ }): Promise<{
20
+ ret: number;
21
+ data: {
22
+ list: import("../service/observability.service").TraceRecord[];
23
+ total: number;
24
+ page: number;
25
+ pageSize: number;
26
+ };
27
+ msg: string;
28
+ } | {
29
+ ret: number;
30
+ msg: any;
31
+ data?: undefined;
32
+ }>;
33
+ /** 获取单个追踪详情 */
34
+ traceDetail(traceId: string): Promise<{
35
+ ret: number;
36
+ data: import("../service/observability.service").TraceRecord;
37
+ msg: string;
38
+ } | {
39
+ ret: number;
40
+ msg: any;
41
+ data?: undefined;
42
+ }>;
43
+ /** 查询指标 */
44
+ metrics(query?: {
45
+ name?: string;
46
+ startTime?: string;
47
+ endTime?: string;
48
+ page?: number;
49
+ pageSize?: number;
50
+ }): Promise<{
51
+ ret: number;
52
+ data: {
53
+ list: import("../service/observability.service").MetricRecord[];
54
+ total: number;
55
+ page: number;
56
+ pageSize: number;
57
+ };
58
+ msg: string;
59
+ } | {
60
+ ret: number;
61
+ msg: any;
62
+ data?: undefined;
63
+ }>;
64
+ /** 获取仪表板数据 */
65
+ dashboard(): Promise<{
66
+ ret: number;
67
+ data: {
68
+ totalRequests: number;
69
+ successCount: number;
70
+ errorCount: number;
71
+ timeoutCount: number;
72
+ successRate: number;
73
+ avgDuration: number;
74
+ activeThreads: number;
75
+ toolCallStats: Record<string, {
76
+ total: number;
77
+ success: number;
78
+ error: number;
79
+ }>;
80
+ recentTraces: import("../service/observability.service").TraceRecord[];
81
+ };
82
+ msg: string;
83
+ } | {
84
+ ret: number;
85
+ msg: any;
86
+ data?: undefined;
87
+ }>;
88
+ /** 获取系统健康状态 */
89
+ health(): Promise<{
90
+ ret: number;
91
+ data: {
92
+ status: "healthy" | "warning" | "critical";
93
+ uptime: number;
94
+ memory: {
95
+ rss: number;
96
+ heapUsed: number;
97
+ heapTotal: number;
98
+ external: number;
99
+ };
100
+ cpu: {
101
+ user: number;
102
+ system: number;
103
+ };
104
+ activeConnections: number;
105
+ traceCount: number;
106
+ metricCount: number;
107
+ };
108
+ msg: string;
109
+ } | {
110
+ ret: number;
111
+ msg: any;
112
+ data?: undefined;
113
+ }>;
114
+ /** 导出追踪数据 */
115
+ export(format?: string): Promise<{
116
+ ret: number;
117
+ data: string;
118
+ msg: string;
119
+ } | {
120
+ ret: number;
121
+ msg: any;
122
+ data?: undefined;
123
+ }>;
124
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ObservabilityController = void 0;
16
+ const core_1 = require("@midwayjs/core");
17
+ const midwayjs_base_1 = require("@cicctencent/midwayjs-base");
18
+ const observability_service_1 = require("../service/observability.service");
19
+ /**
20
+ * 可观测性 Controller
21
+ * 提供链路追踪、指标、仪表板和系统健康监控接口
22
+ */
23
+ let ObservabilityController = class ObservabilityController extends midwayjs_base_1.BaseController {
24
+ /** 查询追踪记录 */
25
+ async traces(query = {}) {
26
+ try {
27
+ const result = this.observabilityService.getTraces(query);
28
+ return { ret: 0, data: result, msg: 'success' };
29
+ }
30
+ catch (error) {
31
+ return { ret: 1, msg: error.message };
32
+ }
33
+ }
34
+ /** 获取单个追踪详情 */
35
+ async traceDetail(traceId) {
36
+ try {
37
+ const trace = this.observabilityService.getTraceById(traceId);
38
+ if (!trace) {
39
+ return { ret: 1, msg: '追踪记录不存在' };
40
+ }
41
+ return { ret: 0, data: trace, msg: 'success' };
42
+ }
43
+ catch (error) {
44
+ return { ret: 1, msg: error.message };
45
+ }
46
+ }
47
+ /** 查询指标 */
48
+ async metrics(query = {}) {
49
+ try {
50
+ const result = this.observabilityService.getMetrics(query);
51
+ return { ret: 0, data: result, msg: 'success' };
52
+ }
53
+ catch (error) {
54
+ return { ret: 1, msg: error.message };
55
+ }
56
+ }
57
+ /** 获取仪表板数据 */
58
+ async dashboard() {
59
+ try {
60
+ const data = this.observabilityService.getDashboard();
61
+ return { ret: 0, data, msg: 'success' };
62
+ }
63
+ catch (error) {
64
+ return { ret: 1, msg: error.message };
65
+ }
66
+ }
67
+ /** 获取系统健康状态 */
68
+ async health() {
69
+ try {
70
+ const data = this.observabilityService.getSystemHealth();
71
+ return { ret: 0, data, msg: 'success' };
72
+ }
73
+ catch (error) {
74
+ return { ret: 1, msg: error.message };
75
+ }
76
+ }
77
+ /** 导出追踪数据 */
78
+ async export(format = 'json') {
79
+ try {
80
+ const data = this.observabilityService.exportTraces(format);
81
+ return { ret: 0, data, msg: 'success' };
82
+ }
83
+ catch (error) {
84
+ return { ret: 1, msg: error.message };
85
+ }
86
+ }
87
+ };
88
+ exports.ObservabilityController = ObservabilityController;
89
+ __decorate([
90
+ (0, core_1.Inject)(),
91
+ __metadata("design:type", observability_service_1.ObservabilityService)
92
+ ], ObservabilityController.prototype, "observabilityService", void 0);
93
+ __decorate([
94
+ (0, core_1.Get)('/traces'),
95
+ midwayjs_base_1.decorators.checkLogin(true),
96
+ __param(0, (0, core_1.Query)()),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", [Object]),
99
+ __metadata("design:returntype", Promise)
100
+ ], ObservabilityController.prototype, "traces", null);
101
+ __decorate([
102
+ (0, core_1.Get)('/traces/:traceId'),
103
+ midwayjs_base_1.decorators.checkLogin(true),
104
+ __param(0, (0, core_1.Param)('traceId')),
105
+ __metadata("design:type", Function),
106
+ __metadata("design:paramtypes", [String]),
107
+ __metadata("design:returntype", Promise)
108
+ ], ObservabilityController.prototype, "traceDetail", null);
109
+ __decorate([
110
+ (0, core_1.Get)('/metrics'),
111
+ midwayjs_base_1.decorators.checkLogin(true),
112
+ __param(0, (0, core_1.Query)()),
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", [Object]),
115
+ __metadata("design:returntype", Promise)
116
+ ], ObservabilityController.prototype, "metrics", null);
117
+ __decorate([
118
+ (0, core_1.Get)('/dashboard'),
119
+ midwayjs_base_1.decorators.checkLogin(true),
120
+ __metadata("design:type", Function),
121
+ __metadata("design:paramtypes", []),
122
+ __metadata("design:returntype", Promise)
123
+ ], ObservabilityController.prototype, "dashboard", null);
124
+ __decorate([
125
+ (0, core_1.Get)('/health'),
126
+ midwayjs_base_1.decorators.checkLogin(true),
127
+ __metadata("design:type", Function),
128
+ __metadata("design:paramtypes", []),
129
+ __metadata("design:returntype", Promise)
130
+ ], ObservabilityController.prototype, "health", null);
131
+ __decorate([
132
+ (0, core_1.Get)('/export'),
133
+ midwayjs_base_1.decorators.checkLogin(true),
134
+ __param(0, (0, core_1.Query)('format')),
135
+ __metadata("design:type", Function),
136
+ __metadata("design:paramtypes", [Object]),
137
+ __metadata("design:returntype", Promise)
138
+ ], ObservabilityController.prototype, "export", null);
139
+ exports.ObservabilityController = ObservabilityController = __decorate([
140
+ (0, core_1.Provide)(),
141
+ (0, core_1.Controller)('/api/observability')
142
+ ], ObservabilityController);
@@ -0,0 +1,91 @@
1
+ import { BaseController } from '@cicctencent/midwayjs-base';
2
+ /**
3
+ * 安全审计 Controller
4
+ *
5
+ * 使用 agent-server 的安全服务提供:
6
+ * - 工具调用审计日志
7
+ * - 风险评估
8
+ * - 权限审批
9
+ * - 安全策略管理
10
+ */
11
+ export declare class SecurityController extends BaseController {
12
+ /** 获取审计日志列表 */
13
+ getAuditLogs(body?: {
14
+ tool?: string;
15
+ level?: string;
16
+ sessionId?: string;
17
+ limit?: number;
18
+ since?: number;
19
+ until?: number;
20
+ }): Promise<{
21
+ ret: number;
22
+ data: import("@cicctencent/agent-server").AuditLogEntry[];
23
+ msg: string;
24
+ } | {
25
+ ret: number;
26
+ msg: any;
27
+ data?: undefined;
28
+ }>;
29
+ /** 获取工具风险评估(调用 agent-server 的 assessToolRisk) */
30
+ getToolRisks(body?: {
31
+ toolName?: string;
32
+ }): Promise<{
33
+ ret: number;
34
+ data: {
35
+ tool: string;
36
+ riskLevel: import("@cicctencent/agent-server").ToolRiskLevel;
37
+ description: string;
38
+ requiresApproval: boolean;
39
+ };
40
+ msg: string;
41
+ } | {
42
+ ret: number;
43
+ data: import("@cicctencent/agent-server").SecurityPolicy;
44
+ msg: string;
45
+ } | {
46
+ ret: number;
47
+ msg: any;
48
+ data?: undefined;
49
+ }>;
50
+ /** 获取待审批列表 */
51
+ getPendingApprovals(): Promise<{
52
+ ret: number;
53
+ data: import("@cicctencent/agent-server").PermissionRequest[];
54
+ msg: string;
55
+ } | {
56
+ ret: number;
57
+ msg: any;
58
+ data?: undefined;
59
+ }>;
60
+ /** 审批操作 */
61
+ approveAction(id: string, body: {
62
+ approved: boolean;
63
+ reason?: string;
64
+ }): Promise<{
65
+ ret: number;
66
+ data: import("@cicctencent/agent-server").PermissionRequest;
67
+ msg: string;
68
+ } | {
69
+ ret: number;
70
+ msg: any;
71
+ data?: undefined;
72
+ }>;
73
+ /** 更新工具安全策略 */
74
+ updateToolPolicy(toolName: string, body: {
75
+ riskLevel?: string;
76
+ requiresApproval?: boolean;
77
+ }): Promise<{
78
+ ret: number;
79
+ data: {
80
+ policy: import("@cicctencent/agent-server").SecurityPolicy;
81
+ riskLevel?: string;
82
+ requiresApproval?: boolean;
83
+ tool: string;
84
+ };
85
+ msg: string;
86
+ } | {
87
+ ret: number;
88
+ msg: any;
89
+ data?: undefined;
90
+ }>;
91
+ }