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

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 +41 -1151
  2. package/bin/cli.js +30 -8
  3. package/dist/index.d.ts +40 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +43 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +52 -12
  8. package/dist/src/commands/agent.d.ts +0 -8
  9. package/dist/src/commands/agent.d.ts.map +0 -1
  10. package/dist/src/commands/agent.js +0 -819
  11. package/dist/src/commands/agent.js.map +0 -1
  12. package/dist/src/commands/config.d.ts +0 -8
  13. package/dist/src/commands/config.d.ts.map +0 -1
  14. package/dist/src/commands/config.js +0 -406
  15. package/dist/src/commands/config.js.map +0 -1
  16. package/dist/src/commands/daemon.d.ts +0 -8
  17. package/dist/src/commands/daemon.d.ts.map +0 -1
  18. package/dist/src/commands/daemon.js +0 -545
  19. package/dist/src/commands/daemon.js.map +0 -1
  20. package/dist/src/commands/hive-mind.d.ts +0 -8
  21. package/dist/src/commands/hive-mind.d.ts.map +0 -1
  22. package/dist/src/commands/hive-mind.js +0 -844
  23. package/dist/src/commands/hive-mind.js.map +0 -1
  24. package/dist/src/commands/hooks.d.ts +0 -8
  25. package/dist/src/commands/hooks.d.ts.map +0 -1
  26. package/dist/src/commands/hooks.js +0 -2098
  27. package/dist/src/commands/hooks.js.map +0 -1
  28. package/dist/src/commands/index.d.ts +0 -52
  29. package/dist/src/commands/index.d.ts.map +0 -1
  30. package/dist/src/commands/index.js +0 -108
  31. package/dist/src/commands/index.js.map +0 -1
  32. package/dist/src/commands/init.d.ts +0 -8
  33. package/dist/src/commands/init.d.ts.map +0 -1
  34. package/dist/src/commands/init.js +0 -532
  35. package/dist/src/commands/init.js.map +0 -1
  36. package/dist/src/commands/mcp.d.ts +0 -11
  37. package/dist/src/commands/mcp.d.ts.map +0 -1
  38. package/dist/src/commands/mcp.js +0 -662
  39. package/dist/src/commands/mcp.js.map +0 -1
  40. package/dist/src/commands/memory.d.ts +0 -8
  41. package/dist/src/commands/memory.d.ts.map +0 -1
  42. package/dist/src/commands/memory.js +0 -977
  43. package/dist/src/commands/memory.js.map +0 -1
  44. package/dist/src/commands/migrate.d.ts +0 -8
  45. package/dist/src/commands/migrate.d.ts.map +0 -1
  46. package/dist/src/commands/migrate.js +0 -398
  47. package/dist/src/commands/migrate.js.map +0 -1
  48. package/dist/src/commands/process.d.ts +0 -10
  49. package/dist/src/commands/process.d.ts.map +0 -1
  50. package/dist/src/commands/process.js +0 -641
  51. package/dist/src/commands/process.js.map +0 -1
  52. package/dist/src/commands/session.d.ts +0 -8
  53. package/dist/src/commands/session.d.ts.map +0 -1
  54. package/dist/src/commands/session.js +0 -750
  55. package/dist/src/commands/session.js.map +0 -1
  56. package/dist/src/commands/start.d.ts +0 -8
  57. package/dist/src/commands/start.d.ts.map +0 -1
  58. package/dist/src/commands/start.js +0 -398
  59. package/dist/src/commands/start.js.map +0 -1
  60. package/dist/src/commands/status.d.ts +0 -8
  61. package/dist/src/commands/status.d.ts.map +0 -1
  62. package/dist/src/commands/status.js +0 -584
  63. package/dist/src/commands/status.js.map +0 -1
  64. package/dist/src/commands/swarm.d.ts +0 -8
  65. package/dist/src/commands/swarm.d.ts.map +0 -1
  66. package/dist/src/commands/swarm.js +0 -573
  67. package/dist/src/commands/swarm.js.map +0 -1
  68. package/dist/src/commands/task.d.ts +0 -8
  69. package/dist/src/commands/task.d.ts.map +0 -1
  70. package/dist/src/commands/task.js +0 -671
  71. package/dist/src/commands/task.js.map +0 -1
  72. package/dist/src/commands/workflow.d.ts +0 -8
  73. package/dist/src/commands/workflow.d.ts.map +0 -1
  74. package/dist/src/commands/workflow.js +0 -617
  75. package/dist/src/commands/workflow.js.map +0 -1
  76. package/dist/src/config-adapter.d.ts +0 -15
  77. package/dist/src/config-adapter.d.ts.map +0 -1
  78. package/dist/src/config-adapter.js +0 -185
  79. package/dist/src/config-adapter.js.map +0 -1
  80. package/dist/src/index.d.ts +0 -55
  81. package/dist/src/index.d.ts.map +0 -1
  82. package/dist/src/index.js +0 -353
  83. package/dist/src/index.js.map +0 -1
  84. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  85. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  86. package/dist/src/infrastructure/in-memory-repositories.js +0 -264
  87. package/dist/src/infrastructure/in-memory-repositories.js.map +0 -1
  88. package/dist/src/init/claudemd-generator.d.ts +0 -15
  89. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  90. package/dist/src/init/claudemd-generator.js +0 -626
  91. package/dist/src/init/claudemd-generator.js.map +0 -1
  92. package/dist/src/init/executor.d.ts +0 -11
  93. package/dist/src/init/executor.d.ts.map +0 -1
  94. package/dist/src/init/executor.js +0 -652
  95. package/dist/src/init/executor.js.map +0 -1
  96. package/dist/src/init/helpers-generator.d.ts +0 -42
  97. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  98. package/dist/src/init/helpers-generator.js +0 -613
  99. package/dist/src/init/helpers-generator.js.map +0 -1
  100. package/dist/src/init/index.d.ts +0 -12
  101. package/dist/src/init/index.d.ts.map +0 -1
  102. package/dist/src/init/index.js +0 -15
  103. package/dist/src/init/index.js.map +0 -1
  104. package/dist/src/init/mcp-generator.d.ts +0 -18
  105. package/dist/src/init/mcp-generator.d.ts.map +0 -1
  106. package/dist/src/init/mcp-generator.js +0 -71
  107. package/dist/src/init/mcp-generator.js.map +0 -1
  108. package/dist/src/init/settings-generator.d.ts +0 -14
  109. package/dist/src/init/settings-generator.d.ts.map +0 -1
  110. package/dist/src/init/settings-generator.js +0 -267
  111. package/dist/src/init/settings-generator.js.map +0 -1
  112. package/dist/src/init/statusline-generator.d.ts +0 -14
  113. package/dist/src/init/statusline-generator.d.ts.map +0 -1
  114. package/dist/src/init/statusline-generator.js +0 -206
  115. package/dist/src/init/statusline-generator.js.map +0 -1
  116. package/dist/src/init/types.d.ts +0 -240
  117. package/dist/src/init/types.d.ts.map +0 -1
  118. package/dist/src/init/types.js +0 -210
  119. package/dist/src/init/types.js.map +0 -1
  120. package/dist/src/mcp-client.d.ts +0 -92
  121. package/dist/src/mcp-client.d.ts.map +0 -1
  122. package/dist/src/mcp-client.js +0 -203
  123. package/dist/src/mcp-client.js.map +0 -1
  124. package/dist/src/mcp-server.d.ts +0 -153
  125. package/dist/src/mcp-server.d.ts.map +0 -1
  126. package/dist/src/mcp-server.js +0 -453
  127. package/dist/src/mcp-server.js.map +0 -1
  128. package/dist/src/mcp-tools/agent-tools.d.ts +0 -8
  129. package/dist/src/mcp-tools/agent-tools.d.ts.map +0 -1
  130. package/dist/src/mcp-tools/agent-tools.js +0 -426
  131. package/dist/src/mcp-tools/agent-tools.js.map +0 -1
  132. package/dist/src/mcp-tools/config-tools.d.ts +0 -8
  133. package/dist/src/mcp-tools/config-tools.d.ts.map +0 -1
  134. package/dist/src/mcp-tools/config-tools.js +0 -333
  135. package/dist/src/mcp-tools/config-tools.js.map +0 -1
  136. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
  137. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  138. package/dist/src/mcp-tools/hive-mind-tools.js +0 -447
  139. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  140. package/dist/src/mcp-tools/hooks-tools.d.ts +0 -41
  141. package/dist/src/mcp-tools/hooks-tools.d.ts.map +0 -1
  142. package/dist/src/mcp-tools/hooks-tools.js +0 -1711
  143. package/dist/src/mcp-tools/hooks-tools.js.map +0 -1
  144. package/dist/src/mcp-tools/index.d.ts +0 -16
  145. package/dist/src/mcp-tools/index.d.ts.map +0 -1
  146. package/dist/src/mcp-tools/index.js +0 -15
  147. package/dist/src/mcp-tools/index.js.map +0 -1
  148. package/dist/src/mcp-tools/memory-tools.d.ts +0 -8
  149. package/dist/src/mcp-tools/memory-tools.d.ts.map +0 -1
  150. package/dist/src/mcp-tools/memory-tools.js +0 -235
  151. package/dist/src/mcp-tools/memory-tools.js.map +0 -1
  152. package/dist/src/mcp-tools/session-tools.d.ts +0 -8
  153. package/dist/src/mcp-tools/session-tools.d.ts.map +0 -1
  154. package/dist/src/mcp-tools/session-tools.js +0 -315
  155. package/dist/src/mcp-tools/session-tools.js.map +0 -1
  156. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -8
  157. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  158. package/dist/src/mcp-tools/swarm-tools.js +0 -102
  159. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  160. package/dist/src/mcp-tools/task-tools.d.ts +0 -8
  161. package/dist/src/mcp-tools/task-tools.d.ts.map +0 -1
  162. package/dist/src/mcp-tools/task-tools.js +0 -302
  163. package/dist/src/mcp-tools/task-tools.js.map +0 -1
  164. package/dist/src/mcp-tools/types.d.ts +0 -31
  165. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  166. package/dist/src/mcp-tools/types.js +0 -7
  167. package/dist/src/mcp-tools/types.js.map +0 -1
  168. package/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  169. package/dist/src/mcp-tools/workflow-tools.d.ts.map +0 -1
  170. package/dist/src/mcp-tools/workflow-tools.js +0 -481
  171. package/dist/src/mcp-tools/workflow-tools.js.map +0 -1
  172. package/dist/src/output.d.ts +0 -133
  173. package/dist/src/output.d.ts.map +0 -1
  174. package/dist/src/output.js +0 -513
  175. package/dist/src/output.js.map +0 -1
  176. package/dist/src/parser.d.ts +0 -41
  177. package/dist/src/parser.d.ts.map +0 -1
  178. package/dist/src/parser.js +0 -353
  179. package/dist/src/parser.js.map +0 -1
  180. package/dist/src/prompt.d.ts +0 -44
  181. package/dist/src/prompt.d.ts.map +0 -1
  182. package/dist/src/prompt.js +0 -501
  183. package/dist/src/prompt.js.map +0 -1
  184. package/dist/src/services/index.d.ts +0 -7
  185. package/dist/src/services/index.d.ts.map +0 -1
  186. package/dist/src/services/index.js +0 -6
  187. package/dist/src/services/index.js.map +0 -1
  188. package/dist/src/services/worker-daemon.d.ts +0 -153
  189. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  190. package/dist/src/services/worker-daemon.js +0 -567
  191. package/dist/src/services/worker-daemon.js.map +0 -1
  192. package/dist/src/types.d.ts +0 -198
  193. package/dist/src/types.d.ts.map +0 -1
  194. package/dist/src/types.js +0 -38
  195. package/dist/src/types.js.map +0 -1
  196. package/dist/tsconfig.tsbuildinfo +0 -1
  197. package/src/commands/agent.ts +0 -955
  198. package/src/commands/config.ts +0 -452
  199. package/src/commands/daemon.ts +0 -621
  200. package/src/commands/hive-mind.ts +0 -928
  201. package/src/commands/hooks.ts +0 -2603
  202. package/src/commands/index.ts +0 -118
  203. package/src/commands/init.ts +0 -597
  204. package/src/commands/mcp.ts +0 -753
  205. package/src/commands/memory.ts +0 -1161
  206. package/src/commands/migrate.ts +0 -447
  207. package/src/commands/process.ts +0 -695
  208. package/src/commands/session.ts +0 -891
  209. package/src/commands/start.ts +0 -457
  210. package/src/commands/status.ts +0 -736
  211. package/src/commands/swarm.ts +0 -648
  212. package/src/commands/task.ts +0 -792
  213. package/src/commands/workflow.ts +0 -742
  214. package/src/config-adapter.ts +0 -210
  215. package/src/index.ts +0 -427
  216. package/src/infrastructure/in-memory-repositories.ts +0 -310
  217. package/src/init/claudemd-generator.ts +0 -631
  218. package/src/init/executor.ts +0 -762
  219. package/src/init/helpers-generator.ts +0 -628
  220. package/src/init/index.ts +0 -60
  221. package/src/init/mcp-generator.ts +0 -83
  222. package/src/init/settings-generator.ts +0 -284
  223. package/src/init/statusline-generator.ts +0 -211
  224. package/src/init/types.ts +0 -447
  225. package/src/mcp-client.ts +0 -241
  226. package/src/mcp-server.ts +0 -577
  227. package/src/mcp-tools/agent-tools.ts +0 -466
  228. package/src/mcp-tools/config-tools.ts +0 -370
  229. package/src/mcp-tools/hive-mind-tools.ts +0 -521
  230. package/src/mcp-tools/hooks-tools.ts +0 -1888
  231. package/src/mcp-tools/index.ts +0 -16
  232. package/src/mcp-tools/memory-tools.ts +0 -270
  233. package/src/mcp-tools/session-tools.ts +0 -359
  234. package/src/mcp-tools/swarm-tools.ts +0 -105
  235. package/src/mcp-tools/task-tools.ts +0 -347
  236. package/src/mcp-tools/types.ts +0 -33
  237. package/src/mcp-tools/workflow-tools.ts +0 -573
  238. package/src/output.ts +0 -639
  239. package/src/parser.ts +0 -417
  240. package/src/prompt.ts +0 -619
  241. package/src/services/index.ts +0 -15
  242. package/src/services/worker-daemon.ts +0 -726
  243. package/src/types.ts +0 -287
