agentic-flow 2.0.3 → 2.0.4

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 (322) hide show
  1. package/.claude/agents/test-neural.md +14 -0
  2. package/.claude/settings.json +9 -133
  3. package/README.md +624 -1776
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/billing/mcp/tools.js +0 -1
  6. package/dist/billing/mcp/tools.js.map +1 -1
  7. package/dist/cli/commands/hooks.d.ts.map +1 -1
  8. package/dist/cli/commands/hooks.js +4 -79
  9. package/dist/cli/commands/hooks.js.map +1 -1
  10. package/dist/cli-proxy.js +1 -89
  11. package/dist/cli-proxy.js.map +1 -1
  12. package/dist/core/agentdb-fast.js +3 -3
  13. package/dist/core/agentdb-fast.js.map +1 -1
  14. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  15. package/dist/core/agentdb-wrapper-enhanced.js +4 -20
  16. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  17. package/dist/core/agentdb-wrapper.d.ts +2 -3
  18. package/dist/core/agentdb-wrapper.d.ts.map +1 -1
  19. package/dist/core/agentdb-wrapper.js +1 -15
  20. package/dist/core/agentdb-wrapper.js.map +1 -1
  21. package/dist/core/attention-native.d.ts +0 -4
  22. package/dist/core/attention-native.d.ts.map +1 -1
  23. package/dist/core/attention-native.js +2 -14
  24. package/dist/core/attention-native.js.map +1 -1
  25. package/dist/federation/SecurityManager.d.ts +2 -11
  26. package/dist/federation/SecurityManager.d.ts.map +1 -1
  27. package/dist/federation/SecurityManager.js +17 -50
  28. package/dist/federation/SecurityManager.js.map +1 -1
  29. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  30. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  31. package/dist/hooks/swarm-learning-optimizer.js +5 -5
  32. package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
  33. package/dist/intelligence/IntelligenceStore.d.ts +26 -35
  34. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
  35. package/dist/intelligence/IntelligenceStore.js +123 -308
  36. package/dist/intelligence/IntelligenceStore.js.map +1 -1
  37. package/dist/intelligence/RuVectorIntelligence.d.ts +1 -26
  38. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
  39. package/dist/intelligence/RuVectorIntelligence.js +10 -49
  40. package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
  41. package/dist/intelligence/agent-booster-enhanced.d.ts +0 -1
  42. package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
  43. package/dist/intelligence/agent-booster-enhanced.js +3 -24
  44. package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
  45. package/dist/intelligence/index.d.ts +3 -29
  46. package/dist/intelligence/index.d.ts.map +1 -1
  47. package/dist/intelligence/index.js +3 -13
  48. package/dist/intelligence/index.js.map +1 -1
  49. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  50. package/dist/mcp/claudeFlowSdkServer.js +3 -9
  51. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  52. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
  53. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -1
  54. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
  55. package/dist/mcp/fastmcp/tools/swarm/init.js +7 -36
  56. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
  57. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
  58. package/dist/mcp/fastmcp/tools/swarm/spawn.js +8 -47
  59. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
  60. package/dist/mcp/tools/agent-booster-tools.d.ts +1 -1
  61. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  62. package/dist/mcp/tools/agent-booster-tools.js +4 -10
  63. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  64. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  65. package/dist/mcp/tools/sona-tools.js +0 -6
  66. package/dist/mcp/tools/sona-tools.js.map +1 -1
  67. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  68. package/dist/optimizations/agent-booster-migration.js +2 -5
  69. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  70. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  71. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  72. package/dist/proxy/quic-proxy.d.ts +1 -0
  73. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  74. package/dist/proxy/quic-proxy.js +2 -2
  75. package/dist/proxy/quic-proxy.js.map +1 -1
  76. package/dist/reasoningbank/AdvancedMemory.js +1 -1
  77. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  78. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  79. package/dist/reasoningbank/HybridBackend.js +5 -2
  80. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  81. package/dist/reasoningbank/backend-selector.d.ts +1 -11
  82. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  83. package/dist/reasoningbank/backend-selector.js +5 -45
  84. package/dist/reasoningbank/backend-selector.js.map +1 -1
  85. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
  86. package/dist/reasoningbank/core/consolidate.js +45 -113
  87. package/dist/reasoningbank/core/consolidate.js.map +1 -1
  88. package/dist/reasoningbank/index-new.d.ts +6 -1
  89. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  90. package/dist/reasoningbank/index-new.js +6 -1
  91. package/dist/reasoningbank/index-new.js.map +1 -1
  92. package/dist/reasoningbank/index.d.ts +6 -2
  93. package/dist/reasoningbank/index.d.ts.map +1 -1
  94. package/dist/reasoningbank/index.js +6 -2
  95. package/dist/reasoningbank/index.js.map +1 -1
  96. package/dist/reasoningbank/utils/embeddings.d.ts +0 -1
  97. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
  98. package/dist/reasoningbank/utils/embeddings.js +26 -53
  99. package/dist/reasoningbank/utils/embeddings.js.map +1 -1
  100. package/dist/router/index.d.ts +17 -0
  101. package/dist/router/index.d.ts.map +1 -0
  102. package/dist/router/index.js +19 -0
  103. package/dist/router/index.js.map +1 -0
  104. package/dist/router/providers/onnx-local-optimized.d.ts +0 -2
  105. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
  106. package/dist/router/providers/onnx-local-optimized.js +0 -10
  107. package/dist/router/providers/onnx-local-optimized.js.map +1 -1
  108. package/dist/router/providers/onnx-local.d.ts +0 -1
  109. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  110. package/dist/router/providers/onnx-local.js +5 -22
  111. package/dist/router/providers/onnx-local.js.map +1 -1
  112. package/dist/services/embedding-service.js.map +1 -1
  113. package/dist/services/sona-agent-training.d.ts +0 -1
  114. package/dist/services/sona-agent-training.d.ts.map +1 -1
  115. package/dist/services/sona-agent-training.js.map +1 -1
  116. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  117. package/dist/services/sona-agentdb-integration.js +6 -9
  118. package/dist/services/sona-agentdb-integration.js.map +1 -1
  119. package/dist/services/sona-service.d.ts.map +1 -1
  120. package/dist/services/sona-service.js +5 -6
  121. package/dist/services/sona-service.js.map +1 -1
  122. package/dist/utils/cli.d.ts +1 -1
  123. package/dist/utils/cli.d.ts.map +1 -1
  124. package/dist/utils/cli.js +0 -21
  125. package/dist/utils/cli.js.map +1 -1
  126. package/package.json +7 -19
  127. package/scripts/postinstall.js +4 -45
  128. package/.claude/agents/.claude-flow/metrics/agent-metrics.json +0 -1
  129. package/.claude/agents/.claude-flow/metrics/performance.json +0 -87
  130. package/.claude/agents/.claude-flow/metrics/task-metrics.json +0 -10
  131. package/.claude/skills/.claude-flow/metrics/agent-metrics.json +0 -1
  132. package/.claude/skills/.claude-flow/metrics/performance.json +0 -87
  133. package/.claude/skills/.claude-flow/metrics/task-metrics.json +0 -10
  134. package/.claude/skills/agentic-flow-quickstart/skill.md +0 -69
  135. package/.claude/skills/hooks-automation/skill.md +0 -155
  136. package/.claude/skills/memory-patterns/skill.md +0 -110
  137. package/.claude/skills/skill-builder/.claude-flow/metrics/agent-metrics.json +0 -1
  138. package/.claude/skills/skill-builder/.claude-flow/metrics/performance.json +0 -87
  139. package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +0 -10
  140. package/.claude/skills/sparc-methodology/skill.md +0 -137
  141. package/.claude/skills/swarm-coordination/skill.md +0 -94
  142. package/.claude/skills/worker-benchmarks/skill.md +0 -135
  143. package/.claude/skills/worker-integration/skill.md +0 -154
  144. package/.claude/statusline.mjs +0 -109
  145. package/.claude/statusline.sh +0 -71
  146. package/dist/agentdb/benchmarks/comprehensive-benchmark.js +0 -664
  147. package/dist/agentdb/benchmarks/frontier-benchmark.js +0 -419
  148. package/dist/agentdb/benchmarks/reflexion-benchmark.js +0 -370
  149. package/dist/agentdb/cli/agentdb-cli.js +0 -717
  150. package/dist/agentdb/controllers/CausalMemoryGraph.js +0 -322
  151. package/dist/agentdb/controllers/CausalRecall.js +0 -281
  152. package/dist/agentdb/controllers/EmbeddingService.d.ts +0 -37
  153. package/dist/agentdb/controllers/EmbeddingService.d.ts.map +0 -1
  154. package/dist/agentdb/controllers/EmbeddingService.js +0 -119
  155. package/dist/agentdb/controllers/EmbeddingService.js.map +0 -1
  156. package/dist/agentdb/controllers/ExplainableRecall.js +0 -387
  157. package/dist/agentdb/controllers/NightlyLearner.js +0 -382
  158. package/dist/agentdb/controllers/ReflexionMemory.js +0 -239
  159. package/dist/agentdb/controllers/SkillLibrary.js +0 -276
  160. package/dist/agentdb/controllers/frontier-index.js +0 -9
  161. package/dist/agentdb/controllers/index.js +0 -8
  162. package/dist/agentdb/optimizations/BatchOperations.js +0 -198
  163. package/dist/agentdb/optimizations/QueryOptimizer.js +0 -225
  164. package/dist/agentdb/optimizations/index.js +0 -7
  165. package/dist/agentdb/tests/frontier-features.test.js +0 -665
  166. package/dist/benchmarks/embeddings-benchmark.d.ts +0 -38
  167. package/dist/benchmarks/embeddings-benchmark.d.ts.map +0 -1
  168. package/dist/benchmarks/embeddings-benchmark.js +0 -282
  169. package/dist/benchmarks/embeddings-benchmark.js.map +0 -1
  170. package/dist/cli/commands/embeddings.d.ts +0 -12
  171. package/dist/cli/commands/embeddings.d.ts.map +0 -1
  172. package/dist/cli/commands/embeddings.js +0 -386
  173. package/dist/cli/commands/embeddings.js.map +0 -1
  174. package/dist/cli/commands/init.d.ts +0 -8
  175. package/dist/cli/commands/init.d.ts.map +0 -1
  176. package/dist/cli/commands/init.js +0 -514
  177. package/dist/cli/commands/init.js.map +0 -1
  178. package/dist/cli/commands/workers.d.ts +0 -9
  179. package/dist/cli/commands/workers.d.ts.map +0 -1
  180. package/dist/cli/commands/workers.js +0 -991
  181. package/dist/cli/commands/workers.js.map +0 -1
  182. package/dist/cli/skills-manager.js +0 -1297
  183. package/dist/cli/update-message.js +0 -175
  184. package/dist/embeddings/index.d.ts +0 -17
  185. package/dist/embeddings/index.d.ts.map +0 -1
  186. package/dist/embeddings/index.js +0 -17
  187. package/dist/embeddings/index.js.map +0 -1
  188. package/dist/embeddings/neural-substrate.d.ts +0 -206
  189. package/dist/embeddings/neural-substrate.d.ts.map +0 -1
  190. package/dist/embeddings/neural-substrate.js +0 -629
  191. package/dist/embeddings/neural-substrate.js.map +0 -1
  192. package/dist/embeddings/optimized-embedder.d.ts +0 -103
  193. package/dist/embeddings/optimized-embedder.d.ts.map +0 -1
  194. package/dist/embeddings/optimized-embedder.js +0 -730
  195. package/dist/embeddings/optimized-embedder.js.map +0 -1
  196. package/dist/examples/embedding-geometry.d.ts +0 -105
  197. package/dist/examples/embedding-geometry.d.ts.map +0 -1
  198. package/dist/examples/embedding-geometry.js +0 -528
  199. package/dist/examples/embedding-geometry.js.map +0 -1
  200. package/dist/memory/SharedMemoryPool.d.ts +0 -129
  201. package/dist/memory/SharedMemoryPool.d.ts.map +0 -1
  202. package/dist/memory/SharedMemoryPool.js +0 -243
  203. package/dist/memory/SharedMemoryPool.js.map +0 -1
  204. package/dist/memory/index.d.ts +0 -8
  205. package/dist/memory/index.d.ts.map +0 -1
  206. package/dist/memory/index.js +0 -7
  207. package/dist/memory/index.js.map +0 -1
  208. package/dist/proxy/http3-proxy-old.js +0 -331
  209. package/dist/proxy/proxy/anthropic-to-gemini.js +0 -439
  210. package/dist/proxy/utils/logger.js +0 -59
  211. package/dist/reasoningbank/agentdb-adapter.js +0 -125
  212. package/dist/reasoningbank/core/database.js +0 -250
  213. package/dist/reasoningbank/core/memory-engine.js +0 -335
  214. package/dist/swarm/ipfs-swarm.d.ts +0 -265
  215. package/dist/swarm/ipfs-swarm.d.ts.map +0 -1
  216. package/dist/swarm/ipfs-swarm.js +0 -508
  217. package/dist/swarm/ipfs-swarm.js.map +0 -1
  218. package/dist/swarm/p2p-free-swarm.d.ts +0 -344
  219. package/dist/swarm/p2p-free-swarm.d.ts.map +0 -1
  220. package/dist/swarm/p2p-free-swarm.js +0 -603
  221. package/dist/swarm/p2p-free-swarm.js.map +0 -1
  222. package/dist/swarm/real-p2p-swarm.d.ts +0 -183
  223. package/dist/swarm/real-p2p-swarm.d.ts.map +0 -1
  224. package/dist/swarm/real-p2p-swarm.js +0 -469
  225. package/dist/swarm/real-p2p-swarm.js.map +0 -1
  226. package/dist/utils/adaptive-pool-sizing.js +0 -414
  227. package/dist/utils/agentdbCommands.js +0 -175
  228. package/dist/utils/circular-rate-limiter.js +0 -391
  229. package/dist/utils/dynamic-compression.js +0 -298
  230. package/dist/utils/http2-multiplexing.js +0 -319
  231. package/dist/utils/index.d.ts +0 -6
  232. package/dist/utils/index.d.ts.map +0 -1
  233. package/dist/utils/index.js +0 -6
  234. package/dist/utils/index.js.map +0 -1
  235. package/dist/utils/lazy-auth.js +0 -311
  236. package/dist/utils/model-cache.d.ts +0 -61
  237. package/dist/utils/model-cache.d.ts.map +0 -1
  238. package/dist/utils/model-cache.js +0 -176
  239. package/dist/utils/model-cache.js.map +0 -1
  240. package/dist/utils/server-push.js +0 -251
  241. package/dist/utils/suppress-warnings.d.ts +0 -19
  242. package/dist/utils/suppress-warnings.d.ts.map +0 -1
  243. package/dist/utils/suppress-warnings.js +0 -59
  244. package/dist/utils/suppress-warnings.js.map +0 -1
  245. package/dist/utils/zero-copy-buffer.js +0 -286
  246. package/dist/workers/consolidated-phases.d.ts +0 -40
  247. package/dist/workers/consolidated-phases.d.ts.map +0 -1
  248. package/dist/workers/consolidated-phases.js +0 -497
  249. package/dist/workers/consolidated-phases.js.map +0 -1
  250. package/dist/workers/custom-worker-config.d.ts +0 -133
  251. package/dist/workers/custom-worker-config.d.ts.map +0 -1
  252. package/dist/workers/custom-worker-config.js +0 -215
  253. package/dist/workers/custom-worker-config.js.map +0 -1
  254. package/dist/workers/custom-worker-factory.d.ts +0 -89
  255. package/dist/workers/custom-worker-factory.d.ts.map +0 -1
  256. package/dist/workers/custom-worker-factory.js +0 -404
  257. package/dist/workers/custom-worker-factory.js.map +0 -1
  258. package/dist/workers/dispatch-service.d.ts +0 -123
  259. package/dist/workers/dispatch-service.d.ts.map +0 -1
  260. package/dist/workers/dispatch-service.js +0 -1024
  261. package/dist/workers/dispatch-service.js.map +0 -1
  262. package/dist/workers/hooks-integration.d.ts +0 -79
  263. package/dist/workers/hooks-integration.d.ts.map +0 -1
  264. package/dist/workers/hooks-integration.js +0 -286
  265. package/dist/workers/hooks-integration.js.map +0 -1
  266. package/dist/workers/index.d.ts +0 -42
  267. package/dist/workers/index.d.ts.map +0 -1
  268. package/dist/workers/index.js +0 -52
  269. package/dist/workers/index.js.map +0 -1
  270. package/dist/workers/mcp-tools.d.ts +0 -56
  271. package/dist/workers/mcp-tools.d.ts.map +0 -1
  272. package/dist/workers/mcp-tools.js +0 -359
  273. package/dist/workers/mcp-tools.js.map +0 -1
  274. package/dist/workers/phase-executors.d.ts +0 -22
  275. package/dist/workers/phase-executors.d.ts.map +0 -1
  276. package/dist/workers/phase-executors.js +0 -445
  277. package/dist/workers/phase-executors.js.map +0 -1
  278. package/dist/workers/resource-governor.d.ts +0 -75
  279. package/dist/workers/resource-governor.d.ts.map +0 -1
  280. package/dist/workers/resource-governor.js +0 -187
  281. package/dist/workers/resource-governor.js.map +0 -1
  282. package/dist/workers/ruvector-integration.d.ts +0 -163
  283. package/dist/workers/ruvector-integration.d.ts.map +0 -1
  284. package/dist/workers/ruvector-integration.js +0 -543
  285. package/dist/workers/ruvector-integration.js.map +0 -1
  286. package/dist/workers/ruvector-native-integration.d.ts +0 -91
  287. package/dist/workers/ruvector-native-integration.d.ts.map +0 -1
  288. package/dist/workers/ruvector-native-integration.js +0 -254
  289. package/dist/workers/ruvector-native-integration.js.map +0 -1
  290. package/dist/workers/trigger-detector.d.ts +0 -68
  291. package/dist/workers/trigger-detector.d.ts.map +0 -1
  292. package/dist/workers/trigger-detector.js +0 -281
  293. package/dist/workers/trigger-detector.js.map +0 -1
  294. package/dist/workers/types.d.ts +0 -145
  295. package/dist/workers/types.d.ts.map +0 -1
  296. package/dist/workers/types.js +0 -6
  297. package/dist/workers/types.js.map +0 -1
  298. package/dist/workers/worker-agent-integration.d.ts +0 -140
  299. package/dist/workers/worker-agent-integration.d.ts.map +0 -1
  300. package/dist/workers/worker-agent-integration.js +0 -471
  301. package/dist/workers/worker-agent-integration.js.map +0 -1
  302. package/dist/workers/worker-benchmarks.d.ts +0 -88
  303. package/dist/workers/worker-benchmarks.d.ts.map +0 -1
  304. package/dist/workers/worker-benchmarks.js +0 -452
  305. package/dist/workers/worker-benchmarks.js.map +0 -1
  306. package/dist/workers/worker-registry.d.ts +0 -85
  307. package/dist/workers/worker-registry.d.ts.map +0 -1
  308. package/dist/workers/worker-registry.js +0 -547
  309. package/dist/workers/worker-registry.js.map +0 -1
  310. package/docs/.claude-flow/metrics/agent-metrics.json +0 -1
  311. package/docs/.claude-flow/metrics/performance.json +0 -87
  312. package/docs/.claude-flow/metrics/task-metrics.json +0 -10
  313. package/docs/embeddings/EMBEDDING_GEOMETRY.md +0 -935
  314. /package/.claude/agents/analysis/{analyze-code-quality.md → code-review/analyze-code-quality.md} +0 -0
  315. /package/.claude/agents/architecture/{arch-system-design.md → system-design/arch-system-design.md} +0 -0
  316. /package/.claude/agents/data/{data-ml-model.md → ml/data-ml-model.md} +0 -0
  317. /package/.claude/agents/development/{dev-backend-api.md → backend/dev-backend-api.md} +0 -0
  318. /package/.claude/agents/devops/{ops-cicd-github.md → ci-cd/ops-cicd-github.md} +0 -0
  319. /package/.claude/agents/documentation/{docs-api-openapi.md → api-docs/docs-api-openapi.md} +0 -0
  320. /package/.claude/agents/specialized/{spec-mobile-react-native.md → mobile/spec-mobile-react-native.md} +0 -0
  321. /package/.claude/agents/testing/{tdd-london-swarm.md → unit/tdd-london-swarm.md} +0 -0
  322. /package/.claude/agents/testing/{production-validator.md → validation/production-validator.md} +0 -0
