@claude-flow/cli 3.0.0-alpha.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 (229) hide show
  1. package/.agentic-flow/intelligence.json +16 -0
  2. package/.claude-flow/metrics/agent-metrics.json +1 -0
  3. package/.claude-flow/metrics/performance.json +87 -0
  4. package/.claude-flow/metrics/task-metrics.json +10 -0
  5. package/README.md +1186 -0
  6. package/__tests__/README.md +140 -0
  7. package/__tests__/TEST_SUMMARY.md +144 -0
  8. package/__tests__/cli.test.ts +558 -0
  9. package/__tests__/commands.test.ts +726 -0
  10. package/__tests__/config-adapter.test.ts +362 -0
  11. package/__tests__/config-loading.test.ts +106 -0
  12. package/__tests__/coverage/.tmp/coverage-0.json +1 -0
  13. package/__tests__/coverage/.tmp/coverage-1.json +1 -0
  14. package/__tests__/coverage/.tmp/coverage-2.json +1 -0
  15. package/__tests__/coverage/.tmp/coverage-3.json +1 -0
  16. package/__tests__/coverage/.tmp/coverage-4.json +1 -0
  17. package/__tests__/coverage/.tmp/coverage-5.json +1 -0
  18. package/__tests__/mcp-client.test.ts +480 -0
  19. package/__tests__/p1-commands.test.ts +1064 -0
  20. package/bin/cli.js +14 -0
  21. package/dist/src/commands/agent.d.ts +8 -0
  22. package/dist/src/commands/agent.d.ts.map +1 -0
  23. package/dist/src/commands/agent.js +803 -0
  24. package/dist/src/commands/agent.js.map +1 -0
  25. package/dist/src/commands/config.d.ts +8 -0
  26. package/dist/src/commands/config.d.ts.map +1 -0
  27. package/dist/src/commands/config.js +406 -0
  28. package/dist/src/commands/config.js.map +1 -0
  29. package/dist/src/commands/hive-mind.d.ts +8 -0
  30. package/dist/src/commands/hive-mind.d.ts.map +1 -0
  31. package/dist/src/commands/hive-mind.js +627 -0
  32. package/dist/src/commands/hive-mind.js.map +1 -0
  33. package/dist/src/commands/hooks.d.ts +8 -0
  34. package/dist/src/commands/hooks.d.ts.map +1 -0
  35. package/dist/src/commands/hooks.js +2098 -0
  36. package/dist/src/commands/hooks.js.map +1 -0
  37. package/dist/src/commands/index.d.ts +51 -0
  38. package/dist/src/commands/index.d.ts.map +1 -0
  39. package/dist/src/commands/index.js +105 -0
  40. package/dist/src/commands/index.js.map +1 -0
  41. package/dist/src/commands/init.d.ts +8 -0
  42. package/dist/src/commands/init.d.ts.map +1 -0
  43. package/dist/src/commands/init.js +532 -0
  44. package/dist/src/commands/init.js.map +1 -0
  45. package/dist/src/commands/mcp.d.ts +11 -0
  46. package/dist/src/commands/mcp.d.ts.map +1 -0
  47. package/dist/src/commands/mcp.js +662 -0
  48. package/dist/src/commands/mcp.js.map +1 -0
  49. package/dist/src/commands/memory.d.ts +8 -0
  50. package/dist/src/commands/memory.d.ts.map +1 -0
  51. package/dist/src/commands/memory.js +911 -0
  52. package/dist/src/commands/memory.js.map +1 -0
  53. package/dist/src/commands/migrate.d.ts +8 -0
  54. package/dist/src/commands/migrate.d.ts.map +1 -0
  55. package/dist/src/commands/migrate.js +398 -0
  56. package/dist/src/commands/migrate.js.map +1 -0
  57. package/dist/src/commands/process.d.ts +10 -0
  58. package/dist/src/commands/process.d.ts.map +1 -0
  59. package/dist/src/commands/process.js +566 -0
  60. package/dist/src/commands/process.js.map +1 -0
  61. package/dist/src/commands/session.d.ts +8 -0
  62. package/dist/src/commands/session.d.ts.map +1 -0
  63. package/dist/src/commands/session.js +750 -0
  64. package/dist/src/commands/session.js.map +1 -0
  65. package/dist/src/commands/start.d.ts +8 -0
  66. package/dist/src/commands/start.d.ts.map +1 -0
  67. package/dist/src/commands/start.js +398 -0
  68. package/dist/src/commands/start.js.map +1 -0
  69. package/dist/src/commands/status.d.ts +8 -0
  70. package/dist/src/commands/status.d.ts.map +1 -0
  71. package/dist/src/commands/status.js +560 -0
  72. package/dist/src/commands/status.js.map +1 -0
  73. package/dist/src/commands/swarm.d.ts +8 -0
  74. package/dist/src/commands/swarm.d.ts.map +1 -0
  75. package/dist/src/commands/swarm.js +573 -0
  76. package/dist/src/commands/swarm.js.map +1 -0
  77. package/dist/src/commands/task.d.ts +8 -0
  78. package/dist/src/commands/task.d.ts.map +1 -0
  79. package/dist/src/commands/task.js +671 -0
  80. package/dist/src/commands/task.js.map +1 -0
  81. package/dist/src/commands/workflow.d.ts +8 -0
  82. package/dist/src/commands/workflow.d.ts.map +1 -0
  83. package/dist/src/commands/workflow.js +617 -0
  84. package/dist/src/commands/workflow.js.map +1 -0
  85. package/dist/src/config-adapter.d.ts +15 -0
  86. package/dist/src/config-adapter.d.ts.map +1 -0
  87. package/dist/src/config-adapter.js +185 -0
  88. package/dist/src/config-adapter.js.map +1 -0
  89. package/dist/src/index.d.ts +55 -0
  90. package/dist/src/index.d.ts.map +1 -0
  91. package/dist/src/index.js +312 -0
  92. package/dist/src/index.js.map +1 -0
  93. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  94. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  95. package/dist/src/infrastructure/in-memory-repositories.js +264 -0
  96. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -0
  97. package/dist/src/init/claudemd-generator.d.ts +15 -0
  98. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  99. package/dist/src/init/claudemd-generator.js +626 -0
  100. package/dist/src/init/claudemd-generator.js.map +1 -0
  101. package/dist/src/init/executor.d.ts +11 -0
  102. package/dist/src/init/executor.d.ts.map +1 -0
  103. package/dist/src/init/executor.js +647 -0
  104. package/dist/src/init/executor.js.map +1 -0
  105. package/dist/src/init/helpers-generator.d.ts +42 -0
  106. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  107. package/dist/src/init/helpers-generator.js +613 -0
  108. package/dist/src/init/helpers-generator.js.map +1 -0
  109. package/dist/src/init/index.d.ts +12 -0
  110. package/dist/src/init/index.d.ts.map +1 -0
  111. package/dist/src/init/index.js +15 -0
  112. package/dist/src/init/index.js.map +1 -0
  113. package/dist/src/init/mcp-generator.d.ts +18 -0
  114. package/dist/src/init/mcp-generator.d.ts.map +1 -0
  115. package/dist/src/init/mcp-generator.js +71 -0
  116. package/dist/src/init/mcp-generator.js.map +1 -0
  117. package/dist/src/init/settings-generator.d.ts +14 -0
  118. package/dist/src/init/settings-generator.d.ts.map +1 -0
  119. package/dist/src/init/settings-generator.js +257 -0
  120. package/dist/src/init/settings-generator.js.map +1 -0
  121. package/dist/src/init/statusline-generator.d.ts +14 -0
  122. package/dist/src/init/statusline-generator.d.ts.map +1 -0
  123. package/dist/src/init/statusline-generator.js +206 -0
  124. package/dist/src/init/statusline-generator.js.map +1 -0
  125. package/dist/src/init/types.d.ts +240 -0
  126. package/dist/src/init/types.d.ts.map +1 -0
  127. package/dist/src/init/types.js +210 -0
  128. package/dist/src/init/types.js.map +1 -0
  129. package/dist/src/mcp-client.d.ts +92 -0
  130. package/dist/src/mcp-client.d.ts.map +1 -0
  131. package/dist/src/mcp-client.js +189 -0
  132. package/dist/src/mcp-client.js.map +1 -0
  133. package/dist/src/mcp-server.d.ts +153 -0
  134. package/dist/src/mcp-server.d.ts.map +1 -0
  135. package/dist/src/mcp-server.js +448 -0
  136. package/dist/src/mcp-server.js.map +1 -0
  137. package/dist/src/mcp-tools/agent-tools.d.ts +8 -0
  138. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -0
  139. package/dist/src/mcp-tools/agent-tools.js +90 -0
  140. package/dist/src/mcp-tools/agent-tools.js.map +1 -0
  141. package/dist/src/mcp-tools/config-tools.d.ts +8 -0
  142. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -0
  143. package/dist/src/mcp-tools/config-tools.js +86 -0
  144. package/dist/src/mcp-tools/config-tools.js.map +1 -0
  145. package/dist/src/mcp-tools/hooks-tools.d.ts +41 -0
  146. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -0
  147. package/dist/src/mcp-tools/hooks-tools.js +1646 -0
  148. package/dist/src/mcp-tools/hooks-tools.js.map +1 -0
  149. package/dist/src/mcp-tools/index.d.ts +12 -0
  150. package/dist/src/mcp-tools/index.d.ts.map +1 -0
  151. package/dist/src/mcp-tools/index.js +11 -0
  152. package/dist/src/mcp-tools/index.js.map +1 -0
  153. package/dist/src/mcp-tools/memory-tools.d.ts +8 -0
  154. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -0
  155. package/dist/src/mcp-tools/memory-tools.js +87 -0
  156. package/dist/src/mcp-tools/memory-tools.js.map +1 -0
  157. package/dist/src/mcp-tools/swarm-tools.d.ts +8 -0
  158. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -0
  159. package/dist/src/mcp-tools/swarm-tools.js +67 -0
  160. package/dist/src/mcp-tools/swarm-tools.js.map +1 -0
  161. package/dist/src/mcp-tools/types.d.ts +31 -0
  162. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  163. package/dist/src/mcp-tools/types.js +7 -0
  164. package/dist/src/mcp-tools/types.js.map +1 -0
  165. package/dist/src/output.d.ts +117 -0
  166. package/dist/src/output.d.ts.map +1 -0
  167. package/dist/src/output.js +471 -0
  168. package/dist/src/output.js.map +1 -0
  169. package/dist/src/parser.d.ts +41 -0
  170. package/dist/src/parser.d.ts.map +1 -0
  171. package/dist/src/parser.js +353 -0
  172. package/dist/src/parser.js.map +1 -0
  173. package/dist/src/prompt.d.ts +44 -0
  174. package/dist/src/prompt.d.ts.map +1 -0
  175. package/dist/src/prompt.js +501 -0
  176. package/dist/src/prompt.js.map +1 -0
  177. package/dist/src/types.d.ts +198 -0
  178. package/dist/src/types.d.ts.map +1 -0
  179. package/dist/src/types.js +38 -0
  180. package/dist/src/types.js.map +1 -0
  181. package/dist/tsconfig.tsbuildinfo +1 -0
  182. package/docs/CONFIG_LOADING.md +236 -0
  183. package/docs/IMPLEMENTATION_COMPLETE.md +421 -0
  184. package/docs/MCP_CLIENT_GUIDE.md +620 -0
  185. package/docs/REFACTORING_SUMMARY.md +247 -0
  186. package/package.json +29 -0
  187. package/src/commands/agent.ts +941 -0
  188. package/src/commands/config.ts +452 -0
  189. package/src/commands/hive-mind.ts +762 -0
  190. package/src/commands/hooks.ts +2603 -0
  191. package/src/commands/index.ts +115 -0
  192. package/src/commands/init.ts +597 -0
  193. package/src/commands/mcp.ts +753 -0
  194. package/src/commands/memory.ts +1063 -0
  195. package/src/commands/migrate.ts +447 -0
  196. package/src/commands/process.ts +617 -0
  197. package/src/commands/session.ts +891 -0
  198. package/src/commands/start.ts +457 -0
  199. package/src/commands/status.ts +705 -0
  200. package/src/commands/swarm.ts +648 -0
  201. package/src/commands/task.ts +792 -0
  202. package/src/commands/workflow.ts +742 -0
  203. package/src/config-adapter.ts +210 -0
  204. package/src/index.ts +383 -0
  205. package/src/infrastructure/in-memory-repositories.ts +310 -0
  206. package/src/init/claudemd-generator.ts +631 -0
  207. package/src/init/executor.ts +756 -0
  208. package/src/init/helpers-generator.ts +628 -0
  209. package/src/init/index.ts +60 -0
  210. package/src/init/mcp-generator.ts +83 -0
  211. package/src/init/settings-generator.ts +274 -0
  212. package/src/init/statusline-generator.ts +211 -0
  213. package/src/init/types.ts +447 -0
  214. package/src/mcp-client.ts +227 -0
  215. package/src/mcp-server.ts +571 -0
  216. package/src/mcp-tools/agent-tools.ts +92 -0
  217. package/src/mcp-tools/config-tools.ts +88 -0
  218. package/src/mcp-tools/hooks-tools.ts +1819 -0
  219. package/src/mcp-tools/index.ts +12 -0
  220. package/src/mcp-tools/memory-tools.ts +89 -0
  221. package/src/mcp-tools/swarm-tools.ts +69 -0
  222. package/src/mcp-tools/types.ts +33 -0
  223. package/src/output.ts +593 -0
  224. package/src/parser.ts +417 -0
  225. package/src/prompt.ts +619 -0
  226. package/src/types.ts +287 -0
  227. package/tsconfig.json +16 -0
  228. package/tsconfig.tsbuildinfo +1 -0
  229. package/vitest.config.ts +13 -0
