agentic-flow 2.0.1-alpha.2 → 2.0.1-alpha.20

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 (218) hide show
  1. package/CHANGELOG.md +352 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentdb/controllers/EmbeddingService.d.ts +37 -0
  4. package/dist/agentdb/controllers/EmbeddingService.d.ts.map +1 -0
  5. package/dist/agentdb/controllers/EmbeddingService.js +1 -0
  6. package/dist/agentdb/controllers/EmbeddingService.js.map +1 -0
  7. package/dist/billing/mcp/tools.d.ts.map +1 -1
  8. package/dist/billing/mcp/tools.js +2 -0
  9. package/dist/billing/mcp/tools.js.map +1 -1
  10. package/dist/cli/commands/hooks.d.ts +18 -0
  11. package/dist/cli/commands/hooks.d.ts.map +1 -0
  12. package/dist/cli/commands/hooks.js +755 -0
  13. package/dist/cli/commands/hooks.js.map +1 -0
  14. package/dist/cli-proxy.d.ts +1 -1
  15. package/dist/cli-proxy.d.ts.map +1 -1
  16. package/dist/cli-proxy.js +28 -1
  17. package/dist/cli-proxy.js.map +1 -1
  18. package/dist/core/agentdb-fast.js +3 -3
  19. package/dist/core/agentdb-fast.js.map +1 -1
  20. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  21. package/dist/core/agentdb-wrapper-enhanced.js +32 -17
  22. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  23. package/dist/core/attention-native.d.ts +1 -0
  24. package/dist/core/attention-native.d.ts.map +1 -1
  25. package/dist/core/attention-native.js +6 -1
  26. package/dist/core/attention-native.js.map +1 -1
  27. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  28. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  29. package/dist/intelligence/EmbeddingCache.d.ts +112 -0
  30. package/dist/intelligence/EmbeddingCache.d.ts.map +1 -0
  31. package/dist/intelligence/EmbeddingCache.js +624 -0
  32. package/dist/intelligence/EmbeddingCache.js.map +1 -0
  33. package/dist/intelligence/EmbeddingService.d.ts +380 -0
  34. package/dist/intelligence/EmbeddingService.d.ts.map +1 -0
  35. package/dist/intelligence/EmbeddingService.js +1484 -0
  36. package/dist/intelligence/EmbeddingService.js.map +1 -0
  37. package/dist/intelligence/IntelligenceStore.d.ts +168 -0
  38. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -0
  39. package/dist/intelligence/IntelligenceStore.js +364 -0
  40. package/dist/intelligence/IntelligenceStore.js.map +1 -0
  41. package/dist/intelligence/RuVectorIntelligence.d.ts +362 -0
  42. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -0
  43. package/dist/intelligence/RuVectorIntelligence.js +853 -0
  44. package/dist/intelligence/RuVectorIntelligence.js.map +1 -0
  45. package/dist/intelligence/embedding-benchmark.d.ts +7 -0
  46. package/dist/intelligence/embedding-benchmark.d.ts.map +1 -0
  47. package/dist/intelligence/embedding-benchmark.js +155 -0
  48. package/dist/intelligence/embedding-benchmark.js.map +1 -0
  49. package/dist/intelligence/index.d.ts +14 -0
  50. package/dist/intelligence/index.d.ts.map +1 -0
  51. package/dist/intelligence/index.js +14 -0
  52. package/dist/intelligence/index.js.map +1 -0
  53. package/dist/llm/RuvLLMOrchestrator.d.ts +184 -0
  54. package/dist/llm/RuvLLMOrchestrator.d.ts.map +1 -0
  55. package/dist/llm/RuvLLMOrchestrator.js +442 -0
  56. package/dist/llm/RuvLLMOrchestrator.js.map +1 -0
  57. package/dist/llm/index.d.ts +9 -0
  58. package/dist/llm/index.d.ts.map +1 -0
  59. package/dist/llm/index.js +8 -0
  60. package/dist/llm/index.js.map +1 -0
  61. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  62. package/dist/mcp/claudeFlowSdkServer.js +86 -21
  63. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  64. package/dist/mcp/fastmcp/servers/hooks-server.d.ts +15 -0
  65. package/dist/mcp/fastmcp/servers/hooks-server.d.ts.map +1 -0
  66. package/dist/mcp/fastmcp/servers/hooks-server.js +63 -0
  67. package/dist/mcp/fastmcp/servers/hooks-server.js.map +1 -0
  68. package/dist/mcp/fastmcp/tools/hooks/benchmark.d.ts +20 -0
  69. package/dist/mcp/fastmcp/tools/hooks/benchmark.d.ts.map +1 -0
  70. package/dist/mcp/fastmcp/tools/hooks/benchmark.js +110 -0
  71. package/dist/mcp/fastmcp/tools/hooks/benchmark.js.map +1 -0
  72. package/dist/mcp/fastmcp/tools/hooks/build-agents.d.ts +7 -0
  73. package/dist/mcp/fastmcp/tools/hooks/build-agents.d.ts.map +1 -0
  74. package/dist/mcp/fastmcp/tools/hooks/build-agents.js +276 -0
  75. package/dist/mcp/fastmcp/tools/hooks/build-agents.js.map +1 -0
  76. package/dist/mcp/fastmcp/tools/hooks/explain.d.ts +6 -0
  77. package/dist/mcp/fastmcp/tools/hooks/explain.d.ts.map +1 -0
  78. package/dist/mcp/fastmcp/tools/hooks/explain.js +164 -0
  79. package/dist/mcp/fastmcp/tools/hooks/explain.js.map +1 -0
  80. package/dist/mcp/fastmcp/tools/hooks/index.d.ts +28 -0
  81. package/dist/mcp/fastmcp/tools/hooks/index.d.ts.map +1 -0
  82. package/dist/mcp/fastmcp/tools/hooks/index.js +59 -0
  83. package/dist/mcp/fastmcp/tools/hooks/index.js.map +1 -0
  84. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.d.ts +307 -0
  85. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.d.ts.map +1 -0
  86. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +714 -0
  87. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -0
  88. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.d.ts +58 -0
  89. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.d.ts.map +1 -0
  90. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.js +425 -0
  91. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.js.map +1 -0
  92. package/dist/mcp/fastmcp/tools/hooks/metrics.d.ts +6 -0
  93. package/dist/mcp/fastmcp/tools/hooks/metrics.d.ts.map +1 -0
  94. package/dist/mcp/fastmcp/tools/hooks/metrics.js +137 -0
  95. package/dist/mcp/fastmcp/tools/hooks/metrics.js.map +1 -0
  96. package/dist/mcp/fastmcp/tools/hooks/post-command.d.ts +7 -0
  97. package/dist/mcp/fastmcp/tools/hooks/post-command.d.ts.map +1 -0
  98. package/dist/mcp/fastmcp/tools/hooks/post-command.js +91 -0
  99. package/dist/mcp/fastmcp/tools/hooks/post-command.js.map +1 -0
  100. package/dist/mcp/fastmcp/tools/hooks/post-edit.d.ts +12 -0
  101. package/dist/mcp/fastmcp/tools/hooks/post-edit.d.ts.map +1 -0
  102. package/dist/mcp/fastmcp/tools/hooks/post-edit.js +146 -0
  103. package/dist/mcp/fastmcp/tools/hooks/post-edit.js.map +1 -0
  104. package/dist/mcp/fastmcp/tools/hooks/pre-command.d.ts +7 -0
  105. package/dist/mcp/fastmcp/tools/hooks/pre-command.d.ts.map +1 -0
  106. package/dist/mcp/fastmcp/tools/hooks/pre-command.js +70 -0
  107. package/dist/mcp/fastmcp/tools/hooks/pre-command.js.map +1 -0
  108. package/dist/mcp/fastmcp/tools/hooks/pre-edit.d.ts +14 -0
  109. package/dist/mcp/fastmcp/tools/hooks/pre-edit.d.ts.map +1 -0
  110. package/dist/mcp/fastmcp/tools/hooks/pre-edit.js +121 -0
  111. package/dist/mcp/fastmcp/tools/hooks/pre-edit.js.map +1 -0
  112. package/dist/mcp/fastmcp/tools/hooks/pretrain.d.ts +7 -0
  113. package/dist/mcp/fastmcp/tools/hooks/pretrain.d.ts.map +1 -0
  114. package/dist/mcp/fastmcp/tools/hooks/pretrain.js +171 -0
  115. package/dist/mcp/fastmcp/tools/hooks/pretrain.js.map +1 -0
  116. package/dist/mcp/fastmcp/tools/hooks/route.d.ts +12 -0
  117. package/dist/mcp/fastmcp/tools/hooks/route.d.ts.map +1 -0
  118. package/dist/mcp/fastmcp/tools/hooks/route.js +267 -0
  119. package/dist/mcp/fastmcp/tools/hooks/route.js.map +1 -0
  120. package/dist/mcp/fastmcp/tools/hooks/shared.d.ts +46 -0
  121. package/dist/mcp/fastmcp/tools/hooks/shared.d.ts.map +1 -0
  122. package/dist/mcp/fastmcp/tools/hooks/shared.js +159 -0
  123. package/dist/mcp/fastmcp/tools/hooks/shared.js.map +1 -0
  124. package/dist/mcp/fastmcp/tools/hooks/transfer.d.ts +7 -0
  125. package/dist/mcp/fastmcp/tools/hooks/transfer.d.ts.map +1 -0
  126. package/dist/mcp/fastmcp/tools/hooks/transfer.js +151 -0
  127. package/dist/mcp/fastmcp/tools/hooks/transfer.js.map +1 -0
  128. package/dist/mcp/tools/agent-booster-tools.d.ts +10 -1
  129. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  130. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  131. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  132. package/dist/mcp/tools/sona-tools.js +15 -3
  133. package/dist/mcp/tools/sona-tools.js.map +1 -1
  134. package/dist/memory/SharedMemoryPool.d.ts +16 -3
  135. package/dist/memory/SharedMemoryPool.d.ts.map +1 -1
  136. package/dist/memory/SharedMemoryPool.js +33 -1
  137. package/dist/memory/SharedMemoryPool.js.map +1 -1
  138. package/dist/middleware/auth.middleware.d.ts +114 -0
  139. package/dist/middleware/auth.middleware.d.ts.map +1 -0
  140. package/dist/middleware/auth.middleware.js +222 -0
  141. package/dist/middleware/auth.middleware.js.map +1 -0
  142. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  143. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  144. package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -1
  145. package/dist/proxy/anthropic-to-gemini.js.map +1 -1
  146. package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -1
  147. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  148. package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -1
  149. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  150. package/dist/proxy/quic-proxy.d.ts +0 -1
  151. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  152. package/dist/proxy/quic-proxy.js +2 -1
  153. package/dist/proxy/quic-proxy.js.map +1 -1
  154. package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -1
  155. package/dist/reasoningbank/AdvancedMemory.js +12 -1
  156. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  157. package/dist/reasoningbank/HybridBackend.d.ts +9 -0
  158. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  159. package/dist/reasoningbank/HybridBackend.js +48 -4
  160. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  161. package/dist/reasoningbank/backend-selector.d.ts +1 -1
  162. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  163. package/dist/reasoningbank/backend-selector.js.map +1 -1
  164. package/dist/reasoningbank/index-new.d.ts +0 -6
  165. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  166. package/dist/reasoningbank/index-new.js +9 -7
  167. package/dist/reasoningbank/index-new.js.map +1 -1
  168. package/dist/reasoningbank/index.d.ts +1 -6
  169. package/dist/reasoningbank/index.d.ts.map +1 -1
  170. package/dist/reasoningbank/index.js +10 -7
  171. package/dist/reasoningbank/index.js.map +1 -1
  172. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  173. package/dist/router/providers/onnx-local.js +3 -1
  174. package/dist/router/providers/onnx-local.js.map +1 -1
  175. package/dist/routing/CircuitBreakerRouter.d.ts +187 -0
  176. package/dist/routing/CircuitBreakerRouter.d.ts.map +1 -0
  177. package/dist/routing/CircuitBreakerRouter.js +460 -0
  178. package/dist/routing/CircuitBreakerRouter.js.map +1 -0
  179. package/dist/routing/SemanticRouter.d.ts +164 -0
  180. package/dist/routing/SemanticRouter.d.ts.map +1 -0
  181. package/dist/routing/SemanticRouter.js +291 -0
  182. package/dist/routing/SemanticRouter.js.map +1 -0
  183. package/dist/routing/index.d.ts +12 -0
  184. package/dist/routing/index.d.ts.map +1 -0
  185. package/dist/routing/index.js +10 -0
  186. package/dist/routing/index.js.map +1 -0
  187. package/dist/services/embedding-service.d.ts.map +1 -1
  188. package/dist/services/embedding-service.js +5 -2
  189. package/dist/services/embedding-service.js.map +1 -1
  190. package/dist/services/sona-agent-training.js +1 -1
  191. package/dist/services/sona-agent-training.js.map +1 -1
  192. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  193. package/dist/services/sona-agentdb-integration.js +10 -5
  194. package/dist/services/sona-agentdb-integration.js.map +1 -1
  195. package/dist/services/sona-service.d.ts +6 -6
  196. package/dist/services/sona-service.d.ts.map +1 -1
  197. package/dist/services/sona-service.js +3 -1
  198. package/dist/services/sona-service.js.map +1 -1
  199. package/dist/utils/agentdb-runtime-patch.d.ts +1 -0
  200. package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -1
  201. package/dist/utils/agentdb-runtime-patch.js +97 -2
  202. package/dist/utils/agentdb-runtime-patch.js.map +1 -1
  203. package/dist/utils/audit-logger.d.ts +115 -0
  204. package/dist/utils/audit-logger.d.ts.map +1 -0
  205. package/dist/utils/audit-logger.js +228 -0
  206. package/dist/utils/audit-logger.js.map +1 -0
  207. package/dist/utils/cli.d.ts +1 -1
  208. package/dist/utils/cli.d.ts.map +1 -1
  209. package/dist/utils/cli.js +5 -0
  210. package/dist/utils/cli.js.map +1 -1
  211. package/dist/utils/input-validator.d.ts +116 -0
  212. package/dist/utils/input-validator.d.ts.map +1 -0
  213. package/dist/utils/input-validator.js +299 -0
  214. package/dist/utils/input-validator.js.map +1 -0
  215. package/dist/utils/rate-limiter.js +2 -2
  216. package/dist/utils/rate-limiter.js.map +1 -1
  217. package/package.json +14 -3
  218. package/scripts/postinstall.js +72 -0
