agentic-flow 1.10.0 → 1.10.2

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 (580) hide show
  1. package/CHANGELOG.md +25 -1338
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/agentdb/index.d.ts +26 -0
  4. package/dist/agentdb/index.d.ts.map +1 -0
  5. package/dist/agentdb/index.js +1 -0
  6. package/dist/agentdb/index.js.map +1 -0
  7. package/dist/agentdb/validate-frontier.cjs +416 -0
  8. package/dist/agentdb/validate-frontier.cjs.map +1 -0
  9. package/dist/agentdb/validate-frontier.d.cts +2 -0
  10. package/dist/agentdb/validate-frontier.d.cts.map +1 -0
  11. package/dist/agents/claudeAgent.d.ts +6 -0
  12. package/dist/agents/claudeAgent.d.ts.map +1 -0
  13. package/dist/agents/claudeAgent.js +22 -3
  14. package/dist/agents/claudeAgent.js.map +1 -0
  15. package/dist/agents/claudeAgentDirect.d.ts +6 -0
  16. package/dist/agents/claudeAgentDirect.d.ts.map +1 -0
  17. package/dist/agents/claudeAgentDirect.js +1 -0
  18. package/dist/agents/claudeAgentDirect.js.map +1 -0
  19. package/dist/agents/claudeFlowAgent.d.ts +32 -0
  20. package/dist/agents/claudeFlowAgent.d.ts.map +1 -0
  21. package/dist/agents/claudeFlowAgent.js +1 -0
  22. package/dist/agents/claudeFlowAgent.js.map +1 -0
  23. package/dist/agents/codeReviewAgent.d.ts +4 -0
  24. package/dist/agents/codeReviewAgent.d.ts.map +1 -0
  25. package/dist/agents/codeReviewAgent.js +1 -0
  26. package/dist/agents/codeReviewAgent.js.map +1 -0
  27. package/dist/agents/dataAgent.d.ts +4 -0
  28. package/dist/agents/dataAgent.d.ts.map +1 -0
  29. package/dist/agents/dataAgent.js +1 -0
  30. package/dist/agents/dataAgent.js.map +1 -0
  31. package/dist/agents/directApiAgent.d.ts +10 -0
  32. package/dist/agents/directApiAgent.d.ts.map +1 -0
  33. package/dist/agents/directApiAgent.js +1 -0
  34. package/dist/agents/directApiAgent.js.map +1 -0
  35. package/dist/agents/webResearchAgent.d.ts +4 -0
  36. package/dist/agents/webResearchAgent.d.ts.map +1 -0
  37. package/dist/agents/webResearchAgent.js +1 -0
  38. package/dist/agents/webResearchAgent.js.map +1 -0
  39. package/dist/cli/agent-manager.d.ts +57 -0
  40. package/dist/cli/agent-manager.d.ts.map +1 -0
  41. package/dist/cli/agent-manager.js +1 -0
  42. package/dist/cli/agent-manager.js.map +1 -0
  43. package/dist/cli/claude-code-wrapper.d.ts +21 -0
  44. package/dist/cli/claude-code-wrapper.d.ts.map +1 -0
  45. package/dist/cli/claude-code-wrapper.js +1 -0
  46. package/dist/cli/claude-code-wrapper.js.map +1 -0
  47. package/dist/cli/config-wizard.d.ts +21 -0
  48. package/dist/cli/config-wizard.d.ts.map +1 -0
  49. package/dist/cli/config-wizard.js +1 -0
  50. package/dist/cli/config-wizard.js.map +1 -0
  51. package/dist/cli/federation-cli.d.ts +1 -0
  52. package/dist/cli/federation-cli.d.ts.map +1 -0
  53. package/dist/cli/federation-cli.js +1 -0
  54. package/dist/cli/federation-cli.js.map +1 -0
  55. package/dist/cli/mcp-manager.d.ts +12 -0
  56. package/dist/cli/mcp-manager.d.ts.map +1 -0
  57. package/dist/cli/mcp-manager.js +1 -0
  58. package/dist/cli/mcp-manager.js.map +1 -0
  59. package/dist/cli/mcp.d.ts +11 -0
  60. package/dist/cli/mcp.d.ts.map +1 -0
  61. package/dist/cli/mcp.js +1 -0
  62. package/dist/cli/mcp.js.map +1 -0
  63. package/dist/cli-proxy.d.ts +7 -0
  64. package/dist/cli-proxy.d.ts.map +1 -0
  65. package/dist/cli-proxy.js +1 -0
  66. package/dist/cli-proxy.js.map +1 -0
  67. package/dist/cli-standalone-proxy.d.ts +17 -0
  68. package/dist/cli-standalone-proxy.d.ts.map +1 -0
  69. package/dist/cli-standalone-proxy.js +1 -0
  70. package/dist/cli-standalone-proxy.js.map +1 -0
  71. package/dist/config/claudeFlow.d.ts +33 -0
  72. package/dist/config/claudeFlow.d.ts.map +1 -0
  73. package/dist/config/claudeFlow.js +1 -0
  74. package/dist/config/claudeFlow.js.map +1 -0
  75. package/dist/config/quic.d.ts +58 -0
  76. package/dist/config/quic.d.ts.map +1 -0
  77. package/dist/config/quic.js +1 -0
  78. package/dist/config/quic.js.map +1 -0
  79. package/dist/config/tools.d.ts +17 -0
  80. package/dist/config/tools.d.ts.map +1 -0
  81. package/dist/config/tools.js +1 -0
  82. package/dist/config/tools.js.map +1 -0
  83. package/dist/core/long-running-agent.d.ts +92 -0
  84. package/dist/core/long-running-agent.d.ts.map +1 -0
  85. package/dist/core/long-running-agent.js +1 -0
  86. package/dist/core/long-running-agent.js.map +1 -0
  87. package/dist/core/provider-manager.d.ts +145 -0
  88. package/dist/core/provider-manager.d.ts.map +1 -0
  89. package/dist/core/provider-manager.js +1 -0
  90. package/dist/core/provider-manager.js.map +1 -0
  91. package/dist/examples/multi-agent-orchestration.d.ts +3 -0
  92. package/dist/examples/multi-agent-orchestration.d.ts.map +1 -0
  93. package/dist/examples/multi-agent-orchestration.js +1 -0
  94. package/dist/examples/multi-agent-orchestration.js.map +1 -0
  95. package/dist/examples/use-goal-planner.d.ts +3 -0
  96. package/dist/examples/use-goal-planner.d.ts.map +1 -0
  97. package/dist/examples/use-goal-planner.js +1 -0
  98. package/dist/examples/use-goal-planner.js.map +1 -0
  99. package/dist/examples/use-provider-fallback.d.ts +13 -0
  100. package/dist/examples/use-provider-fallback.d.ts.map +1 -0
  101. package/dist/examples/use-provider-fallback.js +1 -0
  102. package/dist/examples/use-provider-fallback.js.map +1 -0
  103. package/dist/federation/EphemeralAgent.d.ts +84 -0
  104. package/dist/federation/EphemeralAgent.d.ts.map +1 -0
  105. package/dist/federation/EphemeralAgent.js +1 -0
  106. package/dist/federation/EphemeralAgent.js.map +1 -0
  107. package/dist/federation/FederationHub.d.ts +89 -0
  108. package/dist/federation/FederationHub.d.ts.map +1 -0
  109. package/dist/federation/FederationHub.js +1 -0
  110. package/dist/federation/FederationHub.js.map +1 -0
  111. package/dist/federation/FederationHubClient.d.ts +70 -0
  112. package/dist/federation/FederationHubClient.d.ts.map +1 -0
  113. package/dist/federation/FederationHubClient.js +1 -0
  114. package/dist/federation/FederationHubClient.js.map +1 -0
  115. package/dist/federation/FederationHubServer.d.ts +100 -0
  116. package/dist/federation/FederationHubServer.d.ts.map +1 -0
  117. package/dist/federation/FederationHubServer.js +1 -0
  118. package/dist/federation/FederationHubServer.js.map +1 -0
  119. package/dist/federation/SecurityManager.d.ts +80 -0
  120. package/dist/federation/SecurityManager.d.ts.map +1 -0
  121. package/dist/federation/SecurityManager.js +1 -0
  122. package/dist/federation/SecurityManager.js.map +1 -0
  123. package/dist/federation/debug/agent-debug-stream.d.ts +171 -0
  124. package/dist/federation/debug/agent-debug-stream.d.ts.map +1 -0
  125. package/dist/federation/debug/agent-debug-stream.js +1 -0
  126. package/dist/federation/debug/agent-debug-stream.js.map +1 -0
  127. package/dist/federation/debug/debug-stream.d.ts +157 -0
  128. package/dist/federation/debug/debug-stream.d.ts.map +1 -0
  129. package/dist/federation/debug/debug-stream.js +1 -0
  130. package/dist/federation/debug/debug-stream.js.map +1 -0
  131. package/dist/federation/index.d.ts +13 -0
  132. package/dist/federation/index.d.ts.map +1 -0
  133. package/dist/federation/index.js +1 -0
  134. package/dist/federation/index.js.map +1 -0
  135. package/dist/federation/integrations/realtime-federation.d.ts +144 -0
  136. package/dist/federation/integrations/realtime-federation.d.ts.map +1 -0
  137. package/dist/federation/integrations/realtime-federation.js +1 -0
  138. package/dist/federation/integrations/realtime-federation.js.map +1 -0
  139. package/dist/federation/integrations/supabase-adapter-debug.d.ts +91 -0
  140. package/dist/federation/integrations/supabase-adapter-debug.d.ts.map +1 -0
  141. package/dist/federation/integrations/supabase-adapter-debug.js +1 -0
  142. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -0
  143. package/dist/federation/integrations/supabase-adapter.d.ts +89 -0
  144. package/dist/federation/integrations/supabase-adapter.d.ts.map +1 -0
  145. package/dist/federation/integrations/supabase-adapter.js +1 -0
  146. package/dist/federation/integrations/supabase-adapter.js.map +1 -0
  147. package/dist/health.d.ts +28 -0
  148. package/dist/health.d.ts.map +1 -0
  149. package/dist/health.js +1 -0
  150. package/dist/health.js.map +1 -0
  151. package/dist/hooks/parallel-validation.d.ts +51 -0
  152. package/dist/hooks/parallel-validation.d.ts.map +1 -0
  153. package/dist/hooks/parallel-validation.js +1 -0
  154. package/dist/hooks/parallel-validation.js.map +1 -0
  155. package/dist/hooks/swarm-learning-optimizer.d.ts +89 -0
  156. package/dist/hooks/swarm-learning-optimizer.d.ts.map +1 -0
  157. package/dist/hooks/swarm-learning-optimizer.js +1 -0
  158. package/dist/hooks/swarm-learning-optimizer.js.map +1 -0
  159. package/dist/index.d.ts +4 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +15 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/mcp/claudeFlowSdkServer.d.ts +6 -0
  164. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -0
  165. package/dist/mcp/claudeFlowSdkServer.js +1 -0
  166. package/dist/mcp/claudeFlowSdkServer.js.map +1 -0
  167. package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts +3 -0
  168. package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts.map +1 -0
  169. package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +1 -0
  170. package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -0
  171. package/dist/mcp/fastmcp/servers/http-sse.d.ts +3 -0
  172. package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -0
  173. package/dist/mcp/fastmcp/servers/http-sse.js +1 -0
  174. package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -0
  175. package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts +3 -0
  176. package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts.map +1 -0
  177. package/dist/mcp/fastmcp/servers/http-streaming-updated.js +1 -0
  178. package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -0
  179. package/dist/mcp/fastmcp/servers/poc-stdio.d.ts +3 -0
  180. package/dist/mcp/fastmcp/servers/poc-stdio.d.ts.map +1 -0
  181. package/dist/mcp/fastmcp/servers/poc-stdio.js +1 -0
  182. package/dist/mcp/fastmcp/servers/poc-stdio.js.map +1 -0
  183. package/dist/mcp/fastmcp/servers/stdio-full.d.ts +3 -0
  184. package/dist/mcp/fastmcp/servers/stdio-full.d.ts.map +1 -0
  185. package/dist/mcp/fastmcp/servers/stdio-full.js +1 -0
  186. package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -0
  187. package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts +3 -0
  188. package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts.map +1 -0
  189. package/dist/mcp/fastmcp/tools/agent/add-agent.js +1 -0
  190. package/dist/mcp/fastmcp/tools/agent/add-agent.js.map +1 -0
  191. package/dist/mcp/fastmcp/tools/agent/add-command.d.ts +3 -0
  192. package/dist/mcp/fastmcp/tools/agent/add-command.d.ts.map +1 -0
  193. package/dist/mcp/fastmcp/tools/agent/add-command.js +1 -0
  194. package/dist/mcp/fastmcp/tools/agent/add-command.js.map +1 -0
  195. package/dist/mcp/fastmcp/tools/agent/execute.d.ts +3 -0
  196. package/dist/mcp/fastmcp/tools/agent/execute.d.ts.map +1 -0
  197. package/dist/mcp/fastmcp/tools/agent/execute.js +1 -0
  198. package/dist/mcp/fastmcp/tools/agent/execute.js.map +1 -0
  199. package/dist/mcp/fastmcp/tools/agent/list.d.ts +3 -0
  200. package/dist/mcp/fastmcp/tools/agent/list.d.ts.map +1 -0
  201. package/dist/mcp/fastmcp/tools/agent/list.js +1 -0
  202. package/dist/mcp/fastmcp/tools/agent/list.js.map +1 -0
  203. package/dist/mcp/fastmcp/tools/agent/parallel.d.ts +3 -0
  204. package/dist/mcp/fastmcp/tools/agent/parallel.d.ts.map +1 -0
  205. package/dist/mcp/fastmcp/tools/agent/parallel.js +1 -0
  206. package/dist/mcp/fastmcp/tools/agent/parallel.js.map +1 -0
  207. package/dist/mcp/fastmcp/tools/swarm/init.d.ts +3 -0
  208. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -0
  209. package/dist/mcp/fastmcp/tools/swarm/init.js +1 -0
  210. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -0
  211. package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts +3 -0
  212. package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +1 -0
  213. package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +1 -0
  214. package/dist/mcp/fastmcp/tools/swarm/orchestrate.js.map +1 -0
  215. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts +3 -0
  216. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -0
  217. package/dist/mcp/fastmcp/tools/swarm/spawn.js +1 -0
  218. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -0
  219. package/dist/mcp/fastmcp/types/index.d.ts +33 -0
  220. package/dist/mcp/fastmcp/types/index.d.ts.map +1 -0
  221. package/dist/mcp/fastmcp/types/index.js +1 -0
  222. package/dist/mcp/fastmcp/types/index.js.map +1 -0
  223. package/dist/mcp/standalone-stdio.d.ts +3 -0
  224. package/dist/mcp/standalone-stdio.d.ts.map +1 -0
  225. package/dist/mcp/standalone-stdio.js +1 -0
  226. package/dist/mcp/standalone-stdio.js.map +1 -0
  227. package/dist/memory/SharedMemoryPool.d.ts +116 -0
  228. package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
  229. package/dist/memory/SharedMemoryPool.js +1 -0
  230. package/dist/memory/SharedMemoryPool.js.map +1 -0
  231. package/dist/memory/index.d.ts +8 -0
  232. package/dist/memory/index.d.ts.map +1 -0
  233. package/dist/memory/index.js +1 -0
  234. package/dist/memory/index.js.map +1 -0
  235. package/dist/proxy/adaptive-proxy.d.ts +51 -0
  236. package/dist/proxy/adaptive-proxy.d.ts.map +1 -0
  237. package/dist/proxy/adaptive-proxy.js +1 -0
  238. package/dist/proxy/adaptive-proxy.js.map +1 -0
  239. package/dist/proxy/anthropic-to-gemini.d.ts +20 -0
  240. package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -0
  241. package/dist/proxy/anthropic-to-gemini.js +1 -0
  242. package/dist/proxy/anthropic-to-gemini.js.map +1 -0
  243. package/dist/proxy/anthropic-to-onnx.d.ts +17 -0
  244. package/dist/proxy/anthropic-to-onnx.d.ts.map +1 -0
  245. package/dist/proxy/anthropic-to-onnx.js +1 -0
  246. package/dist/proxy/anthropic-to-onnx.js.map +1 -0
  247. package/dist/proxy/anthropic-to-openrouter.d.ts +28 -0
  248. package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -0
  249. package/dist/proxy/anthropic-to-openrouter.js +1 -0
  250. package/dist/proxy/anthropic-to-openrouter.js.map +1 -0
  251. package/dist/proxy/anthropic-to-requesty.d.ts +33 -0
  252. package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -0
  253. package/dist/proxy/anthropic-to-requesty.js +1 -0
  254. package/dist/proxy/anthropic-to-requesty.js.map +1 -0
  255. package/dist/proxy/http2-proxy-optimized.d.ts +63 -0
  256. package/dist/proxy/http2-proxy-optimized.d.ts.map +1 -0
  257. package/dist/proxy/http2-proxy-optimized.js +1 -0
  258. package/dist/proxy/http2-proxy-optimized.js.map +1 -0
  259. package/dist/proxy/http2-proxy.d.ts +43 -0
  260. package/dist/proxy/http2-proxy.d.ts.map +1 -0
  261. package/dist/proxy/http2-proxy.js +1 -0
  262. package/dist/proxy/http2-proxy.js.map +1 -0
  263. package/dist/proxy/http3-proxy.d.ts +18 -0
  264. package/dist/proxy/http3-proxy.d.ts.map +1 -0
  265. package/dist/proxy/http3-proxy.js +1 -0
  266. package/dist/proxy/http3-proxy.js.map +1 -0
  267. package/dist/proxy/provider-instructions.d.ts +37 -0
  268. package/dist/proxy/provider-instructions.d.ts.map +1 -0
  269. package/dist/proxy/provider-instructions.js +1 -0
  270. package/dist/proxy/provider-instructions.js.map +1 -0
  271. package/dist/proxy/quic-proxy.d.ts +58 -0
  272. package/dist/proxy/quic-proxy.d.ts.map +1 -0
  273. package/dist/proxy/quic-proxy.js +1 -0
  274. package/dist/proxy/quic-proxy.js.map +1 -0
  275. package/dist/proxy/tool-emulation.d.ts +121 -0
  276. package/dist/proxy/tool-emulation.d.ts.map +1 -0
  277. package/dist/proxy/tool-emulation.js +1 -0
  278. package/dist/proxy/tool-emulation.js.map +1 -0
  279. package/dist/proxy/websocket-proxy.d.ts +39 -0
  280. package/dist/proxy/websocket-proxy.d.ts.map +1 -0
  281. package/dist/proxy/websocket-proxy.js +1 -0
  282. package/dist/proxy/websocket-proxy.js.map +1 -0
  283. package/dist/reasoningbank/AdvancedMemory.d.ts +120 -0
  284. package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -0
  285. package/dist/reasoningbank/AdvancedMemory.js +1 -0
  286. package/dist/reasoningbank/AdvancedMemory.js.map +1 -0
  287. package/dist/reasoningbank/HybridBackend.d.ts +99 -0
  288. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -0
  289. package/dist/reasoningbank/HybridBackend.js +1 -0
  290. package/dist/reasoningbank/HybridBackend.js.map +1 -0
  291. package/dist/reasoningbank/backend-selector.d.ts +79 -0
  292. package/dist/reasoningbank/backend-selector.d.ts.map +1 -0
  293. package/dist/reasoningbank/backend-selector.js +1 -0
  294. package/dist/reasoningbank/backend-selector.js.map +1 -0
  295. package/dist/reasoningbank/benchmark.d.ts +14 -0
  296. package/dist/reasoningbank/benchmark.d.ts.map +1 -0
  297. package/dist/reasoningbank/benchmark.js +1 -0
  298. package/dist/reasoningbank/benchmark.js.map +1 -0
  299. package/dist/reasoningbank/config/reasoningbank-types.d.ts +57 -0
  300. package/dist/reasoningbank/config/reasoningbank-types.d.ts.map +1 -0
  301. package/dist/reasoningbank/config/reasoningbank-types.js +1 -0
  302. package/dist/reasoningbank/config/reasoningbank-types.js.map +1 -0
  303. package/dist/reasoningbank/core/consolidate.d.ts +21 -0
  304. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -0
  305. package/dist/reasoningbank/core/consolidate.js +1 -0
  306. package/dist/reasoningbank/core/consolidate.js.map +1 -0
  307. package/dist/reasoningbank/core/distill.d.ts +22 -0
  308. package/dist/reasoningbank/core/distill.d.ts.map +1 -0
  309. package/dist/reasoningbank/core/distill.js +1 -0
  310. package/dist/reasoningbank/core/distill.js.map +1 -0
  311. package/dist/reasoningbank/core/judge.d.ts +17 -0
  312. package/dist/reasoningbank/core/judge.d.ts.map +1 -0
  313. package/dist/reasoningbank/core/judge.js +1 -0
  314. package/dist/reasoningbank/core/judge.js.map +1 -0
  315. package/dist/reasoningbank/core/matts.d.ts +46 -0
  316. package/dist/reasoningbank/core/matts.d.ts.map +1 -0
  317. package/dist/reasoningbank/core/matts.js +1 -0
  318. package/dist/reasoningbank/core/matts.js.map +1 -0
  319. package/dist/reasoningbank/core/retrieve.d.ts +35 -0
  320. package/dist/reasoningbank/core/retrieve.d.ts.map +1 -0
  321. package/dist/reasoningbank/core/retrieve.js +1 -0
  322. package/dist/reasoningbank/core/retrieve.js.map +1 -0
  323. package/dist/reasoningbank/db/queries.d.ts +88 -0
  324. package/dist/reasoningbank/db/queries.d.ts.map +1 -0
  325. package/dist/reasoningbank/db/queries.js +1 -0
  326. package/dist/reasoningbank/db/queries.js.map +1 -0
  327. package/dist/reasoningbank/db/schema.d.ts +81 -0
  328. package/dist/reasoningbank/db/schema.d.ts.map +1 -0
  329. package/dist/reasoningbank/db/schema.js +1 -0
  330. package/dist/reasoningbank/db/schema.js.map +1 -0
  331. package/dist/reasoningbank/demo-comparison.d.ts +10 -0
  332. package/dist/reasoningbank/demo-comparison.d.ts.map +1 -0
  333. package/dist/reasoningbank/demo-comparison.js +1 -0
  334. package/dist/reasoningbank/demo-comparison.js.map +1 -0
  335. package/dist/reasoningbank/hooks/post-task.d.ts +9 -0
  336. package/dist/reasoningbank/hooks/post-task.d.ts.map +1 -0
  337. package/dist/reasoningbank/hooks/post-task.js +1 -0
  338. package/dist/reasoningbank/hooks/post-task.js.map +1 -0
  339. package/dist/reasoningbank/hooks/pre-task.d.ts +9 -0
  340. package/dist/reasoningbank/hooks/pre-task.d.ts.map +1 -0
  341. package/dist/reasoningbank/hooks/pre-task.js +1 -0
  342. package/dist/reasoningbank/hooks/pre-task.js.map +1 -0
  343. package/dist/reasoningbank/index-new.d.ts +49 -0
  344. package/dist/reasoningbank/index-new.d.ts.map +1 -0
  345. package/dist/reasoningbank/index-new.js +1 -0
  346. package/dist/reasoningbank/index-new.js.map +1 -0
  347. package/dist/reasoningbank/index.d.ts +50 -0
  348. package/dist/reasoningbank/index.d.ts.map +1 -0
  349. package/dist/reasoningbank/index.js +1 -0
  350. package/dist/reasoningbank/index.js.map +1 -0
  351. package/dist/reasoningbank/test-integration.d.ts +7 -0
  352. package/dist/reasoningbank/test-integration.d.ts.map +1 -0
  353. package/dist/reasoningbank/test-integration.js +1 -0
  354. package/dist/reasoningbank/test-integration.js.map +1 -0
  355. package/dist/reasoningbank/test-retrieval.d.ts +6 -0
  356. package/dist/reasoningbank/test-retrieval.d.ts.map +1 -0
  357. package/dist/reasoningbank/test-retrieval.js +1 -0
  358. package/dist/reasoningbank/test-retrieval.js.map +1 -0
  359. package/dist/reasoningbank/test-validation.d.ts +7 -0
  360. package/dist/reasoningbank/test-validation.d.ts.map +1 -0
  361. package/dist/reasoningbank/test-validation.js +1 -0
  362. package/dist/reasoningbank/test-validation.js.map +1 -0
  363. package/dist/reasoningbank/types/index.d.ts +123 -0
  364. package/dist/reasoningbank/types/index.d.ts.map +1 -0
  365. package/dist/reasoningbank/types/index.js +1 -0
  366. package/dist/reasoningbank/types/index.js.map +1 -0
  367. package/dist/reasoningbank/utils/config.d.ts +61 -0
  368. package/dist/reasoningbank/utils/config.d.ts.map +1 -0
  369. package/dist/reasoningbank/utils/config.js +1 -0
  370. package/dist/reasoningbank/utils/config.js.map +1 -0
  371. package/dist/reasoningbank/utils/embeddings.d.ts +21 -0
  372. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -0
  373. package/dist/reasoningbank/utils/embeddings.js +1 -0
  374. package/dist/reasoningbank/utils/embeddings.js.map +1 -0
  375. package/dist/reasoningbank/utils/mmr.d.ts +23 -0
  376. package/dist/reasoningbank/utils/mmr.d.ts.map +1 -0
  377. package/dist/reasoningbank/utils/mmr.js +1 -0
  378. package/dist/reasoningbank/utils/mmr.js.map +1 -0
  379. package/dist/reasoningbank/utils/pii-scrubber.d.ts +46 -0
  380. package/dist/reasoningbank/utils/pii-scrubber.d.ts.map +1 -0
  381. package/dist/reasoningbank/utils/pii-scrubber.js +1 -0
  382. package/dist/reasoningbank/utils/pii-scrubber.js.map +1 -0
  383. package/dist/reasoningbank/wasm-adapter.d.ts +104 -0
  384. package/dist/reasoningbank/wasm-adapter.d.ts.map +1 -0
  385. package/dist/reasoningbank/wasm-adapter.js +1 -0
  386. package/dist/reasoningbank/wasm-adapter.js.map +1 -0
  387. package/dist/router/model-mapping.d.ts +31 -0
  388. package/dist/router/model-mapping.d.ts.map +1 -0
  389. package/dist/router/model-mapping.js +1 -0
  390. package/dist/router/model-mapping.js.map +1 -0
  391. package/dist/router/providers/anthropic.d.ts +17 -0
  392. package/dist/router/providers/anthropic.d.ts.map +1 -0
  393. package/dist/router/providers/anthropic.js +1 -0
  394. package/dist/router/providers/anthropic.js.map +1 -0
  395. package/dist/router/providers/gemini.d.ts +17 -0
  396. package/dist/router/providers/gemini.d.ts.map +1 -0
  397. package/dist/router/providers/gemini.js +1 -0
  398. package/dist/router/providers/gemini.js.map +1 -0
  399. package/dist/router/providers/onnx-local-optimized.d.ts +71 -0
  400. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -0
  401. package/dist/router/providers/onnx-local-optimized.js +1 -0
  402. package/dist/router/providers/onnx-local-optimized.js.map +1 -0
  403. package/dist/router/providers/onnx-local.d.ts +75 -0
  404. package/dist/router/providers/onnx-local.d.ts.map +1 -0
  405. package/dist/router/providers/onnx-local.js +1 -0
  406. package/dist/router/providers/onnx-local.js.map +1 -0
  407. package/dist/router/providers/onnx-phi4.d.ts +64 -0
  408. package/dist/router/providers/onnx-phi4.d.ts.map +1 -0
  409. package/dist/router/providers/onnx-phi4.js +1 -0
  410. package/dist/router/providers/onnx-phi4.js.map +1 -0
  411. package/dist/router/providers/onnx.d.ts +65 -0
  412. package/dist/router/providers/onnx.d.ts.map +1 -0
  413. package/dist/router/providers/onnx.js +1 -0
  414. package/dist/router/providers/onnx.js.map +1 -0
  415. package/dist/router/providers/openrouter.d.ts +21 -0
  416. package/dist/router/providers/openrouter.d.ts.map +1 -0
  417. package/dist/router/providers/openrouter.js +1 -0
  418. package/dist/router/providers/openrouter.js.map +1 -0
  419. package/dist/router/router.d.ts +26 -0
  420. package/dist/router/router.d.ts.map +1 -0
  421. package/dist/router/router.js +1 -0
  422. package/dist/router/router.js.map +1 -0
  423. package/dist/router/test-integration.d.ts +13 -0
  424. package/dist/router/test-integration.d.ts.map +1 -0
  425. package/dist/router/test-integration.js +1 -0
  426. package/dist/router/test-integration.js.map +1 -0
  427. package/dist/router/test-onnx-benchmark.d.ts +7 -0
  428. package/dist/router/test-onnx-benchmark.d.ts.map +1 -0
  429. package/dist/router/test-onnx-benchmark.js +1 -0
  430. package/dist/router/test-onnx-benchmark.js.map +1 -0
  431. package/dist/router/test-onnx-integration.d.ts +8 -0
  432. package/dist/router/test-onnx-integration.d.ts.map +1 -0
  433. package/dist/router/test-onnx-integration.js +1 -0
  434. package/dist/router/test-onnx-integration.js.map +1 -0
  435. package/dist/router/test-onnx-local.d.ts +6 -0
  436. package/dist/router/test-onnx-local.d.ts.map +1 -0
  437. package/dist/router/test-onnx-local.js +1 -0
  438. package/dist/router/test-onnx-local.js.map +1 -0
  439. package/dist/router/test-onnx.d.ts +7 -0
  440. package/dist/router/test-onnx.d.ts.map +1 -0
  441. package/dist/router/test-onnx.js +1 -0
  442. package/dist/router/test-onnx.js.map +1 -0
  443. package/dist/router/test-openrouter.d.ts +3 -0
  444. package/dist/router/test-openrouter.d.ts.map +1 -0
  445. package/dist/router/test-openrouter.js +1 -0
  446. package/dist/router/test-openrouter.js.map +1 -0
  447. package/dist/router/test-phi4.d.ts +6 -0
  448. package/dist/router/test-phi4.d.ts.map +1 -0
  449. package/dist/router/test-phi4.js +1 -0
  450. package/dist/router/test-phi4.js.map +1 -0
  451. package/dist/router/types.d.ts +209 -0
  452. package/dist/router/types.d.ts.map +1 -0
  453. package/dist/router/types.js +1 -0
  454. package/dist/router/types.js.map +1 -0
  455. package/dist/swarm/index.d.ts +51 -0
  456. package/dist/swarm/index.d.ts.map +1 -0
  457. package/dist/swarm/index.js +1 -0
  458. package/dist/swarm/index.js.map +1 -0
  459. package/dist/swarm/quic-coordinator.d.ts +149 -0
  460. package/dist/swarm/quic-coordinator.d.ts.map +1 -0
  461. package/dist/swarm/quic-coordinator.js +1 -0
  462. package/dist/swarm/quic-coordinator.js.map +1 -0
  463. package/dist/swarm/transport-router.d.ts +124 -0
  464. package/dist/swarm/transport-router.d.ts.map +1 -0
  465. package/dist/swarm/transport-router.js +1 -0
  466. package/dist/swarm/transport-router.js.map +1 -0
  467. package/dist/transport/index.d.ts +2 -0
  468. package/dist/transport/index.d.ts.map +1 -0
  469. package/dist/transport/index.js +1 -0
  470. package/dist/transport/index.js.map +1 -0
  471. package/dist/transport/quic-handshake.d.ts +66 -0
  472. package/dist/transport/quic-handshake.d.ts.map +1 -0
  473. package/dist/transport/quic-handshake.js +1 -0
  474. package/dist/transport/quic-handshake.js.map +1 -0
  475. package/dist/transport/quic.d.ts +184 -0
  476. package/dist/transport/quic.d.ts.map +1 -0
  477. package/dist/transport/quic.js +1 -0
  478. package/dist/transport/quic.js.map +1 -0
  479. package/dist/utils/adaptive-pool-sizing.js +414 -0
  480. package/dist/utils/agentBoosterPreprocessor.d.ts +72 -0
  481. package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -0
  482. package/dist/utils/agentBoosterPreprocessor.js +1 -0
  483. package/dist/utils/agentBoosterPreprocessor.js.map +1 -0
  484. package/dist/utils/agentLoader.d.ts +22 -0
  485. package/dist/utils/agentLoader.d.ts.map +1 -0
  486. package/dist/utils/agentLoader.js +1 -0
  487. package/dist/utils/agentLoader.js.map +1 -0
  488. package/dist/utils/agentdb-runtime-patch.d.ts +28 -0
  489. package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -0
  490. package/dist/utils/agentdb-runtime-patch.js +1 -0
  491. package/dist/utils/agentdb-runtime-patch.js.map +1 -0
  492. package/dist/utils/auth.d.ts +13 -0
  493. package/dist/utils/auth.d.ts.map +1 -0
  494. package/dist/utils/auth.js +1 -0
  495. package/dist/utils/auth.js.map +1 -0
  496. package/dist/utils/circular-rate-limiter.js +391 -0
  497. package/dist/utils/cli.d.ts +31 -0
  498. package/dist/utils/cli.d.ts.map +1 -0
  499. package/dist/utils/cli.js +1 -0
  500. package/dist/utils/cli.js.map +1 -0
  501. package/dist/utils/compression-middleware.d.ts +55 -0
  502. package/dist/utils/compression-middleware.d.ts.map +1 -0
  503. package/dist/utils/compression-middleware.js +1 -0
  504. package/dist/utils/compression-middleware.js.map +1 -0
  505. package/dist/utils/connection-pool.d.ts +30 -0
  506. package/dist/utils/connection-pool.d.ts.map +1 -0
  507. package/dist/utils/connection-pool.js +1 -0
  508. package/dist/utils/connection-pool.js.map +1 -0
  509. package/dist/utils/dynamic-compression.js +298 -0
  510. package/dist/utils/http2-multiplexing.js +319 -0
  511. package/dist/utils/lazy-auth.js +311 -0
  512. package/dist/utils/logger.d.ts +19 -0
  513. package/dist/utils/logger.d.ts.map +1 -0
  514. package/dist/utils/logger.js +1 -0
  515. package/dist/utils/logger.js.map +1 -0
  516. package/dist/utils/math.d.ts +12 -0
  517. package/dist/utils/math.d.ts.map +1 -0
  518. package/dist/utils/math.js +1 -0
  519. package/dist/utils/math.js.map +1 -0
  520. package/dist/utils/mcpCommands.d.ts +2 -0
  521. package/dist/utils/mcpCommands.d.ts.map +1 -0
  522. package/dist/utils/mcpCommands.js +1 -0
  523. package/dist/utils/mcpCommands.js.map +1 -0
  524. package/dist/utils/model-downloader.d.ts +63 -0
  525. package/dist/utils/model-downloader.d.ts.map +1 -0
  526. package/dist/utils/model-downloader.js +1 -0
  527. package/dist/utils/model-downloader.js.map +1 -0
  528. package/dist/utils/modelCapabilities.d.ts +30 -0
  529. package/dist/utils/modelCapabilities.d.ts.map +1 -0
  530. package/dist/utils/modelCapabilities.js +1 -0
  531. package/dist/utils/modelCapabilities.js.map +1 -0
  532. package/dist/utils/modelOptimizer.d.ts +207 -0
  533. package/dist/utils/modelOptimizer.d.ts.map +1 -0
  534. package/dist/utils/modelOptimizer.js +1 -0
  535. package/dist/utils/modelOptimizer.js.map +1 -0
  536. package/dist/utils/rate-limiter.d.ts +17 -0
  537. package/dist/utils/rate-limiter.d.ts.map +1 -0
  538. package/dist/utils/rate-limiter.js +1 -0
  539. package/dist/utils/rate-limiter.js.map +1 -0
  540. package/dist/utils/reasoningbankCommands.d.ts +6 -0
  541. package/dist/utils/reasoningbankCommands.d.ts.map +1 -0
  542. package/dist/utils/reasoningbankCommands.js +1 -0
  543. package/dist/utils/reasoningbankCommands.js.map +1 -0
  544. package/dist/utils/response-cache.d.ts +94 -0
  545. package/dist/utils/response-cache.d.ts.map +1 -0
  546. package/dist/utils/response-cache.js +1 -0
  547. package/dist/utils/response-cache.js.map +1 -0
  548. package/dist/utils/retry.d.ts +9 -0
  549. package/dist/utils/retry.d.ts.map +1 -0
  550. package/dist/utils/retry.js +1 -0
  551. package/dist/utils/retry.js.map +1 -0
  552. package/dist/utils/server-push.js +251 -0
  553. package/dist/utils/streaming-optimizer.d.ts +37 -0
  554. package/dist/utils/streaming-optimizer.d.ts.map +1 -0
  555. package/dist/utils/streaming-optimizer.js +1 -0
  556. package/dist/utils/streaming-optimizer.js.map +1 -0
  557. package/dist/utils/zero-copy-buffer.js +286 -0
  558. package/docs/DOCKER-VERIFICATION.md +207 -0
  559. package/docs/ISSUE-55-VALIDATION.md +25 -6
  560. package/docs/NPX_AGENTDB_SETUP.md +175 -0
  561. package/docs/PUBLISH_GUIDE.md +438 -0
  562. package/docs/RELEASE-v1.10.0-COMPLETE.md +382 -0
  563. package/docs/archive/.agentdb-instructions.md +66 -0
  564. package/docs/archive/AGENT-BOOSTER-STATUS.md +292 -0
  565. package/docs/archive/CHANGELOG-v1.3.0.md +120 -0
  566. package/docs/archive/COMPLETION_REPORT_v1.7.1.md +335 -0
  567. package/docs/archive/IMPLEMENTATION_SUMMARY_v1.7.1.md +241 -0
  568. package/docs/archive/SUPABASE-INTEGRATION-COMPLETE.md +357 -0
  569. package/docs/archive/TESTING_QUICK_START.md +223 -0
  570. package/docs/archive/TOOL-EMULATION-INTEGRATION-ISSUE.md +669 -0
  571. package/docs/archive/VALIDATION_v1.7.1.md +234 -0
  572. package/docs/releases/PUBLISH_CHECKLIST_v1.10.0.md +396 -0
  573. package/docs/releases/PUBLISH_SUMMARY_v1.7.1.md +198 -0
  574. package/docs/releases/RELEASE_NOTES_v1.10.0.md +464 -0
  575. package/docs/releases/RELEASE_NOTES_v1.7.0.md +297 -0
  576. package/docs/releases/RELEASE_v1.7.1.md +327 -0
  577. package/package.json +1 -1
  578. package/validation/docker-npm-validation.sh +170 -0
  579. package/validation/simple-npm-validation.sh +131 -0
  580. package/validation/test-gemini-models.ts +200 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeAgentDirect.d.ts","sourceRoot":"","sources":["../../src/agents/claudeAgentDirect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAsE1D,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAClC,aAAa,CAAC,EAAE,MAAM;;;GAsHvB"}
