agentdb 1.0.12 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +724 -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 -165
- 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,170 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>SQLiteVector Browser Example</title>
|
|
7
|
-
<style>
|
|
8
|
-
body {
|
|
9
|
-
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|
10
|
-
max-width: 800px;
|
|
11
|
-
margin: 50px auto;
|
|
12
|
-
padding: 20px;
|
|
13
|
-
background: #f5f5f5;
|
|
14
|
-
}
|
|
15
|
-
h1 {
|
|
16
|
-
color: #333;
|
|
17
|
-
border-bottom: 2px solid #4CAF50;
|
|
18
|
-
padding-bottom: 10px;
|
|
19
|
-
}
|
|
20
|
-
.controls {
|
|
21
|
-
background: white;
|
|
22
|
-
padding: 20px;
|
|
23
|
-
border-radius: 8px;
|
|
24
|
-
margin-bottom: 20px;
|
|
25
|
-
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
26
|
-
}
|
|
27
|
-
button {
|
|
28
|
-
background: #4CAF50;
|
|
29
|
-
color: white;
|
|
30
|
-
border: none;
|
|
31
|
-
padding: 10px 20px;
|
|
32
|
-
border-radius: 4px;
|
|
33
|
-
cursor: pointer;
|
|
34
|
-
margin-right: 10px;
|
|
35
|
-
font-size: 14px;
|
|
36
|
-
}
|
|
37
|
-
button:hover {
|
|
38
|
-
background: #45a049;
|
|
39
|
-
}
|
|
40
|
-
#output {
|
|
41
|
-
background: white;
|
|
42
|
-
padding: 20px;
|
|
43
|
-
border-radius: 8px;
|
|
44
|
-
font-family: 'Courier New', monospace;
|
|
45
|
-
font-size: 13px;
|
|
46
|
-
white-space: pre-wrap;
|
|
47
|
-
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
48
|
-
max-height: 500px;
|
|
49
|
-
overflow-y: auto;
|
|
50
|
-
}
|
|
51
|
-
.success { color: #4CAF50; }
|
|
52
|
-
.error { color: #f44336; }
|
|
53
|
-
.info { color: #2196F3; }
|
|
54
|
-
</style>
|
|
55
|
-
</head>
|
|
56
|
-
<body>
|
|
57
|
-
<h1>🚀 SQLiteVector Browser Example</h1>
|
|
58
|
-
|
|
59
|
-
<div class="controls">
|
|
60
|
-
<button onclick="initDatabase()">Initialize DB</button>
|
|
61
|
-
<button onclick="insertVectors()">Insert Vectors</button>
|
|
62
|
-
<button onclick="searchVectors()">Search Similar</button>
|
|
63
|
-
<button onclick="getStats()">Show Stats</button>
|
|
64
|
-
<button onclick="clearOutput()">Clear Output</button>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<div id="output">Click buttons above to interact with SQLiteVector...</div>
|
|
68
|
-
|
|
69
|
-
<script type="module">
|
|
70
|
-
import { createDb, Vector } from '../dist/index.mjs';
|
|
71
|
-
|
|
72
|
-
let db = null;
|
|
73
|
-
|
|
74
|
-
function log(message, type = 'info') {
|
|
75
|
-
const output = document.getElementById('output');
|
|
76
|
-
const timestamp = new Date().toLocaleTimeString();
|
|
77
|
-
const colorClass = type === 'error' ? 'error' : type === 'success' ? 'success' : 'info';
|
|
78
|
-
output.innerHTML += `<span class="${colorClass}">[${timestamp}] ${message}</span>\n`;
|
|
79
|
-
output.scrollTop = output.scrollHeight;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
window.initDatabase = async function() {
|
|
83
|
-
try {
|
|
84
|
-
log('Initializing SQLiteVector database...', 'info');
|
|
85
|
-
db = await createDb({ memoryMode: true, dimension: 384 });
|
|
86
|
-
log('✓ Database initialized successfully!', 'success');
|
|
87
|
-
} catch (error) {
|
|
88
|
-
log(`✗ Error: ${error.message}`, 'error');
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
window.insertVectors = async function() {
|
|
93
|
-
if (!db) {
|
|
94
|
-
log('Please initialize database first!', 'error');
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
try {
|
|
99
|
-
log('Inserting sample vectors...', 'info');
|
|
100
|
-
|
|
101
|
-
const vectors = [
|
|
102
|
-
new Vector([0.1, 0.2, 0.3], { doc: 'Document 1', category: 'tech' }),
|
|
103
|
-
new Vector([0.4, 0.5, 0.6], { doc: 'Document 2', category: 'science' }),
|
|
104
|
-
new Vector([0.15, 0.25, 0.35], { doc: 'Document 3', category: 'tech' }),
|
|
105
|
-
new Vector([0.7, 0.8, 0.9], { doc: 'Document 4', category: 'math' }),
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
const ids = await db.insertBatch(vectors);
|
|
109
|
-
log(`✓ Inserted ${ids.length} vectors with IDs: ${ids.join(', ')}`, 'success');
|
|
110
|
-
} catch (error) {
|
|
111
|
-
log(`✗ Error: ${error.message}`, 'error');
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
window.searchVectors = async function() {
|
|
116
|
-
if (!db) {
|
|
117
|
-
log('Please initialize database first!', 'error');
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
try {
|
|
122
|
-
log('Searching for similar vectors...', 'info');
|
|
123
|
-
|
|
124
|
-
const query = new Vector([0.12, 0.22, 0.32]);
|
|
125
|
-
const results = await db.search(query, 3, { metric: 'cosine', threshold: 0.5 });
|
|
126
|
-
|
|
127
|
-
log(`Found ${results.length} similar vectors:`, 'info');
|
|
128
|
-
results.forEach((result, i) => {
|
|
129
|
-
log(` ${i + 1}. ID: ${result.id}, Score: ${result.score.toFixed(4)}, ` +
|
|
130
|
-
`Metadata: ${JSON.stringify(result.metadata)}`, 'info');
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
log('✓ Search completed', 'success');
|
|
134
|
-
} catch (error) {
|
|
135
|
-
log(`✗ Error: ${error.message}`, 'error');
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
window.getStats = async function() {
|
|
140
|
-
if (!db) {
|
|
141
|
-
log('Please initialize database first!', 'error');
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
try {
|
|
146
|
-
log('Fetching database statistics...', 'info');
|
|
147
|
-
|
|
148
|
-
const stats = await db.getStats();
|
|
149
|
-
log('Database Statistics:', 'info');
|
|
150
|
-
log(` Total Vectors: ${stats.totalVectors}`, 'info');
|
|
151
|
-
log(` Dimension: ${stats.dimension}`, 'info');
|
|
152
|
-
log(` Memory Usage: ${(stats.memoryUsage / 1024).toFixed(2)} KB`, 'info');
|
|
153
|
-
log(` DB Size: ${(stats.dbSize / 1024).toFixed(2)} KB`, 'info');
|
|
154
|
-
|
|
155
|
-
log('✓ Stats retrieved', 'success');
|
|
156
|
-
} catch (error) {
|
|
157
|
-
log(`✗ Error: ${error.message}`, 'error');
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
window.clearOutput = function() {
|
|
162
|
-
document.getElementById('output').innerHTML = 'Output cleared. Ready for new operations...\n';
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
// Auto-initialize on load
|
|
166
|
-
log('SQLiteVector Browser Example Ready', 'success');
|
|
167
|
-
log('Click "Initialize DB" to begin', 'info');
|
|
168
|
-
</script>
|
|
169
|
-
</body>
|
|
170
|
-
</html>
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>AgentDB WASM Browser Example (Real Implementation)</title>
|
|
7
|
-
<style>
|
|
8
|
-
body {
|
|
9
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
10
|
-
max-width: 800px;
|
|
11
|
-
margin: 2rem auto;
|
|
12
|
-
padding: 0 1rem;
|
|
13
|
-
background: #f5f5f5;
|
|
14
|
-
}
|
|
15
|
-
.container {
|
|
16
|
-
background: white;
|
|
17
|
-
padding: 2rem;
|
|
18
|
-
border-radius: 8px;
|
|
19
|
-
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
20
|
-
}
|
|
21
|
-
h1 { color: #333; margin-bottom: 0.5rem; }
|
|
22
|
-
.status {
|
|
23
|
-
padding: 1rem;
|
|
24
|
-
margin: 1rem 0;
|
|
25
|
-
border-radius: 4px;
|
|
26
|
-
font-family: monospace;
|
|
27
|
-
}
|
|
28
|
-
.status.success { background: #d4edda; color: #155724; }
|
|
29
|
-
.status.error { background: #f8d7da; color: #721c24; }
|
|
30
|
-
.status.info { background: #d1ecf1; color: #0c5460; }
|
|
31
|
-
button {
|
|
32
|
-
background: #667eea;
|
|
33
|
-
color: white;
|
|
34
|
-
border: none;
|
|
35
|
-
padding: 0.75rem 1.5rem;
|
|
36
|
-
border-radius: 4px;
|
|
37
|
-
cursor: pointer;
|
|
38
|
-
font-size: 1rem;
|
|
39
|
-
margin: 0.5rem 0.5rem 0.5rem 0;
|
|
40
|
-
}
|
|
41
|
-
button:hover { background: #5568d3; }
|
|
42
|
-
button:disabled { background: #ccc; cursor: not-allowed; }
|
|
43
|
-
.log {
|
|
44
|
-
background: #f8f9fa;
|
|
45
|
-
border: 1px solid #dee2e6;
|
|
46
|
-
border-radius: 4px;
|
|
47
|
-
padding: 1rem;
|
|
48
|
-
margin-top: 1rem;
|
|
49
|
-
max-height: 400px;
|
|
50
|
-
overflow-y: auto;
|
|
51
|
-
font-family: monospace;
|
|
52
|
-
font-size: 0.85rem;
|
|
53
|
-
}
|
|
54
|
-
.log-entry { margin: 0.25rem 0; }
|
|
55
|
-
input, textarea {
|
|
56
|
-
width: 100%;
|
|
57
|
-
padding: 0.5rem;
|
|
58
|
-
margin: 0.5rem 0;
|
|
59
|
-
border: 1px solid #ddd;
|
|
60
|
-
border-radius: 4px;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
|
63
|
-
</head>
|
|
64
|
-
<body>
|
|
65
|
-
<div class="container">
|
|
66
|
-
<h1>🚀 AgentDB WASM Browser Example</h1>
|
|
67
|
-
<p>Real implementation using sql.js WASM backend</p>
|
|
68
|
-
|
|
69
|
-
<div id="status" class="status info">
|
|
70
|
-
Initializing AgentDB with WASM backend...
|
|
71
|
-
</div>
|
|
72
|
-
|
|
73
|
-
<div id="controls" style="display: none;">
|
|
74
|
-
<h3>Test Operations</h3>
|
|
75
|
-
|
|
76
|
-
<div>
|
|
77
|
-
<h4>Insert Vector</h4>
|
|
78
|
-
<input type="text" id="metadata" placeholder="Metadata (JSON)" value='{"type": "test", "id": "1"}'>
|
|
79
|
-
<button onclick="insertVector()">Insert Random Vector</button>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<div>
|
|
83
|
-
<h4>Search Similar</h4>
|
|
84
|
-
<button onclick="searchVectors()">Search for Similar Vectors</button>
|
|
85
|
-
</div>
|
|
86
|
-
|
|
87
|
-
<div>
|
|
88
|
-
<h4>Database Stats</h4>
|
|
89
|
-
<button onclick="getStats()">Get Database Statistics</button>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
<div class="log" id="log"></div>
|
|
94
|
-
</div>
|
|
95
|
-
|
|
96
|
-
<script type="module">
|
|
97
|
-
let db = null;
|
|
98
|
-
const logEl = document.getElementById('log');
|
|
99
|
-
const statusEl = document.getElementById('status');
|
|
100
|
-
const controlsEl = document.getElementById('controls');
|
|
101
|
-
|
|
102
|
-
function log(message, type = 'info') {
|
|
103
|
-
const entry = document.createElement('div');
|
|
104
|
-
entry.className = 'log-entry';
|
|
105
|
-
entry.style.color = type === 'error' ? '#721c24' : type === 'success' ? '#155724' : '#333';
|
|
106
|
-
entry.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
|
|
107
|
-
logEl.appendChild(entry);
|
|
108
|
-
logEl.scrollTop = logEl.scrollHeight;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function setStatus(message, type = 'info') {
|
|
112
|
-
statusEl.textContent = message;
|
|
113
|
-
statusEl.className = `status ${type}`;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
async function initAgentDB() {
|
|
117
|
-
try {
|
|
118
|
-
log('Loading AgentDB WASM module from unpkg...');
|
|
119
|
-
|
|
120
|
-
// Import from unpkg CDN (published package)
|
|
121
|
-
const { SQLiteVectorDB } = await import('https://unpkg.com/agentdb@1.0.4/dist/index.mjs');
|
|
122
|
-
|
|
123
|
-
log('Creating SQLiteVectorDB instance with WASM backend...');
|
|
124
|
-
db = new SQLiteVectorDB({
|
|
125
|
-
memoryMode: true,
|
|
126
|
-
backend: 'wasm'
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
log('Initializing WASM backend asynchronously...');
|
|
130
|
-
await db.initializeAsync();
|
|
131
|
-
|
|
132
|
-
log('✅ AgentDB WASM backend initialized successfully!', 'success');
|
|
133
|
-
setStatus('✅ AgentDB Ready! WASM backend loaded.', 'success');
|
|
134
|
-
controlsEl.style.display = 'block';
|
|
135
|
-
|
|
136
|
-
} catch (error) {
|
|
137
|
-
const errorMsg = `❌ Failed to initialize AgentDB: ${error.message}`;
|
|
138
|
-
log(errorMsg, 'error');
|
|
139
|
-
setStatus(errorMsg, 'error');
|
|
140
|
-
console.error('AgentDB initialization error:', error);
|
|
141
|
-
|
|
142
|
-
// Fallback: Try loading from local files if available
|
|
143
|
-
log('Trying fallback: loading from relative path...');
|
|
144
|
-
tryLocalFallback();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
async function tryLocalFallback() {
|
|
149
|
-
try {
|
|
150
|
-
// Try loading from package dist if running locally
|
|
151
|
-
const { SQLiteVectorDB } = await import('../dist/index.mjs');
|
|
152
|
-
|
|
153
|
-
log('Loading from local dist...');
|
|
154
|
-
db = new SQLiteVectorDB({
|
|
155
|
-
memoryMode: true,
|
|
156
|
-
backend: 'wasm'
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
await db.initializeAsync();
|
|
160
|
-
|
|
161
|
-
log('✅ Loaded from local package!', 'success');
|
|
162
|
-
setStatus('✅ AgentDB Ready! (Local fallback)', 'success');
|
|
163
|
-
controlsEl.style.display = 'block';
|
|
164
|
-
|
|
165
|
-
} catch (fallbackError) {
|
|
166
|
-
log(`❌ Fallback also failed: ${fallbackError.message}`, 'error');
|
|
167
|
-
log('Note: AgentDB WASM requires the package to be built and published.', 'error');
|
|
168
|
-
setStatus('❌ Could not load AgentDB', 'error');
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Global functions for buttons
|
|
173
|
-
window.insertVector = async function() {
|
|
174
|
-
if (!db) return;
|
|
175
|
-
|
|
176
|
-
try {
|
|
177
|
-
// Generate random 768-dim vector
|
|
178
|
-
const embedding = Array.from({ length: 768 }, () => Math.random());
|
|
179
|
-
const metadataStr = document.getElementById('metadata').value;
|
|
180
|
-
const metadata = JSON.parse(metadataStr);
|
|
181
|
-
|
|
182
|
-
log('Inserting vector with 768 dimensions...');
|
|
183
|
-
const id = await db.insert({ embedding, metadata });
|
|
184
|
-
log(`✅ Inserted vector with ID: ${id}`, 'success');
|
|
185
|
-
} catch (error) {
|
|
186
|
-
log(`❌ Insert failed: ${error.message}`, 'error');
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
window.searchVectors = async function() {
|
|
191
|
-
if (!db) return;
|
|
192
|
-
|
|
193
|
-
try {
|
|
194
|
-
// Generate random query vector
|
|
195
|
-
const queryEmbedding = Array.from({ length: 768 }, () => Math.random());
|
|
196
|
-
|
|
197
|
-
log('Searching for 5 nearest neighbors...');
|
|
198
|
-
const results = await db.search(queryEmbedding, 5);
|
|
199
|
-
log(`✅ Found ${results.length} results`, 'success');
|
|
200
|
-
results.forEach((result, i) => {
|
|
201
|
-
log(` ${i+1}. ID: ${result.id}, Distance: ${result.distance.toFixed(4)}, Metadata: ${JSON.stringify(result.metadata)}`);
|
|
202
|
-
});
|
|
203
|
-
} catch (error) {
|
|
204
|
-
log(`❌ Search failed: ${error.message}`, 'error');
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
window.getStats = async function() {
|
|
209
|
-
if (!db) return;
|
|
210
|
-
|
|
211
|
-
try {
|
|
212
|
-
log('Fetching database statistics...');
|
|
213
|
-
const stats = await db.getStats();
|
|
214
|
-
log(`✅ Database Statistics:`, 'success');
|
|
215
|
-
log(` Total vectors: ${stats.totalVectors}`);
|
|
216
|
-
log(` Backend: ${stats.backend}`);
|
|
217
|
-
if (stats.cacheStats) {
|
|
218
|
-
log(` Cache hits: ${stats.cacheStats.hits}`);
|
|
219
|
-
log(` Cache misses: ${stats.cacheStats.misses}`);
|
|
220
|
-
}
|
|
221
|
-
} catch (error) {
|
|
222
|
-
log(`❌ Get stats failed: ${error.message}`, 'error');
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
// Initialize on page load
|
|
227
|
-
log('Starting AgentDB browser initialization...');
|
|
228
|
-
initAgentDB();
|
|
229
|
-
</script>
|
|
230
|
-
</body>
|
|
231
|
-
</html>
|
package/examples/hnsw-example.ts
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HNSW Index Example
|
|
3
|
-
* Demonstrates high-performance vector search with HNSW indexing
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { NativeBackend } from '../src/core/native-backend';
|
|
7
|
-
import { Vector } from '../src/types';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Generate random vector with specified dimensions
|
|
11
|
-
*/
|
|
12
|
-
function generateRandomVector(dim: number): number[] {
|
|
13
|
-
const vector = new Array(dim);
|
|
14
|
-
for (let i = 0; i < dim; i++) {
|
|
15
|
-
vector[i] = Math.random() * 2 - 1;
|
|
16
|
-
}
|
|
17
|
-
const norm = Math.sqrt(vector.reduce((sum, val) => sum + val * val, 0));
|
|
18
|
-
return vector.map(v => v / norm);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Main example
|
|
23
|
-
*/
|
|
24
|
-
async function main() {
|
|
25
|
-
console.log('=== HNSW Index Performance Demo ===\n');
|
|
26
|
-
|
|
27
|
-
// Create backend with HNSW enabled
|
|
28
|
-
const backend = new NativeBackend();
|
|
29
|
-
backend.initialize({
|
|
30
|
-
memoryMode: true,
|
|
31
|
-
hnsw: {
|
|
32
|
-
enabled: true,
|
|
33
|
-
M: 16, // Connections per node
|
|
34
|
-
efConstruction: 200, // Build quality
|
|
35
|
-
efSearch: 50, // Search quality
|
|
36
|
-
minVectorsForIndex: 1000 // Minimum vectors to enable index
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
// Generate test dataset
|
|
41
|
-
console.log('Generating 10,000 test vectors (128 dimensions)...');
|
|
42
|
-
const VECTOR_DIM = 128;
|
|
43
|
-
const NUM_VECTORS = 10000;
|
|
44
|
-
const vectors: Vector[] = [];
|
|
45
|
-
|
|
46
|
-
for (let i = 0; i < NUM_VECTORS; i++) {
|
|
47
|
-
vectors.push({
|
|
48
|
-
id: `vec_${i}`,
|
|
49
|
-
embedding: generateRandomVector(VECTOR_DIM),
|
|
50
|
-
metadata: {
|
|
51
|
-
index: i,
|
|
52
|
-
category: `group_${Math.floor(i / 100)}`
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Insert vectors and build index
|
|
58
|
-
console.log('Inserting vectors and building HNSW index...');
|
|
59
|
-
const insertStart = Date.now();
|
|
60
|
-
backend.insertBatch(vectors);
|
|
61
|
-
const insertTime = Date.now() - insertStart;
|
|
62
|
-
|
|
63
|
-
console.log(`✓ Inserted ${NUM_VECTORS} vectors in ${insertTime}ms`);
|
|
64
|
-
console.log(` (${(insertTime / NUM_VECTORS).toFixed(2)}ms per vector)\n`);
|
|
65
|
-
|
|
66
|
-
// Check index stats
|
|
67
|
-
const hnswStats = backend.getHNSWStats();
|
|
68
|
-
if (hnswStats) {
|
|
69
|
-
console.log('HNSW Index Statistics:');
|
|
70
|
-
console.log(` - Enabled: ${hnswStats.enabled}`);
|
|
71
|
-
console.log(` - Ready: ${hnswStats.ready}`);
|
|
72
|
-
console.log(` - Nodes: ${hnswStats.nodeCount}`);
|
|
73
|
-
console.log(` - Edges: ${hnswStats.edgeCount}`);
|
|
74
|
-
console.log(` - Max Level: ${hnswStats.maxLevel}`);
|
|
75
|
-
console.log(` - Avg Connections: ${hnswStats.avgDegree.toFixed(2)}\n`);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// Perform search benchmarks
|
|
79
|
-
console.log('Benchmarking search performance...');
|
|
80
|
-
const NUM_QUERIES = 100;
|
|
81
|
-
const K = 10;
|
|
82
|
-
|
|
83
|
-
// Generate query vectors
|
|
84
|
-
const queries = Array.from({ length: NUM_QUERIES }, () =>
|
|
85
|
-
generateRandomVector(VECTOR_DIM)
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
// Warm up
|
|
89
|
-
backend.search(queries[0], K, 'euclidean', 0);
|
|
90
|
-
|
|
91
|
-
// Benchmark HNSW search
|
|
92
|
-
const hnswStart = performance.now();
|
|
93
|
-
for (const query of queries) {
|
|
94
|
-
backend.search(query, K, 'euclidean', 0);
|
|
95
|
-
}
|
|
96
|
-
const hnswTime = performance.now() - hnswStart;
|
|
97
|
-
const avgHnswTime = hnswTime / NUM_QUERIES;
|
|
98
|
-
|
|
99
|
-
console.log(`\n✓ HNSW Search (${NUM_QUERIES} queries):`);
|
|
100
|
-
console.log(` - Total time: ${hnswTime.toFixed(2)}ms`);
|
|
101
|
-
console.log(` - Average: ${avgHnswTime.toFixed(2)}ms per query`);
|
|
102
|
-
|
|
103
|
-
// Compare with brute-force
|
|
104
|
-
console.log('\nComparing with brute-force search...');
|
|
105
|
-
const bruteBackend = new NativeBackend();
|
|
106
|
-
bruteBackend.initialize({
|
|
107
|
-
memoryMode: true,
|
|
108
|
-
hnsw: { enabled: false }
|
|
109
|
-
});
|
|
110
|
-
bruteBackend.insertBatch(vectors);
|
|
111
|
-
|
|
112
|
-
const bruteStart = performance.now();
|
|
113
|
-
for (const query of queries) {
|
|
114
|
-
bruteBackend.search(query, K, 'euclidean', 0);
|
|
115
|
-
}
|
|
116
|
-
const bruteTime = performance.now() - bruteStart;
|
|
117
|
-
const avgBruteTime = bruteTime / NUM_QUERIES;
|
|
118
|
-
|
|
119
|
-
console.log(`\n✓ Brute-force Search (${NUM_QUERIES} queries):`);
|
|
120
|
-
console.log(` - Total time: ${bruteTime.toFixed(2)}ms`);
|
|
121
|
-
console.log(` - Average: ${avgBruteTime.toFixed(2)}ms per query`);
|
|
122
|
-
|
|
123
|
-
const speedup = bruteTime / hnswTime;
|
|
124
|
-
console.log(`\n✓ Performance Improvement:`);
|
|
125
|
-
console.log(` - Speedup: ${speedup.toFixed(2)}x faster`);
|
|
126
|
-
console.log(` - Time saved: ${(bruteTime - hnswTime).toFixed(2)}ms`);
|
|
127
|
-
|
|
128
|
-
// Demonstrate search results
|
|
129
|
-
console.log('\n=== Sample Search Results ===');
|
|
130
|
-
const sampleQuery = generateRandomVector(VECTOR_DIM);
|
|
131
|
-
const results = backend.search(sampleQuery, 5, 'euclidean', 0);
|
|
132
|
-
|
|
133
|
-
console.log('\nTop 5 nearest neighbors:');
|
|
134
|
-
results.forEach((result, idx) => {
|
|
135
|
-
console.log(` ${idx + 1}. ID: ${result.id}`);
|
|
136
|
-
console.log(` Distance: ${result.score.toFixed(4)}`);
|
|
137
|
-
console.log(` Metadata: ${JSON.stringify(result.metadata)}`);
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
// Cleanup
|
|
141
|
-
backend.close();
|
|
142
|
-
bruteBackend.close();
|
|
143
|
-
|
|
144
|
-
console.log('\n=== Demo Complete ===');
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// Run example
|
|
148
|
-
main().catch(console.error);
|