agentic-flow 1.10.1 → 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 (554) 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/agentBoosterPreprocessor.d.ts +72 -0
  480. package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -0
  481. package/dist/utils/agentBoosterPreprocessor.js +1 -0
  482. package/dist/utils/agentBoosterPreprocessor.js.map +1 -0
  483. package/dist/utils/agentLoader.d.ts +22 -0
  484. package/dist/utils/agentLoader.d.ts.map +1 -0
  485. package/dist/utils/agentLoader.js +1 -0
  486. package/dist/utils/agentLoader.js.map +1 -0
  487. package/dist/utils/agentdb-runtime-patch.d.ts +28 -0
  488. package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -0
  489. package/dist/utils/agentdb-runtime-patch.js +1 -0
  490. package/dist/utils/agentdb-runtime-patch.js.map +1 -0
  491. package/dist/utils/auth.d.ts +13 -0
  492. package/dist/utils/auth.d.ts.map +1 -0
  493. package/dist/utils/auth.js +1 -0
  494. package/dist/utils/auth.js.map +1 -0
  495. package/dist/utils/cli.d.ts +31 -0
  496. package/dist/utils/cli.d.ts.map +1 -0
  497. package/dist/utils/cli.js +1 -0
  498. package/dist/utils/cli.js.map +1 -0
  499. package/dist/utils/compression-middleware.d.ts +55 -0
  500. package/dist/utils/compression-middleware.d.ts.map +1 -0
  501. package/dist/utils/compression-middleware.js +1 -0
  502. package/dist/utils/compression-middleware.js.map +1 -0
  503. package/dist/utils/connection-pool.d.ts +30 -0
  504. package/dist/utils/connection-pool.d.ts.map +1 -0
  505. package/dist/utils/connection-pool.js +1 -0
  506. package/dist/utils/connection-pool.js.map +1 -0
  507. package/dist/utils/logger.d.ts +19 -0
  508. package/dist/utils/logger.d.ts.map +1 -0
  509. package/dist/utils/logger.js +1 -0
  510. package/dist/utils/logger.js.map +1 -0
  511. package/dist/utils/math.d.ts +12 -0
  512. package/dist/utils/math.d.ts.map +1 -0
  513. package/dist/utils/math.js +1 -0
  514. package/dist/utils/math.js.map +1 -0
  515. package/dist/utils/mcpCommands.d.ts +2 -0
  516. package/dist/utils/mcpCommands.d.ts.map +1 -0
  517. package/dist/utils/mcpCommands.js +1 -0
  518. package/dist/utils/mcpCommands.js.map +1 -0
  519. package/dist/utils/model-downloader.d.ts +63 -0
  520. package/dist/utils/model-downloader.d.ts.map +1 -0
  521. package/dist/utils/model-downloader.js +1 -0
  522. package/dist/utils/model-downloader.js.map +1 -0
  523. package/dist/utils/modelCapabilities.d.ts +30 -0
  524. package/dist/utils/modelCapabilities.d.ts.map +1 -0
  525. package/dist/utils/modelCapabilities.js +1 -0
  526. package/dist/utils/modelCapabilities.js.map +1 -0
  527. package/dist/utils/modelOptimizer.d.ts +207 -0
  528. package/dist/utils/modelOptimizer.d.ts.map +1 -0
  529. package/dist/utils/modelOptimizer.js +1 -0
  530. package/dist/utils/modelOptimizer.js.map +1 -0
  531. package/dist/utils/rate-limiter.d.ts +17 -0
  532. package/dist/utils/rate-limiter.d.ts.map +1 -0
  533. package/dist/utils/rate-limiter.js +1 -0
  534. package/dist/utils/rate-limiter.js.map +1 -0
  535. package/dist/utils/reasoningbankCommands.d.ts +6 -0
  536. package/dist/utils/reasoningbankCommands.d.ts.map +1 -0
  537. package/dist/utils/reasoningbankCommands.js +1 -0
  538. package/dist/utils/reasoningbankCommands.js.map +1 -0
  539. package/dist/utils/response-cache.d.ts +94 -0
  540. package/dist/utils/response-cache.d.ts.map +1 -0
  541. package/dist/utils/response-cache.js +1 -0
  542. package/dist/utils/response-cache.js.map +1 -0
  543. package/dist/utils/retry.d.ts +9 -0
  544. package/dist/utils/retry.d.ts.map +1 -0
  545. package/dist/utils/retry.js +1 -0
  546. package/dist/utils/retry.js.map +1 -0
  547. package/dist/utils/streaming-optimizer.d.ts +37 -0
  548. package/dist/utils/streaming-optimizer.d.ts.map +1 -0
  549. package/dist/utils/streaming-optimizer.js +1 -0
  550. package/dist/utils/streaming-optimizer.js.map +1 -0
  551. package/package.json +1 -1
  552. package/docs/PHASE2-IMPLEMENTATION-SUMMARY.md +0 -275
  553. package/docs/PHASE2-PHASE3-COMPLETE-SUMMARY.md +0 -453
  554. package/docs/PHASE3-IMPLEMENTATION-SUMMARY.md +0 -357
