agentic-flow 1.10.1 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/CHANGELOG.md +25 -1338
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/agentdb/index.d.ts +26 -0
  4. package/dist/agentdb/index.d.ts.map +1 -0
  5. package/dist/agentdb/index.js +1 -0
  6. package/dist/agentdb/index.js.map +1 -0
  7. package/dist/agentdb/validate-frontier.cjs +416 -0
  8. package/dist/agentdb/validate-frontier.cjs.map +1 -0
  9. package/dist/agentdb/validate-frontier.d.cts +2 -0
  10. package/dist/agentdb/validate-frontier.d.cts.map +1 -0
  11. package/dist/agents/claudeAgent.d.ts +6 -0
  12. package/dist/agents/claudeAgent.d.ts.map +1 -0
  13. package/dist/agents/claudeAgent.js +22 -3
  14. package/dist/agents/claudeAgent.js.map +1 -0
  15. package/dist/agents/claudeAgentDirect.d.ts +6 -0
  16. package/dist/agents/claudeAgentDirect.d.ts.map +1 -0
  17. package/dist/agents/claudeAgentDirect.js +1 -0
  18. package/dist/agents/claudeAgentDirect.js.map +1 -0
  19. package/dist/agents/claudeFlowAgent.d.ts +32 -0
  20. package/dist/agents/claudeFlowAgent.d.ts.map +1 -0
  21. package/dist/agents/claudeFlowAgent.js +1 -0
  22. package/dist/agents/claudeFlowAgent.js.map +1 -0
  23. package/dist/agents/codeReviewAgent.d.ts +4 -0
  24. package/dist/agents/codeReviewAgent.d.ts.map +1 -0
  25. package/dist/agents/codeReviewAgent.js +1 -0
  26. package/dist/agents/codeReviewAgent.js.map +1 -0
  27. package/dist/agents/dataAgent.d.ts +4 -0
  28. package/dist/agents/dataAgent.d.ts.map +1 -0
  29. package/dist/agents/dataAgent.js +1 -0
  30. package/dist/agents/dataAgent.js.map +1 -0
  31. package/dist/agents/directApiAgent.d.ts +10 -0
  32. package/dist/agents/directApiAgent.d.ts.map +1 -0
  33. package/dist/agents/directApiAgent.js +1 -0
  34. package/dist/agents/directApiAgent.js.map +1 -0
  35. package/dist/agents/webResearchAgent.d.ts +4 -0
  36. package/dist/agents/webResearchAgent.d.ts.map +1 -0
  37. package/dist/agents/webResearchAgent.js +1 -0
  38. package/dist/agents/webResearchAgent.js.map +1 -0
  39. package/dist/cli/agent-manager.d.ts +57 -0
  40. package/dist/cli/agent-manager.d.ts.map +1 -0
  41. package/dist/cli/agent-manager.js +1 -0
  42. package/dist/cli/agent-manager.js.map +1 -0
  43. package/dist/cli/claude-code-wrapper.d.ts +21 -0
  44. package/dist/cli/claude-code-wrapper.d.ts.map +1 -0
  45. package/dist/cli/claude-code-wrapper.js +1 -0
  46. package/dist/cli/claude-code-wrapper.js.map +1 -0
  47. package/dist/cli/config-wizard.d.ts +21 -0
  48. package/dist/cli/config-wizard.d.ts.map +1 -0
  49. package/dist/cli/config-wizard.js +1 -0
  50. package/dist/cli/config-wizard.js.map +1 -0
  51. package/dist/cli/federation-cli.d.ts +1 -0
  52. package/dist/cli/federation-cli.d.ts.map +1 -0
  53. package/dist/cli/federation-cli.js +1 -0
  54. package/dist/cli/federation-cli.js.map +1 -0
  55. package/dist/cli/mcp-manager.d.ts +12 -0
  56. package/dist/cli/mcp-manager.d.ts.map +1 -0
  57. package/dist/cli/mcp-manager.js +1 -0
  58. package/dist/cli/mcp-manager.js.map +1 -0
  59. package/dist/cli/mcp.d.ts +11 -0
  60. package/dist/cli/mcp.d.ts.map +1 -0
  61. package/dist/cli/mcp.js +1 -0
  62. package/dist/cli/mcp.js.map +1 -0
  63. package/dist/cli-proxy.d.ts +7 -0
  64. package/dist/cli-proxy.d.ts.map +1 -0
  65. package/dist/cli-proxy.js +1 -0
  66. package/dist/cli-proxy.js.map +1 -0
  67. package/dist/cli-standalone-proxy.d.ts +17 -0
  68. package/dist/cli-standalone-proxy.d.ts.map +1 -0
  69. package/dist/cli-standalone-proxy.js +1 -0
  70. package/dist/cli-standalone-proxy.js.map +1 -0
  71. package/dist/config/claudeFlow.d.ts +33 -0
  72. package/dist/config/claudeFlow.d.ts.map +1 -0
  73. package/dist/config/claudeFlow.js +1 -0
  74. package/dist/config/claudeFlow.js.map +1 -0
  75. package/dist/config/quic.d.ts +58 -0
  76. package/dist/config/quic.d.ts.map +1 -0
  77. package/dist/config/quic.js +1 -0
  78. package/dist/config/quic.js.map +1 -0
  79. package/dist/config/tools.d.ts +17 -0
  80. package/dist/config/tools.d.ts.map +1 -0
  81. package/dist/config/tools.js +1 -0
  82. package/dist/config/tools.js.map +1 -0
  83. package/dist/core/long-running-agent.d.ts +92 -0
  84. package/dist/core/long-running-agent.d.ts.map +1 -0
  85. package/dist/core/long-running-agent.js +1 -0
  86. package/dist/core/long-running-agent.js.map +1 -0
  87. package/dist/core/provider-manager.d.ts +145 -0
  88. package/dist/core/provider-manager.d.ts.map +1 -0
  89. package/dist/core/provider-manager.js +1 -0
  90. package/dist/core/provider-manager.js.map +1 -0
  91. package/dist/examples/multi-agent-orchestration.d.ts +3 -0
  92. package/dist/examples/multi-agent-orchestration.d.ts.map +1 -0
  93. package/dist/examples/multi-agent-orchestration.js +1 -0
  94. package/dist/examples/multi-agent-orchestration.js.map +1 -0
  95. package/dist/examples/use-goal-planner.d.ts +3 -0
  96. package/dist/examples/use-goal-planner.d.ts.map +1 -0
  97. package/dist/examples/use-goal-planner.js +1 -0
  98. package/dist/examples/use-goal-planner.js.map +1 -0
  99. package/dist/examples/use-provider-fallback.d.ts +13 -0
  100. package/dist/examples/use-provider-fallback.d.ts.map +1 -0
  101. package/dist/examples/use-provider-fallback.js +1 -0
  102. package/dist/examples/use-provider-fallback.js.map +1 -0
  103. package/dist/federation/EphemeralAgent.d.ts +84 -0
  104. package/dist/federation/EphemeralAgent.d.ts.map +1 -0
  105. package/dist/federation/EphemeralAgent.js +1 -0
  106. package/dist/federation/EphemeralAgent.js.map +1 -0
  107. package/dist/federation/FederationHub.d.ts +89 -0
  108. package/dist/federation/FederationHub.d.ts.map +1 -0
  109. package/dist/federation/FederationHub.js +1 -0
  110. package/dist/federation/FederationHub.js.map +1 -0
  111. package/dist/federation/FederationHubClient.d.ts +70 -0
  112. package/dist/federation/FederationHubClient.d.ts.map +1 -0
  113. package/dist/federation/FederationHubClient.js +1 -0
  114. package/dist/federation/FederationHubClient.js.map +1 -0
  115. package/dist/federation/FederationHubServer.d.ts +100 -0
  116. package/dist/federation/FederationHubServer.d.ts.map +1 -0
  117. package/dist/federation/FederationHubServer.js +1 -0
  118. package/dist/federation/FederationHubServer.js.map +1 -0
  119. package/dist/federation/SecurityManager.d.ts +80 -0
  120. package/dist/federation/SecurityManager.d.ts.map +1 -0
  121. package/dist/federation/SecurityManager.js +1 -0
  122. package/dist/federation/SecurityManager.js.map +1 -0
  123. package/dist/federation/debug/agent-debug-stream.d.ts +171 -0
  124. package/dist/federation/debug/agent-debug-stream.d.ts.map +1 -0
  125. package/dist/federation/debug/agent-debug-stream.js +1 -0
  126. package/dist/federation/debug/agent-debug-stream.js.map +1 -0
  127. package/dist/federation/debug/debug-stream.d.ts +157 -0
  128. package/dist/federation/debug/debug-stream.d.ts.map +1 -0
  129. package/dist/federation/debug/debug-stream.js +1 -0
  130. package/dist/federation/debug/debug-stream.js.map +1 -0
  131. package/dist/federation/index.d.ts +13 -0
  132. package/dist/federation/index.d.ts.map +1 -0
  133. package/dist/federation/index.js +1 -0
  134. package/dist/federation/index.js.map +1 -0
  135. package/dist/federation/integrations/realtime-federation.d.ts +144 -0
  136. package/dist/federation/integrations/realtime-federation.d.ts.map +1 -0
  137. package/dist/federation/integrations/realtime-federation.js +1 -0
  138. package/dist/federation/integrations/realtime-federation.js.map +1 -0
  139. package/dist/federation/integrations/supabase-adapter-debug.d.ts +91 -0
  140. package/dist/federation/integrations/supabase-adapter-debug.d.ts.map +1 -0
  141. package/dist/federation/integrations/supabase-adapter-debug.js +1 -0
  142. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -0
  143. package/dist/federation/integrations/supabase-adapter.d.ts +89 -0
  144. package/dist/federation/integrations/supabase-adapter.d.ts.map +1 -0
  145. package/dist/federation/integrations/supabase-adapter.js +1 -0
  146. package/dist/federation/integrations/supabase-adapter.js.map +1 -0
  147. package/dist/health.d.ts +28 -0
  148. package/dist/health.d.ts.map +1 -0
  149. package/dist/health.js +1 -0
  150. package/dist/health.js.map +1 -0
  151. package/dist/hooks/parallel-validation.d.ts +51 -0
  152. package/dist/hooks/parallel-validation.d.ts.map +1 -0
  153. package/dist/hooks/parallel-validation.js +1 -0
  154. package/dist/hooks/parallel-validation.js.map +1 -0
  155. package/dist/hooks/swarm-learning-optimizer.d.ts +89 -0
  156. package/dist/hooks/swarm-learning-optimizer.d.ts.map +1 -0
  157. package/dist/hooks/swarm-learning-optimizer.js +1 -0
  158. package/dist/hooks/swarm-learning-optimizer.js.map +1 -0
  159. package/dist/index.d.ts +4 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +15 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/mcp/claudeFlowSdkServer.d.ts +6 -0
  164. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -0
  165. package/dist/mcp/claudeFlowSdkServer.js +1 -0
  166. package/dist/mcp/claudeFlowSdkServer.js.map +1 -0
  167. package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts +3 -0
  168. package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts.map +1 -0
  169. package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +1 -0
  170. package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -0
  171. package/dist/mcp/fastmcp/servers/http-sse.d.ts +3 -0
  172. package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -0
  173. package/dist/mcp/fastmcp/servers/http-sse.js +1 -0
  174. package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -0
  175. package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts +3 -0
  176. package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts.map +1 -0
  177. package/dist/mcp/fastmcp/servers/http-streaming-updated.js +1 -0
  178. package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -0
  179. package/dist/mcp/fastmcp/servers/poc-stdio.d.ts +3 -0
  180. package/dist/mcp/fastmcp/servers/poc-stdio.d.ts.map +1 -0
  181. package/dist/mcp/fastmcp/servers/poc-stdio.js +1 -0
  182. package/dist/mcp/fastmcp/servers/poc-stdio.js.map +1 -0
  183. package/dist/mcp/fastmcp/servers/stdio-full.d.ts +3 -0
  184. package/dist/mcp/fastmcp/servers/stdio-full.d.ts.map +1 -0
  185. package/dist/mcp/fastmcp/servers/stdio-full.js +1 -0
  186. package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -0
  187. package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts +3 -0
  188. package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts.map +1 -0
  189. package/dist/mcp/fastmcp/tools/agent/add-agent.js +1 -0
  190. package/dist/mcp/fastmcp/tools/agent/add-agent.js.map +1 -0
  191. package/dist/mcp/fastmcp/tools/agent/add-command.d.ts +3 -0
  192. package/dist/mcp/fastmcp/tools/agent/add-command.d.ts.map +1 -0
  193. package/dist/mcp/fastmcp/tools/agent/add-command.js +1 -0
  194. package/dist/mcp/fastmcp/tools/agent/add-command.js.map +1 -0
  195. package/dist/mcp/fastmcp/tools/agent/execute.d.ts +3 -0
  196. package/dist/mcp/fastmcp/tools/agent/execute.d.ts.map +1 -0
  197. package/dist/mcp/fastmcp/tools/agent/execute.js +1 -0
  198. package/dist/mcp/fastmcp/tools/agent/execute.js.map +1 -0
  199. package/dist/mcp/fastmcp/tools/agent/list.d.ts +3 -0
  200. package/dist/mcp/fastmcp/tools/agent/list.d.ts.map +1 -0
  201. package/dist/mcp/fastmcp/tools/agent/list.js +1 -0
  202. package/dist/mcp/fastmcp/tools/agent/list.js.map +1 -0
  203. package/dist/mcp/fastmcp/tools/agent/parallel.d.ts +3 -0
  204. package/dist/mcp/fastmcp/tools/agent/parallel.d.ts.map +1 -0
  205. package/dist/mcp/fastmcp/tools/agent/parallel.js +1 -0
  206. package/dist/mcp/fastmcp/tools/agent/parallel.js.map +1 -0
  207. package/dist/mcp/fastmcp/tools/swarm/init.d.ts +3 -0
  208. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -0
  209. package/dist/mcp/fastmcp/tools/swarm/init.js +1 -0
  210. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -0
  211. package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts +3 -0
  212. package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +1 -0
  213. package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +1 -0
  214. package/dist/mcp/fastmcp/tools/swarm/orchestrate.js.map +1 -0
  215. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts +3 -0
  216. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -0
  217. package/dist/mcp/fastmcp/tools/swarm/spawn.js +1 -0
  218. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -0
  219. package/dist/mcp/fastmcp/types/index.d.ts +33 -0
  220. package/dist/mcp/fastmcp/types/index.d.ts.map +1 -0
  221. package/dist/mcp/fastmcp/types/index.js +1 -0
  222. package/dist/mcp/fastmcp/types/index.js.map +1 -0
  223. package/dist/mcp/standalone-stdio.d.ts +3 -0
  224. package/dist/mcp/standalone-stdio.d.ts.map +1 -0
  225. package/dist/mcp/standalone-stdio.js +1 -0
  226. package/dist/mcp/standalone-stdio.js.map +1 -0
  227. package/dist/memory/SharedMemoryPool.d.ts +116 -0
  228. package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
  229. package/dist/memory/SharedMemoryPool.js +1 -0
  230. package/dist/memory/SharedMemoryPool.js.map +1 -0
  231. package/dist/memory/index.d.ts +8 -0
  232. package/dist/memory/index.d.ts.map +1 -0
  233. package/dist/memory/index.js +1 -0
  234. package/dist/memory/index.js.map +1 -0
  235. package/dist/proxy/adaptive-proxy.d.ts +51 -0
  236. package/dist/proxy/adaptive-proxy.d.ts.map +1 -0
  237. package/dist/proxy/adaptive-proxy.js +1 -0
  238. package/dist/proxy/adaptive-proxy.js.map +1 -0
  239. package/dist/proxy/anthropic-to-gemini.d.ts +20 -0
  240. package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -0
  241. package/dist/proxy/anthropic-to-gemini.js +1 -0
  242. package/dist/proxy/anthropic-to-gemini.js.map +1 -0
  243. package/dist/proxy/anthropic-to-onnx.d.ts +17 -0
  244. package/dist/proxy/anthropic-to-onnx.d.ts.map +1 -0
  245. package/dist/proxy/anthropic-to-onnx.js +1 -0
  246. package/dist/proxy/anthropic-to-onnx.js.map +1 -0
  247. package/dist/proxy/anthropic-to-openrouter.d.ts +28 -0
  248. package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -0
  249. package/dist/proxy/anthropic-to-openrouter.js +1 -0
  250. package/dist/proxy/anthropic-to-openrouter.js.map +1 -0
  251. package/dist/proxy/anthropic-to-requesty.d.ts +33 -0
  252. package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -0
  253. package/dist/proxy/anthropic-to-requesty.js +1 -0
  254. package/dist/proxy/anthropic-to-requesty.js.map +1 -0
  255. package/dist/proxy/http2-proxy-optimized.d.ts +63 -0
  256. package/dist/proxy/http2-proxy-optimized.d.ts.map +1 -0
  257. package/dist/proxy/http2-proxy-optimized.js +1 -0
  258. package/dist/proxy/http2-proxy-optimized.js.map +1 -0
  259. package/dist/proxy/http2-proxy.d.ts +43 -0
  260. package/dist/proxy/http2-proxy.d.ts.map +1 -0
  261. package/dist/proxy/http2-proxy.js +1 -0
  262. package/dist/proxy/http2-proxy.js.map +1 -0
  263. package/dist/proxy/http3-proxy.d.ts +18 -0
  264. package/dist/proxy/http3-proxy.d.ts.map +1 -0
  265. package/dist/proxy/http3-proxy.js +1 -0
  266. package/dist/proxy/http3-proxy.js.map +1 -0
  267. package/dist/proxy/provider-instructions.d.ts +37 -0
  268. package/dist/proxy/provider-instructions.d.ts.map +1 -0
  269. package/dist/proxy/provider-instructions.js +1 -0
  270. package/dist/proxy/provider-instructions.js.map +1 -0
  271. package/dist/proxy/quic-proxy.d.ts +58 -0
  272. package/dist/proxy/quic-proxy.d.ts.map +1 -0
  273. package/dist/proxy/quic-proxy.js +1 -0
  274. package/dist/proxy/quic-proxy.js.map +1 -0
  275. package/dist/proxy/tool-emulation.d.ts +121 -0
  276. package/dist/proxy/tool-emulation.d.ts.map +1 -0
  277. package/dist/proxy/tool-emulation.js +1 -0
  278. package/dist/proxy/tool-emulation.js.map +1 -0
  279. package/dist/proxy/websocket-proxy.d.ts +39 -0
  280. package/dist/proxy/websocket-proxy.d.ts.map +1 -0
  281. package/dist/proxy/websocket-proxy.js +1 -0
  282. package/dist/proxy/websocket-proxy.js.map +1 -0
  283. package/dist/reasoningbank/AdvancedMemory.d.ts +120 -0
  284. package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -0
  285. package/dist/reasoningbank/AdvancedMemory.js +1 -0
  286. package/dist/reasoningbank/AdvancedMemory.js.map +1 -0
  287. package/dist/reasoningbank/HybridBackend.d.ts +99 -0
  288. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -0
  289. package/dist/reasoningbank/HybridBackend.js +1 -0
  290. package/dist/reasoningbank/HybridBackend.js.map +1 -0
  291. package/dist/reasoningbank/backend-selector.d.ts +79 -0
  292. package/dist/reasoningbank/backend-selector.d.ts.map +1 -0
  293. package/dist/reasoningbank/backend-selector.js +1 -0
  294. package/dist/reasoningbank/backend-selector.js.map +1 -0
  295. package/dist/reasoningbank/benchmark.d.ts +14 -0
  296. package/dist/reasoningbank/benchmark.d.ts.map +1 -0
  297. package/dist/reasoningbank/benchmark.js +1 -0
  298. package/dist/reasoningbank/benchmark.js.map +1 -0
  299. package/dist/reasoningbank/config/reasoningbank-types.d.ts +57 -0
  300. package/dist/reasoningbank/config/reasoningbank-types.d.ts.map +1 -0
  301. package/dist/reasoningbank/config/reasoningbank-types.js +1 -0
  302. package/dist/reasoningbank/config/reasoningbank-types.js.map +1 -0
  303. package/dist/reasoningbank/core/consolidate.d.ts +21 -0
  304. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -0
  305. package/dist/reasoningbank/core/consolidate.js +1 -0
  306. package/dist/reasoningbank/core/consolidate.js.map +1 -0
  307. package/dist/reasoningbank/core/distill.d.ts +22 -0
  308. package/dist/reasoningbank/core/distill.d.ts.map +1 -0
  309. package/dist/reasoningbank/core/distill.js +1 -0
  310. package/dist/reasoningbank/core/distill.js.map +1 -0
  311. package/dist/reasoningbank/core/judge.d.ts +17 -0
  312. package/dist/reasoningbank/core/judge.d.ts.map +1 -0
  313. package/dist/reasoningbank/core/judge.js +1 -0
  314. package/dist/reasoningbank/core/judge.js.map +1 -0
  315. package/dist/reasoningbank/core/matts.d.ts +46 -0
  316. package/dist/reasoningbank/core/matts.d.ts.map +1 -0
  317. package/dist/reasoningbank/core/matts.js +1 -0
  318. package/dist/reasoningbank/core/matts.js.map +1 -0
  319. package/dist/reasoningbank/core/retrieve.d.ts +35 -0
  320. package/dist/reasoningbank/core/retrieve.d.ts.map +1 -0
  321. package/dist/reasoningbank/core/retrieve.js +1 -0
  322. package/dist/reasoningbank/core/retrieve.js.map +1 -0
  323. package/dist/reasoningbank/db/queries.d.ts +88 -0
  324. package/dist/reasoningbank/db/queries.d.ts.map +1 -0
  325. package/dist/reasoningbank/db/queries.js +1 -0
  326. package/dist/reasoningbank/db/queries.js.map +1 -0
  327. package/dist/reasoningbank/db/schema.d.ts +81 -0
  328. package/dist/reasoningbank/db/schema.d.ts.map +1 -0
  329. package/dist/reasoningbank/db/schema.js +1 -0
  330. package/dist/reasoningbank/db/schema.js.map +1 -0
  331. package/dist/reasoningbank/demo-comparison.d.ts +10 -0
  332. package/dist/reasoningbank/demo-comparison.d.ts.map +1 -0
  333. package/dist/reasoningbank/demo-comparison.js +1 -0
  334. package/dist/reasoningbank/demo-comparison.js.map +1 -0
  335. package/dist/reasoningbank/hooks/post-task.d.ts +9 -0
  336. package/dist/reasoningbank/hooks/post-task.d.ts.map +1 -0
  337. package/dist/reasoningbank/hooks/post-task.js +1 -0
  338. package/dist/reasoningbank/hooks/post-task.js.map +1 -0
  339. package/dist/reasoningbank/hooks/pre-task.d.ts +9 -0
  340. package/dist/reasoningbank/hooks/pre-task.d.ts.map +1 -0
  341. package/dist/reasoningbank/hooks/pre-task.js +1 -0
  342. package/dist/reasoningbank/hooks/pre-task.js.map +1 -0
  343. package/dist/reasoningbank/index-new.d.ts +49 -0
  344. package/dist/reasoningbank/index-new.d.ts.map +1 -0
  345. package/dist/reasoningbank/index-new.js +1 -0
  346. package/dist/reasoningbank/index-new.js.map +1 -0
  347. package/dist/reasoningbank/index.d.ts +50 -0
  348. package/dist/reasoningbank/index.d.ts.map +1 -0
  349. package/dist/reasoningbank/index.js +1 -0
  350. package/dist/reasoningbank/index.js.map +1 -0
  351. package/dist/reasoningbank/test-integration.d.ts +7 -0
  352. package/dist/reasoningbank/test-integration.d.ts.map +1 -0
  353. package/dist/reasoningbank/test-integration.js +1 -0
  354. package/dist/reasoningbank/test-integration.js.map +1 -0
  355. package/dist/reasoningbank/test-retrieval.d.ts +6 -0
  356. package/dist/reasoningbank/test-retrieval.d.ts.map +1 -0
  357. package/dist/reasoningbank/test-retrieval.js +1 -0
  358. package/dist/reasoningbank/test-retrieval.js.map +1 -0
  359. package/dist/reasoningbank/test-validation.d.ts +7 -0
  360. package/dist/reasoningbank/test-validation.d.ts.map +1 -0
  361. package/dist/reasoningbank/test-validation.js +1 -0
  362. package/dist/reasoningbank/test-validation.js.map +1 -0
  363. package/dist/reasoningbank/types/index.d.ts +123 -0
  364. package/dist/reasoningbank/types/index.d.ts.map +1 -0
  365. package/dist/reasoningbank/types/index.js +1 -0
  366. package/dist/reasoningbank/types/index.js.map +1 -0
  367. package/dist/reasoningbank/utils/config.d.ts +61 -0
  368. package/dist/reasoningbank/utils/config.d.ts.map +1 -0
  369. package/dist/reasoningbank/utils/config.js +1 -0
  370. package/dist/reasoningbank/utils/config.js.map +1 -0
  371. package/dist/reasoningbank/utils/embeddings.d.ts +21 -0
  372. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -0
  373. package/dist/reasoningbank/utils/embeddings.js +1 -0
  374. package/dist/reasoningbank/utils/embeddings.js.map +1 -0
  375. package/dist/reasoningbank/utils/mmr.d.ts +23 -0
  376. package/dist/reasoningbank/utils/mmr.d.ts.map +1 -0
  377. package/dist/reasoningbank/utils/mmr.js +1 -0
  378. package/dist/reasoningbank/utils/mmr.js.map +1 -0
  379. package/dist/reasoningbank/utils/pii-scrubber.d.ts +46 -0
  380. package/dist/reasoningbank/utils/pii-scrubber.d.ts.map +1 -0
  381. package/dist/reasoningbank/utils/pii-scrubber.js +1 -0
  382. package/dist/reasoningbank/utils/pii-scrubber.js.map +1 -0
  383. package/dist/reasoningbank/wasm-adapter.d.ts +104 -0
  384. package/dist/reasoningbank/wasm-adapter.d.ts.map +1 -0
  385. package/dist/reasoningbank/wasm-adapter.js +1 -0
  386. package/dist/reasoningbank/wasm-adapter.js.map +1 -0
  387. package/dist/router/model-mapping.d.ts +31 -0
  388. package/dist/router/model-mapping.d.ts.map +1 -0
  389. package/dist/router/model-mapping.js +1 -0
  390. package/dist/router/model-mapping.js.map +1 -0
  391. package/dist/router/providers/anthropic.d.ts +17 -0
  392. package/dist/router/providers/anthropic.d.ts.map +1 -0
  393. package/dist/router/providers/anthropic.js +1 -0
  394. package/dist/router/providers/anthropic.js.map +1 -0
  395. package/dist/router/providers/gemini.d.ts +17 -0
  396. package/dist/router/providers/gemini.d.ts.map +1 -0
  397. package/dist/router/providers/gemini.js +1 -0
  398. package/dist/router/providers/gemini.js.map +1 -0
  399. package/dist/router/providers/onnx-local-optimized.d.ts +71 -0
  400. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -0
  401. package/dist/router/providers/onnx-local-optimized.js +1 -0
  402. package/dist/router/providers/onnx-local-optimized.js.map +1 -0
  403. package/dist/router/providers/onnx-local.d.ts +75 -0
  404. package/dist/router/providers/onnx-local.d.ts.map +1 -0
  405. package/dist/router/providers/onnx-local.js +1 -0
  406. package/dist/router/providers/onnx-local.js.map +1 -0
  407. package/dist/router/providers/onnx-phi4.d.ts +64 -0
  408. package/dist/router/providers/onnx-phi4.d.ts.map +1 -0
  409. package/dist/router/providers/onnx-phi4.js +1 -0
  410. package/dist/router/providers/onnx-phi4.js.map +1 -0
  411. package/dist/router/providers/onnx.d.ts +65 -0
  412. package/dist/router/providers/onnx.d.ts.map +1 -0
  413. package/dist/router/providers/onnx.js +1 -0
  414. package/dist/router/providers/onnx.js.map +1 -0
  415. package/dist/router/providers/openrouter.d.ts +21 -0
  416. package/dist/router/providers/openrouter.d.ts.map +1 -0
  417. package/dist/router/providers/openrouter.js +1 -0
  418. package/dist/router/providers/openrouter.js.map +1 -0
  419. package/dist/router/router.d.ts +26 -0
  420. package/dist/router/router.d.ts.map +1 -0
  421. package/dist/router/router.js +1 -0
  422. package/dist/router/router.js.map +1 -0
  423. package/dist/router/test-integration.d.ts +13 -0
  424. package/dist/router/test-integration.d.ts.map +1 -0
  425. package/dist/router/test-integration.js +1 -0
  426. package/dist/router/test-integration.js.map +1 -0
  427. package/dist/router/test-onnx-benchmark.d.ts +7 -0
  428. package/dist/router/test-onnx-benchmark.d.ts.map +1 -0
  429. package/dist/router/test-onnx-benchmark.js +1 -0
  430. package/dist/router/test-onnx-benchmark.js.map +1 -0
  431. package/dist/router/test-onnx-integration.d.ts +8 -0
  432. package/dist/router/test-onnx-integration.d.ts.map +1 -0
  433. package/dist/router/test-onnx-integration.js +1 -0
  434. package/dist/router/test-onnx-integration.js.map +1 -0
  435. package/dist/router/test-onnx-local.d.ts +6 -0
  436. package/dist/router/test-onnx-local.d.ts.map +1 -0
  437. package/dist/router/test-onnx-local.js +1 -0
  438. package/dist/router/test-onnx-local.js.map +1 -0
  439. package/dist/router/test-onnx.d.ts +7 -0
  440. package/dist/router/test-onnx.d.ts.map +1 -0
  441. package/dist/router/test-onnx.js +1 -0
  442. package/dist/router/test-onnx.js.map +1 -0
  443. package/dist/router/test-openrouter.d.ts +3 -0
  444. package/dist/router/test-openrouter.d.ts.map +1 -0
  445. package/dist/router/test-openrouter.js +1 -0
  446. package/dist/router/test-openrouter.js.map +1 -0
  447. package/dist/router/test-phi4.d.ts +6 -0
  448. package/dist/router/test-phi4.d.ts.map +1 -0
  449. package/dist/router/test-phi4.js +1 -0
  450. package/dist/router/test-phi4.js.map +1 -0
  451. package/dist/router/types.d.ts +209 -0
  452. package/dist/router/types.d.ts.map +1 -0
  453. package/dist/router/types.js +1 -0
  454. package/dist/router/types.js.map +1 -0
  455. package/dist/swarm/index.d.ts +51 -0
  456. package/dist/swarm/index.d.ts.map +1 -0
  457. package/dist/swarm/index.js +1 -0
  458. package/dist/swarm/index.js.map +1 -0
  459. package/dist/swarm/quic-coordinator.d.ts +149 -0
  460. package/dist/swarm/quic-coordinator.d.ts.map +1 -0
  461. package/dist/swarm/quic-coordinator.js +1 -0
  462. package/dist/swarm/quic-coordinator.js.map +1 -0
  463. package/dist/swarm/transport-router.d.ts +124 -0
  464. package/dist/swarm/transport-router.d.ts.map +1 -0
  465. package/dist/swarm/transport-router.js +1 -0
  466. package/dist/swarm/transport-router.js.map +1 -0
  467. package/dist/transport/index.d.ts +2 -0
  468. package/dist/transport/index.d.ts.map +1 -0
  469. package/dist/transport/index.js +1 -0
  470. package/dist/transport/index.js.map +1 -0
  471. package/dist/transport/quic-handshake.d.ts +66 -0
  472. package/dist/transport/quic-handshake.d.ts.map +1 -0
  473. package/dist/transport/quic-handshake.js +1 -0
  474. package/dist/transport/quic-handshake.js.map +1 -0
  475. package/dist/transport/quic.d.ts +184 -0
  476. package/dist/transport/quic.d.ts.map +1 -0
  477. package/dist/transport/quic.js +1 -0
  478. package/dist/transport/quic.js.map +1 -0
  479. package/dist/utils/agentBoosterPreprocessor.d.ts +72 -0
  480. package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -0
  481. package/dist/utils/agentBoosterPreprocessor.js +1 -0
  482. package/dist/utils/agentBoosterPreprocessor.js.map +1 -0
  483. package/dist/utils/agentLoader.d.ts +22 -0
  484. package/dist/utils/agentLoader.d.ts.map +1 -0
  485. package/dist/utils/agentLoader.js +1 -0
  486. package/dist/utils/agentLoader.js.map +1 -0
  487. package/dist/utils/agentdb-runtime-patch.d.ts +28 -0
  488. package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -0
  489. package/dist/utils/agentdb-runtime-patch.js +1 -0
  490. package/dist/utils/agentdb-runtime-patch.js.map +1 -0
  491. package/dist/utils/auth.d.ts +13 -0
  492. package/dist/utils/auth.d.ts.map +1 -0
  493. package/dist/utils/auth.js +1 -0
  494. package/dist/utils/auth.js.map +1 -0
  495. package/dist/utils/cli.d.ts +31 -0
  496. package/dist/utils/cli.d.ts.map +1 -0
  497. package/dist/utils/cli.js +1 -0
  498. package/dist/utils/cli.js.map +1 -0
  499. package/dist/utils/compression-middleware.d.ts +55 -0
  500. package/dist/utils/compression-middleware.d.ts.map +1 -0
  501. package/dist/utils/compression-middleware.js +1 -0
  502. package/dist/utils/compression-middleware.js.map +1 -0
  503. package/dist/utils/connection-pool.d.ts +30 -0
  504. package/dist/utils/connection-pool.d.ts.map +1 -0
  505. package/dist/utils/connection-pool.js +1 -0
  506. package/dist/utils/connection-pool.js.map +1 -0
  507. package/dist/utils/logger.d.ts +19 -0
  508. package/dist/utils/logger.d.ts.map +1 -0
  509. package/dist/utils/logger.js +1 -0
  510. package/dist/utils/logger.js.map +1 -0
  511. package/dist/utils/math.d.ts +12 -0
  512. package/dist/utils/math.d.ts.map +1 -0
  513. package/dist/utils/math.js +1 -0
  514. package/dist/utils/math.js.map +1 -0
  515. package/dist/utils/mcpCommands.d.ts +2 -0
  516. package/dist/utils/mcpCommands.d.ts.map +1 -0
  517. package/dist/utils/mcpCommands.js +1 -0
  518. package/dist/utils/mcpCommands.js.map +1 -0
  519. package/dist/utils/model-downloader.d.ts +63 -0
  520. package/dist/utils/model-downloader.d.ts.map +1 -0
  521. package/dist/utils/model-downloader.js +1 -0
  522. package/dist/utils/model-downloader.js.map +1 -0
  523. package/dist/utils/modelCapabilities.d.ts +30 -0
  524. package/dist/utils/modelCapabilities.d.ts.map +1 -0
  525. package/dist/utils/modelCapabilities.js +1 -0
  526. package/dist/utils/modelCapabilities.js.map +1 -0
  527. package/dist/utils/modelOptimizer.d.ts +207 -0
  528. package/dist/utils/modelOptimizer.d.ts.map +1 -0
  529. package/dist/utils/modelOptimizer.js +1 -0
  530. package/dist/utils/modelOptimizer.js.map +1 -0
  531. package/dist/utils/rate-limiter.d.ts +17 -0
  532. package/dist/utils/rate-limiter.d.ts.map +1 -0
  533. package/dist/utils/rate-limiter.js +1 -0
  534. package/dist/utils/rate-limiter.js.map +1 -0
  535. package/dist/utils/reasoningbankCommands.d.ts +6 -0
  536. package/dist/utils/reasoningbankCommands.d.ts.map +1 -0
  537. package/dist/utils/reasoningbankCommands.js +1 -0
  538. package/dist/utils/reasoningbankCommands.js.map +1 -0
  539. package/dist/utils/response-cache.d.ts +94 -0
  540. package/dist/utils/response-cache.d.ts.map +1 -0
  541. package/dist/utils/response-cache.js +1 -0
  542. package/dist/utils/response-cache.js.map +1 -0
  543. package/dist/utils/retry.d.ts +9 -0
  544. package/dist/utils/retry.d.ts.map +1 -0
  545. package/dist/utils/retry.js +1 -0
  546. package/dist/utils/retry.js.map +1 -0
  547. package/dist/utils/streaming-optimizer.d.ts +37 -0
  548. package/dist/utils/streaming-optimizer.d.ts.map +1 -0
  549. package/dist/utils/streaming-optimizer.js +1 -0
  550. package/dist/utils/streaming-optimizer.js.map +1 -0
  551. package/package.json +1 -1
  552. package/docs/PHASE2-IMPLEMENTATION-SUMMARY.md +0 -275
  553. package/docs/PHASE2-PHASE3-COMPLETE-SUMMARY.md +0 -453
  554. package/docs/PHASE3-IMPLEMENTATION-SUMMARY.md +0 -357
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Real-Time Federation System using Supabase
3
+ *
4
+ * Leverages Supabase Real-Time for:
5
+ * - Live agent coordination
6
+ * - Instant memory synchronization
7
+ * - Real-time presence tracking
8
+ * - Collaborative multi-agent workflows
9
+ * - Event-driven agent communication
10
+ */
11
+ export interface RealtimeConfig {
12
+ url: string;
13
+ anonKey: string;
14
+ serviceRoleKey?: string;
15
+ presenceHeartbeat?: number;
16
+ memorySync?: boolean;
17
+ broadcastLatency?: 'low' | 'high';
18
+ }
19
+ export interface AgentPresence {
20
+ agent_id: string;
21
+ tenant_id: string;
22
+ status: 'online' | 'busy' | 'offline';
23
+ task?: string;
24
+ started_at: string;
25
+ last_heartbeat: string;
26
+ metadata?: Record<string, any>;
27
+ }
28
+ export interface MemoryEvent {
29
+ type: 'memory_added' | 'memory_updated' | 'memory_retrieved';
30
+ tenant_id: string;
31
+ agent_id: string;
32
+ session_id: string;
33
+ content: string;
34
+ embedding?: number[];
35
+ metadata?: Record<string, any>;
36
+ timestamp: string;
37
+ }
38
+ export interface CoordinationMessage {
39
+ from_agent: string;
40
+ to_agent?: string;
41
+ type: 'task_assignment' | 'task_complete' | 'request_help' | 'share_knowledge' | 'status_update';
42
+ payload: any;
43
+ timestamp: string;
44
+ }
45
+ export interface TaskAssignment {
46
+ task_id: string;
47
+ assigned_to: string;
48
+ description: string;
49
+ priority: 'low' | 'medium' | 'high' | 'critical';
50
+ deadline?: string;
51
+ dependencies?: string[];
52
+ }
53
+ export declare class RealtimeFederationHub {
54
+ private client;
55
+ private config;
56
+ private channels;
57
+ private presenceChannel?;
58
+ private agentId;
59
+ private tenantId;
60
+ private heartbeatInterval?;
61
+ private eventHandlers;
62
+ constructor(config: RealtimeConfig, agentId: string, tenantId?: string);
63
+ /**
64
+ * Initialize real-time federation
65
+ */
66
+ initialize(): Promise<void>;
67
+ /**
68
+ * Set up presence tracking for all agents in tenant
69
+ */
70
+ private setupPresence;
71
+ /**
72
+ * Set up real-time memory synchronization
73
+ */
74
+ private setupMemorySync;
75
+ /**
76
+ * Set up coordination channel for agent-to-agent communication
77
+ */
78
+ private setupCoordination;
79
+ /**
80
+ * Broadcast message to all agents in tenant
81
+ */
82
+ broadcast(type: CoordinationMessage['type'], payload: any): Promise<void>;
83
+ /**
84
+ * Send direct message to specific agent
85
+ */
86
+ sendMessage(toAgent: string, type: CoordinationMessage['type'], payload: any): Promise<void>;
87
+ /**
88
+ * Assign task to another agent
89
+ */
90
+ assignTask(task: TaskAssignment): Promise<void>;
91
+ /**
92
+ * Report task completion
93
+ */
94
+ reportTaskComplete(taskId: string, result: any): Promise<void>;
95
+ /**
96
+ * Request help from other agents
97
+ */
98
+ requestHelp(problem: string, context?: any): Promise<void>;
99
+ /**
100
+ * Share knowledge with other agents
101
+ */
102
+ shareKnowledge(knowledge: string, metadata?: any): Promise<void>;
103
+ /**
104
+ * Update agent status
105
+ */
106
+ updateStatus(status: 'online' | 'busy' | 'offline', task?: string): Promise<void>;
107
+ /**
108
+ * Get list of active agents
109
+ */
110
+ getActiveAgents(presenceState?: any): AgentPresence[];
111
+ /**
112
+ * Start heartbeat to maintain presence
113
+ */
114
+ private startHeartbeat;
115
+ /**
116
+ * Stop heartbeat
117
+ */
118
+ private stopHeartbeat;
119
+ /**
120
+ * Subscribe to events
121
+ */
122
+ on(event: string, handler: Function): void;
123
+ /**
124
+ * Unsubscribe from events
125
+ */
126
+ off(event: string, handler: Function): void;
127
+ /**
128
+ * Emit event to handlers
129
+ */
130
+ private emit;
131
+ /**
132
+ * Get real-time statistics
133
+ */
134
+ getStats(): Promise<any>;
135
+ /**
136
+ * Shutdown and cleanup
137
+ */
138
+ shutdown(): Promise<void>;
139
+ }
140
+ /**
141
+ * Create real-time federation hub from environment
142
+ */
143
+ export declare function createRealtimeHub(agentId: string, tenantId?: string): RealtimeFederationHub;
144
+ //# sourceMappingURL=realtime-federation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-federation.d.ts","sourceRoot":"","sources":["../../../src/federation/integrations/realtime-federation.ts"],"names":[],"mappings":"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"}
@@ -402,3 +402,4 @@ export function createRealtimeHub(agentId, tenantId = 'default') {
402
402
  broadcastLatency: process.env.FEDERATION_BROADCAST_LATENCY || 'low',
403
403
  }, agentId, tenantId);