@@ -168,3 +168,4 @@ export async function claudeAgentDirect(agent, input, onStream, modelOverride) {
168
168
  }
169
169
  });
170
170
  }
171
+ //# sourceMappingURL=claudeAgentDirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeAgentDirect.js","sourceRoot":"","sources":["../../src/agents/claudeAgentDirect.ts"],"names":[],"mappings":"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","sourcesContent":["// Direct API agent that uses Anthropic SDK without Claude Code dependency\nimport Anthropic from '@anthropic-ai/sdk';\nimport { logger } from \"../utils/logger.js\";\nimport { withRetry } from \"../utils/retry.js\";\nimport { AgentDefinition } from \"../utils/agentLoader.js\";\n\nfunction getCurrentProvider(): string {\n // Determine provider from environment\n if (process.env.PROVIDER === 'gemini' || process.env.USE_GEMINI === 'true') {\n return 'gemini';\n }\n if (process.env.PROVIDER === 'requesty' || process.env.USE_REQUESTY === 'true') {\n return 'requesty';\n }\n if (process.env.PROVIDER === 'openrouter' || process.env.USE_OPENROUTER === 'true') {\n return 'openrouter';\n }\n if (process.env.PROVIDER === 'onnx' || process.env.USE_ONNX === 'true') {\n return 'onnx';\n }\n return 'anthropic'; // Default\n}\n\nfunction getModelForProvider(provider: string): {\n model: string;\n apiKey: string;\n baseURL?: string;\n} {\n // Use DEFAULT_MODEL or COMPLETION_MODEL from environment (both supported for backward compatibility)\n const envModel = process.env.DEFAULT_MODEL || process.env.COMPLETION_MODEL;\n\n switch (provider) {\n case 'gemini':\n return {\n model: envModel || 'gemini-2.0-flash-exp',\n apiKey: process.env.GOOGLE_GEMINI_API_KEY || '',\n baseURL: process.env.GEMINI_PROXY_URL || 'http://localhost:3000'\n };\n\n case 'requesty':\n return {\n model: envModel || 'deepseek/deepseek-chat',\n apiKey: process.env.REQUESTY_API_KEY || '',\n baseURL: process.env.REQUESTY_PROXY_URL || 'http://localhost:3000'\n };\n\n case 'openrouter':\n return {\n model: envModel || 'deepseek/deepseek-chat',\n apiKey: process.env.OPENROUTER_API_KEY || '',\n baseURL: process.env.OPENROUTER_PROXY_URL || 'http://localhost:3000'\n };\n\n case 'onnx':\n return {\n model: 'onnx-local',\n apiKey: 'local',\n baseURL: process.env.ONNX_PROXY_URL || 'http://localhost:3001'\n };\n\n case 'anthropic':\n default:\n const apiKey = process.env.ANTHROPIC_API_KEY;\n if (!apiKey) {\n throw new Error('ANTHROPIC_API_KEY is required for Anthropic provider');\n }\n return {\n model: envModel || 'claude-sonnet-4-5-20250929',\n apiKey,\n // Direct Anthropic API - no baseURL needed\n };\n }\n}\n\nexport async function claudeAgentDirect(\n agent: AgentDefinition,\n input: string,\n onStream?: (chunk: string) => void,\n modelOverride?: string\n) {\n const startTime = Date.now();\n const provider = getCurrentProvider();\n\n logger.info('Starting Direct Anthropic SDK (no Claude Code dependency)', {\n agent: agent.name,\n provider,\n input: input.substring(0, 100),\n model: modelOverride || 'default'\n });\n\n return withRetry(async () => {\n const modelConfig = getModelForProvider(provider);\n const finalModel = modelOverride || modelConfig.model;\n\n // Create Anthropic client with provider-specific configuration\n const anthropic = new Anthropic({\n apiKey: modelConfig.apiKey,\n baseURL: modelConfig.baseURL, // undefined for direct Anthropic, proxy URL for others\n timeout: 120000,\n maxRetries: 3\n });\n\n logger.info('Direct API configuration', {\n provider,\n model: finalModel,\n hasApiKey: !!modelConfig.apiKey,\n hasBaseURL: !!modelConfig.baseURL\n });\n\n try {\n // Build messages array\n const messages: Array<{ role: 'user' | 'assistant'; content: string }> = [\n { role: 'user', content: input }\n ];\n\n // Call Anthropic API directly (no Claude Code subprocess)\n const stream = await anthropic.messages.create({\n model: finalModel,\n max_tokens: 4096,\n system: agent.systemPrompt,\n messages,\n stream: true\n });\n\n let output = '';\n let toolCallCount = 0;\n\n // Process streaming response\n for await (const event of stream) {\n if (event.type === 'content_block_start') {\n if (event.content_block.type === 'text') {\n // Text content start\n continue;\n } else if (event.content_block.type === 'tool_use') {\n // Tool use detected\n toolCallCount++;\n const toolName = event.content_block.name || 'unknown';\n const timestamp = new Date().toISOString().split('T')[1].split('.')[0];\n const progressMsg = `\\n[${timestamp}] šŸ” Tool call #${toolCallCount}: ${toolName}\\n`;\n process.stderr.write(progressMsg);\n\n if (onStream) {\n onStream(progressMsg);\n }\n }\n } else if (event.type === 'content_block_delta') {\n if (event.delta.type === 'text_delta') {\n const chunk = event.delta.text;\n output += chunk;\n\n if (onStream && chunk) {\n onStream(chunk);\n }\n }\n } else if (event.type === 'content_block_stop') {\n if (toolCallCount > 0) {\n const timestamp = new Date().toISOString().split('T')[1].split('.')[0];\n const resultMsg = `[${timestamp}] āœ… Tool completed\\n`;\n process.stderr.write(resultMsg);\n\n if (onStream) {\n onStream(resultMsg);\n }\n }\n } else if (event.type === 'message_stop') {\n // Stream complete\n break;\n }\n\n // Flush output for immediate visibility\n if (process.stderr.uncork) {\n process.stderr.uncork();\n }\n if (process.stdout.uncork) {\n process.stdout.uncork();\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Direct SDK completed', {\n agent: agent.name,\n provider,\n duration,\n outputLength: output.length\n });\n\n return { output, agent: agent.name };\n } catch (error: any) {\n logger.error('Direct SDK execution failed', {\n provider,\n model: finalModel,\n error: error.message\n });\n throw error;\n }\n });\n}\n"]}
@@ -0,0 +1,32 @@
1
+ export interface ClaudeFlowAgentOptions {
2
+ enableMemory?: boolean;
3
+ enableCoordination?: boolean;
4
+ memoryNamespace?: string;
5
+ swarmTopology?: 'hierarchical' | 'mesh' | 'ring' | 'star';
6
+ onStream?: (chunk: string) => void;
7
+ }
8
+ /**
9
+ * Execute agent with Claude Flow memory and coordination
10
+ */
11
+ export declare function claudeFlowAgent(agentName: string, systemPrompt: string, input: string, options?: ClaudeFlowAgentOptions): Promise<{
12
+ output: string;
13
+ }>;
14
+ /**
15
+ * Example: Memory-enabled research agent
16
+ */
17
+ export declare function memoryResearchAgent(topic: string, onStream?: (chunk: string) => void): Promise<{
18
+ output: string;
19
+ }>;
20
+ /**
21
+ * Example: Coordination-enabled orchestrator agent
22
+ */
23
+ export declare function orchestratorAgent(task: string, onStream?: (chunk: string) => void): Promise<{
24
+ output: string;
25
+ }>;
26
+ /**
27
+ * Example: Full-featured agent with memory and coordination
28
+ */
29
+ export declare function hybridAgent(task: string, agentName?: string, systemPrompt?: string, onStream?: (chunk: string) => void): Promise<{
30
+ output: string;
31
+ }>;
32
+ //# sourceMappingURL=claudeFlowAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeFlowAgent.d.ts","sourceRoot":"","sources":["../../src/agents/claudeFlowAgent.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B;;GAkFrC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAc1F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAevF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAiB,EAC5B,YAAY,GAAE,MAA+E,EAC7F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAanC"}
@@ -113,3 +113,4 @@ export async function hybridAgent(task, agentName = 'hybrid', systemPrompt = 'Yo
113
113
  onStream
114
114
  });