@@ -1,545 +0,0 @@
1
- /**
2
- * V3 CLI Daemon Command
3
- * Manages background worker daemon (Node.js-based, similar to shell helpers)
4
- */
5
- import { output } from '../output.js';
6
- import { getDaemon, startDaemon, stopDaemon } from '../services/worker-daemon.js';
7
- import { spawn } from 'child_process';
8
- import { fileURLToPath } from 'url';
9
- import { dirname, join } from 'path';
10
- import * as fs from 'fs';
11
- // Start daemon subcommand
12
- const startCommand = {
13
- name: 'start',
14
- description: 'Start the worker daemon with all enabled background workers',
15
- options: [
16
- { name: 'workers', short: 'w', type: 'string', description: 'Comma-separated list of workers to enable (default: map,audit,optimize,consolidate,testgaps)' },
17
- { name: 'quiet', short: 'q', type: 'boolean', description: 'Suppress output' },
18
- { name: 'background', short: 'b', type: 'boolean', description: 'Run daemon in background (detached process)', default: true },
19
- { name: 'foreground', short: 'f', type: 'boolean', description: 'Run daemon in foreground (blocks terminal)' },
20
- ],
21
- examples: [
22
- { command: 'claude-flow daemon start', description: 'Start daemon in background (default)' },
23
- { command: 'claude-flow daemon start --foreground', description: 'Start in foreground (blocks terminal)' },
24
- { command: 'claude-flow daemon start -w map,audit,optimize', description: 'Start with specific workers' },
25
- ],
26
- action: async (ctx) => {
27
- const quiet = ctx.flags.quiet;
28
- const foreground = ctx.flags.foreground;
29
- const projectRoot = process.cwd();
30
- const isDaemonProcess = process.env.CLAUDE_FLOW_DAEMON === '1';
31
- // Check if background daemon already running (skip if we ARE the daemon process)
32
- if (!isDaemonProcess) {
33
- const bgPid = getBackgroundDaemonPid(projectRoot);
34
- if (bgPid && isProcessRunning(bgPid)) {
35
- if (!quiet) {
36
- output.printWarning(`Daemon already running in background (PID: ${bgPid})`);
37
- }
38
- return { success: true };
39
- }
40
- }
41
- // Background mode (default): fork a detached process
42
- if (!foreground) {
43
- return startBackgroundDaemon(projectRoot, quiet);
44
- }
45
- // Foreground mode: run in current process (blocks terminal)
46
- try {
47
- const stateDir = join(projectRoot, '.claude-flow');
48
- const pidFile = join(stateDir, 'daemon.pid');
49
- // Ensure state directory exists
50
- if (!fs.existsSync(stateDir)) {
51
- fs.mkdirSync(stateDir, { recursive: true });
52
- }
53
- // Write PID file for foreground mode
54
- fs.writeFileSync(pidFile, String(process.pid));
55
- // Clean up PID file on exit
56
- const cleanup = () => {
57
- try {
58
- if (fs.existsSync(pidFile)) {
59
- fs.unlinkSync(pidFile);
60
- }
61
- }
62
- catch { /* ignore */ }
63
- };
64
- process.on('exit', cleanup);
65
- process.on('SIGINT', () => { cleanup(); process.exit(0); });
66
- process.on('SIGTERM', () => { cleanup(); process.exit(0); });
67
- if (!quiet) {
68
- const spinner = output.createSpinner({ text: 'Starting worker daemon...', spinner: 'dots' });
69
- spinner.start();
70
- const daemon = await startDaemon(projectRoot);
71
- const status = daemon.getStatus();
72
- spinner.succeed('Worker daemon started (foreground mode)');
73
- output.writeln();
74
- output.printBox([
75
- `PID: ${status.pid}`,
76
- `Started: ${status.startedAt?.toISOString()}`,
77
- `Workers: ${status.config.workers.filter(w => w.enabled).length} enabled`,
78
- `Max Concurrent: ${status.config.maxConcurrent}`,
79
- ].join('\n'), 'Daemon Status');
80
- output.writeln();
81
- output.writeln(output.bold('Scheduled Workers'));
82
- output.printTable({
83
- columns: [
84
- { key: 'type', header: 'Worker', width: 15 },
85
- { key: 'interval', header: 'Interval', width: 12 },
86
- { key: 'priority', header: 'Priority', width: 10 },
87
- { key: 'description', header: 'Description', width: 30 },
88
- ],
89
- data: status.config.workers
90
- .filter(w => w.enabled)
91
- .map(w => ({
92
- type: output.highlight(w.type),
93
- interval: `${Math.round(w.intervalMs / 60000)}min`,
94
- priority: w.priority === 'critical' ? output.error(w.priority) :
95
- w.priority === 'high' ? output.warning(w.priority) :
96
- output.dim(w.priority),
97
- description: w.description,
98
- })),
99
- });
100
- output.writeln();
101
- output.writeln(output.dim('Press Ctrl+C to stop daemon'));
102
- // Listen for worker events
103
- daemon.on('worker:start', ({ type }) => {
104
- output.writeln(output.dim(`[daemon] Worker starting: ${type}`));
105
- });
106
- daemon.on('worker:complete', ({ type, durationMs }) => {
107
- output.writeln(output.success(`[daemon] Worker completed: ${type} (${durationMs}ms)`));
108
- });
109
- daemon.on('worker:error', ({ type, error }) => {
110
- output.writeln(output.error(`[daemon] Worker failed: ${type} - ${error}`));
111
- });
112
- // Keep process alive
113
- await new Promise(() => { }); // Never resolves - daemon runs until killed
114
- }
115
- else {
116
- await startDaemon(projectRoot);
117
- await new Promise(() => { }); // Keep alive
118
- }
119
- return { success: true };
120
- }
121
- catch (error) {
122
- output.printError(`Failed to start daemon: ${error instanceof Error ? error.message : String(error)}`);
123
- return { success: false, exitCode: 1 };
124
- }
125
- },
126
- };
127
- /**
128
- * Start daemon as a detached background process
129
- */
130
- async function startBackgroundDaemon(projectRoot, quiet) {
131
- const stateDir = join(projectRoot, '.claude-flow');
132
- const pidFile = join(stateDir, 'daemon.pid');
133
- const logFile = join(stateDir, 'daemon.log');
134
- // Ensure state directory exists
135
- if (!fs.existsSync(stateDir)) {
136
- fs.mkdirSync(stateDir, { recursive: true });
137
- }
138
- // Get path to CLI (from dist/src/commands/daemon.js -> bin/cli.js)
139
- const __filename = fileURLToPath(import.meta.url);
140
- const __dirname = dirname(__filename);
141
- // dist/src/commands -> dist/src -> dist -> package root -> bin/cli.js
142
- const cliPath = join(__dirname, '..', '..', '..', 'bin', 'cli.js');
143
- // Verify CLI path exists
144
- if (!fs.existsSync(cliPath)) {
145
- output.printError(`CLI not found at: ${cliPath}`);
146
- return { success: false, exitCode: 1 };
147
- }
148
- // Use shell to spawn daemon with proper output redirection
149
- // This ensures the log file stays open even after parent exits
150
- const shellCmd = `"${process.execPath}" "${cliPath}" daemon start --foreground --quiet >> "${logFile}" 2>&1 & echo $!`;
151
- const child = spawn('sh', ['-c', shellCmd], {
152
- cwd: projectRoot,
153
- detached: true,
154
- stdio: ['ignore', 'pipe', 'ignore'],
155
- env: { ...process.env, CLAUDE_FLOW_DAEMON: '1' },
156
- });
157
- // Wait for the PID to be echoed back
158
- return new Promise((resolve) => {
159
- let pidStr = '';
160
- child.stdout?.on('data', (data) => {
161
- pidStr += data.toString();
162
- });
163
- child.on('close', () => {
164
- const pid = parseInt(pidStr.trim(), 10);
165
- if (isNaN(pid) || pid <= 0) {
166
- output.printError('Failed to get daemon PID');
167
- resolve({ success: false, exitCode: 1 });
168
- return;
169
- }
170
- // Save PID
171
- fs.writeFileSync(pidFile, String(pid));
172
- if (!quiet) {
173
- output.printSuccess(`Daemon started in background (PID: ${pid})`);
174
- output.printInfo(`Logs: ${logFile}`);
175
- output.printInfo(`Stop with: claude-flow daemon stop`);
176
- }
177
- resolve({ success: true });
178
- });
179
- // Unref so parent can exit immediately
180
- child.unref();
181
- });
182
- }
183
- // Stop daemon subcommand
184
- const stopCommand = {
185
- name: 'stop',
186
- description: 'Stop the worker daemon and all background workers',
187
- options: [
188
- { name: 'quiet', short: 'q', type: 'boolean', description: 'Suppress output' },
189
- ],
190
- examples: [
191
- { command: 'claude-flow daemon stop', description: 'Stop the daemon' },
192
- ],
193
- action: async (ctx) => {
194
- const quiet = ctx.flags.quiet;
195
- const projectRoot = process.cwd();
196
- try {
197
- if (!quiet) {
198
- const spinner = output.createSpinner({ text: 'Stopping worker daemon...', spinner: 'dots' });
199
- spinner.start();
200
- // Try to stop in-process daemon first
201
- await stopDaemon();
202
- // Also kill any background daemon by PID
203
- const killed = await killBackgroundDaemon(projectRoot);
204
- spinner.succeed(killed ? 'Worker daemon stopped' : 'Worker daemon was not running');
205
- }
206
- else {
207
- await stopDaemon();
208
- await killBackgroundDaemon(projectRoot);
209
- }
210
- return { success: true };
211
- }
212
- catch (error) {
213
- output.printError(`Failed to stop daemon: ${error instanceof Error ? error.message : String(error)}`);
214
- return { success: false, exitCode: 1 };
215
- }
216
- },
217
- };
218
- /**
219
- * Kill background daemon process using PID file
220
- */
221
- async function killBackgroundDaemon(projectRoot) {
222
- const pidFile = join(projectRoot, '.claude-flow', 'daemon.pid');
223
- if (!fs.existsSync(pidFile)) {
224
- return false;
225
- }
226
- try {
227
- const pid = parseInt(fs.readFileSync(pidFile, 'utf-8').trim(), 10);
228
- if (isNaN(pid)) {
229
- fs.unlinkSync(pidFile);
230
- return false;
231
- }
232
- // Check if process is running
233
- try {
234
- process.kill(pid, 0); // Signal 0 = check if alive
235
- }
236
- catch {
237
- // Process not running, clean up stale PID file
238
- fs.unlinkSync(pidFile);
239
- return false;
240
- }
241
- // Kill the process
242
- process.kill(pid, 'SIGTERM');
243
- // Wait a moment then force kill if needed
244
- await new Promise(resolve => setTimeout(resolve, 1000));
245
- try {
246
- process.kill(pid, 0);
247
- // Still alive, force kill
248
- process.kill(pid, 'SIGKILL');
249
- }
250
- catch {
251
- // Process terminated
252
- }
253
- // Clean up PID file
254
- if (fs.existsSync(pidFile)) {
255
- fs.unlinkSync(pidFile);
256
- }
257
- return true;
258
- }
259
- catch (error) {
260
- // Clean up PID file on any error
261
- if (fs.existsSync(pidFile)) {
262
- fs.unlinkSync(pidFile);
263
- }
264
- return false;
265
- }
266
- }
267
- /**
268
- * Get PID of background daemon from PID file
269
- */
270
- function getBackgroundDaemonPid(projectRoot) {
271
- const pidFile = join(projectRoot, '.claude-flow', 'daemon.pid');
272
- if (!fs.existsSync(pidFile)) {
273
- return null;
274
- }
275
- try {
276
- const pid = parseInt(fs.readFileSync(pidFile, 'utf-8').trim(), 10);
277
- return isNaN(pid) ? null : pid;
278
- }
279
- catch {
280
- return null;
281
- }
282
- }
283
- /**
284
- * Check if a process is running
285
- */
286
- function isProcessRunning(pid) {
287
- try {
288
- process.kill(pid, 0); // Signal 0 = check if alive
289
- return true;
290
- }
291
- catch {
292
- return false;
293
- }
294
- }
295
- // Status subcommand
296
- const statusCommand = {
297
- name: 'status',
298
- description: 'Show daemon and worker status',
299
- options: [
300
- { name: 'verbose', short: 'v', type: 'boolean', description: 'Show detailed worker statistics' },
301
- ],
302
- examples: [
303
- { command: 'claude-flow daemon status', description: 'Show daemon status' },
304
- { command: 'claude-flow daemon status -v', description: 'Show detailed status' },
305
- ],
306
- action: async (ctx) => {
307
- const verbose = ctx.flags.verbose;
308
- const projectRoot = process.cwd();
309
- try {
310
- const daemon = getDaemon(projectRoot);
311
- const status = daemon.getStatus();
312
- // Also check for background daemon
313
- const bgPid = getBackgroundDaemonPid(projectRoot);
314
- const bgRunning = bgPid ? isProcessRunning(bgPid) : false;
315
- const isRunning = status.running || bgRunning;
316
- const displayPid = bgPid || status.pid;
317
- output.writeln();
318
- // Daemon status box
319
- const statusIcon = isRunning ? output.success('●') : output.error('○');
320
- const statusText = isRunning ? output.success('RUNNING') : output.error('STOPPED');
321
- const mode = bgRunning ? output.dim(' (background)') : status.running ? output.dim(' (foreground)') : '';
322
- output.printBox([
323
- `Status: ${statusIcon} ${statusText}${mode}`,
324
- `PID: ${displayPid}`,
325
- status.startedAt ? `Started: ${status.startedAt.toISOString()}` : '',
326
- `Workers Enabled: ${status.config.workers.filter(w => w.enabled).length}`,
327
- `Max Concurrent: ${status.config.maxConcurrent}`,
328
- ].filter(Boolean).join('\n'), 'Worker Daemon');
329
- output.writeln();
330
- output.writeln(output.bold('Worker Status'));
331
- const workerData = status.config.workers.map(w => {
332
- const state = status.workers.get(w.type);
333
- return {
334
- type: w.enabled ? output.highlight(w.type) : output.dim(w.type),
335
- enabled: w.enabled ? output.success('✓') : output.dim('○'),
336
- status: state?.isRunning ? output.warning('running') :
337
- w.enabled ? output.success('idle') : output.dim('disabled'),
338
- runs: state?.runCount ?? 0,
339
- success: state ? `${Math.round((state.successCount / Math.max(state.runCount, 1)) * 100)}%` : '-',
340
- lastRun: state?.lastRun ? formatTimeAgo(state.lastRun) : output.dim('never'),
341
- nextRun: state?.nextRun && w.enabled ? formatTimeUntil(state.nextRun) : output.dim('-'),
342
- };
343
- });
344
- output.printTable({
345
- columns: [
346
- { key: 'type', header: 'Worker', width: 12 },
347
- { key: 'enabled', header: 'On', width: 4 },
348
- { key: 'status', header: 'Status', width: 10 },
349
- { key: 'runs', header: 'Runs', width: 6 },
350
- { key: 'success', header: 'Success', width: 8 },
351
- { key: 'lastRun', header: 'Last Run', width: 12 },
352
- { key: 'nextRun', header: 'Next Run', width: 12 },
353
- ],
354
- data: workerData,
355
- });
356
- if (verbose) {
357
- output.writeln();
358
- output.writeln(output.bold('Worker Configuration'));
359
- output.printTable({
360
- columns: [
361
- { key: 'type', header: 'Worker', width: 12 },
362
- { key: 'interval', header: 'Interval', width: 10 },
363
- { key: 'priority', header: 'Priority', width: 10 },
364
- { key: 'avgDuration', header: 'Avg Duration', width: 12 },
365
- { key: 'description', header: 'Description', width: 30 },
366
- ],
367
- data: status.config.workers.map(w => {
368
- const state = status.workers.get(w.type);
369
- return {
370
- type: w.type,
371
- interval: `${Math.round(w.intervalMs / 60000)}min`,
372
- priority: w.priority,
373
- avgDuration: state?.averageDurationMs ? `${Math.round(state.averageDurationMs)}ms` : '-',
374
- description: w.description,
375
- };
376
- }),
377
- });
378
- }
379
- return { success: true, data: status };
380
- }
381
- catch (error) {
382
- // Daemon not initialized
383
- output.writeln();
384
- output.printBox([
385
- `Status: ${output.error('○')} ${output.error('NOT INITIALIZED')}`,
386
- '',
387
- 'Run "claude-flow daemon start" to start the daemon',
388
- ].join('\n'), 'Worker Daemon');
389
- return { success: true };
390
- }
391
- },
392
- };
393
- // Trigger subcommand - manually run a worker
394
- const triggerCommand = {
395
- name: 'trigger',
396
- description: 'Manually trigger a specific worker',
397
- options: [
398
- { name: 'worker', short: 'w', type: 'string', description: 'Worker type to trigger', required: true },
399
- ],
400
- examples: [
401
- { command: 'claude-flow daemon trigger -w map', description: 'Trigger the map worker' },
402
- { command: 'claude-flow daemon trigger -w audit', description: 'Trigger security audit' },
403
- ],
404
- action: async (ctx) => {
405
- const workerType = ctx.flags.worker;
406
- if (!workerType) {
407
- output.printError('Worker type is required. Use --worker or -w flag.');
408
- output.writeln();
409
- output.writeln('Available workers: map, audit, optimize, consolidate, testgaps, predict, document, ultralearn, refactor, benchmark, deepdive, preload');
410
- return { success: false, exitCode: 1 };
411
- }
412
- try {
413
- const daemon = getDaemon(process.cwd());
414
- const spinner = output.createSpinner({ text: `Running ${workerType} worker...`, spinner: 'dots' });
415
- spinner.start();
416
- const result = await daemon.triggerWorker(workerType);
417
- if (result.success) {
418
- spinner.succeed(`Worker ${workerType} completed in ${result.durationMs}ms`);
419
- if (result.output) {
420
- output.writeln();
421
- output.writeln(output.bold('Output'));
422
- output.printJson(result.output);
423
- }
424
- }
425
- else {
426
- spinner.fail(`Worker ${workerType} failed: ${result.error}`);
427
- }
428
- return { success: result.success, data: result };
429
- }
430
- catch (error) {
431
- output.printError(`Failed to trigger worker: ${error instanceof Error ? error.message : String(error)}`);
432
- return { success: false, exitCode: 1 };
433
- }
434
- },
435
- };
436
- // Enable/disable worker subcommand
437
- const enableCommand = {
438
- name: 'enable',
439
- description: 'Enable or disable a specific worker',
440
- options: [
441
- { name: 'worker', short: 'w', type: 'string', description: 'Worker type', required: true },
442
- { name: 'disable', short: 'd', type: 'boolean', description: 'Disable instead of enable' },
443
- ],
444
- examples: [
445
- { command: 'claude-flow daemon enable -w predict', description: 'Enable predict worker' },
446
- { command: 'claude-flow daemon enable -w document --disable', description: 'Disable document worker' },
447
- ],
448
- action: async (ctx) => {
449
- const workerType = ctx.flags.worker;
450
- const disable = ctx.flags.disable;
451
- if (!workerType) {
452
- output.printError('Worker type is required. Use --worker or -w flag.');
453
- return { success: false, exitCode: 1 };
454
- }
455
- try {
456
- const daemon = getDaemon(process.cwd());
457
- daemon.setWorkerEnabled(workerType, !disable);
458
- output.printSuccess(`Worker ${workerType} ${disable ? 'disabled' : 'enabled'}`);
459
- return { success: true };
460
- }
461
- catch (error) {
462
- output.printError(`Failed to ${disable ? 'disable' : 'enable'} worker: ${error instanceof Error ? error.message : String(error)}`);
463
- return { success: false, exitCode: 1 };
464
- }
465
- },
466
- };
467
- // Helper functions for time formatting
468
- function formatTimeAgo(date) {
469
- const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
470
- if (seconds < 60)
471
- return `${seconds}s ago`;
472
- if (seconds < 3600)
473
- return `${Math.floor(seconds / 60)}m ago`;
474
- if (seconds < 86400)
475
- return `${Math.floor(seconds / 3600)}h ago`;
476
- return `${Math.floor(seconds / 86400)}d ago`;
477
- }
478
- function formatTimeUntil(date) {
479
- const seconds = Math.floor((date.getTime() - Date.now()) / 1000);
480
- if (seconds < 0)
481
- return 'now';
482
- if (seconds < 60)
483
- return `in ${seconds}s`;
484
- if (seconds < 3600)
485
- return `in ${Math.floor(seconds / 60)}m`;
486
- if (seconds < 86400)
487
- return `in ${Math.floor(seconds / 3600)}h`;
488
- return `in ${Math.floor(seconds / 86400)}d`;
489
- }
490
- // Main daemon command
491
- export const daemonCommand = {
492
- name: 'daemon',
493
- description: 'Manage background worker daemon (Node.js-based, auto-runs like shell helpers)',
494
- subcommands: [
495
- startCommand,
496
- stopCommand,
497
- statusCommand,
498
- triggerCommand,
499
- enableCommand,
500
- ],
501
- options: [],
502
- examples: [
503
- { command: 'claude-flow daemon start', description: 'Start the daemon' },
504
- { command: 'claude-flow daemon status', description: 'Check daemon status' },
505
- { command: 'claude-flow daemon stop', description: 'Stop the daemon' },
506
- { command: 'claude-flow daemon trigger -w audit', description: 'Run security audit' },
507
- ],
508
- action: async () => {
509
- output.writeln();
510
- output.writeln(output.bold('Worker Daemon - Background Task Management'));
511
- output.writeln();
512
- output.writeln('Node.js-based background worker system that auto-runs like shell daemons.');
513
- output.writeln('Manages 12 specialized workers for continuous optimization and monitoring.');
514
- output.writeln();
515
- output.writeln(output.bold('Available Workers'));
516
- output.printList([
517
- `${output.highlight('map')} - Codebase mapping (5 min interval)`,
518
- `${output.highlight('audit')} - Security analysis (10 min interval)`,
519
- `${output.highlight('optimize')} - Performance optimization (15 min interval)`,
520
- `${output.highlight('consolidate')} - Memory consolidation (30 min interval)`,
521
- `${output.highlight('testgaps')} - Test coverage analysis (20 min interval)`,
522
- `${output.highlight('predict')} - Predictive preloading (2 min, disabled by default)`,
523
- `${output.highlight('document')} - Auto-documentation (60 min, disabled by default)`,
524
- `${output.highlight('ultralearn')} - Deep knowledge acquisition (manual trigger)`,
525
- `${output.highlight('refactor')} - Code refactoring suggestions (manual trigger)`,
526
- `${output.highlight('benchmark')} - Performance benchmarking (manual trigger)`,
527
- `${output.highlight('deepdive')} - Deep code analysis (manual trigger)`,
528
- `${output.highlight('preload')} - Resource preloading (manual trigger)`,
529
- ]);
530
- output.writeln();
531
- output.writeln(output.bold('Subcommands'));
532
- output.printList([
533
- `${output.highlight('start')} - Start the daemon`,
534
- `${output.highlight('stop')} - Stop the daemon`,
535
- `${output.highlight('status')} - Show daemon status`,
536
- `${output.highlight('trigger')} - Manually run a worker`,
537
- `${output.highlight('enable')} - Enable/disable a worker`,
538
- ]);
539
- output.writeln();
540
- output.writeln('Run "claude-flow daemon <subcommand> --help" for details');
541
- return { success: true };
542
- },
543
- };
544
- export default daemonCommand;
545
- //# sourceMappingURL=daemon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/commands/daemon.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * V3 CLI Hive Mind Command
3
- * Queen-led consensus-based multi-agent coordination
4
- */
5
- import type { Command } from '../types.js';
6
- export declare const hiveMindCommand: Command;
7
- export default hiveMindCommand;
8
- //# sourceMappingURL=hive-mind.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hive-mind.d.ts","sourceRoot":"","sources":["../../../src/commands/hive-mind.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA0yB1E,eAAO,MAAM,eAAe,EAAE,OA2C7B,CAAC;AAqEF,eAAe,eAAe,CAAC"}