agentdb 3.0.0-alpha.2 → 3.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +208 -2593
- 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 +10 -0
- 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/graph/GraphDatabaseAdapter.d.ts +55 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.js +133 -7
- 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 +12 -21
- 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/RuVectorBackend.d.ts +4 -4
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorBackend.js +2 -2
- package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.js +5 -10
- package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
- package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -1
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js +45 -2
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -1
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +26 -0
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -1
- package/dist/src/backends/rvf/SqlJsRvfBackend.js +93 -31
- package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -1
- package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -1
- package/dist/src/benchmark/BenchmarkSuite.js +0 -2
- package/dist/src/benchmark/BenchmarkSuite.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 +13 -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 -3
- package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
- package/dist/src/cli/agentdb-cli.js +142 -96
- package/dist/src/cli/agentdb-cli.js.map +1 -1
- package/dist/src/cli/commands/attention.js +15 -5
- 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 +6 -111
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -1
- package/dist/src/cli/commands/hyperbolic.js +15 -3
- package/dist/src/cli/commands/hyperbolic.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 +1 -1
- package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
- package/dist/src/cli/commands/install-embeddings.js +17 -11
- package/dist/src/cli/commands/install-embeddings.js.map +1 -1
- package/dist/src/cli/commands/learn.d.ts.map +1 -1
- package/dist/src/cli/commands/learn.js +12 -6
- package/dist/src/cli/commands/learn.js.map +1 -1
- package/dist/src/cli/commands/migrate.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate.js +31 -10
- package/dist/src/cli/commands/migrate.js.map +1 -1
- package/dist/src/cli/commands/route.d.ts.map +1 -1
- package/dist/src/cli/commands/route.js +6 -1
- package/dist/src/cli/commands/route.js.map +1 -1
- package/dist/src/cli/commands/simulate-report.js +14 -2
- 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.map +1 -1
- package/dist/src/cli/lib/report-store.js +3 -5
- 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 +1 -1
- package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
- package/dist/src/cli/lib/simulation-runner.js +1 -4
- package/dist/src/cli/lib/simulation-runner.js.map +1 -1
- package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -1
- package/dist/src/compatibility/V1toV2Adapter.d.ts +2 -2
- package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -1
- package/dist/src/compatibility/V1toV2Adapter.js +1 -14
- package/dist/src/compatibility/V1toV2Adapter.js.map +1 -1
- package/dist/src/compatibility/VersionDetector.d.ts +1 -1
- package/dist/src/compatibility/VersionDetector.d.ts.map +1 -1
- package/dist/src/compatibility/VersionDetector.js +3 -3
- package/dist/src/compatibility/VersionDetector.js.map +1 -1
- package/dist/src/compatibility/index.d.ts +3 -0
- package/dist/src/compatibility/index.d.ts.map +1 -1
- package/dist/src/compatibility/index.js +11 -0
- package/dist/src/compatibility/index.js.map +1 -1
- package/dist/src/controllers/AttentionService.d.ts +98 -122
- package/dist/src/controllers/AttentionService.d.ts.map +1 -1
- package/dist/src/controllers/AttentionService.js +463 -238
- package/dist/src/controllers/AttentionService.js.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.d.ts +4 -4
- package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.js +7 -8
- package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
- package/dist/src/controllers/CausalRecall.d.ts +3 -2
- package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
- package/dist/src/controllers/CausalRecall.js +21 -10
- 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 +29 -0
- package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EmbeddingService.js +149 -34
- package/dist/src/controllers/EmbeddingService.js.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.js +14 -7
- package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
- package/dist/src/controllers/ExplainableRecall.d.ts +5 -4
- package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
- package/dist/src/controllers/ExplainableRecall.js +12 -20
- package/dist/src/controllers/ExplainableRecall.js.map +1 -1
- package/dist/src/controllers/HNSWIndex.d.ts +5 -4
- package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
- package/dist/src/controllers/HNSWIndex.js +6 -9
- package/dist/src/controllers/HNSWIndex.js.map +1 -1
- package/dist/src/controllers/LearningSystem.d.ts +10 -105
- package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
- package/dist/src/controllers/LearningSystem.js +28 -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/MemoryController.d.ts +15 -2
- package/dist/src/controllers/MemoryController.d.ts.map +1 -1
- package/dist/src/controllers/MemoryController.js +33 -3
- package/dist/src/controllers/MemoryController.js.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/MincutService.d.ts +92 -0
- package/dist/src/controllers/MincutService.d.ts.map +1 -0
- package/dist/src/controllers/MincutService.js +336 -0
- package/dist/src/controllers/MincutService.js.map +1 -0
- package/dist/src/controllers/NightlyLearner.d.ts +3 -4
- package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
- package/dist/src/controllers/NightlyLearner.js +17 -22
- package/dist/src/controllers/NightlyLearner.js.map +1 -1
- package/dist/src/controllers/QUICClient.d.ts +7 -10
- package/dist/src/controllers/QUICClient.d.ts.map +1 -1
- package/dist/src/controllers/QUICClient.js +3 -3
- 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 +2 -9
- package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
- package/dist/src/controllers/ReasoningBank.js +39 -35
- package/dist/src/controllers/ReasoningBank.js.map +1 -1
- package/dist/src/controllers/ReflexionMemory.d.ts +51 -1
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/src/controllers/ReflexionMemory.js +307 -33
- package/dist/src/controllers/ReflexionMemory.js.map +1 -1
- package/dist/src/controllers/SkillLibrary.d.ts +5 -11
- package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
- package/dist/src/controllers/SkillLibrary.js +39 -48
- package/dist/src/controllers/SkillLibrary.js.map +1 -1
- package/dist/src/controllers/SparsificationService.d.ts +151 -0
- package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
- package/dist/src/controllers/SparsificationService.js +375 -0
- package/dist/src/controllers/SparsificationService.js.map +1 -0
- 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 +2 -2
- package/dist/src/controllers/SyncCoordinator.js.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.d.ts +7 -6
- package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.js +2 -4
- package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
- package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
- package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionCache.js +80 -0
- package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
- package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
- package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionConfig.js +124 -0
- package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
- package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
- package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionCore.js +289 -0
- package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
- package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
- package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
- package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
- package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
- package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
- package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
- package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
- package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
- package/dist/src/controllers/attention/AttentionWASM.js +147 -0
- package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
- package/dist/src/controllers/attention/CrossAttentionController.d.ts +1 -1
- package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -1
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +1 -1
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -1
- package/dist/src/controllers/attention/MultiHeadAttentionController.js +5 -8
- package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -1
- package/dist/src/controllers/attention/SelfAttentionController.d.ts +1 -1
- package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -1
- package/dist/src/controllers/attention/index.d.ts +9 -0
- package/dist/src/controllers/attention/index.d.ts.map +1 -1
- package/dist/src/controllers/attention/index.js +8 -0
- package/dist/src/controllers/attention/index.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 +7 -1
- package/dist/src/controllers/index.d.ts.map +1 -1
- package/dist/src/controllers/index.js +5 -1
- package/dist/src/controllers/index.js.map +1 -1
- package/dist/src/controllers/prerequisites.d.ts +76 -0
- package/dist/src/controllers/prerequisites.d.ts.map +1 -0
- package/dist/src/controllers/prerequisites.js +235 -0
- package/dist/src/controllers/prerequisites.js.map +1 -0
- package/dist/src/core/AgentDB.d.ts +11 -36
- package/dist/src/core/AgentDB.d.ts.map +1 -1
- package/dist/src/core/AgentDB.js +31 -89
- package/dist/src/core/AgentDB.js.map +1 -1
- package/dist/src/core/QueryCache.d.ts +1 -1
- package/dist/src/core/QueryCache.d.ts.map +1 -1
- package/dist/src/core/QueryCache.js +2 -6
- package/dist/src/core/QueryCache.js.map +1 -1
- package/dist/src/db-fallback.d.ts +40 -3
- package/dist/src/db-fallback.d.ts.map +1 -1
- package/dist/src/db-fallback.js +308 -84
- 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 +281 -0
- package/dist/src/db-unified.js.map +1 -0
- package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts +58 -0
- package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts.map +1 -0
- package/dist/src/embedding/EmbeddingSpaceIdentity.js +137 -0
- package/dist/src/embedding/EmbeddingSpaceIdentity.js.map +1 -0
- package/dist/src/embedding/index.d.ts +3 -0
- package/dist/src/embedding/index.d.ts.map +1 -0
- package/dist/src/embedding/index.js +2 -0
- package/dist/src/embedding/index.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/governance/MetaHarnessGateway.d.ts +55 -0
- package/dist/src/governance/MetaHarnessGateway.d.ts.map +1 -0
- package/dist/src/governance/MetaHarnessGateway.js +65 -0
- package/dist/src/governance/MetaHarnessGateway.js.map +1 -0
- package/dist/src/governance/RvfExperimentBranch.d.ts +65 -0
- package/dist/src/governance/RvfExperimentBranch.d.ts.map +1 -0
- package/dist/src/governance/RvfExperimentBranch.js +115 -0
- package/dist/src/governance/RvfExperimentBranch.js.map +1 -0
- package/dist/src/index.d.ts +7 -25
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/agentdb-mcp-server.js +162 -159
- 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/model/ModelCacheLoader.d.ts +24 -0
- package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
- package/dist/src/model/ModelCacheLoader.js +123 -0
- package/dist/src/model/ModelCacheLoader.js.map +1 -0
- package/dist/src/observability/integration.d.ts +3 -3
- package/dist/src/observability/integration.d.ts.map +1 -1
- package/dist/src/observability/integration.js +2 -0
- package/dist/src/observability/integration.js.map +1 -1
- package/dist/src/observability/telemetry.d.ts +3 -3
- package/dist/src/observability/telemetry.d.ts.map +1 -1
- package/dist/src/observability/telemetry.js +3 -5
- package/dist/src/observability/telemetry.js.map +1 -1
- package/dist/src/optimizations/BatchOperations.d.ts +6 -6
- package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
- package/dist/src/optimizations/BatchOperations.js +6 -5
- package/dist/src/optimizations/BatchOperations.js.map +1 -1
- package/dist/src/optimizations/Quantization.d.ts +330 -0
- package/dist/src/optimizations/Quantization.d.ts.map +1 -0
- package/dist/src/optimizations/Quantization.js +793 -0
- package/dist/src/optimizations/Quantization.js.map +1 -0
- 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/quantization/vector-quantization.d.ts.map +1 -1
- package/dist/src/quantization/vector-quantization.js +1 -5
- package/dist/src/quantization/vector-quantization.js.map +1 -1
- package/dist/src/schemas/inline.d.ts +3 -0
- package/dist/src/schemas/inline.d.ts.map +1 -0
- package/dist/src/schemas/inline.js +10 -0
- package/dist/src/schemas/inline.js.map +1 -0
- package/dist/src/search/HybridSearch.d.ts +6 -6
- package/dist/src/search/HybridSearch.d.ts.map +1 -1
- package/dist/src/search/HybridSearch.js.map +1 -1
- package/dist/src/security/input-validation.d.ts +34 -12
- package/dist/src/security/input-validation.d.ts.map +1 -1
- package/dist/src/security/input-validation.js +46 -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/mcp-policy.d.ts +13 -0
- package/dist/src/security/mcp-policy.d.ts.map +1 -0
- package/dist/src/security/mcp-policy.js +66 -0
- package/dist/src/security/mcp-policy.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 +339 -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/AttentionService.d.ts.map +1 -1
- package/dist/src/services/AttentionService.js +2 -4
- package/dist/src/services/AttentionService.js.map +1 -1
- package/dist/src/services/LLMRouter.d.ts +2 -2
- package/dist/src/services/LLMRouter.d.ts.map +1 -1
- package/dist/src/services/LLMRouter.js +3 -9
- package/dist/src/services/LLMRouter.js.map +1 -1
- package/dist/src/services/audit-logger.service.d.ts +168 -0
- package/dist/src/services/audit-logger.service.d.ts.map +1 -0
- package/dist/src/services/audit-logger.service.js +331 -0
- package/dist/src/services/audit-logger.service.js.map +1 -0
- package/dist/src/services/enhanced-embeddings.d.ts +271 -0
- package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
- package/dist/src/services/enhanced-embeddings.js +1035 -0
- package/dist/src/services/enhanced-embeddings.js.map +1 -0
- package/dist/src/services/federated-learning.d.ts +172 -0
- package/dist/src/services/federated-learning.d.ts.map +1 -0
- package/dist/src/services/federated-learning.js +342 -0
- package/dist/src/services/federated-learning.js.map +1 -0
- package/dist/src/simd/simd-vector-ops.d.ts.map +1 -1
- package/dist/src/simd/simd-vector-ops.js +0 -2
- package/dist/src/simd/simd-vector-ops.js.map +1 -1
- 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/database.types.d.ts +11 -11
- package/dist/src/types/database.types.d.ts.map +1 -1
- package/dist/src/types/database.types.js +2 -4
- package/dist/src/types/database.types.js.map +1 -1
- package/dist/src/types/graph.d.ts +29 -0
- package/dist/src/types/graph.d.ts.map +1 -0
- package/dist/src/types/graph.js +8 -0
- package/dist/src/types/graph.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/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/wasm-loader.d.ts +0 -1
- package/dist/src/wasm-loader.d.ts.map +1 -1
- package/dist/src/wasm-loader.js +0 -2
- package/dist/src/wasm-loader.js.map +1 -1
- package/dist/src/wrappers/agentdb-fast.d.ts +5 -4
- package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -1
- package/dist/src/wrappers/agentdb-fast.js +6 -13
- package/dist/src/wrappers/agentdb-fast.js.map +1 -1
- package/dist/src/wrappers/attention-fallbacks.d.ts +0 -8
- package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -1
- package/dist/src/wrappers/attention-fallbacks.js +3 -6
- package/dist/src/wrappers/attention-fallbacks.js.map +1 -1
- package/dist/src/wrappers/attention-native.d.ts +111 -0
- package/dist/src/wrappers/attention-native.d.ts.map +1 -0
- package/dist/src/wrappers/attention-native.js +273 -0
- package/dist/src/wrappers/attention-native.js.map +1 -0
- package/dist/src/wrappers/embedding-service.d.ts +4 -4
- package/dist/src/wrappers/embedding-service.d.ts.map +1 -1
- package/dist/src/wrappers/embedding-service.js +2 -8
- package/dist/src/wrappers/embedding-service.js.map +1 -1
- package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -1
- package/dist/src/wrappers/gnn-wrapper.js +3 -7
- package/dist/src/wrappers/gnn-wrapper.js.map +1 -1
- package/package.json +87 -18
- package/scripts/postinstall.cjs +13 -144
- 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/coordination/MultiDatabaseCoordinator.d.ts +0 -348
- package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
- package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
- package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
- package/dist/src/coordination/index.d.ts +0 -10
- package/dist/src/coordination/index.d.ts.map +0 -1
- package/dist/src/coordination/index.js +0 -10
- package/dist/src/coordination/index.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/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
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
8
8
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
-
|
|
11
|
-
// (type alias removed: was unused)
|
|
10
|
+
import { createDatabase } from '../db-fallback.js';
|
|
12
11
|
import { CausalMemoryGraph } from '../controllers/CausalMemoryGraph.js';
|
|
13
12
|
import { CausalRecall } from '../controllers/CausalRecall.js';
|
|
14
13
|
import { ReflexionMemory } from '../controllers/ReflexionMemory.js';
|
|
@@ -20,7 +19,19 @@ import { BatchOperations } from '../optimizations/BatchOperations.js';
|
|
|
20
19
|
import { ReasoningBank } from '../controllers/ReasoningBank.js';
|
|
21
20
|
import { MCPToolCaches } from '../optimizations/ToolCache.js';
|
|
22
21
|
import { validateId, validateTimestamp, validateSessionId, validateTaskString, validateNumericRange, validateArrayLength, validateBoolean, validateEnum, ValidationError, handleSecurityError, } from '../security/input-validation.js';
|
|
22
|
+
import * as path from 'path';
|
|
23
23
|
import * as fs from 'fs';
|
|
24
|
+
import { fileURLToPath } from 'url';
|
|
25
|
+
import { dirname } from 'path';
|
|
26
|
+
import { buildMcpToolPolicy, filterMcpTools, isMcpToolAllowed, } from '../security/mcp-policy.js';
|
|
27
|
+
// ES module equivalent of __dirname
|
|
28
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
29
|
+
const __dirname = dirname(__filename);
|
|
30
|
+
const toolPolicy = buildMcpToolPolicy();
|
|
31
|
+
// stdout belongs exclusively to JSON-RPC when running over stdio. Route every
|
|
32
|
+
// transitive diagnostic (including legacy controller console.log calls) to
|
|
33
|
+
// stderr before database and embedding initialization begins.
|
|
34
|
+
console.log = (...args) => console.error(...args);
|
|
24
35
|
// ============================================================================
|
|
25
36
|
// Helper Functions for Core Vector DB Operations
|
|
26
37
|
// ============================================================================
|
|
@@ -154,19 +165,19 @@ function initializeSchema(database) {
|
|
|
154
165
|
/**
|
|
155
166
|
* Serialize embedding to BLOB
|
|
156
167
|
*/
|
|
157
|
-
function
|
|
168
|
+
function serializeEmbedding(embedding) {
|
|
158
169
|
return Buffer.from(embedding.buffer);
|
|
159
170
|
}
|
|
160
171
|
/**
|
|
161
172
|
* Deserialize embedding from BLOB
|
|
162
173
|
*/
|
|
163
|
-
function
|
|
174
|
+
function deserializeEmbedding(blob) {
|
|
164
175
|
return new Float32Array(blob.buffer, blob.byteOffset, blob.byteLength / 4);
|
|
165
176
|
}
|
|
166
177
|
/**
|
|
167
178
|
* Calculate cosine similarity between two vectors
|
|
168
179
|
*/
|
|
169
|
-
function
|
|
180
|
+
function cosineSimilarity(a, b) {
|
|
170
181
|
if (a.length !== b.length) {
|
|
171
182
|
throw new Error('Vectors must have same length');
|
|
172
183
|
}
|
|
@@ -180,39 +191,51 @@ function _cosineSimilarity(a, b) {
|
|
|
180
191
|
}
|
|
181
192
|
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
182
193
|
}
|
|
183
|
-
// Keep references to suppress unused warnings (functions may be needed later)
|
|
184
|
-
void _serializeEmbedding;
|
|
185
|
-
void _deserializeEmbedding;
|
|
186
|
-
void _cosineSimilarity;
|
|
187
194
|
// ============================================================================
|
|
188
|
-
// Initialize Database and Controllers
|
|
195
|
+
// Initialize Database and Controllers
|
|
189
196
|
// ============================================================================
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
197
|
+
const dbPath = process.env.AGENTDB_PATH || './agentdb.db';
|
|
198
|
+
const db = await createDatabase(dbPath);
|
|
199
|
+
// Configure for performance
|
|
200
|
+
db.pragma('journal_mode = WAL');
|
|
201
|
+
db.pragma('synchronous = NORMAL');
|
|
202
|
+
db.pragma('cache_size = -64000');
|
|
203
|
+
// Initialize schema automatically on server start using SQL files
|
|
204
|
+
const schemaPath = path.join(__dirname, '../schemas/schema.sql');
|
|
205
|
+
const frontierSchemaPath = path.join(__dirname, '../schemas/frontier-schema.sql');
|
|
206
|
+
try {
|
|
207
|
+
if (fs.existsSync(schemaPath)) {
|
|
208
|
+
const schemaSQL = fs.readFileSync(schemaPath, 'utf-8');
|
|
209
|
+
db.exec(schemaSQL);
|
|
210
|
+
console.error('✅ Main schema loaded');
|
|
211
|
+
}
|
|
212
|
+
if (fs.existsSync(frontierSchemaPath)) {
|
|
213
|
+
const frontierSQL = fs.readFileSync(frontierSchemaPath, 'utf-8');
|
|
214
|
+
db.exec(frontierSQL);
|
|
215
|
+
console.error('✅ Frontier schema loaded');
|
|
216
|
+
}
|
|
217
|
+
console.error('✅ Database schema initialized');
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
console.error('⚠️ Schema initialization failed, using fallback:', error.message);
|
|
221
|
+
// Fallback to initializeSchema function if SQL files not found
|
|
222
|
+
initializeSchema(db);
|
|
223
|
+
}
|
|
224
|
+
// Initialize embedding service
|
|
201
225
|
const embeddingService = new EmbeddingService({
|
|
202
226
|
model: 'Xenova/all-MiniLM-L6-v2',
|
|
203
227
|
dimension: 384,
|
|
204
228
|
provider: 'transformers'
|
|
205
229
|
});
|
|
206
230
|
await embeddingService.initialize();
|
|
207
|
-
// Initialize all controllers
|
|
231
|
+
// Initialize all controllers
|
|
208
232
|
const causalGraph = new CausalMemoryGraph(db);
|
|
209
233
|
const reflexion = new ReflexionMemory(db, embeddingService);
|
|
210
234
|
const skills = new SkillLibrary(db, embeddingService);
|
|
211
235
|
const causalRecall = new CausalRecall(db, embeddingService);
|
|
212
236
|
const learner = new NightlyLearner(db, embeddingService);
|
|
213
237
|
const learningSystem = new LearningSystem(db, embeddingService);
|
|
214
|
-
|
|
215
|
-
const _batchOps = new BatchOperations(db, embeddingService);
|
|
238
|
+
const batchOps = new BatchOperations(db, embeddingService);
|
|
216
239
|
const reasoningBank = new ReasoningBank(db, embeddingService);
|
|
217
240
|
const caches = new MCPToolCaches();
|
|
218
241
|
// ============================================================================
|
|
@@ -220,7 +243,7 @@ const caches = new MCPToolCaches();
|
|
|
220
243
|
// ============================================================================
|
|
221
244
|
const server = new Server({
|
|
222
245
|
name: 'agentdb',
|
|
223
|
-
version: '3.0
|
|
246
|
+
version: '1.3.0',
|
|
224
247
|
}, {
|
|
225
248
|
capabilities: {
|
|
226
249
|
tools: {},
|
|
@@ -239,7 +262,7 @@ const tools = [
|
|
|
239
262
|
inputSchema: {
|
|
240
263
|
type: 'object',
|
|
241
264
|
properties: {
|
|
242
|
-
db_path: { type: 'string', description: 'Database file path (optional, defaults to ./agentdb.
|
|
265
|
+
db_path: { type: 'string', description: 'Database file path (optional, defaults to ./agentdb.db)', default: './agentdb.db' },
|
|
243
266
|
reset: { type: 'boolean', description: 'Reset database (delete existing)', default: false },
|
|
244
267
|
},
|
|
245
268
|
},
|
|
@@ -812,86 +835,57 @@ const tools = [
|
|
|
812
835
|
required: ['patterns'],
|
|
813
836
|
},
|
|
814
837
|
},
|
|
815
|
-
|
|
816
|
-
//
|
|
817
|
-
//
|
|
818
|
-
// ============================================================================
|
|
819
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
820
|
-
let solverInstance = null;
|
|
821
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
822
|
-
async function getSolver() {
|
|
823
|
-
if (solverInstance)
|
|
824
|
-
return solverInstance;
|
|
825
|
-
try {
|
|
826
|
-
const { AgentDBSolver } = await import('../backends/rvf/RvfSolver.js');
|
|
827
|
-
if (await AgentDBSolver.isAvailable()) {
|
|
828
|
-
solverInstance = await AgentDBSolver.create();
|
|
829
|
-
return solverInstance;
|
|
830
|
-
}
|
|
831
|
-
}
|
|
832
|
-
catch { /* skip */ }
|
|
833
|
-
return null;
|
|
834
|
-
}
|
|
835
|
-
// Register solver tools at startup if WASM is available
|
|
836
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
837
|
-
const solverTools = [
|
|
838
|
+
// ==========================================================================
|
|
839
|
+
// ADR-073 — SOTA roadmap additions (causal traversal · batch delete · on-demand consolidation)
|
|
840
|
+
// ==========================================================================
|
|
838
841
|
{
|
|
839
|
-
name: '
|
|
840
|
-
description: '
|
|
842
|
+
name: 'causal_traverse',
|
|
843
|
+
description: 'Walk the causal graph between two memories. Returns the chain of causal links (with confidence and uplift) up to max_depth hops. Use this to answer "WHY does this memory matter?" / "what chain of causes led here?" — the primary explainability surface beyond a single recall. Wraps CausalMemoryGraph.getCausalChain().',
|
|
841
844
|
inputSchema: {
|
|
842
845
|
type: 'object',
|
|
843
846
|
properties: {
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
seed: { type: 'number', description: 'RNG seed for reproducibility' },
|
|
847
|
+
from_memory_id: { type: 'number', description: 'Starting memory id (the cause / earlier node)' },
|
|
848
|
+
to_memory_id: { type: 'number', description: 'Ending memory id (the effect / target node)' },
|
|
849
|
+
max_depth: { type: 'number', description: 'Maximum hops along the causal chain', default: 5, minimum: 1, maximum: 20 },
|
|
848
850
|
},
|
|
851
|
+
required: ['from_memory_id', 'to_memory_id'],
|
|
849
852
|
},
|
|
850
853
|
},
|
|
851
854
|
{
|
|
852
|
-
name: '
|
|
853
|
-
description: '
|
|
855
|
+
name: 'agentdb_delete_batch',
|
|
856
|
+
description: 'Delete many episode/pattern rows by ID list in a single transaction. Faster and safer than looping `agentdb_delete` (one transaction, validated IDs, atomic). Use for bulk cleanup of old sessions / failed experiments.',
|
|
854
857
|
inputSchema: {
|
|
855
858
|
type: 'object',
|
|
856
859
|
properties: {
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
training_per_cycle: { type: 'number', description: 'Training puzzles per cycle' },
|
|
860
|
-
step_budget: { type: 'number', description: 'Max steps per solve' },
|
|
861
|
-
seed: { type: 'number', description: 'RNG seed for reproducibility' },
|
|
860
|
+
ids: { type: 'array', items: { type: 'number' }, description: 'Episode IDs to delete (1–1000 per call)', minItems: 1, maxItems: 1000 },
|
|
861
|
+
table: { type: 'string', enum: ['episodes', 'reasoning_patterns'], default: 'episodes', description: 'Target table (whitelist-validated)' },
|
|
862
862
|
},
|
|
863
|
+
required: ['ids'],
|
|
863
864
|
},
|
|
864
865
|
},
|
|
865
866
|
{
|
|
866
|
-
name: '
|
|
867
|
-
description: '
|
|
868
|
-
inputSchema: {
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
867
|
+
name: 'consolidate_now',
|
|
868
|
+
description: 'Run the NightlyLearner consolidation pass on demand — discovers new causal edges, prunes low-confidence edges, and promotes high-reward episodes into skills. Use after a batch of new episodes or when you want consolidated memories available immediately (instead of waiting for a scheduled run). Returns a summary report.',
|
|
869
|
+
inputSchema: {
|
|
870
|
+
type: 'object',
|
|
871
|
+
properties: {
|
|
872
|
+
session_id: { type: 'string', description: 'Optional: limit consolidation to this session' },
|
|
873
|
+
},
|
|
874
|
+
},
|
|
874
875
|
},
|
|
875
876
|
];
|
|
876
|
-
(async () => {
|
|
877
|
-
try {
|
|
878
|
-
const { AgentDBSolver } = await import('../backends/rvf/RvfSolver.js');
|
|
879
|
-
if (await AgentDBSolver.isAvailable()) {
|
|
880
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
881
|
-
tools.push(...solverTools);
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
catch { /* solver not available — tools not registered */ }
|
|
885
|
-
})();
|
|
886
877
|
// ============================================================================
|
|
887
878
|
// Tool Handlers
|
|
888
879
|
// ============================================================================
|
|
889
880
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
890
|
-
return { tools };
|
|
881
|
+
return { tools: filterMcpTools(tools, toolPolicy) };
|
|
891
882
|
});
|
|
892
883
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
893
884
|
const { name, arguments: args } = request.params;
|
|
894
885
|
try {
|
|
886
|
+
if (!isMcpToolAllowed(name, toolPolicy)) {
|
|
887
|
+
throw new Error(`MCP tool "${name}" is not permitted by the active AgentDB capability policy`);
|
|
888
|
+
}
|
|
895
889
|
switch (name) {
|
|
896
890
|
// ======================================================================
|
|
897
891
|
// CORE VECTOR DB OPERATIONS
|
|
@@ -910,7 +904,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
910
904
|
type: 'text',
|
|
911
905
|
text: `✅ AgentDB initialized successfully!\n` +
|
|
912
906
|
`📍 Database: ${targetDbPath}\n` +
|
|
913
|
-
`📊 Tables created: ${stats
|
|
907
|
+
`📊 Tables created: ${stats.count}\n` +
|
|
914
908
|
`⚙️ Optimizations: WAL mode, cache_size=64MB\n` +
|
|
915
909
|
`🧠 Embedding service: ${embeddingService.constructor.name} ready`,
|
|
916
910
|
},
|
|
@@ -1247,12 +1241,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1247
1241
|
}
|
|
1248
1242
|
case 'db_stats': {
|
|
1249
1243
|
const stats = {
|
|
1250
|
-
causal_edges:
|
|
1251
|
-
causal_experiments:
|
|
1252
|
-
causal_observations:
|
|
1253
|
-
episodes:
|
|
1254
|
-
episode_embeddings:
|
|
1255
|
-
skills:
|
|
1244
|
+
causal_edges: db.prepare('SELECT COUNT(*) as count FROM causal_edges').get()?.count || 0,
|
|
1245
|
+
causal_experiments: db.prepare('SELECT COUNT(*) as count FROM causal_experiments').get()?.count || 0,
|
|
1246
|
+
causal_observations: db.prepare('SELECT COUNT(*) as count FROM causal_observations').get()?.count || 0,
|
|
1247
|
+
episodes: db.prepare('SELECT COUNT(*) as count FROM episodes').get()?.count || 0,
|
|
1248
|
+
episode_embeddings: db.prepare('SELECT COUNT(*) as count FROM episode_embeddings').get()?.count || 0,
|
|
1249
|
+
skills: db.prepare('SELECT COUNT(*) as count FROM skills').get()?.count || 0,
|
|
1256
1250
|
};
|
|
1257
1251
|
return {
|
|
1258
1252
|
content: [
|
|
@@ -1290,7 +1284,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1290
1284
|
// Helper to safely query table count
|
|
1291
1285
|
const safeCount = (tableName) => {
|
|
1292
1286
|
try {
|
|
1293
|
-
return
|
|
1287
|
+
return db.prepare(`SELECT COUNT(*) as count FROM ${tableName}`).get()?.count || 0;
|
|
1294
1288
|
}
|
|
1295
1289
|
catch {
|
|
1296
1290
|
return 0; // Table doesn't exist
|
|
@@ -1327,7 +1321,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1327
1321
|
SELECT page_count * page_size as total_bytes
|
|
1328
1322
|
FROM pragma_page_count(), pragma_page_size()
|
|
1329
1323
|
`).get();
|
|
1330
|
-
const totalMB = (
|
|
1324
|
+
const totalMB = (dbStats.total_bytes / (1024 * 1024)).toFixed(2);
|
|
1331
1325
|
// Add recent activity stats
|
|
1332
1326
|
const recentActivity = db.prepare(`
|
|
1333
1327
|
SELECT COUNT(*) as count
|
|
@@ -1336,7 +1330,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1336
1330
|
`).get();
|
|
1337
1331
|
output += `\n📦 Storage:\n` +
|
|
1338
1332
|
` Database Size: ${totalMB} MB\n` +
|
|
1339
|
-
` Recent Activity (7d): ${recentActivity
|
|
1333
|
+
` Recent Activity (7d): ${recentActivity.count} episodes\n`;
|
|
1340
1334
|
}
|
|
1341
1335
|
// Cache the result (60s TTL)
|
|
1342
1336
|
caches.stats.set(cacheKey, output);
|
|
@@ -1489,7 +1483,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1489
1483
|
const batchSize = args?.batch_size ? validateNumericRange(args.batch_size, 'batch_size', 1, 100) : 32;
|
|
1490
1484
|
const format = args?.format ? validateEnum(args.format, 'format', ['concise', 'detailed', 'json']) : 'concise';
|
|
1491
1485
|
// Validate each skill
|
|
1492
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1493
1486
|
const validatedSkills = skillsArray.map((skill, index) => {
|
|
1494
1487
|
const name = validateTaskString(skill.name, `skills[${index}].name`);
|
|
1495
1488
|
const description = validateTaskString(skill.description, `skills[${index}].description`);
|
|
@@ -1592,7 +1585,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1592
1585
|
const batchSize = args?.batch_size ? validateNumericRange(args.batch_size, 'batch_size', 1, 1000) : 100;
|
|
1593
1586
|
const format = args?.format ? validateEnum(args.format, 'format', ['concise', 'detailed', 'json']) : 'concise';
|
|
1594
1587
|
// Validate each episode
|
|
1595
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1596
1588
|
const validatedEpisodes = episodesArray.map((ep, index) => {
|
|
1597
1589
|
const sessionId = validateSessionId(ep.session_id);
|
|
1598
1590
|
const task = validateTaskString(ep.task, `episodes[${index}].task`);
|
|
@@ -1695,7 +1687,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1695
1687
|
const batchSize = args?.batch_size ? validateNumericRange(args.batch_size, 'batch_size', 1, 500) : 50;
|
|
1696
1688
|
const format = args?.format ? validateEnum(args.format, 'format', ['concise', 'detailed', 'json']) : 'concise';
|
|
1697
1689
|
// Validate each pattern
|
|
1698
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1699
1690
|
const validatedPatterns = patternsArray.map((pattern, index) => {
|
|
1700
1691
|
const taskType = validateTaskString(pattern.taskType, `patterns[${index}].taskType`);
|
|
1701
1692
|
const approach = validateTaskString(pattern.approach, `patterns[${index}].approach`);
|
|
@@ -1889,7 +1880,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1889
1880
|
const epochs = args?.epochs || 50;
|
|
1890
1881
|
const batchSize = args?.batch_size || 32;
|
|
1891
1882
|
const learningRate = args?.learning_rate || 0.01;
|
|
1892
|
-
console.
|
|
1883
|
+
console.log(`🎓 Training session ${sessionId}...`);
|
|
1893
1884
|
const result = await learningSystem.train(sessionId, epochs, batchSize, learningRate);
|
|
1894
1885
|
return {
|
|
1895
1886
|
content: [
|
|
@@ -1969,7 +1960,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1969
1960
|
const sourceTask = args?.source_task;
|
|
1970
1961
|
const targetTask = args?.target_task;
|
|
1971
1962
|
const minSimilarity = args?.min_similarity || 0.7;
|
|
1972
|
-
const transferType =
|
|
1963
|
+
const transferType = args?.transfer_type || 'all';
|
|
1973
1964
|
const maxTransfers = args?.max_transfers || 10;
|
|
1974
1965
|
const result = await learningSystem.transferLearning({
|
|
1975
1966
|
sourceSession,
|
|
@@ -2003,7 +1994,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2003
1994
|
case 'learning_explain': {
|
|
2004
1995
|
const query = args?.query;
|
|
2005
1996
|
const k = args?.k || 5;
|
|
2006
|
-
const explainDepth =
|
|
1997
|
+
const explainDepth = args?.explain_depth || 'detailed';
|
|
2007
1998
|
const includeConfidence = args?.include_confidence !== false;
|
|
2008
1999
|
const includeEvidence = args?.include_evidence !== false;
|
|
2009
2000
|
const includeCausal = args?.include_causal !== false;
|
|
@@ -2034,7 +2025,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2034
2025
|
` • Avg Similarity: ${(explanation.reasoning.avgSimilarity * 100).toFixed(1)}%\n` +
|
|
2035
2026
|
` • Unique Actions Considered: ${explanation.reasoning.uniqueActions}` : '') +
|
|
2036
2027
|
(includeCausal && explanation.causalChains && explanation.causalChains.length > 0 ? `\n\n🔗 Causal Reasoning Chains:\n` +
|
|
2037
|
-
explanation.causalChains.slice(0, 3).map((chain, i) => ` ${i + 1}. ${chain.
|
|
2028
|
+
explanation.causalChains.slice(0, 3).map((chain, i) => ` ${i + 1}. ${chain.fromMemoryType} → ${chain.toMemoryType} (uplift: ${(chain.uplift || 0).toFixed(3)})`).join('\n') : ''),
|
|
2038
2029
|
},
|
|
2039
2030
|
],
|
|
2040
2031
|
};
|
|
@@ -2089,7 +2080,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2089
2080
|
const timeTakenMs = args?.time_taken_ms;
|
|
2090
2081
|
const expectedTimeMs = args?.expected_time_ms;
|
|
2091
2082
|
const includeCausal = args?.include_causal !== false;
|
|
2092
|
-
const rewardFunction =
|
|
2083
|
+
const rewardFunction = args?.reward_function || 'standard';
|
|
2093
2084
|
const reward = learningSystem.calculateReward({
|
|
2094
2085
|
episodeId,
|
|
2095
2086
|
success,
|
|
@@ -2121,69 +2112,64 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2121
2112
|
};
|
|
2122
2113
|
}
|
|
2123
2114
|
// ======================================================================
|
|
2124
|
-
//
|
|
2115
|
+
// ADR-073 — SOTA roadmap handlers
|
|
2125
2116
|
// ======================================================================
|
|
2126
|
-
case '
|
|
2127
|
-
const
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
const
|
|
2131
|
-
const
|
|
2132
|
-
const maxDifficulty = validateNumericRange(args?.max_difficulty ?? 10, 'max_difficulty', 1, 10);
|
|
2133
|
-
const result = solver.train({ count, minDifficulty, maxDifficulty, seed: args?.seed });
|
|
2117
|
+
case 'causal_traverse': {
|
|
2118
|
+
const fromId = args?.from_memory_id;
|
|
2119
|
+
const toId = args?.to_memory_id;
|
|
2120
|
+
const maxDepth = args?.max_depth || 5;
|
|
2121
|
+
const chain = await causalGraph.getCausalChain(fromId, toId, maxDepth);
|
|
2122
|
+
const found = chain && Array.isArray(chain.edges) ? chain.edges.length > 0 : false;
|
|
2134
2123
|
return {
|
|
2135
2124
|
content: [{
|
|
2136
2125
|
type: 'text',
|
|
2137
|
-
text:
|
|
2126
|
+
text: found
|
|
2127
|
+
? `🔗 Causal chain ${fromId} → ${toId} (max ${maxDepth} hops):\n${JSON.stringify(chain, null, 2)}`
|
|
2128
|
+
: `❌ No causal chain found between memory #${fromId} and #${toId} within ${maxDepth} hops.`,
|
|
2138
2129
|
}],
|
|
2139
2130
|
};
|
|
2140
2131
|
}
|
|
2141
|
-
case '
|
|
2142
|
-
const
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2132
|
+
case 'agentdb_delete_batch': {
|
|
2133
|
+
const ids = args?.ids || [];
|
|
2134
|
+
const requestedTable = args?.table || 'episodes';
|
|
2135
|
+
const allowedTables = new Set(['episodes', 'reasoning_patterns']);
|
|
2136
|
+
if (!allowedTables.has(requestedTable)) {
|
|
2137
|
+
throw new Error(`Invalid table: ${requestedTable}`);
|
|
2138
|
+
}
|
|
2139
|
+
if (ids.length === 0) {
|
|
2140
|
+
return { content: [{ type: 'text', text: '⚠️ No IDs supplied — nothing to delete.' }] };
|
|
2141
|
+
}
|
|
2142
|
+
// Validate each id is a positive integer (defense in depth)
|
|
2143
|
+
const safeIds = ids.map((raw) => {
|
|
2144
|
+
const n = Number(raw);
|
|
2145
|
+
if (!Number.isInteger(n) || n <= 0)
|
|
2146
|
+
throw new Error(`Invalid id: ${raw}`);
|
|
2147
|
+
return n;
|
|
2151
2148
|
});
|
|
2149
|
+
const placeholders = safeIds.map(() => '?').join(',');
|
|
2150
|
+
// requestedTable is whitelist-checked above; parameterising values via ?.
|
|
2151
|
+
const stmt = db.prepare(`DELETE FROM ${requestedTable} WHERE id IN (${placeholders})`);
|
|
2152
|
+
const result = stmt.run(...safeIds);
|
|
2152
2153
|
return {
|
|
2153
2154
|
content: [{
|
|
2154
2155
|
type: 'text',
|
|
2155
|
-
text:
|
|
2156
|
+
text: `🗑️ Batch delete from \`${requestedTable}\`: ${result.changes}/${safeIds.length} rows removed (atomic).`,
|
|
2156
2157
|
}],
|
|
2157
2158
|
};
|
|
2158
2159
|
}
|
|
2159
|
-
case '
|
|
2160
|
-
const
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
const
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
text: policy ? JSON.stringify(policy, null, 2) : 'No policy state available (no training yet).',
|
|
2168
|
-
}],
|
|
2169
|
-
};
|
|
2170
|
-
}
|
|
2171
|
-
case 'solver_witness': {
|
|
2172
|
-
const solver = await getSolver();
|
|
2173
|
-
if (!solver)
|
|
2174
|
-
throw new Error('RVF Solver not available. Install @ruvector/rvf-solver.');
|
|
2175
|
-
const chain = solver.witnessChain();
|
|
2176
|
-
if (!chain || chain.length === 0) {
|
|
2177
|
-
return { content: [{ type: 'text', text: JSON.stringify({ entries: 0, bytes: 0, hex: '' }) }] };
|
|
2178
|
-
}
|
|
2179
|
-
const entries = Math.floor(chain.length / 73);
|
|
2180
|
-
const slice = new Uint8Array(chain.buffer, chain.byteOffset, Math.min(chain.length, 73 * 3));
|
|
2181
|
-
const hex = Array.from(slice)
|
|
2182
|
-
.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
2160
|
+
case 'consolidate_now': {
|
|
2161
|
+
const sessionId = args?.session_id;
|
|
2162
|
+
const t0 = Date.now();
|
|
2163
|
+
// Prefer the session-scoped path when sessionId is given.
|
|
2164
|
+
const report = sessionId
|
|
2165
|
+
? await learner.consolidateEpisodes(sessionId)
|
|
2166
|
+
: await learner.run();
|
|
2167
|
+
const ms = Date.now() - t0;
|
|
2183
2168
|
return {
|
|
2184
2169
|
content: [{
|
|
2185
2170
|
type: 'text',
|
|
2186
|
-
text:
|
|
2171
|
+
text: `🌙 Consolidation complete${sessionId ? ` (session=${sessionId})` : ''} in ${ms}ms\n` +
|
|
2172
|
+
JSON.stringify(report, null, 2),
|
|
2187
2173
|
}],
|
|
2188
2174
|
};
|
|
2189
2175
|
}
|
|
@@ -2196,7 +2182,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2196
2182
|
content: [
|
|
2197
2183
|
{
|
|
2198
2184
|
type: 'text',
|
|
2199
|
-
text: `❌ Error: ${error.message}`,
|
|
2185
|
+
text: `❌ Error: ${error.message}\n${error.stack || ''}`,
|
|
2200
2186
|
},
|
|
2201
2187
|
],
|
|
2202
2188
|
isError: true,
|
|
@@ -2209,8 +2195,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2209
2195
|
async function main() {
|
|
2210
2196
|
const transport = new StdioServerTransport();
|
|
2211
2197
|
await server.connect(transport);
|
|
2212
|
-
console.error('🚀 AgentDB MCP Server
|
|
2213
|
-
console.error('📦
|
|
2198
|
+
console.error('🚀 AgentDB MCP Server v2.0.0 running on stdio');
|
|
2199
|
+
console.error('📦 32 tools available (5 core + 9 frontier + 10 learning + 5 AgentDB + 3 batch ops)');
|
|
2214
2200
|
console.error('🧠 Embedding service initialized');
|
|
2215
2201
|
console.error('🎓 Learning system ready (9 RL algorithms)');
|
|
2216
2202
|
console.error('⚡ NEW v2.0: Batch operations (3-4x faster), format parameters, enhanced validation');
|
|
@@ -2223,10 +2209,12 @@ async function main() {
|
|
|
2223
2209
|
// Empty interval just to keep event loop alive
|
|
2224
2210
|
}, 1000 * 60 * 60); // Every hour (basically forever)
|
|
2225
2211
|
// Periodic auto-save: Save database every 5 minutes to prevent data loss
|
|
2226
|
-
const autoSaveInterval = setInterval(
|
|
2212
|
+
const autoSaveInterval = setInterval(() => {
|
|
2227
2213
|
try {
|
|
2228
|
-
|
|
2229
|
-
|
|
2214
|
+
if (db && typeof db.save === 'function') {
|
|
2215
|
+
db.save();
|
|
2216
|
+
console.error('💾 Auto-saved database to', dbPath);
|
|
2217
|
+
}
|
|
2230
2218
|
}
|
|
2231
2219
|
catch (error) {
|
|
2232
2220
|
console.error('❌ Auto-save failed:', error.message);
|
|
@@ -2238,18 +2226,33 @@ async function main() {
|
|
|
2238
2226
|
// Clear intervals
|
|
2239
2227
|
clearInterval(keepAlive);
|
|
2240
2228
|
clearInterval(autoSaveInterval);
|
|
2241
|
-
|
|
2229
|
+
let persistenceFailed = false;
|
|
2230
|
+
// Save database before exit
|
|
2231
|
+
try {
|
|
2232
|
+
if (db && typeof db.save === 'function') {
|
|
2233
|
+
console.error('💾 Saving database to', dbPath);
|
|
2234
|
+
await db.save();
|
|
2235
|
+
console.error('✅ Database saved successfully');
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
catch (error) {
|
|
2239
|
+
persistenceFailed = true;
|
|
2240
|
+
console.error('❌ Error saving database:', error.message);
|
|
2241
|
+
}
|
|
2242
|
+
// Close database connection. close() persists sql.js itself, so only call
|
|
2243
|
+
// it after save when save succeeded; a failed optimistic save must not be
|
|
2244
|
+
// retried against the same stale snapshot.
|
|
2242
2245
|
try {
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
console.error('✅ Database connection closed');
|
|
2246
|
+
if (!persistenceFailed && db && typeof db.close === 'function') {
|
|
2247
|
+
db.close();
|
|
2248
|
+
console.error('✅ Database connection closed');
|
|
2249
|
+
}
|
|
2248
2250
|
}
|
|
2249
2251
|
catch (error) {
|
|
2250
|
-
|
|
2252
|
+
persistenceFailed = true;
|
|
2253
|
+
console.error('❌ Error closing database:', error.message);
|
|
2251
2254
|
}
|
|
2252
|
-
process.exit(0);
|
|
2255
|
+
process.exit(persistenceFailed ? 1 : 0);
|
|
2253
2256
|
};
|
|
2254
2257
|
process.on('SIGINT', shutdown);
|
|
2255
2258
|
process.on('SIGTERM', shutdown);
|