aws-runtime-bridge 1.1.1 → 1.1.2

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 (97) hide show
  1. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +166 -0
  2. package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -0
  3. package/package/aws-client-agent-mcp/dist/agent-client.js +602 -0
  4. package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -0
  5. package/package/aws-client-agent-mcp/dist/agent-client.test.d.ts +2 -0
  6. package/package/aws-client-agent-mcp/dist/agent-client.test.d.ts.map +1 -0
  7. package/package/aws-client-agent-mcp/dist/agent-client.test.js +534 -0
  8. package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +1 -0
  9. package/package/aws-client-agent-mcp/dist/config.d.ts +22 -0
  10. package/package/aws-client-agent-mcp/dist/config.d.ts.map +1 -0
  11. package/package/aws-client-agent-mcp/dist/config.js +106 -0
  12. package/package/aws-client-agent-mcp/dist/config.js.map +1 -0
  13. package/package/aws-client-agent-mcp/dist/config.test.d.ts +2 -0
  14. package/package/aws-client-agent-mcp/dist/config.test.d.ts.map +1 -0
  15. package/package/aws-client-agent-mcp/dist/config.test.js +139 -0
  16. package/package/aws-client-agent-mcp/dist/config.test.js.map +1 -0
  17. package/package/aws-client-agent-mcp/dist/constants.d.ts +15 -0
  18. package/package/aws-client-agent-mcp/dist/constants.d.ts.map +1 -0
  19. package/package/aws-client-agent-mcp/dist/constants.js +19 -0
  20. package/package/aws-client-agent-mcp/dist/constants.js.map +1 -0
  21. package/package/aws-client-agent-mcp/dist/http-client.d.ts +28 -0
  22. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -0
  23. package/package/aws-client-agent-mcp/dist/http-client.js +96 -0
  24. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -0
  25. package/package/aws-client-agent-mcp/dist/http-client.test.d.ts +2 -0
  26. package/package/aws-client-agent-mcp/dist/http-client.test.d.ts.map +1 -0
  27. package/package/aws-client-agent-mcp/dist/http-client.test.js +228 -0
  28. package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -0
  29. package/package/aws-client-agent-mcp/dist/index.d.ts +14 -0
  30. package/package/aws-client-agent-mcp/dist/index.d.ts.map +1 -0
  31. package/package/aws-client-agent-mcp/dist/index.js +30 -0
  32. package/package/aws-client-agent-mcp/dist/index.js.map +1 -0
  33. package/package/aws-client-agent-mcp/dist/logger.d.ts +7 -0
  34. package/package/aws-client-agent-mcp/dist/logger.d.ts.map +1 -0
  35. package/package/aws-client-agent-mcp/dist/logger.js +19 -0
  36. package/package/aws-client-agent-mcp/dist/logger.js.map +1 -0
  37. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +77 -0
  38. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -0
  39. package/package/aws-client-agent-mcp/dist/mcp-server.js +438 -0
  40. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -0
  41. package/package/aws-client-agent-mcp/dist/mcp-server.test.d.ts +2 -0
  42. package/package/aws-client-agent-mcp/dist/mcp-server.test.d.ts.map +1 -0
  43. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +624 -0
  44. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -0
  45. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +78 -0
  46. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -0
  47. package/package/aws-client-agent-mcp/dist/mcp-tools.js +420 -0
  48. package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -0
  49. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +61 -0
  50. package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -0
  51. package/package/aws-client-agent-mcp/dist/memory-store.js +268 -0
  52. package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -0
  53. package/package/aws-client-agent-mcp/dist/memory-store.test.d.ts +2 -0
  54. package/package/aws-client-agent-mcp/dist/memory-store.test.d.ts.map +1 -0
  55. package/package/aws-client-agent-mcp/dist/memory-store.test.js +164 -0
  56. package/package/aws-client-agent-mcp/dist/memory-store.test.js.map +1 -0
  57. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +87 -0
  58. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts.map +1 -0
  59. package/package/aws-client-agent-mcp/dist/message-buffer.js +185 -0
  60. package/package/aws-client-agent-mcp/dist/message-buffer.js.map +1 -0
  61. package/package/aws-client-agent-mcp/dist/message-buffer.test.d.ts +2 -0
  62. package/package/aws-client-agent-mcp/dist/message-buffer.test.d.ts.map +1 -0
  63. package/package/aws-client-agent-mcp/dist/message-buffer.test.js +44 -0
  64. package/package/aws-client-agent-mcp/dist/message-buffer.test.js.map +1 -0
  65. package/package/aws-client-agent-mcp/dist/messageContent.d.ts +53 -0
  66. package/package/aws-client-agent-mcp/dist/messageContent.d.ts.map +1 -0
  67. package/package/aws-client-agent-mcp/dist/messageContent.js +125 -0
  68. package/package/aws-client-agent-mcp/dist/messageContent.js.map +1 -0
  69. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts +3 -0
  70. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts.map +1 -0
  71. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js +50 -0
  72. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js.map +1 -0
  73. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.d.ts +2 -0
  74. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.d.ts.map +1 -0
  75. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js +90 -0
  76. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js.map +1 -0
  77. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +66 -0
  78. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +1 -0
  79. package/package/aws-client-agent-mcp/dist/status-reporter.js +237 -0
  80. package/package/aws-client-agent-mcp/dist/status-reporter.js.map +1 -0
  81. package/package/aws-client-agent-mcp/dist/status-reporter.test.d.ts +2 -0
  82. package/package/aws-client-agent-mcp/dist/status-reporter.test.d.ts.map +1 -0
  83. package/package/aws-client-agent-mcp/dist/status-reporter.test.js +19 -0
  84. package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +1 -0
  85. package/package/aws-client-agent-mcp/dist/types.d.ts +309 -0
  86. package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -0
  87. package/package/aws-client-agent-mcp/dist/types.js +9 -0
  88. package/package/aws-client-agent-mcp/dist/types.js.map +1 -0
  89. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +94 -0
  90. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -0
  91. package/package/aws-client-agent-mcp/dist/websocket-client.js +316 -0
  92. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -0
  93. package/package/aws-client-agent-mcp/dist/websocket-client.test.d.ts +2 -0
  94. package/package/aws-client-agent-mcp/dist/websocket-client.test.d.ts.map +1 -0
  95. package/package/aws-client-agent-mcp/dist/websocket-client.test.js +191 -0
  96. package/package/aws-client-agent-mcp/dist/websocket-client.test.js.map +1 -0
  97. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Agent 状态报告器
