agentdb 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +38 -0
- package/LICENSE-APACHE +190 -0
- package/LICENSE-MIT +21 -0
- package/README.md +953 -0
- package/bin/agentdb.js +485 -0
- package/bin/plugin-cli-wrapper.mjs +21 -0
- package/dist/cache/query-cache.d.ts +105 -0
- package/dist/cache/query-cache.d.ts.map +1 -0
- package/dist/cache/query-cache.js +224 -0
- package/dist/cache/query-cache.js.map +1 -0
- package/dist/cache/query-cache.mjs +219 -0
- package/dist/cli/cache/query-cache.d.ts +104 -0
- package/dist/cli/cache/query-cache.js +244 -0
- package/dist/cli/cli/db-commands.d.ts +48 -0
- package/dist/cli/cli/db-commands.js +613 -0
- package/dist/cli/commands.d.ts +7 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +113 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/commands.mjs +104 -0
- package/dist/cli/core/backend-interface.d.ts +70 -0
- package/dist/cli/core/backend-interface.js +15 -0
- package/dist/cli/core/native-backend.d.ts +140 -0
- package/dist/cli/core/native-backend.js +432 -0
- package/dist/cli/core/vector-db.d.ts +126 -0
- package/dist/cli/core/vector-db.js +338 -0
- package/dist/cli/core/wasm-backend.d.ts +95 -0
- package/dist/cli/core/wasm-backend.js +418 -0
- package/dist/cli/db-commands.d.ts +49 -0
- package/dist/cli/db-commands.d.ts.map +1 -0
- package/dist/cli/db-commands.js +533 -0
- package/dist/cli/db-commands.js.map +1 -0
- package/dist/cli/db-commands.mjs +522 -0
- package/dist/cli/generator.d.ts +11 -0
- package/dist/cli/generator.d.ts.map +1 -0
- package/dist/cli/generator.js +567 -0
- package/dist/cli/generator.js.map +1 -0
- package/dist/cli/generator.mjs +527 -0
- package/dist/cli/help.d.ts +18 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +676 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/help.mjs +667 -0
- package/dist/cli/index/hnsw.d.ts +164 -0
- package/dist/cli/index/hnsw.js +558 -0
- package/dist/cli/plugin-cli.d.ts +7 -0
- package/dist/cli/plugin-cli.d.ts.map +1 -0
- package/dist/cli/plugin-cli.js +295 -0
- package/dist/cli/plugin-cli.js.map +1 -0
- package/dist/cli/plugin-cli.mjs +289 -0
- package/dist/cli/quantization/product-quantization.d.ts +108 -0
- package/dist/cli/quantization/product-quantization.js +350 -0
- package/dist/cli/query/query-builder.d.ts +322 -0
- package/dist/cli/query/query-builder.js +600 -0
- package/dist/cli/templates.d.ts +14 -0
- package/dist/cli/templates.d.ts.map +1 -0
- package/dist/cli/templates.js +182 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli/templates.mjs +176 -0
- package/dist/cli/types/index.d.ts +116 -0
- package/dist/cli/types/index.js +5 -0
- package/dist/cli/types.d.ts +91 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +6 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/types.mjs +4 -0
- package/dist/cli/wizard/index.d.ts +6 -0
- package/dist/cli/wizard/index.d.ts.map +1 -0
- package/dist/cli/wizard/index.js +138 -0
- package/dist/cli/wizard/index.js.map +1 -0
- package/dist/cli/wizard/index.mjs +131 -0
- package/dist/cli/wizard/prompts.d.ts +11 -0
- package/dist/cli/wizard/prompts.d.ts.map +1 -0
- package/dist/cli/wizard/prompts.js +482 -0
- package/dist/cli/wizard/prompts.js.map +1 -0
- package/dist/cli/wizard/prompts.mjs +470 -0
- package/dist/cli/wizard/validator.d.ts +13 -0
- package/dist/cli/wizard/validator.d.ts.map +1 -0
- package/dist/cli/wizard/validator.js +234 -0
- package/dist/cli/wizard/validator.js.map +1 -0
- package/dist/cli/wizard/validator.mjs +224 -0
- package/dist/core/backend-interface.d.ts +71 -0
- package/dist/core/backend-interface.d.ts.map +1 -0
- package/dist/core/backend-interface.js +16 -0
- package/dist/core/backend-interface.js.map +1 -0
- package/dist/core/backend-interface.mjs +12 -0
- package/dist/core/native-backend.d.ts +141 -0
- package/dist/core/native-backend.d.ts.map +1 -0
- package/dist/core/native-backend.js +457 -0
- package/dist/core/native-backend.js.map +1 -0
- package/dist/core/native-backend.mjs +449 -0
- package/dist/core/vector-db.d.ts +127 -0
- package/dist/core/vector-db.d.ts.map +1 -0
- package/dist/core/vector-db.js +266 -0
- package/dist/core/vector-db.js.map +1 -0
- package/dist/core/vector-db.mjs +261 -0
- package/dist/core/wasm-backend.d.ts +96 -0
- package/dist/core/wasm-backend.d.ts.map +1 -0
- package/dist/core/wasm-backend.js +393 -0
- package/dist/core/wasm-backend.js.map +1 -0
- package/dist/core/wasm-backend.mjs +385 -0
- package/dist/index/hnsw-optimized.d.ts +75 -0
- package/dist/index/hnsw-optimized.d.ts.map +1 -0
- package/dist/index/hnsw-optimized.js +412 -0
- package/dist/index/hnsw-optimized.js.map +1 -0
- package/dist/index/hnsw-optimized.mjs +407 -0
- package/dist/index/hnsw.d.ts +165 -0
- package/dist/index/hnsw.d.ts.map +1 -0
- package/dist/index/hnsw.js +521 -0
- package/dist/index/hnsw.js.map +1 -0
- package/dist/index/hnsw.mjs +516 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +63 -0
- package/dist/mcp-server.d.ts +27 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +789 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp-server.mjs +784 -0
- package/dist/plugins/base-plugin.d.ts +114 -0
- package/dist/plugins/base-plugin.d.ts.map +1 -0
- package/dist/plugins/base-plugin.js +313 -0
- package/dist/plugins/base-plugin.js.map +1 -0
- package/dist/plugins/base-plugin.mjs +275 -0
- package/dist/plugins/implementations/active-learning.d.ts +135 -0
- package/dist/plugins/implementations/active-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/active-learning.js +372 -0
- package/dist/plugins/implementations/active-learning.js.map +1 -0
- package/dist/plugins/implementations/active-learning.mjs +367 -0
- package/dist/plugins/implementations/actor-critic.d.ts +64 -0
- package/dist/plugins/implementations/actor-critic.d.ts.map +1 -0
- package/dist/plugins/implementations/actor-critic.js +363 -0
- package/dist/plugins/implementations/actor-critic.js.map +1 -0
- package/dist/plugins/implementations/actor-critic.mjs +358 -0
- package/dist/plugins/implementations/adversarial-training.d.ts +133 -0
- package/dist/plugins/implementations/adversarial-training.d.ts.map +1 -0
- package/dist/plugins/implementations/adversarial-training.js +409 -0
- package/dist/plugins/implementations/adversarial-training.js.map +1 -0
- package/dist/plugins/implementations/adversarial-training.mjs +404 -0
- package/dist/plugins/implementations/curriculum-learning.d.ts +132 -0
- package/dist/plugins/implementations/curriculum-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/curriculum-learning.js +354 -0
- package/dist/plugins/implementations/curriculum-learning.js.map +1 -0
- package/dist/plugins/implementations/curriculum-learning.mjs +349 -0
- package/dist/plugins/implementations/decision-transformer.d.ts +77 -0
- package/dist/plugins/implementations/decision-transformer.d.ts.map +1 -0
- package/dist/plugins/implementations/decision-transformer.js +422 -0
- package/dist/plugins/implementations/decision-transformer.js.map +1 -0
- package/dist/plugins/implementations/decision-transformer.mjs +417 -0
- package/dist/plugins/implementations/federated-learning.d.ts +126 -0
- package/dist/plugins/implementations/federated-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/federated-learning.js +436 -0
- package/dist/plugins/implementations/federated-learning.js.map +1 -0
- package/dist/plugins/implementations/federated-learning.mjs +431 -0
- package/dist/plugins/implementations/index.d.ts +30 -0
- package/dist/plugins/implementations/index.d.ts.map +1 -0
- package/dist/plugins/implementations/index.js +45 -0
- package/dist/plugins/implementations/index.js.map +1 -0
- package/dist/plugins/implementations/index.mjs +31 -0
- package/dist/plugins/implementations/multi-task-learning.d.ts +115 -0
- package/dist/plugins/implementations/multi-task-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/multi-task-learning.js +369 -0
- package/dist/plugins/implementations/multi-task-learning.js.map +1 -0
- package/dist/plugins/implementations/multi-task-learning.mjs +364 -0
- package/dist/plugins/implementations/neural-architecture-search.d.ts +148 -0
- package/dist/plugins/implementations/neural-architecture-search.d.ts.map +1 -0
- package/dist/plugins/implementations/neural-architecture-search.js +379 -0
- package/dist/plugins/implementations/neural-architecture-search.js.map +1 -0
- package/dist/plugins/implementations/neural-architecture-search.mjs +374 -0
- package/dist/plugins/implementations/q-learning.d.ts +98 -0
- package/dist/plugins/implementations/q-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/q-learning.js +435 -0
- package/dist/plugins/implementations/q-learning.js.map +1 -0
- package/dist/plugins/implementations/q-learning.mjs +430 -0
- package/dist/plugins/implementations/sarsa.d.ts +103 -0
- package/dist/plugins/implementations/sarsa.d.ts.map +1 -0
- package/dist/plugins/implementations/sarsa.js +347 -0
- package/dist/plugins/implementations/sarsa.js.map +1 -0
- package/dist/plugins/implementations/sarsa.mjs +342 -0
- package/dist/plugins/index.d.ts +107 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +179 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/index.mjs +168 -0
- package/dist/plugins/interface.d.ts +439 -0
- package/dist/plugins/interface.d.ts.map +1 -0
- package/dist/plugins/interface.js +12 -0
- package/dist/plugins/interface.js.map +1 -0
- package/dist/plugins/interface.mjs +10 -0
- package/dist/plugins/learning-plugin.interface.d.ts +257 -0
- package/dist/plugins/learning-plugin.interface.d.ts.map +1 -0
- package/dist/plugins/learning-plugin.interface.js +7 -0
- package/dist/plugins/learning-plugin.interface.js.map +1 -0
- package/dist/plugins/learning-plugin.interface.mjs +5 -0
- package/dist/plugins/plugin-exports.d.ts +71 -0
- package/dist/plugins/plugin-exports.d.ts.map +1 -0
- package/dist/plugins/plugin-exports.js +78 -0
- package/dist/plugins/plugin-exports.js.map +1 -0
- package/dist/plugins/plugin-exports.mjs +69 -0
- package/dist/plugins/registry.d.ts +206 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +365 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/registry.mjs +356 -0
- package/dist/plugins/validator.d.ts +63 -0
- package/dist/plugins/validator.d.ts.map +1 -0
- package/dist/plugins/validator.js +464 -0
- package/dist/plugins/validator.js.map +1 -0
- package/dist/plugins/validator.mjs +458 -0
- package/dist/quantization/binary-quantization.d.ts +104 -0
- package/dist/quantization/binary-quantization.d.ts.map +1 -0
- package/dist/quantization/binary-quantization.js +246 -0
- package/dist/quantization/binary-quantization.js.map +1 -0
- package/dist/quantization/binary-quantization.mjs +240 -0
- package/dist/quantization/optimized-pq.d.ts +138 -0
- package/dist/quantization/optimized-pq.d.ts.map +1 -0
- package/dist/quantization/optimized-pq.js +320 -0
- package/dist/quantization/optimized-pq.js.map +1 -0
- package/dist/quantization/optimized-pq.mjs +313 -0
- package/dist/quantization/product-quantization.d.ts +109 -0
- package/dist/quantization/product-quantization.d.ts.map +1 -0
- package/dist/quantization/product-quantization.js +287 -0
- package/dist/quantization/product-quantization.js.map +1 -0
- package/dist/quantization/product-quantization.mjs +282 -0
- package/dist/quantization/scalar-quantization.d.ts +100 -0
- package/dist/quantization/scalar-quantization.d.ts.map +1 -0
- package/dist/quantization/scalar-quantization.js +324 -0
- package/dist/quantization/scalar-quantization.js.map +1 -0
- package/dist/quantization/scalar-quantization.mjs +319 -0
- package/dist/query/index.d.ts +6 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +9 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/index.mjs +4 -0
- package/dist/query/query-builder.d.ts +323 -0
- package/dist/query/query-builder.d.ts.map +1 -0
- package/dist/query/query-builder.js +524 -0
- package/dist/query/query-builder.js.map +1 -0
- package/dist/query/query-builder.mjs +519 -0
- package/dist/reasoning/context-synthesizer.d.ts +57 -0
- package/dist/reasoning/context-synthesizer.d.ts.map +1 -0
- package/dist/reasoning/context-synthesizer.js +224 -0
- package/dist/reasoning/context-synthesizer.js.map +1 -0
- package/dist/reasoning/context-synthesizer.mjs +219 -0
- package/dist/reasoning/experience-curator.d.ts +66 -0
- package/dist/reasoning/experience-curator.d.ts.map +1 -0
- package/dist/reasoning/experience-curator.js +288 -0
- package/dist/reasoning/experience-curator.js.map +1 -0
- package/dist/reasoning/experience-curator.mjs +283 -0
- package/dist/reasoning/memory-optimizer.d.ts +69 -0
- package/dist/reasoning/memory-optimizer.d.ts.map +1 -0
- package/dist/reasoning/memory-optimizer.js +331 -0
- package/dist/reasoning/memory-optimizer.js.map +1 -0
- package/dist/reasoning/memory-optimizer.mjs +326 -0
- package/dist/reasoning/pattern-matcher.d.ts +59 -0
- package/dist/reasoning/pattern-matcher.d.ts.map +1 -0
- package/dist/reasoning/pattern-matcher.js +229 -0
- package/dist/reasoning/pattern-matcher.js.map +1 -0
- package/dist/reasoning/pattern-matcher.mjs +224 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts +118 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts.map +1 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.js +477 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.js.map +1 -0
- package/dist/reasoningbank/adapter/types.d.ts +113 -0
- package/dist/reasoningbank/adapter/types.d.ts.map +1 -0
- package/dist/reasoningbank/adapter/types.js +9 -0
- package/dist/reasoningbank/adapter/types.js.map +1 -0
- package/dist/reasoningbank/cli/commands.d.ts +16 -0
- package/dist/reasoningbank/cli/commands.d.ts.map +1 -0
- package/dist/reasoningbank/cli/commands.js +272 -0
- package/dist/reasoningbank/cli/commands.js.map +1 -0
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts +319 -0
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts.map +1 -0
- package/dist/reasoningbank/mcp/agentdb-tools.js +301 -0
- package/dist/reasoningbank/mcp/agentdb-tools.js.map +1 -0
- package/dist/reasoningbank/migration/migrate.d.ts +25 -0
- package/dist/reasoningbank/migration/migrate.d.ts.map +1 -0
- package/dist/reasoningbank/migration/migrate.js +178 -0
- package/dist/reasoningbank/migration/migrate.js.map +1 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts +37 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.js +114 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.js.map +1 -0
- package/dist/reasoningbank/reasoning/experience-curator.d.ts +39 -0
- package/dist/reasoningbank/reasoning/experience-curator.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/experience-curator.js +98 -0
- package/dist/reasoningbank/reasoning/experience-curator.js.map +1 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts +44 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.js +184 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.js.map +1 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts +40 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.js +87 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.js.map +1 -0
- package/dist/reasoningbank/sync/quic-sync.d.ts +77 -0
- package/dist/reasoningbank/sync/quic-sync.d.ts.map +1 -0
- package/dist/reasoningbank/sync/quic-sync.js +165 -0
- package/dist/reasoningbank/sync/quic-sync.js.map +1 -0
- package/dist/sync/conflict.d.ts +78 -0
- package/dist/sync/conflict.d.ts.map +1 -0
- package/dist/sync/conflict.js +202 -0
- package/dist/sync/conflict.js.map +1 -0
- package/dist/sync/conflict.mjs +196 -0
- package/dist/sync/coordinator.d.ts +111 -0
- package/dist/sync/coordinator.d.ts.map +1 -0
- package/dist/sync/coordinator.js +256 -0
- package/dist/sync/coordinator.js.map +1 -0
- package/dist/sync/coordinator.mjs +250 -0
- package/dist/sync/delta.d.ts +81 -0
- package/dist/sync/delta.d.ts.map +1 -0
- package/dist/sync/delta.js +245 -0
- package/dist/sync/delta.js.map +1 -0
- package/dist/sync/delta.mjs +238 -0
- package/dist/sync/index.d.ts +11 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +22 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/index.mjs +9 -0
- package/dist/sync/quic-sync.d.ts +81 -0
- package/dist/sync/quic-sync.d.ts.map +1 -0
- package/dist/sync/quic-sync.js +329 -0
- package/dist/sync/quic-sync.js.map +1 -0
- package/dist/sync/quic-sync.mjs +323 -0
- package/dist/sync/types.d.ts +168 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +8 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/sync/types.mjs +6 -0
- package/dist/types/index.d.ts +117 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +4 -0
- package/dist/wasm-loader.d.ts +32 -0
- package/dist/wasm-loader.d.ts.map +1 -0
- package/dist/wasm-loader.js +75 -0
- package/dist/wasm-loader.js.map +1 -0
- package/dist/wasm-loader.mjs +64 -0
- package/examples/adaptive-learning.ts +284 -0
- package/examples/browser/README.md +732 -0
- package/examples/browser/adaptive-recommendations/index.html +427 -0
- package/examples/browser/collaborative-filtering/index.html +310 -0
- package/examples/browser/continual-learning/index.html +736 -0
- package/examples/browser/experience-replay/index.html +616 -0
- package/examples/browser/index.html +369 -0
- package/examples/browser/meta-learning/index.html +789 -0
- package/examples/browser/neuro-symbolic/index.html +692 -0
- package/examples/browser/pattern-learning/index.html +620 -0
- package/examples/browser/quantum-inspired/index.html +728 -0
- package/examples/browser/rag/index.html +624 -0
- package/examples/browser/swarm-intelligence/index.html +811 -0
- package/examples/browser-basic.html +170 -0
- package/examples/hnsw-example.ts +148 -0
- package/examples/node-basic.js +70 -0
- package/examples/quic-sync-example.ts +310 -0
- package/examples/quick-start.js +68 -0
- package/examples/wasm-example.ts +222 -0
- package/package.json +118 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VectorQueryBuilder - Fluent API for building complex vector search queries
|
|
3
|
+
* Provides type-safe filtering, sorting, and pagination with SQL injection protection
|
|
4
|
+
*/
|
|
5
|
+
import { SearchResult, SimilarityMetric } from '../types';
|
|
6
|
+
import { SQLiteVectorDB } from '../core/vector-db';
|
|
7
|
+
/**
|
|
8
|
+
* Supported comparison operators
|
|
9
|
+
*/
|
|
10
|
+
export type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'LIKE' | 'IN';
|
|
11
|
+
/**
|
|
12
|
+
* Sort direction
|
|
13
|
+
*/
|
|
14
|
+
export type SortDirection = 'asc' | 'desc';
|
|
15
|
+
/**
|
|
16
|
+
* VectorQueryBuilder - Fluent API for complex vector queries
|
|
17
|
+
*
|
|
18
|
+
* @template T - Type of metadata object
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const results = await db.query()
|
|
23
|
+
* .similarTo(queryVector)
|
|
24
|
+
* .where('metadata.category', '=', 'tech')
|
|
25
|
+
* .whereBetween('metadata.year', 2020, 2024)
|
|
26
|
+
* .orderBySimilarity('asc')
|
|
27
|
+
* .limit(10)
|
|
28
|
+
* .execute();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class VectorQueryBuilder<T = any> {
|
|
32
|
+
private db;
|
|
33
|
+
private queryVector?;
|
|
34
|
+
private queryId?;
|
|
35
|
+
private k;
|
|
36
|
+
private filters;
|
|
37
|
+
private orders;
|
|
38
|
+
private limitValue?;
|
|
39
|
+
private offsetValue;
|
|
40
|
+
private metric;
|
|
41
|
+
private threshold;
|
|
42
|
+
private rawSQL?;
|
|
43
|
+
private rawParams?;
|
|
44
|
+
constructor(db: SQLiteVectorDB);
|
|
45
|
+
/**
|
|
46
|
+
* Search for vectors similar to the given vector
|
|
47
|
+
*
|
|
48
|
+
* @param vector - Query vector
|
|
49
|
+
* @param k - Number of results to retrieve (default: 10)
|
|
50
|
+
* @returns this for chaining
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* db.query().similarTo([0.1, 0.2, 0.3], 5)
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
similarTo(vector: number[], k?: number): this;
|
|
58
|
+
/**
|
|
59
|
+
* Search for vectors similar to a vector already in the database
|
|
60
|
+
*
|
|
61
|
+
* @param id - ID of the reference vector
|
|
62
|
+
* @param k - Number of results to retrieve (default: 10)
|
|
63
|
+
* @returns this for chaining
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* db.query().similarToId('vector-123', 5)
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
similarToId(id: string, k?: number): this;
|
|
71
|
+
/**
|
|
72
|
+
* Add a filter condition
|
|
73
|
+
*
|
|
74
|
+
* @param field - Field name (use 'metadata.field' for metadata)
|
|
75
|
+
* @param op - Comparison operator
|
|
76
|
+
* @param value - Value to compare against
|
|
77
|
+
* @returns this for chaining
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* db.query()
|
|
82
|
+
* .similarTo(vector)
|
|
83
|
+
* .where('metadata.category', '=', 'tech')
|
|
84
|
+
* .where('metadata.year', '>', 2020)
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
where(field: string, op: Operator, value: any): this;
|
|
88
|
+
/**
|
|
89
|
+
* Filter where field is IN a set of values
|
|
90
|
+
*
|
|
91
|
+
* @param field - Field name
|
|
92
|
+
* @param values - Array of values
|
|
93
|
+
* @returns this for chaining
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* db.query()
|
|
98
|
+
* .similarTo(vector)
|
|
99
|
+
* .whereIn('metadata.tags', ['typescript', 'javascript'])
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
whereIn(field: string, values: any[]): this;
|
|
103
|
+
/**
|
|
104
|
+
* Filter where field is between min and max (inclusive)
|
|
105
|
+
*
|
|
106
|
+
* @param field - Field name
|
|
107
|
+
* @param min - Minimum value
|
|
108
|
+
* @param max - Maximum value
|
|
109
|
+
* @returns this for chaining
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* db.query()
|
|
114
|
+
* .similarTo(vector)
|
|
115
|
+
* .whereBetween('metadata.year', 2020, 2024)
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
whereBetween(field: string, min: any, max: any): this;
|
|
119
|
+
/**
|
|
120
|
+
* Filter metadata field (alias for where with 'metadata.' prefix)
|
|
121
|
+
*
|
|
122
|
+
* @param path - Metadata field path
|
|
123
|
+
* @param op - Comparison operator
|
|
124
|
+
* @param value - Value to compare against
|
|
125
|
+
* @returns this for chaining
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* db.query()
|
|
130
|
+
* .similarTo(vector)
|
|
131
|
+
* .whereMetadata('author.verified', '=', true)
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
whereMetadata(path: string, op: Operator, value: any): this;
|
|
135
|
+
/**
|
|
136
|
+
* Set similarity metric
|
|
137
|
+
*
|
|
138
|
+
* @param metric - Similarity metric ('cosine', 'euclidean', 'dot')
|
|
139
|
+
* @returns this for chaining
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* db.query().similarTo(vector).useSimilarityMetric('euclidean')
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
useSimilarityMetric(metric: SimilarityMetric): this;
|
|
147
|
+
/**
|
|
148
|
+
* Set minimum similarity threshold
|
|
149
|
+
*
|
|
150
|
+
* @param threshold - Minimum score threshold
|
|
151
|
+
* @returns this for chaining
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* db.query().similarTo(vector).withThreshold(0.7)
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
withThreshold(threshold: number): this;
|
|
159
|
+
/**
|
|
160
|
+
* Order results by a field
|
|
161
|
+
*
|
|
162
|
+
* @param field - Field name
|
|
163
|
+
* @param direction - Sort direction ('asc' or 'desc')
|
|
164
|
+
* @returns this for chaining
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* db.query()
|
|
169
|
+
* .similarTo(vector)
|
|
170
|
+
* .orderBy('metadata.timestamp', 'desc')
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
orderBy(field: string, direction?: SortDirection): this;
|
|
174
|
+
/**
|
|
175
|
+
* Order results by similarity score
|
|
176
|
+
*
|
|
177
|
+
* @param direction - Sort direction ('asc' or 'desc', default: 'desc')
|
|
178
|
+
* @returns this for chaining
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* db.query()
|
|
183
|
+
* .similarTo(vector)
|
|
184
|
+
* .orderBySimilarity('asc') // Least similar first
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
orderBySimilarity(direction?: SortDirection): this;
|
|
188
|
+
/**
|
|
189
|
+
* Limit number of results
|
|
190
|
+
*
|
|
191
|
+
* @param n - Maximum number of results
|
|
192
|
+
* @returns this for chaining
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* db.query().similarTo(vector).limit(10)
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
limit(n: number): this;
|
|
200
|
+
/**
|
|
201
|
+
* Skip first n results
|
|
202
|
+
*
|
|
203
|
+
* @param n - Number of results to skip
|
|
204
|
+
* @returns this for chaining
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* db.query().similarTo(vector).offset(20).limit(10) // Get results 21-30
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
offset(n: number): this;
|
|
212
|
+
/**
|
|
213
|
+
* Alias for offset
|
|
214
|
+
*/
|
|
215
|
+
skip(n: number): this;
|
|
216
|
+
/**
|
|
217
|
+
* Alias for limit
|
|
218
|
+
*/
|
|
219
|
+
take(n: number): this;
|
|
220
|
+
/**
|
|
221
|
+
* Execute raw SQL query (advanced usage)
|
|
222
|
+
*
|
|
223
|
+
* @param sql - Raw SQL query
|
|
224
|
+
* @param params - Query parameters
|
|
225
|
+
* @returns this for chaining
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* db.query()
|
|
230
|
+
* .raw('SELECT * FROM vectors WHERE metadata->>"$.category" = ?', ['tech'])
|
|
231
|
+
* .execute()
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
raw(sql: string, params?: any[]): this;
|
|
235
|
+
/**
|
|
236
|
+
* Type-safe metadata wrapper
|
|
237
|
+
*
|
|
238
|
+
* @returns QueryBuilder with typed metadata
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```typescript
|
|
242
|
+
* interface BlogPost {
|
|
243
|
+
* title: string;
|
|
244
|
+
* author: string;
|
|
245
|
+
* }
|
|
246
|
+
*
|
|
247
|
+
* const posts = await db.query()
|
|
248
|
+
* .withMetadata<BlogPost>()
|
|
249
|
+
* .similarTo(vector)
|
|
250
|
+
* .execute();
|
|
251
|
+
*
|
|
252
|
+
* // posts[0].metadata.title is typed as string
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
withMetadata<M>(): VectorQueryBuilder<M>;
|
|
256
|
+
/**
|
|
257
|
+
* Execute the query and return all results
|
|
258
|
+
*
|
|
259
|
+
* @returns Promise resolving to array of search results
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* const results = await db.query()
|
|
264
|
+
* .similarTo(vector)
|
|
265
|
+
* .where('metadata.category', '=', 'tech')
|
|
266
|
+
* .limit(10)
|
|
267
|
+
* .execute();
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
execute(): Promise<SearchResult<T>[]>;
|
|
271
|
+
/**
|
|
272
|
+
* Execute query and return first result
|
|
273
|
+
*
|
|
274
|
+
* @returns Promise resolving to first result or null
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* ```typescript
|
|
278
|
+
* const best = await db.query()
|
|
279
|
+
* .similarTo(vector)
|
|
280
|
+
* .first();
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
first(): Promise<SearchResult<T> | null>;
|
|
284
|
+
/**
|
|
285
|
+
* Count results without retrieving them
|
|
286
|
+
*
|
|
287
|
+
* @returns Promise resolving to count
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```typescript
|
|
291
|
+
* const count = await db.query()
|
|
292
|
+
* .similarTo(vector)
|
|
293
|
+
* .where('metadata.category', '=', 'tech')
|
|
294
|
+
* .count();
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
count(): Promise<number>;
|
|
298
|
+
/**
|
|
299
|
+
* Apply filters to results
|
|
300
|
+
*/
|
|
301
|
+
private applyFilters;
|
|
302
|
+
/**
|
|
303
|
+
* Get nested object value by path
|
|
304
|
+
*/
|
|
305
|
+
private getNestedValue;
|
|
306
|
+
/**
|
|
307
|
+
* Check if value matches condition
|
|
308
|
+
*/
|
|
309
|
+
private matchesCondition;
|
|
310
|
+
/**
|
|
311
|
+
* Apply sorting to results
|
|
312
|
+
*/
|
|
313
|
+
private applySorting;
|
|
314
|
+
/**
|
|
315
|
+
* Apply pagination to results
|
|
316
|
+
*/
|
|
317
|
+
private applyPagination;
|
|
318
|
+
/**
|
|
319
|
+
* Execute raw SQL query (advanced)
|
|
320
|
+
*/
|
|
321
|
+
private executeRaw;
|
|
322
|
+
}
|