@claude-flow/cli 3.0.0-alpha.6 → 3.0.0-alpha.60

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 (753) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +181 -0
  2. package/.claude/agents/analysis/code-analyzer.md +210 -0
  3. package/.claude/agents/architecture/arch-system-design.md +157 -0
  4. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  5. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  6. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  7. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  8. package/.claude/agents/consensus/quorum-manager.md +823 -0
  9. package/.claude/agents/consensus/raft-manager.md +63 -0
  10. package/.claude/agents/consensus/security-manager.md +622 -0
  11. package/.claude/agents/core/coder.md +453 -0
  12. package/.claude/agents/core/planner.md +375 -0
  13. package/.claude/agents/core/researcher.md +369 -0
  14. package/.claude/agents/core/reviewer.md +520 -0
  15. package/.claude/agents/core/tester.md +512 -0
  16. package/.claude/agents/custom/test-long-runner.md +44 -0
  17. package/.claude/agents/data/data-ml-model.md +445 -0
  18. package/.claude/agents/development/dev-backend-api.md +346 -0
  19. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  20. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  21. package/.claude/agents/flow-nexus/app-store.md +88 -0
  22. package/.claude/agents/flow-nexus/authentication.md +69 -0
  23. package/.claude/agents/flow-nexus/challenges.md +81 -0
  24. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  25. package/.claude/agents/flow-nexus/payments.md +83 -0
  26. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  27. package/.claude/agents/flow-nexus/swarm.md +76 -0
  28. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  29. package/.claude/agents/flow-nexus/workflow.md +84 -0
  30. package/.claude/agents/github/code-review-swarm.md +377 -0
  31. package/.claude/agents/github/github-modes.md +173 -0
  32. package/.claude/agents/github/issue-tracker.md +576 -0
  33. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  34. package/.claude/agents/github/pr-manager.md +438 -0
  35. package/.claude/agents/github/project-board-sync.md +509 -0
  36. package/.claude/agents/github/release-manager.md +605 -0
  37. package/.claude/agents/github/release-swarm.md +583 -0
  38. package/.claude/agents/github/repo-architect.md +398 -0
  39. package/.claude/agents/github/swarm-issue.md +573 -0
  40. package/.claude/agents/github/swarm-pr.md +428 -0
  41. package/.claude/agents/github/sync-coordinator.md +452 -0
  42. package/.claude/agents/github/workflow-automation.md +903 -0
  43. package/.claude/agents/goal/agent.md +816 -0
  44. package/.claude/agents/goal/goal-planner.md +73 -0
  45. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  46. package/.claude/agents/optimization/load-balancer.md +431 -0
  47. package/.claude/agents/optimization/performance-monitor.md +672 -0
  48. package/.claude/agents/optimization/resource-allocator.md +674 -0
  49. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  50. package/.claude/agents/payments/agentic-payments.md +126 -0
  51. package/.claude/agents/sona/sona-learning-optimizer.md +254 -0
  52. package/.claude/agents/sparc/architecture.md +699 -0
  53. package/.claude/agents/sparc/pseudocode.md +520 -0
  54. package/.claude/agents/sparc/refinement.md +802 -0
  55. package/.claude/agents/sparc/specification.md +478 -0
  56. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  57. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  58. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  59. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  60. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  61. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  62. package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
  63. package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
  64. package/.claude/agents/swarm/mesh-coordinator.md +963 -0
  65. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  66. package/.claude/agents/templates/base-template-generator.md +268 -0
  67. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  68. package/.claude/agents/templates/github-pr-manager.md +177 -0
  69. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  70. package/.claude/agents/templates/memory-coordinator.md +187 -0
  71. package/.claude/agents/templates/orchestrator-task.md +139 -0
  72. package/.claude/agents/templates/performance-analyzer.md +199 -0
  73. package/.claude/agents/templates/sparc-coordinator.md +514 -0
  74. package/.claude/agents/testing/production-validator.md +395 -0
  75. package/.claude/agents/testing/tdd-london-swarm.md +244 -0
  76. package/.claude/agents/v3/adr-architect.md +184 -0
  77. package/.claude/agents/v3/claims-authorizer.md +208 -0
  78. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  79. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  80. package/.claude/agents/v3/memory-specialist.md +995 -0
  81. package/.claude/agents/v3/performance-engineer.md +1233 -0
  82. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  83. package/.claude/agents/v3/security-architect.md +867 -0
  84. package/.claude/agents/v3/security-auditor.md +771 -0
  85. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  86. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  87. package/.claude/agents/v3/v3-integration-architect.md +205 -0
  88. package/.claude/commands/agents/README.md +50 -0
  89. package/.claude/commands/agents/agent-capabilities.md +140 -0
  90. package/.claude/commands/agents/agent-coordination.md +28 -0
  91. package/.claude/commands/agents/agent-spawning.md +28 -0
  92. package/.claude/commands/agents/agent-types.md +216 -0
  93. package/.claude/commands/agents/health.md +139 -0
  94. package/.claude/commands/agents/list.md +100 -0
  95. package/.claude/commands/agents/logs.md +130 -0
  96. package/.claude/commands/agents/metrics.md +122 -0
  97. package/.claude/commands/agents/pool.md +127 -0
  98. package/.claude/commands/agents/spawn.md +140 -0
  99. package/.claude/commands/agents/status.md +115 -0
  100. package/.claude/commands/agents/stop.md +102 -0
  101. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  102. package/.claude/commands/analysis/README.md +9 -0
  103. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  104. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  105. package/.claude/commands/analysis/performance-report.md +25 -0
  106. package/.claude/commands/analysis/token-efficiency.md +45 -0
  107. package/.claude/commands/analysis/token-usage.md +25 -0
  108. package/.claude/commands/automation/README.md +9 -0
  109. package/.claude/commands/automation/auto-agent.md +122 -0
  110. package/.claude/commands/automation/self-healing.md +106 -0
  111. package/.claude/commands/automation/session-memory.md +90 -0
  112. package/.claude/commands/automation/smart-agents.md +73 -0
  113. package/.claude/commands/automation/smart-spawn.md +25 -0
  114. package/.claude/commands/automation/workflow-select.md +25 -0
  115. package/.claude/commands/claude-flow-help.md +103 -0
  116. package/.claude/commands/claude-flow-memory.md +107 -0
  117. package/.claude/commands/claude-flow-swarm.md +205 -0
  118. package/.claude/commands/coordination/README.md +9 -0
  119. package/.claude/commands/coordination/agent-spawn.md +25 -0
  120. package/.claude/commands/coordination/init.md +44 -0
  121. package/.claude/commands/coordination/orchestrate.md +43 -0
  122. package/.claude/commands/coordination/spawn.md +45 -0
  123. package/.claude/commands/coordination/swarm-init.md +85 -0
  124. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  125. package/.claude/commands/flow-nexus/app-store.md +124 -0
  126. package/.claude/commands/flow-nexus/challenges.md +120 -0
  127. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  128. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  129. package/.claude/commands/flow-nexus/payments.md +116 -0
  130. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  131. package/.claude/commands/flow-nexus/swarm.md +87 -0
  132. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  133. package/.claude/commands/flow-nexus/workflow.md +115 -0
  134. package/.claude/commands/github/README.md +11 -0
  135. package/.claude/commands/github/code-review-swarm.md +514 -0
  136. package/.claude/commands/github/code-review.md +25 -0
  137. package/.claude/commands/github/github-modes.md +147 -0
  138. package/.claude/commands/github/github-swarm.md +121 -0
  139. package/.claude/commands/github/issue-tracker.md +292 -0
  140. package/.claude/commands/github/issue-triage.md +25 -0
  141. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  142. package/.claude/commands/github/pr-enhance.md +26 -0
  143. package/.claude/commands/github/pr-manager.md +170 -0
  144. package/.claude/commands/github/project-board-sync.md +471 -0
  145. package/.claude/commands/github/release-manager.md +338 -0
  146. package/.claude/commands/github/release-swarm.md +544 -0
  147. package/.claude/commands/github/repo-analyze.md +25 -0
  148. package/.claude/commands/github/repo-architect.md +367 -0
  149. package/.claude/commands/github/swarm-issue.md +482 -0
  150. package/.claude/commands/github/swarm-pr.md +285 -0
  151. package/.claude/commands/github/sync-coordinator.md +301 -0
  152. package/.claude/commands/github/workflow-automation.md +442 -0
  153. package/.claude/commands/hive-mind/README.md +17 -0
  154. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  155. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  156. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  157. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  158. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  159. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  160. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  161. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  162. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  163. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  164. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  165. package/.claude/commands/hooks/README.md +11 -0
  166. package/.claude/commands/hooks/overview.md +58 -0
  167. package/.claude/commands/hooks/post-edit.md +117 -0
  168. package/.claude/commands/hooks/post-task.md +112 -0
  169. package/.claude/commands/hooks/pre-edit.md +113 -0
  170. package/.claude/commands/hooks/pre-task.md +111 -0
  171. package/.claude/commands/hooks/session-end.md +118 -0
  172. package/.claude/commands/hooks/setup.md +103 -0
  173. package/.claude/commands/memory/README.md +9 -0
  174. package/.claude/commands/memory/memory-persist.md +25 -0
  175. package/.claude/commands/memory/memory-search.md +25 -0
  176. package/.claude/commands/memory/memory-usage.md +25 -0
  177. package/.claude/commands/memory/neural.md +47 -0
  178. package/.claude/commands/monitoring/README.md +9 -0
  179. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  180. package/.claude/commands/monitoring/agents.md +44 -0
  181. package/.claude/commands/monitoring/real-time-view.md +25 -0
  182. package/.claude/commands/monitoring/status.md +46 -0
  183. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  184. package/.claude/commands/optimization/README.md +9 -0
  185. package/.claude/commands/optimization/auto-topology.md +62 -0
  186. package/.claude/commands/optimization/cache-manage.md +25 -0
  187. package/.claude/commands/optimization/parallel-execute.md +25 -0
  188. package/.claude/commands/optimization/parallel-execution.md +50 -0
  189. package/.claude/commands/optimization/topology-optimize.md +25 -0
  190. package/.claude/commands/pair/README.md +261 -0
  191. package/.claude/commands/pair/commands.md +546 -0
  192. package/.claude/commands/pair/config.md +510 -0
  193. package/.claude/commands/pair/examples.md +512 -0
  194. package/.claude/commands/pair/modes.md +348 -0
  195. package/.claude/commands/pair/session.md +407 -0
  196. package/.claude/commands/pair/start.md +209 -0
  197. package/.claude/commands/sparc/analyzer.md +52 -0
  198. package/.claude/commands/sparc/architect.md +53 -0
  199. package/.claude/commands/sparc/ask.md +97 -0
  200. package/.claude/commands/sparc/batch-executor.md +54 -0
  201. package/.claude/commands/sparc/code.md +89 -0
  202. package/.claude/commands/sparc/coder.md +54 -0
  203. package/.claude/commands/sparc/debug.md +83 -0
  204. package/.claude/commands/sparc/debugger.md +54 -0
  205. package/.claude/commands/sparc/designer.md +53 -0
  206. package/.claude/commands/sparc/devops.md +109 -0
  207. package/.claude/commands/sparc/docs-writer.md +80 -0
  208. package/.claude/commands/sparc/documenter.md +54 -0
  209. package/.claude/commands/sparc/innovator.md +54 -0
  210. package/.claude/commands/sparc/integration.md +83 -0
  211. package/.claude/commands/sparc/mcp.md +117 -0
  212. package/.claude/commands/sparc/memory-manager.md +54 -0
  213. package/.claude/commands/sparc/optimizer.md +54 -0
  214. package/.claude/commands/sparc/orchestrator.md +132 -0
  215. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  216. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  217. package/.claude/commands/sparc/researcher.md +54 -0
  218. package/.claude/commands/sparc/reviewer.md +54 -0
  219. package/.claude/commands/sparc/security-review.md +80 -0
  220. package/.claude/commands/sparc/sparc-modes.md +174 -0
  221. package/.claude/commands/sparc/sparc.md +111 -0
  222. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  223. package/.claude/commands/sparc/supabase-admin.md +348 -0
  224. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  225. package/.claude/commands/sparc/tdd.md +54 -0
  226. package/.claude/commands/sparc/tester.md +54 -0
  227. package/.claude/commands/sparc/tutorial.md +79 -0
  228. package/.claude/commands/sparc/workflow-manager.md +54 -0
  229. package/.claude/commands/sparc.md +166 -0
  230. package/.claude/commands/stream-chain/pipeline.md +121 -0
  231. package/.claude/commands/stream-chain/run.md +70 -0
  232. package/.claude/commands/swarm/README.md +15 -0
  233. package/.claude/commands/swarm/analysis.md +95 -0
  234. package/.claude/commands/swarm/development.md +96 -0
  235. package/.claude/commands/swarm/examples.md +168 -0
  236. package/.claude/commands/swarm/maintenance.md +102 -0
  237. package/.claude/commands/swarm/optimization.md +117 -0
  238. package/.claude/commands/swarm/research.md +136 -0
  239. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  240. package/.claude/commands/swarm/swarm-background.md +8 -0
  241. package/.claude/commands/swarm/swarm-init.md +19 -0
  242. package/.claude/commands/swarm/swarm-modes.md +8 -0
  243. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  244. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  245. package/.claude/commands/swarm/swarm-status.md +8 -0
  246. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  247. package/.claude/commands/swarm/swarm.md +87 -0
  248. package/.claude/commands/swarm/testing.md +131 -0
  249. package/.claude/commands/training/README.md +9 -0
  250. package/.claude/commands/training/model-update.md +25 -0
  251. package/.claude/commands/training/neural-patterns.md +74 -0
  252. package/.claude/commands/training/neural-train.md +25 -0
  253. package/.claude/commands/training/pattern-learn.md +25 -0
  254. package/.claude/commands/training/specialization.md +63 -0
  255. package/.claude/commands/truth/start.md +143 -0
  256. package/.claude/commands/verify/check.md +50 -0
  257. package/.claude/commands/verify/start.md +128 -0
  258. package/.claude/commands/workflows/README.md +9 -0
  259. package/.claude/commands/workflows/development.md +78 -0
  260. package/.claude/commands/workflows/research.md +63 -0
  261. package/.claude/commands/workflows/workflow-create.md +25 -0
  262. package/.claude/commands/workflows/workflow-execute.md +25 -0
  263. package/.claude/commands/workflows/workflow-export.md +25 -0
  264. package/.claude/helpers/README.md +97 -0
  265. package/.claude/helpers/adr-compliance.sh +186 -0
  266. package/.claude/helpers/auto-commit.sh +178 -0
  267. package/.claude/helpers/checkpoint-manager.sh +251 -0
  268. package/.claude/helpers/daemon-manager.sh +252 -0
  269. package/.claude/helpers/ddd-tracker.sh +144 -0
  270. package/.claude/helpers/github-safe.js +106 -0
  271. package/.claude/helpers/github-setup.sh +28 -0
  272. package/.claude/helpers/guidance-hook.sh +13 -0
  273. package/.claude/helpers/guidance-hooks.sh +102 -0
  274. package/.claude/helpers/health-monitor.sh +108 -0
  275. package/.claude/helpers/learning-hooks.sh +329 -0
  276. package/.claude/helpers/learning-optimizer.sh +127 -0
  277. package/.claude/helpers/learning-service.mjs +1144 -0
  278. package/.claude/helpers/memory.js +83 -0
  279. package/.claude/helpers/metrics-db.mjs +488 -0
  280. package/.claude/helpers/pattern-consolidator.sh +86 -0
  281. package/.claude/helpers/perf-worker.sh +160 -0
  282. package/.claude/helpers/post-commit +16 -0
  283. package/.claude/helpers/pre-commit +26 -0
  284. package/.claude/helpers/quick-start.sh +19 -0
  285. package/.claude/helpers/router.js +66 -0
  286. package/.claude/helpers/security-scanner.sh +127 -0
  287. package/.claude/helpers/session.js +127 -0
  288. package/.claude/helpers/setup-mcp.sh +18 -0
  289. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  290. package/.claude/helpers/statusline-hook.sh +21 -0
  291. package/.claude/helpers/statusline.js +316 -0
  292. package/.claude/helpers/swarm-comms.sh +353 -0
  293. package/.claude/helpers/swarm-hooks.sh +761 -0
  294. package/.claude/helpers/swarm-monitor.sh +211 -0
  295. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  296. package/.claude/helpers/update-v3-progress.sh +166 -0
  297. package/.claude/helpers/v3-quick-status.sh +58 -0
  298. package/.claude/helpers/v3.sh +111 -0
  299. package/.claude/helpers/validate-v3-config.sh +216 -0
  300. package/.claude/helpers/worker-manager.sh +170 -0
  301. package/.claude/settings.json +259 -0
  302. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  303. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  304. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  305. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  306. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  307. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  308. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  309. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  310. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  311. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  312. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  313. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  314. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  315. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  316. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  317. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  318. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  319. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  320. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  321. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  322. package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/performance.json +3 -3
  323. package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +10 -0
  324. package/.claude/skills/skill-builder/SKILL.md +910 -0
  325. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  326. package/.claude/skills/stream-chain/SKILL.md +563 -0
  327. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  328. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  329. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  330. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  331. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  332. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  333. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  334. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  335. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  336. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  337. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  338. package/.claude/skills/verification-quality/SKILL.md +649 -0
  339. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  340. package/.claude/skills/worker-integration/skill.md +154 -0
  341. package/README.md +428 -6
  342. package/bin/cli.js +142 -6
  343. package/bin/mcp-server.js +188 -0
  344. package/dist/src/commands/agent.d.ts.map +1 -1
  345. package/dist/src/commands/agent.js +42 -26
  346. package/dist/src/commands/agent.js.map +1 -1
  347. package/dist/src/commands/analyze.d.ts +19 -0
  348. package/dist/src/commands/analyze.d.ts.map +1 -0
  349. package/dist/src/commands/analyze.js +1823 -0
  350. package/dist/src/commands/analyze.js.map +1 -0
  351. package/dist/src/commands/claims.d.ts +10 -0
  352. package/dist/src/commands/claims.d.ts.map +1 -0
  353. package/dist/src/commands/claims.js +288 -0
  354. package/dist/src/commands/claims.js.map +1 -0
  355. package/dist/src/commands/completions.d.ts +10 -0
  356. package/dist/src/commands/completions.d.ts.map +1 -0
  357. package/dist/src/commands/completions.js +539 -0
  358. package/dist/src/commands/completions.js.map +1 -0
  359. package/dist/src/commands/daemon.d.ts +8 -0
  360. package/dist/src/commands/daemon.d.ts.map +1 -0
  361. package/dist/src/commands/daemon.js +593 -0
  362. package/dist/src/commands/daemon.js.map +1 -0
  363. package/dist/src/commands/deployment.d.ts +10 -0
  364. package/dist/src/commands/deployment.d.ts.map +1 -0
  365. package/dist/src/commands/deployment.js +289 -0
  366. package/dist/src/commands/deployment.js.map +1 -0
  367. package/dist/src/commands/doctor.d.ts +10 -0
  368. package/dist/src/commands/doctor.d.ts.map +1 -0
  369. package/dist/src/commands/doctor.js +448 -0
  370. package/dist/src/commands/doctor.js.map +1 -0
  371. package/dist/src/commands/embeddings.d.ts +18 -0
  372. package/dist/src/commands/embeddings.d.ts.map +1 -0
  373. package/dist/src/commands/embeddings.js +616 -0
  374. package/dist/src/commands/embeddings.js.map +1 -0
  375. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  376. package/dist/src/commands/hive-mind.js +252 -35
  377. package/dist/src/commands/hive-mind.js.map +1 -1
  378. package/dist/src/commands/hooks.d.ts.map +1 -1
  379. package/dist/src/commands/hooks.js +729 -6
  380. package/dist/src/commands/hooks.js.map +1 -1
  381. package/dist/src/commands/index.d.ts +52 -14
  382. package/dist/src/commands/index.d.ts.map +1 -1
  383. package/dist/src/commands/index.js +191 -38
  384. package/dist/src/commands/index.js.map +1 -1
  385. package/dist/src/commands/init.d.ts.map +1 -1
  386. package/dist/src/commands/init.js +80 -9
  387. package/dist/src/commands/init.js.map +1 -1
  388. package/dist/src/commands/issues.d.ts +21 -0
  389. package/dist/src/commands/issues.d.ts.map +1 -0
  390. package/dist/src/commands/issues.js +567 -0
  391. package/dist/src/commands/issues.js.map +1 -0
  392. package/dist/src/commands/mcp.js +3 -3
  393. package/dist/src/commands/mcp.js.map +1 -1
  394. package/dist/src/commands/memory.d.ts.map +1 -1
  395. package/dist/src/commands/memory.js +223 -4
  396. package/dist/src/commands/memory.js.map +1 -1
  397. package/dist/src/commands/neural.d.ts +10 -0
  398. package/dist/src/commands/neural.d.ts.map +1 -0
  399. package/dist/src/commands/neural.js +224 -0
  400. package/dist/src/commands/neural.js.map +1 -0
  401. package/dist/src/commands/performance.d.ts +10 -0
  402. package/dist/src/commands/performance.d.ts.map +1 -0
  403. package/dist/src/commands/performance.js +262 -0
  404. package/dist/src/commands/performance.js.map +1 -0
  405. package/dist/src/commands/plugins.d.ts +11 -0
  406. package/dist/src/commands/plugins.d.ts.map +1 -0
  407. package/dist/src/commands/plugins.js +630 -0
  408. package/dist/src/commands/plugins.js.map +1 -0
  409. package/dist/src/commands/progress.d.ts +11 -0
  410. package/dist/src/commands/progress.d.ts.map +1 -0
  411. package/dist/src/commands/progress.js +259 -0
  412. package/dist/src/commands/progress.js.map +1 -0
  413. package/dist/src/commands/providers.d.ts +10 -0
  414. package/dist/src/commands/providers.d.ts.map +1 -0
  415. package/dist/src/commands/providers.js +232 -0
  416. package/dist/src/commands/providers.js.map +1 -0
  417. package/dist/src/commands/route.d.ts +16 -0
  418. package/dist/src/commands/route.d.ts.map +1 -0
  419. package/dist/src/commands/route.js +813 -0
  420. package/dist/src/commands/route.js.map +1 -0
  421. package/dist/src/commands/security.d.ts +10 -0
  422. package/dist/src/commands/security.d.ts.map +1 -0
  423. package/dist/src/commands/security.js +261 -0
  424. package/dist/src/commands/security.js.map +1 -0
  425. package/dist/src/commands/start.d.ts.map +1 -1
  426. package/dist/src/commands/start.js +22 -2
  427. package/dist/src/commands/start.js.map +1 -1
  428. package/dist/src/commands/swarm.d.ts.map +1 -1
  429. package/dist/src/commands/swarm.js +185 -32
  430. package/dist/src/commands/swarm.js.map +1 -1
  431. package/dist/src/commands/transfer-store.d.ts +13 -0
  432. package/dist/src/commands/transfer-store.d.ts.map +1 -0
  433. package/dist/src/commands/transfer-store.js +428 -0
  434. package/dist/src/commands/transfer-store.js.map +1 -0
  435. package/dist/src/index.d.ts +3 -1
  436. package/dist/src/index.d.ts.map +1 -1
  437. package/dist/src/index.js +69 -10
  438. package/dist/src/index.js.map +1 -1
  439. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  440. package/dist/src/init/claudemd-generator.js +407 -405
  441. package/dist/src/init/claudemd-generator.js.map +1 -1
  442. package/dist/src/init/executor.d.ts.map +1 -1
  443. package/dist/src/init/executor.js +142 -31
  444. package/dist/src/init/executor.js.map +1 -1
  445. package/dist/src/init/helpers-generator.js +1 -1
  446. package/dist/src/init/helpers-generator.js.map +1 -1
  447. package/dist/src/init/mcp-generator.d.ts +9 -0
  448. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  449. package/dist/src/init/mcp-generator.js +57 -28
  450. package/dist/src/init/mcp-generator.js.map +1 -1
  451. package/dist/src/init/settings-generator.d.ts.map +1 -1
  452. package/dist/src/init/settings-generator.js +116 -62
  453. package/dist/src/init/settings-generator.js.map +1 -1
  454. package/dist/src/init/statusline-generator.d.ts +6 -0
  455. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  456. package/dist/src/init/statusline-generator.js +252 -89
  457. package/dist/src/init/statusline-generator.js.map +1 -1
  458. package/dist/src/init/types.d.ts +6 -0
  459. package/dist/src/init/types.d.ts.map +1 -1
  460. package/dist/src/init/types.js +8 -2
  461. package/dist/src/init/types.js.map +1 -1
  462. package/dist/src/mcp-client.d.ts.map +1 -1
  463. package/dist/src/mcp-client.js +17 -1
  464. package/dist/src/mcp-client.js.map +1 -1
  465. package/dist/src/mcp-server.d.ts +6 -1
  466. package/dist/src/mcp-server.d.ts.map +1 -1
  467. package/dist/src/mcp-server.js +169 -38
  468. package/dist/src/mcp-server.js.map +1 -1
  469. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  470. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  471. package/dist/src/mcp-tools/agent-tools.js +350 -14
  472. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  473. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  474. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
  475. package/dist/src/mcp-tools/analyze-tools.js +317 -0
  476. package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
  477. package/dist/src/mcp-tools/config-tools.d.ts +1 -1
  478. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  479. package/dist/src/mcp-tools/config-tools.js +262 -15
  480. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  481. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  482. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  483. package/dist/src/mcp-tools/hive-mind-tools.js +447 -0
  484. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  485. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  486. package/dist/src/mcp-tools/hooks-tools.js +195 -31
  487. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  488. package/dist/src/mcp-tools/index.d.ts +6 -0
  489. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  490. package/dist/src/mcp-tools/index.js +6 -0
  491. package/dist/src/mcp-tools/index.js.map +1 -1
  492. package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  493. package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -0
  494. package/dist/src/mcp-tools/progress-tools.js +343 -0
  495. package/dist/src/mcp-tools/progress-tools.js.map +1 -0
  496. package/dist/src/mcp-tools/session-tools.d.ts +1 -1
  497. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  498. package/dist/src/mcp-tools/session-tools.js +237 -22
  499. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  500. package/dist/src/mcp-tools/task-tools.d.ts +1 -1
  501. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  502. package/dist/src/mcp-tools/task-tools.js +219 -17
  503. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  504. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  505. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
  506. package/dist/src/mcp-tools/transfer-tools.js +396 -0
  507. package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
  508. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  509. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  510. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  511. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  512. package/dist/src/output.d.ts +16 -0
  513. package/dist/src/output.d.ts.map +1 -1
  514. package/dist/src/output.js +42 -0
  515. package/dist/src/output.js.map +1 -1
  516. package/dist/src/plugins/store/discovery.d.ts +73 -0
  517. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  518. package/dist/src/plugins/store/discovery.js +568 -0
  519. package/dist/src/plugins/store/discovery.js.map +1 -0
  520. package/dist/src/plugins/store/index.d.ts +76 -0
  521. package/dist/src/plugins/store/index.d.ts.map +1 -0
  522. package/dist/src/plugins/store/index.js +141 -0
  523. package/dist/src/plugins/store/index.js.map +1 -0
  524. package/dist/src/plugins/store/search.d.ts +46 -0
  525. package/dist/src/plugins/store/search.d.ts.map +1 -0
  526. package/dist/src/plugins/store/search.js +230 -0
  527. package/dist/src/plugins/store/search.js.map +1 -0
  528. package/dist/src/plugins/store/types.d.ts +274 -0
  529. package/dist/src/plugins/store/types.d.ts.map +1 -0
  530. package/dist/src/plugins/store/types.js +7 -0
  531. package/dist/src/plugins/store/types.js.map +1 -0
  532. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  533. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
  534. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  535. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
  536. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  537. package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
  538. package/dist/src/plugins/tests/standalone-test.js +188 -0
  539. package/dist/src/plugins/tests/standalone-test.js.map +1 -0
  540. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  541. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
  542. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  543. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
  544. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  545. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  546. package/dist/src/ruvector/ast-analyzer.js +277 -0
  547. package/dist/src/ruvector/ast-analyzer.js.map +1 -0
  548. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  549. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  550. package/dist/src/ruvector/coverage-router.js +529 -0
  551. package/dist/src/ruvector/coverage-router.js.map +1 -0
  552. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  553. package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
  554. package/dist/src/ruvector/coverage-tools.js +157 -0
  555. package/dist/src/ruvector/coverage-tools.js.map +1 -0
  556. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  557. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  558. package/dist/src/ruvector/diff-classifier.js +698 -0
  559. package/dist/src/ruvector/diff-classifier.js.map +1 -0
  560. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  561. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  562. package/dist/src/ruvector/graph-analyzer.js +929 -0
  563. package/dist/src/ruvector/graph-analyzer.js.map +1 -0
  564. package/dist/src/ruvector/index.d.ts +27 -0
  565. package/dist/src/ruvector/index.d.ts.map +1 -0
  566. package/dist/src/ruvector/index.js +53 -0
  567. package/dist/src/ruvector/index.js.map +1 -0
  568. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  569. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  570. package/dist/src/ruvector/q-learning-router.js +681 -0
  571. package/dist/src/ruvector/q-learning-router.js.map +1 -0
  572. package/dist/src/ruvector/vector-db.d.ts +69 -0
  573. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  574. package/dist/src/ruvector/vector-db.js +243 -0
  575. package/dist/src/ruvector/vector-db.js.map +1 -0
  576. package/dist/src/services/claim-service.d.ts +204 -0
  577. package/dist/src/services/claim-service.d.ts.map +1 -0
  578. package/dist/src/services/claim-service.js +818 -0
  579. package/dist/src/services/claim-service.js.map +1 -0
  580. package/dist/src/services/container-worker-pool.d.ts +197 -0
  581. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  582. package/dist/src/services/container-worker-pool.js +581 -0
  583. package/dist/src/services/container-worker-pool.js.map +1 -0
  584. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  585. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  586. package/dist/src/services/headless-worker-executor.js +997 -0
  587. package/dist/src/services/headless-worker-executor.js.map +1 -0
  588. package/dist/src/services/index.d.ts +13 -0
  589. package/dist/src/services/index.d.ts.map +1 -0
  590. package/dist/src/services/index.js +11 -0
  591. package/dist/src/services/index.js.map +1 -0
  592. package/dist/src/services/worker-daemon.d.ts +203 -0
  593. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  594. package/dist/src/services/worker-daemon.js +745 -0
  595. package/dist/src/services/worker-daemon.js.map +1 -0
  596. package/dist/src/services/worker-queue.d.ts +194 -0
  597. package/dist/src/services/worker-queue.d.ts.map +1 -0
  598. package/dist/src/services/worker-queue.js +511 -0
  599. package/dist/src/services/worker-queue.js.map +1 -0
  600. package/dist/src/suggest.d.ts +53 -0
  601. package/dist/src/suggest.d.ts.map +1 -0
  602. package/dist/src/suggest.js +200 -0
  603. package/dist/src/suggest.js.map +1 -0
  604. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  605. package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
  606. package/dist/src/transfer/anonymization/index.js +175 -0
  607. package/dist/src/transfer/anonymization/index.js.map +1 -0
  608. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  609. package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
  610. package/dist/src/transfer/deploy-seraphine.js +205 -0
  611. package/dist/src/transfer/deploy-seraphine.js.map +1 -0
  612. package/dist/src/transfer/export.d.ts +25 -0
  613. package/dist/src/transfer/export.d.ts.map +1 -0
  614. package/dist/src/transfer/export.js +113 -0
  615. package/dist/src/transfer/export.js.map +1 -0
  616. package/dist/src/transfer/index.d.ts +12 -0
  617. package/dist/src/transfer/index.d.ts.map +1 -0
  618. package/dist/src/transfer/index.js +31 -0
  619. package/dist/src/transfer/index.js.map +1 -0
  620. package/dist/src/transfer/ipfs/client.d.ts +31 -0
  621. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  622. package/dist/src/transfer/ipfs/client.js +74 -0
  623. package/dist/src/transfer/ipfs/client.js.map +1 -0
  624. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  625. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  626. package/dist/src/transfer/ipfs/upload.js +410 -0
  627. package/dist/src/transfer/ipfs/upload.js.map +1 -0
  628. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  629. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  630. package/dist/src/transfer/models/seraphine.js +373 -0
  631. package/dist/src/transfer/models/seraphine.js.map +1 -0
  632. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  633. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  634. package/dist/src/transfer/serialization/cfp.js +180 -0
  635. package/dist/src/transfer/serialization/cfp.js.map +1 -0
  636. package/dist/src/transfer/store/discovery.d.ts +84 -0
  637. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  638. package/dist/src/transfer/store/discovery.js +275 -0
  639. package/dist/src/transfer/store/discovery.js.map +1 -0
  640. package/dist/src/transfer/store/download.d.ts +70 -0
  641. package/dist/src/transfer/store/download.d.ts.map +1 -0
  642. package/dist/src/transfer/store/download.js +295 -0
  643. package/dist/src/transfer/store/download.js.map +1 -0
  644. package/dist/src/transfer/store/index.d.ts +84 -0
  645. package/dist/src/transfer/store/index.d.ts.map +1 -0
  646. package/dist/src/transfer/store/index.js +153 -0
  647. package/dist/src/transfer/store/index.js.map +1 -0
  648. package/dist/src/transfer/store/publish.d.ts +76 -0
  649. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  650. package/dist/src/transfer/store/publish.js +262 -0
  651. package/dist/src/transfer/store/publish.js.map +1 -0
  652. package/dist/src/transfer/store/registry.d.ts +58 -0
  653. package/dist/src/transfer/store/registry.d.ts.map +1 -0
  654. package/dist/src/transfer/store/registry.js +285 -0
  655. package/dist/src/transfer/store/registry.js.map +1 -0
  656. package/dist/src/transfer/store/search.d.ts +54 -0
  657. package/dist/src/transfer/store/search.d.ts.map +1 -0
  658. package/dist/src/transfer/store/search.js +232 -0
  659. package/dist/src/transfer/store/search.js.map +1 -0
  660. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  661. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
  662. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  663. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
  664. package/dist/src/transfer/store/types.d.ts +193 -0
  665. package/dist/src/transfer/store/types.d.ts.map +1 -0
  666. package/dist/src/transfer/store/types.js +6 -0
  667. package/dist/src/transfer/store/types.js.map +1 -0
  668. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  669. package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
  670. package/dist/src/transfer/test-seraphine.js +105 -0
  671. package/dist/src/transfer/test-seraphine.js.map +1 -0
  672. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  673. package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
  674. package/dist/src/transfer/tests/test-store.js +214 -0
  675. package/dist/src/transfer/tests/test-store.js.map +1 -0
  676. package/dist/src/transfer/types.d.ts +245 -0
  677. package/dist/src/transfer/types.d.ts.map +1 -0
  678. package/dist/src/transfer/types.js +6 -0
  679. package/dist/src/transfer/types.js.map +1 -0
  680. package/dist/tsconfig.tsbuildinfo +1 -1
  681. package/package.json +37 -9
  682. package/.agentic-flow/intelligence.json +0 -17
  683. package/.claude-flow/metrics/task-metrics.json +0 -10
  684. package/__tests__/README.md +0 -140
  685. package/__tests__/TEST_SUMMARY.md +0 -144
  686. package/__tests__/cli.test.ts +0 -558
  687. package/__tests__/commands.test.ts +0 -726
  688. package/__tests__/config-adapter.test.ts +0 -362
  689. package/__tests__/config-loading.test.ts +0 -106
  690. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  691. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  692. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  693. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  694. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  695. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  696. package/__tests__/mcp-client.test.ts +0 -480
  697. package/__tests__/p1-commands.test.ts +0 -1064
  698. package/agents/architect.yaml +0 -11
  699. package/agents/coder.yaml +0 -11
  700. package/agents/reviewer.yaml +0 -10
  701. package/agents/security-architect.yaml +0 -10
  702. package/agents/tester.yaml +0 -10
  703. package/docs/CONFIG_LOADING.md +0 -236
  704. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  705. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  706. package/docs/REFACTORING_SUMMARY.md +0 -247
  707. package/src/commands/agent.ts +0 -941
  708. package/src/commands/config.ts +0 -452
  709. package/src/commands/hive-mind.ts +0 -762
  710. package/src/commands/hooks.ts +0 -2603
  711. package/src/commands/index.ts +0 -115
  712. package/src/commands/init.ts +0 -597
  713. package/src/commands/mcp.ts +0 -753
  714. package/src/commands/memory.ts +0 -1161
  715. package/src/commands/migrate.ts +0 -447
  716. package/src/commands/process.ts +0 -695
  717. package/src/commands/session.ts +0 -891
  718. package/src/commands/start.ts +0 -457
  719. package/src/commands/status.ts +0 -736
  720. package/src/commands/swarm.ts +0 -648
  721. package/src/commands/task.ts +0 -792
  722. package/src/commands/workflow.ts +0 -742
  723. package/src/config-adapter.ts +0 -210
  724. package/src/index.ts +0 -400
  725. package/src/infrastructure/in-memory-repositories.ts +0 -310
  726. package/src/init/claudemd-generator.ts +0 -631
  727. package/src/init/executor.ts +0 -762
  728. package/src/init/helpers-generator.ts +0 -628
  729. package/src/init/index.ts +0 -60
  730. package/src/init/mcp-generator.ts +0 -83
  731. package/src/init/settings-generator.ts +0 -274
  732. package/src/init/statusline-generator.ts +0 -211
  733. package/src/init/types.ts +0 -447
  734. package/src/mcp-client.ts +0 -229
  735. package/src/mcp-server.ts +0 -577
  736. package/src/mcp-tools/agent-tools.ts +0 -92
  737. package/src/mcp-tools/config-tools.ts +0 -88
  738. package/src/mcp-tools/hooks-tools.ts +0 -1849
  739. package/src/mcp-tools/index.ts +0 -14
  740. package/src/mcp-tools/memory-tools.ts +0 -270
  741. package/src/mcp-tools/session-tools.ts +0 -102
  742. package/src/mcp-tools/swarm-tools.ts +0 -105
  743. package/src/mcp-tools/task-tools.ts +0 -102
  744. package/src/mcp-tools/types.ts +0 -33
  745. package/src/output.ts +0 -593
  746. package/src/parser.ts +0 -417
  747. package/src/prompt.ts +0 -619
  748. package/src/types.ts +0 -287
  749. package/tsconfig.json +0 -16
  750. package/tsconfig.tsbuildinfo +0 -1
  751. package/vitest.config.ts +0 -13
  752. /package/{tmp.json → .claude/agents/tmp.json} +0 -0
  753. /package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/agent-metrics.json +0 -0
