claude-flow 3.0.0-alpha.1 → 3.0.0-alpha.10

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 (243) hide show
  1. package/README.md +1151 -41
  2. package/bin/cli.js +8 -30
  3. package/dist/src/commands/agent.d.ts +8 -0
  4. package/dist/src/commands/agent.d.ts.map +1 -0
  5. package/dist/src/commands/agent.js +819 -0
  6. package/dist/src/commands/agent.js.map +1 -0
  7. package/dist/src/commands/config.d.ts +8 -0
  8. package/dist/src/commands/config.d.ts.map +1 -0
  9. package/dist/src/commands/config.js +406 -0
  10. package/dist/src/commands/config.js.map +1 -0
  11. package/dist/src/commands/daemon.d.ts +8 -0
  12. package/dist/src/commands/daemon.d.ts.map +1 -0
  13. package/dist/src/commands/daemon.js +545 -0
  14. package/dist/src/commands/daemon.js.map +1 -0
  15. package/dist/src/commands/hive-mind.d.ts +8 -0
  16. package/dist/src/commands/hive-mind.d.ts.map +1 -0
  17. package/dist/src/commands/hive-mind.js +844 -0
  18. package/dist/src/commands/hive-mind.js.map +1 -0
  19. package/dist/src/commands/hooks.d.ts +8 -0
  20. package/dist/src/commands/hooks.d.ts.map +1 -0
  21. package/dist/src/commands/hooks.js +2098 -0
  22. package/dist/src/commands/hooks.js.map +1 -0
  23. package/dist/src/commands/index.d.ts +52 -0
  24. package/dist/src/commands/index.d.ts.map +1 -0
  25. package/dist/src/commands/index.js +108 -0
  26. package/dist/src/commands/index.js.map +1 -0
  27. package/dist/src/commands/init.d.ts +8 -0
  28. package/dist/src/commands/init.d.ts.map +1 -0
  29. package/dist/src/commands/init.js +532 -0
  30. package/dist/src/commands/init.js.map +1 -0
  31. package/dist/src/commands/mcp.d.ts +11 -0
  32. package/dist/src/commands/mcp.d.ts.map +1 -0
  33. package/dist/src/commands/mcp.js +662 -0
  34. package/dist/src/commands/mcp.js.map +1 -0
  35. package/dist/src/commands/memory.d.ts +8 -0
  36. package/dist/src/commands/memory.d.ts.map +1 -0
  37. package/dist/src/commands/memory.js +977 -0
  38. package/dist/src/commands/memory.js.map +1 -0
  39. package/dist/src/commands/migrate.d.ts +8 -0
  40. package/dist/src/commands/migrate.d.ts.map +1 -0
  41. package/dist/src/commands/migrate.js +398 -0
  42. package/dist/src/commands/migrate.js.map +1 -0
  43. package/dist/src/commands/process.d.ts +10 -0
  44. package/dist/src/commands/process.d.ts.map +1 -0
  45. package/dist/src/commands/process.js +641 -0
  46. package/dist/src/commands/process.js.map +1 -0
  47. package/dist/src/commands/session.d.ts +8 -0
  48. package/dist/src/commands/session.d.ts.map +1 -0
  49. package/dist/src/commands/session.js +750 -0
  50. package/dist/src/commands/session.js.map +1 -0
  51. package/dist/src/commands/start.d.ts +8 -0
  52. package/dist/src/commands/start.d.ts.map +1 -0
  53. package/dist/src/commands/start.js +398 -0
  54. package/dist/src/commands/start.js.map +1 -0
  55. package/dist/src/commands/status.d.ts +8 -0
  56. package/dist/src/commands/status.d.ts.map +1 -0
  57. package/dist/src/commands/status.js +584 -0
  58. package/dist/src/commands/status.js.map +1 -0
  59. package/dist/src/commands/swarm.d.ts +8 -0
  60. package/dist/src/commands/swarm.d.ts.map +1 -0
  61. package/dist/src/commands/swarm.js +573 -0
  62. package/dist/src/commands/swarm.js.map +1 -0
  63. package/dist/src/commands/task.d.ts +8 -0
  64. package/dist/src/commands/task.d.ts.map +1 -0
  65. package/dist/src/commands/task.js +671 -0
  66. package/dist/src/commands/task.js.map +1 -0
  67. package/dist/src/commands/workflow.d.ts +8 -0
  68. package/dist/src/commands/workflow.d.ts.map +1 -0
  69. package/dist/src/commands/workflow.js +617 -0
  70. package/dist/src/commands/workflow.js.map +1 -0
  71. package/dist/src/config-adapter.d.ts +15 -0
  72. package/dist/src/config-adapter.d.ts.map +1 -0
  73. package/dist/src/config-adapter.js +185 -0
  74. package/dist/src/config-adapter.js.map +1 -0
  75. package/dist/src/index.d.ts +55 -0
  76. package/dist/src/index.d.ts.map +1 -0
  77. package/dist/src/index.js +353 -0
  78. package/dist/src/index.js.map +1 -0
  79. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  80. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  81. package/dist/src/infrastructure/in-memory-repositories.js +264 -0
  82. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -0
  83. package/dist/src/init/claudemd-generator.d.ts +15 -0
  84. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  85. package/dist/src/init/claudemd-generator.js +626 -0
  86. package/dist/src/init/claudemd-generator.js.map +1 -0
  87. package/dist/src/init/executor.d.ts +11 -0
  88. package/dist/src/init/executor.d.ts.map +1 -0
  89. package/dist/src/init/executor.js +652 -0
  90. package/dist/src/init/executor.js.map +1 -0
  91. package/dist/src/init/helpers-generator.d.ts +42 -0
  92. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  93. package/dist/src/init/helpers-generator.js +613 -0
  94. package/dist/src/init/helpers-generator.js.map +1 -0
  95. package/dist/src/init/index.d.ts +12 -0
  96. package/dist/src/init/index.d.ts.map +1 -0
  97. package/dist/src/init/index.js +15 -0
  98. package/dist/src/init/index.js.map +1 -0
  99. package/dist/src/init/mcp-generator.d.ts +18 -0
  100. package/dist/src/init/mcp-generator.d.ts.map +1 -0
  101. package/dist/src/init/mcp-generator.js +71 -0
  102. package/dist/src/init/mcp-generator.js.map +1 -0
  103. package/dist/src/init/settings-generator.d.ts +14 -0
  104. package/dist/src/init/settings-generator.d.ts.map +1 -0
  105. package/dist/src/init/settings-generator.js +267 -0
  106. package/dist/src/init/settings-generator.js.map +1 -0
  107. package/dist/src/init/statusline-generator.d.ts +14 -0
  108. package/dist/src/init/statusline-generator.d.ts.map +1 -0
  109. package/dist/src/init/statusline-generator.js +206 -0
  110. package/dist/src/init/statusline-generator.js.map +1 -0
  111. package/dist/src/init/types.d.ts +240 -0
  112. package/dist/src/init/types.d.ts.map +1 -0
  113. package/dist/src/init/types.js +210 -0
  114. package/dist/src/init/types.js.map +1 -0
  115. package/dist/src/mcp-client.d.ts +92 -0
  116. package/dist/src/mcp-client.d.ts.map +1 -0
  117. package/dist/src/mcp-client.js +203 -0
  118. package/dist/src/mcp-client.js.map +1 -0
  119. package/dist/src/mcp-server.d.ts +153 -0
  120. package/dist/src/mcp-server.d.ts.map +1 -0
  121. package/dist/src/mcp-server.js +453 -0
  122. package/dist/src/mcp-server.js.map +1 -0
  123. package/dist/src/mcp-tools/agent-tools.d.ts +8 -0
  124. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -0
  125. package/dist/src/mcp-tools/agent-tools.js +426 -0
  126. package/dist/src/mcp-tools/agent-tools.js.map +1 -0
  127. package/dist/src/mcp-tools/config-tools.d.ts +8 -0
  128. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -0
  129. package/dist/src/mcp-tools/config-tools.js +333 -0
  130. package/dist/src/mcp-tools/config-tools.js.map +1 -0
  131. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  132. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  133. package/dist/src/mcp-tools/hive-mind-tools.js +447 -0
  134. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  135. package/dist/src/mcp-tools/hooks-tools.d.ts +41 -0
  136. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -0
  137. package/dist/src/mcp-tools/hooks-tools.js +1711 -0
  138. package/dist/src/mcp-tools/hooks-tools.js.map +1 -0
  139. package/dist/src/mcp-tools/index.d.ts +16 -0
  140. package/dist/src/mcp-tools/index.d.ts.map +1 -0
  141. package/dist/src/mcp-tools/index.js +15 -0
  142. package/dist/src/mcp-tools/index.js.map +1 -0
  143. package/dist/src/mcp-tools/memory-tools.d.ts +8 -0
  144. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -0
  145. package/dist/src/mcp-tools/memory-tools.js +235 -0
  146. package/dist/src/mcp-tools/memory-tools.js.map +1 -0
  147. package/dist/src/mcp-tools/session-tools.d.ts +8 -0
  148. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -0
  149. package/dist/src/mcp-tools/session-tools.js +315 -0
  150. package/dist/src/mcp-tools/session-tools.js.map +1 -0
  151. package/dist/src/mcp-tools/swarm-tools.d.ts +8 -0
  152. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -0
  153. package/dist/src/mcp-tools/swarm-tools.js +102 -0
  154. package/dist/src/mcp-tools/swarm-tools.js.map +1 -0
  155. package/dist/src/mcp-tools/task-tools.d.ts +8 -0
  156. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -0
  157. package/dist/src/mcp-tools/task-tools.js +302 -0
  158. package/dist/src/mcp-tools/task-tools.js.map +1 -0
  159. package/dist/src/mcp-tools/types.d.ts +31 -0
  160. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  161. package/dist/src/mcp-tools/types.js +7 -0
  162. package/dist/src/mcp-tools/types.js.map +1 -0
  163. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  164. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  165. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  166. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  167. package/dist/src/output.d.ts +133 -0
  168. package/dist/src/output.d.ts.map +1 -0
  169. package/dist/src/output.js +513 -0
  170. package/dist/src/output.js.map +1 -0
  171. package/dist/src/parser.d.ts +41 -0
  172. package/dist/src/parser.d.ts.map +1 -0
  173. package/dist/src/parser.js +353 -0
  174. package/dist/src/parser.js.map +1 -0
  175. package/dist/src/prompt.d.ts +44 -0
  176. package/dist/src/prompt.d.ts.map +1 -0
  177. package/dist/src/prompt.js +501 -0
  178. package/dist/src/prompt.js.map +1 -0
  179. package/dist/src/services/index.d.ts +7 -0
  180. package/dist/src/services/index.d.ts.map +1 -0
  181. package/dist/src/services/index.js +6 -0
  182. package/dist/src/services/index.js.map +1 -0
  183. package/dist/src/services/worker-daemon.d.ts +153 -0
  184. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  185. package/dist/src/services/worker-daemon.js +567 -0
  186. package/dist/src/services/worker-daemon.js.map +1 -0
  187. package/dist/src/types.d.ts +198 -0
  188. package/dist/src/types.d.ts.map +1 -0
  189. package/dist/src/types.js +38 -0
  190. package/dist/src/types.js.map +1 -0
  191. package/dist/tsconfig.tsbuildinfo +1 -0
  192. package/package.json +12 -52
  193. package/src/commands/agent.ts +955 -0
  194. package/src/commands/config.ts +452 -0
  195. package/src/commands/daemon.ts +621 -0
  196. package/src/commands/hive-mind.ts +928 -0
  197. package/src/commands/hooks.ts +2603 -0
  198. package/src/commands/index.ts +118 -0
  199. package/src/commands/init.ts +597 -0
  200. package/src/commands/mcp.ts +753 -0
  201. package/src/commands/memory.ts +1161 -0
  202. package/src/commands/migrate.ts +447 -0
  203. package/src/commands/process.ts +695 -0
  204. package/src/commands/session.ts +891 -0
  205. package/src/commands/start.ts +457 -0
  206. package/src/commands/status.ts +736 -0
  207. package/src/commands/swarm.ts +648 -0
  208. package/src/commands/task.ts +792 -0
  209. package/src/commands/workflow.ts +742 -0
  210. package/src/config-adapter.ts +210 -0
  211. package/src/index.ts +427 -0
  212. package/src/infrastructure/in-memory-repositories.ts +310 -0
  213. package/src/init/claudemd-generator.ts +631 -0
  214. package/src/init/executor.ts +762 -0
  215. package/src/init/helpers-generator.ts +628 -0
  216. package/src/init/index.ts +60 -0
  217. package/src/init/mcp-generator.ts +83 -0
  218. package/src/init/settings-generator.ts +284 -0
  219. package/src/init/statusline-generator.ts +211 -0
  220. package/src/init/types.ts +447 -0
  221. package/src/mcp-client.ts +241 -0
  222. package/src/mcp-server.ts +577 -0
  223. package/src/mcp-tools/agent-tools.ts +466 -0
  224. package/src/mcp-tools/config-tools.ts +370 -0
  225. package/src/mcp-tools/hive-mind-tools.ts +521 -0
  226. package/src/mcp-tools/hooks-tools.ts +1888 -0
  227. package/src/mcp-tools/index.ts +16 -0
  228. package/src/mcp-tools/memory-tools.ts +270 -0
  229. package/src/mcp-tools/session-tools.ts +359 -0
  230. package/src/mcp-tools/swarm-tools.ts +105 -0
  231. package/src/mcp-tools/task-tools.ts +347 -0
  232. package/src/mcp-tools/types.ts +33 -0
  233. package/src/mcp-tools/workflow-tools.ts +573 -0
  234. package/src/output.ts +639 -0
  235. package/src/parser.ts +417 -0
  236. package/src/prompt.ts +619 -0
  237. package/src/services/index.ts +15 -0
  238. package/src/services/worker-daemon.ts +726 -0
  239. package/src/types.ts +287 -0
  240. package/dist/index.d.ts +0 -30
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/index.js +0 -30
  243. package/dist/index.js.map +0 -1