@@ -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 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
+ {"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: number; // SONA engine uses numeric IDs\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<number, 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): number {\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: number,\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: number, 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: number, 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: number | string): TrajectoryMetadata | undefined {\n // Convert string to number if needed for backward compatibility\n const id = typeof trajectoryId === 'string' ? parseInt(trajectoryId, 10) : trajectoryId;\n return this.trajectories.get(id);\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"]}
@@ -25,4 +25,5 @@ export declare function getAgentDBPatchStatus(): {
25
25
  attempted: boolean;
26
26
  location: string | null;
27
27
  };
28
+ export declare function applyRuvectorPatch(): boolean;
28
29
  //# sourceMappingURL=agentdb-runtime-patch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-runtime-patch.d.ts","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAmE3C;AAkED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAS9C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAOA"}
1
+ {"version":3,"file":"agentdb-runtime-patch.d.ts","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAmE3C;AAkED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAS9C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAOA;AASD,wBAAgB,kBAAkB,IAAI,OAAO,CAwD5C"}
@@ -26,12 +26,12 @@ export function applyAgentDBPatch() {
26
26
  // Find agentdb installation
27
27
  const agentdbPath = findAgentDBPath();
28
28
  if (!agentdbPath) {
29
- console.warn('[AgentDB Patch] Could not locate agentdb installation');
29
+ // Silently skip - agentdb may not be installed or may be v2+
30
30
  return false;
31
31
  }
32
32
  const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');
33
33
  if (!existsSync(controllerIndexPath)) {
34
- console.warn(`[AgentDB Patch] Controller index not found: ${controllerIndexPath}`);
34
+ // Silently skip - this is expected for agentdb v2+ which has different structure
35
35
  return false;
36
36
  }
37
37
  // Read current content
@@ -160,12 +160,107 @@ export function getAgentDBPatchStatus() {
160
160
  location: findAgentDBPath()
161
161
  };
162
162
  }