115
115
  }
116
+ //# sourceMappingURL=claudeFlowAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeFlowAgent.js","sourceRoot":"","sources":["../../src/agents/claudeFlowAgent.ts"],"names":[],"mappings":"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","sourcesContent":["// Agent with Claude Flow memory and coordination capabilities\nimport { query } from '@anthropic-ai/claude-agent-sdk';\nimport { logger } from '../utils/logger.js';\nimport { withRetry } from '../utils/retry.js';\nimport { toolConfig } from '../config/tools.js';\nimport { getMemoryConfig, getSwarmConfig } from '../config/claudeFlow.js';\n\nexport interface ClaudeFlowAgentOptions {\n enableMemory?: boolean;\n enableCoordination?: boolean;\n memoryNamespace?: string;\n swarmTopology?: 'hierarchical' | 'mesh' | 'ring' | 'star';\n onStream?: (chunk: string) => void;\n}\n\n/**\n * Execute agent with Claude Flow memory and coordination\n */\nexport async function claudeFlowAgent(\n agentName: string,\n systemPrompt: string,\n input: string,\n options: ClaudeFlowAgentOptions = {}\n) {\n const {\n enableMemory = true,\n enableCoordination = false,\n memoryNamespace,\n swarmTopology = 'mesh',\n onStream\n } = options;\n\n const startTime = Date.now();\n logger.info('Starting Claude Flow agent', {\n agentName,\n input: input.substring(0, 100),\n enableMemory,\n enableCoordination\n });\n\n // Prepare memory context if enabled\n let memoryContext = '';\n if (enableMemory) {\n const memoryConfig = getMemoryConfig(memoryNamespace || agentName);\n memoryContext = `\n\nYou have access to persistent memory via claude-flow tools:\n- Store: mcp__claude-flow__memory_usage with action=\"store\", namespace=\"${memoryConfig.namespace}\"\n- Retrieve: mcp__claude-flow__memory_usage with action=\"retrieve\", namespace=\"${memoryConfig.namespace}\"\n- Search: mcp__claude-flow__memory_search with pattern=\"search query\"\n\nUse memory to persist important information across conversations.`;\n }\n\n // Prepare coordination context if enabled\n let coordinationContext = '';\n if (enableCoordination) {\n const swarmConfig = getSwarmConfig(swarmTopology);\n coordinationContext = `\n\nYou have access to swarm coordination via claude-flow tools:\n- Init swarm: mcp__claude-flow__swarm_init with topology=\"${swarmConfig.topology}\"\n- Spawn agent: mcp__claude-flow__agent_spawn with type=\"researcher|coder|analyst\"\n- Orchestrate: mcp__claude-flow__task_orchestrate with task=\"description\"\n- Check status: mcp__claude-flow__swarm_status\n\nUse coordination for complex multi-agent tasks.`;\n }\n\n const enhancedSystemPrompt = `${systemPrompt}${memoryContext}${coordinationContext}`;\n\n return withRetry(async () => {\n const result = query({\n prompt: input,\n options: {\n systemPrompt: enhancedSystemPrompt,\n ...toolConfig\n }\n });\n\n let output = '';\n for await (const msg of result) {\n if (msg.type === 'assistant') {\n const chunk = msg.message.content\n ?.map((c: any) => (c.type === 'text' ? c.text : ''))\n .join('') || '';\n output += chunk;\n if (onStream && chunk) {\n onStream(chunk);\n }\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Claude Flow agent completed', {\n agentName,\n duration,\n outputLength: output.length,\n memoryUsed: enableMemory,\n coordinationUsed: enableCoordination\n });\n\n return { output };\n });\n}\n\n/**\n * Example: Memory-enabled research agent\n */\nexport async function memoryResearchAgent(topic: string, onStream?: (chunk: string) => void) {\n return claudeFlowAgent(\n 'memory-researcher',\n `You are a research agent with persistent memory.\n\nResearch the given topic thoroughly and store key findings in memory for future reference.\nUse memory_usage tool to store important facts, insights, and references.`,\n `Research topic: ${topic}`,\n {\n enableMemory: true,\n enableCoordination: false,\n onStream\n }\n );\n}\n\n/**\n * Example: Coordination-enabled orchestrator agent\n */\nexport async function orchestratorAgent(task: string, onStream?: (chunk: string) => void) {\n return claudeFlowAgent(\n 'orchestrator',\n `You are an orchestration agent that coordinates multiple specialized agents.\n\nBreak down complex tasks and delegate to specialized agents using swarm coordination.\nUse swarm_init, agent_spawn, and task_orchestrate tools to manage the workflow.`,\n `Orchestrate task: ${task}`,\n {\n enableMemory: true,\n enableCoordination: true,\n swarmTopology: 'hierarchical',\n onStream\n }\n );\n}\n\n/**\n * Example: Full-featured agent with memory and coordination\n */\nexport async function hybridAgent(\n task: string,\n agentName: string = 'hybrid',\n systemPrompt: string = 'You are a versatile agent with memory and coordination capabilities.',\n onStream?: (chunk: string) => void\n) {\n return claudeFlowAgent(\n agentName,\n systemPrompt,\n task,\n {\n enableMemory: true,\n enableCoordination: true,\n swarmTopology: 'mesh',\n onStream\n }\n );\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function codeReviewAgent(input: string, onStream?: (chunk: string) => void): Promise<{
2
+ output: string;
3
+ }>;
4
+ //# sourceMappingURL=codeReviewAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeReviewAgent.d.ts","sourceRoot":"","sources":["../../src/agents/codeReviewAgent.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAiCtF"}
@@ -32,3 +32,4 @@ export async function codeReviewAgent(input, onStream) {
32
32
  return { output };
33
33
  });
