@claude-flow/cli 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (263) hide show
  1. package/README.md +172 -6
  2. package/bin/cli.js +0 -0
  3. package/dist/src/commands/agent.d.ts.map +1 -1
  4. package/dist/src/commands/agent.js +43 -27
  5. package/dist/src/commands/agent.js.map +1 -1
  6. package/dist/src/commands/analyze.d.ts +19 -0
  7. package/dist/src/commands/analyze.d.ts.map +1 -0
  8. package/dist/src/commands/analyze.js +1823 -0
  9. package/dist/src/commands/analyze.js.map +1 -0
  10. package/dist/src/commands/claims.d.ts +10 -0
  11. package/dist/src/commands/claims.d.ts.map +1 -0
  12. package/dist/src/commands/claims.js +288 -0
  13. package/dist/src/commands/claims.js.map +1 -0
  14. package/dist/src/commands/completions.d.ts +10 -0
  15. package/dist/src/commands/completions.d.ts.map +1 -0
  16. package/dist/src/commands/completions.js +539 -0
  17. package/dist/src/commands/completions.js.map +1 -0
  18. package/dist/src/commands/config.js +2 -2
  19. package/dist/src/commands/config.js.map +1 -1
  20. package/dist/src/commands/daemon.d.ts +8 -0
  21. package/dist/src/commands/daemon.d.ts.map +1 -0
  22. package/dist/src/commands/daemon.js +545 -0
  23. package/dist/src/commands/daemon.js.map +1 -0
  24. package/dist/src/commands/deployment.d.ts +10 -0
  25. package/dist/src/commands/deployment.d.ts.map +1 -0
  26. package/dist/src/commands/deployment.js +289 -0
  27. package/dist/src/commands/deployment.js.map +1 -0
  28. package/dist/src/commands/doctor.d.ts +10 -0
  29. package/dist/src/commands/doctor.d.ts.map +1 -0
  30. package/dist/src/commands/doctor.js +429 -0
  31. package/dist/src/commands/doctor.js.map +1 -0
  32. package/dist/src/commands/embeddings.d.ts +18 -0
  33. package/dist/src/commands/embeddings.d.ts.map +1 -0
  34. package/dist/src/commands/embeddings.js +616 -0
  35. package/dist/src/commands/embeddings.js.map +1 -0
  36. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  37. package/dist/src/commands/hive-mind.js +252 -35
  38. package/dist/src/commands/hive-mind.js.map +1 -1
  39. package/dist/src/commands/hooks.d.ts.map +1 -1
  40. package/dist/src/commands/hooks.js +326 -2
  41. package/dist/src/commands/hooks.js.map +1 -1
  42. package/dist/src/commands/index.d.ts +13 -0
  43. package/dist/src/commands/index.d.ts.map +1 -1
  44. package/dist/src/commands/index.js +52 -1
  45. package/dist/src/commands/index.js.map +1 -1
  46. package/dist/src/commands/mcp.js +4 -4
  47. package/dist/src/commands/mcp.js.map +1 -1
  48. package/dist/src/commands/memory.d.ts.map +1 -1
  49. package/dist/src/commands/memory.js +236 -170
  50. package/dist/src/commands/memory.js.map +1 -1
  51. package/dist/src/commands/migrate.js +1 -1
  52. package/dist/src/commands/migrate.js.map +1 -1
  53. package/dist/src/commands/neural.d.ts +10 -0
  54. package/dist/src/commands/neural.d.ts.map +1 -0
  55. package/dist/src/commands/neural.js +224 -0
  56. package/dist/src/commands/neural.js.map +1 -0
  57. package/dist/src/commands/performance.d.ts +10 -0
  58. package/dist/src/commands/performance.d.ts.map +1 -0
  59. package/dist/src/commands/performance.js +262 -0
  60. package/dist/src/commands/performance.js.map +1 -0
  61. package/dist/src/commands/plugins.d.ts +10 -0
  62. package/dist/src/commands/plugins.d.ts.map +1 -0
  63. package/dist/src/commands/plugins.js +280 -0
  64. package/dist/src/commands/plugins.js.map +1 -0
  65. package/dist/src/commands/process.d.ts.map +1 -1
  66. package/dist/src/commands/process.js +95 -20
  67. package/dist/src/commands/process.js.map +1 -1
  68. package/dist/src/commands/providers.d.ts +10 -0
  69. package/dist/src/commands/providers.d.ts.map +1 -0
  70. package/dist/src/commands/providers.js +232 -0
  71. package/dist/src/commands/providers.js.map +1 -0
  72. package/dist/src/commands/route.d.ts +16 -0
  73. package/dist/src/commands/route.d.ts.map +1 -0
  74. package/dist/src/commands/route.js +603 -0
  75. package/dist/src/commands/route.js.map +1 -0
  76. package/dist/src/commands/security.d.ts +10 -0
  77. package/dist/src/commands/security.d.ts.map +1 -0
  78. package/dist/src/commands/security.js +261 -0
  79. package/dist/src/commands/security.js.map +1 -0
  80. package/dist/src/commands/start.js +2 -2
  81. package/dist/src/commands/start.js.map +1 -1
  82. package/dist/src/commands/status.d.ts.map +1 -1
  83. package/dist/src/commands/status.js +26 -2
  84. package/dist/src/commands/status.js.map +1 -1
  85. package/dist/src/commands/swarm.js +6 -6
  86. package/dist/src/commands/swarm.js.map +1 -1
  87. package/dist/src/index.d.ts +4 -2
  88. package/dist/src/index.d.ts.map +1 -1
  89. package/dist/src/index.js +63 -5
  90. package/dist/src/index.js.map +1 -1
  91. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  92. package/dist/src/init/claudemd-generator.js +218 -362
  93. package/dist/src/init/claudemd-generator.js.map +1 -1
  94. package/dist/src/init/executor.d.ts.map +1 -1
  95. package/dist/src/init/executor.js +5 -0
  96. package/dist/src/init/executor.js.map +1 -1
  97. package/dist/src/init/settings-generator.d.ts.map +1 -1
  98. package/dist/src/init/settings-generator.js +22 -12
  99. package/dist/src/init/settings-generator.js.map +1 -1
  100. package/dist/src/mcp-client.d.ts.map +1 -1
  101. package/dist/src/mcp-client.js +17 -1
  102. package/dist/src/mcp-client.js.map +1 -1
  103. package/dist/src/mcp-server.d.ts.map +1 -1
  104. package/dist/src/mcp-server.js +5 -0
  105. package/dist/src/mcp-server.js.map +1 -1
  106. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  107. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  108. package/dist/src/mcp-tools/agent-tools.js +350 -14
  109. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  110. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  111. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
  112. package/dist/src/mcp-tools/analyze-tools.js +317 -0
  113. package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
  114. package/dist/src/mcp-tools/config-tools.d.ts +1 -1
  115. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  116. package/dist/src/mcp-tools/config-tools.js +262 -15
  117. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  118. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  119. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  120. package/dist/src/mcp-tools/hive-mind-tools.js +447 -0
  121. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  122. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  123. package/dist/src/mcp-tools/hooks-tools.js +80 -15
  124. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  125. package/dist/src/mcp-tools/index.d.ts +6 -0
  126. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  127. package/dist/src/mcp-tools/index.js +6 -0
  128. package/dist/src/mcp-tools/index.js.map +1 -1
  129. package/dist/src/mcp-tools/memory-tools.d.ts +1 -1
  130. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  131. package/dist/src/mcp-tools/memory-tools.js +157 -9
  132. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  133. package/dist/src/mcp-tools/session-tools.d.ts +8 -0
  134. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -0
  135. package/dist/src/mcp-tools/session-tools.js +315 -0
  136. package/dist/src/mcp-tools/session-tools.js.map +1 -0
  137. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  138. package/dist/src/mcp-tools/swarm-tools.js +37 -2
  139. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  140. package/dist/src/mcp-tools/task-tools.d.ts +8 -0
  141. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -0
  142. package/dist/src/mcp-tools/task-tools.js +302 -0
  143. package/dist/src/mcp-tools/task-tools.js.map +1 -0
  144. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  145. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  146. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  147. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  148. package/dist/src/output.d.ts +16 -0
  149. package/dist/src/output.d.ts.map +1 -1
  150. package/dist/src/output.js +42 -0
  151. package/dist/src/output.js.map +1 -1
  152. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  153. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  154. package/dist/src/ruvector/ast-analyzer.js +277 -0
  155. package/dist/src/ruvector/ast-analyzer.js.map +1 -0
  156. package/dist/src/ruvector/coverage-router.d.ts +145 -0
  157. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  158. package/dist/src/ruvector/coverage-router.js +451 -0
  159. package/dist/src/ruvector/coverage-router.js.map +1 -0
  160. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  161. package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
  162. package/dist/src/ruvector/coverage-tools.js +157 -0
  163. package/dist/src/ruvector/coverage-tools.js.map +1 -0
  164. package/dist/src/ruvector/diff-classifier.d.ts +154 -0
  165. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  166. package/dist/src/ruvector/diff-classifier.js +508 -0
  167. package/dist/src/ruvector/diff-classifier.js.map +1 -0
  168. package/dist/src/ruvector/graph-analyzer.d.ts +174 -0
  169. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  170. package/dist/src/ruvector/graph-analyzer.js +878 -0
  171. package/dist/src/ruvector/graph-analyzer.js.map +1 -0
  172. package/dist/src/ruvector/index.d.ts +27 -0
  173. package/dist/src/ruvector/index.d.ts.map +1 -0
  174. package/dist/src/ruvector/index.js +47 -0
  175. package/dist/src/ruvector/index.js.map +1 -0
  176. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  177. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  178. package/dist/src/ruvector/q-learning-router.js +681 -0
  179. package/dist/src/ruvector/q-learning-router.js.map +1 -0
  180. package/dist/src/ruvector/vector-db.d.ts +69 -0
  181. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  182. package/dist/src/ruvector/vector-db.js +243 -0
  183. package/dist/src/ruvector/vector-db.js.map +1 -0
  184. package/dist/src/services/index.d.ts +7 -0
  185. package/dist/src/services/index.d.ts.map +1 -0
  186. package/dist/src/services/index.js +6 -0
  187. package/dist/src/services/index.js.map +1 -0
  188. package/dist/src/services/worker-daemon.d.ts +153 -0
  189. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  190. package/dist/src/services/worker-daemon.js +567 -0
  191. package/dist/src/services/worker-daemon.js.map +1 -0
  192. package/dist/src/suggest.d.ts +53 -0
  193. package/dist/src/suggest.d.ts.map +1 -0
  194. package/dist/src/suggest.js +200 -0
  195. package/dist/src/suggest.js.map +1 -0
  196. package/dist/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +28 -6
  198. package/.agentic-flow/intelligence.json +0 -16
  199. package/.claude-flow/metrics/agent-metrics.json +0 -1
  200. package/.claude-flow/metrics/performance.json +0 -87
  201. package/.claude-flow/metrics/task-metrics.json +0 -10
  202. package/__tests__/README.md +0 -140
  203. package/__tests__/TEST_SUMMARY.md +0 -144
  204. package/__tests__/cli.test.ts +0 -558
  205. package/__tests__/commands.test.ts +0 -726
  206. package/__tests__/config-adapter.test.ts +0 -362
  207. package/__tests__/config-loading.test.ts +0 -106
  208. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  209. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  210. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  211. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  212. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  213. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  214. package/__tests__/mcp-client.test.ts +0 -480
  215. package/__tests__/p1-commands.test.ts +0 -1064
  216. package/docs/CONFIG_LOADING.md +0 -236
  217. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  218. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  219. package/docs/REFACTORING_SUMMARY.md +0 -247
  220. package/src/commands/agent.ts +0 -941
  221. package/src/commands/config.ts +0 -452
  222. package/src/commands/hive-mind.ts +0 -762
  223. package/src/commands/hooks.ts +0 -2603
  224. package/src/commands/index.ts +0 -115
  225. package/src/commands/init.ts +0 -597
  226. package/src/commands/mcp.ts +0 -753
  227. package/src/commands/memory.ts +0 -1063
  228. package/src/commands/migrate.ts +0 -447
  229. package/src/commands/process.ts +0 -617
  230. package/src/commands/session.ts +0 -891
  231. package/src/commands/start.ts +0 -457
  232. package/src/commands/status.ts +0 -705
  233. package/src/commands/swarm.ts +0 -648
  234. package/src/commands/task.ts +0 -792
  235. package/src/commands/workflow.ts +0 -742
  236. package/src/config-adapter.ts +0 -210
  237. package/src/index.ts +0 -383
  238. package/src/infrastructure/in-memory-repositories.ts +0 -310
  239. package/src/init/claudemd-generator.ts +0 -631
  240. package/src/init/executor.ts +0 -756
  241. package/src/init/helpers-generator.ts +0 -628
  242. package/src/init/index.ts +0 -60
  243. package/src/init/mcp-generator.ts +0 -83
  244. package/src/init/settings-generator.ts +0 -274
  245. package/src/init/statusline-generator.ts +0 -211
  246. package/src/init/types.ts +0 -447
  247. package/src/mcp-client.ts +0 -227
  248. package/src/mcp-server.ts +0 -571
  249. package/src/mcp-tools/agent-tools.ts +0 -92
  250. package/src/mcp-tools/config-tools.ts +0 -88
  251. package/src/mcp-tools/hooks-tools.ts +0 -1819
  252. package/src/mcp-tools/index.ts +0 -12
  253. package/src/mcp-tools/memory-tools.ts +0 -89
  254. package/src/mcp-tools/swarm-tools.ts +0 -69
  255. package/src/mcp-tools/types.ts +0 -33
  256. package/src/output.ts +0 -593
  257. package/src/parser.ts +0 -417
  258. package/src/prompt.ts +0 -619
  259. package/src/types.ts +0 -287
  260. package/tmp.json +0 -0
  261. package/tsconfig.json +0 -16
  262. package/tsconfig.tsbuildinfo +0 -1
  263. package/vitest.config.ts +0 -13
