agentic-flow 1.0.0

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 (383) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
  2. package/.claude/agents/README.md +89 -0
  3. package/.claude/agents/analysis/code-analyzer.md +209 -0
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  6. package/.claude/agents/base-template-generator.md +42 -0
  7. package/.claude/agents/consensus/README.md +253 -0
  8. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  9. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  10. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  11. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  12. package/.claude/agents/consensus/quorum-manager.md +823 -0
  13. package/.claude/agents/consensus/raft-manager.md +63 -0
  14. package/.claude/agents/consensus/security-manager.md +622 -0
  15. package/.claude/agents/core/coder.md +211 -0
  16. package/.claude/agents/core/planner.md +116 -0
  17. package/.claude/agents/core/researcher.md +136 -0
  18. package/.claude/agents/core/reviewer.md +272 -0
  19. package/.claude/agents/core/tester.md +266 -0
  20. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  21. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  22. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  23. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  24. package/.claude/agents/flow-nexus/app-store.md +88 -0
  25. package/.claude/agents/flow-nexus/authentication.md +69 -0
  26. package/.claude/agents/flow-nexus/challenges.md +81 -0
  27. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  28. package/.claude/agents/flow-nexus/payments.md +83 -0
  29. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  30. package/.claude/agents/flow-nexus/swarm.md +76 -0
  31. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  32. package/.claude/agents/flow-nexus/workflow.md +84 -0
  33. package/.claude/agents/github/code-review-swarm.md +538 -0
  34. package/.claude/agents/github/github-modes.md +173 -0
  35. package/.claude/agents/github/issue-tracker.md +319 -0
  36. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  37. package/.claude/agents/github/pr-manager.md +191 -0
  38. package/.claude/agents/github/project-board-sync.md +509 -0
  39. package/.claude/agents/github/release-manager.md +367 -0
  40. package/.claude/agents/github/release-swarm.md +583 -0
  41. package/.claude/agents/github/repo-architect.md +398 -0
  42. package/.claude/agents/github/swarm-issue.md +573 -0
  43. package/.claude/agents/github/swarm-pr.md +428 -0
  44. package/.claude/agents/github/sync-coordinator.md +452 -0
  45. package/.claude/agents/github/workflow-automation.md +635 -0
  46. package/.claude/agents/goal/agent.md +816 -0
  47. package/.claude/agents/goal/goal-planner.md +73 -0
  48. package/.claude/agents/optimization/README.md +250 -0
  49. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  50. package/.claude/agents/optimization/load-balancer.md +431 -0
  51. package/.claude/agents/optimization/performance-monitor.md +672 -0
  52. package/.claude/agents/optimization/resource-allocator.md +674 -0
  53. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  54. package/.claude/agents/payments/agentic-payments.md +126 -0
  55. package/.claude/agents/sparc/architecture.md +472 -0
  56. package/.claude/agents/sparc/pseudocode.md +318 -0
  57. package/.claude/agents/sparc/refinement.md +525 -0
  58. package/.claude/agents/sparc/specification.md +276 -0
  59. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  60. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  61. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  62. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  63. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  64. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  65. package/.claude/agents/swarm/README.md +190 -0
  66. package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  67. package/.claude/agents/swarm/hierarchical-coordinator.md +256 -0
  68. package/.claude/agents/swarm/mesh-coordinator.md +392 -0
  69. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  70. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  71. package/.claude/agents/templates/github-pr-manager.md +177 -0
  72. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  73. package/.claude/agents/templates/memory-coordinator.md +187 -0
  74. package/.claude/agents/templates/migration-plan.md +746 -0
  75. package/.claude/agents/templates/orchestrator-task.md +139 -0
  76. package/.claude/agents/templates/performance-analyzer.md +199 -0
  77. package/.claude/agents/templates/sparc-coordinator.md +183 -0
  78. package/.claude/agents/test-neural.md +14 -0
  79. package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  80. package/.claude/agents/testing/validation/production-validator.md +395 -0
  81. package/.claude/commands/agents/README.md +10 -0
  82. package/.claude/commands/agents/agent-capabilities.md +21 -0
  83. package/.claude/commands/agents/agent-coordination.md +28 -0
  84. package/.claude/commands/agents/agent-spawning.md +28 -0
  85. package/.claude/commands/agents/agent-types.md +26 -0
  86. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  87. package/.claude/commands/analysis/README.md +9 -0
  88. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  89. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  90. package/.claude/commands/analysis/performance-report.md +25 -0
  91. package/.claude/commands/analysis/token-efficiency.md +45 -0
  92. package/.claude/commands/analysis/token-usage.md +25 -0
  93. package/.claude/commands/automation/README.md +9 -0
  94. package/.claude/commands/automation/auto-agent.md +122 -0
  95. package/.claude/commands/automation/self-healing.md +106 -0
  96. package/.claude/commands/automation/session-memory.md +90 -0
  97. package/.claude/commands/automation/smart-agents.md +73 -0
  98. package/.claude/commands/automation/smart-spawn.md +25 -0
  99. package/.claude/commands/automation/workflow-select.md +25 -0
  100. package/.claude/commands/claude-flow-help.md +103 -0
  101. package/.claude/commands/claude-flow-memory.md +107 -0
  102. package/.claude/commands/claude-flow-swarm.md +205 -0
  103. package/.claude/commands/coordination/README.md +9 -0
  104. package/.claude/commands/coordination/agent-spawn.md +25 -0
  105. package/.claude/commands/coordination/init.md +44 -0
  106. package/.claude/commands/coordination/orchestrate.md +43 -0
  107. package/.claude/commands/coordination/spawn.md +45 -0
  108. package/.claude/commands/coordination/swarm-init.md +85 -0
  109. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  110. package/.claude/commands/flow-nexus/app-store.md +124 -0
  111. package/.claude/commands/flow-nexus/challenges.md +120 -0
  112. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  113. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  114. package/.claude/commands/flow-nexus/payments.md +116 -0
  115. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  116. package/.claude/commands/flow-nexus/swarm.md +87 -0
  117. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  118. package/.claude/commands/flow-nexus/workflow.md +115 -0
  119. package/.claude/commands/github/README.md +11 -0
  120. package/.claude/commands/github/code-review-swarm.md +514 -0
  121. package/.claude/commands/github/code-review.md +25 -0
  122. package/.claude/commands/github/github-modes.md +147 -0
  123. package/.claude/commands/github/github-swarm.md +121 -0
  124. package/.claude/commands/github/issue-tracker.md +292 -0
  125. package/.claude/commands/github/issue-triage.md +25 -0
  126. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  127. package/.claude/commands/github/pr-enhance.md +26 -0
  128. package/.claude/commands/github/pr-manager.md +170 -0
  129. package/.claude/commands/github/project-board-sync.md +471 -0
  130. package/.claude/commands/github/release-manager.md +338 -0
  131. package/.claude/commands/github/release-swarm.md +544 -0
  132. package/.claude/commands/github/repo-analyze.md +25 -0
  133. package/.claude/commands/github/repo-architect.md +367 -0
  134. package/.claude/commands/github/swarm-issue.md +482 -0
  135. package/.claude/commands/github/swarm-pr.md +285 -0
  136. package/.claude/commands/github/sync-coordinator.md +301 -0
  137. package/.claude/commands/github/workflow-automation.md +442 -0
  138. package/.claude/commands/hive-mind/README.md +17 -0
  139. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  140. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  141. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  142. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  143. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  144. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  145. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  146. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  147. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  148. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  149. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  150. package/.claude/commands/hooks/README.md +11 -0
  151. package/.claude/commands/hooks/overview.md +58 -0
  152. package/.claude/commands/hooks/post-edit.md +117 -0
  153. package/.claude/commands/hooks/post-task.md +112 -0
  154. package/.claude/commands/hooks/pre-edit.md +113 -0
  155. package/.claude/commands/hooks/pre-task.md +111 -0
  156. package/.claude/commands/hooks/session-end.md +118 -0
  157. package/.claude/commands/hooks/setup.md +103 -0
  158. package/.claude/commands/memory/README.md +9 -0
  159. package/.claude/commands/memory/memory-persist.md +25 -0
  160. package/.claude/commands/memory/memory-search.md +25 -0
  161. package/.claude/commands/memory/memory-usage.md +25 -0
  162. package/.claude/commands/memory/neural.md +47 -0
  163. package/.claude/commands/memory/usage.md +46 -0
  164. package/.claude/commands/monitoring/README.md +9 -0
  165. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  166. package/.claude/commands/monitoring/agents.md +44 -0
  167. package/.claude/commands/monitoring/real-time-view.md +25 -0
  168. package/.claude/commands/monitoring/status.md +46 -0
  169. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  170. package/.claude/commands/optimization/README.md +9 -0
  171. package/.claude/commands/optimization/auto-topology.md +62 -0
  172. package/.claude/commands/optimization/cache-manage.md +25 -0
  173. package/.claude/commands/optimization/parallel-execute.md +25 -0
  174. package/.claude/commands/optimization/parallel-execution.md +50 -0
  175. package/.claude/commands/optimization/topology-optimize.md +25 -0
  176. package/.claude/commands/pair/README.md +261 -0
  177. package/.claude/commands/pair/commands.md +546 -0
  178. package/.claude/commands/pair/config.md +510 -0
  179. package/.claude/commands/pair/examples.md +512 -0
  180. package/.claude/commands/pair/modes.md +348 -0
  181. package/.claude/commands/pair/session.md +407 -0
  182. package/.claude/commands/pair/start.md +209 -0
  183. package/.claude/commands/sparc/analyzer.md +52 -0
  184. package/.claude/commands/sparc/architect.md +53 -0
  185. package/.claude/commands/sparc/ask.md +97 -0
  186. package/.claude/commands/sparc/batch-executor.md +54 -0
  187. package/.claude/commands/sparc/code.md +89 -0
  188. package/.claude/commands/sparc/coder.md +54 -0
  189. package/.claude/commands/sparc/debug.md +83 -0
  190. package/.claude/commands/sparc/debugger.md +54 -0
  191. package/.claude/commands/sparc/designer.md +53 -0
  192. package/.claude/commands/sparc/devops.md +109 -0
  193. package/.claude/commands/sparc/docs-writer.md +80 -0
  194. package/.claude/commands/sparc/documenter.md +54 -0
  195. package/.claude/commands/sparc/innovator.md +54 -0
  196. package/.claude/commands/sparc/integration.md +83 -0
  197. package/.claude/commands/sparc/mcp.md +117 -0
  198. package/.claude/commands/sparc/memory-manager.md +54 -0
  199. package/.claude/commands/sparc/optimizer.md +54 -0
  200. package/.claude/commands/sparc/orchestrator.md +132 -0
  201. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  202. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  203. package/.claude/commands/sparc/researcher.md +54 -0
  204. package/.claude/commands/sparc/reviewer.md +54 -0
  205. package/.claude/commands/sparc/security-review.md +80 -0
  206. package/.claude/commands/sparc/sparc-modes.md +174 -0
  207. package/.claude/commands/sparc/sparc.md +111 -0
  208. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  209. package/.claude/commands/sparc/supabase-admin.md +348 -0
  210. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  211. package/.claude/commands/sparc/tdd.md +54 -0
  212. package/.claude/commands/sparc/tester.md +54 -0
  213. package/.claude/commands/sparc/tutorial.md +79 -0
  214. package/.claude/commands/sparc/workflow-manager.md +54 -0
  215. package/.claude/commands/sparc.md +166 -0
  216. package/.claude/commands/stream-chain/pipeline.md +121 -0
  217. package/.claude/commands/stream-chain/run.md +70 -0
  218. package/.claude/commands/swarm/README.md +15 -0
  219. package/.claude/commands/swarm/analysis.md +95 -0
  220. package/.claude/commands/swarm/development.md +96 -0
  221. package/.claude/commands/swarm/examples.md +168 -0
  222. package/.claude/commands/swarm/maintenance.md +102 -0
  223. package/.claude/commands/swarm/optimization.md +117 -0
  224. package/.claude/commands/swarm/research.md +136 -0
  225. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  226. package/.claude/commands/swarm/swarm-background.md +8 -0
  227. package/.claude/commands/swarm/swarm-init.md +19 -0
  228. package/.claude/commands/swarm/swarm-modes.md +8 -0
  229. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  230. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  231. package/.claude/commands/swarm/swarm-status.md +8 -0
  232. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  233. package/.claude/commands/swarm/swarm.md +27 -0
  234. package/.claude/commands/swarm/testing.md +131 -0
  235. package/.claude/commands/training/README.md +9 -0
  236. package/.claude/commands/training/model-update.md +25 -0
  237. package/.claude/commands/training/neural-patterns.md +74 -0
  238. package/.claude/commands/training/neural-train.md +25 -0
  239. package/.claude/commands/training/pattern-learn.md +25 -0
  240. package/.claude/commands/training/specialization.md +63 -0
  241. package/.claude/commands/truth/start.md +143 -0
  242. package/.claude/commands/verify/check.md +50 -0
  243. package/.claude/commands/verify/start.md +128 -0
  244. package/.claude/commands/workflows/README.md +9 -0
  245. package/.claude/commands/workflows/development.md +78 -0
  246. package/.claude/commands/workflows/research.md +63 -0
  247. package/.claude/commands/workflows/workflow-create.md +25 -0
  248. package/.claude/commands/workflows/workflow-execute.md +25 -0
  249. package/.claude/commands/workflows/workflow-export.md +25 -0
  250. package/.claude/helpers/checkpoint-manager.sh +251 -0
  251. package/.claude/helpers/github-safe.js +106 -0
  252. package/.claude/helpers/github-setup.sh +28 -0
  253. package/.claude/helpers/quick-start.sh +19 -0
  254. package/.claude/helpers/setup-mcp.sh +18 -0
  255. package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
  256. package/.claude/mcp.json +13 -0
  257. package/.claude/settings-backup.json +130 -0
  258. package/.claude/settings-optimized.json +116 -0
  259. package/.claude/settings-simple.json +78 -0
  260. package/.claude/settings.json +114 -0
  261. package/.claude/settings.local.json +14 -0
  262. package/README.md +1280 -0
  263. package/dist/agents/claudeAgent.js +73 -0
  264. package/dist/agents/claudeFlowAgent.js +115 -0
  265. package/dist/agents/codeReviewAgent.js +34 -0
  266. package/dist/agents/dataAgent.js +34 -0
  267. package/dist/agents/directApiAgent.js +260 -0
  268. package/dist/agents/webResearchAgent.js +35 -0
  269. package/dist/cli/mcp.js +135 -0
  270. package/dist/cli-proxy.js +246 -0
  271. package/dist/cli.js +158 -0
  272. package/dist/config/claudeFlow.js +67 -0
  273. package/dist/config/tools.js +33 -0
  274. package/dist/coordination/parallelSwarm.js +226 -0
  275. package/dist/examples/multi-agent-orchestration.js +45 -0
  276. package/dist/examples/parallel-swarm-deployment.js +171 -0
  277. package/dist/examples/use-goal-planner.js +52 -0
  278. package/dist/health.js +46 -0
  279. package/dist/index-with-proxy.js +101 -0
  280. package/dist/index.js +167 -0
  281. package/dist/mcp/claudeFlowSdkServer.js +202 -0
  282. package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +198 -0
  283. package/dist/mcp/fastmcp/servers/http-streaming-updated.js +421 -0
  284. package/dist/mcp/fastmcp/servers/poc-stdio.js +82 -0
  285. package/dist/mcp/fastmcp/servers/stdio-full.js +421 -0
  286. package/dist/mcp/fastmcp/tools/agent/add-agent.js +107 -0
  287. package/dist/mcp/fastmcp/tools/agent/add-command.js +117 -0
  288. package/dist/mcp/fastmcp/tools/agent/execute.js +56 -0
  289. package/dist/mcp/fastmcp/tools/agent/list.js +82 -0
  290. package/dist/mcp/fastmcp/tools/agent/parallel.js +63 -0
  291. package/dist/mcp/fastmcp/tools/memory/retrieve.js +38 -0
  292. package/dist/mcp/fastmcp/tools/memory/search.js +41 -0
  293. package/dist/mcp/fastmcp/tools/memory/store.js +56 -0
  294. package/dist/mcp/fastmcp/tools/swarm/init.js +41 -0
  295. package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +47 -0
  296. package/dist/mcp/fastmcp/tools/swarm/spawn.js +40 -0
  297. package/dist/mcp/fastmcp/types/index.js +2 -0
  298. package/dist/proxy/anthropic-to-openrouter.js +246 -0
  299. package/dist/router/providers/anthropic.js +89 -0
  300. package/dist/router/providers/onnx-local-optimized.js +167 -0
  301. package/dist/router/providers/onnx-local.js +294 -0
  302. package/dist/router/providers/onnx-phi4.js +190 -0
  303. package/dist/router/providers/onnx.js +242 -0
  304. package/dist/router/providers/openrouter.js +242 -0
  305. package/dist/router/router.js +283 -0
  306. package/dist/router/test-integration.js +140 -0
  307. package/dist/router/test-onnx-benchmark.js +145 -0
  308. package/dist/router/test-onnx-integration.js +128 -0
  309. package/dist/router/test-onnx-local.js +37 -0
  310. package/dist/router/test-onnx.js +148 -0
  311. package/dist/router/test-openrouter.js +121 -0
  312. package/dist/router/test-phi4.js +137 -0
  313. package/dist/router/types.js +2 -0
  314. package/dist/utils/agentLoader.js +106 -0
  315. package/dist/utils/cli.js +128 -0
  316. package/dist/utils/logger.js +41 -0
  317. package/dist/utils/mcpCommands.js +214 -0
  318. package/dist/utils/model-downloader.js +182 -0
  319. package/dist/utils/retry.js +54 -0
  320. package/docs/.claude-flow/metrics/agent-metrics.json +1 -0
  321. package/docs/.claude-flow/metrics/performance.json +9 -0
  322. package/docs/.claude-flow/metrics/task-metrics.json +10 -0
  323. package/docs/CHANGELOG.md +155 -0
  324. package/docs/CLAUDE.md +352 -0
  325. package/docs/COMPLETE_VALIDATION_SUMMARY.md +405 -0
  326. package/docs/INDEX.md +183 -0
  327. package/docs/LICENSE +21 -0
  328. package/docs/ONNX_CLI_USAGE.md +344 -0
  329. package/docs/ONNX_ENV_VARS.md +564 -0
  330. package/docs/ONNX_INTEGRATION.md +422 -0
  331. package/docs/ONNX_OPTIMIZATION_GUIDE.md +665 -0
  332. package/docs/ONNX_OPTIMIZATION_SUMMARY.md +374 -0
  333. package/docs/ONNX_VS_CLAUDE_QUALITY.md +442 -0
  334. package/docs/OPENROUTER_DEPLOYMENT.md +495 -0
  335. package/docs/architecture/EXECUTIVE_SUMMARY.md +310 -0
  336. package/docs/architecture/IMPROVEMENT_PLAN.md +11 -0
  337. package/docs/architecture/INTEGRATION-STATUS.md +290 -0
  338. package/docs/architecture/MULTI_MODEL_ROUTER_PLAN.md +620 -0
  339. package/docs/architecture/QUICK_WINS.md +333 -0
  340. package/docs/architecture/README.md +15 -0
  341. package/docs/architecture/RESEARCH_SUMMARY.md +652 -0
  342. package/docs/archived/FASTMCP_COMPLETE.md +428 -0
  343. package/docs/archived/FASTMCP_INTEGRATION_STATUS.md +288 -0
  344. package/docs/archived/FLOW-NEXUS-COMPLETE.md +269 -0
  345. package/docs/archived/INTEGRATION_CONFIRMED.md +351 -0
  346. package/docs/archived/ONNX_FINAL_REPORT.md +312 -0
  347. package/docs/archived/ONNX_IMPLEMENTATION_COMPLETE.md +215 -0
  348. package/docs/archived/ONNX_IMPLEMENTATION_SUMMARY.md +197 -0
  349. package/docs/archived/ONNX_SUCCESS_REPORT.md +271 -0
  350. package/docs/archived/OPENROUTER_PROXY_COMPLETE.md +494 -0
  351. package/docs/archived/PACKAGE-COMPLETE.md +138 -0
  352. package/docs/archived/README.md +27 -0
  353. package/docs/archived/RESEARCH_COMPLETE.txt +335 -0
  354. package/docs/archived/SDK-SETUP-COMPLETE.md +252 -0
  355. package/docs/guides/ALTERNATIVE_LLM_MODELS.md +524 -0
  356. package/docs/guides/DOCKER_AGENT_USAGE.md +352 -0
  357. package/docs/guides/IMPLEMENTATION_EXAMPLES.md +960 -0
  358. package/docs/guides/NPM-PUBLISH.md +218 -0
  359. package/docs/guides/README.md +17 -0
  360. package/docs/guides/agent-sdk.md +234 -0
  361. package/docs/integrations/CLAUDE_AGENTS_INTEGRATION.md +356 -0
  362. package/docs/integrations/CLAUDE_FLOW_INTEGRATION.md +535 -0
  363. package/docs/integrations/FASTMCP_CLI_INTEGRATION.md +503 -0
  364. package/docs/integrations/FLOW-NEXUS-INTEGRATION.md +319 -0
  365. package/docs/integrations/README.md +18 -0
  366. package/docs/integrations/fastmcp-implementation-plan.md +2516 -0
  367. package/docs/integrations/fastmcp-poc-integration.md +198 -0
  368. package/docs/router/ONNX_PHI4_RESEARCH.md +220 -0
  369. package/docs/router/ONNX_RUNTIME_INTEGRATION_PLAN.md +866 -0
  370. package/docs/router/PHI4_HYPEROPTIMIZATION_PLAN.md +2488 -0
  371. package/docs/router/README.md +552 -0
  372. package/docs/router/ROUTER_CONFIG_REFERENCE.md +577 -0
  373. package/docs/router/ROUTER_USER_GUIDE.md +865 -0
  374. package/docs/validation/DOCKER_MCP_VALIDATION.md +358 -0
  375. package/docs/validation/DOCKER_OPENROUTER_VALIDATION.md +443 -0
  376. package/docs/validation/FINAL_SYSTEM_VALIDATION.md +458 -0
  377. package/docs/validation/FINAL_VALIDATION_SUMMARY.md +409 -0
  378. package/docs/validation/MCP_CLI_TOOLS_VALIDATION.md +266 -0
  379. package/docs/validation/MODEL_VALIDATION_REPORT.md +386 -0
  380. package/docs/validation/OPENROUTER_VALIDATION_COMPLETE.md +382 -0
  381. package/docs/validation/README.md +20 -0
  382. package/docs/validation/ROUTER_VALIDATION.md +311 -0
  383. package/package.json +140 -0
