agentdb 3.0.0-alpha.2 → 3.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +978 -2342
- package/dist/agentdb.browser.js +1492 -0
- package/dist/agentdb.browser.js.map +7 -0
- package/dist/agentdb.browser.min.js +3 -0
- package/dist/agentdb.browser.min.js.map +7 -0
- package/dist/agentdb.wasm-loader.js +207 -0
- package/dist/schemas/frontier-schema.sql +0 -7
- package/dist/schemas/schema.sql +0 -7
- package/dist/simulation/cli.d.ts +9 -0
- package/dist/simulation/cli.d.ts.map +1 -0
- package/dist/simulation/cli.js +68 -0
- package/dist/simulation/cli.js.map +1 -0
- package/dist/simulation/runner.d.ts +21 -0
- package/dist/simulation/runner.d.ts.map +1 -0
- package/dist/simulation/runner.js +241 -0
- package/dist/simulation/runner.js.map +1 -0
- package/dist/simulation/scenarios/aidefence-integration.d.ts +24 -0
- package/dist/simulation/scenarios/aidefence-integration.d.ts.map +1 -0
- package/dist/simulation/scenarios/aidefence-integration.js +124 -0
- package/dist/simulation/scenarios/aidefence-integration.js.map +1 -0
- package/dist/simulation/scenarios/bmssp-integration.d.ts +23 -0
- package/dist/simulation/scenarios/bmssp-integration.d.ts.map +1 -0
- package/dist/simulation/scenarios/bmssp-integration.js +104 -0
- package/dist/simulation/scenarios/bmssp-integration.js.map +1 -0
- package/dist/simulation/scenarios/causal-reasoning.d.ts +16 -0
- package/dist/simulation/scenarios/causal-reasoning.d.ts.map +1 -0
- package/dist/simulation/scenarios/causal-reasoning.js +108 -0
- package/dist/simulation/scenarios/causal-reasoning.js.map +1 -0
- package/dist/simulation/scenarios/consciousness-explorer.d.ts +25 -0
- package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +1 -0
- package/dist/simulation/scenarios/consciousness-explorer.js +108 -0
- package/dist/simulation/scenarios/consciousness-explorer.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +135 -0
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +158 -0
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/index.d.ts +14 -0
- package/dist/simulation/scenarios/domain-examples/index.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/index.js +14 -0
- package/dist/simulation/scenarios/domain-examples/index.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +178 -0
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +218 -0
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +122 -0
- package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/medical-imaging.js +129 -0
- package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +166 -0
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +161 -0
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +151 -0
- package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/scientific-research.js +187 -0
- package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +1 -0
- package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +102 -0
- package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +1 -0
- package/dist/simulation/scenarios/domain-examples/trading-systems.js +100 -0
- package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +1 -0
- package/dist/simulation/scenarios/goalie-integration.d.ts +24 -0
- package/dist/simulation/scenarios/goalie-integration.d.ts.map +1 -0
- package/dist/simulation/scenarios/goalie-integration.js +121 -0
- package/dist/simulation/scenarios/goalie-integration.js.map +1 -0
- package/dist/simulation/scenarios/graph-traversal.d.ts +17 -0
- package/dist/simulation/scenarios/graph-traversal.d.ts.map +1 -0
- package/dist/simulation/scenarios/graph-traversal.js +101 -0
- package/dist/simulation/scenarios/graph-traversal.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +45 -0
- package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/attention-analysis.js +435 -0
- package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +55 -0
- package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/clustering-analysis.js +606 -0
- package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +74 -0
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +391 -0
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +51 -0
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +536 -0
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/index.d.ts +35 -0
- package/dist/simulation/scenarios/latent-space/index.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/index.js +35 -0
- package/dist/simulation/scenarios/latent-space/index.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +52 -0
- package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/neural-augmentation.js +472 -0
- package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +53 -0
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +391 -0
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +52 -0
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +514 -0
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +1 -0
- package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +53 -0
- package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +1 -0
- package/dist/simulation/scenarios/latent-space/traversal-optimization.js +595 -0
- package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +1 -0
- package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +18 -0
- package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +1 -0
- package/dist/simulation/scenarios/lean-agentic-swarm.js +132 -0
- package/dist/simulation/scenarios/lean-agentic-swarm.js.map +1 -0
- package/dist/simulation/scenarios/multi-agent-swarm.d.ts +17 -0
- package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +1 -0
- package/dist/simulation/scenarios/multi-agent-swarm.js +111 -0
- package/dist/simulation/scenarios/multi-agent-swarm.js.map +1 -0
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +23 -0
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +1 -0
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +98 -0
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +1 -0
- package/dist/simulation/scenarios/reflexion-learning.d.ts +16 -0
- package/dist/simulation/scenarios/reflexion-learning.d.ts.map +1 -0
- package/dist/simulation/scenarios/reflexion-learning.js +98 -0
- package/dist/simulation/scenarios/reflexion-learning.js.map +1 -0
- package/dist/simulation/scenarios/research-swarm.d.ts +24 -0
- package/dist/simulation/scenarios/research-swarm.d.ts.map +1 -0
- package/dist/simulation/scenarios/research-swarm.js +146 -0
- package/dist/simulation/scenarios/research-swarm.js.map +1 -0
- package/dist/simulation/scenarios/skill-evolution.d.ts +16 -0
- package/dist/simulation/scenarios/skill-evolution.d.ts.map +1 -0
- package/dist/simulation/scenarios/skill-evolution.js +109 -0
- package/dist/simulation/scenarios/skill-evolution.js.map +1 -0
- package/dist/simulation/scenarios/stock-market-emergence.d.ts +33 -0
- package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +1 -0
- package/dist/simulation/scenarios/stock-market-emergence.js +246 -0
- package/dist/simulation/scenarios/stock-market-emergence.js.map +1 -0
- package/dist/simulation/scenarios/strange-loops.d.ts +18 -0
- package/dist/simulation/scenarios/strange-loops.d.ts.map +1 -0
- package/dist/simulation/scenarios/strange-loops.js +133 -0
- package/dist/simulation/scenarios/strange-loops.js.map +1 -0
- package/dist/simulation/scenarios/sublinear-solver.d.ts +22 -0
- package/dist/simulation/scenarios/sublinear-solver.d.ts.map +1 -0
- package/dist/simulation/scenarios/sublinear-solver.js +82 -0
- package/dist/simulation/scenarios/sublinear-solver.js.map +1 -0
- package/dist/simulation/scenarios/temporal-lead-solver.d.ts +23 -0
- package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +1 -0
- package/dist/simulation/scenarios/temporal-lead-solver.js +90 -0
- package/dist/simulation/scenarios/temporal-lead-solver.js.map +1 -0
- package/dist/simulation/scenarios/voting-system-consensus.d.ts +27 -0
- package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +1 -0
- package/dist/simulation/scenarios/voting-system-consensus.js +175 -0
- package/dist/simulation/scenarios/voting-system-consensus.js.map +1 -0
- package/dist/simulation/types.d.ts +162 -0
- package/dist/simulation/types.d.ts.map +1 -0
- package/dist/simulation/types.js +5 -0
- package/dist/simulation/types.js.map +1 -0
- package/dist/simulation/utils/PerformanceOptimizer.d.ts +115 -0
- package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +1 -0
- package/dist/simulation/utils/PerformanceOptimizer.js +223 -0
- package/dist/simulation/utils/PerformanceOptimizer.js.map +1 -0
- package/dist/src/backends/GraphBackend.d.ts +8 -8
- package/dist/src/backends/GraphBackend.d.ts.map +1 -1
- package/dist/src/backends/GraphBackend.js +15 -16
- package/dist/src/backends/GraphBackend.js.map +1 -1
- package/dist/src/backends/LearningBackend.d.ts +2 -2
- package/dist/src/backends/LearningBackend.d.ts.map +1 -1
- package/dist/src/backends/LearningBackend.js +10 -11
- package/dist/src/backends/LearningBackend.js.map +1 -1
- package/dist/src/backends/VectorBackend.d.ts +6 -31
- package/dist/src/backends/VectorBackend.d.ts.map +1 -1
- package/dist/src/backends/detector.d.ts +3 -25
- package/dist/src/backends/detector.d.ts.map +1 -1
- package/dist/src/backends/detector.js +15 -119
- package/dist/src/backends/detector.js.map +1 -1
- package/dist/src/backends/factory.d.ts +32 -16
- package/dist/src/backends/factory.d.ts.map +1 -1
- package/dist/src/backends/factory.js +70 -133
- package/dist/src/backends/factory.js.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.js +1 -5
- package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
- package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +2 -2
- package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
- package/dist/src/backends/hnswlib/HNSWLibBackend.js +13 -49
- package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
- package/dist/src/backends/index.d.ts +3 -25
- package/dist/src/backends/index.d.ts.map +1 -1
- package/dist/src/backends/index.js +1 -23
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +93 -0
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +1 -0
- package/dist/src/backends/ruvector/GuardedVectorBackend.js +182 -0
- package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +1 -0
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts +16 -187
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorBackend.js +94 -576
- package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts +4 -0
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.js +11 -10
- package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
- package/dist/src/benchmarks/wasm-vector-benchmark.d.ts +10 -0
- package/dist/src/benchmarks/wasm-vector-benchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/wasm-vector-benchmark.js +196 -0
- package/dist/src/benchmarks/wasm-vector-benchmark.js.map +1 -0
- package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -1
- package/dist/src/browser/AdvancedFeatures.js +10 -3
- package/dist/src/browser/AdvancedFeatures.js.map +1 -1
- package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
- package/dist/src/browser/AttentionBrowser.js +12 -5
- package/dist/src/browser/AttentionBrowser.js.map +1 -1
- package/dist/src/browser/HNSWIndex.d.ts +1 -31
- package/dist/src/browser/HNSWIndex.d.ts.map +1 -1
- package/dist/src/browser/HNSWIndex.js +18 -136
- package/dist/src/browser/HNSWIndex.js.map +1 -1
- package/dist/src/browser/ProductQuantization.d.ts.map +1 -1
- package/dist/src/browser/ProductQuantization.js +1 -0
- package/dist/src/browser/ProductQuantization.js.map +1 -1
- package/dist/src/browser/index.d.ts +3 -3
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/index.js +1 -2
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/cli/agentdb-cli.d.ts +2 -16
- package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
- package/dist/src/cli/agentdb-cli.js +216 -853
- package/dist/src/cli/agentdb-cli.js.map +1 -1
- package/dist/src/cli/commands/attention.js +3 -3
- package/dist/src/cli/commands/attention.js.map +1 -1
- package/dist/src/cli/commands/doctor.d.ts +0 -2
- package/dist/src/cli/commands/doctor.d.ts.map +1 -1
- package/dist/src/cli/commands/doctor.js +1 -106
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +1 -2
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +7 -30
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
- package/dist/src/cli/commands/install-embeddings.js.map +1 -1
- package/dist/src/cli/commands/migrate.d.ts +0 -15
- package/dist/src/cli/commands/migrate.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate.js +5 -164
- package/dist/src/cli/commands/migrate.js.map +1 -1
- package/dist/src/cli/commands/simulate-report.js.map +1 -1
- package/dist/src/cli/commands/simulate-wizard.js.map +1 -1
- package/dist/src/cli/commands/simulate.d.ts +7 -0
- package/dist/src/cli/commands/simulate.d.ts.map +1 -0
- package/dist/src/cli/commands/simulate.js +100 -0
- package/dist/src/cli/commands/simulate.js.map +1 -0
- package/dist/src/cli/commands/status.js +1 -5
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/lib/attention-config.d.ts +2 -2
- package/dist/src/cli/lib/attention-config.d.ts.map +1 -1
- package/dist/src/cli/lib/attention-config.js +1 -2
- package/dist/src/cli/lib/attention-config.js.map +1 -1
- package/dist/src/cli/lib/config-manager.d.ts +110 -0
- package/dist/src/cli/lib/config-manager.d.ts.map +1 -0
- package/dist/src/cli/lib/config-manager.js +512 -0
- package/dist/src/cli/lib/config-manager.js.map +1 -0
- package/dist/src/cli/lib/config-validator.d.ts +1 -1
- package/dist/src/cli/lib/config-validator.d.ts.map +1 -1
- package/dist/src/cli/lib/health-monitor.d.ts +149 -0
- package/dist/src/cli/lib/health-monitor.d.ts.map +1 -0
- package/dist/src/cli/lib/health-monitor.js +380 -0
- package/dist/src/cli/lib/health-monitor.js.map +1 -0
- package/dist/src/cli/lib/history-tracker.d.ts +103 -0
- package/dist/src/cli/lib/history-tracker.d.ts.map +1 -0
- package/dist/src/cli/lib/history-tracker.js +352 -0
- package/dist/src/cli/lib/history-tracker.js.map +1 -0
- package/dist/src/cli/lib/report-store.d.ts +1 -2
- package/dist/src/cli/lib/report-store.d.ts.map +1 -1
- package/dist/src/cli/lib/report-store.js +65 -87
- package/dist/src/cli/lib/report-store.js.map +1 -1
- package/dist/src/cli/lib/simulation-registry.d.ts +1 -1
- package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -1
- package/dist/src/cli/lib/simulation-registry.js +0 -1
- package/dist/src/cli/lib/simulation-registry.js.map +1 -1
- package/dist/src/cli/lib/simulation-runner.d.ts +4 -41
- package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
- package/dist/src/cli/lib/simulation-runner.js +6 -251
- package/dist/src/cli/lib/simulation-runner.js.map +1 -1
- package/dist/src/controllers/AttentionService.d.ts.map +1 -1
- package/dist/src/controllers/AttentionService.js +5 -3
- package/dist/src/controllers/AttentionService.js.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.d.ts +8 -33
- package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.js +16 -93
- package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
- package/dist/src/controllers/CausalRecall.d.ts +3 -6
- package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
- package/dist/src/controllers/CausalRecall.js +8 -14
- package/dist/src/controllers/CausalRecall.js.map +1 -1
- package/dist/src/controllers/ContextSynthesizer.d.ts +1 -1
- package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -1
- package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EmbeddingService.js +3 -10
- package/dist/src/controllers/EmbeddingService.js.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts +0 -4
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.js +3 -10
- package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
- package/dist/src/controllers/ExplainableRecall.d.ts +6 -5
- package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
- package/dist/src/controllers/ExplainableRecall.js +13 -21
- package/dist/src/controllers/ExplainableRecall.js.map +1 -1
- package/dist/src/controllers/HNSWIndex.d.ts +7 -24
- package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
- package/dist/src/controllers/HNSWIndex.js +10 -89
- package/dist/src/controllers/HNSWIndex.js.map +1 -1
- package/dist/src/controllers/LearningSystem.d.ts +10 -106
- package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
- package/dist/src/controllers/LearningSystem.js +14 -39
- package/dist/src/controllers/LearningSystem.js.map +1 -1
- package/dist/src/controllers/MMRDiversityRanker.d.ts +1 -1
- package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -1
- package/dist/src/controllers/MetadataFilter.d.ts +3 -3
- package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
- package/dist/src/controllers/MetadataFilter.js +6 -9
- package/dist/src/controllers/MetadataFilter.js.map +1 -1
- package/dist/src/controllers/NightlyLearner.d.ts +4 -9
- package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
- package/dist/src/controllers/NightlyLearner.js +9 -28
- package/dist/src/controllers/NightlyLearner.js.map +1 -1
- package/dist/src/controllers/QUICClient.d.ts +2 -50
- package/dist/src/controllers/QUICClient.d.ts.map +1 -1
- package/dist/src/controllers/QUICClient.js +3 -193
- package/dist/src/controllers/QUICClient.js.map +1 -1
- package/dist/src/controllers/QUICServer.d.ts +4 -4
- package/dist/src/controllers/QUICServer.d.ts.map +1 -1
- package/dist/src/controllers/QUICServer.js +14 -22
- package/dist/src/controllers/QUICServer.js.map +1 -1
- package/dist/src/controllers/ReasoningBank.d.ts +4 -14
- package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
- package/dist/src/controllers/ReasoningBank.js +46 -59
- package/dist/src/controllers/ReasoningBank.js.map +1 -1
- package/dist/src/controllers/ReflexionMemory.d.ts +7 -80
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/src/controllers/ReflexionMemory.js +214 -372
- package/dist/src/controllers/ReflexionMemory.js.map +1 -1
- package/dist/src/controllers/SkillLibrary.d.ts +7 -37
- package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
- package/dist/src/controllers/SkillLibrary.js +96 -212
- package/dist/src/controllers/SkillLibrary.js.map +1 -1
- package/dist/src/controllers/SyncCoordinator.d.ts +3 -2
- package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
- package/dist/src/controllers/SyncCoordinator.js +5 -117
- package/dist/src/controllers/SyncCoordinator.js.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.d.ts +9 -20
- package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.js +29 -154
- package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
- package/dist/src/controllers/frontier-index.d.ts +14 -0
- package/dist/src/controllers/frontier-index.d.ts.map +1 -0
- package/dist/src/controllers/frontier-index.js +10 -0
- package/dist/src/controllers/frontier-index.js.map +1 -0
- package/dist/src/controllers/index.d.ts +17 -8
- package/dist/src/controllers/index.d.ts.map +1 -1
- package/dist/src/controllers/index.js +12 -6
- package/dist/src/controllers/index.js.map +1 -1
- package/dist/src/core/AgentDB.d.ts +25 -57
- package/dist/src/core/AgentDB.d.ts.map +1 -1
- package/dist/src/core/AgentDB.js +115 -137
- package/dist/src/core/AgentDB.js.map +1 -1
- package/dist/src/db-fallback.d.ts +1 -10
- package/dist/src/db-fallback.d.ts.map +1 -1
- package/dist/src/db-fallback.js +4 -171
- package/dist/src/db-fallback.js.map +1 -1
- package/dist/src/db-test.d.ts +13 -0
- package/dist/src/db-test.d.ts.map +1 -0
- package/dist/src/db-test.js +55 -0
- package/dist/src/db-test.js.map +1 -0
- package/dist/src/db-unified.d.ts +76 -0
- package/dist/src/db-unified.d.ts.map +1 -0
- package/dist/src/db-unified.js +279 -0
- package/dist/src/db-unified.js.map +1 -0
- package/dist/src/examples/quic-sync-example.d.ts +9 -0
- package/dist/src/examples/quic-sync-example.d.ts.map +1 -0
- package/dist/src/examples/quic-sync-example.js +169 -0
- package/dist/src/examples/quic-sync-example.js.map +1 -0
- package/dist/src/examples/wasm-vector-usage.d.ts +12 -0
- package/dist/src/examples/wasm-vector-usage.d.ts.map +1 -0
- package/dist/src/examples/wasm-vector-usage.js +190 -0
- package/dist/src/examples/wasm-vector-usage.js.map +1 -0
- package/dist/src/index.d.ts +12 -38
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -46
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/agentdb-mcp-server.js +63 -219
- package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
- package/dist/src/mcp/learning-tools-handlers.d.ts +16 -0
- package/dist/src/mcp/learning-tools-handlers.d.ts.map +1 -0
- package/dist/src/mcp/learning-tools-handlers.js +105 -0
- package/dist/src/mcp/learning-tools-handlers.js.map +1 -0
- package/dist/src/optimizations/BatchOperations.d.ts +5 -52
- package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
- package/dist/src/optimizations/BatchOperations.js +33 -186
- package/dist/src/optimizations/BatchOperations.js.map +1 -1
- package/dist/src/optimizations/QueryOptimizer.d.ts +4 -4
- package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -1
- package/dist/src/optimizations/QueryOptimizer.js +1 -3
- package/dist/src/optimizations/QueryOptimizer.js.map +1 -1
- package/dist/src/optimizations/ToolCache.d.ts +4 -4
- package/dist/src/optimizations/ToolCache.d.ts.map +1 -1
- package/dist/src/optimizations/ToolCache.js.map +1 -1
- package/dist/src/optimizations/index.d.ts +1 -1
- package/dist/src/optimizations/index.d.ts.map +1 -1
- package/dist/src/security/AttestationLog.d.ts +70 -0
- package/dist/src/security/AttestationLog.d.ts.map +1 -0
- package/dist/src/security/AttestationLog.js +174 -0
- package/dist/src/security/AttestationLog.js.map +1 -0
- package/dist/src/security/MutationGuard.d.ts +83 -0
- package/dist/src/security/MutationGuard.d.ts.map +1 -0
- package/dist/src/security/MutationGuard.js +379 -0
- package/dist/src/security/MutationGuard.js.map +1 -0
- package/dist/src/security/index.d.ts +15 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +18 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/security/input-validation.d.ts +12 -12
- package/dist/src/security/input-validation.d.ts.map +1 -1
- package/dist/src/security/input-validation.js +0 -1
- package/dist/src/security/input-validation.js.map +1 -1
- package/dist/src/security/limits.d.ts +150 -0
- package/dist/src/security/limits.d.ts.map +1 -0
- package/dist/src/security/limits.js +288 -0
- package/dist/src/security/limits.js.map +1 -0
- package/dist/src/security/path-security.d.ts +100 -0
- package/dist/src/security/path-security.d.ts.map +1 -0
- package/dist/src/security/path-security.js +337 -0
- package/dist/src/security/path-security.js.map +1 -0
- package/dist/src/security/validation.d.ts +95 -0
- package/dist/src/security/validation.d.ts.map +1 -0
- package/dist/src/security/validation.js +315 -0
- package/dist/src/security/validation.js.map +1 -0
- package/dist/src/services/GraphTransformerService.d.ts +79 -0
- package/dist/src/services/GraphTransformerService.d.ts.map +1 -0
- package/dist/src/services/GraphTransformerService.js +331 -0
- package/dist/src/services/GraphTransformerService.js.map +1 -0
- package/dist/src/services/LLMRouter.d.ts +7 -61
- package/dist/src/services/LLMRouter.d.ts.map +1 -1
- package/dist/src/services/LLMRouter.js +25 -295
- package/dist/src/services/LLMRouter.js.map +1 -1
- package/dist/src/services/SemanticRouter.d.ts +78 -0
- package/dist/src/services/SemanticRouter.d.ts.map +1 -0
- package/dist/src/services/SemanticRouter.js +149 -0
- package/dist/src/services/SemanticRouter.js.map +1 -0
- package/dist/src/services/SonaTrajectoryService.d.ts +100 -0
- package/dist/src/services/SonaTrajectoryService.d.ts.map +1 -0
- package/dist/src/services/SonaTrajectoryService.js +231 -0
- package/dist/src/services/SonaTrajectoryService.js.map +1 -0
- package/dist/src/types/attention.d.ts +249 -0
- package/dist/src/types/attention.d.ts.map +1 -0
- package/dist/src/types/attention.js +43 -0
- package/dist/src/types/attention.js.map +1 -0
- package/dist/src/types/quic.d.ts +518 -0
- package/dist/src/types/quic.d.ts.map +1 -0
- package/dist/src/types/quic.js +272 -0
- package/dist/src/types/quic.js.map +1 -0
- package/dist/src/utils/LegacyAttentionAdapter.d.ts +93 -0
- package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +1 -0
- package/dist/src/utils/LegacyAttentionAdapter.js +241 -0
- package/dist/src/utils/LegacyAttentionAdapter.js.map +1 -0
- package/dist/src/utils/attention-metrics.d.ts +76 -0
- package/dist/src/utils/attention-metrics.d.ts.map +1 -0
- package/dist/src/utils/attention-metrics.js +178 -0
- package/dist/src/utils/attention-metrics.js.map +1 -0
- package/dist/src/utils/vector-math.d.ts +29 -0
- package/dist/src/utils/vector-math.d.ts.map +1 -0
- package/dist/src/utils/vector-math.js +66 -0
- package/dist/src/utils/vector-math.js.map +1 -0
- package/examples/README.md +105 -0
- package/examples/browser/attention-demo.html +499 -0
- package/examples/browser/flash-consolidation.html +598 -0
- package/examples/browser/hyperbolic-hierarchy.html +497 -0
- package/examples/quickstart.js +43 -0
- package/package.json +53 -56
- package/simulation/.claude-flow/metrics/agent-metrics.json +1 -0
- package/simulation/.claude-flow/metrics/performance.json +87 -0
- package/simulation/.claude-flow/metrics/task-metrics.json +10 -0
- package/simulation/COMPLETION-STATUS.md +139 -0
- package/simulation/FINAL-RESULTS.md +414 -0
- package/simulation/FINAL-STATUS.md +281 -0
- package/simulation/INTEGRATION-COMPLETE.md +452 -0
- package/simulation/MIGRATION-STATUS.md +231 -0
- package/simulation/OPTIMIZATION-RESULTS.md +397 -0
- package/simulation/PHASE1-COMPLETE.md +163 -0
- package/simulation/README.md +848 -0
- package/simulation/SIMULATION-RESULTS.md +239 -0
- package/simulation/cli.ts +78 -0
- package/simulation/configs/default.json +37 -0
- package/simulation/data/advanced/aidefence.graph +0 -0
- package/simulation/data/advanced/bmssp.graph +0 -0
- package/simulation/data/advanced/consciousness.graph +0 -0
- package/simulation/data/advanced/goalie.graph +0 -0
- package/simulation/data/advanced/psycho-symbolic.graph +0 -0
- package/simulation/data/advanced/research-swarm.graph +0 -0
- package/simulation/data/advanced/sublinear.graph +0 -0
- package/simulation/data/advanced/temporal.graph +0 -0
- package/simulation/data/causal.graph +0 -0
- package/simulation/data/graph-traversal.graph +0 -0
- package/simulation/data/lean-agentic.graph +0 -0
- package/simulation/data/reflexion.graph +0 -0
- package/simulation/data/skills.graph +0 -0
- package/simulation/data/stock-market.graph +0 -0
- package/simulation/data/strange-loops.graph +0 -0
- package/simulation/data/swarm.graph +0 -0
- package/simulation/data/voting-consensus.graph +0 -0
- package/simulation/docs/CLI-INTEGRATION-PLAN.md +1038 -0
- package/simulation/docs/COMPREHENSIVE-LATENT-SPACE-COMPLETION.md +354 -0
- package/simulation/docs/DOCUMENTATION-INDEX.md +226 -0
- package/simulation/docs/IMPLEMENTATION-COMPLETE.md +521 -0
- package/simulation/docs/OPTIMIZATION-SUMMARY.md +279 -0
- package/simulation/docs/README.md +229 -0
- package/simulation/docs/SWARM-5-INTEGRATION-SUMMARY.md +528 -0
- package/simulation/docs/TESTING-SUMMARY.md +304 -0
- package/simulation/docs/architecture/EXTENSION-API.md +868 -0
- package/simulation/docs/architecture/INTEGRATION-ARCHITECTURE.md +1138 -0
- package/simulation/docs/architecture/OPTIMIZATION-STRATEGY.md +778 -0
- package/simulation/docs/architecture/SIMULATION-ARCHITECTURE.md +892 -0
- package/simulation/docs/guides/CLI-REFERENCE.md +896 -0
- package/simulation/docs/guides/CUSTOM-SIMULATIONS.md +931 -0
- package/simulation/docs/guides/DEPLOYMENT.md +832 -0
- package/simulation/docs/guides/IMPLEMENTATION-SUMMARY.md +544 -0
- package/simulation/docs/guides/MIGRATION-GUIDE.md +591 -0
- package/simulation/docs/guides/QUICK-START.md +361 -0
- package/simulation/docs/guides/README.md +736 -0
- package/simulation/docs/guides/TROUBLESHOOTING.md +817 -0
- package/simulation/docs/guides/WIZARD-GUIDE.md +869 -0
- package/simulation/docs/reports/latent-space/MASTER-SYNTHESIS.md +345 -0
- package/simulation/docs/reports/latent-space/README.md +132 -0
- package/simulation/docs/reports/latent-space/attention-analysis-RESULTS.md +238 -0
- package/simulation/docs/reports/latent-space/clustering-analysis-RESULTS.md +210 -0
- package/simulation/docs/reports/latent-space/hnsw-exploration-RESULTS.md +332 -0
- package/simulation/docs/reports/latent-space/hypergraph-exploration-RESULTS.md +37 -0
- package/simulation/docs/reports/latent-space/neural-augmentation-RESULTS.md +69 -0
- package/simulation/docs/reports/latent-space/quantum-hybrid-RESULTS.md +91 -0
- package/simulation/docs/reports/latent-space/self-organizing-hnsw-RESULTS.md +51 -0
- package/simulation/docs/reports/latent-space/traversal-optimization-RESULTS.md +238 -0
- package/simulation/reports/README.md +397 -0
- package/simulation/reports/advanced-simulations-performance.md +1241 -0
- package/simulation/reports/aidefence-integration-2025-11-30T01-36-53-486Z.json +30 -0
- package/simulation/reports/architecture-analysis.md +1396 -0
- package/simulation/reports/basic-scenarios-performance.md +1840 -0
- package/simulation/reports/bmssp-integration-2025-11-30T01-36-27-193Z.json +30 -0
- package/simulation/reports/bmssp-integration-2025-11-30T03-38-12-887Z.json +30 -0
- package/simulation/reports/causal-reasoning-2025-11-29T23-35-21-795Z.json +36 -0
- package/simulation/reports/causal-reasoning-2025-11-30T00-58-42-862Z.json +30 -0
- package/simulation/reports/causal-reasoning-2025-11-30T00-59-12-546Z.json +40 -0
- package/simulation/reports/consciousness-explorer-2025-11-30T01-36-51-269Z.json +31 -0
- package/simulation/reports/core-benchmarks.md +727 -0
- package/simulation/reports/goalie-integration-2025-11-30T01-36-52-377Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-29T23-35-35-279Z.json +78 -0
- package/simulation/reports/graph-traversal-2025-11-29T23-37-36-697Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-03-59-716Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-05-10-984Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-06-16-334Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-06-53-312Z.json +30 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-07-51-075Z.json +24 -0
- package/simulation/reports/graph-traversal-2025-11-30T01-08-22-179Z.json +42 -0
- package/simulation/reports/lean-agentic-swarm-2025-11-29T23-37-23-804Z.json +148 -0
- package/simulation/reports/lean-agentic-swarm-2025-11-30T01-31-24-401Z.json +31 -0
- package/simulation/reports/lean-agentic-swarm-2025-11-30T03-38-01-470Z.json +31 -0
- package/simulation/reports/multi-agent-swarm-2025-11-29T23-35-28-093Z.json +78 -0
- package/simulation/reports/multi-agent-swarm-2025-11-30T01-03-54-062Z.json +42 -0
- package/simulation/reports/multi-agent-swarm-2025-11-30T01-05-06-092Z.json +42 -0
- package/simulation/reports/psycho-symbolic-reasoner-2025-11-30T01-36-50-180Z.json +30 -0
- package/simulation/reports/quality-metrics.md +727 -0
- package/simulation/reports/reflexion-learning-2025-11-29T23-35-09-774Z.json +48 -0
- package/simulation/reports/reflexion-learning-2025-11-29T23-37-16-934Z.json +36 -0
- package/simulation/reports/reflexion-learning-2025-11-30T00-07-49-259Z.json +30 -0
- package/simulation/reports/reflexion-learning-2025-11-30T00-09-29-319Z.json +51 -0
- package/simulation/reports/reflexion-learning-2025-11-30T00-28-37-659Z.json +51 -0
- package/simulation/reports/reflexion-learning-2025-11-30T01-31-30-690Z.json +29 -0
- package/simulation/reports/reflexion-learning-2025-11-30T03-38-06-937Z.json +29 -0
- package/simulation/reports/research-foundations.md +2004 -0
- package/simulation/reports/research-swarm-2025-11-30T01-36-54-647Z.json +30 -0
- package/simulation/reports/scalability-deployment.md +2404 -0
- package/simulation/reports/skill-evolution-2025-11-29T23-35-15-945Z.json +36 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-03-17-995Z.json +30 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-03-48-441Z.json +30 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-05-00-554Z.json +30 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-06-11-436Z.json +30 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-06-51-979Z.json +30 -0
- package/simulation/reports/skill-evolution-2025-11-30T01-07-32-695Z.json +40 -0
- package/simulation/reports/stock-market-emergence-2025-11-30T00-11-43-865Z.json +56 -0
- package/simulation/reports/stock-market-emergence-2025-11-30T00-28-57-495Z.json +56 -0
- package/simulation/reports/strange-loops-2025-11-29T23-37-30-621Z.json +78 -0
- package/simulation/reports/strange-loops-2025-11-30T00-07-55-415Z.json +30 -0
- package/simulation/reports/strange-loops-2025-11-30T00-09-35-133Z.json +30 -0
- package/simulation/reports/strange-loops-2025-11-30T00-48-50-744Z.json +24 -0
- package/simulation/reports/strange-loops-2025-11-30T00-54-48-044Z.json +24 -0
- package/simulation/reports/strange-loops-2025-11-30T00-57-27-633Z.json +24 -0
- package/simulation/reports/strange-loops-2025-11-30T00-57-59-135Z.json +42 -0
- package/simulation/reports/sublinear-solver-2025-11-30T01-36-33-134Z.json +30 -0
- package/simulation/reports/temporal-lead-solver-2025-11-30T01-36-38-628Z.json +30 -0
- package/simulation/reports/use-cases-applications.md +2212 -0
- package/simulation/reports/voting-system-consensus-2025-11-30T00-11-37-199Z.json +58 -0
- package/simulation/reports/voting-system-consensus-2025-11-30T00-28-47-735Z.json +58 -0
- package/simulation/runner.ts +300 -0
- package/simulation/scenarios/README-advanced/aidefence-integration.md +63 -0
- package/simulation/scenarios/README-advanced/bmssp-integration.md +58 -0
- package/simulation/scenarios/README-advanced/consciousness-explorer.md +53 -0
- package/simulation/scenarios/README-advanced/goalie-integration.md +61 -0
- package/simulation/scenarios/README-advanced/psycho-symbolic-reasoner.md +55 -0
- package/simulation/scenarios/README-advanced/research-swarm.md +63 -0
- package/simulation/scenarios/README-advanced/sublinear-solver.md +58 -0
- package/simulation/scenarios/README-advanced/temporal-lead-solver.md +55 -0
- package/simulation/scenarios/README-basic/causal-reasoning.md +39 -0
- package/simulation/scenarios/README-basic/graph-traversal.md +41 -0
- package/simulation/scenarios/README-basic/lean-agentic-swarm.md +122 -0
- package/simulation/scenarios/README-basic/multi-agent-swarm.md +34 -0
- package/simulation/scenarios/README-basic/reflexion-learning.md +41 -0
- package/simulation/scenarios/README-basic/skill-evolution.md +38 -0
- package/simulation/scenarios/README-basic/stock-market-emergence.md +28 -0
- package/simulation/scenarios/README-basic/strange-loops.md +36 -0
- package/simulation/scenarios/README-basic/voting-system-consensus.md +28 -0
- package/simulation/scenarios/README.md +438 -0
- package/simulation/scenarios/aidefence-integration.ts +165 -0
- package/simulation/scenarios/bmssp-integration.ts +137 -0
- package/simulation/scenarios/causal-reasoning.ts +143 -0
- package/simulation/scenarios/consciousness-explorer.ts +139 -0
- package/simulation/scenarios/domain-examples/.claude-flow/metrics/agent-metrics.json +1 -0
- package/simulation/scenarios/domain-examples/.claude-flow/metrics/performance.json +87 -0
- package/simulation/scenarios/domain-examples/.claude-flow/metrics/task-metrics.json +10 -0
- package/simulation/scenarios/domain-examples/README.md +525 -0
- package/simulation/scenarios/domain-examples/e-commerce-recommendations.ts +220 -0
- package/simulation/scenarios/domain-examples/index.ts +81 -0
- package/simulation/scenarios/domain-examples/iot-sensor-networks.ts +290 -0
- package/simulation/scenarios/domain-examples/medical-imaging.ts +181 -0
- package/simulation/scenarios/domain-examples/robotics-navigation.ts +214 -0
- package/simulation/scenarios/domain-examples/scientific-research.ts +250 -0
- package/simulation/scenarios/domain-examples/trading-systems.ts +138 -0
- package/simulation/scenarios/goalie-integration.ts +161 -0
- package/simulation/scenarios/graph-traversal.ts +129 -0
- package/simulation/scenarios/latent-space/OPTIMIZATION-COMPLETE.md +287 -0
- package/simulation/scenarios/latent-space/README-attention-analysis.md +170 -0
- package/simulation/scenarios/latent-space/README-clustering-analysis.md +239 -0
- package/simulation/scenarios/latent-space/README-hnsw-exploration.md +199 -0
- package/simulation/scenarios/latent-space/README-hypergraph-exploration.md +279 -0
- package/simulation/scenarios/latent-space/README-neural-augmentation.md +267 -0
- package/simulation/scenarios/latent-space/README-quantum-hybrid.md +276 -0
- package/simulation/scenarios/latent-space/README-self-organizing-hnsw.md +244 -0
- package/simulation/scenarios/latent-space/README-traversal-optimization.md +212 -0
- package/simulation/scenarios/latent-space/attention-analysis.ts +598 -0
- package/simulation/scenarios/latent-space/clustering-analysis.ts +796 -0
- package/simulation/scenarios/latent-space/hnsw-exploration.ts +526 -0
- package/simulation/scenarios/latent-space/hypergraph-exploration.ts +706 -0
- package/simulation/scenarios/latent-space/index.ts +47 -0
- package/simulation/scenarios/latent-space/neural-augmentation.ts +604 -0
- package/simulation/scenarios/latent-space/quantum-hybrid.ts +508 -0
- package/simulation/scenarios/latent-space/self-organizing-hnsw.ts +680 -0
- package/simulation/scenarios/latent-space/traversal-optimization.ts +782 -0
- package/simulation/scenarios/lean-agentic-swarm.ts +182 -0
- package/simulation/scenarios/multi-agent-swarm.ts +146 -0
- package/simulation/scenarios/psycho-symbolic-reasoner.ts +136 -0
- package/simulation/scenarios/reflexion-learning.ts +132 -0
- package/simulation/scenarios/research-swarm.ts +187 -0
- package/simulation/scenarios/skill-evolution.ts +135 -0
- package/simulation/scenarios/stock-market-emergence.ts +323 -0
- package/simulation/scenarios/strange-loops.ts +175 -0
- package/simulation/scenarios/sublinear-solver.ts +108 -0
- package/simulation/scenarios/temporal-lead-solver.ts +121 -0
- package/simulation/scenarios/voting-system-consensus.ts +251 -0
- package/simulation/tests/latent-space/attention-analysis.test.ts +204 -0
- package/simulation/tests/latent-space/clustering-analysis.test.ts +281 -0
- package/simulation/tests/latent-space/hnsw-exploration.test.ts +253 -0
- package/simulation/tests/latent-space/hypergraph-exploration.test.ts +295 -0
- package/simulation/tests/latent-space/neural-augmentation.test.ts +326 -0
- package/simulation/tests/latent-space/quantum-hybrid.test.ts +307 -0
- package/simulation/tests/latent-space/self-organizing-hnsw.test.ts +291 -0
- package/simulation/tests/latent-space/traversal-optimization.test.ts +261 -0
- package/simulation/types.ts +177 -0
- package/simulation/utils/PerformanceOptimizer.ts +269 -0
- package/src/backends/GraphBackend.ts +290 -0
- package/src/backends/LearningBackend.ts +210 -0
- package/src/backends/README.md +389 -0
- package/src/backends/VectorBackend.ts +147 -0
- package/src/backends/detector.ts +283 -0
- package/src/backends/factory.ts +279 -0
- package/src/backends/graph/GraphDatabaseAdapter.ts +334 -0
- package/src/backends/hnswlib/HNSWLibBackend.ts +419 -0
- package/src/backends/hnswlib/index.ts +7 -0
- package/src/backends/index.ts +32 -0
- package/src/backends/ruvector/GuardedVectorBackend.ts +219 -0
- package/src/backends/ruvector/RuVectorBackend.ts +343 -0
- package/src/backends/ruvector/RuVectorLearning.ts +254 -0
- package/src/backends/ruvector/index.ts +9 -0
- package/src/benchmarks/wasm-vector-benchmark.ts +250 -0
- package/src/browser/AdvancedFeatures.ts +565 -0
- package/src/browser/AttentionBrowser.ts +387 -0
- package/src/browser/HNSWIndex.ts +494 -0
- package/src/browser/ProductQuantization.ts +419 -0
- package/src/browser/index.ts +317 -0
- package/src/cli/agentdb-cli.ts +2712 -0
- package/src/cli/attention-cli-integration.ts +91 -0
- package/src/cli/commands/attention.ts +656 -0
- package/src/cli/commands/doctor.ts +322 -0
- package/src/cli/commands/init.ts +176 -0
- package/src/cli/commands/install-embeddings.ts +81 -0
- package/src/cli/commands/migrate.ts +545 -0
- package/src/cli/commands/simulate-custom.ts +232 -0
- package/src/cli/commands/simulate-report.ts +171 -0
- package/src/cli/commands/simulate-wizard.ts +379 -0
- package/src/cli/commands/simulate.ts +115 -0
- package/src/cli/commands/status.ts +156 -0
- package/src/cli/examples.sh +83 -0
- package/src/cli/lib/attention-config.ts +326 -0
- package/src/cli/lib/config-manager.ts +627 -0
- package/src/cli/lib/config-validator.ts +261 -0
- package/src/cli/lib/health-monitor.ts +513 -0
- package/src/cli/lib/help-formatter.ts +406 -0
- package/src/cli/lib/history-tracker.ts +503 -0
- package/src/cli/lib/report-generator.ts +455 -0
- package/src/cli/lib/report-store.ts +582 -0
- package/src/cli/lib/simulation-registry.ts +503 -0
- package/src/cli/lib/simulation-runner.ts +291 -0
- package/src/cli/tests/agentdb-cli.test.ts +58 -0
- package/src/cli/tests/attention-cli.test.ts +335 -0
- package/src/controllers/AttentionService.ts +770 -0
- package/src/controllers/CausalMemoryGraph.ts +773 -0
- package/src/controllers/CausalRecall.ts +484 -0
- package/src/controllers/ContextSynthesizer.ts +285 -0
- package/src/controllers/EmbeddingService.ts +161 -0
- package/src/controllers/EnhancedEmbeddingService.ts +143 -0
- package/src/controllers/ExplainableRecall.ts +746 -0
- package/src/controllers/HNSWIndex.ts +495 -0
- package/src/controllers/LearningSystem.ts +1270 -0
- package/src/controllers/MMRDiversityRanker.ts +187 -0
- package/src/controllers/MetadataFilter.ts +280 -0
- package/src/controllers/NightlyLearner.ts +647 -0
- package/src/controllers/QUICClient.ts +413 -0
- package/src/controllers/QUICServer.ts +498 -0
- package/src/controllers/ReasoningBank.ts +665 -0
- package/src/controllers/ReflexionMemory.ts +872 -0
- package/src/controllers/SkillLibrary.ts +795 -0
- package/src/controllers/SyncCoordinator.ts +597 -0
- package/src/controllers/WASMVectorSearch.ts +292 -0
- package/src/controllers/frontier-index.ts +35 -0
- package/src/controllers/index.ts +57 -0
- package/src/coordination/MultiDatabaseCoordinator.ts +1107 -0
- package/src/coordination/index.ts +24 -0
- package/src/core/AgentDB.ts +211 -0
- package/src/db-fallback.ts +296 -0
- package/src/db-test.ts +59 -0
- package/src/db-unified.ts +327 -0
- package/src/examples/quic-sync-example.ts +198 -0
- package/src/examples/wasm-vector-usage.ts +245 -0
- package/src/index.ts +69 -0
- package/src/mcp/agentdb-mcp-server.ts +2318 -0
- package/src/mcp/attention-mcp-integration.ts +145 -0
- package/src/mcp/attention-tools-handlers.ts +586 -0
- package/src/mcp/learning-tools-handlers.ts +106 -0
- package/src/optimizations/BatchOperations.ts +594 -0
- package/src/optimizations/QueryOptimizer.ts +297 -0
- package/src/optimizations/ToolCache.ts +355 -0
- package/src/optimizations/index.ts +11 -0
- package/src/schemas/frontier-schema.sql +378 -0
- package/src/schemas/schema.sql +382 -0
- package/src/security/AttestationLog.ts +252 -0
- package/src/security/MutationGuard.ts +420 -0
- package/src/security/index.ts +52 -0
- package/src/security/input-validation.ts +543 -0
- package/src/security/limits.ts +375 -0
- package/src/security/path-security.ts +436 -0
- package/src/security/validation.ts +556 -0
- package/src/services/GraphTransformerService.ts +389 -0
- package/src/services/LLMRouter.ts +380 -0
- package/src/services/SemanticRouter.ts +169 -0
- package/src/services/SonaTrajectoryService.ts +264 -0
- package/src/tests/attention-service.test.ts +492 -0
- package/src/tests/wasm-vector-search.test.ts +240 -0
- package/src/types/attention.ts +392 -0
- package/src/types/quic.ts +772 -0
- package/src/utils/LegacyAttentionAdapter.ts +393 -0
- package/src/utils/NodeIdMapper.ts +64 -0
- package/src/utils/attention-metrics.ts +253 -0
- package/src/utils/vector-math.ts +71 -0
- package/LICENSE +0 -21
- package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +0 -175
- package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +0 -1
- package/dist/src/backends/rvf/AdaptiveIndexTuner.js +0 -559
- package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +0 -1
- package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +0 -148
- package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +0 -1
- package/dist/src/backends/rvf/ContrastiveTrainer.js +0 -438
- package/dist/src/backends/rvf/ContrastiveTrainer.js.map +0 -1
- package/dist/src/backends/rvf/FederatedSessionManager.d.ts +0 -211
- package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +0 -1
- package/dist/src/backends/rvf/FederatedSessionManager.js +0 -389
- package/dist/src/backends/rvf/FederatedSessionManager.js.map +0 -1
- package/dist/src/backends/rvf/FilterBuilder.d.ts +0 -136
- package/dist/src/backends/rvf/FilterBuilder.d.ts.map +0 -1
- package/dist/src/backends/rvf/FilterBuilder.js +0 -157
- package/dist/src/backends/rvf/FilterBuilder.js.map +0 -1
- package/dist/src/backends/rvf/NativeAccelerator.d.ts +0 -140
- package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +0 -1
- package/dist/src/backends/rvf/NativeAccelerator.js +0 -630
- package/dist/src/backends/rvf/NativeAccelerator.js.map +0 -1
- package/dist/src/backends/rvf/RvfBackend.d.ts +0 -194
- package/dist/src/backends/rvf/RvfBackend.d.ts.map +0 -1
- package/dist/src/backends/rvf/RvfBackend.js +0 -607
- package/dist/src/backends/rvf/RvfBackend.js.map +0 -1
- package/dist/src/backends/rvf/RvfSolver.d.ts +0 -175
- package/dist/src/backends/rvf/RvfSolver.d.ts.map +0 -1
- package/dist/src/backends/rvf/RvfSolver.js +0 -176
- package/dist/src/backends/rvf/RvfSolver.js.map +0 -1
- package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +0 -143
- package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +0 -1
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js +0 -569
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +0 -1
- package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +0 -128
- package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +0 -1
- package/dist/src/backends/rvf/SemanticQueryRouter.js +0 -415
- package/dist/src/backends/rvf/SemanticQueryRouter.js.map +0 -1
- package/dist/src/backends/rvf/SimdFallbacks.d.ts +0 -25
- package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +0 -1
- package/dist/src/backends/rvf/SimdFallbacks.js +0 -287
- package/dist/src/backends/rvf/SimdFallbacks.js.map +0 -1
- package/dist/src/backends/rvf/SolverBandit.d.ts +0 -100
- package/dist/src/backends/rvf/SolverBandit.d.ts.map +0 -1
- package/dist/src/backends/rvf/SolverBandit.js +0 -216
- package/dist/src/backends/rvf/SolverBandit.js.map +0 -1
- package/dist/src/backends/rvf/SonaLearningBackend.d.ts +0 -157
- package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +0 -1
- package/dist/src/backends/rvf/SonaLearningBackend.js +0 -283
- package/dist/src/backends/rvf/SonaLearningBackend.js.map +0 -1
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +0 -77
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +0 -1
- package/dist/src/backends/rvf/SqlJsRvfBackend.js +0 -382
- package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +0 -1
- package/dist/src/backends/rvf/WasmStoreBridge.d.ts +0 -27
- package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +0 -1
- package/dist/src/backends/rvf/WasmStoreBridge.js +0 -87
- package/dist/src/backends/rvf/WasmStoreBridge.js.map +0 -1
- package/dist/src/backends/rvf/validation.d.ts +0 -20
- package/dist/src/backends/rvf/validation.d.ts.map +0 -1
- package/dist/src/backends/rvf/validation.js +0 -78
- package/dist/src/backends/rvf/validation.js.map +0 -1
- package/dist/src/benchmark/BenchmarkSuite.d.ts +0 -318
- package/dist/src/benchmark/BenchmarkSuite.d.ts.map +0 -1
- package/dist/src/benchmark/BenchmarkSuite.js +0 -986
- package/dist/src/benchmark/BenchmarkSuite.js.map +0 -1
- package/dist/src/benchmark/index.d.ts +0 -29
- package/dist/src/benchmark/index.d.ts.map +0 -1
- package/dist/src/benchmark/index.js +0 -39
- package/dist/src/benchmark/index.js.map +0 -1
- package/dist/src/cli/commands/hyperbolic.d.ts +0 -11
- package/dist/src/cli/commands/hyperbolic.d.ts.map +0 -1
- package/dist/src/cli/commands/hyperbolic.js +0 -428
- package/dist/src/cli/commands/hyperbolic.js.map +0 -1
- package/dist/src/cli/commands/learn.d.ts +0 -11
- package/dist/src/cli/commands/learn.d.ts.map +0 -1
- package/dist/src/cli/commands/learn.js +0 -404
- package/dist/src/cli/commands/learn.js.map +0 -1
- package/dist/src/cli/commands/route.d.ts +0 -11
- package/dist/src/cli/commands/route.d.ts.map +0 -1
- package/dist/src/cli/commands/route.js +0 -414
- package/dist/src/cli/commands/route.js.map +0 -1
- package/dist/src/cli/commands/rvf.d.ts +0 -21
- package/dist/src/cli/commands/rvf.d.ts.map +0 -1
- package/dist/src/cli/commands/rvf.js +0 -448
- package/dist/src/cli/commands/rvf.js.map +0 -1
- package/dist/src/cli/tests/agentdb-cli.test.d.ts +0 -8
- package/dist/src/cli/tests/agentdb-cli.test.d.ts.map +0 -1
- package/dist/src/cli/tests/agentdb-cli.test.js +0 -50
- package/dist/src/cli/tests/agentdb-cli.test.js.map +0 -1
- package/dist/src/cli/tests/attention-cli.test.d.ts +0 -5
- package/dist/src/cli/tests/attention-cli.test.d.ts.map +0 -1
- package/dist/src/cli/tests/attention-cli.test.js +0 -257
- package/dist/src/cli/tests/attention-cli.test.js.map +0 -1
- package/dist/src/compatibility/DeprecationWarnings.d.ts +0 -54
- package/dist/src/compatibility/DeprecationWarnings.d.ts.map +0 -1
- package/dist/src/compatibility/DeprecationWarnings.js +0 -131
- package/dist/src/compatibility/DeprecationWarnings.js.map +0 -1
- package/dist/src/compatibility/MigrationUtilities.d.ts +0 -30
- package/dist/src/compatibility/MigrationUtilities.d.ts.map +0 -1
- package/dist/src/compatibility/MigrationUtilities.js +0 -184
- package/dist/src/compatibility/MigrationUtilities.js.map +0 -1
- package/dist/src/compatibility/V1toV2Adapter.d.ts +0 -76
- package/dist/src/compatibility/V1toV2Adapter.d.ts.map +0 -1
- package/dist/src/compatibility/V1toV2Adapter.js +0 -198
- package/dist/src/compatibility/V1toV2Adapter.js.map +0 -1
- package/dist/src/compatibility/VersionDetector.d.ts +0 -32
- package/dist/src/compatibility/VersionDetector.d.ts.map +0 -1
- package/dist/src/compatibility/VersionDetector.js +0 -144
- package/dist/src/compatibility/VersionDetector.js.map +0 -1
- package/dist/src/compatibility/index.d.ts +0 -11
- package/dist/src/compatibility/index.d.ts.map +0 -1
- package/dist/src/compatibility/index.js +0 -10
- package/dist/src/compatibility/index.js.map +0 -1
- package/dist/src/compatibility/types.d.ts +0 -103
- package/dist/src/compatibility/types.d.ts.map +0 -1
- package/dist/src/compatibility/types.js +0 -5
- package/dist/src/compatibility/types.js.map +0 -1
- package/dist/src/controllers/MemoryController.d.ts +0 -161
- package/dist/src/controllers/MemoryController.d.ts.map +0 -1
- package/dist/src/controllers/MemoryController.js +0 -290
- package/dist/src/controllers/MemoryController.js.map +0 -1
- package/dist/src/controllers/attention/CrossAttentionController.d.ts +0 -141
- package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +0 -1
- package/dist/src/controllers/attention/CrossAttentionController.js +0 -325
- package/dist/src/controllers/attention/CrossAttentionController.js.map +0 -1
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +0 -137
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +0 -1
- package/dist/src/controllers/attention/MultiHeadAttentionController.js +0 -339
- package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +0 -1
- package/dist/src/controllers/attention/SelfAttentionController.d.ts +0 -117
- package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +0 -1
- package/dist/src/controllers/attention/SelfAttentionController.js +0 -205
- package/dist/src/controllers/attention/SelfAttentionController.js.map +0 -1
- package/dist/src/controllers/attention/index.d.ts +0 -15
- package/dist/src/controllers/attention/index.d.ts.map +0 -1
- package/dist/src/controllers/attention/index.js +0 -12
- package/dist/src/controllers/attention/index.js.map +0 -1
- package/dist/src/core/QueryCache.d.ts +0 -138
- package/dist/src/core/QueryCache.d.ts.map +0 -1
- package/dist/src/core/QueryCache.js +0 -313
- package/dist/src/core/QueryCache.js.map +0 -1
- package/dist/src/observability/index.d.ts +0 -8
- package/dist/src/observability/index.d.ts.map +0 -1
- package/dist/src/observability/index.js +0 -8
- package/dist/src/observability/index.js.map +0 -1
- package/dist/src/observability/integration.d.ts +0 -32
- package/dist/src/observability/integration.d.ts.map +0 -1
- package/dist/src/observability/integration.js +0 -157
- package/dist/src/observability/integration.js.map +0 -1
- package/dist/src/observability/telemetry.d.ts +0 -137
- package/dist/src/observability/telemetry.d.ts.map +0 -1
- package/dist/src/observability/telemetry.js +0 -420
- package/dist/src/observability/telemetry.js.map +0 -1
- package/dist/src/quantization/index.d.ts +0 -7
- package/dist/src/quantization/index.d.ts.map +0 -1
- package/dist/src/quantization/index.js +0 -15
- package/dist/src/quantization/index.js.map +0 -1
- package/dist/src/quantization/vector-quantization.d.ts +0 -388
- package/dist/src/quantization/vector-quantization.d.ts.map +0 -1
- package/dist/src/quantization/vector-quantization.js +0 -1136
- package/dist/src/quantization/vector-quantization.js.map +0 -1
- package/dist/src/search/HybridSearch.d.ts +0 -311
- package/dist/src/search/HybridSearch.d.ts.map +0 -1
- package/dist/src/search/HybridSearch.js +0 -712
- package/dist/src/search/HybridSearch.js.map +0 -1
- package/dist/src/search/index.d.ts +0 -12
- package/dist/src/search/index.d.ts.map +0 -1
- package/dist/src/search/index.js +0 -16
- package/dist/src/search/index.js.map +0 -1
- package/dist/src/services/AttentionService.d.ts +0 -303
- package/dist/src/services/AttentionService.d.ts.map +0 -1
- package/dist/src/services/AttentionService.js +0 -1167
- package/dist/src/services/AttentionService.js.map +0 -1
- package/dist/src/simd/index.d.ts +0 -9
- package/dist/src/simd/index.d.ts.map +0 -1
- package/dist/src/simd/index.js +0 -27
- package/dist/src/simd/index.js.map +0 -1
- package/dist/src/simd/simd-vector-ops.d.ts +0 -332
- package/dist/src/simd/simd-vector-ops.d.ts.map +0 -1
- package/dist/src/simd/simd-vector-ops.js +0 -947
- package/dist/src/simd/simd-vector-ops.js.map +0 -1
- package/dist/src/tests/attention-service.test.d.ts +0 -7
- package/dist/src/tests/attention-service.test.d.ts.map +0 -1
- package/dist/src/tests/attention-service.test.js +0 -401
- package/dist/src/tests/attention-service.test.js.map +0 -1
- package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts +0 -7
- package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts.map +0 -1
- package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js +0 -283
- package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js.map +0 -1
- package/dist/src/tests/query-cache.test.d.ts +0 -7
- package/dist/src/tests/query-cache.test.d.ts.map +0 -1
- package/dist/src/tests/query-cache.test.js +0 -343
- package/dist/src/tests/query-cache.test.js.map +0 -1
- package/dist/src/tests/ruvector-integration.test.d.ts +0 -14
- package/dist/src/tests/ruvector-integration.test.d.ts.map +0 -1
- package/dist/src/tests/ruvector-integration.test.js +0 -1156
- package/dist/src/tests/ruvector-integration.test.js.map +0 -1
- package/dist/src/tests/unit/auth/crypto.utils.test.d.ts +0 -6
- package/dist/src/tests/unit/auth/crypto.utils.test.d.ts.map +0 -1
- package/dist/src/tests/unit/auth/crypto.utils.test.js +0 -310
- package/dist/src/tests/unit/auth/crypto.utils.test.js.map +0 -1
- package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts +0 -5
- package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts.map +0 -1
- package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js +0 -207
- package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js.map +0 -1
- package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts +0 -5
- package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts.map +0 -1
- package/dist/src/tests/unit/compatibility/migration-utils.test.js +0 -264
- package/dist/src/tests/unit/compatibility/migration-utils.test.js.map +0 -1
- package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts +0 -7
- package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts.map +0 -1
- package/dist/src/tests/unit/compatibility/v1-adapter.test.js +0 -228
- package/dist/src/tests/unit/compatibility/v1-adapter.test.js.map +0 -1
- package/dist/src/tests/unit/compatibility/version-detector.test.d.ts +0 -10
- package/dist/src/tests/unit/compatibility/version-detector.test.d.ts.map +0 -1
- package/dist/src/tests/unit/compatibility/version-detector.test.js +0 -162
- package/dist/src/tests/unit/compatibility/version-detector.test.js.map +0 -1
- package/dist/src/tests/vector-quantization.test.d.ts +0 -5
- package/dist/src/tests/vector-quantization.test.d.ts.map +0 -1
- package/dist/src/tests/vector-quantization.test.js +0 -338
- package/dist/src/tests/vector-quantization.test.js.map +0 -1
- package/dist/src/tests/wasm-vector-search.test.d.ts +0 -7
- package/dist/src/tests/wasm-vector-search.test.d.ts.map +0 -1
- package/dist/src/tests/wasm-vector-search.test.js +0 -193
- package/dist/src/tests/wasm-vector-search.test.js.map +0 -1
- package/dist/src/types/database.types.d.ts +0 -275
- package/dist/src/types/database.types.d.ts.map +0 -1
- package/dist/src/types/database.types.js +0 -57
- package/dist/src/types/database.types.js.map +0 -1
- package/dist/src/utils/chalk-fallback.d.ts +0 -3
- package/dist/src/utils/chalk-fallback.d.ts.map +0 -1
- package/dist/src/utils/chalk-fallback.js +0 -20
- package/dist/src/utils/chalk-fallback.js.map +0 -1
- package/dist/src/utils/crypto.utils.d.ts +0 -122
- package/dist/src/utils/crypto.utils.d.ts.map +0 -1
- package/dist/src/utils/crypto.utils.js +0 -296
- package/dist/src/utils/crypto.utils.js.map +0 -1
- package/dist/src/utils/similarity.d.ts +0 -11
- package/dist/src/utils/similarity.d.ts.map +0 -1
- package/dist/src/utils/similarity.js +0 -25
- package/dist/src/utils/similarity.js.map +0 -1
- package/dist/src/wasm-loader.d.ts +0 -67
- package/dist/src/wasm-loader.d.ts.map +0 -1
- package/dist/src/wasm-loader.js +0 -78
- package/dist/src/wasm-loader.js.map +0 -1
- package/dist/src/wrappers/agentdb-fast.d.ts +0 -139
- package/dist/src/wrappers/agentdb-fast.d.ts.map +0 -1
- package/dist/src/wrappers/agentdb-fast.js +0 -316
- package/dist/src/wrappers/agentdb-fast.js.map +0 -1
- package/dist/src/wrappers/attention-fallbacks.d.ts +0 -351
- package/dist/src/wrappers/attention-fallbacks.d.ts.map +0 -1
- package/dist/src/wrappers/attention-fallbacks.js +0 -1487
- package/dist/src/wrappers/attention-fallbacks.js.map +0 -1
- package/dist/src/wrappers/embedding-service.d.ts +0 -117
- package/dist/src/wrappers/embedding-service.d.ts.map +0 -1
- package/dist/src/wrappers/embedding-service.js +0 -376
- package/dist/src/wrappers/embedding-service.js.map +0 -1
- package/dist/src/wrappers/gnn-wrapper.d.ts +0 -71
- package/dist/src/wrappers/gnn-wrapper.d.ts.map +0 -1
- package/dist/src/wrappers/gnn-wrapper.js +0 -240
- package/dist/src/wrappers/gnn-wrapper.js.map +0 -1
- package/dist/src/wrappers/index.d.ts +0 -48
- package/dist/src/wrappers/index.d.ts.map +0 -1
- package/dist/src/wrappers/index.js +0 -83
- package/dist/src/wrappers/index.js.map +0 -1
|
@@ -10,211 +10,22 @@
|
|
|
10
10
|
* - Distance-to-similarity conversion for all metrics
|
|
11
11
|
* - Batch operations for optimal throughput
|
|
12
12
|
* - Persistent storage with separate metadata files
|
|
13
|
-
* - Parallel batch insert with configurable concurrency
|
|
14
|
-
* - Buffer pooling to reduce memory allocations
|
|
15
|
-
* - Adaptive index parameters based on dataset size
|
|
16
|
-
* - Memory-mapped support for large indices
|
|
17
|
-
* - Statistics tracking for performance monitoring
|
|
18
13
|
*/
|
|
19
|
-
// ============================================================================
|
|
20
|
-
// Performance & Security Constants
|
|
21
|
-
// ============================================================================
|
|
22
|
-
/** @inline Maximum supported vector dimension for bounds checking */
|
|
23
|
-
export const MAX_VECTOR_DIMENSION = 4096;
|
|
24
|
-
/** @inline Maximum batch size for optimal cache utilization */
|
|
25
|
-
export const MAX_BATCH_SIZE = 10000;
|
|
26
|
-
/** @inline Default cache size for embedding storage */
|
|
27
|
-
export const DEFAULT_CACHE_SIZE = 10000;
|
|
28
|
-
/** @inline Small epsilon for numerical stability */
|
|
29
|
-
/** @inline Maximum metadata entries to prevent memory exhaustion */
|
|
30
|
-
const MAX_METADATA_ENTRIES = 10_000_000;
|
|
31
|
-
/** @inline Maximum path length for file operations */
|
|
32
|
-
const MAX_PATH_LENGTH = 4096;
|
|
33
|
-
/** Forbidden path patterns for security */
|
|
34
|
-
const FORBIDDEN_PATH_PATTERNS = [
|
|
35
|
-
/\.\./, // Path traversal
|
|
36
|
-
/^\/etc\//i, // System config
|
|
37
|
-
/^\/proc\//i, // Process info
|
|
38
|
-
/^\/sys\//i, // System info
|
|
39
|
-
/^\/dev\//i, // Devices
|
|
40
|
-
];
|
|
41
|
-
// ============================================================================
|
|
42
|
-
// Security Validation Helpers
|
|
43
|
-
// ============================================================================
|
|
44
|
-
/**
|
|
45
|
-
* Validate a file path is safe
|
|
46
|
-
*/
|
|
47
|
-
function validatePath(inputPath) {
|
|
48
|
-
if (!inputPath || typeof inputPath !== 'string') {
|
|
49
|
-
throw new Error('Path must be a non-empty string');
|
|
50
|
-
}
|
|
51
|
-
if (inputPath.length > MAX_PATH_LENGTH) {
|
|
52
|
-
throw new Error(`Path exceeds maximum length of ${MAX_PATH_LENGTH}`);
|
|
53
|
-
}
|
|
54
|
-
for (const pattern of FORBIDDEN_PATH_PATTERNS) {
|
|
55
|
-
if (pattern.test(inputPath)) {
|
|
56
|
-
throw new Error(`Path contains forbidden pattern`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Validate vector dimension is within safe limits
|
|
62
|
-
*/
|
|
63
|
-
function validateDimension(dimension) {
|
|
64
|
-
if (!Number.isFinite(dimension) || dimension < 1 || dimension > MAX_VECTOR_DIMENSION) {
|
|
65
|
-
throw new Error(`Dimension must be between 1 and ${MAX_VECTOR_DIMENSION}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Semaphore for controlling concurrent operations
|
|
70
|
-
*/
|
|
71
|
-
class Semaphore {
|
|
72
|
-
permits;
|
|
73
|
-
waiting = [];
|
|
74
|
-
constructor(permits) {
|
|
75
|
-
this.permits = permits;
|
|
76
|
-
}
|
|
77
|
-
async acquire() {
|
|
78
|
-
if (this.permits > 0) {
|
|
79
|
-
this.permits--;
|
|
80
|
-
return Promise.resolve();
|
|
81
|
-
}
|
|
82
|
-
return new Promise((resolve) => {
|
|
83
|
-
this.waiting.push(resolve);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
release() {
|
|
87
|
-
if (this.waiting.length > 0) {
|
|
88
|
-
const resolve = this.waiting.shift();
|
|
89
|
-
resolve();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.permits++;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
get available() {
|
|
96
|
-
return this.permits;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Buffer pool for reusing Float32Array buffers
|
|
101
|
-
*/
|
|
102
|
-
class BufferPool {
|
|
103
|
-
pools = new Map();
|
|
104
|
-
maxPoolSize;
|
|
105
|
-
constructor(maxPoolSize = 100) {
|
|
106
|
-
this.maxPoolSize = maxPoolSize;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Acquire a buffer of the specified size
|
|
110
|
-
*/
|
|
111
|
-
acquire(size) {
|
|
112
|
-
const pool = this.pools.get(size);
|
|
113
|
-
if (pool && pool.length > 0) {
|
|
114
|
-
return pool.pop();
|
|
115
|
-
}
|
|
116
|
-
return new Float32Array(size);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Release a buffer back to the pool
|
|
120
|
-
*/
|
|
121
|
-
release(buffer) {
|
|
122
|
-
const size = buffer.length;
|
|
123
|
-
if (!this.pools.has(size)) {
|
|
124
|
-
this.pools.set(size, []);
|
|
125
|
-
}
|
|
126
|
-
const pool = this.pools.get(size);
|
|
127
|
-
if (pool.length < this.maxPoolSize) {
|
|
128
|
-
// Clear buffer before returning to pool
|
|
129
|
-
buffer.fill(0);
|
|
130
|
-
pool.push(buffer);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Clear all pooled buffers
|
|
135
|
-
*/
|
|
136
|
-
clear() {
|
|
137
|
-
this.pools.clear();
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Get pool statistics
|
|
141
|
-
*/
|
|
142
|
-
getStats() {
|
|
143
|
-
let totalBuffers = 0;
|
|
144
|
-
let totalMemory = 0;
|
|
145
|
-
for (const [size, pool] of this.pools) {
|
|
146
|
-
totalBuffers += pool.length;
|
|
147
|
-
totalMemory += pool.length * size * 4; // Float32 = 4 bytes
|
|
148
|
-
}
|
|
149
|
-
return { totalBuffers, totalMemory };
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
14
|
export class RuVectorBackend {
|
|
153
15
|
name = 'ruvector';
|
|
154
|
-
//
|
|
155
|
-
db; // VectorDB from @ruvector/core - FFI boundary
|
|
16
|
+
db; // VectorDB from @ruvector/core
|
|
156
17
|
config;
|
|
157
18
|
metadata = new Map();
|
|
158
19
|
initialized = false;
|
|
159
|
-
|
|
160
|
-
semaphore;
|
|
161
|
-
bufferPool;
|
|
162
|
-
// Statistics tracking
|
|
163
|
-
stats = {
|
|
164
|
-
insertCount: 0,
|
|
165
|
-
insertTotalLatencyMs: 0,
|
|
166
|
-
insertMinLatencyMs: Infinity,
|
|
167
|
-
insertMaxLatencyMs: 0,
|
|
168
|
-
searchCount: 0,
|
|
169
|
-
searchTotalLatencyMs: 0,
|
|
170
|
-
searchMinLatencyMs: Infinity,
|
|
171
|
-
searchMaxLatencyMs: 0,
|
|
172
|
-
cacheHits: 0,
|
|
173
|
-
cacheMisses: 0,
|
|
174
|
-
lastMemoryUsage: 0,
|
|
175
|
-
indexRebuildCount: 0,
|
|
176
|
-
};
|
|
177
|
-
// Mmap support
|
|
178
|
-
mmapEnabled = false;
|
|
179
|
-
mmapBuffer = null;
|
|
20
|
+
learning = null;
|
|
180
21
|
constructor(config) {
|
|
181
22
|
// Handle both dimension and dimensions for backward compatibility
|
|
182
23
|
const dimension = config.dimension ?? config.dimensions;
|
|
183
24
|
if (!dimension) {
|
|
184
25
|
throw new Error('Vector dimension is required (use dimension or dimensions)');
|
|
185
26
|
}
|
|
186
|
-
// Validate dimension for security
|
|
187
|
-
validateDimension(dimension);
|
|
188
27
|
// Store both forms for compatibility with different backends
|
|
189
28
|
this.config = { ...config, dimension, dimensions: dimension };
|
|
190
|
-
// Initialize concurrency control with configurable limit (bounded for security)
|
|
191
|
-
const concurrency = Math.min(Math.max(1, config.parallelConcurrency ?? 4), 32);
|
|
192
|
-
this.semaphore = new Semaphore(concurrency);
|
|
193
|
-
// Initialize buffer pool with bounded size
|
|
194
|
-
const bufferPoolSize = Math.min(Math.max(1, config.bufferPoolSize ?? 100), 1000);
|
|
195
|
-
this.bufferPool = new BufferPool(bufferPoolSize);
|
|
196
|
-
// Mmap configuration - validate path if provided
|
|
197
|
-
this.mmapEnabled = config.enableMmap ?? false;
|
|
198
|
-
if (this.mmapEnabled && config.mmapPath) {
|
|
199
|
-
validatePath(config.mmapPath);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Get adaptive HNSW parameters based on expected dataset size
|
|
204
|
-
*/
|
|
205
|
-
getAdaptiveParams(datasetSize) {
|
|
206
|
-
if (datasetSize < 1000) {
|
|
207
|
-
// Small dataset: lower M and efConstruction for faster builds
|
|
208
|
-
return { M: 8, efConstruction: 100, efSearch: 50 };
|
|
209
|
-
}
|
|
210
|
-
else if (datasetSize <= 100000) {
|
|
211
|
-
// Medium dataset: balanced parameters
|
|
212
|
-
return { M: 16, efConstruction: 200, efSearch: 100 };
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
// Large dataset: higher M for better recall
|
|
216
|
-
return { M: 32, efConstruction: 400, efSearch: 200 };
|
|
217
|
-
}
|
|
218
29
|
}
|
|
219
30
|
/**
|
|
220
31
|
* Initialize RuVector database with optional dependency handling
|
|
@@ -243,29 +54,14 @@ export class RuVectorBackend {
|
|
|
243
54
|
if (!dimensions) {
|
|
244
55
|
throw new Error('Vector dimension is required (use dimension or dimensions)');
|
|
245
56
|
}
|
|
246
|
-
// Determine HNSW parameters (adaptive or explicit)
|
|
247
|
-
const maxElements = this.config.maxElements || 100000;
|
|
248
|
-
const useAdaptive = this.config.adaptiveParams !== false;
|
|
249
|
-
const adaptiveParams = useAdaptive ? this.getAdaptiveParams(maxElements) : null;
|
|
250
|
-
const m = this.config.M ?? adaptiveParams?.M ?? 16;
|
|
251
|
-
const efConstruction = this.config.efConstruction ?? adaptiveParams?.efConstruction ?? 200;
|
|
252
|
-
const efSearch = this.config.efSearch ?? adaptiveParams?.efSearch ?? 100;
|
|
253
57
|
// RuVector VectorDB constructor signature
|
|
254
58
|
this.db = new VectorDB({
|
|
255
59
|
dimensions: dimensions, // Note: config object, not positional arg
|
|
256
60
|
metric: this.config.metric,
|
|
257
|
-
maxElements: maxElements,
|
|
258
|
-
efConstruction: efConstruction,
|
|
259
|
-
m:
|
|
61
|
+
maxElements: this.config.maxElements || 100000,
|
|
62
|
+
efConstruction: this.config.efConstruction || 200,
|
|
63
|
+
m: this.config.M || 16 // Note: lowercase 'm'
|
|
260
64
|
});
|
|
261
|
-
// Set default efSearch
|
|
262
|
-
if (this.db.setEfSearch) {
|
|
263
|
-
this.db.setEfSearch(efSearch);
|
|
264
|
-
}
|
|
265
|
-
// Initialize memory-mapped storage if enabled and available
|
|
266
|
-
if (this.mmapEnabled && this.config.mmapPath) {
|
|
267
|
-
await this.initializeMmap();
|
|
268
|
-
}
|
|
269
65
|
this.initialized = true;
|
|
270
66
|
}
|
|
271
67
|
catch (error) {
|
|
@@ -283,107 +79,19 @@ export class RuVectorBackend {
|
|
|
283
79
|
`Error: ${errorMessage}`);
|
|
284
80
|
}
|
|
285
81
|
}
|
|
286
|
-
/**
|
|
287
|
-
* Initialize memory-mapped storage for large indices
|
|
288
|
-
*/
|
|
289
|
-
async initializeMmap() {
|
|
290
|
-
if (!this.config.mmapPath)
|
|
291
|
-
return;
|
|
292
|
-
// Validate path for security
|
|
293
|
-
validatePath(this.config.mmapPath);
|
|
294
|
-
let fd = null;
|
|
295
|
-
try {
|
|
296
|
-
const fs = await import('fs');
|
|
297
|
-
const pathModule = await import('path');
|
|
298
|
-
// Check if mmap module is available (optional native dependency)
|
|
299
|
-
let mmapModule = null;
|
|
300
|
-
try {
|
|
301
|
-
// Dynamic import of optional native module - known safe module
|
|
302
|
-
const moduleName = 'mmap-io';
|
|
303
|
-
mmapModule = await import(moduleName);
|
|
304
|
-
}
|
|
305
|
-
catch {
|
|
306
|
-
// mmap-io not available, fall back to regular I/O
|
|
307
|
-
console.debug('[RuVectorBackend] mmap-io not available, using standard I/O');
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
if (!mmapModule)
|
|
311
|
-
return;
|
|
312
|
-
const mmapPath = pathModule.resolve(this.config.mmapPath);
|
|
313
|
-
// Re-validate resolved path
|
|
314
|
-
validatePath(mmapPath);
|
|
315
|
-
const mmap = mmapModule;
|
|
316
|
-
// Create or open the mmap file
|
|
317
|
-
if (fs.existsSync(mmapPath)) {
|
|
318
|
-
fd = fs.openSync(mmapPath, 'r+');
|
|
319
|
-
const stats = fs.fstatSync(fd);
|
|
320
|
-
// Validate file size to prevent excessive memory mapping
|
|
321
|
-
const maxMmapSize = 4 * 1024 * 1024 * 1024; // 4GB max
|
|
322
|
-
if (stats.size > maxMmapSize) {
|
|
323
|
-
throw new Error(`Mmap file size ${stats.size} exceeds maximum of ${maxMmapSize}`);
|
|
324
|
-
}
|
|
325
|
-
this.mmapBuffer = mmap.map(stats.size, mmap.PROT_READ | mmap.PROT_WRITE, mmap.MAP_SHARED, fd, 0);
|
|
326
|
-
fs.closeSync(fd);
|
|
327
|
-
fd = null;
|
|
328
|
-
}
|
|
329
|
-
this.mmapEnabled = true;
|
|
330
|
-
}
|
|
331
|
-
catch (error) {
|
|
332
|
-
console.debug(`[RuVectorBackend] Failed to initialize mmap: ${error.message}`);
|
|
333
|
-
this.mmapEnabled = false;
|
|
334
|
-
}
|
|
335
|
-
finally {
|
|
336
|
-
// Ensure file descriptor is closed even on error
|
|
337
|
-
if (fd !== null) {
|
|
338
|
-
try {
|
|
339
|
-
const fs = await import('fs');
|
|
340
|
-
fs.closeSync(fd);
|
|
341
|
-
}
|
|
342
|
-
catch {
|
|
343
|
-
// Ignore close errors in cleanup
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
82
|
/**
|
|
349
83
|
* Insert single vector with optional metadata
|
|
350
84
|
*/
|
|
351
85
|
insert(id, embedding, metadata) {
|
|
352
86
|
this.ensureInitialized();
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
throw new Error('Vector ID must be a non-empty string');
|
|
356
|
-
}
|
|
357
|
-
// Validate embedding type
|
|
358
|
-
if (!(embedding instanceof Float32Array) && !Array.isArray(embedding)) {
|
|
359
|
-
throw new Error('Embedding must be a Float32Array or array');
|
|
360
|
-
}
|
|
361
|
-
// Check metadata store size limit
|
|
362
|
-
if (metadata && this.metadata.size >= MAX_METADATA_ENTRIES) {
|
|
363
|
-
throw new Error(`Metadata store has reached maximum capacity of ${MAX_METADATA_ENTRIES}`);
|
|
364
|
-
}
|
|
365
|
-
const startTime = this.config.enableStats !== false ? performance.now() : 0;
|
|
366
|
-
// RuVector v0.1.30+ uses object API with 'vector' field
|
|
367
|
-
// Native VectorDB requires Float32Array, not regular array
|
|
368
|
-
this.db.insert({
|
|
369
|
-
id: id,
|
|
370
|
-
vector: embedding instanceof Float32Array ? embedding : new Float32Array(embedding),
|
|
371
|
-
metadata: metadata
|
|
372
|
-
});
|
|
87
|
+
// RuVector expects regular arrays
|
|
88
|
+
this.db.insert(id, Array.from(embedding));
|
|
373
89
|
if (metadata) {
|
|
374
90
|
this.metadata.set(id, metadata);
|
|
375
91
|
}
|
|
376
|
-
// Track insert latency
|
|
377
|
-
if (this.config.enableStats !== false) {
|
|
378
|
-
const latency = performance.now() - startTime;
|
|
379
|
-
this.stats.insertCount++;
|
|
380
|
-
this.stats.insertTotalLatencyMs += latency;
|
|
381
|
-
this.stats.insertMinLatencyMs = Math.min(this.stats.insertMinLatencyMs, latency);
|
|
382
|
-
this.stats.insertMaxLatencyMs = Math.max(this.stats.insertMaxLatencyMs, latency);
|
|
383
|
-
}
|
|
384
92
|
}
|
|
385
93
|
/**
|
|
386
|
-
* Batch insert for optimal performance
|
|
94
|
+
* Batch insert for optimal performance
|
|
387
95
|
*/
|
|
388
96
|
insertBatch(items) {
|
|
389
97
|
this.ensureInitialized();
|
|
@@ -392,147 +100,104 @@ export class RuVectorBackend {
|
|
|
392
100
|
}
|
|
393
101
|
}
|
|
394
102
|
/**
|
|
395
|
-
*
|
|
103
|
+
* Set a RuVectorLearning instance for GNN-enhanced search
|
|
396
104
|
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
105
|
+
* When set, search results will be enhanced using GNN neighbor context
|
|
106
|
+
* from @ruvector/gnn. Falls through to raw HNSW results if enhancement fails.
|
|
399
107
|
*
|
|
400
|
-
* @param
|
|
401
|
-
* @param options - Configuration options
|
|
402
|
-
* @param options.batchSize - Number of items per batch (default: 100)
|
|
403
|
-
* @param options.concurrency - Max concurrent batches (default: config.parallelConcurrency or 4)
|
|
404
|
-
* @returns Promise that resolves when all items are inserted
|
|
108
|
+
* @param learning - Initialized RuVectorLearning instance, or null to disable
|
|
405
109
|
*/
|
|
406
|
-
|
|
407
|
-
this.
|
|
408
|
-
const batchSize = options?.batchSize ?? 100;
|
|
409
|
-
const concurrency = options?.concurrency ?? this.config.parallelConcurrency ?? 4;
|
|
410
|
-
// Create a semaphore with the specified concurrency
|
|
411
|
-
const semaphore = new Semaphore(concurrency);
|
|
412
|
-
// Split items into batches
|
|
413
|
-
const batches = [];
|
|
414
|
-
for (let i = 0; i < items.length; i += batchSize) {
|
|
415
|
-
batches.push(items.slice(i, i + batchSize));
|
|
416
|
-
}
|
|
417
|
-
// Process batches in parallel with semaphore control
|
|
418
|
-
const promises = batches.map(async (batch) => {
|
|
419
|
-
await semaphore.acquire();
|
|
420
|
-
try {
|
|
421
|
-
for (const item of batch) {
|
|
422
|
-
this.insert(item.id, item.embedding, item.metadata);
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
finally {
|
|
426
|
-
semaphore.release();
|
|
427
|
-
}
|
|
428
|
-
});
|
|
429
|
-
await Promise.all(promises);
|
|
110
|
+
setLearning(learning) {
|
|
111
|
+
this.learning = learning;
|
|
430
112
|
}
|
|
431
113
|
/**
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
* Acquires a buffer from the pool, copies the embedding data,
|
|
435
|
-
* performs the insert, and returns the buffer to the pool.
|
|
436
|
-
*
|
|
437
|
-
* @param id - Vector ID
|
|
438
|
-
* @param embedding - Vector data (can be regular array or Float32Array)
|
|
439
|
-
* @param metadata - Optional metadata
|
|
114
|
+
* Get the current RuVectorLearning instance, if any
|
|
440
115
|
*/
|
|
441
|
-
|
|
442
|
-
this.
|
|
443
|
-
const dimension = this.config.dimension;
|
|
444
|
-
// Acquire buffer from pool
|
|
445
|
-
const buffer = this.bufferPool.acquire(dimension);
|
|
446
|
-
try {
|
|
447
|
-
// Copy data to pooled buffer
|
|
448
|
-
if (embedding instanceof Float32Array) {
|
|
449
|
-
buffer.set(embedding);
|
|
450
|
-
}
|
|
451
|
-
else {
|
|
452
|
-
for (let i = 0; i < dimension; i++) {
|
|
453
|
-
buffer[i] = embedding[i] ?? 0;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
// Insert using pooled buffer
|
|
457
|
-
this.insert(id, buffer, metadata);
|
|
458
|
-
}
|
|
459
|
-
finally {
|
|
460
|
-
// Return buffer to pool
|
|
461
|
-
this.bufferPool.release(buffer);
|
|
462
|
-
}
|
|
116
|
+
getLearning() {
|
|
117
|
+
return this.learning;
|
|
463
118
|
}
|
|
464
119
|
/**
|
|
465
|
-
* Search for k-nearest neighbors with optional filtering and
|
|
466
|
-
* @inline V8 optimization hint - hot path function
|
|
120
|
+
* Search for k-nearest neighbors with optional filtering and GNN enhancement
|
|
467
121
|
*/
|
|
468
122
|
search(query, k, options) {
|
|
469
123
|
this.ensureInitialized();
|
|
470
|
-
const startTime = this.config.enableStats !== false ? performance.now() : 0;
|
|
471
124
|
// Apply efSearch parameter if provided
|
|
472
125
|
if (options?.efSearch) {
|
|
473
126
|
this.db.setEfSearch(options.efSearch);
|
|
474
127
|
}
|
|
475
|
-
//
|
|
476
|
-
|
|
477
|
-
//
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
let perfectMatches = 0;
|
|
487
|
-
const maxPerfectMatches = k;
|
|
488
|
-
// @inline Convert results and apply filtering with early termination
|
|
489
|
-
const filteredResults = [];
|
|
490
|
-
const resultsLen = results.length | 0;
|
|
491
|
-
for (let i = 0; i < resultsLen; i++) {
|
|
492
|
-
const r = results[i];
|
|
493
|
-
const similarity = this.distanceToSimilarity(r.distance);
|
|
128
|
+
// Perform vector search
|
|
129
|
+
const rawResults = this.db.search(Array.from(query), k);
|
|
130
|
+
// Convert results and apply filtering
|
|
131
|
+
let results = rawResults
|
|
132
|
+
.map((r) => ({
|
|
133
|
+
id: r.id,
|
|
134
|
+
distance: r.distance,
|
|
135
|
+
similarity: this.distanceToSimilarity(r.distance),
|
|
136
|
+
metadata: this.metadata.get(r.id)
|
|
137
|
+
}))
|
|
138
|
+
.filter((r) => {
|
|
494
139
|
// Apply similarity threshold
|
|
495
|
-
if (options?.threshold && similarity < options.threshold) {
|
|
496
|
-
|
|
140
|
+
if (options?.threshold && r.similarity < options.threshold) {
|
|
141
|
+
return false;
|
|
497
142
|
}
|
|
498
|
-
const metadata = this.metadata.get(r.id);
|
|
499
143
|
// Apply metadata filters
|
|
500
|
-
if (options?.filter && metadata) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
144
|
+
if (options?.filter && r.metadata) {
|
|
145
|
+
return Object.entries(options.filter).every(([key, value]) => r.metadata[key] === value);
|
|
146
|
+
}
|
|
147
|
+
return true;
|
|
148
|
+
});
|
|
149
|
+
// Enhance with GNN if available
|
|
150
|
+
if (this.learning && this.learning.getState().initialized && results.length > 0) {
|
|
151
|
+
try {
|
|
152
|
+
// Extract neighbor embeddings and similarity weights from results
|
|
153
|
+
const neighbors = [];
|
|
154
|
+
const weights = [];
|
|
155
|
+
for (const r of results) {
|
|
156
|
+
// Retrieve the stored vector for this result by re-searching with k=1
|
|
157
|
+
// We use the similarity score as the edge weight for GNN attention
|
|
158
|
+
weights.push(r.similarity);
|
|
159
|
+
// Use the query dimension to create a placeholder if we cannot retrieve the vector
|
|
160
|
+
// The GNN will use attention weights to compensate
|
|
161
|
+
neighbors.push(query); // Placeholder - actual retrieval depends on backend support
|
|
162
|
+
}
|
|
163
|
+
// Try to get actual embeddings from the raw search if available
|
|
164
|
+
for (let i = 0; i < rawResults.length && i < results.length; i++) {
|
|
165
|
+
const raw = rawResults[i];
|
|
166
|
+
if (raw.vector || raw.embedding) {
|
|
167
|
+
const vec = raw.vector || raw.embedding;
|
|
168
|
+
neighbors[i] = vec instanceof Float32Array ? vec : new Float32Array(vec);
|
|
508
169
|
}
|
|
509
170
|
}
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
171
|
+
const enhanced = this.learning.enhance(query, neighbors, weights);
|
|
172
|
+
if (enhanced && enhanced.length > 0) {
|
|
173
|
+
// Re-search with the GNN-enhanced query vector for better results
|
|
174
|
+
const enhancedRaw = this.db.search(Array.from(enhanced), k);
|
|
175
|
+
const enhancedResults = enhancedRaw
|
|
176
|
+
.map((r) => ({
|
|
177
|
+
id: r.id,
|
|
178
|
+
distance: r.distance,
|
|
179
|
+
similarity: this.distanceToSimilarity(r.distance),
|
|
180
|
+
metadata: this.metadata.get(r.id)
|
|
181
|
+
}))
|
|
182
|
+
.filter((r) => {
|
|
183
|
+
if (options?.threshold && r.similarity < options.threshold) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
if (options?.filter && r.metadata) {
|
|
187
|
+
return Object.entries(options.filter).every(([key, value]) => r.metadata[key] === value);
|
|
188
|
+
}
|
|
189
|
+
return true;
|
|
190
|
+
});
|
|
191
|
+
if (enhancedResults.length > 0) {
|
|
192
|
+
results = enhancedResults;
|
|
193
|
+
}
|
|
524
194
|
}
|
|
525
195
|
}
|
|
196
|
+
catch {
|
|
197
|
+
// Fall through to raw results if GNN enhancement fails
|
|
198
|
+
}
|
|
526
199
|
}
|
|
527
|
-
|
|
528
|
-
if (this.config.enableStats !== false) {
|
|
529
|
-
const latency = performance.now() - startTime;
|
|
530
|
-
this.stats.searchCount++;
|
|
531
|
-
this.stats.searchTotalLatencyMs += latency;
|
|
532
|
-
this.stats.searchMinLatencyMs = Math.min(this.stats.searchMinLatencyMs, latency);
|
|
533
|
-
this.stats.searchMaxLatencyMs = Math.max(this.stats.searchMaxLatencyMs, latency);
|
|
534
|
-
}
|
|
535
|
-
return filteredResults;
|
|
200
|
+
return results;
|
|
536
201
|
}
|
|
537
202
|
/**
|
|
538
203
|
* Remove vector by ID
|
|
@@ -552,145 +217,43 @@ export class RuVectorBackend {
|
|
|
552
217
|
*/
|
|
553
218
|
getStats() {
|
|
554
219
|
this.ensureInitialized();
|
|
555
|
-
const memoryUsage = this.db.memoryUsage?.() || 0;
|
|
556
|
-
this.stats.lastMemoryUsage = memoryUsage;
|
|
557
220
|
return {
|
|
558
221
|
count: this.db.count(),
|
|
559
222
|
dimension: this.config.dimension || 384,
|
|
560
223
|
metric: this.config.metric,
|
|
561
224
|
backend: 'ruvector',
|
|
562
|
-
memoryUsage: memoryUsage
|
|
225
|
+
memoryUsage: this.db.memoryUsage?.() || 0
|
|
563
226
|
};
|
|
564
227
|
}
|
|
565
|
-
/**
|
|
566
|
-
* Get extended performance statistics
|
|
567
|
-
*
|
|
568
|
-
* Returns detailed metrics including latencies, cache stats, and buffer pool info.
|
|
569
|
-
*/
|
|
570
|
-
getExtendedStats() {
|
|
571
|
-
return {
|
|
572
|
-
basic: this.getStats(),
|
|
573
|
-
performance: {
|
|
574
|
-
...this.stats,
|
|
575
|
-
insertAvgLatencyMs: this.stats.insertCount > 0
|
|
576
|
-
? this.stats.insertTotalLatencyMs / this.stats.insertCount
|
|
577
|
-
: 0,
|
|
578
|
-
searchAvgLatencyMs: this.stats.searchCount > 0
|
|
579
|
-
? this.stats.searchTotalLatencyMs / this.stats.searchCount
|
|
580
|
-
: 0,
|
|
581
|
-
},
|
|
582
|
-
bufferPool: this.bufferPool.getStats(),
|
|
583
|
-
config: {
|
|
584
|
-
parallelConcurrency: this.config.parallelConcurrency ?? 4,
|
|
585
|
-
adaptiveParams: this.config.adaptiveParams !== false,
|
|
586
|
-
mmapEnabled: this.mmapEnabled,
|
|
587
|
-
},
|
|
588
|
-
};
|
|
589
|
-
}
|
|
590
|
-
/**
|
|
591
|
-
* Reset performance statistics
|
|
592
|
-
*/
|
|
593
|
-
resetStats() {
|
|
594
|
-
this.stats = {
|
|
595
|
-
insertCount: 0,
|
|
596
|
-
insertTotalLatencyMs: 0,
|
|
597
|
-
insertMinLatencyMs: Infinity,
|
|
598
|
-
insertMaxLatencyMs: 0,
|
|
599
|
-
searchCount: 0,
|
|
600
|
-
searchTotalLatencyMs: 0,
|
|
601
|
-
searchMinLatencyMs: Infinity,
|
|
602
|
-
searchMaxLatencyMs: 0,
|
|
603
|
-
cacheHits: 0,
|
|
604
|
-
cacheMisses: 0,
|
|
605
|
-
lastMemoryUsage: 0,
|
|
606
|
-
indexRebuildCount: 0,
|
|
607
|
-
};
|
|
608
|
-
}
|
|
609
|
-
/**
|
|
610
|
-
* Update index parameters adaptively based on current dataset size
|
|
611
|
-
*
|
|
612
|
-
* This triggers an index rebuild with optimal parameters for the current size.
|
|
613
|
-
* Should be called after significant data changes.
|
|
614
|
-
*/
|
|
615
|
-
async updateAdaptiveParams() {
|
|
616
|
-
this.ensureInitialized();
|
|
617
|
-
if (this.config.adaptiveParams === false) {
|
|
618
|
-
return;
|
|
619
|
-
}
|
|
620
|
-
const currentCount = this.db.count();
|
|
621
|
-
const params = this.getAdaptiveParams(currentCount);
|
|
622
|
-
// Check if we need to rebuild
|
|
623
|
-
// This would require checking current params vs recommended
|
|
624
|
-
// For now, just set efSearch which doesn't require rebuild
|
|
625
|
-
if (this.db.setEfSearch) {
|
|
626
|
-
this.db.setEfSearch(params.efSearch);
|
|
627
|
-
}
|
|
628
|
-
this.stats.indexRebuildCount++;
|
|
629
|
-
}
|
|
630
228
|
/**
|
|
631
229
|
* Save index and metadata to disk
|
|
632
230
|
*/
|
|
633
|
-
async save(
|
|
231
|
+
async save(path) {
|
|
634
232
|
this.ensureInitialized();
|
|
635
|
-
// Validate path for security
|
|
636
|
-
validatePath(savePath);
|
|
637
233
|
// Save vector index
|
|
638
|
-
this.db.save(
|
|
234
|
+
this.db.save(path);
|
|
639
235
|
// Save metadata separately as JSON
|
|
640
|
-
const metadataPath =
|
|
641
|
-
validatePath(metadataPath);
|
|
236
|
+
const metadataPath = path + '.meta.json';
|
|
642
237
|
const fs = await import('fs/promises');
|
|
643
238
|
await fs.writeFile(metadataPath, JSON.stringify(Object.fromEntries(this.metadata), null, 2));
|
|
644
239
|
}
|
|
645
240
|
/**
|
|
646
241
|
* Load index and metadata from disk
|
|
647
242
|
*/
|
|
648
|
-
async load(
|
|
243
|
+
async load(path) {
|
|
649
244
|
this.ensureInitialized();
|
|
650
|
-
// Validate path for security
|
|
651
|
-
validatePath(loadPath);
|
|
652
245
|
// Load vector index
|
|
653
|
-
this.db.load(
|
|
246
|
+
this.db.load(path);
|
|
654
247
|
// Load metadata
|
|
655
|
-
const metadataPath =
|
|
656
|
-
validatePath(metadataPath);
|
|
248
|
+
const metadataPath = path + '.meta.json';
|
|
657
249
|
try {
|
|
658
250
|
const fs = await import('fs/promises');
|
|
659
251
|
const data = await fs.readFile(metadataPath, 'utf-8');
|
|
660
|
-
|
|
661
|
-
let parsed;
|
|
662
|
-
try {
|
|
663
|
-
parsed = JSON.parse(data);
|
|
664
|
-
}
|
|
665
|
-
catch {
|
|
666
|
-
throw new Error('Invalid JSON in metadata file');
|
|
667
|
-
}
|
|
668
|
-
// Validate parsed data is a plain object
|
|
669
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
670
|
-
throw new Error('Metadata must be a plain object');
|
|
671
|
-
}
|
|
672
|
-
// Check for prototype pollution attempts
|
|
673
|
-
const unsafeKeys = ['__proto__', 'constructor', 'prototype'];
|
|
674
|
-
for (const key of Object.keys(parsed)) {
|
|
675
|
-
if (unsafeKeys.includes(key)) {
|
|
676
|
-
throw new Error(`Forbidden key in metadata: ${key}`);
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
this.metadata = new Map(Object.entries(parsed));
|
|
680
|
-
// Enforce size limit
|
|
681
|
-
if (this.metadata.size > MAX_METADATA_ENTRIES) {
|
|
682
|
-
this.metadata.clear();
|
|
683
|
-
throw new Error(`Loaded metadata exceeds maximum of ${MAX_METADATA_ENTRIES} entries`);
|
|
684
|
-
}
|
|
252
|
+
this.metadata = new Map(Object.entries(JSON.parse(data)));
|
|
685
253
|
}
|
|
686
|
-
catch
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
console.debug(`[RuVectorBackend] No metadata file found at ${metadataPath}`);
|
|
690
|
-
}
|
|
691
|
-
else {
|
|
692
|
-
throw error;
|
|
693
|
-
}
|
|
254
|
+
catch {
|
|
255
|
+
// No metadata file - this is okay for backward compatibility
|
|
256
|
+
console.debug(`[RuVectorBackend] No metadata file found at ${metadataPath}`);
|
|
694
257
|
}
|
|
695
258
|
}
|
|
696
259
|
/**
|
|
@@ -699,14 +262,6 @@ export class RuVectorBackend {
|
|
|
699
262
|
close() {
|
|
700
263
|
// RuVector cleanup if needed
|
|
701
264
|
this.metadata.clear();
|
|
702
|
-
// Clear buffer pool
|
|
703
|
-
this.bufferPool.clear();
|
|
704
|
-
// Clean up mmap buffer
|
|
705
|
-
if (this.mmapBuffer) {
|
|
706
|
-
this.mmapBuffer = null;
|
|
707
|
-
}
|
|
708
|
-
// Reset stats
|
|
709
|
-
this.resetStats();
|
|
710
265
|
}
|
|
711
266
|
/**
|
|
712
267
|
* Convert distance to similarity score based on metric
|
|
@@ -735,42 +290,5 @@ export class RuVectorBackend {
|
|
|
735
290
|
throw new Error('RuVectorBackend not initialized. Call initialize() first.');
|
|
736
291
|
}
|
|
737
292
|
}
|
|
738
|
-
/**
|
|
739
|
-
* Get the buffer pool instance for advanced use cases
|
|
740
|
-
*/
|
|
741
|
-
getBufferPool() {
|
|
742
|
-
return this.bufferPool;
|
|
743
|
-
}
|
|
744
|
-
/**
|
|
745
|
-
* Get the current concurrency semaphore status
|
|
746
|
-
*/
|
|
747
|
-
getConcurrencyStatus() {
|
|
748
|
-
return {
|
|
749
|
-
available: this.semaphore.available,
|
|
750
|
-
configured: this.config.parallelConcurrency ?? 4,
|
|
751
|
-
};
|
|
752
|
-
}
|
|
753
|
-
/**
|
|
754
|
-
* Check if memory-mapped storage is active
|
|
755
|
-
*/
|
|
756
|
-
isMmapEnabled() {
|
|
757
|
-
return this.mmapEnabled && this.mmapBuffer !== null;
|
|
758
|
-
}
|
|
759
|
-
/**
|
|
760
|
-
* Get recommended adaptive parameters for a given dataset size
|
|
761
|
-
*/
|
|
762
|
-
static getRecommendedParams(datasetSize) {
|
|
763
|
-
if (datasetSize < 1000) {
|
|
764
|
-
return { M: 8, efConstruction: 100, efSearch: 50 };
|
|
765
|
-
}
|
|
766
|
-
else if (datasetSize <= 100000) {
|
|
767
|
-
return { M: 16, efConstruction: 200, efSearch: 100 };
|
|
768
|
-
}
|
|
769
|
-
else {
|
|
770
|
-
return { M: 32, efConstruction: 400, efSearch: 200 };
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
293
|
}
|
|
774
|
-
// Export helper classes for advanced use cases
|
|
775
|
-
export { Semaphore, BufferPool };
|
|
776
294
|
//# sourceMappingURL=RuVectorBackend.js.map
|