163
+ /**
164
+ * Apply ruvector VectorDB/VectorDb case mismatch fix at runtime
165
+ * Issue: @ruvector/core exports VectorDb but ruvector expects VectorDB
166
+ */
167
+ let ruvectorPatched = false;
168
+ let ruvectorPatchAttempted = false;
169
+ export function applyRuvectorPatch() {
170
+ if (ruvectorPatchAttempted) {
171
+ return ruvectorPatched;
172
+ }
173
+ ruvectorPatchAttempted = true;
174
+ try {
175
+ const ruvectorPath = findPackagePath('ruvector');
176
+ if (!ruvectorPath) {
177
+ return false;
178
+ }
179
+ const indexPath = join(ruvectorPath, 'dist', 'index.js');
180
+ if (!existsSync(indexPath)) {
181
+ return false;
182
+ }
183
+ let content = readFileSync(indexPath, 'utf8');
184
+ // Check if already patched
185
+ if (content.includes('implementation.VectorDb')) {
186
+ ruvectorPatched = true;
187
+ return true;
188
+ }
189
+ // Fix VectorDB vs VectorDb case mismatch
190
+ const oldCheck = `if (typeof implementation.VectorDB !== 'function') {
191
+ throw new Error('Native module loaded but VectorDB not found');
192
+ }`;
193
+ const newCheck = `if (typeof implementation.VectorDB !== 'function' && typeof implementation.VectorDb !== 'function') {
194
+ throw new Error('Native module loaded but VectorDB not found');
195
+ }
196
+ // Normalize: if VectorDb exists but VectorDB doesn't, alias it
197
+ if (!implementation.VectorDB && implementation.VectorDb) {
198
+ implementation.VectorDB = implementation.VectorDb;
199
+ }`;
200
+ if (content.includes(oldCheck)) {
201
+ content = content.replace(oldCheck, newCheck);
202
+ try {
203
+ writeFileSync(indexPath, content, 'utf8');
204
+ ruvectorPatched = true;
205
+ console.log('[Ruvector Patch] ✅ Fixed VectorDB/VectorDb case mismatch');
206
+ return true;
207
+ }
208
+ catch (writeError) {
209
+ console.warn('[Ruvector Patch] ⚠️ Could not write patch (read-only)');
210
+ return false;
211
+ }
212
+ }
213
+ return false;
214
+ }
215
+ catch (error) {
216
+ console.warn('[Ruvector Patch] Error:', error.message);
217
+ return false;
218
+ }
219
+ }
220
+ /**
221
+ * Generic package finder
222
+ */
223
+ function findPackagePath(packageName) {
224
+ const possiblePaths = [
225
+ join(process.cwd(), 'node_modules', packageName),
226
+ join(process.cwd(), '..', 'node_modules', packageName),
227
+ join(process.execPath, '..', '..', 'lib', 'node_modules', packageName),
228
+ ];
229
+ // Using import.meta.url (ESM)
230
+ if (typeof import.meta !== 'undefined' && import.meta.url) {
231
+ try {
232
+ const currentDir = dirname(fileURLToPath(import.meta.url));
233
+ possiblePaths.push(join(currentDir, '..', '..', 'node_modules', packageName), join(currentDir, '..', '..', '..', packageName));
234
+ }
235
+ catch { }
236
+ }
237
+ for (const path of possiblePaths) {
238
+ if (existsSync(join(path, 'package.json'))) {
239
+ try {
240
+ const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));
241
+ if (pkg.name === packageName) {
242
+ return path;
243
+ }
244
+ }
245
+ catch {
246
+ continue;
247
+ }
248
+ }
249
+ }
250
+ try {
251
+ const resolved = require.resolve(`${packageName}/package.json`);
252
+ return dirname(resolved);
253
+ }
254
+ catch { }
255
+ return null;
256
+ }
163
257
  // Auto-apply patch on module load (SYNCHRONOUS - must happen before any AgentDB imports)