@@ -1,8 +1,43 @@
1
1
  /**
2
2
  * Agent MCP Tools for CLI
3
3
  *
4
- * Tool definitions for agent lifecycle management.
4
+ * Tool definitions for agent lifecycle management with file persistence.
5
5
  */
6
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ // Storage paths
9
+ const STORAGE_DIR = '.claude-flow';
10
+ const AGENT_DIR = 'agents';
11
+ const AGENT_FILE = 'store.json';
12
+ function getAgentDir() {
13
+ return join(process.cwd(), STORAGE_DIR, AGENT_DIR);
14
+ }
15
+ function getAgentPath() {
16
+ return join(getAgentDir(), AGENT_FILE);
17
+ }
18
+ function ensureAgentDir() {
19
+ const dir = getAgentDir();
20
+ if (!existsSync(dir)) {
21
+ mkdirSync(dir, { recursive: true });
22
+ }
23
+ }
24
+ function loadAgentStore() {
25
+ try {
26
+ const path = getAgentPath();
27
+ if (existsSync(path)) {
28
+ const data = readFileSync(path, 'utf-8');
29
+ return JSON.parse(data);
30
+ }
31
+ }
32
+ catch {
33
+ // Return empty store on error
34
+ }
35
+ return { agents: {}, version: '3.0.0' };
36
+ }
37
+ function saveAgentStore(store) {
38
+ ensureAgentDir();
39
+ writeFileSync(getAgentPath(), JSON.stringify(store, null, 2), 'utf-8');
40
+ }
6
41
  export const agentTools = [
7
42
  {
8
43
  name: 'agent/spawn',
@@ -14,16 +49,31 @@ export const agentTools = [
14
49
  agentType: { type: 'string', description: 'Type of agent to spawn' },
15
50
  agentId: { type: 'string', description: 'Optional custom agent ID' },
16
51
  config: { type: 'object', description: 'Agent configuration' },
52
+ domain: { type: 'string', description: 'Agent domain' },
17
53
  },
18
54
  required: ['agentType'],
19
55
  },
20
56
  handler: async (input) => {
21
- // Stub implementation - actual coordinator integration at runtime
57
+ const store = loadAgentStore();
58
+ const agentId = input.agentId || `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
59
+ const agent = {
60
+ agentId,
61
+ agentType: input.agentType,
62
+ status: 'idle',
63
+ health: 1.0,
64
+ taskCount: 0,
65
+ config: input.config || {},
66
+ createdAt: new Date().toISOString(),
67
+ domain: input.domain,
68
+ };
69
+ store.agents[agentId] = agent;
70
+ saveAgentStore(store);
22
71
  return {
23
72
  success: true,
24
- agentId: input.agentId || `agent-${Date.now()}`,
25
- agentType: input.agentType,
73
+ agentId,
74
+ agentType: agent.agentType,
26
75
  status: 'spawned',
76
+ createdAt: agent.createdAt,
27
77
  };
28
78
  },
29
79
  },
@@ -40,10 +90,22 @@ export const agentTools = [
40
90
  required: ['agentId'],
41
91
  },
42
92
  handler: async (input) => {
93
+ const store = loadAgentStore();
94
+ const agentId = input.agentId;
95
+ if (store.agents[agentId]) {
96
+ store.agents[agentId].status = 'terminated';
97
+ saveAgentStore(store);
98
+ return {
99
+ success: true,
100
+ agentId,
101
+ terminated: true,
102
+ terminatedAt: new Date().toISOString(),
103
+ };
104
+ }
43
105
  return {
44
- success: true,
45
- agentId: input.agentId,
46
- terminated: true,
106
+ success: false,
107
+ agentId,
108
+ error: 'Agent not found',
47
109
  };
48
110
  },
49
111
  },
@@ -59,11 +121,24 @@ export const agentTools = [
59
121
  required: ['agentId'],
60
122
  },
61
123
  handler: async (input) => {
124
+ const store = loadAgentStore();
125
+ const agentId = input.agentId;
126
+ const agent = store.agents[agentId];
127
+ if (agent) {
128
+ return {
129
+ agentId: agent.agentId,
130
+ agentType: agent.agentType,
131
+ status: agent.status,
132
+ health: agent.health,
133
+ taskCount: agent.taskCount,
134
+ createdAt: agent.createdAt,
135
+ domain: agent.domain,
136
+ };
137
+ }
62
138
  return {
63
- agentId: input.agentId,
64
- status: 'idle',
65
- health: 1.0,
66
- taskCount: 0,
139
+ agentId,
140
+ status: 'not_found',
141
+ error: 'Agent not found',
67
142
  };
68
143
  },
69
144
  },
@@ -76,13 +151,274 @@ export const agentTools = [
76
151
  properties: {
77
152
  status: { type: 'string', description: 'Filter by status' },
78
153
  domain: { type: 'string', description: 'Filter by domain' },
154
+ includeTerminated: { type: 'boolean', description: 'Include terminated agents' },
155
+ },
156
+ },
157
+ handler: async (input) => {
158
+ const store = loadAgentStore();
159
+ let agents = Object.values(store.agents);
160
+ // Filter by status
161
+ if (input.status) {
162
+ agents = agents.filter(a => a.status === input.status);
163
+ }
164
+ else if (!input.includeTerminated) {
165
+ agents = agents.filter(a => a.status !== 'terminated');
166
+ }
167
+ // Filter by domain
168
+ if (input.domain) {
169
+ agents = agents.filter(a => a.domain === input.domain);
170
+ }
171
+ return {
172
+ agents: agents.map(a => ({
173
+ agentId: a.agentId,
174
+ agentType: a.agentType,
175
+ status: a.status,
176
+ health: a.health,
177
+ taskCount: a.taskCount,
178
+ createdAt: a.createdAt,
179
+ domain: a.domain,
180
+ })),
181
+ total: agents.length,
182
+ filters: {
183
+ status: input.status,
184
+ domain: input.domain,
185
+ includeTerminated: input.includeTerminated,
186
+ },
187
+ };
188
+ },
189
+ },
190
+ {
191
+ name: 'agent/pool',
192
+ description: 'Manage agent pool',
193
+ category: 'agent',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ action: { type: 'string', enum: ['status', 'scale', 'drain', 'fill'], description: 'Pool action' },
198
+ targetSize: { type: 'number', description: 'Target pool size (for scale action)' },
199
+ agentType: { type: 'string', description: 'Agent type filter' },
200
+ },
201
+ required: ['action'],
202
+ },
203
+ handler: async (input) => {
204
+ const store = loadAgentStore();
205
+ const agents = Object.values(store.agents).filter(a => a.status !== 'terminated');
206
+ const action = input.action || 'status'; // Default to status
207
+ if (action === 'status') {
208
+ const byType = {};
209
+ const byStatus = {};
210
+ for (const agent of agents) {
211
+ byType[agent.agentType] = (byType[agent.agentType] || 0) + 1;
212
+ byStatus[agent.status] = (byStatus[agent.status] || 0) + 1;
213
+ }
214
+ const idleAgents = agents.filter(a => a.status === 'idle').length;
215
+ const busyAgents = agents.filter(a => a.status === 'busy').length;
216
+ const utilization = agents.length > 0 ? busyAgents / agents.length : 0;
217
+ return {
218
+ action,
219
+ // CLI expected fields
220
+ poolId: 'agent-pool-default',
221
+ currentSize: agents.length,
222
+ minSize: input.min || 0,
223
+ maxSize: input.max || 100,
224
+ autoScale: input.autoScale ?? false,
225
+ utilization,
226
+ agents: agents.map(a => ({
227
+ id: a.agentId,
228
+ type: a.agentType,
229
+ status: a.status,
230
+ })),
231
+ // Additional fields
232
+ id: 'agent-pool-default',
233
+ size: agents.length,
234
+ totalAgents: agents.length,
235
+ byType,
236
+ byStatus,
237
+ avgHealth: agents.length > 0 ? agents.reduce((sum, a) => sum + a.health, 0) / agents.length : 0,
238
+ };
239
+ }
240
+ if (action === 'scale') {
241
+ const targetSize = input.targetSize || 5;
242
+ const agentType = input.agentType || 'worker';
243
+ const currentSize = agents.filter(a => a.agentType === agentType).length;
244
+ const delta = targetSize - currentSize;
245
+ const added = [];
246
+ const removed = [];
247
+ if (delta > 0) {
248
+ for (let i = 0; i < delta; i++) {
249
+ const agentId = `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
250
+ store.agents[agentId] = {
251
+ agentId,
252
+ agentType,
253
+ status: 'idle',
254
+ health: 1.0,
255
+ taskCount: 0,
256
+ config: {},
257
+ createdAt: new Date().toISOString(),
258
+ };
259
+ added.push(agentId);
260
+ }
261
+ }
262
+ else if (delta < 0) {
263
+ const toRemove = agents.filter(a => a.agentType === agentType && a.status === 'idle').slice(0, -delta);
264
+ for (const agent of toRemove) {
265
+ store.agents[agent.agentId].status = 'terminated';
266
+ removed.push(agent.agentId);
267
+ }
268
+ }
269
+ saveAgentStore(store);
270
+ return {
271
+ action,
272
+ agentType,
273
+ previousSize: currentSize,
274
+ targetSize,
275
+ newSize: currentSize + delta,
276
+ added,
277
+ removed,
278
+ };
279
+ }
280
+ if (action === 'drain') {
281
+ const agentType = input.agentType;
282
+ let drained = 0;
283
+ for (const agent of agents) {
284
+ if (!agentType || agent.agentType === agentType) {
285
+ if (agent.status === 'idle') {
286
+ store.agents[agent.agentId].status = 'terminated';
287
+ drained++;
288
+ }
289
+ }
290
+ }
291
+ saveAgentStore(store);
292
+ return {
293
+ action,
294
+ agentType: agentType || 'all',
295
+ drained,
296
+ remaining: agents.length - drained,
297
+ };
298
+ }
299
+ return { action, error: 'Unknown action' };
300
+ },
301
+ },
302
+ {
303
+ name: 'agent/health',
304
+ description: 'Check agent health',
305
+ category: 'agent',
306
+ inputSchema: {
307
+ type: 'object',
308
+ properties: {
309
+ agentId: { type: 'string', description: 'Specific agent ID (optional)' },
310
+ threshold: { type: 'number', description: 'Health threshold (0-1)' },
79
311
  },
80
312
  },
81
313
  handler: async (input) => {
314
+ const store = loadAgentStore();
315
+ const agents = Object.values(store.agents).filter(a => a.status !== 'terminated');
316
+ const threshold = input.threshold || 0.5;
317
+ if (input.agentId) {
318
+ const agent = store.agents[input.agentId];
319
+ if (agent) {
320
+ return {
321
+ agentId: agent.agentId,
322
+ health: agent.health,
323
+ status: agent.status,
324
+ healthy: agent.health >= threshold,
325
+ taskCount: agent.taskCount,
326
+ uptime: Date.now() - new Date(agent.createdAt).getTime(),
327
+ };
328
+ }
329
+ return { agentId: input.agentId, error: 'Agent not found' };
330
+ }
331
+ const healthyAgents = agents.filter(a => a.health >= threshold);
332
+ const degradedAgents = agents.filter(a => a.health >= 0.3 && a.health < threshold);
333
+ const unhealthyAgents = agents.filter(a => a.health < 0.3);
334
+ const avgHealth = agents.length > 0 ? agents.reduce((sum, a) => sum + a.health, 0) / agents.length : 1;
335
+ const avgCpu = agents.length > 0 ? 35 + Math.random() * 30 : 0; // Simulated CPU
336
+ const avgMemory = avgHealth * 0.6; // Correlated with health
337
+ return {
338
+ // CLI expected fields
339
+ agents: agents.map(a => {
340
+ const uptime = Date.now() - new Date(a.createdAt).getTime();
341
+ return {
342
+ id: a.agentId,
343
+ type: a.agentType,
344
+ health: a.health >= threshold ? 'healthy' : (a.health >= 0.3 ? 'degraded' : 'unhealthy'),
345
+ uptime,
346
+ memory: { used: Math.floor(256 * (1 - a.health * 0.3)), limit: 512 },
347
+ cpu: 20 + Math.floor(a.health * 40),
348
+ tasks: { active: a.taskCount > 0 ? 1 : 0, queued: 0, completed: a.taskCount, failed: 0 },
349
+ latency: { avg: 50 + Math.floor((1 - a.health) * 100), p99: 150 + Math.floor((1 - a.health) * 200) },
350
+ errors: { count: a.health < threshold ? 1 : 0 },
351
+ };
352
+ }),
353
+ overall: {
354
+ healthy: healthyAgents.length,
355
+ degraded: degradedAgents.length,
356
+ unhealthy: unhealthyAgents.length,
357
+ avgCpu,
358
+ avgMemory,
359
+ score: Math.round(avgHealth * 100),
360
+ issues: unhealthyAgents.length,
361
+ },
362
+ // Additional fields
363
+ total: agents.length,
364
+ healthyCount: healthyAgents.length,
365
+ unhealthyCount: unhealthyAgents.length,
366
+ threshold,
367
+ avgHealth,
368
+ unhealthyAgents: unhealthyAgents.map(a => ({
369
+ agentId: a.agentId,
370
+ health: a.health,
371
+ status: a.status,
372
+ })),
373
+ };
374
+ },
375
+ },
376
+ {
377
+ name: 'agent/update',
378
+ description: 'Update agent status or config',
379
+ category: 'agent',
380
+ inputSchema: {
381
+ type: 'object',
382
+ properties: {
383
+ agentId: { type: 'string', description: 'ID of agent' },
384
+ status: { type: 'string', description: 'New status' },
385
+ health: { type: 'number', description: 'Health value (0-1)' },
386
+ taskCount: { type: 'number', description: 'Task count' },
387
+ config: { type: 'object', description: 'Config updates' },
388
+ },
389
+ required: ['agentId'],
390
+ },
391
+ handler: async (input) => {
392
+ const store = loadAgentStore();
393
+ const agentId = input.agentId;
394
+ const agent = store.agents[agentId];
395
+ if (agent) {
396
+ if (input.status)
397
+ agent.status = input.status;
398
+ if (typeof input.health === 'number')
399
+ agent.health = input.health;
400
+ if (typeof input.taskCount === 'number')
401
+ agent.taskCount = input.taskCount;
402
+ if (input.config) {
403
+ agent.config = { ...agent.config, ...input.config };
404
+ }
405
+ saveAgentStore(store);
406
+ return {
407
+ success: true,
408
+ agentId,
409
+ updated: true,
410
+ agent: {
411
+ agentId: agent.agentId,
412
+ status: agent.status,
413
+ health: agent.health,
414
+ taskCount: agent.taskCount,
415
+ },
416
+ };
417
+ }
82
418
  return {
83
- agents: [],
84
- total: 0,
85
- filters: input,
419
+ success: false,
420
+ agentId,
421
+ error: 'Agent not found',
86
422
  };
87
423
  },
88
424
  },
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,UAAU,GAAc;IACnC;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACpE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBACpE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;aAC/D;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,kEAAkE;YAClE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAG,KAAK,CAAC,OAAkB,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC3D,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,oBAAoB;QACjC,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBACpE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,CAAC;aACb,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC5D;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Analyze MCP Tools
3
+ * Provides diff analysis and classification via MCP protocol
4
+ */
5
+ import type { MCPTool } from './types.js';
6
+ /**
7
+ * Diff Analysis Tool
8
+ * Analyzes git diffs for change risk assessment and classification
9
+ */
10
+ export declare const analyzeDiffTool: MCPTool;
11
+ /**
12
+ * Diff Risk Assessment Tool
13
+ * Focused risk assessment without full analysis
14
+ */
15
+ export declare const diffRiskTool: MCPTool;
16
+ /**
17
+ * Diff Classification Tool
18
+ * Classify change type without full analysis
19
+ */
20
+ export declare const diffClassifyTool: MCPTool;
21
+ /**
22
+ * Diff Reviewers Tool
23
+ * Suggest reviewers for changes
24
+ */
25
+ export declare const diffReviewersTool: MCPTool;
26
+ /**
27
+ * File Risk Tool
28
+ * Assess risk for a specific file path
29
+ */
30
+ export declare const fileRiskTool: MCPTool;
31
+ /**
32
+ * Diff Stats Tool
33
+ * Get quick diff statistics
34
+ */
35
+ export declare const diffStatsTool: MCPTool;
36
+ export declare const analyzeTools: MCPTool[];
37
+ export default analyzeTools;
38
+ //# sourceMappingURL=analyze-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/analyze-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAY1C;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,OAqE7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAoC1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAmC9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,OA0C/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAiD1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAmD3B,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,OAAO,EAOjC,CAAC;AAEF,eAAe,YAAY,CAAC"}