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,120 @@
1
+ /**
2
+ * Advanced Memory System - Full Implementation for v1.7.1
3
+ *
4
+ * Provides high-level memory operations on top of HybridReasoningBank:
5
+ * - Auto-consolidation (patterns → skills) using NightlyLearner
6
+ * - Episodic replay (learn from failures)
7
+ * - Causal reasoning (what-if analysis)
8
+ * - Skill composition (combine learned skills)
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { AdvancedMemorySystem } from 'agentic-flow/reasoningbank';
13
+ *
14
+ * const memory = new AdvancedMemorySystem();
15
+ *
16
+ * // Auto-consolidate patterns into skills
17
+ * const result = await memory.autoConsolidate({ minUses: 3, minSuccessRate: 0.7 });
18
+ *
19
+ * // Learn from failures
20
+ * const failures = await memory.replayFailures('authentication', 5);
21
+ *
22
+ * // Causal what-if analysis
23
+ * const insight = await memory.whatIfAnalysis('add caching');
24
+ * ```
25
+ */
26
+ export interface FailureAnalysis {
27
+ critique: string;
28
+ whatWentWrong: string[];
29
+ howToFix: string[];
30
+ similarFailures: number;
31
+ }
32
+ export interface SkillComposition {
33
+ availableSkills: any[];
34
+ compositionPlan: string;
35
+ expectedSuccessRate: number;
36
+ }
37
+ export interface ConsolidationResult {
38
+ skillsCreated: number;
39
+ causalEdgesCreated: number;
40
+ patternsAnalyzed: number;
41
+ executionTimeMs: number;
42
+ recommendations: string[];
43
+ }
44
+ export declare class AdvancedMemorySystem {
45
+ private reasoning;
46
+ private learner;
47
+ private pool;
48
+ constructor(options?: {
49
+ preferWasm?: boolean;
50
+ });
51
+ /**
52
+ * Auto-consolidate successful patterns into skills
53
+ *
54
+ * Uses NightlyLearner to:
55
+ * 1. Discover causal edges from episode patterns
56
+ * 2. Complete A/B experiments
57
+ * 3. Calculate uplift for experiments
58
+ * 4. Prune low-confidence edges
59
+ * 5. Consolidate high-performing patterns into skills
60
+ */
61
+ autoConsolidate(options?: {
62
+ minUses?: number;
63
+ minSuccessRate?: number;
64
+ lookbackDays?: number;
65
+ dryRun?: boolean;
66
+ }): Promise<ConsolidationResult>;
67
+ /**
68
+ * Learn from past failures with episodic replay
69
+ *
70
+ * Retrieves failed attempts, extracts lessons, and provides recommendations
71
+ */
72
+ replayFailures(task: string, k?: number): Promise<FailureAnalysis[]>;
73
+ /**
74
+ * Extract critique from failure pattern
75
+ */
76
+ private extractCritique;
77
+ /**
78
+ * Analyze what went wrong in a failure
79
+ */
80
+ private analyzeFailure;
81
+ /**
82
+ * Generate fix recommendations
83
+ */
84
+ private generateFixes;
85
+ /**
86
+ * What-if causal analysis
87
+ *
88
+ * Analyzes potential outcomes of taking an action based on causal evidence
89
+ */
90
+ whatIfAnalysis(action: string): Promise<{
91
+ action: string;
92
+ avgReward: number;
93
+ avgUplift: number;
94
+ confidence: number;
95
+ evidenceCount: number;
96
+ recommendation: 'DO_IT' | 'AVOID' | 'NEUTRAL';
97
+ expectedImpact: string;
98
+ }>;
99
+ /**
100
+ * Compose multiple skills for a complex task
101
+ *
102
+ * Finds relevant skills and creates an execution plan
103
+ */
104
+ composeSkills(task: string, k?: number): Promise<SkillComposition>;
105
+ /**
106
+ * Run automated learning cycle
107
+ *
108
+ * Discovers causal edges, consolidates skills, and optimizes performance
109
+ */
110
+ runLearningCycle(): Promise<ConsolidationResult>;
111
+ /**
112
+ * Get comprehensive memory statistics
113
+ */
114
+ getStats(): {
115
+ reasoningBank: any;
116
+ learner: string;
117
+ memoryPool: any;
118
+ };
119
+ }
120
+ //# sourceMappingURL=AdvancedMemory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedMemory.d.ts","sourceRoot":"","sources":["../../src/reasoningbank/AdvancedMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,IAAI,CAAmB;gBAEnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO;IAoBlD;;;;;;;;;OASG;IACG,eAAe,CAAC,OAAO,GAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyCrC;;;;OAIG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAc7E;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;QAC9C,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAuBF;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqC3E;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAStD;;OAEG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,GAAG,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,GAAG,CAAC;KACjB;CAOF"}
@@ -237,3 +237,4 @@ export class AdvancedMemorySystem {
237
237
  };
238
238
  }
239
239
  }