34
34
  }
35
+ //# sourceMappingURL=codeReviewAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeReviewAgent.js","sourceRoot":"","sources":["../../src/agents/codeReviewAgent.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,QAAkC;IACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAE9E,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,YAAY,EAAE,qEAAqE;gBACnF,GAAG,UAAU;aACd;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC;gBAEhB,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;oBACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACzC,QAAQ;YACR,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["// src/agents/codeReviewAgent.ts\nimport { query } from \"@anthropic-ai/claude-agent-sdk\";\nimport { logger } from \"../utils/logger.js\";\nimport { withRetry } from \"../utils/retry.js\";\nimport { toolConfig } from \"../config/tools.js\";\n\nexport async function codeReviewAgent(input: string, onStream?: (chunk: string) => void) {\n const startTime = Date.now();\n logger.info('Starting code review agent', { input: input.substring(0, 100) });\n\n return withRetry(async () => {\n const result = query({\n prompt: input,\n options: {\n systemPrompt: `You review diffs and point out risks, complexity, and tests to add.`,\n ...toolConfig\n }\n });\n\n let output = '';\n for await (const msg of result) {\n if (msg.type === 'assistant') {\n const chunk = msg.message.content?.map((c: any) => c.type === 'text' ? c.text : '').join('') || '';\n output += chunk;\n\n if (onStream && chunk) {\n onStream(chunk);\n }\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Code review agent completed', {\n duration,\n outputLength: output.length\n });\n\n return { output };\n });\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function dataAgent(input: string, onStream?: (chunk: string) => void): Promise<{
2
+ output: string;
3
+ }>;
4
+ //# sourceMappingURL=dataAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataAgent.d.ts","sourceRoot":"","sources":["../../src/agents/dataAgent.ts"],"names":[],"mappings":"AAMA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAiChF"}
@@ -32,3 +32,4 @@ export async function dataAgent(input, onStream) {
32
32
  return { output };
33
33
  });