404
404
  }
405
+ //# sourceMappingURL=realtime-federation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-federation.js","sourceRoot":"","sources":["../../../src/federation/integrations/realtime-federation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Real-Time Federation System using Supabase\n *\n * Leverages Supabase Real-Time for:\n * - Live agent coordination\n * - Instant memory synchronization\n * - Real-time presence tracking\n * - Collaborative multi-agent workflows\n * - Event-driven agent communication\n */\n\nimport { createClient, SupabaseClient, RealtimeChannel } from '@supabase/supabase-js';\n\nexport interface RealtimeConfig {\n url: string;\n anonKey: string;\n serviceRoleKey?: string;\n presenceHeartbeat?: number; // ms, default 30000\n memorySync?: boolean; // Auto-sync memories\n broadcastLatency?: 'low' | 'high'; // Trade-off: low = less batching\n}\n\nexport interface AgentPresence {\n agent_id: string;\n tenant_id: string;\n status: 'online' | 'busy' | 'offline';\n task?: string;\n started_at: string;\n last_heartbeat: string;\n metadata?: Record<string, any>;\n}\n\nexport interface MemoryEvent {\n type: 'memory_added' | 'memory_updated' | 'memory_retrieved';\n tenant_id: string;\n agent_id: string;\n session_id: string;\n content: string;\n embedding?: number[];\n metadata?: Record<string, any>;\n timestamp: string;\n}\n\nexport interface CoordinationMessage {\n from_agent: string;\n to_agent?: string; // undefined = broadcast\n type: 'task_assignment' | 'task_complete' | 'request_help' | 'share_knowledge' | 'status_update';\n payload: any;\n timestamp: string;\n}\n\nexport interface TaskAssignment {\n task_id: string;\n assigned_to: string;\n description: string;\n priority: 'low' | 'medium' | 'high' | 'critical';\n deadline?: string;\n dependencies?: string[];\n}\n\nexport class RealtimeFederationHub {\n private client: SupabaseClient;\n private config: RealtimeConfig;\n private channels: Map<string, RealtimeChannel> = new Map();\n private presenceChannel?: RealtimeChannel;\n private agentId: string;\n private tenantId: string;\n private heartbeatInterval?: NodeJS.Timeout;\n private eventHandlers: Map<string, Set<Function>> = new Map();\n\n constructor(config: RealtimeConfig, agentId: string, tenantId: string = 'default') {\n this.config = config;\n this.agentId = agentId;\n this.tenantId = tenantId;\n\n const key = config.serviceRoleKey || config.anonKey;\n this.client = createClient(config.url, key, {\n realtime: {\n params: {\n eventsPerSecond: config.broadcastLatency === 'low' ? 10 : 2,\n },\n },\n });\n }\n\n /**\n * Initialize real-time federation\n */\n async initialize(): Promise<void> {\n console.log('🌐 Initializing Real-Time Federation Hub...');\n console.log(` Agent: ${this.agentId}`);\n console.log(` Tenant: ${this.tenantId}`);\n\n // Set up presence tracking\n await this.setupPresence();\n\n // Set up memory sync channel\n if (this.config.memorySync !== false) {\n await this.setupMemorySync();\n }\n\n // Set up coordination channel\n await this.setupCoordination();\n\n // Start heartbeat\n this.startHeartbeat();\n\n console.log('✅ Real-Time Federation Hub Active');\n }\n\n /**\n * Set up presence tracking for all agents in tenant\n */\n private async setupPresence(): Promise<void> {\n const channelName = `presence:${this.tenantId}`;\n this.presenceChannel = this.client.channel(channelName, {\n config: {\n presence: {\n key: this.agentId,\n },\n },\n });\n\n // Track agent join\n this.presenceChannel.on('presence', { event: 'join' }, ({ key, newPresences }) => {\n console.log(`🟢 Agent joined: ${key}`);\n this.emit('agent:join', { agent_id: key, presences: newPresences });\n });\n\n // Track agent leave\n this.presenceChannel.on('presence', { event: 'leave' }, ({ key, leftPresences }) => {\n console.log(`🔴 Agent left: ${key}`);\n this.emit('agent:leave', { agent_id: key, presences: leftPresences });\n });\n\n // Track agent sync (periodic updates)\n this.presenceChannel.on('presence', { event: 'sync' }, () => {\n const state = this.presenceChannel!.presenceState();\n this.emit('agents:sync', { agents: this.getActiveAgents(state) });\n });\n\n // Subscribe and track presence\n await this.presenceChannel.subscribe(async (status) => {\n if (status === 'SUBSCRIBED') {\n await this.presenceChannel!.track({\n agent_id: this.agentId,\n tenant_id: this.tenantId,\n status: 'online',\n started_at: new Date().toISOString(),\n last_heartbeat: new Date().toISOString(),\n });\n }\n });\n }\n\n /**\n * Set up real-time memory synchronization\n */\n private async setupMemorySync(): Promise<void> {\n const channelName = `memories:${this.tenantId}`;\n const channel = this.client.channel(channelName);\n\n // Listen for new memories from database\n channel\n .on(\n 'postgres_changes',\n {\n event: 'INSERT',\n schema: 'public',\n table: 'agent_memories',\n filter: `tenant_id=eq.${this.tenantId}`,\n },\n (payload) => {\n const memory: MemoryEvent = {\n type: 'memory_added',\n tenant_id: payload.new.tenant_id,\n agent_id: payload.new.agent_id,\n session_id: payload.new.session_id,\n content: payload.new.content,\n embedding: payload.new.embedding,\n metadata: payload.new.metadata,\n timestamp: payload.new.created_at,\n };\n this.emit('memory:added', memory);\n }\n )\n .on(\n 'postgres_changes',\n {\n event: 'UPDATE',\n schema: 'public',\n table: 'agent_memories',\n filter: `tenant_id=eq.${this.tenantId}`,\n },\n (payload) => {\n const memory: MemoryEvent = {\n type: 'memory_updated',\n tenant_id: payload.new.tenant_id,\n agent_id: payload.new.agent_id,\n session_id: payload.new.session_id,\n content: payload.new.content,\n embedding: payload.new.embedding,\n metadata: payload.new.metadata,\n timestamp: new Date().toISOString(),\n };\n this.emit('memory:updated', memory);\n }\n );\n\n await channel.subscribe();\n this.channels.set('memory-sync', channel);\n\n console.log('💾 Real-time memory sync enabled');\n }\n\n /**\n * Set up coordination channel for agent-to-agent communication\n */\n private async setupCoordination(): Promise<void> {\n const channelName = `coordination:${this.tenantId}`;\n const channel = this.client.channel(channelName);\n\n // Listen for broadcast messages\n channel.on('broadcast', { event: 'coordination' }, ({ payload }) => {\n const message: CoordinationMessage = payload;\n\n // Only process if message is for us or broadcast\n if (!message.to_agent || message.to_agent === this.agentId) {\n this.emit('message:received', message);\n\n // Emit specific event types\n this.emit(`message:${message.type}`, message);\n }\n });\n\n await channel.subscribe();\n this.channels.set('coordination', channel);\n\n console.log('📡 Agent coordination channel active');\n }\n\n /**\n * Broadcast message to all agents in tenant\n */\n async broadcast(\n type: CoordinationMessage['type'],\n payload: any\n ): Promise<void> {\n const channel = this.channels.get('coordination');\n if (!channel) {\n throw new Error('Coordination channel not initialized');\n }\n\n const message: CoordinationMessage = {\n from_agent: this.agentId,\n type,\n payload,\n timestamp: new Date().toISOString(),\n };\n\n await channel.send({\n type: 'broadcast',\n event: 'coordination',\n payload: message,\n });\n }\n\n /**\n * Send direct message to specific agent\n */\n async sendMessage(\n toAgent: string,\n type: CoordinationMessage['type'],\n payload: any\n ): Promise<void> {\n const channel = this.channels.get('coordination');\n if (!channel) {\n throw new Error('Coordination channel not initialized');\n }\n\n const message: CoordinationMessage = {\n from_agent: this.agentId,\n to_agent: toAgent,\n type,\n payload,\n timestamp: new Date().toISOString(),\n };\n\n await channel.send({\n type: 'broadcast',\n event: 'coordination',\n payload: message,\n });\n }\n\n /**\n * Assign task to another agent\n */\n async assignTask(task: TaskAssignment): Promise<void> {\n await this.sendMessage(task.assigned_to, 'task_assignment', task);\n console.log(`📋 Task assigned: ${task.task_id} → ${task.assigned_to}`);\n }\n\n /**\n * Report task completion\n */\n async reportTaskComplete(taskId: string, result: any): Promise<void> {\n await this.broadcast('task_complete', {\n task_id: taskId,\n result,\n completed_by: this.agentId,\n });\n console.log(`✅ Task completed: ${taskId}`);\n }\n\n /**\n * Request help from other agents\n */\n async requestHelp(problem: string, context?: any): Promise<void> {\n await this.broadcast('request_help', {\n problem,\n context,\n from: this.agentId,\n });\n console.log(`🆘 Help requested: ${problem}`);\n }\n\n /**\n * Share knowledge with other agents\n */\n async shareKnowledge(knowledge: string, metadata?: any): Promise<void> {\n await this.broadcast('share_knowledge', {\n knowledge,\n metadata,\n from: this.agentId,\n });\n console.log(`💡 Knowledge shared: ${knowledge.substring(0, 50)}...`);\n }\n\n /**\n * Update agent status\n */\n async updateStatus(\n status: 'online' | 'busy' | 'offline',\n task?: string\n ): Promise<void> {\n if (!this.presenceChannel) return;\n\n await this.presenceChannel.track({\n agent_id: this.agentId,\n tenant_id: this.tenantId,\n status,\n task,\n last_heartbeat: new Date().toISOString(),\n });\n\n await this.broadcast('status_update', {\n agent_id: this.agentId,\n status,\n task,\n });\n }\n\n /**\n * Get list of active agents\n */\n getActiveAgents(presenceState?: any): AgentPresence[] {\n if (!this.presenceChannel) return [];\n\n const state = presenceState || this.presenceChannel.presenceState();\n const agents: AgentPresence[] = [];\n\n for (const [agentId, presences] of Object.entries(state)) {\n const presence = (presences as any[])[0];\n agents.push({\n agent_id: agentId,\n tenant_id: presence.tenant_id,\n status: presence.status,\n task: presence.task,\n started_at: presence.started_at,\n last_heartbeat: presence.last_heartbeat,\n metadata: presence.metadata,\n });\n }\n\n return agents;\n }\n\n /**\n * Start heartbeat to maintain presence\n */\n private startHeartbeat(): void {\n const interval = this.config.presenceHeartbeat || 30000;\n\n this.heartbeatInterval = setInterval(async () => {\n if (this.presenceChannel) {\n await this.presenceChannel.track({\n agent_id: this.agentId,\n tenant_id: this.tenantId,\n last_heartbeat: new Date().toISOString(),\n });\n }\n }, interval);\n }\n\n /**\n * Stop heartbeat\n */\n private stopHeartbeat(): void {\n if (this.heartbeatInterval) {\n clearInterval(this.heartbeatInterval);\n this.heartbeatInterval = undefined;\n }\n }\n\n /**\n * Subscribe to events\n */\n on(event: string, handler: Function): void {\n if (!this.eventHandlers.has(event)) {\n this.eventHandlers.set(event, new Set());\n }\n this.eventHandlers.get(event)!.add(handler);\n }\n\n /**\n * Unsubscribe from events\n */\n off(event: string, handler: Function): void {\n const handlers = this.eventHandlers.get(event);\n if (handlers) {\n handlers.delete(handler);\n }\n }\n\n /**\n * Emit event to handlers\n */\n private emit(event: string, data: any): void {\n const handlers = this.eventHandlers.get(event);\n if (handlers) {\n handlers.forEach((handler) => {\n try {\n handler(data);\n } catch (error) {\n console.error(`Error in event handler for ${event}:`, error);\n }\n });\n }\n }\n\n /**\n * Get real-time statistics\n */\n async getStats(): Promise<any> {\n const activeAgents = this.getActiveAgents();\n\n return {\n tenant_id: this.tenantId,\n agent_id: this.agentId,\n active_agents: activeAgents.length,\n agents: activeAgents,\n channels: Array.from(this.channels.keys()),\n heartbeat_interval: this.config.presenceHeartbeat || 30000,\n memory_sync: this.config.memorySync !== false,\n timestamp: new Date().toISOString(),\n };\n }\n\n /**\n * Shutdown and cleanup\n */\n async shutdown(): Promise<void> {\n console.log('🛑 Shutting down Real-Time Federation Hub...');\n\n // Stop heartbeat\n this.stopHeartbeat();\n\n // Update status to offline\n if (this.presenceChannel) {\n await this.presenceChannel.track({\n agent_id: this.agentId,\n tenant_id: this.tenantId,\n status: 'offline',\n });\n await this.presenceChannel.untrack();\n }\n\n // Unsubscribe from all channels\n for (const [name, channel] of this.channels) {\n await channel.unsubscribe();\n console.log(` Unsubscribed from ${name}`);\n }\n\n if (this.presenceChannel) {\n await this.presenceChannel.unsubscribe();\n }\n\n this.channels.clear();\n this.eventHandlers.clear();\n\n console.log('✅ Real-Time Federation Hub shutdown complete');\n }\n}\n\n/**\n * Create real-time federation hub from environment\n */\nexport function createRealtimeHub(\n agentId: string,\n tenantId: string = 'default'\n): RealtimeFederationHub {\n const url = process.env.SUPABASE_URL;\n const anonKey = process.env.SUPABASE_ANON_KEY;\n const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY;\n\n if (!url || !anonKey) {\n throw new Error(\n 'Missing Supabase credentials. Set SUPABASE_URL and SUPABASE_ANON_KEY'\n );\n }\n\n return new RealtimeFederationHub(\n {\n url,\n anonKey,\n serviceRoleKey,\n presenceHeartbeat: parseInt(\n process.env.FEDERATION_HEARTBEAT_INTERVAL || '30000'\n ),\n memorySync: process.env.FEDERATION_MEMORY_SYNC !== 'false',\n broadcastLatency:\n (process.env.FEDERATION_BROADCAST_LATENCY as 'low' | 'high') || 'low',\n },\n agentId,\n tenantId\n );\n}\n"]}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Supabase Database Adapter with Debug Streaming
3
+ *
4
+ * Enhanced version of SupabaseFederationAdapter with comprehensive
5
+ * debug logging and performance tracking.
6
+ */
7
+ import { DebugStream, DebugLevel } from '../debug/debug-stream.js';
8
+ export interface SupabaseConfigDebug {
9
+ url: string;
10
+ anonKey: string;
11
+ serviceRoleKey?: string;
12
+ vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';
13
+ syncInterval?: number;
14
+ debug?: {
15
+ enabled?: boolean;
16
+ level?: DebugLevel;
17
+ output?: 'console' | 'file' | 'both';
18
+ format?: 'human' | 'json' | 'compact';
19
+ outputFile?: string;
20
+ };
21
+ }
22
+ export interface AgentMemory {
23
+ id: string;
24
+ tenant_id: string;
25
+ agent_id: string;
26
+ session_id: string;
27
+ content: string;
28
+ embedding?: number[];
29
+ metadata?: Record<string, any>;
30
+ created_at?: string;
31
+ expires_at?: string;
32
+ }
33
+ export declare class SupabaseFederationAdapterDebug {
34
+ private client;
35
+ private config;
36
+ private debug;
37
+ constructor(config: SupabaseConfigDebug);
38
+ /**
39
+ * Initialize Supabase schema for federation
40
+ */
41
+ initialize(): Promise<void>;
42
+ /**
43
+ * Ensure required tables exist
44
+ */
45
+ private ensureTables;
46
+ /**
47
+ * Ensure pgvector extension is enabled
48
+ */
49
+ private ensureVectorExtension;
50
+ /**
51
+ * Store agent memory in Supabase
52
+ */
53
+ storeMemory(memory: AgentMemory): Promise<void>;
54
+ /**
55
+ * Query memories by tenant and agent
56
+ */
57
+ queryMemories(tenantId: string, agentId?: string, limit?: number): Promise<AgentMemory[]>;
58
+ /**
59
+ * Semantic search using pgvector
60
+ */
61
+ semanticSearch(embedding: number[], tenantId: string, limit?: number): Promise<AgentMemory[]>;
62
+ /**
63
+ * Register agent session
64
+ */
65
+ registerSession(sessionId: string, tenantId: string, agentId: string, metadata?: Record<string, any>): Promise<void>;
66
+ /**
67
+ * Update session status
68
+ */
69
+ updateSessionStatus(sessionId: string, status: 'active' | 'completed' | 'failed'): Promise<void>;
70
+ /**
71
+ * Get hub statistics
72
+ */
73
+ getStats(tenantId?: string): Promise<any>;
74
+ /**
75
+ * Get debug stream for external use
76
+ */
77
+ getDebugStream(): DebugStream;
78
+ /**
79
+ * Print performance metrics
80
+ */
81
+ printMetrics(): void;
82
+ /**
83
+ * Close connection
84
+ */
85
+ close(): Promise<void>;
86
+ }
87
+ /**
88
+ * Create Supabase adapter from environment variables with debug support
89
+ */
90
+ export declare function createSupabaseAdapterDebug(): SupabaseFederationAdapterDebug;
91
+ //# sourceMappingURL=supabase-adapter-debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase-adapter-debug.d.ts","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter-debug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAqB,MAAM,0BAA0B,CAAC;AAEtF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;QACrC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAc;gBAEf,MAAM,EAAE,mBAAmB;IA2BvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC;;OAEG;YACW,YAAY;IAsC1B;;OAEG;YACW,qBAAqB;IAwBnC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CrD;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,GAAE,MAAY,GAClB,OAAO,CAAC,WAAW,EAAE,CAAC;IA2CzB;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC;IA2CzB;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAyChB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GACxC,OAAO,CAAC,IAAI,CAAC;IAyChB;;OAEG;IACG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiD/C;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,8BAA8B,CA2B3E"}
@@ -398,3 +398,4 @@ export function createSupabaseAdapterDebug() {
398
398
  },
