@claude-flow/cli 3.0.2 → 3.1.0-alpha.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 (1012) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +179 -0
  2. package/.claude/agents/analysis/code-analyzer.md +210 -0
  3. package/.claude/agents/analysis/code-review/analyze-code-quality.md +179 -0
  4. package/.claude/agents/architecture/arch-system-design.md +157 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +155 -0
  6. package/.claude/agents/browser/browser-agent.yaml +182 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  11. package/.claude/agents/consensus/quorum-manager.md +823 -0
  12. package/.claude/agents/consensus/raft-manager.md +63 -0
  13. package/.claude/agents/consensus/security-manager.md +622 -0
  14. package/.claude/agents/core/coder.md +453 -0
  15. package/.claude/agents/core/planner.md +375 -0
  16. package/.claude/agents/core/researcher.md +369 -0
  17. package/.claude/agents/core/reviewer.md +520 -0
  18. package/.claude/agents/core/tester.md +512 -0
  19. package/.claude/agents/custom/test-long-runner.md +44 -0
  20. package/.claude/agents/data/data-ml-model.md +445 -0
  21. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  23. package/.claude/agents/development/dev-backend-api.md +345 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  25. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  27. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  28. package/.claude/agents/flow-nexus/app-store.md +88 -0
  29. package/.claude/agents/flow-nexus/authentication.md +69 -0
  30. package/.claude/agents/flow-nexus/challenges.md +81 -0
  31. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  32. package/.claude/agents/flow-nexus/payments.md +83 -0
  33. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  34. package/.claude/agents/flow-nexus/swarm.md +76 -0
  35. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  36. package/.claude/agents/flow-nexus/workflow.md +84 -0
  37. package/.claude/agents/github/code-review-swarm.md +377 -0
  38. package/.claude/agents/github/github-modes.md +173 -0
  39. package/.claude/agents/github/issue-tracker.md +576 -0
  40. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  41. package/.claude/agents/github/pr-manager.md +438 -0
  42. package/.claude/agents/github/project-board-sync.md +509 -0
  43. package/.claude/agents/github/release-manager.md +605 -0
  44. package/.claude/agents/github/release-swarm.md +583 -0
  45. package/.claude/agents/github/repo-architect.md +398 -0
  46. package/.claude/agents/github/swarm-issue.md +573 -0
  47. package/.claude/agents/github/swarm-pr.md +428 -0
  48. package/.claude/agents/github/sync-coordinator.md +452 -0
  49. package/.claude/agents/github/workflow-automation.md +903 -0
  50. package/.claude/agents/goal/agent.md +816 -0
  51. package/.claude/agents/goal/goal-planner.md +73 -0
  52. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  53. package/.claude/agents/optimization/load-balancer.md +431 -0
  54. package/.claude/agents/optimization/performance-monitor.md +672 -0
  55. package/.claude/agents/optimization/resource-allocator.md +674 -0
  56. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  57. package/.claude/agents/payments/agentic-payments.md +126 -0
  58. package/.claude/agents/sona/sona-learning-optimizer.md +74 -0
  59. package/.claude/agents/sparc/architecture.md +699 -0
  60. package/.claude/agents/sparc/pseudocode.md +520 -0
  61. package/.claude/agents/sparc/refinement.md +802 -0
  62. package/.claude/agents/sparc/specification.md +478 -0
  63. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +225 -0
  64. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  65. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  66. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  67. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  68. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  69. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  70. package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
  71. package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
  72. package/.claude/agents/swarm/mesh-coordinator.md +963 -0
  73. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  74. package/.claude/agents/templates/base-template-generator.md +268 -0
  75. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  76. package/.claude/agents/templates/github-pr-manager.md +177 -0
  77. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  78. package/.claude/agents/templates/memory-coordinator.md +187 -0
  79. package/.claude/agents/templates/orchestrator-task.md +139 -0
  80. package/.claude/agents/templates/performance-analyzer.md +199 -0
  81. package/.claude/agents/templates/sparc-coordinator.md +514 -0
  82. package/.claude/agents/testing/production-validator.md +395 -0
  83. package/.claude/agents/testing/tdd-london-swarm.md +244 -0
  84. package/.claude/agents/v3/adr-architect.md +184 -0
  85. package/.claude/agents/v3/aidefence-guardian.md +282 -0
  86. package/.claude/agents/v3/claims-authorizer.md +208 -0
  87. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  88. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  89. package/.claude/agents/v3/injection-analyst.md +236 -0
  90. package/.claude/agents/v3/memory-specialist.md +995 -0
  91. package/.claude/agents/v3/performance-engineer.md +1233 -0
  92. package/.claude/agents/v3/pii-detector.md +151 -0
  93. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  94. package/.claude/agents/v3/security-architect-aidefence.md +410 -0
  95. package/.claude/agents/v3/security-architect.md +867 -0
  96. package/.claude/agents/v3/security-auditor.md +771 -0
  97. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  98. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  99. package/.claude/agents/v3/v3-integration-architect.md +205 -0
  100. package/.claude/commands/agents/README.md +50 -0
  101. package/.claude/commands/agents/agent-capabilities.md +140 -0
  102. package/.claude/commands/agents/agent-coordination.md +28 -0
  103. package/.claude/commands/agents/agent-spawning.md +28 -0
  104. package/.claude/commands/agents/agent-types.md +216 -0
  105. package/.claude/commands/agents/health.md +139 -0
  106. package/.claude/commands/agents/list.md +100 -0
  107. package/.claude/commands/agents/logs.md +130 -0
  108. package/.claude/commands/agents/metrics.md +122 -0
  109. package/.claude/commands/agents/pool.md +127 -0
  110. package/.claude/commands/agents/spawn.md +140 -0
  111. package/.claude/commands/agents/status.md +115 -0
  112. package/.claude/commands/agents/stop.md +102 -0
  113. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  114. package/.claude/commands/analysis/README.md +9 -0
  115. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  116. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  117. package/.claude/commands/analysis/performance-report.md +25 -0
  118. package/.claude/commands/analysis/token-efficiency.md +45 -0
  119. package/.claude/commands/analysis/token-usage.md +25 -0
  120. package/.claude/commands/automation/README.md +9 -0
  121. package/.claude/commands/automation/auto-agent.md +122 -0
  122. package/.claude/commands/automation/self-healing.md +106 -0
  123. package/.claude/commands/automation/session-memory.md +90 -0
  124. package/.claude/commands/automation/smart-agents.md +73 -0
  125. package/.claude/commands/automation/smart-spawn.md +25 -0
  126. package/.claude/commands/automation/workflow-select.md +25 -0
  127. package/.claude/commands/claude-flow-help.md +103 -0
  128. package/.claude/commands/claude-flow-memory.md +107 -0
  129. package/.claude/commands/claude-flow-swarm.md +205 -0
  130. package/.claude/commands/coordination/README.md +9 -0
  131. package/.claude/commands/coordination/agent-spawn.md +25 -0
  132. package/.claude/commands/coordination/init.md +44 -0
  133. package/.claude/commands/coordination/orchestrate.md +43 -0
  134. package/.claude/commands/coordination/spawn.md +45 -0
  135. package/.claude/commands/coordination/swarm-init.md +85 -0
  136. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  137. package/.claude/commands/flow-nexus/app-store.md +124 -0
  138. package/.claude/commands/flow-nexus/challenges.md +120 -0
  139. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  140. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  141. package/.claude/commands/flow-nexus/payments.md +116 -0
  142. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  143. package/.claude/commands/flow-nexus/swarm.md +87 -0
  144. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  145. package/.claude/commands/flow-nexus/workflow.md +115 -0
  146. package/.claude/commands/github/README.md +11 -0
  147. package/.claude/commands/github/code-review-swarm.md +514 -0
  148. package/.claude/commands/github/code-review.md +25 -0
  149. package/.claude/commands/github/github-modes.md +147 -0
  150. package/.claude/commands/github/github-swarm.md +121 -0
  151. package/.claude/commands/github/issue-tracker.md +292 -0
  152. package/.claude/commands/github/issue-triage.md +25 -0
  153. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  154. package/.claude/commands/github/pr-enhance.md +26 -0
  155. package/.claude/commands/github/pr-manager.md +170 -0
  156. package/.claude/commands/github/project-board-sync.md +471 -0
  157. package/.claude/commands/github/release-manager.md +338 -0
  158. package/.claude/commands/github/release-swarm.md +544 -0
  159. package/.claude/commands/github/repo-analyze.md +25 -0
  160. package/.claude/commands/github/repo-architect.md +367 -0
  161. package/.claude/commands/github/swarm-issue.md +482 -0
  162. package/.claude/commands/github/swarm-pr.md +285 -0
  163. package/.claude/commands/github/sync-coordinator.md +301 -0
  164. package/.claude/commands/github/workflow-automation.md +442 -0
  165. package/.claude/commands/hive-mind/README.md +17 -0
  166. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  167. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  168. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  169. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  170. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  173. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  174. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  175. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  177. package/.claude/commands/hooks/README.md +11 -0
  178. package/.claude/commands/hooks/overview.md +58 -0
  179. package/.claude/commands/hooks/post-edit.md +117 -0
  180. package/.claude/commands/hooks/post-task.md +112 -0
  181. package/.claude/commands/hooks/pre-edit.md +113 -0
  182. package/.claude/commands/hooks/pre-task.md +111 -0
  183. package/.claude/commands/hooks/session-end.md +118 -0
  184. package/.claude/commands/hooks/setup.md +103 -0
  185. package/.claude/commands/memory/README.md +9 -0
  186. package/.claude/commands/memory/memory-persist.md +25 -0
  187. package/.claude/commands/memory/memory-search.md +25 -0
  188. package/.claude/commands/memory/memory-usage.md +25 -0
  189. package/.claude/commands/memory/neural.md +47 -0
  190. package/.claude/commands/monitoring/README.md +9 -0
  191. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  192. package/.claude/commands/monitoring/agents.md +44 -0
  193. package/.claude/commands/monitoring/real-time-view.md +25 -0
  194. package/.claude/commands/monitoring/status.md +46 -0
  195. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  196. package/.claude/commands/optimization/README.md +9 -0
  197. package/.claude/commands/optimization/auto-topology.md +62 -0
  198. package/.claude/commands/optimization/cache-manage.md +25 -0
  199. package/.claude/commands/optimization/parallel-execute.md +25 -0
  200. package/.claude/commands/optimization/parallel-execution.md +50 -0
  201. package/.claude/commands/optimization/topology-optimize.md +25 -0
  202. package/.claude/commands/pair/README.md +261 -0
  203. package/.claude/commands/pair/commands.md +546 -0
  204. package/.claude/commands/pair/config.md +510 -0
  205. package/.claude/commands/pair/examples.md +512 -0
  206. package/.claude/commands/pair/modes.md +348 -0
  207. package/.claude/commands/pair/session.md +407 -0
  208. package/.claude/commands/pair/start.md +209 -0
  209. package/.claude/commands/sparc/analyzer.md +52 -0
  210. package/.claude/commands/sparc/architect.md +53 -0
  211. package/.claude/commands/sparc/ask.md +97 -0
  212. package/.claude/commands/sparc/batch-executor.md +54 -0
  213. package/.claude/commands/sparc/code.md +89 -0
  214. package/.claude/commands/sparc/coder.md +54 -0
  215. package/.claude/commands/sparc/debug.md +83 -0
  216. package/.claude/commands/sparc/debugger.md +54 -0
  217. package/.claude/commands/sparc/designer.md +53 -0
  218. package/.claude/commands/sparc/devops.md +109 -0
  219. package/.claude/commands/sparc/docs-writer.md +80 -0
  220. package/.claude/commands/sparc/documenter.md +54 -0
  221. package/.claude/commands/sparc/innovator.md +54 -0
  222. package/.claude/commands/sparc/integration.md +83 -0
  223. package/.claude/commands/sparc/mcp.md +117 -0
  224. package/.claude/commands/sparc/memory-manager.md +54 -0
  225. package/.claude/commands/sparc/optimizer.md +54 -0
  226. package/.claude/commands/sparc/orchestrator.md +132 -0
  227. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  228. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  229. package/.claude/commands/sparc/researcher.md +54 -0
  230. package/.claude/commands/sparc/reviewer.md +54 -0
  231. package/.claude/commands/sparc/security-review.md +80 -0
  232. package/.claude/commands/sparc/sparc-modes.md +174 -0
  233. package/.claude/commands/sparc/sparc.md +111 -0
  234. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  235. package/.claude/commands/sparc/supabase-admin.md +348 -0
  236. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  237. package/.claude/commands/sparc/tdd.md +54 -0
  238. package/.claude/commands/sparc/tester.md +54 -0
  239. package/.claude/commands/sparc/tutorial.md +79 -0
  240. package/.claude/commands/sparc/workflow-manager.md +54 -0
  241. package/.claude/commands/sparc.md +166 -0
  242. package/.claude/commands/stream-chain/pipeline.md +121 -0
  243. package/.claude/commands/stream-chain/run.md +70 -0
  244. package/.claude/commands/swarm/README.md +15 -0
  245. package/.claude/commands/swarm/analysis.md +95 -0
  246. package/.claude/commands/swarm/development.md +96 -0
  247. package/.claude/commands/swarm/examples.md +168 -0
  248. package/.claude/commands/swarm/maintenance.md +102 -0
  249. package/.claude/commands/swarm/optimization.md +117 -0
  250. package/.claude/commands/swarm/research.md +136 -0
  251. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  252. package/.claude/commands/swarm/swarm-background.md +8 -0
  253. package/.claude/commands/swarm/swarm-init.md +19 -0
  254. package/.claude/commands/swarm/swarm-modes.md +8 -0
  255. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  256. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  257. package/.claude/commands/swarm/swarm-status.md +8 -0
  258. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  259. package/.claude/commands/swarm/swarm.md +87 -0
  260. package/.claude/commands/swarm/testing.md +131 -0
  261. package/.claude/commands/training/README.md +9 -0
  262. package/.claude/commands/training/model-update.md +25 -0
  263. package/.claude/commands/training/neural-patterns.md +108 -0
  264. package/.claude/commands/training/neural-train.md +75 -0
  265. package/.claude/commands/training/pattern-learn.md +25 -0
  266. package/.claude/commands/training/specialization.md +63 -0
  267. package/.claude/commands/truth/start.md +143 -0
  268. package/.claude/commands/verify/check.md +50 -0
  269. package/.claude/commands/verify/start.md +128 -0
  270. package/.claude/commands/workflows/README.md +9 -0
  271. package/.claude/commands/workflows/development.md +78 -0
  272. package/.claude/commands/workflows/research.md +63 -0
  273. package/.claude/commands/workflows/workflow-create.md +25 -0
  274. package/.claude/commands/workflows/workflow-execute.md +25 -0
  275. package/.claude/commands/workflows/workflow-export.md +25 -0
  276. package/.claude/helpers/README.md +97 -0
  277. package/.claude/helpers/adr-compliance.sh +186 -0
  278. package/.claude/helpers/auto-commit.sh +178 -0
  279. package/.claude/helpers/checkpoint-manager.sh +251 -0
  280. package/.claude/helpers/daemon-manager.sh +252 -0
  281. package/.claude/helpers/ddd-tracker.sh +144 -0
  282. package/.claude/helpers/github-safe.js +106 -0
  283. package/.claude/helpers/github-setup.sh +28 -0
  284. package/.claude/helpers/guidance-hook.sh +13 -0
  285. package/.claude/helpers/guidance-hooks.sh +102 -0
  286. package/.claude/helpers/health-monitor.sh +108 -0
  287. package/.claude/helpers/learning-hooks.sh +329 -0
  288. package/.claude/helpers/learning-optimizer.sh +127 -0
  289. package/.claude/helpers/learning-service.mjs +1144 -0
  290. package/.claude/helpers/memory.js +83 -0
  291. package/.claude/helpers/metrics-db.mjs +488 -0
  292. package/.claude/helpers/pattern-consolidator.sh +86 -0
  293. package/.claude/helpers/perf-worker.sh +160 -0
  294. package/.claude/helpers/post-commit +16 -0
  295. package/.claude/helpers/pre-commit +26 -0
  296. package/.claude/helpers/quick-start.sh +19 -0
  297. package/.claude/helpers/router.js +66 -0
  298. package/.claude/helpers/security-scanner.sh +127 -0
  299. package/.claude/helpers/session.js +127 -0
  300. package/.claude/helpers/setup-mcp.sh +18 -0
  301. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  302. package/.claude/helpers/statusline-hook.sh +21 -0
  303. package/.claude/helpers/statusline.cjs +509 -0
  304. package/.claude/helpers/statusline.js +316 -0
  305. package/.claude/helpers/swarm-comms.sh +353 -0
  306. package/.claude/helpers/swarm-hooks.sh +761 -0
  307. package/.claude/helpers/swarm-monitor.sh +211 -0
  308. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  309. package/.claude/helpers/update-v3-progress.sh +166 -0
  310. package/.claude/helpers/v3-quick-status.sh +58 -0
  311. package/.claude/helpers/v3.sh +111 -0
  312. package/.claude/helpers/validate-v3-config.sh +216 -0
  313. package/.claude/helpers/worker-manager.sh +170 -0
  314. package/.claude/settings.json +237 -0
  315. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  316. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  317. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  318. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  319. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  320. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  321. package/.claude/skills/aidefence-scan.md +151 -0
  322. package/.claude/skills/aidefence.yaml +297 -0
  323. package/.claude/skills/browser/SKILL.md +204 -0
  324. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  325. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  326. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  327. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  328. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  329. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  330. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  331. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  332. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  333. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  334. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  335. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  336. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  337. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  338. package/.claude/skills/secure-review.md +181 -0
  339. package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/performance.json +3 -3
  340. package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +10 -0
  341. package/.claude/skills/skill-builder/SKILL.md +910 -0
  342. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  343. package/.claude/skills/stream-chain/SKILL.md +563 -0
  344. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  345. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  346. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  347. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  348. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  349. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  350. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  351. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  352. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  353. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  354. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  355. package/.claude/skills/verification-quality/SKILL.md +649 -0
  356. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  357. package/.claude/skills/worker-integration/skill.md +154 -0
  358. package/README.md +6512 -850
  359. package/bin/cli.js +144 -6
  360. package/bin/mcp-server.js +189 -0
  361. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  362. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  363. package/dist/src/benchmarks/pretrain/index.js +404 -0
  364. package/dist/src/benchmarks/pretrain/index.js.map +1 -0
  365. package/dist/src/commands/agent.d.ts.map +1 -1
  366. package/dist/src/commands/agent.js +49 -33
  367. package/dist/src/commands/agent.js.map +1 -1
  368. package/dist/src/commands/analyze.d.ts +19 -0
  369. package/dist/src/commands/analyze.d.ts.map +1 -0
  370. package/dist/src/commands/analyze.js +1823 -0
  371. package/dist/src/commands/analyze.js.map +1 -0
  372. package/dist/src/commands/benchmark.d.ts +10 -0
  373. package/dist/src/commands/benchmark.d.ts.map +1 -0
  374. package/dist/src/commands/benchmark.js +459 -0
  375. package/dist/src/commands/benchmark.js.map +1 -0
  376. package/dist/src/commands/categories.d.ts +75 -0
  377. package/dist/src/commands/categories.d.ts.map +1 -0
  378. package/dist/src/commands/categories.js +178 -0
  379. package/dist/src/commands/categories.js.map +1 -0
  380. package/dist/src/commands/claims.d.ts +10 -0
  381. package/dist/src/commands/claims.d.ts.map +1 -0
  382. package/dist/src/commands/claims.js +373 -0
  383. package/dist/src/commands/claims.js.map +1 -0
  384. package/dist/src/commands/completions.d.ts +10 -0
  385. package/dist/src/commands/completions.d.ts.map +1 -0
  386. package/dist/src/commands/completions.js +539 -0
  387. package/dist/src/commands/completions.js.map +1 -0
  388. package/dist/src/commands/config.js +1 -1
  389. package/dist/src/commands/config.js.map +1 -1
  390. package/dist/src/commands/daemon.d.ts +8 -0
  391. package/dist/src/commands/daemon.d.ts.map +1 -0
  392. package/dist/src/commands/daemon.js +593 -0
  393. package/dist/src/commands/daemon.js.map +1 -0
  394. package/dist/src/commands/deployment.d.ts +10 -0
  395. package/dist/src/commands/deployment.d.ts.map +1 -0
  396. package/dist/src/commands/deployment.js +289 -0
  397. package/dist/src/commands/deployment.js.map +1 -0
  398. package/dist/src/commands/doctor.d.ts +10 -0
  399. package/dist/src/commands/doctor.d.ts.map +1 -0
  400. package/dist/src/commands/doctor.js +571 -0
  401. package/dist/src/commands/doctor.js.map +1 -0
  402. package/dist/src/commands/embeddings.d.ts +18 -0
  403. package/dist/src/commands/embeddings.d.ts.map +1 -0
  404. package/dist/src/commands/embeddings.js +1576 -0
  405. package/dist/src/commands/embeddings.js.map +1 -0
  406. package/dist/src/commands/guidance.d.ts +8 -0
  407. package/dist/src/commands/guidance.d.ts.map +1 -0
  408. package/dist/src/commands/guidance.js +560 -0
  409. package/dist/src/commands/guidance.js.map +1 -0
  410. package/dist/src/commands/hive-mind.d.ts +3 -0
  411. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  412. package/dist/src/commands/hive-mind.js +673 -70
  413. package/dist/src/commands/hive-mind.js.map +1 -1
  414. package/dist/src/commands/hooks.d.ts.map +1 -1
  415. package/dist/src/commands/hooks.js +1503 -52
  416. package/dist/src/commands/hooks.js.map +1 -1
  417. package/dist/src/commands/index.d.ts +70 -13
  418. package/dist/src/commands/index.d.ts.map +1 -1
  419. package/dist/src/commands/index.js +287 -33
  420. package/dist/src/commands/index.js.map +1 -1
  421. package/dist/src/commands/init.d.ts.map +1 -1
  422. package/dist/src/commands/init.js +259 -13
  423. package/dist/src/commands/init.js.map +1 -1
  424. package/dist/src/commands/issues.d.ts +21 -0
  425. package/dist/src/commands/issues.d.ts.map +1 -0
  426. package/dist/src/commands/issues.js +567 -0
  427. package/dist/src/commands/issues.js.map +1 -0
  428. package/dist/src/commands/mcp.d.ts.map +1 -1
  429. package/dist/src/commands/mcp.js +75 -37
  430. package/dist/src/commands/mcp.js.map +1 -1
  431. package/dist/src/commands/memory.d.ts.map +1 -1
  432. package/dist/src/commands/memory.js +355 -74
  433. package/dist/src/commands/memory.js.map +1 -1
  434. package/dist/src/commands/migrate.d.ts.map +1 -1
  435. package/dist/src/commands/migrate.js +15 -3
  436. package/dist/src/commands/migrate.js.map +1 -1
  437. package/dist/src/commands/neural.d.ts +10 -0
  438. package/dist/src/commands/neural.d.ts.map +1 -0
  439. package/dist/src/commands/neural.js +1448 -0
  440. package/dist/src/commands/neural.js.map +1 -0
  441. package/dist/src/commands/performance.d.ts +10 -0
  442. package/dist/src/commands/performance.d.ts.map +1 -0
  443. package/dist/src/commands/performance.js +579 -0
  444. package/dist/src/commands/performance.js.map +1 -0
  445. package/dist/src/commands/plugins.d.ts +11 -0
  446. package/dist/src/commands/plugins.d.ts.map +1 -0
  447. package/dist/src/commands/plugins.js +820 -0
  448. package/dist/src/commands/plugins.js.map +1 -0
  449. package/dist/src/commands/progress.d.ts +11 -0
  450. package/dist/src/commands/progress.d.ts.map +1 -0
  451. package/dist/src/commands/progress.js +259 -0
  452. package/dist/src/commands/progress.js.map +1 -0
  453. package/dist/src/commands/providers.d.ts +10 -0
  454. package/dist/src/commands/providers.d.ts.map +1 -0
  455. package/dist/src/commands/providers.js +232 -0
  456. package/dist/src/commands/providers.js.map +1 -0
  457. package/dist/src/commands/route.d.ts +16 -0
  458. package/dist/src/commands/route.d.ts.map +1 -0
  459. package/dist/src/commands/route.js +813 -0
  460. package/dist/src/commands/route.js.map +1 -0
  461. package/dist/src/commands/ruvector/backup.d.ts +11 -0
  462. package/dist/src/commands/ruvector/backup.d.ts.map +1 -0
  463. package/dist/src/commands/ruvector/backup.js +746 -0
  464. package/dist/src/commands/ruvector/backup.js.map +1 -0
  465. package/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  466. package/dist/src/commands/ruvector/benchmark.d.ts.map +1 -0
  467. package/dist/src/commands/ruvector/benchmark.js +480 -0
  468. package/dist/src/commands/ruvector/benchmark.js.map +1 -0
  469. package/dist/src/commands/ruvector/import.d.ts +18 -0
  470. package/dist/src/commands/ruvector/import.d.ts.map +1 -0
  471. package/dist/src/commands/ruvector/import.js +349 -0
  472. package/dist/src/commands/ruvector/import.js.map +1 -0
  473. package/dist/src/commands/ruvector/index.d.ts +29 -0
  474. package/dist/src/commands/ruvector/index.d.ts.map +1 -0
  475. package/dist/src/commands/ruvector/index.js +129 -0
  476. package/dist/src/commands/ruvector/index.js.map +1 -0
  477. package/dist/src/commands/ruvector/init.d.ts +11 -0
  478. package/dist/src/commands/ruvector/init.d.ts.map +1 -0
  479. package/dist/src/commands/ruvector/init.js +431 -0
  480. package/dist/src/commands/ruvector/init.js.map +1 -0
  481. package/dist/src/commands/ruvector/migrate.d.ts +11 -0
  482. package/dist/src/commands/ruvector/migrate.d.ts.map +1 -0
  483. package/dist/src/commands/ruvector/migrate.js +481 -0
  484. package/dist/src/commands/ruvector/migrate.js.map +1 -0
  485. package/dist/src/commands/ruvector/optimize.d.ts +11 -0
  486. package/dist/src/commands/ruvector/optimize.d.ts.map +1 -0
  487. package/dist/src/commands/ruvector/optimize.js +503 -0
  488. package/dist/src/commands/ruvector/optimize.js.map +1 -0
  489. package/dist/src/commands/ruvector/setup.d.ts +18 -0
  490. package/dist/src/commands/ruvector/setup.d.ts.map +1 -0
  491. package/dist/src/commands/ruvector/setup.js +765 -0
  492. package/dist/src/commands/ruvector/setup.js.map +1 -0
  493. package/dist/src/commands/ruvector/status.d.ts +11 -0
  494. package/dist/src/commands/ruvector/status.d.ts.map +1 -0
  495. package/dist/src/commands/ruvector/status.js +456 -0
  496. package/dist/src/commands/ruvector/status.js.map +1 -0
  497. package/dist/src/commands/security.d.ts +10 -0
  498. package/dist/src/commands/security.d.ts.map +1 -0
  499. package/dist/src/commands/security.js +575 -0
  500. package/dist/src/commands/security.js.map +1 -0
  501. package/dist/src/commands/session.js +9 -9
  502. package/dist/src/commands/start.d.ts.map +1 -1
  503. package/dist/src/commands/start.js +27 -7
  504. package/dist/src/commands/start.js.map +1 -1
  505. package/dist/src/commands/status.js +7 -7
  506. package/dist/src/commands/swarm.d.ts.map +1 -1
  507. package/dist/src/commands/swarm.js +214 -39
  508. package/dist/src/commands/swarm.js.map +1 -1
  509. package/dist/src/commands/task.js +8 -8
  510. package/dist/src/commands/transfer-store.d.ts +13 -0
  511. package/dist/src/commands/transfer-store.d.ts.map +1 -0
  512. package/dist/src/commands/transfer-store.js +428 -0
  513. package/dist/src/commands/transfer-store.js.map +1 -0
  514. package/dist/src/commands/update.d.ts +8 -0
  515. package/dist/src/commands/update.d.ts.map +1 -0
  516. package/dist/src/commands/update.js +276 -0
  517. package/dist/src/commands/update.js.map +1 -0
  518. package/dist/src/commands/workflow.js +5 -5
  519. package/dist/src/config-adapter.js +2 -1
  520. package/dist/src/config-adapter.js.map +1 -1
  521. package/dist/src/index.d.ts +22 -1
  522. package/dist/src/index.d.ts.map +1 -1
  523. package/dist/src/index.js +153 -12
  524. package/dist/src/index.js.map +1 -1
  525. package/dist/src/init/claudemd-generator.d.ts +15 -5
  526. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  527. package/dist/src/init/claudemd-generator.js +399 -539
  528. package/dist/src/init/claudemd-generator.js.map +1 -1
  529. package/dist/src/init/executor.d.ts +24 -0
  530. package/dist/src/init/executor.d.ts.map +1 -1
  531. package/dist/src/init/executor.js +874 -38
  532. package/dist/src/init/executor.js.map +1 -1
  533. package/dist/src/init/helpers-generator.js +1 -1
  534. package/dist/src/init/helpers-generator.js.map +1 -1
  535. package/dist/src/init/index.d.ts +4 -3
  536. package/dist/src/init/index.d.ts.map +1 -1
  537. package/dist/src/init/index.js +2 -2
  538. package/dist/src/init/index.js.map +1 -1
  539. package/dist/src/init/mcp-generator.d.ts +9 -0
  540. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  541. package/dist/src/init/mcp-generator.js +57 -28
  542. package/dist/src/init/mcp-generator.js.map +1 -1
  543. package/dist/src/init/settings-generator.d.ts.map +1 -1
  544. package/dist/src/init/settings-generator.js +126 -89
  545. package/dist/src/init/settings-generator.js.map +1 -1
  546. package/dist/src/init/statusline-generator.d.ts +6 -0
  547. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  548. package/dist/src/init/statusline-generator.js +1119 -84
  549. package/dist/src/init/statusline-generator.js.map +1 -1
  550. package/dist/src/init/types.d.ts +37 -2
  551. package/dist/src/init/types.d.ts.map +1 -1
  552. package/dist/src/init/types.js +40 -3
  553. package/dist/src/init/types.js.map +1 -1
  554. package/dist/src/mcp-client.d.ts +3 -3
  555. package/dist/src/mcp-client.d.ts.map +1 -1
  556. package/dist/src/mcp-client.js +46 -4
  557. package/dist/src/mcp-client.js.map +1 -1
  558. package/dist/src/mcp-server.d.ts +9 -1
  559. package/dist/src/mcp-server.d.ts.map +1 -1
  560. package/dist/src/mcp-server.js +194 -46
  561. package/dist/src/mcp-server.js.map +1 -1
  562. package/dist/src/mcp-tools/agent-tools.d.ts +2 -1
  563. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  564. package/dist/src/mcp-tools/agent-tools.js +479 -20
  565. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  566. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  567. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
  568. package/dist/src/mcp-tools/analyze-tools.js +317 -0
  569. package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
  570. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  571. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  572. package/dist/src/mcp-tools/auto-install.js +131 -0
  573. package/dist/src/mcp-tools/auto-install.js.map +1 -0
  574. package/dist/src/mcp-tools/browser-tools.d.ts +13 -0
  575. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -0
  576. package/dist/src/mcp-tools/browser-tools.js +550 -0
  577. package/dist/src/mcp-tools/browser-tools.js.map +1 -0
  578. package/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  579. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -0
  580. package/dist/src/mcp-tools/claims-tools.js +732 -0
  581. package/dist/src/mcp-tools/claims-tools.js.map +1 -0
  582. package/dist/src/mcp-tools/config-tools.d.ts +1 -1
  583. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  584. package/dist/src/mcp-tools/config-tools.js +266 -19
  585. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  586. package/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  587. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -0
  588. package/dist/src/mcp-tools/coordination-tools.js +486 -0
  589. package/dist/src/mcp-tools/coordination-tools.js.map +1 -0
  590. package/dist/src/mcp-tools/daa-tools.d.ts +13 -0
  591. package/dist/src/mcp-tools/daa-tools.d.ts.map +1 -0
  592. package/dist/src/mcp-tools/daa-tools.js +426 -0
  593. package/dist/src/mcp-tools/daa-tools.js.map +1 -0
  594. package/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  595. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -0
  596. package/dist/src/mcp-tools/embeddings-tools.js +782 -0
  597. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -0
  598. package/dist/src/mcp-tools/github-tools.d.ts +13 -0
  599. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -0
  600. package/dist/src/mcp-tools/github-tools.js +373 -0
  601. package/dist/src/mcp-tools/github-tools.js.map +1 -0
  602. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  603. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  604. package/dist/src/mcp-tools/hive-mind-tools.js +583 -0
  605. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  606. package/dist/src/mcp-tools/hooks-tools.d.ts +3 -0
  607. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  608. package/dist/src/mcp-tools/hooks-tools.js +1307 -182
  609. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  610. package/dist/src/mcp-tools/index.d.ts +9 -0
  611. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  612. package/dist/src/mcp-tools/index.js +9 -0
  613. package/dist/src/mcp-tools/index.js.map +1 -1
  614. package/dist/src/mcp-tools/memory-tools.d.ts +8 -2
  615. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  616. package/dist/src/mcp-tools/memory-tools.js +376 -132
  617. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  618. package/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  619. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -0
  620. package/dist/src/mcp-tools/neural-tools.js +456 -0
  621. package/dist/src/mcp-tools/neural-tools.js.map +1 -0
  622. package/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  623. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -0
  624. package/dist/src/mcp-tools/performance-tools.js +534 -0
  625. package/dist/src/mcp-tools/performance-tools.js.map +1 -0
  626. package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  627. package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -0
  628. package/dist/src/mcp-tools/progress-tools.js +348 -0
  629. package/dist/src/mcp-tools/progress-tools.js.map +1 -0
  630. package/dist/src/mcp-tools/security-tools.d.ts +18 -0
  631. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -0
  632. package/dist/src/mcp-tools/security-tools.js +434 -0
  633. package/dist/src/mcp-tools/security-tools.js.map +1 -0
  634. package/dist/src/mcp-tools/session-tools.d.ts +1 -1
  635. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  636. package/dist/src/mcp-tools/session-tools.js +241 -26
  637. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  638. package/dist/src/mcp-tools/swarm-tools.js +4 -4
  639. package/dist/src/mcp-tools/system-tools.d.ts +13 -0
  640. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -0
  641. package/dist/src/mcp-tools/system-tools.js +314 -0
  642. package/dist/src/mcp-tools/system-tools.js.map +1 -0
  643. package/dist/src/mcp-tools/task-tools.d.ts +1 -1
  644. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  645. package/dist/src/mcp-tools/task-tools.js +223 -21
  646. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  647. package/dist/src/mcp-tools/terminal-tools.d.ts +13 -0
  648. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -0
  649. package/dist/src/mcp-tools/terminal-tools.js +246 -0
  650. package/dist/src/mcp-tools/terminal-tools.js.map +1 -0
  651. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  652. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
  653. package/dist/src/mcp-tools/transfer-tools.js +396 -0
  654. package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
  655. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  656. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  657. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  658. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  659. package/dist/src/memory/ewc-consolidation.d.ts +271 -0
  660. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  661. package/dist/src/memory/ewc-consolidation.js +542 -0
  662. package/dist/src/memory/ewc-consolidation.js.map +1 -0
  663. package/dist/src/memory/intelligence.d.ts +285 -0
  664. package/dist/src/memory/intelligence.d.ts.map +1 -0
  665. package/dist/src/memory/intelligence.js +766 -0
  666. package/dist/src/memory/intelligence.js.map +1 -0
  667. package/dist/src/memory/memory-initializer.d.ts +395 -0
  668. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  669. package/dist/src/memory/memory-initializer.js +1924 -0
  670. package/dist/src/memory/memory-initializer.js.map +1 -0
  671. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  672. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  673. package/dist/src/memory/sona-optimizer.js +633 -0
  674. package/dist/src/memory/sona-optimizer.js.map +1 -0
  675. package/dist/src/output.d.ts +16 -0
  676. package/dist/src/output.d.ts.map +1 -1
  677. package/dist/src/output.js +42 -0
  678. package/dist/src/output.js.map +1 -1
  679. package/dist/src/parser.d.ts.map +1 -1
  680. package/dist/src/parser.js +27 -3
  681. package/dist/src/parser.js.map +1 -1
  682. package/dist/src/plugins/manager.d.ts +133 -0
  683. package/dist/src/plugins/manager.d.ts.map +1 -0
  684. package/dist/src/plugins/manager.js +383 -0
  685. package/dist/src/plugins/manager.js.map +1 -0
  686. package/dist/src/plugins/store/discovery.d.ts +88 -0
  687. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  688. package/dist/src/plugins/store/discovery.js +1147 -0
  689. package/dist/src/plugins/store/discovery.js.map +1 -0
  690. package/dist/src/plugins/store/index.d.ts +76 -0
  691. package/dist/src/plugins/store/index.d.ts.map +1 -0
  692. package/dist/src/plugins/store/index.js +141 -0
  693. package/dist/src/plugins/store/index.js.map +1 -0
  694. package/dist/src/plugins/store/search.d.ts +46 -0
  695. package/dist/src/plugins/store/search.d.ts.map +1 -0
  696. package/dist/src/plugins/store/search.js +230 -0
  697. package/dist/src/plugins/store/search.js.map +1 -0
  698. package/dist/src/plugins/store/types.d.ts +274 -0
  699. package/dist/src/plugins/store/types.d.ts.map +1 -0
  700. package/dist/src/plugins/store/types.js +7 -0
  701. package/dist/src/plugins/store/types.js.map +1 -0
  702. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  703. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
  704. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  705. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
  706. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  707. package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
  708. package/dist/src/plugins/tests/standalone-test.js +188 -0
  709. package/dist/src/plugins/tests/standalone-test.js.map +1 -0
  710. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  711. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
  712. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  713. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
  714. package/dist/src/production/circuit-breaker.d.ts +101 -0
  715. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  716. package/dist/src/production/circuit-breaker.js +241 -0
  717. package/dist/src/production/circuit-breaker.js.map +1 -0
  718. package/dist/src/production/error-handler.d.ts +92 -0
  719. package/dist/src/production/error-handler.d.ts.map +1 -0
  720. package/dist/src/production/error-handler.js +299 -0
  721. package/dist/src/production/error-handler.js.map +1 -0
  722. package/dist/src/production/index.d.ts +23 -0
  723. package/dist/src/production/index.d.ts.map +1 -0
  724. package/dist/src/production/index.js +18 -0
  725. package/dist/src/production/index.js.map +1 -0
  726. package/dist/src/production/monitoring.d.ts +161 -0
  727. package/dist/src/production/monitoring.d.ts.map +1 -0
  728. package/dist/src/production/monitoring.js +356 -0
  729. package/dist/src/production/monitoring.js.map +1 -0
  730. package/dist/src/production/rate-limiter.d.ts +80 -0
  731. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  732. package/dist/src/production/rate-limiter.js +201 -0
  733. package/dist/src/production/rate-limiter.js.map +1 -0
  734. package/dist/src/production/retry.d.ts +48 -0
  735. package/dist/src/production/retry.d.ts.map +1 -0
  736. package/dist/src/production/retry.js +179 -0
  737. package/dist/src/production/retry.js.map +1 -0
  738. package/dist/src/runtime/headless.d.ts +60 -0
  739. package/dist/src/runtime/headless.d.ts.map +1 -0
  740. package/dist/src/runtime/headless.js +284 -0
  741. package/dist/src/runtime/headless.js.map +1 -0
  742. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  743. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  744. package/dist/src/ruvector/ast-analyzer.js +277 -0
  745. package/dist/src/ruvector/ast-analyzer.js.map +1 -0
  746. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  747. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  748. package/dist/src/ruvector/coverage-router.js +529 -0
  749. package/dist/src/ruvector/coverage-router.js.map +1 -0
  750. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  751. package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
  752. package/dist/src/ruvector/coverage-tools.js +157 -0
  753. package/dist/src/ruvector/coverage-tools.js.map +1 -0
  754. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  755. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  756. package/dist/src/ruvector/diff-classifier.js +698 -0
  757. package/dist/src/ruvector/diff-classifier.js.map +1 -0
  758. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  759. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  760. package/dist/src/ruvector/enhanced-model-router.js +519 -0
  761. package/dist/src/ruvector/enhanced-model-router.js.map +1 -0
  762. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  763. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  764. package/dist/src/ruvector/flash-attention.js +643 -0
  765. package/dist/src/ruvector/flash-attention.js.map +1 -0
  766. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  767. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  768. package/dist/src/ruvector/graph-analyzer.js +929 -0
  769. package/dist/src/ruvector/graph-analyzer.js.map +1 -0
  770. package/dist/src/ruvector/index.d.ts +34 -0
  771. package/dist/src/ruvector/index.d.ts.map +1 -0
  772. package/dist/src/ruvector/index.js +60 -0
  773. package/dist/src/ruvector/index.js.map +1 -0
  774. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  775. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  776. package/dist/src/ruvector/lora-adapter.js +455 -0
  777. package/dist/src/ruvector/lora-adapter.js.map +1 -0
  778. package/dist/src/ruvector/model-router.d.ts +220 -0
  779. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  780. package/dist/src/ruvector/model-router.js +488 -0
  781. package/dist/src/ruvector/model-router.js.map +1 -0
  782. package/dist/src/ruvector/moe-router.d.ts +206 -0
  783. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  784. package/dist/src/ruvector/moe-router.js +626 -0
  785. package/dist/src/ruvector/moe-router.js.map +1 -0
  786. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  787. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  788. package/dist/src/ruvector/q-learning-router.js +681 -0
  789. package/dist/src/ruvector/q-learning-router.js.map +1 -0
  790. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  791. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  792. package/dist/src/ruvector/semantic-router.js +178 -0
  793. package/dist/src/ruvector/semantic-router.js.map +1 -0
  794. package/dist/src/ruvector/vector-db.d.ts +69 -0
  795. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  796. package/dist/src/ruvector/vector-db.js +243 -0
  797. package/dist/src/ruvector/vector-db.js.map +1 -0
  798. package/dist/src/services/claim-service.d.ts +204 -0
  799. package/dist/src/services/claim-service.d.ts.map +1 -0
  800. package/dist/src/services/claim-service.js +818 -0
  801. package/dist/src/services/claim-service.js.map +1 -0
  802. package/dist/src/services/container-worker-pool.d.ts +197 -0
  803. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  804. package/dist/src/services/container-worker-pool.js +581 -0
  805. package/dist/src/services/container-worker-pool.js.map +1 -0
  806. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  807. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  808. package/dist/src/services/headless-worker-executor.js +999 -0
  809. package/dist/src/services/headless-worker-executor.js.map +1 -0
  810. package/dist/src/services/index.d.ts +13 -0
  811. package/dist/src/services/index.d.ts.map +1 -0
  812. package/dist/src/services/index.js +11 -0
  813. package/dist/src/services/index.js.map +1 -0
  814. package/dist/src/services/registry-api.d.ts +58 -0
  815. package/dist/src/services/registry-api.d.ts.map +1 -0
  816. package/dist/src/services/registry-api.js +146 -0
  817. package/dist/src/services/registry-api.js.map +1 -0
  818. package/dist/src/services/ruvector-training.d.ts +213 -0
  819. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  820. package/dist/src/services/ruvector-training.js +498 -0
  821. package/dist/src/services/ruvector-training.js.map +1 -0
  822. package/dist/src/services/worker-daemon.d.ts +203 -0
  823. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  824. package/dist/src/services/worker-daemon.js +756 -0
  825. package/dist/src/services/worker-daemon.js.map +1 -0
  826. package/dist/src/services/worker-queue.d.ts +194 -0
  827. package/dist/src/services/worker-queue.d.ts.map +1 -0
  828. package/dist/src/services/worker-queue.js +511 -0
  829. package/dist/src/services/worker-queue.js.map +1 -0
  830. package/dist/src/suggest.d.ts +53 -0
  831. package/dist/src/suggest.d.ts.map +1 -0
  832. package/dist/src/suggest.js +200 -0
  833. package/dist/src/suggest.js.map +1 -0
  834. package/dist/src/tests/ruvector-integration-benchmark.d.ts +6 -0
  835. package/dist/src/tests/ruvector-integration-benchmark.d.ts.map +1 -0
  836. package/dist/src/tests/ruvector-integration-benchmark.js +385 -0
  837. package/dist/src/tests/ruvector-integration-benchmark.js.map +1 -0
  838. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  839. package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
  840. package/dist/src/transfer/anonymization/index.js +175 -0
  841. package/dist/src/transfer/anonymization/index.js.map +1 -0
  842. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  843. package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
  844. package/dist/src/transfer/deploy-seraphine.js +205 -0
  845. package/dist/src/transfer/deploy-seraphine.js.map +1 -0
  846. package/dist/src/transfer/export.d.ts +25 -0
  847. package/dist/src/transfer/export.d.ts.map +1 -0
  848. package/dist/src/transfer/export.js +113 -0
  849. package/dist/src/transfer/export.js.map +1 -0
  850. package/dist/src/transfer/index.d.ts +12 -0
  851. package/dist/src/transfer/index.d.ts.map +1 -0
  852. package/dist/src/transfer/index.js +31 -0
  853. package/dist/src/transfer/index.js.map +1 -0
  854. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  855. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  856. package/dist/src/transfer/ipfs/client.js +299 -0
  857. package/dist/src/transfer/ipfs/client.js.map +1 -0
  858. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  859. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  860. package/dist/src/transfer/ipfs/upload.js +413 -0
  861. package/dist/src/transfer/ipfs/upload.js.map +1 -0
  862. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  863. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  864. package/dist/src/transfer/models/seraphine.js +373 -0
  865. package/dist/src/transfer/models/seraphine.js.map +1 -0
  866. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  867. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  868. package/dist/src/transfer/serialization/cfp.js +180 -0
  869. package/dist/src/transfer/serialization/cfp.js.map +1 -0
  870. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  871. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  872. package/dist/src/transfer/storage/gcs.js +230 -0
  873. package/dist/src/transfer/storage/gcs.js.map +1 -0
  874. package/dist/src/transfer/storage/index.d.ts +6 -0
  875. package/dist/src/transfer/storage/index.d.ts.map +1 -0
  876. package/dist/src/transfer/storage/index.js +6 -0
  877. package/dist/src/transfer/storage/index.js.map +1 -0
  878. package/dist/src/transfer/store/discovery.d.ts +84 -0
  879. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  880. package/dist/src/transfer/store/discovery.js +382 -0
  881. package/dist/src/transfer/store/discovery.js.map +1 -0
  882. package/dist/src/transfer/store/download.d.ts +70 -0
  883. package/dist/src/transfer/store/download.d.ts.map +1 -0
  884. package/dist/src/transfer/store/download.js +334 -0
  885. package/dist/src/transfer/store/download.js.map +1 -0
  886. package/dist/src/transfer/store/index.d.ts +84 -0
  887. package/dist/src/transfer/store/index.d.ts.map +1 -0
  888. package/dist/src/transfer/store/index.js +153 -0
  889. package/dist/src/transfer/store/index.js.map +1 -0
  890. package/dist/src/transfer/store/publish.d.ts +76 -0
  891. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  892. package/dist/src/transfer/store/publish.js +294 -0
  893. package/dist/src/transfer/store/publish.js.map +1 -0
  894. package/dist/src/transfer/store/registry.d.ts +58 -0
  895. package/dist/src/transfer/store/registry.d.ts.map +1 -0
  896. package/dist/src/transfer/store/registry.js +285 -0
  897. package/dist/src/transfer/store/registry.js.map +1 -0
  898. package/dist/src/transfer/store/search.d.ts +54 -0
  899. package/dist/src/transfer/store/search.d.ts.map +1 -0
  900. package/dist/src/transfer/store/search.js +232 -0
  901. package/dist/src/transfer/store/search.js.map +1 -0
  902. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  903. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
  904. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  905. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
  906. package/dist/src/transfer/store/types.d.ts +193 -0
  907. package/dist/src/transfer/store/types.d.ts.map +1 -0
  908. package/dist/src/transfer/store/types.js +6 -0
  909. package/dist/src/transfer/store/types.js.map +1 -0
  910. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  911. package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
  912. package/dist/src/transfer/test-seraphine.js +105 -0
  913. package/dist/src/transfer/test-seraphine.js.map +1 -0
  914. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  915. package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
  916. package/dist/src/transfer/tests/test-store.js +214 -0
  917. package/dist/src/transfer/tests/test-store.js.map +1 -0
  918. package/dist/src/transfer/types.d.ts +245 -0
  919. package/dist/src/transfer/types.d.ts.map +1 -0
  920. package/dist/src/transfer/types.js +6 -0
  921. package/dist/src/transfer/types.js.map +1 -0
  922. package/dist/src/types.d.ts +1 -1
  923. package/dist/src/types.d.ts.map +1 -1
  924. package/dist/src/update/checker.d.ts +34 -0
  925. package/dist/src/update/checker.d.ts.map +1 -0
  926. package/dist/src/update/checker.js +190 -0
  927. package/dist/src/update/checker.js.map +1 -0
  928. package/dist/src/update/executor.d.ts +32 -0
  929. package/dist/src/update/executor.d.ts.map +1 -0
  930. package/dist/src/update/executor.js +181 -0
  931. package/dist/src/update/executor.js.map +1 -0
  932. package/dist/src/update/index.d.ts +33 -0
  933. package/dist/src/update/index.d.ts.map +1 -0
  934. package/dist/src/update/index.js +64 -0
  935. package/dist/src/update/index.js.map +1 -0
  936. package/dist/src/update/rate-limiter.d.ts +20 -0
  937. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  938. package/dist/src/update/rate-limiter.js +96 -0
  939. package/dist/src/update/rate-limiter.js.map +1 -0
  940. package/dist/src/update/validator.d.ts +17 -0
  941. package/dist/src/update/validator.d.ts.map +1 -0
  942. package/dist/src/update/validator.js +123 -0
  943. package/dist/src/update/validator.js.map +1 -0
  944. package/dist/tsconfig.tsbuildinfo +1 -1
  945. package/package.json +88 -11
  946. package/.agentic-flow/intelligence.json +0 -17
  947. package/.claude-flow/metrics/task-metrics.json +0 -10
  948. package/__tests__/README.md +0 -140
  949. package/__tests__/TEST_SUMMARY.md +0 -144
  950. package/__tests__/cli.test.ts +0 -558
  951. package/__tests__/commands.test.ts +0 -726
  952. package/__tests__/config-adapter.test.ts +0 -362
  953. package/__tests__/config-loading.test.ts +0 -106
  954. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  955. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  956. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  957. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  958. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  959. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  960. package/__tests__/mcp-client.test.ts +0 -480
  961. package/__tests__/p1-commands.test.ts +0 -1064
  962. package/docs/CONFIG_LOADING.md +0 -236
  963. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  964. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  965. package/docs/REFACTORING_SUMMARY.md +0 -247
  966. package/src/commands/agent.ts +0 -941
  967. package/src/commands/config.ts +0 -452
  968. package/src/commands/hive-mind.ts +0 -762
  969. package/src/commands/hooks.ts +0 -2603
  970. package/src/commands/index.ts +0 -115
  971. package/src/commands/init.ts +0 -597
  972. package/src/commands/mcp.ts +0 -753
  973. package/src/commands/memory.ts +0 -1161
  974. package/src/commands/migrate.ts +0 -447
  975. package/src/commands/process.ts +0 -695
  976. package/src/commands/session.ts +0 -891
  977. package/src/commands/start.ts +0 -457
  978. package/src/commands/status.ts +0 -736
  979. package/src/commands/swarm.ts +0 -648
  980. package/src/commands/task.ts +0 -792
  981. package/src/commands/workflow.ts +0 -742
  982. package/src/config-adapter.ts +0 -210
  983. package/src/index.ts +0 -400
  984. package/src/infrastructure/in-memory-repositories.ts +0 -310
  985. package/src/init/claudemd-generator.ts +0 -631
  986. package/src/init/executor.ts +0 -762
  987. package/src/init/helpers-generator.ts +0 -628
  988. package/src/init/index.ts +0 -60
  989. package/src/init/mcp-generator.ts +0 -83
  990. package/src/init/settings-generator.ts +0 -274
  991. package/src/init/statusline-generator.ts +0 -211
  992. package/src/init/types.ts +0 -447
  993. package/src/mcp-client.ts +0 -229
  994. package/src/mcp-server.ts +0 -577
  995. package/src/mcp-tools/agent-tools.ts +0 -92
  996. package/src/mcp-tools/config-tools.ts +0 -88
  997. package/src/mcp-tools/hooks-tools.ts +0 -1849
  998. package/src/mcp-tools/index.ts +0 -14
  999. package/src/mcp-tools/memory-tools.ts +0 -270
  1000. package/src/mcp-tools/session-tools.ts +0 -102
  1001. package/src/mcp-tools/swarm-tools.ts +0 -105
  1002. package/src/mcp-tools/task-tools.ts +0 -102
  1003. package/src/mcp-tools/types.ts +0 -33
  1004. package/src/output.ts +0 -593
  1005. package/src/parser.ts +0 -417
  1006. package/src/prompt.ts +0 -619
  1007. package/src/types.ts +0 -287
  1008. package/tsconfig.json +0 -16
  1009. package/tsconfig.tsbuildinfo +0 -1
  1010. package/vitest.config.ts +0 -13
  1011. /package/{tmp.json → .claude/agents/tmp.json} +0 -0
  1012. /package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/agent-metrics.json +0 -0
