agentic-flow 2.0.7 → 2.0.9

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 (316) hide show
  1. package/.claude/settings.json +133 -9
  2. package/.claude/skills/agentic-flow-quickstart/skill.md +69 -0
  3. package/.claude/skills/hooks-automation/skill.md +155 -0
  4. package/.claude/skills/memory-patterns/skill.md +110 -0
  5. package/.claude/skills/sparc-methodology/skill.md +137 -0
  6. package/.claude/skills/swarm-coordination/skill.md +94 -0
  7. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  8. package/.claude/skills/worker-integration/skill.md +154 -0
  9. package/.claude/statusline.mjs +109 -0
  10. package/.claude/statusline.sh +71 -0
  11. package/README.md +1797 -624
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/agentdb/index.d.ts +2 -0
  14. package/dist/agentdb/index.d.ts.map +1 -1
  15. package/dist/agentdb/index.js +5 -0
  16. package/dist/agentdb/index.js.map +1 -1
  17. package/dist/agentdb/prerequisites.d.ts +25 -0
  18. package/dist/agentdb/prerequisites.d.ts.map +1 -0
  19. package/dist/agentdb/prerequisites.js +180 -0
  20. package/dist/agentdb/prerequisites.js.map +1 -0
  21. package/dist/benchmarks/embeddings-benchmark.d.ts +38 -0
  22. package/dist/benchmarks/embeddings-benchmark.d.ts.map +1 -0
  23. package/dist/benchmarks/embeddings-benchmark.js +282 -0
  24. package/dist/benchmarks/embeddings-benchmark.js.map +1 -0
  25. package/dist/billing/mcp/tools.js +1 -0
  26. package/dist/billing/mcp/tools.js.map +1 -1
  27. package/dist/cli/commands/embeddings.d.ts +12 -0
  28. package/dist/cli/commands/embeddings.d.ts.map +1 -0
  29. package/dist/cli/commands/embeddings.js +386 -0
  30. package/dist/cli/commands/embeddings.js.map +1 -0
  31. package/dist/cli/commands/hooks.d.ts.map +1 -1
  32. package/dist/cli/commands/hooks.js +79 -4
  33. package/dist/cli/commands/hooks.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +8 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +514 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/workers.d.ts +9 -0
  39. package/dist/cli/commands/workers.d.ts.map +1 -0
  40. package/dist/cli/commands/workers.js +991 -0
  41. package/dist/cli/commands/workers.js.map +1 -0
  42. package/dist/cli/config-wizard.d.ts.map +1 -1
  43. package/dist/cli/config-wizard.js +47 -25
  44. package/dist/cli/config-wizard.js.map +1 -1
  45. package/dist/cli-proxy.js +89 -1
  46. package/dist/cli-proxy.js.map +1 -1
  47. package/dist/core/agentdb-fast.js +3 -3
  48. package/dist/core/agentdb-fast.js.map +1 -1
  49. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  50. package/dist/core/agentdb-wrapper-enhanced.js +37 -11
  51. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  52. package/dist/core/agentdb-wrapper.d.ts +3 -2
  53. package/dist/core/agentdb-wrapper.d.ts.map +1 -1
  54. package/dist/core/agentdb-wrapper.js +15 -1
  55. package/dist/core/agentdb-wrapper.js.map +1 -1
  56. package/dist/core/attention-native.d.ts +4 -0
  57. package/dist/core/attention-native.d.ts.map +1 -1
  58. package/dist/core/attention-native.js +14 -2
  59. package/dist/core/attention-native.js.map +1 -1
  60. package/dist/core/gnn-wrapper.d.ts.map +1 -1
  61. package/dist/core/gnn-wrapper.js +14 -0
  62. package/dist/core/gnn-wrapper.js.map +1 -1
  63. package/dist/embeddings/index.d.ts +17 -0
  64. package/dist/embeddings/index.d.ts.map +1 -0
  65. package/dist/embeddings/index.js +17 -0
  66. package/dist/embeddings/index.js.map +1 -0
  67. package/dist/embeddings/neural-substrate.d.ts +206 -0
  68. package/dist/embeddings/neural-substrate.d.ts.map +1 -0
  69. package/dist/embeddings/neural-substrate.js +629 -0
  70. package/dist/embeddings/neural-substrate.js.map +1 -0
  71. package/dist/embeddings/optimized-embedder.d.ts +103 -0
  72. package/dist/embeddings/optimized-embedder.d.ts.map +1 -0
  73. package/dist/embeddings/optimized-embedder.js +730 -0
  74. package/dist/embeddings/optimized-embedder.js.map +1 -0
  75. package/dist/examples/embedding-geometry.d.ts +105 -0
  76. package/dist/examples/embedding-geometry.d.ts.map +1 -0
  77. package/dist/examples/embedding-geometry.js +528 -0
  78. package/dist/examples/embedding-geometry.js.map +1 -0
  79. package/dist/federation/SecurityManager.d.ts +11 -2
  80. package/dist/federation/SecurityManager.d.ts.map +1 -1
  81. package/dist/federation/SecurityManager.js +50 -17
  82. package/dist/federation/SecurityManager.js.map +1 -1
  83. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  84. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  85. package/dist/hooks/swarm-learning-optimizer.js +5 -5
  86. package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
  87. package/dist/index.d.ts +5 -3
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +89 -51
  90. package/dist/index.js.map +1 -1
  91. package/dist/intelligence/IntelligenceStore.d.ts +35 -26
  92. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
  93. package/dist/intelligence/IntelligenceStore.js +308 -123
  94. package/dist/intelligence/IntelligenceStore.js.map +1 -1
  95. package/dist/intelligence/RuVectorIntelligence.d.ts +26 -1
  96. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
  97. package/dist/intelligence/RuVectorIntelligence.js +49 -10
  98. package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
  99. package/dist/intelligence/agent-booster-enhanced.d.ts +1 -0
  100. package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
  101. package/dist/intelligence/agent-booster-enhanced.js +24 -3
  102. package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
  103. package/dist/intelligence/index.d.ts +29 -3
  104. package/dist/intelligence/index.d.ts.map +1 -1
  105. package/dist/intelligence/index.js +13 -3
  106. package/dist/intelligence/index.js.map +1 -1
  107. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  108. package/dist/mcp/claudeFlowSdkServer.js +162 -115
  109. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  110. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
  111. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -1
  112. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
  113. package/dist/mcp/fastmcp/tools/swarm/init.js +36 -7
  114. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
  115. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
  116. package/dist/mcp/fastmcp/tools/swarm/spawn.js +47 -8
  117. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
  118. package/dist/mcp/tools/agent-booster-tools.d.ts +15 -1
  119. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  120. package/dist/mcp/tools/agent-booster-tools.js +79 -63
  121. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  122. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  123. package/dist/mcp/tools/sona-tools.js +6 -0
  124. package/dist/mcp/tools/sona-tools.js.map +1 -1
  125. package/dist/memory/SharedMemoryPool.d.ts +103 -0
  126. package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
  127. package/dist/memory/SharedMemoryPool.js +263 -0
  128. package/dist/memory/SharedMemoryPool.js.map +1 -0
  129. package/dist/optimizations/agent-booster-migration.d.ts +2 -1
  130. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  131. package/dist/optimizations/agent-booster-migration.js +69 -45
  132. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  133. package/dist/orchestration/index.d.ts +11 -0
  134. package/dist/orchestration/index.d.ts.map +1 -0
  135. package/dist/orchestration/index.js +10 -0
  136. package/dist/orchestration/index.js.map +1 -0
  137. package/dist/orchestration/memory-plane-types.d.ts +23 -0
  138. package/dist/orchestration/memory-plane-types.d.ts.map +1 -0
  139. package/dist/orchestration/memory-plane-types.js +5 -0
  140. package/dist/orchestration/memory-plane-types.js.map +1 -0
  141. package/dist/orchestration/memory-plane.d.ts +41 -0
  142. package/dist/orchestration/memory-plane.d.ts.map +1 -0
  143. package/dist/orchestration/memory-plane.js +84 -0
  144. package/dist/orchestration/memory-plane.js.map +1 -0
  145. package/dist/orchestration/orchestration-client.d.ts +104 -0
  146. package/dist/orchestration/orchestration-client.d.ts.map +1 -0
  147. package/dist/orchestration/orchestration-client.js +94 -0
  148. package/dist/orchestration/orchestration-client.js.map +1 -0
  149. package/dist/orchestration/orchestration-runtime.d.ts +26 -0
  150. package/dist/orchestration/orchestration-runtime.d.ts.map +1 -0
  151. package/dist/orchestration/orchestration-runtime.js +78 -0
  152. package/dist/orchestration/orchestration-runtime.js.map +1 -0
  153. package/dist/orchestration/orchestration-types.d.ts +124 -0
  154. package/dist/orchestration/orchestration-types.d.ts.map +1 -0
  155. package/dist/orchestration/orchestration-types.js +7 -0
  156. package/dist/orchestration/orchestration-types.js.map +1 -0
  157. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  158. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  159. package/dist/proxy/quic-proxy.d.ts +0 -1
  160. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  161. package/dist/proxy/quic-proxy.js +2 -2
  162. package/dist/proxy/quic-proxy.js.map +1 -1
  163. package/dist/reasoningbank/AdvancedMemory.js +1 -1
  164. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  165. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  166. package/dist/reasoningbank/HybridBackend.js +2 -5
  167. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  168. package/dist/reasoningbank/backend-selector.d.ts +11 -1
  169. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  170. package/dist/reasoningbank/backend-selector.js +45 -5
  171. package/dist/reasoningbank/backend-selector.js.map +1 -1
  172. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
  173. package/dist/reasoningbank/core/consolidate.js +113 -45
  174. package/dist/reasoningbank/core/consolidate.js.map +1 -1
  175. package/dist/reasoningbank/index-new.d.ts +1 -6
  176. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  177. package/dist/reasoningbank/index-new.js +1 -6
  178. package/dist/reasoningbank/index-new.js.map +1 -1
  179. package/dist/reasoningbank/index.d.ts +6 -0
  180. package/dist/reasoningbank/index.d.ts.map +1 -1
  181. package/dist/reasoningbank/index.js +6 -13
  182. package/dist/reasoningbank/index.js.map +1 -1
  183. package/dist/reasoningbank/utils/embeddings.d.ts +1 -0
  184. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
  185. package/dist/reasoningbank/utils/embeddings.js +53 -26
  186. package/dist/reasoningbank/utils/embeddings.js.map +1 -1
  187. package/dist/router/index.d.ts +2 -1
  188. package/dist/router/index.d.ts.map +1 -1
  189. package/dist/router/index.js +1 -0
  190. package/dist/router/index.js.map +1 -1
  191. package/dist/router/providers/ollama.d.ts +20 -0
  192. package/dist/router/providers/ollama.d.ts.map +1 -0
  193. package/dist/router/providers/ollama.js +242 -0
  194. package/dist/router/providers/ollama.js.map +1 -0
  195. package/dist/router/providers/onnx-local-optimized.d.ts +2 -0
  196. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
  197. package/dist/router/providers/onnx-local-optimized.js +10 -0
  198. package/dist/router/providers/onnx-local-optimized.js.map +1 -1
  199. package/dist/router/providers/onnx-local.d.ts +1 -0
  200. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  201. package/dist/router/providers/onnx-local.js +22 -5
  202. package/dist/router/providers/onnx-local.js.map +1 -1
  203. package/dist/router/router.d.ts.map +1 -1
  204. package/dist/router/router.js +39 -23
  205. package/dist/router/router.js.map +1 -1
  206. package/dist/sdk/index.d.ts +2 -1
  207. package/dist/sdk/index.d.ts.map +1 -1
  208. package/dist/sdk/index.js +3 -1
  209. package/dist/sdk/index.js.map +1 -1
  210. package/dist/services/embedding-service.js.map +1 -1
  211. package/dist/services/sona-agent-training.d.ts +1 -0
  212. package/dist/services/sona-agent-training.d.ts.map +1 -1
  213. package/dist/services/sona-agent-training.js.map +1 -1
  214. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  215. package/dist/services/sona-agentdb-integration.js +9 -6
  216. package/dist/services/sona-agentdb-integration.js.map +1 -1
  217. package/dist/services/sona-service.d.ts.map +1 -1
  218. package/dist/services/sona-service.js +6 -5
  219. package/dist/services/sona-service.js.map +1 -1
  220. package/dist/utils/cli.d.ts +1 -1
  221. package/dist/utils/cli.d.ts.map +1 -1
  222. package/dist/utils/cli.js +21 -0
  223. package/dist/utils/cli.js.map +1 -1
  224. package/dist/utils/index.d.ts +6 -0
  225. package/dist/utils/index.d.ts.map +1 -0
  226. package/dist/utils/index.js +6 -0
  227. package/dist/utils/index.js.map +1 -0
  228. package/dist/utils/model-cache.d.ts +61 -0
  229. package/dist/utils/model-cache.d.ts.map +1 -0
  230. package/dist/utils/model-cache.js +176 -0
  231. package/dist/utils/model-cache.js.map +1 -0
  232. package/dist/utils/suppress-warnings.d.ts +19 -0
  233. package/dist/utils/suppress-warnings.d.ts.map +1 -0
  234. package/dist/utils/suppress-warnings.js +59 -0
  235. package/dist/utils/suppress-warnings.js.map +1 -0
  236. package/dist/workers/consolidated-phases.d.ts +40 -0
  237. package/dist/workers/consolidated-phases.d.ts.map +1 -0
  238. package/dist/workers/consolidated-phases.js +497 -0
  239. package/dist/workers/consolidated-phases.js.map +1 -0
  240. package/dist/workers/custom-worker-config.d.ts +133 -0
  241. package/dist/workers/custom-worker-config.d.ts.map +1 -0
  242. package/dist/workers/custom-worker-config.js +215 -0
  243. package/dist/workers/custom-worker-config.js.map +1 -0
  244. package/dist/workers/custom-worker-factory.d.ts +89 -0
  245. package/dist/workers/custom-worker-factory.d.ts.map +1 -0
  246. package/dist/workers/custom-worker-factory.js +404 -0
  247. package/dist/workers/custom-worker-factory.js.map +1 -0
  248. package/dist/workers/dispatch-service.d.ts +123 -0
  249. package/dist/workers/dispatch-service.d.ts.map +1 -0
  250. package/dist/workers/dispatch-service.js +1024 -0
  251. package/dist/workers/dispatch-service.js.map +1 -0
  252. package/dist/workers/hooks-integration.d.ts +79 -0
  253. package/dist/workers/hooks-integration.d.ts.map +1 -0
  254. package/dist/workers/hooks-integration.js +286 -0
  255. package/dist/workers/hooks-integration.js.map +1 -0
  256. package/dist/workers/index.d.ts +42 -0
  257. package/dist/workers/index.d.ts.map +1 -0
  258. package/dist/workers/index.js +52 -0
  259. package/dist/workers/index.js.map +1 -0
  260. package/dist/workers/mcp-tools.d.ts +56 -0
  261. package/dist/workers/mcp-tools.d.ts.map +1 -0
  262. package/dist/workers/mcp-tools.js +359 -0
  263. package/dist/workers/mcp-tools.js.map +1 -0
  264. package/dist/workers/phase-executors.d.ts +22 -0
  265. package/dist/workers/phase-executors.d.ts.map +1 -0
  266. package/dist/workers/phase-executors.js +445 -0
  267. package/dist/workers/phase-executors.js.map +1 -0
  268. package/dist/workers/resource-governor.d.ts +75 -0
  269. package/dist/workers/resource-governor.d.ts.map +1 -0
  270. package/dist/workers/resource-governor.js +187 -0
  271. package/dist/workers/resource-governor.js.map +1 -0
  272. package/dist/workers/ruvector-integration.d.ts +163 -0
  273. package/dist/workers/ruvector-integration.d.ts.map +1 -0
  274. package/dist/workers/ruvector-integration.js +543 -0
  275. package/dist/workers/ruvector-integration.js.map +1 -0
  276. package/dist/workers/ruvector-native-integration.d.ts +91 -0
  277. package/dist/workers/ruvector-native-integration.d.ts.map +1 -0
  278. package/dist/workers/ruvector-native-integration.js +254 -0
  279. package/dist/workers/ruvector-native-integration.js.map +1 -0
  280. package/dist/workers/trigger-detector.d.ts +68 -0
  281. package/dist/workers/trigger-detector.d.ts.map +1 -0
  282. package/dist/workers/trigger-detector.js +281 -0
  283. package/dist/workers/trigger-detector.js.map +1 -0
  284. package/dist/workers/types.d.ts +145 -0
  285. package/dist/workers/types.d.ts.map +1 -0
  286. package/dist/workers/types.js +6 -0
  287. package/dist/workers/types.js.map +1 -0
  288. package/dist/workers/worker-agent-integration.d.ts +140 -0
  289. package/dist/workers/worker-agent-integration.d.ts.map +1 -0
  290. package/dist/workers/worker-agent-integration.js +471 -0
  291. package/dist/workers/worker-agent-integration.js.map +1 -0
  292. package/dist/workers/worker-benchmarks.d.ts +88 -0
  293. package/dist/workers/worker-benchmarks.d.ts.map +1 -0
  294. package/dist/workers/worker-benchmarks.js +452 -0
  295. package/dist/workers/worker-benchmarks.js.map +1 -0
  296. package/dist/workers/worker-registry.d.ts +85 -0
  297. package/dist/workers/worker-registry.d.ts.map +1 -0
  298. package/dist/workers/worker-registry.js +547 -0
  299. package/dist/workers/worker-registry.js.map +1 -0
  300. package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
  301. package/package.json +27 -9
  302. package/scripts/postinstall.js +45 -4
  303. package/wasm/reasoningbank/reasoningbank_wasm.js +1 -1
  304. package/wasm/reasoningbank/reasoningbank_wasm_bg.js +54 -54
  305. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
  306. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm.d.ts +4 -3
  307. package/.claude/agents/test-neural.md +0 -14
  308. /package/.claude/agents/analysis/{code-review/analyze-code-quality.md → analyze-code-quality.md} +0 -0
  309. /package/.claude/agents/architecture/{system-design/arch-system-design.md → arch-system-design.md} +0 -0
  310. /package/.claude/agents/data/{ml/data-ml-model.md → data-ml-model.md} +0 -0
  311. /package/.claude/agents/development/{backend/dev-backend-api.md → dev-backend-api.md} +0 -0
  312. /package/.claude/agents/devops/{ci-cd/ops-cicd-github.md → ops-cicd-github.md} +0 -0
  313. /package/.claude/agents/documentation/{api-docs/docs-api-openapi.md → docs-api-openapi.md} +0 -0
  314. /package/.claude/agents/specialized/{mobile/spec-mobile-react-native.md → spec-mobile-react-native.md} +0 -0
  315. /package/.claude/agents/testing/{validation/production-validator.md → production-validator.md} +0 -0
  316. /package/.claude/agents/testing/{unit/tdd-london-swarm.md → tdd-london-swarm.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"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","sourcesContent":["// CLI argument parsing and help utilities\n\nexport interface CliOptions {\n mode: 'agent' | 'parallel' | 'list' | 'mcp' | 'mcp-manager' | 'config' | 'agent-manager' | 'proxy' | 'quic' | 'claude-code' | 'reasoningbank' | 'federation';\n agent?: string;\n task?: string;\n\n // Provider Configuration\n model?: string;\n provider?: string;\n\n // API Configuration\n anthropicApiKey?: string;\n openrouterApiKey?: string;\n\n // Agent Behavior\n stream?: boolean;\n temperature?: number;\n maxTokens?: number;\n\n // Directory Configuration\n agentsDir?: string;\n\n // Output Options\n outputFormat?: 'text' | 'json' | 'markdown';\n verbose?: boolean;\n\n // Execution Control\n timeout?: number;\n retryOnError?: boolean;\n\n // Model Optimization\n optimize?: boolean;\n optimizePriority?: 'quality' | 'balanced' | 'cost' | 'speed' | 'privacy';\n maxCost?: number;\n\n // Agent Booster Integration\n claudeCode?: boolean; // Use Agent Booster for 57x faster code edits\n agentBooster?: boolean; // Enable Agent Booster pre-processing\n boosterThreshold?: number; // Confidence threshold for Agent Booster\n\n help?: boolean;\n version?: boolean;\n mcpCommand?: string; // start, stop, status, list\n mcpServer?: string; // claude-flow, flow-nexus, agentic-payments, all\n}\n\nexport function parseArgs(): CliOptions {\n const args = process.argv.slice(2);\n const options: CliOptions = {\n mode: 'parallel'\n };\n\n // Check for proxy command first\n if (args[0] === 'proxy') {\n options.mode = 'proxy';\n return options;\n }\n\n // Check for claude-code command\n if (args[0] === 'claude-code') {\n options.mode = 'claude-code';\n return options;\n }\n\n // Check for quic command\n if (args[0] === 'quic') {\n options.mode = 'quic';\n return options;\n }\n\n // Check for MCP command\n if (args[0] === 'mcp') {\n const mcpSubcommand = args[1];\n\n // MCP Manager commands (CLI configuration)\n const managerCommands = ['add', 'list', 'remove', 'enable', 'disable', 'update', 'test', 'info', 'export', 'import'];\n\n if (managerCommands.includes(mcpSubcommand)) {\n options.mode = 'mcp-manager';\n return options;\n }\n\n // MCP Server commands (start/stop server)\n options.mode = 'mcp';\n options.mcpCommand = mcpSubcommand || 'start'; // default to start\n options.mcpServer = args[2] || 'all'; // default to all servers\n return options;\n }\n\n // Check for config command\n if (args[0] === 'config') {\n options.mode = 'config';\n return options;\n }\n\n // Check for agent management command\n if (args[0] === 'agent') {\n options.mode = 'agent-manager';\n return options;\n }\n\n // Check for federation command\n if (args[0] === 'federation') {\n options.mode = 'federation';\n return options;\n }\n\n // Check for reasoningbank command\n if (args[0] === 'reasoningbank') {\n options.mode = 'reasoningbank';\n return options;\n }\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n\n switch (arg) {\n case '--help':\n case '-h':\n options.help = true;\n break;\n\n case '--version':\n case '-v':\n options.version = true;\n break;\n\n case '--agent':\n case '-a':\n options.mode = 'agent';\n options.agent = args[++i];\n break;\n\n case '--task':\n case '-t':\n options.task = args[++i];\n break;\n\n case '--model':\n case '-m':\n options.model = args[++i];\n break;\n\n case '--provider':\n case '-p':\n options.provider = args[++i];\n break;\n\n case '--stream':\n case '-s':\n options.stream = true;\n break;\n\n case '--list':\n case '-l':\n options.mode = 'list';\n break;\n\n // API Configuration\n case '--anthropic-key':\n options.anthropicApiKey = args[++i];\n break;\n\n case '--openrouter-key':\n options.openrouterApiKey = args[++i];\n break;\n\n // Agent Behavior\n case '--temperature':\n options.temperature = parseFloat(args[++i]);\n break;\n\n case '--max-tokens':\n options.maxTokens = parseInt(args[++i], 10);\n break;\n\n // Directory Configuration\n case '--agents-dir':\n options.agentsDir = args[++i];\n break;\n\n // Output Options\n case '--output':\n options.outputFormat = args[++i] as 'text' | 'json' | 'markdown';\n break;\n\n case '--verbose':\n options.verbose = true;\n break;\n\n // Execution Control\n case '--timeout':\n options.timeout = parseInt(args[++i], 10);\n break;\n\n case '--retry':\n options.retryOnError = true;\n break;\n\n // Model Optimization\n case '--optimize':\n case '-O':\n options.optimize = true;\n break;\n\n case '--priority':\n options.optimizePriority = args[++i] as 'quality' | 'balanced' | 'cost' | 'speed' | 'privacy';\n break;\n\n case '--max-cost':\n options.maxCost = parseFloat(args[++i]);\n break;\n\n // Agent Booster\n case '--agent-booster':\n case '--booster':\n options.agentBooster = true;\n break;\n\n case '--booster-threshold':\n options.boosterThreshold = parseFloat(args[++i]);\n break;\n }\n }\n\n // Check environment variable for Agent Booster\n if (process.env.AGENTIC_FLOW_AGENT_BOOSTER === 'true') {\n options.agentBooster = true;\n }\n if (process.env.AGENTIC_FLOW_BOOSTER_THRESHOLD) {\n options.boosterThreshold = parseFloat(process.env.AGENTIC_FLOW_BOOSTER_THRESHOLD);\n }\n\n return options;\n}\n\nexport function printHelp(): void {\n console.log(`\n🤖 Agentic Flow - AI Agent Orchestration CLI\n\nUSAGE:\n npx agentic-flow [COMMAND] [OPTIONS]\n\nCOMMANDS:\n reasoningbank <cmd> Memory system that learns from experience (demo, test, init)\n claude-code [options] Spawn Claude Code with proxy + Agent Booster (57x faster edits)\n mcp <command> [server] Manage MCP servers (start, stop, status, list)\n config [command] Configuration wizard (set, get, list, delete, reset)\n agent <command> Agent management (list, create, info, conflicts)\n --list, -l List all available agents\n --agent, -a <name> Run specific agent mode\n (default) Run parallel mode (3 agents)\n\nREASONINGBANK COMMANDS:\n npx agentic-flow reasoningbank demo Run interactive demo comparison\n npx agentic-flow reasoningbank test Run validation tests\n npx agentic-flow reasoningbank init Initialize database\n npx agentic-flow reasoningbank benchmark Run performance benchmarks\n npx agentic-flow reasoningbank status Show memory statistics\n\nMCP COMMANDS:\n npx agentic-flow mcp start [server] Start MCP server(s)\n npx agentic-flow mcp stop [server] Stop MCP server(s)\n npx agentic-flow mcp status [server] Check MCP server status\n npx agentic-flow mcp list List all available MCP tools\n\n Available servers: claude-flow, flow-nexus, agentic-payments, all (default)\n\nOPTIONS:\n --task, -t <task> Task description for agent mode\n --model, -m <model> Model to use (supports OpenRouter models)\n --provider, -p <name> Provider (anthropic, openrouter, onnx)\n --stream, -s Enable real-time streaming output\n\n API CONFIGURATION:\n --anthropic-key <key> Override ANTHROPIC_API_KEY\n --openrouter-key <key> Override OPENROUTER_API_KEY\n\n AGENT BEHAVIOR:\n --temperature <0.0-1.0> Sampling temperature (creativity)\n --max-tokens <number> Maximum response tokens\n\n DIRECTORY:\n --agents-dir <path> Custom agents directory\n\n OUTPUT:\n --output <text|json|md> Output format\n --verbose Enable verbose logging\n\n EXECUTION:\n --timeout <ms> Execution timeout\n --retry Auto-retry on errors\n\n MODEL OPTIMIZATION:\n --optimize, -O Auto-select best model for agent/task\n --priority <type> Optimization priority (quality|balanced|cost|speed|privacy)\n --max-cost <dollars> Maximum cost per task in dollars\n\n AGENT BOOSTER (200x faster code edits!):\n --agent-booster Enable Agent Booster pre-processing\n --booster-threshold <0-1> Confidence threshold (default: 0.7)\n\n --help, -h Show this help message\n\nEXAMPLES:\n # ReasoningBank (Learn from agent experience!)\n npx agentic-flow reasoningbank demo # See 0% → 100% success transformation\n npx agentic-flow reasoningbank test # Run 27 validation tests\n npx agentic-flow reasoningbank init # Setup memory database\n export ANTHROPIC_API_KEY=sk-ant-... # Enable LLM-based learning\n\n # Agent Booster Integration (200x faster code edits!)\n npx agentic-flow --agent coder --task \"Convert var to const in utils.js\" --agent-booster\n npx agentic-flow --agent coder --task \"Add types to api.ts\" --agent-booster --provider openrouter\n export AGENTIC_FLOW_AGENT_BOOSTER=true # Enable for all tasks\n\n # Claude Code with Agent Booster\n npx agentic-flow claude-code --provider openrouter --agent-booster\n npx agentic-flow claude-code --provider gemini \"Write a REST API\"\n npx agentic-flow claude-code --help # See all claude-code options\n\n # Agent Management\n npx agentic-flow agent list # List all agents with sources\n npx agentic-flow agent create # Interactive agent creator\n npx agentic-flow agent info coder # Get agent details\n npx agentic-flow agent conflicts # Check for conflicts\n\n # Configuration\n npx agentic-flow config # Interactive config wizard\n npx agentic-flow config set PROVIDER openrouter\n npx agentic-flow config list # View all settings\n\n # MCP Server Management\n npx agentic-flow mcp start # Start all MCP servers\n npx agentic-flow mcp list # List all 209+ MCP tools\n\n # Agent Execution (Basic)\n npx agentic-flow --list # List all agents\n npx agentic-flow --agent coder --task \"Build REST API\"\n\n # Agent Execution (Advanced)\n npx agentic-flow --agent coder --task \"Build API\" \\\\\n --provider openrouter \\\\\n --model \"meta-llama/llama-3.1-8b-instruct\" \\\\\n --temperature 0.7 \\\\\n --max-tokens 2000 \\\\\n --output json \\\\\n --verbose\n\n # Agent Execution (Custom)\n npx agentic-flow --agent my-custom-agent --task \"Your task\" \\\\\n --agents-dir ./my-agents\n\n # Parallel Mode\n npx agentic-flow # Run 3 agents in parallel\n\n # Model Optimization (Auto-select best model)\n npx agentic-flow --agent coder --task \"Build API\" --optimize\n npx agentic-flow --agent coder --task \"Build API\" --optimize --priority cost\n npx agentic-flow --agent researcher --task \"Analyze data\" --optimize --priority quality\n npx agentic-flow --agent coder --task \"Simple function\" --optimize --max-cost 0.001\n\nENVIRONMENT VARIABLES:\n ANTHROPIC_API_KEY Anthropic API key (for Claude models)\n OPENROUTER_API_KEY OpenRouter API key (for alternative models)\n USE_ONNX Set to 'true' to force ONNX local inference\n AGENT Agent name for agent mode\n TASK Task description for agent mode\n MODEL Model override for agent mode\n PROVIDER Provider to use (anthropic, openrouter, onnx)\n TOPIC Research topic for parallel mode\n DIFF Code diff for parallel mode\n DATASET Dataset hint for parallel mode\n ENABLE_STREAMING Enable streaming (true/false)\n HEALTH_PORT Health check port (default: 8080)\n\nMCP TOOLS (209+ available):\n • agentic-flow: 6 tools (agent execution, creation, management)\n • claude-flow: 101 tools (neural networks, GitHub, workflows, DAA)\n • flow-nexus: 96 cloud tools (sandboxes, distributed swarms, templates)\n • agentic-payments: 6 tools (payment authorization, multi-agent consensus)\n\nPARALLEL EXECUTION & SWARM OPTIMIZATION (v2.0):\n • Automatic Topology Selection: AI recommends optimal swarm configuration\n • Self-Learning System: Learns from 100+ execution patterns (0.6 → 0.95 confidence)\n • Pattern Recognition: ReasoningBank stores & retrieves successful strategies\n • Performance Tracking: 3.5-5.0x speedup with hierarchical topology\n • Reward System: Multi-factor scoring (speedup, success rate, efficiency)\n • Adaptive Optimization: Improves recommendations over time\n\n Supported Topologies:\n - Mesh (1-10 agents): Full peer-to-peer coordination (2.5x speedup)\n - Hierarchical (6-50 agents): Coordinator delegation (3.5-4.0x speedup) ⭐ BEST\n - Ring (1-20 agents): Sequential token passing + parallel processing\n - Star (1-30 agents): Central coordinator pattern\n\n Usage Example (CLI subprocess spawning):\n const results = await Promise.all([\n exec('npx agentic-flow --agent researcher --task \"domain1\"'),\n exec('npx agentic-flow --agent researcher --task \"domain2\"'),\n exec('npx agentic-flow --agent coder --task \"implement\"')\n ]);\n\n Auto-Optimization Example:\n import { autoSelectSwarmConfig } from './hooks/swarm-learning-optimizer';\n const config = await autoSelectSwarmConfig(reasoningBank, taskDesc, options);\n // Returns: recommendedTopology, expectedSpeedup, confidence, reasoning\n\n See: /agentic-flow/src/prompts/parallel-execution-guide.md (v2.0)\n /docs/swarm-optimization-report.md\n\nFor more information, visit: https://github.com/ruvnet/agentic-flow\n `);\n}\n\nexport function validateOptions(options: CliOptions): string | null {\n if (options.mode === 'agent') {\n if (!options.agent && !process.env.AGENT) {\n return 'Agent mode requires --agent <name> or AGENT env variable';\n }\n if (!options.task && !process.env.TASK) {\n return 'Agent mode requires --task <description> or TASK env variable';\n }\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"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","sourcesContent":["// CLI argument parsing and help utilities\n\nexport interface CliOptions {\n mode: 'agent' | 'parallel' | 'list' | 'mcp' | 'mcp-manager' | 'config' | 'agent-manager' | 'proxy' | 'quic' | 'claude-code' | 'reasoningbank' | 'federation' | 'hooks' | 'workers' | 'embeddings' | 'init';\n agent?: string;\n task?: string;\n\n // Provider Configuration\n model?: string;\n provider?: string;\n\n // API Configuration\n anthropicApiKey?: string;\n openrouterApiKey?: string;\n\n // Agent Behavior\n stream?: boolean;\n temperature?: number;\n maxTokens?: number;\n\n // Directory Configuration\n agentsDir?: string;\n\n // Output Options\n outputFormat?: 'text' | 'json' | 'markdown';\n verbose?: boolean;\n\n // Execution Control\n timeout?: number;\n retryOnError?: boolean;\n\n // Model Optimization\n optimize?: boolean;\n optimizePriority?: 'quality' | 'balanced' | 'cost' | 'speed' | 'privacy';\n maxCost?: number;\n\n // Agent Booster Integration\n claudeCode?: boolean; // Use Agent Booster for 57x faster code edits\n agentBooster?: boolean; // Enable Agent Booster pre-processing\n boosterThreshold?: number; // Confidence threshold for Agent Booster\n\n help?: boolean;\n version?: boolean;\n mcpCommand?: string; // start, stop, status, list\n mcpServer?: string; // claude-flow, flow-nexus, agentic-payments, all\n}\n\nexport function parseArgs(): CliOptions {\n const args = process.argv.slice(2);\n const options: CliOptions = {\n mode: 'parallel'\n };\n\n // Check for proxy command first\n if (args[0] === 'proxy') {\n options.mode = 'proxy';\n return options;\n }\n\n // Check for claude-code command\n if (args[0] === 'claude-code') {\n options.mode = 'claude-code';\n return options;\n }\n\n // Check for quic command\n if (args[0] === 'quic') {\n options.mode = 'quic';\n return options;\n }\n\n // Check for MCP command\n if (args[0] === 'mcp') {\n const mcpSubcommand = args[1];\n\n // MCP Manager commands (CLI configuration)\n const managerCommands = ['add', 'list', 'remove', 'enable', 'disable', 'update', 'test', 'info', 'export', 'import'];\n\n if (managerCommands.includes(mcpSubcommand)) {\n options.mode = 'mcp-manager';\n return options;\n }\n\n // MCP Server commands (start/stop server)\n options.mode = 'mcp';\n options.mcpCommand = mcpSubcommand || 'start'; // default to start\n options.mcpServer = args[2] || 'all'; // default to all servers\n return options;\n }\n\n // Check for config command\n if (args[0] === 'config') {\n options.mode = 'config';\n return options;\n }\n\n // Check for agent management command\n if (args[0] === 'agent') {\n options.mode = 'agent-manager';\n return options;\n }\n\n // Check for federation command\n if (args[0] === 'federation') {\n options.mode = 'federation';\n return options;\n }\n\n // Check for reasoningbank command\n if (args[0] === 'reasoningbank') {\n options.mode = 'reasoningbank';\n return options;\n }\n\n // Check for hooks command\n if (args[0] === 'hooks') {\n options.mode = 'hooks';\n return options;\n }\n\n // Check for workers command\n if (args[0] === 'workers') {\n options.mode = 'workers';\n return options;\n }\n\n // Check for embeddings command\n if (args[0] === 'embeddings') {\n options.mode = 'embeddings';\n return options;\n }\n\n // Check for init command\n if (args[0] === 'init') {\n options.mode = 'init';\n return options;\n }\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n\n switch (arg) {\n case '--help':\n case '-h':\n options.help = true;\n break;\n\n case '--version':\n case '-v':\n options.version = true;\n break;\n\n case '--agent':\n case '-a':\n options.mode = 'agent';\n options.agent = args[++i];\n break;\n\n case '--task':\n case '-t':\n options.task = args[++i];\n break;\n\n case '--model':\n case '-m':\n options.model = args[++i];\n break;\n\n case '--provider':\n case '-p':\n options.provider = args[++i];\n break;\n\n case '--stream':\n case '-s':\n options.stream = true;\n break;\n\n case '--list':\n case '-l':\n options.mode = 'list';\n break;\n\n // API Configuration\n case '--anthropic-key':\n options.anthropicApiKey = args[++i];\n break;\n\n case '--openrouter-key':\n options.openrouterApiKey = args[++i];\n break;\n\n // Agent Behavior\n case '--temperature':\n options.temperature = parseFloat(args[++i]);\n break;\n\n case '--max-tokens':\n options.maxTokens = parseInt(args[++i], 10);\n break;\n\n // Directory Configuration\n case '--agents-dir':\n options.agentsDir = args[++i];\n break;\n\n // Output Options\n case '--output':\n options.outputFormat = args[++i] as 'text' | 'json' | 'markdown';\n break;\n\n case '--verbose':\n options.verbose = true;\n break;\n\n // Execution Control\n case '--timeout':\n options.timeout = parseInt(args[++i], 10);\n break;\n\n case '--retry':\n options.retryOnError = true;\n break;\n\n // Model Optimization\n case '--optimize':\n case '-O':\n options.optimize = true;\n break;\n\n case '--priority':\n options.optimizePriority = args[++i] as 'quality' | 'balanced' | 'cost' | 'speed' | 'privacy';\n break;\n\n case '--max-cost':\n options.maxCost = parseFloat(args[++i]);\n break;\n\n // Agent Booster\n case '--agent-booster':\n case '--booster':\n options.agentBooster = true;\n break;\n\n case '--booster-threshold':\n options.boosterThreshold = parseFloat(args[++i]);\n break;\n }\n }\n\n // Check environment variable for Agent Booster\n if (process.env.AGENTIC_FLOW_AGENT_BOOSTER === 'true') {\n options.agentBooster = true;\n }\n if (process.env.AGENTIC_FLOW_BOOSTER_THRESHOLD) {\n options.boosterThreshold = parseFloat(process.env.AGENTIC_FLOW_BOOSTER_THRESHOLD);\n }\n\n return options;\n}\n\nexport function printHelp(): void {\n console.log(`\n🤖 Agentic Flow - AI Agent Orchestration CLI\n\nUSAGE:\n npx agentic-flow [COMMAND] [OPTIONS]\n\nCOMMANDS:\n init Initialize project with .claude/ folder and configuration\n reasoningbank <cmd> Memory system that learns from experience (demo, test, init)\n claude-code [options] Spawn Claude Code with proxy + Agent Booster (57x faster edits)\n mcp <command> [server] Manage MCP servers (start, stop, status, list)\n config [command] Configuration wizard (set, get, list, delete, reset)\n agent <command> Agent management (list, create, info, conflicts)\n --list, -l List all available agents\n --agent, -a <name> Run specific agent mode\n (default) Run parallel mode (3 agents)\n\nREASONINGBANK COMMANDS:\n npx agentic-flow reasoningbank demo Run interactive demo comparison\n npx agentic-flow reasoningbank test Run validation tests\n npx agentic-flow reasoningbank init Initialize database\n npx agentic-flow reasoningbank benchmark Run performance benchmarks\n npx agentic-flow reasoningbank status Show memory statistics\n\nMCP COMMANDS:\n npx agentic-flow mcp start [server] Start MCP server(s)\n npx agentic-flow mcp stop [server] Stop MCP server(s)\n npx agentic-flow mcp status [server] Check MCP server status\n npx agentic-flow mcp list List all available MCP tools\n\n Available servers: claude-flow, flow-nexus, agentic-payments, all (default)\n\nOPTIONS:\n --task, -t <task> Task description for agent mode\n --model, -m <model> Model to use (supports OpenRouter models)\n --provider, -p <name> Provider (anthropic, openrouter, onnx)\n --stream, -s Enable real-time streaming output\n\n API CONFIGURATION:\n --anthropic-key <key> Override ANTHROPIC_API_KEY\n --openrouter-key <key> Override OPENROUTER_API_KEY\n\n AGENT BEHAVIOR:\n --temperature <0.0-1.0> Sampling temperature (creativity)\n --max-tokens <number> Maximum response tokens\n\n DIRECTORY:\n --agents-dir <path> Custom agents directory\n\n OUTPUT:\n --output <text|json|md> Output format\n --verbose Enable verbose logging\n\n EXECUTION:\n --timeout <ms> Execution timeout\n --retry Auto-retry on errors\n\n MODEL OPTIMIZATION:\n --optimize, -O Auto-select best model for agent/task\n --priority <type> Optimization priority (quality|balanced|cost|speed|privacy)\n --max-cost <dollars> Maximum cost per task in dollars\n\n AGENT BOOSTER (200x faster code edits!):\n --agent-booster Enable Agent Booster pre-processing\n --booster-threshold <0-1> Confidence threshold (default: 0.7)\n\n --help, -h Show this help message\n\nEXAMPLES:\n # ReasoningBank (Learn from agent experience!)\n npx agentic-flow reasoningbank demo # See 0% → 100% success transformation\n npx agentic-flow reasoningbank test # Run 27 validation tests\n npx agentic-flow reasoningbank init # Setup memory database\n export ANTHROPIC_API_KEY=sk-ant-... # Enable LLM-based learning\n\n # Agent Booster Integration (200x faster code edits!)\n npx agentic-flow --agent coder --task \"Convert var to const in utils.js\" --agent-booster\n npx agentic-flow --agent coder --task \"Add types to api.ts\" --agent-booster --provider openrouter\n export AGENTIC_FLOW_AGENT_BOOSTER=true # Enable for all tasks\n\n # Claude Code with Agent Booster\n npx agentic-flow claude-code --provider openrouter --agent-booster\n npx agentic-flow claude-code --provider gemini \"Write a REST API\"\n npx agentic-flow claude-code --help # See all claude-code options\n\n # Agent Management\n npx agentic-flow agent list # List all agents with sources\n npx agentic-flow agent create # Interactive agent creator\n npx agentic-flow agent info coder # Get agent details\n npx agentic-flow agent conflicts # Check for conflicts\n\n # Configuration\n npx agentic-flow config # Interactive config wizard\n npx agentic-flow config set PROVIDER openrouter\n npx agentic-flow config list # View all settings\n\n # MCP Server Management\n npx agentic-flow mcp start # Start all MCP servers\n npx agentic-flow mcp list # List all 209+ MCP tools\n\n # Agent Execution (Basic)\n npx agentic-flow --list # List all agents\n npx agentic-flow --agent coder --task \"Build REST API\"\n\n # Agent Execution (Advanced)\n npx agentic-flow --agent coder --task \"Build API\" \\\\\n --provider openrouter \\\\\n --model \"meta-llama/llama-3.1-8b-instruct\" \\\\\n --temperature 0.7 \\\\\n --max-tokens 2000 \\\\\n --output json \\\\\n --verbose\n\n # Agent Execution (Custom)\n npx agentic-flow --agent my-custom-agent --task \"Your task\" \\\\\n --agents-dir ./my-agents\n\n # Parallel Mode\n npx agentic-flow # Run 3 agents in parallel\n\n # Model Optimization (Auto-select best model)\n npx agentic-flow --agent coder --task \"Build API\" --optimize\n npx agentic-flow --agent coder --task \"Build API\" --optimize --priority cost\n npx agentic-flow --agent researcher --task \"Analyze data\" --optimize --priority quality\n npx agentic-flow --agent coder --task \"Simple function\" --optimize --max-cost 0.001\n\nENVIRONMENT VARIABLES:\n ANTHROPIC_API_KEY Anthropic API key (for Claude models)\n OPENROUTER_API_KEY OpenRouter API key (for alternative models)\n USE_ONNX Set to 'true' to force ONNX local inference\n AGENT Agent name for agent mode\n TASK Task description for agent mode\n MODEL Model override for agent mode\n PROVIDER Provider to use (anthropic, openrouter, onnx)\n TOPIC Research topic for parallel mode\n DIFF Code diff for parallel mode\n DATASET Dataset hint for parallel mode\n ENABLE_STREAMING Enable streaming (true/false)\n HEALTH_PORT Health check port (default: 8080)\n\nMCP TOOLS (209+ available):\n • agentic-flow: 6 tools (agent execution, creation, management)\n • claude-flow: 101 tools (neural networks, GitHub, workflows, DAA)\n • flow-nexus: 96 cloud tools (sandboxes, distributed swarms, templates)\n • agentic-payments: 6 tools (payment authorization, multi-agent consensus)\n\nPARALLEL EXECUTION & SWARM OPTIMIZATION (v2.0):\n • Automatic Topology Selection: AI recommends optimal swarm configuration\n • Self-Learning System: Learns from 100+ execution patterns (0.6 → 0.95 confidence)\n • Pattern Recognition: ReasoningBank stores & retrieves successful strategies\n • Performance Tracking: 3.5-5.0x speedup with hierarchical topology\n • Reward System: Multi-factor scoring (speedup, success rate, efficiency)\n • Adaptive Optimization: Improves recommendations over time\n\n Supported Topologies:\n - Mesh (1-10 agents): Full peer-to-peer coordination (2.5x speedup)\n - Hierarchical (6-50 agents): Coordinator delegation (3.5-4.0x speedup) ⭐ BEST\n - Ring (1-20 agents): Sequential token passing + parallel processing\n - Star (1-30 agents): Central coordinator pattern\n\n Usage Example (CLI subprocess spawning):\n const results = await Promise.all([\n exec('npx agentic-flow --agent researcher --task \"domain1\"'),\n exec('npx agentic-flow --agent researcher --task \"domain2\"'),\n exec('npx agentic-flow --agent coder --task \"implement\"')\n ]);\n\n Auto-Optimization Example:\n import { autoSelectSwarmConfig } from './hooks/swarm-learning-optimizer';\n const config = await autoSelectSwarmConfig(reasoningBank, taskDesc, options);\n // Returns: recommendedTopology, expectedSpeedup, confidence, reasoning\n\n See: /agentic-flow/src/prompts/parallel-execution-guide.md (v2.0)\n /docs/swarm-optimization-report.md\n\nFor more information, visit: https://github.com/ruvnet/agentic-flow\n `);\n}\n\nexport function validateOptions(options: CliOptions): string | null {\n if (options.mode === 'agent') {\n if (!options.agent && !process.env.AGENT) {\n return 'Agent mode requires --agent <name> or AGENT env variable';\n }\n if (!options.task && !process.env.TASK) {\n return 'Agent mode requires --task <description> or TASK env variable';\n }\n }\n\n return null;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility modules for agentic-flow
3
+ */
4
+ export * from './model-cache.js';
5
+ export * from './suppress-warnings.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility modules for agentic-flow
3
+ */
4
+ export * from './model-cache.js';
5
+ export * from './suppress-warnings.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC","sourcesContent":["/**\n * Utility modules for agentic-flow\n */\n\nexport * from './model-cache.js';\nexport * from './suppress-warnings.js';\n"]}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Global Model Cache
3
+ *
4
+ * Caches loaded models in memory to avoid repeated initialization overhead.
5
+ * Supports ONNX embeddings, transformers.js pipelines, and other heavy models.
6
+ */
7
+ interface CacheStats {
8
+ models: number;
9
+ totalSize: number;
10
+ size?: number;
11
+ totalHits: number;
12
+ totalMisses: number;
13
+ hits: number;
14
+ misses: number;
15
+ hitRate: number;
16
+ }
17
+ declare class ModelCache {
18
+ private cache;
19
+ private maxSize;
20
+ private totalHits;
21
+ private totalMisses;
22
+ constructor(maxSizeMB?: number);
23
+ /**
24
+ * Get a cached model or load it
25
+ */
26
+ getOrLoad<T>(key: string, loader: () => Promise<T>, sizeEstimate?: number): Promise<T>;
27
+ /**
28
+ * Check if model is cached
29
+ */
30
+ has(key: string): boolean;
31
+ /**
32
+ * Get cached model without loading
33
+ */
34
+ get<T>(key: string): T | undefined;
35
+ /**
36
+ * Manually cache a model
37
+ */
38
+ set(key: string, model: any, sizeEstimate?: number): void;
39
+ /**
40
+ * Remove a model from cache
41
+ */
42
+ delete(key: string): boolean;
43
+ /**
44
+ * Clear all cached models
45
+ */
46
+ clear(): void;
47
+ /**
48
+ * Get cache statistics
49
+ */
50
+ getStats(): CacheStats;
51
+ /**
52
+ * Evict least recently used models if cache is full
53
+ */
54
+ private evictIfNeeded;
55
+ }
56
+ export declare const modelCache: ModelCache;
57
+ export declare function getCachedOnnxEmbedder(): Promise<any>;
58
+ export declare function getCachedTransformersPipeline(task?: string, model?: string): Promise<any>;
59
+ export declare function getCachedRuvectorCore(): Promise<any>;
60
+ export {};
61
+ //# sourceMappingURL=model-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cache.d.ts","sourceRoot":"","sources":["../../src/utils/model-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAK;gBAEZ,SAAS,GAAE,MAAY;IAInC;;OAEG;IACG,SAAS,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,YAAY,GAAE,MAAyB,GACtC,OAAO,CAAC,CAAC,CAAC;IA4Bb;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAUlC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAE,MAAyB,GAAG,IAAI;IAW3E;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,QAAQ,IAAI,UAAU;IAoBtB;;OAEG;IACH,OAAO,CAAC,aAAa;CAuBtB;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC;AAG3C,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,CAgC1D;AAED,wBAAsB,6BAA6B,CACjD,IAAI,GAAE,MAA6B,EACnC,KAAK,GAAE,MAAkC,GACxC,OAAO,CAAC,GAAG,CAAC,CASd;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,CAS1D"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Global Model Cache
3
+ *
4
+ * Caches loaded models in memory to avoid repeated initialization overhead.
5
+ * Supports ONNX embeddings, transformers.js pipelines, and other heavy models.
6
+ */
7
+ class ModelCache {
8
+ cache = new Map();
9
+ maxSize; // Max cache size in bytes
10
+ totalHits = 0;
11
+ totalMisses = 0;
12
+ constructor(maxSizeMB = 512) {
13
+ this.maxSize = maxSizeMB * 1024 * 1024;
14
+ }
15
+ /**
16
+ * Get a cached model or load it
17
+ */
18
+ async getOrLoad(key, loader, sizeEstimate = 50 * 1024 * 1024 // Default 50MB estimate
19
+ ) {
20
+ const cached = this.cache.get(key);
21
+ if (cached) {
22
+ cached.lastUsed = Date.now();
23
+ cached.useCount++;
24
+ this.totalHits++;
25
+ return cached.model;
26
+ }
27
+ this.totalMisses++;
28
+ // Evict if needed
29
+ this.evictIfNeeded(sizeEstimate);
30
+ // Load model
31
+ const model = await loader();
32
+ this.cache.set(key, {
33
+ model,
34
+ loadedAt: Date.now(),
35
+ lastUsed: Date.now(),
36
+ useCount: 1,
37
+ sizeEstimate
38
+ });
39
+ return model;
40
+ }
41
+ /**
42
+ * Check if model is cached
43
+ */
44
+ has(key) {
45
+ return this.cache.has(key);
46
+ }
47
+ /**
48
+ * Get cached model without loading
49
+ */
50
+ get(key) {
51
+ const cached = this.cache.get(key);
52
+ if (cached) {
53
+ cached.lastUsed = Date.now();
54
+ cached.useCount++;
55
+ return cached.model;
56
+ }
57
+ return undefined;
58
+ }
59
+ /**
60
+ * Manually cache a model
61
+ */
62
+ set(key, model, sizeEstimate = 50 * 1024 * 1024) {
63
+ this.evictIfNeeded(sizeEstimate);
64
+ this.cache.set(key, {
65
+ model,
66
+ loadedAt: Date.now(),
67
+ lastUsed: Date.now(),
68
+ useCount: 1,
69
+ sizeEstimate
70
+ });
71
+ }
72
+ /**
73
+ * Remove a model from cache
74
+ */
75
+ delete(key) {
76
+ return this.cache.delete(key);
77
+ }
78
+ /**
79
+ * Clear all cached models
80
+ */
81
+ clear() {
82
+ this.cache.clear();
83
+ }
84
+ /**
85
+ * Get cache statistics
86
+ */
87
+ getStats() {
88
+ let totalSize = 0;
89
+ for (const cached of this.cache.values()) {
90
+ totalSize += cached.sizeEstimate;
91
+ }
92
+ const hits = this.totalHits;
93
+ const misses = this.totalMisses;
94
+ const total = hits + misses;
95
+ return {
96
+ models: this.cache.size,
97
+ totalSize,
98
+ size: this.cache.size,
99
+ totalHits: hits,
100
+ totalMisses: misses,
101
+ hits,
102
+ misses,
103
+ hitRate: total > 0 ? hits / total : 0
104
+ };
105
+ }
106
+ /**
107
+ * Evict least recently used models if cache is full
108
+ */
109
+ evictIfNeeded(newSize) {
110
+ let currentSize = 0;
111
+ for (const cached of this.cache.values()) {
112
+ currentSize += cached.sizeEstimate;
113
+ }
114
+ if (currentSize + newSize <= this.maxSize) {
115
+ return;
116
+ }
117
+ // Sort by last used time (LRU)
118
+ const entries = Array.from(this.cache.entries())
119
+ .sort((a, b) => a[1].lastUsed - b[1].lastUsed);
120
+ // Evict until we have space
121
+ for (const [key, cached] of entries) {
122
+ if (currentSize + newSize <= this.maxSize) {
123
+ break;
124
+ }
125
+ this.cache.delete(key);
126
+ currentSize -= cached.sizeEstimate;
127
+ }
128
+ }
129
+ }
130
+ // Global singleton
131
+ export const modelCache = new ModelCache();
132
+ // Convenience functions
133
+ export async function getCachedOnnxEmbedder() {
134
+ return modelCache.getOrLoad('onnx-embeddings', async () => {
135
+ // Suppress experimental warning for WASM
136
+ const originalEmit = process.emit;
137
+ // @ts-ignore
138
+ process.emit = function (name, data, ...args) {
139
+ if (name === 'warning' && typeof data === 'object' &&
140
+ data.name === 'ExperimentalWarning' &&
141
+ data.message?.includes('Import')) {
142
+ return false;
143
+ }
144
+ // @ts-ignore
145
+ return originalEmit.apply(process, [name, data, ...args]);
146
+ };
147
+ try {
148
+ const onnxModule = await import('ruvector-onnx-embeddings-wasm');
149
+ const EmbedderClass = onnxModule.OnnxEmbeddings || onnxModule.default;
150
+ if (EmbedderClass) {
151
+ const embedder = new EmbedderClass();
152
+ await embedder.initialize?.();
153
+ return embedder;
154
+ }
155
+ }
156
+ finally {
157
+ process.emit = originalEmit;
158
+ }
159
+ return null;
160
+ }, 100 * 1024 * 1024 // 100MB estimate for ONNX model
161
+ );
162
+ }
163
+ export async function getCachedTransformersPipeline(task = 'feature-extraction', model = 'Xenova/all-MiniLM-L6-v2') {
164
+ return modelCache.getOrLoad(`transformers:${task}:${model}`, async () => {
165
+ const { pipeline } = await import('@xenova/transformers');
166
+ return pipeline(task, model);
167
+ }, 200 * 1024 * 1024 // 200MB estimate for transformers model
168
+ );
169
+ }
170
+ export async function getCachedRuvectorCore() {
171
+ return modelCache.getOrLoad('ruvector-core', async () => {
172
+ const ruvector = await import('ruvector');
173
+ return ruvector;
174
+ }, 50 * 1024 * 1024);
175
+ }
176
+ //# sourceMappingURL=model-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cache.js","sourceRoot":"","sources":["../../src/utils/model-cache.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Global Model Cache\n *\n * Caches loaded models in memory to avoid repeated initialization overhead.\n * Supports ONNX embeddings, transformers.js pipelines, and other heavy models.\n */\n\ninterface CachedModel {\n model: any;\n loadedAt: number;\n lastUsed: number;\n useCount: number;\n sizeEstimate: number; // bytes\n}\n\ninterface CacheStats {\n models: number;\n totalSize: number;\n size?: number;\n totalHits: number;\n totalMisses: number;\n hits: number;\n misses: number;\n hitRate: number;\n}\n\nclass ModelCache {\n private cache = new Map<string, CachedModel>();\n private maxSize: number; // Max cache size in bytes\n private totalHits = 0;\n private totalMisses = 0;\n\n constructor(maxSizeMB: number = 512) {\n this.maxSize = maxSizeMB * 1024 * 1024;\n }\n\n /**\n * Get a cached model or load it\n */\n async getOrLoad<T>(\n key: string,\n loader: () => Promise<T>,\n sizeEstimate: number = 50 * 1024 * 1024 // Default 50MB estimate\n ): Promise<T> {\n const cached = this.cache.get(key);\n if (cached) {\n cached.lastUsed = Date.now();\n cached.useCount++;\n this.totalHits++;\n return cached.model as T;\n }\n\n this.totalMisses++;\n\n // Evict if needed\n this.evictIfNeeded(sizeEstimate);\n\n // Load model\n const model = await loader();\n\n this.cache.set(key, {\n model,\n loadedAt: Date.now(),\n lastUsed: Date.now(),\n useCount: 1,\n sizeEstimate\n });\n\n return model;\n }\n\n /**\n * Check if model is cached\n */\n has(key: string): boolean {\n return this.cache.has(key);\n }\n\n /**\n * Get cached model without loading\n */\n get<T>(key: string): T | undefined {\n const cached = this.cache.get(key);\n if (cached) {\n cached.lastUsed = Date.now();\n cached.useCount++;\n return cached.model as T;\n }\n return undefined;\n }\n\n /**\n * Manually cache a model\n */\n set(key: string, model: any, sizeEstimate: number = 50 * 1024 * 1024): void {\n this.evictIfNeeded(sizeEstimate);\n this.cache.set(key, {\n model,\n loadedAt: Date.now(),\n lastUsed: Date.now(),\n useCount: 1,\n sizeEstimate\n });\n }\n\n /**\n * Remove a model from cache\n */\n delete(key: string): boolean {\n return this.cache.delete(key);\n }\n\n /**\n * Clear all cached models\n */\n clear(): void {\n this.cache.clear();\n }\n\n /**\n * Get cache statistics\n */\n getStats(): CacheStats {\n let totalSize = 0;\n for (const cached of this.cache.values()) {\n totalSize += cached.sizeEstimate;\n }\n const hits = this.totalHits;\n const misses = this.totalMisses;\n const total = hits + misses;\n return {\n models: this.cache.size,\n totalSize,\n size: this.cache.size,\n totalHits: hits,\n totalMisses: misses,\n hits,\n misses,\n hitRate: total > 0 ? hits / total : 0\n };\n }\n\n /**\n * Evict least recently used models if cache is full\n */\n private evictIfNeeded(newSize: number): void {\n let currentSize = 0;\n for (const cached of this.cache.values()) {\n currentSize += cached.sizeEstimate;\n }\n\n if (currentSize + newSize <= this.maxSize) {\n return;\n }\n\n // Sort by last used time (LRU)\n const entries = Array.from(this.cache.entries())\n .sort((a, b) => a[1].lastUsed - b[1].lastUsed);\n\n // Evict until we have space\n for (const [key, cached] of entries) {\n if (currentSize + newSize <= this.maxSize) {\n break;\n }\n this.cache.delete(key);\n currentSize -= cached.sizeEstimate;\n }\n }\n}\n\n// Global singleton\nexport const modelCache = new ModelCache();\n\n// Convenience functions\nexport async function getCachedOnnxEmbedder(): Promise<any> {\n return modelCache.getOrLoad(\n 'onnx-embeddings',\n async () => {\n // Suppress experimental warning for WASM\n const originalEmit = process.emit;\n // @ts-ignore\n process.emit = function (name, data, ...args) {\n if (name === 'warning' && typeof data === 'object' &&\n (data as any).name === 'ExperimentalWarning' &&\n (data as any).message?.includes('Import')) {\n return false;\n }\n // @ts-ignore\n return originalEmit.apply(process, [name, data, ...args]);\n };\n\n try {\n const onnxModule = await import('ruvector-onnx-embeddings-wasm') as any;\n const EmbedderClass = onnxModule.OnnxEmbeddings || onnxModule.default;\n if (EmbedderClass) {\n const embedder = new EmbedderClass();\n await embedder.initialize?.();\n return embedder;\n }\n } finally {\n process.emit = originalEmit;\n }\n return null;\n },\n 100 * 1024 * 1024 // 100MB estimate for ONNX model\n );\n}\n\nexport async function getCachedTransformersPipeline(\n task: string = 'feature-extraction',\n model: string = 'Xenova/all-MiniLM-L6-v2'\n): Promise<any> {\n return modelCache.getOrLoad(\n `transformers:${task}:${model}`,\n async () => {\n const { pipeline } = await import('@xenova/transformers');\n return pipeline(task as any, model);\n },\n 200 * 1024 * 1024 // 200MB estimate for transformers model\n );\n}\n\nexport async function getCachedRuvectorCore(): Promise<any> {\n return modelCache.getOrLoad(\n 'ruvector-core',\n async () => {\n const ruvector = await import('ruvector');\n return ruvector;\n },\n 50 * 1024 * 1024\n );\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Warning Suppression Utilities
3
+ *
4
+ * Suppresses noisy warnings like ExperimentalWarning for WASM imports
5
+ * while preserving important warnings.
6
+ */
7
+ /**
8
+ * Suppress experimental warnings for WASM module imports
9
+ */
10
+ export declare function suppressExperimentalWarnings(): void;
11
+ /**
12
+ * Run a function with warnings suppressed
13
+ */
14
+ export declare function withSuppressedWarnings<T>(fn: () => Promise<T>): Promise<T>;
15
+ /**
16
+ * Import a module with experimental warnings suppressed
17
+ */
18
+ export declare function quietImport<T>(modulePath: string): Promise<T>;
19
+ //# sourceMappingURL=suppress-warnings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppress-warnings.d.ts","sourceRoot":"","sources":["../../src/utils/suppress-warnings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAmCnD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGhF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGnE"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Warning Suppression Utilities
3
+ *
4
+ * Suppresses noisy warnings like ExperimentalWarning for WASM imports
5
+ * while preserving important warnings.
6
+ */
7
+ let warningsSetup = false;
8
+ /**
9
+ * Suppress experimental warnings for WASM module imports
10
+ */
11
+ export function suppressExperimentalWarnings() {
12
+ if (warningsSetup)
13
+ return;
14
+ warningsSetup = true;
15
+ const originalEmit = process.emit.bind(process);
16
+ // @ts-ignore - Override emit to filter warnings
17
+ process.emit = function (event, ...args) {
18
+ if (event === 'warning') {
19
+ const warning = args[0];
20
+ if (warning && typeof warning === 'object') {
21
+ const name = warning.name;
22
+ const message = warning.message || '';
23
+ // Suppress ExperimentalWarning for import assertions/attributes
24
+ if (name === 'ExperimentalWarning') {
25
+ if (message.includes('Import') ||
26
+ message.includes('import.meta') ||
27
+ message.includes('--experimental')) {
28
+ return false;
29
+ }
30
+ }
31
+ // Suppress noisy deprecation warnings from dependencies
32
+ if (name === 'DeprecationWarning') {
33
+ if (message.includes('punycode') ||
34
+ message.includes('Buffer()')) {
35
+ return false;
36
+ }
37
+ }
38
+ }
39
+ }
40
+ return originalEmit(event, ...args);
41
+ };
42
+ }
43
+ /**
44
+ * Run a function with warnings suppressed
45
+ */
46
+ export async function withSuppressedWarnings(fn) {
47
+ suppressExperimentalWarnings();
48
+ return fn();
49
+ }
50
+ /**
51
+ * Import a module with experimental warnings suppressed
52
+ */
53
+ export async function quietImport(modulePath) {
54
+ suppressExperimentalWarnings();
55
+ return import(modulePath);
56
+ }
57
+ // Auto-setup on module load
58
+ suppressExperimentalWarnings();
59
+ //# sourceMappingURL=suppress-warnings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppress-warnings.js","sourceRoot":"","sources":["../../src/utils/suppress-warnings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,IAAI,aAAa;QAAE,OAAO;IAC1B,aAAa,GAAG,IAAI,CAAC;IAErB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,gDAAgD;IAChD,OAAO,CAAC,IAAI,GAAG,UAAU,KAAa,EAAE,GAAG,IAAW;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAI,OAAe,CAAC,IAAI,CAAC;gBACnC,MAAM,OAAO,GAAI,OAAe,CAAC,OAAO,IAAI,EAAE,CAAC;gBAE/C,gEAAgE;gBAChE,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACvC,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBAED,wDAAwD;gBACxD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAClC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjC,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAI,EAAoB;IAClE,4BAA4B,EAAE,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,UAAkB;IACrD,4BAA4B,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,UAAU,CAAe,CAAC;AAC1C,CAAC;AAED,4BAA4B;AAC5B,4BAA4B,EAAE,CAAC","sourcesContent":["/**\n * Warning Suppression Utilities\n *\n * Suppresses noisy warnings like ExperimentalWarning for WASM imports\n * while preserving important warnings.\n */\n\nlet warningsSetup = false;\n\n/**\n * Suppress experimental warnings for WASM module imports\n */\nexport function suppressExperimentalWarnings(): void {\n if (warningsSetup) return;\n warningsSetup = true;\n\n const originalEmit = process.emit.bind(process);\n\n // @ts-ignore - Override emit to filter warnings\n process.emit = function (event: string, ...args: any[]): boolean {\n if (event === 'warning') {\n const warning = args[0];\n if (warning && typeof warning === 'object') {\n const name = (warning as any).name;\n const message = (warning as any).message || '';\n\n // Suppress ExperimentalWarning for import assertions/attributes\n if (name === 'ExperimentalWarning') {\n if (message.includes('Import') ||\n message.includes('import.meta') ||\n message.includes('--experimental')) {\n return false;\n }\n }\n\n // Suppress noisy deprecation warnings from dependencies\n if (name === 'DeprecationWarning') {\n if (message.includes('punycode') ||\n message.includes('Buffer()')) {\n return false;\n }\n }\n }\n }\n\n return originalEmit(event, ...args);\n };\n}\n\n/**\n * Run a function with warnings suppressed\n */\nexport async function withSuppressedWarnings<T>(fn: () => Promise<T>): Promise<T> {\n suppressExperimentalWarnings();\n return fn();\n}\n\n/**\n * Import a module with experimental warnings suppressed\n */\nexport async function quietImport<T>(modulePath: string): Promise<T> {\n suppressExperimentalWarnings();\n return import(modulePath) as Promise<T>;\n}\n\n// Auto-setup on module load\nsuppressExperimentalWarnings();\n"]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Consolidated Phase System
3
+ *
4
+ * Eliminates redundancy between phase-executors.ts and ruvector-native-integration.ts
5
+ * by providing a unified phase registry that:
6
+ * 1. Uses native implementations as primary (faster, SIMD-optimized)
7
+ * 2. Falls back to legacy implementations if needed
8
+ * 3. Shares the cached ONNX embedder across all phases
9
+ */
10
+ import { WorkerContext } from './types.js';
11
+ import { PhaseResult } from './custom-worker-config.js';
12
+ export interface UnifiedPhaseContext {
13
+ files: string[];
14
+ patterns: string[];
15
+ bytes: number;
16
+ dependencies: Map<string, string[]>;
17
+ metrics: Record<string, number>;
18
+ embeddings: Map<string, Float32Array>;
19
+ vectors: Map<string, number[]>;
20
+ phaseData: Map<string, Record<string, unknown>>;
21
+ vulnerabilities: Array<{
22
+ type: string;
23
+ file: string;
24
+ line: number;
25
+ severity: string;
26
+ }>;
27
+ }
28
+ export declare function createUnifiedContext(): UnifiedPhaseContext;
29
+ export type UnifiedPhaseExecutor = (workerContext: WorkerContext, phaseContext: UnifiedPhaseContext, options: Record<string, unknown>) => Promise<PhaseResult>;
30
+ export declare function registerUnifiedPhase(type: string, executor: UnifiedPhaseExecutor): void;
31
+ export declare function getUnifiedPhase(type: string): UnifiedPhaseExecutor | undefined;
32
+ export declare function listUnifiedPhases(): string[];
33
+ export declare function runUnifiedPipeline(workerContext: WorkerContext, phases: string[], options?: Record<string, unknown>): Promise<{
34
+ success: boolean;
35
+ phases: string[];
36
+ context: UnifiedPhaseContext;
37
+ results: Record<string, PhaseResult>;
38
+ duration: number;
39
+ }>;
40
+ //# sourceMappingURL=consolidated-phases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidated-phases.d.ts","sourceRoot":"","sources":["../../src/workers/consolidated-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAyC,MAAM,2BAA2B,CAAC;AAO/F,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,CAY1D;AAMD,MAAM,MAAM,oBAAoB,GAAG,CACjC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;AAI1B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAEvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE9E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAqeD,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAqCD"}