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":"sona-agent-training.js","sourceRoot":"","sources":["../../src/services/sona-agent-training.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA Agent Training Service\n *\n * Train specialized models for specific agents, tasks, and codebases\n * Uses @ruvector/sona for continuous learning and adaptation\n */\n\nimport { EventEmitter } from 'events';\nimport { SonaEngine } from '@ruvector/sona';\n\nexport interface AgentConfig {\n name: string;\n purpose: 'simple' | 'complex' | 'diverse';\n hiddenDim?: number;\n microLoraRank?: number;\n microLoraLr?: number;\n baseLoraRank?: number;\n patternClusters?: number;\n trajectoryCapacity?: number;\n qualityThreshold?: number;\n ewcLambda?: number;\n route?: string;\n}\n\nexport interface TrainingExample {\n embedding: number[];\n prompt?: string;\n output?: string;\n hiddenStates?: number[];\n attention?: number[];\n quality: number;\n context?: Record<string, any>;\n}\n\nexport interface CodebaseFile {\n path: string;\n language: string;\n content: string;\n chunks?: Array<{\n code: string;\n type: 'function' | 'class' | 'interface' | 'module';\n embedding?: number[];\n }>;\n}\n\nexport interface AgentStats {\n name: string;\n purpose: string;\n trainingCount: number;\n avgQuality: number;\n patterns: number;\n lastTrained?: Date;\n config: any;\n}\n\n/**\n * SONA Agent Factory - Create and manage specialized agents\n */\nexport class AgentFactory extends EventEmitter {\n private agents: Map<string, {\n engine: any;\n config: AgentConfig;\n trainingCount: number;\n totalQuality: number;\n lastTrained?: Date;\n }>;\n\n private baseConfig: Partial<AgentConfig>;\n\n constructor(baseConfig: Partial<AgentConfig> = {}) {\n super();\n this.baseConfig = {\n hiddenDim: 3072,\n microLoraRank: 2,\n microLoraLr: 0.002,\n ewcLambda: 2000,\n ...baseConfig\n };\n this.agents = new Map();\n }\n\n /**\n * Create a new specialized agent\n */\n createAgent(name: string, config: Partial<AgentConfig> = {}): any {\n const purpose = config.purpose || 'simple';\n\n // Customize config based on purpose\n const agentConfig: AgentConfig = {\n name,\n purpose,\n ...this.baseConfig,\n ...config,\n // Purpose-specific defaults\n baseLoraRank: purpose === 'complex' ? 16 : purpose === 'diverse' ? 12 : 8,\n patternClusters: purpose === 'diverse' ? 200 : purpose === 'complex' ? 100 : 50,\n trajectoryCapacity: purpose === 'complex' ? 10000 : 5000,\n qualityThreshold: purpose === 'complex' ? 0.2 : 0.3,\n };\n\n // Create SONA engine\n const engine = SonaEngine.withConfig({\n hiddenDim: agentConfig.hiddenDim!,\n microLoraRank: agentConfig.microLoraRank!,\n baseLoraRank: agentConfig.baseLoraRank!,\n microLoraLr: 0.002,\n patternClusters: agentConfig.patternClusters!,\n trajectoryCapacity: agentConfig.trajectoryCapacity!,\n qualityThreshold: agentConfig.qualityThreshold!,\n ewcLambda: agentConfig.ewcLambda!,\n enableSimd: true\n });\n\n this.agents.set(name, {\n engine,\n config: agentConfig,\n trainingCount: 0,\n totalQuality: 0\n });\n\n this.emit('agent:created', { name, config: agentConfig });\n return engine;\n }\n\n /**\n * Train an agent on specific examples\n */\n async trainAgent(name: string, examples: TrainingExample[]): Promise<number> {\n const agent = this.agents.get(name);\n if (!agent) {\n throw new Error(`Agent \"${name}\" not found. Create it first with createAgent()`);\n }\n\n let successCount = 0;\n\n for (const example of examples) {\n try {\n const tid = agent.engine.beginTrajectory(example.embedding);\n\n // Set route (agent name)\n agent.engine.setTrajectoryRoute(tid, name);\n\n // Add context\n if (example.context) {\n for (const [key, value] of Object.entries(example.context)) {\n agent.engine.addTrajectoryContext(tid, `${key}:${value}`);\n }\n }\n\n // Add trajectory step with hidden states and attention\n if (example.hiddenStates && example.attention) {\n agent.engine.addTrajectoryStep(\n tid,\n example.hiddenStates,\n example.attention,\n example.quality\n );\n }\n\n // End trajectory\n agent.engine.endTrajectory(tid, example.quality);\n\n agent.trainingCount++;\n agent.totalQuality += example.quality;\n successCount++;\n\n } catch (error: any) {\n this.emit('training:error', { name, error: error.message, example });\n }\n }\n\n // Force learning to update LoRA weights\n agent.engine.forceLearn();\n agent.lastTrained = new Date();\n\n this.emit('agent:trained', {\n name,\n examplesProcessed: successCount,\n totalTraining: agent.trainingCount,\n avgQuality: agent.totalQuality / agent.trainingCount\n });\n\n return successCount;\n }\n\n /**\n * Get an agent's engine for inference\n */\n getAgent(name: string): any {\n return this.agents.get(name)?.engine;\n }\n\n /**\n * Get agent statistics\n */\n getAgentStats(name: string): AgentStats | null {\n const agent = this.agents.get(name);\n if (!agent) return null;\n\n const stats = agent.engine.getStats();\n\n return {\n name,\n purpose: agent.config.purpose,\n trainingCount: agent.trainingCount,\n avgQuality: agent.trainingCount > 0 ? agent.totalQuality / agent.trainingCount : 0,\n patterns: stats.totalPatterns || 0,\n lastTrained: agent.lastTrained,\n config: agent.config\n };\n }\n\n /**\n * List all agents\n */\n listAgents(): AgentStats[] {\n return Array.from(this.agents.keys())\n .map(name => this.getAgentStats(name))\n .filter(s => s !== null) as AgentStats[];\n }\n\n /**\n * Find similar patterns for a query\n */\n async findPatterns(agentName: string, queryEmbedding: number[], k: number = 5): Promise<any[]> {\n const agent = this.agents.get(agentName);\n if (!agent) {\n throw new Error(`Agent \"${agentName}\" not found`);\n }\n\n return agent.engine.findPatterns(queryEmbedding, k);\n }\n\n /**\n * Apply agent-specific adaptation to embedding\n */\n async applyAdaptation(agentName: string, embedding: number[]): Promise<number[]> {\n const agent = this.agents.get(agentName);\n if (!agent) {\n throw new Error(`Agent \"${agentName}\" not found`);\n }\n\n return agent.engine.applyMicroLora(embedding);\n }\n}\n\n/**\n * Codebase-Specific Agent Trainer\n */\nexport class CodebaseTrainer {\n private engine: any;\n private indexed: number = 0;\n\n constructor(config: Partial<AgentConfig> = {}) {\n this.engine = SonaEngine.withConfig({\n hiddenDim: 3072,\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n trajectoryCapacity: 10000,\n qualityThreshold: 0.2,\n ewcLambda: 2000,\n enableSimd: true,\n ...config\n });\n }\n\n /**\n * Index an entire codebase for pattern learning\n */\n async indexCodebase(files: CodebaseFile[]): Promise<number> {\n let totalChunks = 0;\n\n for (const file of files) {\n if (!file.chunks) {\n file.chunks = this.chunkCode(file.content, file.language);\n }\n\n for (const chunk of file.chunks) {\n if (!chunk.embedding) {\n // In production, call actual embedding service\n chunk.embedding = this.mockEmbedding(chunk.code);\n }\n\n const tid = this.engine.beginTrajectory(chunk.embedding);\n\n // Add rich context\n this.engine.setTrajectoryRoute(tid, file.language);\n this.engine.addTrajectoryContext(tid, file.path);\n this.engine.addTrajectoryContext(tid, chunk.type);\n\n // High quality for indexed code (0.95)\n this.engine.addTrajectoryStep(tid, chunk.embedding, chunk.embedding, 0.95);\n this.engine.endTrajectory(tid, 0.95);\n\n totalChunks++;\n this.indexed++;\n }\n }\n\n // Force learning\n this.engine.forceLearn();\n\n return totalChunks;\n }\n\n /**\n * Query with codebase-aware adaptation\n */\n async query(queryText: string, k: number = 5): Promise<{\n adapted: number[];\n relevantPatterns: any[];\n }> {\n const embedding = this.mockEmbedding(queryText);\n\n // Find relevant patterns from codebase\n const patterns = this.engine.findPatterns(embedding, k);\n\n // Apply codebase-specific adaptation\n const adapted = this.engine.applyMicroLora(embedding);\n\n return { adapted, relevantPatterns: patterns };\n }\n\n /**\n * Get codebase statistics\n */\n getStats() {\n return {\n indexed: this.indexed,\n ...this.engine.getStats()\n };\n }\n\n /**\n * Chunk code into trainable segments\n */\n private chunkCode(content: string, language: string): Array<{\n code: string;\n type: 'function' | 'class' | 'interface' | 'module';\n }> {\n // Simplified chunking - in production use tree-sitter or similar\n const chunks: any[] = [];\n\n // Detect functions\n const functionRegex = /(?:function|def|fn)\\s+(\\w+)/g;\n let match;\n while ((match = functionRegex.exec(content)) !== null) {\n const start = match.index;\n const end = this.findBlockEnd(content, start);\n chunks.push({\n code: content.slice(start, end),\n type: 'function'\n });\n }\n\n // Detect classes\n const classRegex = /(?:class|struct|interface)\\s+(\\w+)/g;\n while ((match = classRegex.exec(content)) !== null) {\n const start = match.index;\n const end = this.findBlockEnd(content, start);\n chunks.push({\n code: content.slice(start, end),\n type: 'class'\n });\n }\n\n // If no chunks, treat whole file as module\n if (chunks.length === 0) {\n chunks.push({\n code: content,\n type: 'module'\n });\n }\n\n return chunks;\n }\n\n /**\n * Find end of code block (simplified)\n */\n private findBlockEnd(content: string, start: number): number {\n let depth = 0;\n let inBlock = false;\n\n for (let i = start; i < content.length; i++) {\n if (content[i] === '{') {\n depth++;\n inBlock = true;\n } else if (content[i] === '}') {\n depth--;\n if (inBlock && depth === 0) {\n return i + 1;\n }\n }\n }\n\n return Math.min(start + 500, content.length);\n }\n\n /**\n * Mock embedding (replace with actual embedding service in production)\n */\n private mockEmbedding(text: string): number[] {\n const hash = this.hashCode(text);\n const embedding = new Array(3072);\n\n for (let i = 0; i < 3072; i++) {\n const seed = hash + i;\n embedding[i] = (Math.sin(seed) * 10000) - Math.floor(Math.sin(seed) * 10000);\n }\n\n return embedding;\n }\n\n private hashCode(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + char;\n hash = hash & hash;\n }\n return hash;\n }\n}\n\n/**\n * Pre-configured agent templates\n */\nexport const AgentTemplates = {\n /**\n * Code Assistant - Complex reasoning, code-specific patterns\n */\n codeAssistant: (): AgentConfig => ({\n name: 'code-assistant',\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 200,\n qualityThreshold: 0.2,\n route: 'code-agent'\n }),\n\n /**\n * Chat Agent - Simple conversational patterns\n */\n chatBot: (): AgentConfig => ({\n name: 'chat-bot',\n purpose: 'simple',\n baseLoraRank: 8,\n patternClusters: 50,\n qualityThreshold: 0.3,\n route: 'chat-agent'\n }),\n\n /**\n * Data Analyst - Diverse data patterns\n */\n dataAnalyst: (): AgentConfig => ({\n name: 'data-analyst',\n purpose: 'diverse',\n baseLoraRank: 12,\n patternClusters: 150,\n qualityThreshold: 0.25,\n route: 'data-agent'\n }),\n\n /**\n * RAG Agent - Large capacity for document retrieval\n */\n ragAgent: (): AgentConfig => ({\n name: 'rag-agent',\n purpose: 'diverse',\n baseLoraRank: 12,\n patternClusters: 200,\n trajectoryCapacity: 10000,\n qualityThreshold: 0.2,\n route: 'rag-agent'\n }),\n\n /**\n * Task Planner - Complex reasoning with strong memory\n */\n taskPlanner: (): AgentConfig => ({\n name: 'task-planner',\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 100,\n ewcLambda: 2500,\n qualityThreshold: 0.2,\n route: 'planner-agent'\n }),\n\n /**\n * Domain Expert - Learns specific domain\n */\n domainExpert: (domain: string): AgentConfig => ({\n name: `${domain}-expert`,\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 150,\n qualityThreshold: 0.1, // Learn from more examples\n route: `${domain}-agent`\n })\n};\n"]}
1
+ {"version":3,"file":"sona-agent-training.js","sourceRoot":"","sources":["../../src/services/sona-agent-training.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA Agent Training Service\n *\n * Train specialized models for specific agents, tasks, and codebases\n * Uses @ruvector/sona for continuous learning and adaptation\n */\n\nimport { EventEmitter } from 'events';\nimport { SonaEngine } from '@ruvector/sona';\n\nexport interface AgentConfig {\n name: string;\n purpose: 'simple' | 'complex' | 'diverse';\n hiddenDim?: number;\n microLoraRank?: number;\n baseLoraRank?: number;\n patternClusters?: number;\n trajectoryCapacity?: number;\n qualityThreshold?: number;\n ewcLambda?: number;\n route?: string;\n}\n\nexport interface TrainingExample {\n embedding: number[];\n prompt?: string;\n output?: string;\n hiddenStates?: number[];\n attention?: number[];\n quality: number;\n context?: Record<string, any>;\n}\n\nexport interface CodebaseFile {\n path: string;\n language: string;\n content: string;\n chunks?: Array<{\n code: string;\n type: 'function' | 'class' | 'interface' | 'module';\n embedding?: number[];\n }>;\n}\n\nexport interface AgentStats {\n name: string;\n purpose: string;\n trainingCount: number;\n avgQuality: number;\n patterns: number;\n lastTrained?: Date;\n config: any;\n}\n\n/**\n * SONA Agent Factory - Create and manage specialized agents\n */\nexport class AgentFactory extends EventEmitter {\n private agents: Map<string, {\n engine: any;\n config: AgentConfig;\n trainingCount: number;\n totalQuality: number;\n lastTrained?: Date;\n }>;\n\n private baseConfig: Partial<AgentConfig>;\n\n constructor(baseConfig: Partial<AgentConfig> = {}) {\n super();\n this.baseConfig = {\n hiddenDim: 3072,\n microLoraRank: 2,\n microLoraLr: 0.002,\n ewcLambda: 2000,\n ...baseConfig\n };\n this.agents = new Map();\n }\n\n /**\n * Create a new specialized agent\n */\n createAgent(name: string, config: Partial<AgentConfig> = {}): any {\n const purpose = config.purpose || 'simple';\n\n // Customize config based on purpose\n const agentConfig: AgentConfig = {\n name,\n purpose,\n ...this.baseConfig,\n ...config,\n // Purpose-specific defaults\n baseLoraRank: purpose === 'complex' ? 16 : purpose === 'diverse' ? 12 : 8,\n patternClusters: purpose === 'diverse' ? 200 : purpose === 'complex' ? 100 : 50,\n trajectoryCapacity: purpose === 'complex' ? 10000 : 5000,\n qualityThreshold: purpose === 'complex' ? 0.2 : 0.3,\n };\n\n // Create SONA engine\n const engine = SonaEngine.withConfig({\n hiddenDim: agentConfig.hiddenDim!,\n microLoraRank: agentConfig.microLoraRank!,\n baseLoraRank: agentConfig.baseLoraRank!,\n microLoraLr: 0.002,\n patternClusters: agentConfig.patternClusters!,\n trajectoryCapacity: agentConfig.trajectoryCapacity!,\n qualityThreshold: agentConfig.qualityThreshold!,\n ewcLambda: agentConfig.ewcLambda!,\n enableSimd: true\n });\n\n this.agents.set(name, {\n engine,\n config: agentConfig,\n trainingCount: 0,\n totalQuality: 0\n });\n\n this.emit('agent:created', { name, config: agentConfig });\n return engine;\n }\n\n /**\n * Train an agent on specific examples\n */\n async trainAgent(name: string, examples: TrainingExample[]): Promise<number> {\n const agent = this.agents.get(name);\n if (!agent) {\n throw new Error(`Agent \"${name}\" not found. Create it first with createAgent()`);\n }\n\n let successCount = 0;\n\n for (const example of examples) {\n try {\n const tid = agent.engine.beginTrajectory(example.embedding);\n\n // Set route (agent name)\n agent.engine.setTrajectoryRoute(tid, name);\n\n // Add context\n if (example.context) {\n for (const [key, value] of Object.entries(example.context)) {\n agent.engine.addTrajectoryContext(tid, `${key}:${value}`);\n }\n }\n\n // Add trajectory step with hidden states and attention\n if (example.hiddenStates && example.attention) {\n agent.engine.addTrajectoryStep(\n tid,\n example.hiddenStates,\n example.attention,\n example.quality\n );\n }\n\n // End trajectory\n agent.engine.endTrajectory(tid, example.quality);\n\n agent.trainingCount++;\n agent.totalQuality += example.quality;\n successCount++;\n\n } catch (error: any) {\n this.emit('training:error', { name, error: error.message, example });\n }\n }\n\n // Force learning to update LoRA weights\n agent.engine.forceLearn();\n agent.lastTrained = new Date();\n\n this.emit('agent:trained', {\n name,\n examplesProcessed: successCount,\n totalTraining: agent.trainingCount,\n avgQuality: agent.totalQuality / agent.trainingCount\n });\n\n return successCount;\n }\n\n /**\n * Get an agent's engine for inference\n */\n getAgent(name: string): any {\n return this.agents.get(name)?.engine;\n }\n\n /**\n * Get agent statistics\n */\n getAgentStats(name: string): AgentStats | null {\n const agent = this.agents.get(name);\n if (!agent) return null;\n\n const stats = agent.engine.getStats();\n\n return {\n name,\n purpose: agent.config.purpose,\n trainingCount: agent.trainingCount,\n avgQuality: agent.trainingCount > 0 ? agent.totalQuality / agent.trainingCount : 0,\n patterns: stats.totalPatterns || 0,\n lastTrained: agent.lastTrained,\n config: agent.config\n };\n }\n\n /**\n * List all agents\n */\n listAgents(): AgentStats[] {\n return Array.from(this.agents.keys())\n .map(name => this.getAgentStats(name))\n .filter(s => s !== null) as AgentStats[];\n }\n\n /**\n * Find similar patterns for a query\n */\n async findPatterns(agentName: string, queryEmbedding: number[], k: number = 5): Promise<any[]> {\n const agent = this.agents.get(agentName);\n if (!agent) {\n throw new Error(`Agent \"${agentName}\" not found`);\n }\n\n return agent.engine.findPatterns(queryEmbedding, k);\n }\n\n /**\n * Apply agent-specific adaptation to embedding\n */\n async applyAdaptation(agentName: string, embedding: number[]): Promise<number[]> {\n const agent = this.agents.get(agentName);\n if (!agent) {\n throw new Error(`Agent \"${agentName}\" not found`);\n }\n\n return agent.engine.applyMicroLora(embedding);\n }\n}\n\n/**\n * Codebase-Specific Agent Trainer\n */\nexport class CodebaseTrainer {\n private engine: any;\n private indexed: number = 0;\n\n constructor(config: Partial<AgentConfig> = {}) {\n this.engine = SonaEngine.withConfig({\n hiddenDim: 3072,\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n trajectoryCapacity: 10000,\n qualityThreshold: 0.2,\n ewcLambda: 2000,\n enableSimd: true,\n ...config\n });\n }\n\n /**\n * Index an entire codebase for pattern learning\n */\n async indexCodebase(files: CodebaseFile[]): Promise<number> {\n let totalChunks = 0;\n\n for (const file of files) {\n if (!file.chunks) {\n file.chunks = this.chunkCode(file.content, file.language);\n }\n\n for (const chunk of file.chunks) {\n if (!chunk.embedding) {\n // In production, call actual embedding service\n chunk.embedding = this.mockEmbedding(chunk.code);\n }\n\n const tid = this.engine.beginTrajectory(chunk.embedding);\n\n // Add rich context\n this.engine.setTrajectoryRoute(tid, file.language);\n this.engine.addTrajectoryContext(tid, file.path);\n this.engine.addTrajectoryContext(tid, chunk.type);\n\n // High quality for indexed code (0.95)\n this.engine.addTrajectoryStep(tid, chunk.embedding, chunk.embedding, 0.95);\n this.engine.endTrajectory(tid, 0.95);\n\n totalChunks++;\n this.indexed++;\n }\n }\n\n // Force learning\n this.engine.forceLearn();\n\n return totalChunks;\n }\n\n /**\n * Query with codebase-aware adaptation\n */\n async query(queryText: string, k: number = 5): Promise<{\n adapted: number[];\n relevantPatterns: any[];\n }> {\n const embedding = this.mockEmbedding(queryText);\n\n // Find relevant patterns from codebase\n const patterns = this.engine.findPatterns(embedding, k);\n\n // Apply codebase-specific adaptation\n const adapted = this.engine.applyMicroLora(embedding);\n\n return { adapted, relevantPatterns: patterns };\n }\n\n /**\n * Get codebase statistics\n */\n getStats() {\n return {\n indexed: this.indexed,\n ...this.engine.getStats()\n };\n }\n\n /**\n * Chunk code into trainable segments\n */\n private chunkCode(content: string, language: string): Array<{\n code: string;\n type: 'function' | 'class' | 'interface' | 'module';\n }> {\n // Simplified chunking - in production use tree-sitter or similar\n const chunks: any[] = [];\n\n // Detect functions\n const functionRegex = /(?:function|def|fn)\\s+(\\w+)/g;\n let match;\n while ((match = functionRegex.exec(content)) !== null) {\n const start = match.index;\n const end = this.findBlockEnd(content, start);\n chunks.push({\n code: content.slice(start, end),\n type: 'function'\n });\n }\n\n // Detect classes\n const classRegex = /(?:class|struct|interface)\\s+(\\w+)/g;\n while ((match = classRegex.exec(content)) !== null) {\n const start = match.index;\n const end = this.findBlockEnd(content, start);\n chunks.push({\n code: content.slice(start, end),\n type: 'class'\n });\n }\n\n // If no chunks, treat whole file as module\n if (chunks.length === 0) {\n chunks.push({\n code: content,\n type: 'module'\n });\n }\n\n return chunks;\n }\n\n /**\n * Find end of code block (simplified)\n */\n private findBlockEnd(content: string, start: number): number {\n let depth = 0;\n let inBlock = false;\n\n for (let i = start; i < content.length; i++) {\n if (content[i] === '{') {\n depth++;\n inBlock = true;\n } else if (content[i] === '}') {\n depth--;\n if (inBlock && depth === 0) {\n return i + 1;\n }\n }\n }\n\n return Math.min(start + 500, content.length);\n }\n\n /**\n * Mock embedding (replace with actual embedding service in production)\n */\n private mockEmbedding(text: string): number[] {\n const hash = this.hashCode(text);\n const embedding = new Array(3072);\n\n for (let i = 0; i < 3072; i++) {\n const seed = hash + i;\n embedding[i] = (Math.sin(seed) * 10000) - Math.floor(Math.sin(seed) * 10000);\n }\n\n return embedding;\n }\n\n private hashCode(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + char;\n hash = hash & hash;\n }\n return hash;\n }\n}\n\n/**\n * Pre-configured agent templates\n */\nexport const AgentTemplates = {\n /**\n * Code Assistant - Complex reasoning, code-specific patterns\n */\n codeAssistant: (): AgentConfig => ({\n name: 'code-assistant',\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 200,\n qualityThreshold: 0.2,\n route: 'code-agent'\n }),\n\n /**\n * Chat Agent - Simple conversational patterns\n */\n chatBot: (): AgentConfig => ({\n name: 'chat-bot',\n purpose: 'simple',\n baseLoraRank: 8,\n patternClusters: 50,\n qualityThreshold: 0.3,\n route: 'chat-agent'\n }),\n\n /**\n * Data Analyst - Diverse data patterns\n */\n dataAnalyst: (): AgentConfig => ({\n name: 'data-analyst',\n purpose: 'diverse',\n baseLoraRank: 12,\n patternClusters: 150,\n qualityThreshold: 0.25,\n route: 'data-agent'\n }),\n\n /**\n * RAG Agent - Large capacity for document retrieval\n */\n ragAgent: (): AgentConfig => ({\n name: 'rag-agent',\n purpose: 'diverse',\n baseLoraRank: 12,\n patternClusters: 200,\n trajectoryCapacity: 10000,\n qualityThreshold: 0.2,\n route: 'rag-agent'\n }),\n\n /**\n * Task Planner - Complex reasoning with strong memory\n */\n taskPlanner: (): AgentConfig => ({\n name: 'task-planner',\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 100,\n ewcLambda: 2500,\n qualityThreshold: 0.2,\n route: 'planner-agent'\n }),\n\n /**\n * Domain Expert - Learns specific domain\n */\n domainExpert: (domain: string): AgentConfig => ({\n name: `${domain}-expert`,\n purpose: 'complex',\n baseLoraRank: 16,\n patternClusters: 150,\n qualityThreshold: 0.1, // Learn from more examples\n route: `${domain}-agent`\n })\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sona-agentdb-integration.d.ts","sourceRoot":"","sources":["../../src/services/sona-agentdb-integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sona-agentdb-integration.d.ts","sourceRoot":"","sources":["../../src/services/sona-agentdb-integration.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,8 @@ export class SONAAgentDBTrainer extends EventEmitter {
45
45
  async initialize() {
46
46
  if (this.initialized)
47
47
  return;
48
- // Initialize SONA engine - use any for flexible typing
49
- this.sonaEngine = SonaEngine.withConfig?.({
48
+ // Initialize SONA engine
49
+ this.sonaEngine = SonaEngine.withConfig({
50
50
  hiddenDim: this.config.hiddenDim,
51
51
  microLoraRank: this.config.microLoraRank,
52
52
  baseLoraRank: this.config.baseLoraRank,
@@ -54,18 +54,15 @@ export class SONAAgentDBTrainer extends EventEmitter {
54
54
  ewcLambda: this.config.ewcLambda,
55
55
  patternClusters: this.config.patternClusters,
56
56
  enableSimd: true
57
- }) ?? new SonaEngine(this.config.hiddenDim);
58
- // Initialize AgentDB with HNSW - use constructor pattern for agentdb
59
- this.db = await (agentdb.open?.({
57
+ });
58
+ // Initialize AgentDB with HNSW
59
+ this.db = await agentdb.open({
60
60
  path: this.config.dbPath,
61
61
  vectorDimensions: this.config.vectorDimensions,
62
62
  enableHNSW: this.config.enableHNSW,
63
63
  hnswM: this.config.hnswM,
64
64
  hnswEfConstruction: this.config.hnswEfConstruction
65
- }) ?? new agentdb({
66
- dimensions: this.config.vectorDimensions,
67
- storagePath: this.config.dbPath
68
- }));
65
+ });
69
66
  this.initialized = true;
70
67
  this.emit('initialized', { config: this.config });
71
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sona-agentdb-integration.js","sourceRoot":"","sources":["../../src/services/sona-agentdb-integration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA + AgentDB Integration\n *\n * Combines SONA's LoRA fine-tuning with AgentDB's vector search\n * for ultra-fast adaptive learning with pattern matching\n */\n\nimport { EventEmitter } from 'events';\nimport { SonaEngine } from '@ruvector/sona';\nimport agentdb from 'agentdb';\nimport { SONAEngine, SONAStats, LearnResult, ValidationUtils } from './sona-types.js';\n\nexport interface AgentDBSONAConfig {\n // SONA config\n hiddenDim: number;\n microLoraRank: number;\n baseLoraRank: number;\n microLoraLr: number;\n ewcLambda: number;\n patternClusters: number;\n\n // AgentDB config\n dbPath?: string;\n vectorDimensions: number;\n enableHNSW: boolean;\n hnswM?: number;\n hnswEfConstruction?: number;\n}\n\nexport interface TrainingPattern {\n id?: string;\n embedding: number[];\n hiddenStates: number[];\n attention: number[];\n quality: number;\n context: Record<string, any>;\n timestamp?: number;\n}\n\n/**\n * SONA + AgentDB Integrated Trainer\n *\n * - SONA: Sub-millisecond LoRA adaptation (0.45ms)\n * - AgentDB: 125x faster HNSW vector search\n * - Combined: 150x-12,500x performance boost\n */\nexport class SONAAgentDBTrainer extends EventEmitter {\n private sonaEngine: SONAEngine | null = null;\n private db: any = null;\n private config: AgentDBSONAConfig;\n private initialized: boolean = false;\n\n constructor(config: Partial<AgentDBSONAConfig> = {}) {\n super();\n\n this.config = {\n // SONA defaults (from vibecast optimizations)\n hiddenDim: 3072,\n microLoraRank: 2,\n baseLoraRank: 16,\n microLoraLr: 0.002,\n ewcLambda: 2000,\n patternClusters: 100,\n\n // AgentDB defaults\n dbPath: '.sona-agentdb',\n vectorDimensions: 3072,\n enableHNSW: true,\n hnswM: 16,\n hnswEfConstruction: 200,\n\n ...config\n };\n }\n\n /**\n * Initialize SONA + AgentDB\n */\n async initialize(): Promise<void> {\n if (this.initialized) return;\n\n // Initialize SONA engine - use any for flexible typing\n this.sonaEngine = (SonaEngine as any).withConfig?.({\n hiddenDim: this.config.hiddenDim,\n microLoraRank: this.config.microLoraRank,\n baseLoraRank: this.config.baseLoraRank,\n microLoraLr: this.config.microLoraLr,\n ewcLambda: this.config.ewcLambda,\n patternClusters: this.config.patternClusters,\n enableSimd: true\n }) ?? new SonaEngine(this.config.hiddenDim);\n\n // Initialize AgentDB with HNSW - use constructor pattern for agentdb\n this.db = await ((agentdb as any).open?.({\n path: this.config.dbPath,\n vectorDimensions: this.config.vectorDimensions,\n enableHNSW: this.config.enableHNSW,\n hnswM: this.config.hnswM,\n hnswEfConstruction: this.config.hnswEfConstruction\n }) ?? new (agentdb as any)({\n dimensions: this.config.vectorDimensions,\n storagePath: this.config.dbPath\n }));\n\n this.initialized = true;\n this.emit('initialized', { config: this.config });\n }\n\n /**\n * Train with pattern storage in AgentDB\n *\n * Flow:\n * 1. SONA: Record trajectory + LoRA adaptation (0.45ms)\n * 2. AgentDB: Store pattern with HNSW indexing (0.8ms)\n * 3. Total: ~1.25ms per training example\n */\n async train(pattern: TrainingPattern): Promise<string> {\n await this.initialize();\n\n // Validate inputs\n ValidationUtils.validateEmbedding(pattern.embedding);\n ValidationUtils.validateStates(pattern.hiddenStates, pattern.attention);\n ValidationUtils.validateQuality(pattern.quality);\n\n if (!this.sonaEngine) {\n throw new Error('SONA engine not initialized');\n }\n\n // 1. SONA trajectory\n const tid = this.sonaEngine.beginTrajectory(pattern.embedding);\n\n // Add context\n if (pattern.context) {\n for (const [key, value] of Object.entries(pattern.context)) {\n this.sonaEngine.addTrajectoryContext(tid, `${key}:${value}`);\n }\n }\n\n // Add step with hidden states and attention\n this.sonaEngine.addTrajectoryStep(\n tid,\n pattern.hiddenStates,\n pattern.attention,\n pattern.quality\n );\n\n // End trajectory (triggers LoRA update)\n this.sonaEngine.endTrajectory(tid, pattern.quality);\n\n // 2. Store in AgentDB with HNSW indexing\n const patternId = pattern.id || this.generateId();\n\n await this.db.insert({\n id: patternId,\n vector: pattern.embedding,\n metadata: {\n quality: pattern.quality,\n context: pattern.context,\n timestamp: pattern.timestamp || Date.now(),\n trajectoryId: tid\n }\n });\n\n this.emit('pattern:stored', {\n id: patternId,\n quality: pattern.quality,\n latency: '~1.25ms'\n });\n\n return patternId;\n }\n\n /**\n * Query with hybrid SONA + AgentDB retrieval\n *\n * Flow:\n * 1. AgentDB HNSW search: Find k nearest neighbors (125x faster)\n * 2. SONA pattern matching: Refine with learned patterns (761 decisions/sec)\n * 3. SONA adaptation: Apply LoRA to query embedding (0.45ms)\n */\n async query(\n queryEmbedding: number[],\n k: number = 5,\n minQuality: number = 0.5\n ): Promise<{\n patterns: any[];\n adapted: number[];\n latency: {\n hnsw: number;\n sona: number;\n total: number;\n };\n }> {\n await this.initialize();\n\n // Validate inputs\n ValidationUtils.validateEmbedding(queryEmbedding);\n ValidationUtils.validateQuality(minQuality, 'minQuality');\n\n if (k < 1 || k > 1000) {\n throw new Error(`k must be between 1 and 1000, got ${k}`);\n }\n\n if (!this.sonaEngine || !this.db) {\n throw new Error('SONA engine or database not initialized');\n }\n\n const startTime = performance.now();\n\n // 1. AgentDB HNSW search (125x faster than traditional)\n const hnswStart = performance.now();\n const hnswResults = await this.db.search({\n vector: queryEmbedding,\n k: k * 2, // Get extra for quality filtering\n metric: 'cosine'\n });\n const hnswTime = performance.now() - hnswStart;\n\n // 2. SONA pattern matching (761 decisions/sec)\n const sonaStart = performance.now();\n const sonaPatterns = this.sonaEngine.findPatterns(queryEmbedding, k);\n const sonaTime = performance.now() - sonaStart;\n\n // 3. Merge and filter by quality\n const mergedPatterns = this.mergePatterns(hnswResults, sonaPatterns, minQuality);\n\n // 4. Apply SONA adaptation (0.45ms)\n const adapted = this.sonaEngine.applyMicroLora(queryEmbedding);\n const totalTime = performance.now() - startTime;\n\n return {\n patterns: mergedPatterns.slice(0, k),\n adapted,\n latency: {\n hnsw: hnswTime,\n sona: sonaTime,\n total: totalTime\n }\n };\n }\n\n /**\n * Batch train multiple patterns efficiently\n */\n async batchTrain(patterns: TrainingPattern[]): Promise<{\n success: number;\n failed: number;\n avgLatency: number;\n }> {\n await this.initialize();\n\n const startTime = performance.now();\n let success = 0;\n let failed = 0;\n\n for (const pattern of patterns) {\n try {\n await this.train(pattern);\n success++;\n } catch (error) {\n failed++;\n this.emit('train:error', { pattern, error });\n }\n }\n\n const totalTime = performance.now() - startTime;\n const avgLatency = totalTime / patterns.length;\n\n this.emit('batch:complete', {\n total: patterns.length,\n success,\n failed,\n avgLatency\n });\n\n return { success, failed, avgLatency };\n }\n\n /**\n * Get comprehensive statistics\n */\n async getStats(): Promise<{\n sona: SONAStats;\n agentdb: any;\n combined: {\n totalPatterns: number;\n avgQueryLatency: string;\n storageEfficiency: string;\n };\n }> {\n await this.initialize();\n\n if (!this.sonaEngine || !this.db) {\n throw new Error('SONA engine or database not initialized');\n }\n\n const sonaStats = this.sonaEngine.getStats();\n const agentdbStats = await this.db.stats();\n\n return {\n sona: sonaStats,\n agentdb: agentdbStats,\n combined: {\n totalPatterns: agentdbStats.totalVectors || 0,\n avgQueryLatency: '~1.25ms (HNSW + SONA)',\n storageEfficiency: '~3KB per pattern'\n }\n };\n }\n\n /**\n * Force SONA learning cycle\n */\n async forceLearn(): Promise<LearnResult> {\n if (!this.sonaEngine) {\n throw new Error('SONA engine not initialized');\n }\n\n const result = this.sonaEngine.forceLearn();\n this.emit('learn:complete', result);\n return result;\n }\n\n /**\n * Export trained model\n */\n async export(path: string): Promise<void> {\n // Export SONA LoRA weights (future: use HuggingFaceExporter)\n // For now, save configuration and stats\n const stats = await this.getStats();\n\n const fs = await import('fs/promises');\n await fs.writeFile(path, JSON.stringify({\n config: this.config,\n stats,\n exported: new Date().toISOString()\n }, null, 2));\n\n this.emit('export:complete', { path });\n }\n\n /**\n * Close connections\n */\n async close(): Promise<void> {\n // Remove all event listeners to prevent memory leaks\n this.removeAllListeners();\n\n // Close AgentDB connection\n if (this.db) {\n await this.db.close();\n this.db = null;\n }\n\n // Clear SONA engine reference\n this.sonaEngine = null;\n this.initialized = false;\n }\n\n /**\n * Merge HNSW and SONA patterns with quality filtering\n */\n private mergePatterns(\n hnswResults: any[],\n sonaPatterns: any[],\n minQuality: number\n ): any[] {\n const merged = new Map();\n\n // Add HNSW results\n for (const result of hnswResults) {\n if (result.metadata?.quality >= minQuality) {\n merged.set(result.id, {\n ...result,\n source: 'hnsw',\n score: result.distance\n });\n }\n }\n\n // Add SONA patterns\n for (const pattern of sonaPatterns) {\n const id = pattern.id || this.generateId();\n if (pattern.avgQuality >= minQuality) {\n if (merged.has(id)) {\n // Boost score if found in both\n const existing = merged.get(id);\n existing.score = (existing.score + (pattern.similarity || 0)) / 2;\n existing.source = 'hybrid';\n } else {\n merged.set(id, {\n id,\n ...pattern,\n source: 'sona',\n score: pattern.similarity || 0\n });\n }\n }\n }\n\n // Sort by score\n return Array.from(merged.values())\n .sort((a, b) => b.score - a.score);\n }\n\n /**\n * Generate unique ID\n */\n private generateId(): string {\n return `pattern_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n}\n\n/**\n * Pre-configured SONA+AgentDB profiles\n */\nexport const SONAAgentDBProfiles = {\n /**\n * Real-time profile: Optimized for <2ms latency\n */\n realtime: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 8,\n patternClusters: 25,\n hnswM: 8,\n hnswEfConstruction: 100\n }),\n\n /**\n * Balanced profile: Good speed + quality\n */\n balanced: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 100,\n hnswM: 16,\n hnswEfConstruction: 200\n }),\n\n /**\n * Quality profile: Maximum accuracy\n */\n quality: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n hnswM: 32,\n hnswEfConstruction: 400,\n microLoraLr: 0.002 // Sweet spot for +55% quality\n }),\n\n /**\n * Large-scale profile: Handle millions of patterns\n */\n largescale: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n hnswM: 16,\n hnswEfConstruction: 200,\n vectorDimensions: 3072\n })\n};\n"]}
1
+ {"version":3,"file":"sona-agentdb-integration.js","sourceRoot":"","sources":["../../src/services/sona-agentdb-integration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA + AgentDB Integration\n *\n * Combines SONA's LoRA fine-tuning with AgentDB's vector search\n * for ultra-fast adaptive learning with pattern matching\n */\n\nimport { EventEmitter } from 'events';\nimport { SonaEngine } from '@ruvector/sona';\nimport agentdb from 'agentdb';\nimport { SONAEngine, SONAStats, LearnResult, ValidationUtils } from './sona-types.js';\n\nexport interface AgentDBSONAConfig {\n // SONA config\n hiddenDim: number;\n microLoraRank: number;\n baseLoraRank: number;\n microLoraLr: number;\n ewcLambda: number;\n patternClusters: number;\n\n // AgentDB config\n dbPath?: string;\n vectorDimensions: number;\n enableHNSW: boolean;\n hnswM?: number;\n hnswEfConstruction?: number;\n}\n\nexport interface TrainingPattern {\n id?: string;\n embedding: number[];\n hiddenStates: number[];\n attention: number[];\n quality: number;\n context: Record<string, any>;\n timestamp?: number;\n}\n\n/**\n * SONA + AgentDB Integrated Trainer\n *\n * - SONA: Sub-millisecond LoRA adaptation (0.45ms)\n * - AgentDB: 125x faster HNSW vector search\n * - Combined: 150x-12,500x performance boost\n */\nexport class SONAAgentDBTrainer extends EventEmitter {\n private sonaEngine: SONAEngine | null = null;\n private db: any = null;\n private config: AgentDBSONAConfig;\n private initialized: boolean = false;\n\n constructor(config: Partial<AgentDBSONAConfig> = {}) {\n super();\n\n this.config = {\n // SONA defaults (from vibecast optimizations)\n hiddenDim: 3072,\n microLoraRank: 2,\n baseLoraRank: 16,\n microLoraLr: 0.002,\n ewcLambda: 2000,\n patternClusters: 100,\n\n // AgentDB defaults\n dbPath: '.sona-agentdb',\n vectorDimensions: 3072,\n enableHNSW: true,\n hnswM: 16,\n hnswEfConstruction: 200,\n\n ...config\n };\n }\n\n /**\n * Initialize SONA + AgentDB\n */\n async initialize(): Promise<void> {\n if (this.initialized) return;\n\n // Initialize SONA engine\n this.sonaEngine = SonaEngine.withConfig({\n hiddenDim: this.config.hiddenDim,\n microLoraRank: this.config.microLoraRank,\n baseLoraRank: this.config.baseLoraRank,\n microLoraLr: this.config.microLoraLr,\n ewcLambda: this.config.ewcLambda,\n patternClusters: this.config.patternClusters,\n enableSimd: true\n });\n\n // Initialize AgentDB with HNSW\n this.db = await agentdb.open({\n path: this.config.dbPath,\n vectorDimensions: this.config.vectorDimensions,\n enableHNSW: this.config.enableHNSW,\n hnswM: this.config.hnswM,\n hnswEfConstruction: this.config.hnswEfConstruction\n });\n\n this.initialized = true;\n this.emit('initialized', { config: this.config });\n }\n\n /**\n * Train with pattern storage in AgentDB\n *\n * Flow:\n * 1. SONA: Record trajectory + LoRA adaptation (0.45ms)\n * 2. AgentDB: Store pattern with HNSW indexing (0.8ms)\n * 3. Total: ~1.25ms per training example\n */\n async train(pattern: TrainingPattern): Promise<string> {\n await this.initialize();\n\n // Validate inputs\n ValidationUtils.validateEmbedding(pattern.embedding);\n ValidationUtils.validateStates(pattern.hiddenStates, pattern.attention);\n ValidationUtils.validateQuality(pattern.quality);\n\n if (!this.sonaEngine) {\n throw new Error('SONA engine not initialized');\n }\n\n // 1. SONA trajectory\n const tid = this.sonaEngine.beginTrajectory(pattern.embedding);\n\n // Add context\n if (pattern.context) {\n for (const [key, value] of Object.entries(pattern.context)) {\n this.sonaEngine.addTrajectoryContext(tid, `${key}:${value}`);\n }\n }\n\n // Add step with hidden states and attention\n this.sonaEngine.addTrajectoryStep(\n tid,\n pattern.hiddenStates,\n pattern.attention,\n pattern.quality\n );\n\n // End trajectory (triggers LoRA update)\n this.sonaEngine.endTrajectory(tid, pattern.quality);\n\n // 2. Store in AgentDB with HNSW indexing\n const patternId = pattern.id || this.generateId();\n\n await this.db.insert({\n id: patternId,\n vector: pattern.embedding,\n metadata: {\n quality: pattern.quality,\n context: pattern.context,\n timestamp: pattern.timestamp || Date.now(),\n trajectoryId: tid\n }\n });\n\n this.emit('pattern:stored', {\n id: patternId,\n quality: pattern.quality,\n latency: '~1.25ms'\n });\n\n return patternId;\n }\n\n /**\n * Query with hybrid SONA + AgentDB retrieval\n *\n * Flow:\n * 1. AgentDB HNSW search: Find k nearest neighbors (125x faster)\n * 2. SONA pattern matching: Refine with learned patterns (761 decisions/sec)\n * 3. SONA adaptation: Apply LoRA to query embedding (0.45ms)\n */\n async query(\n queryEmbedding: number[],\n k: number = 5,\n minQuality: number = 0.5\n ): Promise<{\n patterns: any[];\n adapted: number[];\n latency: {\n hnsw: number;\n sona: number;\n total: number;\n };\n }> {\n await this.initialize();\n\n // Validate inputs\n ValidationUtils.validateEmbedding(queryEmbedding);\n ValidationUtils.validateQuality(minQuality, 'minQuality');\n\n if (k < 1 || k > 1000) {\n throw new Error(`k must be between 1 and 1000, got ${k}`);\n }\n\n if (!this.sonaEngine || !this.db) {\n throw new Error('SONA engine or database not initialized');\n }\n\n const startTime = performance.now();\n\n // 1. AgentDB HNSW search (125x faster than traditional)\n const hnswStart = performance.now();\n const hnswResults = await this.db.search({\n vector: queryEmbedding,\n k: k * 2, // Get extra for quality filtering\n metric: 'cosine'\n });\n const hnswTime = performance.now() - hnswStart;\n\n // 2. SONA pattern matching (761 decisions/sec)\n const sonaStart = performance.now();\n const sonaPatterns = this.sonaEngine.findPatterns(queryEmbedding, k);\n const sonaTime = performance.now() - sonaStart;\n\n // 3. Merge and filter by quality\n const mergedPatterns = this.mergePatterns(hnswResults, sonaPatterns, minQuality);\n\n // 4. Apply SONA adaptation (0.45ms)\n const adapted = this.sonaEngine.applyMicroLora(queryEmbedding);\n const totalTime = performance.now() - startTime;\n\n return {\n patterns: mergedPatterns.slice(0, k),\n adapted,\n latency: {\n hnsw: hnswTime,\n sona: sonaTime,\n total: totalTime\n }\n };\n }\n\n /**\n * Batch train multiple patterns efficiently\n */\n async batchTrain(patterns: TrainingPattern[]): Promise<{\n success: number;\n failed: number;\n avgLatency: number;\n }> {\n await this.initialize();\n\n const startTime = performance.now();\n let success = 0;\n let failed = 0;\n\n for (const pattern of patterns) {\n try {\n await this.train(pattern);\n success++;\n } catch (error) {\n failed++;\n this.emit('train:error', { pattern, error });\n }\n }\n\n const totalTime = performance.now() - startTime;\n const avgLatency = totalTime / patterns.length;\n\n this.emit('batch:complete', {\n total: patterns.length,\n success,\n failed,\n avgLatency\n });\n\n return { success, failed, avgLatency };\n }\n\n /**\n * Get comprehensive statistics\n */\n async getStats(): Promise<{\n sona: SONAStats;\n agentdb: any;\n combined: {\n totalPatterns: number;\n avgQueryLatency: string;\n storageEfficiency: string;\n };\n }> {\n await this.initialize();\n\n if (!this.sonaEngine || !this.db) {\n throw new Error('SONA engine or database not initialized');\n }\n\n const sonaStats = this.sonaEngine.getStats();\n const agentdbStats = await this.db.stats();\n\n return {\n sona: sonaStats,\n agentdb: agentdbStats,\n combined: {\n totalPatterns: agentdbStats.totalVectors || 0,\n avgQueryLatency: '~1.25ms (HNSW + SONA)',\n storageEfficiency: '~3KB per pattern'\n }\n };\n }\n\n /**\n * Force SONA learning cycle\n */\n async forceLearn(): Promise<LearnResult> {\n if (!this.sonaEngine) {\n throw new Error('SONA engine not initialized');\n }\n\n const result = this.sonaEngine.forceLearn();\n this.emit('learn:complete', result);\n return result;\n }\n\n /**\n * Export trained model\n */\n async export(path: string): Promise<void> {\n // Export SONA LoRA weights (future: use HuggingFaceExporter)\n // For now, save configuration and stats\n const stats = await this.getStats();\n\n const fs = await import('fs/promises');\n await fs.writeFile(path, JSON.stringify({\n config: this.config,\n stats,\n exported: new Date().toISOString()\n }, null, 2));\n\n this.emit('export:complete', { path });\n }\n\n /**\n * Close connections\n */\n async close(): Promise<void> {\n // Remove all event listeners to prevent memory leaks\n this.removeAllListeners();\n\n // Close AgentDB connection\n if (this.db) {\n await this.db.close();\n this.db = null;\n }\n\n // Clear SONA engine reference\n this.sonaEngine = null;\n this.initialized = false;\n }\n\n /**\n * Merge HNSW and SONA patterns with quality filtering\n */\n private mergePatterns(\n hnswResults: any[],\n sonaPatterns: any[],\n minQuality: number\n ): any[] {\n const merged = new Map();\n\n // Add HNSW results\n for (const result of hnswResults) {\n if (result.metadata?.quality >= minQuality) {\n merged.set(result.id, {\n ...result,\n source: 'hnsw',\n score: result.distance\n });\n }\n }\n\n // Add SONA patterns\n for (const pattern of sonaPatterns) {\n const id = pattern.id || this.generateId();\n if (pattern.avgQuality >= minQuality) {\n if (merged.has(id)) {\n // Boost score if found in both\n const existing = merged.get(id);\n existing.score = (existing.score + (pattern.similarity || 0)) / 2;\n existing.source = 'hybrid';\n } else {\n merged.set(id, {\n id,\n ...pattern,\n source: 'sona',\n score: pattern.similarity || 0\n });\n }\n }\n }\n\n // Sort by score\n return Array.from(merged.values())\n .sort((a, b) => b.score - a.score);\n }\n\n /**\n * Generate unique ID\n */\n private generateId(): string {\n return `pattern_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n}\n\n/**\n * Pre-configured SONA+AgentDB profiles\n */\nexport const SONAAgentDBProfiles = {\n /**\n * Real-time profile: Optimized for <2ms latency\n */\n realtime: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 8,\n patternClusters: 25,\n hnswM: 8,\n hnswEfConstruction: 100\n }),\n\n /**\n * Balanced profile: Good speed + quality\n */\n balanced: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 100,\n hnswM: 16,\n hnswEfConstruction: 200\n }),\n\n /**\n * Quality profile: Maximum accuracy\n */\n quality: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n hnswM: 32,\n hnswEfConstruction: 400,\n microLoraLr: 0.002 // Sweet spot for +55% quality\n }),\n\n /**\n * Large-scale profile: Handle millions of patterns\n */\n largescale: (): Partial<AgentDBSONAConfig> => ({\n microLoraRank: 2,\n baseLoraRank: 16,\n patternClusters: 200,\n hnswM: 16,\n hnswEfConstruction: 200,\n vectorDimensions: 3072\n })\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sona-service.d.ts","sourceRoot":"","sources":["../../src/services/sona-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sona-service.d.ts","sourceRoot":"","sources":["../../src/services/sona-service.ts"],"names":[],"mappings":"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"}
@@ -160,8 +160,7 @@ export class SONAService extends EventEmitter {
160
160
  * Begin a new trajectory
161
161
  */
162
162
  beginTrajectory(embedding, route) {
163
- const numericId = this.engine.beginTrajectory(embedding);
164
- const id = String(numericId);
163
+ const id = this.engine.beginTrajectory(embedding);
165
164
  const metadata = {
166
165
  id,
167
166
  embedding,
@@ -174,7 +173,7 @@ export class SONAService extends EventEmitter {
174
173
  this.stats.totalTrajectories++;
175
174
  this.stats.activeTrajectories++;
176
175
  if (route) {
177
- this.engine.setTrajectoryRoute(numericId, route);
176
+ this.engine.setTrajectoryRoute(id, route);
178
177
  }
179
178
  this.emit('trajectory:begin', { id, route });
180
179
  return id;
@@ -187,7 +186,7 @@ export class SONAService extends EventEmitter {
187
186
  if (!metadata) {
188
187
  throw new Error(`Trajectory ${trajectoryId} not found`);
189
188
  }
190
- this.engine.addTrajectoryStep(Number(trajectoryId), activations, attentionWeights, reward);
189
+ this.engine.addTrajectoryStep(trajectoryId, activations, attentionWeights, reward);
191
190
  metadata.steps.push({
192
191
  activations,
193
192
  attentionWeights,
@@ -204,7 +203,7 @@ export class SONAService extends EventEmitter {
204
203
  if (!metadata) {
205
204
  throw new Error(`Trajectory ${trajectoryId} not found`);
206
205
  }
207
- this.engine.addTrajectoryContext(Number(trajectoryId), contextId);
206
+ this.engine.addTrajectoryContext(trajectoryId, contextId);
208
207
  metadata.contexts.push(contextId);
209
208
  this.emit('trajectory:context', { trajectoryId, contextId });
210
209
  }
@@ -216,7 +215,7 @@ export class SONAService extends EventEmitter {
216
215
  if (!metadata) {
217
216
  throw new Error(`Trajectory ${trajectoryId} not found`);
218
217
  }
219
- this.engine.endTrajectory(Number(trajectoryId), qualityScore);
218
+ this.engine.endTrajectory(trajectoryId, qualityScore);
220
219
  metadata.endTime = Date.now();
221
220
  metadata.qualityScore = qualityScore;
222
221
  this.stats.activeTrajectories--;
@@ -1 +1 @@
1
- {"version":3,"file":"sona-service.js","sourceRoot":"","sources":["../../src/services/sona-service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA Service - Self-Optimizing Neural Architecture\n *\n * Production implementation based on vibecast test-ruvector-sona patterns\n * Achieves +55.3% quality improvement with optimal configuration\n *\n * Key Performance Metrics:\n * - 2211 ops/sec throughput\n * - 18.07ms total overhead (40 layers)\n * - 0.452ms per-layer cost\n * - Sub-millisecond token latency\n *\n * Based on: https://github.com/ruvnet/vibecast/tree/claude/test-ruvector-sona-01Raj3Q3P4qjff4JGVipJhvz\n */\n\nimport { SonaEngine } from '@ruvector/sona';\nimport { EventEmitter } from 'events';\n\n/**\n * SONA Configuration Profiles\n */\nexport type SONAProfile = 'real-time' | 'batch' | 'research' | 'edge' | 'balanced' | 'custom';\n\nexport interface SONAConfig {\n profile?: SONAProfile;\n\n // Model dimensions\n hiddenDim: number; // Must match model dimensions (e.g., 3072 for Phi-4)\n embeddingDim: number; // Embedding dimension (e.g., 1536 for OpenAI)\n\n // LoRA configuration\n microLoraRank: number; // Rank-2 is faster than rank-1 (SIMD optimization)\n baseLoraRank: number; // Base LoRA rank (4, 8, 16)\n microLoraLr: number; // Learning rate: 0.002 is sweet spot\n baseLoraLr: number; // Base learning rate\n\n // EWC++ (Elastic Weight Consolidation)\n ewcLambda: number; // 2000-2500 prevents catastrophic forgetting\n\n // Pattern clustering\n patternClusters: number; // 100 clusters: breakpoint for latency (3.0ms → 1.3ms)\n\n // Trajectory management\n trajectoryCapacity: number; // Trigger forceLearn() at 80% utilization\n backgroundIntervalMs: number;\n qualityThreshold: number; // 0.2-0.4 for optimal learning\n\n // Performance\n enableSimd: boolean; // +10% performance acceleration\n}\n\nexport interface TrajectoryMetadata {\n id: string;\n embedding: number[];\n route?: string; // LLM model used (e.g., 'claude-sonnet-4-5')\n contexts: string[]; // Context IDs\n steps: TrajectoryStep[];\n startTime: number;\n endTime?: number;\n qualityScore?: number;\n}\n\nexport interface TrajectoryStep {\n activations: number[];\n attentionWeights: number[];\n reward: number;\n timestamp: number;\n}\n\nexport interface PatternMatch {\n id: string;\n centroid: number[];\n clusterSize: number;\n avgQuality: number;\n patternType: string;\n similarity: number;\n}\n\n/**\n * SONA Service - Main orchestration class\n */\nexport class SONAService extends EventEmitter {\n private engine: SonaEngine;\n private config: SONAConfig;\n private trajectories: Map<string, TrajectoryMetadata>;\n private stats: {\n totalTrajectories: number;\n activeTrajectories: number;\n completedTrajectories: number;\n totalLearningCycles: number;\n avgQualityScore: number;\n totalOpsProcessed: number;\n };\n\n constructor(config?: Partial<SONAConfig>) {\n super();\n\n // Apply profile or custom config\n this.config = this.resolveConfig(config);\n\n // Initialize SONA engine\n this.engine = SonaEngine.withConfig({\n hiddenDim: this.config.hiddenDim,\n embeddingDim: this.config.embeddingDim,\n microLoraRank: this.config.microLoraRank,\n baseLoraRank: this.config.baseLoraRank,\n microLoraLr: this.config.microLoraLr,\n baseLoraLr: this.config.baseLoraLr,\n ewcLambda: this.config.ewcLambda,\n patternClusters: this.config.patternClusters,\n trajectoryCapacity: this.config.trajectoryCapacity,\n backgroundIntervalMs: this.config.backgroundIntervalMs,\n qualityThreshold: this.config.qualityThreshold,\n enableSimd: this.config.enableSimd\n });\n\n this.trajectories = new Map();\n this.stats = {\n totalTrajectories: 0,\n activeTrajectories: 0,\n completedTrajectories: 0,\n totalLearningCycles: 0,\n avgQualityScore: 0,\n totalOpsProcessed: 0\n };\n\n this.emit('sona:initialized', { config: this.config });\n }\n\n /**\n * Resolve configuration from profile or custom settings\n */\n private resolveConfig(config?: Partial<SONAConfig>): SONAConfig {\n const profile = config?.profile || 'balanced';\n\n // Profile-based configurations (from vibecast KEY_FINDINGS.md)\n const profiles: Record<SONAProfile, Partial<SONAConfig>> = {\n // Real-Time: Rank-2, 25 clusters, 0.7 threshold → 2200 ops/sec, <0.5ms\n 'real-time': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 4,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000,\n patternClusters: 25,\n trajectoryCapacity: 1000,\n backgroundIntervalMs: 3600000,\n qualityThreshold: 0.7,\n enableSimd: true\n },\n\n // Batch Processing: Rank-2, rank-8, 5000 capacity\n 'batch': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true\n },\n\n // Research/Fine-Tuning: Rank-2 micro, rank-16 base, LR 0.002, threshold 0.2\n // Maximum Quality: +55% improvement\n 'research': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 16,\n microLoraLr: 0.002, // Sweet spot for quality gains\n baseLoraLr: 0.0001,\n ewcLambda: 2500,\n patternClusters: 100,\n trajectoryCapacity: 10000,\n backgroundIntervalMs: 900000,\n qualityThreshold: 0.2, // Learn from more data\n enableSimd: true\n },\n\n // Edge/Mobile: Rank-1, 200 capacity, 15 clusters → <5MB memory\n 'edge': {\n hiddenDim: 768,\n embeddingDim: 384,\n microLoraRank: 1,\n baseLoraRank: 2,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000,\n patternClusters: 15,\n trajectoryCapacity: 200,\n backgroundIntervalMs: 7200000,\n qualityThreshold: 0.5,\n enableSimd: false\n },\n\n // Balanced: Rank-2, rank-8, 0.4 threshold → 18ms, +25% quality\n 'balanced': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true\n },\n\n // Custom: User-provided configuration\n 'custom': {}\n };\n\n const profileConfig = profiles[profile];\n\n return {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true,\n ...profileConfig,\n ...config\n };\n }\n\n /**\n * Begin a new trajectory\n */\n beginTrajectory(embedding: number[], route?: string): string {\n const numericId = this.engine.beginTrajectory(embedding);\n const id = String(numericId);\n\n const metadata: TrajectoryMetadata = {\n id,\n embedding,\n route,\n contexts: [],\n steps: [],\n startTime: Date.now()\n };\n\n this.trajectories.set(id, metadata);\n this.stats.totalTrajectories++;\n this.stats.activeTrajectories++;\n\n if (route) {\n this.engine.setTrajectoryRoute(numericId, route);\n }\n\n this.emit('trajectory:begin', { id, route });\n\n return id;\n }\n\n /**\n * Add a step to an active trajectory\n */\n addTrajectoryStep(\n trajectoryId: string,\n activations: number[],\n attentionWeights: number[],\n reward: number\n ): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.addTrajectoryStep(Number(trajectoryId), activations, attentionWeights, reward);\n\n metadata.steps.push({\n activations,\n attentionWeights,\n reward,\n timestamp: Date.now()\n });\n\n this.emit('trajectory:step', { trajectoryId, step: metadata.steps.length });\n }\n\n /**\n * Add context to a trajectory\n */\n addTrajectoryContext(trajectoryId: string, contextId: string): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.addTrajectoryContext(Number(trajectoryId), contextId);\n metadata.contexts.push(contextId);\n\n this.emit('trajectory:context', { trajectoryId, contextId });\n }\n\n /**\n * End a trajectory with quality score\n */\n endTrajectory(trajectoryId: string, qualityScore: number): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.endTrajectory(Number(trajectoryId), qualityScore);\n\n metadata.endTime = Date.now();\n metadata.qualityScore = qualityScore;\n\n this.stats.activeTrajectories--;\n this.stats.completedTrajectories++;\n this.stats.avgQualityScore =\n (this.stats.avgQualityScore * (this.stats.completedTrajectories - 1) + qualityScore) /\n this.stats.completedTrajectories;\n\n this.emit('trajectory:end', {\n trajectoryId,\n qualityScore,\n duration: metadata.endTime - metadata.startTime,\n steps: metadata.steps.length\n });\n\n // Check if we should trigger learning\n this.checkLearningTrigger();\n }\n\n /**\n * Apply Micro-LoRA to input\n */\n applyMicroLora(input: number[]): number[] {\n const output = this.engine.applyMicroLora(input);\n this.stats.totalOpsProcessed++;\n return output;\n }\n\n /**\n * Apply Base-LoRA to layer\n */\n applyBaseLora(layerIndex: number, input: number[]): number[] {\n const output = this.engine.applyBaseLora(layerIndex, input);\n this.stats.totalOpsProcessed++;\n return output;\n }\n\n /**\n * Find similar patterns\n */\n findPatterns(query: number[], k: number = 3): PatternMatch[] {\n // Route with k=3 patterns for 761 decisions/sec throughput (from KEY_FINDINGS)\n const patterns = this.engine.findPatterns(query, k);\n\n return patterns.map(p => ({\n id: p.id,\n centroid: p.centroid,\n clusterSize: p.clusterSize,\n avgQuality: p.avgQuality,\n patternType: p.patternType,\n similarity: this.calculateSimilarity(query, p.centroid)\n }));\n }\n\n /**\n * Calculate cosine similarity between vectors\n */\n private calculateSimilarity(a: number[], b: number[]): number {\n const dotProduct = a.reduce((sum, val, i) => sum + val * b[i], 0);\n const magA = Math.sqrt(a.reduce((sum, val) => sum + val * val, 0));\n const magB = Math.sqrt(b.reduce((sum, val) => sum + val * val, 0));\n return dotProduct / (magA * magB);\n }\n\n /**\n * Force learning cycle\n */\n forceLearn(): { success: boolean; patternsLearned: number } {\n const status = this.engine.forceLearn();\n this.stats.totalLearningCycles++;\n\n this.emit('learning:cycle', { status });\n\n return {\n success: true,\n patternsLearned: this.engine.getStats().split('\\n').length\n };\n }\n\n /**\n * Check if learning should be triggered\n * Trigger forceLearn() when 80% of trajectory capacity is full\n */\n private checkLearningTrigger(): void {\n const utilizationThreshold = 0.8;\n const currentUtilization = this.stats.activeTrajectories / this.config.trajectoryCapacity;\n\n if (currentUtilization >= utilizationThreshold) {\n this.emit('learning:trigger', {\n utilization: currentUtilization,\n threshold: utilizationThreshold\n });\n this.forceLearn();\n }\n }\n\n /**\n * Tick for scheduled learning\n */\n tick(): void {\n this.engine.tick();\n }\n\n /**\n * Get engine statistics\n */\n getEngineStats(): string {\n return this.engine.getStats();\n }\n\n /**\n * Get service statistics\n */\n getStats() {\n return {\n ...this.stats,\n config: this.config,\n engineEnabled: this.engine.isEnabled(),\n trajectoryUtilization: this.stats.activeTrajectories / this.config.trajectoryCapacity,\n avgTrajectoryDuration: this.calculateAvgTrajectoryDuration(),\n opsPerSecond: this.calculateOpsPerSecond()\n };\n }\n\n /**\n * Calculate average trajectory duration\n */\n private calculateAvgTrajectoryDuration(): number {\n let totalDuration = 0;\n let count = 0;\n\n for (const trajectory of this.trajectories.values()) {\n if (trajectory.endTime) {\n totalDuration += trajectory.endTime - trajectory.startTime;\n count++;\n }\n }\n\n return count > 0 ? totalDuration / count : 0;\n }\n\n /**\n * Calculate operations per second\n */\n private calculateOpsPerSecond(): number {\n // Simple estimation based on total ops and service uptime\n // In production, use a sliding window\n return this.stats.totalOpsProcessed / ((Date.now() - this.stats.totalTrajectories) / 1000);\n }\n\n /**\n * Enable/disable engine\n */\n setEnabled(enabled: boolean): void {\n this.engine.setEnabled(enabled);\n this.emit('engine:enabled', { enabled });\n }\n\n /**\n * Check if engine is enabled\n */\n isEnabled(): boolean {\n return this.engine.isEnabled();\n }\n\n /**\n * Flush engine state\n */\n flush(): void {\n this.engine.flush();\n this.emit('engine:flushed');\n }\n\n /**\n * Get trajectory metadata\n */\n getTrajectory(trajectoryId: string): TrajectoryMetadata | undefined {\n return this.trajectories.get(trajectoryId);\n }\n\n /**\n * Get all active trajectories\n */\n getActiveTrajectories(): TrajectoryMetadata[] {\n return Array.from(this.trajectories.values()).filter(t => !t.endTime);\n }\n}\n\n/**\n * Create singleton SONA service instances for different use cases\n */\nexport const sonaServices = {\n realtime: new SONAService({ profile: 'real-time' }),\n batch: new SONAService({ profile: 'batch' }),\n research: new SONAService({ profile: 'research' }),\n edge: new SONAService({ profile: 'edge' }),\n balanced: new SONAService({ profile: 'balanced' })\n};\n\n/**\n * Default SONA service (balanced profile)\n */\nexport const sonaService = sonaServices.balanced;\n\n/**\n * Convenience function to create custom SONA service\n */\nexport function createSONAService(config?: Partial<SONAConfig>): SONAService {\n return new SONAService(config);\n}\n\n/**\n * Example usage based on vibecast sona.test.js patterns\n */\nexport async function exampleUsage() {\n console.log('🧠 SONA Service Example\\n');\n\n // Use balanced profile service\n const sona = sonaService;\n\n // Example 1: Begin trajectory\n const embedding = Array.from({ length: 1536 }, () => Math.random());\n const trajectoryId = sona.beginTrajectory(embedding, 'claude-sonnet-4-5');\n console.log(`Started trajectory: ${trajectoryId}`);\n\n // Example 2: Add steps\n for (let i = 0; i < 5; i++) {\n const activations = Array.from({ length: 3072 }, () => Math.random());\n const attentionWeights = Array.from({ length: 40 }, () => Math.random());\n const reward = 0.8 + Math.random() * 0.2;\n\n sona.addTrajectoryStep(trajectoryId, activations, attentionWeights, reward);\n }\n\n // Example 3: Add context\n sona.addTrajectoryContext(trajectoryId, 'task-code-review');\n\n // Example 4: End trajectory\n sona.endTrajectory(trajectoryId, 0.92);\n\n // Example 5: Find patterns\n const query = Array.from({ length: 1536 }, () => Math.random());\n const patterns = sona.findPatterns(query, 3);\n console.log(`\\nFound ${patterns.length} similar patterns:`);\n patterns.forEach((p, i) => {\n console.log(` ${i + 1}. Quality: ${p.avgQuality.toFixed(2)}, Similarity: ${p.similarity.toFixed(3)}`);\n });\n\n // Example 6: Apply LoRA\n const input = Array.from({ length: 3072 }, () => Math.random());\n const output = sona.applyMicroLora(input);\n console.log(`\\nApplied Micro-LoRA to ${input.length}D vector`);\n\n // Example 7: Statistics\n const stats = sona.getStats();\n console.log('\\nSONA Statistics:');\n console.log(` Total Trajectories: ${stats.totalTrajectories}`);\n console.log(` Completed: ${stats.completedTrajectories}`);\n console.log(` Avg Quality: ${stats.avgQualityScore.toFixed(2)}`);\n console.log(` Total Ops: ${stats.totalOpsProcessed}`);\n console.log(` Capacity Utilization: ${(stats.trajectoryUtilization * 100).toFixed(1)}%`);\n}\n\n// Auto-run example if executed directly\nif (require.main === module) {\n exampleUsage().catch(console.error);\n}\n"]}
1
+ {"version":3,"file":"sona-service.js","sourceRoot":"","sources":["../../src/services/sona-service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA Service - Self-Optimizing Neural Architecture\n *\n * Production implementation based on vibecast test-ruvector-sona patterns\n * Achieves +55.3% quality improvement with optimal configuration\n *\n * Key Performance Metrics:\n * - 2211 ops/sec throughput\n * - 18.07ms total overhead (40 layers)\n * - 0.452ms per-layer cost\n * - Sub-millisecond token latency\n *\n * Based on: https://github.com/ruvnet/vibecast/tree/claude/test-ruvector-sona-01Raj3Q3P4qjff4JGVipJhvz\n */\n\nimport { SonaEngine } from '@ruvector/sona';\nimport { EventEmitter } from 'events';\n\n/**\n * SONA Configuration Profiles\n */\nexport type SONAProfile = 'real-time' | 'batch' | 'research' | 'edge' | 'balanced' | 'custom';\n\nexport interface SONAConfig {\n profile?: SONAProfile;\n\n // Model dimensions\n hiddenDim: number; // Must match model dimensions (e.g., 3072 for Phi-4)\n embeddingDim: number; // Embedding dimension (e.g., 1536 for OpenAI)\n\n // LoRA configuration\n microLoraRank: number; // Rank-2 is faster than rank-1 (SIMD optimization)\n baseLoraRank: number; // Base LoRA rank (4, 8, 16)\n microLoraLr: number; // Learning rate: 0.002 is sweet spot\n baseLoraLr: number; // Base learning rate\n\n // EWC++ (Elastic Weight Consolidation)\n ewcLambda: number; // 2000-2500 prevents catastrophic forgetting\n\n // Pattern clustering\n patternClusters: number; // 100 clusters: breakpoint for latency (3.0ms → 1.3ms)\n\n // Trajectory management\n trajectoryCapacity: number; // Trigger forceLearn() at 80% utilization\n backgroundIntervalMs: number;\n qualityThreshold: number; // 0.2-0.4 for optimal learning\n\n // Performance\n enableSimd: boolean; // +10% performance acceleration\n}\n\nexport interface TrajectoryMetadata {\n id: string;\n embedding: number[];\n route?: string; // LLM model used (e.g., 'claude-sonnet-4-5')\n contexts: string[]; // Context IDs\n steps: TrajectoryStep[];\n startTime: number;\n endTime?: number;\n qualityScore?: number;\n}\n\nexport interface TrajectoryStep {\n activations: number[];\n attentionWeights: number[];\n reward: number;\n timestamp: number;\n}\n\nexport interface PatternMatch {\n id: string;\n centroid: number[];\n clusterSize: number;\n avgQuality: number;\n patternType: string;\n similarity: number;\n}\n\n/**\n * SONA Service - Main orchestration class\n */\nexport class SONAService extends EventEmitter {\n private engine: SonaEngine;\n private config: SONAConfig;\n private trajectories: Map<string, TrajectoryMetadata>;\n private stats: {\n totalTrajectories: number;\n activeTrajectories: number;\n completedTrajectories: number;\n totalLearningCycles: number;\n avgQualityScore: number;\n totalOpsProcessed: number;\n };\n\n constructor(config?: Partial<SONAConfig>) {\n super();\n\n // Apply profile or custom config\n this.config = this.resolveConfig(config);\n\n // Initialize SONA engine\n this.engine = SonaEngine.withConfig({\n hiddenDim: this.config.hiddenDim,\n embeddingDim: this.config.embeddingDim,\n microLoraRank: this.config.microLoraRank,\n baseLoraRank: this.config.baseLoraRank,\n microLoraLr: this.config.microLoraLr,\n baseLoraLr: this.config.baseLoraLr,\n ewcLambda: this.config.ewcLambda,\n patternClusters: this.config.patternClusters,\n trajectoryCapacity: this.config.trajectoryCapacity,\n backgroundIntervalMs: this.config.backgroundIntervalMs,\n qualityThreshold: this.config.qualityThreshold,\n enableSimd: this.config.enableSimd\n });\n\n this.trajectories = new Map();\n this.stats = {\n totalTrajectories: 0,\n activeTrajectories: 0,\n completedTrajectories: 0,\n totalLearningCycles: 0,\n avgQualityScore: 0,\n totalOpsProcessed: 0\n };\n\n this.emit('sona:initialized', { config: this.config });\n }\n\n /**\n * Resolve configuration from profile or custom settings\n */\n private resolveConfig(config?: Partial<SONAConfig>): SONAConfig {\n const profile = config?.profile || 'balanced';\n\n // Profile-based configurations (from vibecast KEY_FINDINGS.md)\n const profiles: Record<SONAProfile, Partial<SONAConfig>> = {\n // Real-Time: Rank-2, 25 clusters, 0.7 threshold → 2200 ops/sec, <0.5ms\n 'real-time': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 4,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000,\n patternClusters: 25,\n trajectoryCapacity: 1000,\n backgroundIntervalMs: 3600000,\n qualityThreshold: 0.7,\n enableSimd: true\n },\n\n // Batch Processing: Rank-2, rank-8, 5000 capacity\n 'batch': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true\n },\n\n // Research/Fine-Tuning: Rank-2 micro, rank-16 base, LR 0.002, threshold 0.2\n // Maximum Quality: +55% improvement\n 'research': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 16,\n microLoraLr: 0.002, // Sweet spot for quality gains\n baseLoraLr: 0.0001,\n ewcLambda: 2500,\n patternClusters: 100,\n trajectoryCapacity: 10000,\n backgroundIntervalMs: 900000,\n qualityThreshold: 0.2, // Learn from more data\n enableSimd: true\n },\n\n // Edge/Mobile: Rank-1, 200 capacity, 15 clusters → <5MB memory\n 'edge': {\n hiddenDim: 768,\n embeddingDim: 384,\n microLoraRank: 1,\n baseLoraRank: 2,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000,\n patternClusters: 15,\n trajectoryCapacity: 200,\n backgroundIntervalMs: 7200000,\n qualityThreshold: 0.5,\n enableSimd: false\n },\n\n // Balanced: Rank-2, rank-8, 0.4 threshold → 18ms, +25% quality\n 'balanced': {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true\n },\n\n // Custom: User-provided configuration\n 'custom': {}\n };\n\n const profileConfig = profiles[profile];\n\n return {\n hiddenDim: 3072,\n embeddingDim: 1536,\n microLoraRank: 2,\n baseLoraRank: 8,\n microLoraLr: 0.002,\n baseLoraLr: 0.0001,\n ewcLambda: 2000,\n patternClusters: 50,\n trajectoryCapacity: 5000,\n backgroundIntervalMs: 1800000,\n qualityThreshold: 0.4,\n enableSimd: true,\n ...profileConfig,\n ...config\n };\n }\n\n /**\n * Begin a new trajectory\n */\n beginTrajectory(embedding: number[], route?: string): string {\n const id = this.engine.beginTrajectory(embedding);\n\n const metadata: TrajectoryMetadata = {\n id,\n embedding,\n route,\n contexts: [],\n steps: [],\n startTime: Date.now()\n };\n\n this.trajectories.set(id, metadata);\n this.stats.totalTrajectories++;\n this.stats.activeTrajectories++;\n\n if (route) {\n this.engine.setTrajectoryRoute(id, route);\n }\n\n this.emit('trajectory:begin', { id, route });\n\n return id;\n }\n\n /**\n * Add a step to an active trajectory\n */\n addTrajectoryStep(\n trajectoryId: string,\n activations: number[],\n attentionWeights: number[],\n reward: number\n ): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.addTrajectoryStep(trajectoryId, activations, attentionWeights, reward);\n\n metadata.steps.push({\n activations,\n attentionWeights,\n reward,\n timestamp: Date.now()\n });\n\n this.emit('trajectory:step', { trajectoryId, step: metadata.steps.length });\n }\n\n /**\n * Add context to a trajectory\n */\n addTrajectoryContext(trajectoryId: string, contextId: string): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.addTrajectoryContext(trajectoryId, contextId);\n metadata.contexts.push(contextId);\n\n this.emit('trajectory:context', { trajectoryId, contextId });\n }\n\n /**\n * End a trajectory with quality score\n */\n endTrajectory(trajectoryId: string, qualityScore: number): void {\n const metadata = this.trajectories.get(trajectoryId);\n if (!metadata) {\n throw new Error(`Trajectory ${trajectoryId} not found`);\n }\n\n this.engine.endTrajectory(trajectoryId, qualityScore);\n\n metadata.endTime = Date.now();\n metadata.qualityScore = qualityScore;\n\n this.stats.activeTrajectories--;\n this.stats.completedTrajectories++;\n this.stats.avgQualityScore =\n (this.stats.avgQualityScore * (this.stats.completedTrajectories - 1) + qualityScore) /\n this.stats.completedTrajectories;\n\n this.emit('trajectory:end', {\n trajectoryId,\n qualityScore,\n duration: metadata.endTime - metadata.startTime,\n steps: metadata.steps.length\n });\n\n // Check if we should trigger learning\n this.checkLearningTrigger();\n }\n\n /**\n * Apply Micro-LoRA to input\n */\n applyMicroLora(input: number[]): number[] {\n const output = this.engine.applyMicroLora(input);\n this.stats.totalOpsProcessed++;\n return output;\n }\n\n /**\n * Apply Base-LoRA to layer\n */\n applyBaseLora(layerIndex: number, input: number[]): number[] {\n const output = this.engine.applyBaseLora(layerIndex, input);\n this.stats.totalOpsProcessed++;\n return output;\n }\n\n /**\n * Find similar patterns\n */\n findPatterns(query: number[], k: number = 3): PatternMatch[] {\n // Route with k=3 patterns for 761 decisions/sec throughput (from KEY_FINDINGS)\n const patterns = this.engine.findPatterns(query, k);\n\n return patterns.map(p => ({\n id: p.id,\n centroid: p.centroid,\n clusterSize: p.clusterSize,\n avgQuality: p.avgQuality,\n patternType: p.patternType,\n similarity: this.calculateSimilarity(query, p.centroid)\n }));\n }\n\n /**\n * Calculate cosine similarity between vectors\n */\n private calculateSimilarity(a: number[], b: number[]): number {\n const dotProduct = a.reduce((sum, val, i) => sum + val * b[i], 0);\n const magA = Math.sqrt(a.reduce((sum, val) => sum + val * val, 0));\n const magB = Math.sqrt(b.reduce((sum, val) => sum + val * val, 0));\n return dotProduct / (magA * magB);\n }\n\n /**\n * Force learning cycle\n */\n forceLearn(): { success: boolean; patternsLearned: number } {\n const status = this.engine.forceLearn();\n this.stats.totalLearningCycles++;\n\n this.emit('learning:cycle', { status });\n\n return {\n success: true,\n patternsLearned: this.engine.getStats().split('\\n').length\n };\n }\n\n /**\n * Check if learning should be triggered\n * Trigger forceLearn() when 80% of trajectory capacity is full\n */\n private checkLearningTrigger(): void {\n const utilizationThreshold = 0.8;\n const currentUtilization = this.stats.activeTrajectories / this.config.trajectoryCapacity;\n\n if (currentUtilization >= utilizationThreshold) {\n this.emit('learning:trigger', {\n utilization: currentUtilization,\n threshold: utilizationThreshold\n });\n this.forceLearn();\n }\n }\n\n /**\n * Tick for scheduled learning\n */\n tick(): void {\n this.engine.tick();\n }\n\n /**\n * Get engine statistics\n */\n getEngineStats(): string {\n return this.engine.getStats();\n }\n\n /**\n * Get service statistics\n */\n getStats() {\n return {\n ...this.stats,\n config: this.config,\n engineEnabled: this.engine.isEnabled(),\n trajectoryUtilization: this.stats.activeTrajectories / this.config.trajectoryCapacity,\n avgTrajectoryDuration: this.calculateAvgTrajectoryDuration(),\n opsPerSecond: this.calculateOpsPerSecond()\n };\n }\n\n /**\n * Calculate average trajectory duration\n */\n private calculateAvgTrajectoryDuration(): number {\n let totalDuration = 0;\n let count = 0;\n\n for (const trajectory of this.trajectories.values()) {\n if (trajectory.endTime) {\n totalDuration += trajectory.endTime - trajectory.startTime;\n count++;\n }\n }\n\n return count > 0 ? totalDuration / count : 0;\n }\n\n /**\n * Calculate operations per second\n */\n private calculateOpsPerSecond(): number {\n // Simple estimation based on total ops and service uptime\n // In production, use a sliding window\n return this.stats.totalOpsProcessed / ((Date.now() - this.stats.totalTrajectories) / 1000);\n }\n\n /**\n * Enable/disable engine\n */\n setEnabled(enabled: boolean): void {\n this.engine.setEnabled(enabled);\n this.emit('engine:enabled', { enabled });\n }\n\n /**\n * Check if engine is enabled\n */\n isEnabled(): boolean {\n return this.engine.isEnabled();\n }\n\n /**\n * Flush engine state\n */\n flush(): void {\n this.engine.flush();\n this.emit('engine:flushed');\n }\n\n /**\n * Get trajectory metadata\n */\n getTrajectory(trajectoryId: string): TrajectoryMetadata | undefined {\n return this.trajectories.get(trajectoryId);\n }\n\n /**\n * Get all active trajectories\n */\n getActiveTrajectories(): TrajectoryMetadata[] {\n return Array.from(this.trajectories.values()).filter(t => !t.endTime);\n }\n}\n\n/**\n * Create singleton SONA service instances for different use cases\n */\nexport const sonaServices = {\n realtime: new SONAService({ profile: 'real-time' }),\n batch: new SONAService({ profile: 'batch' }),\n research: new SONAService({ profile: 'research' }),\n edge: new SONAService({ profile: 'edge' }),\n balanced: new SONAService({ profile: 'balanced' })\n};\n\n/**\n * Default SONA service (balanced profile)\n */\nexport const sonaService = sonaServices.balanced;\n\n/**\n * Convenience function to create custom SONA service\n */\nexport function createSONAService(config?: Partial<SONAConfig>): SONAService {\n return new SONAService(config);\n}\n\n/**\n * Example usage based on vibecast sona.test.js patterns\n */\nexport async function exampleUsage() {\n console.log('🧠 SONA Service Example\\n');\n\n // Use balanced profile service\n const sona = sonaService;\n\n // Example 1: Begin trajectory\n const embedding = Array.from({ length: 1536 }, () => Math.random());\n const trajectoryId = sona.beginTrajectory(embedding, 'claude-sonnet-4-5');\n console.log(`Started trajectory: ${trajectoryId}`);\n\n // Example 2: Add steps\n for (let i = 0; i < 5; i++) {\n const activations = Array.from({ length: 3072 }, () => Math.random());\n const attentionWeights = Array.from({ length: 40 }, () => Math.random());\n const reward = 0.8 + Math.random() * 0.2;\n\n sona.addTrajectoryStep(trajectoryId, activations, attentionWeights, reward);\n }\n\n // Example 3: Add context\n sona.addTrajectoryContext(trajectoryId, 'task-code-review');\n\n // Example 4: End trajectory\n sona.endTrajectory(trajectoryId, 0.92);\n\n // Example 5: Find patterns\n const query = Array.from({ length: 1536 }, () => Math.random());\n const patterns = sona.findPatterns(query, 3);\n console.log(`\\nFound ${patterns.length} similar patterns:`);\n patterns.forEach((p, i) => {\n console.log(` ${i + 1}. Quality: ${p.avgQuality.toFixed(2)}, Similarity: ${p.similarity.toFixed(3)}`);\n });\n\n // Example 6: Apply LoRA\n const input = Array.from({ length: 3072 }, () => Math.random());\n const output = sona.applyMicroLora(input);\n console.log(`\\nApplied Micro-LoRA to ${input.length}D vector`);\n\n // Example 7: Statistics\n const stats = sona.getStats();\n console.log('\\nSONA Statistics:');\n console.log(` Total Trajectories: ${stats.totalTrajectories}`);\n console.log(` Completed: ${stats.completedTrajectories}`);\n console.log(` Avg Quality: ${stats.avgQualityScore.toFixed(2)}`);\n console.log(` Total Ops: ${stats.totalOpsProcessed}`);\n console.log(` Capacity Utilization: ${(stats.trajectoryUtilization * 100).toFixed(1)}%`);\n}\n\n// Auto-run example if executed directly\nif (require.main === module) {\n exampleUsage().catch(console.error);\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  export interface CliOptions {
2
- mode: 'agent' | 'parallel' | 'list' | 'mcp' | 'mcp-manager' | 'config' | 'agent-manager' | 'proxy' | 'quic' | 'claude-code' | 'reasoningbank' | 'federation' | 'hooks' | 'workers' | 'embeddings' | 'init';
2
+ mode: 'agent' | 'parallel' | 'list' | 'mcp' | 'mcp-manager' | 'config' | 'agent-manager' | 'proxy' | 'quic' | 'claude-code' | 'reasoningbank' | 'federation';
3
3
  agent?: string;
4
4
  task?: string;
5
5
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3M,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,IAAI,UAAU,CAoNtC;AAED,wBAAgB,SAAS,IAAI,IAAI,CAkLhC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAWlE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,CAAC;IAC7J,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,IAAI,UAAU,CA4LtC;AAED,wBAAgB,SAAS,IAAI,IAAI,CAiLhC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAWlE"}
package/dist/utils/cli.js CHANGED
@@ -54,26 +54,6 @@ export function parseArgs() {
54
54
  options.mode = 'reasoningbank';
55
55
  return options;
56
56
  }
57
- // Check for hooks command
58
- if (args[0] === 'hooks') {
59
- options.mode = 'hooks';
60
- return options;
61
- }
62
- // Check for workers command
63
- if (args[0] === 'workers') {
64
- options.mode = 'workers';
65
- return options;
66
- }
67
- // Check for embeddings command
68
- if (args[0] === 'embeddings') {
69
- options.mode = 'embeddings';
70
- return options;
71
- }
72
- // Check for init command
73
- if (args[0] === 'init') {
74
- options.mode = 'init';
75
- return options;
76
- }
77
57
  for (let i = 0; i < args.length; i++) {
78
58
  const arg = args[i];
79
59
  switch (arg) {
@@ -180,7 +160,6 @@ USAGE:
180
160
  npx agentic-flow [COMMAND] [OPTIONS]
181
161
 
182
162
  COMMANDS:
183
- init Initialize project with .claude/ folder and configuration
184
163
  reasoningbank <cmd> Memory system that learns from experience (demo, test, init)
185
164
  claude-code [options] Spawn Claude Code with proxy + Agent Booster (57x faster edits)
186
165
  mcp <command> [server] Manage MCP servers (start, stop, status, list)