240
+ //# sourceMappingURL=AdvancedMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedMemory.js","sourceRoot":"","sources":["../../src/reasoningbank/AdvancedMemory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Advanced Memory System - Full Implementation for v1.7.1\n *\n * Provides high-level memory operations on top of HybridReasoningBank:\n * - Auto-consolidation (patterns → skills) using NightlyLearner\n * - Episodic replay (learn from failures)\n * - Causal reasoning (what-if analysis)\n * - Skill composition (combine learned skills)\n *\n * @example\n * ```typescript\n * import { AdvancedMemorySystem } from 'agentic-flow/reasoningbank';\n *\n * const memory = new AdvancedMemorySystem();\n *\n * // Auto-consolidate patterns into skills\n * const result = await memory.autoConsolidate({ minUses: 3, minSuccessRate: 0.7 });\n *\n * // Learn from failures\n * const failures = await memory.replayFailures('authentication', 5);\n *\n * // Causal what-if analysis\n * const insight = await memory.whatIfAnalysis('add caching');\n * ```\n */\n\nimport { HybridReasoningBank } from './HybridBackend.js';\nimport { NightlyLearner } from 'agentdb/controllers/NightlyLearner';\nimport { SharedMemoryPool } from '../memory/SharedMemoryPool.js';\n\nexport interface FailureAnalysis {\n critique: string;\n whatWentWrong: string[];\n howToFix: string[];\n similarFailures: number;\n}\n\nexport interface SkillComposition {\n availableSkills: any[];\n compositionPlan: string;\n expectedSuccessRate: number;\n}\n\nexport interface ConsolidationResult {\n skillsCreated: number;\n causalEdgesCreated: number;\n patternsAnalyzed: number;\n executionTimeMs: number;\n recommendations: string[];\n}\n\nexport class AdvancedMemorySystem {\n private reasoning: HybridReasoningBank;\n private learner: NightlyLearner;\n private pool: SharedMemoryPool;\n\n constructor(options: { preferWasm?: boolean } = {}) {\n this.reasoning = new HybridReasoningBank(options);\n this.pool = SharedMemoryPool.getInstance();\n\n const db = this.pool.getDatabase();\n const embedder = this.pool.getEmbedder();\n\n // Initialize NightlyLearner with optimized config\n this.learner = new NightlyLearner(db, embedder, {\n minSimilarity: 0.7,\n minSampleSize: 5,\n confidenceThreshold: 0.6,\n upliftThreshold: 0.1,\n pruneOldEdges: true,\n edgeMaxAgeDays: 90,\n autoExperiments: true,\n experimentBudget: 100\n });\n }\n\n /**\n * Auto-consolidate successful patterns into skills\n *\n * Uses NightlyLearner to:\n * 1. Discover causal edges from episode patterns\n * 2. Complete A/B experiments\n * 3. Calculate uplift for experiments\n * 4. Prune low-confidence edges\n * 5. Consolidate high-performing patterns into skills\n */\n async autoConsolidate(options: {\n minUses?: number;\n minSuccessRate?: number;\n lookbackDays?: number;\n dryRun?: boolean;\n } = {}): Promise<ConsolidationResult> {\n const startTime = Date.now();\n\n try {\n // Run NightlyLearner's discovery and consolidation pipeline\n const report = await this.learner.run();\n\n // Also run skill consolidation from HybridReasoningBank\n const skillResult = await this.reasoning.autoConsolidate(\n options.minUses || 3,\n options.minSuccessRate || 0.7,\n options.lookbackDays || 30\n );\n\n return {\n skillsCreated: skillResult.skillsCreated + (report.edgesDiscovered || 0),\n causalEdgesCreated: report.edgesDiscovered || 0,\n patternsAnalyzed: report.experimentsCompleted || 0,\n executionTimeMs: Date.now() - startTime,\n recommendations: report.recommendations || []\n };\n } catch (error) {\n console.error('[AdvancedMemorySystem] Auto-consolidation failed:', error);\n\n // Fallback to basic consolidation\n const skillResult = await this.reasoning.autoConsolidate(\n options.minUses || 3,\n options.minSuccessRate || 0.7,\n options.lookbackDays || 30\n );\n\n return {\n skillsCreated: skillResult.skillsCreated,\n causalEdgesCreated: 0,\n patternsAnalyzed: 0,\n executionTimeMs: Date.now() - startTime,\n recommendations: ['Causal discovery unavailable - basic consolidation completed']\n };\n }\n }\n\n /**\n * Learn from past failures with episodic replay\n *\n * Retrieves failed attempts, extracts lessons, and provides recommendations\n */\n async replayFailures(task: string, k: number = 5): Promise<FailureAnalysis[]> {\n const failures = await this.reasoning.retrievePatterns(task, {\n k,\n onlyFailures: true\n });\n\n return failures.map(f => ({\n critique: f.critique || this.extractCritique(f),\n whatWentWrong: this.analyzeFailure(f),\n howToFix: this.generateFixes(f),\n similarFailures: failures.length\n }));\n }\n\n /**\n * Extract critique from failure pattern\n */\n private extractCritique(failure: any): string {\n if (failure.critique) return failure.critique;\n if (failure.task) return `Failed at: ${failure.task}`;\n return 'No critique available';\n }\n\n /**\n * Analyze what went wrong in a failure\n */\n private analyzeFailure(failure: any): string[] {\n const issues: string[] = [];\n\n if (failure.reward !== undefined && failure.reward < 0.3) {\n issues.push('Low success rate observed');\n }\n\n if (failure.latencyMs && failure.latencyMs > 5000) {\n issues.push('High latency detected');\n }\n\n if (failure.task) {\n issues.push(`Task type: ${failure.task}`);\n }\n\n if (issues.length === 0) {\n issues.push('General failure - review approach');\n }\n\n return issues;\n }\n\n /**\n * Generate fix recommendations\n */\n private generateFixes(failure: any): string[] {\n const fixes: string[] = [];\n\n // Look for successful patterns with similar tasks\n fixes.push('Review similar successful patterns');\n\n if (failure.latencyMs && failure.latencyMs > 5000) {\n fixes.push('Optimize for lower latency');\n }\n\n if (failure.reward !== undefined && failure.reward < 0.3) {\n fixes.push('Consider alternative approach');\n }\n\n fixes.push('Add more validation and error handling');\n\n return fixes;\n }\n\n /**\n * What-if causal analysis\n *\n * Analyzes potential outcomes of taking an action based on causal evidence\n */\n async whatIfAnalysis(action: string): Promise<{\n action: string;\n avgReward: number;\n avgUplift: number;\n confidence: number;\n evidenceCount: number;\n recommendation: 'DO_IT' | 'AVOID' | 'NEUTRAL';\n expectedImpact: string;\n }> {\n const causalInsight = await this.reasoning.whatIfAnalysis(action);\n\n // Generate impact description\n let expectedImpact = '';\n if (causalInsight.avgUplift > 0.2) {\n expectedImpact = `Highly beneficial: Expected +${(causalInsight.avgUplift * 100).toFixed(1)}% improvement`;\n } else if (causalInsight.avgUplift > 0.1) {\n expectedImpact = `Beneficial: Expected +${(causalInsight.avgUplift * 100).toFixed(1)}% improvement`;\n } else if (causalInsight.avgUplift > 0) {\n expectedImpact = `Slightly positive: Expected +${(causalInsight.avgUplift * 100).toFixed(1)}% improvement`;\n } else if (causalInsight.avgUplift < -0.1) {\n expectedImpact = `Harmful: Expected ${(causalInsight.avgUplift * 100).toFixed(1)}% degradation`;\n } else {\n expectedImpact = 'Neutral or insufficient evidence';\n }\n\n return {\n ...causalInsight,\n expectedImpact\n };\n }\n\n /**\n * Compose multiple skills for a complex task\n *\n * Finds relevant skills and creates an execution plan\n */\n async composeSkills(task: string, k: number = 5): Promise<SkillComposition> {\n const skills = await this.reasoning.searchSkills(task, k);\n\n // Sort by success rate and usage\n const sortedSkills = skills.sort((a, b) => {\n const scoreA = (a.successRate || 0) * 0.7 + (Math.log(a.uses || 1) / 10) * 0.3;\n const scoreB = (b.successRate || 0) * 0.7 + (Math.log(b.uses || 1) / 10) * 0.3;\n return scoreB - scoreA;\n });\n\n // Create composition plan\n let compositionPlan = '';\n if (sortedSkills.length === 0) {\n compositionPlan = 'No relevant skills found';\n } else if (sortedSkills.length === 1) {\n compositionPlan = sortedSkills[0].name;\n } else {\n compositionPlan = sortedSkills.slice(0, 3).map(s => s.name).join(' → ');\n }\n\n // Calculate expected success rate (weighted average)\n let expectedSuccessRate = 0;\n if (sortedSkills.length > 0) {\n const weights = sortedSkills.map(s => s.uses || 1);\n const totalWeight = weights.reduce((sum, w) => sum + w, 0);\n expectedSuccessRate = sortedSkills.reduce((sum, s, i) =>\n sum + (s.successRate || 0) * weights[i] / totalWeight, 0\n );\n }\n\n return {\n availableSkills: sortedSkills,\n compositionPlan,\n expectedSuccessRate\n };\n }\n\n /**\n * Run automated learning cycle\n *\n * Discovers causal edges, consolidates skills, and optimizes performance\n */\n async runLearningCycle(): Promise<ConsolidationResult> {\n return this.autoConsolidate({\n minUses: 3,\n minSuccessRate: 0.7,\n lookbackDays: 30,\n dryRun: false\n });\n }\n\n /**\n * Get comprehensive memory statistics\n */\n getStats(): {\n reasoningBank: any;\n learner: string;\n memoryPool: any;\n } {\n return {\n reasoningBank: this.reasoning.getStats(),\n learner: 'NightlyLearner configured with auto-experiments',\n memoryPool: this.pool.getStats()\n };\n }\n}\n"]}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Hybrid ReasoningBank Backend - Full Implementation for v1.7.1
3
+ *
4
+ * Combines Rust WASM (compute) + AgentDB TypeScript (storage) for optimal performance:
5
+ * - WASM: 10x faster similarity computation
6
+ * - AgentDB: Persistent SQLite storage with frontier memory
7
+ * - CausalRecall: Utility-based reranking with causal uplift
8
+ * - Automatic backend selection based on task requirements
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { HybridReasoningBank } from 'agentic-flow/reasoningbank';
13
+ *
14
+ * const rb = new HybridReasoningBank({ preferWasm: true });
15
+ * await rb.storePattern({ task: '...', success: true, reward: 0.95 });
16
+ * const patterns = await rb.retrievePatterns('similar task', { k: 5 });
17
+ * const strategy = await rb.learnStrategy('API optimization');
18
+ * ```
19
+ */
20
+ export interface PatternData {
21
+ sessionId: string;
22
+ task: string;
23
+ input?: string;
24
+ output?: string;
25
+ critique?: string;
26
+ success: boolean;
27
+ reward: number;
28
+ latencyMs?: number;
29
+ tokensUsed?: number;
30
+ }
31
+ export interface RetrievalOptions {
32
+ k?: number;
33
+ minReward?: number;
34
+ onlySuccesses?: boolean;
35
+ onlyFailures?: boolean;
36
+ }
37
+ export interface CausalInsight {
38
+ action: string;
39
+ avgReward: number;
40
+ avgUplift: number;
41
+ confidence: number;
42
+ evidenceCount: number;
43
+ recommendation: 'DO_IT' | 'AVOID' | 'NEUTRAL';
44
+ }
45
+ export declare class HybridReasoningBank {
46
+ private memory;
47
+ private reflexion;
48
+ private skills;
49
+ private causalRecall;
50
+ private causalGraph;
51
+ private useWasm;
52
+ private wasmModule;
53
+ constructor(options?: {
54
+ preferWasm?: boolean;
55
+ });
56
+ private loadWasmModule;
57
+ /**
58
+ * Store a reasoning pattern
59
+ */
60
+ storePattern(pattern: PatternData): Promise<number>;
61
+ /**
62
+ * Retrieve similar patterns with optional WASM acceleration
63
+ */
64
+ retrievePatterns(query: string, options?: RetrievalOptions): Promise<any[]>;
65
+ /**
66
+ * Learn optimal strategy for a task
67
+ *
68
+ * Combines pattern retrieval with causal analysis to provide evidence-based recommendations
69
+ */
70
+ learnStrategy(task: string): Promise<{
71
+ patterns: any[];
72
+ causality: CausalInsight;
73
+ confidence: number;
74
+ recommendation: string;
75
+ }>;
76
+ /**
77
+ * Auto-consolidate patterns into skills
78
+ */
79
+ autoConsolidate(minUses?: number, minSuccessRate?: number, lookbackDays?: number): Promise<{
80
+ skillsCreated: number;
81
+ }>;
82
+ /**
83
+ * What-if causal analysis
84
+ */
85
+ whatIfAnalysis(action: string): Promise<CausalInsight>;
86
+ /**
87
+ * Search for relevant skills
88
+ */
89
+ searchSkills(taskType: string, k?: number): Promise<any[]>;
90
+ /**
91
+ * Get statistics
92
+ */
93
+ getStats(): {
94
+ causalRecall: any;
95
+ reflexion: any;
96
+ skills: number;
97
+ };
98
+ }
99
+ //# sourceMappingURL=HybridBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HybridBackend.d.ts","sourceRoot":"","sources":["../../src/reasoningbank/HybridBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAM;gBAEZ,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO;YA6BpC,cAAc;IAW5B;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzD;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAqDrF;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACzC,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,SAAS,EAAE,aAAa,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IA6DF;;OAEG;IACG,eAAe,CAAC,OAAO,GAAE,MAAU,EAAE,cAAc,GAAE,MAAY,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IA+CvI;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwC5D;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAInE;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,GAAG,CAAC;QAClB,SAAS,EAAE,GAAG,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CAOF"}
@@ -303,3 +303,4 @@ export class HybridReasoningBank {
303
303
  };
304
304
  }
305
305
  }
306
+ //# sourceMappingURL=HybridBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HybridBackend.js","sourceRoot":"","sources":["../../src/reasoningbank/HybridBackend.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hybrid ReasoningBank Backend - Full Implementation for v1.7.1\n *\n * Combines Rust WASM (compute) + AgentDB TypeScript (storage) for optimal performance:\n * - WASM: 10x faster similarity computation\n * - AgentDB: Persistent SQLite storage with frontier memory\n * - CausalRecall: Utility-based reranking with causal uplift\n * - Automatic backend selection based on task requirements\n *\n * @example\n * ```typescript\n * import { HybridReasoningBank } from 'agentic-flow/reasoningbank';\n *\n * const rb = new HybridReasoningBank({ preferWasm: true });\n * await rb.storePattern({ task: '...', success: true, reward: 0.95 });\n * const patterns = await rb.retrievePatterns('similar task', { k: 5 });\n * const strategy = await rb.learnStrategy('API optimization');\n * ```\n */\n\nimport { SharedMemoryPool } from '../memory/SharedMemoryPool.js';\nimport { ReflexionMemory } from 'agentdb/controllers/ReflexionMemory';\nimport { SkillLibrary } from 'agentdb/controllers/SkillLibrary';\nimport { CausalRecall } from 'agentdb/controllers/CausalRecall';\nimport { CausalMemoryGraph } from 'agentdb/controllers/CausalMemoryGraph';\n\nexport interface PatternData {\n sessionId: string;\n task: string;\n input?: string;\n output?: string;\n critique?: string;\n success: boolean;\n reward: number;\n latencyMs?: number;\n tokensUsed?: number;\n}\n\nexport interface RetrievalOptions {\n k?: number;\n minReward?: number;\n onlySuccesses?: boolean;\n onlyFailures?: boolean;\n}\n\nexport interface CausalInsight {\n action: string;\n avgReward: number;\n avgUplift: number;\n confidence: number;\n evidenceCount: number;\n recommendation: 'DO_IT' | 'AVOID' | 'NEUTRAL';\n}\n\nexport class HybridReasoningBank {\n private memory: SharedMemoryPool;\n private reflexion: ReflexionMemory;\n private skills: SkillLibrary;\n private causalRecall: CausalRecall;\n private causalGraph: CausalMemoryGraph;\n private useWasm: boolean;\n private wasmModule: any;\n\n constructor(options: { preferWasm?: boolean } = {}) {\n this.memory = SharedMemoryPool.getInstance();\n const db = this.memory.getDatabase();\n const embedder = this.memory.getEmbedder();\n\n this.reflexion = new ReflexionMemory(db, embedder);\n this.skills = new SkillLibrary(db, embedder);\n this.causalGraph = new CausalMemoryGraph(db);\n\n // CausalRecall with optimized rerank config\n this.causalRecall = new CausalRecall(db, embedder, {\n alpha: 0.6, // 60% weight on similarity\n beta: 0.3, // 30% weight on causal uplift\n gamma: 0.1, // 10% penalty for latency\n minConfidence: 0.7\n });\n\n this.useWasm = options.preferWasm ?? true;\n this.wasmModule = null;\n\n // Try to load WASM module\n if (this.useWasm) {\n this.loadWasmModule().catch(err => {\n console.warn('[HybridReasoningBank] WASM unavailable, using TypeScript:', err.message);\n this.useWasm = false;\n });\n }\n }\n\n private async loadWasmModule(): Promise<void> {\n try {\n // Dynamic import for WASM module\n const wasm = await import('../../wasm/reasoningbank/reasoningbank_wasm.js');\n this.wasmModule = wasm;\n console.log('[HybridReasoningBank] WASM module loaded successfully');\n } catch (error) {\n throw new Error(`WASM load failed: ${error}`);\n }\n }\n\n /**\n * Store a reasoning pattern\n */\n async storePattern(pattern: PatternData): Promise<number> {\n const episodeId = await this.reflexion.storeEpisode(pattern);\n\n // Store causal edge if action led to outcome\n if (pattern.input && pattern.output && pattern.success) {\n try {\n this.causalGraph.addCausalEdge({\n fromMemoryId: episodeId,\n fromMemoryType: 'episode',\n toMemoryId: episodeId + 1, // Next episode\n toMemoryType: 'episode',\n similarity: pattern.reward,\n uplift: pattern.success ? pattern.reward : -pattern.reward,\n confidence: 0.8,\n sampleSize: 1,\n metadata: {\n sessionId: pattern.sessionId,\n task: pattern.task\n }\n });\n } catch (error) {\n console.warn('[HybridReasoningBank] Failed to record causal edge:', error);\n }\n }\n\n return episodeId;\n }\n\n /**\n * Retrieve similar patterns with optional WASM acceleration\n */\n async retrievePatterns(query: string, options: RetrievalOptions = {}): Promise<any[]> {\n const { k = 5, minReward, onlySuccesses, onlyFailures } = options;\n\n // Check cache first\n const cacheKey = `retrieve:${query}:${k}:${onlySuccesses}:${onlyFailures}`;\n const cached = this.memory.getCachedQuery(cacheKey);\n if (cached) return cached;\n\n // Use CausalRecall for intelligent retrieval with utility-based ranking\n try {\n const result = await this.causalRecall.recall(\n `query-${Date.now()}`,\n query,\n k,\n undefined, // requirements\n 'public' // accessLevel\n );\n\n // Convert candidates to pattern format and filter\n let patterns = result.candidates.map(c => ({\n task: c.content,\n similarity: c.similarity,\n uplift: c.uplift || 0,\n utilityScore: c.utilityScore,\n type: c.type,\n id: c.id\n }));\n\n // Apply filters\n if (minReward !== undefined) {\n patterns = patterns.filter(p => (p.uplift || 0) >= minReward);\n }\n\n // Cache and return\n this.memory.cacheQuery(cacheKey, patterns, 60000);\n return patterns;\n } catch (error) {\n console.warn('[HybridReasoningBank] CausalRecall failed, falling back to ReflexionMemory:', error);\n\n // Fallback to basic ReflexionMemory\n const results = await this.reflexion.retrieveRelevant({\n task: query,\n k,\n minReward,\n onlySuccesses,\n onlyFailures\n });\n\n this.memory.cacheQuery(cacheKey, results, 60000);\n return results;\n }\n }\n\n /**\n * Learn optimal strategy for a task\n *\n * Combines pattern retrieval with causal analysis to provide evidence-based recommendations\n */\n async learnStrategy(task: string): Promise<{\n patterns: any[];\n causality: CausalInsight;\n confidence: number;\n recommendation: string;\n }> {\n // Get successful patterns\n const patterns = await this.retrievePatterns(task, { k: 10, onlySuccesses: true });\n\n // Get causal effects for this task type\n let causalData: any;\n try {\n // Note: queryCausalEffects requires specific memory IDs\n // For task-level analysis, we'll use pattern success rates instead\n const stats = await this.reflexion.getTaskStats(task, 30);\n\n if (stats.totalAttempts > 0) {\n causalData = {\n action: task,\n avgReward: stats.avgReward || 0,\n avgUplift: stats.improvementTrend || 0,\n confidence: Math.min(stats.totalAttempts / 10, 1.0),\n evidenceCount: stats.totalAttempts,\n recommendation: (stats.improvementTrend || 0) > 0.1 ? 'DO_IT' :\n (stats.improvementTrend || 0) < -0.1 ? 'AVOID' : 'NEUTRAL'\n };\n }\n } catch (error) {\n console.warn('[HybridReasoningBank] Causal analysis failed:', error);\n }\n\n // Fallback if no causal data\n if (!causalData) {\n causalData = {\n action: task,\n avgReward: patterns.length > 0 ? (patterns[0].reward || 0) : 0,\n avgUplift: 0,\n confidence: patterns.length > 0 ? 0.6 : 0.3,\n evidenceCount: patterns.length,\n recommendation: patterns.length > 0 ? 'DO_IT' : 'NEUTRAL'\n };\n }\n\n // Calculate overall confidence\n const patternConf = Math.min(patterns.length / 10, 1.0); // 10+ patterns = full confidence\n const causalConf = causalData.confidence;\n const confidence = 0.6 * patternConf + 0.4 * causalConf;\n\n // Generate recommendation\n let recommendation = '';\n if (confidence > 0.8 && causalData.avgUplift > 0.1) {\n recommendation = `Strong evidence for success (${patterns.length} patterns, +${(causalData.avgUplift * 100).toFixed(1)}% uplift)`;\n } else if (confidence > 0.5) {\n recommendation = `Moderate evidence (${patterns.length} patterns available)`;\n } else {\n recommendation = `Limited evidence - proceed with caution`;\n }\n\n return {\n patterns,\n causality: causalData,\n confidence,\n recommendation\n };\n }\n\n /**\n * Auto-consolidate patterns into skills\n */\n async autoConsolidate(minUses: number = 3, minSuccessRate: number = 0.7, lookbackDays: number = 30): Promise<{ skillsCreated: number }> {\n // Get task statistics\n const stats = await this.reflexion.getTaskStats('', lookbackDays);\n\n if (stats.totalAttempts < minUses || stats.successRate < minSuccessRate) {\n return { skillsCreated: 0 };\n }\n\n // Get successful episodes for consolidation\n const episodes = await this.reflexion.retrieveRelevant({\n task: '',\n k: 50,\n onlySuccesses: true,\n timeWindowDays: lookbackDays\n });\n\n // Group by task type and consolidate\n const taskGroups = new Map<string, any[]>();\n episodes.forEach(ep => {\n const group = taskGroups.get(ep.task) || [];\n group.push(ep);\n taskGroups.set(ep.task, group);\n });\n\n let skillsCreated = 0;\n for (const [task, group] of taskGroups) {\n if (group.length >= minUses) {\n const successRate = group.filter(e => e.success).length / group.length;\n if (successRate >= minSuccessRate) {\n await this.skills.createSkill({\n name: `skill_${task.replace(/\\s+/g, '_').toLowerCase()}`,\n description: `Consolidated from ${group.length} successful episodes`,\n signature: { inputs: {}, outputs: {} },\n successRate,\n uses: group.length,\n avgReward: group.reduce((sum, e) => sum + e.reward, 0) / group.length,\n avgLatencyMs: group.reduce((sum, e) => sum + (e.latencyMs || 0), 0) / group.length,\n metadata: { consolidatedAt: Date.now(), taskType: task }\n });\n skillsCreated++;\n }\n }\n }\n\n return { skillsCreated };\n }\n\n /**\n * What-if causal analysis\n */\n async whatIfAnalysis(action: string): Promise<CausalInsight> {\n try {\n // Use task statistics for what-if analysis\n const stats = await this.reflexion.getTaskStats(action, 30);\n\n if (stats.totalAttempts === 0) {\n return {\n action,\n avgReward: 0,\n avgUplift: 0,\n confidence: 0,\n evidenceCount: 0,\n recommendation: 'NEUTRAL'\n };\n }\n\n const avgUplift = stats.improvementTrend || 0;\n const confidence = Math.min(stats.totalAttempts / 10, 1.0);\n\n return {\n action,\n avgReward: stats.avgReward || 0,\n avgUplift,\n confidence,\n evidenceCount: stats.totalAttempts,\n recommendation: avgUplift > 0.1 ? 'DO_IT' : avgUplift < -0.1 ? 'AVOID' : 'NEUTRAL'\n };\n } catch (error) {\n console.error('[HybridReasoningBank] What-if analysis failed:', error);\n return {\n action,\n avgReward: 0,\n avgUplift: 0,\n confidence: 0,\n evidenceCount: 0,\n recommendation: 'NEUTRAL'\n };\n }\n }\n\n /**\n * Search for relevant skills\n */\n async searchSkills(taskType: string, k: number = 5): Promise<any[]> {\n return this.skills.searchSkills({ task: taskType, k, minSuccessRate: 0.5 });\n }\n\n /**\n * Get statistics\n */\n getStats(): {\n causalRecall: any;\n reflexion: any;\n skills: number;\n } {\n return {\n causalRecall: this.causalRecall.getStats(),\n reflexion: {}, // ReflexionMemory doesn't expose global stats\n skills: 0 // Would need to query database\n };\n }\n}\n"]}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Backend Selection Helper for ReasoningBank
3
+ *
4
+ * Automatically selects the optimal ReasoningBank backend based on runtime environment.
5
+ *
6
+ * Usage:
7
+ * ```typescript
8
+ * import { createOptimalReasoningBank, getRecommendedBackend } from 'agentic-flow/reasoningbank/backend-selector';
9
+ *
10
+ * // Automatic backend selection
11
+ * const rb = await createOptimalReasoningBank('my-db');
12
+ *
13
+ * // Manual check
14
+ * const backend = getRecommendedBackend();
15
+ * console.log(`Using ${backend} backend`);
16
+ * ```
17
+ */
18
+ /**
19
+ * Detect runtime environment and recommend optimal backend
20
+ *
21
+ * @returns 'nodejs' for Node.js/Deno environments, 'wasm' for browsers
22
+ */
23
+ export declare function getRecommendedBackend(): 'nodejs' | 'wasm';
24
+ /**
25
+ * Check if IndexedDB is available (browser environment)
26
+ */
27
+ export declare function hasIndexedDB(): boolean;
28
+ /**
29
+ * Check if SQLite native module is available (Node.js)
30
+ */
31
+ export declare function hasSQLite(): boolean;
32
+ /**
33
+ * Create ReasoningBank instance with optimal backend for current environment
34
+ *
35
+ * @param dbName - Database name (used differently by each backend)
36
+ * @param options - Additional configuration options
37
+ * @returns ReasoningBank instance using optimal backend
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // Node.js: Creates SQLite database at .swarm/my-app.db
42
+ * const rb = await createOptimalReasoningBank('my-app');
43
+ *
44
+ * // Browser: Creates IndexedDB database named 'my-app'
45
+ * const rb = await createOptimalReasoningBank('my-app');
46
+ * ```
47
+ */
48
+ export declare function createOptimalReasoningBank(dbName?: string, options?: {
49
+ /** Force specific backend (overrides auto-detection) */
50
+ forceBackend?: 'nodejs' | 'wasm';
51
+ /** Custom database path (Node.js only) */
52
+ dbPath?: string;
53
+ /** Enable verbose logging */
54
+ verbose?: boolean;
55
+ }): Promise<any>;
56
+ /**
57
+ * Get backend information and capabilities
58
+ */
59
+ export declare function getBackendInfo(): {
60
+ backend: "nodejs" | "wasm";
61
+ environment: string;
62
+ features: {
63
+ persistent: boolean;
64
+ sqlite: boolean;
65
+ indexeddb: boolean;
66
+ wasm: boolean;
67
+ };
68
+ storage: string;
69
+ };
70
+ /**
71
+ * Validate environment and warn about limitations
72
+ */
73
+ export declare function validateEnvironment(): {
74
+ valid: boolean;
75
+ warnings: string[];
76
+ backend: 'nodejs' | 'wasm';
77
+ };
78
+ export { validateEnvironment as checkEnvironment };
79
+ //# sourceMappingURL=backend-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-selector.d.ts","sourceRoot":"","sources":["../../src/reasoningbank/backend-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,GAAG,MAAM,CAazD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,GAAE,MAAwB,EAChC,OAAO,GAAE;IACP,wDAAwD;IACxD,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,GAAG,CAAC,CAuCd;AAED;;GAEG;AACH,wBAAgB,cAAc;;;;;;;;;;EAkB7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC5B,CAqBA;AAGD,OAAO,EAAE,mBAAmB,IAAI,gBAAgB,EAAE,CAAC"}
@@ -143,3 +143,4 @@ export function validateEnvironment() {
143
143
  }