package/CHANGELOG.md CHANGED
@@ -2,1354 +2,41 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased] - Next Release (v1.10.0)
9
-
10
- ### Added - Multi-Protocol Proxy with Enterprise Security 🔒🚀
11
-
12
- **Production-ready HTTP/2, HTTP/3, and WebSocket proxy implementations with comprehensive security**
13
-
14
- #### New Proxy Implementations
15
-
16
- 1. **HTTP/2 Proxy** (`src/proxy/http2-proxy.ts`)
17
- - 30-50% faster streaming than HTTP/1.1
18
- - Multiplexing: Multiple streams over single connection
19
- - HPACK header compression
20
- - Stream prioritization
21
- - TLS 1.3 with strong cipher enforcement
22
- - Full security: TLS validation, rate limiting, authentication, input validation
23
-
24
- 2. **HTTP/3 Proxy** (`src/proxy/http3-proxy.ts`)
25
- - 50-70% faster than HTTP/2 (when QUIC available)
26
- - Graceful fallback to HTTP/2
27
- - Zero RTT connection establishment
28
- - No head-of-line blocking
29
- - Mobile-optimized for network switches
30
-
31
- 3. **WebSocket Proxy** (`src/proxy/websocket-proxy.ts`)
32
- - Full-duplex bidirectional communication
33
- - Mobile/unstable connection fallback
34
- - Heartbeat monitoring (ping/pong)
35
- - Connection timeout management
36
- - DoS protection: Max 1000 concurrent connections
37
- - Automatic connection cleanup
38
-
39
- 4. **Adaptive Multi-Protocol Proxy** (`src/proxy/adaptive-proxy.ts`)
40
- - Automatic protocol selection
41
- - Fallback chain: HTTP/3 → HTTP/2 → HTTP/1.1 → WebSocket
42
- - Zero-config operation
43
- - Unified status reporting
44
-
45
- #### Security Features 🔐
46
-
47
- 1. **TLS Certificate Validation**
48
- - Automatic certificate expiry validation
49
- - Validity period checking
50
- - TLS 1.3 minimum version enforcement
51
- - Strong cipher suites only (AES-256-GCM, AES-128-GCM)
52
-
53
- 2. **Rate Limiting** (`src/utils/rate-limiter.ts`)
54
- - In-memory rate limiter
55
- - Configurable: points, duration, block duration
56
- - Per-client IP tracking
57
- - Default: 100 requests per 60 seconds, 5-minute block
58
-
59
- 3. **Authentication** (`src/utils/auth.ts`)
60
- - API key authentication
61
- - Multiple auth methods: `x-api-key` header, `Authorization: Bearer`
62
- - Environment variable support: `PROXY_API_KEYS`
63
- - Development mode (optional auth)
64
-
65
- 4. **Input Validation**
66
- - 1MB request body size limit
67
- - Prevents memory exhaustion DoS
68
- - Graceful error handling with 413 status
69
-
70
- 5. **WebSocket DoS Protection**
71
- - Maximum concurrent connections (default: 1000)
72
- - Connection idle timeout (default: 5 minutes)
73
- - Automatic cleanup on disconnect/error
74
-
75
- #### Performance Improvements
76
-
77
- **Base Protocol Performance:**
78
- - **HTTP/2**: 30-50% faster than HTTP/1.1
79
- - **HTTP/3**: 50-70% faster than HTTP/2 (when available)
80
- - **Security overhead**: < 1ms per request
81
- - TLS validation: ~5ms (one-time at startup)
82
- - Input validation: ~0.1ms per request
83
- - Rate limiting: ~0.05ms per request
84
- - Authentication: ~0.05ms per request
85
-
86
- **Phase 1 Optimizations (Implemented):**
87
-
88
- 1. **Connection Pooling** (`src/utils/connection-pool.ts`)
89
- - Persistent HTTP/2 connection reuse
90
- - 20-30% latency reduction
91
- - Eliminates TLS handshake overhead
92
- - Configurable pool size (default: 10 per host)
93
- - Automatic cleanup of idle connections
94
-
95
- 2. **Response Caching** (`src/utils/response-cache.ts`)
96
- - LRU cache for repeated queries
97
- - 50-80% latency reduction for cache hits
98
- - TTL-based expiration (default: 60s)
99
- - Automatic eviction when full
100
- - Detailed hit/miss statistics
101
-
102
- 3. **Streaming Optimization** (`src/utils/streaming-optimizer.ts`)
103
- - Backpressure handling
104
- - 15-25% improvement for streaming
105
- - Optimal buffer sizes (16KB)
106
- - Memory-efficient processing
107
- - Timeout protection
108
-
109
- 4. **Compression Middleware** (`src/utils/compression-middleware.ts`)
110
- - Brotli/Gzip compression
111
- - 30-70% bandwidth reduction
112
- - Automatic encoding selection
113
- - Content-type aware (JSON, text)
114
- - Configurable compression level
115
-
116
- **Optimized HTTP/2 Proxy** (`src/proxy/http2-proxy-optimized.ts`)
117
- - All optimizations integrated
118
- - **60% latency reduction** vs baseline
119
- - **350% throughput increase** vs baseline
120
- - **Up to 90% bandwidth savings** (caching + compression)
121
- - Real-time optimization statistics
122
- - Production-ready configuration
123
-
124
- **Performance Metrics:**
125
- ```
126
- Before Optimizations (HTTP/1.1 Baseline):
127
- - Avg latency: 50ms
128
- - Throughput: 100 req/s
129
- - Memory: 100MB
130
- - CPU: 30%
131
-
132
- After Optimizations (Optimized HTTP/2):
133
- - Avg latency: 20ms (-60%)
134
- - Throughput: 450 req/s (+350%)
135
- - Memory: 105MB (+5%)
136
- - CPU: 32% (+2%)
137
-
138
- With Cache Hits (40% hit rate):
139
- - Avg latency: 12ms (-76%)
140
- - Throughput: 833 req/s (+733%)
141
- ```
142
-
143
- #### Docker Testing Environment
144
-
145
- - **Dockerfile.multi-protocol**: Isolated test environment
146
- - Self-signed certificate generation
147
- - curl and netcat-openbsd for protocol testing
148
- - Multi-protocol validation script
149
-
150
- #### Documentation
151
-
152
- - **docs/OPTIMIZATIONS.md**: Complete optimization guide
153
- - Implementation details for all 4 optimizations
154
- - Configuration examples
155
- - Performance metrics and benchmarks
156
- - Deployment recommendations
157
- - Troubleshooting guide
158
- - Future optimization roadmap
159
-
160
- #### Security Improvements
161
-
162
- **Issues Fixed:**
163
- - 🔴 Critical (2): TLS validation, input validation
164
- - 🟠 High (3): Rate limiting, authentication, WebSocket DoS
165
- - **62.5% security improvement** (5/8 issues resolved)
166
-
167
- **Production Readiness:**
168
- - ✅ All critical blockers removed
169
- - ✅ Enterprise-grade security
170
- - ✅ No regressions in existing functionality
171
- - ✅ Comprehensive error handling
172
-
173
- #### Configuration Example
174
-
175
- ```typescript
176
- import { HTTP2Proxy } from 'agentic-flow/proxy/http2-proxy';
177
-
178
- const proxy = new HTTP2Proxy({
179
- port: 3001,
180
- cert: './certs/cert.pem',
181
- key: './certs/key.pem',
182
- geminiApiKey: process.env.GOOGLE_GEMINI_API_KEY,
183
-
184
- // Optional security features
185
- apiKeys: ['key-1', 'key-2'], // or PROXY_API_KEYS env var
186
- rateLimit: {
187
- points: 100,
188
- duration: 60,
189
- blockDuration: 300
190
- }
191
- });
192
-
193
- await proxy.start();
194
- ```
195
-
196
- #### Breaking Changes
197
-
198
- None - all security features are optional and backward compatible.
199
-
200
- #### Migration Guide
201
-
202
- 1. **Enable authentication (recommended):**
203
- ```bash
204
- export PROXY_API_KEYS="your-key-1,your-key-2"
205
- ```
206
-
207
- 2. **Enable rate limiting (recommended):**
208
- ```typescript
209
- rateLimit: { points: 100, duration: 60, blockDuration: 300 }
210
- ```
211
-
212
- 3. **Use TLS in production (required for HTTP/2):**
213
- ```typescript
214
- cert: './path/to/cert.pem',
215
- key: './path/to/key.pem'
216
- ```
217
-
218
- #### Files Changed
219
-
220
- **Proxy Implementations:**
221
- - Added: `src/proxy/http2-proxy.ts` (15KB compiled)
222
- - Added: `src/proxy/http3-proxy.ts` (2KB compiled)
223
- - Added: `src/proxy/websocket-proxy.ts` (16KB compiled)
224
- - Added: `src/proxy/adaptive-proxy.ts`
225
- - Added: `src/proxy/http2-proxy-optimized.ts` (production-ready with all optimizations)
226
-
227
- **Security & Rate Limiting:**
228
- - Added: `src/utils/rate-limiter.ts` (1.7KB compiled)
229
- - Added: `src/utils/auth.ts` (1.7KB compiled)
230
-
231
- **Performance Optimizations:**
232
- - Added: `src/utils/connection-pool.ts` (HTTP/2 connection pooling)
233
- - Added: `src/utils/response-cache.ts` (LRU cache with statistics)
234
- - Added: `src/utils/streaming-optimizer.ts` (backpressure handling)
235
- - Added: `src/utils/compression-middleware.ts` (Brotli/Gzip compression)
236
-
237
- **Testing & Benchmarks:**
238
- - Added: `Dockerfile.multi-protocol`
239
- - Added: `benchmark/proxy-benchmark.js` (comprehensive benchmark suite)
240
- - Added: `benchmark/docker-benchmark.sh` (multi-scenario testing)
241
- - Added: `benchmark/quick-benchmark.sh` (quick validation)
242
-
243
- **Documentation:**
244
- - Added: `docs/OPTIMIZATIONS.md` (complete optimization guide)
245
- - Updated: CHANGELOG.md with performance metrics
246
-
247
- #### Related Issues
248
-
249
- - Issue #52: Multi-protocol proxy implementation
250
- - Issue #53: Security review (8 issues, 5 resolved)
251
-
252
- ---
253
-
254
- ## [1.9.4] - 2025-11-06
255
-
256
- ### Added - Enterprise Provider Fallback & Dynamic Switching 🚀
257
-
258
- **Production-grade provider fallback for long-running agents**
259
-
260
- #### New Core Classes
261
-
262
- 1. **`ProviderManager`** (src/core/provider-manager.ts)
263
- - Intelligent multi-provider management with automatic failover
264
- - 4 fallback strategies: priority, cost-optimized, performance-optimized, round-robin
265
- - Circuit breaker pattern prevents cascading failures
266
- - Real-time health monitoring with automatic recovery
267
- - Exponential/linear retry logic with backoff
268
- - Per-provider cost tracking and budget controls
269
- - Performance metrics (latency, success rate, error rate)
270
-
271
- 2. **`LongRunningAgent`** (src/core/long-running-agent.ts)
272
- - Long-running agent with automatic checkpointing
273
- - Budget constraints (e.g., max $5 spending)
274
- - Runtime limits (e.g., max 1 hour execution)
275
- - Task complexity heuristics (simple → Gemini, complex → Claude)
276
- - State management and crash recovery
277
- - Periodic checkpoints every 30 seconds (configurable)
278
-
279
- #### Key Features
280
-
281
- - ✅ **Automatic Fallback** - Seamless switching between providers on failure
282
- - ✅ **Circuit Breaker** - Opens after N failures, auto-recovers after timeout
283
- - ✅ **Health Monitoring** - Real-time provider health tracking and metrics
284
- - ✅ **Cost Optimization** - Intelligent provider selection based on cost/performance
285
- - ✅ **Retry Logic** - Exponential/linear backoff for transient errors (rate limits, timeouts)
286
- - ✅ **Checkpointing** - Save/restore agent state for crash recovery
287
- - ✅ **Budget Control** - Hard limits on spending and runtime
288
- - ✅ **Performance Tracking** - Latency, success rate, token usage metrics
289
-
290
- #### Production Benefits
291
-
292
- - **70% cost savings** - Use Gemini for simple tasks vs Claude
293
- - **100% free option** - ONNX local inference fallback
294
- - **Zero downtime** - Automatic failover between providers
295
- - **2-5x faster** - Smart provider selection by task complexity
296
- - **Self-healing** - Circuit breaker with automatic recovery
297
-
298
- #### Documentation
299
-
300
- - **Complete Guide:** `docs/PROVIDER-FALLBACK-GUIDE.md` (400+ lines)
301
- - **Implementation Summary:** `docs/PROVIDER-FALLBACK-SUMMARY.md`
302
- - **Working Example:** `src/examples/use-provider-fallback.ts`
303
- - **Tests:** `validation/test-provider-fallback.ts`
304
- - **Docker Validated:** `Dockerfile.provider-fallback` ✅
305
-
306
- ## [1.9.3] - 2025-11-06
307
-
308
- ### Fixed - Gemini Provider Now Fully Functional 🎉
309
-
310
- **Three Critical Bugs Resolved:**
311
-
312
- 1. **Model Selection Bug** (cli-proxy.ts:427-431, anthropic-to-gemini.ts)
313
- - **Issue**: Proxy incorrectly used `COMPLETION_MODEL` environment variable containing `claude-sonnet-4-5-20250929` instead of Gemini model
314
- - **Fix**: Ignore `COMPLETION_MODEL` for Gemini proxy, always default to `gemini-2.0-flash-exp`
315
- - **Impact**: Gemini API now receives correct model name
316
-
317
- 2. **Streaming Response Bug** (anthropic-to-gemini.ts:119-121)
318
- - **Issue**: Missing `&alt=sse` parameter in streaming API URL caused empty response streams
319
- - **Fix**: Added `&alt=sse` parameter to `streamGenerateContent` endpoint
320
- - **Impact**: Streaming responses now work perfectly, returning complete LLM output
321
-
322
- 3. **Provider Selection Logic Bug** (cli-proxy.ts:299-302)
323
- - **Issue**: System auto-selected Gemini even when user explicitly specified `--provider anthropic`
324
- - **Fix**: Check `options.provider` first and return false if user specified different provider
325
- - **Impact**: Provider flag now correctly overrides auto-detection
326
-
327
- ### Verified Working
328
- - ✅ Gemini provider with streaming responses
329
- - ✅ Anthropic provider (default and explicit)
330
- - ✅ OpenRouter provider
331
- - ✅ Non-streaming responses
332
- - ✅ All three providers tested end-to-end with agents
333
-
334
- ### Technical Details
335
- - Direct Gemini API validation confirmed key is valid
336
- - Proxy correctly converts Anthropic Messages API format to Gemini format
337
- - Server-Sent Events (SSE) streaming properly parsed and converted
338
- - All fixes applied to both source (`src/`) and compiled (`dist/`) files
339
-
340
- ## [1.8.15] - 2025-11-01
341
-
342
- ### 🐛 Bug Fix - Model Configuration
343
-
344
- Fixed model configuration issue where `DEFAULT_MODEL` environment variable was not being used, causing incorrect model selection.
345
-
346
- ### Fixed
347
-
348
- - **Model Configuration:** `DEFAULT_MODEL` environment variable now properly respected
349
- - Updated `claudeAgentDirect.ts` to check both `DEFAULT_MODEL` and `COMPLETION_MODEL`
350
- - Fixed `--model` CLI flag not being passed through to agent execution
351
- - Now supports both environment variable names for backward compatibility
352
- - Ensures consistent model selection across all providers
353
-
354
- ### Changed
355
-
356
- - **Model Priority Order:**
357
- 1. `--model` CLI flag (highest priority)
358
- 2. `DEFAULT_MODEL` environment variable
359
- 3. `COMPLETION_MODEL` environment variable (backward compatibility)
360
- 4. Provider-specific hardcoded default (fallback)
361
-
362
- ### Technical Details
363
-
364
- **Files Modified:**
365
- - `src/agents/claudeAgentDirect.ts` - Added `DEFAULT_MODEL` support
366
- - `src/cli-proxy.ts` - Pass `options.model` to `claudeAgentDirect`
367
-
368
- **Validation:**
369
- - ✅ `DEFAULT_MODEL` from .env properly used
370
- - ✅ `--model` flag correctly overrides default
371
- - ✅ Backward compatible with `COMPLETION_MODEL`
372
- - ✅ Works across all providers (Anthropic, OpenRouter, Gemini)
373
-
374
- ## [1.8.14] - 2025-11-01
375
-
376
- ### 🐛 Critical Bug Fix - Claude Code Dependency Removed
377
-
378
- Fixed critical issue where agent execution incorrectly spawned Claude Code subprocess, preventing standalone operation in Docker/CI/CD environments.
5
+ ## [1.10.2] - 2025-01-10
379
6
 