164
258
  // This ensures the patch is applied before any imports
165
259
  if (typeof process !== 'undefined' && !process.env.SKIP_AGENTDB_PATCH) {
166
260
  // MUST be synchronous - async won't work because imports happen immediately
167
261
  try {
168
262
  applyAgentDBPatch();
263
+ applyRuvectorPatch();
169
264
  }
170
265
  catch (error) {
171
266
  // Silently fail - patch will be attempted again on explicit call
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-runtime-patch.js","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentDB Runtime Patch\n *\n * Automatically fixes AgentDB v1.3.9 import resolution issues at runtime.\n * This patch works in all contexts: npm install, npm install -g, and npx.\n *\n * Issue: agentdb v1.3.9 missing .js extensions in ESM exports\n * Solution: Patch the controller index.js file at runtime before first import\n */\n\nimport { readFileSync, writeFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nlet patched = false;\nlet patchAttempted = false;\n\n/**\n * Apply AgentDB import fix at runtime\n * Safe to call multiple times - only patches once\n */\nexport function applyAgentDBPatch(): boolean {\n // Only attempt once per process\n if (patchAttempted) {\n return patched;\n }\n patchAttempted = true;\n\n try {\n // Find agentdb installation\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) {\n console.warn('[AgentDB Patch] Could not locate agentdb installation');\n return false;\n }\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n\n if (!existsSync(controllerIndexPath)) {\n console.warn(`[AgentDB Patch] Controller index not found: ${controllerIndexPath}`);\n return false;\n }\n\n // Read current content\n let content = readFileSync(controllerIndexPath, 'utf8');\n\n // Check if already patched\n if (content.includes(\"from './ReflexionMemory.js'\")) {\n patched = true;\n return true;\n }\n\n // Apply patches\n const patches = [\n { from: \"from './ReflexionMemory'\", to: \"from './ReflexionMemory.js'\" },\n { from: \"from './SkillLibrary'\", to: \"from './SkillLibrary.js'\" },\n { from: \"from './EmbeddingService'\", to: \"from './EmbeddingService.js'\" },\n { from: \"from './CausalMemoryGraph'\", to: \"from './CausalMemoryGraph.js'\" },\n { from: \"from './CausalRecall'\", to: \"from './CausalRecall.js'\" },\n { from: \"from './NightlyLearner'\", to: \"from './NightlyLearner.js'\" }\n ];\n\n let modified = false;\n for (const patch of patches) {\n if (content.includes(patch.from) && !content.includes(patch.to)) {\n content = content.replace(new RegExp(patch.from, 'g'), patch.to);\n modified = true;\n }\n }\n\n if (modified) {\n try {\n writeFileSync(controllerIndexPath, content, 'utf8');\n patched = true;\n console.log('[AgentDB Patch] ✅ Successfully patched AgentDB imports');\n return true;\n } catch (writeError: any) {\n // If we can't write (npx temp dir permissions), that's OK - imports will fail gracefully\n console.warn('[AgentDB Patch] ⚠️ Could not write patch (read-only):', writeError.message);\n return false;\n }\n }\n\n return false;\n } catch (error: any) {\n console.warn('[AgentDB Patch] Error applying patch:', error.message);\n return false;\n }\n}\n\n/**\n * Find AgentDB installation directory\n * Checks multiple possible locations\n */\nfunction findAgentDBPath(): string | null {\n const possiblePaths = [\n // Local node_modules (most common)\n join(process.cwd(), 'node_modules', 'agentdb'),\n\n // Parent directory node_modules (monorepo)\n join(process.cwd(), '..', 'node_modules', 'agentdb'),\n\n // Global npm installation\n join(process.execPath, '..', '..', 'lib', 'node_modules', 'agentdb'),\n\n // Relative to this file (for bundled installations)\n ...(typeof __dirname !== 'undefined'\n ? [\n join(__dirname, '..', '..', 'node_modules', 'agentdb'),\n join(__dirname, '..', '..', '..', 'agentdb')\n ]\n : []),\n\n // Using import.meta.url (ESM)\n ...(typeof import.meta !== 'undefined' && import.meta.url\n ? (() => {\n try {\n const currentDir = dirname(fileURLToPath(import.meta.url));\n return [\n join(currentDir, '..', '..', 'node_modules', 'agentdb'),\n join(currentDir, '..', '..', '..', 'agentdb')\n ];\n } catch {\n return [];\n }\n })()\n : [])\n ];\n\n // Try each path\n for (const path of possiblePaths) {\n if (existsSync(join(path, 'package.json'))) {\n try {\n const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));\n if (pkg.name === 'agentdb') {\n return path;\n }\n } catch {\n continue;\n }\n }\n }\n\n // Try require.resolve as fallback\n try {\n const resolved = require.resolve('agentdb/package.json');\n return dirname(resolved);\n } catch {\n // Not found via require.resolve\n }\n\n return null;\n}\n\n/**\n * Check if AgentDB patch is needed\n */\nexport function isAgentDBPatchNeeded(): boolean {\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) return false;\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n if (!existsSync(controllerIndexPath)) return false;\n\n const content = readFileSync(controllerIndexPath, 'utf8');\n return !content.includes(\"from './ReflexionMemory.js'\");\n}\n\n/**\n * Get patch status information\n */\nexport function getAgentDBPatchStatus(): {\n needed: boolean;\n applied: boolean;\n attempted: boolean;\n location: string | null;\n} {\n return {\n needed: isAgentDBPatchNeeded(),\n applied: patched,\n attempted: patchAttempted,\n location: findAgentDBPath()\n };\n}\n\n// Auto-apply patch on module load (SYNCHRONOUS - must happen before any AgentDB imports)\n// This ensures the patch is applied before any imports\nif (typeof process !== 'undefined' && !process.env.SKIP_AGENTDB_PATCH) {\n // MUST be synchronous - async won't work because imports happen immediately\n try {\n applyAgentDBPatch();\n } catch (error) {\n // Silently fail - patch will be attempted again on explicit call\n }\n}\n"]}
1
+ {"version":3,"file":"agentdb-runtime-patch.js","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentDB Runtime Patch\n *\n * Automatically fixes AgentDB v1.3.9 import resolution issues at runtime.\n * This patch works in all contexts: npm install, npm install -g, and npx.\n *\n * Issue: agentdb v1.3.9 missing .js extensions in ESM exports\n * Solution: Patch the controller index.js file at runtime before first import\n */\n\nimport { readFileSync, writeFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nlet patched = false;\nlet patchAttempted = false;\n\n/**\n * Apply AgentDB import fix at runtime\n * Safe to call multiple times - only patches once\n */\nexport function applyAgentDBPatch(): boolean {\n // Only attempt once per process\n if (patchAttempted) {\n return patched;\n }\n patchAttempted = true;\n\n try {\n // Find agentdb installation\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) {\n // Silently skip - agentdb may not be installed or may be v2+\n return false;\n }\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n\n if (!existsSync(controllerIndexPath)) {\n // Silently skip - this is expected for agentdb v2+ which has different structure\n return false;\n }\n\n // Read current content\n let content = readFileSync(controllerIndexPath, 'utf8');\n\n // Check if already patched\n if (content.includes(\"from './ReflexionMemory.js'\")) {\n patched = true;\n return true;\n }\n\n // Apply patches\n const patches = [\n { from: \"from './ReflexionMemory'\", to: \"from './ReflexionMemory.js'\" },\n { from: \"from './SkillLibrary'\", to: \"from './SkillLibrary.js'\" },\n { from: \"from './EmbeddingService'\", to: \"from './EmbeddingService.js'\" },\n { from: \"from './CausalMemoryGraph'\", to: \"from './CausalMemoryGraph.js'\" },\n { from: \"from './CausalRecall'\", to: \"from './CausalRecall.js'\" },\n { from: \"from './NightlyLearner'\", to: \"from './NightlyLearner.js'\" }\n ];\n\n let modified = false;\n for (const patch of patches) {\n if (content.includes(patch.from) && !content.includes(patch.to)) {\n content = content.replace(new RegExp(patch.from, 'g'), patch.to);\n modified = true;\n }\n }\n\n if (modified) {\n try {\n writeFileSync(controllerIndexPath, content, 'utf8');\n patched = true;\n console.log('[AgentDB Patch] ✅ Successfully patched AgentDB imports');\n return true;\n } catch (writeError: any) {\n // If we can't write (npx temp dir permissions), that's OK - imports will fail gracefully\n console.warn('[AgentDB Patch] ⚠️ Could not write patch (read-only):', writeError.message);\n return false;\n }\n }\n\n return false;\n } catch (error: any) {\n console.warn('[AgentDB Patch] Error applying patch:', error.message);\n return false;\n }\n}\n\n/**\n * Find AgentDB installation directory\n * Checks multiple possible locations\n */\nfunction findAgentDBPath(): string | null {\n const possiblePaths = [\n // Local node_modules (most common)\n join(process.cwd(), 'node_modules', 'agentdb'),\n\n // Parent directory node_modules (monorepo)\n join(process.cwd(), '..', 'node_modules', 'agentdb'),\n\n // Global npm installation\n join(process.execPath, '..', '..', 'lib', 'node_modules', 'agentdb'),\n\n // Relative to this file (for bundled installations)\n ...(typeof __dirname !== 'undefined'\n ? [\n join(__dirname, '..', '..', 'node_modules', 'agentdb'),\n join(__dirname, '..', '..', '..', 'agentdb')\n ]\n : []),\n\n // Using import.meta.url (ESM)\n ...(typeof import.meta !== 'undefined' && import.meta.url\n ? (() => {\n try {\n const currentDir = dirname(fileURLToPath(import.meta.url));\n return [\n join(currentDir, '..', '..', 'node_modules', 'agentdb'),\n join(currentDir, '..', '..', '..', 'agentdb')\n ];\n } catch {\n return [];\n }\n })()\n : [])\n ];\n\n // Try each path\n for (const path of possiblePaths) {\n if (existsSync(join(path, 'package.json'))) {\n try {\n const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));\n if (pkg.name === 'agentdb') {\n return path;\n }\n } catch {\n continue;\n }\n }\n }\n\n // Try require.resolve as fallback\n try {\n const resolved = require.resolve('agentdb/package.json');\n return dirname(resolved);\n } catch {\n // Not found via require.resolve\n }\n\n return null;\n}\n\n/**\n * Check if AgentDB patch is needed\n */\nexport function isAgentDBPatchNeeded(): boolean {\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) return false;\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n if (!existsSync(controllerIndexPath)) return false;\n\n const content = readFileSync(controllerIndexPath, 'utf8');\n return !content.includes(\"from './ReflexionMemory.js'\");\n}\n\n/**\n * Get patch status information\n */\nexport function getAgentDBPatchStatus(): {\n needed: boolean;\n applied: boolean;\n attempted: boolean;\n location: string | null;\n} {\n return {\n needed: isAgentDBPatchNeeded(),\n applied: patched,\n attempted: patchAttempted,\n location: findAgentDBPath()\n };\n}\n\n/**\n * Apply ruvector VectorDB/VectorDb case mismatch fix at runtime\n * Issue: @ruvector/core exports VectorDb but ruvector expects VectorDB\n */\nlet ruvectorPatched = false;\nlet ruvectorPatchAttempted = false;\n\nexport function applyRuvectorPatch(): boolean {\n if (ruvectorPatchAttempted) {\n return ruvectorPatched;\n }\n ruvectorPatchAttempted = true;\n\n try {\n const ruvectorPath = findPackagePath('ruvector');\n if (!ruvectorPath) {\n return false;\n }\n\n const indexPath = join(ruvectorPath, 'dist', 'index.js');\n if (!existsSync(indexPath)) {\n return false;\n }\n\n let content = readFileSync(indexPath, 'utf8');\n\n // Check if already patched\n if (content.includes('implementation.VectorDb')) {\n ruvectorPatched = true;\n return true;\n }\n\n // Fix VectorDB vs VectorDb case mismatch\n const oldCheck = `if (typeof implementation.VectorDB !== 'function') {\n throw new Error('Native module loaded but VectorDB not found');\n }`;\n\n const newCheck = `if (typeof implementation.VectorDB !== 'function' && typeof implementation.VectorDb !== 'function') {\n throw new Error('Native module loaded but VectorDB not found');\n }\n // Normalize: if VectorDb exists but VectorDB doesn't, alias it\n if (!implementation.VectorDB && implementation.VectorDb) {\n implementation.VectorDB = implementation.VectorDb;\n }`;\n\n if (content.includes(oldCheck)) {\n content = content.replace(oldCheck, newCheck);\n try {\n writeFileSync(indexPath, content, 'utf8');\n ruvectorPatched = true;\n console.log('[Ruvector Patch] ✅ Fixed VectorDB/VectorDb case mismatch');\n return true;\n } catch (writeError: any) {\n console.warn('[Ruvector Patch] ⚠️ Could not write patch (read-only)');\n return false;\n }\n }\n\n return false;\n } catch (error: any) {\n console.warn('[Ruvector Patch] Error:', error.message);\n return false;\n }\n}\n\n/**\n * Generic package finder\n */\nfunction findPackagePath(packageName: string): string | null {\n const possiblePaths = [\n join(process.cwd(), 'node_modules', packageName),\n join(process.cwd(), '..', 'node_modules', packageName),\n join(process.execPath, '..', '..', 'lib', 'node_modules', packageName),\n ];\n\n // Using import.meta.url (ESM)\n if (typeof import.meta !== 'undefined' && import.meta.url) {\n try {\n const currentDir = dirname(fileURLToPath(import.meta.url));\n possiblePaths.push(\n join(currentDir, '..', '..', 'node_modules', packageName),\n join(currentDir, '..', '..', '..', packageName)\n );\n } catch {}\n }\n\n for (const path of possiblePaths) {\n if (existsSync(join(path, 'package.json'))) {\n try {\n const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));\n if (pkg.name === packageName) {\n return path;\n }\n } catch {\n continue;\n }\n }\n }\n\n try {\n const resolved = require.resolve(`${packageName}/package.json`);\n return dirname(resolved);\n } catch {}\n\n return null;\n}\n\n// Auto-apply patch on module load (SYNCHRONOUS - must happen before any AgentDB imports)\n// This ensures the patch is applied before any imports\nif (typeof process !== 'undefined' && !process.env.SKIP_AGENTDB_PATCH) {\n // MUST be synchronous - async won't work because imports happen immediately\n try {\n applyAgentDBPatch();\n applyRuvectorPatch();\n } catch (error) {\n // Silently fail - patch will be attempted again on explicit call\n }\n}\n"]}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Audit Logger
3
+ *
4
+ * Comprehensive audit logging for security and compliance:
5
+ * - All API requests
6
+ * - Authentication events
7
+ * - Security violations
8
+ * - Performance metrics
9
+ */
10
+ export interface AuditEvent {
11
+ timestamp: number;
12
+ eventType: 'REQUEST' | 'AUTH' | 'ERROR' | 'SECURITY' | 'PERFORMANCE';
13
+ severity: 'INFO' | 'WARNING' | 'ERROR' | 'CRITICAL';
14
+ userId?: string;
15
+ ip?: string;
16
+ method?: string;
17
+ path?: string;
18
+ statusCode?: number;
19
+ latencyMs?: number;
20
+ message: string;
21
+ metadata?: Record<string, any>;
22
+ }
23
+ export interface AuditLoggerConfig {
24
+ /** Enable console logging */
25
+ enableConsole?: boolean;
26
+ /** Enable file logging */
27
+ enableFile?: boolean;
28
+ /** Log file path */
29
+ logFilePath?: string;
30
+ /** Minimum severity to log */
31
+ minSeverity?: 'INFO' | 'WARNING' | 'ERROR' | 'CRITICAL';
32
+ /** Maximum log entries in memory */
33
+ maxMemoryEntries?: number;
34
+ }
35
+ /**
36
+ * Audit Logger
37
+ *
38
+ * Logs all security-relevant events:
39
+ * - API requests and responses
40
+ * - Authentication attempts
41
+ * - Rate limit violations
42
+ * - Input validation failures
43
+ * - Circuit breaker state changes
44
+ */
45
+ export declare class AuditLogger {
46
+ private config;
47
+ private memoryLog;
48
+ private static instance;
49
+ constructor(config?: AuditLoggerConfig);
50
+ /**
51
+ * Get singleton instance
52
+ */
53
+ static getInstance(config?: AuditLoggerConfig): AuditLogger;
54
+ /**
55
+ * Log event
56
+ *
57
+ * @param event - Audit event to log
58
+ */
59
+ log(event: AuditEvent): void;
60
+ /**
61
+ * Log API request
62
+ */
63
+ logRequest(req: any, res: any, latencyMs: number): void;
64
+ /**
65
+ * Log authentication event
66
+ */
67
+ logAuth(success: boolean, userId?: string, ip?: string, reason?: string): void;
68
+ /**
69
+ * Log security violation
70
+ */
71
+ logSecurityViolation(type: 'RATE_LIMIT' | 'INPUT_VALIDATION' | 'AUTH_FAILURE' | 'SUSPICIOUS_ACTIVITY', userId?: string, ip?: string, details?: string): void;
72
+ /**
73
+ * Log error
74
+ */
75
+ logError(error: Error, userId?: string, ip?: string, context?: Record<string, any>): void;
76
+ /**
77
+ * Get recent logs
78
+ */
79
+ getRecentLogs(limit?: number): AuditEvent[];
80
+ /**
81
+ * Get logs by user
82
+ */
83
+ getLogsByUser(userId: string, limit?: number): AuditEvent[];
84
+ /**
85
+ * Get logs by type
86
+ */
87
+ getLogsByType(eventType: AuditEvent['eventType'], limit?: number): AuditEvent[];
88
+ /**
89
+ * Log to console
90
+ */
91
+ private logToConsole;
92
+ /**
93
+ * Log to file (placeholder - use Winston/Pino in production)
94
+ */
95
+ private logToFile;
96
+ /**
97
+ * Clear memory logs
98
+ */
99
+ clear(): void;
100
+ /**
101
+ * Get statistics
102
+ */
103
+ getStats(): {
104
+ totalEvents: number;
105
+ byType: Record<string, number>;
106
+ bySeverity: Record<string, number>;
107
+ errorRate: number;
108
+ };
109
+ }
110
+ /**
111
+ * Create audit logging middleware
112
+ */
113
+ export declare function createAuditMiddleware(logger?: AuditLogger): (req: any, res: any, next: any) => void;
114
+ export declare const auditLogger: AuditLogger;
115
+ //# sourceMappingURL=audit-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../src/utils/audit-logger.ts"],"names":[],"mappings":"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"}