3
+ * 负责监听 Agent 动作并通过 WebSocket 报告状态
4
+ */
5
+ import { EventEmitter } from 'node:events';
6
+ import type { AgentStatusUpdate } from './types.js';
7
+ export interface StatusReporterConfig {
8
+ agentId: string;
9
+ sendStatusUpdate: (update: AgentStatusUpdate) => void;
10
+ }
11
+ /**
12
+ * Agent 状态报告器
13
+ * 监听 MCP 工具调用、文件操作等事件,生成细粒度状态更新
14
+ */
15
+ export declare class StatusReporter extends EventEmitter {
16
+ private config;
17
+ private currentStatus;
18
+ private currentAction;
19
+ constructor(config: StatusReporterConfig);
20
+ /**
21
+ * 报告 Agent 启动
22
+ */
23
+ reportStarting(): void;
24
+ /**
25
+ * 报告 Agent 运行中
26
+ */
27
+ reportRunning(): void;
28
+ /**
29
+ * 报告 Agent 等待输入
30
+ */
31
+ reportWaitingInput(): void;
32
+ /**
33
+ * 报告 Agent 思考中
34
+ */
35
+ reportThinking(): void;
36
+ /**
37
+ * 报告 Agent 停止
38
+ */
39
+ reportStopped(): void;
40
+ /**
41
+ * 报告 Agent 错误
42
+ */
43
+ reportError(): void;
44
+ /**
45
+ * 报告工具调用
46
+ */
47
+ reportToolUse(toolName: string, args?: Record<string, unknown>): void;
48
+ /**
49
+ * 解析工具名称和参数,生成动作信息
50
+ */
51
+ private static readonly KNOWN_MCP_TOOLS;
52
+ private parseToolAction;
53
+ /**
54
+ * 更新状态
55
+ */
56
+ private updateStatus;
57
+ /**
58
+ * 清除当前动作
59
+ */
60
+ private clearAction;
61
+ /**
62
+ * 获取当前状态
63
+ */
64
+ getCurrentStatus(): AgentStatusUpdate;
65
+ }
66
+ //# sourceMappingURL=status-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.d.ts","sourceRoot":"","sources":["../src/status-reporter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACvD;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,aAAa,CAA4E;gBAErF,MAAM,EAAE,oBAAoB;IAKxC;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAK1B;;OAEG;IACH,cAAc,IAAI,IAAI;IAKtB;;OAEG;IACH,aAAa,IAAI,IAAI;IAKrB;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKrE;;OAEG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAkBrC;IAEF,OAAO,CAAC,eAAe;IA4HvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,gBAAgB,IAAI,iBAAiB;CAUtC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Agent 状态报告器
3
+ * 负责监听 Agent 动作并通过 WebSocket 报告状态
4
+ */
5
+ import { EventEmitter } from 'node:events';
6
+ import { logger } from './logger.js';
7
+ /**
8
+ * Agent 状态报告器
9
+ * 监听 MCP 工具调用、文件操作等事件,生成细粒度状态更新
10
+ */
11
+ export class StatusReporter extends EventEmitter {
12
+ config;
13
+ currentStatus = 'stopped';
14
+ currentAction = null;
15
+ constructor(config) {
16
+ super();
17
+ this.config = config;
18
+ }
19
+ /**
20
+ * 报告 Agent 启动
21
+ */
22
+ reportStarting() {
23
+ this.updateStatus('starting');
24
+ }
25
+ /**
26
+ * 报告 Agent 运行中
27
+ */
28
+ reportRunning() {
29
+ this.updateStatus('running');
30
+ }
31
+ /**
32
+ * 报告 Agent 等待输入
33
+ */
34
+ reportWaitingInput() {
35
+ this.updateStatus('waiting_input');
36
+ this.clearAction();
37
+ }
38
+ /**
39
+ * 报告 Agent 思考中
40
+ */
41
+ reportThinking() {
42
+ this.updateStatus('thinking');
43
+ this.clearAction();
44
+ }
45
+ /**
46
+ * 报告 Agent 停止
47
+ */
48
+ reportStopped() {
49
+ this.updateStatus('stopped');
50
+ this.clearAction();
51
+ }
52
+ /**
53
+ * 报告 Agent 错误
54
+ */
55
+ reportError() {
56
+ this.updateStatus('error');
57
+ this.clearAction();
58
+ }
59
+ /**
60
+ * 报告工具调用
61
+ */
62
+ reportToolUse(toolName, args) {
63
+ const actionInfo = this.parseToolAction(toolName, args);
64
+ this.updateStatus('tool_using', actionInfo.type, actionInfo.label, actionInfo.detail);
65
+ }
66
+ /**
67
+ * 解析工具名称和参数,生成动作信息
68
+ */
69
+ // 已知的 MCP 工具白名单(与 SDK 端 aws-runtime-bridge/src/adapter/types.ts 保持一致)
70
+ static KNOWN_MCP_TOOLS = {
71
+ 'get_colleague': 'aws-mcp',
72
+ 'get_group_rooms': 'aws-mcp',
73
+ 'get_profile': 'aws-mcp',
74
+ 'get_status': 'aws-mcp',
75
+ 'hire_colleague': 'aws-mcp',
76
+ 'hire_colleagues_batch': 'aws-mcp',
77
+ 'send_group': 'aws-mcp',
78
+ 'send_private': 'aws-mcp',
79
+ 'poll_message': 'aws-mcp',
80
+ 'get_message': 'aws-mcp',
81
+ 'get_dm_history': 'aws-mcp',
82
+ 'get_group_history': 'aws-mcp',
83
+ 'my_task': 'aws-mcp',
84
+ 'start_task': 'aws-mcp',
85
+ 'submit_task_result': 'aws-mcp',
86
+ 'reject_task': 'aws-mcp',
87
+ 'terminate_task': 'aws-mcp',
88
+ };
89
+ parseToolAction(toolName, args) {
90
+ const lowerToolName = toolName.toLowerCase();
91
+ const exactToolName = lowerToolName.replace(/[_-]/g, '');
92
+ const firstString = (...values) => {
93
+ for (const value of values) {
94
+ if (typeof value === 'string' && value.trim()) {
95
+ return value;
96
+ }
97
+ if (Array.isArray(value) && value.length > 0) {
98
+ const first = value[0];
99
+ if (typeof first === 'string' && first.trim()) {
100
+ return first;
101
+ }
102
+ }
103
+ }
104
+ return undefined;
105
+ };
106
+ // Skill 调用
107
+ if (lowerToolName.includes('skill') || lowerToolName.includes('disclose')) {
108
+ return {
109
+ type: 'skill',
110
+ label: '调用Skill',
111
+ detail: args?.name ? String(args.name) : undefined
112
+ };
113
+ }
114
+ // MCP 工具调用(优先匹配已知 MCP 工具白名单)
115
+ const mcpServer = StatusReporter.KNOWN_MCP_TOOLS[toolName];
116
+ if (mcpServer) {
117
+ return {
118
+ type: 'mcp',
119
+ label: '调用MCP',
120
+ detail: `${mcpServer}/${toolName}`
121
+ };
122
+ }
123
+ // MCP 工具调用(通过名称前缀匹配)
124
+ if (lowerToolName.startsWith('mcp_') || lowerToolName.includes('_mcp_')) {
125
+ const mcpToolName = toolName.replace(/^mcp_/, '').replace(/_/g, ' ');
126
+ return {
127
+ type: 'mcp',
128
+ label: '调用MCP',
129
+ detail: mcpToolName
130
+ };
131
+ }
132
+ // MCP 工具调用(通过名称中包含 -mcp__ 前缀匹配,如 aws-mcp__poll_message)
133
+ if (lowerToolName.includes('-mcp__')) {
134
+ const parts = toolName.split('__');
135
+ const serverPart = parts[0];
136
+ const toolPart = parts.slice(1).join('__');
137
+ return {
138
+ type: 'mcp',
139
+ label: '调用MCP',
140
+ detail: `${serverPart}/${toolPart}`
141
+ };
142
+ }
143
+ // 文件编辑
144
+ if (exactToolName === 'edit' || exactToolName === 'editfile' || exactToolName === 'strreplace' || exactToolName === 'editcode' || exactToolName === 'applypatch' || exactToolName === 'multiedit') {
145
+ return {
146
+ type: 'edit_file',
147
+ label: '编辑文件',
148
+ detail: firstString(args?.path, args?.file_path, args?.filePath, args?.target_file, args?.targetFile)
149
+ };
150
+ }
151
+ // 文件写入
152
+ if (exactToolName === 'write' || exactToolName === 'writefile' || exactToolName === 'fswrite') {
153
+ return {
154
+ type: 'write_file',
155
+ label: '写入文件',
156
+ detail: firstString(args?.path, args?.file_path, args?.filePath, args?.target_file, args?.targetFile)
157
+ };
158
+ }
159
+ // 文件读取
160
+ if (exactToolName === 'read' || exactToolName === 'readfile' || exactToolName === 'readcode' || exactToolName === 'readmultiplefiles') {
161
+ return {
162
+ type: 'read_file',
163
+ label: '读取文件',
164
+ detail: firstString(args?.path, args?.file_path, args?.filePath, args?.paths, args?.target_file, args?.targetFile)
165
+ };
166
+ }
167
+ // 命令执行
168
+ if (exactToolName === 'bash' || exactToolName === 'execute' || exactToolName === 'shell' || exactToolName === 'pwsh' || exactToolName === 'executepwsh' || exactToolName === 'controlpwshprocess' || exactToolName === 'runcommand') {
169
+ return {
170
+ type: 'bash',
171
+ label: '执行命令',
172
+ detail: firstString(args?.command, args?.cmd, args?.argv)?.substring(0, 50)
173
+ };
174
+ }
175
+ // 文件搜索
176
+ if (exactToolName === 'search' || exactToolName === 'grep' || exactToolName === 'find' || exactToolName === 'glob' || exactToolName === 'grepsearch' || exactToolName === 'filesearch') {
177
+ return {
178
+ type: 'search',
179
+ label: '搜索文件',
180
+ detail: args?.query ? String(args.query) : undefined
181
+ };
182
+ }
183
+ // 网络请求
184
+ if (lowerToolName.includes('web') || lowerToolName.includes('fetch') || lowerToolName.includes('http')) {
185
+ return {
186
+ type: 'web',
187
+ label: '网络请求',
188
+ detail: args?.url ? String(args.url) : undefined
189
+ };
190
+ }
191
+ // 默认工具调用
192
+ return {
193
+ type: 'tool_using',
194
+ label: '调用工具',
195
+ detail: toolName
196
+ };
197
+ }
198
+ /**
199
+ * 更新状态
200
+ */
201
+ updateStatus(status, actionType, actionLabel, actionDetail) {
202
+ this.currentStatus = status;
203
+ if (actionType) {
204
+ this.currentAction = { type: actionType, label: actionLabel, detail: actionDetail };
205
+ }
206
+ const update = {
207
+ agentId: this.config.agentId,
208
+ status,
209
+ actionType: this.currentAction?.type,
210
+ actionLabel: this.currentAction?.label,
211
+ actionDetail: this.currentAction?.detail,
212
+ timestamp: new Date().toISOString()
213
+ };
214
+ logger.info(`[StatusReporter] 状态更新: ${status}${actionLabel ? ` - ${actionLabel}` : ''}`);
215
+ this.config.sendStatusUpdate(update);
216
+ }
217
+ /**
218
+ * 清除当前动作
219
+ */
220
+ clearAction() {
221
+ this.currentAction = null;
222
+ }
223
+ /**
224
+ * 获取当前状态
225
+ */
226
+ getCurrentStatus() {
227
+ return {
228
+ agentId: this.config.agentId,
229
+ status: this.currentStatus,
230
+ actionType: this.currentAction?.type,
231
+ actionLabel: this.currentAction?.label,
232
+ actionDetail: this.currentAction?.detail,
233
+ timestamp: new Date().toISOString()
234
+ };
235
+ }
236
+ }
237
+ //# sourceMappingURL=status-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.js","sourceRoot":"","sources":["../src/status-reporter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IACtC,MAAM,CAAuB;IAC7B,aAAa,GAAgC,SAAS,CAAC;IACvD,aAAa,GAAuE,IAAI,CAAC;IAEjG,YAAY,MAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB,EAAE,IAA8B;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,sEAAsE;IAC9D,MAAM,CAAU,eAAe,GAA2B;QAChE,eAAe,EAAE,SAAS;QAC1B,iBAAiB,EAAE,SAAS;QAC5B,aAAa,EAAE,SAAS;QACxB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,SAAS;QAC3B,uBAAuB,EAAE,SAAS;QAClC,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,SAAS;QACxB,gBAAgB,EAAE,SAAS;QAC3B,mBAAmB,EAAE,SAAS;QAC9B,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;QAC/B,aAAa,EAAE,SAAS;QACxB,gBAAgB,EAAE,SAAS;KAC5B,CAAC;IAEM,eAAe,CACrB,QAAgB,EAChB,IAA8B;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,CAAC,GAAG,MAAiB,EAAsB,EAAE;YAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9C,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC9C,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,WAAW;QACX,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aACnD,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,GAAG,SAAS,IAAI,QAAQ,EAAE;aACnC,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,EAAE;aACpC,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;YAClM,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC;aACtG,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9F,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC;aACtG,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;YACtI,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC;aACnH,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,aAAa,IAAI,aAAa,KAAK,oBAAoB,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACpO,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACvL,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACrD,CAAC;QACJ,CAAC;QAED,OAAO;QACP,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvG,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aACjD,CAAC;QACJ,CAAC;QAED,SAAS;QACT,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,QAAQ;SACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,MAAmC,EACnC,UAA4B,EAC5B,WAAoB,EACpB,YAAqB;QAErB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACtF,CAAC;QAED,MAAM,MAAM,GAAsB;YAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;YACpC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK;YACtC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM;YACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;YACpC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK;YACtC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM;YACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=status-reporter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.test.d.ts","sourceRoot":"","sources":["../src/status-reporter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import assert from "node:assert/strict";
2
+ import { describe, it } from "node:test";
3
+ import { StatusReporter } from "./status-reporter.js";
4
+ describe("StatusReporter tool action mapping", () => {
5
+ it("reports poll_message as a normal aws-mcp tool call", () => {
6
+ const updates = [];
7
+ const reporter = new StatusReporter({
8
+ agentId: "agent-self",
9
+ sendStatusUpdate: (update) => updates.push(update),
10
+ });
11
+ reporter.reportToolUse("poll_message", {});
12
+ assert.equal(updates.length, 1);
13
+ assert.equal(updates[0]?.status, "tool_using");
14
+ assert.equal(updates[0]?.actionType, "mcp");
15
+ assert.equal(updates[0]?.actionLabel, "调用MCP");
16
+ assert.equal(updates[0]?.actionDetail, "aws-mcp/poll_message");
17
+ });
18
+ });
19
+ //# sourceMappingURL=status-reporter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-reporter.test.js","sourceRoot":"","sources":["../src/status-reporter.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAClC,OAAO,EAAE,YAAY;YACrB,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;SACnD,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Agent MCP Client 类型定义
3
+ */
4
+ export interface AgentConfig {
5
+ roleName: string;
6
+ agentId?: string;
7
+ projectName: string;
8
+ workspacePath: string;
9
+ prompt: string;
10
+ describe: string;
11
+ }
12
+ /**
13
+ * YAML 角色配置
14
+ */
15
+ export interface YmlAgentRole {
16
+ name: string;
17
+ path: string;
18
+ project: string;
19
+ description: string;
20
+ prompt: string;
21
+ mcp?: {
22
+ "wait-reply-timeout-ms"?: number;
23
+ "timeout-default-message"?: string;
24
+ [key: string]: unknown;
25
+ };
26
+ }
27
+ export interface ServerConfig {
28
+ serverUrl: string;
29
+ heartbeatInterval: number;
30
+ heartbeatTimeout?: number;
31
+ reconnectInterval: number;
32
+ /**
33
+ * 最大重连次数。
34
+ * -1 表示无限重试。
35
+ */
36
+ maxReconnectAttempts: number;
37
+ internalApiKey?: string;
38
+ /**
39
+ * 调度器下发给 runtime bridge 的访问令牌,MCP HTTP 调用会随请求携带。
40
+ */
41
+ runtimeAccessToken?: string;
42
+ /**
43
+ * 运行时令牌归属用户 ID,用于 bridge 按 userId + serverIp 读取本地令牌。
44
+ */
45
+ userId?: string;
46
+ /**
47
+ * 当前机器 runtime-bridge 地址;当 runtimeAccessToken 缺失时用于向 bridge 申请。
48
+ */
49
+ runtimeBridgeBaseUrl?: string;
50
+ /**
51
+ * 可选:MCP HTTP 调用地址。
52
+ * 支持完整地址(推荐),若仅提供主机地址会自动补全为 /mcp/call。
53
+ */
54
+ mcpHttpUrl?: string;
55
+ }
56
+ export interface RuntimeLaunchBinding {
57
+ ok?: boolean;
58
+ agentId?: string;
59
+ workspacePath?: string;
60
+ runtimeAccessToken?: string;
61
+ userId?: string;
62
+ schedulerBaseUrl?: string;
63
+ serverUrl?: string;
64
+ mcpHttpUrl?: string;
65
+ bindingId?: string;
66
+ }
67
+ export interface RegisterResult {
68
+ agentId: string;
69
+ displayName: string;
70
+ status: string;
71
+ instanceName?: string;
72
+ projectName?: string;
73
+ workspacePath?: string;
74
+ runtimeStatus?: string;
75
+ runtimeSessionId?: string | null;
76
+ }
77
+ export interface OnlineUser {
78
+ id: string;
79
+ displayName?: string;
80
+ nickname: string;
81
+ onlineSince: string;
82
+ }
83
+ export interface OnlineAgent {
84
+ id: string;
85
+ displayName: string;
86
+ roleName: string;
87
+ projectName?: string;
88
+ prompt: string;
89
+ onlineSince: string;
90
+ }
91
+ export interface OnlineListResponse {
92
+ humans: OnlineUser[];
93
+ agents: OnlineAgent[];
94
+ }
95
+ export interface GroupRoomInfo {
96
+ id: string;
97
+ projectName: string;
98
+ roomType: "project" | "inner_group" | string;
99
+ scopeRefId: string;
100
+ name: string;
101
+ memberUserIds: string[];
102
+ }
103
+ export interface GroupRoomsResponse {
104
+ groups: GroupRoomInfo[];
105
+ }
106
+ export interface GroupMessage {
107
+ msgId: number;
108
+ senderId: string;
109
+ senderName: string;
110
+ projectName?: string;
111
+ roomId?: string;
112
+ content: string;
113
+ timestamp: string;
114
+ }
115
+ export interface GroupMessagesResponse {
116
+ messages: GroupMessage[];
117
+ currentReadPos: number;
118
+ hasMore: boolean;
119
+ }
120
+ export interface DirectMessage {
121
+ msgId: string;
122
+ callId?: string;
123
+ senderId: string;
124
+ senderName: string;
125
+ receiverId?: string;
126
+ content: string;
127
+ requireReply: boolean;
128
+ prompt?: string;
129
+ timestamp: string;
130
+ }
131
+ export interface DirectMessagesResponse {
132
+ messages: DirectMessage[];
133
+ }
134
+ export interface DmHistoryResponse {
135
+ messages: DirectMessage[];
136
+ count: number;
137
+ }
138
+ export interface GroupHistoryResponse {
139
+ messages: GroupMessage[];
140
+ count: number;
141
+ }
142
+ export interface UnreadMessagesResult {
143
+ directMessages: DirectMessage[];
144
+ groupMessages: GroupMessage[];
145
+ }
146
+ export interface SendMessageResult {
147
+ msgId: string | number;
148
+ timestamp: string;
149
+ }
150
+ export interface SendDmResult {
151
+ msgId?: string;
152
+ timestamp?: string;
153
+ reply?: DirectMessage;
154
+ }
155
+ export interface WebSocketMessage<T = unknown> {
156
+ type: "GROUP_MSG" | "DM_MSG" | "ONLINE_CHANGE" | "DM_REPLY" | "HEARTBEAT" | "PROFILE_INFO" | "AGENT_STATUS";
157
+ data: T;
158
+ timestamp: string;
159
+ }
160
+ /**
161
+ * PROFILE_INFO 消息类型
162
+ * 用于在 Agent 连接时自动推送 profile 信息
163
+ */
164
+ export declare const TYPE_PROFILE_INFO = "PROFILE_INFO";
165
+ export type MessageHandler = (message: DirectMessage | GroupMessage) => Promise<string | undefined>;
166
+ export interface AgentState {
167
+ agentId: string | null;
168
+ displayName: string | null;
169
+ isConnected: boolean;
170
+ isRegistered: boolean;
171
+ }
172
+ export interface ProfileInfo {
173
+ id: string;
174
+ displayName: string;
175
+ roleName: string;
176
+ instanceName?: string;
177
+ projectName?: string;
178
+ workspacePath?: string;
179
+ prompt: string;
180
+ globalAgentPrompt?: string;
181
+ defaultCli?: string;
182
+ describe?: string;
183
+ isOnline: boolean;
184
+ runtimeStatus?: string;
185
+ runtimeSessionId?: string | null;
186
+ onlineSince: string | null;
187
+ createdAt: string;
188
+ }
189
+ export interface HireColleagueArgs {
190
+ projectName?: string;
191
+ roleName?: string;
192
+ newRoleName?: string;
193
+ displayName?: string;
194
+ prompt?: string;
195
+ workspacePath: string;
196
+ myYmlPath?: string;
197
+ myYmlContent?: string;
198
+ runtimeSkillEnabled?: boolean;
199
+ runtimeMcpEnabled?: boolean;
200
+ runtimeCcSwitchEnabledTools?: string;
201
+ }
202
+ export interface HireColleagueBatchItem extends HireColleagueArgs {
203
+ }
204
+ export interface HireColleaguesBatchArgs {
205
+ projectName?: string;
206
+ items: HireColleagueBatchItem[];
207
+ }
208
+ export interface HiredColleagueResult {
209
+ id: string;
210
+ nickname?: string;
211
+ displayName: string;
212
+ roleName: string;
213
+ projectName?: string;
214
+ workspacePath?: string;
215
+ runtimeBridgeBaseUrl?: string;
216
+ prompt?: string;
217
+ isOnline?: boolean;
218
+ runtimeStatus?: string;
219
+ runtimeSessionId?: string | null;
220
+ runtimeCliCommand?: string;
221
+ runtimeIdleInputAutoCommand?: string;
222
+ runtimeNonInputAutoCommand?: string;
223
+ myYmlPath?: string;
224
+ myYmlContent?: string;
225
+ runtimeSkillEnabled?: boolean;
226
+ runtimeMcpEnabled?: boolean;
227
+ runtimeCcSwitchEnabledTools?: string;
228
+ }
229
+ export type HireBatchDecisionStatus = "APPROVED" | "REJECTED";
230
+ export type HireBatchItemStatus = "CREATED" | "REJECTED" | "CREATE_FAILED";
231
+ export interface HireBatchDecision {
232
+ itemId: string;
233
+ approved: boolean;
234
+ reason?: string;
235
+ }
236
+ export interface HireBatchSummary {
237
+ total: number;
238
+ approved: number;
239
+ rejected: number;
240
+ created: number;
241
+ failed: number;
242
+ }
243
+ export interface HireBatchItemResult {
244
+ itemId: string;
245
+ decision: HireBatchDecisionStatus;
246
+ status: HireBatchItemStatus;
247
+ reason?: string;
248
+ createdAgent?: HiredColleagueResult;
249
+ }
250
+ export interface HireBatchResult {
251
+ batchId: string;
252
+ projectName?: string;
253
+ summary: HireBatchSummary;
254
+ results: HireBatchItemResult[];
255
+ }
256
+ /** MCP 工具名称枚举 */
257
+ export type McpToolName = "get_colleague" | "get_group_rooms" | "get_profile" | "get_status" | "hire_colleague" | "hire_colleagues_batch" | "send_group" | "send_private" | "poll_message" | "get_message" | "get_dm_history" | "get_group_history" | "start_listening" | "stop_listening";
258
+ /** send_private 工具参数 */
259
+ export interface SendPrivateArgs {
260
+ targetId: string;
261
+ content: string;
262
+ waitReply?: boolean;
263
+ replyToCallId?: string;
264
+ timeoutMs?: number;
265
+ }
266
+ /** send_group 工具参数 */
267
+ export interface SendGroupArgs {
268
+ content: string;
269
+ projectName?: string;
270
+ roomId?: string;
271
+ }
272
+ /** get_dm_history 工具参数 */
273
+ export interface GetDmHistoryArgs {
274
+ targetUserId?: string;
275
+ limit?: number;
276
+ since?: string;
277
+ }
278
+ /** get_group_history 工具参数 */
279
+ export interface GetGroupHistoryArgs {
280
+ roomId?: string;
281
+ limit?: number;
282
+ since?: string;
283
+ }
284
+ /** poll_message 返回结果 */
285
+ export interface PollMessageResult {
286
+ directMessages: DirectMessage[];
287
+ groupMessages: GroupMessage[];
288
+ fromBuffer: boolean;
289
+ }
290
+ /** Agent 运行状态 */
291
+ export interface AgentRuntimeState {
292
+ agentId: string | null;
293
+ displayName: string | null;
294
+ projectName: string | null;
295
+ isConnected: boolean;
296
+ isRunning: boolean;
297
+ }
298
+ /** Agent 动作类型 */
299
+ export type AgentActionType = "skill" | "mcp" | "idle" | "edit_file" | "write_file" | "read_file" | "bash" | "search" | "web" | "thinking" | "tool_using";
300
+ /** Agent 状态更新消息 */
301
+ export interface AgentStatusUpdate {
302
+ agentId: string;
303
+ status: "running" | "starting" | "waiting_input" | "thinking" | "tool_using" | "stopped" | "error";
304
+ actionType?: AgentActionType;
305
+ actionLabel?: string;
306
+ actionDetail?: string;
307
+ timestamp: string;
308
+ }
309
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}