agentic-flow 2.0.7 → 2.0.8

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 +10 -0
  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
@@ -5,18 +5,22 @@ import { execSync } from 'child_process';
5
5
  import { readFileSync, writeFileSync } from 'fs';
6
6
  import { extname } from 'path';
7
7
  import { logger } from '../utils/logger.js';
8
- // Optional: AgentBooster for local code editing (lazy loaded to avoid crashes when not installed)
9
- let AgentBooster = null;
10
- async function getAgentBooster() {
11
- if (AgentBooster)
12
- return AgentBooster;
8
+ let _AgentBooster = null;
9
+ async function loadAgentBooster() {
10
+ if (_AgentBooster)
11
+ return _AgentBooster;
13
12
  try {
14
13
  const mod = await import('agent-booster');
15
- AgentBooster = mod.AgentBooster;
16
- return AgentBooster;
14
+ const ctor = mod.AgentBooster ?? mod.default?.AgentBooster ?? mod.default;
15
+ if (!ctor) {
16
+ throw new Error("'agent-booster' loaded but does not export AgentBooster");
17
+ }
18
+ _AgentBooster = ctor;
19
+ return ctor;
17
20
  }
18
- catch {
19
- return null;
21
+ catch (err) {
22
+ throw new Error(`Agent Booster is unavailable (optional package 'agent-booster' not installed). ` +
23
+ `Install it with: npm install agent-booster. Underlying: ${err?.message || err}`);
20
24
  }
21
25
  }
22
26
  /**
@@ -32,7 +36,7 @@ export const claudeFlowSdkServer = createSdkMcpServer({
32
36
  key: z.string().describe('Memory key'),
33
37
  value: z.string().describe('Value to store'),
34
38
  namespace: z.string().optional().default('default').describe('Memory namespace'),
35
- ttl: z.number().optional().describe('Time-to-live in seconds')
39
+ ttl: z.number().optional().describe('Time-to-live in seconds'),
36
40
  }, async ({ key, value, namespace, ttl }) => {
37
41
  try {
38
42
  logger.info('Storing memory', { key, namespace });
@@ -40,45 +44,53 @@ export const claudeFlowSdkServer = createSdkMcpServer({
40
44
  const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
41
45
  logger.info('Memory stored successfully', { key });
42
46
  return {
43
- content: [{
47
+ content: [
48
+ {
44
49
  type: 'text',
45
- text: `āœ… Stored successfully\nšŸ“ Key: ${key}\nšŸ“¦ Namespace: ${namespace}\nšŸ’¾ Size: ${value.length} bytes`
46
- }]
50
+ text: `āœ… Stored successfully\nšŸ“ Key: ${key}\nšŸ“¦ Namespace: ${namespace}\nšŸ’¾ Size: ${value.length} bytes`,
51
+ },
52
+ ],
47
53
  };
48
54
  }
49
55
  catch (error) {
50
56
  logger.error('Failed to store memory', { error: error.message });
51
57
  return {
52
- content: [{
58
+ content: [
59
+ {
53
60
  type: 'text',
54
- text: `āŒ Failed to store: ${error.message}`
55
- }],
56
- isError: true
61
+ text: `āŒ Failed to store: ${error.message}`,
62
+ },
63
+ ],
64
+ isError: true,
57
65
  };
58
66
  }
59
67
  }),
60
68
  // Memory retrieval tool
61
69
  tool('memory_retrieve', 'Retrieve a value from persistent memory', {
62
70
  key: z.string().describe('Memory key'),
63
- namespace: z.string().optional().default('default').describe('Memory namespace')
71
+ namespace: z.string().optional().default('default').describe('Memory namespace'),
64
72
  }, async ({ key, namespace }) => {
65
73
  try {
66
74
  const cmd = `npx claude-flow@alpha memory retrieve "${key}" --namespace "${namespace}"`;
67
75
  const result = execSync(cmd, { encoding: 'utf-8' });
68
76
  return {
69
- content: [{
77
+ content: [
78
+ {
70
79
  type: 'text',
71
- text: `āœ… Retrieved:\n${result}`
72
- }]
80
+ text: `āœ… Retrieved:\n${result}`,
81
+ },
82
+ ],
73
83
  };
74
84
  }
75
85
  catch (error) {
76
86
  return {
77
- content: [{
87
+ content: [
88
+ {
78
89
  type: 'text',
79
- text: `āŒ Failed to retrieve: ${error.message}`
80
- }],
81
- isError: true
90
+ text: `āŒ Failed to retrieve: ${error.message}`,
91
+ },
92
+ ],
93
+ isError: true,
82
94
  };
83
95
  }
84
96
  }),
@@ -86,25 +98,29 @@ export const claudeFlowSdkServer = createSdkMcpServer({
86
98
  tool('memory_search', 'Search for keys matching a pattern in memory', {
87
99
  pattern: z.string().describe('Search pattern (supports wildcards)'),
88
100
  namespace: z.string().optional().describe('Memory namespace to search in'),
89
- limit: z.number().optional().default(10).describe('Maximum results to return')
101
+ limit: z.number().optional().default(10).describe('Maximum results to return'),
90
102
  }, async ({ pattern, namespace, limit }) => {
91
103
  try {
92
104
  const cmd = `npx claude-flow@alpha memory search "${pattern}"${namespace ? ` --namespace "${namespace}"` : ''} --limit ${limit}`;
93
105
  const result = execSync(cmd, { encoding: 'utf-8' });
94
106
  return {
95
- content: [{
107
+ content: [
108
+ {
96
109
  type: 'text',
97
- text: `šŸ” Search results:\n${result}`
98
- }]
110
+ text: `šŸ” Search results:\n${result}`,
111
+ },
112
+ ],
99
113
  };
100
114
  }
101
115
  catch (error) {
102
116
  return {
103
- content: [{
117
+ content: [
118
+ {
104
119
  type: 'text',
105
- text: `āŒ Search failed: ${error.message}`
106
- }],
107
- isError: true
120
+ text: `āŒ Search failed: ${error.message}`,
121
+ },
122
+ ],
123
+ isError: true,
108
124
  };
109
125
  }
110
126
  }),
@@ -112,33 +128,43 @@ export const claudeFlowSdkServer = createSdkMcpServer({
112
128
  tool('swarm_init', 'Initialize a multi-agent swarm with specified topology', {
113
129
  topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),
114
130
  maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),
115
- strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')
131
+ strategy: z
132
+ .enum(['balanced', 'specialized', 'adaptive'])
133
+ .optional()
134
+ .default('balanced')
135
+ .describe('Agent distribution strategy'),
116
136
  }, async ({ topology, maxAgents, strategy }) => {
117
137
  try {
118
138
  const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;
119
139
  const result = execSync(cmd, { encoding: 'utf-8' });
120
140
  return {
121
- content: [{
141
+ content: [
142
+ {
122
143
  type: 'text',
123
- text: `šŸš€ Swarm initialized:\n${result}`
124
- }]
144
+ text: `šŸš€ Swarm initialized:\n${result}`,
145
+ },
146
+ ],
125
147
  };
126
148
  }
127
149
  catch (error) {
128
150
  return {
129
- content: [{
151
+ content: [
152
+ {
130
153
  type: 'text',
131
- text: `āŒ Swarm init failed: ${error.message}`
132
- }],
133
- isError: true
154
+ text: `āŒ Swarm init failed: ${error.message}`,
155
+ },
156
+ ],
157
+ isError: true,
134
158
  };
135
159
  }
136
160
  }),
137
161
  // Agent spawn tool
138
162
  tool('agent_spawn', 'Spawn a new agent in the swarm', {
139
- type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),
163
+ type: z
164
+ .enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator'])
165
+ .describe('Agent type'),
140
166
  capabilities: z.array(z.string()).optional().describe('Agent capabilities'),
141
- name: z.string().optional().describe('Custom agent name')
167
+ name: z.string().optional().describe('Custom agent name'),
142
168
  }, async ({ type, capabilities, name }) => {
143
169
  try {
144
170
  const capStr = capabilities ? ` --capabilities "${capabilities.join(',')}"` : '';
@@ -146,110 +172,128 @@ export const claudeFlowSdkServer = createSdkMcpServer({
146
172
  const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;
147
173
  const result = execSync(cmd, { encoding: 'utf-8' });
148
174
  return {
149
- content: [{
175
+ content: [
176
+ {
150
177
  type: 'text',
151
- text: `šŸ¤– Agent spawned:\n${result}`
152
- }]
178
+ text: `šŸ¤– Agent spawned:\n${result}`,
179
+ },
180
+ ],
153
181
  };
154
182
  }
155
183
  catch (error) {
156
184
  return {
157
- content: [{
185
+ content: [
186
+ {
158
187
  type: 'text',
159
- text: `āŒ Agent spawn failed: ${error.message}`
160
- }],
161
- isError: true
188
+ text: `āŒ Agent spawn failed: ${error.message}`,
189
+ },
190
+ ],
191
+ isError: true,
162
192
  };
163
193
  }
164
194
  }),
165
195
  // Task orchestration tool
166
196
  tool('task_orchestrate', 'Orchestrate a complex task across the swarm', {
167
197
  task: z.string().describe('Task description or instructions'),
168
- strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),
169
- priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),
170
- maxAgents: z.number().optional().describe('Maximum agents to use for this task')
198
+ strategy: z
199
+ .enum(['parallel', 'sequential', 'adaptive'])
200
+ .optional()
201
+ .default('adaptive')
202
+ .describe('Execution strategy'),
203
+ priority: z
204
+ .enum(['low', 'medium', 'high', 'critical'])
205
+ .optional()
206
+ .default('medium')
207
+ .describe('Task priority'),
208
+ maxAgents: z.number().optional().describe('Maximum agents to use for this task'),
171
209
  }, async ({ task, strategy, priority, maxAgents }) => {
172
210
  try {
173
211
  const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';
174
212
  const cmd = `npx claude-flow@alpha task orchestrate "${task}" --strategy ${strategy} --priority ${priority}${maxStr}`;
175
213
  const result = execSync(cmd, { encoding: 'utf-8' });
176
214
  return {
177
- content: [{
215
+ content: [
216
+ {
178
217
  type: 'text',
179
- text: `⚔ Task orchestrated:\n${result}`
180
- }]
218
+ text: `⚔ Task orchestrated:\n${result}`,
219
+ },
220
+ ],
181
221
  };
182
222
  }
183
223
  catch (error) {
184
224
  return {
185
- content: [{
225
+ content: [
226
+ {
186
227
  type: 'text',
187
- text: `āŒ Task orchestration failed: ${error.message}`
188
- }],
189
- isError: true
228
+ text: `āŒ Task orchestration failed: ${error.message}`,
229
+ },
230
+ ],
231
+ isError: true,
190
232
  };
191
233
  }
192
234
  }),
193
235
  // Swarm status tool
194
236
  tool('swarm_status', 'Get current swarm status and metrics', {
195
- verbose: z.boolean().optional().default(false).describe('Include detailed metrics')
237
+ verbose: z.boolean().optional().default(false).describe('Include detailed metrics'),
196
238
  }, async ({ verbose }) => {
197
239
  try {
198
240
  const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;
199
241
  const result = execSync(cmd, { encoding: 'utf-8' });
200
242
  return {
201
- content: [{
243
+ content: [
244
+ {
202
245
  type: 'text',
203
- text: `šŸ“Š Swarm status:\n${result}`
204
- }]
246
+ text: `šŸ“Š Swarm status:\n${result}`,
247
+ },
248
+ ],
205
249
  };
206
250
  }
207
251
  catch (error) {
208
252
  return {
209
- content: [{
253
+ content: [
254
+ {
210
255
  type: 'text',
211
- text: `āŒ Status check failed: ${error.message}`
212
- }],
213
- isError: true
256
+ text: `āŒ Status check failed: ${error.message}`,
257
+ },
258
+ ],
259
+ isError: true,
214
260
  };
215
261
  }
216
262
  }),
217
263
  // Agent Booster - Ultra-fast code editing
218
- tool('agent_booster_edit_file', 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\'s local WASM engine.', {
264
+ tool('agent_booster_edit_file', "Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster's local WASM engine.", {
219
265
  target_filepath: z.string().describe('Path of the file to modify'),
220
266
  instructions: z.string().describe('Description of what changes to make'),
221
267
  code_edit: z.string().describe('The new code or edit to apply'),
222
- language: z.string().optional().describe('Programming language (auto-detected if not provided)')
268
+ language: z
269
+ .string()
270
+ .optional()
271
+ .describe('Programming language (auto-detected if not provided)'),
223
272
  }, async ({ target_filepath, instructions, code_edit, language }) => {
224
273
  try {
225
- // Initialize Agent Booster (lazy load)
226
- const BoosterClass = await getAgentBooster();
227
- if (!BoosterClass) {
228
- return {
229
- content: [{
230
- type: 'text',
231
- text: 'āŒ Agent Booster not available. Install with: npm install agent-booster'
232
- }],
233
- isError: true
234
- };
235
- }
236
- const booster = new BoosterClass({ confidenceThreshold: 0.5 });
274
+ // Initialize Agent Booster (lazy load to keep top-level import safe)
275
+ const Ctor = await loadAgentBooster();
276
+ const booster = new Ctor({ confidenceThreshold: 0.5 });
237
277
  // Read original file
238
278
  const originalCode = readFileSync(target_filepath, 'utf8');
239
279
  // Auto-detect language if not provided
240
280
  const lang = language || extname(target_filepath).slice(1);
241
- // Apply edit
281
+ // Apply edit - use any cast for flexible signature
242
282
  const result = await booster.apply({
243
283
  code: originalCode,
244
284
  edit: code_edit,
245
- language: lang
285
+ language: lang,
286
+ target_filepath,
287
+ instructions: code_edit,
288
+ code_edit,
246
289
  });
247
290
  // Write if successful
248
291
  if (result.success) {
249
292
  writeFileSync(target_filepath, result.output, 'utf8');
250
293
  }
251
294
  return {
252
- content: [{
295
+ content: [
296
+ {
253
297
  type: 'text',
254
298
  text: `⚔ Agent Booster Edit Result:\n` +
255
299
  `šŸ“ File: ${target_filepath}\n` +
@@ -259,41 +303,37 @@ export const claudeFlowSdkServer = createSdkMcpServer({
259
303
  `šŸ”§ Strategy: ${result.strategy}\n` +
260
304
  `šŸ“Š Speedup: ~${Math.round(352 / result.latency)}x vs cloud APIs\n` +
261
305
  `šŸ’° Cost: $0 (vs ~$0.01 for cloud API)\n\n` +
262
- `${result.success ? '✨ Edit applied successfully!' : 'āŒ Edit failed - check confidence score'}`
263
- }]
306
+ `${result.success ? '✨ Edit applied successfully!' : 'āŒ Edit failed - check confidence score'}`,
307
+ },
308
+ ],
264
309
  };
265
310
  }
266
311
  catch (error) {
267
312
  return {
268
- content: [{
313
+ content: [
314
+ {
269
315
  type: 'text',
270
- text: `āŒ Agent Booster edit failed: ${error.message}`
271
- }],
272
- isError: true
316
+ text: `āŒ Agent Booster edit failed: ${error.message}`,
317
+ },
318
+ ],
319
+ isError: true,
273
320
  };
274
321
  }
275
322
  }),
276
323
  // Agent Booster - Batch editing
277
324
  tool('agent_booster_batch_edit', 'Apply multiple code edits in parallel using Agent Booster. Perfect for multi-file refactoring.', {
278
- edits: z.array(z.object({
325
+ edits: z
326
+ .array(z.object({
279
327
  target_filepath: z.string(),
280
328
  instructions: z.string(),
281
329
  code_edit: z.string(),
282
- language: z.string().optional()
283
- })).describe('Array of edit operations to apply')
330
+ language: z.string().optional(),
331
+ }))
332
+ .describe('Array of edit operations to apply'),
284
333
  }, async ({ edits }) => {
285
334
  try {
286
- const BoosterClass = await getAgentBooster();
287
- if (!BoosterClass) {
288
- return {
289
- content: [{
290
- type: 'text',
291
- text: 'āŒ Agent Booster not available. Install with: npm install agent-booster'
292
- }],
293
- isError: true
294
- };
295
- }
296
- const booster = new BoosterClass({ confidenceThreshold: 0.5 });
335
+ const Ctor = await loadAgentBooster();
336
+ const booster = new Ctor({ confidenceThreshold: 0.5 });
297
337
  let successCount = 0;
298
338
  let totalLatency = 0;
299
339
  const results = [];
@@ -303,7 +343,10 @@ export const claudeFlowSdkServer = createSdkMcpServer({
303
343
  const result = await booster.apply({
304
344
  code: originalCode,
305
345
  edit: edit.code_edit,
306
- language: lang
346
+ language: lang,
347
+ target_filepath: edit.target_filepath,
348
+ instructions: edit.code_edit,
349
+ code_edit: edit.code_edit,
307
350
  });
308
351
  if (result.success) {
309
352
  writeFileSync(edit.target_filepath, result.output, 'utf8');
@@ -315,7 +358,8 @@ export const claudeFlowSdkServer = createSdkMcpServer({
315
358
  const avgLatency = totalLatency / edits.length;
316
359
  const avgSpeedup = Math.round(352 / avgLatency);
317
360
  return {
318
- content: [{
361
+ content: [
362
+ {
319
363
  type: 'text',
320
364
  text: `⚔ Agent Booster Batch Edit Results:\n\n` +
321
365
  `šŸ“Š Summary:\n` +
@@ -326,20 +370,23 @@ export const claudeFlowSdkServer = createSdkMcpServer({
326
370
  ` Avg latency: ${avgLatency.toFixed(1)}ms\n` +
327
371
  ` Avg speedup: ~${avgSpeedup}x vs cloud APIs\n` +
328
372
  ` Cost savings: ~$${(edits.length * 0.01).toFixed(2)}\n\n` +
329
- `šŸ“ Results:\n${results.join('\n')}`
330
- }]
373
+ `šŸ“ Results:\n${results.join('\n')}`,
374
+ },
375
+ ],
331
376
  };
332
377
  }
333
378
  catch (error) {
334
379
  return {
335
- content: [{
380
+ content: [
381
+ {
336
382
  type: 'text',
337
- text: `āŒ Batch edit failed: ${error.message}`
338
- }],
339
- isError: true
383
+ text: `āŒ Batch edit failed: ${error.message}`,
384
+ },
385
+ ],
386
+ isError: true,
340
387
  };
341
388
  }
342
- })
343
- ]
389
+ }),
390
+ ],
344
391
  });
345
392
  //# sourceMappingURL=claudeFlowSdkServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claudeFlowSdkServer.js","sourceRoot":"","sources":["../../src/mcp/claudeFlowSdkServer.ts"],"names":[],"mappings":"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","sourcesContent":["// In-SDK MCP server for claude-flow tools (no subprocess required)\nimport { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';\nimport { z } from 'zod';\nimport { execSync } from 'child_process';\nimport { readFileSync, writeFileSync } from 'fs';\nimport { extname } from 'path';\nimport { logger } from '../utils/logger.js';\n\n// Optional: AgentBooster for local code editing (lazy loaded to avoid crashes when not installed)\nlet AgentBooster: any = null;\nasync function getAgentBooster(): Promise<any> {\n if (AgentBooster) return AgentBooster;\n try {\n const mod = await import('agent-booster');\n AgentBooster = mod.AgentBooster;\n return AgentBooster;\n } catch {\n return null;\n }\n}\n\n/**\n * Create an in-SDK MCP server that provides claude-flow memory and coordination tools\n * This runs in-process without spawning Claude Code CLI subprocess\n */\nexport const claudeFlowSdkServer = createSdkMcpServer({\n name: 'claude-flow-sdk',\n version: '1.0.0',\n\n tools: [\n // Memory storage tool\n tool(\n 'memory_store',\n 'Store a value in persistent memory with optional namespace and TTL',\n {\n key: z.string().describe('Memory key'),\n value: z.string().describe('Value to store'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n ttl: z.number().optional().describe('Time-to-live in seconds')\n },\n async ({ key, value, namespace, ttl }) => {\n try {\n logger.info('Storing memory', { key, namespace });\n const cmd = `npx claude-flow@alpha memory store \"${key}\" \"${value}\" --namespace \"${namespace}\"${ttl ? ` --ttl ${ttl}` : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });\n\n logger.info('Memory stored successfully', { key });\n return {\n content: [{\n type: 'text',\n text: `āœ… Stored successfully\\nšŸ“ Key: ${key}\\nšŸ“¦ Namespace: ${namespace}\\nšŸ’¾ Size: ${value.length} bytes`\n }]\n };\n } catch (error: any) {\n logger.error('Failed to store memory', { error: error.message });\n return {\n content: [{\n type: 'text',\n text: `āŒ Failed to store: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory retrieval tool\n tool(\n 'memory_retrieve',\n 'Retrieve a value from persistent memory',\n {\n key: z.string().describe('Memory key'),\n namespace: z.string().optional().default('default').describe('Memory namespace')\n },\n async ({ key, namespace }) => {\n try {\n const cmd = `npx claude-flow@alpha memory retrieve \"${key}\" --namespace \"${namespace}\"`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `āœ… Retrieved:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Failed to retrieve: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory search tool\n tool(\n 'memory_search',\n 'Search for keys matching a pattern in memory',\n {\n pattern: z.string().describe('Search pattern (supports wildcards)'),\n namespace: z.string().optional().describe('Memory namespace to search in'),\n limit: z.number().optional().default(10).describe('Maximum results to return')\n },\n async ({ pattern, namespace, limit }) => {\n try {\n const cmd = `npx claude-flow@alpha memory search \"${pattern}\"${namespace ? ` --namespace \"${namespace}\"` : ''} --limit ${limit}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `šŸ” Search results:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Search failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm initialization tool\n tool(\n 'swarm_init',\n 'Initialize a multi-agent swarm with specified topology',\n {\n topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),\n maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),\n strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')\n },\n async ({ topology, maxAgents, strategy }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `šŸš€ Swarm initialized:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Swarm init failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent spawn tool\n tool(\n 'agent_spawn',\n 'Spawn a new agent in the swarm',\n {\n type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),\n capabilities: z.array(z.string()).optional().describe('Agent capabilities'),\n name: z.string().optional().describe('Custom agent name')\n },\n async ({ type, capabilities, name }) => {\n try {\n const capStr = capabilities ? ` --capabilities \"${capabilities.join(',')}\"` : '';\n const nameStr = name ? ` --name \"${name}\"` : '';\n const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `šŸ¤– Agent spawned:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Agent spawn failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Task orchestration tool\n tool(\n 'task_orchestrate',\n 'Orchestrate a complex task across the swarm',\n {\n task: z.string().describe('Task description or instructions'),\n strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),\n priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),\n maxAgents: z.number().optional().describe('Maximum agents to use for this task')\n },\n async ({ task, strategy, priority, maxAgents }) => {\n try {\n const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';\n const cmd = `npx claude-flow@alpha task orchestrate \"${task}\" --strategy ${strategy} --priority ${priority}${maxStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `⚔ Task orchestrated:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Task orchestration failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm status tool\n tool(\n 'swarm_status',\n 'Get current swarm status and metrics',\n {\n verbose: z.boolean().optional().default(false).describe('Include detailed metrics')\n },\n async ({ verbose }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `šŸ“Š Swarm status:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Status check failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Ultra-fast code editing\n tool(\n 'agent_booster_edit_file',\n 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\\'s local WASM engine.',\n {\n target_filepath: z.string().describe('Path of the file to modify'),\n instructions: z.string().describe('Description of what changes to make'),\n code_edit: z.string().describe('The new code or edit to apply'),\n language: z.string().optional().describe('Programming language (auto-detected if not provided)')\n },\n async ({ target_filepath, instructions, code_edit, language }) => {\n try {\n // Initialize Agent Booster (lazy load)\n const BoosterClass = await getAgentBooster();\n if (!BoosterClass) {\n return {\n content: [{\n type: 'text',\n text: 'āŒ Agent Booster not available. Install with: npm install agent-booster'\n }],\n isError: true\n };\n }\n const booster = new BoosterClass({ confidenceThreshold: 0.5 });\n\n // Read original file\n const originalCode = readFileSync(target_filepath, 'utf8');\n\n // Auto-detect language if not provided\n const lang = language || extname(target_filepath).slice(1);\n\n // Apply edit\n const result = await booster.apply({\n code: originalCode,\n edit: code_edit,\n language: lang\n });\n\n // Write if successful\n if (result.success) {\n writeFileSync(target_filepath, result.output, 'utf8');\n }\n\n return {\n content: [{\n type: 'text',\n text: `⚔ Agent Booster Edit Result:\\n` +\n `šŸ“ File: ${target_filepath}\\n` +\n `āœ… Success: ${result.success}\\n` +\n `ā±ļø Latency: ${result.latency}ms\\n` +\n `šŸŽÆ Confidence: ${(result.confidence * 100).toFixed(1)}%\\n` +\n `šŸ”§ Strategy: ${result.strategy}\\n` +\n `šŸ“Š Speedup: ~${Math.round(352 / result.latency)}x vs cloud APIs\\n` +\n `šŸ’° Cost: $0 (vs ~$0.01 for cloud API)\\n\\n` +\n `${result.success ? '✨ Edit applied successfully!' : 'āŒ Edit failed - check confidence score'}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Agent Booster edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Batch editing\n tool(\n 'agent_booster_batch_edit',\n 'Apply multiple code edits in parallel using Agent Booster. Perfect for multi-file refactoring.',\n {\n edits: z.array(z.object({\n target_filepath: z.string(),\n instructions: z.string(),\n code_edit: z.string(),\n language: z.string().optional()\n })).describe('Array of edit operations to apply')\n },\n async ({ edits }) => {\n try {\n const BoosterClass = await getAgentBooster();\n if (!BoosterClass) {\n return {\n content: [{\n type: 'text',\n text: 'āŒ Agent Booster not available. Install with: npm install agent-booster'\n }],\n isError: true\n };\n }\n const booster = new BoosterClass({ confidenceThreshold: 0.5 });\n let successCount = 0;\n let totalLatency = 0;\n const results: string[] = [];\n\n for (const edit of edits) {\n const originalCode = readFileSync(edit.target_filepath, 'utf8');\n const lang = edit.language || extname(edit.target_filepath).slice(1);\n\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language: lang\n });\n\n if (result.success) {\n writeFileSync(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n results.push(` ${result.success ? 'āœ…' : 'āŒ'} ${edit.target_filepath} (${result.latency}ms, ${(result.confidence * 100).toFixed(0)}%)`);\n }\n\n const avgLatency = totalLatency / edits.length;\n const avgSpeedup = Math.round(352 / avgLatency);\n\n return {\n content: [{\n type: 'text',\n text: `⚔ Agent Booster Batch Edit Results:\\n\\n` +\n `šŸ“Š Summary:\\n` +\n ` Total edits: ${edits.length}\\n` +\n ` Successful: ${successCount}\\n` +\n ` Failed: ${edits.length - successCount}\\n` +\n ` Total time: ${totalLatency.toFixed(1)}ms\\n` +\n ` Avg latency: ${avgLatency.toFixed(1)}ms\\n` +\n ` Avg speedup: ~${avgSpeedup}x vs cloud APIs\\n` +\n ` Cost savings: ~$${(edits.length * 0.01).toFixed(2)}\\n\\n` +\n `šŸ“ Results:\\n${results.join('\\n')}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `āŒ Batch edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n )\n ]\n});\n"]}
1
+ {"version":3,"file":"claudeFlowSdkServer.js","sourceRoot":"","sources":["../../src/mcp/claudeFlowSdkServer.ts"],"names":[],"mappings":"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","sourcesContent":["// In-SDK MCP server for claude-flow tools (no subprocess required)\nimport { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';\nimport { z } from 'zod';\nimport { execSync } from 'child_process';\nimport { readFileSync, writeFileSync } from 'fs';\nimport { extname } from 'path';\nimport { logger } from '../utils/logger.js';\n\n// agent-booster is an optional sibling package — load it lazily so a missing\n// dep does not break top-level imports of agentic-flow (issue #102).\ntype AgentBoosterCtor = new (opts: { confidenceThreshold?: number }) => {\n apply(input: any): Promise<{\n success: boolean;\n output: string;\n latency: number;\n confidence: number;\n strategy: string;\n }>;\n};\n\nlet _AgentBooster: AgentBoosterCtor | null = null;\nasync function loadAgentBooster(): Promise<AgentBoosterCtor> {\n if (_AgentBooster) return _AgentBooster;\n try {\n const mod: any = await import('agent-booster');\n const ctor: AgentBoosterCtor | undefined =\n mod.AgentBooster ?? mod.default?.AgentBooster ?? mod.default;\n if (!ctor) {\n throw new Error(\"'agent-booster' loaded but does not export AgentBooster\");\n }\n _AgentBooster = ctor;\n return ctor;\n } catch (err: any) {\n throw new Error(\n `Agent Booster is unavailable (optional package 'agent-booster' not installed). ` +\n `Install it with: npm install agent-booster. Underlying: ${err?.message || err}`\n );\n }\n}\n\n/**\n * Create an in-SDK MCP server that provides claude-flow memory and coordination tools\n * This runs in-process without spawning Claude Code CLI subprocess\n */\nexport const claudeFlowSdkServer = createSdkMcpServer({\n name: 'claude-flow-sdk',\n version: '1.0.0',\n\n tools: [\n // Memory storage tool\n tool(\n 'memory_store',\n 'Store a value in persistent memory with optional namespace and TTL',\n {\n key: z.string().describe('Memory key'),\n value: z.string().describe('Value to store'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n ttl: z.number().optional().describe('Time-to-live in seconds'),\n },\n async ({ key, value, namespace, ttl }) => {\n try {\n logger.info('Storing memory', { key, namespace });\n const cmd = `npx claude-flow@alpha memory store \"${key}\" \"${value}\" --namespace \"${namespace}\"${ttl ? ` --ttl ${ttl}` : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });\n\n logger.info('Memory stored successfully', { key });\n return {\n content: [\n {\n type: 'text',\n text: `āœ… Stored successfully\\nšŸ“ Key: ${key}\\nšŸ“¦ Namespace: ${namespace}\\nšŸ’¾ Size: ${value.length} bytes`,\n },\n ],\n };\n } catch (error: any) {\n logger.error('Failed to store memory', { error: error.message });\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Failed to store: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Memory retrieval tool\n tool(\n 'memory_retrieve',\n 'Retrieve a value from persistent memory',\n {\n key: z.string().describe('Memory key'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n },\n async ({ key, namespace }) => {\n try {\n const cmd = `npx claude-flow@alpha memory retrieve \"${key}\" --namespace \"${namespace}\"`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `āœ… Retrieved:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Failed to retrieve: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Memory search tool\n tool(\n 'memory_search',\n 'Search for keys matching a pattern in memory',\n {\n pattern: z.string().describe('Search pattern (supports wildcards)'),\n namespace: z.string().optional().describe('Memory namespace to search in'),\n limit: z.number().optional().default(10).describe('Maximum results to return'),\n },\n async ({ pattern, namespace, limit }) => {\n try {\n const cmd = `npx claude-flow@alpha memory search \"${pattern}\"${namespace ? ` --namespace \"${namespace}\"` : ''} --limit ${limit}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `šŸ” Search results:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Search failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Swarm initialization tool\n tool(\n 'swarm_init',\n 'Initialize a multi-agent swarm with specified topology',\n {\n topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),\n maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),\n strategy: z\n .enum(['balanced', 'specialized', 'adaptive'])\n .optional()\n .default('balanced')\n .describe('Agent distribution strategy'),\n },\n async ({ topology, maxAgents, strategy }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `šŸš€ Swarm initialized:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Swarm init failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Agent spawn tool\n tool(\n 'agent_spawn',\n 'Spawn a new agent in the swarm',\n {\n type: z\n .enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator'])\n .describe('Agent type'),\n capabilities: z.array(z.string()).optional().describe('Agent capabilities'),\n name: z.string().optional().describe('Custom agent name'),\n },\n async ({ type, capabilities, name }) => {\n try {\n const capStr = capabilities ? ` --capabilities \"${capabilities.join(',')}\"` : '';\n const nameStr = name ? ` --name \"${name}\"` : '';\n const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `šŸ¤– Agent spawned:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Agent spawn failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Task orchestration tool\n tool(\n 'task_orchestrate',\n 'Orchestrate a complex task across the swarm',\n {\n task: z.string().describe('Task description or instructions'),\n strategy: z\n .enum(['parallel', 'sequential', 'adaptive'])\n .optional()\n .default('adaptive')\n .describe('Execution strategy'),\n priority: z\n .enum(['low', 'medium', 'high', 'critical'])\n .optional()\n .default('medium')\n .describe('Task priority'),\n maxAgents: z.number().optional().describe('Maximum agents to use for this task'),\n },\n async ({ task, strategy, priority, maxAgents }) => {\n try {\n const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';\n const cmd = `npx claude-flow@alpha task orchestrate \"${task}\" --strategy ${strategy} --priority ${priority}${maxStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `⚔ Task orchestrated:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Task orchestration failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Swarm status tool\n tool(\n 'swarm_status',\n 'Get current swarm status and metrics',\n {\n verbose: z.boolean().optional().default(false).describe('Include detailed metrics'),\n },\n async ({ verbose }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [\n {\n type: 'text',\n text: `šŸ“Š Swarm status:\\n${result}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Status check failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Agent Booster - Ultra-fast code editing\n tool(\n 'agent_booster_edit_file',\n \"Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster's local WASM engine.\",\n {\n target_filepath: z.string().describe('Path of the file to modify'),\n instructions: z.string().describe('Description of what changes to make'),\n code_edit: z.string().describe('The new code or edit to apply'),\n language: z\n .string()\n .optional()\n .describe('Programming language (auto-detected if not provided)'),\n },\n async ({ target_filepath, instructions, code_edit, language }) => {\n try {\n // Initialize Agent Booster (lazy load to keep top-level import safe)\n const Ctor = await loadAgentBooster();\n const booster = new Ctor({ confidenceThreshold: 0.5 });\n\n // Read original file\n const originalCode = readFileSync(target_filepath, 'utf8');\n\n // Auto-detect language if not provided\n const lang = language || extname(target_filepath).slice(1);\n\n // Apply edit - use any cast for flexible signature\n const result = await booster.apply({\n code: originalCode,\n edit: code_edit,\n language: lang,\n target_filepath,\n instructions: code_edit,\n code_edit,\n } as any);\n\n // Write if successful\n if (result.success) {\n writeFileSync(target_filepath, result.output, 'utf8');\n }\n\n return {\n content: [\n {\n type: 'text',\n text:\n `⚔ Agent Booster Edit Result:\\n` +\n `šŸ“ File: ${target_filepath}\\n` +\n `āœ… Success: ${result.success}\\n` +\n `ā±ļø Latency: ${result.latency}ms\\n` +\n `šŸŽÆ Confidence: ${(result.confidence * 100).toFixed(1)}%\\n` +\n `šŸ”§ Strategy: ${result.strategy}\\n` +\n `šŸ“Š Speedup: ~${Math.round(352 / result.latency)}x vs cloud APIs\\n` +\n `šŸ’° Cost: $0 (vs ~$0.01 for cloud API)\\n\\n` +\n `${result.success ? '✨ Edit applied successfully!' : 'āŒ Edit failed - check confidence score'}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Agent Booster edit failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n\n // Agent Booster - Batch editing\n tool(\n 'agent_booster_batch_edit',\n 'Apply multiple code edits in parallel using Agent Booster. Perfect for multi-file refactoring.',\n {\n edits: z\n .array(\n z.object({\n target_filepath: z.string(),\n instructions: z.string(),\n code_edit: z.string(),\n language: z.string().optional(),\n })\n )\n .describe('Array of edit operations to apply'),\n },\n async ({ edits }) => {\n try {\n const Ctor = await loadAgentBooster();\n const booster = new Ctor({ confidenceThreshold: 0.5 });\n let successCount = 0;\n let totalLatency = 0;\n const results: string[] = [];\n\n for (const edit of edits) {\n const originalCode = readFileSync(edit.target_filepath, 'utf8');\n const lang = edit.language || extname(edit.target_filepath).slice(1);\n\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language: lang,\n target_filepath: edit.target_filepath,\n instructions: edit.code_edit,\n code_edit: edit.code_edit,\n } as any);\n\n if (result.success) {\n writeFileSync(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n results.push(\n ` ${result.success ? 'āœ…' : 'āŒ'} ${edit.target_filepath} (${result.latency}ms, ${(result.confidence * 100).toFixed(0)}%)`\n );\n }\n\n const avgLatency = totalLatency / edits.length;\n const avgSpeedup = Math.round(352 / avgLatency);\n\n return {\n content: [\n {\n type: 'text',\n text:\n `⚔ Agent Booster Batch Edit Results:\\n\\n` +\n `šŸ“Š Summary:\\n` +\n ` Total edits: ${edits.length}\\n` +\n ` Successful: ${successCount}\\n` +\n ` Failed: ${edits.length - successCount}\\n` +\n ` Total time: ${totalLatency.toFixed(1)}ms\\n` +\n ` Avg latency: ${avgLatency.toFixed(1)}ms\\n` +\n ` Avg speedup: ~${avgSpeedup}x vs cloud APIs\\n` +\n ` Cost savings: ~$${(edits.length * 0.01).toFixed(2)}\\n\\n` +\n `šŸ“ Results:\\n${results.join('\\n')}`,\n },\n ],\n };\n } catch (error: any) {\n return {\n content: [\n {\n type: 'text',\n text: `āŒ Batch edit failed: ${error.message}`,\n },\n ],\n isError: true,\n };\n }\n }\n ),\n ],\n});\n"]}