34
34
  }
35
+ //# sourceMappingURL=dataAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataAgent.js","sourceRoot":"","sources":["../../src/agents/dataAgent.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,QAAkC;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAEvE,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,YAAY,EAAE,iFAAiF;gBAC/F,GAAG,UAAU;aACd;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC;gBAEhB,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;oBACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,QAAQ;YACR,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["// src/agents/dataAgent.ts\nimport { query } from \"@anthropic-ai/claude-agent-sdk\";\nimport { logger } from \"../utils/logger.js\";\nimport { withRetry } from \"../utils/retry.js\";\nimport { toolConfig } from \"../config/tools.js\";\n\nexport async function dataAgent(input: string, onStream?: (chunk: string) => void) {\n const startTime = Date.now();\n logger.info('Starting data agent', { input: input.substring(0, 100) });\n\n return withRetry(async () => {\n const result = query({\n prompt: input,\n options: {\n systemPrompt: `You analyze tabular data and produce a short brief with 3 key stats and 1 risk.`,\n ...toolConfig\n }\n });\n\n let output = '';\n for await (const msg of result) {\n if (msg.type === 'assistant') {\n const chunk = msg.message.content?.map((c: any) => c.type === 'text' ? c.text : '').join('') || '';\n output += chunk;\n\n if (onStream && chunk) {\n onStream(chunk);\n }\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Data agent completed', {\n duration,\n outputLength: output.length\n });\n\n return { output };\n });\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { AgentDefinition } from '../utils/agentLoader.js';
2
+ /**
3
+ * Direct API agent using Anthropic SDK with native tool calling
4
+ * Bypasses Claude Agent SDK subprocess issues entirely
5
+ */
6
+ export declare function directApiAgent(agent: AgentDefinition, input: string, onStream?: (chunk: string) => void): Promise<{
7
+ output: string;
8
+ agent: string;
9
+ }>;
10
+ //# sourceMappingURL=directApiAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directApiAgent.d.ts","sourceRoot":"","sources":["../../src/agents/directApiAgent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAwN1D;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmM5C"}
@@ -380,3 +380,4 @@ export async function directApiAgent(agent, input, onStream) {
380
380
  return { output: finalOutput, agent: agent.name };
381
381
  });
382
382
  }
383
+ //# sourceMappingURL=directApiAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directApiAgent.js","sourceRoot":"","sources":["../../src/agents/directApiAgent.ts"],"names":[],"mappings":"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","sourcesContent":["// Direct API agent with multi-provider support (Anthropic, OpenRouter, Gemini)\nimport Anthropic from '@anthropic-ai/sdk';\nimport { logger } from '../utils/logger.js';\nimport { withRetry } from '../utils/retry.js';\nimport { AgentDefinition } from '../utils/agentLoader.js';\nimport { execSync } from 'child_process';\nimport { ModelRouter } from '../router/router.js';\nimport { ChatParams, ContentBlock, Message } from '../router/types.js';\n\n// Lazy initialize clients\nlet anthropic: Anthropic | null = null;\nlet router: ModelRouter | null = null;\n\nfunction getAnthropicClient(): Anthropic {\n if (!anthropic) {\n const apiKey = process.env.ANTHROPIC_API_KEY;\n\n // Validate API key format\n if (!apiKey) {\n throw new Error('ANTHROPIC_API_KEY is required but not set');\n }\n\n if (!apiKey.startsWith('sk-ant-')) {\n throw new Error(\n `Invalid ANTHROPIC_API_KEY format. Expected format: sk-ant-...\\n` +\n `Got: ${apiKey.substring(0, 10)}...\\n\\n` +\n `Please check your API key at: https://console.anthropic.com/settings/keys`\n );\n }\n\n anthropic = new Anthropic({ apiKey });\n }\n\n return anthropic;\n}\n\nfunction getRouter(): ModelRouter {\n if (!router) {\n // Router will now auto-create config from environment variables if no file exists\n router = new ModelRouter();\n }\n return router;\n}\n\nfunction getCurrentProvider(): string {\n // Determine provider from environment\n if (process.env.PROVIDER === 'gemini' || process.env.USE_GEMINI === 'true') {\n return 'gemini';\n }\n if (process.env.PROVIDER === 'openrouter' || process.env.USE_OPENROUTER === 'true') {\n return 'openrouter';\n }\n if (process.env.PROVIDER === 'onnx' || process.env.USE_ONNX === 'true') {\n return 'onnx';\n }\n return 'anthropic';\n}\n\n// Define claude-flow tools as native Anthropic tool definitions\nconst claudeFlowTools: Anthropic.Tool[] = [\n {\n name: 'memory_store',\n description: 'Store a value in persistent memory with optional namespace and TTL',\n input_schema: {\n type: 'object',\n properties: {\n key: { type: 'string', description: 'Memory key' },\n value: { type: 'string', description: 'Value to store' },\n namespace: { type: 'string', description: 'Memory namespace', default: 'default' },\n ttl: { type: 'number', description: 'Time-to-live in seconds' }\n },\n required: ['key', 'value']\n }\n },\n {\n name: 'memory_retrieve',\n description: 'Retrieve a value from persistent memory',\n input_schema: {\n type: 'object',\n properties: {\n key: { type: 'string', description: 'Memory key' },\n namespace: { type: 'string', description: 'Memory namespace', default: 'default' }\n },\n required: ['key']\n }\n },\n {\n name: 'memory_search',\n description: 'Search for keys matching a pattern in memory',\n input_schema: {\n type: 'object',\n properties: {\n pattern: { type: 'string', description: 'Search pattern (supports wildcards)' },\n namespace: { type: 'string', description: 'Memory namespace to search in' },\n limit: { type: 'number', description: 'Maximum results to return', default: 10 }\n },\n required: ['pattern']\n }\n },\n {\n name: 'swarm_init',\n description: 'Initialize a multi-agent swarm with specified topology',\n input_schema: {\n type: 'object',\n properties: {\n topology: { type: 'string', enum: ['mesh', 'hierarchical', 'ring', 'star'], description: 'Swarm topology' },\n maxAgents: { type: 'number', description: 'Maximum number of agents', default: 8 },\n strategy: { type: 'string', enum: ['balanced', 'specialized', 'adaptive'], description: 'Agent distribution strategy', default: 'balanced' }\n },\n required: ['topology']\n }\n },\n {\n name: 'agent_spawn',\n description: 'Spawn a new agent in the swarm',\n input_schema: {\n type: 'object',\n properties: {\n type: { type: 'string', enum: ['researcher', 'coder', 'analyst', 'optimizer', 'coordinator'], description: 'Agent type' },\n capabilities: { type: 'array', items: { type: 'string' }, description: 'Agent capabilities' },\n name: { type: 'string', description: 'Custom agent name' }\n },\n required: ['type']\n }\n },\n {\n name: 'task_orchestrate',\n description: 'Orchestrate a complex task across the swarm',\n input_schema: {\n type: 'object',\n properties: {\n task: { type: 'string', description: 'Task description or instructions' },\n strategy: { type: 'string', enum: ['parallel', 'sequential', 'adaptive'], description: 'Execution strategy', default: 'adaptive' },\n priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'], description: 'Task priority', default: 'medium' },\n maxAgents: { type: 'number', description: 'Maximum agents to use for this task' }\n },\n required: ['task']\n }\n },\n {\n name: 'swarm_status',\n description: 'Get current swarm status and metrics',\n input_schema: {\n type: 'object',\n properties: {\n verbose: { type: 'boolean', description: 'Include detailed metrics', default: false }\n }\n }\n }\n];\n\n// Execute tool calls using claude-flow CLI\nasync function executeToolCall(toolName: string, toolInput: any): Promise<string> {\n try {\n logger.info('Executing tool', { toolName, input: toolInput });\n\n switch (toolName) {\n case 'memory_store': {\n const { key, value, namespace = 'default', ttl } = toolInput;\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 logger.info('Memory stored', { key, namespace });\n return `āœ… Stored successfully\\nšŸ“ Key: ${key}\\nšŸ“¦ Namespace: ${namespace}\\nšŸ’¾ Size: ${value.length} bytes`;\n }\n\n case 'memory_retrieve': {\n const { key, namespace = 'default' } = toolInput;\n const cmd = `npx claude-flow@alpha memory retrieve \"${key}\" --namespace \"${namespace}\"`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n logger.info('Memory retrieved', { key });\n return `āœ… Retrieved:\\n${result}`;\n }\n\n case 'memory_search': {\n const { pattern, namespace, limit = 10 } = toolInput;\n const cmd = `npx claude-flow@alpha memory search \"${pattern}\"${namespace ? ` --namespace \"${namespace}\"` : ''} --limit ${limit}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n return `šŸ” Search results:\\n${result}`;\n }\n\n case 'swarm_init': {\n const { topology, maxAgents = 8, strategy = 'balanced' } = toolInput;\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 return `šŸš€ Swarm initialized:\\n${result}`;\n }\n\n case 'agent_spawn': {\n const { type, capabilities, name } = toolInput;\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 return `šŸ¤– Agent spawned:\\n${result}`;\n }\n\n case 'task_orchestrate': {\n const { task, strategy = 'adaptive', priority = 'medium', maxAgents } = toolInput;\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 return `⚔ Task orchestrated:\\n${result}`;\n }\n\n case 'swarm_status': {\n const { verbose = false } = toolInput;\n const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n return `šŸ“Š Swarm status:\\n${result}`;\n }\n\n default:\n throw new Error(`Unknown tool: ${toolName}`);\n }\n } catch (error: any) {\n logger.error('Tool execution failed', { toolName, error: error.message });\n return `āŒ Tool execution failed: ${error.message}`;\n }\n}\n\n/**\n * Direct API agent using Anthropic SDK with native tool calling\n * Bypasses Claude Agent SDK subprocess issues entirely\n */\nexport async function directApiAgent(\n agent: AgentDefinition,\n input: string,\n onStream?: (chunk: string) => void\n): Promise<{ output: string; agent: string }> {\n const startTime = Date.now();\n logger.info('Starting direct API agent', {\n agent: agent.name,\n input: input.substring(0, 100)\n });\n\n return withRetry(async () => {\n const messages: Anthropic.MessageParam[] = [\n { role: 'user', content: input }\n ];\n\n let finalOutput = '';\n let toolUseCount = 0;\n const maxToolUses = 10; // Prevent infinite loops\n\n // Agentic loop: keep calling API until no more tool uses\n while (toolUseCount < maxToolUses) {\n logger.debug('API call iteration', { toolUseCount, messagesLength: messages.length });\n\n const provider = getCurrentProvider();\n let response;\n\n try {\n // Use router for non-Anthropic providers\n if (provider === 'gemini' || provider === 'openrouter') {\n const routerInstance = getRouter();\n\n // Convert Anthropic messages format to router format\n const routerMessages: Message[] = messages.map(msg => ({\n role: msg.role,\n content: typeof msg.content === 'string' ? msg.content : msg.content.map((block: any) => {\n if ('text' in block) return { type: 'text' as const, text: block.text };\n if ('tool_use_id' in block) return {\n type: 'tool_result' as const,\n content: block.content\n };\n if ('name' in block && 'input' in block) return {\n type: 'tool_use' as const,\n id: block.id,\n name: block.name,\n input: block.input\n };\n return { type: 'text' as const, text: '' };\n }).filter((b: ContentBlock) => b.type === 'text' || b.type === 'tool_use' || b.type === 'tool_result')\n }));\n\n // Add system prompt as first message if needed\n const messagesWithSystem = agent.systemPrompt\n ? [{ role: 'system' as const, content: agent.systemPrompt }, ...routerMessages]\n : routerMessages;\n\n const params: ChatParams = {\n model: provider === 'gemini'\n ? (process.env.COMPLETION_MODEL || 'gemini-2.0-flash-exp')\n : (process.env.COMPLETION_MODEL || 'deepseek/deepseek-chat'),\n messages: messagesWithSystem,\n maxTokens: 8192,\n temperature: 0.7\n };\n\n const routerResponse = await routerInstance.chat(params);\n\n // Convert router response to Anthropic format\n response = {\n id: routerResponse.id,\n model: routerResponse.model,\n stop_reason: routerResponse.stopReason,\n content: routerResponse.content.map(block => {\n if (block.type === 'text') return { type: 'text' as const, text: block.text || '' };\n if (block.type === 'tool_use') return {\n type: 'tool_use' as const,\n id: block.id || '',\n name: block.name || '',\n input: block.input || {}\n };\n return { type: 'text' as const, text: '' };\n }) as any\n };\n } else {\n // Use Anthropic client for Anthropic provider\n const client = getAnthropicClient();\n response = await client.messages.create({\n model: process.env.COMPLETION_MODEL || 'claude-sonnet-4-5-20250929',\n max_tokens: 8192,\n system: agent.systemPrompt || 'You are a helpful AI assistant.',\n messages,\n tools: claudeFlowTools\n });\n }\n } catch (error: any) {\n // Enhance authentication errors with helpful guidance\n if (error?.status === 401 || error?.statusCode === 401) {\n const providerName = provider === 'gemini' ? 'Google Gemini' : provider === 'openrouter' ? 'OpenRouter' : 'Anthropic';\n const apiKey = provider === 'gemini'\n ? process.env.GOOGLE_GEMINI_API_KEY\n : provider === 'openrouter'\n ? process.env.OPENROUTER_API_KEY\n : process.env.ANTHROPIC_API_KEY;\n\n throw new Error(\n `āŒ ${providerName} API authentication failed (401)\\n\\n` +\n `Your API key is invalid, expired, or lacks permissions.\\n` +\n `Current key: ${apiKey?.substring(0, 15)}...\\n\\n` +\n `Please check your ${providerName} API key and update your .env file.\\n\\n` +\n `Alternative providers:\\n` +\n ` --provider anthropic (Claude models)\\n` +\n ` --provider openrouter (100+ models, 99% cost savings)\\n` +\n ` --provider gemini (Google models)\\n` +\n ` --provider onnx (free local inference)`\n );\n }\n throw error;\n }\n\n logger.debug('API response', {\n stopReason: response.stop_reason,\n contentBlocks: response.content.length\n });\n\n // Process response content\n const toolResults: any[] = [];\n for (const block of response.content) {\n if (block.type === 'text') {\n finalOutput += block.text;\n if (onStream) {\n onStream(block.text);\n }\n } else if (block.type === 'tool_use') {\n toolUseCount++;\n logger.info('Tool use requested', {\n toolName: block.name,\n toolUseId: block.id\n });\n\n // Execute the tool\n const toolResult = await executeToolCall(block.name, block.input);\n\n // Collect tool result\n toolResults.push({\n type: 'tool_result',\n tool_use_id: block.id,\n content: toolResult\n });\n\n logger.debug('Tool result collected', {\n toolUseId: block.id,\n resultLength: toolResult.length\n });\n }\n }\n\n // If there were tool uses, add assistant message and all tool results\n if (toolResults.length > 0) {\n // Add assistant message with tool uses\n messages.push({\n role: 'assistant',\n content: response.content\n });\n\n // Add all tool results in one user message\n messages.push({\n role: 'user',\n content: toolResults\n });\n\n logger.debug('Tool results added to conversation', {\n count: toolResults.length\n });\n }\n\n // Stop if no tool use or end_turn\n if (response.stop_reason === 'end_turn' || response.content.every((b: any) => b.type === 'text')) {\n // Add final assistant message if it has text\n const textContent = response.content.filter((b: any) => b.type === 'text');\n if (textContent.length > 0 && messages[messages.length - 1].role !== 'assistant') {\n messages.push({\n role: 'assistant',\n content: response.content\n });\n }\n break;\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Direct API agent completed', {\n agent: agent.name,\n duration,\n toolUseCount,\n outputLength: finalOutput.length\n });\n\n return { output: finalOutput, agent: agent.name };\n });\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function webResearchAgent(input: string, onStream?: (chunk: string) => void): Promise<{
2
+ output: string;
3
+ }>;
4
+ //# sourceMappingURL=webResearchAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webResearchAgent.d.ts","sourceRoot":"","sources":["../../src/agents/webResearchAgent.ts"],"names":[],"mappings":"AAMA,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;GAkCvF"}
@@ -33,3 +33,4 @@ export async function webResearchAgent(input, onStream) {
33
33
  return { output };
34
34
  });