@@ -1,1064 +0,0 @@
1
- /**
2
- * V3 CLI P1 Commands Tests
3
- * Tests for init, start, status, task, and session commands
4
- */
5
-
6
- import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
7
- import { initCommand } from '../src/commands/init.js';
8
- import { startCommand } from '../src/commands/start.js';
9
- import { statusCommand } from '../src/commands/status.js';
10
- import { taskCommand } from '../src/commands/task.js';
11
- import { sessionCommand } from '../src/commands/session.js';
12
- import type { CommandContext } from '../src/types.js';
13
- import * as fs from 'fs';
14
- import * as path from 'path';
15
-
16
- // Mock fs module
17
- vi.mock('fs', () => ({
18
- existsSync: vi.fn(),
19
- mkdirSync: vi.fn(),
20
- writeFileSync: vi.fn(),
21
- readFileSync: vi.fn(),
22
- unlinkSync: vi.fn()
23
- }));
24
-
25
- // Mock MCP client
26
- vi.mock('../src/mcp-client.js', () => ({
27
- callMCPTool: vi.fn(async (toolName: string, input: Record<string, unknown>) => {
28
- // Swarm tools
29
- if (toolName === 'swarm/init') {
30
- return {
31
- swarmId: 'swarm-mock-123',
32
- topology: input.topology || 'hierarchical-mesh',
33
- initializedAt: new Date().toISOString(),
34
- config: {
35
- topology: input.topology,
36
- maxAgents: input.maxAgents || 15,
37
- currentAgents: 0,
38
- autoScaling: true
39
- }
40
- };
41
- }
42
-
43
- if (toolName === 'swarm/status') {
44
- return {
45
- swarmId: 'swarm-mock-123',
46
- topology: 'hierarchical-mesh',
47
- agents: { total: 5, active: 3, idle: 2, terminated: 0 },
48
- health: 'healthy',
49
- uptime: 3600000
50
- };
51
- }
52
-
53
- if (toolName === 'swarm/health') {
54
- return {
55
- status: 'healthy',
56
- checks: [
57
- { name: 'agents', status: 'pass' },
58
- { name: 'memory', status: 'pass' }
59
- ]
60
- };
61
- }
62
-
63
- if (toolName === 'swarm/stop') {
64
- return { stopped: true, stoppedAt: new Date().toISOString() };
65
- }
66
-
67
- // MCP tools
68
- if (toolName === 'mcp/start') {
69
- return {
70
- serverId: 'mcp-mock-123',
71
- port: input.port || 3000,
72
- transport: input.transport || 'stdio',
73
- startedAt: new Date().toISOString()
74
- };
75
- }
76
-
77
- if (toolName === 'mcp/status') {
78
- return { running: true, port: 3000, transport: 'stdio' };
79
- }
80
-
81
- if (toolName === 'mcp/stop') {
82
- return { stopped: true };
83
- }
84
-
85
- // Memory tools
86
- if (toolName === 'memory/stats') {
87
- return {
88
- entries: 100,
89
- size: 1024000,
90
- backend: 'hybrid',
91
- performance: { avgSearchTime: 0.5, cacheHitRate: 0.85 }
92
- };
93
- }
94
-
95
- if (toolName === 'memory/detailed-stats') {
96
- return {
97
- backend: 'hybrid',
98
- entries: 100,
99
- size: 1024000,
100
- namespaces: [{ name: 'default', entries: 100 }],
101
- performance: {
102
- avgSearchTime: 0.5,
103
- avgWriteTime: 1.2,
104
- cacheHitRate: 0.85,
105
- hnswEnabled: true
106
- },
107
- v3Gains: {
108
- searchImprovement: '150x faster',
109
- memoryReduction: '50% reduction'
110
- }
111
- };
112
- }
113
-
114
- // Task tools
115
- if (toolName === 'task/create') {
116
- return {
117
- taskId: `task-${Date.now()}`,
118
- type: input.type,
119
- description: input.description,
120
- priority: input.priority || 'normal',
121
- status: 'pending',
122
- createdAt: new Date().toISOString(),
123
- assignedTo: input.assignedTo,
124
- tags: input.tags || []
125
- };
126
- }
127
-
128
- if (toolName === 'task/list') {
129
- return {
130
- tasks: [
131
- {
132
- id: 'task-1',
133
- type: 'implementation',
134
- description: 'Add user auth',
135
- priority: 'high',
136
- status: 'running',
137
- progress: 50,
138
- createdAt: new Date().toISOString()
139
- },
140
- {
141
- id: 'task-2',
142
- type: 'testing',
143
- description: 'Write unit tests',
144
- priority: 'normal',
145
- status: 'pending',
146
- progress: 0,
147
- createdAt: new Date().toISOString()
148
- }
149
- ],
150
- total: 2
151
- };
152
- }
153
-
154
- if (toolName === 'task/status') {
155
- return {
156
- id: input.taskId,
157
- type: 'implementation',
158
- description: 'Add user authentication',
159
- priority: 'high',
160
- status: 'running',
161
- progress: 50,
162
- assignedTo: ['coder-1'],
163
- parentId: null,
164
- dependencies: [],
165
- dependents: [],
166
- tags: ['auth', 'security'],
167
- createdAt: new Date().toISOString(),
168
- startedAt: new Date().toISOString(),
169
- metrics: {
170
- executionTime: 60000,
171
- retries: 0,
172
- tokensUsed: 5000
173
- }
174
- };
175
- }
176
-
177
- if (toolName === 'task/cancel') {
178
- return {
179
- taskId: input.taskId,
180
- cancelled: true,
181
- previousStatus: 'running',
182
- cancelledAt: new Date().toISOString()
183
- };
184
- }
185
-
186
- if (toolName === 'task/assign') {
187
- return {
188
- taskId: input.taskId,
189
- assignedTo: input.agentIds || [],
190
- previouslyAssigned: []
191
- };
192
- }
193
-
194
- if (toolName === 'task/retry') {
195
- return {
196
- taskId: input.taskId,
197
- newTaskId: `task-retry-${Date.now()}`,
198
- previousStatus: 'failed',
199
- status: 'pending'
200
- };
201
- }
202
-
203
- if (toolName === 'task/summary') {
204
- return {
205
- total: 10,
206
- pending: 3,
207
- running: 2,
208
- completed: 4,
209
- failed: 1
210
- };
211
- }
212
-
213
- // Session tools
214
- if (toolName === 'session/list') {
215
- return {
216
- sessions: [
217
- {
218
- id: 'session-1',
219
- name: 'dev-session',
220
- status: 'saved',
221
- createdAt: new Date().toISOString(),
222
- updatedAt: new Date().toISOString(),
223
- agentCount: 3,
224
- taskCount: 5,
225
- memorySize: 1024
226
- },
227
- {
228
- id: 'session-2',
229
- name: 'test-session',
230
- status: 'active',
231
- createdAt: new Date().toISOString(),
232
- updatedAt: new Date().toISOString(),
233
- agentCount: 2,
234
- taskCount: 3,
235
- memorySize: 512
236
- }
237
- ],
238
- total: 2
239
- };
240
- }
241
-
242
- if (toolName === 'session/save') {
243
- return {
244
- sessionId: `session-${Date.now()}`,
245
- name: input.name || 'unnamed',
246
- description: input.description,
247
- savedAt: new Date().toISOString(),
248
- includes: {
249
- memory: input.includeMemory !== false,
250
- agents: input.includeAgents !== false,
251
- tasks: input.includeTasks !== false
252
- },
253
- stats: {
254
- agentCount: 3,
255
- taskCount: 5,
256
- memoryEntries: 100,
257
- totalSize: 1024000
258
- }
259
- };
260
- }
261
-
262
- if (toolName === 'session/restore') {
263
- return {
264
- sessionId: input.sessionId,
265
- restoredAt: new Date().toISOString(),
266
- restored: {
267
- memory: input.restoreMemory !== false,
268
- agents: input.restoreAgents !== false,
269
- tasks: input.restoreTasks !== false
270
- },
271
- stats: {
272
- agentsRestored: 3,
273
- tasksRestored: 5,
274
- memoryEntriesRestored: 100
275
- }
276
- };
277
- }
278
-
279
- if (toolName === 'session/delete') {
280
- return {
281
- sessionId: input.sessionId,
282
- deleted: true,
283
- deletedAt: new Date().toISOString()
284
- };
285
- }
286
-
287
- if (toolName === 'session/export') {
288
- return {
289
- sessionId: input.sessionId || 'current',
290
- data: { agents: [], tasks: [], memory: [] },
291
- stats: {
292
- agentCount: 3,
293
- taskCount: 5,
294
- memoryEntries: 100
295
- }
296
- };
297
- }
298
-
299
- if (toolName === 'session/import') {
300
- return {
301
- sessionId: `session-imported-${Date.now()}`,
302
- name: input.name || 'imported',
303
- importedAt: new Date().toISOString(),
304
- stats: {
305
- agentsImported: 3,
306
- tasksImported: 5,
307
- memoryEntriesImported: 100
308
- },
309
- activated: input.activate || false
310
- };
311
- }
312
-
313
- if (toolName === 'session/current') {
314
- return {
315
- sessionId: 'session-current',
316
- name: 'current-session',
317
- status: 'active',
318
- startedAt: new Date().toISOString(),
319
- stats: {
320
- agentCount: 3,
321
- taskCount: 5,
322
- memoryEntries: 100,
323
- duration: 3600000
324
- }
325
- };
326
- }
327
-
328
- // Agent tools for task assign
329
- if (toolName === 'agent/list') {
330
- return {
331
- agents: [
332
- { id: 'coder-1', type: 'coder', status: 'active' },
333
- { id: 'tester-1', type: 'tester', status: 'idle' }
334
- ],
335
- total: 2
336
- };
337
- }
338
-
339
- return {};
340
- }),
341
- MCPClientError: class MCPClientError extends Error {
342
- constructor(message: string, public toolName: string, public cause?: Error) {
343
- super(message);
344
- this.name = 'MCPClientError';
345
- }
346
- }
347
- }));
348
-
349
- // Mock output
350
- vi.mock('../src/output.js', () => ({
351
- output: {
352
- writeln: vi.fn(),
353
- printInfo: vi.fn(),
354
- printSuccess: vi.fn(),
355
- printError: vi.fn(),
356
- printWarning: vi.fn(),
357
- printTable: vi.fn(),
358
- printJson: vi.fn(),
359
- printList: vi.fn(),
360
- printBox: vi.fn(),
361
- createSpinner: vi.fn(() => ({
362
- start: vi.fn(),
363
- succeed: vi.fn(),
364
- fail: vi.fn(),
365
- stop: vi.fn(),
366
- setText: vi.fn()
367
- })),
368
- createProgress: vi.fn(() => ({
369
- update: vi.fn(),
370
- finish: vi.fn()
371
- })),
372
- highlight: (str: string) => str,
373
- bold: (str: string) => str,
374
- dim: (str: string) => str,
375
- success: (str: string) => str,
376
- error: (str: string) => str,
377
- warning: (str: string) => str,
378
- info: (str: string) => str,
379
- progressBar: () => '[=====> ]',
380
- setColorEnabled: vi.fn()
381
- }
382
- }));
383
-
384
- // Mock prompts
385
- vi.mock('../src/prompt.js', () => ({
386
- select: vi.fn(async (opts) => opts.default || opts.options[0]?.value),
387
- confirm: vi.fn(async (opts) => opts.default ?? false),
388
- input: vi.fn(async (opts) => opts.default || 'test-input'),
389
- multiSelect: vi.fn(async (opts) => opts.default || [])
390
- }));
391
-
392
- describe('Init Command', () => {
393
- let ctx: CommandContext;
394
-
395
- beforeEach(() => {
396
- ctx = {
397
- args: [],
398
- flags: { _: [] },
399
- cwd: '/test/project',
400
- interactive: false
401
- };
402
- vi.clearAllMocks();
403
- });
404
-
405
- describe('init (default)', () => {
406
- // TODO: Init command tests require complex mocking of executeInit internals
407
- // These tests were never running before, skipped for alpha release
408
- it.skip('should initialize with default configuration', async () => {
409
- vi.mocked(fs.existsSync).mockReturnValue(false);
410
-
411
- const result = await initCommand.action!(ctx);
412
-
413
- expect(result.success).toBe(true);
414
- expect(result.data).toHaveProperty('success', true);
415
- expect(fs.mkdirSync).toHaveBeenCalled();
416
- expect(fs.writeFileSync).toHaveBeenCalled();
417
- });
418
-
419
- it.skip('should initialize with minimal configuration', async () => {
420
- vi.mocked(fs.existsSync).mockReturnValue(false);
421
- ctx.flags = { minimal: true, _: [] };
422
-
423
- const result = await initCommand.action!(ctx);
424
-
425
- expect(result.success).toBe(true);
426
- expect(result.data).toHaveProperty('success', true);
427
- });
428
-
429
- it.skip('should initialize with full configuration', async () => {
430
- vi.mocked(fs.existsSync).mockReturnValue(false);
431
- ctx.flags = { full: true, _: [] };
432
-
433
- const result = await initCommand.action!(ctx);
434
-
435
- expect(result.success).toBe(true);
436
- expect(result.data).toHaveProperty('success', true);
437
- });
438
-
439
- it('should fail if already initialized without force', async () => {
440
- vi.mocked(fs.existsSync).mockReturnValue(true);
441
-
442
- const result = await initCommand.action!(ctx);
443
-
444
- expect(result.success).toBe(false);
445
- });
446
-
447
- it.skip('should reinitialize with force flag', async () => {
448
- vi.mocked(fs.existsSync).mockReturnValue(true);
449
- ctx.flags = { force: true, _: [] };
450
-
451
- const result = await initCommand.action!(ctx);
452
-
453
- expect(result.success).toBe(true);
454
- });
455
- });
456
-
457
- describe('init check', () => {
458
- it('should report initialized status', async () => {
459
- vi.mocked(fs.existsSync).mockReturnValue(true);
460
-
461
- const checkCmd = initCommand.subcommands?.find(c => c.name === 'check');
462
- const result = await checkCmd!.action!(ctx);
463
-
464
- expect(result.success).toBe(true);
465
- expect(result.data).toHaveProperty('initialized', true);
466
- });
467
-
468
- it('should report not initialized status', async () => {
469
- vi.mocked(fs.existsSync).mockReturnValue(false);
470
-
471
- const checkCmd = initCommand.subcommands?.find(c => c.name === 'check');
472
- const result = await checkCmd!.action!(ctx);
473
-
474
- expect(result.success).toBe(true);
475
- expect(result.data).toHaveProperty('initialized', false);
476
- });
477
- });
478
- });
479
-
480
- describe('Start Command', () => {
481
- let ctx: CommandContext;
482
-
483
- beforeEach(() => {
484
- ctx = {
485
- args: [],
486
- flags: { _: [] },
487
- cwd: '/test/project',
488
- interactive: false
489
- };
490
- vi.clearAllMocks();
491
- vi.mocked(fs.existsSync).mockImplementation((p: fs.PathLike) => {
492
- const pathStr = String(p);
493
- return pathStr.includes('config.yaml');
494
- });
495
- vi.mocked(fs.readFileSync).mockReturnValue('version: 3.0.0\nswarm:\n topology: mesh');
496
- });
497
-
498
- describe('start (default)', () => {
499
- it('should start system with defaults', async () => {
500
- const result = await startCommand.action!(ctx);
501
-
502
- expect(result.success).toBe(true);
503
- expect(result.data).toHaveProperty('swarmId');
504
- expect(result.data).toHaveProperty('topology');
505
- });
506
-
507
- it('should start with custom port', async () => {
508
- ctx.flags = { port: 3001, _: [] };
509
-
510
- const result = await startCommand.action!(ctx);
511
-
512
- expect(result.success).toBe(true);
513
- });
514
-
515
- it('should start with custom topology', async () => {
516
- ctx.flags = { topology: 'mesh', _: [] };
517
-
518
- const result = await startCommand.action!(ctx);
519
-
520
- expect(result.success).toBe(true);
521
- expect(result.data).toHaveProperty('topology', 'mesh');
522
- });
523
-
524
- it('should start in daemon mode', async () => {
525
- ctx.flags = { daemon: true, _: [] };
526
-
527
- const result = await startCommand.action!(ctx);
528
-
529
- expect(result.success).toBe(true);
530
- expect(result.data).toHaveProperty('daemon', true);
531
- });
532
-
533
- it('should skip MCP server when requested', async () => {
534
- ctx.flags = { 'skip-mcp': true, _: [] };
535
-
536
- const result = await startCommand.action!(ctx);
537
-
538
- expect(result.success).toBe(true);
539
- expect(result.data).toHaveProperty('mcp', null);
540
- });
541
-
542
- it('should fail if not initialized', async () => {
543
- vi.mocked(fs.existsSync).mockReturnValue(false);
544
-
545
- const result = await startCommand.action!(ctx);
546
-
547
- expect(result.success).toBe(false);
548
- });
549
- });
550
-
551
- describe('start stop', () => {
552
- it('should stop system', async () => {
553
- ctx.flags = { force: true, _: [] };
554
-
555
- const stopCmd = startCommand.subcommands?.find(c => c.name === 'stop');
556
- const result = await stopCmd!.action!(ctx);
557
-
558
- expect(result.success).toBe(true);
559
- expect(result.data).toHaveProperty('stopped', true);
560
- });
561
- });
562
-
563
- describe('start restart', () => {
564
- it('should restart system', async () => {
565
- const restartCmd = startCommand.subcommands?.find(c => c.name === 'restart');
566
- const result = await restartCmd!.action!(ctx);
567
-
568
- expect(result.success).toBe(true);
569
- expect(result.data).toHaveProperty('restarted');
570
- });
571
- });
572
- });
573
-
574
- describe('Status Command', () => {
575
- let ctx: CommandContext;
576
-
577
- beforeEach(() => {
578
- ctx = {
579
- args: [],
580
- flags: { _: [] },
581
- cwd: '/test/project',
582
- interactive: false
583
- };
584
- vi.clearAllMocks();
585
- vi.mocked(fs.existsSync).mockReturnValue(true);
586
- });
587
-
588
- describe('status (default)', () => {
589
- it('should show system status', async () => {
590
- const result = await statusCommand.action!(ctx);
591
-
592
- expect(result.success).toBe(true);
593
- expect(result.data).toHaveProperty('running');
594
- expect(result.data).toHaveProperty('swarm');
595
- expect(result.data).toHaveProperty('mcp');
596
- expect(result.data).toHaveProperty('memory');
597
- expect(result.data).toHaveProperty('tasks');
598
- });
599
-
600
- it('should output JSON when requested', async () => {
601
- ctx.flags = { format: 'json', _: [] };
602
-
603
- const result = await statusCommand.action!(ctx);
604
-
605
- expect(result.success).toBe(true);
606
- });
607
-
608
- it('should perform health check', async () => {
609
- ctx.flags = { 'health-check': true, _: [] };
610
-
611
- const result = await statusCommand.action!(ctx);
612
-
613
- expect(result.success).toBe(true);
614
- expect(result.data).toHaveProperty('checks');
615
- expect(result.data).toHaveProperty('summary');
616
- });
617
-
618
- it('should fail if not initialized', async () => {
619
- vi.mocked(fs.existsSync).mockReturnValue(false);
620
-
621
- const result = await statusCommand.action!(ctx);
622
-
623
- expect(result.success).toBe(false);
624
- });
625
- });
626
-
627
- describe('status agents', () => {
628
- it('should show agent status', async () => {
629
- const agentsCmd = statusCommand.subcommands?.find(c => c.name === 'agents');
630
- const result = await agentsCmd!.action!(ctx);
631
-
632
- // The status agents command makes an agent/list call which returns successfully
633
- // Success depends on whether the MCP call succeeds
634
- expect(result).toBeDefined();
635
- });
636
- });
637
-
638
- describe('status tasks', () => {
639
- it('should show task status', async () => {
640
- const tasksCmd = statusCommand.subcommands?.find(c => c.name === 'tasks');
641
- const result = await tasksCmd!.action!(ctx);
642
-
643
- expect(result.success).toBe(true);
644
- });
645
- });
646
-
647
- describe('status memory', () => {
648
- it('should show memory status', async () => {
649
- const memoryCmd = statusCommand.subcommands?.find(c => c.name === 'memory');
650
- const result = await memoryCmd!.action!(ctx);
651
-
652
- expect(result.success).toBe(true);
653
- });
654
- });
655
- });
656
-
657
- describe('Task Command', () => {
658
- let ctx: CommandContext;
659
-
660
- beforeEach(() => {
661
- ctx = {
662
- args: [],
663
- flags: { _: [] },
664
- cwd: '/test/project',
665
- interactive: false
666
- };
667
- vi.clearAllMocks();
668
- });
669
-
670
- describe('task create', () => {
671
- it('should create task with type and description', async () => {
672
- const createCmd = taskCommand.subcommands?.find(c => c.name === 'create');
673
- ctx.flags = {
674
- type: 'implementation',
675
- description: 'Add user authentication',
676
- _: []
677
- };
678
-
679
- const result = await createCmd!.action!(ctx);
680
-
681
- expect(result.success).toBe(true);
682
- expect(result.data).toHaveProperty('taskId');
683
- expect(result.data).toHaveProperty('type', 'implementation');
684
- expect(result.data).toHaveProperty('description', 'Add user authentication');
685
- });
686
-
687
- it('should create task with priority', async () => {
688
- const createCmd = taskCommand.subcommands?.find(c => c.name === 'create');
689
- ctx.flags = {
690
- type: 'bug-fix',
691
- description: 'Fix login issue',
692
- priority: 'high',
693
- _: []
694
- };
695
-
696
- const result = await createCmd!.action!(ctx);
697
-
698
- expect(result.success).toBe(true);
699
- expect(result.data).toHaveProperty('priority', 'high');
700
- });
701
-
702
- it('should fail without type', async () => {
703
- const createCmd = taskCommand.subcommands?.find(c => c.name === 'create');
704
- ctx.flags = { description: 'Test', _: [] };
705
-
706
- const result = await createCmd!.action!(ctx);
707
-
708
- expect(result.success).toBe(false);
709
- });
710
-
711
- it('should fail without description', async () => {
712
- const createCmd = taskCommand.subcommands?.find(c => c.name === 'create');
713
- ctx.flags = { type: 'implementation', _: [] };
714
-
715
- const result = await createCmd!.action!(ctx);
716
-
717
- expect(result.success).toBe(false);
718
- });
719
- });
720
-
721
- describe('task list', () => {
722
- it('should list tasks', async () => {
723
- const listCmd = taskCommand.subcommands?.find(c => c.name === 'list');
724
-
725
- const result = await listCmd!.action!(ctx);
726
-
727
- expect(result.success).toBe(true);
728
- expect(result.data).toHaveProperty('tasks');
729
- expect(result.data).toHaveProperty('total');
730
- });
731
-
732
- it('should filter by status', async () => {
733
- const listCmd = taskCommand.subcommands?.find(c => c.name === 'list');
734
- ctx.flags = { status: 'running', _: [] };
735
-
736
- const result = await listCmd!.action!(ctx);
737
-
738
- expect(result.success).toBe(true);
739
- });
740
-
741
- it('should show all tasks', async () => {
742
- const listCmd = taskCommand.subcommands?.find(c => c.name === 'list');
743
- ctx.flags = { all: true, _: [] };
744
-
745
- const result = await listCmd!.action!(ctx);
746
-
747
- expect(result.success).toBe(true);
748
- });
749
- });
750
-
751
- describe('task status', () => {
752
- it('should get task status', async () => {
753
- const statusCmd = taskCommand.subcommands?.find(c => c.name === 'status');
754
- ctx.args = ['task-123'];
755
-
756
- const result = await statusCmd!.action!(ctx);
757
-
758
- expect(result.success).toBe(true);
759
- expect(result.data).toHaveProperty('id');
760
- expect(result.data).toHaveProperty('status');
761
- expect(result.data).toHaveProperty('metrics');
762
- });
763
-
764
- it('should fail without task ID', async () => {
765
- const statusCmd = taskCommand.subcommands?.find(c => c.name === 'status');
766
-
767
- const result = await statusCmd!.action!(ctx);
768
-
769
- expect(result.success).toBe(false);
770
- });
771
- });
772
-
773
- describe('task cancel', () => {
774
- it('should cancel task', async () => {
775
- const cancelCmd = taskCommand.subcommands?.find(c => c.name === 'cancel');
776
- ctx.args = ['task-123'];
777
- ctx.flags = { force: true, _: [] };
778
-
779
- const result = await cancelCmd!.action!(ctx);
780
-
781
- expect(result.success).toBe(true);
782
- expect(result.data).toHaveProperty('cancelled', true);
783
- });
784
-
785
- it('should fail without task ID', async () => {
786
- const cancelCmd = taskCommand.subcommands?.find(c => c.name === 'cancel');
787
-
788
- const result = await cancelCmd!.action!(ctx);
789
-
790
- expect(result.success).toBe(false);
791
- });
792
- });
793
-
794
- describe('task assign', () => {
795
- it('should assign task to agent', async () => {
796
- const assignCmd = taskCommand.subcommands?.find(c => c.name === 'assign');
797
- ctx.args = ['task-123'];
798
- ctx.flags = { agent: 'coder-1', _: [] };
799
-
800
- const result = await assignCmd!.action!(ctx);
801
-
802
- expect(result.success).toBe(true);
803
- expect(result.data).toHaveProperty('assignedTo');
804
- });
805
-
806
- it('should unassign task', async () => {
807
- const assignCmd = taskCommand.subcommands?.find(c => c.name === 'assign');
808
- ctx.args = ['task-123'];
809
- ctx.flags = { unassign: true, _: [] };
810
-
811
- const result = await assignCmd!.action!(ctx);
812
-
813
- expect(result.success).toBe(true);
814
- });
815
-
816
- it('should fail without task ID', async () => {
817
- const assignCmd = taskCommand.subcommands?.find(c => c.name === 'assign');
818
- ctx.flags = { agent: 'coder-1', _: [] };
819
-
820
- const result = await assignCmd!.action!(ctx);
821
-
822
- expect(result.success).toBe(false);
823
- });
824
- });
825
-
826
- describe('task retry', () => {
827
- it('should retry failed task', async () => {
828
- const retryCmd = taskCommand.subcommands?.find(c => c.name === 'retry');
829
- ctx.args = ['task-123'];
830
-
831
- const result = await retryCmd!.action!(ctx);
832
-
833
- expect(result.success).toBe(true);
834
- expect(result.data).toHaveProperty('newTaskId');
835
- });
836
-
837
- it('should fail without task ID', async () => {
838
- const retryCmd = taskCommand.subcommands?.find(c => c.name === 'retry');
839
-
840
- const result = await retryCmd!.action!(ctx);
841
-
842
- expect(result.success).toBe(false);
843
- });
844
- });
845
- });
846
-
847
- describe('Session Command', () => {
848
- let ctx: CommandContext;
849
-
850
- beforeEach(() => {
851
- ctx = {
852
- args: [],
853
- flags: { _: [] },
854
- cwd: '/test/project',
855
- interactive: false
856
- };
857
- vi.clearAllMocks();
858
- });
859
-
860
- describe('session list', () => {
861
- it('should list sessions', async () => {
862
- const listCmd = sessionCommand.subcommands?.find(c => c.name === 'list');
863
-
864
- const result = await listCmd!.action!(ctx);
865
-
866
- expect(result.success).toBe(true);
867
- expect(result.data).toHaveProperty('sessions');
868
- expect(result.data).toHaveProperty('total');
869
- });
870
-
871
- it('should filter active sessions', async () => {
872
- const listCmd = sessionCommand.subcommands?.find(c => c.name === 'list');
873
- ctx.flags = { active: true, _: [] };
874
-
875
- const result = await listCmd!.action!(ctx);
876
-
877
- expect(result.success).toBe(true);
878
- });
879
-
880
- it('should include archived sessions', async () => {
881
- const listCmd = sessionCommand.subcommands?.find(c => c.name === 'list');
882
- ctx.flags = { all: true, _: [] };
883
-
884
- const result = await listCmd!.action!(ctx);
885
-
886
- expect(result.success).toBe(true);
887
- });
888
- });
889
-
890
- describe('session save', () => {
891
- it('should save session with name', async () => {
892
- const saveCmd = sessionCommand.subcommands?.find(c => c.name === 'save');
893
- ctx.flags = { name: 'my-session', _: [] };
894
-
895
- const result = await saveCmd!.action!(ctx);
896
-
897
- expect(result.success).toBe(true);
898
- expect(result.data).toHaveProperty('sessionId');
899
- expect(result.data).toHaveProperty('name', 'my-session');
900
- });
901
-
902
- it('should save session with description', async () => {
903
- const saveCmd = sessionCommand.subcommands?.find(c => c.name === 'save');
904
- ctx.flags = { name: 'checkpoint', description: 'Before refactoring', _: [] };
905
-
906
- const result = await saveCmd!.action!(ctx);
907
-
908
- expect(result.success).toBe(true);
909
- });
910
-
911
- it('should exclude memory when requested', async () => {
912
- const saveCmd = sessionCommand.subcommands?.find(c => c.name === 'save');
913
- ctx.flags = { name: 'no-memory', 'include-memory': false, _: [] };
914
-
915
- const result = await saveCmd!.action!(ctx);
916
-
917
- expect(result.success).toBe(true);
918
- });
919
- });
920
-
921
- describe('session restore', () => {
922
- it('should restore session', async () => {
923
- const restoreCmd = sessionCommand.subcommands?.find(c => c.name === 'restore');
924
- ctx.args = ['session-123'];
925
- ctx.flags = { force: true, _: [] };
926
-
927
- const result = await restoreCmd!.action!(ctx);
928
-
929
- expect(result.success).toBe(true);
930
- expect(result.data).toHaveProperty('restored');
931
- });
932
-
933
- it('should restore only memory', async () => {
934
- const restoreCmd = sessionCommand.subcommands?.find(c => c.name === 'restore');
935
- ctx.args = ['session-123'];
936
- ctx.flags = { force: true, 'memory-only': true, _: [] };
937
-
938
- const result = await restoreCmd!.action!(ctx);
939
-
940
- expect(result.success).toBe(true);
941
- });
942
-
943
- it('should fail without session ID in non-interactive mode', async () => {
944
- const restoreCmd = sessionCommand.subcommands?.find(c => c.name === 'restore');
945
-
946
- const result = await restoreCmd!.action!(ctx);
947
-
948
- expect(result.success).toBe(false);
949
- });
950
- });
951
-
952
- describe('session delete', () => {
953
- it('should delete session', async () => {
954
- const deleteCmd = sessionCommand.subcommands?.find(c => c.name === 'delete');
955
- ctx.args = ['session-123'];
956
- ctx.flags = { force: true, _: [] };
957
-
958
- const result = await deleteCmd!.action!(ctx);
959
-
960
- expect(result.success).toBe(true);
961
- expect(result.data).toHaveProperty('deleted', true);
962
- });
963
-
964
- it('should fail without session ID', async () => {
965
- const deleteCmd = sessionCommand.subcommands?.find(c => c.name === 'delete');
966
- ctx.flags = { force: true, _: [] };
967
-
968
- const result = await deleteCmd!.action!(ctx);
969
-
970
- expect(result.success).toBe(false);
971
- });
972
- });
973
-
974
- describe('session export', () => {
975
- it('should export session to file', async () => {
976
- // Need to set up proper mock for session/current call
977
- vi.mocked(fs.existsSync).mockReturnValue(true);
978
-
979
- const exportCmd = sessionCommand.subcommands?.find(c => c.name === 'export');
980
- ctx.args = ['session-123'];
981
- ctx.flags = { output: 'backup.json', _: [] };
982
-
983
- const result = await exportCmd!.action!(ctx);
984
-
985
- // Result depends on MCP calls succeeding
986
- expect(result).toBeDefined();
987
- });
988
-
989
- it('should export in YAML format', async () => {
990
- const exportCmd = sessionCommand.subcommands?.find(c => c.name === 'export');
991
- ctx.args = ['session-123'];
992
- ctx.flags = { output: 'backup.yaml', format: 'yaml', _: [] };
993
-
994
- const result = await exportCmd!.action!(ctx);
995
-
996
- expect(result.success).toBe(true);
997
- expect(result.data).toHaveProperty('format', 'yaml');
998
- });
999
- });
1000
-
1001
- describe('session import', () => {
1002
- it('should import session from file', async () => {
1003
- vi.mocked(fs.existsSync).mockReturnValue(true);
1004
- vi.mocked(fs.readFileSync).mockReturnValue('{"agents":[],"tasks":[]}');
1005
-
1006
- const importCmd = sessionCommand.subcommands?.find(c => c.name === 'import');
1007
- ctx.args = ['backup.json'];
1008
-
1009
- const result = await importCmd!.action!(ctx);
1010
-
1011
- expect(result.success).toBe(true);
1012
- expect(result.data).toHaveProperty('sessionId');
1013
- });
1014
-
1015
- it('should fail if file not found', async () => {
1016
- vi.mocked(fs.existsSync).mockReturnValue(false);
1017
-
1018
- const importCmd = sessionCommand.subcommands?.find(c => c.name === 'import');
1019
- ctx.args = ['missing.json'];
1020
-
1021
- const result = await importCmd!.action!(ctx);
1022
-
1023
- expect(result.success).toBe(false);
1024
- });
1025
-
1026
- it('should fail without file path', async () => {
1027
- const importCmd = sessionCommand.subcommands?.find(c => c.name === 'import');
1028
-
1029
- const result = await importCmd!.action!(ctx);
1030
-
1031
- expect(result.success).toBe(false);
1032
- });
1033
- });
1034
-
1035
- describe('session current', () => {
1036
- it('should show current session', async () => {
1037
- const currentCmd = sessionCommand.subcommands?.find(c => c.name === 'current');
1038
-
1039
- const result = await currentCmd!.action!(ctx);
1040
-
1041
- expect(result.success).toBe(true);
1042
- expect(result.data).toHaveProperty('sessionId');
1043
- expect(result.data).toHaveProperty('stats');
1044
- });
1045
- });
1046
- });
1047
-
1048
- describe('Command Index Exports', () => {
1049
- it('should export all P1 commands', async () => {
1050
- const { commands, initCommand: init, startCommand: start, statusCommand: status, taskCommand: task, sessionCommand: session } = await import('../src/commands/index.js');
1051
-
1052
- expect(init).toBeDefined();
1053
- expect(start).toBeDefined();
1054
- expect(status).toBeDefined();
1055
- expect(task).toBeDefined();
1056
- expect(session).toBeDefined();
1057
-
1058
- expect(commands).toContain(init);
1059
- expect(commands).toContain(start);
1060
- expect(commands).toContain(status);
1061
- expect(commands).toContain(task);
1062
- expect(commands).toContain(session);
1063
- });
1064
- });