399
399
  });
400
400
  }
401
+ //# sourceMappingURL=supabase-adapter-debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase-adapter-debug.js","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter-debug.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Supabase Database Adapter with Debug Streaming\n *\n * Enhanced version of SupabaseFederationAdapter with comprehensive\n * debug logging and performance tracking.\n */\n\nimport { createClient, SupabaseClient } from '@supabase/supabase-js';\nimport { DebugStream, DebugLevel, createDebugStream } from '../debug/debug-stream.js';\n\nexport interface SupabaseConfigDebug {\n url: string;\n anonKey: string;\n serviceRoleKey?: string;\n vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';\n syncInterval?: number;\n debug?: {\n enabled?: boolean;\n level?: DebugLevel;\n output?: 'console' | 'file' | 'both';\n format?: 'human' | 'json' | 'compact';\n outputFile?: string;\n };\n}\n\nexport interface AgentMemory {\n id: string;\n tenant_id: string;\n agent_id: string;\n session_id: string;\n content: string;\n embedding?: number[];\n metadata?: Record<string, any>;\n created_at?: string;\n expires_at?: string;\n}\n\nexport class SupabaseFederationAdapterDebug {\n private client: SupabaseClient;\n private config: SupabaseConfigDebug;\n private debug: DebugStream;\n\n constructor(config: SupabaseConfigDebug) {\n this.config = config;\n\n // Initialize debug stream\n this.debug = createDebugStream({\n level: config.debug?.level ?? DebugLevel.BASIC,\n output: config.debug?.output ?? 'console',\n format: config.debug?.format ?? 'human',\n outputFile: config.debug?.outputFile,\n });\n\n const startTime = Date.now();\n\n // Use service role key for server-side operations\n const key = config.serviceRoleKey || config.anonKey;\n this.client = createClient(config.url, key);\n\n this.debug.logConnection('client_created', {\n url: config.url,\n hasServiceRole: !!config.serviceRoleKey,\n vectorBackend: config.vectorBackend,\n });\n\n const duration = Date.now() - startTime;\n this.debug.logTrace('constructor_complete', { duration });\n }\n\n /**\n * Initialize Supabase schema for federation\n */\n async initialize(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('initialize_start', {\n vectorBackend: this.config.vectorBackend,\n });\n\n try {\n // Check if tables exist\n await this.ensureTables();\n\n if (this.config.vectorBackend === 'pgvector') {\n await this.ensureVectorExtension();\n }\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_complete', { duration }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_error', { duration }, duration, error as Error);\n throw error;\n }\n }\n\n /**\n * Ensure required tables exist\n */\n private async ensureTables(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_tables');\n\n const tables = ['agent_sessions', 'agent_memories', 'agent_tasks', 'agent_events'];\n const results: Record<string, boolean> = {};\n\n for (const table of tables) {\n const tableStart = Date.now();\n\n try {\n const { data, error } = await this.client\n .from(table)\n .select('id')\n .limit(1);\n\n const exists = !error || error.code !== 'PGRST116';\n results[table] = exists;\n\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check', {\n table,\n exists,\n }, tableDuration);\n\n if (!exists) {\n this.debug.logDatabase('table_missing', { table });\n }\n } catch (error) {\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check_error', { table }, tableDuration, error as Error);\n }\n }\n\n const duration = Date.now() - startTime;\n this.debug.logDatabase('tables_checked', { results }, duration);\n }\n\n /**\n * Ensure pgvector extension is enabled\n */\n private async ensureVectorExtension(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_pgvector');\n\n try {\n const { error } = await this.client.rpc('exec_sql', {\n sql: 'CREATE EXTENSION IF NOT EXISTS vector;'\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('pgvector_check_failed', {\n message: error.message,\n }, duration, error as any);\n } else {\n this.debug.logDatabase('pgvector_ready', {}, duration);\n }\n } catch (err) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('pgvector_error', {}, duration, err as Error);\n }\n }\n\n /**\n * Store agent memory in Supabase\n */\n async storeMemory(memory: AgentMemory): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logMemory('store_start', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n content_length: memory.content.length,\n has_embedding: !!memory.embedding,\n embedding_dims: memory.embedding?.length,\n });\n\n try {\n const { error } = await this.client\n .from('agent_memories')\n .insert({\n id: memory.id,\n tenant_id: memory.tenant_id,\n agent_id: memory.agent_id,\n session_id: memory.session_id,\n content: memory.content,\n embedding: memory.embedding,\n metadata: memory.metadata,\n created_at: memory.created_at || new Date().toISOString(),\n expires_at: memory.expires_at,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('store_error', memory.agent_id, memory.tenant_id, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to store memory: ${error.message}`);\n }\n\n this.debug.logMemory('store_complete', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('store_failed', memory.agent_id, memory.tenant_id, {}, duration);\n throw error;\n }\n }\n\n /**\n * Query memories by tenant and agent\n */\n async queryMemories(\n tenantId: string,\n agentId?: string,\n limit: number = 100\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('query_start', agentId, tenantId, {\n limit,\n hasAgentFilter: !!agentId,\n });\n\n try {\n let query = this.client\n .from('agent_memories')\n .select('*')\n .eq('tenant_id', tenantId)\n .order('created_at', { ascending: false })\n .limit(limit);\n\n if (agentId) {\n query = query.eq('agent_id', agentId);\n }\n\n const { data, error } = await query;\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('query_error', agentId, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to query memories: ${error.message}`);\n }\n\n this.debug.logMemory('query_complete', agentId, tenantId, {\n count: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('query_failed', agentId, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Semantic search using pgvector\n */\n async semanticSearch(\n embedding: number[],\n tenantId: string,\n limit: number = 10\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('semantic_search_start', undefined, tenantId, {\n embedding_dims: embedding.length,\n limit,\n });\n\n if (this.config.vectorBackend !== 'pgvector') {\n this.debug.logMemory('semantic_search_disabled', undefined, tenantId, {\n backend: this.config.vectorBackend,\n });\n throw new Error('pgvector backend not enabled');\n }\n\n try {\n const { data, error} = await this.client.rpc('search_memories', {\n query_embedding: embedding,\n query_tenant_id: tenantId,\n match_count: limit,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('semantic_search_error', undefined, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Semantic search failed: ${error.message}`);\n }\n\n this.debug.logMemory('semantic_search_complete', undefined, tenantId, {\n results: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('semantic_search_failed', undefined, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Register agent session\n */\n async registerSession(\n sessionId: string,\n tenantId: string,\n agentId: string,\n metadata?: Record<string, any>\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('register_session_start', {\n sessionId,\n tenantId,\n agentId,\n });\n\n try {\n const { error } = await this.client\n .from('agent_sessions')\n .insert({\n session_id: sessionId,\n tenant_id: tenantId,\n agent_id: agentId,\n metadata,\n started_at: new Date().toISOString(),\n status: 'active',\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('register_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to register session: ${error.message}`);\n }\n\n this.debug.logDatabase('register_session_complete', {\n sessionId,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('register_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Update session status\n */\n async updateSessionStatus(\n sessionId: string,\n status: 'active' | 'completed' | 'failed'\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('update_session_start', {\n sessionId,\n status,\n });\n\n try {\n const updates: any = { status };\n\n if (status !== 'active') {\n updates.ended_at = new Date().toISOString();\n }\n\n const { error } = await this.client\n .from('agent_sessions')\n .update(updates)\n .eq('session_id', sessionId);\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('update_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to update session: ${error.message}`);\n }\n\n this.debug.logDatabase('update_session_complete', {\n sessionId,\n status,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('update_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Get hub statistics\n */\n async getStats(tenantId?: string): Promise<any> {\n const startTime = Date.now();\n\n this.debug.logDatabase('get_stats_start', { tenantId });\n\n try {\n // Total memories\n let memoriesQuery = this.client\n .from('agent_memories')\n .select('id', { count: 'exact', head: true });\n\n if (tenantId) {\n memoriesQuery = memoriesQuery.eq('tenant_id', tenantId);\n }\n\n const { count: totalMemories } = await memoriesQuery;\n\n // Active sessions\n let sessionsQuery = this.client\n .from('agent_sessions')\n .select('session_id', { count: 'exact', head: true })\n .eq('status', 'active');\n\n if (tenantId) {\n sessionsQuery = sessionsQuery.eq('tenant_id', tenantId);\n }\n\n const { count: activeSessions } = await sessionsQuery;\n\n const duration = Date.now() - startTime;\n\n const stats = {\n total_memories: totalMemories || 0,\n active_sessions: activeSessions || 0,\n backend: 'supabase',\n vector_backend: this.config.vectorBackend,\n timestamp: new Date().toISOString(),\n };\n\n this.debug.logDatabase('get_stats_complete', stats, duration);\n\n return stats;\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('get_stats_error', {}, duration, error as Error);\n throw error;\n }\n }\n\n /**\n * Get debug stream for external use\n */\n getDebugStream(): DebugStream {\n return this.debug;\n }\n\n /**\n * Print performance metrics\n */\n printMetrics(): void {\n this.debug.printMetrics();\n }\n\n /**\n * Close connection\n */\n async close(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('close_start');\n\n this.debug.close();\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('close_complete', {}, duration);\n }\n}\n\n/**\n * Create Supabase adapter from environment variables with debug support\n */\nexport function createSupabaseAdapterDebug(): SupabaseFederationAdapterDebug {\n const url = process.env.SUPABASE_URL;\n const anonKey = process.env.SUPABASE_ANON_KEY;\n const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY;\n\n if (!url || !anonKey) {\n throw new Error(\n 'Missing Supabase credentials. Set SUPABASE_URL and SUPABASE_ANON_KEY'\n );\n }\n\n const debugLevel = process.env.DEBUG_LEVEL?.toUpperCase() as keyof typeof DebugLevel || 'BASIC';\n\n return new SupabaseFederationAdapterDebug({\n url,\n anonKey,\n serviceRoleKey,\n vectorBackend: (process.env.FEDERATION_VECTOR_BACKEND as any) || 'hybrid',\n syncInterval: parseInt(process.env.FEDERATION_SYNC_INTERVAL || '60000'),\n debug: {\n enabled: process.env.DEBUG_ENABLED !== 'false',\n level: DebugLevel[debugLevel] || DebugLevel.BASIC,\n output: (process.env.DEBUG_OUTPUT as any) || 'console',\n format: (process.env.DEBUG_FORMAT as any) || 'human',\n outputFile: process.env.DEBUG_OUTPUT_FILE,\n },\n });\n}\n"]}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Supabase Database Adapter for Federation Hub
3
+ *
4
+ * Provides PostgreSQL backend using Supabase for:
5
+ * - Hub persistence
6
+ * - Agent metadata
7
+ * - Memory storage (optional pgvector)
8
+ * - Real-time subscriptions
9
+ */
10
+ export interface SupabaseConfig {
11
+ url: string;
12
+ anonKey: string;
13
+ serviceRoleKey?: string;
14
+ vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';
15
+ syncInterval?: number;
16
+ }
17
+ export interface AgentMemory {
18
+ id: string;
19
+ tenant_id: string;
20
+ agent_id: string;
21
+ session_id: string;
22
+ content: string;
23
+ embedding?: number[];
24
+ metadata?: Record<string, any>;
25
+ created_at?: string;
26
+ expires_at?: string;
27
+ }
28
+ export declare class SupabaseFederationAdapter {
29
+ private client;
30
+ private config;
31
+ constructor(config: SupabaseConfig);
32
+ /**
33
+ * Initialize Supabase schema for federation
34
+ */
35
+ initialize(): Promise<void>;
36
+ /**
37
+ * Ensure required tables exist
38
+ */
39
+ private ensureTables;
40
+ /**
41
+ * Ensure pgvector extension is enabled
42
+ */
43
+ private ensureVectorExtension;
44
+ /**
45
+ * Store agent memory in Supabase
46
+ */
47
+ storeMemory(memory: AgentMemory): Promise<void>;
48
+ /**
49
+ * Query memories by tenant and agent
50
+ */
51
+ queryMemories(tenantId: string, agentId?: string, limit?: number): Promise<AgentMemory[]>;
52
+ /**
53
+ * Semantic search using pgvector
54
+ */
55
+ semanticSearch(embedding: number[], tenantId: string, limit?: number): Promise<AgentMemory[]>;
56
+ /**
57
+ * Register agent session
58
+ */
59
+ registerSession(sessionId: string, tenantId: string, agentId: string, metadata?: Record<string, any>): Promise<void>;
60
+ /**
61
+ * Update session status
62
+ */
63
+ updateSessionStatus(sessionId: string, status: 'active' | 'completed' | 'failed'): Promise<void>;
64
+ /**
65
+ * Get active sessions for tenant
66
+ */
67
+ getActiveSessions(tenantId: string): Promise<any[]>;
68
+ /**
69
+ * Subscribe to real-time memory updates
70
+ */
71
+ subscribeToMemories(tenantId: string, callback: (payload: any) => void): () => void;
72
+ /**
73
+ * Clean up expired memories
74
+ */
75
+ cleanupExpiredMemories(): Promise<number>;
76
+ /**
77
+ * Get hub statistics
78
+ */
79
+ getStats(tenantId?: string): Promise<any>;
80
+ /**
81
+ * Close connection
82
+ */
83
+ close(): Promise<void>;
84
+ }
85
+ /**
86
+ * Create Supabase adapter from environment variables
87
+ */
88
+ export declare function createSupabaseAdapter(): SupabaseFederationAdapter;
89
+ //# sourceMappingURL=supabase-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase-adapter.d.ts","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAQlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;YACW,YAAY;IAe1B;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrD;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,GAAE,MAAY,GAClB,OAAO,CAAC,WAAW,EAAE,CAAC;IAqBzB;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC;IAmBzB;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GACxC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAezD;;OAEG;IACH,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAC/B,MAAM,IAAI;IAqBb;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAc/C;;OAEG;IACG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiC/C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,yBAAyB,CAkBjE"}
@@ -256,3 +256,4 @@ export function createSupabaseAdapter() {
256
256
  syncInterval: parseInt(process.env.FEDERATION_SYNC_INTERVAL || '60000'),
257
257
  });