35
35
  }
36
+ //# sourceMappingURL=webResearchAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webResearchAgent.js","sourceRoot":"","sources":["../../src/agents/webResearchAgent.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,QAAkC;IACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAE/E,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,YAAY,EAAE,yFAAyF;gBACvG,GAAG,UAAU;aACd;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC;gBAEhB,6BAA6B;gBAC7B,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;oBACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC1C,QAAQ;YACR,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["// src/agents/webResearchAgent.ts\nimport { query } from \"@anthropic-ai/claude-agent-sdk\";\nimport { logger } from \"../utils/logger.js\";\nimport { withRetry } from \"../utils/retry.js\";\nimport { toolConfig } from \"../config/tools.js\";\n\nexport async function webResearchAgent(input: string, onStream?: (chunk: string) => void) {\n const startTime = Date.now();\n logger.info('Starting web research agent', { input: input.substring(0, 100) });\n\n return withRetry(async () => {\n const result = query({\n prompt: input,\n options: {\n systemPrompt: `You perform fast web-style reconnaissance and return a concise bullet list of findings.`,\n ...toolConfig\n }\n });\n\n let output = '';\n for await (const msg of result) {\n if (msg.type === 'assistant') {\n const chunk = msg.message.content?.map((c: any) => c.type === 'text' ? c.text : '').join('') || '';\n output += chunk;\n\n // Stream chunks in real-time\n if (onStream && chunk) {\n onStream(chunk);\n }\n }\n }\n\n const duration = Date.now() - startTime;\n logger.info('Web research agent completed', {\n duration,\n outputLength: output.length\n });\n\n return { output };\n });\n}\n"]}
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Agent Management CLI - Create, list, and manage custom agents
4
+ * Supports both npm package agents and local .claude/agents
5
+ * Includes conflict detection and deduplication
6
+ */
7
+ export declare class AgentManager {
8
+ /**
9
+ * Find all agent files from both package and local directories
10
+ * Deduplicates by preferring local over package
11
+ */
12
+ private findAllAgents;
13
+ /**
14
+ * Recursively scan directory for agent markdown files
15
+ */
16
+ private scanAgentsDirectory;
17
+ /**
18
+ * Parse agent markdown file and extract metadata
19
+ */
20
+ private parseAgentFile;
21
+ /**
22
+ * Get category from file path
23
+ */
24
+ private getCategoryFromPath;
25
+ /**
26
+ * List all agents with deduplication
27
+ */
28
+ list(format?: 'summary' | 'detailed' | 'json'): void;
29
+ /**
30
+ * Create a new agent
31
+ */
32
+ create(options: {
33
+ name?: string;
34
+ description?: string;
35
+ category?: string;
36
+ systemPrompt?: string;
37
+ tools?: string[];
38
+ interactive?: boolean;
39
+ }): Promise<void>;
40
+ /**
41
+ * Generate agent markdown with frontmatter
42
+ */
43
+ private generateAgentMarkdown;
44
+ /**
45
+ * Get information about a specific agent
46
+ */
47
+ info(name: string): void;
48
+ /**
49
+ * Check for conflicts between package and local agents
50
+ */
51
+ checkConflicts(): void;
52
+ }
53
+ /**
54
+ * CLI command handler
55
+ */
56
+ export declare function handleAgentCommand(args: string[]): Promise<void>;
57
+ //# sourceMappingURL=agent-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/cli/agent-manager.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAqCH,qBAAa,YAAY;IACvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuDtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,IAAI,CAAC,MAAM,GAAE,SAAS,GAAG,UAAU,GAAG,MAAkB,GAAG,IAAI;IAqD/D;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAsCxB;;OAEG;IACH,cAAc,IAAI,IAAI;CAyCvB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGtE"}
@@ -449,3 +449,4 @@ AGENT LOCATIONS:
449
449
  process.exit(1);
450
450
  }
451
451
  }
