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
@@ -0,0 +1,226 @@
1
+ // Parallel swarm deployment and coordination
2
+ import { logger } from '../utils/logger.js';
3
+ /**
4
+ * Deploy swarm with all agents spawning concurrently
5
+ * Uses Promise.all for true parallel execution
6
+ */
7
+ export async function deploySwarmConcurrently(config) {
8
+ const startTime = Date.now();
9
+ logger.info('Deploying swarm concurrently', {
10
+ topology: config.topology,
11
+ agentCount: config.agents.length,
12
+ strategy: config.strategy
13
+ });
14
+ // Step 1: Initialize swarm (single operation)
15
+ const swarmInit = {
16
+ topology: config.topology,
17
+ maxAgents: config.maxAgents,
18
+ strategy: config.strategy
19
+ };
20
+ logger.debug('Initializing swarm', swarmInit);
21
+ // Step 2: Spawn ALL agents concurrently with Promise.all
22
+ const agentPromises = config.agents.map(async (agent, index) => {
23
+ const agentId = `${agent.type}-${index}-${Date.now()}`;
24
+ logger.debug('Spawning agent', {
25
+ agentId,
26
+ type: agent.type,
27
+ capabilities: agent.capabilities
28
+ });
29
+ // Simulate agent spawn (in real implementation, this calls MCP tools)
30
+ return {
31
+ id: agentId,
32
+ type: agent.type,
33
+ name: agent.name || agentId,
34
+ capabilities: agent.capabilities || [],
35
+ status: 'ready'
36
+ };
37
+ });
38
+ // CRITICAL: Promise.all ensures all agents spawn in parallel
39
+ const spawnedAgents = await Promise.all(agentPromises);
40
+ const deploymentTime = Date.now() - startTime;
41
+ logger.info('Swarm deployed successfully', {
42
+ swarmId: 'swarm-' + Date.now(),
43
+ agentCount: spawnedAgents.length,
44
+ deploymentTime,
45
+ avgTimePerAgent: deploymentTime / spawnedAgents.length
46
+ });
47
+ return {
48
+ swarmId: 'swarm-' + Date.now(),
49
+ agents: spawnedAgents.map(a => ({
50
+ id: a.id,
51
+ type: a.type,
52
+ status: a.status
53
+ })),
54
+ deploymentTime
55
+ };
56
+ }
57
+ /**
58
+ * Execute tasks concurrently across swarm
59
+ * Uses Promise.all for parallel task execution
60
+ */
61
+ export async function executeTasksConcurrently(config) {
62
+ const startTime = Date.now();
63
+ const maxConcurrency = config.maxConcurrency || config.tasks.length;
64
+ logger.info('Executing tasks concurrently', {
65
+ taskCount: config.tasks.length,
66
+ strategy: config.strategy,
67
+ maxConcurrency
68
+ });
69
+ if (config.strategy === 'sequential') {
70
+ // Sequential execution (one at a time)
71
+ const results = [];
72
+ for (const task of config.tasks) {
73
+ const taskStart = Date.now();
74
+ logger.debug('Executing task sequentially', { task: task.description });
75
+ // Execute task
76
+ await new Promise(resolve => setTimeout(resolve, 100)); // Simulate work
77
+ results.push({
78
+ task: task.description,
79
+ status: 'completed',
80
+ duration: Date.now() - taskStart
81
+ });
82
+ }
83
+ return {
84
+ results,
85
+ totalTime: Date.now() - startTime,
86
+ concurrencyLevel: 1
87
+ };
88
+ }
89
+ // Parallel or adaptive execution
90
+ const batches = [];
91
+ for (let i = 0; i < config.tasks.length; i += maxConcurrency) {
92
+ batches.push(config.tasks.slice(i, i + maxConcurrency));
93
+ }
94
+ const allResults = [];
95
+ for (const batch of batches) {
96
+ // CRITICAL: Promise.all for concurrent execution within batch
97
+ const batchPromises = batch.map(async (task) => {
98
+ const taskStart = Date.now();
99
+ logger.debug('Executing task in parallel', {
100
+ task: task.description,
101
+ agentType: task.agentType,
102
+ priority: task.priority
103
+ });
104
+ // Execute task (in real implementation, this calls agent)
105
+ await new Promise(resolve => setTimeout(resolve, 100)); // Simulate work
106
+ return {
107
+ task: task.description,
108
+ status: 'completed',
109
+ duration: Date.now() - taskStart
110
+ };
111
+ });
112
+ const batchResults = await Promise.all(batchPromises);
113
+ allResults.push(...batchResults);
114
+ }
115
+ const totalTime = Date.now() - startTime;
116
+ logger.info('Tasks completed concurrently', {
117
+ taskCount: allResults.length,
118
+ totalTime,
119
+ avgTimePerTask: totalTime / allResults.length,
120
+ concurrencyLevel: maxConcurrency
121
+ });
122
+ return {
123
+ results: allResults,
124
+ totalTime,
125
+ concurrencyLevel: maxConcurrency
126
+ };
127
+ }
128
+ /**
129
+ * Deploy and execute in single operation
130
+ * Spawns agents AND starts tasks in parallel
131
+ */
132
+ export async function deployAndExecuteConcurrently(swarmConfig, taskConfig) {
133
+ const startTime = Date.now();
134
+ logger.info('Deploying swarm and executing tasks concurrently');
135
+ // CRITICAL: Use Promise.all to deploy swarm AND start tasks in parallel
136
+ const [swarm, execution] = await Promise.all([
137
+ deploySwarmConcurrently(swarmConfig),
138
+ executeTasksConcurrently(taskConfig)
139
+ ]);
140
+ const totalTime = Date.now() - startTime;
141
+ logger.info('Concurrent deployment and execution complete', {
142
+ totalTime,
143
+ swarmDeploymentTime: swarm.deploymentTime,
144
+ taskExecutionTime: execution.totalTime,
145
+ parallelSpeedup: (swarm.deploymentTime + execution.totalTime) / totalTime
146
+ });
147
+ return { swarm, execution, totalTime };
148
+ }
149
+ /**
150
+ * Batch spawn multiple agent types concurrently
151
+ */
152
+ export async function batchSpawnAgents(agentConfigs) {
153
+ const startTime = Date.now();
154
+ logger.info('Batch spawning agents', {
155
+ types: agentConfigs.map(c => `${c.type}(${c.count})`).join(', ')
156
+ });
157
+ // Flatten to individual agents
158
+ const allAgents = agentConfigs.flatMap(config => Array.from({ length: config.count }, (_, i) => ({
159
+ type: config.type,
160
+ capabilities: config.capabilities,
161
+ index: i
162
+ })));
163
+ // CRITICAL: Spawn ALL agents concurrently with Promise.all
164
+ const spawnPromises = allAgents.map(async (agent) => {
165
+ const agentId = `${agent.type}-${agent.index}-${Date.now()}`;
166
+ logger.debug('Spawning agent in batch', {
167
+ agentId,
168
+ type: agent.type
169
+ });
170
+ // Simulate spawn
171
+ await new Promise(resolve => setTimeout(resolve, 50));
172
+ return { id: agentId, type: agent.type };
173
+ });
174
+ const spawnedAgents = await Promise.all(spawnPromises);
175
+ const duration = Date.now() - startTime;
176
+ logger.info('Batch spawn complete', {
177
+ totalAgents: spawnedAgents.length,
178
+ duration,
179
+ avgSpawnTime: duration / spawnedAgents.length
180
+ });
181
+ return spawnedAgents;
182
+ }
183
+ /**
184
+ * Scale swarm up/down with concurrent operations
185
+ */
186
+ export async function scaleSwarmConcurrently(currentAgentCount, targetAgentCount, agentType = 'worker') {
187
+ const startTime = Date.now();
188
+ const diff = targetAgentCount - currentAgentCount;
189
+ if (diff === 0) {
190
+ return { action: 'no-change', agentsChanged: 0, duration: 0 };
191
+ }
192
+ const action = diff > 0 ? 'scale-up' : 'scale-down';
193
+ const agentsChanged = Math.abs(diff);
194
+ logger.info(`Scaling swarm ${action}`, {
195
+ from: currentAgentCount,
196
+ to: targetAgentCount,
197
+ change: agentsChanged
198
+ });
199
+ if (diff > 0) {
200
+ // Scale up: spawn new agents concurrently
201
+ const spawnPromises = Array.from({ length: diff }, async (_, i) => {
202
+ const agentId = `${agentType}-scale-${i}-${Date.now()}`;
203
+ logger.debug('Spawning agent for scale-up', { agentId });
204
+ await new Promise(resolve => setTimeout(resolve, 50));
205
+ return agentId;
206
+ });
207
+ await Promise.all(spawnPromises);
208
+ }
209
+ else {
210
+ // Scale down: terminate agents concurrently
211
+ const terminatePromises = Array.from({ length: -diff }, async (_, i) => {
212
+ const agentId = `${agentType}-${i}`;
213
+ logger.debug('Terminating agent for scale-down', { agentId });
214
+ await new Promise(resolve => setTimeout(resolve, 30));
215
+ return agentId;
216
+ });
217
+ await Promise.all(terminatePromises);
218
+ }
219
+ const duration = Date.now() - startTime;
220
+ logger.info(`Swarm scaled ${action} successfully`, {
221
+ agentsChanged,
222
+ duration,
223
+ avgTimePerAgent: duration / agentsChanged
224
+ });
225
+ return { action, agentsChanged, duration };
226
+ }
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env tsx
2
+ // Example: Multi-agent orchestration using .claude/agents
3
+ import "dotenv/config";
4
+ import { loadAgents } from "../utils/agentLoader.js";
5
+ import { claudeAgent } from "../agents/claudeAgent.js";
6
+ import { logger } from "../utils/logger.js";
7
+ async function main() {
8
+ logger.setContext({ service: 'multi-agent-orchestration', version: '1.0.0' });
9
+ logger.info('Starting multi-agent orchestration example');
10
+ // Load all available agents
11
+ const agents = loadAgents();
12
+ console.log(`\nšŸ“¦ Loaded ${agents.size} agents from .claude/agents/\n`);
13
+ // List some interesting agents
14
+ const agentNames = Array.from(agents.keys());
15
+ console.log('Available agents:');
16
+ agentNames.slice(0, 10).forEach(name => {
17
+ const agent = agents.get(name);
18
+ console.log(` • ${name}: ${agent.description.substring(0, 80)}...`);
19
+ });
20
+ console.log(` ... and ${agentNames.length - 10} more\n`);
21
+ // Example: Use multiple agents in sequence
22
+ console.log('šŸ”„ Running multi-agent workflow...\n');
23
+ // 1. Use goal-planner to create a plan
24
+ const goalPlanner = agents.get('goal-planner');
25
+ if (goalPlanner) {
26
+ console.log('Step 1: Using goal-planner to create improvement plan');
27
+ const planResult = await claudeAgent(goalPlanner, 'Create a 3-step plan to improve our Claude Agent SDK implementation with error handling, logging, and monitoring.');
28
+ console.log('\nāœ… Plan created\n');
29
+ console.log(planResult.output.substring(0, 300) + '...\n');
30
+ }
31
+ // 2. Use code-analyzer for implementation review
32
+ const codeAnalyzer = agents.get('code-analyzer');
33
+ if (codeAnalyzer) {
34
+ console.log('Step 2: Using code-analyzer to review current implementation');
35
+ const analysisResult = await claudeAgent(codeAnalyzer, 'Analyze the code quality of a Claude Agent SDK implementation focusing on error handling patterns and logging.');
36
+ console.log('\nāœ… Analysis complete\n');
37
+ console.log(analysisResult.output.substring(0, 300) + '...\n');
38
+ }
39
+ logger.info('Multi-agent orchestration completed successfully');
40
+ }
41
+ main().catch(err => {
42
+ logger.error('Multi-agent orchestration failed', { error: err });
43
+ console.error('āŒ Error:', err.message);
44
+ process.exit(1);
45
+ });
@@ -0,0 +1,171 @@
1
+ #!/usr/bin/env tsx
2
+ // Example: Parallel swarm deployment with concurrent agent execution
3
+ import { deploySwarmConcurrently, executeTasksConcurrently, deployAndExecuteConcurrently, batchSpawnAgents, scaleSwarmConcurrently } from '../coordination/parallelSwarm.js';
4
+ import { logger } from '../utils/logger.js';
5
+ async function example1_parallelAgentSpawn() {
6
+ console.log('\nšŸš€ Example 1: Parallel Agent Spawning');
7
+ console.log('='.repeat(60));
8
+ // Deploy 5 agents concurrently
9
+ const result = await deploySwarmConcurrently({
10
+ topology: 'mesh',
11
+ maxAgents: 10,
12
+ strategy: 'balanced',
13
+ agents: [
14
+ { type: 'researcher', capabilities: ['search', 'analyze'] },
15
+ { type: 'coder', capabilities: ['implement', 'refactor'] },
16
+ { type: 'reviewer', capabilities: ['review', 'validate'] },
17
+ { type: 'tester', capabilities: ['test', 'coverage'] },
18
+ { type: 'documenter', capabilities: ['document', 'explain'] }
19
+ ]
20
+ });
21
+ console.log(`\nāœ… Swarm deployed in ${result.deploymentTime}ms`);
22
+ console.log(`šŸ“Š Agents spawned: ${result.agents.length}`);
23
+ console.log(`⚔ Avg spawn time: ${result.deploymentTime / result.agents.length}ms per agent`);
24
+ console.log('\nAgents:', result.agents.map(a => `${a.type}(${a.status})`).join(', '));
25
+ }
26
+ async function example2_parallelTaskExecution() {
27
+ console.log('\n\n⚔ Example 2: Parallel Task Execution');
28
+ console.log('='.repeat(60));
29
+ // Execute 6 tasks concurrently
30
+ const result = await executeTasksConcurrently({
31
+ tasks: [
32
+ { description: 'Analyze requirements', agentType: 'researcher', priority: 'high' },
33
+ { description: 'Design architecture', agentType: 'architect', priority: 'high' },
34
+ { description: 'Implement API endpoints', agentType: 'coder', priority: 'high' },
35
+ { description: 'Write unit tests', agentType: 'tester', priority: 'medium' },
36
+ { description: 'Create documentation', agentType: 'documenter', priority: 'medium' },
37
+ { description: 'Review code quality', agentType: 'reviewer', priority: 'medium' }
38
+ ],
39
+ strategy: 'parallel',
40
+ maxConcurrency: 6 // All 6 tasks run concurrently
41
+ });
42
+ console.log(`\nāœ… All tasks completed in ${result.totalTime}ms`);
43
+ console.log(`šŸ“Š Tasks executed: ${result.results.length}`);
44
+ console.log(`⚔ Concurrency level: ${result.concurrencyLevel}`);
45
+ console.log(`⚔ Avg task time: ${result.totalTime / result.results.length}ms per task`);
46
+ // Calculate speedup vs sequential
47
+ const sequentialTime = result.results.reduce((sum, r) => sum + r.duration, 0);
48
+ const speedup = (sequentialTime / result.totalTime).toFixed(2);
49
+ console.log(`šŸš€ Parallel speedup: ${speedup}x faster than sequential`);
50
+ }
51
+ async function example3_deployAndExecute() {
52
+ console.log('\n\nšŸ”„ Example 3: Deploy + Execute Simultaneously');
53
+ console.log('='.repeat(60));
54
+ // Deploy swarm AND start tasks in parallel
55
+ const result = await deployAndExecuteConcurrently({
56
+ topology: 'hierarchical',
57
+ maxAgents: 8,
58
+ strategy: 'specialized',
59
+ agents: [
60
+ { type: 'coordinator', capabilities: ['orchestrate'] },
61
+ { type: 'researcher', capabilities: ['search'] },
62
+ { type: 'coder', capabilities: ['implement'] },
63
+ { type: 'tester', capabilities: ['test'] }
64
+ ]
65
+ }, {
66
+ tasks: [
67
+ { description: 'Research best practices', priority: 'high' },
68
+ { description: 'Implement core features', priority: 'high' },
69
+ { description: 'Write comprehensive tests', priority: 'medium' }
70
+ ],
71
+ strategy: 'parallel'
72
+ });
73
+ console.log(`\nāœ… Deployment + Execution in ${result.totalTime}ms`);
74
+ console.log(`šŸ“¦ Swarm: ${result.swarm.agents.length} agents in ${result.swarm.deploymentTime}ms`);
75
+ console.log(`⚔ Tasks: ${result.execution.results.length} tasks in ${result.execution.totalTime}ms`);
76
+ const sequentialTime = result.swarm.deploymentTime + result.execution.totalTime;
77
+ const speedup = (sequentialTime / result.totalTime).toFixed(2);
78
+ console.log(`šŸš€ Parallel speedup: ${speedup}x faster (both operations ran concurrently)`);
79
+ }
80
+ async function example4_batchSpawn() {
81
+ console.log('\n\nšŸ“¦ Example 4: Batch Spawn Multiple Agent Types');
82
+ console.log('='.repeat(60));
83
+ // Spawn 3 of each type concurrently (9 total agents)
84
+ const agents = await batchSpawnAgents([
85
+ { type: 'researcher', count: 3, capabilities: ['search', 'analyze'] },
86
+ { type: 'coder', count: 3, capabilities: ['implement', 'refactor'] },
87
+ { type: 'tester', count: 3, capabilities: ['test', 'validate'] }
88
+ ]);
89
+ console.log(`\nāœ… Batch spawned ${agents.length} agents`);
90
+ // Group by type
91
+ const byType = agents.reduce((acc, agent) => {
92
+ acc[agent.type] = (acc[agent.type] || 0) + 1;
93
+ return acc;
94
+ }, {});
95
+ console.log('šŸ“Š Agent distribution:');
96
+ Object.entries(byType).forEach(([type, count]) => {
97
+ console.log(` ${type}: ${count} agents`);
98
+ });
99
+ }
100
+ async function example5_dynamicScaling() {
101
+ console.log('\n\nšŸ“ˆ Example 5: Dynamic Swarm Scaling');
102
+ console.log('='.repeat(60));
103
+ console.log('\nšŸ”¼ Scaling up from 3 to 8 agents...');
104
+ const scaleUp = await scaleSwarmConcurrently(3, 8, 'worker');
105
+ console.log(`āœ… Scaled ${scaleUp.action}: added ${scaleUp.agentsChanged} agents in ${scaleUp.duration}ms`);
106
+ await new Promise(resolve => setTimeout(resolve, 500));
107
+ console.log('\nšŸ”½ Scaling down from 8 to 5 agents...');
108
+ const scaleDown = await scaleSwarmConcurrently(8, 5, 'worker');
109
+ console.log(`āœ… Scaled ${scaleDown.action}: removed ${scaleDown.agentsChanged} agents in ${scaleDown.duration}ms`);
110
+ }
111
+ async function example6_largeScaleDeployment() {
112
+ console.log('\n\n🌐 Example 6: Large-Scale Concurrent Deployment');
113
+ console.log('='.repeat(60));
114
+ const startTime = Date.now();
115
+ // Deploy 20 agents concurrently
116
+ const agents = Array.from({ length: 20 }, (_, i) => ({
117
+ type: `worker-${i % 5}`, // 5 types, 4 of each
118
+ capabilities: ['process', 'analyze', 'report']
119
+ }));
120
+ const result = await deploySwarmConcurrently({
121
+ topology: 'mesh',
122
+ maxAgents: 50,
123
+ strategy: 'adaptive',
124
+ agents
125
+ });
126
+ const totalTime = Date.now() - startTime;
127
+ console.log(`\nāœ… Large-scale deployment complete in ${totalTime}ms`);
128
+ console.log(`šŸ“Š Agents deployed: ${result.agents.length}`);
129
+ console.log(`⚔ Avg spawn time: ${totalTime / result.agents.length}ms per agent`);
130
+ // Calculate theoretical sequential time (assume 100ms per agent)
131
+ const theoreticalSequentialTime = result.agents.length * 100;
132
+ const speedup = (theoreticalSequentialTime / totalTime).toFixed(2);
133
+ console.log(`šŸš€ Estimated speedup: ${speedup}x faster than sequential`);
134
+ }
135
+ // Run all examples
136
+ async function runAllExamples() {
137
+ console.log('\n' + '='.repeat(60));
138
+ console.log(' PARALLEL SWARM DEPLOYMENT EXAMPLES');
139
+ console.log('='.repeat(60));
140
+ try {
141
+ await example1_parallelAgentSpawn();
142
+ await example2_parallelTaskExecution();
143
+ await example3_deployAndExecute();
144
+ await example4_batchSpawn();
145
+ await example5_dynamicScaling();
146
+ await example6_largeScaleDeployment();
147
+ console.log('\n\n' + '='.repeat(60));
148
+ console.log(' āœ… ALL EXAMPLES COMPLETED SUCCESSFULLY');
149
+ console.log('='.repeat(60));
150
+ console.log('\nšŸŽÆ Key Takeaways:');
151
+ console.log(' • Promise.all ensures true parallel execution');
152
+ console.log(' • Swarm deployment is 2-10x faster with concurrency');
153
+ console.log(' • Batch operations maximize throughput');
154
+ console.log(' • Dynamic scaling adapts to workload');
155
+ console.log(' • Large-scale deployments benefit most from parallelism');
156
+ console.log('');
157
+ }
158
+ catch (error) {
159
+ console.error('\nāŒ Error running examples:', error);
160
+ logger.error('Example execution failed', { error });
161
+ process.exit(1);
162
+ }
163
+ }
164
+ // Run if called directly
165
+ if (import.meta.url === `file://${process.argv[1]}`) {
166
+ runAllExamples().catch(error => {
167
+ console.error('Fatal error:', error);
168
+ process.exit(1);
169
+ });
170
+ }
171
+ export { runAllExamples };
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env tsx
2
+ // Example: Using goal-planner agent from .claude/agents
3
+ import "dotenv/config";
4
+ import { getAgent } from "../utils/agentLoader.js";
5
+ import { claudeAgent } from "../agents/claudeAgent.js";
6
+ import { logger } from "../utils/logger.js";
7
+ async function main() {
8
+ logger.setContext({ service: 'goal-planner-example', version: '1.0.0' });
9
+ logger.info('Starting goal-planner example');
10
+ // Load the goal-planner agent definition
11
+ const goalPlanner = getAgent('goal-planner');
12
+ if (!goalPlanner) {
13
+ logger.error('goal-planner agent not found');
14
+ console.error('āŒ goal-planner agent not found in .claude/agents/');
15
+ process.exit(1);
16
+ }
17
+ logger.info('Loaded goal-planner agent', {
18
+ description: goalPlanner.description
19
+ });
20
+ // Use the goal-planner for a complex task
21
+ const task = `
22
+ Research the Claude Agent SDK and create a comprehensive improvement plan for our Docker implementation.
23
+
24
+ Current state:
25
+ - Basic parallel agent execution
26
+ - Limited error handling
27
+ - No observability
28
+
29
+ Goals:
30
+ 1. Identify SDK capabilities we're not using
31
+ 2. Propose specific improvements
32
+ 3. Create actionable implementation plan
33
+ 4. Estimate effort and ROI
34
+ `.trim();
35
+ console.log('\nšŸŽÆ Task:', task.substring(0, 100) + '...\n');
36
+ console.log('ā³ Running goal-planner agent...\n');
37
+ const result = await claudeAgent(goalPlanner, task, (chunk) => {
38
+ if (process.env.ENABLE_STREAMING === 'true') {
39
+ process.stdout.write(chunk);
40
+ }
41
+ });
42
+ console.log('\nāœ… Goal-planner completed!\n');
43
+ console.log('═══════════════════════════════════════\n');
44
+ console.log(result.output);
45
+ console.log('\n═══════════════════════════════════════\n');
46
+ logger.info('Example completed successfully');
47
+ }
48
+ main().catch(err => {
49
+ logger.error('Example failed', { error: err });
50
+ console.error('āŒ Error:', err.message);
51
+ process.exit(1);
52
+ });
package/dist/health.js ADDED
@@ -0,0 +1,46 @@
1
+ // Health check endpoint
2
+ import http from 'http';
3
+ import { logger } from './utils/logger.js';
4
+ let serverStartTime = Date.now();
5
+ export function getHealthStatus() {
6
+ const memUsage = process.memoryUsage();
7
+ const memLimit = 512 * 1024 * 1024; // 512MB
8
+ const memPercent = (memUsage.heapUsed / memLimit) * 100;
9
+ const apiKey = process.env.ANTHROPIC_API_KEY;
10
+ return {
11
+ status: memPercent > 90 ? 'unhealthy' : memPercent > 75 ? 'degraded' : 'healthy',
12
+ timestamp: new Date().toISOString(),
13
+ uptime: (Date.now() - serverStartTime) / 1000,
14
+ version: process.env.npm_package_version || '1.0.0',
15
+ checks: {
16
+ api: {
17
+ status: apiKey && apiKey.startsWith('sk-ant-') ? 'pass' : 'fail',
18
+ message: apiKey ? undefined : 'ANTHROPIC_API_KEY not configured'
19
+ },
20
+ memory: {
21
+ status: memPercent > 90 ? 'fail' : memPercent > 75 ? 'warn' : 'pass',
22
+ usage: Math.round(memUsage.heapUsed / 1024 / 1024),
23
+ limit: Math.round(memLimit / 1024 / 1024)
24
+ }
25
+ }
26
+ };
27
+ }
28
+ export function startHealthServer(port = 8080) {
29
+ const server = http.createServer((req, res) => {
30
+ if (req.url === '/health' && req.method === 'GET') {
31
+ const health = getHealthStatus();
32
+ const statusCode = health.status === 'healthy' ? 200 : health.status === 'degraded' ? 200 : 503;
33
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
34
+ res.end(JSON.stringify(health, null, 2));
35
+ logger.debug('Health check requested', { status: health.status });
36
+ }
37
+ else {
38
+ res.writeHead(404, { 'Content-Type': 'application/json' });
39
+ res.end(JSON.stringify({ error: 'Not found' }));
40
+ }
41
+ });
42
+ server.listen(port, () => {
43
+ logger.info('Health check server started', { port });
44
+ });
45
+ return server;
46
+ }
@@ -0,0 +1,101 @@
1
+ // Agentic Flow with integrated OpenRouter proxy support
2
+ import "dotenv/config";
3
+ import { AnthropicToOpenRouterProxy } from "./proxy/anthropic-to-openrouter.js";
4
+ import { logger } from "./utils/logger.js";
5
+ import { parseArgs, printHelp, validateOptions } from "./utils/cli.js";
6
+ import { getAgent } from "./utils/agentLoader.js";
7
+ import { claudeAgent } from "./agents/claudeAgent.js";
8
+ let proxyServer = null;
9
+ async function startProxyIfNeeded(useOpenRouter, proxyPort = 3000) {
10
+ if (!useOpenRouter) {
11
+ return;
12
+ }
13
+ const openrouterKey = process.env.OPENROUTER_API_KEY;
14
+ if (!openrouterKey) {
15
+ logger.warn('OpenRouter mode requested but OPENROUTER_API_KEY not set');
16
+ console.warn('āš ļø OpenRouter API key not found, falling back to direct Anthropic API');
17
+ return;
18
+ }
19
+ logger.info('Starting integrated OpenRouter proxy');
20
+ const proxy = new AnthropicToOpenRouterProxy({
21
+ openrouterApiKey: openrouterKey,
22
+ openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,
23
+ defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL || 'meta-llama/llama-3.1-8b-instruct'
24
+ });
25
+ proxy.start(proxyPort);
26
+ // Set ANTHROPIC_BASE_URL to point to proxy
27
+ process.env.ANTHROPIC_BASE_URL = `http://localhost:${proxyPort}`;
28
+ logger.info('Proxy started, Claude SDK will use OpenRouter', {
29
+ proxyUrl: process.env.ANTHROPIC_BASE_URL,
30
+ model: process.env.COMPLETION_MODEL
31
+ });
32
+ proxyServer = proxy;
33
+ }
34
+ async function runAgentWithOpenRouter(agentName, task, stream) {
35
+ logger.info('Running agent with OpenRouter proxy', { agent: agentName });
36
+ const agent = getAgent(agentName);
37
+ if (!agent) {
38
+ console.error(`\nāŒ Agent '${agentName}' not found.\n`);
39
+ process.exit(1);
40
+ }
41
+ console.log(`\nšŸ¤– Agent: ${agent.name}`);
42
+ console.log(`šŸ“ Description: ${agent.description}\n`);
43
+ console.log(`šŸŽÆ Task: ${task}\n`);
44
+ console.log(`šŸ”§ Provider: OpenRouter via Proxy`);
45
+ console.log(`šŸ”§ Model: ${process.env.COMPLETION_MODEL || 'meta-llama/llama-3.1-8b-instruct'}\n`);
46
+ console.log('ā³ Running...\n');
47
+ const streamHandler = stream ? (chunk) => process.stdout.write(chunk) : undefined;
48
+ const result = await claudeAgent(agent, task, streamHandler);
49
+ if (!stream) {
50
+ console.log('\nāœ… Completed!\n');
51
+ console.log('═══════════════════════════════════════\n');
52
+ console.log(result.output);
53
+ console.log('\n═══════════════════════════════════════\n');
54
+ }
55
+ }
56
+ async function main() {
57
+ logger.setContext({ service: 'agentic-flow-proxy', version: '1.0.0' });
58
+ const options = parseArgs();
59
+ if (options.help) {
60
+ printHelp();
61
+ process.exit(0);
62
+ }
63
+ const validationError = validateOptions(options);
64
+ if (validationError) {
65
+ console.error(`\nāŒ ${validationError}\n`);
66
+ printHelp();
67
+ process.exit(1);
68
+ }
69
+ const useOpenRouter = process.env.USE_OPENROUTER === 'true' || options.model?.includes('/');
70
+ const proxyPort = parseInt(process.env.PROXY_PORT || '3000');
71
+ try {
72
+ // Start proxy if using OpenRouter
73
+ await startProxyIfNeeded(useOpenRouter, proxyPort);
74
+ // Small delay to ensure proxy is ready
75
+ if (useOpenRouter) {
76
+ await new Promise(resolve => setTimeout(resolve, 1000));
77
+ }
78
+ // Run agent
79
+ if (options.mode === 'agent') {
80
+ const task = options.task || process.env.TASK || '';
81
+ const agent = options.agent || process.env.AGENT || '';
82
+ await runAgentWithOpenRouter(agent, task, Boolean(options.stream));
83
+ }
84
+ logger.info('Execution completed successfully');
85
+ }
86
+ catch (err) {
87
+ logger.error('Execution failed', { error: err });
88
+ throw err;
89
+ }
90
+ finally {
91
+ // Cleanup
92
+ if (proxyServer) {
93
+ logger.info('Shutting down proxy');
94
+ }
95
+ process.exit(0);
96
+ }
97
+ }
98
+ main().catch(err => {
99
+ console.error(err);
100
+ process.exit(1);
101
+ });