agentic-flow 3.2.0 → 3.3.1
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.
- package/.agents/skills/agentic-flow-ecosystem/SKILL.md +6 -5
- package/.claude/skills/agentic-flow-ecosystem/skill.md +6 -5
- package/CHANGELOG.md +45 -0
- package/README.md +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/config/claudeFlow.d.ts +1 -1
- package/dist/integrations/index.d.ts +2 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/optional.d.ts +3 -15
- package/dist/integrations/optional.d.ts.map +1 -1
- package/dist/integrations/optional.js +4 -28
- package/dist/integrations/optional.js.map +1 -1
- package/dist/integrations/sublinear.d.ts +56 -28
- package/dist/integrations/sublinear.d.ts.map +1 -1
- package/dist/integrations/sublinear.js +165 -89
- package/dist/integrations/sublinear.js.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts +4 -2
- package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.js +39 -13
- package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
- package/dist/mcp/standalone-stdio.js +1 -1
- package/dist/mcp/standalone-stdio.js.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.d.ts +4 -4
- package/dist/mcp/tools/ecosystem-tools.d.ts.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.js +30 -8
- package/dist/mcp/tools/ecosystem-tools.js.map +1 -1
- package/dist/optimizations/configuration-tuning.d.ts +1 -1
- package/dist/services/sona-loader.d.ts +15 -1
- package/dist/services/sona-loader.d.ts.map +1 -1
- package/dist/services/sona-loader.js +54 -2
- package/dist/services/sona-loader.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuVectorIntelligence.js","sourceRoot":"","sources":["../../src/intelligence/RuVectorIntelligence.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RuVector Unified Intelligence Layer\n *\n * Integrates the FULL power of RuVector ecosystem:\n *\n * @ruvector/sona - Self-Learning:\n * - Micro-LoRA: Ultra-fast rank-1/2 adaptations (~0.1ms)\n * - Base-LoRA: Deeper pattern adaptations\n * - EWC++: Elastic Weight Consolidation (catastrophic forgetting prevention)\n * - ReasoningBank: Pattern storage/retrieval via findPatterns\n * - Trajectory tracking: Learn from execution paths\n *\n * @ruvector/attention - Advanced Attention:\n * - MultiHeadAttention: Standard transformer attention\n * - FlashAttention: Memory-efficient O(n) attention\n * - HyperbolicAttention: Poincaré ball geometry for hierarchies\n * - MoEAttention: Mixture of Experts routing\n * - GraphRoPeAttention: Graph + Rotary Position Embeddings\n * - EdgeFeaturedAttention: Edge-aware graph attention\n * - DualSpaceAttention: Euclidean + Hyperbolic hybrid\n *\n * @ruvector/core - Vector Database:\n * - HNSW indexing: 150x faster than brute force\n * - Real vector similarity search\n * - Cosine/Euclidean/Dot product distance\n *\n * Performance:\n * - Micro-LoRA adaptation: ~0.1ms\n * - FlashAttention: O(n) complexity vs O(n²)\n * - HNSW search: O(log n) vs O(n)\n * - Background learning: Non-blocking\n */\n\n// Optional imports - graceful fallback on Windows/platforms without native binaries\nlet SonaEngine: any = null;\nlet sonaAvailable = false;\n\nlet MultiHeadAttention: any = null;\nlet FlashAttention: any = null;\nlet HyperbolicAttention: any = null;\nlet MoEAttention: any = null;\nlet GraphRoPeAttention: any = null;\nlet DualSpaceAttention: any = null;\nlet AdamOptimizer: any = null;\nlet computeAttentionAsync: any = null;\nlet computeFlashAttentionAsync: any = null;\nlet computeHyperbolicAttentionAsync: any = null;\nlet poincareDistance: any = null;\nlet projectToPoincareBall: any = null;\nlet AttentionType: any = null;\nlet attentionAvailable = false;\n\n// Try to load @ruvector/sona\ntry {\n const sonaModule = await import('@ruvector/sona');\n SonaEngine = sonaModule.SonaEngine;\n sonaAvailable = true;\n} catch {\n console.warn('[RuVectorIntelligence] @ruvector/sona not available - self-learning disabled');\n}\n\n// Try to load @ruvector/attention\ntry {\n // @ruvector/attention is CommonJS; from 0.1.32 its typings expose it as\n // `default` under ESM interop, while older builds surface named exports.\n const attentionMod: any = await import('@ruvector/attention');\n const attentionModule = attentionMod.default ?? attentionMod;\n MultiHeadAttention = attentionModule.MultiHeadAttention;\n FlashAttention = attentionModule.FlashAttention;\n HyperbolicAttention = attentionModule.HyperbolicAttention;\n MoEAttention = attentionModule.MoEAttention;\n GraphRoPeAttention = attentionModule.GraphRoPeAttention;\n DualSpaceAttention = attentionModule.DualSpaceAttention;\n AdamOptimizer = attentionModule.AdamOptimizer;\n computeAttentionAsync = attentionModule.computeAttentionAsync;\n computeFlashAttentionAsync = attentionModule.computeFlashAttentionAsync;\n computeHyperbolicAttentionAsync = attentionModule.computeHyperbolicAttentionAsync;\n poincareDistance = attentionModule.poincareDistance;\n projectToPoincareBall = attentionModule.projectToPoincareBall;\n AttentionType = attentionModule.AttentionType;\n attentionAvailable = true;\n} catch {\n console.warn('[RuVectorIntelligence] @ruvector/attention not available - attention features disabled');\n}\n\n// Import from ruvector core (for HNSW)\nimport ruvector from 'ruvector';\n\n// Export availability flags\nexport { sonaAvailable, attentionAvailable };\n\n// Local type definitions (replaces imports from optional packages)\nexport interface JsSonaConfig {\n embeddingDim?: number;\n hiddenDim?: number;\n microLoraRank?: number;\n baseLoraRank?: number;\n ewcLambda?: number;\n microLoraLr?: number;\n baseLoraLr?: number;\n patternClusters?: number;\n [key: string]: any; // Allow additional properties\n}\n\nexport interface JsLearnedPattern {\n id: string;\n pattern: number[];\n confidence: number;\n timestamp: number;\n}\n\nexport interface MoEConfig {\n numExperts?: number;\n topK?: number;\n routerDim?: number;\n dim?: number;\n}\n\n/**\n * Intelligence Layer Configuration\n */\nexport interface RuVectorIntelligenceConfig {\n /** Embedding dimension (default: 384 for all-MiniLM-L6-v2) */\n embeddingDim?: number;\n\n /** Hidden dimension for SONA (default: 256) */\n hiddenDim?: number;\n\n /** Enable SONA self-learning (default: true) */\n enableSona?: boolean;\n\n /** SONA configuration */\n sonaConfig?: Partial<JsSonaConfig>;\n\n /** Attention type for agent routing (default: 'moe') */\n attentionType?: 'multi_head' | 'flash' | 'hyperbolic' | 'moe' | 'graph' | 'dual';\n\n /** Number of attention heads (default: 8) */\n numHeads?: number;\n\n /** Number of MoE experts (default: 4) */\n numExperts?: number;\n\n /** Top-K experts to use (default: 2) */\n topK?: number;\n\n /** Hyperbolic curvature for hierarchical structures (default: 1.0) */\n curvature?: number;\n\n /** Enable HNSW vector index (default: true) */\n enableHnsw?: boolean;\n\n /** HNSW M parameter - connections per node (default: 16) */\n hnswM?: number;\n\n /** HNSW ef_construction (default: 200) */\n hnswEfConstruction?: number;\n\n /** Enable trajectory tracking (default: true) */\n enableTrajectories?: boolean;\n\n /** Quality threshold for learning (default: 0.5) */\n qualityThreshold?: number;\n\n /** Background learning interval in ms (default: 60000 = 1 min) */\n backgroundIntervalMs?: number;\n\n /** Maximum trajectories to keep in memory (default: 1000, LRU eviction) */\n maxTrajectories?: number;\n\n /** Trajectory TTL in ms (default: 1800000 = 30 min) */\n trajectoryTTLMs?: number;\n\n /** Maximum agent embeddings to cache (default: 500, LRU eviction) */\n maxAgentEmbeddings?: number;\n}\n\n/**\n * Trajectory for learning\n */\nexport interface Trajectory {\n id: number;\n query: string;\n embedding: number[];\n steps: TrajectoryStep[];\n route?: string;\n contexts: string[];\n startTime: number;\n}\n\nexport interface TrajectoryStep {\n action: string;\n activations: number[];\n attentionWeights: number[];\n reward: number;\n timestamp: number;\n}\n\n/**\n * Agent routing result\n */\nexport interface AgentRoutingResult {\n agentId: string;\n confidence: number;\n attentionWeights: Float32Array;\n expertWeights?: number[];\n latencyMs: number;\n usedHnsw: boolean;\n usedSona: boolean;\n}\n\n/**\n * Learning outcome\n */\nexport interface LearningOutcome {\n trajectoryId: number;\n success: boolean;\n quality: number;\n patternsLearned: number;\n adaptations: {\n microLora: boolean;\n baseLora: boolean;\n ewc: boolean;\n };\n}\n\n/**\n * RuVector Unified Intelligence Layer\n *\n * Combines SONA self-learning, advanced attention mechanisms,\n * and HNSW vector search for intelligent agent orchestration.\n */\n/**\n * Result wrapper for operations that can fail\n */\nexport interface OperationResult<T> {\n success: boolean;\n value?: T;\n error?: string;\n}\n\nexport class RuVectorIntelligence {\n private config: Required<RuVectorIntelligenceConfig>;\n private initialized = false;\n private initPromise: Promise<void> | null = null;\n\n // SONA Engine for self-learning\n private sona: any = null;\n\n // Attention mechanisms\n private multiHeadAttention: any = null;\n private flashAttention: any = null;\n private hyperbolicAttention: any = null;\n private moeAttention: any = null;\n private graphAttention: any = null;\n private dualSpaceAttention: any = null;\n\n // Training (simplified - removed unused scheduler/loss)\n private optimizer: any = null;\n\n // HNSW index for vector search\n private hnswIndex: any = null;\n\n // Active trajectories with LRU tracking\n private trajectories: Map<number, Trajectory> = new Map();\n private trajectoryAccessOrder: number[] = []; // For LRU eviction\n private nextTrajectoryId = 0;\n\n // Agent embeddings with LRU tracking\n private agentEmbeddings: Map<string, Float32Array> = new Map();\n private agentAccessOrder: string[] = []; // For LRU eviction\n\n // Background learning timer\n private learningTimer: NodeJS.Timeout | null = null;\n\n // Cleanup timer for stale trajectories\n private cleanupTimer: NodeJS.Timeout | null = null;\n\n // Statistics\n private stats = {\n totalRoutings: 0,\n totalTrajectories: 0,\n totalLearningCycles: 0,\n avgRoutingLatencyMs: 0,\n patternsLearned: 0,\n hnswQueries: 0,\n sonaAdaptations: 0,\n evictedTrajectories: 0,\n evictedAgents: 0,\n };\n\n constructor(config?: RuVectorIntelligenceConfig) {\n this.config = {\n embeddingDim: config?.embeddingDim ?? 384,\n hiddenDim: config?.hiddenDim ?? 256,\n enableSona: config?.enableSona ?? true,\n sonaConfig: config?.sonaConfig ?? {},\n attentionType: config?.attentionType ?? 'moe',\n numHeads: config?.numHeads ?? 8,\n numExperts: config?.numExperts ?? 4,\n topK: config?.topK ?? 2,\n curvature: config?.curvature ?? 1.0,\n enableHnsw: config?.enableHnsw ?? true,\n hnswM: config?.hnswM ?? 16,\n hnswEfConstruction: config?.hnswEfConstruction ?? 200,\n enableTrajectories: config?.enableTrajectories ?? true,\n qualityThreshold: config?.qualityThreshold ?? 0.5,\n backgroundIntervalMs: config?.backgroundIntervalMs ?? 60000,\n // Memory limits with LRU eviction\n maxTrajectories: config?.maxTrajectories ?? 1000,\n trajectoryTTLMs: config?.trajectoryTTLMs ?? 1800000, // 30 min\n maxAgentEmbeddings: config?.maxAgentEmbeddings ?? 500,\n };\n\n // Initialize asynchronously to avoid race conditions\n this.initPromise = this.initializeAsync();\n }\n\n /**\n * Wait for initialization to complete\n */\n async waitForInit(): Promise<void> {\n if (this.initPromise) {\n await this.initPromise;\n }\n }\n\n /**\n * Initialize all components (async to avoid race conditions)\n */\n private async initializeAsync(): Promise<void> {\n if (this.initialized) return;\n\n const dim = this.config.embeddingDim;\n\n // Initialize SONA Engine\n if (this.config.enableSona) {\n try {\n // Ensure all values are explicitly defined (no undefined values)\n const sonaConfig: JsSonaConfig = {\n hiddenDim: this.config.hiddenDim ?? 256,\n embeddingDim: dim ?? 384,\n microLoraRank: 1, // Ultra-fast rank-1\n baseLoraRank: 8,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000.0, // EWC++ regularization\n patternClusters: 50,\n trajectoryCapacity: 10000,\n qualityThreshold: this.config.qualityThreshold ?? 0.5, // Ensure defined\n enableSimd: true,\n // Only spread defined values from sonaConfig\n ...(this.config.sonaConfig && Object.fromEntries(\n Object.entries(this.config.sonaConfig).filter(([, v]) => v !== undefined)\n )),\n };\n\n this.sona = SonaEngine.withConfig(sonaConfig);\n } catch (err) {\n console.warn('[RuVectorIntelligence] SONA init failed, using fallback:', err);\n this.sona = null;\n }\n }\n\n // Initialize attention mechanisms based on type\n try {\n switch (this.config.attentionType) {\n case 'multi_head':\n this.multiHeadAttention = new MultiHeadAttention(dim, this.config.numHeads ?? 8);\n break;\n\n case 'flash':\n this.flashAttention = new FlashAttention(dim);\n break;\n\n case 'hyperbolic':\n this.hyperbolicAttention = new HyperbolicAttention(dim, this.config.curvature ?? 1.0);\n break;\n\n case 'moe':\n const moeConfig: MoEConfig = {\n dim,\n numExperts: this.config.numExperts ?? 4,\n topK: this.config.topK ?? 2,\n };\n this.moeAttention = new MoEAttention(moeConfig);\n break;\n\n case 'graph':\n this.graphAttention = new GraphRoPeAttention(dim, 10000);\n break;\n\n case 'dual':\n this.dualSpaceAttention = new DualSpaceAttention(\n dim,\n this.config.curvature ?? 1.0,\n 0.5, // Euclidean weight\n 0.5 // Hyperbolic weight\n );\n break;\n }\n } catch (err) {\n console.warn('[RuVectorIntelligence] Attention init failed, using fallback:', err);\n }\n\n // Initialize training components (simplified - only optimizer needed)\n try {\n // AdamOptimizer requires: learning_rate, beta1, beta2, epsilon\n this.optimizer = new AdamOptimizer(0.001, 0.9, 0.999, 1e-8);\n } catch (err) {\n console.warn('[RuVectorIntelligence] Optimizer init failed:', err);\n }\n\n // Initialize HNSW index\n if (this.config.enableHnsw) {\n try {\n this.initializeHnsw();\n } catch (err) {\n console.warn('[RuVectorIntelligence] HNSW init failed:', err);\n }\n }\n\n // Start background learning\n if (this.config.enableSona) {\n this.startBackgroundLearning();\n }\n\n // Start cleanup timer for stale trajectories\n this.startCleanupTimer();\n\n this.initialized = true;\n }\n\n /**\n * Start cleanup timer for stale trajectories\n */\n private startCleanupTimer(): void {\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n }\n\n // Run cleanup every 5 minutes\n this.cleanupTimer = setInterval(() => {\n this.cleanupStaleTrajectories();\n }, 300000);\n }\n\n /**\n * Clean up trajectories older than TTL\n */\n private cleanupStaleTrajectories(): void {\n const now = Date.now();\n const ttl = this.config.trajectoryTTLMs;\n\n for (const [id, trajectory] of this.trajectories) {\n if (now - trajectory.startTime > ttl) {\n this.trajectories.delete(id);\n this.trajectoryAccessOrder = this.trajectoryAccessOrder.filter(t => t !== id);\n this.stats.evictedTrajectories++;\n }\n }\n }\n\n /**\n * LRU eviction for trajectories when limit exceeded\n */\n private evictOldestTrajectory(): void {\n if (this.trajectoryAccessOrder.length === 0) return;\n\n const oldestId = this.trajectoryAccessOrder.shift()!;\n this.trajectories.delete(oldestId);\n this.stats.evictedTrajectories++;\n }\n\n /**\n * LRU eviction for agent embeddings when limit exceeded\n */\n private evictOldestAgent(): void {\n if (this.agentAccessOrder.length === 0) return;\n\n const oldestId = this.agentAccessOrder.shift()!;\n this.agentEmbeddings.delete(oldestId);\n this.stats.evictedAgents++;\n }\n\n /**\n * Update LRU access order for trajectory\n */\n private touchTrajectory(id: number): void {\n const idx = this.trajectoryAccessOrder.indexOf(id);\n if (idx !== -1) {\n this.trajectoryAccessOrder.splice(idx, 1);\n }\n this.trajectoryAccessOrder.push(id);\n }\n\n /**\n * Update LRU access order for agent\n */\n private touchAgent(id: string): void {\n const idx = this.agentAccessOrder.indexOf(id);\n if (idx !== -1) {\n this.agentAccessOrder.splice(idx, 1);\n }\n this.agentAccessOrder.push(id);\n }\n\n /**\n * Initialize HNSW index for fast vector search\n */\n private initializeHnsw(): void {\n try {\n // Use ruvector core HNSW\n this.hnswIndex = new ruvector.HnswIndex({\n dim: this.config.embeddingDim,\n m: this.config.hnswM,\n efConstruction: this.config.hnswEfConstruction,\n distance: 'cosine',\n });\n } catch (error) {\n console.warn('HNSW initialization failed, falling back to brute force:', error);\n this.hnswIndex = null;\n }\n }\n\n /**\n * Register an agent with its embedding\n *\n * @param agentId - Unique agent identifier\n * @param embedding - Agent's semantic embedding\n * @param metadata - Optional metadata\n * @returns Operation result indicating success/failure\n */\n async registerAgent(\n agentId: string,\n embedding: number[] | Float32Array,\n metadata?: Record<string, any>\n ): Promise<OperationResult<void>> {\n await this.waitForInit();\n\n try {\n const embeddingArray = embedding instanceof Float32Array\n ? embedding\n : new Float32Array(embedding);\n\n // LRU eviction if at capacity\n while (this.agentEmbeddings.size >= this.config.maxAgentEmbeddings) {\n this.evictOldestAgent();\n }\n\n // Store in cache and update LRU order\n this.agentEmbeddings.set(agentId, embeddingArray);\n this.touchAgent(agentId);\n\n // Add to HNSW index\n if (this.hnswIndex) {\n try {\n await this.hnswIndex.add(agentId, embeddingArray);\n } catch (error) {\n console.warn(`Failed to add agent ${agentId} to HNSW:`, error);\n }\n }\n\n return { success: true };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /**\n * Route a task to the best agent using full intelligence stack\n *\n * Uses:\n * - HNSW for fast candidate retrieval\n * - Attention mechanism for ranking\n * - SONA for adaptive learning\n *\n * @param taskEmbedding - Task's semantic embedding\n * @param candidates - Optional candidate agent IDs\n * @param topK - Number of results\n */\n async routeTask(\n taskEmbedding: number[] | Float32Array,\n candidates?: string[],\n topK: number = 5\n ): Promise<AgentRoutingResult[]> {\n const startTime = performance.now();\n const query = taskEmbedding instanceof Float32Array\n ? taskEmbedding\n : new Float32Array(taskEmbedding);\n\n let results: AgentRoutingResult[] = [];\n let usedHnsw = false;\n let usedSona = false;\n\n // Step 1: Get candidates via HNSW (150x faster than brute force)\n let candidateAgents: Array<{ id: string; embedding: Float32Array; score: number }> = [];\n\n if (this.hnswIndex && this.agentEmbeddings.size > 10) {\n try {\n const hnswResults = await this.hnswIndex.search(query, Math.min(topK * 2, 20));\n candidateAgents = hnswResults.map((r: any) => ({\n id: r.id,\n embedding: this.agentEmbeddings.get(r.id)!,\n score: r.score,\n }));\n usedHnsw = true;\n this.stats.hnswQueries++;\n } catch (error) {\n // Fallback to all agents\n }\n }\n\n // Fallback: use provided candidates or all agents\n if (candidateAgents.length === 0) {\n const agentIds = candidates || Array.from(this.agentEmbeddings.keys());\n candidateAgents = agentIds\n .filter(id => this.agentEmbeddings.has(id))\n .map(id => ({\n id,\n embedding: this.agentEmbeddings.get(id)!,\n score: 0,\n }));\n }\n\n if (candidateAgents.length === 0) {\n return [];\n }\n\n // Step 2: Apply SONA Micro-LoRA transformation (~0.1ms)\n let transformedQuery = query;\n if (this.sona) {\n try {\n const loraResult = this.sona.applyMicroLora(Array.from(query));\n transformedQuery = new Float32Array(loraResult);\n usedSona = true;\n this.stats.sonaAdaptations++;\n } catch (error) {\n // Use original query\n }\n }\n\n // Step 3: Compute attention scores\n const keys = candidateAgents.map(c => c.embedding);\n const values = candidateAgents.map(c => c.embedding);\n\n let attentionOutput: Float32Array;\n let expertWeights: number[] | undefined;\n\n switch (this.config.attentionType) {\n case 'moe':\n if (this.moeAttention) {\n attentionOutput = this.moeAttention.compute(transformedQuery, keys, values);\n // MoE provides expert routing weights\n expertWeights = Array.from(attentionOutput.slice(0, this.config.numExperts));\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'flash':\n if (this.flashAttention) {\n attentionOutput = this.flashAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'hyperbolic':\n if (this.hyperbolicAttention) {\n attentionOutput = this.hyperbolicAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'dual':\n if (this.dualSpaceAttention) {\n attentionOutput = this.dualSpaceAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n default:\n if (this.multiHeadAttention) {\n attentionOutput = this.multiHeadAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n }\n\n // Step 4: Compute similarity scores for ranking\n const scores = candidateAgents.map((agent, i) => {\n // Combine HNSW score with attention-weighted score\n const attentionScore = this.cosineSimilarity(\n attentionOutput,\n agent.embedding\n );\n const hnswScore = agent.score || 0;\n\n // Weighted combination\n const finalScore = usedHnsw\n ? 0.3 * hnswScore + 0.7 * attentionScore\n : attentionScore;\n\n return {\n agentId: agent.id,\n confidence: finalScore,\n attentionWeights: attentionOutput,\n expertWeights,\n latencyMs: 0,\n usedHnsw,\n usedSona,\n };\n });\n\n // Sort by confidence\n results = scores\n .sort((a, b) => b.confidence - a.confidence)\n .slice(0, topK);\n\n // Update latency\n const latencyMs = performance.now() - startTime;\n results.forEach(r => (r.latencyMs = latencyMs));\n\n // Update stats\n this.stats.totalRoutings++;\n this.stats.avgRoutingLatencyMs =\n (this.stats.avgRoutingLatencyMs * (this.stats.totalRoutings - 1) + latencyMs) /\n this.stats.totalRoutings;\n\n return results;\n }\n\n /**\n * Fallback attention using dot product\n */\n private computeFallbackAttention(\n query: Float32Array,\n keys: Float32Array[],\n values: Float32Array[]\n ): Float32Array {\n const dim = query.length;\n const result = new Float32Array(dim);\n let totalWeight = 0;\n\n for (let i = 0; i < keys.length; i++) {\n const similarity = this.cosineSimilarity(query, keys[i]);\n const weight = Math.exp(similarity * 10); // Temperature scaling\n totalWeight += weight;\n\n for (let j = 0; j < dim; j++) {\n result[j] += weight * values[i][j];\n }\n }\n\n // Normalize\n if (totalWeight > 0) {\n for (let j = 0; j < dim; j++) {\n result[j] /= totalWeight;\n }\n }\n\n return result;\n }\n\n /**\n * Cosine similarity between two vectors\n */\n private cosineSimilarity(a: Float32Array, b: Float32Array): number {\n let dot = 0;\n let normA = 0;\n let normB = 0;\n\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n normA += a[i] * a[i];\n normB += b[i] * b[i];\n }\n\n const norm = Math.sqrt(normA) * Math.sqrt(normB);\n return norm > 0 ? dot / norm : 0;\n }\n\n // ==========================================================================\n // Trajectory Learning (SONA)\n // ==========================================================================\n\n /**\n * Begin a new trajectory for learning\n *\n * @param query - The task query\n * @param embedding - Query embedding\n * @returns Operation result with trajectory ID\n */\n beginTrajectory(query: string, embedding: number[]): OperationResult<number> {\n if (!this.config.enableTrajectories) {\n return {\n success: false,\n error: 'Trajectories are disabled in config',\n };\n }\n\n if (!this.sona) {\n return {\n success: false,\n error: 'SONA engine not initialized',\n };\n }\n\n try {\n // LRU eviction if at capacity\n while (this.trajectories.size >= this.config.maxTrajectories) {\n this.evictOldestTrajectory();\n }\n\n const trajectoryId = this.nextTrajectoryId++;\n\n // Start SONA trajectory\n const sonaId = this.sona.beginTrajectory(embedding);\n\n // Store local trajectory\n this.trajectories.set(trajectoryId, {\n id: sonaId,\n query,\n embedding,\n steps: [],\n contexts: [],\n startTime: Date.now(),\n });\n\n // Update LRU order\n this.touchTrajectory(trajectoryId);\n\n this.stats.totalTrajectories++;\n return { success: true, value: trajectoryId };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /**\n * Add a step to trajectory\n *\n * @param trajectoryId - Trajectory ID from beginTrajectory\n * @param action - Action taken (e.g., agent selected)\n * @param reward - Reward for this step (0-1)\n * @param activations - Optional activations\n * @param attentionWeights - Optional attention weights\n */\n addTrajectoryStep(\n trajectoryId: number,\n action: string,\n reward: number,\n activations?: number[],\n attentionWeights?: number[]\n ): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n const step: TrajectoryStep = {\n action,\n activations: activations || new Array(this.config.hiddenDim).fill(0),\n attentionWeights: attentionWeights || new Array(this.config.numHeads).fill(0),\n reward,\n timestamp: Date.now(),\n };\n\n trajectory.steps.push(step);\n\n // Add to SONA\n this.sona.addTrajectoryStep(\n trajectory.id,\n step.activations,\n step.attentionWeights,\n reward\n );\n }\n\n /**\n * Set the route (agent selected) for trajectory\n */\n setTrajectoryRoute(trajectoryId: number, route: string): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n trajectory.route = route;\n this.sona.setTrajectoryRoute(trajectory.id, route);\n }\n\n /**\n * Add context to trajectory\n */\n addTrajectoryContext(trajectoryId: number, contextId: string): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n trajectory.contexts.push(contextId);\n this.sona.addTrajectoryContext(trajectory.id, contextId);\n }\n\n /**\n * End trajectory and submit for learning\n *\n * @param trajectoryId - Trajectory ID\n * @param success - Whether the task succeeded\n * @param quality - Quality score (0-1)\n * @returns Learning outcome\n */\n endTrajectory(\n trajectoryId: number,\n success: boolean,\n quality: number\n ): LearningOutcome {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return {\n trajectoryId,\n success,\n quality,\n patternsLearned: 0,\n adaptations: { microLora: false, baseLora: false, ewc: false },\n };\n }\n\n // End SONA trajectory\n this.sona.endTrajectory(trajectory.id, quality);\n\n // Cleanup\n this.trajectories.delete(trajectoryId);\n\n return {\n trajectoryId,\n success,\n quality,\n patternsLearned: quality >= this.config.qualityThreshold ? 1 : 0,\n adaptations: {\n microLora: true, // Micro-LoRA always adapts\n baseLora: quality >= 0.7, // Base-LoRA for high quality\n ewc: quality >= 0.8, // EWC++ for very high quality\n },\n };\n }\n\n // ==========================================================================\n // Pattern Retrieval (ReasoningBank)\n // ==========================================================================\n\n /**\n * Find similar learned patterns\n *\n * Uses SONA's ReasoningBank for pattern retrieval\n *\n * @param embedding - Query embedding\n * @param k - Number of patterns to return\n */\n findPatterns(embedding: number[], k: number = 5): JsLearnedPattern[] {\n if (!this.sona) {\n return [];\n }\n\n return this.sona.findPatterns(embedding, k);\n }\n\n /**\n * Force a learning cycle\n */\n forceLearning(): string {\n if (!this.sona) {\n return 'SONA not enabled';\n }\n\n const result = this.sona.forceLearn();\n this.stats.totalLearningCycles++;\n return result;\n }\n\n // ==========================================================================\n // Background Learning\n // ==========================================================================\n\n /**\n * Start background learning timer\n */\n private startBackgroundLearning(): void {\n if (this.learningTimer) {\n clearInterval(this.learningTimer);\n }\n\n this.learningTimer = setInterval(() => {\n if (this.sona) {\n const result = this.sona.tick();\n if (result) {\n this.stats.totalLearningCycles++;\n this.stats.patternsLearned = this.getPatternsCount();\n }\n }\n }, this.config.backgroundIntervalMs);\n }\n\n /**\n * Get patterns count from SONA stats\n */\n private getPatternsCount(): number {\n if (!this.sona) return 0;\n\n try {\n const stats = JSON.parse(this.sona.getStats());\n return stats.patterns_count || 0;\n } catch {\n return 0;\n }\n }\n\n // ==========================================================================\n // Async Attention (for large batches)\n // ==========================================================================\n\n /**\n * Compute attention asynchronously\n *\n * Useful for large batches or when non-blocking is required\n */\n async computeAttentionAsync(\n query: Float32Array,\n keys: Float32Array[],\n values: Float32Array[],\n type?: 'flash' | 'hyperbolic' | 'standard'\n ): Promise<Float32Array> {\n switch (type) {\n case 'flash':\n return computeFlashAttentionAsync(query, keys, values);\n\n case 'hyperbolic':\n return computeHyperbolicAttentionAsync(\n query,\n keys,\n values,\n this.config.curvature\n );\n\n default:\n return computeAttentionAsync(query, keys, values, AttentionType.MultiHead);\n }\n }\n\n // ==========================================================================\n // Hyperbolic Operations (for hierarchical structures)\n // ==========================================================================\n\n /**\n * Compute Poincaré distance between two embeddings\n *\n * Useful for hierarchical agent structures\n */\n poincareDistance(a: Float32Array, b: Float32Array): number {\n return poincareDistance(a, b, this.config.curvature);\n }\n\n /**\n * Project embedding to Poincaré ball\n */\n projectToPoincare(embedding: Float32Array): Float32Array {\n return projectToPoincareBall(embedding, this.config.curvature);\n }\n\n // ==========================================================================\n // Statistics & Status\n // ==========================================================================\n\n /**\n * Get intelligence layer statistics\n */\n getStats(): typeof this.stats & { sonaStats?: any } {\n let sonaStats: any = null;\n\n if (this.sona) {\n try {\n sonaStats = JSON.parse(this.sona.getStats());\n } catch {}\n }\n\n return {\n ...this.stats,\n sonaStats,\n };\n }\n\n /**\n * Enable/disable the intelligence layer\n */\n setEnabled(enabled: boolean): void {\n if (this.sona) {\n this.sona.setEnabled(enabled);\n }\n }\n\n /**\n * Check if enabled\n */\n isEnabled(): boolean {\n return this.sona?.isEnabled() ?? false;\n }\n\n /**\n * Cleanup resources\n */\n dispose(): void {\n if (this.learningTimer) {\n clearInterval(this.learningTimer);\n this.learningTimer = null;\n }\n\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n this.cleanupTimer = null;\n }\n\n // Flush SONA\n if (this.sona) {\n this.sona.flush();\n }\n\n // Clear caches and LRU tracking\n this.trajectories.clear();\n this.trajectoryAccessOrder = [];\n this.agentEmbeddings.clear();\n this.agentAccessOrder = [];\n }\n}\n\n/**\n * Create a default intelligence layer\n */\nexport function createIntelligenceLayer(\n config?: RuVectorIntelligenceConfig\n): RuVectorIntelligence {\n return new RuVectorIntelligence(config);\n}\n\n/**\n * Presets for common configurations\n */\nexport const IntelligencePresets = {\n /** Fast routing with MoE and minimal learning */\n fast: {\n attentionType: 'moe' as const,\n numExperts: 4,\n topK: 2,\n enableTrajectories: false,\n backgroundIntervalMs: 300000, // 5 min\n },\n\n /** Balanced performance and learning */\n balanced: {\n attentionType: 'moe' as const,\n numExperts: 4,\n topK: 2,\n enableTrajectories: true,\n backgroundIntervalMs: 60000, // 1 min\n qualityThreshold: 0.5,\n },\n\n /** Maximum learning for development */\n learning: {\n attentionType: 'dual' as const,\n enableTrajectories: true,\n backgroundIntervalMs: 30000, // 30 sec\n qualityThreshold: 0.3,\n sonaConfig: {\n microLoraRank: 2,\n baseLoraRank: 16,\n trajectoryCapacity: 50000,\n },\n },\n\n /** Hierarchical structures (Poincaré geometry) */\n hierarchical: {\n attentionType: 'hyperbolic' as const,\n curvature: 1.0,\n enableTrajectories: true,\n },\n\n /** Graph-based reasoning */\n graph: {\n attentionType: 'graph' as const,\n enableTrajectories: true,\n },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"RuVectorIntelligence.js","sourceRoot":"","sources":["../../src/intelligence/RuVectorIntelligence.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * RuVector Unified Intelligence Layer\n *\n * Integrates the FULL power of RuVector ecosystem:\n *\n * @ruvector/sona - Self-Learning:\n * - Micro-LoRA: Ultra-fast rank-1/2 adaptations (~0.1ms)\n * - Base-LoRA: Deeper pattern adaptations\n * - EWC++: Elastic Weight Consolidation (catastrophic forgetting prevention)\n * - ReasoningBank: Pattern storage/retrieval via findPatterns\n * - Trajectory tracking: Learn from execution paths\n *\n * @ruvector/attention - Advanced Attention:\n * - MultiHeadAttention: Standard transformer attention\n * - FlashAttention: Memory-efficient O(n) attention\n * - HyperbolicAttention: Poincaré ball geometry for hierarchies\n * - MoEAttention: Mixture of Experts routing\n * - GraphRoPeAttention: Graph + Rotary Position Embeddings\n * - EdgeFeaturedAttention: Edge-aware graph attention\n * - DualSpaceAttention: Euclidean + Hyperbolic hybrid\n *\n * @ruvector/core - Vector Database:\n * - HNSW indexing: 150x faster than brute force\n * - Real vector similarity search\n * - Cosine/Euclidean/Dot product distance\n *\n * Performance:\n * - Micro-LoRA adaptation: ~0.1ms\n * - FlashAttention: O(n) complexity vs O(n²)\n * - HNSW search: O(log n) vs O(n)\n * - Background learning: Non-blocking\n */\n\n// Optional imports - graceful fallback on Windows/platforms without native binaries\nlet SonaEngine: any = null;\nlet sonaAvailable = false;\n\nlet MultiHeadAttention: any = null;\nlet FlashAttention: any = null;\nlet HyperbolicAttention: any = null;\nlet MoEAttention: any = null;\nlet GraphRoPeAttention: any = null;\nlet DualSpaceAttention: any = null;\nlet AdamOptimizer: any = null;\nlet computeAttentionAsync: any = null;\nlet computeFlashAttentionAsync: any = null;\nlet computeHyperbolicAttentionAsync: any = null;\nlet poincareDistance: any = null;\nlet projectToPoincareBall: any = null;\nlet AttentionType: any = null;\nlet attentionAvailable = false;\n\n/**\n * Tile size for native flash attention. @ruvector/attention 2.x requires it\n * explicitly in both the FlashAttention constructor and\n * computeFlashAttentionAsync (omitting it throws, which used to push every\n * 'flash' route onto the JS fallback).\n */\nconst FLASH_ATTENTION_BLOCK_SIZE = 64;\n\n/** Max graph position for GraphRoPeAttention's rotary table. */\nconst GRAPH_ROPE_MAX_POSITION = 10000;\n\n// Try to load @ruvector/sona (through the loader, whose engines validate\n// LoRA input lengths instead of letting a native panic abort the process)\ntry {\n SonaEngine = requireSonaEngine();\n sonaAvailable = true;\n} catch {\n console.warn('[RuVectorIntelligence] @ruvector/sona not available - self-learning disabled');\n}\n\n// Try to load @ruvector/attention\ntry {\n // @ruvector/attention is CommonJS; from 0.1.32 its typings expose it as\n // `default` under ESM interop, while older builds surface named exports.\n const attentionMod: any = await import('@ruvector/attention');\n const attentionModule = attentionMod.default ?? attentionMod;\n MultiHeadAttention = attentionModule.MultiHeadAttention;\n FlashAttention = attentionModule.FlashAttention;\n HyperbolicAttention = attentionModule.HyperbolicAttention;\n MoEAttention = attentionModule.MoEAttention;\n GraphRoPeAttention = attentionModule.GraphRoPeAttention;\n DualSpaceAttention = attentionModule.DualSpaceAttention;\n AdamOptimizer = attentionModule.AdamOptimizer;\n computeAttentionAsync = attentionModule.computeAttentionAsync;\n computeFlashAttentionAsync = attentionModule.computeFlashAttentionAsync;\n computeHyperbolicAttentionAsync = attentionModule.computeHyperbolicAttentionAsync;\n poincareDistance = attentionModule.poincareDistance;\n projectToPoincareBall = attentionModule.projectToPoincareBall;\n AttentionType = attentionModule.AttentionType;\n attentionAvailable = true;\n} catch {\n console.warn('[RuVectorIntelligence] @ruvector/attention not available - attention features disabled');\n}\n\n// Import from ruvector core (for HNSW)\nimport { requireSonaEngine } from '../services/sona-loader.js';\nimport ruvector from 'ruvector';\n\n// Export availability flags\nexport { sonaAvailable, attentionAvailable };\n\n// Local type definitions (replaces imports from optional packages)\nexport interface JsSonaConfig {\n embeddingDim?: number;\n hiddenDim?: number;\n microLoraRank?: number;\n baseLoraRank?: number;\n ewcLambda?: number;\n microLoraLr?: number;\n baseLoraLr?: number;\n patternClusters?: number;\n [key: string]: any; // Allow additional properties\n}\n\nexport interface JsLearnedPattern {\n id: string;\n pattern: number[];\n confidence: number;\n timestamp: number;\n}\n\nexport interface MoEConfig {\n numExperts?: number;\n topK?: number;\n routerDim?: number;\n dim?: number;\n}\n\n/**\n * Intelligence Layer Configuration\n */\nexport interface RuVectorIntelligenceConfig {\n /** Embedding dimension (default: 384 for all-MiniLM-L6-v2) */\n embeddingDim?: number;\n\n /** Hidden dimension for SONA (default: 256) */\n hiddenDim?: number;\n\n /** Enable SONA self-learning (default: true) */\n enableSona?: boolean;\n\n /** SONA configuration */\n sonaConfig?: Partial<JsSonaConfig>;\n\n /** Attention type for agent routing (default: 'moe') */\n attentionType?: 'multi_head' | 'flash' | 'hyperbolic' | 'moe' | 'graph' | 'dual';\n\n /** Number of attention heads (default: 8) */\n numHeads?: number;\n\n /** Number of MoE experts (default: 4) */\n numExperts?: number;\n\n /** Top-K experts to use (default: 2) */\n topK?: number;\n\n /** Hyperbolic curvature for hierarchical structures (default: 1.0) */\n curvature?: number;\n\n /** Enable HNSW vector index (default: true) */\n enableHnsw?: boolean;\n\n /** HNSW M parameter - connections per node (default: 16) */\n hnswM?: number;\n\n /** HNSW ef_construction (default: 200) */\n hnswEfConstruction?: number;\n\n /** Enable trajectory tracking (default: true) */\n enableTrajectories?: boolean;\n\n /** Quality threshold for learning (default: 0.5) */\n qualityThreshold?: number;\n\n /** Background learning interval in ms (default: 60000 = 1 min) */\n backgroundIntervalMs?: number;\n\n /** Maximum trajectories to keep in memory (default: 1000, LRU eviction) */\n maxTrajectories?: number;\n\n /** Trajectory TTL in ms (default: 1800000 = 30 min) */\n trajectoryTTLMs?: number;\n\n /** Maximum agent embeddings to cache (default: 500, LRU eviction) */\n maxAgentEmbeddings?: number;\n}\n\n/**\n * Trajectory for learning\n */\nexport interface Trajectory {\n id: number;\n query: string;\n embedding: number[];\n steps: TrajectoryStep[];\n route?: string;\n contexts: string[];\n startTime: number;\n}\n\nexport interface TrajectoryStep {\n action: string;\n activations: number[];\n attentionWeights: number[];\n reward: number;\n timestamp: number;\n}\n\n/**\n * Agent routing result\n */\nexport interface AgentRoutingResult {\n agentId: string;\n confidence: number;\n attentionWeights: Float32Array;\n expertWeights?: number[];\n latencyMs: number;\n usedHnsw: boolean;\n usedSona: boolean;\n}\n\n/**\n * Learning outcome\n */\nexport interface LearningOutcome {\n trajectoryId: number;\n success: boolean;\n quality: number;\n patternsLearned: number;\n adaptations: {\n microLora: boolean;\n baseLora: boolean;\n ewc: boolean;\n };\n}\n\n/**\n * RuVector Unified Intelligence Layer\n *\n * Combines SONA self-learning, advanced attention mechanisms,\n * and HNSW vector search for intelligent agent orchestration.\n */\n/**\n * Result wrapper for operations that can fail\n */\nexport interface OperationResult<T> {\n success: boolean;\n value?: T;\n error?: string;\n}\n\nexport class RuVectorIntelligence {\n private config: Required<RuVectorIntelligenceConfig>;\n private initialized = false;\n private initPromise: Promise<void> | null = null;\n\n // SONA Engine for self-learning\n private sona: any = null;\n\n // Attention mechanisms\n private multiHeadAttention: any = null;\n private flashAttention: any = null;\n private hyperbolicAttention: any = null;\n private moeAttention: any = null;\n private graphAttention: any = null;\n private dualSpaceAttention: any = null;\n\n // Training (simplified - removed unused scheduler/loss)\n private optimizer: any = null;\n\n // HNSW index for vector search\n private hnswIndex: any = null;\n\n // Active trajectories with LRU tracking\n private trajectories: Map<number, Trajectory> = new Map();\n private trajectoryAccessOrder: number[] = []; // For LRU eviction\n private nextTrajectoryId = 0;\n\n // Agent embeddings with LRU tracking\n private agentEmbeddings: Map<string, Float32Array> = new Map();\n private agentAccessOrder: string[] = []; // For LRU eviction\n\n // Background learning timer\n private learningTimer: NodeJS.Timeout | null = null;\n\n // Cleanup timer for stale trajectories\n private cleanupTimer: NodeJS.Timeout | null = null;\n\n // Statistics\n private stats = {\n totalRoutings: 0,\n totalTrajectories: 0,\n totalLearningCycles: 0,\n avgRoutingLatencyMs: 0,\n patternsLearned: 0,\n hnswQueries: 0,\n sonaAdaptations: 0,\n evictedTrajectories: 0,\n evictedAgents: 0,\n };\n\n constructor(config?: RuVectorIntelligenceConfig) {\n this.config = {\n embeddingDim: config?.embeddingDim ?? 384,\n hiddenDim: config?.hiddenDim ?? 256,\n enableSona: config?.enableSona ?? true,\n sonaConfig: config?.sonaConfig ?? {},\n attentionType: config?.attentionType ?? 'moe',\n numHeads: config?.numHeads ?? 8,\n numExperts: config?.numExperts ?? 4,\n topK: config?.topK ?? 2,\n curvature: config?.curvature ?? 1.0,\n enableHnsw: config?.enableHnsw ?? true,\n hnswM: config?.hnswM ?? 16,\n hnswEfConstruction: config?.hnswEfConstruction ?? 200,\n enableTrajectories: config?.enableTrajectories ?? true,\n qualityThreshold: config?.qualityThreshold ?? 0.5,\n backgroundIntervalMs: config?.backgroundIntervalMs ?? 60000,\n // Memory limits with LRU eviction\n maxTrajectories: config?.maxTrajectories ?? 1000,\n trajectoryTTLMs: config?.trajectoryTTLMs ?? 1800000, // 30 min\n maxAgentEmbeddings: config?.maxAgentEmbeddings ?? 500,\n };\n\n // Initialize asynchronously to avoid race conditions\n this.initPromise = this.initializeAsync();\n }\n\n /**\n * Wait for initialization to complete\n */\n async waitForInit(): Promise<void> {\n if (this.initPromise) {\n await this.initPromise;\n }\n }\n\n /**\n * Initialize all components (async to avoid race conditions)\n */\n private async initializeAsync(): Promise<void> {\n if (this.initialized) return;\n\n const dim = this.config.embeddingDim;\n\n // Initialize SONA Engine\n if (this.config.enableSona) {\n try {\n // Ensure all values are explicitly defined (no undefined values)\n const sonaConfig: JsSonaConfig = {\n hiddenDim: this.config.hiddenDim ?? 256,\n embeddingDim: dim ?? 384,\n microLoraRank: 1, // Ultra-fast rank-1\n baseLoraRank: 8,\n microLoraLr: 0.001,\n baseLoraLr: 0.0001,\n ewcLambda: 1000.0, // EWC++ regularization\n patternClusters: 50,\n trajectoryCapacity: 10000,\n qualityThreshold: this.config.qualityThreshold ?? 0.5, // Ensure defined\n enableSimd: true,\n // Only spread defined values from sonaConfig\n ...(this.config.sonaConfig && Object.fromEntries(\n Object.entries(this.config.sonaConfig).filter(([, v]) => v !== undefined)\n )),\n };\n\n this.sona = SonaEngine.withConfig(sonaConfig);\n } catch (err) {\n console.warn('[RuVectorIntelligence] SONA init failed, using fallback:', err);\n this.sona = null;\n }\n }\n\n // Initialize attention mechanisms based on type\n try {\n switch (this.config.attentionType) {\n case 'multi_head':\n this.multiHeadAttention = new MultiHeadAttention(dim, this.config.numHeads ?? 8);\n break;\n\n case 'flash':\n this.flashAttention = new FlashAttention(dim, FLASH_ATTENTION_BLOCK_SIZE);\n break;\n\n case 'hyperbolic':\n this.hyperbolicAttention = new HyperbolicAttention(dim, this.config.curvature ?? 1.0);\n break;\n\n case 'moe':\n const moeConfig: MoEConfig = {\n dim,\n numExperts: this.config.numExperts ?? 4,\n topK: this.config.topK ?? 2,\n };\n this.moeAttention = new MoEAttention(moeConfig);\n break;\n\n case 'graph':\n // 2.x takes a RoPEConfig object; positional args throw \"Missing field `dim`\"\n this.graphAttention = new GraphRoPeAttention({ dim, maxPosition: GRAPH_ROPE_MAX_POSITION });\n break;\n\n case 'dual':\n // 2.x takes a DualSpaceConfig object; positional args throw \"Missing field `dim`\"\n this.dualSpaceAttention = new DualSpaceAttention({\n dim,\n curvature: this.config.curvature ?? 1.0,\n euclideanWeight: 0.5,\n hyperbolicWeight: 0.5,\n });\n break;\n }\n } catch (err) {\n console.warn('[RuVectorIntelligence] Attention init failed, using fallback:', err);\n }\n\n // Initialize training components (simplified - only optimizer needed)\n try {\n // AdamOptimizer requires: learning_rate, beta1, beta2, epsilon\n this.optimizer = new AdamOptimizer(0.001, 0.9, 0.999, 1e-8);\n } catch (err) {\n console.warn('[RuVectorIntelligence] Optimizer init failed:', err);\n }\n\n // Initialize HNSW index\n if (this.config.enableHnsw) {\n try {\n this.initializeHnsw();\n } catch (err) {\n console.warn('[RuVectorIntelligence] HNSW init failed:', err);\n }\n }\n\n // Start background learning\n if (this.config.enableSona) {\n this.startBackgroundLearning();\n }\n\n // Start cleanup timer for stale trajectories\n this.startCleanupTimer();\n\n this.initialized = true;\n }\n\n /**\n * Start cleanup timer for stale trajectories\n */\n private startCleanupTimer(): void {\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n }\n\n // Run cleanup every 5 minutes\n this.cleanupTimer = setInterval(() => {\n this.cleanupStaleTrajectories();\n }, 300000);\n }\n\n /**\n * Clean up trajectories older than TTL\n */\n private cleanupStaleTrajectories(): void {\n const now = Date.now();\n const ttl = this.config.trajectoryTTLMs;\n\n for (const [id, trajectory] of this.trajectories) {\n if (now - trajectory.startTime > ttl) {\n this.trajectories.delete(id);\n this.trajectoryAccessOrder = this.trajectoryAccessOrder.filter(t => t !== id);\n this.stats.evictedTrajectories++;\n }\n }\n }\n\n /**\n * LRU eviction for trajectories when limit exceeded\n */\n private evictOldestTrajectory(): void {\n if (this.trajectoryAccessOrder.length === 0) return;\n\n const oldestId = this.trajectoryAccessOrder.shift()!;\n this.trajectories.delete(oldestId);\n this.stats.evictedTrajectories++;\n }\n\n /**\n * LRU eviction for agent embeddings when limit exceeded\n */\n private evictOldestAgent(): void {\n if (this.agentAccessOrder.length === 0) return;\n\n const oldestId = this.agentAccessOrder.shift()!;\n this.agentEmbeddings.delete(oldestId);\n this.stats.evictedAgents++;\n }\n\n /**\n * Update LRU access order for trajectory\n */\n private touchTrajectory(id: number): void {\n const idx = this.trajectoryAccessOrder.indexOf(id);\n if (idx !== -1) {\n this.trajectoryAccessOrder.splice(idx, 1);\n }\n this.trajectoryAccessOrder.push(id);\n }\n\n /**\n * Update LRU access order for agent\n */\n private touchAgent(id: string): void {\n const idx = this.agentAccessOrder.indexOf(id);\n if (idx !== -1) {\n this.agentAccessOrder.splice(idx, 1);\n }\n this.agentAccessOrder.push(id);\n }\n\n /**\n * Initialize HNSW index for fast vector search\n */\n private initializeHnsw(): void {\n try {\n // Use ruvector core HNSW\n this.hnswIndex = new ruvector.HnswIndex({\n dim: this.config.embeddingDim,\n m: this.config.hnswM,\n efConstruction: this.config.hnswEfConstruction,\n distance: 'cosine',\n });\n } catch (error) {\n console.warn('HNSW initialization failed, falling back to brute force:', error);\n this.hnswIndex = null;\n }\n }\n\n /**\n * Register an agent with its embedding\n *\n * @param agentId - Unique agent identifier\n * @param embedding - Agent's semantic embedding\n * @param metadata - Optional metadata\n * @returns Operation result indicating success/failure\n */\n async registerAgent(\n agentId: string,\n embedding: number[] | Float32Array,\n metadata?: Record<string, any>\n ): Promise<OperationResult<void>> {\n await this.waitForInit();\n\n try {\n const embeddingArray = embedding instanceof Float32Array\n ? embedding\n : new Float32Array(embedding);\n\n // LRU eviction if at capacity\n while (this.agentEmbeddings.size >= this.config.maxAgentEmbeddings) {\n this.evictOldestAgent();\n }\n\n // Store in cache and update LRU order\n this.agentEmbeddings.set(agentId, embeddingArray);\n this.touchAgent(agentId);\n\n // Add to HNSW index\n if (this.hnswIndex) {\n try {\n await this.hnswIndex.add(agentId, embeddingArray);\n } catch (error) {\n console.warn(`Failed to add agent ${agentId} to HNSW:`, error);\n }\n }\n\n return { success: true };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /**\n * Route a task to the best agent using full intelligence stack\n *\n * Uses:\n * - HNSW for fast candidate retrieval\n * - Attention mechanism for ranking\n * - SONA for adaptive learning\n *\n * @param taskEmbedding - Task's semantic embedding\n * @param candidates - Optional candidate agent IDs\n * @param topK - Number of results\n */\n async routeTask(\n taskEmbedding: number[] | Float32Array,\n candidates?: string[],\n topK: number = 5\n ): Promise<AgentRoutingResult[]> {\n const startTime = performance.now();\n const query = taskEmbedding instanceof Float32Array\n ? taskEmbedding\n : new Float32Array(taskEmbedding);\n\n let results: AgentRoutingResult[] = [];\n let usedHnsw = false;\n let usedSona = false;\n\n // Step 1: Get candidates via HNSW (150x faster than brute force)\n let candidateAgents: Array<{ id: string; embedding: Float32Array; score: number }> = [];\n\n if (this.hnswIndex && this.agentEmbeddings.size > 10) {\n try {\n const hnswResults = await this.hnswIndex.search(query, Math.min(topK * 2, 20));\n candidateAgents = hnswResults.map((r: any) => ({\n id: r.id,\n embedding: this.agentEmbeddings.get(r.id)!,\n score: r.score,\n }));\n usedHnsw = true;\n this.stats.hnswQueries++;\n } catch (error) {\n // Fallback to all agents\n }\n }\n\n // Fallback: use provided candidates or all agents\n if (candidateAgents.length === 0) {\n const agentIds = candidates || Array.from(this.agentEmbeddings.keys());\n candidateAgents = agentIds\n .filter(id => this.agentEmbeddings.has(id))\n .map(id => ({\n id,\n embedding: this.agentEmbeddings.get(id)!,\n score: 0,\n }));\n }\n\n if (candidateAgents.length === 0) {\n return [];\n }\n\n // Step 2: Apply SONA Micro-LoRA transformation (~0.1ms)\n let transformedQuery = query;\n if (this.sona) {\n try {\n const loraResult = this.sona.applyMicroLora(Array.from(query));\n transformedQuery = new Float32Array(loraResult);\n usedSona = true;\n this.stats.sonaAdaptations++;\n } catch (error) {\n // Use original query\n }\n }\n\n // Step 3: Compute attention scores\n const keys = candidateAgents.map(c => c.embedding);\n const values = candidateAgents.map(c => c.embedding);\n\n let attentionOutput: Float32Array;\n let expertWeights: number[] | undefined;\n\n switch (this.config.attentionType) {\n case 'moe':\n if (this.moeAttention) {\n attentionOutput = this.moeAttention.compute(transformedQuery, keys, values);\n // MoE provides expert routing weights\n expertWeights = Array.from(attentionOutput.slice(0, this.config.numExperts));\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'flash':\n if (this.flashAttention) {\n attentionOutput = this.flashAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'hyperbolic':\n if (this.hyperbolicAttention) {\n attentionOutput = this.hyperbolicAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'graph':\n if (this.graphAttention) {\n attentionOutput = this.graphAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n case 'dual':\n if (this.dualSpaceAttention) {\n attentionOutput = this.dualSpaceAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n break;\n\n default:\n if (this.multiHeadAttention) {\n attentionOutput = this.multiHeadAttention.compute(transformedQuery, keys, values);\n } else {\n attentionOutput = this.computeFallbackAttention(transformedQuery, keys, values);\n }\n }\n\n // Step 4: Compute similarity scores for ranking\n const scores = candidateAgents.map((agent, i) => {\n // Combine HNSW score with attention-weighted score\n const attentionScore = this.cosineSimilarity(\n attentionOutput,\n agent.embedding\n );\n const hnswScore = agent.score || 0;\n\n // Weighted combination\n const finalScore = usedHnsw\n ? 0.3 * hnswScore + 0.7 * attentionScore\n : attentionScore;\n\n return {\n agentId: agent.id,\n confidence: finalScore,\n attentionWeights: attentionOutput,\n expertWeights,\n latencyMs: 0,\n usedHnsw,\n usedSona,\n };\n });\n\n // Sort by confidence\n results = scores\n .sort((a, b) => b.confidence - a.confidence)\n .slice(0, topK);\n\n // Update latency\n const latencyMs = performance.now() - startTime;\n results.forEach(r => (r.latencyMs = latencyMs));\n\n // Update stats\n this.stats.totalRoutings++;\n this.stats.avgRoutingLatencyMs =\n (this.stats.avgRoutingLatencyMs * (this.stats.totalRoutings - 1) + latencyMs) /\n this.stats.totalRoutings;\n\n return results;\n }\n\n /**\n * Fallback attention using dot product\n */\n private computeFallbackAttention(\n query: Float32Array,\n keys: Float32Array[],\n values: Float32Array[]\n ): Float32Array {\n const dim = query.length;\n const result = new Float32Array(dim);\n let totalWeight = 0;\n\n for (let i = 0; i < keys.length; i++) {\n const similarity = this.cosineSimilarity(query, keys[i]);\n const weight = Math.exp(similarity * 10); // Temperature scaling\n totalWeight += weight;\n\n for (let j = 0; j < dim; j++) {\n result[j] += weight * values[i][j];\n }\n }\n\n // Normalize\n if (totalWeight > 0) {\n for (let j = 0; j < dim; j++) {\n result[j] /= totalWeight;\n }\n }\n\n return result;\n }\n\n /**\n * Cosine similarity between two vectors\n */\n private cosineSimilarity(a: Float32Array, b: Float32Array): number {\n let dot = 0;\n let normA = 0;\n let normB = 0;\n\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n normA += a[i] * a[i];\n normB += b[i] * b[i];\n }\n\n const norm = Math.sqrt(normA) * Math.sqrt(normB);\n return norm > 0 ? dot / norm : 0;\n }\n\n // ==========================================================================\n // Trajectory Learning (SONA)\n // ==========================================================================\n\n /**\n * Begin a new trajectory for learning\n *\n * @param query - The task query\n * @param embedding - Query embedding\n * @returns Operation result with trajectory ID\n */\n beginTrajectory(query: string, embedding: number[]): OperationResult<number> {\n if (!this.config.enableTrajectories) {\n return {\n success: false,\n error: 'Trajectories are disabled in config',\n };\n }\n\n if (!this.sona) {\n return {\n success: false,\n error: 'SONA engine not initialized',\n };\n }\n\n try {\n // LRU eviction if at capacity\n while (this.trajectories.size >= this.config.maxTrajectories) {\n this.evictOldestTrajectory();\n }\n\n const trajectoryId = this.nextTrajectoryId++;\n\n // Start SONA trajectory\n const sonaId = this.sona.beginTrajectory(embedding);\n\n // Store local trajectory\n this.trajectories.set(trajectoryId, {\n id: sonaId,\n query,\n embedding,\n steps: [],\n contexts: [],\n startTime: Date.now(),\n });\n\n // Update LRU order\n this.touchTrajectory(trajectoryId);\n\n this.stats.totalTrajectories++;\n return { success: true, value: trajectoryId };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /**\n * Add a step to trajectory\n *\n * @param trajectoryId - Trajectory ID from beginTrajectory\n * @param action - Action taken (e.g., agent selected)\n * @param reward - Reward for this step (0-1)\n * @param activations - Optional activations\n * @param attentionWeights - Optional attention weights\n */\n addTrajectoryStep(\n trajectoryId: number,\n action: string,\n reward: number,\n activations?: number[],\n attentionWeights?: number[]\n ): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n const step: TrajectoryStep = {\n action,\n activations: activations || new Array(this.config.hiddenDim).fill(0),\n attentionWeights: attentionWeights || new Array(this.config.numHeads).fill(0),\n reward,\n timestamp: Date.now(),\n };\n\n trajectory.steps.push(step);\n\n // Add to SONA\n this.sona.addTrajectoryStep(\n trajectory.id,\n step.activations,\n step.attentionWeights,\n reward\n );\n }\n\n /**\n * Set the route (agent selected) for trajectory\n */\n setTrajectoryRoute(trajectoryId: number, route: string): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n trajectory.route = route;\n this.sona.setTrajectoryRoute(trajectory.id, route);\n }\n\n /**\n * Add context to trajectory\n */\n addTrajectoryContext(trajectoryId: number, contextId: string): void {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return;\n }\n\n trajectory.contexts.push(contextId);\n this.sona.addTrajectoryContext(trajectory.id, contextId);\n }\n\n /**\n * End trajectory and submit for learning\n *\n * @param trajectoryId - Trajectory ID\n * @param success - Whether the task succeeded\n * @param quality - Quality score (0-1)\n * @returns Learning outcome\n */\n endTrajectory(\n trajectoryId: number,\n success: boolean,\n quality: number\n ): LearningOutcome {\n const trajectory = this.trajectories.get(trajectoryId);\n if (!trajectory || !this.sona) {\n return {\n trajectoryId,\n success,\n quality,\n patternsLearned: 0,\n adaptations: { microLora: false, baseLora: false, ewc: false },\n };\n }\n\n // End SONA trajectory\n this.sona.endTrajectory(trajectory.id, quality);\n\n // Cleanup\n this.trajectories.delete(trajectoryId);\n\n return {\n trajectoryId,\n success,\n quality,\n patternsLearned: quality >= this.config.qualityThreshold ? 1 : 0,\n adaptations: {\n microLora: true, // Micro-LoRA always adapts\n baseLora: quality >= 0.7, // Base-LoRA for high quality\n ewc: quality >= 0.8, // EWC++ for very high quality\n },\n };\n }\n\n // ==========================================================================\n // Pattern Retrieval (ReasoningBank)\n // ==========================================================================\n\n /**\n * Find similar learned patterns\n *\n * Uses SONA's ReasoningBank for pattern retrieval\n *\n * @param embedding - Query embedding\n * @param k - Number of patterns to return\n */\n findPatterns(embedding: number[], k: number = 5): JsLearnedPattern[] {\n if (!this.sona) {\n return [];\n }\n\n return this.sona.findPatterns(embedding, k);\n }\n\n /**\n * Force a learning cycle\n */\n forceLearning(): string {\n if (!this.sona) {\n return 'SONA not enabled';\n }\n\n const result = this.sona.forceLearn();\n this.stats.totalLearningCycles++;\n return result;\n }\n\n // ==========================================================================\n // Background Learning\n // ==========================================================================\n\n /**\n * Start background learning timer\n */\n private startBackgroundLearning(): void {\n if (this.learningTimer) {\n clearInterval(this.learningTimer);\n }\n\n this.learningTimer = setInterval(() => {\n if (this.sona) {\n const result = this.sona.tick();\n if (result) {\n this.stats.totalLearningCycles++;\n this.stats.patternsLearned = this.getPatternsCount();\n }\n }\n }, this.config.backgroundIntervalMs);\n }\n\n /**\n * Get patterns count from SONA stats\n */\n private getPatternsCount(): number {\n if (!this.sona) return 0;\n\n try {\n const stats = JSON.parse(this.sona.getStats());\n return stats.patterns_count || 0;\n } catch {\n return 0;\n }\n }\n\n // ==========================================================================\n // Async Attention (for large batches)\n // ==========================================================================\n\n /**\n * Compute attention asynchronously on a native worker thread\n *\n * Useful for large batches or when non-blocking is required. 'standard' (the\n * default) is native scaled dot-product attention. The native functions take\n * the embedding dimension (and flash block size) explicitly.\n */\n async computeAttentionAsync(\n query: Float32Array,\n keys: Float32Array[],\n values: Float32Array[],\n type?: 'flash' | 'hyperbolic' | 'standard'\n ): Promise<Float32Array> {\n const dim = query.length;\n switch (type) {\n case 'flash':\n return computeFlashAttentionAsync(query, keys, values, dim, FLASH_ATTENTION_BLOCK_SIZE);\n\n case 'hyperbolic':\n return computeHyperbolicAttentionAsync(\n query,\n keys,\n values,\n dim,\n this.config.curvature ?? 1.0\n );\n\n default:\n return computeAttentionAsync(query, keys, values, dim);\n }\n }\n\n // ==========================================================================\n // Hyperbolic Operations (for hierarchical structures)\n // ==========================================================================\n\n /**\n * Compute Poincaré distance between two embeddings\n *\n * Useful for hierarchical agent structures\n */\n poincareDistance(a: Float32Array, b: Float32Array): number {\n return poincareDistance(a, b, this.config.curvature);\n }\n\n /**\n * Project embedding to Poincaré ball\n */\n projectToPoincare(embedding: Float32Array): Float32Array {\n return projectToPoincareBall(embedding, this.config.curvature);\n }\n\n // ==========================================================================\n // Statistics & Status\n // ==========================================================================\n\n /**\n * Get intelligence layer statistics\n */\n getStats(): typeof this.stats & { sonaStats?: any } {\n let sonaStats: any = null;\n\n if (this.sona) {\n try {\n sonaStats = JSON.parse(this.sona.getStats());\n } catch {}\n }\n\n return {\n ...this.stats,\n sonaStats,\n };\n }\n\n /**\n * Enable/disable the intelligence layer\n */\n setEnabled(enabled: boolean): void {\n if (this.sona) {\n this.sona.setEnabled(enabled);\n }\n }\n\n /**\n * Check if enabled\n */\n isEnabled(): boolean {\n return this.sona?.isEnabled() ?? false;\n }\n\n /**\n * Cleanup resources\n */\n dispose(): void {\n if (this.learningTimer) {\n clearInterval(this.learningTimer);\n this.learningTimer = null;\n }\n\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n this.cleanupTimer = null;\n }\n\n // Flush SONA\n if (this.sona) {\n this.sona.flush();\n }\n\n // Clear caches and LRU tracking\n this.trajectories.clear();\n this.trajectoryAccessOrder = [];\n this.agentEmbeddings.clear();\n this.agentAccessOrder = [];\n }\n}\n\n/**\n * Create a default intelligence layer\n */\nexport function createIntelligenceLayer(\n config?: RuVectorIntelligenceConfig\n): RuVectorIntelligence {\n return new RuVectorIntelligence(config);\n}\n\n/**\n * Presets for common configurations\n */\nexport const IntelligencePresets = {\n /** Fast routing with MoE and minimal learning */\n fast: {\n attentionType: 'moe' as const,\n numExperts: 4,\n topK: 2,\n enableTrajectories: false,\n backgroundIntervalMs: 300000, // 5 min\n },\n\n /** Balanced performance and learning */\n balanced: {\n attentionType: 'moe' as const,\n numExperts: 4,\n topK: 2,\n enableTrajectories: true,\n backgroundIntervalMs: 60000, // 1 min\n qualityThreshold: 0.5,\n },\n\n /** Maximum learning for development */\n learning: {\n attentionType: 'dual' as const,\n enableTrajectories: true,\n backgroundIntervalMs: 30000, // 30 sec\n qualityThreshold: 0.3,\n sonaConfig: {\n microLoraRank: 2,\n baseLoraRank: 16,\n trajectoryCapacity: 50000,\n },\n },\n\n /** Hierarchical structures (Poincaré geometry) */\n hierarchical: {\n attentionType: 'hyperbolic' as const,\n curvature: 1.0,\n enableTrajectories: true,\n },\n\n /** Graph-based reasoning */\n graph: {\n attentionType: 'graph' as const,\n enableTrajectories: true,\n },\n};\n"]}
|
|
@@ -42,7 +42,7 @@ console.error(`🔐 MCP capability profile: ${mcpProfile}`);
|
|
|
42
42
|
// harness_manifest, harness_verify).
|
|
43
43
|
registerHarnessTools(server);
|
|
44
44
|
// Ecosystem tools backed by optional ruvnet packages (aidefence, mincut-wasm,
|
|
45
|
-
// sublinear-
|
|
45
|
+
// @ruvnet/sublinear-core); each has a built-in fallback. Pure computations.
|
|
46
46
|
registerEcosystemTools(server);
|
|
47
47
|
// Tool: Run agentic-flow agent
|
|
48
48
|
server.addTool({
|