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 +1 @@
1
- {"version":3,"file":"claudeFlowSdkServer.js","sourceRoot":"","sources":["../../src/mcp/claudeFlowSdkServer.ts"],"names":[],"mappings":"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","sourcesContent":["// In-SDK MCP server for claude-flow tools (no subprocess required)\nimport { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';\nimport { z } from 'zod';\nimport { execSync } from 'child_process';\nimport { readFileSync, writeFileSync } from 'fs';\nimport { extname } from 'path';\nimport { logger } from '../utils/logger.js';\nimport { AgentBooster } from 'agent-booster';\n\n/**\n * Create an in-SDK MCP server that provides claude-flow memory and coordination tools\n * This runs in-process without spawning Claude Code CLI subprocess\n */\nexport const claudeFlowSdkServer = createSdkMcpServer({\n name: 'claude-flow-sdk',\n version: '1.0.0',\n\n tools: [\n // Memory storage tool\n tool(\n 'memory_store',\n 'Store a value in persistent memory with optional namespace and TTL',\n {\n key: z.string().describe('Memory key'),\n value: z.string().describe('Value to store'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n ttl: z.number().optional().describe('Time-to-live in seconds')\n },\n async ({ key, value, namespace, ttl }) => {\n try {\n logger.info('Storing memory', { key, namespace });\n const cmd = `npx claude-flow@alpha memory store \"${key}\" \"${value}\" --namespace \"${namespace}\"${ttl ? ` --ttl ${ttl}` : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });\n\n logger.info('Memory stored successfully', { key });\n return {\n content: [{\n type: 'text',\n text: `✅ Stored successfully\\n📝 Key: ${key}\\n📦 Namespace: ${namespace}\\n💾 Size: ${value.length} bytes`\n }]\n };\n } catch (error: any) {\n logger.error('Failed to store memory', { error: error.message });\n return {\n content: [{\n type: 'text',\n text: `❌ Failed to store: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory retrieval tool\n tool(\n 'memory_retrieve',\n 'Retrieve a value from persistent memory',\n {\n key: z.string().describe('Memory key'),\n namespace: z.string().optional().default('default').describe('Memory namespace')\n },\n async ({ key, namespace }) => {\n try {\n const cmd = `npx claude-flow@alpha memory retrieve \"${key}\" --namespace \"${namespace}\"`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `✅ Retrieved:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Failed to retrieve: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory search tool\n tool(\n 'memory_search',\n 'Search for keys matching a pattern in memory',\n {\n pattern: z.string().describe('Search pattern (supports wildcards)'),\n namespace: z.string().optional().describe('Memory namespace to search in'),\n limit: z.number().optional().default(10).describe('Maximum results to return')\n },\n async ({ pattern, namespace, limit }) => {\n try {\n const cmd = `npx claude-flow@alpha memory search \"${pattern}\"${namespace ? ` --namespace \"${namespace}\"` : ''} --limit ${limit}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🔍 Search results:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Search failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm initialization tool\n tool(\n 'swarm_init',\n 'Initialize a multi-agent swarm with specified topology',\n {\n topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),\n maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),\n strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')\n },\n async ({ topology, maxAgents, strategy }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🚀 Swarm initialized:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Swarm init failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent spawn tool\n tool(\n 'agent_spawn',\n 'Spawn a new agent in the swarm',\n {\n type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),\n capabilities: z.array(z.string()).optional().describe('Agent capabilities'),\n name: z.string().optional().describe('Custom agent name')\n },\n async ({ type, capabilities, name }) => {\n try {\n const capStr = capabilities ? ` --capabilities \"${capabilities.join(',')}\"` : '';\n const nameStr = name ? ` --name \"${name}\"` : '';\n const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🤖 Agent spawned:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Agent spawn failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Task orchestration tool\n tool(\n 'task_orchestrate',\n 'Orchestrate a complex task across the swarm',\n {\n task: z.string().describe('Task description or instructions'),\n strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),\n priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),\n maxAgents: z.number().optional().describe('Maximum agents to use for this task')\n },\n async ({ task, strategy, priority, maxAgents }) => {\n try {\n const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';\n const cmd = `npx claude-flow@alpha task orchestrate \"${task}\" --strategy ${strategy} --priority ${priority}${maxStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Task orchestrated:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Task orchestration failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm status tool\n tool(\n 'swarm_status',\n 'Get current swarm status and metrics',\n {\n verbose: z.boolean().optional().default(false).describe('Include detailed metrics')\n },\n async ({ verbose }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `📊 Swarm status:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Status check failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Ultra-fast code editing\n tool(\n 'agent_booster_edit_file',\n 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\\'s local WASM engine.',\n {\n target_filepath: z.string().describe('Path of the file to modify'),\n instructions: z.string().describe('Description of what changes to make'),\n code_edit: z.string().describe('The new code or edit to apply'),\n language: z.string().optional().describe('Programming language (auto-detected if not provided)')\n },\n async ({ target_filepath, instructions, code_edit, language }) => {\n try {\n // Initialize Agent Booster\n const booster = new AgentBooster({ confidenceThreshold: 0.5 });\n\n // Read original file\n const originalCode = readFileSync(target_filepath, 'utf8');\n\n // Auto-detect language if not provided\n const lang = language || extname(target_filepath).slice(1);\n\n // Apply edit - use any cast for flexible signature\n const result = await booster.apply({\n code: originalCode,\n edit: code_edit,\n language: lang,\n target_filepath,\n instructions: code_edit,\n code_edit\n } as any);\n\n // Write if successful\n if (result.success) {\n writeFileSync(target_filepath, result.output, 'utf8');\n }\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Agent Booster Edit Result:\\n` +\n `📁 File: ${target_filepath}\\n` +\n `✅ Success: ${result.success}\\n` +\n `⏱️ Latency: ${result.latency}ms\\n` +\n `🎯 Confidence: ${(result.confidence * 100).toFixed(1)}%\\n` +\n `🔧 Strategy: ${result.strategy}\\n` +\n `📊 Speedup: ~${Math.round(352 / result.latency)}x vs cloud APIs\\n` +\n `💰 Cost: $0 (vs ~$0.01 for cloud API)\\n\\n` +\n `${result.success ? '✨ Edit applied successfully!' : '❌ Edit failed - check confidence score'}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Agent Booster edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Batch editing\n tool(\n 'agent_booster_batch_edit',\n 'Apply multiple code edits in parallel using Agent Booster. Perfect for multi-file refactoring.',\n {\n edits: z.array(z.object({\n target_filepath: z.string(),\n instructions: z.string(),\n code_edit: z.string(),\n language: z.string().optional()\n })).describe('Array of edit operations to apply')\n },\n async ({ edits }) => {\n try {\n const booster = new AgentBooster({ confidenceThreshold: 0.5 });\n let successCount = 0;\n let totalLatency = 0;\n const results: string[] = [];\n\n for (const edit of edits) {\n const originalCode = readFileSync(edit.target_filepath, 'utf8');\n const lang = edit.language || extname(edit.target_filepath).slice(1);\n\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language: lang,\n target_filepath: edit.target_filepath,\n instructions: edit.code_edit,\n code_edit: edit.code_edit\n } as any);\n\n if (result.success) {\n writeFileSync(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n results.push(` ${result.success ? '✅' : '❌'} ${edit.target_filepath} (${result.latency}ms, ${(result.confidence * 100).toFixed(0)}%)`);\n }\n\n const avgLatency = totalLatency / edits.length;\n const avgSpeedup = Math.round(352 / avgLatency);\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Agent Booster Batch Edit Results:\\n\\n` +\n `📊 Summary:\\n` +\n ` Total edits: ${edits.length}\\n` +\n ` Successful: ${successCount}\\n` +\n ` Failed: ${edits.length - successCount}\\n` +\n ` Total time: ${totalLatency.toFixed(1)}ms\\n` +\n ` Avg latency: ${avgLatency.toFixed(1)}ms\\n` +\n ` Avg speedup: ~${avgSpeedup}x vs cloud APIs\\n` +\n ` Cost savings: ~$${(edits.length * 0.01).toFixed(2)}\\n\\n` +\n `📁 Results:\\n${results.join('\\n')}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Batch edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n )\n ]\n});\n"]}
1
+ {"version":3,"file":"claudeFlowSdkServer.js","sourceRoot":"","sources":["../../src/mcp/claudeFlowSdkServer.ts"],"names":[],"mappings":"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","sourcesContent":["// In-SDK MCP server for claude-flow tools (no subprocess required)\nimport { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';\nimport { z } from 'zod';\nimport { execSync } from 'child_process';\nimport { readFileSync, writeFileSync } from 'fs';\nimport { extname } from 'path';\nimport { logger } from '../utils/logger.js';\nimport { AgentBooster } from 'agent-booster';\n\n/**\n * Create an in-SDK MCP server that provides claude-flow memory and coordination tools\n * This runs in-process without spawning Claude Code CLI subprocess\n */\nexport const claudeFlowSdkServer = createSdkMcpServer({\n name: 'claude-flow-sdk',\n version: '1.0.0',\n\n tools: [\n // Memory storage tool\n tool(\n 'memory_store',\n 'Store a value in persistent memory with optional namespace and TTL',\n {\n key: z.string().describe('Memory key'),\n value: z.string().describe('Value to store'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n ttl: z.number().optional().describe('Time-to-live in seconds')\n },\n async ({ key, value, namespace, ttl }) => {\n try {\n logger.info('Storing memory', { key, namespace });\n const cmd = `npx claude-flow@alpha memory store \"${key}\" \"${value}\" --namespace \"${namespace}\"${ttl ? ` --ttl ${ttl}` : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });\n\n logger.info('Memory stored successfully', { key });\n return {\n content: [{\n type: 'text',\n text: `✅ Stored successfully\\n📝 Key: ${key}\\n📦 Namespace: ${namespace}\\n💾 Size: ${value.length} bytes`\n }]\n };\n } catch (error: any) {\n logger.error('Failed to store memory', { error: error.message });\n return {\n content: [{\n type: 'text',\n text: `❌ Failed to store: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory retrieval tool\n tool(\n 'memory_retrieve',\n 'Retrieve a value from persistent memory',\n {\n key: z.string().describe('Memory key'),\n namespace: z.string().optional().default('default').describe('Memory namespace')\n },\n async ({ key, namespace }) => {\n try {\n const cmd = `npx claude-flow@alpha memory retrieve \"${key}\" --namespace \"${namespace}\"`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `✅ Retrieved:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Failed to retrieve: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Memory search tool\n tool(\n 'memory_search',\n 'Search for keys matching a pattern in memory',\n {\n pattern: z.string().describe('Search pattern (supports wildcards)'),\n namespace: z.string().optional().describe('Memory namespace to search in'),\n limit: z.number().optional().default(10).describe('Maximum results to return')\n },\n async ({ pattern, namespace, limit }) => {\n try {\n const cmd = `npx claude-flow@alpha memory search \"${pattern}\"${namespace ? ` --namespace \"${namespace}\"` : ''} --limit ${limit}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🔍 Search results:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Search failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm initialization tool\n tool(\n 'swarm_init',\n 'Initialize a multi-agent swarm with specified topology',\n {\n topology: z.enum(['mesh', 'hierarchical', 'ring', 'star']).describe('Swarm topology'),\n maxAgents: z.number().optional().default(8).describe('Maximum number of agents'),\n strategy: z.enum(['balanced', 'specialized', 'adaptive']).optional().default('balanced').describe('Agent distribution strategy')\n },\n async ({ topology, maxAgents, strategy }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🚀 Swarm initialized:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Swarm init failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent spawn tool\n tool(\n 'agent_spawn',\n 'Spawn a new agent in the swarm',\n {\n type: z.enum(['researcher', 'coder', 'analyst', 'optimizer', 'coordinator']).describe('Agent type'),\n capabilities: z.array(z.string()).optional().describe('Agent capabilities'),\n name: z.string().optional().describe('Custom agent name')\n },\n async ({ type, capabilities, name }) => {\n try {\n const capStr = capabilities ? ` --capabilities \"${capabilities.join(',')}\"` : '';\n const nameStr = name ? ` --name \"${name}\"` : '';\n const cmd = `npx claude-flow@alpha agent spawn --type ${type}${capStr}${nameStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `🤖 Agent spawned:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Agent spawn failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Task orchestration tool\n tool(\n 'task_orchestrate',\n 'Orchestrate a complex task across the swarm',\n {\n task: z.string().describe('Task description or instructions'),\n strategy: z.enum(['parallel', 'sequential', 'adaptive']).optional().default('adaptive').describe('Execution strategy'),\n priority: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium').describe('Task priority'),\n maxAgents: z.number().optional().describe('Maximum agents to use for this task')\n },\n async ({ task, strategy, priority, maxAgents }) => {\n try {\n const maxStr = maxAgents ? ` --max-agents ${maxAgents}` : '';\n const cmd = `npx claude-flow@alpha task orchestrate \"${task}\" --strategy ${strategy} --priority ${priority}${maxStr}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Task orchestrated:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Task orchestration failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Swarm status tool\n tool(\n 'swarm_status',\n 'Get current swarm status and metrics',\n {\n verbose: z.boolean().optional().default(false).describe('Include detailed metrics')\n },\n async ({ verbose }) => {\n try {\n const cmd = `npx claude-flow@alpha swarm status${verbose ? ' --verbose' : ''}`;\n const result = execSync(cmd, { encoding: 'utf-8' });\n\n return {\n content: [{\n type: 'text',\n text: `📊 Swarm status:\\n${result}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Status check failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Ultra-fast code editing\n tool(\n 'agent_booster_edit_file',\n 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\\'s local WASM engine.',\n {\n target_filepath: z.string().describe('Path of the file to modify'),\n instructions: z.string().describe('Description of what changes to make'),\n code_edit: z.string().describe('The new code or edit to apply'),\n language: z.string().optional().describe('Programming language (auto-detected if not provided)')\n },\n async ({ target_filepath, instructions, code_edit, language }) => {\n try {\n // Initialize Agent Booster\n const booster = new AgentBooster({ confidenceThreshold: 0.5 });\n\n // Read original file\n const originalCode = readFileSync(target_filepath, 'utf8');\n\n // Auto-detect language if not provided\n const lang = language || extname(target_filepath).slice(1);\n\n // Apply edit\n const result = await booster.apply({\n code: originalCode,\n edit: code_edit,\n language: lang\n });\n\n // Write if successful\n if (result.success) {\n writeFileSync(target_filepath, result.output, 'utf8');\n }\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Agent Booster Edit Result:\\n` +\n `📁 File: ${target_filepath}\\n` +\n `✅ Success: ${result.success}\\n` +\n `⏱️ Latency: ${result.latency}ms\\n` +\n `🎯 Confidence: ${(result.confidence * 100).toFixed(1)}%\\n` +\n `🔧 Strategy: ${result.strategy}\\n` +\n `📊 Speedup: ~${Math.round(352 / result.latency)}x vs cloud APIs\\n` +\n `💰 Cost: $0 (vs ~$0.01 for cloud API)\\n\\n` +\n `${result.success ? '✨ Edit applied successfully!' : '❌ Edit failed - check confidence score'}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Agent Booster edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n ),\n\n // Agent Booster - Batch editing\n tool(\n 'agent_booster_batch_edit',\n 'Apply multiple code edits in parallel using Agent Booster. Perfect for multi-file refactoring.',\n {\n edits: z.array(z.object({\n target_filepath: z.string(),\n instructions: z.string(),\n code_edit: z.string(),\n language: z.string().optional()\n })).describe('Array of edit operations to apply')\n },\n async ({ edits }) => {\n try {\n const booster = new AgentBooster({ confidenceThreshold: 0.5 });\n let successCount = 0;\n let totalLatency = 0;\n const results: string[] = [];\n\n for (const edit of edits) {\n const originalCode = readFileSync(edit.target_filepath, 'utf8');\n const lang = edit.language || extname(edit.target_filepath).slice(1);\n\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language: lang\n });\n\n if (result.success) {\n writeFileSync(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n results.push(` ${result.success ? '✅' : '❌'} ${edit.target_filepath} (${result.latency}ms, ${(result.confidence * 100).toFixed(0)}%)`);\n }\n\n const avgLatency = totalLatency / edits.length;\n const avgSpeedup = Math.round(352 / avgLatency);\n\n return {\n content: [{\n type: 'text',\n text: `⚡ Agent Booster Batch Edit Results:\\n\\n` +\n `📊 Summary:\\n` +\n ` Total edits: ${edits.length}\\n` +\n ` Successful: ${successCount}\\n` +\n ` Failed: ${edits.length - successCount}\\n` +\n ` Total time: ${totalLatency.toFixed(1)}ms\\n` +\n ` Avg latency: ${avgLatency.toFixed(1)}ms\\n` +\n ` Avg speedup: ~${avgSpeedup}x vs cloud APIs\\n` +\n ` Cost savings: ~$${(edits.length * 0.01).toFixed(2)}\\n\\n` +\n `📁 Results:\\n${results.join('\\n')}`\n }]\n };\n } catch (error: any) {\n return {\n content: [{\n type: 'text',\n text: `❌ Batch edit failed: ${error.message}`\n }],\n isError: true\n };\n }\n }\n )\n ]\n});\n"]}
@@ -420,7 +420,7 @@ export async function routeTaskIntelligent(task, context) {
420
420
  const latencyMs = performance.now() - startTime;
421
421
  // Record routing in SQLite for persistence
422
422
  const store = getStore();
423
- await store.recordRouting(task, bestResult.agentId, Math.min(0.95, bestResult.confidence), Math.round(latencyMs));
423
+ store.recordRouting(task, bestResult.agentId, Math.min(0.95, bestResult.confidence), Math.round(latencyMs));
424
424
  return {
425
425
  agent: bestResult.agentId,
426
426
  confidence: Math.min(0.95, bestResult.confidence),
@@ -454,7 +454,7 @@ export async function beginTaskTrajectory(task, agent) {
454
454
  }
455
455
  const trajectoryId = result.value;
456
456
  // Persist to SQLite
457
- const dbId = await store.startTrajectory(task, agent);
457
+ const dbId = store.startTrajectory(task, agent);
458
458
  // Track metadata in memory (for fast access)
459
459
  activeTrajectories.set(trajectoryId, {
460
460
  taskDescription: task,
@@ -475,7 +475,7 @@ export async function recordTrajectoryStep(trajectoryId, action, reward, context
475
475
  if (meta) {
476
476
  meta.steps++;
477
477
  // Persist step to SQLite
478
- await store.addTrajectoryStep(meta.dbId);
478
+ store.addTrajectoryStep(meta.dbId);
479
479
  // Generate activations from context
480
480
  const activations = new Array(256).fill(0).map(() => Math.random() * 0.1);
481
481
  // Attention weights (8 heads)
@@ -495,7 +495,7 @@ export async function endTaskTrajectory(trajectoryId, success, quality = 0.8) {
495
495
  }
496
496
  // Persist to SQLite
497
497
  const outcome_type = success ? 'success' : 'failure';
498
- await store.endTrajectory(meta.dbId, outcome_type, { quality, steps: meta.steps });
498
+ store.endTrajectory(meta.dbId, outcome_type, { quality, steps: meta.steps });
499
499
  // End trajectory and trigger learning
500
500
  const outcome = intelligence.endTrajectory(trajectoryId, success, quality);
501
501
  // Clean up
@@ -574,7 +574,7 @@ export async function findSimilarPatterns(task, topK = 5) {
574
574
  */
575
575
  export async function getIntelligenceStats() {
576
576
  const store = getStore();
577
- const persistedStats = await store.getSummary();
577
+ const persistedStats = store.getSummary();
578
578
  const compressionStats = getCompressionStats();
579
579
  const multiAlgorithmStats = await getMultiAlgorithmStats();
580
580
  if (!intelligenceInstance) {
@@ -1 +1 @@
1
- {"version":3,"file":"intelligence-bridge.js","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/hooks/intelligence-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Intelligence Bridge - Connects hooks to RuVectorIntelligence layer\n *\n * This bridges the gap between hook tools and the full RuVector ecosystem:\n * - @ruvector/sona: Micro-LoRA, EWC++, ReasoningBank, Trajectories\n * - @ruvector/attention: MoE, Flash, Hyperbolic, Graph attention\n * - ruvector core: HNSW indexing (150x faster search)\n * - TensorCompress: Tiered compression based on access frequency (v2.0.1-alpha.24+)\n *\n * Persistence: SQLite-based storage for cross-platform compatibility\n */\n\nimport {\n RuVectorIntelligence,\n createIntelligenceLayer,\n IntelligencePresets,\n type AgentRoutingResult,\n type Trajectory,\n type LearningOutcome,\n} from '../../../../intelligence/index.js';\n\nimport { getIntelligenceStore, type IntelligenceStore } from '../../../../intelligence/IntelligenceStore.js';\nimport { getEmbeddingService, type EmbeddingService } from '../../../../intelligence/EmbeddingService.js';\n\n// Singleton instances\nlet intelligenceInstance: RuVectorIntelligence | null = null;\nlet storeInstance: IntelligenceStore | null = null;\nlet initPromise: Promise<void> | null = null;\n\n// TensorCompress for tiered pattern compression (lazy loaded)\nlet TensorCompress: any = null;\nlet tensorCompressInstance: any = null;\n\n// Pattern compression tracking\ninterface CompressedPattern {\n id: string;\n embedding: number[];\n metadata: Record<string, any>;\n accessCount: number;\n lastAccessed: number;\n createdAt: number;\n compressionTier: 'none' | 'half' | 'pq8' | 'pq4' | 'binary';\n}\n\nconst patternStore = new Map<string, CompressedPattern>();\nlet totalPatternAccesses = 0;\nlet lastRecompressionTime = 0;\nconst RECOMPRESSION_INTERVAL = 300000; // 5 minutes\n\n// Consistent dimension for SONA (must match hiddenDim = embeddingDim)\n// Using 128 for ultra-fast performance (~0.05ms per operation)\nconst INTELLIGENCE_DIM = 128;\n\n// Active trajectories in memory (for fast access, backed by SQLite)\nconst activeTrajectories = new Map<number, {\n taskDescription: string;\n startTime: number;\n agent: string;\n steps: number;\n dbId: number; // SQLite row ID\n}>();\n\n/**\n * Get the SQLite store singleton\n */\nexport function getStore(): IntelligenceStore {\n if (!storeInstance) {\n storeInstance = getIntelligenceStore();\n }\n return storeInstance;\n}\n\n// Get embedding service singleton\nlet embeddingServiceInstance: EmbeddingService | null = null;\n\nfunction getEmbeddingServiceInstance(): EmbeddingService {\n if (!embeddingServiceInstance) {\n embeddingServiceInstance = getEmbeddingService();\n }\n return embeddingServiceInstance;\n}\n\n// Simple embedding function (uses EmbeddingService with caching)\nfunction simpleEmbed(text: string, dim: number = INTELLIGENCE_DIM): number[] {\n const service = getEmbeddingServiceInstance();\n const embedding = service.simpleEmbed(text, dim);\n return Array.from(embedding);\n}\n\n// ============================================================================\n// TensorCompress Integration (v2.0.1-alpha.24+)\n// Tiered compression based on access frequency for memory efficiency\n// ============================================================================\n\n/**\n * Lazy load TensorCompress from ruvector\n */\nasync function getTensorCompress(): Promise<any> {\n if (tensorCompressInstance) return tensorCompressInstance;\n\n try {\n const ruvector = await import('ruvector');\n if (ruvector.TensorCompress) {\n TensorCompress = ruvector.TensorCompress;\n tensorCompressInstance = new TensorCompress();\n return tensorCompressInstance;\n }\n } catch {\n // TensorCompress not available\n }\n return null;\n}\n\n/**\n * Calculate access frequency for a pattern\n *\n * Compression Tiers:\n * | Data Type | Access Freq | Compression | Memory Savings |\n * |-----------------------|-------------|-------------|----------------|\n * | Hot patterns (recent) | >0.8 | none | 0% |\n * | Warm patterns | >0.4 | half | 50% |\n * | Cool patterns | >0.1 | pq8 | 87.5% |\n * | Cold patterns | >0.01 | pq4 | 93.75% |\n * | Archive | ≤0.01 | binary | 96.9% |\n */\nfunction calculateAccessFrequency(pattern: CompressedPattern): number {\n if (totalPatternAccesses === 0) return 1.0; // New pattern starts hot\n\n // Calculate base frequency from access count\n const accessRatio = pattern.accessCount / totalPatternAccesses;\n\n // Factor in recency (patterns used recently get a boost)\n const ageMs = Date.now() - pattern.lastAccessed;\n const recencyBoost = Math.exp(-ageMs / (24 * 60 * 60 * 1000)); // 24hr decay\n\n // Combine factors: 60% access ratio, 40% recency\n const frequency = accessRatio * 0.6 + recencyBoost * 0.4;\n\n return Math.min(1.0, Math.max(0, frequency));\n}\n\n/**\n * Get compression tier based on access frequency\n */\nfunction getCompressionTier(accessFreq: number): 'none' | 'half' | 'pq8' | 'pq4' | 'binary' {\n if (accessFreq > 0.8) return 'none'; // Hot: no compression (0% savings)\n if (accessFreq > 0.4) return 'half'; // Warm: 50% savings\n if (accessFreq > 0.1) return 'pq8'; // Cool: 87.5% savings\n if (accessFreq > 0.01) return 'pq4'; // Cold: 93.75% savings\n return 'binary'; // Archive: 96.9% savings\n}\n\n/**\n * Apply tiered compression to an embedding\n */\nasync function applyTieredCompression(\n embedding: number[],\n tier: 'none' | 'half' | 'pq8' | 'pq4' | 'binary'\n): Promise<number[]> {\n if (tier === 'none') return embedding;\n\n const compress = await getTensorCompress();\n if (!compress || !TensorCompress) return embedding;\n\n try {\n const config: Record<string, { levelType: string }> = {\n 'half': { levelType: 'half' },\n 'pq8': { levelType: 'pq8' },\n 'pq4': { levelType: 'pq4' },\n 'binary': { levelType: 'binary' }\n };\n\n const tierCompress = new TensorCompress(config[tier]);\n const compressedJson = tierCompress.compress(embedding);\n return tierCompress.decompress(compressedJson);\n } catch {\n return embedding;\n }\n}\n\n/**\n * Recompress patterns based on updated access frequencies\n * Runs periodically in background\n */\nasync function recompressPatterns(): Promise<{ recompressed: number }> {\n const now = Date.now();\n if (now - lastRecompressionTime < RECOMPRESSION_INTERVAL) {\n return { recompressed: 0 };\n }\n\n lastRecompressionTime = now;\n let recompressed = 0;\n\n for (const [id, pattern] of patternStore) {\n const accessFreq = calculateAccessFrequency(pattern);\n const newTier = getCompressionTier(accessFreq);\n\n if (newTier !== pattern.compressionTier) {\n // Re-compress with new tier\n pattern.embedding = await applyTieredCompression(pattern.embedding, newTier);\n pattern.compressionTier = newTier;\n recompressed++;\n }\n }\n\n return { recompressed };\n}\n\n/**\n * Get compression tier distribution stats\n */\nfunction getCompressionStats(): {\n tierDistribution: { hot: number; warm: number; cool: number; cold: number; archive: number };\n totalPatterns: number;\n totalAccesses: number;\n memorySavings: string;\n} {\n const tierDistribution = { hot: 0, warm: 0, cool: 0, cold: 0, archive: 0 };\n let totalUncompressedSize = 0;\n let totalCompressedSize = 0;\n\n for (const pattern of patternStore.values()) {\n const embeddingSize = pattern.embedding.length;\n totalUncompressedSize += embeddingSize * 4; // float32\n\n switch (pattern.compressionTier) {\n case 'none':\n tierDistribution.hot++;\n totalCompressedSize += embeddingSize * 4;\n break;\n case 'half':\n tierDistribution.warm++;\n totalCompressedSize += embeddingSize * 2;\n break;\n case 'pq8':\n tierDistribution.cool++;\n totalCompressedSize += embeddingSize * 0.5;\n break;\n case 'pq4':\n tierDistribution.cold++;\n totalCompressedSize += embeddingSize * 0.25;\n break;\n case 'binary':\n tierDistribution.archive++;\n totalCompressedSize += embeddingSize / 8;\n break;\n }\n }\n\n const memorySavings = totalUncompressedSize > 0\n ? ((1 - totalCompressedSize / totalUncompressedSize) * 100).toFixed(1) + '%'\n : '0%';\n\n return {\n tierDistribution,\n totalPatterns: patternStore.size,\n totalAccesses: totalPatternAccesses,\n memorySavings\n };\n}\n\n// ============================================================================\n// Multi-Algorithm Learning Engine (ruvector@0.1.69+)\n// 9 specialized RL algorithms for different task types\n// ============================================================================\n\n/**\n * Algorithm configuration per task type\n * Based on ruvector@0.1.69 multi-algorithm learning engine\n */\nconst ALGORITHM_CONFIG: Record<string, {\n algorithm: 'double-q' | 'sarsa' | 'actor-critic' | 'ppo' | 'decision-transformer' | 'td-lambda' | 'q-learning' | 'reinforce' | 'a2c';\n reason: string;\n}> = {\n 'agent-routing': { algorithm: 'double-q', reason: 'Reduces overestimation bias in agent selection' },\n 'error-avoidance': { algorithm: 'sarsa', reason: 'Conservative on-policy learning avoids risky actions' },\n 'confidence-scoring': { algorithm: 'actor-critic', reason: 'Continuous 0-1 scores with learned variance' },\n 'context-ranking': { algorithm: 'ppo', reason: 'Stable preference learning for context relevance' },\n 'trajectory-learning': { algorithm: 'decision-transformer', reason: 'Sequence pattern recognition across sessions' },\n 'memory-recall': { algorithm: 'td-lambda', reason: 'Better credit assignment for long-term memory' },\n 'pattern-matching': { algorithm: 'q-learning', reason: 'Fast value-based matching for known patterns' },\n 'exploration': { algorithm: 'reinforce', reason: 'Policy gradient for novel task exploration' },\n 'multi-agent': { algorithm: 'a2c', reason: 'Advantage estimation for multi-agent coordination' },\n};\n\n// Multi-algorithm learning engine (lazy loaded from ruvector@0.1.69)\nlet multiAlgorithmEngine: any = null;\n\n/**\n * Get or create the multi-algorithm learning engine\n */\nasync function getMultiAlgorithmEngine(): Promise<any> {\n if (multiAlgorithmEngine) return multiAlgorithmEngine;\n\n try {\n const ruvector: any = await import('ruvector');\n // Try new multi-algorithm API (ruvector@0.1.69+)\n if (ruvector.MultiAlgorithmLearning || ruvector.createMultiAlgorithmEngine) {\n const createEngine = ruvector.createMultiAlgorithmEngine || ruvector.MultiAlgorithmLearning;\n multiAlgorithmEngine = typeof createEngine === 'function'\n ? createEngine({ algorithms: Object.values(ALGORITHM_CONFIG).map(c => c.algorithm) })\n : new createEngine({ algorithms: Object.values(ALGORITHM_CONFIG).map(c => c.algorithm) });\n console.log('[IntelligenceBridge] Multi-algorithm learning engine initialized (9 algorithms)');\n return multiAlgorithmEngine;\n }\n // Fallback: use IntelligenceEngine with learning plugins\n if (ruvector.IntelligenceEngine) {\n multiAlgorithmEngine = new ruvector.IntelligenceEngine();\n return multiAlgorithmEngine;\n }\n } catch (error) {\n console.warn('[IntelligenceBridge] Multi-algorithm engine not available:', error);\n }\n return null;\n}\n\n/**\n * Get the recommended algorithm for a task type\n */\nexport function getAlgorithmForTask(taskType: string): { algorithm: string; reason: string } {\n const config = ALGORITHM_CONFIG[taskType];\n if (config) return config;\n\n // Default to double-q for unknown task types\n return { algorithm: 'double-q', reason: 'Default algorithm for unknown task types' };\n}\n\n/**\n * Learn from an episode using the appropriate algorithm\n */\nexport async function learnFromEpisode(\n taskType: string,\n state: string,\n action: string,\n reward: number,\n nextState: string,\n done: boolean\n): Promise<{ algorithm: string; learned: boolean; qValue?: number }> {\n const engine = await getMultiAlgorithmEngine();\n const { algorithm } = getAlgorithmForTask(taskType);\n\n if (engine?.learnEpisode) {\n const result = await engine.learnEpisode({\n algorithm,\n state,\n action,\n reward,\n nextState,\n done\n });\n return { algorithm, learned: true, qValue: result?.qValue };\n }\n\n // Fallback: record for later batch learning\n const store = getStore();\n if ((store as any).recordOperation) {\n (store as any).recordOperation('learn_episode', { taskType, algorithm, reward });\n }\n\n return { algorithm, learned: false };\n}\n\n/**\n * Get Q-value or policy probability for an action\n */\nexport async function getActionValue(\n taskType: string,\n state: string,\n action: string\n): Promise<{ algorithm: string; value: number; confidence: number }> {\n const engine = await getMultiAlgorithmEngine();\n const { algorithm } = getAlgorithmForTask(taskType);\n\n if (engine?.getActionValue) {\n const result = await engine.getActionValue({ algorithm, state, action });\n return { algorithm, value: result?.value || 0.5, confidence: result?.confidence || 0.5 };\n }\n\n return { algorithm, value: 0.5, confidence: 0.5 };\n}\n\n/**\n * Get multi-algorithm learning stats\n */\nexport async function getMultiAlgorithmStats(): Promise<{\n enabled: boolean;\n algorithms: string[];\n episodesPerAlgorithm: Record<string, number>;\n avgRewardPerAlgorithm: Record<string, number>;\n}> {\n const engine = await getMultiAlgorithmEngine();\n\n if (engine?.getStats) {\n const stats = engine.getStats();\n return {\n enabled: true,\n algorithms: Object.keys(ALGORITHM_CONFIG).map(k => ALGORITHM_CONFIG[k].algorithm),\n episodesPerAlgorithm: stats.episodesPerAlgorithm || {},\n avgRewardPerAlgorithm: stats.avgRewardPerAlgorithm || {},\n };\n }\n\n return {\n enabled: false,\n algorithms: [],\n episodesPerAlgorithm: {},\n avgRewardPerAlgorithm: {},\n };\n}\n\n/**\n * Get or create the RuVectorIntelligence singleton\n */\nexport async function getIntelligence(): Promise<RuVectorIntelligence> {\n if (intelligenceInstance) {\n return intelligenceInstance;\n }\n\n if (!initPromise) {\n initPromise = initializeIntelligence();\n }\n\n await initPromise;\n return intelligenceInstance!;\n}\n\n/**\n * Initialize the intelligence layer with optimal settings\n */\nasync function initializeIntelligence(): Promise<void> {\n try {\n // Use fast preset with consistent dimensions\n // SONA requires embeddingDim == hiddenDim\n intelligenceInstance = createIntelligenceLayer({\n ...IntelligencePresets.fast,\n hiddenDim: INTELLIGENCE_DIM,\n embeddingDim: INTELLIGENCE_DIM, // Must match hiddenDim for SONA\n enableSona: true,\n enableTrajectories: true,\n enableHnsw: false, // Disable HNSW for now (API compatibility issue)\n });\n\n // Register common agent types with correct dimension\n const agents = [\n 'coder', 'researcher', 'analyst', 'optimizer', 'coordinator',\n 'typescript-developer', 'rust-developer', 'python-developer',\n 'test-engineer', 'documentation-specialist', 'security-specialist',\n 'frontend-developer', 'backend-developer', 'devops-engineer'\n ];\n\n for (const agent of agents) {\n const embedding = simpleEmbed(`agent ${agent} specialist expert`, INTELLIGENCE_DIM);\n await intelligenceInstance.registerAgent(agent, embedding);\n }\n\n console.log('[IntelligenceBridge] RuVector intelligence layer initialized');\n console.log('[IntelligenceBridge] Features: Micro-LoRA, MoE Attention');\n } catch (error) {\n console.warn('[IntelligenceBridge] Failed to initialize full intelligence, using fallback:', error);\n // Create with minimal config if packages aren't available\n intelligenceInstance = createIntelligenceLayer({\n hiddenDim: INTELLIGENCE_DIM,\n embeddingDim: INTELLIGENCE_DIM,\n enableSona: false,\n enableHnsw: false,\n });\n }\n}\n\n/**\n * Route a task using SONA + MoE Attention + HNSW\n *\n * This replaces the simple keyword-based routing with:\n * 1. HNSW for O(log n) candidate retrieval\n * 2. Micro-LoRA transformation (~0.05ms)\n * 3. MoE attention-based ranking\n */\nexport async function routeTaskIntelligent(\n task: string,\n context?: {\n file?: string;\n recentFiles?: string[];\n errorContext?: string;\n }\n): Promise<{\n agent: string;\n confidence: number;\n routingResults: AgentRoutingResult[];\n latencyMs: number;\n usedFeatures: string[];\n}> {\n const startTime = performance.now();\n const intelligence = await getIntelligence();\n const usedFeatures: string[] = [];\n\n // Build context string\n let contextString = task;\n if (context?.file) {\n contextString += ` [file: ${context.file}]`;\n }\n if (context?.errorContext) {\n contextString += ` [error: ${context.errorContext}]`;\n }\n\n // Get task embedding with consistent dimension\n const embedding = simpleEmbed(contextString, INTELLIGENCE_DIM);\n usedFeatures.push('sona-embedding');\n\n // Route using full intelligence stack\n const routingResults = await intelligence.routeTask(embedding);\n usedFeatures.push('hnsw-search', 'moe-attention');\n\n // Select best agent\n const bestResult = routingResults[0] || {\n agentId: 'coder',\n confidence: 0.5,\n attentionWeights: new Float32Array(0),\n latencyMs: 0,\n usedHnsw: false,\n usedSona: false,\n };\n\n // Track access for any pattern results (for tiered compression)\n for (const result of routingResults) {\n if (result.agentId.startsWith('pattern-')) {\n const pattern = patternStore.get(result.agentId);\n if (pattern) {\n pattern.accessCount++;\n pattern.lastAccessed = Date.now();\n totalPatternAccesses++;\n }\n }\n }\n\n const latencyMs = performance.now() - startTime;\n\n // Record routing in SQLite for persistence\n const store = getStore();\n await store.recordRouting(\n task,\n bestResult.agentId,\n Math.min(0.95, bestResult.confidence),\n Math.round(latencyMs)\n );\n\n return {\n agent: bestResult.agentId,\n confidence: Math.min(0.95, bestResult.confidence),\n routingResults,\n latencyMs,\n usedFeatures,\n };\n}\n\n/**\n * Begin a trajectory for learning from task execution\n *\n * Trajectories track:\n * - Task context and embeddings\n * - Agent actions and decisions\n * - Attention patterns at each step\n * - Final outcomes for reinforcement\n */\nexport async function beginTaskTrajectory(\n task: string,\n agent: string\n): Promise<{ trajectoryId: number; success: boolean; error?: string }> {\n const intelligence = await getIntelligence();\n const store = getStore();\n\n // Get task embedding\n const embedding = simpleEmbed(task);\n\n // Start trajectory in SONA\n const result = intelligence.beginTrajectory(task, embedding);\n\n if (!result.success || result.value === undefined) {\n return {\n trajectoryId: -1,\n success: false,\n error: result.error || 'Failed to begin trajectory',\n };\n }\n\n const trajectoryId = result.value;\n\n // Persist to SQLite\n const dbId = await store.startTrajectory(task, agent);\n\n // Track metadata in memory (for fast access)\n activeTrajectories.set(trajectoryId, {\n taskDescription: task,\n startTime: Date.now(),\n agent,\n steps: 0,\n dbId,\n });\n\n return { trajectoryId, success: true };\n}\n\n/**\n * Record a step in the trajectory\n */\nexport async function recordTrajectoryStep(\n trajectoryId: number,\n action: string,\n reward: number,\n context?: {\n file?: string;\n errorFixed?: boolean;\n testPassed?: boolean;\n }\n): Promise<void> {\n const intelligence = await getIntelligence();\n const store = getStore();\n const meta = activeTrajectories.get(trajectoryId);\n\n if (meta) {\n meta.steps++;\n\n // Persist step to SQLite\n await store.addTrajectoryStep(meta.dbId);\n\n // Generate activations from context\n const activations = new Array(256).fill(0).map(() => Math.random() * 0.1);\n\n // Attention weights (8 heads)\n const attentionWeights = new Array(8).fill(0.125);\n\n intelligence.addTrajectoryStep(\n trajectoryId,\n action,\n reward,\n activations,\n attentionWeights\n );\n }\n}\n\n/**\n * End a trajectory and get learning outcome\n */\nexport async function endTaskTrajectory(\n trajectoryId: number,\n success: boolean,\n quality: number = 0.8\n): Promise<LearningOutcome | null> {\n const intelligence = await getIntelligence();\n const store = getStore();\n const meta = activeTrajectories.get(trajectoryId);\n\n if (!meta) {\n return null;\n }\n\n // Persist to SQLite\n const outcome_type = success ? 'success' : 'failure';\n await store.endTrajectory(meta.dbId, outcome_type, { quality, steps: meta.steps });\n\n // End trajectory and trigger learning\n const outcome = intelligence.endTrajectory(trajectoryId, success, quality);\n\n // Clean up\n activeTrajectories.delete(trajectoryId);\n\n return outcome;\n}\n\n/**\n * Store a pattern by registering it as an agent-like entity\n * Now with tiered TensorCompress for memory efficiency (v2.0.1-alpha.24+)\n */\nexport async function storePattern(\n task: string,\n resolution: string,\n reward: number\n): Promise<void> {\n const intelligence = await getIntelligence();\n\n // Get embedding for the task\n const embedding = simpleEmbed(`${task} ${resolution}`);\n\n // Register as a pattern (using agent registration for storage)\n const patternId = `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n await intelligence.registerAgent(patternId, embedding, {\n task,\n resolution,\n reward,\n timestamp: new Date().toISOString(),\n });\n\n // Store in local pattern cache with compression tracking\n // New patterns start as \"hot\" (no compression) since they're likely to be accessed soon\n const now = Date.now();\n const compressedPattern: CompressedPattern = {\n id: patternId,\n embedding: embedding,\n metadata: { task, resolution, reward },\n accessCount: 1,\n lastAccessed: now,\n createdAt: now,\n compressionTier: 'none' // New patterns are hot\n };\n\n patternStore.set(patternId, compressedPattern);\n totalPatternAccesses++;\n\n // Trigger background recompression (non-blocking)\n recompressPatterns().catch(() => {});\n}\n\n/**\n * Find similar patterns using routing\n * Tracks access for tiered compression (v2.0.1-alpha.24+)\n */\nexport async function findSimilarPatterns(\n task: string,\n topK: number = 5\n): Promise<Array<{\n task: string;\n resolution: string;\n reward: number;\n similarity: number;\n}>> {\n const intelligence = await getIntelligence();\n\n // Get query embedding\n const embedding = simpleEmbed(task);\n\n // Search using routing (which uses HNSW internally)\n const results = await intelligence.routeTask(embedding, undefined, topK);\n\n // Filter for pattern results (those with pattern- prefix)\n const patternResults = results\n .filter(r => r.agentId.startsWith('pattern-'))\n .map(r => {\n // Track access for compression tiering\n const pattern = patternStore.get(r.agentId);\n if (pattern) {\n pattern.accessCount++;\n pattern.lastAccessed = Date.now();\n totalPatternAccesses++;\n }\n\n return {\n task: task,\n resolution: r.agentId,\n reward: r.confidence,\n similarity: r.confidence,\n };\n });\n\n // Trigger background recompression (non-blocking)\n recompressPatterns().catch(() => {});\n\n return patternResults;\n}\n\n/**\n * Get intelligence stats for monitoring\n * Includes tiered compression stats (v2.0.1-alpha.24+)\n * Includes multi-algorithm learning stats (v2.0.1-alpha.25+)\n */\nexport async function getIntelligenceStats(): Promise<{\n initialized: boolean;\n features: string[];\n trajectoryCount: number;\n activeTrajectories: number;\n learningEnabled: boolean;\n persistedStats?: {\n trajectories: number;\n routings: number;\n patterns: number;\n operations: number;\n };\n compressionStats?: {\n tierDistribution: { hot: number; warm: number; cool: number; cold: number; archive: number };\n totalPatterns: number;\n totalAccesses: number;\n memorySavings: string;\n };\n multiAlgorithmStats?: {\n enabled: boolean;\n algorithms: string[];\n episodesPerAlgorithm: Record<string, number>;\n avgRewardPerAlgorithm: Record<string, number>;\n };\n}> {\n const store = getStore();\n const persistedStats = await store.getSummary();\n const compressionStats = getCompressionStats();\n const multiAlgorithmStats = await getMultiAlgorithmStats();\n\n if (!intelligenceInstance) {\n return {\n initialized: false,\n features: [],\n trajectoryCount: persistedStats.trajectories,\n activeTrajectories: 0,\n learningEnabled: false,\n persistedStats,\n compressionStats,\n multiAlgorithmStats,\n };\n }\n\n const stats = intelligenceInstance.getStats();\n\n return {\n initialized: true,\n features: ['sona', 'micro-lora', 'hnsw', 'moe-attention', 'tensor-compress', 'multi-algorithm-rl'],\n trajectoryCount: persistedStats.trajectories || stats.totalTrajectories || 0,\n activeTrajectories: activeTrajectories.size,\n learningEnabled: intelligenceInstance.isEnabled(),\n persistedStats,\n compressionStats,\n multiAlgorithmStats,\n };\n}\n\n/**\n * Force a learning cycle (useful for batch learning)\n */\nexport async function forceLearningCycle(): Promise<string> {\n const intelligence = await getIntelligence();\n return intelligence.forceLearning();\n}\n\n/**\n * Compute attention-weighted similarity for advanced routing\n */\nexport async function computeAttentionSimilarity(\n query: Float32Array,\n candidates: Float32Array[]\n): Promise<number[]> {\n const intelligence = await getIntelligence();\n\n // Use async attention for ranking\n const result = await intelligence.computeAttentionAsync(query, candidates, candidates);\n\n return Array.from(result);\n}\n\n// ============================================================================\n// Parallel Intelligence (ruvector@0.1.62+)\n// ============================================================================\n\n// Lazy load ruvector for parallel features\nlet ruvectorModule: any = null;\nlet parallelEngine: any = null;\nlet episodeQueue: Array<{\n state: string;\n action: string;\n reward: number;\n nextState: string;\n done: boolean;\n}> = [];\n\n/**\n * Get the parallel intelligence engine from ruvector\n */\nasync function getParallelEngine(): Promise<any> {\n if (parallelEngine) return parallelEngine;\n\n try {\n ruvectorModule = await import('ruvector');\n if (ruvectorModule.IntelligenceEngine) {\n parallelEngine = new ruvectorModule.IntelligenceEngine({ enableOnnx: true });\n console.log('[IntelligenceBridge] Parallel engine initialized (7 workers)');\n }\n return parallelEngine;\n } catch (error) {\n console.warn('[IntelligenceBridge] Parallel engine not available:', error);\n return null;\n }\n}\n\n/**\n * Queue an episode for batch Q-learning (3-4x faster)\n * Episodes are batched and processed in parallel\n */\nexport async function queueEpisode(episode: {\n state: string;\n action: string;\n reward: number;\n nextState: string;\n done: boolean;\n}): Promise<void> {\n const engine = await getParallelEngine();\n if (engine?.queueEpisode) {\n engine.queueEpisode(episode);\n } else {\n // Fallback: queue locally\n episodeQueue.push(episode);\n }\n}\n\n/**\n * Flush queued episodes for batch processing\n * Processes in parallel with worker threads\n */\nexport async function flushEpisodeBatch(): Promise<{\n processed: number;\n parallelEnabled: boolean;\n}> {\n const engine = await getParallelEngine();\n if (engine?.flushEpisodeBatch) {\n await engine.flushEpisodeBatch();\n const stats = engine.getStats();\n return {\n processed: stats.totalEpisodes || 0,\n parallelEnabled: stats.parallelEnabled || false,\n };\n }\n\n // Fallback: process locally\n const processed = episodeQueue.length;\n episodeQueue = [];\n return { processed, parallelEnabled: false };\n}\n\n/**\n * Match patterns in parallel across multiple files\n * Provides 3-4x faster pretrain\n */\nexport async function matchPatternsParallel(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; patterns: string[]; similarity: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.matchPatternsParallel) {\n return engine.matchPatternsParallel(files);\n }\n\n // Fallback: sequential matching with embeddings\n const service = getEmbeddingServiceInstance();\n const results: Array<{ path: string; patterns: string[]; similarity: number }> = [];\n\n for (const file of files) {\n const embedding = await service.embed(file.content.slice(0, 1000));\n results.push({\n path: file.path,\n patterns: detectPatterns(file.content),\n similarity: 0.5,\n });\n }\n\n return results;\n}\n\n/**\n * Index memories in background (non-blocking hooks)\n */\nexport async function indexMemoriesBackground(\n memories: Array<{ id: string; text: string; metadata?: Record<string, any> }>\n): Promise<{ queued: number; processing: boolean }> {\n const engine = await getParallelEngine();\n\n if (engine?.indexMemoriesBackground) {\n return engine.indexMemoriesBackground(memories);\n }\n\n // Fallback: queue for next batch\n const service = getEmbeddingServiceInstance();\n // Non-blocking: just queue, don't await\n Promise.all(memories.map(m => service.embed(m.text))).catch(() => {});\n\n return { queued: memories.length, processing: true };\n}\n\n/**\n * Parallel similarity search with sharding\n */\nexport async function searchParallel(\n query: string,\n topK: number = 10\n): Promise<Array<{ id: string; text: string; similarity: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.searchParallel) {\n return engine.searchParallel(query, topK);\n }\n\n // Fallback: use EmbeddingService semantic search\n const service = getEmbeddingServiceInstance();\n try {\n const results = await service.semanticSearch(query, topK);\n return results.map(r => ({\n id: String(r.index),\n text: r.text,\n similarity: r.similarity,\n }));\n } catch {\n return [];\n }\n}\n\n/**\n * Analyze multiple files in parallel for routing\n */\nexport async function analyzeFilesParallel(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; agent: string; confidence: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.analyzeFilesParallel) {\n return engine.analyzeFilesParallel(files);\n }\n\n // Fallback: parallel with Promise.all\n const results = await Promise.all(\n files.map(async (file) => {\n const routing = await routeTaskIntelligent(`analyze ${file.path}`, { file: file.path });\n return {\n path: file.path,\n agent: routing.agent,\n confidence: routing.confidence,\n };\n })\n );\n\n return results;\n}\n\n/**\n * Analyze git commits in parallel for co-edit detection\n */\nexport async function analyzeCommitsParallel(\n commits: Array<{ hash: string; message: string; files: string[] }>\n): Promise<Array<{ hash: string; coEditGroups: string[][]; patterns: string[] }>> {\n const engine = await getParallelEngine();\n\n if (engine?.analyzeCommitsParallel) {\n return engine.analyzeCommitsParallel(commits);\n }\n\n // Fallback: detect co-edit patterns from file groups\n return commits.map(commit => ({\n hash: commit.hash,\n coEditGroups: [commit.files], // Simple: treat all files as one group\n patterns: detectCommitPatterns(commit.message),\n }));\n}\n\n/**\n * Get parallel stats\n */\nexport async function getParallelStats(): Promise<{\n parallelEnabled: boolean;\n parallelWorkers: number;\n parallelBusy: number;\n parallelQueued: number;\n}> {\n const engine = await getParallelEngine();\n\n if (engine?.getStats) {\n const stats = engine.getStats();\n return {\n parallelEnabled: stats.parallelEnabled || false,\n parallelWorkers: stats.parallelWorkers || 0,\n parallelBusy: stats.parallelBusy || 0,\n parallelQueued: stats.parallelQueued || 0,\n };\n }\n\n return {\n parallelEnabled: false,\n parallelWorkers: 0,\n parallelBusy: 0,\n parallelQueued: 0,\n };\n}\n\n// Helper: detect patterns in file content\nfunction detectPatterns(content: string): string[] {\n const patterns: string[] = [];\n if (content.includes('async')) patterns.push('async-code');\n if (content.includes('test') || content.includes('describe')) patterns.push('test-file');\n if (content.includes('class')) patterns.push('oop');\n if (content.includes('import') || content.includes('export')) patterns.push('module');\n if (content.includes('interface') || content.includes('type ')) patterns.push('typescript');\n return patterns;\n}\n\n// Helper: detect patterns in commit messages\nfunction detectCommitPatterns(message: string): string[] {\n const patterns: string[] = [];\n const lower = message.toLowerCase();\n if (lower.includes('fix')) patterns.push('bugfix');\n if (lower.includes('feat') || lower.includes('add')) patterns.push('feature');\n if (lower.includes('refactor')) patterns.push('refactor');\n if (lower.includes('test')) patterns.push('testing');\n if (lower.includes('doc')) patterns.push('documentation');\n return patterns;\n}\n\n// ============================================================================\n// Extended Worker Pool (ruvector@0.1.63+)\n// ============================================================================\n\nlet extendedWorkerPool: any = null;\n\n/**\n * Get the extended worker pool for hook operations\n */\nasync function getExtendedWorkerPool(): Promise<any> {\n if (extendedWorkerPool) return extendedWorkerPool;\n\n try {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n if (ruvectorModule.ExtendedWorkerPool) {\n extendedWorkerPool = new ruvectorModule.ExtendedWorkerPool();\n await extendedWorkerPool.init?.();\n console.log('[IntelligenceBridge] Extended worker pool initialized');\n }\n return extendedWorkerPool;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Speculatively pre-embed files that are likely to be accessed\n * Call in post-edit hook for related files\n */\nexport async function speculativeEmbed(\n files: string[]\n): Promise<{ queued: number }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.speculativeEmbed) {\n return pool.speculativeEmbed(files);\n }\n return { queued: 0 };\n}\n\n/**\n * Analyze AST of multiple files in parallel\n * For pre-edit and route hooks\n */\nexport async function analyzeAST(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; functions: string[]; imports: string[]; exports: string[] }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.analyzeAST) {\n return pool.analyzeAST(files);\n }\n // Fallback: simple regex-based extraction\n return files.map(f => ({\n path: f.path,\n functions: (f.content.match(/function\\s+(\\w+)/g) || []).map(m => m.replace('function ', '')),\n imports: (f.content.match(/import\\s+.*from\\s+['\"]([^'\"]+)['\"]/g) || []),\n exports: (f.content.match(/export\\s+(default\\s+)?(function|class|const)\\s+(\\w+)/g) || []),\n }));\n}\n\n/**\n * Analyze code complexity metrics in parallel\n * For session-end hook to track quality\n */\nexport async function analyzeComplexity(\n files: string[]\n): Promise<Array<{ path: string; cyclomatic: number; cognitive: number; lines: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.analyzeComplexity) {\n return pool.analyzeComplexity(files);\n }\n return files.map(f => ({ path: f, cyclomatic: 0, cognitive: 0, lines: 0 }));\n}\n\n/**\n * Build dependency graph from import statements\n * For session-start hook context\n */\nexport async function buildDependencyGraph(\n files: string[]\n): Promise<{ nodes: string[]; edges: Array<{ from: string; to: string }> }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.buildDependencyGraph) {\n return pool.buildDependencyGraph(files);\n }\n return { nodes: files, edges: [] };\n}\n\n/**\n * Parallel security scan (SAST)\n * For pre-command hook before commits\n */\nexport async function securityScan(\n files: string[]\n): Promise<Array<{ path: string; severity: string; message: string; line: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.securityScan) {\n return pool.securityScan(files);\n }\n return [];\n}\n\n/**\n * RAG retrieval with parallel chunk processing\n * For recall hook\n */\nexport async function ragRetrieve(\n query: string,\n chunks: Array<{ id: string; text: string }>,\n topK: number = 5\n): Promise<Array<{ id: string; text: string; score: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.ragRetrieve) {\n return pool.ragRetrieve(query, chunks, topK);\n }\n // Fallback: use embedding service\n const service = getEmbeddingServiceInstance();\n await service.buildCorpus(chunks.map(c => c.text));\n const results = await service.semanticSearch(query, topK);\n return results.map((r, i) => ({\n id: chunks[r.index]?.id || String(r.index),\n text: r.text,\n score: r.similarity,\n }));\n}\n\n/**\n * Rank context by relevance\n * For suggest-context hook\n */\nexport async function rankContext(\n query: string,\n contexts: Array<{ id: string; content: string }>\n): Promise<Array<{ id: string; relevance: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.rankContext) {\n return pool.rankContext(query, contexts);\n }\n // Fallback: use similarity\n const service = getEmbeddingServiceInstance();\n const queryEmb = await service.embed(query);\n const results: Array<{ id: string; relevance: number }> = [];\n for (const ctx of contexts) {\n const ctxEmb = await service.embed(ctx.content.slice(0, 500));\n const relevance = service.cosineSimilarity(queryEmb, ctxEmb);\n results.push({ id: ctx.id, relevance });\n }\n return results.sort((a, b) => b.relevance - a.relevance);\n}\n\n/**\n * Semantic deduplication\n * For remember hook to avoid storing duplicates\n */\nexport async function deduplicate(\n texts: string[],\n threshold: number = 0.9\n): Promise<{ unique: string[]; duplicateGroups: number[][] }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.deduplicate) {\n return pool.deduplicate(texts, threshold);\n }\n // Fallback: use embedding service\n const service = getEmbeddingServiceInstance();\n const duplicates = await service.findDuplicates(texts, threshold);\n const duplicateIndices = new Set(duplicates.flatMap(d => d.indices.slice(1)));\n const unique = texts.filter((_, i) => !duplicateIndices.has(i));\n return {\n unique,\n duplicateGroups: duplicates.map(d => d.indices),\n };\n}\n\n/**\n * Parallel git blame analysis\n * For co-edit hook\n */\nexport async function gitBlame(\n files: string[]\n): Promise<Array<{ path: string; authors: Array<{ name: string; lines: number }> }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.gitBlame) {\n return pool.gitBlame(files);\n }\n return files.map(f => ({ path: f, authors: [] }));\n}\n\n/**\n * Code churn metrics for routing decisions\n * For route hook to prioritize high-churn files\n */\nexport async function gitChurn(\n patterns: string[],\n since: string = '30 days ago'\n): Promise<Array<{ path: string; commits: number; additions: number; deletions: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.gitChurn) {\n return pool.gitChurn(patterns, since);\n }\n return [];\n}\n\n/**\n * Get attention mechanism for specific use case\n */\nexport async function getAttentionForUseCase(\n useCase: 'pattern-matching' | 'agent-routing' | 'code-structure' | 'context-summary' | 'multi-agent'\n): Promise<{ type: string; instance: any }> {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n\n const attentionMap: Record<string, string> = {\n 'pattern-matching': 'MultiHeadAttention',\n 'agent-routing': 'MoEAttention',\n 'code-structure': 'GraphRoPeAttention',\n 'context-summary': 'LocalGlobalAttention',\n 'multi-agent': 'MoEAttention',\n };\n\n const type = attentionMap[useCase] || 'MultiHeadAttention';\n const AttentionClass = ruvectorModule[type];\n\n if (AttentionClass) {\n return { type, instance: new AttentionClass(384, 4) };\n }\n\n return { type: 'fallback', instance: null };\n}\n\n/**\n * Parallel attention compute across multiple queries\n */\nexport async function parallelAttentionCompute(\n queries: Float32Array[],\n keys: Float32Array[],\n values: Float32Array[],\n type: 'hyperbolic' | 'flash' | 'moe' = 'moe'\n): Promise<Float32Array[]> {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n\n if (ruvectorModule.parallelAttentionCompute) {\n return ruvectorModule.parallelAttentionCompute(queries, keys, values, type);\n }\n\n return [];\n}\n\n/**\n * Get extended worker pool stats\n */\nexport async function getExtendedWorkerStats(): Promise<{\n initialized: boolean;\n operations: string[];\n}> {\n const pool = await getExtendedWorkerPool();\n if (pool) {\n return {\n initialized: true,\n operations: [\n 'speculativeEmbed', 'analyzeAST', 'analyzeComplexity', 'buildDependencyGraph',\n 'securityScan', 'ragRetrieve', 'rankContext', 'deduplicate', 'gitBlame', 'gitChurn'\n ],\n };\n }\n return { initialized: false, operations: [] };\n}\n\n// Export types\nexport type { AgentRoutingResult, Trajectory, LearningOutcome };\n"]}
1
+ {"version":3,"file":"intelligence-bridge.js","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/hooks/intelligence-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Intelligence Bridge - Connects hooks to RuVectorIntelligence layer\n *\n * This bridges the gap between hook tools and the full RuVector ecosystem:\n * - @ruvector/sona: Micro-LoRA, EWC++, ReasoningBank, Trajectories\n * - @ruvector/attention: MoE, Flash, Hyperbolic, Graph attention\n * - ruvector core: HNSW indexing (150x faster search)\n * - TensorCompress: Tiered compression based on access frequency (v2.0.1-alpha.24+)\n *\n * Persistence: SQLite-based storage for cross-platform compatibility\n */\n\nimport {\n RuVectorIntelligence,\n createIntelligenceLayer,\n IntelligencePresets,\n type AgentRoutingResult,\n type Trajectory,\n type LearningOutcome,\n} from '../../../../intelligence/index.js';\n\nimport { getIntelligenceStore, type IntelligenceStore } from '../../../../intelligence/IntelligenceStore.js';\nimport { getEmbeddingService, type EmbeddingService } from '../../../../intelligence/EmbeddingService.js';\n\n// Singleton instances\nlet intelligenceInstance: RuVectorIntelligence | null = null;\nlet storeInstance: IntelligenceStore | null = null;\nlet initPromise: Promise<void> | null = null;\n\n// TensorCompress for tiered pattern compression (lazy loaded)\nlet TensorCompress: any = null;\nlet tensorCompressInstance: any = null;\n\n// Pattern compression tracking\ninterface CompressedPattern {\n id: string;\n embedding: number[];\n metadata: Record<string, any>;\n accessCount: number;\n lastAccessed: number;\n createdAt: number;\n compressionTier: 'none' | 'half' | 'pq8' | 'pq4' | 'binary';\n}\n\nconst patternStore = new Map<string, CompressedPattern>();\nlet totalPatternAccesses = 0;\nlet lastRecompressionTime = 0;\nconst RECOMPRESSION_INTERVAL = 300000; // 5 minutes\n\n// Consistent dimension for SONA (must match hiddenDim = embeddingDim)\n// Using 128 for ultra-fast performance (~0.05ms per operation)\nconst INTELLIGENCE_DIM = 128;\n\n// Active trajectories in memory (for fast access, backed by SQLite)\nconst activeTrajectories = new Map<number, {\n taskDescription: string;\n startTime: number;\n agent: string;\n steps: number;\n dbId: number; // SQLite row ID\n}>();\n\n/**\n * Get the SQLite store singleton\n */\nexport function getStore(): IntelligenceStore {\n if (!storeInstance) {\n storeInstance = getIntelligenceStore();\n }\n return storeInstance;\n}\n\n// Get embedding service singleton\nlet embeddingServiceInstance: EmbeddingService | null = null;\n\nfunction getEmbeddingServiceInstance(): EmbeddingService {\n if (!embeddingServiceInstance) {\n embeddingServiceInstance = getEmbeddingService();\n }\n return embeddingServiceInstance;\n}\n\n// Simple embedding function (uses EmbeddingService with caching)\nfunction simpleEmbed(text: string, dim: number = INTELLIGENCE_DIM): number[] {\n const service = getEmbeddingServiceInstance();\n const embedding = service.simpleEmbed(text, dim);\n return Array.from(embedding);\n}\n\n// ============================================================================\n// TensorCompress Integration (v2.0.1-alpha.24+)\n// Tiered compression based on access frequency for memory efficiency\n// ============================================================================\n\n/**\n * Lazy load TensorCompress from ruvector\n */\nasync function getTensorCompress(): Promise<any> {\n if (tensorCompressInstance) return tensorCompressInstance;\n\n try {\n const ruvector = await import('ruvector');\n if (ruvector.TensorCompress) {\n TensorCompress = ruvector.TensorCompress;\n tensorCompressInstance = new TensorCompress();\n return tensorCompressInstance;\n }\n } catch {\n // TensorCompress not available\n }\n return null;\n}\n\n/**\n * Calculate access frequency for a pattern\n *\n * Compression Tiers:\n * | Data Type | Access Freq | Compression | Memory Savings |\n * |-----------------------|-------------|-------------|----------------|\n * | Hot patterns (recent) | >0.8 | none | 0% |\n * | Warm patterns | >0.4 | half | 50% |\n * | Cool patterns | >0.1 | pq8 | 87.5% |\n * | Cold patterns | >0.01 | pq4 | 93.75% |\n * | Archive | ≤0.01 | binary | 96.9% |\n */\nfunction calculateAccessFrequency(pattern: CompressedPattern): number {\n if (totalPatternAccesses === 0) return 1.0; // New pattern starts hot\n\n // Calculate base frequency from access count\n const accessRatio = pattern.accessCount / totalPatternAccesses;\n\n // Factor in recency (patterns used recently get a boost)\n const ageMs = Date.now() - pattern.lastAccessed;\n const recencyBoost = Math.exp(-ageMs / (24 * 60 * 60 * 1000)); // 24hr decay\n\n // Combine factors: 60% access ratio, 40% recency\n const frequency = accessRatio * 0.6 + recencyBoost * 0.4;\n\n return Math.min(1.0, Math.max(0, frequency));\n}\n\n/**\n * Get compression tier based on access frequency\n */\nfunction getCompressionTier(accessFreq: number): 'none' | 'half' | 'pq8' | 'pq4' | 'binary' {\n if (accessFreq > 0.8) return 'none'; // Hot: no compression (0% savings)\n if (accessFreq > 0.4) return 'half'; // Warm: 50% savings\n if (accessFreq > 0.1) return 'pq8'; // Cool: 87.5% savings\n if (accessFreq > 0.01) return 'pq4'; // Cold: 93.75% savings\n return 'binary'; // Archive: 96.9% savings\n}\n\n/**\n * Apply tiered compression to an embedding\n */\nasync function applyTieredCompression(\n embedding: number[],\n tier: 'none' | 'half' | 'pq8' | 'pq4' | 'binary'\n): Promise<number[]> {\n if (tier === 'none') return embedding;\n\n const compress = await getTensorCompress();\n if (!compress || !TensorCompress) return embedding;\n\n try {\n const config: Record<string, { levelType: string }> = {\n 'half': { levelType: 'half' },\n 'pq8': { levelType: 'pq8' },\n 'pq4': { levelType: 'pq4' },\n 'binary': { levelType: 'binary' }\n };\n\n const tierCompress = new TensorCompress(config[tier]);\n const compressedJson = tierCompress.compress(embedding);\n return tierCompress.decompress(compressedJson);\n } catch {\n return embedding;\n }\n}\n\n/**\n * Recompress patterns based on updated access frequencies\n * Runs periodically in background\n */\nasync function recompressPatterns(): Promise<{ recompressed: number }> {\n const now = Date.now();\n if (now - lastRecompressionTime < RECOMPRESSION_INTERVAL) {\n return { recompressed: 0 };\n }\n\n lastRecompressionTime = now;\n let recompressed = 0;\n\n for (const [id, pattern] of patternStore) {\n const accessFreq = calculateAccessFrequency(pattern);\n const newTier = getCompressionTier(accessFreq);\n\n if (newTier !== pattern.compressionTier) {\n // Re-compress with new tier\n pattern.embedding = await applyTieredCompression(pattern.embedding, newTier);\n pattern.compressionTier = newTier;\n recompressed++;\n }\n }\n\n return { recompressed };\n}\n\n/**\n * Get compression tier distribution stats\n */\nfunction getCompressionStats(): {\n tierDistribution: { hot: number; warm: number; cool: number; cold: number; archive: number };\n totalPatterns: number;\n totalAccesses: number;\n memorySavings: string;\n} {\n const tierDistribution = { hot: 0, warm: 0, cool: 0, cold: 0, archive: 0 };\n let totalUncompressedSize = 0;\n let totalCompressedSize = 0;\n\n for (const pattern of patternStore.values()) {\n const embeddingSize = pattern.embedding.length;\n totalUncompressedSize += embeddingSize * 4; // float32\n\n switch (pattern.compressionTier) {\n case 'none':\n tierDistribution.hot++;\n totalCompressedSize += embeddingSize * 4;\n break;\n case 'half':\n tierDistribution.warm++;\n totalCompressedSize += embeddingSize * 2;\n break;\n case 'pq8':\n tierDistribution.cool++;\n totalCompressedSize += embeddingSize * 0.5;\n break;\n case 'pq4':\n tierDistribution.cold++;\n totalCompressedSize += embeddingSize * 0.25;\n break;\n case 'binary':\n tierDistribution.archive++;\n totalCompressedSize += embeddingSize / 8;\n break;\n }\n }\n\n const memorySavings = totalUncompressedSize > 0\n ? ((1 - totalCompressedSize / totalUncompressedSize) * 100).toFixed(1) + '%'\n : '0%';\n\n return {\n tierDistribution,\n totalPatterns: patternStore.size,\n totalAccesses: totalPatternAccesses,\n memorySavings\n };\n}\n\n// ============================================================================\n// Multi-Algorithm Learning Engine (ruvector@0.1.69+)\n// 9 specialized RL algorithms for different task types\n// ============================================================================\n\n/**\n * Algorithm configuration per task type\n * Based on ruvector@0.1.69 multi-algorithm learning engine\n */\nconst ALGORITHM_CONFIG: Record<string, {\n algorithm: 'double-q' | 'sarsa' | 'actor-critic' | 'ppo' | 'decision-transformer' | 'td-lambda' | 'q-learning' | 'reinforce' | 'a2c';\n reason: string;\n}> = {\n 'agent-routing': { algorithm: 'double-q', reason: 'Reduces overestimation bias in agent selection' },\n 'error-avoidance': { algorithm: 'sarsa', reason: 'Conservative on-policy learning avoids risky actions' },\n 'confidence-scoring': { algorithm: 'actor-critic', reason: 'Continuous 0-1 scores with learned variance' },\n 'context-ranking': { algorithm: 'ppo', reason: 'Stable preference learning for context relevance' },\n 'trajectory-learning': { algorithm: 'decision-transformer', reason: 'Sequence pattern recognition across sessions' },\n 'memory-recall': { algorithm: 'td-lambda', reason: 'Better credit assignment for long-term memory' },\n 'pattern-matching': { algorithm: 'q-learning', reason: 'Fast value-based matching for known patterns' },\n 'exploration': { algorithm: 'reinforce', reason: 'Policy gradient for novel task exploration' },\n 'multi-agent': { algorithm: 'a2c', reason: 'Advantage estimation for multi-agent coordination' },\n};\n\n// Multi-algorithm learning engine (lazy loaded from ruvector@0.1.69)\nlet multiAlgorithmEngine: any = null;\n\n/**\n * Get or create the multi-algorithm learning engine\n */\nasync function getMultiAlgorithmEngine(): Promise<any> {\n if (multiAlgorithmEngine) return multiAlgorithmEngine;\n\n try {\n const ruvector: any = await import('ruvector');\n // Try new multi-algorithm API (ruvector@0.1.69+)\n if (ruvector.MultiAlgorithmLearning || ruvector.createMultiAlgorithmEngine) {\n const createEngine = ruvector.createMultiAlgorithmEngine || ruvector.MultiAlgorithmLearning;\n multiAlgorithmEngine = typeof createEngine === 'function'\n ? createEngine({ algorithms: Object.values(ALGORITHM_CONFIG).map(c => c.algorithm) })\n : new createEngine({ algorithms: Object.values(ALGORITHM_CONFIG).map(c => c.algorithm) });\n console.log('[IntelligenceBridge] Multi-algorithm learning engine initialized (9 algorithms)');\n return multiAlgorithmEngine;\n }\n // Fallback: use IntelligenceEngine with learning plugins\n if (ruvector.IntelligenceEngine) {\n multiAlgorithmEngine = new ruvector.IntelligenceEngine();\n return multiAlgorithmEngine;\n }\n } catch (error) {\n console.warn('[IntelligenceBridge] Multi-algorithm engine not available:', error);\n }\n return null;\n}\n\n/**\n * Get the recommended algorithm for a task type\n */\nexport function getAlgorithmForTask(taskType: string): { algorithm: string; reason: string } {\n const config = ALGORITHM_CONFIG[taskType];\n if (config) return config;\n\n // Default to double-q for unknown task types\n return { algorithm: 'double-q', reason: 'Default algorithm for unknown task types' };\n}\n\n/**\n * Learn from an episode using the appropriate algorithm\n */\nexport async function learnFromEpisode(\n taskType: string,\n state: string,\n action: string,\n reward: number,\n nextState: string,\n done: boolean\n): Promise<{ algorithm: string; learned: boolean; qValue?: number }> {\n const engine = await getMultiAlgorithmEngine();\n const { algorithm } = getAlgorithmForTask(taskType);\n\n if (engine?.learnEpisode) {\n const result = await engine.learnEpisode({\n algorithm,\n state,\n action,\n reward,\n nextState,\n done\n });\n return { algorithm, learned: true, qValue: result?.qValue };\n }\n\n // Fallback: record for later batch learning\n const store = getStore();\n if ((store as any).recordOperation) {\n (store as any).recordOperation('learn_episode', { taskType, algorithm, reward });\n }\n\n return { algorithm, learned: false };\n}\n\n/**\n * Get Q-value or policy probability for an action\n */\nexport async function getActionValue(\n taskType: string,\n state: string,\n action: string\n): Promise<{ algorithm: string; value: number; confidence: number }> {\n const engine = await getMultiAlgorithmEngine();\n const { algorithm } = getAlgorithmForTask(taskType);\n\n if (engine?.getActionValue) {\n const result = await engine.getActionValue({ algorithm, state, action });\n return { algorithm, value: result?.value || 0.5, confidence: result?.confidence || 0.5 };\n }\n\n return { algorithm, value: 0.5, confidence: 0.5 };\n}\n\n/**\n * Get multi-algorithm learning stats\n */\nexport async function getMultiAlgorithmStats(): Promise<{\n enabled: boolean;\n algorithms: string[];\n episodesPerAlgorithm: Record<string, number>;\n avgRewardPerAlgorithm: Record<string, number>;\n}> {\n const engine = await getMultiAlgorithmEngine();\n\n if (engine?.getStats) {\n const stats = engine.getStats();\n return {\n enabled: true,\n algorithms: Object.keys(ALGORITHM_CONFIG).map(k => ALGORITHM_CONFIG[k].algorithm),\n episodesPerAlgorithm: stats.episodesPerAlgorithm || {},\n avgRewardPerAlgorithm: stats.avgRewardPerAlgorithm || {},\n };\n }\n\n return {\n enabled: false,\n algorithms: [],\n episodesPerAlgorithm: {},\n avgRewardPerAlgorithm: {},\n };\n}\n\n/**\n * Get or create the RuVectorIntelligence singleton\n */\nexport async function getIntelligence(): Promise<RuVectorIntelligence> {\n if (intelligenceInstance) {\n return intelligenceInstance;\n }\n\n if (!initPromise) {\n initPromise = initializeIntelligence();\n }\n\n await initPromise;\n return intelligenceInstance!;\n}\n\n/**\n * Initialize the intelligence layer with optimal settings\n */\nasync function initializeIntelligence(): Promise<void> {\n try {\n // Use fast preset with consistent dimensions\n // SONA requires embeddingDim == hiddenDim\n intelligenceInstance = createIntelligenceLayer({\n ...IntelligencePresets.fast,\n hiddenDim: INTELLIGENCE_DIM,\n embeddingDim: INTELLIGENCE_DIM, // Must match hiddenDim for SONA\n enableSona: true,\n enableTrajectories: true,\n enableHnsw: false, // Disable HNSW for now (API compatibility issue)\n });\n\n // Register common agent types with correct dimension\n const agents = [\n 'coder', 'researcher', 'analyst', 'optimizer', 'coordinator',\n 'typescript-developer', 'rust-developer', 'python-developer',\n 'test-engineer', 'documentation-specialist', 'security-specialist',\n 'frontend-developer', 'backend-developer', 'devops-engineer'\n ];\n\n for (const agent of agents) {\n const embedding = simpleEmbed(`agent ${agent} specialist expert`, INTELLIGENCE_DIM);\n await intelligenceInstance.registerAgent(agent, embedding);\n }\n\n console.log('[IntelligenceBridge] RuVector intelligence layer initialized');\n console.log('[IntelligenceBridge] Features: Micro-LoRA, MoE Attention');\n } catch (error) {\n console.warn('[IntelligenceBridge] Failed to initialize full intelligence, using fallback:', error);\n // Create with minimal config if packages aren't available\n intelligenceInstance = createIntelligenceLayer({\n hiddenDim: INTELLIGENCE_DIM,\n embeddingDim: INTELLIGENCE_DIM,\n enableSona: false,\n enableHnsw: false,\n });\n }\n}\n\n/**\n * Route a task using SONA + MoE Attention + HNSW\n *\n * This replaces the simple keyword-based routing with:\n * 1. HNSW for O(log n) candidate retrieval\n * 2. Micro-LoRA transformation (~0.05ms)\n * 3. MoE attention-based ranking\n */\nexport async function routeTaskIntelligent(\n task: string,\n context?: {\n file?: string;\n recentFiles?: string[];\n errorContext?: string;\n }\n): Promise<{\n agent: string;\n confidence: number;\n routingResults: AgentRoutingResult[];\n latencyMs: number;\n usedFeatures: string[];\n}> {\n const startTime = performance.now();\n const intelligence = await getIntelligence();\n const usedFeatures: string[] = [];\n\n // Build context string\n let contextString = task;\n if (context?.file) {\n contextString += ` [file: ${context.file}]`;\n }\n if (context?.errorContext) {\n contextString += ` [error: ${context.errorContext}]`;\n }\n\n // Get task embedding with consistent dimension\n const embedding = simpleEmbed(contextString, INTELLIGENCE_DIM);\n usedFeatures.push('sona-embedding');\n\n // Route using full intelligence stack\n const routingResults = await intelligence.routeTask(embedding);\n usedFeatures.push('hnsw-search', 'moe-attention');\n\n // Select best agent\n const bestResult = routingResults[0] || {\n agentId: 'coder',\n confidence: 0.5,\n attentionWeights: new Float32Array(0),\n latencyMs: 0,\n usedHnsw: false,\n usedSona: false,\n };\n\n // Track access for any pattern results (for tiered compression)\n for (const result of routingResults) {\n if (result.agentId.startsWith('pattern-')) {\n const pattern = patternStore.get(result.agentId);\n if (pattern) {\n pattern.accessCount++;\n pattern.lastAccessed = Date.now();\n totalPatternAccesses++;\n }\n }\n }\n\n const latencyMs = performance.now() - startTime;\n\n // Record routing in SQLite for persistence\n const store = getStore();\n store.recordRouting(\n task,\n bestResult.agentId,\n Math.min(0.95, bestResult.confidence),\n Math.round(latencyMs)\n );\n\n return {\n agent: bestResult.agentId,\n confidence: Math.min(0.95, bestResult.confidence),\n routingResults,\n latencyMs,\n usedFeatures,\n };\n}\n\n/**\n * Begin a trajectory for learning from task execution\n *\n * Trajectories track:\n * - Task context and embeddings\n * - Agent actions and decisions\n * - Attention patterns at each step\n * - Final outcomes for reinforcement\n */\nexport async function beginTaskTrajectory(\n task: string,\n agent: string\n): Promise<{ trajectoryId: number; success: boolean; error?: string }> {\n const intelligence = await getIntelligence();\n const store = getStore();\n\n // Get task embedding\n const embedding = simpleEmbed(task);\n\n // Start trajectory in SONA\n const result = intelligence.beginTrajectory(task, embedding);\n\n if (!result.success || result.value === undefined) {\n return {\n trajectoryId: -1,\n success: false,\n error: result.error || 'Failed to begin trajectory',\n };\n }\n\n const trajectoryId = result.value;\n\n // Persist to SQLite\n const dbId = store.startTrajectory(task, agent);\n\n // Track metadata in memory (for fast access)\n activeTrajectories.set(trajectoryId, {\n taskDescription: task,\n startTime: Date.now(),\n agent,\n steps: 0,\n dbId,\n });\n\n return { trajectoryId, success: true };\n}\n\n/**\n * Record a step in the trajectory\n */\nexport async function recordTrajectoryStep(\n trajectoryId: number,\n action: string,\n reward: number,\n context?: {\n file?: string;\n errorFixed?: boolean;\n testPassed?: boolean;\n }\n): Promise<void> {\n const intelligence = await getIntelligence();\n const store = getStore();\n const meta = activeTrajectories.get(trajectoryId);\n\n if (meta) {\n meta.steps++;\n\n // Persist step to SQLite\n store.addTrajectoryStep(meta.dbId);\n\n // Generate activations from context\n const activations = new Array(256).fill(0).map(() => Math.random() * 0.1);\n\n // Attention weights (8 heads)\n const attentionWeights = new Array(8).fill(0.125);\n\n intelligence.addTrajectoryStep(\n trajectoryId,\n action,\n reward,\n activations,\n attentionWeights\n );\n }\n}\n\n/**\n * End a trajectory and get learning outcome\n */\nexport async function endTaskTrajectory(\n trajectoryId: number,\n success: boolean,\n quality: number = 0.8\n): Promise<LearningOutcome | null> {\n const intelligence = await getIntelligence();\n const store = getStore();\n const meta = activeTrajectories.get(trajectoryId);\n\n if (!meta) {\n return null;\n }\n\n // Persist to SQLite\n const outcome_type = success ? 'success' : 'failure';\n store.endTrajectory(meta.dbId, outcome_type, { quality, steps: meta.steps });\n\n // End trajectory and trigger learning\n const outcome = intelligence.endTrajectory(trajectoryId, success, quality);\n\n // Clean up\n activeTrajectories.delete(trajectoryId);\n\n return outcome;\n}\n\n/**\n * Store a pattern by registering it as an agent-like entity\n * Now with tiered TensorCompress for memory efficiency (v2.0.1-alpha.24+)\n */\nexport async function storePattern(\n task: string,\n resolution: string,\n reward: number\n): Promise<void> {\n const intelligence = await getIntelligence();\n\n // Get embedding for the task\n const embedding = simpleEmbed(`${task} ${resolution}`);\n\n // Register as a pattern (using agent registration for storage)\n const patternId = `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n await intelligence.registerAgent(patternId, embedding, {\n task,\n resolution,\n reward,\n timestamp: new Date().toISOString(),\n });\n\n // Store in local pattern cache with compression tracking\n // New patterns start as \"hot\" (no compression) since they're likely to be accessed soon\n const now = Date.now();\n const compressedPattern: CompressedPattern = {\n id: patternId,\n embedding: embedding,\n metadata: { task, resolution, reward },\n accessCount: 1,\n lastAccessed: now,\n createdAt: now,\n compressionTier: 'none' // New patterns are hot\n };\n\n patternStore.set(patternId, compressedPattern);\n totalPatternAccesses++;\n\n // Trigger background recompression (non-blocking)\n recompressPatterns().catch(() => {});\n}\n\n/**\n * Find similar patterns using routing\n * Tracks access for tiered compression (v2.0.1-alpha.24+)\n */\nexport async function findSimilarPatterns(\n task: string,\n topK: number = 5\n): Promise<Array<{\n task: string;\n resolution: string;\n reward: number;\n similarity: number;\n}>> {\n const intelligence = await getIntelligence();\n\n // Get query embedding\n const embedding = simpleEmbed(task);\n\n // Search using routing (which uses HNSW internally)\n const results = await intelligence.routeTask(embedding, undefined, topK);\n\n // Filter for pattern results (those with pattern- prefix)\n const patternResults = results\n .filter(r => r.agentId.startsWith('pattern-'))\n .map(r => {\n // Track access for compression tiering\n const pattern = patternStore.get(r.agentId);\n if (pattern) {\n pattern.accessCount++;\n pattern.lastAccessed = Date.now();\n totalPatternAccesses++;\n }\n\n return {\n task: task,\n resolution: r.agentId,\n reward: r.confidence,\n similarity: r.confidence,\n };\n });\n\n // Trigger background recompression (non-blocking)\n recompressPatterns().catch(() => {});\n\n return patternResults;\n}\n\n/**\n * Get intelligence stats for monitoring\n * Includes tiered compression stats (v2.0.1-alpha.24+)\n * Includes multi-algorithm learning stats (v2.0.1-alpha.25+)\n */\nexport async function getIntelligenceStats(): Promise<{\n initialized: boolean;\n features: string[];\n trajectoryCount: number;\n activeTrajectories: number;\n learningEnabled: boolean;\n persistedStats?: {\n trajectories: number;\n routings: number;\n patterns: number;\n operations: number;\n };\n compressionStats?: {\n tierDistribution: { hot: number; warm: number; cool: number; cold: number; archive: number };\n totalPatterns: number;\n totalAccesses: number;\n memorySavings: string;\n };\n multiAlgorithmStats?: {\n enabled: boolean;\n algorithms: string[];\n episodesPerAlgorithm: Record<string, number>;\n avgRewardPerAlgorithm: Record<string, number>;\n };\n}> {\n const store = getStore();\n const persistedStats = store.getSummary();\n const compressionStats = getCompressionStats();\n const multiAlgorithmStats = await getMultiAlgorithmStats();\n\n if (!intelligenceInstance) {\n return {\n initialized: false,\n features: [],\n trajectoryCount: persistedStats.trajectories,\n activeTrajectories: 0,\n learningEnabled: false,\n persistedStats,\n compressionStats,\n multiAlgorithmStats,\n };\n }\n\n const stats = intelligenceInstance.getStats();\n\n return {\n initialized: true,\n features: ['sona', 'micro-lora', 'hnsw', 'moe-attention', 'tensor-compress', 'multi-algorithm-rl'],\n trajectoryCount: persistedStats.trajectories || stats.totalTrajectories || 0,\n activeTrajectories: activeTrajectories.size,\n learningEnabled: intelligenceInstance.isEnabled(),\n persistedStats,\n compressionStats,\n multiAlgorithmStats,\n };\n}\n\n/**\n * Force a learning cycle (useful for batch learning)\n */\nexport async function forceLearningCycle(): Promise<string> {\n const intelligence = await getIntelligence();\n return intelligence.forceLearning();\n}\n\n/**\n * Compute attention-weighted similarity for advanced routing\n */\nexport async function computeAttentionSimilarity(\n query: Float32Array,\n candidates: Float32Array[]\n): Promise<number[]> {\n const intelligence = await getIntelligence();\n\n // Use async attention for ranking\n const result = await intelligence.computeAttentionAsync(query, candidates, candidates);\n\n return Array.from(result);\n}\n\n// ============================================================================\n// Parallel Intelligence (ruvector@0.1.62+)\n// ============================================================================\n\n// Lazy load ruvector for parallel features\nlet ruvectorModule: any = null;\nlet parallelEngine: any = null;\nlet episodeQueue: Array<{\n state: string;\n action: string;\n reward: number;\n nextState: string;\n done: boolean;\n}> = [];\n\n/**\n * Get the parallel intelligence engine from ruvector\n */\nasync function getParallelEngine(): Promise<any> {\n if (parallelEngine) return parallelEngine;\n\n try {\n ruvectorModule = await import('ruvector');\n if (ruvectorModule.IntelligenceEngine) {\n parallelEngine = new ruvectorModule.IntelligenceEngine({ enableOnnx: true });\n console.log('[IntelligenceBridge] Parallel engine initialized (7 workers)');\n }\n return parallelEngine;\n } catch (error) {\n console.warn('[IntelligenceBridge] Parallel engine not available:', error);\n return null;\n }\n}\n\n/**\n * Queue an episode for batch Q-learning (3-4x faster)\n * Episodes are batched and processed in parallel\n */\nexport async function queueEpisode(episode: {\n state: string;\n action: string;\n reward: number;\n nextState: string;\n done: boolean;\n}): Promise<void> {\n const engine = await getParallelEngine();\n if (engine?.queueEpisode) {\n engine.queueEpisode(episode);\n } else {\n // Fallback: queue locally\n episodeQueue.push(episode);\n }\n}\n\n/**\n * Flush queued episodes for batch processing\n * Processes in parallel with worker threads\n */\nexport async function flushEpisodeBatch(): Promise<{\n processed: number;\n parallelEnabled: boolean;\n}> {\n const engine = await getParallelEngine();\n if (engine?.flushEpisodeBatch) {\n await engine.flushEpisodeBatch();\n const stats = engine.getStats();\n return {\n processed: stats.totalEpisodes || 0,\n parallelEnabled: stats.parallelEnabled || false,\n };\n }\n\n // Fallback: process locally\n const processed = episodeQueue.length;\n episodeQueue = [];\n return { processed, parallelEnabled: false };\n}\n\n/**\n * Match patterns in parallel across multiple files\n * Provides 3-4x faster pretrain\n */\nexport async function matchPatternsParallel(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; patterns: string[]; similarity: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.matchPatternsParallel) {\n return engine.matchPatternsParallel(files);\n }\n\n // Fallback: sequential matching with embeddings\n const service = getEmbeddingServiceInstance();\n const results: Array<{ path: string; patterns: string[]; similarity: number }> = [];\n\n for (const file of files) {\n const embedding = await service.embed(file.content.slice(0, 1000));\n results.push({\n path: file.path,\n patterns: detectPatterns(file.content),\n similarity: 0.5,\n });\n }\n\n return results;\n}\n\n/**\n * Index memories in background (non-blocking hooks)\n */\nexport async function indexMemoriesBackground(\n memories: Array<{ id: string; text: string; metadata?: Record<string, any> }>\n): Promise<{ queued: number; processing: boolean }> {\n const engine = await getParallelEngine();\n\n if (engine?.indexMemoriesBackground) {\n return engine.indexMemoriesBackground(memories);\n }\n\n // Fallback: queue for next batch\n const service = getEmbeddingServiceInstance();\n // Non-blocking: just queue, don't await\n Promise.all(memories.map(m => service.embed(m.text))).catch(() => {});\n\n return { queued: memories.length, processing: true };\n}\n\n/**\n * Parallel similarity search with sharding\n */\nexport async function searchParallel(\n query: string,\n topK: number = 10\n): Promise<Array<{ id: string; text: string; similarity: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.searchParallel) {\n return engine.searchParallel(query, topK);\n }\n\n // Fallback: use EmbeddingService semantic search\n const service = getEmbeddingServiceInstance();\n try {\n const results = await service.semanticSearch(query, topK);\n return results.map(r => ({\n id: String(r.index),\n text: r.text,\n similarity: r.similarity,\n }));\n } catch {\n return [];\n }\n}\n\n/**\n * Analyze multiple files in parallel for routing\n */\nexport async function analyzeFilesParallel(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; agent: string; confidence: number }>> {\n const engine = await getParallelEngine();\n\n if (engine?.analyzeFilesParallel) {\n return engine.analyzeFilesParallel(files);\n }\n\n // Fallback: parallel with Promise.all\n const results = await Promise.all(\n files.map(async (file) => {\n const routing = await routeTaskIntelligent(`analyze ${file.path}`, { file: file.path });\n return {\n path: file.path,\n agent: routing.agent,\n confidence: routing.confidence,\n };\n })\n );\n\n return results;\n}\n\n/**\n * Analyze git commits in parallel for co-edit detection\n */\nexport async function analyzeCommitsParallel(\n commits: Array<{ hash: string; message: string; files: string[] }>\n): Promise<Array<{ hash: string; coEditGroups: string[][]; patterns: string[] }>> {\n const engine = await getParallelEngine();\n\n if (engine?.analyzeCommitsParallel) {\n return engine.analyzeCommitsParallel(commits);\n }\n\n // Fallback: detect co-edit patterns from file groups\n return commits.map(commit => ({\n hash: commit.hash,\n coEditGroups: [commit.files], // Simple: treat all files as one group\n patterns: detectCommitPatterns(commit.message),\n }));\n}\n\n/**\n * Get parallel stats\n */\nexport async function getParallelStats(): Promise<{\n parallelEnabled: boolean;\n parallelWorkers: number;\n parallelBusy: number;\n parallelQueued: number;\n}> {\n const engine = await getParallelEngine();\n\n if (engine?.getStats) {\n const stats = engine.getStats();\n return {\n parallelEnabled: stats.parallelEnabled || false,\n parallelWorkers: stats.parallelWorkers || 0,\n parallelBusy: stats.parallelBusy || 0,\n parallelQueued: stats.parallelQueued || 0,\n };\n }\n\n return {\n parallelEnabled: false,\n parallelWorkers: 0,\n parallelBusy: 0,\n parallelQueued: 0,\n };\n}\n\n// Helper: detect patterns in file content\nfunction detectPatterns(content: string): string[] {\n const patterns: string[] = [];\n if (content.includes('async')) patterns.push('async-code');\n if (content.includes('test') || content.includes('describe')) patterns.push('test-file');\n if (content.includes('class')) patterns.push('oop');\n if (content.includes('import') || content.includes('export')) patterns.push('module');\n if (content.includes('interface') || content.includes('type ')) patterns.push('typescript');\n return patterns;\n}\n\n// Helper: detect patterns in commit messages\nfunction detectCommitPatterns(message: string): string[] {\n const patterns: string[] = [];\n const lower = message.toLowerCase();\n if (lower.includes('fix')) patterns.push('bugfix');\n if (lower.includes('feat') || lower.includes('add')) patterns.push('feature');\n if (lower.includes('refactor')) patterns.push('refactor');\n if (lower.includes('test')) patterns.push('testing');\n if (lower.includes('doc')) patterns.push('documentation');\n return patterns;\n}\n\n// ============================================================================\n// Extended Worker Pool (ruvector@0.1.63+)\n// ============================================================================\n\nlet extendedWorkerPool: any = null;\n\n/**\n * Get the extended worker pool for hook operations\n */\nasync function getExtendedWorkerPool(): Promise<any> {\n if (extendedWorkerPool) return extendedWorkerPool;\n\n try {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n if (ruvectorModule.ExtendedWorkerPool) {\n extendedWorkerPool = new ruvectorModule.ExtendedWorkerPool();\n await extendedWorkerPool.init?.();\n console.log('[IntelligenceBridge] Extended worker pool initialized');\n }\n return extendedWorkerPool;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Speculatively pre-embed files that are likely to be accessed\n * Call in post-edit hook for related files\n */\nexport async function speculativeEmbed(\n files: string[]\n): Promise<{ queued: number }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.speculativeEmbed) {\n return pool.speculativeEmbed(files);\n }\n return { queued: 0 };\n}\n\n/**\n * Analyze AST of multiple files in parallel\n * For pre-edit and route hooks\n */\nexport async function analyzeAST(\n files: Array<{ path: string; content: string }>\n): Promise<Array<{ path: string; functions: string[]; imports: string[]; exports: string[] }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.analyzeAST) {\n return pool.analyzeAST(files);\n }\n // Fallback: simple regex-based extraction\n return files.map(f => ({\n path: f.path,\n functions: (f.content.match(/function\\s+(\\w+)/g) || []).map(m => m.replace('function ', '')),\n imports: (f.content.match(/import\\s+.*from\\s+['\"]([^'\"]+)['\"]/g) || []),\n exports: (f.content.match(/export\\s+(default\\s+)?(function|class|const)\\s+(\\w+)/g) || []),\n }));\n}\n\n/**\n * Analyze code complexity metrics in parallel\n * For session-end hook to track quality\n */\nexport async function analyzeComplexity(\n files: string[]\n): Promise<Array<{ path: string; cyclomatic: number; cognitive: number; lines: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.analyzeComplexity) {\n return pool.analyzeComplexity(files);\n }\n return files.map(f => ({ path: f, cyclomatic: 0, cognitive: 0, lines: 0 }));\n}\n\n/**\n * Build dependency graph from import statements\n * For session-start hook context\n */\nexport async function buildDependencyGraph(\n files: string[]\n): Promise<{ nodes: string[]; edges: Array<{ from: string; to: string }> }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.buildDependencyGraph) {\n return pool.buildDependencyGraph(files);\n }\n return { nodes: files, edges: [] };\n}\n\n/**\n * Parallel security scan (SAST)\n * For pre-command hook before commits\n */\nexport async function securityScan(\n files: string[]\n): Promise<Array<{ path: string; severity: string; message: string; line: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.securityScan) {\n return pool.securityScan(files);\n }\n return [];\n}\n\n/**\n * RAG retrieval with parallel chunk processing\n * For recall hook\n */\nexport async function ragRetrieve(\n query: string,\n chunks: Array<{ id: string; text: string }>,\n topK: number = 5\n): Promise<Array<{ id: string; text: string; score: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.ragRetrieve) {\n return pool.ragRetrieve(query, chunks, topK);\n }\n // Fallback: use embedding service\n const service = getEmbeddingServiceInstance();\n await service.buildCorpus(chunks.map(c => c.text));\n const results = await service.semanticSearch(query, topK);\n return results.map((r, i) => ({\n id: chunks[r.index]?.id || String(r.index),\n text: r.text,\n score: r.similarity,\n }));\n}\n\n/**\n * Rank context by relevance\n * For suggest-context hook\n */\nexport async function rankContext(\n query: string,\n contexts: Array<{ id: string; content: string }>\n): Promise<Array<{ id: string; relevance: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.rankContext) {\n return pool.rankContext(query, contexts);\n }\n // Fallback: use similarity\n const service = getEmbeddingServiceInstance();\n const queryEmb = await service.embed(query);\n const results: Array<{ id: string; relevance: number }> = [];\n for (const ctx of contexts) {\n const ctxEmb = await service.embed(ctx.content.slice(0, 500));\n const relevance = service.cosineSimilarity(queryEmb, ctxEmb);\n results.push({ id: ctx.id, relevance });\n }\n return results.sort((a, b) => b.relevance - a.relevance);\n}\n\n/**\n * Semantic deduplication\n * For remember hook to avoid storing duplicates\n */\nexport async function deduplicate(\n texts: string[],\n threshold: number = 0.9\n): Promise<{ unique: string[]; duplicateGroups: number[][] }> {\n const pool = await getExtendedWorkerPool();\n if (pool?.deduplicate) {\n return pool.deduplicate(texts, threshold);\n }\n // Fallback: use embedding service\n const service = getEmbeddingServiceInstance();\n const duplicates = await service.findDuplicates(texts, threshold);\n const duplicateIndices = new Set(duplicates.flatMap(d => d.indices.slice(1)));\n const unique = texts.filter((_, i) => !duplicateIndices.has(i));\n return {\n unique,\n duplicateGroups: duplicates.map(d => d.indices),\n };\n}\n\n/**\n * Parallel git blame analysis\n * For co-edit hook\n */\nexport async function gitBlame(\n files: string[]\n): Promise<Array<{ path: string; authors: Array<{ name: string; lines: number }> }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.gitBlame) {\n return pool.gitBlame(files);\n }\n return files.map(f => ({ path: f, authors: [] }));\n}\n\n/**\n * Code churn metrics for routing decisions\n * For route hook to prioritize high-churn files\n */\nexport async function gitChurn(\n patterns: string[],\n since: string = '30 days ago'\n): Promise<Array<{ path: string; commits: number; additions: number; deletions: number }>> {\n const pool = await getExtendedWorkerPool();\n if (pool?.gitChurn) {\n return pool.gitChurn(patterns, since);\n }\n return [];\n}\n\n/**\n * Get attention mechanism for specific use case\n */\nexport async function getAttentionForUseCase(\n useCase: 'pattern-matching' | 'agent-routing' | 'code-structure' | 'context-summary' | 'multi-agent'\n): Promise<{ type: string; instance: any }> {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n\n const attentionMap: Record<string, string> = {\n 'pattern-matching': 'MultiHeadAttention',\n 'agent-routing': 'MoEAttention',\n 'code-structure': 'GraphRoPeAttention',\n 'context-summary': 'LocalGlobalAttention',\n 'multi-agent': 'MoEAttention',\n };\n\n const type = attentionMap[useCase] || 'MultiHeadAttention';\n const AttentionClass = ruvectorModule[type];\n\n if (AttentionClass) {\n return { type, instance: new AttentionClass(384, 4) };\n }\n\n return { type: 'fallback', instance: null };\n}\n\n/**\n * Parallel attention compute across multiple queries\n */\nexport async function parallelAttentionCompute(\n queries: Float32Array[],\n keys: Float32Array[],\n values: Float32Array[],\n type: 'hyperbolic' | 'flash' | 'moe' = 'moe'\n): Promise<Float32Array[]> {\n if (!ruvectorModule) {\n ruvectorModule = await import('ruvector');\n }\n\n if (ruvectorModule.parallelAttentionCompute) {\n return ruvectorModule.parallelAttentionCompute(queries, keys, values, type);\n }\n\n return [];\n}\n\n/**\n * Get extended worker pool stats\n */\nexport async function getExtendedWorkerStats(): Promise<{\n initialized: boolean;\n operations: string[];\n}> {\n const pool = await getExtendedWorkerPool();\n if (pool) {\n return {\n initialized: true,\n operations: [\n 'speculativeEmbed', 'analyzeAST', 'analyzeComplexity', 'buildDependencyGraph',\n 'securityScan', 'ragRetrieve', 'rankContext', 'deduplicate', 'gitBlame', 'gitChurn'\n ],\n };\n }\n return { initialized: false, operations: [] };\n}\n\n// Export types\nexport type { AgentRoutingResult, Trajectory, LearningOutcome };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAO3D,eAAO,MAAM,aAAa,EAAE,cAsE3B,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,cAsC3B,CAAC"}
@@ -1,10 +1,6 @@
1
1
  // Swarm init tool implementation using FastMCP
2
2
  import { z } from 'zod';
3
- import { spawnSync } from 'child_process';
4
- // Security: Allowed values for validation (defense in depth beyond Zod)
5
- const VALID_TOPOLOGIES = new Set(['mesh', 'hierarchical', 'ring', 'star']);
6
- const VALID_STRATEGIES = new Set(['balanced', 'specialized', 'adaptive']);
7
- const MAX_AGENTS_LIMIT = 100;
3
+ import { execSync } from 'child_process';
8
4
  export const swarmInitTool = {
9
5
  name: 'swarm_init',
10
6
  description: 'Initialize a multi-agent swarm with specified topology',
@@ -23,48 +19,23 @@ export const swarmInitTool = {
23
19
  }),
24
20
  execute: async ({ topology, maxAgents, strategy }, { onProgress, auth }) => {
25
21
  try {
26
- // Security: Defense in depth - validate even though Zod should have validated
27
- if (!VALID_TOPOLOGIES.has(topology)) {
28
- throw new Error(`Invalid topology: ${topology}`);
29
- }
30
- if (!VALID_STRATEGIES.has(strategy)) {
31
- throw new Error(`Invalid strategy: ${strategy}`);
32
- }
33
- // Security: Sanitize and bound maxAgents
34
- const safeMaxAgents = Math.min(Math.max(1, Math.floor(Number(maxAgents) || 8)), MAX_AGENTS_LIMIT);
35
- // Security: Use spawnSync with argument array to prevent command injection
36
- const args = [
37
- 'claude-flow@alpha',
38
- 'swarm',
39
- 'init',
40
- '--topology', topology,
41
- '--max-agents', String(safeMaxAgents),
42
- '--strategy', strategy
43
- ];
44
- const result = spawnSync('npx', args, {
22
+ const cmd = `npx claude-flow@alpha swarm init --topology ${topology} --max-agents ${maxAgents} --strategy ${strategy}`;
23
+ const result = execSync(cmd, {
45
24
  encoding: 'utf-8',
46
- maxBuffer: 10 * 1024 * 1024,
47
- timeout: 60000
25
+ maxBuffer: 10 * 1024 * 1024
48
26
  });
49
- if (result.error) {
50
- throw result.error;
51
- }
52
- if (result.status !== 0) {
53
- throw new Error(result.stderr || 'Command failed');
54
- }
55
27
  return {
56
28
  success: true,
57
29
  topology,
58
- maxAgents: safeMaxAgents,
30
+ maxAgents,
59
31
  strategy,
60
- result: (result.stdout || '').trim(),
32
+ result: result.trim(),
61
33
  userId: auth?.userId,
62
34
  timestamp: new Date().toISOString()
63
35
  };
64
36
  }
65
37
  catch (error) {
66
- // Security: Don't expose internal error details to clients
67
- throw new Error('Failed to initialize swarm. Check server logs for details.');
38
+ throw new Error(`Failed to initialize swarm: ${error.message}`);
68
39
  }
69
40
  }
70
41
  };