@@ -0,0 +1,448 @@
1
+ /**
2
+ * V3 CLI MCP Server Management
3
+ *
4
+ * Provides server lifecycle management for MCP integration:
5
+ * - Start/stop/status methods with process management
6
+ * - Health check endpoint integration
7
+ * - Graceful shutdown handling
8
+ * - PID file management for daemon detection
9
+ * - Event-based status monitoring
10
+ *
11
+ * Performance Targets:
12
+ * - Server startup: <400ms
13
+ * - Health check: <10ms
14
+ * - Graceful shutdown: <5s
15
+ *
16
+ * @module @claude-flow/cli/mcp-server
17
+ * @version 3.0.0
18
+ */
19
+ import { EventEmitter } from 'events';
20
+ import { spawn } from 'child_process';
21
+ import * as path from 'path';
22
+ import * as fs from 'fs';
23
+ import * as os from 'os';
24
+ /**
25
+ * Default configuration
26
+ */
27
+ const DEFAULT_OPTIONS = {
28
+ transport: 'stdio',
29
+ host: 'localhost',
30
+ port: 3000,
31
+ pidFile: path.join(os.tmpdir(), 'claude-flow-mcp.pid'),
32
+ logFile: path.join(os.tmpdir(), 'claude-flow-mcp.log'),
33
+ tools: 'all',
34
+ daemonize: false,
35
+ timeout: 30000,
36
+ };
37
+ /**
38
+ * MCP Server Manager
39
+ *
40
+ * Manages the lifecycle of the MCP server process
41
+ */
42
+ export class MCPServerManager extends EventEmitter {
43
+ options;
44
+ process;
45
+ server;
46
+ startTime;
47
+ healthCheckInterval;
48
+ constructor(options = {}) {
49
+ super();
50
+ this.options = { ...DEFAULT_OPTIONS, ...options };
51
+ }
52
+ /**
53
+ * Start the MCP server
54
+ */
55
+ async start() {
56
+ // Check if already running
57
+ const status = await this.getStatus();
58
+ if (status.running) {
59
+ throw new Error(`MCP Server already running (PID: ${status.pid})`);
60
+ }
61
+ const startTime = performance.now();
62
+ this.startTime = new Date();
63
+ this.emit('starting', { options: this.options });
64
+ try {
65
+ if (this.options.transport === 'stdio') {
66
+ // For stdio transport, spawn the server process
67
+ await this.startStdioServer();
68
+ }
69
+ else {
70
+ // For HTTP/WebSocket, start in-process server
71
+ await this.startHttpServer();
72
+ }
73
+ const duration = performance.now() - startTime;
74
+ // Write PID file
75
+ await this.writePidFile();
76
+ // Start health check monitoring
77
+ this.startHealthMonitoring();
78
+ const finalStatus = await this.getStatus();
79
+ this.emit('started', {
80
+ ...finalStatus,
81
+ startupTime: duration,
82
+ });
83
+ return finalStatus;
84
+ }
85
+ catch (error) {
86
+ this.emit('error', error);
87
+ throw error;
88
+ }
89
+ }
90
+ /**
91
+ * Stop the MCP server
92
+ */
93
+ async stop(force = false) {
94
+ const status = await this.getStatus();
95
+ if (!status.running) {
96
+ return;
97
+ }
98
+ this.emit('stopping', { force });
99
+ try {
100
+ // Stop health monitoring
101
+ if (this.healthCheckInterval) {
102
+ clearInterval(this.healthCheckInterval);
103
+ this.healthCheckInterval = undefined;
104
+ }
105
+ if (this.process) {
106
+ // Graceful shutdown
107
+ if (!force) {
108
+ this.process.kill('SIGTERM');
109
+ await this.waitForExit(5000);
110
+ }
111
+ // Force kill if still running
112
+ if (this.process && !this.process.killed) {
113
+ this.process.kill('SIGKILL');
114
+ }
115
+ this.process = undefined;
116
+ }
117
+ if (this.server) {
118
+ await new Promise((resolve) => {
119
+ this.server.close(() => resolve());
120
+ });
121
+ this.server = undefined;
122
+ }
123
+ // Remove PID file
124
+ await this.removePidFile();
125
+ this.startTime = undefined;
126
+ this.emit('stopped');
127
+ }
128
+ catch (error) {
129
+ this.emit('error', error);
130
+ throw error;
131
+ }
132
+ }
133
+ /**
134
+ * Get server status
135
+ */
136
+ async getStatus() {
137
+ // Check PID file
138
+ const pid = await this.readPidFile();
139
+ if (!pid) {
140
+ return { running: false };
141
+ }
142
+ // Check if process is running
143
+ const isRunning = this.isProcessRunning(pid);
144
+ if (!isRunning) {
145
+ // Clean up stale PID file
146
+ await this.removePidFile();
147
+ return { running: false };
148
+ }
149
+ // Build status
150
+ const status = {
151
+ running: true,
152
+ pid,
153
+ transport: this.options.transport,
154
+ host: this.options.host,
155
+ port: this.options.port,
156
+ startedAt: this.startTime?.toISOString(),
157
+ uptime: this.startTime
158
+ ? Math.floor((Date.now() - this.startTime.getTime()) / 1000)
159
+ : undefined,
160
+ };
161
+ // Get health status for HTTP transport
162
+ if (this.options.transport !== 'stdio') {
163
+ status.health = await this.checkHealth();
164
+ }
165
+ return status;
166
+ }
167
+ /**
168
+ * Check server health
169
+ */
170
+ async checkHealth() {
171
+ if (this.options.transport === 'stdio') {
172
+ // For stdio, just check if process is running
173
+ const pid = await this.readPidFile();
174
+ return {
175
+ healthy: pid !== null && this.isProcessRunning(pid),
176
+ };
177
+ }
178
+ // For HTTP/WebSocket, make health check request
179
+ try {
180
+ const response = await this.httpRequest(`http://${this.options.host}:${this.options.port}/health`, 'GET', this.options.timeout);
181
+ return {
182
+ healthy: response.status === 'ok',
183
+ metrics: {
184
+ connections: response.connections || 0,
185
+ },
186
+ };
187
+ }
188
+ catch (error) {
189
+ return {
190
+ healthy: false,
191
+ error: error instanceof Error ? error.message : 'Unknown error',
192
+ };
193
+ }
194
+ }
195
+ /**
196
+ * Restart the server
197
+ */
198
+ async restart() {
199
+ await this.stop();
200
+ return await this.start();
201
+ }
202
+ /**
203
+ * Start stdio server process
204
+ */
205
+ async startStdioServer() {
206
+ // Resolve server script path relative to this file
207
+ const serverScript = path.resolve(__dirname, '../../../mcp/server-entry.ts');
208
+ // Check if tsx is available
209
+ const command = 'npx';
210
+ const args = [
211
+ 'tsx',
212
+ serverScript,
213
+ '--transport', this.options.transport,
214
+ '--host', this.options.host,
215
+ '--port', String(this.options.port),
216
+ ];
217
+ if (this.options.tools !== 'all') {
218
+ args.push('--tools', this.options.tools.join(','));
219
+ }
220
+ this.process = spawn(command, args, {
221
+ stdio: this.options.daemonize ? 'ignore' : ['pipe', 'pipe', 'pipe'],
222
+ detached: this.options.daemonize,
223
+ env: {
224
+ ...process.env,
225
+ NODE_ENV: process.env.NODE_ENV || 'production',
226
+ MCP_SERVER_MODE: 'true',
227
+ },
228
+ });
229
+ if (this.options.daemonize) {
230
+ this.process.unref();
231
+ }
232
+ // Handle process events
233
+ this.process.on('error', (error) => {
234
+ this.emit('error', error);
235
+ });
236
+ this.process.on('exit', (code, signal) => {
237
+ this.emit('exit', { code, signal });
238
+ this.process = undefined;
239
+ });
240
+ // Wait for server to be ready
241
+ await this.waitForReady();
242
+ }
243
+ /**
244
+ * Start HTTP server in-process
245
+ */
246
+ async startHttpServer() {
247
+ // Dynamically import the MCP server
248
+ // Note: Path is relative to the compiled output location
249
+ const mcpServerPath = path.resolve(__dirname, '../../../mcp/server.js');
250
+ const { MCPServer, createMCPServer } = await import(mcpServerPath);
251
+ const logger = {
252
+ debug: (msg, data) => this.emit('log', { level: 'debug', msg, data }),
253
+ info: (msg, data) => this.emit('log', { level: 'info', msg, data }),
254
+ warn: (msg, data) => this.emit('log', { level: 'warn', msg, data }),
255
+ error: (msg, data) => this.emit('log', { level: 'error', msg, data }),
256
+ };
257
+ const mcpServer = createMCPServer({
258
+ name: 'Claude-Flow MCP Server V3',
259
+ version: '3.0.0',
260
+ transport: this.options.transport,
261
+ host: this.options.host,
262
+ port: this.options.port,
263
+ enableMetrics: true,
264
+ enableCaching: true,
265
+ }, logger);
266
+ await mcpServer.start();
267
+ // Store reference for stopping
268
+ this._mcpServer = mcpServer;
269
+ }
270
+ /**
271
+ * Wait for server to be ready
272
+ */
273
+ async waitForReady(timeout = 10000) {
274
+ const startTime = Date.now();
275
+ while (Date.now() - startTime < timeout) {
276
+ const health = await this.checkHealth();
277
+ if (health.healthy) {
278
+ return;
279
+ }
280
+ await this.sleep(100);
281
+ }
282
+ // For stdio, just check if process is running
283
+ if (this.options.transport === 'stdio' && this.process && !this.process.killed) {
284
+ return;
285
+ }
286
+ throw new Error('Server failed to start within timeout');
287
+ }
288
+ /**
289
+ * Wait for process to exit
290
+ */
291
+ async waitForExit(timeout) {
292
+ if (!this.process)
293
+ return;
294
+ return new Promise((resolve) => {
295
+ const timer = setTimeout(() => {
296
+ resolve();
297
+ }, timeout);
298
+ this.process.once('exit', () => {
299
+ clearTimeout(timer);
300
+ resolve();
301
+ });
302
+ });
303
+ }
304
+ /**
305
+ * Start health monitoring
306
+ */
307
+ startHealthMonitoring() {
308
+ this.healthCheckInterval = setInterval(async () => {
309
+ try {
310
+ const health = await this.checkHealth();
311
+ this.emit('health', health);
312
+ if (!health.healthy) {
313
+ this.emit('unhealthy', health);
314
+ }
315
+ }
316
+ catch (error) {
317
+ this.emit('health-error', error);
318
+ }
319
+ }, 30000);
320
+ }
321
+ /**
322
+ * Write PID file
323
+ */
324
+ async writePidFile() {
325
+ const pid = this.process?.pid || process.pid;
326
+ await fs.promises.writeFile(this.options.pidFile, String(pid), 'utf8');
327
+ }
328
+ /**
329
+ * Read PID file
330
+ */
331
+ async readPidFile() {
332
+ try {
333
+ const content = await fs.promises.readFile(this.options.pidFile, 'utf8');
334
+ const pid = parseInt(content.trim(), 10);
335
+ return isNaN(pid) ? null : pid;
336
+ }
337
+ catch {
338
+ return null;
339
+ }
340
+ }
341
+ /**
342
+ * Remove PID file
343
+ */
344
+ async removePidFile() {
345
+ try {
346
+ await fs.promises.unlink(this.options.pidFile);
347
+ }
348
+ catch {
349
+ // Ignore errors
350
+ }
351
+ }
352
+ /**
353
+ * Check if process is running
354
+ */
355
+ isProcessRunning(pid) {
356
+ try {
357
+ process.kill(pid, 0);
358
+ return true;
359
+ }
360
+ catch {
361
+ return false;
362
+ }
363
+ }
364
+ /**
365
+ * Make HTTP request
366
+ */
367
+ async httpRequest(url, method, timeout) {
368
+ return new Promise((resolve, reject) => {
369
+ const urlObj = new URL(url);
370
+ const http = require('http');
371
+ const req = http.request({
372
+ hostname: urlObj.hostname,
373
+ port: urlObj.port,
374
+ path: urlObj.pathname,
375
+ method,
376
+ timeout,
377
+ }, (res) => {
378
+ let data = '';
379
+ res.on('data', (chunk) => {
380
+ data += chunk;
381
+ });
382
+ res.on('end', () => {
383
+ try {
384
+ resolve(JSON.parse(data));
385
+ }
386
+ catch {
387
+ resolve({ status: res.statusCode === 200 ? 'ok' : 'error' });
388
+ }
389
+ });
390
+ });
391
+ req.on('error', reject);
392
+ req.on('timeout', () => {
393
+ req.destroy();
394
+ reject(new Error('Request timeout'));
395
+ });
396
+ req.end();
397
+ });
398
+ }
399
+ /**
400
+ * Sleep utility
401
+ */
402
+ sleep(ms) {
403
+ return new Promise((resolve) => setTimeout(resolve, ms));
404
+ }
405
+ }
406
+ /**
407
+ * Create MCP server manager
408
+ */
409
+ export function createMCPServerManager(options) {
410
+ return new MCPServerManager(options);
411
+ }
412
+ /**
413
+ * Singleton server manager instance
414
+ */
415
+ let serverManager = null;
416
+ /**
417
+ * Get or create server manager singleton
418
+ */
419
+ export function getServerManager(options) {
420
+ if (!serverManager) {
421
+ serverManager = new MCPServerManager(options);
422
+ }
423
+ return serverManager;
424
+ }
425
+ /**
426
+ * Quick start MCP server
427
+ */
428
+ export async function startMCPServer(options) {
429
+ const manager = getServerManager(options);
430
+ return await manager.start();
431
+ }
432
+ /**
433
+ * Quick stop MCP server
434
+ */
435
+ export async function stopMCPServer(force = false) {
436
+ if (serverManager) {
437
+ await serverManager.stop(force);
438
+ }
439
+ }
440
+ /**
441
+ * Get MCP server status
442
+ */
443
+ export async function getMCPServerStatus() {
444
+ const manager = getServerManager();
445
+ return await manager.getStatus();
446
+ }
447
+ export default MCPServerManager;
448
+ //# sourceMappingURL=mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Agent MCP Tools for CLI
3
+ *
4
+ * Tool definitions for agent lifecycle management.
5
+ */
6
+ import type { MCPTool } from './types.js';
7
+ export declare const agentTools: MCPTool[];
8
+ //# sourceMappingURL=agent-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,UAAU,EAAE,OAAO,EAmF/B,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Agent MCP Tools for CLI
3
+ *
4
+ * Tool definitions for agent lifecycle management.
5
+ */
6
+ export const agentTools = [
7
+ {
8
+ name: 'agent/spawn',
9
+ description: 'Spawn a new agent',
10
+ category: 'agent',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ agentType: { type: 'string', description: 'Type of agent to spawn' },
15
+ agentId: { type: 'string', description: 'Optional custom agent ID' },
16
+ config: { type: 'object', description: 'Agent configuration' },
17
+ },
18
+ required: ['agentType'],
19
+ },
20
+ handler: async (input) => {
21
+ // Stub implementation - actual coordinator integration at runtime
22
+ return {
23
+ success: true,
24
+ agentId: input.agentId || `agent-${Date.now()}`,
25
+ agentType: input.agentType,
26
+ status: 'spawned',
27
+ };
28
+ },
29
+ },
30
+ {
31
+ name: 'agent/terminate',
32
+ description: 'Terminate an agent',
33
+ category: 'agent',
34
+ inputSchema: {
35
+ type: 'object',
36
+ properties: {
37
+ agentId: { type: 'string', description: 'ID of agent to terminate' },
38
+ force: { type: 'boolean', description: 'Force immediate termination' },
39
+ },
40
+ required: ['agentId'],
41
+ },
42
+ handler: async (input) => {
43
+ return {
44
+ success: true,
45
+ agentId: input.agentId,
46
+ terminated: true,
47
+ };
48
+ },
49
+ },
50
+ {
51
+ name: 'agent/status',
52
+ description: 'Get agent status',
53
+ category: 'agent',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {
57
+ agentId: { type: 'string', description: 'ID of agent' },
58
+ },
59
+ required: ['agentId'],
60
+ },
61
+ handler: async (input) => {
62
+ return {
63
+ agentId: input.agentId,
64
+ status: 'idle',
65
+ health: 1.0,
66
+ taskCount: 0,
67
+ };
68
+ },
69
+ },
70
+ {
71
+ name: 'agent/list',
72
+ description: 'List all agents',
73
+ category: 'agent',
74
+ inputSchema: {
75
+ type: 'object',
76
+ properties: {
77
+ status: { type: 'string', description: 'Filter by status' },
78
+ domain: { type: 'string', description: 'Filter by domain' },
79
+ },
80
+ },
81
+ handler: async (input) => {
82
+ return {
83
+ agents: [],
84
+ total: 0,
85
+ filters: input,
86
+ };
87
+ },
88
+ },
89
+ ];
90
+ //# sourceMappingURL=agent-tools.js.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Config MCP Tools for CLI
3
+ *
4
+ * Tool definitions for configuration management.
5
+ */
6
+ import type { MCPTool } from './types.js';
7
+ export declare const configTools: MCPTool[];
8
+ //# sourceMappingURL=config-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/config-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,OAAO,EA+EhC,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Config MCP Tools for CLI
3
+ *
4
+ * Tool definitions for configuration management.
5
+ */
6
+ export const configTools = [
7
+ {
8
+ name: 'config/get',
9
+ description: 'Get configuration value',
10
+ category: 'config',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ key: { type: 'string', description: 'Configuration key' },
15
+ scope: { type: 'string', description: 'Configuration scope' },
16
+ },
17
+ required: ['key'],
18
+ },
19
+ handler: async (input) => {
20
+ return {
21
+ key: input.key,
22
+ value: null,
23
+ scope: input.scope || 'default',
24
+ };
25
+ },
26
+ },
27
+ {
28
+ name: 'config/set',
29
+ description: 'Set configuration value',
30
+ category: 'config',
31
+ inputSchema: {
32
+ type: 'object',
33
+ properties: {
34
+ key: { type: 'string', description: 'Configuration key' },
35
+ value: { description: 'Configuration value' },
36
+ scope: { type: 'string', description: 'Configuration scope' },
37
+ },
38
+ required: ['key', 'value'],
39
+ },
40
+ handler: async (input) => {
41
+ return {
42
+ success: true,
43
+ key: input.key,
44
+ scope: input.scope || 'default',
45
+ };
46
+ },
47
+ },
48
+ {
49
+ name: 'config/list',
50
+ description: 'List configuration values',
51
+ category: 'config',
52
+ inputSchema: {
53
+ type: 'object',
54
+ properties: {
55
+ scope: { type: 'string', description: 'Configuration scope' },
56
+ prefix: { type: 'string', description: 'Key prefix filter' },
57
+ },
58
+ },
59
+ handler: async (input) => {
60
+ return {
61
+ configs: [],
62
+ scope: input.scope || 'default',
63
+ };
64
+ },
65
+ },
66
+ {
67
+ name: 'config/reset',
68
+ description: 'Reset configuration to defaults',
69
+ category: 'config',
70
+ inputSchema: {
71
+ type: 'object',
72
+ properties: {
73
+ scope: { type: 'string', description: 'Configuration scope' },
74
+ key: { type: 'string', description: 'Specific key to reset' },
75
+ },
76
+ },
77
+ handler: async (input) => {
78
+ return {
79
+ success: true,
80
+ scope: input.scope || 'default',
81
+ reset: input.key || 'all',
82
+ };
83
+ },
84
+ },
85
+ ];
86
+ //# sourceMappingURL=config-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/config-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;aAC9D;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;aAChC,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACzD,KAAK,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;aAC9D;YACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;SAC3B;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;aAChC,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC7D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC7D;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;aAChC,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAC9D;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;gBAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK;aAC1B,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}