@@ -0,0 +1,453 @@
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
+ import { fileURLToPath } from 'url';
25
+ import { dirname } from 'path';
26
+ // ESM-compatible __dirname
27
+ const __filename = fileURLToPath(import.meta.url);
28
+ const __dirname = dirname(__filename);
29
+ /**
30
+ * Default configuration
31
+ */
32
+ const DEFAULT_OPTIONS = {
33
+ transport: 'stdio',
34
+ host: 'localhost',
35
+ port: 3000,
36
+ pidFile: path.join(os.tmpdir(), 'claude-flow-mcp.pid'),
37
+ logFile: path.join(os.tmpdir(), 'claude-flow-mcp.log'),
38
+ tools: 'all',
39
+ daemonize: false,
40
+ timeout: 30000,
41
+ };
42
+ /**
43
+ * MCP Server Manager
44
+ *
45
+ * Manages the lifecycle of the MCP server process
46
+ */
47
+ export class MCPServerManager extends EventEmitter {
48
+ options;
49
+ process;
50
+ server;
51
+ startTime;
52
+ healthCheckInterval;
53
+ constructor(options = {}) {
54
+ super();
55
+ this.options = { ...DEFAULT_OPTIONS, ...options };
56
+ }
57
+ /**
58
+ * Start the MCP server
59
+ */
60
+ async start() {
61
+ // Check if already running
62
+ const status = await this.getStatus();
63
+ if (status.running) {
64
+ throw new Error(`MCP Server already running (PID: ${status.pid})`);
65
+ }
66
+ const startTime = performance.now();
67
+ this.startTime = new Date();
68
+ this.emit('starting', { options: this.options });
69
+ try {
70
+ if (this.options.transport === 'stdio') {
71
+ // For stdio transport, spawn the server process
72
+ await this.startStdioServer();
73
+ }
74
+ else {
75
+ // For HTTP/WebSocket, start in-process server
76
+ await this.startHttpServer();
77
+ }
78
+ const duration = performance.now() - startTime;
79
+ // Write PID file
80
+ await this.writePidFile();
81
+ // Start health check monitoring
82
+ this.startHealthMonitoring();
83
+ const finalStatus = await this.getStatus();
84
+ this.emit('started', {
85
+ ...finalStatus,
86
+ startupTime: duration,
87
+ });
88
+ return finalStatus;
89
+ }
90
+ catch (error) {
91
+ this.emit('error', error);
92
+ throw error;
93
+ }
94
+ }
95
+ /**
96
+ * Stop the MCP server
97
+ */
98
+ async stop(force = false) {
99
+ const status = await this.getStatus();
100
+ if (!status.running) {
101
+ return;
102
+ }
103
+ this.emit('stopping', { force });
104
+ try {
105
+ // Stop health monitoring
106
+ if (this.healthCheckInterval) {
107
+ clearInterval(this.healthCheckInterval);
108
+ this.healthCheckInterval = undefined;
109
+ }
110
+ if (this.process) {
111
+ // Graceful shutdown
112
+ if (!force) {
113
+ this.process.kill('SIGTERM');
114
+ await this.waitForExit(5000);
115
+ }
116
+ // Force kill if still running
117
+ if (this.process && !this.process.killed) {
118
+ this.process.kill('SIGKILL');
119
+ }
120
+ this.process = undefined;
121
+ }
122
+ if (this.server) {
123
+ await new Promise((resolve) => {
124
+ this.server.close(() => resolve());
125
+ });
126
+ this.server = undefined;
127
+ }
128
+ // Remove PID file
129
+ await this.removePidFile();
130
+ this.startTime = undefined;
131
+ this.emit('stopped');
132
+ }
133
+ catch (error) {
134
+ this.emit('error', error);
135
+ throw error;
136
+ }
137
+ }
138
+ /**
139
+ * Get server status
140
+ */
141
+ async getStatus() {
142
+ // Check PID file
143
+ const pid = await this.readPidFile();
144
+ if (!pid) {
145
+ return { running: false };
146
+ }
147
+ // Check if process is running
148
+ const isRunning = this.isProcessRunning(pid);
149
+ if (!isRunning) {
150
+ // Clean up stale PID file
151
+ await this.removePidFile();
152
+ return { running: false };
153
+ }
154
+ // Build status
155
+ const status = {
156
+ running: true,
157
+ pid,
158
+ transport: this.options.transport,
159
+ host: this.options.host,
160
+ port: this.options.port,
161
+ startedAt: this.startTime?.toISOString(),
162
+ uptime: this.startTime
163
+ ? Math.floor((Date.now() - this.startTime.getTime()) / 1000)
164
+ : undefined,
165
+ };
166
+ // Get health status for HTTP transport
167
+ if (this.options.transport !== 'stdio') {
168
+ status.health = await this.checkHealth();
169
+ }
170
+ return status;
171
+ }
172
+ /**
173
+ * Check server health
174
+ */
175
+ async checkHealth() {
176
+ if (this.options.transport === 'stdio') {
177
+ // For stdio, just check if process is running
178
+ const pid = await this.readPidFile();
179
+ return {
180
+ healthy: pid !== null && this.isProcessRunning(pid),
181
+ };
182
+ }
183
+ // For HTTP/WebSocket, make health check request
184
+ try {
185
+ const response = await this.httpRequest(`http://${this.options.host}:${this.options.port}/health`, 'GET', this.options.timeout);
186
+ return {
187
+ healthy: response.status === 'ok',
188
+ metrics: {
189
+ connections: response.connections || 0,
190
+ },
191
+ };
192
+ }
193
+ catch (error) {
194
+ return {
195
+ healthy: false,
196
+ error: error instanceof Error ? error.message : 'Unknown error',
197
+ };
198
+ }
199
+ }
200
+ /**
201
+ * Restart the server
202
+ */
203
+ async restart() {
204
+ await this.stop();
205
+ return await this.start();
206
+ }
207
+ /**
208
+ * Start stdio server process
209
+ */
210
+ async startStdioServer() {
211
+ // Resolve server script path relative to this file
212
+ const serverScript = path.resolve(__dirname, '../../../mcp/server-entry.ts');
213
+ // Check if tsx is available
214
+ const command = 'npx';
215
+ const args = [
216
+ 'tsx',
217
+ serverScript,
218
+ '--transport', this.options.transport,
219
+ '--host', this.options.host,
220
+ '--port', String(this.options.port),
221
+ ];
222
+ if (this.options.tools !== 'all') {
223
+ args.push('--tools', this.options.tools.join(','));
224
+ }
225
+ this.process = spawn(command, args, {
226
+ stdio: this.options.daemonize ? 'ignore' : ['pipe', 'pipe', 'pipe'],
227
+ detached: this.options.daemonize,
228
+ env: {
229
+ ...process.env,
230
+ NODE_ENV: process.env.NODE_ENV || 'production',
231
+ MCP_SERVER_MODE: 'true',
232
+ },
233
+ });
234
+ if (this.options.daemonize) {
235
+ this.process.unref();
236
+ }
237
+ // Handle process events
238
+ this.process.on('error', (error) => {
239
+ this.emit('error', error);
240
+ });
241
+ this.process.on('exit', (code, signal) => {
242
+ this.emit('exit', { code, signal });
243
+ this.process = undefined;
244
+ });
245
+ // Wait for server to be ready
246
+ await this.waitForReady();
247
+ }
248
+ /**
249
+ * Start HTTP server in-process
250
+ */
251
+ async startHttpServer() {
252
+ // Dynamically import the MCP server
253
+ // Note: Path is relative to the compiled output location
254
+ const mcpServerPath = path.resolve(__dirname, '../../../mcp/server.js');
255
+ const { MCPServer, createMCPServer } = await import(mcpServerPath);
256
+ const logger = {
257
+ debug: (msg, data) => this.emit('log', { level: 'debug', msg, data }),
258
+ info: (msg, data) => this.emit('log', { level: 'info', msg, data }),
259
+ warn: (msg, data) => this.emit('log', { level: 'warn', msg, data }),
260
+ error: (msg, data) => this.emit('log', { level: 'error', msg, data }),
261
+ };
262
+ const mcpServer = createMCPServer({
263
+ name: 'Claude-Flow MCP Server V3',
264
+ version: '3.0.0',
265
+ transport: this.options.transport,
266
+ host: this.options.host,
267
+ port: this.options.port,
268
+ enableMetrics: true,
269
+ enableCaching: true,
270
+ }, logger);
271
+ await mcpServer.start();
272
+ // Store reference for stopping
273
+ this._mcpServer = mcpServer;
274
+ }
275
+ /**
276
+ * Wait for server to be ready
277
+ */
278
+ async waitForReady(timeout = 10000) {
279
+ const startTime = Date.now();
280
+ while (Date.now() - startTime < timeout) {
281
+ const health = await this.checkHealth();
282
+ if (health.healthy) {
283
+ return;
284
+ }
285
+ await this.sleep(100);
286
+ }
287
+ // For stdio, just check if process is running
288
+ if (this.options.transport === 'stdio' && this.process && !this.process.killed) {
289
+ return;
290
+ }
291
+ throw new Error('Server failed to start within timeout');
292
+ }
293
+ /**
294
+ * Wait for process to exit
295
+ */
296
+ async waitForExit(timeout) {
297
+ if (!this.process)
298
+ return;
299
+ return new Promise((resolve) => {
300
+ const timer = setTimeout(() => {
301
+ resolve();
302
+ }, timeout);
303
+ this.process.once('exit', () => {
304
+ clearTimeout(timer);
305
+ resolve();
306
+ });
307
+ });
308
+ }
309
+ /**
310
+ * Start health monitoring
311
+ */
312
+ startHealthMonitoring() {
313
+ this.healthCheckInterval = setInterval(async () => {
314
+ try {
315
+ const health = await this.checkHealth();
316
+ this.emit('health', health);
317
+ if (!health.healthy) {
318
+ this.emit('unhealthy', health);
319
+ }
320
+ }
321
+ catch (error) {
322
+ this.emit('health-error', error);
323
+ }
324
+ }, 30000);
325
+ }
326
+ /**
327
+ * Write PID file
328
+ */
329
+ async writePidFile() {
330
+ const pid = this.process?.pid || process.pid;
331
+ await fs.promises.writeFile(this.options.pidFile, String(pid), 'utf8');
332
+ }
333
+ /**
334
+ * Read PID file
335
+ */
336
+ async readPidFile() {
337
+ try {
338
+ const content = await fs.promises.readFile(this.options.pidFile, 'utf8');
339
+ const pid = parseInt(content.trim(), 10);
340
+ return isNaN(pid) ? null : pid;
341
+ }
342
+ catch {
343
+ return null;
344
+ }
345
+ }
346
+ /**
347
+ * Remove PID file
348
+ */
349
+ async removePidFile() {
350
+ try {
351
+ await fs.promises.unlink(this.options.pidFile);
352
+ }
353
+ catch {
354
+ // Ignore errors
355
+ }
356
+ }
357
+ /**
358
+ * Check if process is running
359
+ */
360
+ isProcessRunning(pid) {
361
+ try {
362
+ process.kill(pid, 0);
363
+ return true;
364
+ }
365
+ catch {
366
+ return false;
367
+ }
368
+ }
369
+ /**
370
+ * Make HTTP request
371
+ */
372
+ async httpRequest(url, method, timeout) {
373
+ return new Promise((resolve, reject) => {
374
+ const urlObj = new URL(url);
375
+ const http = require('http');
376
+ const req = http.request({
377
+ hostname: urlObj.hostname,
378
+ port: urlObj.port,
379
+ path: urlObj.pathname,
380
+ method,
381
+ timeout,
382
+ }, (res) => {
383
+ let data = '';
384
+ res.on('data', (chunk) => {
385
+ data += chunk;
386
+ });
387
+ res.on('end', () => {
388
+ try {
389
+ resolve(JSON.parse(data));
390
+ }
391
+ catch {
392
+ resolve({ status: res.statusCode === 200 ? 'ok' : 'error' });
393
+ }
394
+ });
395
+ });
396
+ req.on('error', reject);
397
+ req.on('timeout', () => {
398
+ req.destroy();
399
+ reject(new Error('Request timeout'));
400
+ });
401
+ req.end();
402
+ });
403
+ }
404
+ /**
405
+ * Sleep utility
406
+ */
407
+ sleep(ms) {
408
+ return new Promise((resolve) => setTimeout(resolve, ms));
409
+ }
410
+ }
411
+ /**
412
+ * Create MCP server manager
413
+ */
414
+ export function createMCPServerManager(options) {
415
+ return new MCPServerManager(options);
416
+ }
417
+ /**
418
+ * Singleton server manager instance
419
+ */
420
+ let serverManager = null;
421
+ /**
422
+ * Get or create server manager singleton
423
+ */
424
+ export function getServerManager(options) {
425
+ if (!serverManager) {
426
+ serverManager = new MCPServerManager(options);
427
+ }
428
+ return serverManager;
429
+ }
430
+ /**
431
+ * Quick start MCP server
432
+ */
433
+ export async function startMCPServer(options) {
434
+ const manager = getServerManager(options);
435
+ return await manager.start();
436
+ }
437
+ /**
438
+ * Quick stop MCP server
439
+ */
440
+ export async function stopMCPServer(force = false) {
441
+ if (serverManager) {
442
+ await serverManager.stop(force);
443
+ }
444
+ }
445
+ /**
446
+ * Get MCP server status
447
+ */
448
+ export async function getMCPServerStatus() {
449
+ const manager = getServerManager();
450
+ return await manager.getStatus();
451
+ }
452
+ export default MCPServerManager;
453
+ //# 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 with file persistence.
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;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwD1C,eAAO,MAAM,UAAU,EAAE,OAAO,EAiZ/B,CAAC"}