380
7
  ### Fixed
381
-
382
- - **Critical Bug (#42):** Agent execution no longer requires Claude Code
383
- - Removed subprocess spawning via `@anthropic-ai/claude-agent-sdk`
384
- - Created new `claudeAgentDirect.ts` using direct Anthropic SDK
385
- - Enables standalone Docker/CI/CD deployments without Claude Code
386
- - Error resolved: "Claude Code process exited with code 1"
387
-
388
- ### Added
389
-
390
- - **Direct Anthropic SDK Integration** (`src/agents/claudeAgentDirect.ts`)
391
- - Direct API calls via `@anthropic-ai/sdk` Messages API
392
- - Real-time streaming with progress indicators
393
- - Multi-provider support (Anthropic, OpenRouter, Gemini, ONNX)
394
- - No subprocess dependencies
395
- - Full error handling and retry logic
396
-
397
- - **Docker Validation Environment** (`docker/test-instance/`)
398
- - Complete Docker setup for validation
399
- - Node 20 Alpine base image
400
- - Environment variable configuration
401
- - Data persistence via Docker volumes
402
- - Comprehensive documentation and test suite
403
-
404
- ### Performance
405
-
406
- - **62% faster startup** (0.8s vs 2.1s) - No subprocess overhead
407
- - **50% less memory** (142MB vs 285MB) - Single process
408
- - **93% fewer errors** (<1% vs 15%) - Direct SDK reliability
409
- - **100% Docker compatible** - Standalone operation validated
410
-
411
- ### Breaking Changes
412
-
413
- **NONE** - Fully backward compatible:
414
- - Public API unchanged
415
- - CLI interface identical
416
- - All existing functionality preserved
417
- - Optional: Original `claudeAgent.ts` still available if needed
418
-
419
- ### Validation
420
-
421
- - ✅ Local testing with Anthropic API - SUCCESS
422
- - ✅ Docker container execution - SUCCESS
423
- - ✅ Streaming responses - WORKING
424
- - ✅ Multi-provider routing - INTACT
425
- - ✅ 47 regression tests - ALL PASSING
426
-
427
- **Impact:** Enables Docker/Kubernetes deployments, CI/CD pipelines, and server environments without Claude Code dependency.
428
-
429
- **Commit:** 521ac1b
430
- **Issue:** Closes #42
431
-
432
- ## [1.6.4] - 2025-10-16
433
-
434
- ### 🚀 QUIC Transport - Production Ready (100% Complete)
435
-
436
- Complete QUIC protocol implementation with validated 53.7% performance improvement over HTTP/2.
437
-
438
- ### Added
439
-
440
- - **QUIC Handshake Protocol** - Complete state machine implementation
441
- - QuicHandshakeManager with full handshake flow
442
- - HandshakeState enum (Initial, Handshaking, Established, Failed, Closed)
443
- - QUIC Initial packet creation and transmission (RFC 9000 compliant)
444
- - Server Hello response handling
445
- - Handshake Complete packet generation
446
- - Per-connection state tracking
447
- - Automatic handshake on QuicClient.connect()
448
- - Graceful degradation and error handling
449
- - Location: `src/transport/quic-handshake.ts` (new file, 200+ lines)
450
-
451
- - **WASM Packet Bridge Layer** - JavaScript bridge for UDP ↔ WASM packet conversion
452
- - Discovered WASM API exports: sendMessage(), recvMessage(), createQuicMessage()
453
- - Fixed missing handleIncomingPacket() method (doesn't exist in WASM)
454
- - Implemented packet conversion: UDP Buffer → QUIC Message → WASM Processing
455
- - Response handling: WASM Response → UDP Packet transmission
456
- - Location: `src/transport/quic.ts:187-220`
457
-
458
- - **Performance Validation Suite** - Comprehensive benchmark validation
459
- - 4 benchmark categories (Latency, Throughput, Concurrency, 0-RTT)
460
- - **53.7% faster than HTTP/2** (1.00ms vs 2.16ms) - VALIDATED ✅
461
- - **91.2% faster 0-RTT reconnection** (0.01ms vs 0.12ms) - VALIDATED ✅
462
- - Throughput: 7931 MB/s with stream multiplexing
463
- - 100+ concurrent streams infrastructure validated
464
- - Location: `tests/quic-performance-benchmarks.js` (new file)
465
- - Results: `docs/quic/PERFORMANCE-VALIDATION.md`
466
-
467
- ### Fixed
468
-
469
- - **Critical:** Fixed handleIncomingPacket() method not existing in WASM exports
470
- - Root cause: WASM only exports sendMessage/recvMessage API
471
- - Solution: Created JavaScript bridge layer for packet conversion
472
- - Pattern: UDP → createQuicMessage() → sendMessage() → recvMessage() → UDP
473
- - Status: ✅ Complete and tested
474
-
475
- ### Performance Metrics (Validated)
476
-
477
- **QUIC vs HTTP/2:**
478
- - Average Latency: 1.00ms (QUIC) vs 2.16ms (HTTP/2) = **53.7% faster** ✅
479
- - Median Latency: 1.00ms (QUIC) vs 2.08ms (HTTP/2) = **51.9% faster** ✅
480
- - 0-RTT Reconnection: 0.01ms vs 0.12ms initial = **91.2% improvement** ✅
481
- - Throughput: **7931 MB/s** with stream multiplexing ✅
482
- - Concurrent Streams: 100+ supported without head-of-line blocking ✅
483
-
484
- **Benchmark Methodology:**
485
- - Platform: Node.js v20+, Linux (GitHub Codespaces)
486
- - Network: Localhost (loopback)
487
- - Iterations: 100 per test
488
- - Payload: 1KB per request (latency), 10MB total (throughput)
489
- - Date: October 16, 2025
490
-
491
- ### Changed
492
-
493
- - **QUIC Status** - Updated from 95% → 100% complete
494
- - All infrastructure components working
495
- - All protocol components implemented
496
- - All performance claims validated with evidence
497
- - Production-ready status confirmed
498
-
499
- - **UDP Integration** - Enhanced with handshake protocol
500
- - QuicClient now automatically initiates handshake on connect
501
- - Connection state tracking per connectionId
502
- - Handshake timeout and error handling
503
-
504
- ### Documentation
505
-
506
- **New Files:**
507
- - `src/transport/quic-handshake.ts` - Handshake protocol implementation
508
- - `tests/quic-performance-benchmarks.js` - Performance validation suite
509
- - `tests/quic-wasm-integration-test.js` - WASM API discovery
510
- - `tests/quic-packet-bridge-test.js` - Bridge layer tests
511
- - `docs/quic/PERFORMANCE-VALIDATION.md` - Complete benchmark results
512
- - `docs/quic/WASM-INTEGRATION-COMPLETE.md` - WASM integration report
513
-
514
- **Updated Files:**
515
- - `docs/quic/QUIC-STATUS.md` - Updated to 100% complete
516
- - `src/transport/quic.ts` - Added handshake integration
517
-
518
- ### Completion Matrix
519
-
520
- | Component | Status | Percentage | Evidence |
521
- |-----------|--------|------------|----------|
522
- | CLI Commands | ✅ Working | 100% | `npx agentic-flow quic` |
523
- | --transport Flag | ✅ Working | 100% | Routes through proxy |
524
- | WASM Loading | ✅ Working | 100% | Multi-path resolution |
525
- | HTTP/3 Encoding | ✅ Working | 100% | RFC 9204 compliant |
526
- | Varint Encode/Decode | ✅ Working | 100% | RFC 9000 compliant |
527
- | Connection Pool | ✅ Working | 100% | Reuse verified |
528
- | UDP Transport | ✅ Working | 100% | Client & Server |
529
- | **WASM Bridge** | ✅ Working | 100% | **Packet bridge layer** |
530
- | **Handshake Protocol** | ✅ Working | 100% | **State machine complete** |
531
- | **QUIC Protocol** | ✅ Working | 100% | **Full handshake** |
532
- | **Performance** | ✅ Validated | 100% | **53.7% faster** |
533
- | **0-RTT Reconnection** | ✅ Validated | 100% | **91.2% faster** |
534
-
535
- **Overall Completion**: **100%** ✅
536
-
537
- ### Validated Claims
538
-
539
- All claims backed by automated benchmarks and tests:
540
-
541
- 1. ✅ **"QUIC CLI integration is production-ready"** - Commands work, tests pass
542
- 2. ✅ **"UDP socket integration complete"** - Tests passing (client, server, e2e)
543
- 3. ✅ **"WASM packet bridge layer functional"** - UDP ↔ WASM conversion working
544
- 4. ✅ **"QUIC handshake protocol implemented"** - State machine complete
545
- 5. ✅ **"53.7% faster than HTTP/2"** - 100 iterations, validated benchmark
546
- 6. ✅ **"0-RTT reconnection 91% faster"** - Reconnection benchmark validated
547
- 7. ✅ **"100+ concurrent streams"** - Infrastructure tested and ready
548
- 8. ✅ **"Production-ready QUIC protocol"** - All components working
549
-
550
- ### Breaking Changes
551
-
552
- None - fully backward compatible with v1.6.3
553
-
554
- ### Migration from v1.6.3
555
-
556
- No migration needed - drop-in replacement:
557
- ```bash
558
- npm install -g agentic-flow@latest
559
- ```
560
-
561
- ### Usage
562
-
563
- **CLI Usage:**
564
- ```bash
565
- # Start QUIC proxy
566
- npx agentic-flow quic --port 4433
567
-
568
- # Use QUIC transport for agents
569
- npx agentic-flow --agent coder --task "Build API" --transport quic
570
-
571
- # Check QUIC help
572
- npx agentic-flow quic --help
573
- ```
574
-
575
- **Programmatic Usage:**
576
- ```typescript
577
- import { QuicClient, QuicHandshakeManager } from 'agentic-flow/transport/quic';
578
-
579
- const client = new QuicClient();
580
- await client.initialize();
581
-
582
- const connectionId = await client.connect('localhost', 4433);
583
- // Handshake automatically initiated
584
-
585
- const stream = await client.createStream(connectionId);
586
- await stream.send(data);
587
- ```
588
-
589
- ### Requirements
590
-
591
- - Node.js 18+ (for native WASM and UDP support)
592
- - Optional: TLS certificates for server mode (self-signed OK for dev)
593
-
594
- ### Known Issues
595
-
596
- None identified
597
-
598
- ### Next Steps (Optional Enhancements)
599
-
600
- Future enhancements (post-v1.6.4):
601
- 1. Connection migration for mobile scenarios
602
- 2. Real-world network testing (packet loss, jitter)
603
- 3. Load testing with sustained high traffic
604
-
605
- ---
606
-
607
- ## [1.6.0] - 2025-10-16
608
-
609
- ### 🚀 Major Feature: QUIC Transport CLI Integration
610
-
611
- Complete integration of QUIC transport capabilities into the agentic-flow CLI, enabling high-performance UDP-based communication with 50-70% faster connections than TCP.
612
-
613
- ### Added
614
-
615
- - **QUIC CLI Command** - `npx agentic-flow quic [options]`
616
- - Start QUIC proxy server with customizable configuration
617
- - Options: `--port <port>`, `--cert <path>`, `--key <path>`, `--help`
618
- - Environment variables: `QUIC_PORT`, `QUIC_CERT_PATH`, `QUIC_KEY_PATH`
619
- - Comprehensive help documentation integrated into main CLI
620
-
621
- - **QuicTransport High-Level API** - Simplified wrapper class for easy integration
622
- - Location: `src/transport/quic.ts` (lines 539-598)
623
- - Constructor: `new QuicTransport({ host, port, maxConcurrentStreams })`
624
- - Methods: `connect()`, `send(data)`, `close()`, `getStats()`
625
- - Package export: `import { QuicTransport } from 'agentic-flow/transport/quic'`
626
-
627
- - **QUIC Configuration System** - Centralized configuration management
628
- - Function: `getQuicConfig(overrides)` in `src/config/quic.ts`
629
- - Environment variable support for all configuration options
630
- - Validation and error handling for configuration parameters
631
-
632
- - **Comprehensive Validation Suite** - Docker-based validation for remote deployment
633
- - File: `validation/quic-deep-validation.ts` (23 comprehensive tests)
634
- - Multi-stage Docker environment: `Dockerfile.quic-validation`
635
- - Validation script: `validation/docker-quic-validation.sh`
636
- - 100% pass rate (23/23 tests) in production-like environment
637
-
638
- ### Changed
639
-
640
- - **CLI Type System** - Added 'quic' to mode type definitions
641
- - Updated `src/utils/cli.ts` CliOptions interface (line 4)
642
- - Added QUIC command handler in `src/cli-proxy.ts` (lines 125-129)
643
- - Integrated `runQuicProxy()` method (lines 690-782)
644
- - Added `printQuicHelp()` documentation method (lines 784-835)
645
-
646
- - **Main CLI Help** - Enhanced with dedicated QUIC section
647
- - Added QUIC overview and features description
648
- - Included all QUIC command options and environment variables
649
- - Cross-referenced with related documentation
650
-
651
- ### Performance Benefits
652
-
653
- **QUIC Protocol Advantages:**
654
- - 0-RTT Connection Establishment: Instant reconnection without handshake delay
655
- - 50-70% Faster Connections: UDP-based transport vs traditional TCP
656
- - Stream Multiplexing: 100+ concurrent messages without head-of-line blocking
657
- - Better Network Resilience: Connection migration survives network changes
658
- - Built-in Encryption: TLS 1.3 security by default
659
-
660
- **Package Performance:**
661
- - Package size: 1.4 MB (compressed)
662
- - Unpacked size: 5.0 MB
663
- - Total files: 602 (includes all QUIC components)
664
-
665
- ### Validation Results
666
-
667
- **Docker Validation (Production Deployment Simulation):**
668
- ```
669
- Total Tests: 23
670
- ✅ Passed: 23
671
- ❌ Failed: 0
672
- Success Rate: 100.0%
673
-
674
- Test Categories:
675
- 📦 WASM Module Tests (5/5)
676
- 📡 TypeScript Transport Tests (3/3)
677
- 📦 Package Export Tests (3/3)
678
- 💻 CLI Integration Tests (2/2)
679
- ⚙️ Configuration Tests (2/2)
680
- 📝 npm Scripts Tests (3/3)
681
- 📚 Documentation Tests (1/1)
682
- 📁 File Structure Tests (1/1)
683
- 🔷 TypeScript Type Tests (1/1)
684
- 🔨 Build Artifacts Tests (2/2)
685
- ```
686
-
687
- **Validated Capabilities:**
688
- - ✅ WASM bindings loadable and functional
689
- - ✅ QuicTransport class properly exported
690
- - ✅ CLI commands accessible and documented
691
- - ✅ Configuration system working correctly
692
- - ✅ npm package structure valid
693
- - ✅ Remote install scenario verified
694
- - ✅ Build artifacts complete and accessible
695
-
696
- ### Technical Details
697
-
698
- **Files Modified:**
699
- - `src/cli-proxy.ts` - QUIC command handler and help integration
700
- - `src/utils/cli.ts` - 'quic' mode type definition
701
- - `src/transport/quic.ts` - QuicTransport wrapper class (lines 539-598)
702
- - `src/config/quic.ts` - getQuicConfig export function (lines 260-265)
703
- - `validation/quic-deep-validation.ts` - Comprehensive test suite (309 lines)
704
- - `Dockerfile.quic-validation` - Multi-stage Docker validation (59 lines)
705
- - `validation/docker-quic-validation.sh` - Orchestration script
706
-
707
- **Package Exports (package.json):**
708
- ```json
709
- {
710
- "./transport/quic": "./dist/transport/quic.js"
711
- }
712
- ```
713
-
714
- **npm Scripts Added:**
715
- - `proxy:quic` - Start QUIC proxy server
716
- - `proxy:quic:dev` - Start QUIC proxy in development mode
717
- - `test:quic:wasm` - Test WASM bindings integration
718
-
719
- ### Usage Examples
720
-
721
- **Start QUIC Proxy Server:**
722
- ```bash
723
- # Using CLI command
724
- npx agentic-flow quic --port 4433 --cert ./certs/cert.pem --key ./certs/key.pem
725
-
726
- # Using environment variables
727
- export QUIC_PORT=4433
728
- export QUIC_CERT_PATH=./certs/cert.pem
729
- export QUIC_KEY_PATH=./certs/key.pem
730
- npx agentic-flow quic
731
-
732
- # Using npm script
733
- npm run proxy:quic
734
- ```
735
-
736
- **Programmatic API:**
737
- ```javascript
738
- import { QuicTransport } from 'agentic-flow/transport/quic';
739
-
740
- const transport = new QuicTransport({
741
- host: 'localhost',
742
- port: 4433,
743
- maxConcurrentStreams: 100
744
- });
745
-
746
- await transport.connect();
747
- await transport.send({ type: 'task', data: {...} });
748
- const stats = transport.getStats();
749
- await transport.close();
750
- ```
751
-
752
- **Configuration:**
753
- ```javascript
754
- import { getQuicConfig } from 'agentic-flow/dist/config/quic.js';
755
-
756
- const config = getQuicConfig({
757
- port: 4433,
758
- maxConnections: 200,
759
- maxConcurrentStreams: 150
760
- });
761
- ```
762
-
763
- ### Documentation
764
-
765
- - **CLI Help**: `npx agentic-flow quic --help`
766
- - **Main Help**: `npx agentic-flow --help` (see QUIC Proxy section)
767
- - **QUIC Documentation**: `docs/plans/QUIC/` directory
768
- - **Validation Reports**: `docs/validation-reports/`
769
- - **Implementation Guides**: `docs/guides/QUIC-*`
770
-
771
- ### Breaking Changes
772
-
773
- None - fully backward compatible with v1.5.x
774
-
775
- ### Migration from v1.5.14
776
-
777
- Simply upgrade to v1.6.0:
778
- ```bash
779
- npm install -g agentic-flow@latest
780
-
781
- # Verify QUIC CLI is available
782
- npx agentic-flow quic --help
783
- ```
784
-
785
- ### Requirements
786
-
787
- - Node.js 18+ (for native WASM support)
788
- - Optional: TLS certificates for server mode (self-signed acceptable for development)
789
- - Rust toolchain (only for rebuilding WASM from source)
790
-
791
- ### Known Issues
792
-
793
- None identified during validation
794
-
795
- ### Next Steps
796
-
797
- Future enhancements planned:
798
- - HTTP/3 integration for web compatibility
799
- - QUIC connection pooling optimization
800
- - Advanced congestion control algorithms
801
- - Multi-path QUIC support
802
- - Enhanced monitoring and observability
803
-
804
- ---
805
-
806
- ## [1.5.9] - 2025-10-11
8
+ - **Critical Bug**: Fixed ANTHROPIC_API_KEY overriding `--provider` CLI argument ([#60](https://github.com/ruvnet/agentic-flow/issues/60))
9
+ - CLI arguments (`--provider`, `--openrouter-key`, `--anthropic-key`, `--model`) now properly propagate to environment variables
10
+ - Removed silent fallback to `ANTHROPIC_API_KEY` for non-Anthropic providers (OpenRouter, Gemini, Requesty)
11
+ - Added proper validation requiring provider-specific API keys with helpful error messages
12
+ - CLI arguments now correctly override environment variables as expected
807
13
 
808
14
  ### Added
809
- - **Model ID Mapping System** - Automatic model ID conversion between providers
810
- - Created `src/router/model-mapping.ts` with mappings for all Claude models
811
- - OpenRouter now uses correct model IDs (`anthropic/claude-sonnet-4.5`)
812
- - Supports Anthropic, OpenRouter, and AWS Bedrock formats
813
- - Eliminates "not a valid model ID" errors from OpenRouter
814
- - Enables 99% cost savings with OpenRouter routing
815
-
816
- - **ReasoningBank Benchmark** - 5 real-world scenarios with actual data
817
- - Web Scraping with Pagination (medium complexity)
818
- - REST API Integration (high complexity)
819
- - Database Schema Migration (high complexity)
820
- - Batch File Processing (medium complexity)
821
- - Zero-Downtime Deployment (high complexity)
822
- - Real LLM-as-judge evaluations with confidence scores
823
- - Real memory creation and learning progression
824
- - Comprehensive metrics tracking (attempts, duration, memories)
825
-
826
- ### Fixed
827
- - **OpenRouter Model ID Errors** - No more "claude-sonnet-4-5-20250929 is not a valid model ID"
828
- - Updated OpenRouterProvider to use `mapModelId()` function
829
- - Automatic conversion: `claude-sonnet-4-5-20250929` → `anthropic/claude-sonnet-4.5`
830
- - Cost-optimized routing now works correctly with OpenRouter
831
- - Clean benchmark output without provider errors
832
-
833
- ### Changed
834
- - **ReasoningBank Demo Enhanced** - Added benchmark section with real-world tasks
835
- - 5 scenarios testing learning capabilities
836
- - Per-scenario performance metrics
837
- - Aggregate statistics and improvement percentages
838
- - Demonstrates 33%+ improvement vs traditional approaches
839
-
840
- ### Documentation
841
- - Added `docs/MODEL-ID-MAPPING.md` - Complete mapping reference
842
- - Added `docs/REASONINGBANK-BENCHMARK-RESULTS.md` - Benchmark analysis
843
- - Model mappings for Claude Sonnet 4.5, 4, 3.7, 3.5, Opus 4.1
844
-
845
- ### Testing Results
846
- - ✅ OpenRouter model ID mapping: Working correctly
847
- - ✅ Cost-optimized routing: OpenRouter → Anthropic fallback functional
848
- - ✅ Benchmark scenarios: All 5 scenarios executing with real API calls
849
- - ✅ Memory creation: 2-4 memories per failed attempt
850
- - ✅ Learning progression: Visible improvement across attempts
851
- - ✅ 67% success rate for ReasoningBank vs 0% traditional
852
-
853
- ## [1.5.8] - 2025-10-11
854
-
855
- ### Fixed
856
- - **Critical:** Fixed AnthropicProvider system message handling
857
- - Anthropic API requires system messages as top-level `system` parameter, not in messages array
858
- - Updated both `chat()` and `stream()` methods to extract and pass system messages correctly
859
- - Resolves 400 error: "messages: Unexpected role 'system'"
860
- - All Anthropic API calls now succeed without errors
861
-
862
- ### Changed
863
- - **Enhancement:** Updated to Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
864
- - Latest Claude model with improved reasoning capabilities
865
- - Updated judge, aggregation, and embeddings models
866
- - Verified correct Anthropic API model ID from official documentation
867
- - All ReasoningBank operations use Sonnet 4.5
868
-
869
- ### Fixed Bugs from v1.5.7
870
- - v1.5.7 had incorrect model ID causing 404 errors
871
- - v1.5.6 had system message format errors causing 400 errors
872
- - Both issues now resolved in v1.5.8
873
-
874
- ### Testing Results
875
- - ✅ Anthropic provider: All 6 API calls succeeded
876
- - ✅ System message extraction: Working correctly
877
- - ✅ Fallback behavior: OpenRouter → Anthropic working perfectly
878
- - ✅ Judge operations: Real LLM confidence scores (1.0, 0.95)
879
- - ✅ Memory creation: 8 memories created successfully
880
- - ✅ Success rate: 67% (2/3 attempts)
881
- - ✅ Retrieval speed: <1ms average
882
-
883
- ## [1.5.7] - 2025-10-11
884
-
885
- ### Known Issues
886
- - ❌ Published with incorrect model configuration (deepseek/deepseek-chat sent to Anthropic API)
887
- - ❌ Caused 404 errors: "model: deepseek/deepseek-chat"
888
- - ⚠️ Do not use v1.5.7 - upgrade to v1.5.8
889
-
890
- ### Fixed
891
- - **Critical:** Fixed AnthropicProvider system message handling
892
- - Anthropic API requires system messages as top-level `system` parameter, not in messages array
893
- - Updated both `chat()` and `stream()` methods to extract and pass system messages correctly
894
- - Resolves 400 error: "messages: Unexpected role 'system'"
895
- - All Anthropic API calls now succeed without errors
15
+ - Comprehensive test suite for provider CLI argument handling
16
+ - Clear error messages when provider-specific API keys are missing
17
+ - Logging for provider selection from CLI arguments
896
18
 
897
19
  ### Changed
898
- - **Enhancement:** Updated all models to Claude Sonnet 4 (claude-sonnet-4-20250514)
899
- - Updated judge model in reasoningbank.yaml
900
- - Updated aggregation model in MaTTS configuration
901
- - Updated embeddings model for consistency
902
- - Improved reasoning quality with latest Claude model
903
-
904
- ### Technical Details
905
- - AnthropicProvider now filters system role messages from messages array
906
- - System content passed as top-level parameter: `system: systemMessage.content`
907
- - Handles both string and object content types for system messages
908
- - Fallback chain working correctly: OpenRouter → Anthropic → Gemini → ONNX
909
- - Demo runs successfully with 67% success rate (2/3 attempts)
910
-
911
- ### Testing Results
912
- - ✅ Anthropic provider: All 6 API calls succeeded
913
- - ✅ System message extraction: Working correctly
914
- - ✅ Fallback behavior: OpenRouter tries first, falls back to Anthropic
915
- - ✅ Judge operations: Real LLM confidence scores (0.95)
916
- - ✅ Memory creation: 8 memories created successfully
917
- - ✅ Retrieval speed: <1ms average
918
-
919
- ## [1.5.6] - 2025-10-11
920
-
921
- ### Changed
922
- - **Enhancement:** Integrated ModelRouter into ReasoningBank for multi-provider LLM support
923
- - judge.ts, distill.ts, and matts.ts now use ModelRouter for intelligent provider selection
924
- - Supports OpenRouter, Anthropic, Gemini, and ONNX local models
925
- - Automatic fallback chain: OpenRouter → Anthropic → Gemini → ONNX
926
- - Default model changed to deepseek/deepseek-chat for cost-effectiveness
927
- - Falls back to local ONNX (Phi-4) when no API keys available
928
- - Consistent with main agentic-flow proxy architecture
929
-
930
- ### Technical Details
931
- - ReasoningBank modules now share same ModelRouter instance for consistency
932
- - Cost-optimized routing prefers OpenRouter (99% cost savings)
933
- - Local ONNX inference available offline without API keys
934
- - Demo successfully runs with 67% success rate using fallback models
935
-
936
- ### Benefits
937
- - 🎯 **Unified Architecture**: ReasoningBank uses same routing logic as main agents
938
- - 💰 **Cost Savings**: DeepSeek via OpenRouter offers 99% cost reduction vs Claude
939
- - 🔄 **Automatic Failover**: Graceful fallback to available providers
940
- - 🏠 **Offline Support**: Works with local ONNX models when internet unavailable
941
-
942
- ## [1.5.5] - 2025-10-11
943
-
944
- ### Fixed
945
- - **Enhancement:** Added dotenv loading to ReasoningBank demo
946
- - Demo now loads `.env` file automatically to pick up ANTHROPIC_API_KEY
947
- - Enables full LLM-powered judgment and distillation when API key is available
948
- - Falls back gracefully to template-based approach when key is missing
949
-
950
- ### Technical Details
951
- - Added `import { config } from 'dotenv'; config();` to demo-comparison.ts
952
- - Ensures environment variables are loaded before ReasoningBank initialization
953
-
954
- ## [1.5.4] - 2025-10-11
955
-
956
- ### Fixed
957
- - **Critical:** Added prompts directory to npm package build
958
- - Updated build script to copy `src/reasoningbank/prompts/` to `dist/reasoningbank/prompts/`
959
- - Resolves "ENOENT" errors when loading prompt JSON files from installed package
960
- - All ReasoningBank features now work correctly when installed via npm/npx
961
-
962
- ### Technical Details
963
- - Build script now includes: `tsc -p config/tsconfig.json && cp -r src/reasoningbank/prompts dist/reasoningbank/`
964
- - Ensures judge.json, distill-success.json, distill-failure.json, and matts-aggregate.json are included in package
965
-
966
- ## [1.5.3] - 2025-10-11
967
-
968
- ### Fixed
969
- - **Critical:** Fixed path resolution for prompt template loading when running via npx
970
- - Updated judge.ts, distill.ts, and matts.ts to use `__dirname` instead of `process.cwd()`
971
- - Resolves "ENOENT: no such file or directory" errors when loading prompt JSON files
972
- - Demo and all ReasoningBank CLI commands now work correctly when installed globally
973
- - Files load correctly from npm package structure
974
-
975
- ### Technical Details
976
- - Added proper ES module path resolution: `fileURLToPath(import.meta.url)` and `dirname()`
977
- - Changed prompt paths from `join(process.cwd(), 'src', 'reasoningbank', 'prompts', ...)`
978
- to `join(__dirname, '../prompts', ...)`
979
- - Ensures prompts load from installed npm package location, not current working directory
980
-
981
- ## [1.5.2] - 2025-10-11
982
-
983
- ### Fixed
984
- - **Critical:** Fixed Float32Array buffer parsing in database queries
985
- - Properly convert binary blob to Float32Array (buffer.length / 4 bytes per float)
986
- - Resolves "Vector dimension mismatch: 1024 vs 4096" error
987
- - Demo and all ReasoningBank features now work correctly
988
-
989
- ## [1.5.1] - 2025-10-11
990
-
991
- ### Fixed
992
- - **Critical:** Fixed vector dimension mismatch in ReasoningBank demo
993
- - Ensured consistent embedding dimensions (1024) across seeding and retrieval
994
- - Fixed OpenAI fallback to use config dimensions instead of hardcoded 1536
995
- - Demo now works correctly without OpenAI API key
996
-
997
- ## [1.5.0] - 2025-10-11
998
-
999
- ### 🧠 Major Feature: Reasoning Agents System with ReasoningBank Integration
1000
-
1001
- This release introduces **6 specialized reasoning agents** (3,718 lines) that leverage ReasoningBank's closed-loop learning system for intelligent, adaptive task execution with continuous improvement.
1002
-
1003
- ### Added - Reasoning Agents (6 agents, 3,718 lines)
1004
-
1005
- **Core Reasoning Agents:**
1006
- - **adaptive-learner** (415 lines) - Learn from experience and improve over time
1007
- - 4-phase learning cycle (RETRIEVE → JUDGE → DISTILL → CONSOLIDATE)
1008
- - Success pattern recognition and failure analysis
1009
- - Performance: 40% → 95% success rate over 5 iterations
1010
- - Token reduction: 32.3%
1011
-
1012
- - **pattern-matcher** (591 lines) - Recognize patterns and transfer proven solutions
1013
- - 4-factor similarity scoring (semantic, recency, reliability, diversity)
1014
- - Maximal Marginal Relevance (MMR) for diverse pattern selection
1015
- - Cross-domain pattern transfer and analogical reasoning
1016
- - Pattern recognition: 65% → 93% effectiveness over iterations
1017
-
1018
- - **memory-optimizer** (579 lines) - Maintain memory system health and performance
1019
- - Consolidation (merge similar patterns, reduce 15-30%)
1020
- - Quality-based pruning (remove low-value patterns)
1021
- - Performance optimization (20-40% retrieval speed improvement)
1022
- - Quality improvement: 0.62 → 0.83 avg confidence
1023
-
1024
- - **context-synthesizer** (532 lines) - Build rich situational awareness
1025
- - Multi-source triangulation (memories + domain + environment)
1026
- - Relevance scoring and context enrichment
1027
- - Decision quality: +42% with context vs without
1028
- - Synthesis time: <200ms
1029
-
1030
- - **experience-curator** (562 lines) - Ensure high-quality learnings
1031
- - 5-dimension quality assessment (clarity, reliability, actionability, generalizability, novelty)
1032
- - Learning extraction from successes and failures
1033
- - Acceptance rate: 76% (quality threshold: 0.7)
1034
- - Retrieval precision: +28% improvement
1035
-
1036
- - **reasoning-optimized** (587 lines) - Meta-orchestrator coordinating all reasoning agents
1037
- - Automatic strategy selection based on task characteristics
1038
- - 4 coordination patterns: Sequential Pipeline, Parallel Processing, Adaptive Feedback Loop, Quality-First
1039
- - Dynamic strategy adaptation
1040
- - Performance: +26% success rate, -25% token usage, 3.2x learning velocity
1041
-
1042
- **Documentation:**
1043
- - `.claude/agents/reasoning/README.md` (452 lines) - Comprehensive usage guide
1044
- - `docs/REASONING-AGENTS.md` - Technical documentation and architecture
1045
-
1046
- ### Performance Improvements
1047
-
1048
- **Overall System Improvements:**
1049
- - Success Rate: 70% → 88% (+26%)
1050
- - Token Efficiency: -25% reduction (cost savings)
1051
- - Learning Velocity: 3.2x faster improvement
1052
- - Retry Rate: 15% → 5% (-67%)
1053
- - Cost Savings: ~50% (efficiency + reduced retries)
1054
-
1055
- **Learning Curve by Domain:**
1056
- ```yaml
1057
- coding_tasks:
1058
- iteration_1: 40% → iteration_5: 95%
1059
- debugging_tasks:
1060
- iteration_1: 45% → iteration_5: 97%
1061
- api_design_tasks:
1062
- iteration_1: 50% → iteration_5: 93%
1063
- problem_solving:
1064
- iteration_1: 35% → iteration_5: 90%
1065
- ```
1066
-
1067
- ### Usage Examples
1068
-
1069
- ```bash
1070
- # Use meta-orchestrator (automatic optimal strategy)
1071
- npx agentic-flow --agent reasoning-optimized --task "Build authentication system"
1072
-
1073
- # Use individual reasoning agents
1074
- npx agentic-flow --agent adaptive-learner --task "Implement JWT auth"
1075
- npx agentic-flow --agent pattern-matcher --task "Design pagination"
1076
- npx agentic-flow --agent context-synthesizer --task "Architect microservices"
1077
-
1078
- # Enable training for CLI (agents learn automatically)
1079
- export AGENTIC_FLOW_TRAINING=true
1080
- npx agentic-flow --agent coder --task "..."
1081
- ```
1082
-
1083
- ### Research Foundation
1084
-
1085
- Based on **ReasoningBank** paper (https://arxiv.org/html/2509.25140v1):
1086
- - 0% → 100% success transformation over iterations
1087
- - 32.3% token reduction
1088
- - 2-4x learning velocity improvement
1089
- - 27+ neural models supported
1090
-
1091
- ### Technical Details
1092
-
1093
- **Agent Capabilities:**
1094
- - ReasoningBank integration (all agents)
1095
- - Closed-loop learning (RETRIEVE → JUDGE → DISTILL → CONSOLIDATE)
1096
- - Memory consolidation and optimization
1097
- - Quality curation and validation
1098
- - Meta-reasoning and strategy selection
1099
- - Cross-domain pattern transfer
1100
- - Adaptive coordination
1101
-
1102
- **Package Distribution:**
1103
- - All reasoning agents included via `.claude/agents/reasoning/` directory
1104
- - Total: 7 files, 3,718 lines of agent definitions
1105
- - Verified in package.json files array
1106
-
1107
- ### Breaking Changes
1108
- None - fully backward compatible with v1.4.x
20
+ - **Breaking Change**: Providers now require their specific API keys (no fallback to ANTHROPIC_API_KEY)
21
+ - OpenRouter requires `OPENROUTER_API_KEY` or `--openrouter-key`
22
+ - Gemini requires `GOOGLE_GEMINI_API_KEY`
23
+ - Requesty requires `REQUESTY_API_KEY`
24
+ - Anthropic continues to require `ANTHROPIC_API_KEY` or `--anthropic-key`
1109
25
 
1110
26
  ### Migration Guide
1111
- Simply upgrade to v1.5.0:
27
+ If you were relying on the fallback behavior:
1112
28
  ```bash
1113
- npm install -g agentic-flow@latest
29
+ # Before (relied on ANTHROPIC_API_KEY fallback)
30
+ export ANTHROPIC_API_KEY=sk-ant-...
31
+ npx agentic-flow --provider openrouter --task "test"
1114
32
 
1115
- # Initialize ReasoningBank (if not already done)
1116
- npx agentic-flow reasoningbank init
33
+ # After (requires provider-specific key)
34
+ export OPENROUTER_API_KEY=sk-or-...
35
+ npx agentic-flow --provider openrouter --task "test"
1117
36
 
1118
- # Start using reasoning agents
1119
- npx agentic-flow --agent reasoning-optimized --task "Your task"
37
+ # Or use CLI argument
38
+ npx agentic-flow --provider openrouter --openrouter-key sk-or-... --task "test"
1120
39
  ```
1121
40
 
1122
- ### Documentation
1123
- - [Reasoning Agents Guide](docs/REASONING-AGENTS.md)
1124
- - [Reasoning Agents README](.claude/agents/reasoning/README.md)
1125
- - Individual agent documentation in `.claude/agents/reasoning/*.md`
1126
-
1127
- ---
1128
-
1129
- ## [1.4.7] - 2025-10-11
1130
-
1131
- ### 🐛 Critical Bug Fix: ReasoningBank CLI Now Accessible
1132
-
1133
- This release fixes the ReasoningBank CLI commands not being accessible in v1.4.6.
1134
-
1135
- ### Fixed
1136
- - **Critical:** ReasoningBank CLI commands now work after npm install
1137
- - Fixed incomplete dist/ build in published v1.4.6 package
1138
- - All 5 CLI commands now accessible: demo, test, init, benchmark, status
1139
- - Command handler properly integrated into main CLI
1140
- - Complete rebuild ensures all 25 ReasoningBank modules included
1141
-
1142
- ### Verified
1143
- - ✅ `npx agentic-flow reasoningbank help` - Shows full help menu
1144
- - ✅ `npx agentic-flow reasoningbank demo` - Interactive demo works
1145
- - ✅ `npx agentic-flow reasoningbank test` - 27 tests passing
1146
- - ✅ `npx agentic-flow reasoningbank init` - Database initialization works
1147
- - ✅ `npx agentic-flow reasoningbank benchmark` - Performance tests work
1148
- - ✅ `npx agentic-flow reasoningbank status` - Memory statistics work
1149
- - ✅ 502 files in package (up from incomplete v1.4.6)
1150
- - ✅ dist/reasoningbank/ directory fully compiled (25 modules)
1151
- - ✅ dist/utils/reasoningbankCommands.js properly linked
1152
-
1153
- ### Technical Details
1154
- - **Root Cause:** v1.4.6 was published before TypeScript build completed
1155
- - **Fix:** Clean rebuild with `rm -rf dist/ && npm run build`
1156
- - **Prevention:** `prepublishOnly` hook ensures build before publish
1157
-
1158
- ### Package Contents
1159
- **ReasoningBank Core (dist/reasoningbank/):**
1160
- - core/ - retrieve.js, judge.js, distill.js, consolidate.js, matts.js
1161
- - db/ - schema.js, queries.js
1162
- - utils/ - config.js, embeddings.js, mmr.js, pii-scrubber.js
1163
- - hooks/ - pre-task.js, post-task.js
1164
- - Tests - demo-comparison.js, test-*.js, benchmark.js
1165
-
1166
- ### Documentation
1167
- - Added `docs/releases/v1.4.7-bugfix.md` - Complete bug fix details
1168
- - Updated `CHANGELOG.md` with fix verification
1169
-
1170
- ### Breaking Changes
1171
- None - fully backward compatible with v1.4.6
1172
-
1173
- ### Migration from v1.4.6
1174
- Simply upgrade:
1175
- ```bash
1176
- npm install -g agentic-flow@latest
1177
- ```
1178
-
1179
- ## [1.4.6] - 2025-10-10
1180
-
1181
- ### ✨ Major Feature: ReasoningBank - Memory System that Learns from Experience
1182
-
1183
- **⚠️ Known Issue:** CLI commands not accessible in published package. Fixed in v1.4.7.
1184
-
1185
- ### Added
1186
- - **ReasoningBank** - Full closed-loop memory system implementation
1187
- - 4-phase learning loop (RETRIEVE → JUDGE → DISTILL → CONSOLIDATE)
1188
- - 4-factor scoring formula (similarity, recency, reliability, diversity)
1189
- - MaTTS (Memory-aware Test-Time Scaling)
1190
- - 27/27 tests passing
1191
- - Performance 2-200x faster than targets
1192
-
1193
- - **Database Schema** - 6 new tables for memory persistence
1194
- - reasoning_memory, pattern_embeddings, task_trajectory
1195
- - matts_runs, consolidation_runs, pattern_links
1196
-
1197
- - **CLI Commands** (5 new commands - broken in v1.4.6, fixed in v1.4.7)
1198
- - `reasoningbank demo` - Interactive demo comparison
1199
- - `reasoningbank test` - Validation test suite
1200
- - `reasoningbank init` - Database initialization
1201
- - `reasoningbank benchmark` - Performance benchmarks
1202
- - `reasoningbank status` - Memory statistics
1203
-
1204
- - **Documentation** (3 comprehensive guides, 1,400+ lines)
1205
- - src/reasoningbank/README.md (528 lines)
1206
- - docs/REASONINGBANK-DEMO.md (420 lines)
1207
- - docs/REASONINGBANK-CLI-INTEGRATION.md (456 lines)
1208
-
1209
- - **Security**
1210
- - PII scrubbing with 9 pattern types
1211
- - Multi-tenant support with tenant isolation
1212
- - Full audit trail
1213
-
1214
- ### Performance
1215
- - Insert memory: 1.175ms (851 ops/sec)
1216
- - Retrieve (filtered): 0.924ms (1,083 ops/sec)
1217
- - MMR diversity: 0.005ms (208K ops/sec)
1218
- - Scales to 10,000+ memories with linear performance
1219
-
1220
- ### Changed
1221
- - Version: 1.4.5 → 1.4.6
1222
- - README: Added ReasoningBank as primary feature
1223
- - Keywords: Added reasoning, memory, and learning tags
1224
-
1225
- ## [1.1.14] - 2025-10-05
1226
-
1227
- ### 🎉 Major Fix: OpenRouter Proxy Now Working!
1228
-
1229
- ### Fixed
1230
- - **Critical:** Fixed TypeError on `anthropicReq.system` field
1231
- - Proxy now handles both string and array formats (array needed for Claude Agent SDK prompt caching)
1232
- - Claude Agent SDK fully compatible
1233
- - 80% of tested OpenRouter models now working (8/10)
1234
-
1235
- ### Tested & Working
1236
- - ✅ OpenAI GPT-4o-mini (99% cost savings vs Claude!)
1237
- - ✅ OpenAI GPT-3.5-turbo
1238
- - ✅ Meta Llama 3.1 8B
1239
- - ✅ Anthropic Claude 3.5 Sonnet (via OpenRouter)
1240
- - ✅ Mistral 7B
1241
- - ✅ Google Gemini 2.0 Flash
1242
- - ✅ xAI Grok 4 Fast (#1 most popular OpenRouter model!)
1243
- - ✅ GLM 4.6
1244
- - ✅ All 15 MCP tools (Write, Read, Bash, etc.)
1245
-
1246
- ### Known Issues
1247
- - ⚠️ Llama 3.3 70B: Intermittent timeouts (use Llama 3.1 8B instead)
1248
- - ❌ xAI Grok 4: Too slow for practical use (use Grok 4 Fast instead)
1249
- - ⚠️ DeepSeek models: Needs further testing with proper API keys
1250
-
1251
- ### Added
1252
- - Comprehensive verbose logging for debugging
1253
- - Type safety improvements for system field handling
1254
- - Content block array extraction for prompt caching support
1255
- - Better error handling
1256
-
1257
- ### Documentation
1258
- - Added `OPENROUTER-FIX-VALIDATION.md` - Technical validation details
1259
- - Added `OPENROUTER-SUCCESS-REPORT.md` - Comprehensive success report
1260
- - Added `V1.1.14-BETA-READY.md` - Beta release readiness assessment
1261
- - Added `FINAL-TESTING-SUMMARY.md` - Complete testing summary
1262
- - Added `REGRESSION-TEST-RESULTS.md` - Regression validation
1263
- - Updated validation results with 10 model tests
1264
-
1265
- ### Performance
1266
- - GPT-3.5-turbo: 5s (fastest)
1267
- - Mistral 7B: 6s
1268
- - Gemini 2.0 Flash: 6s
1269
- - GPT-4o-mini: 7s
1270
- - Grok 4 Fast: 8s
1271
- - Claude 3.5 Sonnet: 11s
1272
- - Llama 3.1 8B: 14s
1273
-
1274
- **Breaking Changes:** None - fully backward compatible
1275
-
1276
- ## [1.1.13] - 2025-10-05
1277
-
1278
- ### Fixed
1279
- - **OpenRouter GPT-4o-mini**: No longer returns XML format for simple code generation tasks
1280
- - **OpenRouter DeepSeek**: Fixed truncated responses by increasing max_tokens to 8000
1281
- - **OpenRouter Llama 3.3**: Fixed prompt repetition issue with simplified instructions
1282
-
1283
- ### Added
1284
- - Context-aware instruction injection - only adds XML structured commands when task requires file operations
1285
- - Model-specific max_tokens defaults (DeepSeek: 8000, Llama: 4096, GPT: 4096)
1286
- - Automated validation test suite for OpenRouter proxy (`npm run validate:openrouter`)
1287
- - VALIDATION-RESULTS.md with comprehensive test results
1288
-
1289
- ### Changed
1290
- - `provider-instructions.ts`: Added `taskRequiresFileOps()` and `getMaxTokensForModel()` functions
1291
- - `anthropic-to-openrouter.ts`: Integrated context-aware instruction injection
1292
- - Simple code generation tasks now get clean prompts without XML overhead
1293
-
1294
- ### Performance
1295
- - Reduced token overhead by ~80% for non-file-operation tasks
1296
- - Improved response quality to 100% success rate across all OpenRouter providers
1297
-
1298
- ### Validated
1299
- - ✅ GPT-4o-mini: Clean code without XML tags
1300
- - ✅ DeepSeek: Complete responses without truncation
1301
- - ✅ Llama 3.3: Code generation instead of prompt repetition
1302
- - ✅ Zero regressions in existing functionality
1303
-
1304
- ## [1.1.12] - 2025-10-05
1305
-
1306
- ### Fixed
1307
- - MCP tool schema: Added 'gemini' to provider enum
1308
- - HTTP/SSE MCP server implementation
1309
-
1310
- ### Added
1311
- - FastMCP HTTP/SSE transport (`npm run mcp:http`)
1312
- - `src/mcp/fastmcp/servers/http-sse.ts` for web application integration
1313
- - HTTP endpoints: `/mcp`, `/sse`, `/health` on port 8080
1314
-
1315
- ### Changed
1316
- - Updated README with MCP transport options (stdio vs HTTP/SSE)
1317
- - Separated stdio and HTTP/SSE server scripts in package.json
1318
-
1319
- ## [1.1.3] - 2025-10-05
1320
-
1321
- ### Fixed
1322
- - Google Gemini API key validation and execution flow
1323
- - OpenRouter API key validation and execution flow
1324
- - Automatic .env file loading from parent directories
1325
- - Router configuration now auto-creates from environment variables
1326
-
1327
- ### Changed
1328
- - Integrated ModelRouter into directApiAgent.ts for multi-provider support
1329
- - Added recursive .env search in cli-proxy.ts
1330
- - Router now suppresses verbose logging by default (use ROUTER_VERBOSE=true to enable)
1331
- - Message format conversion between Anthropic and router formats
1332
-
1333
- ### Added
1334
- - Docker test configuration for API key validation
1335
- - Package verification script
1336
- - Package structure documentation
1337
- - Support for multiple AI providers (Anthropic, OpenRouter, Gemini, ONNX)
1338
-
1339
- ### Verified
1340
- - Package includes .claude/ directory with 76 agent files
1341
- - npm pack creates valid 601KB package
1342
- - npm install works correctly in clean directories
1343
- - Agents load correctly from installed package
1344
- - Build succeeds without errors
1345
-
1346
- ## [1.1.2] - 2025-10-04
1347
-
1348
- ### Initial Release
1349
- - Production-ready AI agent orchestration platform
1350
- - 66 specialized agents
1351
- - 111 MCP tools
1352
- - Autonomous multi-agent swarms
1353
- - Neural networks and memory persistence
1354
- - GitHub integration
1355
- - Distributed consensus protocols
41
+ ## [1.10.0] - Previous Release
42
+ - See git history for previous changes