package/dist/index.js ADDED
@@ -0,0 +1,167 @@
1
+ import "dotenv/config";
2
+ import { webResearchAgent } from "./agents/webResearchAgent.js";
3
+ import { codeReviewAgent } from "./agents/codeReviewAgent.js";
4
+ import { dataAgent } from "./agents/dataAgent.js";
5
+ import { claudeAgent } from "./agents/claudeAgent.js";
6
+ import { logger } from "./utils/logger.js";
7
+ import { startHealthServer } from "./health.js";
8
+ import { parseArgs, printHelp, validateOptions } from "./utils/cli.js";
9
+ import { getAgent, listAgents } from "./utils/agentLoader.js";
10
+ import { handleMCPCommand } from "./utils/mcpCommands.js";
11
+ async function runParallelMode() {
12
+ const topic = process.env.TOPIC ?? "migrate payments service";
13
+ const codeDiff = process.env.DIFF ?? "feat: add payments router and mandate checks";
14
+ const datasetHint = process.env.DATASET ?? "monthly tx volume, refunds, chargebacks";
15
+ logger.info('Starting parallel agent execution', {
16
+ topic,
17
+ diff: codeDiff.substring(0, 50),
18
+ dataset: datasetHint
19
+ });
20
+ // Stream handler for real-time output
21
+ const streamHandler = (agent) => (chunk) => {
22
+ if (process.env.ENABLE_STREAMING === 'true') {
23
+ process.stdout.write(`[${agent}] ${chunk}`);
24
+ }
25
+ };
26
+ // Each agent runs with its own context. Fan out in parallel.
27
+ const startTime = Date.now();
28
+ const [researchOut, reviewOut, dataOut] = await Promise.all([
29
+ webResearchAgent(`Give me context and risks about: ${topic}`, streamHandler('RESEARCH')),
30
+ codeReviewAgent(`Review this diff at a high level and propose tests:\n${codeDiff}`, streamHandler('CODE_REVIEW')),
31
+ dataAgent(`Analyze ${datasetHint} and report key stats.`, streamHandler('DATA'))
32
+ ]);
33
+ const totalDuration = Date.now() - startTime;
34
+ logger.info('All agents completed', {
35
+ totalDuration,
36
+ agentCount: 3,
37
+ avgDuration: Math.round(totalDuration / 3)
38
+ });
39
+ // Basic reconcile step
40
+ const summary = [
41
+ "=== RESEARCH ===",
42
+ researchOut.output?.trim() ?? "",
43
+ "=== CODE REVIEW ===",
44
+ reviewOut.output?.trim() ?? "",
45
+ "=== DATA ===",
46
+ dataOut.output?.trim() ?? ""
47
+ ].join("\n");
48
+ console.log(summary);
49
+ }
50
+ async function runAgentMode(agentName, task, stream, modelOverride) {
51
+ logger.info('Running agent mode', { agent: agentName, task: task.substring(0, 100), model: modelOverride || 'default' });
52
+ // Load the specified agent
53
+ const agent = getAgent(agentName);
54
+ if (!agent) {
55
+ const availableAgents = listAgents();
56
+ logger.error('Agent not found', { agent: agentName });
57
+ console.error(`\n❌ Agent '${agentName}' not found.\n`);
58
+ console.error('Available agents:');
59
+ availableAgents.slice(0, 20).forEach(a => {
60
+ console.error(` • ${a.name}: ${a.description.substring(0, 80)}...`);
61
+ });
62
+ if (availableAgents.length > 20) {
63
+ console.error(` ... and ${availableAgents.length - 20} more (use --list to see all)`);
64
+ }
65
+ process.exit(1);
66
+ }
67
+ console.log(`\n🤖 Agent: ${agent.name}`);
68
+ console.log(`📝 Description: ${agent.description}\n`);
69
+ console.log(`🎯 Task: ${task}\n`);
70
+ if (modelOverride) {
71
+ console.log(`🔧 Model: ${modelOverride}\n`);
72
+ }
73
+ console.log('⏳ Running...\n');
74
+ const streamHandler = stream ? (chunk) => process.stdout.write(chunk) : undefined;
75
+ // Use Claude Agent SDK with in-SDK MCP server and optional model override
76
+ logger.info('Using Claude Agent SDK with in-SDK MCP server', { modelOverride });
77
+ const result = await claudeAgent(agent, task, streamHandler, modelOverride);
78
+ if (!stream) {
79
+ console.log('\n✅ Completed!\n');
80
+ console.log('═══════════════════════════════════════\n');
81
+ console.log(result.output);
82
+ console.log('\n═══════════════════════════════════════\n');
83
+ }
84
+ logger.info('Agent mode completed', { agent: agentName, outputLength: result.output.length, model: modelOverride || 'default' });
85
+ }
86
+ function runListMode() {
87
+ const agents = listAgents();
88
+ console.log(`\n📦 Available Agents (${agents.length} total)\n`);
89
+ // Group by category (based on directory structure)
90
+ const grouped = new Map();
91
+ agents.forEach(agent => {
92
+ const parts = agent.filePath.split('/');
93
+ const category = parts[parts.length - 2] || 'other';
94
+ if (!grouped.has(category)) {
95
+ grouped.set(category, []);
96
+ }
97
+ grouped.get(category).push(agent);
98
+ });
99
+ // Print grouped
100
+ Array.from(grouped.entries())
101
+ .sort(([a], [b]) => a.localeCompare(b))
102
+ .forEach(([category, categoryAgents]) => {
103
+ console.log(`\n${category.toUpperCase()}:`);
104
+ categoryAgents.forEach(agent => {
105
+ console.log(` ${agent.name.padEnd(30)} ${agent.description.substring(0, 80)}`);
106
+ });
107
+ });
108
+ console.log(`\nTo use an agent:`);
109
+ console.log(` docker run --env-file .env claude-agents --agent <name> --task "Your task"\n`);
110
+ }
111
+ async function main() {
112
+ logger.setContext({ service: 'claude-agents', version: '1.0.0' });
113
+ // Parse CLI arguments
114
+ const options = parseArgs();
115
+ // Handle help
116
+ if (options.help) {
117
+ printHelp();
118
+ process.exit(0);
119
+ }
120
+ // Handle list mode
121
+ if (options.mode === 'list') {
122
+ runListMode();
123
+ process.exit(0);
124
+ }
125
+ // Handle MCP mode
126
+ if (options.mode === 'mcp') {
127
+ await handleMCPCommand(options.mcpCommand || 'start', options.mcpServer || 'all');
128
+ process.exit(0);
129
+ }
130
+ // Validate options
131
+ const validationError = validateOptions(options);
132
+ if (validationError) {
133
+ console.error(`\n❌ ${validationError}\n`);
134
+ printHelp();
135
+ process.exit(1);
136
+ }
137
+ logger.info('Starting Claude Agent SDK', { mode: options.mode });
138
+ // Start health check server
139
+ const healthPort = parseInt(process.env.HEALTH_PORT || '8080');
140
+ const healthServer = startHealthServer(healthPort);
141
+ try {
142
+ if (options.mode === 'agent') {
143
+ const task = options.task || process.env.TASK || '';
144
+ const agent = options.agent || process.env.AGENT || '';
145
+ const model = options.model || process.env.MODEL;
146
+ await runAgentMode(agent, task, options.stream || false, model);
147
+ }
148
+ else {
149
+ await runParallelMode();
150
+ }
151
+ logger.info('Execution completed successfully');
152
+ }
153
+ catch (err) {
154
+ logger.error('Execution failed', { error: err });
155
+ throw err;
156
+ }
157
+ finally {
158
+ // Keep health server running for container health checks
159
+ if (process.env.KEEP_ALIVE !== 'true') {
160
+ healthServer.close();
161
+ }
162
+ }
163
+ }
164
+ main().catch(err => {
165
+ console.error(err);
166
+ process.exit(1);
167
+ });
@@ -0,0 +1,202 @@
1
+ // In-SDK MCP server for claude-flow tools (no subprocess required)
2
+ import { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';
3
+ import { z } from 'zod';
4
+ import { execSync } from 'child_process';
5
+ import { logger } from '../utils/logger.js';
6
+ /**
7
+ * Create an in-SDK MCP server that provides claude-flow memory and coordination tools
8
+ * This runs in-process without spawning Claude Code CLI subprocess
9
+ */
10
+ export const claudeFlowSdkServer = createSdkMcpServer({
11
+ name: 'claude-flow-sdk',
12
+ version: '1.0.0',
13
+ tools: [
14
+ // Memory storage tool
15
+ tool('memory_store', 'Store a value in persistent memory with optional namespace and TTL', {
16
+ key: z.string().describe('Memory key'),
17
+ value: z.string().describe('Value to store'),
18
+ namespace: z.string().optional().default('default').describe('Memory namespace'),
19
+ ttl: z.number().optional().describe('Time-to-live in seconds')
20
+ }, async ({ key, value, namespace, ttl }) => {
21
+ try {
22
+ logger.info('Storing memory', { key, namespace });
23
+ const cmd = `npx claude-flow@alpha memory store "${key}" "${value}" --namespace "${namespace}"${ttl ? ` --ttl ${ttl}` : ''}`;
24
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
25
+ logger.info('Memory stored successfully', { key });
26
+ return {
27
+ content: [{
28
+ type: 'text',
29
+ text: `✅ Stored successfully\n📝 Key: ${key}\n📦 Namespace: ${namespace}\n💾 Size: ${value.length} bytes`
30
+ }]
31
+ };
32
+ }
33
+ catch (error) {
34
+ logger.error('Failed to store memory', { error: error.message });
35
+ return {
36
+ content: [{
37
+ type: 'text',
38
+ text: `❌ Failed to store: ${error.message}`
39
+ }],
40
+ isError: true
41
+ };
42
+ }
43
+ }),
44
+ // Memory retrieval tool
45
+ tool('memory_retrieve', 'Retrieve a value from persistent memory', {
46
+ key: z.string().describe('Memory key'),
47
+ namespace: z.string().optional().default('default').describe('Memory namespace')
48
+ }, async ({ key, namespace }) => {
49
+ try {
50
+ const cmd = `npx claude-flow@alpha memory retrieve "${key}" --namespace "${namespace}"`;
51
+ const result = execSync(cmd, { encoding: 'utf-8' });
52
+ return {
53
+ content: [{
54
+ type: 'text',
55
+ text: `✅ Retrieved:\n${result}`
56
+ }]
57
+ };
58
+ }
59
+ catch (error) {
60
+ return {
61
+ content: [{
62
+ type: 'text',
63
+ text: `❌ Failed to retrieve: ${error.message}`
64
+ }],
65
+ isError: true
66
+ };
67
+ }
68
+ }),
69
+ // Memory search tool
70
+ tool('memory_search', 'Search for keys matching a pattern in memory', {
71
+ pattern: z.string().describe('Search pattern (supports wildcards)'),
72
+ namespace: z.string().optional().describe('Memory namespace to search in'),
73
+ limit: z.number().optional().default(10).describe('Maximum results to return')
74
+ }, async ({ pattern, namespace, limit }) => {
75
+ try {
76
+ const cmd = `npx claude-flow@alpha memory search "${pattern}"${namespace ? ` --namespace "${namespace}"` : ''} --limit ${limit}`;
77
+ const result = execSync(cmd, { encoding: 'utf-8' });
78
+ return {
79
+ content: [{
80
+ type: 'text',
81
+ text: `🔍 Search results:\n${result}`
82
+ }]
83
+ };
84
+ }
85
+ catch (error) {
86
+ return {
87
+ content: [{
88
+ type: 'text',
89
+ text: `❌ Search failed: ${error.message}`
90
+ }],
91
+ isError: true
92
+ };
93
+ }
94
+ }),
95
+ // Swarm initialization tool
96
+ tool('swarm_init', 'Initialize a multi-agent swarm with specified topology', {
97
+ topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),
98
+ maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),
99
+ strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')
100
+ }, async ({ topology, maxAgents, strategy }) => {
101
+ try {
102
+ const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;
103
+ const result = execSync(cmd, { encoding: 'utf-8' });
104
+ return {
105
+ content: [{
106
+ type: 'text',
107
+ text: `🚀 Swarm initialized:\n${result}`
108
+ }]
109
+ };
110
+ }
111
+ catch (error) {
112
+ return {
113
+ content: [{
114
+ type: 'text',
115
+ text: `❌ Swarm init failed: ${error.message}`
116
+ }],
117
+ isError: true
118
+ };
119
+ }
120
+ }),
121
+ // Agent spawn tool
122
+ tool('agent_spawn', 'Spawn a new agent in the swarm', {
123
+ type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),
124
+ capabilities: z.array(z.string()).optional().describe('Agent capabilities'),
125
+ name: z.string().optional().describe('Custom agent name')
126
+ }, async ({ type, capabilities, name }) => {
127
+ try {
128
+ const capStr = capabilities ? ` --capabilities "${capabilities.join(',')}"` : '';
129
+ const nameStr = name ? ` --name "${name}"` : '';
130
+ const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;
131
+ const result = execSync(cmd, { encoding: 'utf-8' });
132
+ return {
133
+ content: [{
134
+ type: 'text',
135
+ text: `🤖 Agent spawned:\n${result}`
136
+ }]
137
+ };
138
+ }
139
+ catch (error) {
140
+ return {
141
+ content: [{
142
+ type: 'text',
143
+ text: `❌ Agent spawn failed: ${error.message}`
144
+ }],
145
+ isError: true
146
+ };
147
+ }
148
+ }),
149
+ // Task orchestration tool
150
+ tool('task_orchestrate', 'Orchestrate a complex task across the swarm', {
151
+ task: z.string().describe('Task description or instructions'),
152
+ strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),
153
+ priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),
154
+ maxAgents: z.number().optional().describe('Maximum agents to use for this task')
155
+ }, async ({ task, strategy, priority, maxAgents }) => {
156
+ try {
157
+ const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';
158
+ const cmd = `npx claude-flow@alpha task orchestrate "${task}" --strategy ${strategy} --priority ${priority}${maxStr}`;
159
+ const result = execSync(cmd, { encoding: 'utf-8' });
160
+ return {
161
+ content: [{
162
+ type: 'text',
163
+ text: `⚡ Task orchestrated:\n${result}`
164
+ }]
165
+ };
166
+ }
167
+ catch (error) {
168
+ return {
169
+ content: [{
170
+ type: 'text',
171
+ text: `❌ Task orchestration failed: ${error.message}`
172
+ }],
173
+ isError: true
174
+ };
175
+ }
176
+ }),
177
+ // Swarm status tool
178
+ tool('swarm_status', 'Get current swarm status and metrics', {
179
+ verbose: z.boolean().optional().default(false).describe('Include detailed metrics')
180
+ }, async ({ verbose }) => {
181
+ try {
182
+ const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;
183
+ const result = execSync(cmd, { encoding: 'utf-8' });
184
+ return {
185
+ content: [{
186
+ type: 'text',
187
+ text: `📊 Swarm status:\n${result}`
188
+ }]
189
+ };
190
+ }
191
+ catch (error) {
192
+ return {
193
+ content: [{
194
+ type: 'text',
195
+ text: `❌ Status check failed: ${error.message}`
196
+ }],
197
+ isError: true
198
+ };
199
+ }
200
+ })
201
+ ]
202
+ });
@@ -0,0 +1,198 @@
1
+ #!/usr/bin/env node
2
+ // FastMCP implementation of claude-flow-sdk server (in-process, 6 tools)
3
+ // Phase 1: Migration from claudeFlowSdkServer.ts to fastmcp
4
+ import { FastMCP } from 'fastmcp';
5
+ import { z } from 'zod';
6
+ import { execSync } from 'child_process';
7
+ import { logger } from '../../../utils/logger.js';
8
+ console.error('🚀 Starting FastMCP claude-flow-sdk Server...');
9
+ // Create server
10
+ const server = new FastMCP({
11
+ name: 'claude-flow-sdk',
12
+ version: '1.0.0'
13
+ });
14
+ // Tool 1: Memory Store
15
+ server.addTool({
16
+ name: 'memory_store',
17
+ description: 'Store a value in persistent memory with optional namespace and TTL',
18
+ parameters: z.object({
19
+ key: z.string().min(1).describe('Memory key'),
20
+ value: z.string().describe('Value to store'),
21
+ namespace: z.string().optional().default('default').describe('Memory namespace'),
22
+ ttl: z.number().positive().optional().describe('Time-to-live in seconds')
23
+ }),
24
+ execute: async ({ key, value, namespace, ttl }) => {
25
+ try {
26
+ logger.info('Storing memory', { key, namespace });
27
+ const cmd = [
28
+ 'npx claude-flow@alpha memory store',
29
+ `"${key}"`,
30
+ `"${value}"`,
31
+ `--namespace "${namespace}"`,
32
+ ttl ? `--ttl ${ttl}` : ''
33
+ ].filter(Boolean).join(' ');
34
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
35
+ logger.info('Memory stored successfully', { key });
36
+ return JSON.stringify({
37
+ success: true,
38
+ key,
39
+ namespace,
40
+ size: value.length,
41
+ ttl,
42
+ timestamp: new Date().toISOString(),
43
+ message: 'Memory stored successfully'
44
+ }, null, 2);
45
+ }
46
+ catch (error) {
47
+ logger.error('Failed to store memory', { error: error.message });
48
+ throw new Error(`Failed to store memory: ${error.message}`);
49
+ }
50
+ }
51
+ });
52
+ // Tool 2: Memory Retrieve
53
+ server.addTool({
54
+ name: 'memory_retrieve',
55
+ description: 'Retrieve a value from persistent memory',
56
+ parameters: z.object({
57
+ key: z.string().min(1).describe('Memory key'),
58
+ namespace: z.string().optional().default('default').describe('Memory namespace')
59
+ }),
60
+ execute: async ({ key, namespace }) => {
61
+ try {
62
+ const cmd = `npx claude-flow@alpha memory retrieve "${key}" --namespace "${namespace}"`;
63
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
64
+ return JSON.stringify({
65
+ success: true,
66
+ key,
67
+ namespace,
68
+ value: result.trim(),
69
+ timestamp: new Date().toISOString()
70
+ }, null, 2);
71
+ }
72
+ catch (error) {
73
+ throw new Error(`Failed to retrieve memory: ${error.message}`);
74
+ }
75
+ }
76
+ });
77
+ // Tool 3: Memory Search
78
+ server.addTool({
79
+ name: 'memory_search',
80
+ description: 'Search for keys matching a pattern in memory',
81
+ parameters: z.object({
82
+ pattern: z.string().min(1).describe('Search pattern (supports wildcards)'),
83
+ namespace: z.string().optional().describe('Memory namespace to search in'),
84
+ limit: z.number().positive().optional().default(10).describe('Maximum results to return')
85
+ }),
86
+ execute: async ({ pattern, namespace, limit }) => {
87
+ try {
88
+ const cmd = `npx claude-flow@alpha memory search "${pattern}"${namespace ? ` --namespace "${namespace}"` : ''} --limit ${limit}`;
89
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
90
+ return JSON.stringify({
91
+ success: true,
92
+ pattern,
93
+ namespace: namespace || 'all',
94
+ results: result.trim(),
95
+ limit,
96
+ timestamp: new Date().toISOString()
97
+ }, null, 2);
98
+ }
99
+ catch (error) {
100
+ throw new Error(`Failed to search memory: ${error.message}`);
101
+ }
102
+ }
103
+ });
104
+ // Tool 4: Swarm Init
105
+ server.addTool({
106
+ name: 'swarm_init',
107
+ description: 'Initialize a multi-agent swarm with specified topology',
108
+ parameters: z.object({
109
+ topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),
110
+ maxAgents: z.number().positive().optional().default(8).describe('Maximum number of agents'),
111
+ strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')
112
+ }),
113
+ execute: async ({ topology, maxAgents, strategy }) => {
114
+ try {
115
+ const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;
116
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
117
+ return JSON.stringify({
118
+ success: true,
119
+ topology,
120
+ maxAgents,
121
+ strategy,
122
+ result: result.trim(),
123
+ timestamp: new Date().toISOString()
124
+ }, null, 2);
125
+ }
126
+ catch (error) {
127
+ throw new Error(`Failed to initialize swarm: ${error.message}`);
128
+ }
129
+ }
130
+ });
131
+ // Tool 5: Agent Spawn
132
+ server.addTool({
133
+ name: 'agent_spawn',
134
+ description: 'Spawn a new agent in the swarm',
135
+ parameters: z.object({
136
+ type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),
137
+ capabilities: z.array(z.string()).optional().describe('Agent capabilities'),
138
+ name: z.string().optional().describe('Custom agent name')
139
+ }),
140
+ execute: async ({ type, capabilities, name }) => {
141
+ try {
142
+ const capStr = capabilities ? ` --capabilities "${capabilities.join(',')}"` : '';
143
+ const nameStr = name ? ` --name "${name}"` : '';
144
+ const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;
145
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
146
+ return JSON.stringify({
147
+ success: true,
148
+ type,
149
+ capabilities,
150
+ name,
151
+ result: result.trim(),
152
+ timestamp: new Date().toISOString()
153
+ }, null, 2);
154
+ }
155
+ catch (error) {
156
+ throw new Error(`Failed to spawn agent: ${error.message}`);
157
+ }
158
+ }
159
+ });
160
+ // Tool 6: Task Orchestrate
161
+ server.addTool({
162
+ name: 'task_orchestrate',
163
+ description: 'Orchestrate a complex task across the swarm',
164
+ parameters: z.object({
165
+ task: z.string().min(1).describe('Task description or instructions'),
166
+ strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),
167
+ priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),
168
+ maxAgents: z.number().positive().optional().describe('Maximum agents to use for this task')
169
+ }),
170
+ execute: async ({ task, strategy, priority, maxAgents }) => {
171
+ try {
172
+ const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';
173
+ const cmd = `npx claude-flow@alpha task orchestrate "${task}" --strategy ${strategy} --priority ${priority}${maxStr}`;
174
+ const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
175
+ return JSON.stringify({
176
+ success: true,
177
+ task,
178
+ strategy,
179
+ priority,
180
+ maxAgents,
181
+ result: result.trim(),
182
+ timestamp: new Date().toISOString()
183
+ }, null, 2);
184
+ }
185
+ catch (error) {
186
+ throw new Error(`Failed to orchestrate task: ${error.message}`);
187
+ }
188
+ }
189
+ });
190
+ console.error('📦 Registered 6 tools: memory_store, memory_retrieve, memory_search, swarm_init, agent_spawn, task_orchestrate');
191
+ console.error('🔌 Starting stdio transport...');
192
+ // Start with stdio transport
193
+ server.start({ transportType: 'stdio' }).then(() => {
194
+ console.error('✅ FastMCP claude-flow-sdk server running on stdio');
195
+ }).catch((error) => {
196
+ console.error('❌ Failed to start server:', error);
197
+ process.exit(1);
198
+ });