452
+ //# sourceMappingURL=agent-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/cli/agent-manager.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n/**\n * Agent Management CLI - Create, list, and manage custom agents\n * Supports both npm package agents and local .claude/agents\n * Includes conflict detection and deduplication\n */\n\nimport { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync, statSync } from 'fs';\nimport { resolve, join, dirname, relative, basename, extname } from 'path';\nimport { fileURLToPath } from 'url';\nimport { createInterface } from 'readline';\n\n// Get package root and default paths\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\nconst packageRoot = join(__dirname, '../..');\nconst packageAgentsDir = join(packageRoot, '.claude/agents');\nconst localAgentsDir = join(process.cwd(), '.claude/agents');\n\ninterface AgentMetadata {\n name: string;\n description: string;\n category?: string;\n color?: string;\n tools?: string[];\n}\n\ninterface AgentSource {\n path: string;\n source: 'package' | 'local';\n relativePath: string;\n}\n\ninterface AgentInfo {\n name: string;\n description: string;\n category: string;\n filePath: string;\n source: 'package' | 'local';\n relativePath: string;\n}\n\nexport class AgentManager {\n /**\n * Find all agent files from both package and local directories\n * Deduplicates by preferring local over package\n */\n private findAllAgents(): Map<string, AgentInfo> {\n const agents = new Map<string, AgentInfo>();\n\n // Load package agents first\n if (existsSync(packageAgentsDir)) {\n this.scanAgentsDirectory(packageAgentsDir, 'package', agents);\n }\n\n // Load local agents (overrides package agents with same relative path)\n if (existsSync(localAgentsDir)) {\n this.scanAgentsDirectory(localAgentsDir, 'local', agents);\n }\n\n return agents;\n }\n\n /**\n * Recursively scan directory for agent markdown files\n */\n private scanAgentsDirectory(\n dir: string,\n source: 'package' | 'local',\n agents: Map<string, AgentInfo>\n ): void {\n const baseDir = source === 'package' ? packageAgentsDir : localAgentsDir;\n\n try {\n const entries = readdirSync(dir);\n\n for (const entry of entries) {\n const fullPath = join(dir, entry);\n const stat = statSync(fullPath);\n\n if (stat.isDirectory()) {\n this.scanAgentsDirectory(fullPath, source, agents);\n } else if (extname(entry) === '.md' && entry !== 'README.md') {\n const relativePath = relative(baseDir, fullPath);\n const agentInfo = this.parseAgentFile(fullPath, source, relativePath);\n\n if (agentInfo) {\n // Use relative path as key for deduplication\n // Local agents override package agents\n const existingAgent = agents.get(relativePath);\n if (!existingAgent || source === 'local') {\n agents.set(relativePath, agentInfo);\n }\n }\n }\n }\n } catch (error: any) {\n console.error(`Error scanning directory ${dir}: ${error.message}`);\n }\n }\n\n /**\n * Parse agent markdown file and extract metadata\n */\n private parseAgentFile(\n filePath: string,\n source: 'package' | 'local',\n relativePath: string\n ): AgentInfo | null {\n try {\n const content = readFileSync(filePath, 'utf-8');\n\n // Try frontmatter format first\n const frontmatterMatch = content.match(/^---\\n([\\s\\S]*?)\\n---\\n([\\s\\S]*)$/);\n if (frontmatterMatch) {\n const [, frontmatter] = frontmatterMatch;\n const meta: any = {};\n\n frontmatter.split('\\n').forEach(line => {\n const match = line.match(/^(\\w+):\\s*(.+)$/);\n if (match) {\n const [, key, value] = match;\n meta[key] = value.replace(/^[\"']|[\"']$/g, '');\n }\n });\n\n if (meta.name && meta.description) {\n return {\n name: meta.name,\n description: meta.description,\n category: this.getCategoryFromPath(relativePath),\n filePath,\n source,\n relativePath\n };\n }\n }\n\n // Fallback: extract from markdown headers\n const nameMatch = content.match(/^#\\s+(.+)$/m);\n const descMatch = content.match(/^##\\s+Description\\s*\\n\\s*(.+)$/m);\n\n if (nameMatch) {\n return {\n name: nameMatch[1].trim(),\n description: descMatch ? descMatch[1].trim() : 'No description available',\n category: this.getCategoryFromPath(relativePath),\n filePath,\n source,\n relativePath\n };\n }\n\n return null;\n } catch (error) {\n return null;\n }\n }\n\n /**\n * Get category from file path\n */\n private getCategoryFromPath(relativePath: string): string {\n const parts = relativePath.split('/');\n return parts.length > 1 ? parts[0] : 'custom';\n }\n\n /**\n * List all agents with deduplication\n */\n list(format: 'summary' | 'detailed' | 'json' = 'summary'): void {\n const agents = this.findAllAgents();\n\n if (format === 'json') {\n const agentList = Array.from(agents.values()).map(a => ({\n name: a.name,\n description: a.description,\n category: a.category,\n source: a.source,\n path: a.relativePath\n }));\n console.log(JSON.stringify(agentList, null, 2));\n return;\n }\n\n // Group by category\n const byCategory = new Map<string, AgentInfo[]>();\n for (const agent of agents.values()) {\n const category = agent.category;\n if (!byCategory.has(category)) {\n byCategory.set(category, []);\n }\n byCategory.get(category)!.push(agent);\n }\n\n // Sort categories\n const sortedCategories = Array.from(byCategory.keys()).sort();\n\n console.log('\\nšŸ“¦ Available Agents:');\n console.log('═'.repeat(80));\n\n for (const category of sortedCategories) {\n const categoryAgents = byCategory.get(category)!.sort((a, b) => a.name.localeCompare(b.name));\n console.log(`\\n${category.toUpperCase()}:`);\n\n for (const agent of categoryAgents) {\n const sourceIcon = agent.source === 'local' ? 'šŸ“' : 'šŸ“¦';\n if (format === 'detailed') {\n console.log(` ${sourceIcon} ${agent.name}`);\n console.log(` ${agent.description}`);\n console.log(` Source: ${agent.source} (${agent.relativePath})`);\n } else {\n console.log(` ${sourceIcon} ${agent.name.padEnd(30)} ${agent.description.substring(0, 45)}...`);\n }\n }\n }\n\n console.log(`\\nšŸ“Š Total: ${agents.size} agents`);\n console.log(` šŸ“ Local: ${Array.from(agents.values()).filter(a => a.source === 'local').length}`);\n console.log(` šŸ“¦ Package: ${Array.from(agents.values()).filter(a => a.source === 'package').length}`);\n console.log('');\n }\n\n /**\n * Create a new agent\n */\n async create(options: {\n name?: string;\n description?: string;\n category?: string;\n systemPrompt?: string;\n tools?: string[];\n interactive?: boolean;\n }): Promise<void> {\n let { name, description, category, systemPrompt, tools } = options;\n\n // Interactive mode\n if (options.interactive) {\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout\n });\n\n const question = (prompt: string): Promise<string> => {\n return new Promise(resolve => rl.question(prompt, resolve));\n };\n\n console.log('\\nšŸ¤– Create New Agent');\n console.log('═'.repeat(80));\n\n name = await question('Agent name (e.g., my-custom-agent): ');\n description = await question('Description: ');\n category = await question('Category (default: custom): ') || 'custom';\n systemPrompt = await question('System prompt: ');\n\n const toolsInput = await question('Tools (comma-separated, optional): ');\n tools = toolsInput ? toolsInput.split(',').map(t => t.trim()) : [];\n\n rl.close();\n }\n\n // Validate required fields\n if (!name || !description || !systemPrompt) {\n throw new Error('Name, description, and system prompt are required');\n }\n\n // Normalize name to kebab-case\n const kebabName = name.toLowerCase().replace(/\\s+/g, '-').replace(/[^a-z0-9-]/g, '');\n\n // Check for conflicts\n const agents = this.findAllAgents();\n const conflictingAgent = Array.from(agents.values()).find(\n a => a.name.toLowerCase() === kebabName.toLowerCase()\n );\n\n if (conflictingAgent) {\n console.log(`\\nāš ļø Warning: Agent \"${conflictingAgent.name}\" already exists`);\n console.log(` Source: ${conflictingAgent.source}`);\n console.log(` Path: ${conflictingAgent.relativePath}`);\n\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout\n });\n\n const answer = await new Promise<string>(resolve => {\n rl.question('\\nCreate in local .claude/agents anyway? (y/N): ', resolve);\n });\n\n rl.close();\n\n if (answer.toLowerCase() !== 'y') {\n console.log('Cancelled.');\n return;\n }\n }\n\n // Create directory structure\n const targetCategory = category || 'custom';\n const targetDir = join(localAgentsDir, targetCategory);\n\n if (!existsSync(targetDir)) {\n mkdirSync(targetDir, { recursive: true });\n }\n\n // Generate markdown content\n const markdown = this.generateAgentMarkdown({\n name: kebabName,\n description: description!,\n category: targetCategory,\n tools\n }, systemPrompt!);\n\n const filePath = join(targetDir, `${kebabName}.md`);\n\n if (existsSync(filePath)) {\n throw new Error(`Agent file already exists at ${filePath}`);\n }\n\n writeFileSync(filePath, markdown, 'utf8');\n\n console.log(`\\nāœ… Agent created successfully!`);\n console.log(` Name: ${kebabName}`);\n console.log(` Category: ${targetCategory}`);\n console.log(` Path: ${filePath}`);\n console.log(`\\nšŸ“ Usage:`);\n console.log(` npx agentic-flow --agent ${kebabName} --task \"Your task\"`);\n console.log('');\n }\n\n /**\n * Generate agent markdown with frontmatter\n */\n private generateAgentMarkdown(\n metadata: AgentMetadata,\n systemPrompt: string\n ): string {\n const toolsLine = metadata.tools && metadata.tools.length > 0\n ? `tools: ${metadata.tools.join(', ')}`\n : '';\n\n return `---\nname: ${metadata.name}\ndescription: ${metadata.description}\n${metadata.color ? `color: ${metadata.color}` : ''}\n${toolsLine}\n---\n\n${systemPrompt}\n\n## Usage\n\n\\`\\`\\`bash\nnpx agentic-flow --agent ${metadata.name} --task \"Your task\"\n\\`\\`\\`\n\n## Examples\n\n### Example 1\n\\`\\`\\`bash\nnpx agentic-flow --agent ${metadata.name} --task \"Example task description\"\n\\`\\`\\`\n\n---\n*Created: ${new Date().toISOString()}*\n*Source: local*\n`;\n }\n\n /**\n * Get information about a specific agent\n */\n info(name: string): void {\n const agents = this.findAllAgents();\n const agent = Array.from(agents.values()).find(\n a => a.name.toLowerCase() === name.toLowerCase()\n );\n\n if (!agent) {\n console.log(`\\nāŒ Agent \"${name}\" not found`);\n console.log('\\nUse \"agentic-flow agent list\" to see all available agents\\n');\n return;\n }\n\n console.log('\\nšŸ“‹ Agent Information');\n console.log('═'.repeat(80));\n console.log(`Name: ${agent.name}`);\n console.log(`Description: ${agent.description}`);\n console.log(`Category: ${agent.category}`);\n console.log(`Source: ${agent.source === 'local' ? 'šŸ“ Local' : 'šŸ“¦ Package'}`);\n console.log(`Path: ${agent.relativePath}`);\n console.log(`Full Path: ${agent.filePath}`);\n console.log('');\n\n // Show content preview\n try {\n const content = readFileSync(agent.filePath, 'utf-8');\n console.log('Preview:');\n console.log('─'.repeat(80));\n const lines = content.split('\\n').slice(0, 20);\n console.log(lines.join('\\n'));\n if (content.split('\\n').length > 20) {\n console.log('...');\n }\n console.log('');\n } catch (error) {\n console.log('Could not read agent file\\n');\n }\n }\n\n /**\n * Check for conflicts between package and local agents\n */\n checkConflicts(): void {\n console.log('\\nšŸ” Checking for agent conflicts...');\n console.log('═'.repeat(80));\n\n const packageAgents = new Map<string, AgentInfo>();\n const localAgents = new Map<string, AgentInfo>();\n\n if (existsSync(packageAgentsDir)) {\n this.scanAgentsDirectory(packageAgentsDir, 'package', packageAgents);\n }\n\n if (existsSync(localAgentsDir)) {\n this.scanAgentsDirectory(localAgentsDir, 'local', localAgents);\n }\n\n // Find conflicts (same relative path in both)\n const conflicts: Array<{ path: string; package: AgentInfo; local: AgentInfo }> = [];\n\n for (const [relativePath, localAgent] of localAgents) {\n const packageAgent = packageAgents.get(relativePath);\n if (packageAgent) {\n conflicts.push({ path: relativePath, package: packageAgent, local: localAgent });\n }\n }\n\n if (conflicts.length === 0) {\n console.log('\\nāœ… No conflicts found!\\n');\n return;\n }\n\n console.log(`\\nāš ļø Found ${conflicts.length} conflict(s):\\n`);\n\n for (const conflict of conflicts) {\n console.log(`šŸ“ ${conflict.path}`);\n console.log(` šŸ“¦ Package: ${conflict.package.name}`);\n console.log(` ${conflict.package.description}`);\n console.log(` šŸ“ Local: ${conflict.local.name}`);\n console.log(` ${conflict.local.description}`);\n console.log(` ā„¹ļø Local version will be used\\n`);\n }\n }\n}\n\n/**\n * CLI command handler\n */\nexport async function handleAgentCommand(args: string[]): Promise<void> {\n const command = args[0];\n const manager = new AgentManager();\n\n switch (command) {\n case undefined:\n case 'help':\n console.log(`\nšŸ¤– Agent Management CLI\n\nUSAGE:\n npx agentic-flow agent <command> [options]\n\nCOMMANDS:\n list [format] List all available agents\n format: summary (default), detailed, json\n\n create Create a new agent interactively\n create --name NAME Create agent with CLI arguments\n --description DESC\n --category CAT\n --prompt PROMPT\n [--tools TOOLS]\n\n info <name> Show detailed information about an agent\n\n conflicts Check for conflicts between package and local agents\n\n help Show this help message\n\nEXAMPLES:\n # List all agents\n npx agentic-flow agent list\n\n # List with details\n npx agentic-flow agent list detailed\n\n # Create agent interactively\n npx agentic-flow agent create\n\n # Create agent with CLI\n npx agentic-flow agent create --name my-agent --description \"My custom agent\" --prompt \"You are a helpful assistant\"\n\n # Get agent info\n npx agentic-flow agent info coder\n\n # Check conflicts\n npx agentic-flow agent conflicts\n\nAGENT LOCATIONS:\n šŸ“¦ Package: ${packageAgentsDir}\n šŸ“ Local: ${localAgentsDir}\n\n Note: Local agents override package agents with the same path.\n`);\n break;\n\n case 'list':\n const format = (args[1] as 'summary' | 'detailed' | 'json') || 'summary';\n manager.list(format);\n break;\n\n case 'create':\n const nameIdx = args.indexOf('--name');\n const descIdx = args.indexOf('--description');\n const catIdx = args.indexOf('--category');\n const promptIdx = args.indexOf('--prompt');\n const toolsIdx = args.indexOf('--tools');\n\n if (nameIdx === -1 || descIdx === -1 || promptIdx === -1) {\n // Interactive mode\n await manager.create({ interactive: true });\n } else {\n // CLI mode\n await manager.create({\n name: args[nameIdx + 1],\n description: args[descIdx + 1],\n category: catIdx !== -1 ? args[catIdx + 1] : 'custom',\n systemPrompt: args[promptIdx + 1],\n tools: toolsIdx !== -1 ? args[toolsIdx + 1].split(',').map(t => t.trim()) : []\n });\n }\n break;\n\n case 'info':\n if (!args[1]) {\n console.log('\\nāŒ Please specify an agent name\\n');\n console.log('Usage: npx agentic-flow agent info <name>\\n');\n process.exit(1);\n }\n manager.info(args[1]);\n break;\n\n case 'conflicts':\n manager.checkConflicts();\n break;\n\n default:\n console.log(`\\nāŒ Unknown command: ${command}\\n`);\n console.log('Use \"npx agentic-flow agent help\" for usage information\\n');\n process.exit(1);\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Claude Code Wrapper for Agentic Flow
4
+ *
5
+ * Automatically spawns Claude Code with the correct ANTHROPIC_BASE_URL
6
+ * and environment variables based on the provider/args used.
7
+ *
8
+ * Usage:
9
+ * npx agentic-flow claude-code --provider openrouter "Write a function"
10
+ * npx agentic-flow claude-code --provider gemini "Create a REST API"
11
+ * npx agentic-flow claude-code --provider anthropic "Help me debug"
12
+ *
13
+ * Features:
14
+ * - Auto-starts proxy server in background if not running
15
+ * - Sets ANTHROPIC_BASE_URL to proxy endpoint
16
+ * - Configures provider-specific API keys
17
+ * - Supports all Claude Code native arguments
18
+ * - Cleans up proxy on exit (optional)
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=claude-code-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-wrapper.d.ts","sourceRoot":"","sources":["../../src/cli/claude-code-wrapper.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -348,3 +348,4 @@ if (import.meta.url === `file://${process.argv[1]}`) {
348
348
  process.exit(1);
349
349
  });
350
350
  }
