agentdb 1.6.0 → 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1098 -350
- package/dist/agentdb-advanced.js +2110 -0
- package/dist/agentdb-advanced.min.js +1 -0
- package/dist/agentdb.min.js +4 -4
- package/dist/backends/GraphBackend.d.ts +196 -0
- package/dist/backends/GraphBackend.d.ts.map +1 -0
- package/dist/backends/GraphBackend.js +33 -0
- package/dist/backends/GraphBackend.js.map +1 -0
- package/dist/backends/LearningBackend.d.ts +148 -0
- package/dist/backends/LearningBackend.d.ts.map +1 -0
- package/dist/backends/LearningBackend.js +27 -0
- package/dist/backends/LearningBackend.js.map +1 -0
- package/dist/backends/VectorBackend.d.ts +119 -0
- package/dist/backends/VectorBackend.d.ts.map +1 -0
- package/dist/backends/VectorBackend.js +14 -0
- package/dist/backends/VectorBackend.js.map +1 -0
- package/dist/backends/detector.d.ts +81 -0
- package/dist/backends/detector.d.ts.map +1 -0
- package/dist/backends/detector.js +192 -0
- package/dist/backends/detector.js.map +1 -0
- package/dist/backends/factory.d.ts +50 -0
- package/dist/backends/factory.d.ts.map +1 -0
- package/dist/backends/factory.js +161 -0
- package/dist/backends/factory.js.map +1 -0
- package/dist/backends/graph/GraphDatabaseAdapter.d.ts +139 -0
- package/dist/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -0
- package/dist/backends/graph/GraphDatabaseAdapter.js +194 -0
- package/dist/backends/graph/GraphDatabaseAdapter.js.map +1 -0
- package/dist/backends/hnswlib/HNSWLibBackend.d.ts +92 -0
- package/dist/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -0
- package/dist/backends/hnswlib/HNSWLibBackend.js +316 -0
- package/dist/backends/hnswlib/HNSWLibBackend.js.map +1 -0
- package/dist/backends/hnswlib/index.d.ts +7 -0
- package/dist/backends/hnswlib/index.d.ts.map +1 -0
- package/dist/backends/hnswlib/index.js +7 -0
- package/dist/backends/hnswlib/index.js.map +1 -0
- package/dist/backends/index.d.ts +14 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +13 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/ruvector/RuVectorBackend.d.ts +75 -0
- package/dist/backends/ruvector/RuVectorBackend.d.ts.map +1 -0
- package/dist/backends/ruvector/RuVectorBackend.js +198 -0
- package/dist/backends/ruvector/RuVectorBackend.js.map +1 -0
- package/dist/backends/ruvector/RuVectorLearning.d.ts +104 -0
- package/dist/backends/ruvector/RuVectorLearning.d.ts.map +1 -0
- package/dist/backends/ruvector/RuVectorLearning.js +177 -0
- package/dist/backends/ruvector/RuVectorLearning.js.map +1 -0
- package/dist/backends/ruvector/index.d.ts +9 -0
- package/dist/backends/ruvector/index.d.ts.map +1 -0
- package/dist/backends/ruvector/index.js +8 -0
- package/dist/backends/ruvector/index.js.map +1 -0
- package/dist/browser/AdvancedFeatures.d.ts +144 -0
- package/dist/browser/AdvancedFeatures.d.ts.map +1 -0
- package/dist/browser/AdvancedFeatures.js +430 -0
- package/dist/browser/AdvancedFeatures.js.map +1 -0
- package/dist/browser/HNSWIndex.d.ts +117 -0
- package/dist/browser/HNSWIndex.d.ts.map +1 -0
- package/dist/browser/HNSWIndex.js +402 -0
- package/dist/browser/HNSWIndex.js.map +1 -0
- package/dist/browser/ProductQuantization.d.ts +107 -0
- package/dist/browser/ProductQuantization.d.ts.map +1 -0
- package/dist/browser/ProductQuantization.js +337 -0
- package/dist/browser/ProductQuantization.js.map +1 -0
- package/dist/browser/browser/AdvancedFeatures.d.ts +144 -0
- package/dist/browser/browser/AdvancedFeatures.d.ts.map +1 -0
- package/dist/browser/browser/AdvancedFeatures.js +427 -0
- package/dist/browser/browser/HNSWIndex.d.ts +117 -0
- package/dist/browser/browser/HNSWIndex.d.ts.map +1 -0
- package/dist/browser/browser/HNSWIndex.js +402 -0
- package/dist/browser/browser/ProductQuantization.d.ts +107 -0
- package/dist/browser/browser/ProductQuantization.d.ts.map +1 -0
- package/dist/browser/browser/ProductQuantization.js +348 -0
- package/dist/browser/browser/index.d.ts +223 -0
- package/dist/browser/browser/index.d.ts.map +1 -0
- package/dist/browser/browser/index.js +233 -0
- package/dist/browser/index.d.ts +223 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +225 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/cli/agentdb-cli.d.ts.map +1 -1
- package/dist/cli/agentdb-cli.js +130 -8
- package/dist/cli/agentdb-cli.js.map +1 -1
- package/dist/cli/agentdb.db +0 -0
- package/dist/cli/commands/init.d.ts +12 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +115 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install-embeddings.d.ts +10 -0
- package/dist/cli/commands/install-embeddings.d.ts.map +1 -0
- package/dist/cli/commands/install-embeddings.js +68 -0
- package/dist/cli/commands/install-embeddings.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +15 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +425 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/status.d.ts +10 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +129 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/controllers/CausalRecall.d.ts +3 -1
- package/dist/controllers/CausalRecall.d.ts.map +1 -1
- package/dist/controllers/CausalRecall.js +35 -4
- package/dist/controllers/CausalRecall.js.map +1 -1
- package/dist/controllers/ExplainableRecall.d.ts +24 -0
- package/dist/controllers/ExplainableRecall.d.ts.map +1 -1
- package/dist/controllers/ExplainableRecall.js +102 -5
- package/dist/controllers/ExplainableRecall.js.map +1 -1
- package/dist/controllers/HNSWIndex.d.ts +128 -0
- package/dist/controllers/HNSWIndex.d.ts.map +1 -0
- package/dist/controllers/HNSWIndex.js +361 -0
- package/dist/controllers/HNSWIndex.js.map +1 -0
- package/dist/controllers/NightlyLearner.d.ts.map +1 -1
- package/dist/controllers/NightlyLearner.js +7 -4
- package/dist/controllers/NightlyLearner.js.map +1 -1
- package/dist/controllers/ReasoningBank.d.ts +101 -2
- package/dist/controllers/ReasoningBank.d.ts.map +1 -1
- package/dist/controllers/ReasoningBank.js +196 -4
- package/dist/controllers/ReasoningBank.js.map +1 -1
- package/dist/controllers/ReflexionMemory.d.ts +41 -1
- package/dist/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/controllers/ReflexionMemory.js +282 -5
- package/dist/controllers/ReflexionMemory.js.map +1 -1
- package/dist/controllers/SkillLibrary.d.ts +27 -9
- package/dist/controllers/SkillLibrary.d.ts.map +1 -1
- package/dist/controllers/SkillLibrary.js +136 -47
- package/dist/controllers/SkillLibrary.js.map +1 -1
- package/dist/controllers/index.d.ts +2 -0
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +1 -0
- package/dist/controllers/index.js.map +1 -1
- package/dist/db-fallback.d.ts.map +1 -1
- package/dist/db-fallback.js +100 -29
- package/dist/db-fallback.js.map +1 -1
- package/dist/db-test.d.ts +13 -0
- package/dist/db-test.d.ts.map +1 -0
- package/dist/db-test.js +55 -0
- package/dist/db-test.js.map +1 -0
- package/dist/db-unified.d.ts +76 -0
- package/dist/db-unified.d.ts.map +1 -0
- package/dist/db-unified.js +278 -0
- package/dist/db-unified.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/malp/core/ccc.d.ts +99 -0
- package/dist/malp/core/ccc.d.ts.map +1 -0
- package/dist/malp/core/ccc.js +181 -0
- package/dist/malp/core/ccc.js.map +1 -0
- package/dist/malp/core/index.d.ts +9 -0
- package/dist/malp/core/index.d.ts.map +1 -0
- package/dist/malp/core/index.js +9 -0
- package/dist/malp/core/index.js.map +1 -0
- package/dist/malp/core/linalg.d.ts +101 -0
- package/dist/malp/core/linalg.d.ts.map +1 -0
- package/dist/malp/core/linalg.js +278 -0
- package/dist/malp/core/linalg.js.map +1 -0
- package/dist/malp/core/optimizer.d.ts +68 -0
- package/dist/malp/core/optimizer.d.ts.map +1 -0
- package/dist/malp/core/optimizer.js +160 -0
- package/dist/malp/core/optimizer.js.map +1 -0
- package/dist/malp/index.d.ts +33 -0
- package/dist/malp/index.d.ts.map +1 -0
- package/dist/malp/index.js +37 -0
- package/dist/malp/index.js.map +1 -0
- package/dist/malp/metrics/agreement.d.ts +106 -0
- package/dist/malp/metrics/agreement.d.ts.map +1 -0
- package/dist/malp/metrics/agreement.js +199 -0
- package/dist/malp/metrics/agreement.js.map +1 -0
- package/dist/malp/metrics/comparison.d.ts +93 -0
- package/dist/malp/metrics/comparison.d.ts.map +1 -0
- package/dist/malp/metrics/comparison.js +256 -0
- package/dist/malp/metrics/comparison.js.map +1 -0
- package/dist/malp/metrics/index.d.ts +8 -0
- package/dist/malp/metrics/index.d.ts.map +1 -0
- package/dist/malp/metrics/index.js +8 -0
- package/dist/malp/metrics/index.js.map +1 -0
- package/dist/malp/metrics/performance.d.ts +61 -0
- package/dist/malp/metrics/performance.d.ts.map +1 -0
- package/dist/malp/metrics/performance.js +190 -0
- package/dist/malp/metrics/performance.js.map +1 -0
- package/dist/malp/models/index.d.ts +7 -0
- package/dist/malp/models/index.d.ts.map +1 -0
- package/dist/malp/models/index.js +7 -0
- package/dist/malp/models/index.js.map +1 -0
- package/dist/malp/models/malp.d.ts +116 -0
- package/dist/malp/models/malp.d.ts.map +1 -0
- package/dist/malp/models/malp.js +206 -0
- package/dist/malp/models/malp.js.map +1 -0
- package/dist/malp/models/regressor.d.ts +80 -0
- package/dist/malp/models/regressor.d.ts.map +1 -0
- package/dist/malp/models/regressor.js +229 -0
- package/dist/malp/models/regressor.js.map +1 -0
- package/dist/malp/reasoningbank_validator.d.ts +187 -0
- package/dist/malp/reasoningbank_validator.d.ts.map +1 -0
- package/dist/malp/reasoningbank_validator.js +246 -0
- package/dist/malp/reasoningbank_validator.js.map +1 -0
- package/dist/malp/wasm_bindings.d.ts +344 -0
- package/dist/malp/wasm_bindings.d.ts.map +1 -0
- package/dist/malp/wasm_bindings.js +9 -0
- package/dist/malp/wasm_bindings.js.map +1 -0
- package/dist/mcp/agentdb-mcp-server.js +512 -33
- package/dist/mcp/agentdb-mcp-server.js.map +1 -1
- package/dist/optimizations/BatchOperations.d.ts +42 -0
- package/dist/optimizations/BatchOperations.d.ts.map +1 -1
- package/dist/optimizations/BatchOperations.js +181 -0
- package/dist/optimizations/BatchOperations.js.map +1 -1
- package/dist/optimizations/ToolCache.d.ts +137 -0
- package/dist/optimizations/ToolCache.d.ts.map +1 -0
- package/dist/optimizations/ToolCache.js +281 -0
- package/dist/optimizations/ToolCache.js.map +1 -0
- package/dist/security/input-validation.d.ts +24 -0
- package/dist/security/input-validation.d.ts.map +1 -1
- package/dist/security/input-validation.js +106 -0
- package/dist/security/input-validation.js.map +1 -1
- package/dist/security/limits.d.ts +150 -0
- package/dist/security/limits.d.ts.map +1 -0
- package/dist/security/limits.js +288 -0
- package/dist/security/limits.js.map +1 -0
- package/dist/security/path-security.d.ts +100 -0
- package/dist/security/path-security.d.ts.map +1 -0
- package/dist/security/path-security.js +337 -0
- package/dist/security/path-security.js.map +1 -0
- package/dist/security/validation.d.ts +95 -0
- package/dist/security/validation.d.ts.map +1 -0
- package/dist/security/validation.js +315 -0
- package/dist/security/validation.js.map +1 -0
- 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 +196 -0
- package/dist/src/backends/GraphBackend.d.ts.map +1 -0
- package/dist/src/backends/GraphBackend.js +33 -0
- package/dist/src/backends/GraphBackend.js.map +1 -0
- package/dist/src/backends/LearningBackend.d.ts +148 -0
- package/dist/src/backends/LearningBackend.d.ts.map +1 -0
- package/dist/src/backends/LearningBackend.js +27 -0
- package/dist/src/backends/LearningBackend.js.map +1 -0
- package/dist/src/backends/VectorBackend.d.ts +119 -0
- package/dist/src/backends/VectorBackend.d.ts.map +1 -0
- package/dist/src/backends/VectorBackend.js +14 -0
- package/dist/src/backends/VectorBackend.js.map +1 -0
- package/dist/src/backends/detector.d.ts +81 -0
- package/dist/src/backends/detector.d.ts.map +1 -0
- package/dist/src/backends/detector.js +192 -0
- package/dist/src/backends/detector.js.map +1 -0
- package/dist/src/backends/factory.d.ts +50 -0
- package/dist/src/backends/factory.d.ts.map +1 -0
- package/dist/src/backends/factory.js +161 -0
- package/dist/src/backends/factory.js.map +1 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +151 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.js +224 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -0
- package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +92 -0
- package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -0
- package/dist/src/backends/hnswlib/HNSWLibBackend.js +316 -0
- package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -0
- package/dist/src/backends/hnswlib/index.d.ts +7 -0
- package/dist/src/backends/hnswlib/index.d.ts.map +1 -0
- package/dist/src/backends/hnswlib/index.js +7 -0
- package/dist/src/backends/hnswlib/index.js.map +1 -0
- package/dist/src/backends/index.d.ts +14 -0
- package/dist/src/backends/index.d.ts.map +1 -0
- package/dist/src/backends/index.js +13 -0
- package/dist/src/backends/index.js.map +1 -0
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts +75 -0
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -0
- package/dist/src/backends/ruvector/RuVectorBackend.js +198 -0
- package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -0
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts +104 -0
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -0
- package/dist/src/backends/ruvector/RuVectorLearning.js +177 -0
- package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -0
- package/dist/src/backends/ruvector/index.d.ts +9 -0
- package/dist/src/backends/ruvector/index.d.ts.map +1 -0
- package/dist/src/backends/ruvector/index.js +8 -0
- package/dist/src/backends/ruvector/index.js.map +1 -0
- 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 +144 -0
- package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -0
- package/dist/src/browser/AdvancedFeatures.js +430 -0
- package/dist/src/browser/AdvancedFeatures.js.map +1 -0
- package/dist/src/browser/HNSWIndex.d.ts +117 -0
- package/dist/src/browser/HNSWIndex.d.ts.map +1 -0
- package/dist/src/browser/HNSWIndex.js +402 -0
- package/dist/src/browser/HNSWIndex.js.map +1 -0
- package/dist/src/browser/ProductQuantization.d.ts +107 -0
- package/dist/src/browser/ProductQuantization.d.ts.map +1 -0
- package/dist/src/browser/ProductQuantization.js +337 -0
- package/dist/src/browser/ProductQuantization.js.map +1 -0
- package/dist/src/browser/index.d.ts +223 -0
- package/dist/src/browser/index.d.ts.map +1 -0
- package/dist/src/browser/index.js +225 -0
- package/dist/src/browser/index.js.map +1 -0
- package/dist/src/cli/agentdb-cli.d.ts +154 -0
- package/dist/src/cli/agentdb-cli.d.ts.map +1 -0
- package/dist/src/cli/agentdb-cli.js +2273 -0
- package/dist/src/cli/agentdb-cli.js.map +1 -0
- package/dist/src/cli/commands/init.d.ts +12 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -0
- package/dist/src/cli/commands/init.js +115 -0
- package/dist/src/cli/commands/init.js.map +1 -0
- package/dist/src/cli/commands/install-embeddings.d.ts +10 -0
- package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -0
- package/dist/src/cli/commands/install-embeddings.js +68 -0
- package/dist/src/cli/commands/install-embeddings.js.map +1 -0
- package/dist/src/cli/commands/migrate.d.ts +15 -0
- package/dist/src/cli/commands/migrate.d.ts.map +1 -0
- package/dist/src/cli/commands/migrate.js +425 -0
- package/dist/src/cli/commands/migrate.js.map +1 -0
- package/dist/src/cli/commands/simulate-custom.d.ts +26 -0
- package/dist/src/cli/commands/simulate-custom.d.ts.map +1 -0
- package/dist/src/cli/commands/simulate-custom.js +207 -0
- package/dist/src/cli/commands/simulate-custom.js.map +1 -0
- package/dist/src/cli/commands/simulate-report.d.ts +15 -0
- package/dist/src/cli/commands/simulate-report.d.ts.map +1 -0
- package/dist/src/cli/commands/simulate-report.js +136 -0
- package/dist/src/cli/commands/simulate-report.js.map +1 -0
- package/dist/src/cli/commands/simulate-wizard.d.ts +6 -0
- package/dist/src/cli/commands/simulate-wizard.d.ts.map +1 -0
- package/dist/src/cli/commands/simulate-wizard.js +352 -0
- package/dist/src/cli/commands/simulate-wizard.js.map +1 -0
- 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.d.ts +10 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +129 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- 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 +43 -0
- package/dist/src/cli/lib/config-validator.d.ts.map +1 -0
- package/dist/src/cli/lib/config-validator.js +217 -0
- package/dist/src/cli/lib/config-validator.js.map +1 -0
- 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/help-formatter.d.ts +38 -0
- package/dist/src/cli/lib/help-formatter.d.ts.map +1 -0
- package/dist/src/cli/lib/help-formatter.js +357 -0
- package/dist/src/cli/lib/help-formatter.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 +346 -0
- package/dist/src/cli/lib/history-tracker.js.map +1 -0
- package/dist/src/cli/lib/report-generator.d.ts +24 -0
- package/dist/src/cli/lib/report-generator.d.ts.map +1 -0
- package/dist/src/cli/lib/report-generator.js +417 -0
- package/dist/src/cli/lib/report-generator.js.map +1 -0
- package/dist/src/cli/lib/report-store.d.ts +116 -0
- package/dist/src/cli/lib/report-store.d.ts.map +1 -0
- package/dist/src/cli/lib/report-store.js +464 -0
- package/dist/src/cli/lib/report-store.js.map +1 -0
- package/dist/src/cli/lib/simulation-registry.d.ts +165 -0
- package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -0
- package/dist/src/cli/lib/simulation-registry.js +332 -0
- package/dist/src/cli/lib/simulation-registry.js.map +1 -0
- package/dist/src/cli/lib/simulation-runner.d.ts +90 -0
- package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -0
- package/dist/src/cli/lib/simulation-runner.js +211 -0
- package/dist/src/cli/lib/simulation-runner.js.map +1 -0
- package/dist/src/controllers/CausalMemoryGraph.d.ts +127 -0
- package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -0
- package/dist/src/controllers/CausalMemoryGraph.js +354 -0
- package/dist/src/controllers/CausalMemoryGraph.js.map +1 -0
- package/dist/src/controllers/CausalRecall.d.ts +139 -0
- package/dist/src/controllers/CausalRecall.d.ts.map +1 -0
- package/dist/src/controllers/CausalRecall.js +356 -0
- package/dist/src/controllers/CausalRecall.js.map +1 -0
- package/dist/src/controllers/ContextSynthesizer.d.ts +65 -0
- package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -0
- package/dist/src/controllers/ContextSynthesizer.js +208 -0
- package/dist/src/controllers/ContextSynthesizer.js.map +1 -0
- package/dist/src/controllers/EmbeddingService.d.ts +37 -0
- package/dist/src/controllers/EmbeddingService.d.ts.map +1 -0
- package/dist/src/controllers/EmbeddingService.js +136 -0
- package/dist/src/controllers/EmbeddingService.js.map +1 -0
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts +50 -0
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -0
- package/dist/src/controllers/EnhancedEmbeddingService.js +119 -0
- package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -0
- package/dist/src/controllers/ExplainableRecall.d.ts +163 -0
- package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -0
- package/dist/src/controllers/ExplainableRecall.js +485 -0
- package/dist/src/controllers/ExplainableRecall.js.map +1 -0
- package/dist/src/controllers/HNSWIndex.d.ts +128 -0
- package/dist/src/controllers/HNSWIndex.d.ts.map +1 -0
- package/dist/src/controllers/HNSWIndex.js +361 -0
- package/dist/src/controllers/HNSWIndex.js.map +1 -0
- package/dist/src/controllers/LearningSystem.d.ts +195 -0
- package/dist/src/controllers/LearningSystem.d.ts.map +1 -0
- package/dist/src/controllers/LearningSystem.js +929 -0
- package/dist/src/controllers/LearningSystem.js.map +1 -0
- package/dist/src/controllers/MMRDiversityRanker.d.ts +50 -0
- package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -0
- package/dist/src/controllers/MMRDiversityRanker.js +130 -0
- package/dist/src/controllers/MMRDiversityRanker.js.map +1 -0
- package/dist/src/controllers/MetadataFilter.d.ts +70 -0
- package/dist/src/controllers/MetadataFilter.d.ts.map +1 -0
- package/dist/src/controllers/MetadataFilter.js +243 -0
- package/dist/src/controllers/MetadataFilter.js.map +1 -0
- package/dist/src/controllers/NightlyLearner.d.ts +114 -0
- package/dist/src/controllers/NightlyLearner.d.ts.map +1 -0
- package/dist/src/controllers/NightlyLearner.js +394 -0
- package/dist/src/controllers/NightlyLearner.js.map +1 -0
- package/dist/src/controllers/QUICClient.d.ts +109 -0
- package/dist/src/controllers/QUICClient.d.ts.map +1 -0
- package/dist/src/controllers/QUICClient.js +299 -0
- package/dist/src/controllers/QUICClient.js.map +1 -0
- package/dist/src/controllers/QUICServer.d.ts +121 -0
- package/dist/src/controllers/QUICServer.d.ts.map +1 -0
- package/dist/src/controllers/QUICServer.js +383 -0
- package/dist/src/controllers/QUICServer.js.map +1 -0
- package/dist/src/controllers/ReasoningBank.d.ts +196 -0
- package/dist/src/controllers/ReasoningBank.d.ts.map +1 -0
- package/dist/src/controllers/ReasoningBank.js +494 -0
- package/dist/src/controllers/ReasoningBank.js.map +1 -0
- package/dist/src/controllers/ReflexionMemory.d.ts +125 -0
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -0
- package/dist/src/controllers/ReflexionMemory.js +654 -0
- package/dist/src/controllers/ReflexionMemory.js.map +1 -0
- package/dist/src/controllers/SkillLibrary.d.ts +150 -0
- package/dist/src/controllers/SkillLibrary.d.ts.map +1 -0
- package/dist/src/controllers/SkillLibrary.js +608 -0
- package/dist/src/controllers/SkillLibrary.js.map +1 -0
- package/dist/src/controllers/SyncCoordinator.d.ts +120 -0
- package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -0
- package/dist/src/controllers/SyncCoordinator.js +441 -0
- package/dist/src/controllers/SyncCoordinator.js.map +1 -0
- package/dist/src/controllers/WASMVectorSearch.d.ts +89 -0
- package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -0
- package/dist/src/controllers/WASMVectorSearch.js +234 -0
- package/dist/src/controllers/WASMVectorSearch.js.map +1 -0
- 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 +30 -0
- package/dist/src/controllers/index.d.ts.map +1 -0
- package/dist/src/controllers/index.js +18 -0
- package/dist/src/controllers/index.js.map +1 -0
- package/dist/src/db-fallback.d.ts +26 -0
- package/dist/src/db-fallback.d.ts.map +1 -0
- package/dist/src/db-fallback.js +264 -0
- package/dist/src/db-fallback.js.map +1 -0
- 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 +28 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +35 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/agentdb-mcp-server.d.ts +8 -0
- package/dist/src/mcp/agentdb-mcp-server.d.ts.map +1 -0
- package/dist/src/mcp/agentdb-mcp-server.js +2116 -0
- package/dist/src/mcp/agentdb-mcp-server.js.map +1 -0
- 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 +109 -0
- package/dist/src/optimizations/BatchOperations.d.ts.map +1 -0
- package/dist/src/optimizations/BatchOperations.js +407 -0
- package/dist/src/optimizations/BatchOperations.js.map +1 -0
- package/dist/src/optimizations/QueryOptimizer.d.ts +83 -0
- package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -0
- package/dist/src/optimizations/QueryOptimizer.js +228 -0
- package/dist/src/optimizations/QueryOptimizer.js.map +1 -0
- package/dist/src/optimizations/ToolCache.d.ts +137 -0
- package/dist/src/optimizations/ToolCache.d.ts.map +1 -0
- package/dist/src/optimizations/ToolCache.js +281 -0
- package/dist/src/optimizations/ToolCache.js.map +1 -0
- package/dist/src/optimizations/index.d.ts +10 -0
- package/dist/src/optimizations/index.d.ts.map +1 -0
- package/dist/src/optimizations/index.js +8 -0
- package/dist/src/optimizations/index.js.map +1 -0
- package/dist/src/security/input-validation.d.ts +109 -0
- package/dist/src/security/input-validation.d.ts.map +1 -0
- package/dist/src/security/input-validation.js +398 -0
- package/dist/src/security/input-validation.js.map +1 -0
- 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/LLMRouter.d.ts +84 -0
- package/dist/src/services/LLMRouter.d.ts.map +1 -0
- package/dist/src/services/LLMRouter.js +329 -0
- package/dist/src/services/LLMRouter.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/NodeIdMapper.d.ts +38 -0
- package/dist/src/utils/NodeIdMapper.d.ts.map +1 -0
- package/dist/src/utils/NodeIdMapper.js +57 -0
- package/dist/src/utils/NodeIdMapper.js.map +1 -0
- package/package.json +15 -3
- package/scripts/README.md +314 -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 +145 -0
- package/src/backends/detector.ts +283 -0
- package/src/backends/factory.ts +193 -0
- package/src/backends/graph/GraphDatabaseAdapter.ts +334 -0
- package/src/backends/hnswlib/HNSWLibBackend.ts +413 -0
- package/src/backends/hnswlib/index.ts +7 -0
- package/src/backends/index.ts +32 -0
- package/src/backends/ruvector/RuVectorBackend.ts +232 -0
- package/src/backends/ruvector/RuVectorLearning.ts +242 -0
- package/src/backends/ruvector/index.ts +9 -0
- package/src/backends/ruvector/types.d.ts +64 -0
- package/src/browser/AdvancedFeatures.ts +565 -0
- package/src/browser/HNSWIndex.ts +494 -0
- package/src/browser/ProductQuantization.ts +419 -0
- package/src/browser/index.ts +301 -0
- package/src/cli/agentdb-cli.ts +131 -8
- package/src/cli/commands/init.ts +148 -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/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 +497 -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 +502 -0
- package/src/cli/lib/simulation-runner.ts +291 -0
- package/src/cli/tests/agentdb-cli.test.ts +58 -0
- package/src/controllers/CausalMemoryGraph.ts +42 -2
- package/src/controllers/CausalRecall.ts +41 -4
- package/src/controllers/ExplainableRecall.ts +123 -5
- package/src/controllers/HNSWIndex.ts +495 -0
- package/src/controllers/NightlyLearner.ts +8 -4
- package/src/controllers/ReasoningBank.ts +268 -5
- package/src/controllers/ReflexionMemory.ts +531 -6
- package/src/controllers/SkillLibrary.ts +234 -60
- package/src/controllers/index.ts +2 -0
- package/src/db-fallback.ts +103 -35
- package/src/db-test.ts +59 -0
- package/src/db-unified.ts +327 -0
- package/src/index.ts +2 -1
- package/src/mcp/agentdb-mcp-server.ts +544 -38
- package/src/optimizations/BatchOperations.ts +270 -0
- package/src/optimizations/ToolCache.ts +355 -0
- package/src/security/input-validation.ts +166 -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/LLMRouter.ts +406 -0
- package/src/types/xenova-transformers.d.ts +26 -0
- package/src/utils/NodeIdMapper.ts +64 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MALP Regressor - Maximum Agreement Linear Program
|
|
3
|
+
*
|
|
4
|
+
* Linear regression that maximizes concordance correlation coefficient
|
|
5
|
+
* instead of minimizing squared error.
|
|
6
|
+
*/
|
|
7
|
+
import { calculateCCC } from '../core/ccc';
|
|
8
|
+
import { MALPOptimizer } from '../core/optimizer';
|
|
9
|
+
export const DEFAULT_MALP_CONFIG = {
|
|
10
|
+
learningRate: 0.01,
|
|
11
|
+
maxIterations: 1000,
|
|
12
|
+
tolerance: 1e-6,
|
|
13
|
+
momentum: 0.9,
|
|
14
|
+
adaptive: true,
|
|
15
|
+
verbose: false,
|
|
16
|
+
fitIntercept: true,
|
|
17
|
+
normalize: false,
|
|
18
|
+
regularization: 0.0
|
|
19
|
+
};
|
|
20
|
+
export class MALPRegressor {
|
|
21
|
+
weights = [];
|
|
22
|
+
intercept = 0;
|
|
23
|
+
optimizer;
|
|
24
|
+
config;
|
|
25
|
+
xMean = [];
|
|
26
|
+
xStd = [];
|
|
27
|
+
fitted = false;
|
|
28
|
+
constructor(config = {}) {
|
|
29
|
+
this.config = {
|
|
30
|
+
learningRate: config.learningRate ?? 0.01,
|
|
31
|
+
maxIterations: config.maxIterations ?? 1000,
|
|
32
|
+
tolerance: config.tolerance ?? 1e-6,
|
|
33
|
+
momentum: config.momentum ?? 0.9,
|
|
34
|
+
adaptive: config.adaptive ?? true,
|
|
35
|
+
verbose: config.verbose ?? false,
|
|
36
|
+
fitIntercept: config.fitIntercept ?? true,
|
|
37
|
+
normalize: config.normalize ?? false,
|
|
38
|
+
regularization: config.regularization ?? 0.0
|
|
39
|
+
};
|
|
40
|
+
this.optimizer = new MALPOptimizer({
|
|
41
|
+
learningRate: this.config.learningRate,
|
|
42
|
+
maxIterations: this.config.maxIterations,
|
|
43
|
+
tolerance: this.config.tolerance,
|
|
44
|
+
momentum: this.config.momentum,
|
|
45
|
+
adaptive: this.config.adaptive,
|
|
46
|
+
verbose: this.config.verbose
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Fit MALP regressor to training data
|
|
51
|
+
* @param X Feature matrix (n_samples × n_features)
|
|
52
|
+
* @param y Target values (n_samples)
|
|
53
|
+
*/
|
|
54
|
+
fit(X, y) {
|
|
55
|
+
if (X.length !== y.length) {
|
|
56
|
+
throw new Error(`Sample size mismatch: X has ${X.length}, y has ${y.length}`);
|
|
57
|
+
}
|
|
58
|
+
if (X.length === 0) {
|
|
59
|
+
throw new Error('Cannot fit with empty dataset');
|
|
60
|
+
}
|
|
61
|
+
// Normalize features if requested
|
|
62
|
+
let XProcessed = X;
|
|
63
|
+
if (this.config.normalize) {
|
|
64
|
+
const result = this.normalizeFeatures(X);
|
|
65
|
+
XProcessed = result.normalized;
|
|
66
|
+
this.xMean = result.mean;
|
|
67
|
+
this.xStd = result.std;
|
|
68
|
+
}
|
|
69
|
+
// Add intercept column if requested
|
|
70
|
+
if (this.config.fitIntercept) {
|
|
71
|
+
XProcessed = XProcessed.map(row => [1, ...row]);
|
|
72
|
+
}
|
|
73
|
+
// Optimize weights to maximize CCC
|
|
74
|
+
const optimResult = this.optimizer.optimize(XProcessed, y);
|
|
75
|
+
// Extract weights and intercept
|
|
76
|
+
if (this.config.fitIntercept) {
|
|
77
|
+
this.intercept = optimResult.weights[0];
|
|
78
|
+
this.weights = optimResult.weights.slice(1);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.intercept = 0;
|
|
82
|
+
this.weights = optimResult.weights;
|
|
83
|
+
}
|
|
84
|
+
this.fitted = true;
|
|
85
|
+
// Compute final metrics
|
|
86
|
+
const yPred = this.predict(X);
|
|
87
|
+
const metrics = this.computeMetrics(y, yPred);
|
|
88
|
+
return {
|
|
89
|
+
weights: this.weights,
|
|
90
|
+
intercept: this.intercept,
|
|
91
|
+
ccc: optimResult.finalCCC,
|
|
92
|
+
r2: metrics.r2,
|
|
93
|
+
rmse: metrics.rmse,
|
|
94
|
+
mae: metrics.mae,
|
|
95
|
+
iterations: optimResult.iterations,
|
|
96
|
+
converged: optimResult.converged
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Predict target values for new data
|
|
101
|
+
* @param X Feature matrix (n_samples × n_features)
|
|
102
|
+
*/
|
|
103
|
+
predict(X) {
|
|
104
|
+
if (!this.fitted) {
|
|
105
|
+
throw new Error('Model must be fitted before prediction');
|
|
106
|
+
}
|
|
107
|
+
if (X[0].length !== this.weights.length) {
|
|
108
|
+
throw new Error(`Feature dimension mismatch: expected ${this.weights.length}, got ${X[0].length}`);
|
|
109
|
+
}
|
|
110
|
+
return X.map(row => {
|
|
111
|
+
let xProcessed = row;
|
|
112
|
+
// Apply normalization if used during training
|
|
113
|
+
if (this.config.normalize) {
|
|
114
|
+
xProcessed = row.map((val, j) => (val - this.xMean[j]) / this.xStd[j]);
|
|
115
|
+
}
|
|
116
|
+
// Compute prediction
|
|
117
|
+
const prediction = xProcessed.reduce((sum, val, j) => sum + val * this.weights[j], this.intercept);
|
|
118
|
+
return prediction;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Score the model on test data
|
|
123
|
+
* @param X Feature matrix
|
|
124
|
+
* @param y True target values
|
|
125
|
+
* @returns CCC score
|
|
126
|
+
*/
|
|
127
|
+
score(X, y) {
|
|
128
|
+
const yPred = this.predict(X);
|
|
129
|
+
const result = calculateCCC(yPred, y);
|
|
130
|
+
return result.ccc;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get model coefficients
|
|
134
|
+
*/
|
|
135
|
+
getCoefficients() {
|
|
136
|
+
if (!this.fitted) {
|
|
137
|
+
throw new Error('Model not fitted');
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
weights: [...this.weights],
|
|
141
|
+
intercept: this.intercept
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Normalize features (zero mean, unit variance)
|
|
146
|
+
*/
|
|
147
|
+
normalizeFeatures(X) {
|
|
148
|
+
const nFeatures = X[0].length;
|
|
149
|
+
const mean = Array(nFeatures).fill(0);
|
|
150
|
+
const std = Array(nFeatures).fill(0);
|
|
151
|
+
// Compute means
|
|
152
|
+
for (const row of X) {
|
|
153
|
+
for (let j = 0; j < nFeatures; j++) {
|
|
154
|
+
mean[j] += row[j];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
for (let j = 0; j < nFeatures; j++) {
|
|
158
|
+
mean[j] /= X.length;
|
|
159
|
+
}
|
|
160
|
+
// Compute standard deviations
|
|
161
|
+
for (const row of X) {
|
|
162
|
+
for (let j = 0; j < nFeatures; j++) {
|
|
163
|
+
std[j] += (row[j] - mean[j]) ** 2;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
for (let j = 0; j < nFeatures; j++) {
|
|
167
|
+
std[j] = Math.sqrt(std[j] / X.length);
|
|
168
|
+
if (std[j] === 0)
|
|
169
|
+
std[j] = 1; // Prevent division by zero
|
|
170
|
+
}
|
|
171
|
+
// Normalize
|
|
172
|
+
const normalized = X.map(row => row.map((val, j) => (val - mean[j]) / std[j]));
|
|
173
|
+
return { normalized, mean, std };
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Compute evaluation metrics
|
|
177
|
+
*/
|
|
178
|
+
computeMetrics(yTrue, yPred) {
|
|
179
|
+
const n = yTrue.length;
|
|
180
|
+
const yMean = yTrue.reduce((sum, val) => sum + val, 0) / n;
|
|
181
|
+
let ssRes = 0;
|
|
182
|
+
let ssTot = 0;
|
|
183
|
+
let sumAbsError = 0;
|
|
184
|
+
for (let i = 0; i < n; i++) {
|
|
185
|
+
const error = yTrue[i] - yPred[i];
|
|
186
|
+
ssRes += error * error;
|
|
187
|
+
ssTot += (yTrue[i] - yMean) ** 2;
|
|
188
|
+
sumAbsError += Math.abs(error);
|
|
189
|
+
}
|
|
190
|
+
const r2 = 1 - (ssRes / ssTot);
|
|
191
|
+
const rmse = Math.sqrt(ssRes / n);
|
|
192
|
+
const mae = sumAbsError / n;
|
|
193
|
+
return { r2, rmse, mae };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Cross-validation for MALP regressor
|
|
198
|
+
*/
|
|
199
|
+
export function crossValidateMALP(X, y, nFolds = 5, config = {}) {
|
|
200
|
+
const n = X.length;
|
|
201
|
+
const foldSize = Math.floor(n / nFolds);
|
|
202
|
+
const scores = [];
|
|
203
|
+
for (let fold = 0; fold < nFolds; fold++) {
|
|
204
|
+
const testStart = fold * foldSize;
|
|
205
|
+
const testEnd = fold === nFolds - 1 ? n : testStart + foldSize;
|
|
206
|
+
// Split data
|
|
207
|
+
const XTrain = [...X.slice(0, testStart), ...X.slice(testEnd)];
|
|
208
|
+
const yTrain = [...y.slice(0, testStart), ...y.slice(testEnd)];
|
|
209
|
+
const XTest = X.slice(testStart, testEnd);
|
|
210
|
+
const yTest = y.slice(testStart, testEnd);
|
|
211
|
+
// Fit and score
|
|
212
|
+
const model = new MALPRegressor(config);
|
|
213
|
+
model.fit(XTrain, yTrain);
|
|
214
|
+
const score = model.score(XTest, yTest);
|
|
215
|
+
scores.push(score);
|
|
216
|
+
}
|
|
217
|
+
const meanCCC = scores.reduce((sum, s) => sum + s, 0) / nFolds;
|
|
218
|
+
const variance = scores.reduce((sum, s) => sum + (s - meanCCC) ** 2, 0) / nFolds;
|
|
219
|
+
const stdCCC = Math.sqrt(variance);
|
|
220
|
+
return { meanCCC, stdCCC, foldScores: scores };
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Convenience function to fit a MALP model
|
|
224
|
+
*/
|
|
225
|
+
export function fitMALP(X, y, config = {}) {
|
|
226
|
+
const model = new MALPRegressor(config);
|
|
227
|
+
return model.fit(X, y);
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=regressor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regressor.js","sourceRoot":"","sources":["../../../src/malp/models/regressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MALP Pattern Validator for ReasoningBank
|
|
3
|
+
*
|
|
4
|
+
* TypeScript integration for concordance-based pattern quality assessment
|
|
5
|
+
* and automatic pruning of low-quality patterns.
|
|
6
|
+
*/
|
|
7
|
+
import type { Vector } from './core/linalg';
|
|
8
|
+
/**
|
|
9
|
+
* Agreement level classification based on CCC value
|
|
10
|
+
*/
|
|
11
|
+
export declare enum AgreementLevel {
|
|
12
|
+
Poor = "Poor",
|
|
13
|
+
Moderate = "Moderate",
|
|
14
|
+
Substantial = "Substantial",
|
|
15
|
+
AlmostPerfect = "AlmostPerfect"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Pattern quality metrics based on concordance
|
|
19
|
+
*/
|
|
20
|
+
export interface PatternQuality {
|
|
21
|
+
/** Concordance Correlation Coefficient (-1 to 1) */
|
|
22
|
+
ccc: number;
|
|
23
|
+
/** Number of observations used */
|
|
24
|
+
sampleSize: number;
|
|
25
|
+
/** Agreement level classification */
|
|
26
|
+
agreementLevel: AgreementLevel;
|
|
27
|
+
/** Timestamp of assessment */
|
|
28
|
+
assessedAt: number;
|
|
29
|
+
/** Additional quality metrics */
|
|
30
|
+
metrics: QualityMetrics;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Additional quality metrics for pattern validation
|
|
34
|
+
*/
|
|
35
|
+
export interface QualityMetrics {
|
|
36
|
+
/** Pearson correlation coefficient */
|
|
37
|
+
correlation: number;
|
|
38
|
+
/** Mean prediction error */
|
|
39
|
+
meanError: number;
|
|
40
|
+
/** Standard deviation of errors */
|
|
41
|
+
stdError: number;
|
|
42
|
+
/** Location shift component */
|
|
43
|
+
locationShift: number;
|
|
44
|
+
/** Scale shift component */
|
|
45
|
+
scaleShift: number;
|
|
46
|
+
/** Precision (correlation component) */
|
|
47
|
+
precision: number;
|
|
48
|
+
/** Accuracy (bias correction component) */
|
|
49
|
+
accuracy: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Pruning statistics from pattern bank optimization
|
|
53
|
+
*/
|
|
54
|
+
export interface PruningStats {
|
|
55
|
+
/** Total patterns evaluated */
|
|
56
|
+
totalEvaluated: number;
|
|
57
|
+
/** Number pruned (removed) */
|
|
58
|
+
prunedCount: number;
|
|
59
|
+
/** Number retained */
|
|
60
|
+
retainedCount: number;
|
|
61
|
+
/** Average CCC of retained patterns */
|
|
62
|
+
avgRetainedCcc: number;
|
|
63
|
+
/** Average CCC of pruned patterns */
|
|
64
|
+
avgPrunedCcc: number;
|
|
65
|
+
/** Threshold used for pruning */
|
|
66
|
+
threshold: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Cache statistics for quality assessments
|
|
70
|
+
*/
|
|
71
|
+
export interface CacheStats {
|
|
72
|
+
/** Total cached assessments */
|
|
73
|
+
totalCached: number;
|
|
74
|
+
/** Distribution by agreement level */
|
|
75
|
+
agreementDistribution: Record<AgreementLevel, number>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Pattern interface (minimal required fields)
|
|
79
|
+
*/
|
|
80
|
+
export interface Pattern {
|
|
81
|
+
id: string;
|
|
82
|
+
successScore?: number;
|
|
83
|
+
[key: string]: any;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Default minimum CCC threshold (0.90 = 90% agreement)
|
|
87
|
+
*/
|
|
88
|
+
export declare const DEFAULT_MIN_CCC = 0.9;
|
|
89
|
+
/**
|
|
90
|
+
* MALP Pattern Validator for ReasoningBank
|
|
91
|
+
*
|
|
92
|
+
* Provides concordance-based quality assessment and automatic pruning
|
|
93
|
+
* to maintain high-quality pattern banks.
|
|
94
|
+
*/
|
|
95
|
+
export declare class MALPPatternValidator {
|
|
96
|
+
private minCccThreshold;
|
|
97
|
+
private autoPrune;
|
|
98
|
+
private qualityCache;
|
|
99
|
+
/**
|
|
100
|
+
* Create a new MALP pattern validator
|
|
101
|
+
*
|
|
102
|
+
* @param minCccThreshold - Minimum CCC threshold (default: 0.90)
|
|
103
|
+
*/
|
|
104
|
+
constructor(minCccThreshold?: number);
|
|
105
|
+
/**
|
|
106
|
+
* Validate pattern utility using concordance correlation
|
|
107
|
+
*
|
|
108
|
+
* @param pattern - Pattern to validate
|
|
109
|
+
* @param observed - Observed/actual values
|
|
110
|
+
* @param predicted - Predicted values from pattern
|
|
111
|
+
* @returns Pattern quality assessment
|
|
112
|
+
*/
|
|
113
|
+
validatePatternUtility(pattern: Pattern, observed: Vector, predicted: Vector): PatternQuality;
|
|
114
|
+
/**
|
|
115
|
+
* Optimize pattern bank by pruning low-quality patterns
|
|
116
|
+
*
|
|
117
|
+
* @param patterns - Patterns to evaluate
|
|
118
|
+
* @returns Tuple of [retained patterns, pruning statistics]
|
|
119
|
+
*/
|
|
120
|
+
optimizePatternBank(patterns: Pattern[]): [Pattern[], PruningStats];
|
|
121
|
+
/**
|
|
122
|
+
* Get quality assessment for a specific pattern
|
|
123
|
+
*
|
|
124
|
+
* @param patternId - Pattern ID
|
|
125
|
+
* @returns Quality assessment if available
|
|
126
|
+
*/
|
|
127
|
+
getPatternQuality(patternId: string): PatternQuality | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Clear the quality cache
|
|
130
|
+
*/
|
|
131
|
+
clearCache(): void;
|
|
132
|
+
/**
|
|
133
|
+
* Get cache statistics
|
|
134
|
+
*
|
|
135
|
+
* @returns Statistics about cached quality assessments
|
|
136
|
+
*/
|
|
137
|
+
getCacheStats(): CacheStats;
|
|
138
|
+
/**
|
|
139
|
+
* Set minimum CCC threshold
|
|
140
|
+
*
|
|
141
|
+
* @param threshold - New threshold (0-1)
|
|
142
|
+
*/
|
|
143
|
+
setMinCccThreshold(threshold: number): void;
|
|
144
|
+
/**
|
|
145
|
+
* Get current minimum CCC threshold
|
|
146
|
+
*/
|
|
147
|
+
getMinCccThreshold(): number;
|
|
148
|
+
/**
|
|
149
|
+
* Enable or disable auto-pruning
|
|
150
|
+
*
|
|
151
|
+
* @param enabled - Whether to enable auto-pruning
|
|
152
|
+
*/
|
|
153
|
+
setAutoPrune(enabled: boolean): void;
|
|
154
|
+
/**
|
|
155
|
+
* Check if auto-pruning is enabled
|
|
156
|
+
*/
|
|
157
|
+
isAutoPruneEnabled(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Classify agreement level based on CCC value
|
|
160
|
+
*
|
|
161
|
+
* @param ccc - Concordance correlation coefficient
|
|
162
|
+
* @returns Agreement level classification
|
|
163
|
+
*/
|
|
164
|
+
private classifyAgreement;
|
|
165
|
+
/**
|
|
166
|
+
* Get human-readable interpretation of a CCC value
|
|
167
|
+
*
|
|
168
|
+
* @param ccc - Concordance correlation coefficient
|
|
169
|
+
* @returns Human-readable interpretation
|
|
170
|
+
*/
|
|
171
|
+
static interpretCCC(ccc: number): string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Create a default MALP validator instance
|
|
175
|
+
*/
|
|
176
|
+
export declare function createDefaultValidator(): MALPPatternValidator;
|
|
177
|
+
/**
|
|
178
|
+
* Utility function to validate a single pattern
|
|
179
|
+
*
|
|
180
|
+
* @param pattern - Pattern to validate
|
|
181
|
+
* @param observed - Observed values
|
|
182
|
+
* @param predicted - Predicted values
|
|
183
|
+
* @param threshold - Minimum CCC threshold (default: 0.90)
|
|
184
|
+
* @returns true if pattern meets quality threshold
|
|
185
|
+
*/
|
|
186
|
+
export declare function validatePattern(pattern: Pattern, observed: Vector, predicted: Vector, threshold?: number): boolean;
|
|
187
|
+
//# sourceMappingURL=reasoningbank_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoningbank_validator.d.ts","sourceRoot":"","sources":["../../src/malp/reasoningbank_validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MALP Pattern Validator for ReasoningBank
|
|
3
|
+
*
|
|
4
|
+
* TypeScript integration for concordance-based pattern quality assessment
|
|
5
|
+
* and automatic pruning of low-quality patterns.
|
|
6
|
+
*/
|
|
7
|
+
import { computeCCC, interpretCCC } from './core/ccc';
|
|
8
|
+
/**
|
|
9
|
+
* Agreement level classification based on CCC value
|
|
10
|
+
*/
|
|
11
|
+
export var AgreementLevel;
|
|
12
|
+
(function (AgreementLevel) {
|
|
13
|
+
AgreementLevel["Poor"] = "Poor";
|
|
14
|
+
AgreementLevel["Moderate"] = "Moderate";
|
|
15
|
+
AgreementLevel["Substantial"] = "Substantial";
|
|
16
|
+
AgreementLevel["AlmostPerfect"] = "AlmostPerfect";
|
|
17
|
+
})(AgreementLevel || (AgreementLevel = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Default minimum CCC threshold (0.90 = 90% agreement)
|
|
20
|
+
*/
|
|
21
|
+
export const DEFAULT_MIN_CCC = 0.90;
|
|
22
|
+
/**
|
|
23
|
+
* MALP Pattern Validator for ReasoningBank
|
|
24
|
+
*
|
|
25
|
+
* Provides concordance-based quality assessment and automatic pruning
|
|
26
|
+
* to maintain high-quality pattern banks.
|
|
27
|
+
*/
|
|
28
|
+
export class MALPPatternValidator {
|
|
29
|
+
minCccThreshold;
|
|
30
|
+
autoPrune;
|
|
31
|
+
qualityCache;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new MALP pattern validator
|
|
34
|
+
*
|
|
35
|
+
* @param minCccThreshold - Minimum CCC threshold (default: 0.90)
|
|
36
|
+
*/
|
|
37
|
+
constructor(minCccThreshold = DEFAULT_MIN_CCC) {
|
|
38
|
+
this.minCccThreshold = Math.max(0, Math.min(1, minCccThreshold));
|
|
39
|
+
this.autoPrune = true;
|
|
40
|
+
this.qualityCache = new Map();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate pattern utility using concordance correlation
|
|
44
|
+
*
|
|
45
|
+
* @param pattern - Pattern to validate
|
|
46
|
+
* @param observed - Observed/actual values
|
|
47
|
+
* @param predicted - Predicted values from pattern
|
|
48
|
+
* @returns Pattern quality assessment
|
|
49
|
+
*/
|
|
50
|
+
validatePatternUtility(pattern, observed, predicted) {
|
|
51
|
+
if (observed.length !== predicted.length) {
|
|
52
|
+
throw new Error(`Vector length mismatch: observed=${observed.length}, predicted=${predicted.length}`);
|
|
53
|
+
}
|
|
54
|
+
if (observed.length < 2) {
|
|
55
|
+
throw new Error('Need at least 2 samples to compute CCC');
|
|
56
|
+
}
|
|
57
|
+
// Compute concordance correlation coefficient
|
|
58
|
+
const { ccc, components } = computeCCC(observed, predicted);
|
|
59
|
+
// Classify agreement level
|
|
60
|
+
const agreementLevel = this.classifyAgreement(ccc);
|
|
61
|
+
// Create quality assessment
|
|
62
|
+
const quality = {
|
|
63
|
+
ccc,
|
|
64
|
+
sampleSize: observed.length,
|
|
65
|
+
agreementLevel,
|
|
66
|
+
assessedAt: Date.now(),
|
|
67
|
+
metrics: {
|
|
68
|
+
correlation: components.rho,
|
|
69
|
+
meanError: components.muX - components.muY,
|
|
70
|
+
stdError: Math.abs(components.sigmaX - components.sigmaY),
|
|
71
|
+
locationShift: components.locationShift,
|
|
72
|
+
scaleShift: components.scaleShift,
|
|
73
|
+
precision: components.precision,
|
|
74
|
+
accuracy: components.accuracy,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
// Cache the assessment
|
|
78
|
+
this.qualityCache.set(pattern.id, quality);
|
|
79
|
+
return quality;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Optimize pattern bank by pruning low-quality patterns
|
|
83
|
+
*
|
|
84
|
+
* @param patterns - Patterns to evaluate
|
|
85
|
+
* @returns Tuple of [retained patterns, pruning statistics]
|
|
86
|
+
*/
|
|
87
|
+
optimizePatternBank(patterns) {
|
|
88
|
+
const totalEvaluated = patterns.length;
|
|
89
|
+
const retained = [];
|
|
90
|
+
const prunedCccs = [];
|
|
91
|
+
const retainedCccs = [];
|
|
92
|
+
for (const pattern of patterns) {
|
|
93
|
+
const quality = this.qualityCache.get(pattern.id);
|
|
94
|
+
if (quality) {
|
|
95
|
+
// Use cached quality assessment
|
|
96
|
+
if (quality.ccc >= this.minCccThreshold) {
|
|
97
|
+
retainedCccs.push(quality.ccc);
|
|
98
|
+
retained.push(pattern);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
prunedCccs.push(quality.ccc);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// No quality data - use success_score as fallback
|
|
106
|
+
// This maintains backward compatibility with existing 93% confidence system
|
|
107
|
+
const successScore = pattern.successScore ?? 0;
|
|
108
|
+
if (successScore >= 0.93) {
|
|
109
|
+
// 93% success ≈ 0.90 CCC threshold
|
|
110
|
+
retainedCccs.push(successScore);
|
|
111
|
+
retained.push(pattern);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
prunedCccs.push(successScore);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const stats = {
|
|
119
|
+
totalEvaluated,
|
|
120
|
+
prunedCount: prunedCccs.length,
|
|
121
|
+
retainedCount: retained.length,
|
|
122
|
+
avgRetainedCcc: retainedCccs.length > 0
|
|
123
|
+
? retainedCccs.reduce((a, b) => a + b, 0) / retainedCccs.length
|
|
124
|
+
: 0,
|
|
125
|
+
avgPrunedCcc: prunedCccs.length > 0
|
|
126
|
+
? prunedCccs.reduce((a, b) => a + b, 0) / prunedCccs.length
|
|
127
|
+
: 0,
|
|
128
|
+
threshold: this.minCccThreshold,
|
|
129
|
+
};
|
|
130
|
+
return [retained, stats];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get quality assessment for a specific pattern
|
|
134
|
+
*
|
|
135
|
+
* @param patternId - Pattern ID
|
|
136
|
+
* @returns Quality assessment if available
|
|
137
|
+
*/
|
|
138
|
+
getPatternQuality(patternId) {
|
|
139
|
+
return this.qualityCache.get(patternId);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Clear the quality cache
|
|
143
|
+
*/
|
|
144
|
+
clearCache() {
|
|
145
|
+
this.qualityCache.clear();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Get cache statistics
|
|
149
|
+
*
|
|
150
|
+
* @returns Statistics about cached quality assessments
|
|
151
|
+
*/
|
|
152
|
+
getCacheStats() {
|
|
153
|
+
const distribution = {
|
|
154
|
+
[AgreementLevel.Poor]: 0,
|
|
155
|
+
[AgreementLevel.Moderate]: 0,
|
|
156
|
+
[AgreementLevel.Substantial]: 0,
|
|
157
|
+
[AgreementLevel.AlmostPerfect]: 0,
|
|
158
|
+
};
|
|
159
|
+
for (const quality of this.qualityCache.values()) {
|
|
160
|
+
distribution[quality.agreementLevel]++;
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
totalCached: this.qualityCache.size,
|
|
164
|
+
agreementDistribution: distribution,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Set minimum CCC threshold
|
|
169
|
+
*
|
|
170
|
+
* @param threshold - New threshold (0-1)
|
|
171
|
+
*/
|
|
172
|
+
setMinCccThreshold(threshold) {
|
|
173
|
+
this.minCccThreshold = Math.max(0, Math.min(1, threshold));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get current minimum CCC threshold
|
|
177
|
+
*/
|
|
178
|
+
getMinCccThreshold() {
|
|
179
|
+
return this.minCccThreshold;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Enable or disable auto-pruning
|
|
183
|
+
*
|
|
184
|
+
* @param enabled - Whether to enable auto-pruning
|
|
185
|
+
*/
|
|
186
|
+
setAutoPrune(enabled) {
|
|
187
|
+
this.autoPrune = enabled;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Check if auto-pruning is enabled
|
|
191
|
+
*/
|
|
192
|
+
isAutoPruneEnabled() {
|
|
193
|
+
return this.autoPrune;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Classify agreement level based on CCC value
|
|
197
|
+
*
|
|
198
|
+
* @param ccc - Concordance correlation coefficient
|
|
199
|
+
* @returns Agreement level classification
|
|
200
|
+
*/
|
|
201
|
+
classifyAgreement(ccc) {
|
|
202
|
+
const absCcc = Math.abs(ccc);
|
|
203
|
+
if (absCcc < 0.90) {
|
|
204
|
+
return AgreementLevel.Poor;
|
|
205
|
+
}
|
|
206
|
+
else if (absCcc < 0.95) {
|
|
207
|
+
return AgreementLevel.Moderate;
|
|
208
|
+
}
|
|
209
|
+
else if (absCcc < 0.99) {
|
|
210
|
+
return AgreementLevel.Substantial;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
return AgreementLevel.AlmostPerfect;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get human-readable interpretation of a CCC value
|
|
218
|
+
*
|
|
219
|
+
* @param ccc - Concordance correlation coefficient
|
|
220
|
+
* @returns Human-readable interpretation
|
|
221
|
+
*/
|
|
222
|
+
static interpretCCC(ccc) {
|
|
223
|
+
return interpretCCC(ccc);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Create a default MALP validator instance
|
|
228
|
+
*/
|
|
229
|
+
export function createDefaultValidator() {
|
|
230
|
+
return new MALPPatternValidator(DEFAULT_MIN_CCC);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Utility function to validate a single pattern
|
|
234
|
+
*
|
|
235
|
+
* @param pattern - Pattern to validate
|
|
236
|
+
* @param observed - Observed values
|
|
237
|
+
* @param predicted - Predicted values
|
|
238
|
+
* @param threshold - Minimum CCC threshold (default: 0.90)
|
|
239
|
+
* @returns true if pattern meets quality threshold
|
|
240
|
+
*/
|
|
241
|
+
export function validatePattern(pattern, observed, predicted, threshold = DEFAULT_MIN_CCC) {
|
|
242
|
+
const validator = new MALPPatternValidator(threshold);
|
|
243
|
+
const quality = validator.validatePatternUtility(pattern, observed, predicted);
|
|
244
|
+
return quality.ccc >= threshold;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=reasoningbank_validator.js.map
|