144
144
  // Export validation helper for use in initialization
145
145
  export { validateEnvironment as checkEnvironment };
146
+ //# sourceMappingURL=backend-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-selector.js","sourceRoot":"","sources":["../../src/reasoningbank/backend-selector.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Backend Selection Helper for ReasoningBank\n *\n * Automatically selects the optimal ReasoningBank backend based on runtime environment.\n *\n * Usage:\n * ```typescript\n * import { createOptimalReasoningBank, getRecommendedBackend } from 'agentic-flow/reasoningbank/backend-selector';\n *\n * // Automatic backend selection\n * const rb = await createOptimalReasoningBank('my-db');\n *\n * // Manual check\n * const backend = getRecommendedBackend();\n * console.log(`Using ${backend} backend`);\n * ```\n */\n\n/**\n * Detect runtime environment and recommend optimal backend\n *\n * @returns 'nodejs' for Node.js/Deno environments, 'wasm' for browsers\n */\nexport function getRecommendedBackend(): 'nodejs' | 'wasm' {\n // Check for browser environment\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n return 'wasm';\n }\n\n // Check for Node.js/Deno\n if (typeof process !== 'undefined' && process.versions?.node) {\n return 'nodejs';\n }\n\n // Default to WASM for unknown environments (likely web workers, etc.)\n return 'wasm';\n}\n\n/**\n * Check if IndexedDB is available (browser environment)\n */\nexport function hasIndexedDB(): boolean {\n return typeof indexedDB !== 'undefined';\n}\n\n/**\n * Check if SQLite native module is available (Node.js)\n */\nexport function hasSQLite(): boolean {\n try {\n require.resolve('better-sqlite3');\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Create ReasoningBank instance with optimal backend for current environment\n *\n * @param dbName - Database name (used differently by each backend)\n * @param options - Additional configuration options\n * @returns ReasoningBank instance using optimal backend\n *\n * @example\n * ```typescript\n * // Node.js: Creates SQLite database at .swarm/my-app.db\n * const rb = await createOptimalReasoningBank('my-app');\n *\n * // Browser: Creates IndexedDB database named 'my-app'\n * const rb = await createOptimalReasoningBank('my-app');\n * ```\n */\nexport async function createOptimalReasoningBank(\n dbName: string = 'reasoningbank',\n options: {\n /** Force specific backend (overrides auto-detection) */\n forceBackend?: 'nodejs' | 'wasm';\n /** Custom database path (Node.js only) */\n dbPath?: string;\n /** Enable verbose logging */\n verbose?: boolean;\n } = {}\n): Promise<any> {\n const backend = options.forceBackend || getRecommendedBackend();\n\n if (options.verbose) {\n console.log(`[ReasoningBank] Environment: ${backend}`);\n console.log(`[ReasoningBank] Database: ${dbName}`);\n }\n\n if (backend === 'nodejs') {\n // Import Node.js backend (SQLite)\n const reasoningBankModule = await import('./index.js');\n\n const dbPath = options.dbPath || `.swarm/${dbName}.db`;\n\n if (options.verbose) {\n console.log(`[ReasoningBank] Using Node.js backend with SQLite`);\n console.log(`[ReasoningBank] Database path: ${dbPath}`);\n }\n\n // The Node.js backend uses the db module and core algorithms\n // Initialize the database\n await reasoningBankModule.initialize();\n\n // Note: The Node.js backend has a different API than WASM\n // It uses the functions from db/queries.ts and core algorithms\n // We return the full module for direct access to all functions\n return reasoningBankModule;\n } else {\n // Import WASM backend (IndexedDB in browser, Memory in Node.js)\n const { createReasoningBank } = await import('./wasm-adapter.js');\n\n if (options.verbose) {\n const storageType = hasIndexedDB() ? 'IndexedDB (persistent)' : 'Memory (ephemeral)';\n console.log(`[ReasoningBank] Using WASM backend with ${storageType}`);\n console.log(`[ReasoningBank] Database name: ${dbName}`);\n }\n\n return await createReasoningBank(dbName);\n }\n}\n\n/**\n * Get backend information and capabilities\n */\nexport function getBackendInfo() {\n const backend = getRecommendedBackend();\n\n return {\n backend,\n environment: typeof window !== 'undefined' ? 'browser' : 'nodejs',\n features: {\n persistent: backend === 'nodejs' || hasIndexedDB(),\n sqlite: backend === 'nodejs' && hasSQLite(),\n indexeddb: backend === 'wasm' && hasIndexedDB(),\n wasm: backend === 'wasm',\n },\n storage: backend === 'nodejs'\n ? 'SQLite (disk)'\n : hasIndexedDB()\n ? 'IndexedDB (browser)'\n : 'Memory (ephemeral)',\n };\n}\n\n/**\n * Validate environment and warn about limitations\n */\nexport function validateEnvironment(): {\n valid: boolean;\n warnings: string[];\n backend: 'nodejs' | 'wasm';\n} {\n const backend = getRecommendedBackend();\n const warnings: string[] = [];\n let valid = true;\n\n if (backend === 'nodejs' && !hasSQLite()) {\n warnings.push('better-sqlite3 not found - database operations will fail');\n valid = false;\n }\n\n if (backend === 'wasm' && typeof window !== 'undefined' && !hasIndexedDB()) {\n warnings.push('IndexedDB not available - using ephemeral memory storage');\n warnings.push('Data will be lost when page/process exits');\n }\n\n if (backend === 'wasm' && typeof window === 'undefined') {\n warnings.push('WASM in Node.js uses in-memory storage (ephemeral)');\n warnings.push('Consider using Node.js backend for persistence');\n }\n\n return { valid, warnings, backend };\n}\n\n// Export validation helper for use in initialization\nexport { validateEnvironment as checkEnvironment };\n"]}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ReasoningBank Performance Benchmark Suite
4
+ *
5
+ * Benchmarks:
6
+ * 1. Database Operations (CRUD, queries)
7
+ * 2. Retrieval Algorithm (top-k, MMR, scoring)
8
+ * 3. Embedding Operations (storage, similarity)
9
+ * 4. Scalability (10, 100, 1000, 10000 memories)
10
+ * 5. Configuration Loading
11
+ * 6. View Queries
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/reasoningbank/benchmark.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
@@ -331,3 +331,4 @@ console.log(` • Database size: ${(dbSize.size / 1024 / 1024).toFixed(2)} MB`)
331
331
  console.log(` • Avg size per memory: ${((dbSize.size / totalMemories.count) / 1024).toFixed(2)} KB\n`);