258
258
  }
259
+ //# sourceMappingURL=supabase-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase-adapter.js","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Supabase Database Adapter for Federation Hub\n *\n * Provides PostgreSQL backend using Supabase for:\n * - Hub persistence\n * - Agent metadata\n * - Memory storage (optional pgvector)\n * - Real-time subscriptions\n */\n\nimport { createClient, SupabaseClient } from '@supabase/supabase-js';\n\nexport interface SupabaseConfig {\n url: string;\n anonKey: string;\n serviceRoleKey?: string;\n vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';\n syncInterval?: number; // ms\n}\n\nexport interface AgentMemory {\n id: string;\n tenant_id: string;\n agent_id: string;\n session_id: string;\n content: string;\n embedding?: number[];\n metadata?: Record<string, any>;\n created_at?: string;\n expires_at?: string;\n}\n\nexport class SupabaseFederationAdapter {\n private client: SupabaseClient;\n private config: SupabaseConfig;\n\n constructor(config: SupabaseConfig) {\n this.config = config;\n\n // Use service role key for server-side operations\n const key = config.serviceRoleKey || config.anonKey;\n this.client = createClient(config.url, key);\n }\n\n /**\n * Initialize Supabase schema for federation\n */\n async initialize(): Promise<void> {\n console.log('🔧 Initializing Supabase Federation Schema...');\n\n // Check if tables exist, create if needed\n await this.ensureTables();\n\n if (this.config.vectorBackend === 'pgvector') {\n await this.ensureVectorExtension();\n }\n\n console.log('✅ Supabase Federation Schema Ready');\n }\n\n /**\n * Ensure required tables exist\n */\n private async ensureTables(): Promise<void> {\n // Note: In production, use Supabase migrations\n // This is a runtime check for development\n\n const { data, error } = await this.client\n .from('agent_sessions')\n .select('id')\n .limit(1);\n\n if (error && error.code === 'PGRST116') {\n console.log('⚠️ Tables not found. Please run Supabase migrations.');\n console.log('📖 See: docs/supabase/migrations/');\n }\n }\n\n /**\n * Ensure pgvector extension is enabled\n */\n private async ensureVectorExtension(): Promise<void> {\n try {\n // This requires service role key with proper permissions\n const { error } = await this.client.rpc('exec_sql', {\n sql: 'CREATE EXTENSION IF NOT EXISTS vector;'\n });\n\n if (error) {\n console.warn('⚠️ pgvector extension check failed:', error.message);\n console.log('📖 Enable manually: CREATE EXTENSION vector;');\n }\n } catch (err) {\n console.warn('⚠️ Could not verify pgvector extension');\n }\n }\n\n /**\n * Store agent memory in Supabase\n */\n async storeMemory(memory: AgentMemory): Promise<void> {\n const { error } = await this.client\n .from('agent_memories')\n .insert({\n id: memory.id,\n tenant_id: memory.tenant_id,\n agent_id: memory.agent_id,\n session_id: memory.session_id,\n content: memory.content,\n embedding: memory.embedding,\n metadata: memory.metadata,\n created_at: memory.created_at || new Date().toISOString(),\n expires_at: memory.expires_at,\n });\n\n if (error) {\n throw new Error(`Failed to store memory: ${error.message}`);\n }\n }\n\n /**\n * Query memories by tenant and agent\n */\n async queryMemories(\n tenantId: string,\n agentId?: string,\n limit: number = 100\n ): Promise<AgentMemory[]> {\n let query = this.client\n .from('agent_memories')\n .select('*')\n .eq('tenant_id', tenantId)\n .order('created_at', { ascending: false })\n .limit(limit);\n\n if (agentId) {\n query = query.eq('agent_id', agentId);\n }\n\n const { data, error } = await query;\n\n if (error) {\n throw new Error(`Failed to query memories: ${error.message}`);\n }\n\n return data as AgentMemory[];\n }\n\n /**\n * Semantic search using pgvector\n */\n async semanticSearch(\n embedding: number[],\n tenantId: string,\n limit: number = 10\n ): Promise<AgentMemory[]> {\n if (this.config.vectorBackend !== 'pgvector') {\n throw new Error('pgvector backend not enabled');\n }\n\n // Use pgvector cosine similarity search\n const { data, error } = await this.client.rpc('search_memories', {\n query_embedding: embedding,\n query_tenant_id: tenantId,\n match_count: limit,\n });\n\n if (error) {\n throw new Error(`Semantic search failed: ${error.message}`);\n }\n\n return data as AgentMemory[];\n }\n\n /**\n * Register agent session\n */\n async registerSession(\n sessionId: string,\n tenantId: string,\n agentId: string,\n metadata?: Record<string, any>\n ): Promise<void> {\n const { error } = await this.client\n .from('agent_sessions')\n .insert({\n session_id: sessionId,\n tenant_id: tenantId,\n agent_id: agentId,\n metadata,\n started_at: new Date().toISOString(),\n status: 'active',\n });\n\n if (error) {\n throw new Error(`Failed to register session: ${error.message}`);\n }\n }\n\n /**\n * Update session status\n */\n async updateSessionStatus(\n sessionId: string,\n status: 'active' | 'completed' | 'failed'\n ): Promise<void> {\n const updates: any = { status };\n\n if (status !== 'active') {\n updates.ended_at = new Date().toISOString();\n }\n\n const { error } = await this.client\n .from('agent_sessions')\n .update(updates)\n .eq('session_id', sessionId);\n\n if (error) {\n throw new Error(`Failed to update session: ${error.message}`);\n }\n }\n\n /**\n * Get active sessions for tenant\n */\n async getActiveSessions(tenantId: string): Promise<any[]> {\n const { data, error } = await this.client\n .from('agent_sessions')\n .select('*')\n .eq('tenant_id', tenantId)\n .eq('status', 'active')\n .order('started_at', { ascending: false });\n\n if (error) {\n throw new Error(`Failed to get sessions: ${error.message}`);\n }\n\n return data || [];\n }\n\n /**\n * Subscribe to real-time memory updates\n */\n subscribeToMemories(\n tenantId: string,\n callback: (payload: any) => void\n ): () => void {\n const subscription = this.client\n .channel(`memories:${tenantId}`)\n .on(\n 'postgres_changes',\n {\n event: 'INSERT',\n schema: 'public',\n table: 'agent_memories',\n filter: `tenant_id=eq.${tenantId}`,\n },\n callback\n )\n .subscribe();\n\n // Return unsubscribe function\n return () => {\n subscription.unsubscribe();\n };\n }\n\n /**\n * Clean up expired memories\n */\n async cleanupExpiredMemories(): Promise<number> {\n const { data, error } = await this.client\n .from('agent_memories')\n .delete()\n .lt('expires_at', new Date().toISOString())\n .select('id');\n\n if (error) {\n throw new Error(`Cleanup failed: ${error.message}`);\n }\n\n return data?.length || 0;\n }\n\n /**\n * Get hub statistics\n */\n async getStats(tenantId?: string): Promise<any> {\n // Total memories\n let memoriesQuery = this.client\n .from('agent_memories')\n .select('id', { count: 'exact', head: true });\n\n if (tenantId) {\n memoriesQuery = memoriesQuery.eq('tenant_id', tenantId);\n }\n\n const { count: totalMemories } = await memoriesQuery;\n\n // Active sessions\n let sessionsQuery = this.client\n .from('agent_sessions')\n .select('session_id', { count: 'exact', head: true })\n .eq('status', 'active');\n\n if (tenantId) {\n sessionsQuery = sessionsQuery.eq('tenant_id', tenantId);\n }\n\n const { count: activeSessions } = await sessionsQuery;\n\n return {\n total_memories: totalMemories || 0,\n active_sessions: activeSessions || 0,\n backend: 'supabase',\n vector_backend: this.config.vectorBackend,\n timestamp: new Date().toISOString(),\n };\n }\n\n /**\n * Close connection\n */\n async close(): Promise<void> {\n // Supabase client doesn't need explicit closing\n console.log('✅ Supabase connection closed');\n }\n}\n\n/**\n * Create Supabase adapter from environment variables\n */\nexport function createSupabaseAdapter(): SupabaseFederationAdapter {\n const url = process.env.SUPABASE_URL;\n const anonKey = process.env.SUPABASE_ANON_KEY;\n const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY;\n\n if (!url || !anonKey) {\n throw new Error(\n 'Missing Supabase credentials. Set SUPABASE_URL and SUPABASE_ANON_KEY'\n );\n }\n\n return new SupabaseFederationAdapter({\n url,\n anonKey,\n serviceRoleKey,\n vectorBackend: (process.env.FEDERATION_VECTOR_BACKEND as any) || 'hybrid',\n syncInterval: parseInt(process.env.FEDERATION_SYNC_INTERVAL || '60000'),\n });\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import http from 'http';
2
+ interface HealthStatus {
3
+ status: 'healthy' | 'degraded' | 'unhealthy';
4
+ timestamp: string;
5
+ uptime: number;
6
+ version: string;
7
+ checks: {
8
+ api: {
9
+ status: 'pass' | 'fail';
10
+ message?: string;
11
+ };
12
+ memory: {
13
+ status: 'pass' | 'warn' | 'fail';
14
+ usage: number;
15
+ limit: number;
16
+ };
17
+ quic?: {
18
+ status: 'pass' | 'warn' | 'fail';
19
+ enabled: boolean;
20
+ available?: boolean;
21
+ connections?: number;
22
+ };
23
+ };
24
+ }
25
+ export declare function getHealthStatus(): Promise<HealthStatus>;
26
+ export declare function startHealthServer(port?: number): http.Server;
27
+ export {};
28
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,GAAG,EAAE;YAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnD,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3E,IAAI,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1G,CAAC;CACH;AAID,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAyD7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,MAAa,GAAG,IAAI,CAAC,MAAM,CAwDlE"}
package/dist/health.js CHANGED
@@ -109,3 +109,4 @@ export function startHealthServer(port = 8080) {
109
109
  });