@@ -0,0 +1,999 @@
1
+ /**
2
+ * Headless Worker Executor
3
+ * Enables workers to invoke Claude Code in headless mode with configurable sandbox profiles.
4
+ *
5
+ * ADR-020: Headless Worker Integration Architecture
6
+ * - Integrates with CLAUDE_CODE_HEADLESS and CLAUDE_CODE_SANDBOX_MODE environment variables
7
+ * - Provides process pool for concurrent execution
8
+ * - Builds context from file glob patterns
9
+ * - Supports prompt templates and output parsing
10
+ * - Implements timeout and graceful error handling
11
+ *
12
+ * Key Features:
13
+ * - Process pool with configurable maxConcurrent
14
+ * - Context building from file glob patterns with caching
15
+ * - Prompt template system with context injection
16
+ * - Output parsing (text, json, markdown)
17
+ * - Timeout handling with graceful termination
18
+ * - Execution logging for debugging
19
+ * - Event emission for monitoring
20
+ */
21
+ import { spawn, execSync } from 'child_process';
22
+ import { EventEmitter } from 'events';
23
+ import { existsSync, readFileSync, readdirSync, mkdirSync, writeFileSync } from 'fs';
24
+ import { join } from 'path';
25
+ // ============================================
26
+ // Constants
27
+ // ============================================
28
+ /**
29
+ * Array of headless worker types for runtime checking
30
+ */
31
+ export const HEADLESS_WORKER_TYPES = [
32
+ 'audit',
33
+ 'optimize',
34
+ 'testgaps',
35
+ 'document',
36
+ 'ultralearn',
37
+ 'refactor',
38
+ 'deepdive',
39
+ 'predict',
40
+ ];
41
+ /**
42
+ * Array of local worker types
43
+ */
44
+ export const LOCAL_WORKER_TYPES = [
45
+ 'map',
46
+ 'consolidate',
47
+ 'benchmark',
48
+ 'preload',
49
+ ];
50
+ /**
51
+ * Model ID mapping
52
+ */
53
+ const MODEL_IDS = {
54
+ sonnet: 'claude-sonnet-4-20250514',
55
+ opus: 'claude-opus-4-20250514',
56
+ haiku: 'claude-haiku-4-20250514',
57
+ };
58
+ /**
59
+ * Default headless worker configurations based on ADR-020
60
+ */
61
+ export const HEADLESS_WORKER_CONFIGS = {
62
+ audit: {
63
+ type: 'audit',
64
+ mode: 'headless',
65
+ intervalMs: 30 * 60 * 1000,
66
+ priority: 'critical',
67
+ description: 'AI-powered security analysis',
68
+ enabled: true,
69
+ headless: {
70
+ promptTemplate: `Analyze this codebase for security vulnerabilities:
71
+ - Check for hardcoded secrets (API keys, passwords)
72
+ - Identify SQL injection risks
73
+ - Find XSS vulnerabilities
74
+ - Check for insecure dependencies
75
+ - Identify authentication/authorization issues
76
+
77
+ Provide a JSON report with:
78
+ {
79
+ "vulnerabilities": [{ "severity": "high|medium|low", "file": "...", "line": N, "description": "..." }],
80
+ "riskScore": 0-100,
81
+ "recommendations": ["..."]
82
+ }`,
83
+ sandbox: 'strict',
84
+ model: 'haiku',
85
+ outputFormat: 'json',
86
+ contextPatterns: ['**/*.ts', '**/*.js', '**/.env*', '**/package.json'],
87
+ timeoutMs: 5 * 60 * 1000,
88
+ },
89
+ },
90
+ optimize: {
91
+ type: 'optimize',
92
+ mode: 'headless',
93
+ intervalMs: 60 * 60 * 1000,
94
+ priority: 'high',
95
+ description: 'AI optimization suggestions',
96
+ enabled: true,
97
+ headless: {
98
+ promptTemplate: `Analyze this codebase for performance optimizations:
99
+ - Identify N+1 query patterns
100
+ - Find unnecessary re-renders in React
101
+ - Suggest caching opportunities
102
+ - Identify memory leaks
103
+ - Find redundant computations
104
+
105
+ Provide actionable suggestions with code examples.`,
106
+ sandbox: 'permissive',
107
+ model: 'sonnet',
108
+ outputFormat: 'markdown',
109
+ contextPatterns: ['src/**/*.ts', 'src/**/*.tsx'],
110
+ timeoutMs: 10 * 60 * 1000,
111
+ },
112
+ },
113
+ testgaps: {
114
+ type: 'testgaps',
115
+ mode: 'headless',
116
+ intervalMs: 60 * 60 * 1000,
117
+ priority: 'normal',
118
+ description: 'AI test gap analysis',
119
+ enabled: true,
120
+ headless: {
121
+ promptTemplate: `Analyze test coverage and identify gaps:
122
+ - Find untested functions and classes
123
+ - Identify edge cases not covered
124
+ - Suggest new test scenarios
125
+ - Check for missing error handling tests
126
+ - Identify integration test gaps
127
+
128
+ For each gap, provide a test skeleton.`,
129
+ sandbox: 'permissive',
130
+ model: 'sonnet',
131
+ outputFormat: 'markdown',
132
+ contextPatterns: ['src/**/*.ts', 'tests/**/*.ts', '__tests__/**/*.ts'],
133
+ timeoutMs: 10 * 60 * 1000,
134
+ },
135
+ },
136
+ document: {
137
+ type: 'document',
138
+ mode: 'headless',
139
+ intervalMs: 120 * 60 * 1000,
140
+ priority: 'low',
141
+ description: 'AI documentation generation',
142
+ enabled: false,
143
+ headless: {
144
+ promptTemplate: `Generate documentation for undocumented code:
145
+ - Add JSDoc comments to functions
146
+ - Create README sections for modules
147
+ - Document API endpoints
148
+ - Add inline comments for complex logic
149
+ - Generate usage examples
150
+
151
+ Focus on public APIs and exported functions.`,
152
+ sandbox: 'permissive',
153
+ model: 'haiku',
154
+ outputFormat: 'markdown',
155
+ contextPatterns: ['src/**/*.ts'],
156
+ timeoutMs: 10 * 60 * 1000,
157
+ },
158
+ },
159
+ ultralearn: {
160
+ type: 'ultralearn',
161
+ mode: 'headless',
162
+ intervalMs: 0, // Manual trigger only
163
+ priority: 'normal',
164
+ description: 'Deep knowledge acquisition',
165
+ enabled: false,
166
+ headless: {
167
+ promptTemplate: `Deeply analyze this codebase to learn:
168
+ - Architectural patterns used
169
+ - Coding conventions
170
+ - Domain-specific terminology
171
+ - Common patterns and idioms
172
+ - Team preferences
173
+
174
+ Provide insights as JSON:
175
+ {
176
+ "architecture": { "patterns": [...], "style": "..." },
177
+ "conventions": { "naming": "...", "formatting": "..." },
178
+ "domains": ["..."],
179
+ "insights": ["..."]
180
+ }`,
181
+ sandbox: 'strict',
182
+ model: 'opus',
183
+ outputFormat: 'json',
184
+ contextPatterns: ['**/*.ts', '**/CLAUDE.md', '**/README.md'],
185
+ timeoutMs: 15 * 60 * 1000,
186
+ },
187
+ },
188
+ refactor: {
189
+ type: 'refactor',
190
+ mode: 'headless',
191
+ intervalMs: 0, // Manual trigger only
192
+ priority: 'normal',
193
+ description: 'AI refactoring suggestions',
194
+ enabled: false,
195
+ headless: {
196
+ promptTemplate: `Suggest refactoring opportunities:
197
+ - Identify code duplication
198
+ - Suggest better abstractions
199
+ - Find opportunities for design patterns
200
+ - Identify overly complex functions
201
+ - Suggest module reorganization
202
+
203
+ Provide before/after code examples.`,
204
+ sandbox: 'permissive',
205
+ model: 'sonnet',
206
+ outputFormat: 'markdown',
207
+ contextPatterns: ['src/**/*.ts'],
208
+ timeoutMs: 10 * 60 * 1000,
209
+ },
210
+ },
211
+ deepdive: {
212
+ type: 'deepdive',
213
+ mode: 'headless',
214
+ intervalMs: 0, // Manual trigger only
215
+ priority: 'normal',
216
+ description: 'Deep code analysis',
217
+ enabled: false,
218
+ headless: {
219
+ promptTemplate: `Perform deep analysis of this codebase:
220
+ - Understand data flow
221
+ - Map dependencies
222
+ - Identify architectural issues
223
+ - Find potential bugs
224
+ - Analyze error handling
225
+
226
+ Provide comprehensive report.`,
227
+ sandbox: 'strict',
228
+ model: 'opus',
229
+ outputFormat: 'markdown',
230
+ contextPatterns: ['src/**/*.ts'],
231
+ timeoutMs: 15 * 60 * 1000,
232
+ },
233
+ },
234
+ predict: {
235
+ type: 'predict',
236
+ mode: 'headless',
237
+ intervalMs: 10 * 60 * 1000,
238
+ priority: 'low',
239
+ description: 'Predictive preloading',
240
+ enabled: false,
241
+ headless: {
242
+ promptTemplate: `Based on recent activity, predict what the developer needs:
243
+ - Files likely to be edited next
244
+ - Tests that should be run
245
+ - Documentation to reference
246
+ - Dependencies to check
247
+
248
+ Provide preload suggestions as JSON:
249
+ {
250
+ "filesToPreload": ["..."],
251
+ "testsToRun": ["..."],
252
+ "docsToReference": ["..."],
253
+ "confidence": 0.0-1.0
254
+ }`,
255
+ sandbox: 'strict',
256
+ model: 'haiku',
257
+ outputFormat: 'json',
258
+ contextPatterns: ['.claude-flow/metrics/*.json'],
259
+ timeoutMs: 2 * 60 * 1000,
260
+ },
261
+ },
262
+ };
263
+ /**
264
+ * Local worker configurations
265
+ */
266
+ export const LOCAL_WORKER_CONFIGS = {
267
+ map: {
268
+ type: 'map',
269
+ mode: 'local',
270
+ intervalMs: 15 * 60 * 1000,
271
+ priority: 'normal',
272
+ description: 'Codebase mapping',
273
+ enabled: true,
274
+ },
275
+ consolidate: {
276
+ type: 'consolidate',
277
+ mode: 'local',
278
+ intervalMs: 30 * 60 * 1000,
279
+ priority: 'low',
280
+ description: 'Memory consolidation',
281
+ enabled: true,
282
+ },
283
+ benchmark: {
284
+ type: 'benchmark',
285
+ mode: 'local',
286
+ intervalMs: 60 * 60 * 1000,
287
+ priority: 'low',
288
+ description: 'Performance benchmarking',
289
+ enabled: false,
290
+ },
291
+ preload: {
292
+ type: 'preload',
293
+ mode: 'local',
294
+ intervalMs: 5 * 60 * 1000,
295
+ priority: 'low',
296
+ description: 'Resource preloading',
297
+ enabled: false,
298
+ },
299
+ };
300
+ /**
301
+ * Combined worker configurations
302
+ */
303
+ export const ALL_WORKER_CONFIGS = [
304
+ ...Object.values(HEADLESS_WORKER_CONFIGS),
305
+ ...Object.values(LOCAL_WORKER_CONFIGS),
306
+ ];
307
+ // ============================================
308
+ // Utility Functions
309
+ // ============================================
310
+ /**
311
+ * Check if a worker type is a headless worker
312
+ */
313
+ export function isHeadlessWorker(type) {
314
+ return HEADLESS_WORKER_TYPES.includes(type);
315
+ }
316
+ /**
317
+ * Check if a worker type is a local worker
318
+ */
319
+ export function isLocalWorker(type) {
320
+ return LOCAL_WORKER_TYPES.includes(type);
321
+ }
322
+ /**
323
+ * Get model ID from model type
324
+ */
325
+ export function getModelId(model) {
326
+ return MODEL_IDS[model];
327
+ }
328
+ /**
329
+ * Get worker configuration by type
330
+ */
331
+ export function getWorkerConfig(type) {
332
+ if (isHeadlessWorker(type)) {
333
+ return HEADLESS_WORKER_CONFIGS[type];
334
+ }
335
+ if (isLocalWorker(type)) {
336
+ return LOCAL_WORKER_CONFIGS[type];
337
+ }
338
+ return undefined;
339
+ }
340
+ // ============================================
341
+ // HeadlessWorkerExecutor Class
342
+ // ============================================
343
+ /**
344
+ * HeadlessWorkerExecutor - Executes workers using Claude Code in headless mode
345
+ *
346
+ * Features:
347
+ * - Process pool with configurable concurrency limit
348
+ * - Pending queue for overflow requests
349
+ * - Context caching with configurable TTL
350
+ * - Execution logging for debugging
351
+ * - Event emission for monitoring
352
+ * - Graceful termination
353
+ */
354
+ export class HeadlessWorkerExecutor extends EventEmitter {
355
+ projectRoot;
356
+ config;
357
+ processPool = new Map();
358
+ pendingQueue = [];
359
+ contextCache = new Map();
360
+ claudeCodeAvailable = null;
361
+ claudeCodeVersion = null;
362
+ constructor(projectRoot, options) {
363
+ super();
364
+ this.projectRoot = projectRoot;
365
+ // Merge with defaults
366
+ this.config = {
367
+ maxConcurrent: options?.maxConcurrent ?? 2,
368
+ defaultTimeoutMs: options?.defaultTimeoutMs ?? 5 * 60 * 1000,
369
+ maxContextFiles: options?.maxContextFiles ?? 20,
370
+ maxCharsPerFile: options?.maxCharsPerFile ?? 5000,
371
+ logDir: options?.logDir ?? join(projectRoot, '.claude-flow', 'logs', 'headless'),
372
+ cacheContext: options?.cacheContext ?? true,
373
+ cacheTtlMs: options?.cacheTtlMs ?? 60000, // 1 minute default
374
+ };
375
+ // Ensure log directory exists
376
+ this.ensureLogDir();
377
+ }
378
+ // ============================================
379
+ // Public API
380
+ // ============================================
381
+ /**
382
+ * Check if Claude Code CLI is available
383
+ */
384
+ async isAvailable() {
385
+ if (this.claudeCodeAvailable !== null) {
386
+ return this.claudeCodeAvailable;
387
+ }
388
+ try {
389
+ const output = execSync('claude --version', {
390
+ encoding: 'utf-8',
391
+ stdio: 'pipe',
392
+ timeout: 5000,
393
+ windowsHide: true, // Prevent phantom console windows on Windows
394
+ });
395
+ this.claudeCodeAvailable = true;
396
+ this.claudeCodeVersion = output.trim();
397
+ this.emit('status', { available: true, version: this.claudeCodeVersion });
398
+ return true;
399
+ }
400
+ catch {
401
+ this.claudeCodeAvailable = false;
402
+ this.emit('status', { available: false });
403
+ return false;
404
+ }
405
+ }
406
+ /**
407
+ * Get Claude Code version
408
+ */
409
+ async getVersion() {
410
+ await this.isAvailable();
411
+ return this.claudeCodeVersion;
412
+ }
413
+ /**
414
+ * Execute a headless worker
415
+ */
416
+ async execute(workerType, configOverrides) {
417
+ const baseConfig = HEADLESS_WORKER_CONFIGS[workerType];
418
+ if (!baseConfig) {
419
+ throw new Error(`Unknown headless worker type: ${workerType}`);
420
+ }
421
+ // Check availability
422
+ const available = await this.isAvailable();
423
+ if (!available) {
424
+ const result = this.createErrorResult(workerType, 'Claude Code CLI not available. Install with: npm install -g @anthropic-ai/claude-code');
425
+ this.emit('error', result);
426
+ return result;
427
+ }
428
+ // Check concurrent limit
429
+ if (this.processPool.size >= this.config.maxConcurrent) {
430
+ // Queue the request
431
+ return new Promise((resolve, reject) => {
432
+ const entry = {
433
+ workerType,
434
+ config: configOverrides,
435
+ resolve,
436
+ reject,
437
+ queuedAt: new Date(),
438
+ };
439
+ this.pendingQueue.push(entry);
440
+ this.emit('queued', {
441
+ workerType,
442
+ queuePosition: this.pendingQueue.length,
443
+ });
444
+ });
445
+ }
446
+ // Execute immediately
447
+ return this.executeInternal(workerType, configOverrides);
448
+ }
449
+ /**
450
+ * Get pool status
451
+ */
452
+ getPoolStatus() {
453
+ const now = Date.now();
454
+ return {
455
+ activeCount: this.processPool.size,
456
+ queueLength: this.pendingQueue.length,
457
+ maxConcurrent: this.config.maxConcurrent,
458
+ activeWorkers: Array.from(this.processPool.values()).map((entry) => ({
459
+ executionId: entry.executionId,
460
+ workerType: entry.workerType,
461
+ startTime: entry.startTime,
462
+ elapsedMs: now - entry.startTime.getTime(),
463
+ })),
464
+ queuedWorkers: this.pendingQueue.map((entry) => ({
465
+ workerType: entry.workerType,
466
+ queuedAt: entry.queuedAt,
467
+ waitingMs: now - entry.queuedAt.getTime(),
468
+ })),
469
+ };
470
+ }
471
+ /**
472
+ * Get number of active executions
473
+ */
474
+ getActiveCount() {
475
+ return this.processPool.size;
476
+ }
477
+ /**
478
+ * Cancel a running execution
479
+ */
480
+ cancel(executionId) {
481
+ const entry = this.processPool.get(executionId);
482
+ if (!entry) {
483
+ return false;
484
+ }
485
+ clearTimeout(entry.timeout);
486
+ entry.process.kill('SIGTERM');
487
+ this.processPool.delete(executionId);
488
+ this.emit('cancelled', { executionId });
489
+ // Process next in queue
490
+ this.processQueue();
491
+ return true;
492
+ }
493
+ /**
494
+ * Cancel all running executions
495
+ */
496
+ cancelAll() {
497
+ let cancelled = 0;
498
+ // Cancel active processes (convert to array to avoid iterator issues)
499
+ const entries = Array.from(this.processPool.entries());
500
+ for (const [executionId, entry] of entries) {
501
+ clearTimeout(entry.timeout);
502
+ entry.process.kill('SIGTERM');
503
+ this.emit('cancelled', { executionId });
504
+ cancelled++;
505
+ }
506
+ this.processPool.clear();
507
+ // Reject pending queue
508
+ for (const entry of this.pendingQueue) {
509
+ entry.reject(new Error('Executor cancelled all executions'));
510
+ }
511
+ this.pendingQueue = [];
512
+ this.emit('allCancelled', { count: cancelled });
513
+ return cancelled;
514
+ }
515
+ /**
516
+ * Clear context cache
517
+ */
518
+ clearContextCache() {
519
+ this.contextCache.clear();
520
+ this.emit('cacheClear', {});
521
+ }
522
+ /**
523
+ * Get worker configuration
524
+ */
525
+ getConfig(workerType) {
526
+ return HEADLESS_WORKER_CONFIGS[workerType];
527
+ }
528
+ /**
529
+ * Get all headless worker types
530
+ */
531
+ getHeadlessWorkerTypes() {
532
+ return [...HEADLESS_WORKER_TYPES];
533
+ }
534
+ /**
535
+ * Get all local worker types
536
+ */
537
+ getLocalWorkerTypes() {
538
+ return [...LOCAL_WORKER_TYPES];
539
+ }
540
+ // ============================================
541
+ // Private Methods
542
+ // ============================================
543
+ /**
544
+ * Ensure log directory exists
545
+ */
546
+ ensureLogDir() {
547
+ try {
548
+ if (!existsSync(this.config.logDir)) {
549
+ mkdirSync(this.config.logDir, { recursive: true });
550
+ }
551
+ }
552
+ catch (error) {
553
+ this.emit('warning', { message: 'Failed to create log directory', error });
554
+ }
555
+ }
556
+ /**
557
+ * Internal execution logic
558
+ */
559
+ async executeInternal(workerType, configOverrides) {
560
+ const baseConfig = HEADLESS_WORKER_CONFIGS[workerType];
561
+ const headless = { ...baseConfig.headless, ...configOverrides };
562
+ const startTime = Date.now();
563
+ const executionId = `${workerType}_${startTime}_${Math.random().toString(36).slice(2, 8)}`;
564
+ this.emit('start', { executionId, workerType, config: headless });
565
+ try {
566
+ // Build context from file patterns
567
+ const context = await this.buildContext(headless.contextPatterns || []);
568
+ // Build the full prompt
569
+ const fullPrompt = this.buildPrompt(headless.promptTemplate, context);
570
+ // Log prompt for debugging
571
+ this.logExecution(executionId, 'prompt', fullPrompt);
572
+ // Execute Claude Code headlessly
573
+ const result = await this.executeClaudeCode(fullPrompt, {
574
+ sandbox: headless.sandbox,
575
+ model: headless.model || 'sonnet',
576
+ timeoutMs: headless.timeoutMs || this.config.defaultTimeoutMs,
577
+ executionId,
578
+ workerType,
579
+ });
580
+ // Parse output based on format
581
+ let parsedOutput;
582
+ if (headless.outputFormat === 'json' && result.output) {
583
+ parsedOutput = this.parseJsonOutput(result.output);
584
+ }
585
+ else if (headless.outputFormat === 'markdown' && result.output) {
586
+ parsedOutput = this.parseMarkdownOutput(result.output);
587
+ }
588
+ const executionResult = {
589
+ success: result.success,
590
+ output: result.output,
591
+ parsedOutput,
592
+ durationMs: Date.now() - startTime,
593
+ tokensUsed: result.tokensUsed,
594
+ model: headless.model || 'sonnet',
595
+ sandboxMode: headless.sandbox,
596
+ workerType,
597
+ timestamp: new Date(),
598
+ executionId,
599
+ error: result.error,
600
+ };
601
+ // Log result
602
+ this.logExecution(executionId, 'result', JSON.stringify(executionResult, null, 2));
603
+ this.emit('complete', executionResult);
604
+ return executionResult;
605
+ }
606
+ catch (error) {
607
+ const errorMessage = error instanceof Error ? error.message : String(error);
608
+ const executionResult = this.createErrorResult(workerType, errorMessage);
609
+ executionResult.executionId = executionId;
610
+ executionResult.durationMs = Date.now() - startTime;
611
+ this.logExecution(executionId, 'error', errorMessage);
612
+ this.emit('error', executionResult);
613
+ return executionResult;
614
+ }
615
+ finally {
616
+ // Process next in queue
617
+ this.processQueue();
618
+ }
619
+ }
620
+ /**
621
+ * Process the pending queue
622
+ */
623
+ processQueue() {
624
+ while (this.pendingQueue.length > 0 &&
625
+ this.processPool.size < this.config.maxConcurrent) {
626
+ const next = this.pendingQueue.shift();
627
+ if (!next)
628
+ break;
629
+ this.executeInternal(next.workerType, next.config)
630
+ .then(next.resolve)
631
+ .catch(next.reject);
632
+ }
633
+ }
634
+ /**
635
+ * Build context from file patterns
636
+ */
637
+ async buildContext(patterns) {
638
+ if (patterns.length === 0)
639
+ return '';
640
+ // Check cache
641
+ const cacheKey = patterns.sort().join('|');
642
+ if (this.config.cacheContext) {
643
+ const cached = this.contextCache.get(cacheKey);
644
+ if (cached && Date.now() - cached.timestamp < this.config.cacheTtlMs) {
645
+ return cached.content;
646
+ }
647
+ }
648
+ // Collect files matching patterns
649
+ const files = [];
650
+ for (const pattern of patterns) {
651
+ const matches = this.simpleGlob(pattern);
652
+ files.push(...matches);
653
+ }
654
+ // Deduplicate and limit
655
+ const uniqueFiles = Array.from(new Set(files)).slice(0, this.config.maxContextFiles);
656
+ // Build context
657
+ const contextParts = [];
658
+ for (const file of uniqueFiles) {
659
+ try {
660
+ const fullPath = join(this.projectRoot, file);
661
+ if (!existsSync(fullPath))
662
+ continue;
663
+ const content = readFileSync(fullPath, 'utf-8');
664
+ const truncated = content.slice(0, this.config.maxCharsPerFile);
665
+ const wasTruncated = content.length > this.config.maxCharsPerFile;
666
+ contextParts.push(`--- ${file}${wasTruncated ? ' (truncated)' : ''} ---\n${truncated}`);
667
+ }
668
+ catch {
669
+ // Skip unreadable files
670
+ }
671
+ }
672
+ const contextContent = contextParts.join('\n\n');
673
+ // Cache the result
674
+ if (this.config.cacheContext) {
675
+ this.contextCache.set(cacheKey, {
676
+ content: contextContent,
677
+ timestamp: Date.now(),
678
+ patterns,
679
+ });
680
+ }
681
+ return contextContent;
682
+ }
683
+ /**
684
+ * Simple glob implementation for file matching
685
+ */
686
+ simpleGlob(pattern) {
687
+ const results = [];
688
+ // Handle simple patterns (no wildcards)
689
+ if (!pattern.includes('*')) {
690
+ const fullPath = join(this.projectRoot, pattern);
691
+ if (existsSync(fullPath)) {
692
+ results.push(pattern);
693
+ }
694
+ return results;
695
+ }
696
+ // Parse pattern parts
697
+ const parts = pattern.split('/');
698
+ const scanDir = (dir, remainingParts) => {
699
+ if (remainingParts.length === 0)
700
+ return;
701
+ if (results.length >= 100)
702
+ return; // Limit results
703
+ try {
704
+ const fullDir = join(this.projectRoot, dir);
705
+ if (!existsSync(fullDir))
706
+ return;
707
+ const entries = readdirSync(fullDir, { withFileTypes: true });
708
+ const currentPart = remainingParts[0];
709
+ const isLastPart = remainingParts.length === 1;
710
+ for (const entry of entries) {
711
+ // Skip common non-code directories
712
+ if (entry.name === 'node_modules' ||
713
+ entry.name === '.git' ||
714
+ entry.name === 'dist' ||
715
+ entry.name === 'build' ||
716
+ entry.name === 'coverage' ||
717
+ entry.name === '.next' ||
718
+ entry.name === '.cache') {
719
+ continue;
720
+ }
721
+ const entryPath = dir ? `${dir}/${entry.name}` : entry.name;
722
+ if (currentPart === '**') {
723
+ // Recursive glob
724
+ if (entry.isDirectory()) {
725
+ scanDir(entryPath, remainingParts); // Continue with **
726
+ scanDir(entryPath, remainingParts.slice(1)); // Try next part
727
+ }
728
+ else if (entry.isFile() && remainingParts.length > 1) {
729
+ // Check if file matches next pattern part
730
+ const nextPart = remainingParts[1];
731
+ if (this.matchesPattern(entry.name, nextPart)) {
732
+ results.push(entryPath);
733
+ }
734
+ }
735
+ }
736
+ else if (this.matchesPattern(entry.name, currentPart)) {
737
+ if (isLastPart && entry.isFile()) {
738
+ results.push(entryPath);
739
+ }
740
+ else if (!isLastPart && entry.isDirectory()) {
741
+ scanDir(entryPath, remainingParts.slice(1));
742
+ }
743
+ }
744
+ }
745
+ }
746
+ catch {
747
+ // Skip unreadable directories
748
+ }
749
+ };
750
+ scanDir('', parts);
751
+ return results;
752
+ }
753
+ /**
754
+ * Match filename against a simple pattern
755
+ */
756
+ matchesPattern(name, pattern) {
757
+ if (pattern === '*')
758
+ return true;
759
+ if (pattern === '**')
760
+ return true;
761
+ // Handle *.ext patterns
762
+ if (pattern.startsWith('*.')) {
763
+ return name.endsWith(pattern.slice(1));
764
+ }
765
+ // Handle prefix* patterns
766
+ if (pattern.endsWith('*')) {
767
+ return name.startsWith(pattern.slice(0, -1));
768
+ }
769
+ // Handle *suffix patterns
770
+ if (pattern.startsWith('*')) {
771
+ return name.endsWith(pattern.slice(1));
772
+ }
773
+ // Exact match
774
+ return name === pattern;
775
+ }
776
+ /**
777
+ * Build full prompt with context
778
+ */
779
+ buildPrompt(template, context) {
780
+ if (!context) {
781
+ return `${template}
782
+
783
+ ## Instructions
784
+
785
+ Analyze the codebase and provide your response following the format specified in the task.`;
786
+ }
787
+ return `${template}
788
+
789
+ ## Codebase Context
790
+
791
+ ${context}
792
+
793
+ ## Instructions
794
+
795
+ Analyze the above codebase context and provide your response following the format specified in the task.`;
796
+ }
797
+ /**
798
+ * Execute Claude Code in headless mode
799
+ */
800
+ executeClaudeCode(prompt, options) {
801
+ return new Promise((resolve) => {
802
+ const env = {
803
+ ...process.env,
804
+ CLAUDE_CODE_HEADLESS: 'true',
805
+ CLAUDE_CODE_SANDBOX_MODE: options.sandbox,
806
+ };
807
+ // Set model
808
+ env.ANTHROPIC_MODEL = MODEL_IDS[options.model];
809
+ // Spawn claude CLI process
810
+ const child = spawn('claude', ['--print', prompt], {
811
+ cwd: this.projectRoot,
812
+ env,
813
+ stdio: ['pipe', 'pipe', 'pipe'],
814
+ windowsHide: true, // Prevent phantom console windows on Windows
815
+ });
816
+ // Setup timeout
817
+ const timeoutHandle = setTimeout(() => {
818
+ if (this.processPool.has(options.executionId)) {
819
+ child.kill('SIGTERM');
820
+ // Give it a moment to terminate gracefully
821
+ setTimeout(() => {
822
+ if (!child.killed) {
823
+ child.kill('SIGKILL');
824
+ }
825
+ }, 5000);
826
+ }
827
+ }, options.timeoutMs);
828
+ // Track in process pool
829
+ const poolEntry = {
830
+ process: child,
831
+ executionId: options.executionId,
832
+ workerType: options.workerType,
833
+ startTime: new Date(),
834
+ timeout: timeoutHandle,
835
+ };
836
+ this.processPool.set(options.executionId, poolEntry);
837
+ let stdout = '';
838
+ let stderr = '';
839
+ let resolved = false;
840
+ const cleanup = () => {
841
+ clearTimeout(timeoutHandle);
842
+ this.processPool.delete(options.executionId);
843
+ };
844
+ child.stdout?.on('data', (data) => {
845
+ const chunk = data.toString();
846
+ stdout += chunk;
847
+ this.emit('output', {
848
+ executionId: options.executionId,
849
+ type: 'stdout',
850
+ data: chunk,
851
+ });
852
+ });
853
+ child.stderr?.on('data', (data) => {
854
+ const chunk = data.toString();
855
+ stderr += chunk;
856
+ this.emit('output', {
857
+ executionId: options.executionId,
858
+ type: 'stderr',
859
+ data: chunk,
860
+ });
861
+ });
862
+ child.on('close', (code) => {
863
+ if (resolved)
864
+ return;
865
+ resolved = true;
866
+ cleanup();
867
+ resolve({
868
+ success: code === 0,
869
+ output: stdout || stderr,
870
+ error: code !== 0 ? stderr || `Process exited with code ${code}` : undefined,
871
+ });
872
+ });
873
+ child.on('error', (error) => {
874
+ if (resolved)
875
+ return;
876
+ resolved = true;
877
+ cleanup();
878
+ resolve({
879
+ success: false,
880
+ output: '',
881
+ error: error.message,
882
+ });
883
+ });
884
+ // Handle timeout
885
+ setTimeout(() => {
886
+ if (resolved)
887
+ return;
888
+ if (!this.processPool.has(options.executionId))
889
+ return;
890
+ resolved = true;
891
+ child.kill('SIGTERM');
892
+ cleanup();
893
+ resolve({
894
+ success: false,
895
+ output: stdout || stderr,
896
+ error: `Execution timed out after ${options.timeoutMs}ms`,
897
+ });
898
+ }, options.timeoutMs + 100); // Slightly after the kill timeout
899
+ });
900
+ }
901
+ /**
902
+ * Parse JSON output from Claude Code
903
+ */
904
+ parseJsonOutput(output) {
905
+ try {
906
+ // Try to find JSON in code blocks first
907
+ const codeBlockMatch = output.match(/```(?:json)?\s*([\s\S]*?)```/);
908
+ if (codeBlockMatch) {
909
+ return JSON.parse(codeBlockMatch[1].trim());
910
+ }
911
+ // Try to find any JSON object
912
+ const jsonMatch = output.match(/\{[\s\S]*\}/);
913
+ if (jsonMatch) {
914
+ return JSON.parse(jsonMatch[0]);
915
+ }
916
+ // Try direct parse
917
+ return JSON.parse(output.trim());
918
+ }
919
+ catch {
920
+ return {
921
+ parseError: true,
922
+ rawOutput: output,
923
+ };
924
+ }
925
+ }
926
+ /**
927
+ * Parse markdown output into sections
928
+ */
929
+ parseMarkdownOutput(output) {
930
+ const sections = [];
931
+ const codeBlocks = [];
932
+ // Extract code blocks first
933
+ const codeBlockRegex = /```(\w*)\n([\s\S]*?)```/g;
934
+ let codeMatch;
935
+ while ((codeMatch = codeBlockRegex.exec(output)) !== null) {
936
+ codeBlocks.push({
937
+ language: codeMatch[1] || 'text',
938
+ code: codeMatch[2].trim(),
939
+ });
940
+ }
941
+ // Parse sections
942
+ const lines = output.split('\n');
943
+ let currentSection = null;
944
+ for (const line of lines) {
945
+ const headerMatch = line.match(/^(#{1,6})\s+(.+)$/);
946
+ if (headerMatch) {
947
+ if (currentSection) {
948
+ sections.push(currentSection);
949
+ }
950
+ currentSection = {
951
+ title: headerMatch[2].trim(),
952
+ content: '',
953
+ level: headerMatch[1].length,
954
+ };
955
+ }
956
+ else if (currentSection) {
957
+ currentSection.content += line + '\n';
958
+ }
959
+ }
960
+ if (currentSection) {
961
+ currentSection.content = currentSection.content.trim();
962
+ sections.push(currentSection);
963
+ }
964
+ return { sections, codeBlocks };
965
+ }
966
+ /**
967
+ * Create an error result
968
+ */
969
+ createErrorResult(workerType, error) {
970
+ return {
971
+ success: false,
972
+ output: '',
973
+ durationMs: 0,
974
+ model: 'unknown',
975
+ sandboxMode: 'strict',
976
+ workerType,
977
+ timestamp: new Date(),
978
+ executionId: `error_${Date.now()}`,
979
+ error,
980
+ };
981
+ }
982
+ /**
983
+ * Log execution details for debugging
984
+ */
985
+ logExecution(executionId, type, content) {
986
+ try {
987
+ const timestamp = new Date().toISOString();
988
+ const logFile = join(this.config.logDir, `${executionId}_${type}.log`);
989
+ const logContent = `[${timestamp}] ${type.toUpperCase()}\n${'='.repeat(60)}\n${content}\n`;
990
+ writeFileSync(logFile, logContent);
991
+ }
992
+ catch {
993
+ // Ignore log write errors
994
+ }
995
+ }
996
+ }
997
+ // Export default
998
+ export default HeadlessWorkerExecutor;
999
+ //# sourceMappingURL=headless-worker-executor.js.map