agentdb 1.0.11 â 1.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/README.md +196 -838
- package/dist/benchmarks/comprehensive-benchmark.js +664 -0
- package/dist/benchmarks/frontier-benchmark.js +419 -0
- package/dist/benchmarks/reflexion-benchmark.js +370 -0
- package/dist/cli/agentdb-cli.d.ts +117 -0
- package/dist/cli/agentdb-cli.d.ts.map +1 -0
- package/dist/cli/agentdb-cli.js +718 -0
- package/dist/cli/agentdb-cli.js.map +1 -0
- package/dist/controllers/CausalMemoryGraph.d.ts +125 -0
- package/dist/controllers/CausalMemoryGraph.d.ts.map +1 -0
- package/dist/controllers/CausalMemoryGraph.js +323 -0
- package/dist/controllers/CausalMemoryGraph.js.map +1 -0
- package/dist/controllers/CausalRecall.d.ts +111 -0
- package/dist/controllers/CausalRecall.d.ts.map +1 -0
- package/dist/controllers/CausalRecall.js +282 -0
- package/dist/controllers/CausalRecall.js.map +1 -0
- package/dist/controllers/EmbeddingService.d.ts +37 -0
- package/dist/controllers/EmbeddingService.d.ts.map +1 -0
- package/dist/controllers/EmbeddingService.js +119 -0
- package/dist/controllers/EmbeddingService.js.map +1 -0
- package/dist/controllers/ExplainableRecall.d.ts +138 -0
- package/dist/controllers/ExplainableRecall.d.ts.map +1 -0
- package/dist/controllers/ExplainableRecall.js +388 -0
- package/dist/controllers/ExplainableRecall.js.map +1 -0
- package/dist/controllers/NightlyLearner.d.ts +113 -0
- package/dist/controllers/NightlyLearner.d.ts.map +1 -0
- package/dist/controllers/NightlyLearner.js +383 -0
- package/dist/controllers/NightlyLearner.js.map +1 -0
- package/dist/controllers/ReflexionMemory.d.ts +84 -0
- package/dist/controllers/ReflexionMemory.d.ts.map +1 -0
- package/dist/controllers/ReflexionMemory.js +240 -0
- package/dist/controllers/ReflexionMemory.js.map +1 -0
- package/dist/controllers/SkillLibrary.d.ts +96 -0
- package/dist/controllers/SkillLibrary.d.ts.map +1 -0
- package/dist/controllers/SkillLibrary.js +277 -0
- package/dist/controllers/SkillLibrary.js.map +1 -0
- package/dist/controllers/frontier-index.d.ts +14 -0
- package/dist/controllers/frontier-index.d.ts.map +1 -0
- package/dist/controllers/frontier-index.js +10 -0
- package/dist/controllers/frontier-index.js.map +1 -0
- package/dist/controllers/index.d.ts +12 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +9 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/optimizations/BatchOperations.d.ts +61 -0
- package/dist/optimizations/BatchOperations.d.ts.map +1 -0
- package/dist/optimizations/BatchOperations.js +199 -0
- package/dist/optimizations/BatchOperations.js.map +1 -0
- package/dist/optimizations/QueryOptimizer.d.ts +82 -0
- package/dist/optimizations/QueryOptimizer.d.ts.map +1 -0
- package/dist/optimizations/QueryOptimizer.js +226 -0
- package/dist/optimizations/QueryOptimizer.js.map +1 -0
- package/dist/optimizations/index.d.ts +10 -0
- package/dist/optimizations/index.d.ts.map +1 -0
- package/dist/optimizations/index.js +8 -0
- package/dist/optimizations/index.js.map +1 -0
- package/dist/schemas/frontier-schema.sql +341 -0
- package/dist/schemas/schema.sql +382 -0
- package/dist/tests/frontier-features.test.js +665 -0
- package/package.json +54 -117
- package/src/cli/agentdb-cli.ts +861 -0
- package/src/cli/examples.sh +83 -0
- package/src/controllers/CausalMemoryGraph.ts +504 -0
- package/src/controllers/CausalRecall.ts +395 -0
- package/src/controllers/EmbeddingService.ts +141 -0
- package/src/controllers/ExplainableRecall.ts +577 -0
- package/src/controllers/NightlyLearner.ts +475 -0
- package/src/controllers/ReflexionMemory.ts +349 -0
- package/src/controllers/SkillLibrary.ts +391 -0
- package/src/controllers/frontier-index.ts +35 -0
- package/src/controllers/index.ts +13 -0
- package/src/optimizations/BatchOperations.ts +292 -0
- package/src/optimizations/QueryOptimizer.ts +294 -0
- package/src/optimizations/index.ts +11 -0
- package/src/schemas/frontier-schema.sql +341 -0
- package/src/schemas/schema.sql +382 -0
- package/CHANGELOG.md +0 -166
- package/LICENSE +0 -38
- package/LICENSE-APACHE +0 -190
- package/LICENSE-MIT +0 -21
- package/bin/agentdb.js +0 -733
- package/bin/benchmark.js +0 -162
- package/bin/plugin-cli-wrapper.mjs +0 -21
- package/dist/agentdb.js +0 -5352
- package/dist/agentdb.js.map +0 -7
- package/dist/agentdb.min.js +0 -143
- package/dist/agentdb.min.js.map +0 -7
- package/dist/cache/query-cache.d.ts +0 -105
- package/dist/cache/query-cache.d.ts.map +0 -1
- package/dist/cache/query-cache.js +0 -224
- package/dist/cache/query-cache.js.map +0 -1
- package/dist/cache/query-cache.mjs +0 -219
- package/dist/cli/cache/query-cache.d.ts +0 -104
- package/dist/cli/cache/query-cache.js +0 -244
- package/dist/cli/cli/db-commands.d.ts +0 -48
- package/dist/cli/cli/db-commands.js +0 -613
- package/dist/cli/commands.d.ts +0 -7
- package/dist/cli/commands.d.ts.map +0 -1
- package/dist/cli/commands.js +0 -113
- package/dist/cli/commands.js.map +0 -1
- package/dist/cli/commands.mjs +0 -104
- package/dist/cli/core/backend-interface.d.ts +0 -70
- package/dist/cli/core/backend-interface.js +0 -15
- package/dist/cli/core/native-backend.d.ts +0 -140
- package/dist/cli/core/native-backend.js +0 -432
- package/dist/cli/core/vector-db.d.ts +0 -126
- package/dist/cli/core/vector-db.js +0 -338
- package/dist/cli/core/wasm-backend.d.ts +0 -95
- package/dist/cli/core/wasm-backend.js +0 -418
- package/dist/cli/db-commands.d.ts +0 -49
- package/dist/cli/db-commands.d.ts.map +0 -1
- package/dist/cli/db-commands.js +0 -533
- package/dist/cli/db-commands.js.map +0 -1
- package/dist/cli/db-commands.mjs +0 -522
- package/dist/cli/generator.d.ts +0 -11
- package/dist/cli/generator.d.ts.map +0 -1
- package/dist/cli/generator.js +0 -567
- package/dist/cli/generator.js.map +0 -1
- package/dist/cli/generator.mjs +0 -527
- package/dist/cli/help.d.ts +0 -18
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.js +0 -676
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/help.mjs +0 -667
- package/dist/cli/index/hnsw.d.ts +0 -164
- package/dist/cli/index/hnsw.js +0 -558
- package/dist/cli/plugin-cli.d.ts +0 -7
- package/dist/cli/plugin-cli.d.ts.map +0 -1
- package/dist/cli/plugin-cli.js +0 -295
- package/dist/cli/plugin-cli.js.map +0 -1
- package/dist/cli/plugin-cli.mjs +0 -289
- package/dist/cli/quantization/product-quantization.d.ts +0 -108
- package/dist/cli/quantization/product-quantization.js +0 -350
- package/dist/cli/query/query-builder.d.ts +0 -322
- package/dist/cli/query/query-builder.js +0 -600
- package/dist/cli/templates.d.ts +0 -14
- package/dist/cli/templates.d.ts.map +0 -1
- package/dist/cli/templates.js +0 -182
- package/dist/cli/templates.js.map +0 -1
- package/dist/cli/templates.mjs +0 -176
- package/dist/cli/types/index.d.ts +0 -116
- package/dist/cli/types/index.js +0 -5
- package/dist/cli/types.d.ts +0 -91
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/cli/types.js +0 -6
- package/dist/cli/types.js.map +0 -1
- package/dist/cli/types.mjs +0 -4
- package/dist/cli/wizard/index.d.ts +0 -6
- package/dist/cli/wizard/index.d.ts.map +0 -1
- package/dist/cli/wizard/index.js +0 -138
- package/dist/cli/wizard/index.js.map +0 -1
- package/dist/cli/wizard/index.mjs +0 -131
- package/dist/cli/wizard/prompts.d.ts +0 -11
- package/dist/cli/wizard/prompts.d.ts.map +0 -1
- package/dist/cli/wizard/prompts.js +0 -482
- package/dist/cli/wizard/prompts.js.map +0 -1
- package/dist/cli/wizard/prompts.mjs +0 -470
- package/dist/cli/wizard/validator.d.ts +0 -13
- package/dist/cli/wizard/validator.d.ts.map +0 -1
- package/dist/cli/wizard/validator.js +0 -234
- package/dist/cli/wizard/validator.js.map +0 -1
- package/dist/cli/wizard/validator.mjs +0 -224
- package/dist/core/backend-interface.d.ts +0 -71
- package/dist/core/backend-interface.d.ts.map +0 -1
- package/dist/core/backend-interface.js +0 -16
- package/dist/core/backend-interface.js.map +0 -1
- package/dist/core/backend-interface.mjs +0 -12
- package/dist/core/native-backend.d.ts +0 -141
- package/dist/core/native-backend.d.ts.map +0 -1
- package/dist/core/native-backend.js +0 -457
- package/dist/core/native-backend.js.map +0 -1
- package/dist/core/native-backend.mjs +0 -449
- package/dist/core/vector-db.d.ts +0 -127
- package/dist/core/vector-db.d.ts.map +0 -1
- package/dist/core/vector-db.js +0 -270
- package/dist/core/vector-db.js.map +0 -1
- package/dist/core/vector-db.mjs +0 -265
- package/dist/core/wasm-backend.d.ts +0 -96
- package/dist/core/wasm-backend.d.ts.map +0 -1
- package/dist/core/wasm-backend.js +0 -393
- package/dist/core/wasm-backend.js.map +0 -1
- package/dist/core/wasm-backend.mjs +0 -385
- package/dist/index/hnsw-optimized.d.ts +0 -75
- package/dist/index/hnsw-optimized.d.ts.map +0 -1
- package/dist/index/hnsw-optimized.js +0 -412
- package/dist/index/hnsw-optimized.js.map +0 -1
- package/dist/index/hnsw-optimized.mjs +0 -407
- package/dist/index/hnsw.d.ts +0 -165
- package/dist/index/hnsw.d.ts.map +0 -1
- package/dist/index/hnsw.js +0 -521
- package/dist/index/hnsw.js.map +0 -1
- package/dist/index/hnsw.mjs +0 -516
- package/dist/index.browser.d.ts +0 -47
- package/dist/index.browser.d.ts.map +0 -1
- package/dist/index.browser.js +0 -72
- package/dist/index.browser.js.map +0 -1
- package/dist/index.browser.mjs +0 -54
- package/dist/index.d.ts +0 -59
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -84
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -65
- package/dist/mcp/learning/core/experience-buffer.d.ts +0 -61
- package/dist/mcp/learning/core/experience-buffer.d.ts.map +0 -1
- package/dist/mcp/learning/core/experience-buffer.js +0 -175
- package/dist/mcp/learning/core/experience-buffer.js.map +0 -1
- package/dist/mcp/learning/core/experience-buffer.mjs +0 -170
- package/dist/mcp/learning/core/experience-recorder.d.ts +0 -40
- package/dist/mcp/learning/core/experience-recorder.d.ts.map +0 -1
- package/dist/mcp/learning/core/experience-recorder.js +0 -200
- package/dist/mcp/learning/core/experience-recorder.js.map +0 -1
- package/dist/mcp/learning/core/experience-recorder.mjs +0 -195
- package/dist/mcp/learning/core/learning-manager.d.ts +0 -66
- package/dist/mcp/learning/core/learning-manager.d.ts.map +0 -1
- package/dist/mcp/learning/core/learning-manager.js +0 -252
- package/dist/mcp/learning/core/learning-manager.js.map +0 -1
- package/dist/mcp/learning/core/learning-manager.mjs +0 -247
- package/dist/mcp/learning/core/policy-optimizer.d.ts +0 -53
- package/dist/mcp/learning/core/policy-optimizer.d.ts.map +0 -1
- package/dist/mcp/learning/core/policy-optimizer.js +0 -251
- package/dist/mcp/learning/core/policy-optimizer.js.map +0 -1
- package/dist/mcp/learning/core/policy-optimizer.mjs +0 -246
- package/dist/mcp/learning/core/reward-estimator.d.ts +0 -44
- package/dist/mcp/learning/core/reward-estimator.d.ts.map +0 -1
- package/dist/mcp/learning/core/reward-estimator.js +0 -158
- package/dist/mcp/learning/core/reward-estimator.js.map +0 -1
- package/dist/mcp/learning/core/reward-estimator.mjs +0 -153
- package/dist/mcp/learning/core/session-manager.d.ts +0 -63
- package/dist/mcp/learning/core/session-manager.d.ts.map +0 -1
- package/dist/mcp/learning/core/session-manager.js +0 -202
- package/dist/mcp/learning/core/session-manager.js.map +0 -1
- package/dist/mcp/learning/core/session-manager.mjs +0 -197
- package/dist/mcp/learning/index.d.ts +0 -19
- package/dist/mcp/learning/index.d.ts.map +0 -1
- package/dist/mcp/learning/index.js +0 -30
- package/dist/mcp/learning/index.js.map +0 -1
- package/dist/mcp/learning/index.mjs +0 -19
- package/dist/mcp/learning/tools/mcp-learning-tools.d.ts +0 -369
- package/dist/mcp/learning/tools/mcp-learning-tools.d.ts.map +0 -1
- package/dist/mcp/learning/tools/mcp-learning-tools.js +0 -361
- package/dist/mcp/learning/tools/mcp-learning-tools.js.map +0 -1
- package/dist/mcp/learning/tools/mcp-learning-tools.mjs +0 -356
- package/dist/mcp/learning/types/index.d.ts +0 -138
- package/dist/mcp/learning/types/index.d.ts.map +0 -1
- package/dist/mcp/learning/types/index.js +0 -6
- package/dist/mcp/learning/types/index.js.map +0 -1
- package/dist/mcp/learning/types/index.mjs +0 -4
- package/dist/mcp-server.d.ts +0 -29
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -862
- package/dist/mcp-server.js.map +0 -1
- package/dist/mcp-server.mjs +0 -857
- package/dist/plugins/base-plugin.d.ts +0 -114
- package/dist/plugins/base-plugin.d.ts.map +0 -1
- package/dist/plugins/base-plugin.js +0 -313
- package/dist/plugins/base-plugin.js.map +0 -1
- package/dist/plugins/base-plugin.mjs +0 -275
- package/dist/plugins/implementations/active-learning.d.ts +0 -135
- package/dist/plugins/implementations/active-learning.d.ts.map +0 -1
- package/dist/plugins/implementations/active-learning.js +0 -372
- package/dist/plugins/implementations/active-learning.js.map +0 -1
- package/dist/plugins/implementations/active-learning.mjs +0 -367
- package/dist/plugins/implementations/actor-critic.d.ts +0 -64
- package/dist/plugins/implementations/actor-critic.d.ts.map +0 -1
- package/dist/plugins/implementations/actor-critic.js +0 -363
- package/dist/plugins/implementations/actor-critic.js.map +0 -1
- package/dist/plugins/implementations/actor-critic.mjs +0 -358
- package/dist/plugins/implementations/adversarial-training.d.ts +0 -133
- package/dist/plugins/implementations/adversarial-training.d.ts.map +0 -1
- package/dist/plugins/implementations/adversarial-training.js +0 -409
- package/dist/plugins/implementations/adversarial-training.js.map +0 -1
- package/dist/plugins/implementations/adversarial-training.mjs +0 -404
- package/dist/plugins/implementations/curriculum-learning.d.ts +0 -132
- package/dist/plugins/implementations/curriculum-learning.d.ts.map +0 -1
- package/dist/plugins/implementations/curriculum-learning.js +0 -354
- package/dist/plugins/implementations/curriculum-learning.js.map +0 -1
- package/dist/plugins/implementations/curriculum-learning.mjs +0 -349
- package/dist/plugins/implementations/decision-transformer.d.ts +0 -77
- package/dist/plugins/implementations/decision-transformer.d.ts.map +0 -1
- package/dist/plugins/implementations/decision-transformer.js +0 -422
- package/dist/plugins/implementations/decision-transformer.js.map +0 -1
- package/dist/plugins/implementations/decision-transformer.mjs +0 -417
- package/dist/plugins/implementations/federated-learning.d.ts +0 -126
- package/dist/plugins/implementations/federated-learning.d.ts.map +0 -1
- package/dist/plugins/implementations/federated-learning.js +0 -436
- package/dist/plugins/implementations/federated-learning.js.map +0 -1
- package/dist/plugins/implementations/federated-learning.mjs +0 -431
- package/dist/plugins/implementations/index.d.ts +0 -30
- package/dist/plugins/implementations/index.d.ts.map +0 -1
- package/dist/plugins/implementations/index.js +0 -45
- package/dist/plugins/implementations/index.js.map +0 -1
- package/dist/plugins/implementations/index.mjs +0 -31
- package/dist/plugins/implementations/multi-task-learning.d.ts +0 -115
- package/dist/plugins/implementations/multi-task-learning.d.ts.map +0 -1
- package/dist/plugins/implementations/multi-task-learning.js +0 -369
- package/dist/plugins/implementations/multi-task-learning.js.map +0 -1
- package/dist/plugins/implementations/multi-task-learning.mjs +0 -364
- package/dist/plugins/implementations/neural-architecture-search.d.ts +0 -148
- package/dist/plugins/implementations/neural-architecture-search.d.ts.map +0 -1
- package/dist/plugins/implementations/neural-architecture-search.js +0 -379
- package/dist/plugins/implementations/neural-architecture-search.js.map +0 -1
- package/dist/plugins/implementations/neural-architecture-search.mjs +0 -374
- package/dist/plugins/implementations/q-learning.d.ts +0 -98
- package/dist/plugins/implementations/q-learning.d.ts.map +0 -1
- package/dist/plugins/implementations/q-learning.js +0 -435
- package/dist/plugins/implementations/q-learning.js.map +0 -1
- package/dist/plugins/implementations/q-learning.mjs +0 -430
- package/dist/plugins/implementations/sarsa.d.ts +0 -103
- package/dist/plugins/implementations/sarsa.d.ts.map +0 -1
- package/dist/plugins/implementations/sarsa.js +0 -347
- package/dist/plugins/implementations/sarsa.js.map +0 -1
- package/dist/plugins/implementations/sarsa.mjs +0 -342
- package/dist/plugins/index.d.ts +0 -107
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -179
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/index.mjs +0 -168
- package/dist/plugins/interface.d.ts +0 -439
- package/dist/plugins/interface.d.ts.map +0 -1
- package/dist/plugins/interface.js +0 -12
- package/dist/plugins/interface.js.map +0 -1
- package/dist/plugins/interface.mjs +0 -10
- package/dist/plugins/learning-plugin.interface.d.ts +0 -257
- package/dist/plugins/learning-plugin.interface.d.ts.map +0 -1
- package/dist/plugins/learning-plugin.interface.js +0 -7
- package/dist/plugins/learning-plugin.interface.js.map +0 -1
- package/dist/plugins/learning-plugin.interface.mjs +0 -5
- package/dist/plugins/plugin-exports.d.ts +0 -71
- package/dist/plugins/plugin-exports.d.ts.map +0 -1
- package/dist/plugins/plugin-exports.js +0 -78
- package/dist/plugins/plugin-exports.js.map +0 -1
- package/dist/plugins/plugin-exports.mjs +0 -69
- package/dist/plugins/registry.d.ts +0 -206
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -365
- package/dist/plugins/registry.js.map +0 -1
- package/dist/plugins/registry.mjs +0 -356
- package/dist/plugins/validator.d.ts +0 -63
- package/dist/plugins/validator.d.ts.map +0 -1
- package/dist/plugins/validator.js +0 -464
- package/dist/plugins/validator.js.map +0 -1
- package/dist/plugins/validator.mjs +0 -458
- package/dist/presets.d.ts +0 -65
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -145
- package/dist/presets.js.map +0 -1
- package/dist/presets.mjs +0 -140
- package/dist/quantization/binary-quantization.d.ts +0 -104
- package/dist/quantization/binary-quantization.d.ts.map +0 -1
- package/dist/quantization/binary-quantization.js +0 -246
- package/dist/quantization/binary-quantization.js.map +0 -1
- package/dist/quantization/binary-quantization.mjs +0 -240
- package/dist/quantization/optimized-pq.d.ts +0 -138
- package/dist/quantization/optimized-pq.d.ts.map +0 -1
- package/dist/quantization/optimized-pq.js +0 -320
- package/dist/quantization/optimized-pq.js.map +0 -1
- package/dist/quantization/optimized-pq.mjs +0 -313
- package/dist/quantization/product-quantization.d.ts +0 -109
- package/dist/quantization/product-quantization.d.ts.map +0 -1
- package/dist/quantization/product-quantization.js +0 -287
- package/dist/quantization/product-quantization.js.map +0 -1
- package/dist/quantization/product-quantization.mjs +0 -282
- package/dist/quantization/scalar-quantization.d.ts +0 -100
- package/dist/quantization/scalar-quantization.d.ts.map +0 -1
- package/dist/quantization/scalar-quantization.js +0 -324
- package/dist/quantization/scalar-quantization.js.map +0 -1
- package/dist/quantization/scalar-quantization.mjs +0 -319
- package/dist/query/index.d.ts +0 -6
- package/dist/query/index.d.ts.map +0 -1
- package/dist/query/index.js +0 -9
- package/dist/query/index.js.map +0 -1
- package/dist/query/index.mjs +0 -4
- package/dist/query/query-builder.d.ts +0 -323
- package/dist/query/query-builder.d.ts.map +0 -1
- package/dist/query/query-builder.js +0 -524
- package/dist/query/query-builder.js.map +0 -1
- package/dist/query/query-builder.mjs +0 -519
- package/dist/reasoning/context-synthesizer.d.ts +0 -57
- package/dist/reasoning/context-synthesizer.d.ts.map +0 -1
- package/dist/reasoning/context-synthesizer.js +0 -224
- package/dist/reasoning/context-synthesizer.js.map +0 -1
- package/dist/reasoning/context-synthesizer.mjs +0 -219
- package/dist/reasoning/experience-curator.d.ts +0 -66
- package/dist/reasoning/experience-curator.d.ts.map +0 -1
- package/dist/reasoning/experience-curator.js +0 -288
- package/dist/reasoning/experience-curator.js.map +0 -1
- package/dist/reasoning/experience-curator.mjs +0 -283
- package/dist/reasoning/memory-optimizer.d.ts +0 -69
- package/dist/reasoning/memory-optimizer.d.ts.map +0 -1
- package/dist/reasoning/memory-optimizer.js +0 -331
- package/dist/reasoning/memory-optimizer.js.map +0 -1
- package/dist/reasoning/memory-optimizer.mjs +0 -326
- package/dist/reasoning/pattern-matcher.d.ts +0 -59
- package/dist/reasoning/pattern-matcher.d.ts.map +0 -1
- package/dist/reasoning/pattern-matcher.js +0 -229
- package/dist/reasoning/pattern-matcher.js.map +0 -1
- package/dist/reasoning/pattern-matcher.mjs +0 -224
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts +0 -118
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts.map +0 -1
- package/dist/reasoningbank/adapter/agentdb-adapter.js +0 -477
- package/dist/reasoningbank/adapter/agentdb-adapter.js.map +0 -1
- package/dist/reasoningbank/adapter/types.d.ts +0 -113
- package/dist/reasoningbank/adapter/types.d.ts.map +0 -1
- package/dist/reasoningbank/adapter/types.js +0 -9
- package/dist/reasoningbank/adapter/types.js.map +0 -1
- package/dist/reasoningbank/cli/commands.d.ts +0 -16
- package/dist/reasoningbank/cli/commands.d.ts.map +0 -1
- package/dist/reasoningbank/cli/commands.js +0 -272
- package/dist/reasoningbank/cli/commands.js.map +0 -1
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts +0 -319
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts.map +0 -1
- package/dist/reasoningbank/mcp/agentdb-tools.js +0 -301
- package/dist/reasoningbank/mcp/agentdb-tools.js.map +0 -1
- package/dist/reasoningbank/migration/migrate.d.ts +0 -25
- package/dist/reasoningbank/migration/migrate.d.ts.map +0 -1
- package/dist/reasoningbank/migration/migrate.js +0 -178
- package/dist/reasoningbank/migration/migrate.js.map +0 -1
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts +0 -37
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts.map +0 -1
- package/dist/reasoningbank/reasoning/context-synthesizer.js +0 -114
- package/dist/reasoningbank/reasoning/context-synthesizer.js.map +0 -1
- package/dist/reasoningbank/reasoning/experience-curator.d.ts +0 -39
- package/dist/reasoningbank/reasoning/experience-curator.d.ts.map +0 -1
- package/dist/reasoningbank/reasoning/experience-curator.js +0 -98
- package/dist/reasoningbank/reasoning/experience-curator.js.map +0 -1
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts +0 -44
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts.map +0 -1
- package/dist/reasoningbank/reasoning/memory-optimizer.js +0 -184
- package/dist/reasoningbank/reasoning/memory-optimizer.js.map +0 -1
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts +0 -40
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts.map +0 -1
- package/dist/reasoningbank/reasoning/pattern-matcher.js +0 -87
- package/dist/reasoningbank/reasoning/pattern-matcher.js.map +0 -1
- package/dist/reasoningbank/sync/quic-sync.d.ts +0 -77
- package/dist/reasoningbank/sync/quic-sync.d.ts.map +0 -1
- package/dist/reasoningbank/sync/quic-sync.js +0 -165
- package/dist/reasoningbank/sync/quic-sync.js.map +0 -1
- package/dist/sync/conflict.d.ts +0 -78
- package/dist/sync/conflict.d.ts.map +0 -1
- package/dist/sync/conflict.js +0 -202
- package/dist/sync/conflict.js.map +0 -1
- package/dist/sync/conflict.mjs +0 -196
- package/dist/sync/coordinator.d.ts +0 -111
- package/dist/sync/coordinator.d.ts.map +0 -1
- package/dist/sync/coordinator.js +0 -256
- package/dist/sync/coordinator.js.map +0 -1
- package/dist/sync/coordinator.mjs +0 -250
- package/dist/sync/delta.d.ts +0 -81
- package/dist/sync/delta.d.ts.map +0 -1
- package/dist/sync/delta.js +0 -245
- package/dist/sync/delta.js.map +0 -1
- package/dist/sync/delta.mjs +0 -238
- package/dist/sync/index.d.ts +0 -11
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js +0 -22
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/index.mjs +0 -9
- package/dist/sync/quic-sync.d.ts +0 -81
- package/dist/sync/quic-sync.d.ts.map +0 -1
- package/dist/sync/quic-sync.js +0 -329
- package/dist/sync/quic-sync.js.map +0 -1
- package/dist/sync/quic-sync.mjs +0 -323
- package/dist/sync/types.d.ts +0 -168
- package/dist/sync/types.d.ts.map +0 -1
- package/dist/sync/types.js +0 -8
- package/dist/sync/types.js.map +0 -1
- package/dist/sync/types.mjs +0 -6
- package/dist/types/index.d.ts +0 -117
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +0 -1
- package/dist/types/index.mjs +0 -4
- package/dist/wasm/sql-wasm-debug.js +0 -6989
- package/dist/wasm/sql-wasm-debug.wasm +0 -0
- package/dist/wasm/sql-wasm.js +0 -188
- package/dist/wasm/sql-wasm.wasm +0 -0
- package/dist/wasm-loader.d.ts +0 -32
- package/dist/wasm-loader.d.ts.map +0 -1
- package/dist/wasm-loader.js +0 -78
- package/dist/wasm-loader.js.map +0 -1
- package/dist/wasm-loader.mjs +0 -67
- package/examples/adaptive-learning.ts +0 -284
- package/examples/browser/README.md +0 -732
- package/examples/browser/adaptive-recommendations/index.html +0 -427
- package/examples/browser/collaborative-filtering/index.html +0 -310
- package/examples/browser/continual-learning/index.html +0 -736
- package/examples/browser/experience-replay/index.html +0 -616
- package/examples/browser/index.html +0 -369
- package/examples/browser/meta-learning/index.html +0 -789
- package/examples/browser/neuro-symbolic/index.html +0 -692
- package/examples/browser/pattern-learning/index.html +0 -620
- package/examples/browser/quantum-inspired/index.html +0 -728
- package/examples/browser/rag/index.html +0 -624
- package/examples/browser/swarm-intelligence/index.html +0 -811
- package/examples/browser-basic.html +0 -170
- package/examples/browser-wasm-real.html +0 -231
- package/examples/hnsw-example.ts +0 -148
- package/examples/mcp-learning-example.ts +0 -220
- package/examples/node-basic.js +0 -70
- package/examples/quic-sync-example.ts +0 -310
- package/examples/quick-start.js +0 -68
- package/examples/test-v1.0.7-cdn.html +0 -190
- package/examples/wasm-example.ts +0 -222
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Learning Integration Example
|
|
3
|
-
*
|
|
4
|
-
* This example demonstrates how to use AgentDB's learning capabilities
|
|
5
|
-
* to optimize tool selection based on past experiences.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { SQLiteVectorDB } from '../src/core/vector-db.js';
|
|
9
|
-
import { LearningManager } from '../src/mcp/learning/core/learning-manager.js';
|
|
10
|
-
import type { Outcome, State } from '../src/mcp/learning/types/index.js';
|
|
11
|
-
|
|
12
|
-
async function main() {
|
|
13
|
-
console.log('ð§ AgentDB Learning Integration Example\n');
|
|
14
|
-
|
|
15
|
-
// 1. Initialize database and learning manager
|
|
16
|
-
const db = new SQLiteVectorDB({ memoryMode: true });
|
|
17
|
-
const learningManager = new LearningManager(db);
|
|
18
|
-
|
|
19
|
-
// 2. Start a learning session
|
|
20
|
-
const session = await learningManager.startSession(
|
|
21
|
-
'developer-1',
|
|
22
|
-
'coding',
|
|
23
|
-
'q-learning',
|
|
24
|
-
{
|
|
25
|
-
learningRate: 0.1,
|
|
26
|
-
discountFactor: 0.95,
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
console.log(
|
|
31
|
-
`â
Started learning session: ${session.sessionId}\n Type: ${session.sessionType}\n Plugin: ${session.plugin}\n`
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
// 3. Simulate tool executions with different outcomes
|
|
35
|
-
console.log('ð Recording tool execution experiences...\n');
|
|
36
|
-
|
|
37
|
-
const tools = [
|
|
38
|
-
{ name: 'static_analyzer', avgSuccess: 0.9, avgTime: 200 },
|
|
39
|
-
{ name: 'type_checker', avgSuccess: 0.85, avgTime: 300 },
|
|
40
|
-
{ name: 'linter', avgSuccess: 0.7, avgTime: 400 },
|
|
41
|
-
{ name: 'formatter', avgSuccess: 0.95, avgTime: 150 },
|
|
42
|
-
];
|
|
43
|
-
|
|
44
|
-
// Record 50 tool executions
|
|
45
|
-
for (let i = 0; i < 50; i++) {
|
|
46
|
-
const tool = tools[i % tools.length];
|
|
47
|
-
const success = Math.random() < tool.avgSuccess;
|
|
48
|
-
|
|
49
|
-
const outcome: Outcome = {
|
|
50
|
-
success,
|
|
51
|
-
result: success ? { issues: [] } : null,
|
|
52
|
-
error: success ? undefined : new Error('Tool failed'),
|
|
53
|
-
executionTime: tool.avgTime + Math.random() * 100,
|
|
54
|
-
tokensUsed: 100 + Math.random() * 200,
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const experience = await learningManager.recordExperience(
|
|
58
|
-
session.sessionId,
|
|
59
|
-
tool.name,
|
|
60
|
-
{ file: `test${i}.ts` },
|
|
61
|
-
outcome.result,
|
|
62
|
-
outcome
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
if (i % 10 === 0) {
|
|
66
|
-
console.log(
|
|
67
|
-
` ${i + 1}/50 - ${tool.name}: ${success ? 'â
' : 'â'} (reward: ${experience.reward.toFixed(3)})`
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// 4. Get learning metrics
|
|
73
|
-
console.log('\nð Learning Metrics:');
|
|
74
|
-
const metrics = await learningManager.getMetrics(session.sessionId, 'session');
|
|
75
|
-
|
|
76
|
-
console.log(` Total Experiences: ${metrics.totalExperiences}`);
|
|
77
|
-
console.log(` Average Reward: ${metrics.averageReward.toFixed(3)}`);
|
|
78
|
-
console.log(` Success Rate: ${(metrics.successRate * 100).toFixed(1)}%`);
|
|
79
|
-
console.log(` Learning Progress: ${metrics.learningProgress.improvement}`);
|
|
80
|
-
|
|
81
|
-
console.log('\n Top Performing Actions:');
|
|
82
|
-
metrics.topActions.forEach((action, i) => {
|
|
83
|
-
console.log(
|
|
84
|
-
` ${i + 1}. ${action.tool}: ${(action.successRate * 100).toFixed(1)}% success, ${action.avgReward.toFixed(3)} avg reward (${action.count} uses)`
|
|
85
|
-
);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
// 5. Train the policy
|
|
89
|
-
console.log('\nðŊ Training policy on collected experiences...');
|
|
90
|
-
const trainingMetrics = await learningManager.train(session.sessionId, {
|
|
91
|
-
batchSize: 16,
|
|
92
|
-
epochs: 10,
|
|
93
|
-
learningRate: 0.1,
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
console.log(` Experiences Processed: ${trainingMetrics.experiencesProcessed}`);
|
|
97
|
-
console.log(` Training Time: ${trainingMetrics.trainingTime}ms`);
|
|
98
|
-
console.log(` Final Loss: ${trainingMetrics.loss.toFixed(4)}`);
|
|
99
|
-
console.log(` Accuracy: ${(trainingMetrics.accuracy * 100).toFixed(1)}%`);
|
|
100
|
-
|
|
101
|
-
// 6. Get action prediction for a new task
|
|
102
|
-
console.log('\nðŪ Predicting best action for new task...');
|
|
103
|
-
|
|
104
|
-
const currentState: State = {
|
|
105
|
-
taskDescription: 'Analyze TypeScript code for issues',
|
|
106
|
-
availableTools: tools.map((t) => t.name),
|
|
107
|
-
previousActions: [],
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
const prediction = await learningManager.predictAction(
|
|
111
|
-
session.sessionId,
|
|
112
|
-
currentState,
|
|
113
|
-
tools.map((t) => t.name)
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
console.log('\n Recommended Action:');
|
|
117
|
-
console.log(
|
|
118
|
-
` Tool: ${prediction.recommendedAction.tool} (confidence: ${(prediction.recommendedAction.confidence * 100).toFixed(1)}%)`
|
|
119
|
-
);
|
|
120
|
-
console.log(` Reasoning: ${prediction.recommendedAction.reasoning}`);
|
|
121
|
-
|
|
122
|
-
console.log('\n Alternative Actions:');
|
|
123
|
-
prediction.alternatives.slice(0, 3).forEach((alt, i) => {
|
|
124
|
-
console.log(
|
|
125
|
-
` ${i + 1}. ${alt.tool} (confidence: ${(alt.confidence * 100).toFixed(1)}%)`
|
|
126
|
-
);
|
|
127
|
-
console.log(` ${alt.reasoning}`);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
// 7. Explain the prediction
|
|
131
|
-
console.log('\nðĄ Explanation for recommendation...');
|
|
132
|
-
const explanation = await learningManager.explainPrediction(
|
|
133
|
-
session.sessionId,
|
|
134
|
-
currentState
|
|
135
|
-
);
|
|
136
|
-
|
|
137
|
-
console.log(` ${explanation.reasoning}`);
|
|
138
|
-
console.log(
|
|
139
|
-
` Based on ${explanation.similarExperiences.length} similar past experiences`
|
|
140
|
-
);
|
|
141
|
-
console.log(' Confidence Factors:');
|
|
142
|
-
Object.entries(explanation.confidenceFactors).forEach(([key, value]) => {
|
|
143
|
-
console.log(
|
|
144
|
-
` - ${key}: ${typeof value === 'number' ? (value * 100).toFixed(1) + '%' : value}`
|
|
145
|
-
);
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
// 8. Simulate user feedback
|
|
149
|
-
console.log('\nðŽ Providing user feedback...');
|
|
150
|
-
await learningManager.provideFeedback(
|
|
151
|
-
session.sessionId,
|
|
152
|
-
'action_0', // Would be from actual experience
|
|
153
|
-
{
|
|
154
|
-
success: true,
|
|
155
|
-
rating: 4.5,
|
|
156
|
-
comments: 'Very helpful suggestion',
|
|
157
|
-
dimensions: {
|
|
158
|
-
speed: 0.9,
|
|
159
|
-
accuracy: 0.95,
|
|
160
|
-
completeness: 0.85,
|
|
161
|
-
},
|
|
162
|
-
}
|
|
163
|
-
);
|
|
164
|
-
console.log(' â
Feedback recorded');
|
|
165
|
-
|
|
166
|
-
// 9. Transfer learning to similar task
|
|
167
|
-
console.log('\nð Testing transfer learning...');
|
|
168
|
-
|
|
169
|
-
const debugSession = await learningManager.startSession(
|
|
170
|
-
'developer-1',
|
|
171
|
-
'debugging',
|
|
172
|
-
'q-learning'
|
|
173
|
-
);
|
|
174
|
-
|
|
175
|
-
const transferMetrics = await learningManager.transferLearning(
|
|
176
|
-
session.sessionId,
|
|
177
|
-
debugSession.sessionId,
|
|
178
|
-
0.7 // 70% similarity
|
|
179
|
-
);
|
|
180
|
-
|
|
181
|
-
console.log(` Source Task: ${transferMetrics.sourceTask}`);
|
|
182
|
-
console.log(` Target Task: ${transferMetrics.targetTask}`);
|
|
183
|
-
console.log(` Similarity: ${(transferMetrics.similarity * 100).toFixed(0)}%`);
|
|
184
|
-
console.log(
|
|
185
|
-
` Performance Gain: +${(transferMetrics.performanceGain * 100).toFixed(1)}%`
|
|
186
|
-
);
|
|
187
|
-
console.log(
|
|
188
|
-
` Experiences Transferred: ${transferMetrics.experiencesTransferred}`
|
|
189
|
-
);
|
|
190
|
-
|
|
191
|
-
// 10. End sessions
|
|
192
|
-
console.log('\nð Ending sessions...');
|
|
193
|
-
await learningManager.endSession(session.sessionId);
|
|
194
|
-
await learningManager.endSession(debugSession.sessionId);
|
|
195
|
-
|
|
196
|
-
console.log(' â
Sessions ended and policies saved');
|
|
197
|
-
|
|
198
|
-
// Cleanup
|
|
199
|
-
db.close();
|
|
200
|
-
|
|
201
|
-
console.log('\nâĻ Example completed successfully!\n');
|
|
202
|
-
|
|
203
|
-
// Summary
|
|
204
|
-
console.log('ð Key Takeaways:');
|
|
205
|
-
console.log(' 1. Learning system tracks tool performance over time');
|
|
206
|
-
console.log(' 2. Rewards are calculated based on success, speed, quality, and cost');
|
|
207
|
-
console.log(' 3. Policy learns to recommend best tools for each task');
|
|
208
|
-
console.log(' 4. Transfer learning accelerates learning on similar tasks');
|
|
209
|
-
console.log(' 5. User feedback further refines the learning process');
|
|
210
|
-
console.log('\n Expected improvements after 100+ interactions:');
|
|
211
|
-
console.log(' - 20% faster task completion');
|
|
212
|
-
console.log(' - 30% better token efficiency');
|
|
213
|
-
console.log(' - Higher success rates on repeated task types');
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
// Run the example
|
|
217
|
-
main().catch((error) => {
|
|
218
|
-
console.error('Error:', error);
|
|
219
|
-
process.exit(1);
|
|
220
|
-
});
|
package/examples/node-basic.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Basic Node.js usage example
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
const { createDb, Vector } = require('../dist/index.js');
|
|
6
|
-
|
|
7
|
-
async function main() {
|
|
8
|
-
console.log('SQLiteVector - Node.js Example\n');
|
|
9
|
-
|
|
10
|
-
// Create in-memory database
|
|
11
|
-
console.log('Creating database...');
|
|
12
|
-
const db = await createDb({ memoryMode: true });
|
|
13
|
-
|
|
14
|
-
// Insert vectors
|
|
15
|
-
console.log('Inserting vectors...');
|
|
16
|
-
const vector1 = new Vector([0.1, 0.2, 0.3], { doc: 'First document' });
|
|
17
|
-
const vector2 = new Vector([0.4, 0.5, 0.6], { doc: 'Second document' });
|
|
18
|
-
const vector3 = new Vector([0.15, 0.25, 0.35], { doc: 'Similar to first' });
|
|
19
|
-
|
|
20
|
-
const id1 = await db.insert(vector1);
|
|
21
|
-
const id2 = await db.insert(vector2);
|
|
22
|
-
const id3 = await db.insert(vector3);
|
|
23
|
-
|
|
24
|
-
console.log(`Inserted vectors with IDs: ${id1}, ${id2}, ${id3}`);
|
|
25
|
-
|
|
26
|
-
// Batch insert
|
|
27
|
-
console.log('\nBatch inserting vectors...');
|
|
28
|
-
const batchVectors = [
|
|
29
|
-
new Vector([0.7, 0.8, 0.9], { doc: 'Batch 1' }),
|
|
30
|
-
new Vector([0.2, 0.3, 0.4], { doc: 'Batch 2' }),
|
|
31
|
-
];
|
|
32
|
-
const batchIds = await db.insertBatch(batchVectors);
|
|
33
|
-
console.log(`Batch inserted IDs: ${batchIds.join(', ')}`);
|
|
34
|
-
|
|
35
|
-
// Search for similar vectors
|
|
36
|
-
console.log('\nSearching for similar vectors...');
|
|
37
|
-
const query = new Vector([0.12, 0.22, 0.32]);
|
|
38
|
-
const results = await db.search(query, 3, { metric: 'cosine' });
|
|
39
|
-
|
|
40
|
-
console.log('Search results:');
|
|
41
|
-
results.forEach((result, i) => {
|
|
42
|
-
console.log(` ${i + 1}. ID: ${result.id}, Score: ${result.score.toFixed(4)}, Metadata:`, result.metadata);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
// Get statistics
|
|
46
|
-
console.log('\nDatabase statistics:');
|
|
47
|
-
const stats = await db.getStats();
|
|
48
|
-
console.log(` Total vectors: ${stats.totalVectors}`);
|
|
49
|
-
console.log(` Dimension: ${stats.dimension}`);
|
|
50
|
-
console.log(` Memory usage: ${(stats.memoryUsage / 1024).toFixed(2)} KB`);
|
|
51
|
-
console.log(` DB size: ${(stats.dbSize / 1024).toFixed(2)} KB`);
|
|
52
|
-
|
|
53
|
-
// Update a vector
|
|
54
|
-
console.log('\nUpdating vector...');
|
|
55
|
-
const updated = await db.update(id1, new Vector([0.11, 0.21, 0.31], { doc: 'Updated first' }));
|
|
56
|
-
console.log(`Update successful: ${updated}`);
|
|
57
|
-
|
|
58
|
-
// Delete a vector
|
|
59
|
-
console.log('\nDeleting vector...');
|
|
60
|
-
const deleted = await db.delete(id2);
|
|
61
|
-
console.log(`Delete successful: ${deleted}`);
|
|
62
|
-
|
|
63
|
-
// Final stats
|
|
64
|
-
const finalStats = await db.getStats();
|
|
65
|
-
console.log(`\nFinal vector count: ${finalStats.totalVectors}`);
|
|
66
|
-
|
|
67
|
-
console.log('\nExample completed successfully!');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
main().catch(console.error);
|
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLiteVector QUIC Sync - Complete Example
|
|
3
|
-
*
|
|
4
|
-
* Demonstrates real-time vector synchronization using QUIC
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import Database from 'better-sqlite3';
|
|
8
|
-
import { createVectorSync, createShardCoordinator } from '../src/sync';
|
|
9
|
-
|
|
10
|
-
// Initialize database with changelog schema
|
|
11
|
-
function setupDatabase(dbPath: string): any {
|
|
12
|
-
const db = new Database(dbPath);
|
|
13
|
-
|
|
14
|
-
// Create vector changelog table
|
|
15
|
-
db.exec(`
|
|
16
|
-
CREATE TABLE IF NOT EXISTS vector_changelog (
|
|
17
|
-
change_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
18
|
-
shard_id TEXT NOT NULL,
|
|
19
|
-
vector_id TEXT NOT NULL,
|
|
20
|
-
operation TEXT NOT NULL,
|
|
21
|
-
vector_data TEXT,
|
|
22
|
-
metadata TEXT,
|
|
23
|
-
timestamp INTEGER NOT NULL,
|
|
24
|
-
source_node TEXT NOT NULL,
|
|
25
|
-
version_vector TEXT NOT NULL,
|
|
26
|
-
INDEX idx_shard_change (shard_id, change_id)
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
CREATE TABLE IF NOT EXISTS shard_metadata (
|
|
30
|
-
shard_id TEXT PRIMARY KEY,
|
|
31
|
-
version_vector TEXT NOT NULL,
|
|
32
|
-
updated_at INTEGER NOT NULL
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
CREATE TABLE IF NOT EXISTS vectors (
|
|
36
|
-
id TEXT PRIMARY KEY,
|
|
37
|
-
shard_id TEXT NOT NULL,
|
|
38
|
-
vector BLOB NOT NULL,
|
|
39
|
-
metadata TEXT,
|
|
40
|
-
created_at INTEGER NOT NULL,
|
|
41
|
-
updated_at INTEGER NOT NULL
|
|
42
|
-
);
|
|
43
|
-
`);
|
|
44
|
-
|
|
45
|
-
return db;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Example 1: Basic Two-Node Sync
|
|
49
|
-
async function basicSyncExample() {
|
|
50
|
-
console.log('ð Example 1: Basic Two-Node Sync\n');
|
|
51
|
-
|
|
52
|
-
const db1 = setupDatabase(':memory:');
|
|
53
|
-
const db2 = setupDatabase(':memory:');
|
|
54
|
-
|
|
55
|
-
// Create sync instances
|
|
56
|
-
const sync1 = await createVectorSync(db1, 'node-1', {
|
|
57
|
-
conflictStrategy: 'last-write-wins',
|
|
58
|
-
batchSize: 100,
|
|
59
|
-
compression: true
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
const sync2 = await createVectorSync(db2, 'node-2', {
|
|
63
|
-
conflictStrategy: 'last-write-wins',
|
|
64
|
-
batchSize: 100,
|
|
65
|
-
compression: true
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
console.log('â Initialized sync on node-1 and node-2');
|
|
69
|
-
|
|
70
|
-
// Simulate changes on node-1
|
|
71
|
-
db1.prepare(`
|
|
72
|
-
INSERT INTO vector_changelog
|
|
73
|
-
(shard_id, vector_id, operation, vector_data, timestamp, source_node, version_vector)
|
|
74
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
75
|
-
`).run(
|
|
76
|
-
'shard-1',
|
|
77
|
-
'vec-1',
|
|
78
|
-
'insert',
|
|
79
|
-
JSON.stringify([1.0, 2.0, 3.0]),
|
|
80
|
-
Date.now() * 1000,
|
|
81
|
-
'node-1',
|
|
82
|
-
JSON.stringify({ 'node-1': 1 })
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
console.log('â Created change on node-1');
|
|
86
|
-
|
|
87
|
-
// Note: This would require a running QUIC server
|
|
88
|
-
// For demonstration, we show the API:
|
|
89
|
-
// const result = await sync1.sync('shard-1', '192.168.1.100:4433');
|
|
90
|
-
// console.log(`â Synced ${result.changesApplied} changes`);
|
|
91
|
-
|
|
92
|
-
await sync1.close();
|
|
93
|
-
await sync2.close();
|
|
94
|
-
|
|
95
|
-
console.log('\nâ
Example 1 complete\n');
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// Example 2: Multi-Shard Mesh Network
|
|
99
|
-
async function meshNetworkExample() {
|
|
100
|
-
console.log('ð Example 2: Multi-Shard Mesh Network\n');
|
|
101
|
-
|
|
102
|
-
const db = setupDatabase(':memory:');
|
|
103
|
-
const coordinator = await createShardCoordinator(db, 'coordinator-node', {}, 10);
|
|
104
|
-
|
|
105
|
-
// Register 4 peers in mesh topology
|
|
106
|
-
const peers = [
|
|
107
|
-
{ nodeId: 'node-1', address: '192.168.1.100:4433', shards: ['shard-1', 'shard-2'] },
|
|
108
|
-
{ nodeId: 'node-2', address: '192.168.1.101:4433', shards: ['shard-2', 'shard-3'] },
|
|
109
|
-
{ nodeId: 'node-3', address: '192.168.1.102:4433', shards: ['shard-1', 'shard-3'] },
|
|
110
|
-
{ nodeId: 'node-4', address: '192.168.1.103:4433', shards: ['shard-1', 'shard-2', 'shard-3'] }
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
for (const peer of peers) {
|
|
114
|
-
coordinator.registerPeer({
|
|
115
|
-
...peer,
|
|
116
|
-
lastContact: Date.now(),
|
|
117
|
-
status: 'online'
|
|
118
|
-
});
|
|
119
|
-
console.log(`â Registered peer: ${peer.nodeId} (${peer.shards.join(', ')})`);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
console.log('\nð Mesh Network:');
|
|
123
|
-
console.log(' - 4 peers');
|
|
124
|
-
console.log(' - 3 shards');
|
|
125
|
-
console.log(' - Replicated across all nodes');
|
|
126
|
-
|
|
127
|
-
// Show stats
|
|
128
|
-
const stats = coordinator.getStats();
|
|
129
|
-
console.log(`\nð Stats:`);
|
|
130
|
-
console.log(` - Total shards: ${stats.totalShards}`);
|
|
131
|
-
console.log(` - Total syncs: ${stats.totalSyncs}`);
|
|
132
|
-
|
|
133
|
-
// Get all shard states
|
|
134
|
-
const states = await coordinator.getAllShardStates();
|
|
135
|
-
console.log(`\nð Shard States:`);
|
|
136
|
-
for (const state of states) {
|
|
137
|
-
console.log(` - ${state.shardId}: ${state.status} (change ID: ${state.currentChangeId})`);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
console.log('\nâ
Example 2 complete\n');
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// Example 3: Conflict Resolution Strategies
|
|
144
|
-
async function conflictResolutionExample() {
|
|
145
|
-
console.log('âïļ Example 3: Conflict Resolution Strategies\n');
|
|
146
|
-
|
|
147
|
-
const db = setupDatabase(':memory:');
|
|
148
|
-
|
|
149
|
-
// Last-Write-Wins
|
|
150
|
-
console.log('Strategy 1: Last-Write-Wins');
|
|
151
|
-
const syncLWW = await createVectorSync(db, 'node-lww', {
|
|
152
|
-
conflictStrategy: 'last-write-wins'
|
|
153
|
-
});
|
|
154
|
-
console.log(' â Newest change always wins');
|
|
155
|
-
await syncLWW.close();
|
|
156
|
-
|
|
157
|
-
// First-Write-Wins
|
|
158
|
-
console.log('\nStrategy 2: First-Write-Wins');
|
|
159
|
-
const syncFWW = await createVectorSync(db, 'node-fww', {
|
|
160
|
-
conflictStrategy: 'first-write-wins'
|
|
161
|
-
});
|
|
162
|
-
console.log(' â Oldest change always wins');
|
|
163
|
-
await syncFWW.close();
|
|
164
|
-
|
|
165
|
-
// Merge
|
|
166
|
-
console.log('\nStrategy 3: Merge');
|
|
167
|
-
const syncMerge = await createVectorSync(db, 'node-merge', {
|
|
168
|
-
conflictStrategy: 'merge'
|
|
169
|
-
});
|
|
170
|
-
console.log(' â Metadata merged, vectors averaged');
|
|
171
|
-
await syncMerge.close();
|
|
172
|
-
|
|
173
|
-
// Manual
|
|
174
|
-
console.log('\nStrategy 4: Manual');
|
|
175
|
-
const syncManual = await createVectorSync(db, 'node-manual', {
|
|
176
|
-
conflictStrategy: 'manual'
|
|
177
|
-
});
|
|
178
|
-
console.log(' â Conflicts tracked for custom resolution');
|
|
179
|
-
|
|
180
|
-
// Show unresolved conflicts
|
|
181
|
-
const conflicts = syncManual.getUnresolvedConflicts();
|
|
182
|
-
console.log(` â Unresolved conflicts: ${conflicts.length}`);
|
|
183
|
-
|
|
184
|
-
await syncManual.close();
|
|
185
|
-
|
|
186
|
-
console.log('\nâ
Example 3 complete\n');
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Example 4: Real-Time Auto-Sync
|
|
190
|
-
async function realTimeSyncExample() {
|
|
191
|
-
console.log('⥠Example 4: Real-Time Auto-Sync\n');
|
|
192
|
-
|
|
193
|
-
const db = setupDatabase(':memory:');
|
|
194
|
-
|
|
195
|
-
const sync = await createVectorSync(db, 'realtime-node', {
|
|
196
|
-
conflictStrategy: 'last-write-wins',
|
|
197
|
-
syncIntervalMs: 1000 // Sync every second
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
console.log('â Initialized real-time sync (1 second interval)');
|
|
201
|
-
|
|
202
|
-
// Note: This would start automatic background sync
|
|
203
|
-
// sync.startAutoSync('shard-1', '192.168.1.100:4433');
|
|
204
|
-
// console.log('â Started automatic sync for shard-1');
|
|
205
|
-
|
|
206
|
-
// Monitor sync progress
|
|
207
|
-
console.log('\nð Monitoring (simulated):');
|
|
208
|
-
const state = await sync.getShardState('shard-1');
|
|
209
|
-
console.log(` - Shard: ${state.shardId}`);
|
|
210
|
-
console.log(` - Status: ${state.status}`);
|
|
211
|
-
console.log(` - Current change ID: ${state.currentChangeId}`);
|
|
212
|
-
console.log(` - Vector count: ${state.vectorCount}`);
|
|
213
|
-
|
|
214
|
-
await sync.close();
|
|
215
|
-
|
|
216
|
-
console.log('\nâ
Example 4 complete\n');
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// Example 5: Performance Demonstration
|
|
220
|
-
async function performanceExample() {
|
|
221
|
-
console.log('ð Example 5: Performance Demonstration\n');
|
|
222
|
-
|
|
223
|
-
const { DeltaEncoder } = await import('../src/sync/delta');
|
|
224
|
-
const { ConflictResolver } = await import('../src/sync/conflict');
|
|
225
|
-
|
|
226
|
-
// Create test data
|
|
227
|
-
const changes = Array.from({ length: 100 }, (_, i) => ({
|
|
228
|
-
id: i + 1,
|
|
229
|
-
operation: 'insert' as const,
|
|
230
|
-
shardId: 'perf-shard',
|
|
231
|
-
vectorId: `vec-${i}`,
|
|
232
|
-
vector: new Float32Array(128).fill(Math.random()),
|
|
233
|
-
metadata: { index: i },
|
|
234
|
-
timestamp: Date.now() * 1000 + i,
|
|
235
|
-
sourceNode: 'perf-node',
|
|
236
|
-
versionVector: new Map([['perf-node', i + 1]])
|
|
237
|
-
}));
|
|
238
|
-
|
|
239
|
-
// Benchmark delta encoding
|
|
240
|
-
console.log('ð Delta Encoding (100 vectors):');
|
|
241
|
-
const encodeStart = performance.now();
|
|
242
|
-
const delta = DeltaEncoder.encode('perf-shard', changes, 'msgpack');
|
|
243
|
-
const encodeTime = performance.now() - encodeStart;
|
|
244
|
-
console.log(` â Encode: ${encodeTime.toFixed(2)}ms (target: <10ms)`);
|
|
245
|
-
|
|
246
|
-
// Benchmark serialization
|
|
247
|
-
const serializeStart = performance.now();
|
|
248
|
-
const bytes = DeltaEncoder.serialize(delta);
|
|
249
|
-
const serializeTime = performance.now() - serializeStart;
|
|
250
|
-
console.log(` â Serialize: ${serializeTime.toFixed(2)}ms (target: <5ms)`);
|
|
251
|
-
console.log(` â Compressed size: ${bytes.length} bytes`);
|
|
252
|
-
|
|
253
|
-
// Benchmark deserialization
|
|
254
|
-
const deserializeStart = performance.now();
|
|
255
|
-
const deserialized = DeltaEncoder.deserialize(bytes);
|
|
256
|
-
const deserializeTime = performance.now() - deserializeStart;
|
|
257
|
-
console.log(` â Deserialize: ${deserializeTime.toFixed(2)}ms (target: <5ms)`);
|
|
258
|
-
|
|
259
|
-
// Benchmark conflict resolution
|
|
260
|
-
console.log('\nâïļ Conflict Resolution (100 conflicts):');
|
|
261
|
-
const resolver = new ConflictResolver('last-write-wins');
|
|
262
|
-
const remote = changes.map(c => ({
|
|
263
|
-
...c,
|
|
264
|
-
id: c.id + 1000,
|
|
265
|
-
sourceNode: 'remote-node'
|
|
266
|
-
}));
|
|
267
|
-
|
|
268
|
-
const resolveStart = performance.now();
|
|
269
|
-
const result = resolver.resolveAll(changes, remote);
|
|
270
|
-
const resolveTime = performance.now() - resolveStart;
|
|
271
|
-
console.log(` â Resolve: ${resolveTime.toFixed(2)}ms (target: <5ms)`);
|
|
272
|
-
console.log(` â Resolved: ${result.resolved.length} changes`);
|
|
273
|
-
|
|
274
|
-
console.log('\nâ
Example 5 complete\n');
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// Main execution
|
|
278
|
-
async function main() {
|
|
279
|
-
console.log('âââââââââââââââââââââââââââââââââââââââââââââââââââââââ');
|
|
280
|
-
console.log(' SQLiteVector QUIC Sync - Complete Examples');
|
|
281
|
-
console.log('âââââââââââââââââââââââââââââââââââââââââââââââââââââââ\n');
|
|
282
|
-
|
|
283
|
-
try {
|
|
284
|
-
await basicSyncExample();
|
|
285
|
-
await meshNetworkExample();
|
|
286
|
-
await conflictResolutionExample();
|
|
287
|
-
await realTimeSyncExample();
|
|
288
|
-
await performanceExample();
|
|
289
|
-
|
|
290
|
-
console.log('âââââââââââââââââââââââââââââââââââââââââââââââââââââââ');
|
|
291
|
-
console.log(' â
All examples completed successfully!');
|
|
292
|
-
console.log('âââââââââââââââââââââââââââââââââââââââââââââââââââââââ\n');
|
|
293
|
-
} catch (error) {
|
|
294
|
-
console.error('â Error running examples:', error);
|
|
295
|
-
process.exit(1);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// Run if executed directly
|
|
300
|
-
if (require.main === module) {
|
|
301
|
-
main();
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
export {
|
|
305
|
-
basicSyncExample,
|
|
306
|
-
meshNetworkExample,
|
|
307
|
-
conflictResolutionExample,
|
|
308
|
-
realTimeSyncExample,
|
|
309
|
-
performanceExample
|
|
310
|
-
};
|
package/examples/quick-start.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Quick Start Example
|
|
5
|
-
*
|
|
6
|
-
* Demonstrates basic usage of sqlite-vector
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
const { SqliteVectorDB, Presets } = require('../dist/index.js');
|
|
10
|
-
|
|
11
|
-
async function main() {
|
|
12
|
-
console.log('ð SQLiteVector Quick Start\n');
|
|
13
|
-
|
|
14
|
-
// 1. Create in-memory database
|
|
15
|
-
console.log('1ïļâĢ Creating in-memory database...');
|
|
16
|
-
const db = await SqliteVectorDB.new(Presets.inMemory(128));
|
|
17
|
-
console.log(' â
Database created\n');
|
|
18
|
-
|
|
19
|
-
// 2. Insert some vectors
|
|
20
|
-
console.log('2ïļâĢ Inserting vectors...');
|
|
21
|
-
const vectors = Array.from({ length: 100 }, (_, i) => ({
|
|
22
|
-
data: Array(128).fill(0).map(() => Math.random()),
|
|
23
|
-
metadata: { id: i, type: 'example' }
|
|
24
|
-
}));
|
|
25
|
-
|
|
26
|
-
const insertResult = await db.insertBatch(vectors);
|
|
27
|
-
console.log(` â
Inserted ${insertResult.inserted.length} vectors in ${insertResult.totalTimeMs}ms\n`);
|
|
28
|
-
|
|
29
|
-
// 3. Search for similar vectors
|
|
30
|
-
console.log('3ïļâĢ Searching for similar vectors...');
|
|
31
|
-
const queryVector = Array(128).fill(0).map(() => Math.random());
|
|
32
|
-
|
|
33
|
-
const startTime = Date.now();
|
|
34
|
-
const results = await db.search({ data: queryVector }, 5, 'cosine', 0.0);
|
|
35
|
-
const searchTime = Date.now() - startTime;
|
|
36
|
-
|
|
37
|
-
console.log(` â
Found ${results.length} results in ${searchTime}ms`);
|
|
38
|
-
console.log(' Top result:');
|
|
39
|
-
console.log(` - Similarity: ${results[0].similarity.toFixed(4)}`);
|
|
40
|
-
console.log(` - Metadata: ${JSON.stringify(results[0].metadata)}\n`);
|
|
41
|
-
|
|
42
|
-
// 4. Get statistics
|
|
43
|
-
console.log('4ïļâĢ Database statistics:');
|
|
44
|
-
const stats = await db.getStats();
|
|
45
|
-
console.log(` - Total vectors: ${stats.totalVectors}`);
|
|
46
|
-
console.log(` - Dimension: ${stats.dimension}`);
|
|
47
|
-
console.log(` - Mode: ${stats.mode}`);
|
|
48
|
-
console.log(` - Memory usage: ${(stats.memoryUsageBytes / 1024 / 1024).toFixed(2)} MB`);
|
|
49
|
-
console.log(` - Avg search latency: ${stats.performance.avgSearchLatencyUs.toFixed(0)} Ξs\n`);
|
|
50
|
-
|
|
51
|
-
// 5. Close database
|
|
52
|
-
console.log('5ïļâĢ Closing database...');
|
|
53
|
-
await db.close();
|
|
54
|
-
console.log(' â
Database closed\n');
|
|
55
|
-
|
|
56
|
-
console.log('âĻ Quick start complete!\n');
|
|
57
|
-
console.log('Next steps:');
|
|
58
|
-
console.log(' - Read the README: https://github.com/ruvnet/agentic-flow/tree/main/packages/sqlite-vector');
|
|
59
|
-
console.log(' - Try persistent storage: Presets.smallDataset(128, "./vectors.db")');
|
|
60
|
-
console.log(' - Enable QUIC sync: Presets.withQuicSync(128, "./synced.db", "127.0.0.1:4433")');
|
|
61
|
-
console.log(' - Explore ReasoningBank: Presets.withReasoningBank(128, "./reasoning.db")');
|
|
62
|
-
console.log('');
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
main().catch(error => {
|
|
66
|
-
console.error('â Error:', error.message);
|
|
67
|
-
process.exit(1);
|
|
68
|
-
});
|