351
+ //# sourceMappingURL=claude-code-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-wrapper.js","sourceRoot":"","sources":["../../src/cli/claude-code-wrapper.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n/**\n * Claude Code Wrapper for Agentic Flow\n *\n * Automatically spawns Claude Code with the correct ANTHROPIC_BASE_URL\n * and environment variables based on the provider/args used.\n *\n * Usage:\n * npx agentic-flow claude-code --provider openrouter \"Write a function\"\n * npx agentic-flow claude-code --provider gemini \"Create a REST API\"\n * npx agentic-flow claude-code --provider anthropic \"Help me debug\"\n *\n * Features:\n * - Auto-starts proxy server in background if not running\n * - Sets ANTHROPIC_BASE_URL to proxy endpoint\n * - Configures provider-specific API keys\n * - Supports all Claude Code native arguments\n * - Cleans up proxy on exit (optional)\n */\n\nimport { spawn, ChildProcess } from 'child_process';\nimport { Command } from 'commander';\nimport * as dotenv from 'dotenv';\nimport { resolve, dirname } from 'path';\nimport { fileURLToPath } from 'url';\nimport { logger } from '../utils/logger.js';\n\n// Load environment variables from root .env\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\ndotenv.config({ path: resolve(__dirname, '../../../.env') });\n\ninterface ProxyConfig {\n provider: 'anthropic' | 'openrouter' | 'requesty' | 'gemini' | 'onnx';\n port: number;\n baseUrl: string;\n model?: string;\n apiKey: string;\n requiresProxy: boolean;\n}\n\n/**\n * Get proxy configuration based on provider\n */\nfunction getProxyConfig(provider: string, customPort?: number): ProxyConfig {\n const port = customPort || 3000;\n const baseUrl = `http://localhost:${port}`;\n\n switch (provider.toLowerCase()) {\n case 'openrouter':\n return {\n provider: 'openrouter',\n port,\n baseUrl,\n model: process.env.COMPLETION_MODEL || 'deepseek/deepseek-chat',\n apiKey: process.env.OPENROUTER_API_KEY || '',\n requiresProxy: true\n };\n\n case 'requesty':\n return {\n provider: 'requesty',\n port,\n baseUrl,\n model: process.env.COMPLETION_MODEL || 'deepseek/deepseek-chat',\n apiKey: process.env.REQUESTY_API_KEY || '',\n requiresProxy: true\n };\n\n case 'gemini':\n return {\n provider: 'gemini',\n port,\n baseUrl,\n model: process.env.GEMINI_MODEL || 'gemini-2.0-flash-exp',\n apiKey: process.env.GOOGLE_GEMINI_API_KEY || '',\n requiresProxy: true\n };\n\n case 'onnx':\n return {\n provider: 'onnx',\n port,\n baseUrl,\n model: 'onnx-local',\n apiKey: 'dummy',\n requiresProxy: true\n };\n\n case 'anthropic':\n default:\n return {\n provider: 'anthropic',\n port: 0,\n baseUrl: 'https://api.anthropic.com',\n apiKey: process.env.ANTHROPIC_API_KEY || '',\n requiresProxy: false\n };\n }\n}\n\n/**\n * Check if proxy server is already running\n */\nasync function isProxyRunning(port: number): Promise<boolean> {\n try {\n const response = await fetch(`http://localhost:${port}/health`);\n return response.ok;\n } catch {\n return false;\n }\n}\n\n/**\n * Start the proxy server in background using the same approach as the agent\n */\nasync function startProxyServer(config: ProxyConfig): Promise<any> {\n if (!config.requiresProxy) {\n return null;\n }\n\n // Check if already running\n const running = await isProxyRunning(config.port);\n if (running) {\n logger.info(`Proxy already running on port ${config.port}`);\n return null;\n }\n\n logger.info(`Starting ${config.provider} proxy on port ${config.port}...`);\n\n let proxy: any;\n\n if (config.provider === 'gemini') {\n const { AnthropicToGeminiProxy } = await import('../proxy/anthropic-to-gemini.js');\n proxy = new AnthropicToGeminiProxy({\n geminiApiKey: config.apiKey,\n defaultModel: config.model || 'gemini-2.0-flash-exp'\n });\n } else if (config.provider === 'onnx') {\n const { AnthropicToONNXProxy } = await import('../proxy/anthropic-to-onnx.js');\n proxy = new AnthropicToONNXProxy({\n port: config.port,\n modelPath: process.env.ONNX_MODEL_PATH,\n executionProviders: process.env.ONNX_EXECUTION_PROVIDERS?.split(',') || ['cpu']\n });\n } else {\n // OpenRouter - DeepSeek Chat: cheap ($0.14/M), fast, supports tools, good quality\n const { AnthropicToOpenRouterProxy } = await import('../proxy/anthropic-to-openrouter.js');\n proxy = new AnthropicToOpenRouterProxy({\n openrouterApiKey: config.apiKey,\n openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,\n defaultModel: config.model || 'deepseek/deepseek-chat'\n });\n }\n\n // Start proxy\n proxy.start(config.port);\n\n console.log(`šŸ”— Proxy Mode: ${config.provider}`);\n console.log(`šŸ”§ Proxy URL: ${config.baseUrl}`);\n console.log(`šŸ¤– Default Model: ${config.model}\\n`);\n\n // Wait for proxy to be ready\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n return proxy;\n}\n\n/**\n * Spawn Claude Code with configured environment\n */\nfunction spawnClaudeCode(config: ProxyConfig, claudeArgs: string[]): ChildProcess {\n logger.info('Starting Claude Code...');\n logger.info(`Provider: ${config.provider}`);\n logger.info(`Base URL: ${config.baseUrl}`);\n if (config.model) {\n logger.info(`Model: ${config.model}`);\n }\n\n // Build environment variables\n const env: Record<string, string> = {\n ...process.env\n } as Record<string, string>;\n\n if (config.requiresProxy) {\n // Using proxy - set base URL and realistic dummy key\n // Use a properly formatted key that won't trigger Claude's validation warnings\n env.ANTHROPIC_BASE_URL = config.baseUrl;\n env.ANTHROPIC_API_KEY = 'sk-ant-api03-proxy-forwarded-to-' + config.provider + '-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';\n\n // Set provider-specific keys\n if (config.provider === 'openrouter') {\n env.OPENROUTER_API_KEY = config.apiKey;\n } else if (config.provider === 'gemini') {\n env.GOOGLE_GEMINI_API_KEY = config.apiKey;\n }\n } else {\n // Direct Anthropic\n env.ANTHROPIC_API_KEY = config.apiKey;\n if (env.ANTHROPIC_BASE_URL) {\n delete env.ANTHROPIC_BASE_URL;\n }\n }\n\n logger.debug('Environment variables:', {\n ANTHROPIC_BASE_URL: env.ANTHROPIC_BASE_URL || '(default)',\n ANTHROPIC_API_KEY: env.ANTHROPIC_API_KEY?.substring(0, 10) + '...',\n OPENROUTER_API_KEY: env.OPENROUTER_API_KEY ? '(set)' : '(not set)',\n GOOGLE_GEMINI_API_KEY: env.GOOGLE_GEMINI_API_KEY ? '(set)' : '(not set)'\n });\n\n // Spawn Claude Code\n const claudeProcess = spawn('claude', claudeArgs, {\n env: env as NodeJS.ProcessEnv,\n stdio: 'inherit'\n });\n\n return claudeProcess;\n}\n\n/**\n * Main CLI function\n */\nasync function main() {\n const program = new Command();\n\n program\n .name('agentic-flow claude-code')\n .description('Spawn Claude Code with automatic proxy configuration for alternative AI providers')\n .usage('[options] [task]')\n .addHelpText('after', `\nExamples:\n # Interactive mode - Opens Claude Code UI with proxy\n $ agentic-flow claude-code --provider openrouter\n $ agentic-flow claude-code --provider gemini\n\n # Non-interactive mode - Execute task and exit\n $ agentic-flow claude-code --provider openrouter \"Write a Python hello world function\"\n $ agentic-flow claude-code --provider openrouter --model \"mistralai/mistral-small-3.1-24b-instruct\" \"Create REST API\"\n\n # Using different providers\n $ agentic-flow claude-code --provider openrouter # Uses Mistral Small (default, $0.02/M tokens)\n $ agentic-flow claude-code --provider gemini # Uses Gemini 2.0 Flash\n $ agentic-flow claude-code --provider onnx # Uses local ONNX models (free)\n\n # With Agent Booster for 57x faster code edits\n $ agentic-flow claude-code --provider openrouter --agent-booster\n\nRecommended Models:\n OpenRouter:\n mistralai/mistral-small-3.1-24b-instruct (default, $0.02/M, 128k context, optimized for tools)\n anthropic/claude-3.5-sonnet ($3/M, highest quality, large context)\n google/gemini-2.0-flash-exp:free (FREE tier, rate limited)\n\n Note: Models with <128k context will fail with tool definitions (Claude sends 35k+ tokens)\n\nEnvironment Variables:\n OPENROUTER_API_KEY Required for --provider openrouter\n GOOGLE_GEMINI_API_KEY Required for --provider gemini\n ANTHROPIC_API_KEY Required for --provider anthropic (default)\n ONNX_MODEL_PATH Optional for --provider onnx\n\nDocumentation:\n https://github.com/ruvnet/agentic-flow#claude-code-mode\n https://ruv.io\n`)\n .option('--provider <provider>', 'AI provider (anthropic, openrouter, gemini, onnx)', 'anthropic')\n .option('--port <port>', 'Proxy server port', '3000')\n .option('--model <model>', 'Specific model to use (e.g., mistralai/mistral-small-3.1-24b-instruct)')\n .option('--agent-booster', 'Enable Agent Booster MCP tools for 57x faster code edits (default: true)', true)\n .option('--keep-proxy', 'Keep proxy running after Claude Code exits')\n .option('--no-auto-start', 'Skip proxy startup (use existing proxy)')\n .allowUnknownOption(true)\n .allowExcessArguments(true);\n\n program.parse(process.argv);\n const options = program.opts();\n\n // Get provider configuration\n const config = getProxyConfig(options.provider, parseInt(options.port));\n\n // Override model if specified\n if (options.model) {\n config.model = options.model;\n }\n\n // Validate API keys\n if (config.requiresProxy && !config.apiKey) {\n console.error(`āŒ Error: Missing API key for ${config.provider}`);\n console.error(` Please set ${config.provider === 'openrouter' ? 'OPENROUTER_API_KEY' : 'GOOGLE_GEMINI_API_KEY'}`);\n process.exit(1);\n }\n\n if (!config.requiresProxy && !config.apiKey) {\n console.error('āŒ Error: Missing ANTHROPIC_API_KEY');\n process.exit(1);\n }\n\n // Get Claude Code arguments (filter out wrapper-specific flags only)\n const wrapperFlags = new Set(['--provider', '--port', '--model', '--agent-booster', '--keep-proxy', '--no-auto-start']);\n const wrapperValues = new Set([options.provider, options.port, options.model]);\n\n const claudeArgs: string[] = [];\n let skipNext = false;\n\n for (let i = 2; i < process.argv.length; i++) {\n const arg = process.argv[i];\n\n if (skipNext) {\n skipNext = false;\n continue;\n }\n\n // Check if this is a wrapper flag\n const isWrapperFlag = Array.from(wrapperFlags).some(flag => arg.startsWith(flag));\n\n if (isWrapperFlag) {\n // Skip this flag and its value if it has one\n if (!arg.includes('=') && i + 1 < process.argv.length && !process.argv[i + 1].startsWith('-')) {\n skipNext = true;\n }\n continue;\n }\n\n // Keep all other arguments\n claudeArgs.push(arg);\n }\n\n // Auto-detect non-interactive mode: if there's a task string and no -p flag, add it\n // Claude expects: claude [prompt] [flags], not claude [flags] [prompt]\n const hasTaskString = claudeArgs.some(arg => !arg.startsWith('-'));\n const hasPrintFlag = claudeArgs.includes('-p') || claudeArgs.includes('--print');\n\n if (hasTaskString && !hasPrintFlag) {\n // Find the prompt (first non-flag argument)\n const promptIndex = claudeArgs.findIndex(arg => !arg.startsWith('-'));\n if (promptIndex !== -1) {\n // Insert -p after the prompt\n claudeArgs.splice(promptIndex + 1, 0, '-p');\n }\n }\n\n let proxyServer: any = null;\n\n try {\n // Info about Agent Booster MCP tools if enabled\n if (options.agentBooster) {\n logger.info('');\n logger.info('⚔ Agent Booster enabled (57x faster code edits)');\n logger.info(' Available tools: agent_booster_edit_file, agent_booster_batch_edit, agent_booster_parse_markdown');\n logger.info(' Configure MCP: Add \"agentic-flow\" to Claude Desktop config');\n logger.info(' Learn more: examples/mcp-integration.md');\n logger.info('');\n }\n\n // Start proxy if needed and auto-start is enabled\n if (options.autoStart) {\n proxyServer = await startProxyServer(config);\n }\n\n // Spawn Claude Code\n const claudeProcess = spawnClaudeCode(config, claudeArgs);\n\n // Handle cleanup on exit\n const cleanup = () => {\n if (proxyServer && !options.keepProxy) {\n logger.info('Stopping proxy server...');\n if (proxyServer.stop) {\n proxyServer.stop();\n }\n }\n };\n\n claudeProcess.on('exit', (code) => {\n cleanup();\n process.exit(code || 0);\n });\n\n process.on('SIGINT', () => {\n claudeProcess.kill('SIGINT');\n cleanup();\n });\n\n process.on('SIGTERM', () => {\n claudeProcess.kill('SIGTERM');\n cleanup();\n });\n\n } catch (error: any) {\n console.error('āŒ Error:', error.message);\n if (proxyServer && proxyServer.stop) {\n proxyServer.stop();\n }\n process.exit(1);\n }\n}\n\n// Run if executed directly\nif (import.meta.url === `file://${process.argv[1]}`) {\n main().catch((error) => {\n console.error('āŒ Fatal error:', error);\n process.exit(1);\n });\n}\n"]}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Interactive CLI wizard for agentic-flow configuration
4
+ * Supports both interactive mode and direct CLI arguments
5
+ */
6
+ export declare class ConfigWizard {
7
+ private envPath;
8
+ private currentConfig;
9
+ constructor(envPath?: string);
10
+ private loadExistingConfig;
11
+ private saveConfig;
12
+ runInteractive(): Promise<void>;
13
+ set(key: string, value: string): void;
14
+ get(key: string): void;
15
+ delete(key: string): void;
16
+ list(): void;
17
+ showSummary(): void;
18
+ reset(): void;
19
+ }
20
+ export declare function handleConfigCommand(args: string[]): Promise<void>;
21
+ //# sourceMappingURL=config-wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-wizard.d.ts","sourceRoot":"","sources":["../../src/cli/config-wizard.ts"],"names":[],"mappings":";AACA;;;GAGG;AA6EH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAkC;gBAE3C,OAAO,CAAC,EAAE,MAAM;IAK5B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,UAAU;IA4BZ,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuErC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAetB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzB,IAAI,IAAI,IAAI;IAgBZ,WAAW,IAAI,IAAI;IA8BnB,KAAK,IAAI,IAAI;CAWd;AAGD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDvE"}
@@ -366,3 +366,4 @@ if (import.meta.url === `file://${process.argv[1]}`) {
366
366
  process.exit(1);
367
367
  });
368
368
  }
369
+ //# sourceMappingURL=config-wizard.js.map