110
110
  return server;
111
111
  }
112
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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","sourcesContent":["// Health check endpoint with QUIC support\nimport http from 'http';\nimport { logger } from './utils/logger.js';\nimport type { QuicClient, QuicStats } from './transport/quic.js';\nimport type { QuicConfigSchema } from './config/quic.js';\n\ninterface HealthStatus {\n status: 'healthy' | 'degraded' | 'unhealthy';\n timestamp: string;\n uptime: number;\n version: string;\n checks: {\n api: { status: 'pass' | 'fail'; message?: string };\n memory: { status: 'pass' | 'warn' | 'fail'; usage: number; limit: number };\n quic?: { status: 'pass' | 'warn' | 'fail'; enabled: boolean; available?: boolean; connections?: number };\n };\n}\n\nlet serverStartTime = Date.now();\n\nexport async function getHealthStatus(): Promise<HealthStatus> {\n const memUsage = process.memoryUsage();\n const memLimit = 512 * 1024 * 1024; // 512MB\n const memPercent = (memUsage.heapUsed / memLimit) * 100;\n\n const apiKey = process.env.ANTHROPIC_API_KEY;\n\n const checks: HealthStatus['checks'] = {\n api: {\n status: apiKey && apiKey.startsWith('sk-ant-') ? 'pass' : 'fail',\n message: apiKey ? undefined : 'ANTHROPIC_API_KEY not configured'\n },\n memory: {\n status: memPercent > 90 ? 'fail' : memPercent > 75 ? 'warn' : 'pass',\n usage: Math.round(memUsage.heapUsed / 1024 / 1024),\n limit: Math.round(memLimit / 1024 / 1024)\n }\n };\n\n // Check QUIC availability if enabled\n const quicEnabled = process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true';\n if (quicEnabled) {\n try {\n // Dynamic import to avoid loading QUIC module when not needed\n const { checkQuicAvailability } = await import('./config/quic.js');\n const availability = await checkQuicAvailability();\n\n checks.quic = {\n status: availability.available ? 'pass' : 'warn',\n enabled: true,\n available: availability.available,\n connections: 0\n };\n } catch (error) {\n logger.warn('QUIC health check failed', { error });\n checks.quic = {\n status: 'fail',\n enabled: true,\n available: false\n };\n }\n }\n\n let overallStatus: 'healthy' | 'degraded' | 'unhealthy' = 'healthy';\n if (checks.memory.status === 'fail' || checks.api.status === 'fail') {\n overallStatus = 'unhealthy';\n } else if (checks.memory.status === 'warn' || checks.quic?.status === 'warn') {\n overallStatus = 'degraded';\n }\n\n return {\n status: overallStatus,\n timestamp: new Date().toISOString(),\n uptime: (Date.now() - serverStartTime) / 1000,\n version: process.env.npm_package_version || '1.5.10',\n checks\n };\n}\n\nexport function startHealthServer(port: number = 8080): http.Server {\n const server = http.createServer(async (req, res) => {\n if (req.url === '/health' && req.method === 'GET') {\n const health = await getHealthStatus();\n const statusCode = health.status === 'healthy' ? 200 : health.status === 'degraded' ? 200 : 503;\n\n res.writeHead(statusCode, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify(health, null, 2));\n\n logger.debug('Health check requested', { status: health.status, quicEnabled: !!health.checks.quic });\n } else if (req.url === '/health/quic' && req.method === 'GET') {\n // QUIC-specific health endpoint\n const quicEnabled = process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true';\n\n if (!quicEnabled) {\n res.writeHead(200, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify({ enabled: false, message: 'QUIC transport is disabled' }));\n return;\n }\n\n try {\n const { checkQuicAvailability, loadQuicConfig } = await import('./config/quic.js');\n const availability = await checkQuicAvailability();\n const config = loadQuicConfig();\n\n res.writeHead(availability.available ? 200 : 503, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify({\n enabled: true,\n available: availability.available,\n reason: availability.reason,\n config: {\n host: config.host,\n port: config.port,\n maxConnections: config.maxConnections,\n maxStreams: config.maxConcurrentStreams\n }\n }, null, 2));\n } catch (error) {\n res.writeHead(503, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify({\n enabled: true,\n available: false,\n error: (error as Error).message\n }));\n }\n } else {\n res.writeHead(404, { 'Content-Type': 'application/json' });\n res.end(JSON.stringify({ error: 'Not found' }));\n }\n });\n\n server.listen(port, () => {\n logger.info('Health check server started', { port });\n });\n\n return server;\n}\n"]}