agentdb 3.0.0-alpha.9 → 3.1.0
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/LICENSE +21 -0
- package/README.md +248 -269
- package/dist/schemas/frontier-schema.sql +7 -0
- package/dist/schemas/schema.sql +7 -0
- package/dist/src/backends/ExactSearch.d.ts +22 -0
- package/dist/src/backends/ExactSearch.d.ts.map +1 -0
- package/dist/src/backends/ExactSearch.js +36 -0
- package/dist/src/backends/ExactSearch.js.map +1 -0
- package/dist/src/backends/VectorBackend.d.ts +80 -6
- package/dist/src/backends/VectorBackend.d.ts.map +1 -1
- package/dist/src/backends/VectorBackend.js +67 -1
- package/dist/src/backends/VectorBackend.js.map +1 -1
- package/dist/src/backends/detector.js.map +1 -1
- package/dist/src/backends/factory.d.ts +16 -33
- package/dist/src/backends/factory.d.ts.map +1 -1
- package/dist/src/backends/factory.js +140 -110
- package/dist/src/backends/factory.js.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -6
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.js +143 -6
- package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
- package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
- package/dist/src/backends/hnswlib/HNSWLibBackend.js +35 -8
- package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
- package/dist/src/backends/index.d.ts +2 -1
- package/dist/src/backends/index.d.ts.map +1 -1
- package/dist/src/backends/index.js +2 -0
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts +256 -45
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorBackend.js +764 -290
- package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts +0 -4
- package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorLearning.js +0 -6
- package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
- package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +175 -0
- package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +1 -0
- package/dist/src/backends/rvf/AdaptiveIndexTuner.js +567 -0
- package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +1 -0
- package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +148 -0
- package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +1 -0
- package/dist/src/backends/rvf/ContrastiveTrainer.js +438 -0
- package/dist/src/backends/rvf/ContrastiveTrainer.js.map +1 -0
- package/dist/src/backends/rvf/FederatedSessionManager.d.ts +212 -0
- package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +1 -0
- package/dist/src/backends/rvf/FederatedSessionManager.js +397 -0
- package/dist/src/backends/rvf/FederatedSessionManager.js.map +1 -0
- package/dist/src/backends/rvf/FilterBuilder.d.ts +136 -0
- package/dist/src/backends/rvf/FilterBuilder.d.ts.map +1 -0
- package/dist/src/backends/rvf/FilterBuilder.js +157 -0
- package/dist/src/backends/rvf/FilterBuilder.js.map +1 -0
- package/dist/src/backends/rvf/NativeAccelerator.d.ts +158 -0
- package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +1 -0
- package/dist/src/backends/rvf/NativeAccelerator.js +702 -0
- package/dist/src/backends/rvf/NativeAccelerator.js.map +1 -0
- package/dist/src/backends/rvf/RvfBackend.d.ts +207 -0
- package/dist/src/backends/rvf/RvfBackend.d.ts.map +1 -0
- package/dist/src/backends/rvf/RvfBackend.js +651 -0
- package/dist/src/backends/rvf/RvfBackend.js.map +1 -0
- package/dist/src/backends/rvf/RvfSolver.d.ts +175 -0
- package/dist/src/backends/rvf/RvfSolver.d.ts.map +1 -0
- package/dist/src/backends/rvf/RvfSolver.js +176 -0
- package/dist/src/backends/rvf/RvfSolver.js.map +1 -0
- package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +143 -0
- package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -0
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js +612 -0
- package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -0
- package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +128 -0
- package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +1 -0
- package/dist/src/backends/rvf/SemanticQueryRouter.js +415 -0
- package/dist/src/backends/rvf/SemanticQueryRouter.js.map +1 -0
- package/dist/src/backends/rvf/SimdFallbacks.d.ts +25 -0
- package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +1 -0
- package/dist/src/backends/rvf/SimdFallbacks.js +287 -0
- package/dist/src/backends/rvf/SimdFallbacks.js.map +1 -0
- package/dist/src/backends/rvf/SolverBandit.d.ts +100 -0
- package/dist/src/backends/rvf/SolverBandit.d.ts.map +1 -0
- package/dist/src/backends/rvf/SolverBandit.js +216 -0
- package/dist/src/backends/rvf/SolverBandit.js.map +1 -0
- package/dist/src/backends/rvf/SonaLearningBackend.d.ts +157 -0
- package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +1 -0
- package/dist/src/backends/rvf/SonaLearningBackend.js +283 -0
- package/dist/src/backends/rvf/SonaLearningBackend.js.map +1 -0
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +104 -0
- package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -0
- package/dist/src/backends/rvf/SqlJsRvfBackend.js +474 -0
- package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -0
- package/dist/src/backends/rvf/WasmStoreBridge.d.ts +27 -0
- package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +1 -0
- package/dist/src/backends/rvf/WasmStoreBridge.js +87 -0
- package/dist/src/backends/rvf/WasmStoreBridge.js.map +1 -0
- package/dist/src/backends/rvf/validation.d.ts +20 -0
- package/dist/src/backends/rvf/validation.d.ts.map +1 -0
- package/dist/src/backends/rvf/validation.js +78 -0
- package/dist/src/backends/rvf/validation.js.map +1 -0
- package/dist/src/benchmark/BenchmarkSuite.d.ts +318 -0
- package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -0
- package/dist/src/benchmark/BenchmarkSuite.js +984 -0
- package/dist/src/benchmark/BenchmarkSuite.js.map +1 -0
- package/dist/src/benchmark/index.d.ts +29 -0
- package/dist/src/benchmark/index.d.ts.map +1 -0
- package/dist/src/benchmark/index.js +39 -0
- package/dist/src/benchmark/index.js.map +1 -0
- package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
- package/dist/src/browser/AttentionBrowser.js +1 -0
- package/dist/src/browser/AttentionBrowser.js.map +1 -1
- package/dist/src/cli/agentdb-cli.d.ts +14 -0
- package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
- package/dist/src/cli/agentdb-cli.js +839 -143
- package/dist/src/cli/agentdb-cli.js.map +1 -1
- package/dist/src/cli/commands/attention.js +12 -2
- package/dist/src/cli/commands/attention.js.map +1 -1
- package/dist/src/cli/commands/doctor.js +5 -5
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/commands/hyperbolic.d.ts +11 -0
- package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -0
- package/dist/src/cli/commands/hyperbolic.js +440 -0
- package/dist/src/cli/commands/hyperbolic.js.map +1 -0
- 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 +11 -0
- package/dist/src/cli/commands/learn.d.ts.map +1 -0
- package/dist/src/cli/commands/learn.js +410 -0
- package/dist/src/cli/commands/learn.js.map +1 -0
- package/dist/src/cli/commands/migrate.d.ts +15 -0
- package/dist/src/cli/commands/migrate.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate.js +190 -10
- package/dist/src/cli/commands/migrate.js.map +1 -1
- package/dist/src/cli/commands/route.d.ts +11 -0
- package/dist/src/cli/commands/route.d.ts.map +1 -0
- package/dist/src/cli/commands/route.js +419 -0
- package/dist/src/cli/commands/route.js.map +1 -0
- package/dist/src/cli/commands/rvf.d.ts +21 -0
- package/dist/src/cli/commands/rvf.d.ts.map +1 -0
- package/dist/src/cli/commands/rvf.js +448 -0
- package/dist/src/cli/commands/rvf.js.map +1 -0
- 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/lib/report-store.d.ts +2 -1
- package/dist/src/cli/lib/report-store.d.ts.map +1 -1
- package/dist/src/cli/lib/report-store.js +85 -65
- package/dist/src/cli/lib/report-store.js.map +1 -1
- package/dist/src/cli/lib/simulation-runner.d.ts +40 -3
- package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
- package/dist/src/cli/lib/simulation-runner.js +248 -6
- package/dist/src/cli/lib/simulation-runner.js.map +1 -1
- package/dist/src/compatibility/DeprecationWarnings.d.ts +54 -0
- package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -0
- package/dist/src/compatibility/DeprecationWarnings.js +131 -0
- package/dist/src/compatibility/DeprecationWarnings.js.map +1 -0
- package/dist/src/compatibility/MigrationUtilities.d.ts +30 -0
- package/dist/src/compatibility/MigrationUtilities.d.ts.map +1 -0
- package/dist/src/compatibility/MigrationUtilities.js +184 -0
- package/dist/src/compatibility/MigrationUtilities.js.map +1 -0
- package/dist/src/compatibility/V1toV2Adapter.d.ts +76 -0
- package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -0
- package/dist/src/compatibility/V1toV2Adapter.js +185 -0
- package/dist/src/compatibility/V1toV2Adapter.js.map +1 -0
- package/dist/src/compatibility/VersionDetector.d.ts +32 -0
- package/dist/src/compatibility/VersionDetector.d.ts.map +1 -0
- package/dist/src/compatibility/VersionDetector.js +144 -0
- package/dist/src/compatibility/VersionDetector.js.map +1 -0
- package/dist/src/compatibility/index.d.ts +14 -0
- package/dist/src/compatibility/index.d.ts.map +1 -0
- package/dist/src/compatibility/index.js +21 -0
- package/dist/src/compatibility/index.js.map +1 -0
- package/dist/src/compatibility/types.d.ts +103 -0
- package/dist/src/compatibility/types.d.ts.map +1 -0
- package/dist/src/compatibility/types.js +5 -0
- package/dist/src/compatibility/types.js.map +1 -0
- package/dist/src/controllers/AttentionService.d.ts +99 -202
- package/dist/src/controllers/AttentionService.d.ts.map +1 -1
- package/dist/src/controllers/AttentionService.js +450 -558
- package/dist/src/controllers/AttentionService.js.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.d.ts +30 -5
- package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
- package/dist/src/controllers/CausalMemoryGraph.js +92 -15
- package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
- package/dist/src/controllers/CausalRecall.d.ts +4 -0
- package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
- package/dist/src/controllers/CausalRecall.js +23 -5
- package/dist/src/controllers/CausalRecall.js.map +1 -1
- package/dist/src/controllers/EmbeddingService.d.ts +39 -0
- package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EmbeddingService.js +166 -32
- package/dist/src/controllers/EmbeddingService.js.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts +4 -0
- package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
- package/dist/src/controllers/EnhancedEmbeddingService.js +21 -7
- package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
- package/dist/src/controllers/ExplainableRecall.d.ts +1 -1
- package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
- package/dist/src/controllers/ExplainableRecall.js +1 -1
- package/dist/src/controllers/ExplainableRecall.js.map +1 -1
- package/dist/src/controllers/HNSWIndex.d.ts +20 -2
- package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
- package/dist/src/controllers/HNSWIndex.js +114 -39
- package/dist/src/controllers/HNSWIndex.js.map +1 -1
- package/dist/src/controllers/LearningSystem.d.ts +6 -17
- package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
- package/dist/src/controllers/LearningSystem.js +66 -155
- package/dist/src/controllers/LearningSystem.js.map +1 -1
- package/dist/src/controllers/MemoryController.d.ts +174 -0
- package/dist/src/controllers/MemoryController.d.ts.map +1 -0
- package/dist/src/controllers/MemoryController.js +320 -0
- package/dist/src/controllers/MemoryController.js.map +1 -0
- package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
- package/dist/src/controllers/MetadataFilter.js +38 -26
- 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 +5 -1
- package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
- package/dist/src/controllers/NightlyLearner.js +45 -31
- package/dist/src/controllers/NightlyLearner.js.map +1 -1
- package/dist/src/controllers/QUICClient.d.ts +45 -0
- package/dist/src/controllers/QUICClient.d.ts.map +1 -1
- package/dist/src/controllers/QUICClient.js +211 -21
- package/dist/src/controllers/QUICClient.js.map +1 -1
- package/dist/src/controllers/QUICServer.d.ts.map +1 -1
- package/dist/src/controllers/QUICServer.js +36 -27
- package/dist/src/controllers/QUICServer.js.map +1 -1
- package/dist/src/controllers/ReasoningBank.d.ts +44 -5
- package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
- package/dist/src/controllers/ReasoningBank.js +187 -99
- package/dist/src/controllers/ReasoningBank.js.map +1 -1
- package/dist/src/controllers/ReflexionMemory.d.ts +129 -6
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/src/controllers/ReflexionMemory.js +687 -220
- package/dist/src/controllers/ReflexionMemory.js.map +1 -1
- package/dist/src/controllers/SkillLibrary.d.ts +41 -3
- package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
- package/dist/src/controllers/SkillLibrary.js +291 -116
- 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.map +1 -1
- package/dist/src/controllers/SyncCoordinator.js +126 -12
- package/dist/src/controllers/SyncCoordinator.js.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.d.ts +12 -30
- package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.js +209 -119
- 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 +141 -0
- package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -0
- package/dist/src/controllers/attention/CrossAttentionController.js +325 -0
- package/dist/src/controllers/attention/CrossAttentionController.js.map +1 -0
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +137 -0
- package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -0
- package/dist/src/controllers/attention/MultiHeadAttentionController.js +336 -0
- package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -0
- package/dist/src/controllers/attention/SelfAttentionController.d.ts +117 -0
- package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -0
- package/dist/src/controllers/attention/SelfAttentionController.js +205 -0
- package/dist/src/controllers/attention/SelfAttentionController.js.map +1 -0
- package/dist/src/controllers/attention/index.d.ts +24 -0
- package/dist/src/controllers/attention/index.d.ts.map +1 -0
- package/dist/src/controllers/attention/index.js +20 -0
- package/dist/src/controllers/attention/index.js.map +1 -0
- package/dist/src/controllers/index.d.ts +15 -28
- package/dist/src/controllers/index.d.ts.map +1 -1
- package/dist/src/controllers/index.js +11 -19
- 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 +33 -19
- package/dist/src/core/AgentDB.d.ts.map +1 -1
- package/dist/src/core/AgentDB.js +87 -127
- package/dist/src/core/AgentDB.js.map +1 -1
- package/dist/src/core/QueryCache.d.ts +138 -0
- package/dist/src/core/QueryCache.d.ts.map +1 -0
- package/dist/src/core/QueryCache.js +309 -0
- package/dist/src/core/QueryCache.js.map +1 -0
- package/dist/src/db-fallback.d.ts +52 -4
- package/dist/src/db-fallback.d.ts.map +1 -1
- package/dist/src/db-fallback.js +521 -71
- package/dist/src/db-fallback.js.map +1 -1
- package/dist/src/db-unified.d.ts.map +1 -1
- package/dist/src/db-unified.js +32 -30
- package/dist/src/db-unified.js.map +1 -1
- 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.js +2 -2
- package/dist/src/examples/quic-sync-example.js.map +1 -1
- 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 +20 -16
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +44 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/agentdb-mcp-server.js +318 -16
- package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
- package/dist/src/mcp/reset-database.d.ts +15 -0
- package/dist/src/mcp/reset-database.d.ts.map +1 -0
- package/dist/src/mcp/reset-database.js +45 -0
- package/dist/src/mcp/reset-database.js.map +1 -0
- package/dist/src/model/ModelCacheLoader.d.ts +31 -0
- package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
- package/dist/src/model/ModelCacheLoader.js +209 -0
- package/dist/src/model/ModelCacheLoader.js.map +1 -0
- package/dist/src/observability/index.d.ts +8 -0
- package/dist/src/observability/index.d.ts.map +1 -0
- package/dist/src/observability/index.js +8 -0
- package/dist/src/observability/index.js.map +1 -0
- package/dist/src/observability/integration.d.ts +32 -0
- package/dist/src/observability/integration.d.ts.map +1 -0
- package/dist/src/observability/integration.js +159 -0
- package/dist/src/observability/integration.js.map +1 -0
- package/dist/src/observability/telemetry.d.ts +137 -0
- package/dist/src/observability/telemetry.d.ts.map +1 -0
- package/dist/src/observability/telemetry.js +424 -0
- package/dist/src/observability/telemetry.js.map +1 -0
- package/dist/src/optimizations/BatchOperations.d.ts +47 -0
- package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
- package/dist/src/optimizations/BatchOperations.js +189 -35
- 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/index.d.ts +1 -3
- package/dist/src/optimizations/index.d.ts.map +1 -1
- package/dist/src/optimizations/index.js +0 -1
- package/dist/src/optimizations/index.js.map +1 -1
- package/dist/src/quantization/index.d.ts +7 -0
- package/dist/src/quantization/index.d.ts.map +1 -0
- package/dist/src/quantization/index.js +15 -0
- package/dist/src/quantization/index.js.map +1 -0
- package/dist/src/quantization/vector-quantization.d.ts +388 -0
- package/dist/src/quantization/vector-quantization.d.ts.map +1 -0
- package/dist/src/quantization/vector-quantization.js +1132 -0
- package/dist/src/quantization/vector-quantization.js.map +1 -0
- 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 +311 -0
- package/dist/src/search/HybridSearch.d.ts.map +1 -0
- package/dist/src/search/HybridSearch.js +713 -0
- package/dist/src/search/HybridSearch.js.map +1 -0
- package/dist/src/search/index.d.ts +12 -0
- package/dist/src/search/index.d.ts.map +1 -0
- package/dist/src/search/index.js +16 -0
- package/dist/src/search/index.js.map +1 -0
- package/dist/src/security/input-validation.d.ts +30 -0
- package/dist/src/security/input-validation.d.ts.map +1 -1
- package/dist/src/security/input-validation.js +77 -3
- package/dist/src/security/input-validation.js.map +1 -1
- package/dist/src/security/limits.d.ts.map +1 -1
- package/dist/src/security/limits.js +12 -3
- package/dist/src/security/limits.js.map +1 -1
- package/dist/src/security/mcp-policy.d.ts +17 -0
- package/dist/src/security/mcp-policy.d.ts.map +1 -0
- package/dist/src/security/mcp-policy.js +94 -0
- package/dist/src/security/mcp-policy.js.map +1 -0
- package/dist/src/security/path-security.d.ts.map +1 -1
- package/dist/src/security/path-security.js +3 -1
- package/dist/src/security/path-security.js.map +1 -1
- package/dist/src/security/validation.js +3 -3
- package/dist/src/security/validation.js.map +1 -1
- package/dist/src/services/AttentionService.d.ts +303 -0
- package/dist/src/services/AttentionService.d.ts.map +1 -0
- package/dist/src/services/AttentionService.js +1165 -0
- package/dist/src/services/AttentionService.js.map +1 -0
- package/dist/src/services/LLMRouter.d.ts +70 -8
- package/dist/src/services/LLMRouter.d.ts.map +1 -1
- package/dist/src/services/LLMRouter.js +279 -28
- 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 +1036 -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 +344 -0
- package/dist/src/services/federated-learning.js.map +1 -0
- package/dist/src/simd/index.d.ts +9 -0
- package/dist/src/simd/index.d.ts.map +1 -0
- package/dist/src/simd/index.js +27 -0
- package/dist/src/simd/index.js.map +1 -0
- package/dist/src/simd/simd-vector-ops.d.ts +343 -0
- package/dist/src/simd/simd-vector-ops.d.ts.map +1 -0
- package/dist/src/simd/simd-vector-ops.js +1012 -0
- package/dist/src/simd/simd-vector-ops.js.map +1 -0
- package/dist/src/types/database.types.d.ts +275 -0
- package/dist/src/types/database.types.d.ts.map +1 -0
- package/dist/src/types/database.types.js +55 -0
- package/dist/src/types/database.types.js.map +1 -0
- 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/utils/chalk-fallback.d.ts +3 -0
- package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
- package/dist/src/utils/chalk-fallback.js +20 -0
- package/dist/src/utils/chalk-fallback.js.map +1 -0
- package/dist/src/utils/similarity.d.ts +11 -0
- package/dist/src/utils/similarity.d.ts.map +1 -0
- package/dist/src/utils/similarity.js +25 -0
- package/dist/src/utils/similarity.js.map +1 -0
- package/dist/src/utils/top-k.d.ts +44 -0
- package/dist/src/utils/top-k.d.ts.map +1 -0
- package/dist/src/utils/top-k.js +111 -0
- package/dist/src/utils/top-k.js.map +1 -0
- package/dist/src/wasm-loader.d.ts +66 -0
- package/dist/src/wasm-loader.d.ts.map +1 -0
- package/dist/src/wasm-loader.js +76 -0
- package/dist/src/wasm-loader.js.map +1 -0
- package/dist/src/wrappers/agentdb-fast.d.ts +140 -0
- package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -0
- package/dist/src/wrappers/agentdb-fast.js +309 -0
- package/dist/src/wrappers/agentdb-fast.js.map +1 -0
- package/dist/src/wrappers/attention-fallbacks.d.ts +343 -0
- package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -0
- package/dist/src/wrappers/attention-fallbacks.js +1484 -0
- package/dist/src/wrappers/attention-fallbacks.js.map +1 -0
- 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 +117 -0
- package/dist/src/wrappers/embedding-service.d.ts.map +1 -0
- package/dist/src/wrappers/embedding-service.js +370 -0
- package/dist/src/wrappers/embedding-service.js.map +1 -0
- package/dist/src/wrappers/gnn-wrapper.d.ts +71 -0
- package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -0
- package/dist/src/wrappers/gnn-wrapper.js +236 -0
- package/dist/src/wrappers/gnn-wrapper.js.map +1 -0
- package/dist/src/wrappers/index.d.ts +48 -0
- package/dist/src/wrappers/index.d.ts.map +1 -0
- package/dist/src/wrappers/index.js +83 -0
- package/dist/src/wrappers/index.js.map +1 -0
- package/package.json +130 -80
- package/scripts/postinstall.cjs +13 -144
- package/dist/agentdb.browser.js +0 -1685
- package/dist/agentdb.browser.js.map +0 -7
- package/dist/agentdb.browser.min.js +0 -3
- package/dist/agentdb.browser.min.js.map +0 -7
- package/dist/agentdb.wasm-loader.js +0 -207
- package/dist/backends/VectorBackend.d.ts +0 -120
- package/dist/backends/VectorBackend.js +0 -14
- package/dist/backends/VectorBackend.js.map +0 -1
- package/dist/optimizations/RVFOptimizer.d.ts +0 -225
- package/dist/optimizations/RVFOptimizer.js +0 -541
- package/dist/optimizations/RVFOptimizer.js.map +0 -1
- package/dist/simulation/cli.d.ts +0 -9
- package/dist/simulation/cli.d.ts.map +0 -1
- package/dist/simulation/cli.js +0 -68
- package/dist/simulation/cli.js.map +0 -1
- package/dist/simulation/runner.d.ts +0 -21
- package/dist/simulation/runner.d.ts.map +0 -1
- package/dist/simulation/runner.js +0 -241
- package/dist/simulation/runner.js.map +0 -1
- package/dist/simulation/scenarios/aidefence-integration.d.ts +0 -24
- package/dist/simulation/scenarios/aidefence-integration.d.ts.map +0 -1
- package/dist/simulation/scenarios/aidefence-integration.js +0 -124
- package/dist/simulation/scenarios/aidefence-integration.js.map +0 -1
- package/dist/simulation/scenarios/bmssp-integration.d.ts +0 -23
- package/dist/simulation/scenarios/bmssp-integration.d.ts.map +0 -1
- package/dist/simulation/scenarios/bmssp-integration.js +0 -104
- package/dist/simulation/scenarios/bmssp-integration.js.map +0 -1
- package/dist/simulation/scenarios/causal-reasoning.d.ts +0 -16
- package/dist/simulation/scenarios/causal-reasoning.d.ts.map +0 -1
- package/dist/simulation/scenarios/causal-reasoning.js +0 -108
- package/dist/simulation/scenarios/causal-reasoning.js.map +0 -1
- package/dist/simulation/scenarios/consciousness-explorer.d.ts +0 -25
- package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +0 -1
- package/dist/simulation/scenarios/consciousness-explorer.js +0 -108
- package/dist/simulation/scenarios/consciousness-explorer.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +0 -135
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +0 -158
- package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/index.d.ts +0 -14
- package/dist/simulation/scenarios/domain-examples/index.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/index.js +0 -14
- package/dist/simulation/scenarios/domain-examples/index.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +0 -178
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +0 -218
- package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +0 -122
- package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/medical-imaging.js +0 -129
- package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +0 -166
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +0 -161
- package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +0 -151
- package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/scientific-research.js +0 -187
- package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +0 -1
- package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +0 -102
- package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +0 -1
- package/dist/simulation/scenarios/domain-examples/trading-systems.js +0 -100
- package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +0 -1
- package/dist/simulation/scenarios/goalie-integration.d.ts +0 -24
- package/dist/simulation/scenarios/goalie-integration.d.ts.map +0 -1
- package/dist/simulation/scenarios/goalie-integration.js +0 -121
- package/dist/simulation/scenarios/goalie-integration.js.map +0 -1
- package/dist/simulation/scenarios/graph-traversal.d.ts +0 -17
- package/dist/simulation/scenarios/graph-traversal.d.ts.map +0 -1
- package/dist/simulation/scenarios/graph-traversal.js +0 -101
- package/dist/simulation/scenarios/graph-traversal.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +0 -45
- package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/attention-analysis.js +0 -435
- package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +0 -55
- package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/clustering-analysis.js +0 -606
- package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +0 -74
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +0 -391
- package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +0 -51
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +0 -536
- package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/index.d.ts +0 -35
- package/dist/simulation/scenarios/latent-space/index.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/index.js +0 -35
- package/dist/simulation/scenarios/latent-space/index.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +0 -52
- package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/neural-augmentation.js +0 -472
- package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +0 -53
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +0 -391
- package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +0 -52
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +0 -514
- package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +0 -1
- package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +0 -53
- package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +0 -1
- package/dist/simulation/scenarios/latent-space/traversal-optimization.js +0 -595
- package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +0 -1
- package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +0 -18
- package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +0 -1
- package/dist/simulation/scenarios/lean-agentic-swarm.js +0 -132
- package/dist/simulation/scenarios/lean-agentic-swarm.js.map +0 -1
- package/dist/simulation/scenarios/multi-agent-swarm.d.ts +0 -17
- package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +0 -1
- package/dist/simulation/scenarios/multi-agent-swarm.js +0 -111
- package/dist/simulation/scenarios/multi-agent-swarm.js.map +0 -1
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +0 -23
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +0 -1
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +0 -98
- package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +0 -1
- package/dist/simulation/scenarios/reflexion-learning.d.ts +0 -16
- package/dist/simulation/scenarios/reflexion-learning.d.ts.map +0 -1
- package/dist/simulation/scenarios/reflexion-learning.js +0 -98
- package/dist/simulation/scenarios/reflexion-learning.js.map +0 -1
- package/dist/simulation/scenarios/research-swarm.d.ts +0 -24
- package/dist/simulation/scenarios/research-swarm.d.ts.map +0 -1
- package/dist/simulation/scenarios/research-swarm.js +0 -146
- package/dist/simulation/scenarios/research-swarm.js.map +0 -1
- package/dist/simulation/scenarios/skill-evolution.d.ts +0 -16
- package/dist/simulation/scenarios/skill-evolution.d.ts.map +0 -1
- package/dist/simulation/scenarios/skill-evolution.js +0 -109
- package/dist/simulation/scenarios/skill-evolution.js.map +0 -1
- package/dist/simulation/scenarios/stock-market-emergence.d.ts +0 -33
- package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +0 -1
- package/dist/simulation/scenarios/stock-market-emergence.js +0 -246
- package/dist/simulation/scenarios/stock-market-emergence.js.map +0 -1
- package/dist/simulation/scenarios/strange-loops.d.ts +0 -18
- package/dist/simulation/scenarios/strange-loops.d.ts.map +0 -1
- package/dist/simulation/scenarios/strange-loops.js +0 -133
- package/dist/simulation/scenarios/strange-loops.js.map +0 -1
- package/dist/simulation/scenarios/sublinear-solver.d.ts +0 -22
- package/dist/simulation/scenarios/sublinear-solver.d.ts.map +0 -1
- package/dist/simulation/scenarios/sublinear-solver.js +0 -82
- package/dist/simulation/scenarios/sublinear-solver.js.map +0 -1
- package/dist/simulation/scenarios/temporal-lead-solver.d.ts +0 -23
- package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +0 -1
- package/dist/simulation/scenarios/temporal-lead-solver.js +0 -90
- package/dist/simulation/scenarios/temporal-lead-solver.js.map +0 -1
- package/dist/simulation/scenarios/voting-system-consensus.d.ts +0 -27
- package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +0 -1
- package/dist/simulation/scenarios/voting-system-consensus.js +0 -175
- package/dist/simulation/scenarios/voting-system-consensus.js.map +0 -1
- package/dist/simulation/types.d.ts +0 -162
- package/dist/simulation/types.d.ts.map +0 -1
- package/dist/simulation/types.js +0 -5
- package/dist/simulation/types.js.map +0 -1
- package/dist/simulation/utils/PerformanceOptimizer.d.ts +0 -115
- package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +0 -1
- package/dist/simulation/utils/PerformanceOptimizer.js +0 -223
- package/dist/simulation/utils/PerformanceOptimizer.js.map +0 -1
- package/dist/src/backends/index.cjs +0 -6
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
- package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
- package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
- package/dist/src/consensus/RaftConsensus.d.ts +0 -220
- package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
- package/dist/src/consensus/RaftConsensus.js +0 -762
- package/dist/src/consensus/RaftConsensus.js.map +0 -1
- package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
- package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
- package/dist/src/controllers/HierarchicalMemory.js +0 -519
- package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
- package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
- package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
- package/dist/src/controllers/MemoryConsolidation.js +0 -479
- package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
- package/dist/src/controllers/QUICConnection.d.ts +0 -122
- package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
- package/dist/src/controllers/QUICConnection.js +0 -329
- package/dist/src/controllers/QUICConnection.js.map +0 -1
- package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
- package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
- package/dist/src/controllers/QUICConnectionPool.js +0 -256
- package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
- package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
- package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
- package/dist/src/controllers/QUICStreamManager.js +0 -267
- package/dist/src/controllers/QUICStreamManager.js.map +0 -1
- package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
- package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
- package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
- package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
- package/dist/src/controllers/index.cjs +0 -6
- 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/index.cjs +0 -6
- package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
- package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
- package/dist/src/optimizations/RVFOptimizer.js +0 -541
- package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
- package/dist/src/security/AttestationLog.d.ts +0 -70
- package/dist/src/security/AttestationLog.d.ts.map +0 -1
- package/dist/src/security/AttestationLog.js +0 -174
- package/dist/src/security/AttestationLog.js.map +0 -1
- package/dist/src/security/MutationGuard.d.ts +0 -83
- package/dist/src/security/MutationGuard.d.ts.map +0 -1
- package/dist/src/security/MutationGuard.js +0 -364
- package/dist/src/security/MutationGuard.js.map +0 -1
- package/dist/src/security/index.cjs +0 -6
- package/dist/src/security/index.d.ts +0 -15
- package/dist/src/security/index.d.ts.map +0 -1
- package/dist/src/security/index.js +0 -18
- package/dist/src/security/index.js.map +0 -1
- package/dist/src/services/GNNService.d.ts +0 -172
- package/dist/src/services/GNNService.d.ts.map +0 -1
- package/dist/src/services/GNNService.js +0 -612
- package/dist/src/services/GNNService.js.map +0 -1
- package/dist/src/services/GraphTransformerService.d.ts +0 -80
- package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
- package/dist/src/services/GraphTransformerService.js +0 -369
- package/dist/src/services/GraphTransformerService.js.map +0 -1
- package/dist/src/services/SemanticRouter.d.ts +0 -83
- package/dist/src/services/SemanticRouter.d.ts.map +0 -1
- package/dist/src/services/SemanticRouter.js +0 -160
- package/dist/src/services/SemanticRouter.js.map +0 -1
- package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
- package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
- package/dist/src/services/SonaTrajectoryService.js +0 -539
- package/dist/src/services/SonaTrajectoryService.js.map +0 -1
- package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
- package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
- package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
- package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
- package/dist/src/utils/vector-math.d.ts +0 -29
- package/dist/src/utils/vector-math.d.ts.map +0 -1
- package/dist/src/utils/vector-math.js +0 -66
- package/dist/src/utils/vector-math.js.map +0 -1
|
@@ -7,28 +7,52 @@
|
|
|
7
7
|
* Based on: "Voyager: An Open-Ended Embodied Agent with Large Language Models"
|
|
8
8
|
* https://arxiv.org/abs/2305.16291
|
|
9
9
|
*/
|
|
10
|
+
import { normalizeRowId } from '../types/database.types.js';
|
|
11
|
+
import { searchVectors } from '../backends/VectorBackend.js';
|
|
12
|
+
import { sqlExactSource } from '../backends/ExactSearch.js';
|
|
10
13
|
import { NodeIdMapper } from '../utils/NodeIdMapper.js';
|
|
11
|
-
import {
|
|
14
|
+
import { QueryCache } from '../core/QueryCache.js';
|
|
15
|
+
import { TopK, squaredNorm, cosineWithQueryNorm, blobToFloat32 } from '../utils/top-k.js';
|
|
16
|
+
/** Vector ids this controller writes: "skill:<rowid>" */
|
|
17
|
+
const SKILL_VECTOR_ID = /^skill:(\d+)$/;
|
|
18
|
+
/** Stay well under SQLite's bound-parameter limit (999 on older builds) */
|
|
19
|
+
const MAX_SQL_PARAMS = 500;
|
|
20
|
+
/** Parse JSON from DB row values without throwing on malformed data. */
|
|
21
|
+
function safeJsonParse(value, fallback) {
|
|
22
|
+
if (!value)
|
|
23
|
+
return fallback;
|
|
24
|
+
try {
|
|
25
|
+
return JSON.parse(value);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return fallback;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
12
31
|
export class SkillLibrary {
|
|
13
32
|
db;
|
|
14
33
|
embedder;
|
|
15
34
|
vectorBackend;
|
|
16
35
|
graphBackend; // GraphBackend or GraphDatabaseAdapter
|
|
17
|
-
|
|
36
|
+
queryCache;
|
|
37
|
+
constructor(db, embedder, vectorBackend, graphBackend, cacheConfig) {
|
|
18
38
|
this.db = db;
|
|
19
39
|
this.embedder = embedder;
|
|
20
40
|
this.vectorBackend = vectorBackend || null;
|
|
21
41
|
this.graphBackend = graphBackend;
|
|
42
|
+
this.queryCache = new QueryCache(cacheConfig);
|
|
22
43
|
}
|
|
23
44
|
/**
|
|
24
45
|
* Create a new skill manually or from an episode
|
|
46
|
+
* Invalidates skill cache
|
|
25
47
|
*/
|
|
26
48
|
async createSkill(skill) {
|
|
49
|
+
// Invalidate skills cache on write
|
|
50
|
+
this.queryCache.invalidateCategory('skills');
|
|
27
51
|
// Use GraphDatabaseAdapter if available (AgentDB v2)
|
|
28
52
|
if (this.graphBackend && 'storeSkill' in this.graphBackend) {
|
|
29
53
|
const graphAdapter = this.graphBackend;
|
|
30
54
|
const text = this.buildSkillText(skill);
|
|
31
|
-
const embedding = await this.embedder.
|
|
55
|
+
const embedding = await this.embedder.embedPassage(text);
|
|
32
56
|
const nodeId = await graphAdapter.storeSkill({
|
|
33
57
|
id: skill.id ? `skill-${skill.id}` : `skill-${Date.now()}-${Math.random()}`,
|
|
34
58
|
name: skill.name,
|
|
@@ -38,7 +62,7 @@ export class SkillLibrary {
|
|
|
38
62
|
avgReward: skill.avgReward ?? 0,
|
|
39
63
|
createdAt: Date.now(),
|
|
40
64
|
updatedAt: Date.now(),
|
|
41
|
-
tags: JSON.stringify(skill.metadata || {})
|
|
65
|
+
tags: JSON.stringify(skill.metadata || {}),
|
|
42
66
|
}, embedding);
|
|
43
67
|
const numericId = parseInt(nodeId.split('-').pop() || '0', 36);
|
|
44
68
|
NodeIdMapper.getInstance().register(numericId, nodeId);
|
|
@@ -57,35 +81,31 @@ export class SkillLibrary {
|
|
|
57
81
|
const avgReward = skill.avgReward ?? 0;
|
|
58
82
|
const avgLatencyMs = skill.avgLatencyMs ?? 0;
|
|
59
83
|
const result = stmt.run(skill.name, skill.description || null, JSON.stringify(signature), skill.code || null, skill.successRate, uses, avgReward, avgLatencyMs, skill.metadata ? JSON.stringify(skill.metadata) : null);
|
|
60
|
-
const skillId = result.lastInsertRowid;
|
|
84
|
+
const skillId = normalizeRowId(result.lastInsertRowid);
|
|
61
85
|
// Generate and store embedding in VectorBackend
|
|
62
86
|
const text = this.buildSkillText(skill);
|
|
63
|
-
const embedding = await this.embedder.
|
|
87
|
+
const embedding = await this.embedder.embedPassage(text);
|
|
64
88
|
// Store in VectorBackend with skill metadata (if available)
|
|
65
89
|
if (this.vectorBackend) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
// VectorBackend insert failed — fall back to legacy
|
|
76
|
-
this.storeSkillEmbeddingLegacy(skillId, embedding);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// Legacy: store in database
|
|
81
|
-
this.storeSkillEmbeddingLegacy(skillId, embedding);
|
|
90
|
+
this.vectorBackend.insert(`skill:${skillId}`, embedding, {
|
|
91
|
+
name: skill.name,
|
|
92
|
+
description: skill.description,
|
|
93
|
+
successRate: skill.successRate,
|
|
94
|
+
avgReward: skill.avgReward,
|
|
95
|
+
});
|
|
82
96
|
}
|
|
97
|
+
// Always keep the SQL copy: it is the fallback when the vector index
|
|
98
|
+
// returns nothing (and the only store without a vector backend).
|
|
99
|
+
this.storeSkillEmbeddingLegacy(skillId, embedding);
|
|
83
100
|
return skillId;
|
|
84
101
|
}
|
|
85
102
|
/**
|
|
86
103
|
* Update skill statistics after use
|
|
104
|
+
* Invalidates skill cache
|
|
87
105
|
*/
|
|
88
106
|
updateSkillStats(skillId, success, reward, latencyMs) {
|
|
107
|
+
// Invalidate skills cache on update
|
|
108
|
+
this.queryCache.invalidateCategory('skills');
|
|
89
109
|
const stmt = this.db.prepare(`
|
|
90
110
|
UPDATE skills
|
|
91
111
|
SET
|
|
@@ -97,6 +117,35 @@ export class SkillLibrary {
|
|
|
97
117
|
`);
|
|
98
118
|
stmt.run(success ? 1 : 0, reward, latencyMs, skillId);
|
|
99
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Record the outcome of using a skill (ADR-015). Updates uses, success
|
|
122
|
+
* rate and average reward, which retrieveSkills() ranks by; the average
|
|
123
|
+
* latency only moves when `latencyMs` is given.
|
|
124
|
+
*
|
|
125
|
+
* @param reward - defaults to 1 for success, 0 for failure
|
|
126
|
+
* @returns false when no skill has that id
|
|
127
|
+
*/
|
|
128
|
+
recordOutcome(skillId, success, reward, latencyMs) {
|
|
129
|
+
if (reward !== undefined && !Number.isFinite(reward)) {
|
|
130
|
+
throw new Error('reward must be a finite number');
|
|
131
|
+
}
|
|
132
|
+
if (latencyMs !== undefined && (!Number.isFinite(latencyMs) || latencyMs < 0)) {
|
|
133
|
+
throw new Error('latencyMs must be a non-negative finite number');
|
|
134
|
+
}
|
|
135
|
+
this.queryCache.invalidateCategory('skills');
|
|
136
|
+
const actualReward = reward ?? (success ? 1 : 0);
|
|
137
|
+
const result = this.db.prepare(`
|
|
138
|
+
UPDATE skills
|
|
139
|
+
SET
|
|
140
|
+
success_rate = (success_rate * uses + ?) / (uses + 1),
|
|
141
|
+
avg_reward = (avg_reward * uses + ?) / (uses + 1),
|
|
142
|
+
avg_latency_ms = CASE WHEN ? IS NULL THEN avg_latency_ms
|
|
143
|
+
ELSE (avg_latency_ms * uses + ?) / (uses + 1) END,
|
|
144
|
+
uses = uses + 1
|
|
145
|
+
WHERE id = ?
|
|
146
|
+
`).run(success ? 1 : 0, actualReward, latencyMs ?? null, latencyMs ?? null, skillId);
|
|
147
|
+
return result.changes > 0;
|
|
148
|
+
}
|
|
100
149
|
/**
|
|
101
150
|
* Retrieve skills relevant to a task
|
|
102
151
|
*/
|
|
@@ -110,13 +159,20 @@ export class SkillLibrary {
|
|
|
110
159
|
throw new Error('SkillQuery must provide either task (v2) or query (v1)');
|
|
111
160
|
}
|
|
112
161
|
const { k = 5, minSuccessRate = 0.5, preferRecent = true } = query;
|
|
162
|
+
// Check cache first
|
|
163
|
+
const cacheKey = this.queryCache.generateKey('retrieveSkills', [task, k, minSuccessRate, preferRecent], 'skills');
|
|
164
|
+
const cached = this.queryCache.get(cacheKey);
|
|
165
|
+
if (cached) {
|
|
166
|
+
return cached;
|
|
167
|
+
}
|
|
113
168
|
// Generate query embedding
|
|
114
|
-
const queryEmbedding = await this.embedder.
|
|
169
|
+
const queryEmbedding = await this.embedder.embedQuery(task);
|
|
115
170
|
// Use GraphDatabaseAdapter if available (AgentDB v2)
|
|
116
171
|
if (this.graphBackend && 'searchSkills' in this.graphBackend) {
|
|
117
172
|
const graphAdapter = this.graphBackend;
|
|
118
173
|
const searchResults = await graphAdapter.searchSkills(queryEmbedding, k);
|
|
119
|
-
|
|
174
|
+
const results = searchResults
|
|
175
|
+
.map((result) => {
|
|
120
176
|
// Handle metadata/tags parsing
|
|
121
177
|
let metadata = undefined;
|
|
122
178
|
if (result.tags) {
|
|
@@ -145,55 +201,77 @@ export class SkillLibrary {
|
|
|
145
201
|
successRate: result.avgReward, // Use avgReward as successRate proxy
|
|
146
202
|
uses: result.usageCount,
|
|
147
203
|
avgReward: result.avgReward,
|
|
148
|
-
metadata
|
|
204
|
+
metadata,
|
|
149
205
|
};
|
|
150
|
-
})
|
|
206
|
+
})
|
|
207
|
+
.filter((skill) => skill.successRate >= minSuccessRate);
|
|
208
|
+
// Cache the results
|
|
209
|
+
this.queryCache.set(cacheKey, results);
|
|
210
|
+
return results;
|
|
151
211
|
}
|
|
152
212
|
// Use VectorBackend for semantic search (if available)
|
|
153
213
|
if (this.vectorBackend) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
214
|
+
// Small or short index answers are completed by exact cosine over
|
|
215
|
+
// skill_embeddings (ADR-015)
|
|
216
|
+
const searchResults = await searchVectors(this.vectorBackend, queryEmbedding, k * 3, undefined, sqlExactSource(this.db, {
|
|
217
|
+
table: 'skill_embeddings',
|
|
218
|
+
idColumn: 'skill_id',
|
|
219
|
+
vectorId: (id) => `skill:${id}`,
|
|
220
|
+
owns: (hit) => SKILL_VECTOR_ID.test(hit.id),
|
|
221
|
+
}));
|
|
222
|
+
// The vector backend may be shared with other controllers (episodes use
|
|
223
|
+
// bare numeric ids, causal edges "causal-edge:N"); only "skill:N" is ours.
|
|
224
|
+
const similarityById = new Map();
|
|
225
|
+
for (const result of searchResults) {
|
|
226
|
+
const match = SKILL_VECTOR_ID.exec(result.id);
|
|
227
|
+
if (!match)
|
|
228
|
+
continue;
|
|
229
|
+
const skillId = Number(match[1]);
|
|
230
|
+
if (!similarityById.has(skillId))
|
|
231
|
+
similarityById.set(skillId, result.similarity);
|
|
232
|
+
}
|
|
233
|
+
// No usable hits although skills exist (empty or crowded-out index):
|
|
234
|
+
// answer from the SQL embeddings instead of returning nothing.
|
|
235
|
+
if (similarityById.size === 0 && this.db.prepare('SELECT 1 FROM skills LIMIT 1').get()) {
|
|
236
|
+
const results = await this.retrieveSkillsLegacy(query);
|
|
237
|
+
this.queryCache.set(cacheKey, results);
|
|
238
|
+
return results;
|
|
239
|
+
}
|
|
240
|
+
const skillsWithSimilarity = [];
|
|
241
|
+
for (const row of this.fetchSkillsByIds([...similarityById.keys()])) {
|
|
242
|
+
// Apply filters
|
|
243
|
+
if (row.success_rate < minSuccessRate)
|
|
244
|
+
continue;
|
|
245
|
+
skillsWithSimilarity.push({
|
|
246
|
+
id: row.id,
|
|
247
|
+
name: row.name,
|
|
248
|
+
description: row.description ?? undefined,
|
|
249
|
+
signature: safeJsonParse(row.signature, undefined),
|
|
250
|
+
code: row.code ?? undefined,
|
|
251
|
+
successRate: row.success_rate,
|
|
252
|
+
uses: row.uses,
|
|
253
|
+
avgReward: row.avg_reward,
|
|
254
|
+
avgLatencyMs: row.avg_latency_ms,
|
|
255
|
+
createdFromEpisode: row.created_from_episode ?? undefined,
|
|
256
|
+
metadata: safeJsonParse(row.metadata, undefined),
|
|
257
|
+
similarity: similarityById.get(row.id),
|
|
190
258
|
});
|
|
191
|
-
return skillsWithSimilarity.slice(0, k);
|
|
192
259
|
}
|
|
193
|
-
|
|
260
|
+
// Compute composite scores
|
|
261
|
+
skillsWithSimilarity.sort((a, b) => {
|
|
262
|
+
const scoreA = this.computeSkillScore(a);
|
|
263
|
+
const scoreB = this.computeSkillScore(b);
|
|
264
|
+
return scoreB - scoreA;
|
|
265
|
+
});
|
|
266
|
+
const results = skillsWithSimilarity.slice(0, k);
|
|
267
|
+
// Cache the results
|
|
268
|
+
this.queryCache.set(cacheKey, results);
|
|
269
|
+
return results;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
// Legacy: use SQL-based similarity search
|
|
273
|
+
return this.retrieveSkillsLegacy(query);
|
|
194
274
|
}
|
|
195
|
-
// Legacy: use SQL-based similarity search
|
|
196
|
-
return this.retrieveSkillsLegacy(query);
|
|
197
275
|
}
|
|
198
276
|
/**
|
|
199
277
|
* Legacy SQL-based skill retrieval (fallback when VectorBackend not available)
|
|
@@ -205,7 +283,7 @@ export class SkillLibrary {
|
|
|
205
283
|
throw new Error('SkillQuery must provide either task (v2) or query (v1)');
|
|
206
284
|
}
|
|
207
285
|
const { k = 5, minSuccessRate = 0.5 } = query;
|
|
208
|
-
const queryEmbedding = await this.embedder.
|
|
286
|
+
const queryEmbedding = await this.embedder.embedQuery(task);
|
|
209
287
|
// Fetch all skills with embeddings
|
|
210
288
|
const stmt = this.db.prepare(`
|
|
211
289
|
SELECT s.*, e.embedding
|
|
@@ -214,35 +292,37 @@ export class SkillLibrary {
|
|
|
214
292
|
WHERE s.success_rate >= ?
|
|
215
293
|
`);
|
|
216
294
|
const rows = stmt.all(minSuccessRate);
|
|
217
|
-
//
|
|
218
|
-
|
|
295
|
+
// Bounded top-k by composite score; JSON columns are parsed for the
|
|
296
|
+
// winners only. Ties keep scan order, as the old stable sort did.
|
|
297
|
+
const queryNorm = Math.sqrt(squaredNorm(queryEmbedding));
|
|
298
|
+
const top = new TopK(k);
|
|
219
299
|
for (const row of rows) {
|
|
220
300
|
if (!row.embedding)
|
|
221
301
|
continue;
|
|
222
|
-
const
|
|
223
|
-
const
|
|
224
|
-
skillsWithSimilarity.push({
|
|
225
|
-
id: row.id,
|
|
302
|
+
const similarity = cosineWithQueryNorm(queryEmbedding, queryNorm, blobToFloat32(row.embedding));
|
|
303
|
+
const score = this.computeSkillScore({
|
|
226
304
|
name: row.name,
|
|
227
|
-
description: row.description,
|
|
228
|
-
signature: JSON.parse(row.signature),
|
|
229
|
-
code: row.code,
|
|
230
305
|
successRate: row.success_rate,
|
|
231
306
|
uses: row.uses,
|
|
232
307
|
avgReward: row.avg_reward,
|
|
233
|
-
|
|
234
|
-
createdFromEpisode: row.created_from_episode,
|
|
235
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
|
|
236
|
-
similarity
|
|
308
|
+
similarity,
|
|
237
309
|
});
|
|
310
|
+
top.push(score, { row, similarity });
|
|
238
311
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
312
|
+
return top.sorted().map(({ item: { row, similarity } }) => ({
|
|
313
|
+
id: row.id,
|
|
314
|
+
name: row.name,
|
|
315
|
+
description: row.description ?? undefined,
|
|
316
|
+
signature: safeJsonParse(row.signature, undefined),
|
|
317
|
+
code: row.code ?? undefined,
|
|
318
|
+
successRate: row.success_rate,
|
|
319
|
+
uses: row.uses,
|
|
320
|
+
avgReward: row.avg_reward,
|
|
321
|
+
avgLatencyMs: row.avg_latency_ms,
|
|
322
|
+
createdFromEpisode: row.created_from_episode ?? undefined,
|
|
323
|
+
metadata: safeJsonParse(row.metadata, undefined),
|
|
324
|
+
similarity,
|
|
325
|
+
}));
|
|
246
326
|
}
|
|
247
327
|
/**
|
|
248
328
|
* Store skill embedding (legacy fallback)
|
|
@@ -253,9 +333,38 @@ export class SkillLibrary {
|
|
|
253
333
|
VALUES (?, ?)
|
|
254
334
|
ON CONFLICT(skill_id) DO UPDATE SET embedding = excluded.embedding
|
|
255
335
|
`);
|
|
256
|
-
const buffer = Buffer.from(embedding.buffer);
|
|
336
|
+
const buffer = Buffer.from(embedding.buffer, embedding.byteOffset, embedding.byteLength);
|
|
257
337
|
stmt.run(skillId, buffer);
|
|
258
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Load skill rows for a set of ids with one IN query per chunk
|
|
341
|
+
* (instead of one query per vector hit).
|
|
342
|
+
*/
|
|
343
|
+
fetchSkillsByIds(ids) {
|
|
344
|
+
const rows = [];
|
|
345
|
+
for (let i = 0; i < ids.length; i += MAX_SQL_PARAMS) {
|
|
346
|
+
const chunk = ids.slice(i, i + MAX_SQL_PARAMS);
|
|
347
|
+
const placeholders = chunk.map(() => '?').join(',');
|
|
348
|
+
rows.push(...this.db
|
|
349
|
+
.prepare(`SELECT * FROM skills WHERE id IN (${placeholders})`)
|
|
350
|
+
.all(...chunk));
|
|
351
|
+
}
|
|
352
|
+
return rows;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Cosine similarity between two vectors
|
|
356
|
+
*/
|
|
357
|
+
cosineSimilarity(a, b) {
|
|
358
|
+
let dotProduct = 0;
|
|
359
|
+
let normA = 0;
|
|
360
|
+
let normB = 0;
|
|
361
|
+
for (let i = 0; i < a.length; i++) {
|
|
362
|
+
dotProduct += a[i] * b[i];
|
|
363
|
+
normA += a[i] * a[i];
|
|
364
|
+
normB += b[i] * b[i];
|
|
365
|
+
}
|
|
366
|
+
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
367
|
+
}
|
|
259
368
|
/**
|
|
260
369
|
* Link two skills with a relationship
|
|
261
370
|
*/
|
|
@@ -342,7 +451,7 @@ export class SkillLibrary {
|
|
|
342
451
|
task: candidate.task,
|
|
343
452
|
commonPatterns: extractedPatterns,
|
|
344
453
|
successIndicators: successIndicators,
|
|
345
|
-
avgReward: candidate.avg_reward
|
|
454
|
+
avgReward: candidate.avg_reward,
|
|
346
455
|
});
|
|
347
456
|
}
|
|
348
457
|
// Check if skill already exists
|
|
@@ -354,12 +463,12 @@ export class SkillLibrary {
|
|
|
354
463
|
description: enhancedDescription,
|
|
355
464
|
signature: {
|
|
356
465
|
inputs: { task: 'string' },
|
|
357
|
-
outputs: { result: 'any' }
|
|
466
|
+
outputs: { result: 'any' },
|
|
358
467
|
},
|
|
359
468
|
successRate: candidate.success_rate,
|
|
360
469
|
uses: candidate.attempt_count,
|
|
361
470
|
avgReward: candidate.avg_reward,
|
|
362
|
-
avgLatencyMs: candidate.avg_latency
|
|
471
|
+
avgLatencyMs: candidate.avg_latency ?? 0,
|
|
363
472
|
createdFromEpisode: candidate.latest_episode_id,
|
|
364
473
|
metadata: {
|
|
365
474
|
sourceEpisodes: episodeIds,
|
|
@@ -367,15 +476,15 @@ export class SkillLibrary {
|
|
|
367
476
|
consolidatedAt: Date.now(),
|
|
368
477
|
extractedPatterns: extractedPatterns,
|
|
369
478
|
successIndicators: successIndicators,
|
|
370
|
-
patternConfidence: this.calculatePatternConfidence(episodeIds.length, candidate.success_rate)
|
|
371
|
-
}
|
|
479
|
+
patternConfidence: this.calculatePatternConfidence(episodeIds.length, candidate.success_rate),
|
|
480
|
+
},
|
|
372
481
|
};
|
|
373
482
|
await this.createSkill(skill);
|
|
374
483
|
created++;
|
|
375
484
|
}
|
|
376
485
|
else {
|
|
377
486
|
// Update existing skill stats
|
|
378
|
-
this.updateSkillStats(existing.id, candidate.success_rate > 0.5, candidate.avg_reward, candidate.avg_latency
|
|
487
|
+
this.updateSkillStats(existing.id, candidate.success_rate > 0.5, candidate.avg_reward, candidate.avg_latency ?? 0);
|
|
379
488
|
updated++;
|
|
380
489
|
}
|
|
381
490
|
}
|
|
@@ -386,21 +495,21 @@ export class SkillLibrary {
|
|
|
386
495
|
*/
|
|
387
496
|
async extractPatternsFromEpisodes(episodeIds) {
|
|
388
497
|
// Retrieve episodes with their outputs and critiques
|
|
389
|
-
const episodes = this.db
|
|
498
|
+
const episodes = this.db
|
|
499
|
+
.prepare(`
|
|
390
500
|
SELECT id, task, input, output, critique, reward, success, metadata
|
|
391
501
|
FROM episodes
|
|
392
502
|
WHERE id IN (${episodeIds.map(() => '?').join(',')})
|
|
393
503
|
AND success = 1
|
|
394
|
-
`)
|
|
504
|
+
`)
|
|
505
|
+
.all(...episodeIds);
|
|
395
506
|
if (episodes.length === 0) {
|
|
396
507
|
return { commonPatterns: [], successIndicators: [] };
|
|
397
508
|
}
|
|
398
509
|
const commonPatterns = [];
|
|
399
510
|
const successIndicators = [];
|
|
400
511
|
// Pattern 1: Analyze output text for common keywords and phrases
|
|
401
|
-
const outputTexts = episodes
|
|
402
|
-
.map(ep => ep.output)
|
|
403
|
-
.filter(Boolean);
|
|
512
|
+
const outputTexts = episodes.map((ep) => ep.output).filter(Boolean);
|
|
404
513
|
if (outputTexts.length > 0) {
|
|
405
514
|
const keywordFrequency = this.extractKeywordFrequency(outputTexts);
|
|
406
515
|
const topKeywords = this.getTopKeywords(keywordFrequency, 5);
|
|
@@ -409,9 +518,7 @@ export class SkillLibrary {
|
|
|
409
518
|
}
|
|
410
519
|
}
|
|
411
520
|
// Pattern 2: Analyze critique patterns for successful strategies
|
|
412
|
-
const critiques = episodes
|
|
413
|
-
.map(ep => ep.critique)
|
|
414
|
-
.filter(Boolean);
|
|
521
|
+
const critiques = episodes.map((ep) => ep.critique).filter(Boolean);
|
|
415
522
|
if (critiques.length > 0) {
|
|
416
523
|
const critiqueKeywords = this.extractKeywordFrequency(critiques);
|
|
417
524
|
const topCritiquePatterns = this.getTopKeywords(critiqueKeywords, 3);
|
|
@@ -421,7 +528,7 @@ export class SkillLibrary {
|
|
|
421
528
|
}
|
|
422
529
|
// Pattern 3: Analyze reward distribution
|
|
423
530
|
const avgReward = episodes.reduce((sum, ep) => sum + ep.reward, 0) / episodes.length;
|
|
424
|
-
const highRewardCount = episodes.filter(ep => ep.reward > avgReward).length;
|
|
531
|
+
const highRewardCount = episodes.filter((ep) => ep.reward > avgReward).length;
|
|
425
532
|
const highRewardRatio = highRewardCount / episodes.length;
|
|
426
533
|
if (highRewardRatio > 0.6) {
|
|
427
534
|
successIndicators.push(`High consistency (${(highRewardRatio * 100).toFixed(0)}% above average)`);
|
|
@@ -445,10 +552,46 @@ export class SkillLibrary {
|
|
|
445
552
|
const frequency = new Map();
|
|
446
553
|
// Common stop words to filter out
|
|
447
554
|
const stopWords = new Set([
|
|
448
|
-
'the',
|
|
449
|
-
'
|
|
450
|
-
'
|
|
451
|
-
'
|
|
555
|
+
'the',
|
|
556
|
+
'a',
|
|
557
|
+
'an',
|
|
558
|
+
'and',
|
|
559
|
+
'or',
|
|
560
|
+
'but',
|
|
561
|
+
'in',
|
|
562
|
+
'on',
|
|
563
|
+
'at',
|
|
564
|
+
'to',
|
|
565
|
+
'for',
|
|
566
|
+
'of',
|
|
567
|
+
'with',
|
|
568
|
+
'by',
|
|
569
|
+
'from',
|
|
570
|
+
'as',
|
|
571
|
+
'is',
|
|
572
|
+
'was',
|
|
573
|
+
'are',
|
|
574
|
+
'were',
|
|
575
|
+
'been',
|
|
576
|
+
'be',
|
|
577
|
+
'have',
|
|
578
|
+
'has',
|
|
579
|
+
'had',
|
|
580
|
+
'do',
|
|
581
|
+
'does',
|
|
582
|
+
'did',
|
|
583
|
+
'will',
|
|
584
|
+
'would',
|
|
585
|
+
'should',
|
|
586
|
+
'could',
|
|
587
|
+
'may',
|
|
588
|
+
'might',
|
|
589
|
+
'must',
|
|
590
|
+
'can',
|
|
591
|
+
'this',
|
|
592
|
+
'that',
|
|
593
|
+
'these',
|
|
594
|
+
'those',
|
|
452
595
|
]);
|
|
453
596
|
for (const text of texts) {
|
|
454
597
|
// Extract words (alphanumeric sequences)
|
|
@@ -480,9 +623,7 @@ export class SkillLibrary {
|
|
|
480
623
|
for (const episode of episodes) {
|
|
481
624
|
if (episode.metadata) {
|
|
482
625
|
try {
|
|
483
|
-
const metadata = typeof episode.metadata === 'string'
|
|
484
|
-
? JSON.parse(episode.metadata)
|
|
485
|
-
: episode.metadata;
|
|
626
|
+
const metadata = typeof episode.metadata === 'string' ? JSON.parse(episode.metadata) : episode.metadata;
|
|
486
627
|
for (const [key, value] of Object.entries(metadata)) {
|
|
487
628
|
if (!metadataFields.has(key)) {
|
|
488
629
|
metadataFields.set(key, new Set());
|
|
@@ -513,10 +654,10 @@ export class SkillLibrary {
|
|
|
513
654
|
return null;
|
|
514
655
|
// Sort by episode ID (temporal order)
|
|
515
656
|
const sorted = [...episodes].sort((a, b) => a.id - b.id);
|
|
516
|
-
const firstHalfReward = sorted.slice(0, Math.floor(sorted.length / 2))
|
|
517
|
-
|
|
518
|
-
const secondHalfReward = sorted.slice(Math.floor(sorted.length / 2))
|
|
519
|
-
|
|
657
|
+
const firstHalfReward = sorted.slice(0, Math.floor(sorted.length / 2)).reduce((sum, ep) => sum + ep.reward, 0) /
|
|
658
|
+
Math.floor(sorted.length / 2);
|
|
659
|
+
const secondHalfReward = sorted.slice(Math.floor(sorted.length / 2)).reduce((sum, ep) => sum + ep.reward, 0) /
|
|
660
|
+
(sorted.length - Math.floor(sorted.length / 2));
|
|
520
661
|
const improvement = ((secondHalfReward - firstHalfReward) / firstHalfReward) * 100;
|
|
521
662
|
if (improvement > 10) {
|
|
522
663
|
return `Strong learning curve (+${improvement.toFixed(0)}% improvement)`;
|
|
@@ -541,6 +682,7 @@ export class SkillLibrary {
|
|
|
541
682
|
}
|
|
542
683
|
/**
|
|
543
684
|
* Prune underperforming skills
|
|
685
|
+
* Invalidates cache on completion
|
|
544
686
|
*/
|
|
545
687
|
pruneSkills(config) {
|
|
546
688
|
const { minUses = 3, minSuccessRate = 0.4, maxAgeDays = 60 } = config;
|
|
@@ -551,8 +693,41 @@ export class SkillLibrary {
|
|
|
551
693
|
AND created_at < strftime('%s', 'now') - ?
|
|
552
694
|
`);
|
|
553
695
|
const result = stmt.run(minUses, minSuccessRate, maxAgeDays * 86400);
|
|
696
|
+
// Invalidate cache after pruning
|
|
697
|
+
if (result.changes > 0) {
|
|
698
|
+
this.queryCache.invalidateCategory('skills');
|
|
699
|
+
}
|
|
554
700
|
return result.changes;
|
|
555
701
|
}
|
|
702
|
+
/**
|
|
703
|
+
* Get query cache statistics
|
|
704
|
+
*/
|
|
705
|
+
getCacheStats() {
|
|
706
|
+
return this.queryCache.getStatistics();
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Clear query cache
|
|
710
|
+
*/
|
|
711
|
+
clearCache() {
|
|
712
|
+
this.queryCache.clear();
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Prune expired cache entries
|
|
716
|
+
*/
|
|
717
|
+
pruneCache() {
|
|
718
|
+
return this.queryCache.pruneExpired();
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Warm cache with common skill queries
|
|
722
|
+
*/
|
|
723
|
+
async warmCache(commonTasks) {
|
|
724
|
+
await this.queryCache.warm(async (cache) => {
|
|
725
|
+
// Pre-load common skill queries
|
|
726
|
+
for (const task of commonTasks) {
|
|
727
|
+
await this.retrieveSkills({ task, k: 5 });
|
|
728
|
+
}
|
|
729
|
+
});
|
|
730
|
+
}
|
|
556
731
|
// ========================================================================
|
|
557
732
|
// Private Helper Methods
|
|
558
733
|
// ========================================================================
|
|
@@ -568,14 +743,14 @@ export class SkillLibrary {
|
|
|
568
743
|
id: row.id,
|
|
569
744
|
name: row.name,
|
|
570
745
|
description: row.description,
|
|
571
|
-
signature:
|
|
746
|
+
signature: safeJsonParse(row.signature, undefined),
|
|
572
747
|
code: row.code,
|
|
573
748
|
successRate: row.success_rate,
|
|
574
749
|
uses: row.uses,
|
|
575
750
|
avgReward: row.avg_reward,
|
|
576
751
|
avgLatencyMs: row.avg_latency_ms,
|
|
577
752
|
createdFromEpisode: row.created_from_episode,
|
|
578
|
-
metadata:
|
|
753
|
+
metadata: safeJsonParse(row.metadata, undefined),
|
|
579
754
|
};
|
|
580
755
|
}
|
|
581
756
|
buildSkillText(skill) {
|