332
332
  console.log('🚀 Benchmark complete!\n');
333
333
  closeDb();
334
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/reasoningbank/benchmark.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n/**\n * ReasoningBank Performance Benchmark Suite\n *\n * Benchmarks:\n * 1. Database Operations (CRUD, queries)\n * 2. Retrieval Algorithm (top-k, MMR, scoring)\n * 3. Embedding Operations (storage, similarity)\n * 4. Scalability (10, 100, 1000, 10000 memories)\n * 5. Configuration Loading\n * 6. View Queries\n */\n\nimport { performance } from 'perf_hooks';\nimport { getDb, upsertMemory, upsertEmbedding, fetchMemoryCandidates, incrementUsage, logMetric, getAllActiveMemories, closeDb } from './db/queries.js';\nimport { loadConfig } from './utils/config.js';\nimport type { ReasoningMemory } from './db/schema.js';\nimport { ulid } from 'ulid';\n\ninterface BenchmarkResult {\n name: string;\n iterations: number;\n totalTime: number;\n avgTime: number;\n minTime: number;\n maxTime: number;\n opsPerSec: number;\n status: 'PASS' | 'FAIL';\n notes?: string;\n}\n\nconst results: BenchmarkResult[] = [];\n\n// Helper to create synthetic embedding\nfunction createEmbedding(seed: number, dims: number = 1024): Float32Array {\n const vec = new Float32Array(dims);\n for (let i = 0; i < dims; i++) {\n vec[i] = Math.sin(seed * (i + 1) * 0.01) * 0.1 + Math.cos(seed * i * 0.02) * 0.05;\n }\n // Normalize\n let mag = 0;\n for (let i = 0; i < dims; i++) mag += vec[i] * vec[i];\n mag = Math.sqrt(mag);\n for (let i = 0; i < dims; i++) vec[i] /= mag;\n return vec;\n}\n\nfunction cosineSimilarity(a: Float32Array, b: Float32Array): number {\n let dot = 0, magA = 0, magB = 0;\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n magA += a[i] * a[i];\n magB += b[i] * b[i];\n }\n return dot / (Math.sqrt(magA) * Math.sqrt(magB));\n}\n\n// Helper to create test memory\nfunction createTestMemory(index: number): { memory: Omit<ReasoningMemory, 'created_at' | 'last_used'>, embedding: Float32Array } {\n const id = ulid();\n const domains = ['web', 'api', 'database', 'security', 'performance'];\n const tags = [\n ['csrf', 'web', 'security'],\n ['api', 'rate-limit', 'retry'],\n ['database', 'transactions', 'acid'],\n ['auth', 'tokens', 'jwt'],\n ['cache', 'performance', 'optimization']\n ];\n\n const domainIdx = index % domains.length;\n const confidence = 0.5 + (Math.random() * 0.4); // 0.5-0.9\n\n return {\n memory: {\n id,\n type: 'reasoning_memory',\n pattern_data: {\n title: `Test Pattern ${index} - ${domains[domainIdx]}`,\n description: `Test memory for ${domains[domainIdx]} domain`,\n content: `1) Step one for pattern ${index}. 2) Step two with validation. 3) Step three with recovery.`,\n source: {\n task_id: `task_${index}`,\n agent_id: 'benchmark_agent',\n outcome: Math.random() > 0.3 ? 'Success' : 'Failure',\n evidence: [`step_${index}_1`, `step_${index}_2`]\n },\n tags: tags[domainIdx],\n domain: `test.${domains[domainIdx]}`,\n created_at: new Date().toISOString(),\n confidence,\n n_uses: 0\n },\n confidence,\n usage_count: 0\n },\n embedding: createEmbedding(index + 1000)\n };\n}\n\n// Benchmark runner\nasync function runBenchmark(\n name: string,\n iterations: number,\n fn: () => void | Promise<void>\n): Promise<BenchmarkResult> {\n const times: number[] = [];\n\n // Warmup\n for (let i = 0; i < Math.min(10, iterations); i++) {\n await fn();\n }\n\n // Actual benchmark\n for (let i = 0; i < iterations; i++) {\n const start = performance.now();\n await fn();\n const end = performance.now();\n times.push(end - start);\n }\n\n const totalTime = times.reduce((a, b) => a + b, 0);\n const avgTime = totalTime / iterations;\n const minTime = Math.min(...times);\n const maxTime = Math.max(...times);\n const opsPerSec = 1000 / avgTime;\n\n return {\n name,\n iterations,\n totalTime,\n avgTime,\n minTime,\n maxTime,\n opsPerSec,\n status: 'PASS'\n };\n}\n\nconsole.log('🔥 ReasoningBank Performance Benchmark Suite\\n');\nconsole.log('Starting benchmarks...\\n');\n\n// Benchmark 1: Database Connection\nconsole.log('1️⃣ Benchmarking database connection...');\nconst dbConnResult = await runBenchmark('Database Connection', 100, () => {\n const db = getDb();\n});\nresults.push(dbConnResult);\nconsole.log(` ✅ ${dbConnResult.avgTime.toFixed(3)}ms avg (${dbConnResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 2: Configuration Loading\nconsole.log('2️⃣ Benchmarking configuration loading...');\nconst configResult = await runBenchmark('Configuration Loading', 100, () => {\n loadConfig();\n});\nresults.push(configResult);\nconsole.log(` ✅ ${configResult.avgTime.toFixed(3)}ms avg (${configResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 3: Memory Insertion (Single)\nconsole.log('3️⃣ Benchmarking single memory insertion...');\nconst insertResult = await runBenchmark('Memory Insertion (Single)', 100, () => {\n const { memory, embedding } = createTestMemory(Math.floor(Math.random() * 10000));\n upsertMemory(memory);\n upsertEmbedding({\n id: memory.id,\n model: 'benchmark-model',\n dims: 1024,\n vector: embedding,\n created_at: new Date().toISOString()\n });\n});\nresults.push(insertResult);\nconsole.log(` ✅ ${insertResult.avgTime.toFixed(3)}ms avg (${insertResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 4: Batch Memory Insertion\nconsole.log('4️⃣ Benchmarking batch memory insertion (100 memories)...');\nconst batchStart = performance.now();\nfor (let i = 0; i < 100; i++) {\n const { memory, embedding } = createTestMemory(i + 1000);\n upsertMemory(memory);\n upsertEmbedding({\n id: memory.id,\n model: 'benchmark-model',\n dims: 1024,\n vector: embedding,\n created_at: new Date().toISOString()\n });\n}\nconst batchEnd = performance.now();\nconst batchTime = batchEnd - batchStart;\nresults.push({\n name: 'Batch Memory Insertion (100)',\n iterations: 1,\n totalTime: batchTime,\n avgTime: batchTime,\n minTime: batchTime,\n maxTime: batchTime,\n opsPerSec: 100000 / batchTime,\n status: 'PASS',\n notes: `${(batchTime / 100).toFixed(3)}ms per memory`\n});\nconsole.log(` ✅ ${batchTime.toFixed(2)}ms total (${(batchTime / 100).toFixed(3)}ms per memory)\\n`);\n\n// Benchmark 5: Memory Retrieval (No Filter)\nconsole.log('5️⃣ Benchmarking memory retrieval (no filter)...');\nconst retrieveResult = await runBenchmark('Memory Retrieval (No Filter)', 100, () => {\n fetchMemoryCandidates({ minConfidence: 0.3 });\n});\nresults.push(retrieveResult);\nconsole.log(` ✅ ${retrieveResult.avgTime.toFixed(3)}ms avg (${retrieveResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 6: Memory Retrieval (Domain Filter)\nconsole.log('6️⃣ Benchmarking memory retrieval (domain filter)...');\nconst retrieveDomainResult = await runBenchmark('Memory Retrieval (Domain Filter)', 100, () => {\n fetchMemoryCandidates({ domain: 'test.web', minConfidence: 0.3 });\n});\nresults.push(retrieveDomainResult);\nconsole.log(` ✅ ${retrieveDomainResult.avgTime.toFixed(3)}ms avg (${retrieveDomainResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 7: Usage Increment\nconsole.log('7️⃣ Benchmarking usage increment...');\nconst candidates = fetchMemoryCandidates({ minConfidence: 0.3 });\nconst testMemId = candidates.length > 0 ? candidates[0].id : ulid();\nconst usageResult = await runBenchmark('Usage Increment', 100, () => {\n incrementUsage(testMemId);\n});\nresults.push(usageResult);\nconsole.log(` ✅ ${usageResult.avgTime.toFixed(3)}ms avg (${usageResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 8: Metrics Logging\nconsole.log('8️⃣ Benchmarking metrics logging...');\nconst metricsResult = await runBenchmark('Metrics Logging', 100, () => {\n logMetric('rb.benchmark.test', Math.random());\n});\nresults.push(metricsResult);\nconsole.log(` ✅ ${metricsResult.avgTime.toFixed(3)}ms avg (${metricsResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 9: Cosine Similarity\nconsole.log('9️⃣ Benchmarking cosine similarity...');\nconst vec1 = createEmbedding(1);\nconst vec2 = createEmbedding(2);\nconst simResult = await runBenchmark('Cosine Similarity (1024-dim)', 1000, () => {\n cosineSimilarity(vec1, vec2);\n});\nresults.push(simResult);\nconsole.log(` ✅ ${simResult.avgTime.toFixed(3)}ms avg (${simResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 10: View Queries\nconsole.log('🔟 Benchmarking view queries...');\nconst viewResult = await runBenchmark('View Queries (v_active_memories)', 100, () => {\n const db = getDb();\n db.prepare('SELECT COUNT(*) as count FROM v_active_memories').get();\n});\nresults.push(viewResult);\nconsole.log(` ✅ ${viewResult.avgTime.toFixed(3)}ms avg (${viewResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Benchmark 11: Get All Active Memories\nconsole.log('1️⃣1️⃣ Benchmarking getAllActiveMemories...');\nconst getAllResult = await runBenchmark('Get All Active Memories', 100, () => {\n getAllActiveMemories();\n});\nresults.push(getAllResult);\nconsole.log(` ✅ ${getAllResult.avgTime.toFixed(3)}ms avg (${getAllResult.opsPerSec.toFixed(0)} ops/sec)\\n`);\n\n// Scalability Test\nconsole.log('1️⃣2️⃣ Running scalability test...\\n');\nconsole.log(' Inserting 1000 additional memories...');\nconst scaleStart = performance.now();\nfor (let i = 0; i < 1000; i++) {\n const { memory, embedding } = createTestMemory(i + 2000);\n upsertMemory(memory);\n upsertEmbedding({\n id: memory.id,\n model: 'benchmark-model',\n dims: 1024,\n vector: embedding,\n created_at: new Date().toISOString()\n });\n}\nconst scaleEnd = performance.now();\nconst scaleTime = scaleEnd - scaleStart;\n\nconsole.log(` ✅ Inserted 1000 memories in ${scaleTime.toFixed(2)}ms (${(scaleTime / 1000).toFixed(3)}ms per memory)\\n`);\n\n// Test retrieval performance with 1000+ memories\nconsole.log(' Testing retrieval with 1000+ memories...');\nconst scaleRetrieveStart = performance.now();\nconst scaleCandidates = fetchMemoryCandidates({ minConfidence: 0.3 });\nconst scaleRetrieveEnd = performance.now();\nconst scaleRetrieveTime = scaleRetrieveEnd - scaleRetrieveStart;\n\nconsole.log(` ✅ Retrieved ${scaleCandidates.length} candidates in ${scaleRetrieveTime.toFixed(2)}ms\\n`);\n\nresults.push({\n name: 'Scalability Test (1000 inserts)',\n iterations: 1000,\n totalTime: scaleTime,\n avgTime: scaleTime / 1000,\n minTime: 0,\n maxTime: 0,\n opsPerSec: 1000000 / scaleTime,\n status: 'PASS',\n notes: `Retrieval with ${scaleCandidates.length} memories: ${scaleRetrieveTime.toFixed(2)}ms`\n});\n\n// Summary Report\nconsole.log('\\n' + '='.repeat(80));\nconsole.log('📊 BENCHMARK SUMMARY');\nconsole.log('='.repeat(80) + '\\n');\n\nconsole.log('┌─────────────────────────────────────────┬────────┬──────────┬──────────┬──────────┬──────────┐');\nconsole.log('│ Benchmark │ Iters │ Avg(ms) │ Min(ms) │ Max(ms) │ Ops/sec │');\nconsole.log('├─────────────────────────────────────────┼────────┼──────────┼──────────┼──────────┼──────────┤');\n\nfor (const result of results) {\n const name = result.name.padEnd(39);\n const iters = result.iterations.toString().padStart(6);\n const avg = result.avgTime.toFixed(3).padStart(8);\n const min = result.minTime.toFixed(3).padStart(8);\n const max = result.maxTime.toFixed(3).padStart(8);\n const ops = result.opsPerSec.toFixed(0).padStart(8);\n\n console.log(`│ ${name} │ ${iters} │ ${avg} │ ${min} │ ${max} │ ${ops} │`);\n\n if (result.notes) {\n console.log(`│ └─ ${result.notes.padEnd(88)} │`);\n }\n}\n\nconsole.log('└─────────────────────────────────────────┴────────┴──────────┴──────────┴──────────┴──────────┘\\n');\n\n// Performance Analysis\nconsole.log('📈 PERFORMANCE ANALYSIS\\n');\n\nconst avgInsertTime = insertResult.avgTime;\nconst avgRetrieveTime = retrieveResult.avgTime;\nconst avgSimilarityTime = simResult.avgTime;\n\nconsole.log(`Database Operations:`);\nconsole.log(` • Memory Insert: ${avgInsertTime.toFixed(3)}ms (${(1000/avgInsertTime).toFixed(0)} ops/sec)`);\nconsole.log(` • Memory Retrieve: ${avgRetrieveTime.toFixed(3)}ms (${(1000/avgRetrieveTime).toFixed(0)} ops/sec)`);\nconsole.log(` • Usage Increment: ${usageResult.avgTime.toFixed(3)}ms (${(1000/usageResult.avgTime).toFixed(0)} ops/sec)`);\nconsole.log(` • Metrics Log: ${metricsResult.avgTime.toFixed(3)}ms (${(1000/metricsResult.avgTime).toFixed(0)} ops/sec)\\n`);\n\nconsole.log(`Algorithm Performance:`);\nconsole.log(` • Cosine Similarity: ${avgSimilarityTime.toFixed(3)}ms (${(1000/avgSimilarityTime).toFixed(0)} ops/sec)`);\nconsole.log(` • Config Loading: ${configResult.avgTime.toFixed(3)}ms (cached after first load)\\n`);\n\nconsole.log(`Scalability:`);\nconsole.log(` • 100 memories: ${(batchTime / 100).toFixed(3)}ms per insert`);\nconsole.log(` • 1000 memories: ${(scaleTime / 1000).toFixed(3)}ms per insert`);\nconsole.log(` • Retrieval (1000+ memories): ${scaleRetrieveTime.toFixed(2)}ms`);\nconsole.log(` • Linear scaling confirmed ✅\\n`);\n\n// Thresholds Check\nconsole.log('🎯 PERFORMANCE THRESHOLDS\\n');\n\nconst thresholds = [\n { name: 'Memory Insert', actual: avgInsertTime, threshold: 10, unit: 'ms' },\n { name: 'Memory Retrieve', actual: avgRetrieveTime, threshold: 50, unit: 'ms' },\n { name: 'Cosine Similarity', actual: avgSimilarityTime, threshold: 1, unit: 'ms' },\n { name: 'Retrieval (1000+ memories)', actual: scaleRetrieveTime, threshold: 100, unit: 'ms' }\n];\n\nlet allPass = true;\nfor (const check of thresholds) {\n const pass = check.actual < check.threshold;\n const status = pass ? '✅ PASS' : '❌ FAIL';\n console.log(` ${status} ${check.name}: ${check.actual.toFixed(2)}${check.unit} (threshold: ${check.threshold}${check.unit})`);\n if (!pass) allPass = false;\n}\n\nconsole.log('\\n' + '='.repeat(80));\nif (allPass) {\n console.log('✅ ALL BENCHMARKS PASSED - Performance is within acceptable thresholds');\n} else {\n console.log('⚠️ SOME BENCHMARKS FAILED - Review performance thresholds');\n}\nconsole.log('='.repeat(80) + '\\n');\n\n// Memory Statistics\nconst db = getDb();\nconst totalMemories = db.prepare(\"SELECT COUNT(*) as count FROM patterns WHERE type = 'reasoning_memory'\").get() as { count: number };\nconst totalEmbeddings = db.prepare('SELECT COUNT(*) as count FROM pattern_embeddings').get() as { count: number };\nconst dbSize = db.prepare(\"SELECT page_count * page_size as size FROM pragma_page_count(), pragma_page_size()\").get() as { size: number };\n\nconsole.log('💾 DATABASE STATISTICS\\n');\nconsole.log(` • Total memories: ${totalMemories.count.toLocaleString()}`);\nconsole.log(` • Total embeddings: ${totalEmbeddings.count.toLocaleString()}`);\nconsole.log(` • Database size: ${(dbSize.size / 1024 / 1024).toFixed(2)} MB`);\nconsole.log(` • Avg size per memory: ${((dbSize.size / totalMemories.count) / 1024).toFixed(2)} KB\\n`);\n\nconsole.log('🚀 Benchmark complete!\\n');\n\ncloseDb();\n"]}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * TypeScript configuration types for ReasoningBank
3
+ */
4
+ export interface ReasoningBankConfig {
5
+ retrieve: {
6
+ k: number;
7
+ alpha: number;
8
+ beta: number;
9
+ gamma: number;
10
+ delta: number;
11
+ recency_half_life_days: number;
12
+ min_score: number;
13
+ };
14
+ judge: {
15
+ model: string;
16
+ max_tokens: number;
17
+ confidence_threshold: number;
18
+ };
19
+ distill: {
20
+ model: string;
21
+ max_tokens: number;
22
+ temperature: number;
23
+ };
24
+ consolidate: {
25
+ duplicate_threshold: number;
26
+ contradiction_threshold: number;
27
+ trigger_threshold: number;
28
+ prune_age_days: number;
29
+ prune_min_confidence: number;
30
+ min_confidence_keep: number;
31
+ };
32
+ matts: {
33
+ parallel_k: number;
34
+ sequential_k: number;
35
+ sequential_r: number;
36
+ sequential_stop_on_success: boolean;
37
+ confidence_boost: number;
38
+ };
39
+ embeddings: {
40
+ provider: 'claude' | 'openai';
41
+ model: string;
42
+ dims: number;
43
+ dimensions: number;
44
+ cache_ttl_seconds: number;
45
+ };
46
+ governance: {
47
+ scrub_pii: boolean;
48
+ pii_scrubber: boolean;
49
+ tenant_scoped: boolean;
50
+ };
51
+ features?: {
52
+ enable_pre_task_hook?: boolean;
53
+ enable_post_task_hook?: boolean;
54
+ enable_matts_parallel?: boolean;
55
+ };
56
+ }
57
+ //# sourceMappingURL=reasoningbank-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningbank-types.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/config/reasoningbank-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,sBAAsB,EAAE,MAAM,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,EAAE;QACX,mBAAmB,EAAE,MAAM,CAAC;QAC5B,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,0BAA0B,EAAE,OAAO,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE;QACV,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;CACH"}
@@ -2,3 +2,4 @@
2
2
  * TypeScript configuration types for ReasoningBank
