claude-flow-novice 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,417 @@
1
+ // monitor.js - System monitoring commands with real metrics
2
+ import { printSuccess, printError, printWarning } from '../utils.js';
3
+ import os from 'os';
4
+ import { performance } from 'perf_hooks';
5
+ import fs from 'fs/promises';
6
+ import path from 'path';
7
+
8
+ export async function monitorCommand(subArgs, flags) {
9
+ const interval = getFlag(subArgs, '--interval') || flags.interval || 5000;
10
+ const format = getFlag(subArgs, '--format') || flags.format || 'pretty';
11
+ const continuous = subArgs.includes('--watch') || flags.watch;
12
+
13
+ if (continuous) {
14
+ await runContinuousMonitoring(interval, format);
15
+ } else {
16
+ await showCurrentMetrics(format);
17
+ }
18
+ }
19
+
20
+ async function showCurrentMetrics(format) {
21
+ const metrics = await collectMetrics();
22
+
23
+ if (format === 'json') {
24
+ console.log(JSON.stringify(metrics, null, 2));
25
+ } else {
26
+ displayMetrics(metrics);
27
+ }
28
+ }
29
+
30
+ async function runContinuousMonitoring(interval, format) {
31
+ printSuccess(`Starting continuous monitoring (interval: ${interval}ms)`);
32
+ console.log('Press Ctrl+C to stop monitoring\n');
33
+
34
+ // Set up signal handler for graceful shutdown
35
+ let monitorInterval;
36
+ const cleanup = () => {
37
+ if (monitorInterval) {
38
+ clearInterval(monitorInterval);
39
+ }
40
+ console.log('\nšŸ‘‹ Monitoring stopped');
41
+ process.exit(0);
42
+ };
43
+
44
+ process.on('SIGINT', cleanup);
45
+ process.on('SIGTERM', cleanup);
46
+
47
+ // Initial display
48
+ const initialMetrics = await collectMetrics();
49
+ console.clear();
50
+ console.log(`šŸ”„ Monitoring Claude-Flow System`);
51
+ console.log(`ā° ${new Date().toLocaleTimeString()}\n`);
52
+
53
+ if (format === 'json') {
54
+ console.log(JSON.stringify(initialMetrics, null, 2));
55
+ } else {
56
+ displayMetrics(initialMetrics);
57
+ }
58
+
59
+ console.log(`\nšŸ”„ Next update in ${interval}ms...`);
60
+
61
+ // Start continuous monitoring
62
+ monitorInterval = setInterval(async () => {
63
+ console.clear();
64
+ console.log(`šŸ”„ Monitoring Claude-Flow System`);
65
+ console.log(`ā° ${new Date().toLocaleTimeString()}\n`);
66
+
67
+ const metrics = await collectMetrics();
68
+
69
+ if (format === 'json') {
70
+ console.log(JSON.stringify(metrics, null, 2));
71
+ } else {
72
+ displayMetrics(metrics);
73
+ }
74
+
75
+ console.log(`\nšŸ”„ Next update in ${interval}ms...`);
76
+ }, interval);
77
+ }
78
+
79
+ async function collectMetrics() {
80
+ const timestamp = Date.now();
81
+
82
+ // Collect real system metrics
83
+ const cpuUsage = await getCPUUsage();
84
+ const memoryInfo = getMemoryInfo();
85
+ const diskUsage = await getDiskUsage();
86
+ const systemUptime = os.uptime();
87
+
88
+ // Try to get orchestrator metrics from file or socket
89
+ const orchestratorMetrics = await getOrchestratorMetrics();
90
+
91
+ // Collect performance metrics
92
+ const performanceMetrics = getPerformanceMetrics();
93
+
94
+ // Collect resource utilization
95
+ const resourceMetrics = await getResourceMetrics();
96
+
97
+ return {
98
+ timestamp,
99
+ system: {
100
+ uptime: systemUptime,
101
+ cpu_usage: cpuUsage,
102
+ memory_usage: memoryInfo.usedMB,
103
+ memory_total: memoryInfo.totalMB,
104
+ memory_percentage: memoryInfo.percentage,
105
+ disk_usage: diskUsage.percentage,
106
+ disk_used: diskUsage.usedGB,
107
+ disk_total: diskUsage.totalGB,
108
+ load_average: os.loadavg(),
109
+ cpu_count: os.cpus().length,
110
+ platform: os.platform(),
111
+ node_version: process.version,
112
+ },
113
+ orchestrator: orchestratorMetrics,
114
+ performance: performanceMetrics,
115
+ resources: resourceMetrics,
116
+ };
117
+ }
118
+
119
+ // Get real CPU usage
120
+ async function getCPUUsage() {
121
+ const cpus = os.cpus();
122
+ let totalIdle = 0;
123
+ let totalTick = 0;
124
+
125
+ cpus.forEach((cpu) => {
126
+ for (const type in cpu.times) {
127
+ totalTick += cpu.times[type];
128
+ }
129
+ totalIdle += cpu.times.idle;
130
+ });
131
+
132
+ const idle = totalIdle / cpus.length;
133
+ const total = totalTick / cpus.length;
134
+ const usage = 100 - ~~((100 * idle) / total);
135
+
136
+ return Math.max(0, Math.min(100, usage));
137
+ }
138
+
139
+ // Get real memory information
140
+ function getMemoryInfo() {
141
+ const totalMem = os.totalmem();
142
+ const freeMem = os.freemem();
143
+ const usedMem = totalMem - freeMem;
144
+
145
+ return {
146
+ totalMB: Math.round(totalMem / 1024 / 1024),
147
+ freeMB: Math.round(freeMem / 1024 / 1024),
148
+ usedMB: Math.round(usedMem / 1024 / 1024),
149
+ percentage: Math.round((usedMem / totalMem) * 100),
150
+ };
151
+ }
152
+
153
+ // Get real disk usage (simplified - checks current working directory)
154
+ async function getDiskUsage() {
155
+ try {
156
+ const stats = await fs.statfs(process.cwd());
157
+ const totalBytes = stats.blocks * stats.bsize;
158
+ const freeBytes = stats.bavail * stats.bsize;
159
+ const usedBytes = totalBytes - freeBytes;
160
+
161
+ return {
162
+ totalGB: Math.round((totalBytes / 1024 / 1024 / 1024) * 10) / 10,
163
+ usedGB: Math.round((usedBytes / 1024 / 1024 / 1024) * 10) / 10,
164
+ freeGB: Math.round((freeBytes / 1024 / 1024 / 1024) * 10) / 10,
165
+ percentage: Math.round((usedBytes / totalBytes) * 100),
166
+ };
167
+ } catch (error) {
168
+ // Fallback for older Node.js versions or unsupported platforms
169
+ return {
170
+ totalGB: 0,
171
+ usedGB: 0,
172
+ freeGB: 0,
173
+ percentage: 0,
174
+ };
175
+ }
176
+ }
177
+
178
+ // Get orchestrator metrics from running instance
179
+ async function getOrchestratorMetrics() {
180
+ try {
181
+ // Try to read from metrics file if orchestrator is running
182
+ const metricsPath = path.join(process.cwd(), '.claude-flow', 'metrics.json');
183
+ const metricsData = await fs.readFile(metricsPath, 'utf8');
184
+ const metrics = JSON.parse(metricsData);
185
+
186
+ return {
187
+ status: 'running',
188
+ active_agents: metrics.activeAgents || 0,
189
+ queued_tasks: metrics.queuedTasks || 0,
190
+ completed_tasks: metrics.completedTasks || 0,
191
+ failed_tasks: metrics.failedTasks || 0,
192
+ errors: metrics.errors || 0,
193
+ uptime: metrics.uptime || 0,
194
+ };
195
+ } catch (error) {
196
+ // Check if orchestrator process is running
197
+ const isRunning = await checkOrchestratorRunning();
198
+
199
+ return {
200
+ status: isRunning ? 'running' : 'stopped',
201
+ active_agents: 0,
202
+ queued_tasks: 0,
203
+ completed_tasks: 0,
204
+ failed_tasks: 0,
205
+ errors: 0,
206
+ uptime: 0,
207
+ };
208
+ }
209
+ }
210
+
211
+ // Check if orchestrator is running
212
+ async function checkOrchestratorRunning() {
213
+ try {
214
+ const pidPath = path.join(process.cwd(), '.claude-flow', 'orchestrator.pid');
215
+ const pidData = await fs.readFile(pidPath, 'utf8');
216
+ const pid = parseInt(pidData.trim());
217
+
218
+ // Check if process is running
219
+ process.kill(pid, 0);
220
+ return true;
221
+ } catch {
222
+ return false;
223
+ }
224
+ }
225
+
226
+ // Get performance metrics
227
+ function getPerformanceMetrics() {
228
+ const memUsage = process.memoryUsage();
229
+ const cpuUsage = process.cpuUsage();
230
+
231
+ return {
232
+ avg_task_duration: 0, // Would need to track actual tasks
233
+ throughput: 0, // Would need to track actual throughput
234
+ success_rate: 100, // Default to 100% if no errors
235
+ memory_heap_used: Math.round((memUsage.heapUsed / 1024 / 1024) * 100) / 100,
236
+ memory_heap_total: Math.round((memUsage.heapTotal / 1024 / 1024) * 100) / 100,
237
+ memory_external: Math.round((memUsage.external / 1024 / 1024) * 100) / 100,
238
+ cpu_user: Math.round(cpuUsage.user / 1000), // Convert to milliseconds
239
+ cpu_system: Math.round(cpuUsage.system / 1000),
240
+ };
241
+ }
242
+
243
+ // Get resource metrics
244
+ async function getResourceMetrics() {
245
+ try {
246
+ // Count memory entries from memory database if available
247
+ const memoryDbPath = path.join(process.cwd(), '.claude-flow', 'memory.db');
248
+ const memoryExists = await fs
249
+ .access(memoryDbPath)
250
+ .then(() => true)
251
+ .catch(() => false);
252
+
253
+ // Count terminal sessions
254
+ const terminalSessions = await countTerminalSessions();
255
+
256
+ // Count MCP connections
257
+ const mcpConnections = await countMCPConnections();
258
+
259
+ return {
260
+ memory_entries: memoryExists ? 'Available' : 0,
261
+ terminal_sessions: terminalSessions,
262
+ mcp_connections: mcpConnections,
263
+ open_files: process._getActiveHandles ? process._getActiveHandles().length : 0,
264
+ open_requests: process._getActiveRequests ? process._getActiveRequests().length : 0,
265
+ };
266
+ } catch (error) {
267
+ return {
268
+ memory_entries: 0,
269
+ terminal_sessions: 0,
270
+ mcp_connections: 0,
271
+ open_files: 0,
272
+ open_requests: 0,
273
+ };
274
+ }
275
+ }
276
+
277
+ // Count active terminal sessions
278
+ async function countTerminalSessions() {
279
+ try {
280
+ const sessionsPath = path.join(process.cwd(), '.claude-flow', 'sessions');
281
+ const files = await fs.readdir(sessionsPath);
282
+ return files.filter((f) => f.endsWith('.json')).length;
283
+ } catch {
284
+ return 0;
285
+ }
286
+ }
287
+
288
+ // Count MCP connections
289
+ async function countMCPConnections() {
290
+ try {
291
+ const mcpPath = path.join(process.cwd(), '.claude-flow', 'mcp-connections.json');
292
+ const data = await fs.readFile(mcpPath, 'utf8');
293
+ const connections = JSON.parse(data);
294
+ return Array.isArray(connections) ? connections.length : 0;
295
+ } catch {
296
+ return 0;
297
+ }
298
+ }
299
+
300
+ function displayMetrics(metrics) {
301
+ const timestamp = new Date(metrics.timestamp).toLocaleTimeString();
302
+
303
+ console.log('šŸ“Š System Metrics');
304
+ console.log('================');
305
+
306
+ // System metrics
307
+ console.log('\nšŸ–„ļø System Resources:');
308
+ console.log(` Platform: ${metrics.system.platform} (${metrics.system.cpu_count} CPUs)`);
309
+ console.log(` Node Version: ${metrics.system.node_version}`);
310
+ console.log(` CPU Usage: ${metrics.system.cpu_usage.toFixed(1)}%`);
311
+ console.log(
312
+ ` Memory: ${metrics.system.memory_usage.toFixed(1)} MB / ${metrics.system.memory_total.toFixed(1)} MB (${metrics.system.memory_percentage}%)`,
313
+ );
314
+ console.log(
315
+ ` Disk Usage: ${metrics.system.disk_used} GB / ${metrics.system.disk_total} GB (${metrics.system.disk_usage}%)`,
316
+ );
317
+ console.log(
318
+ ` Load Average: ${metrics.system.load_average.map((l) => l.toFixed(2)).join(', ')}`,
319
+ );
320
+ console.log(` Uptime: ${formatUptime(metrics.system.uptime)}`);
321
+
322
+ // Orchestrator metrics
323
+ console.log('\nšŸŽ­ Orchestrator:');
324
+ console.log(
325
+ ` Status: ${getStatusIcon(metrics.orchestrator.status)} ${metrics.orchestrator.status}`,
326
+ );
327
+ if (metrics.orchestrator.status === 'running') {
328
+ console.log(` Active Agents: ${metrics.orchestrator.active_agents}`);
329
+ console.log(` Queued Tasks: ${metrics.orchestrator.queued_tasks}`);
330
+ console.log(` Completed: ${metrics.orchestrator.completed_tasks}`);
331
+ console.log(` Failed: ${metrics.orchestrator.failed_tasks}`);
332
+ console.log(` Errors: ${metrics.orchestrator.errors}`);
333
+ if (metrics.orchestrator.uptime > 0) {
334
+ console.log(
335
+ ` Orchestrator Uptime: ${formatUptime(Math.floor(metrics.orchestrator.uptime / 1000))}`,
336
+ );
337
+ }
338
+ }
339
+
340
+ // Performance metrics
341
+ console.log('\n⚔ Performance:');
342
+ console.log(
343
+ ` Process Memory (Heap): ${metrics.performance.memory_heap_used.toFixed(1)} MB / ${metrics.performance.memory_heap_total.toFixed(1)} MB`,
344
+ );
345
+ console.log(` External Memory: ${metrics.performance.memory_external.toFixed(1)} MB`);
346
+ console.log(` CPU Time (User): ${metrics.performance.cpu_user}ms`);
347
+ console.log(` CPU Time (System): ${metrics.performance.cpu_system}ms`);
348
+ if (metrics.performance.avg_task_duration > 0) {
349
+ console.log(` Avg Task Duration: ${metrics.performance.avg_task_duration.toFixed(0)}ms`);
350
+ console.log(` Throughput: ${metrics.performance.throughput.toFixed(1)} tasks/min`);
351
+ console.log(` Success Rate: ${metrics.performance.success_rate.toFixed(1)}%`);
352
+ }
353
+
354
+ // Resource utilization
355
+ console.log('\nšŸ“¦ Resources:');
356
+ console.log(` Memory Entries: ${metrics.resources.memory_entries}`);
357
+ console.log(` Terminal Sessions: ${metrics.resources.terminal_sessions}`);
358
+ console.log(` MCP Connections: ${metrics.resources.mcp_connections}`);
359
+ console.log(` Open File Handles: ${metrics.resources.open_files}`);
360
+ console.log(` Active Requests: ${metrics.resources.open_requests}`);
361
+
362
+ console.log(`\nā° Last Updated: ${timestamp}`);
363
+ }
364
+
365
+ function getStatusIcon(status) {
366
+ switch (status) {
367
+ case 'running':
368
+ return '🟢';
369
+ case 'stopped':
370
+ return 'šŸ”“';
371
+ case 'starting':
372
+ return '🟔';
373
+ case 'error':
374
+ return 'āŒ';
375
+ default:
376
+ return '⚪';
377
+ }
378
+ }
379
+
380
+ function formatUptime(seconds) {
381
+ const days = Math.floor(seconds / 86400);
382
+ const hours = Math.floor((seconds % 86400) / 3600);
383
+ const minutes = Math.floor((seconds % 3600) / 60);
384
+ const secs = seconds % 60;
385
+
386
+ if (days > 0) {
387
+ return `${days}d ${hours}h ${minutes}m`;
388
+ } else if (hours > 0) {
389
+ return `${hours}h ${minutes}m ${secs}s`;
390
+ } else if (minutes > 0) {
391
+ return `${minutes}m ${secs}s`;
392
+ } else {
393
+ return `${secs}s`;
394
+ }
395
+ }
396
+
397
+ function getFlag(args, flagName) {
398
+ const index = args.indexOf(flagName);
399
+ return index !== -1 && index + 1 < args.length ? args[index + 1] : null;
400
+ }
401
+
402
+ export function showMonitorHelp() {
403
+ console.log('Monitor commands:');
404
+ console.log(' monitor [options] Show current system metrics');
405
+ console.log(' monitor --watch Continuous monitoring mode');
406
+ console.log();
407
+ console.log('Options:');
408
+ console.log(' --interval <ms> Update interval in milliseconds (default: 5000)');
409
+ console.log(' --format <type> Output format: pretty, json (default: pretty)');
410
+ console.log(' --watch Continuous monitoring mode');
411
+ console.log();
412
+ console.log('Examples:');
413
+ console.log(' claude-flow monitor # Show current metrics');
414
+ console.log(' claude-flow monitor --watch # Continuous monitoring');
415
+ console.log(' claude-flow monitor --interval 1000 --watch # Fast updates');
416
+ console.log(' claude-flow monitor --format json # JSON output');
417
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Neural module commands
3
+ * Handles 'neural init' and other neural-related commands
4
+ */
5
+
6
+ import { promises as fs } from 'fs';
7
+ import path from 'path';
8
+ import chalk from 'chalk';
9
+
10
+ export async function neuralCommand(args, flags) {
11
+ const subcommand = args[0];
12
+
13
+ if (!subcommand) {
14
+ console.log(chalk.cyan('🧠 Claude Flow Neural Module'));
15
+ console.log('\nUsage: claude-flow neural <command> [options]');
16
+ console.log('\nCommands:');
17
+ console.log(' init Initialize SAFLA neural module');
18
+ console.log('\nOptions:');
19
+ console.log(' --force Overwrite existing module');
20
+ console.log(' --target <dir> Target directory (default: .claude/agents/neural)');
21
+ return;
22
+ }
23
+
24
+ if (subcommand === 'init') {
25
+ await initNeuralModule(flags);
26
+ } else {
27
+ console.error(chalk.red(`Unknown neural subcommand: ${subcommand}`));
28
+ process.exit(1);
29
+ }
30
+ }
31
+
32
+ async function initNeuralModule(flags = {}) {
33
+ const targetDir = path.resolve(process.cwd(), flags.target || '.claude/agents/neural');
34
+
35
+ console.log(chalk.cyan('🧠 Initializing Claude Flow Neural Module...'));
36
+ console.log(chalk.gray(` Target: ${targetDir}`));
37
+
38
+ try {
39
+ // Check if exists
40
+ if ((await exists(targetDir)) && !flags.force) {
41
+ console.log(chalk.yellow('āš ļø Neural module already exists. Use --force to overwrite.'));
42
+ return;
43
+ }
44
+
45
+ // Create directory
46
+ await fs.mkdir(targetDir, { recursive: true });
47
+
48
+ // Create SAFLA neural agent content
49
+ const saflaContent = `---
50
+ name: safla-neural
51
+ description: "Self-Aware Feedback Loop Algorithm (SAFLA) neural specialist that creates intelligent, memory-persistent AI systems with self-learning capabilities. Combines distributed neural training with persistent memory patterns for autonomous improvement. Excels at creating self-aware agents that learn from experience, maintain context across sessions, and adapt strategies through feedback loops."
52
+ color: cyan
53
+ ---
54
+
55
+ You are a SAFLA Neural Specialist, an expert in Self-Aware Feedback Loop Algorithms and persistent neural architectures. You combine distributed AI training with advanced memory systems to create truly intelligent, self-improving agents that maintain context and learn from experience.
56
+
57
+ Your core capabilities:
58
+ - **Persistent Memory Architecture**: Design and implement multi-tiered memory systems
59
+ - **Feedback Loop Engineering**: Create self-improving learning cycles
60
+ - **Distributed Neural Training**: Orchestrate cloud-based neural clusters
61
+ - **Memory Compression**: Achieve 60% compression while maintaining recall
62
+ - **Real-time Processing**: Handle 172,000+ operations per second
63
+ - **Safety Constraints**: Implement comprehensive safety frameworks
64
+ - **Divergent Thinking**: Enable lateral, quantum, and chaotic neural patterns
65
+ - **Cross-Session Learning**: Maintain and evolve knowledge across sessions
66
+ - **Swarm Memory Sharing**: Coordinate distributed memory across agent swarms
67
+ - **Adaptive Strategies**: Self-modify based on performance metrics
68
+
69
+ Your memory system architecture:
70
+
71
+ **Four-Tier Memory Model**:
72
+ \`\`\`
73
+ 1. Vector Memory (Semantic Understanding)
74
+ - Dense representations of concepts
75
+ - Similarity-based retrieval
76
+ - Cross-domain associations
77
+
78
+ 2. Episodic Memory (Experience Storage)
79
+ - Complete interaction histories
80
+ - Contextual event sequences
81
+ - Temporal relationships
82
+
83
+ 3. Semantic Memory (Knowledge Base)
84
+ - Factual information
85
+ - Learned patterns and rules
86
+ - Conceptual hierarchies
87
+
88
+ 4. Working Memory (Active Context)
89
+ - Current task focus
90
+ - Recent interactions
91
+ - Immediate goals
92
+ \`\`\`
93
+
94
+ ## MCP Integration Examples
95
+
96
+ \`\`\`javascript
97
+ // Initialize SAFLA neural patterns
98
+ mcp__claude-flow__neural_train {
99
+ pattern_type: "coordination",
100
+ training_data: JSON.stringify({
101
+ architecture: "safla-transformer",
102
+ memory_tiers: ["vector", "episodic", "semantic", "working"],
103
+ feedback_loops: true,
104
+ persistence: true
105
+ }),
106
+ epochs: 50
107
+ }
108
+
109
+ // Store learning patterns
110
+ mcp__claude-flow__memory_usage {
111
+ action: "store",
112
+ namespace: "safla-learning",
113
+ key: "pattern_\${timestamp}",
114
+ value: JSON.stringify({
115
+ context: interaction_context,
116
+ outcome: result_metrics,
117
+ learning: extracted_patterns,
118
+ confidence: confidence_score
119
+ }),
120
+ ttl: 604800 // 7 days
121
+ }
122
+ \`\`\``;
123
+
124
+ await fs.writeFile(path.join(targetDir, 'safla-neural.md'), saflaContent);
125
+ console.log(chalk.gray(' āœ“ Created safla-neural.md'));
126
+
127
+ console.log(chalk.green('\nāœ… Neural module initialized successfully!'));
128
+ console.log(chalk.cyan('\nšŸ“š Usage:'));
129
+ console.log(
130
+ chalk.gray(' • In Claude Code: @agent-safla-neural "Create self-improving system"'),
131
+ );
132
+ console.log(chalk.gray(' • View agent: cat .claude/agents/neural/safla-neural.md'));
133
+ } catch (error) {
134
+ console.error(chalk.red('āŒ Failed to initialize neural module:'), error.message);
135
+ process.exit(1);
136
+ }
137
+ }
138
+
139
+ async function exists(path) {
140
+ try {
141
+ await fs.access(path);
142
+ return true;
143
+ } catch {
144
+ return false;
145
+ }
146
+ }
147
+
148
+ export default neuralCommand;