@@ -1,183 +0,0 @@
1
- /**
2
- * Real P2P Swarm Coordination
3
- *
4
- * IMPROVED VERSION with actual P2P connections:
5
- * - Real GunDB relay connections
6
- * - Actual WebRTC via PeerJS
7
- * - Persistent learning storage
8
- * - Better error handling
9
- */
10
- /**
11
- * Encryption utilities
12
- */
13
- declare class SwarmCrypto {
14
- private algorithm;
15
- generateKey(): string;
16
- encrypt(data: string, keyBase64: string): {
17
- ciphertext: string;
18
- iv: string;
19
- tag: string;
20
- };
21
- decrypt(ciphertext: string, keyBase64: string, ivBase64: string, tagBase64: string): string;
22
- hash(data: string): string;
23
- }
24
- /**
25
- * Real GunDB Swarm (connects to actual relays)
26
- */
27
- export declare class RealGunDBSwarm {
28
- private gun;
29
- private swarmNode;
30
- private crypto;
31
- private swarmKey;
32
- private swarmId;
33
- private connected;
34
- static readonly FREE_RELAYS: string[];
35
- constructor(swarmKey?: string, relays?: string[]);
36
- /**
37
- * Connect to GunDB relays
38
- */
39
- connect(relays?: string[]): Promise<boolean>;
40
- /**
41
- * Register agent with swarm
42
- */
43
- registerAgent(agentId: string, capabilities: string[]): Promise<void>;
44
- /**
45
- * Publish message to swarm (real-time sync)
46
- */
47
- publish(topic: string, data: any): Promise<string>;
48
- /**
49
- * Subscribe to topic
50
- */
51
- subscribe(topic: string, callback: (data: any) => void): void;
52
- /**
53
- * Sync Q-table to swarm
54
- */
55
- syncQTable(agentId: string, qTable: number[][]): Promise<string>;
56
- /**
57
- * Sync memory vectors
58
- */
59
- syncMemory(agentId: string, vectors: number[][], namespace: string): Promise<string>;
60
- /**
61
- * Get connection status
62
- */
63
- isConnected(): boolean;
64
- /**
65
- * Get swarm key (for sharing)
66
- */
67
- getSwarmKey(): string;
68
- /**
69
- * Get swarm ID
70
- */
71
- getSwarmId(): string;
72
- }
73
- /**
74
- * Real WebRTC Swarm (using PeerJS)
75
- */
76
- export declare class RealWebRTCSwarm {
77
- private peer;
78
- private connections;
79
- private crypto;
80
- private swarmKey;
81
- private swarmId;
82
- private peerId;
83
- constructor(swarmKey?: string);
84
- /**
85
- * Initialize PeerJS connection
86
- */
87
- initialize(agentId: string): Promise<string | null>;
88
- /**
89
- * Handle incoming connection
90
- */
91
- private handleConnection;
92
- /**
93
- * Handle decrypted message
94
- */
95
- private handleMessage;
96
- /**
97
- * Connect to another peer
98
- */
99
- connectToPeer(peerId: string): Promise<boolean>;
100
- /**
101
- * Send encrypted message to peer
102
- */
103
- sendToPeer(peerId: string, data: any): Promise<boolean>;
104
- /**
105
- * Broadcast to all connected peers
106
- */
107
- broadcast(data: any): Promise<number>;
108
- /**
109
- * Get connected peer count
110
- */
111
- getConnectedPeers(): number;
112
- /**
113
- * Get peer ID
114
- */
115
- getPeerId(): string | null;
116
- /**
117
- * Disconnect
118
- */
119
- disconnect(): void;
120
- }
121
- /**
122
- * Combined Real P2P Swarm Coordinator
123
- */
124
- export declare class RealP2PSwarmCoordinator {
125
- private gundb;
126
- private webrtc;
127
- private swarmKey;
128
- private initialized;
129
- constructor(swarmKey?: string);
130
- /**
131
- * Initialize all P2P connections
132
- */
133
- initialize(agentId: string): Promise<{
134
- gundb: boolean;
135
- webrtc: boolean;
136
- swarmId: string;
137
- }>;
138
- /**
139
- * Publish via GunDB (real-time)
140
- */
141
- publish(topic: string, data: any): Promise<string>;
142
- /**
143
- * Subscribe via GunDB
144
- */
145
- subscribe(topic: string, callback: (data: any) => void): void;
146
- /**
147
- * Send direct P2P message
148
- */
149
- sendDirect(peerId: string, data: any): Promise<boolean>;
150
- /**
151
- * Broadcast via WebRTC
152
- */
153
- broadcastDirect(data: any): Promise<number>;
154
- /**
155
- * Sync learning state
156
- */
157
- syncLearning(agentId: string, qTable: number[][], vectors?: number[][]): Promise<{
158
- qTableId: string;
159
- memoryId?: string;
160
- }>;
161
- /**
162
- * Get status
163
- */
164
- getStatus(): {
165
- gundb: boolean;
166
- webrtc: {
167
- connected: boolean;
168
- peers: number;
169
- };
170
- swarmId: string;
171
- swarmKey: string;
172
- };
173
- /**
174
- * Cleanup
175
- */
176
- disconnect(): void;
177
- }
178
- /**
179
- * Quick start helper
180
- */
181
- export declare function createRealP2PSwarm(agentId: string, swarmKey?: string): Promise<RealP2PSwarmCoordinator>;
182
- export { SwarmCrypto };
183
- //# sourceMappingURL=real-p2p-swarm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"real-p2p-swarm.d.ts","sourceRoot":"","sources":["../../src/swarm/real-p2p-swarm.ts"],"names":[],"mappings":"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"}
@@ -1,469 +0,0 @@
1
- /**
2
- * Real P2P Swarm Coordination
3
- *
4
- * IMPROVED VERSION with actual P2P connections:
5
- * - Real GunDB relay connections
6
- * - Actual WebRTC via PeerJS
7
- * - Persistent learning storage
8
- * - Better error handling
9
- */
10
- import crypto from 'crypto';
11
- import { logger } from '../utils/logger.js';
12
- // Lazy-load P2P modules
13
- let Gun = null;
14
- let Peer = null;
15
- /**
16
- * Load GunDB (lazy)
17
- */
18
- async function getGun() {
19
- if (!Gun) {
20
- try {
21
- Gun = (await import('gun')).default;
22
- }
23
- catch {
24
- logger.warn('GunDB not installed. Run: npm install gun');
25
- return null;
26
- }
27
- }
28
- return Gun;
29
- }
30
- /**
31
- * Load PeerJS (lazy)
32
- */
33
- async function getPeer() {
34
- if (!Peer) {
35
- try {
36
- const peerjs = await import('peerjs');
37
- Peer = peerjs.Peer || peerjs.default;
38
- }
39
- catch {
40
- logger.warn('PeerJS not installed. Run: npm install peerjs');
41
- return null;
42
- }
43
- }
44
- return Peer;
45
- }
46
- /**
47
- * Encryption utilities
48
- */
49
- class SwarmCrypto {
50
- algorithm = 'aes-256-gcm';
51
- generateKey() {
52
- return crypto.randomBytes(32).toString('base64');
53
- }
54
- encrypt(data, keyBase64) {
55
- const key = Buffer.from(keyBase64, 'base64');
56
- const iv = crypto.randomBytes(16);
57
- const cipher = crypto.createCipheriv(this.algorithm, key, iv);
58
- let ciphertext = cipher.update(data, 'utf8', 'base64');
59
- ciphertext += cipher.final('base64');
60
- return {
61
- ciphertext,
62
- iv: iv.toString('base64'),
63
- tag: cipher.getAuthTag().toString('base64'),
64
- };
65
- }
66
- decrypt(ciphertext, keyBase64, ivBase64, tagBase64) {
67
- const key = Buffer.from(keyBase64, 'base64');
68
- const iv = Buffer.from(ivBase64, 'base64');
69
- const tag = Buffer.from(tagBase64, 'base64');
70
- const decipher = crypto.createDecipheriv(this.algorithm, key, iv);
71
- decipher.setAuthTag(tag);
72
- let plaintext = decipher.update(ciphertext, 'base64', 'utf8');
73
- plaintext += decipher.final('utf8');
74
- return plaintext;
75
- }
76
- hash(data) {
77
- return crypto.createHash('sha256').update(data).digest('hex');
78
- }
79
- }
80
- /**
81
- * Real GunDB Swarm (connects to actual relays)
82
- */
83
- export class RealGunDBSwarm {
84
- gun = null;
85
- swarmNode = null;
86
- crypto;
87
- swarmKey;
88
- swarmId;
89
- connected = false;
90
- static FREE_RELAYS = [
91
- 'https://gun-manhattan.herokuapp.com/gun',
92
- 'https://gun-us.herokuapp.com/gun',
93
- 'https://gun-eu.herokuapp.com/gun',
94
- ];
95
- constructor(swarmKey, relays) {
96
- this.crypto = new SwarmCrypto();
97
- this.swarmKey = swarmKey || this.crypto.generateKey();
98
- this.swarmId = this.crypto.hash(this.swarmKey).slice(0, 16);
99
- }
100
- /**
101
- * Connect to GunDB relays
102
- */
103
- async connect(relays) {
104
- const GunDB = await getGun();
105
- if (!GunDB) {
106
- logger.warn('GunDB not available, using simulation mode');
107
- return false;
108
- }
109
- try {
110
- this.gun = GunDB(relays || RealGunDBSwarm.FREE_RELAYS);
111
- this.swarmNode = this.gun.get(`agentic-flow-swarm-${this.swarmId}`);
112
- this.connected = true;
113
- logger.info('Connected to GunDB relays', {
114
- swarmId: this.swarmId,
115
- relays: relays?.length || RealGunDBSwarm.FREE_RELAYS.length,
116
- });
117
- return true;
118
- }
119
- catch (error) {
120
- logger.error('Failed to connect to GunDB', { error });
121
- return false;
122
- }
123
- }
124
- /**
125
- * Register agent with swarm
126
- */
127
- async registerAgent(agentId, capabilities) {
128
- if (!this.connected || !this.swarmNode) {
129
- logger.warn('Not connected to GunDB');
130
- return;
131
- }
132
- const agentData = {
133
- id: agentId,
134
- capabilities: capabilities.join(','),
135
- joinedAt: Date.now(),
136
- status: 'active',
137
- };
138
- // Encrypt sensitive data
139
- const encrypted = this.crypto.encrypt(JSON.stringify(agentData), this.swarmKey);
140
- this.swarmNode.get('agents').get(agentId).put({
141
- ...encrypted,
142
- agentId, // Keep ID visible for routing
143
- });
144
- logger.debug('Agent registered to GunDB', { agentId });
145
- }
146
- /**
147
- * Publish message to swarm (real-time sync)
148
- */
149
- async publish(topic, data) {
150
- const messageId = this.crypto.hash(JSON.stringify(data) + Date.now()).slice(0, 16);
151
- const message = {
152
- id: messageId,
153
- topic,
154
- timestamp: Date.now(),
155
- };
156
- // Encrypt payload
157
- const encrypted = this.crypto.encrypt(JSON.stringify(data), this.swarmKey);
158
- if (this.connected && this.swarmNode) {
159
- this.swarmNode.get('messages').get(topic).get(messageId).put({
160
- ...message,
161
- ...encrypted,
162
- });
163
- }
164
- return messageId;
165
- }
166
- /**
167
- * Subscribe to topic
168
- */
169
- subscribe(topic, callback) {
170
- if (!this.connected || !this.swarmNode) {
171
- logger.warn('Not connected to GunDB');
172
- return;
173
- }
174
- this.swarmNode.get('messages').get(topic).map().on((msg, id) => {
175
- if (msg && msg.ciphertext) {
176
- try {
177
- const decrypted = this.crypto.decrypt(msg.ciphertext, this.swarmKey, msg.iv, msg.tag);
178
- callback(JSON.parse(decrypted));
179
- }
180
- catch (error) {
181
- // Ignore decryption errors (wrong key)
182
- }
183
- }
184
- });
185
- }
186
- /**
187
- * Sync Q-table to swarm
188
- */
189
- async syncQTable(agentId, qTable) {
190
- return this.publish('q_table_sync', {
191
- agentId,
192
- qTable,
193
- dimensions: `${qTable.length}x${qTable[0]?.length || 0}`,
194
- });
195
- }
196
- /**
197
- * Sync memory vectors
198
- */
199
- async syncMemory(agentId, vectors, namespace) {
200
- return this.publish('memory_sync', {
201
- agentId,
202
- vectorCount: vectors.length,
203
- dimensions: vectors[0]?.length || 0,
204
- namespace,
205
- checksum: this.crypto.hash(JSON.stringify(vectors)).slice(0, 8),
206
- });
207
- }
208
- /**
209
- * Get connection status
210
- */
211
- isConnected() {
212
- return this.connected;
213
- }
214
- /**
215
- * Get swarm key (for sharing)
216
- */
217
- getSwarmKey() {
218
- return this.swarmKey;
219
- }
220
- /**
221
- * Get swarm ID
222
- */
223
- getSwarmId() {
224
- return this.swarmId;
225
- }
226
- }
227
- /**
228
- * Real WebRTC Swarm (using PeerJS)
229
- */
230
- export class RealWebRTCSwarm {
231
- peer = null;
232
- connections = new Map();
233
- crypto;
234
- swarmKey;
235
- swarmId;
236
- peerId = null;
237
- constructor(swarmKey) {
238
- this.crypto = new SwarmCrypto();
239
- this.swarmKey = swarmKey || this.crypto.generateKey();
240
- this.swarmId = this.crypto.hash(this.swarmKey).slice(0, 16);
241
- }
242
- /**
243
- * Initialize PeerJS connection
244
- */
245
- async initialize(agentId) {
246
- const PeerClass = await getPeer();
247
- if (!PeerClass) {
248
- logger.warn('PeerJS not available');
249
- return null;
250
- }
251
- return new Promise((resolve) => {
252
- try {
253
- this.peerId = `swarm-${this.swarmId}-${agentId}`;
254
- this.peer = new PeerClass(this.peerId);
255
- this.peer.on('open', (id) => {
256
- logger.info('WebRTC peer connected', { peerId: id });
257
- resolve(id);
258
- });
259
- this.peer.on('connection', (conn) => {
260
- this.handleConnection(conn);
261
- });
262
- this.peer.on('error', (err) => {
263
- logger.error('PeerJS error', { error: err.message });
264
- resolve(null);
265
- });
266
- // Timeout after 10 seconds
267
- setTimeout(() => resolve(null), 10000);
268
- }
269
- catch (error) {
270
- logger.error('Failed to initialize PeerJS', { error });
271
- resolve(null);
272
- }
273
- });
274
- }
275
- /**
276
- * Handle incoming connection
277
- */
278
- handleConnection(conn) {
279
- conn.on('open', () => {
280
- this.connections.set(conn.peer, conn);
281
- logger.debug('Peer connected', { peer: conn.peer });
282
- });
283
- conn.on('data', (data) => {
284
- if (data.encrypted) {
285
- try {
286
- const decrypted = this.crypto.decrypt(data.ciphertext, this.swarmKey, data.iv, data.tag);
287
- this.handleMessage(JSON.parse(decrypted), conn.peer);
288
- }
289
- catch {
290
- // Ignore decryption errors
291
- }
292
- }
293
- });
294
- conn.on('close', () => {
295
- this.connections.delete(conn.peer);
296
- });
297
- }
298
- /**
299
- * Handle decrypted message
300
- */
301
- handleMessage(message, from) {
302
- logger.debug('Received P2P message', { from, type: message.type });
303
- // Override in subclass or add event emitter
304
- }
305
- /**
306
- * Connect to another peer
307
- */
308
- async connectToPeer(peerId) {
309
- if (!this.peer) {
310
- return false;
311
- }
312
- return new Promise((resolve) => {
313
- const conn = this.peer.connect(peerId);
314
- conn.on('open', () => {
315
- this.connections.set(peerId, conn);
316
- resolve(true);
317
- });
318
- conn.on('error', () => {
319
- resolve(false);
320
- });
321
- setTimeout(() => resolve(false), 5000);
322
- });
323
- }
324
- /**
325
- * Send encrypted message to peer
326
- */
327
- async sendToPeer(peerId, data) {
328
- const conn = this.connections.get(peerId);
329
- if (!conn) {
330
- return false;
331
- }
332
- const encrypted = this.crypto.encrypt(JSON.stringify(data), this.swarmKey);
333
- conn.send({
334
- encrypted: true,
335
- ...encrypted,
336
- });
337
- return true;
338
- }
339
- /**
340
- * Broadcast to all connected peers
341
- */
342
- async broadcast(data) {
343
- let sent = 0;
344
- for (const [peerId] of this.connections) {
345
- if (await this.sendToPeer(peerId, data)) {
346
- sent++;
347
- }
348
- }
349
- return sent;
350
- }
351
- /**
352
- * Get connected peer count
353
- */
354
- getConnectedPeers() {
355
- return this.connections.size;
356
- }
357
- /**
358
- * Get peer ID
359
- */
360
- getPeerId() {
361
- return this.peerId;
362
- }
363
- /**
364
- * Disconnect
365
- */
366
- disconnect() {
367
- if (this.peer) {
368
- this.peer.destroy();
369
- this.peer = null;
370
- }
371
- this.connections.clear();
372
- }
373
- }
374
- /**
375
- * Combined Real P2P Swarm Coordinator
376
- */
377
- export class RealP2PSwarmCoordinator {
378
- gundb;
379
- webrtc;
380
- swarmKey;
381
- initialized = false;
382
- constructor(swarmKey) {
383
- const crypto = new SwarmCrypto();
384
- this.swarmKey = swarmKey || crypto.generateKey();
385
- this.gundb = new RealGunDBSwarm(this.swarmKey);
386
- this.webrtc = new RealWebRTCSwarm(this.swarmKey);
387
- }
388
- /**
389
- * Initialize all P2P connections
390
- */
391
- async initialize(agentId) {
392
- const gundbConnected = await this.gundb.connect();
393
- const webrtcPeerId = await this.webrtc.initialize(agentId);
394
- if (gundbConnected) {
395
- await this.gundb.registerAgent(agentId, ['coordinator']);
396
- }
397
- this.initialized = true;
398
- return {
399
- gundb: gundbConnected,
400
- webrtc: webrtcPeerId !== null,
401
- swarmId: this.gundb.getSwarmId(),
402
- };
403
- }
404
- /**
405
- * Publish via GunDB (real-time)
406
- */
407
- async publish(topic, data) {
408
- return this.gundb.publish(topic, data);
409
- }
410
- /**
411
- * Subscribe via GunDB
412
- */
413
- subscribe(topic, callback) {
414
- this.gundb.subscribe(topic, callback);
415
- }
416
- /**
417
- * Send direct P2P message
418
- */
419
- async sendDirect(peerId, data) {
420
- return this.webrtc.sendToPeer(peerId, data);
421
- }
422
- /**
423
- * Broadcast via WebRTC
424
- */
425
- async broadcastDirect(data) {
426
- return this.webrtc.broadcast(data);
427
- }
428
- /**
429
- * Sync learning state
430
- */
431
- async syncLearning(agentId, qTable, vectors) {
432
- const qTableId = await this.gundb.syncQTable(agentId, qTable);
433
- let memoryId;
434
- if (vectors && vectors.length > 0) {
435
- memoryId = await this.gundb.syncMemory(agentId, vectors, 'default');
436
- }
437
- return { qTableId, memoryId };
438
- }
439
- /**
440
- * Get status
441
- */
442
- getStatus() {
443
- return {
444
- gundb: this.gundb.isConnected(),
445
- webrtc: {
446
- connected: this.webrtc.getPeerId() !== null,
447
- peers: this.webrtc.getConnectedPeers(),
448
- },
449
- swarmId: this.gundb.getSwarmId(),
450
- swarmKey: this.swarmKey,
451
- };
452
- }
453
- /**
454
- * Cleanup
455
- */
456
- disconnect() {
457
- this.webrtc.disconnect();
458
- }
459
- }
460
- /**
461
- * Quick start helper
462
- */
463
- export async function createRealP2PSwarm(agentId, swarmKey) {
464
- const swarm = new RealP2PSwarmCoordinator(swarmKey);
465
- await swarm.initialize(agentId);
466
- return swarm;
467
- }
468
- export { SwarmCrypto };
469
- //# sourceMappingURL=real-p2p-swarm.js.map