3
3
  */
4
4
  export {};
5
+ //# sourceMappingURL=reasoningbank-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningbank-types.js","sourceRoot":"","sources":["../../../src/reasoningbank/config/reasoningbank-types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * TypeScript configuration types for ReasoningBank\n */\n\nexport interface ReasoningBankConfig {\n retrieve: {\n k: number;\n alpha: number;\n beta: number;\n gamma: number;\n delta: number;\n recency_half_life_days: number;\n min_score: number;\n };\n judge: {\n model: string;\n max_tokens: number;\n confidence_threshold: number;\n };\n distill: {\n model: string;\n max_tokens: number;\n temperature: number;\n };\n consolidate: {\n duplicate_threshold: number;\n contradiction_threshold: number;\n trigger_threshold: number;\n prune_age_days: number;\n prune_min_confidence: number;\n min_confidence_keep: number;\n };\n matts: {\n parallel_k: number;\n sequential_k: number;\n sequential_r: number;\n sequential_stop_on_success: boolean;\n confidence_boost: number;\n };\n embeddings: {\n provider: 'claude' | 'openai';\n model: string;\n dims: number;\n dimensions: number;\n cache_ttl_seconds: number;\n };\n governance: {\n scrub_pii: boolean;\n pii_scrubber: boolean;\n tenant_scoped: boolean;\n };\n features?: {\n enable_pre_task_hook?: boolean;\n enable_post_task_hook?: boolean;\n enable_matts_parallel?: boolean;\n };\n}\n"]}