@mastra/qdrant 0.1.0-alpha.35 → 0.1.0-alpha.37
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/CHANGELOG.md +16 -0
- package/dist/_tsup-dts-rollup.d.ts +58 -0
- package/dist/index.d.ts +1 -16
- package/dist/index.js +2 -1
- package/package.json +5 -5
- package/src/vector/filter.ts +7 -1
- package/src/vector/index.ts +3 -3
- package/tsconfig.json +1 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @mastra/qdrant
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.37
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [a9345f9]
|
|
8
|
+
- @mastra/core@0.2.0-alpha.102
|
|
9
|
+
|
|
10
|
+
## 0.1.0-alpha.36
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 4f1d1a1: Enforce types ann cleanup package.json
|
|
15
|
+
- Updated dependencies [66a03ec]
|
|
16
|
+
- Updated dependencies [4f1d1a1]
|
|
17
|
+
- @mastra/core@0.2.0-alpha.101
|
|
18
|
+
|
|
3
19
|
## 0.1.0-alpha.35
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseFilterTranslator } from '@mastra/core/filter';
|
|
2
|
+
import { Filter } from '@mastra/core/filter';
|
|
3
|
+
import { IndexStats } from '@mastra/core/vector';
|
|
4
|
+
import { LogicalOperator } from '@mastra/core/filter';
|
|
5
|
+
import { MastraVector } from '@mastra/core/vector';
|
|
6
|
+
import { OperatorSupport } from '@mastra/core/filter';
|
|
7
|
+
import { QueryResult } from '@mastra/core/vector';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Translates MongoDB-style filters to Qdrant compatible filters.
|
|
11
|
+
*
|
|
12
|
+
* Key transformations:
|
|
13
|
+
* - $and -> must
|
|
14
|
+
* - $or -> should
|
|
15
|
+
* - $not -> must_not
|
|
16
|
+
* - { field: { $op: value } } -> { key: field, match/range: { value/gt/lt: value } }
|
|
17
|
+
*
|
|
18
|
+
* Custom operators (Qdrant-specific):
|
|
19
|
+
* - $count -> values_count (array length/value count)
|
|
20
|
+
* - $geo -> geo filters (box, radius, polygon)
|
|
21
|
+
* - $hasId -> has_id filter
|
|
22
|
+
* - $nested -> nested object filters
|
|
23
|
+
* - $hasVector -> vector existence check
|
|
24
|
+
* - $datetime -> RFC 3339 datetime range
|
|
25
|
+
* - $null -> is_null check
|
|
26
|
+
* - $empty -> is_empty check
|
|
27
|
+
*/
|
|
28
|
+
export declare class QdrantFilterTranslator extends BaseFilterTranslator {
|
|
29
|
+
protected isLogicalOperator(key: string): key is LogicalOperator;
|
|
30
|
+
protected getSupportedOperators(): OperatorSupport;
|
|
31
|
+
translate(filter?: Filter): Filter | undefined;
|
|
32
|
+
private createCondition;
|
|
33
|
+
private translateNode;
|
|
34
|
+
private buildFinalConditions;
|
|
35
|
+
private handleLogicalOperators;
|
|
36
|
+
private handleFieldConditions;
|
|
37
|
+
private translateCustomOperator;
|
|
38
|
+
private getQdrantLogicalOp;
|
|
39
|
+
private translateOperatorValue;
|
|
40
|
+
private translateGeoFilter;
|
|
41
|
+
private normalizeDatetimeRange;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
declare class QdrantVector extends MastraVector {
|
|
45
|
+
private client;
|
|
46
|
+
constructor(url: string, apiKey?: string, https?: boolean);
|
|
47
|
+
upsert(indexName: string, vectors: number[][], metadata?: Record<string, any>[], ids?: string[]): Promise<string[]>;
|
|
48
|
+
createIndex(indexName: string, dimension: number, metric?: 'cosine' | 'euclidean' | 'dotproduct'): Promise<void>;
|
|
49
|
+
transformFilter(filter?: Filter): Filter | undefined;
|
|
50
|
+
query(indexName: string, queryVector: number[], topK?: number, filter?: Filter, includeVector?: boolean): Promise<QueryResult[]>;
|
|
51
|
+
listIndexes(): Promise<string[]>;
|
|
52
|
+
describeIndex(indexName: string): Promise<IndexStats>;
|
|
53
|
+
deleteIndex(indexName: string): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
export { QdrantVector }
|
|
56
|
+
export { QdrantVector as QdrantVector_alias_1 }
|
|
57
|
+
|
|
58
|
+
export { }
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';
|
|
3
|
-
|
|
4
|
-
declare class QdrantVector extends MastraVector {
|
|
5
|
-
private client;
|
|
6
|
-
constructor(url: string, apiKey?: string, https?: boolean);
|
|
7
|
-
upsert(indexName: string, vectors: number[][], metadata?: Record<string, any>[], ids?: string[]): Promise<string[]>;
|
|
8
|
-
createIndex(indexName: string, dimension: number, metric?: 'cosine' | 'euclidean' | 'dotproduct'): Promise<void>;
|
|
9
|
-
transformFilter(filter?: Filter): Filter | undefined;
|
|
10
|
-
query(indexName: string, queryVector: number[], topK?: number, filter?: Filter, includeVector?: boolean): Promise<QueryResult[]>;
|
|
11
|
-
listIndexes(): Promise<string[]>;
|
|
12
|
-
describeIndex(indexName: string): Promise<IndexStats>;
|
|
13
|
-
deleteIndex(indexName: string): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { QdrantVector };
|
|
1
|
+
export { QdrantVector } from './_tsup-dts-rollup.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { BaseFilterTranslator } from '@mastra/core/filter';
|
|
1
2
|
import { MastraVector } from '@mastra/core/vector';
|
|
2
3
|
import { QdrantClient } from '@qdrant/js-client-rest';
|
|
3
|
-
import { BaseFilterTranslator } from '@mastra/core/filter';
|
|
4
4
|
|
|
5
5
|
// src/vector/index.ts
|
|
6
6
|
var QdrantFilterTranslator = class extends BaseFilterTranslator {
|
|
@@ -236,6 +236,7 @@ var DISTANCE_MAPPING = {
|
|
|
236
236
|
dotproduct: "Dot"
|
|
237
237
|
};
|
|
238
238
|
var QdrantVector = class extends MastraVector {
|
|
239
|
+
client;
|
|
239
240
|
constructor(url, apiKey, https) {
|
|
240
241
|
super();
|
|
241
242
|
const baseClient = new QdrantClient({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/qdrant",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.37",
|
|
4
4
|
"description": "Qdrant vector store provider for Mastra",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@qdrant/js-client-rest": "^1.12.0",
|
|
19
|
-
"@mastra/core": "^0.2.0-alpha.
|
|
19
|
+
"@mastra/core": "^0.2.0-alpha.102"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@
|
|
23
|
-
"@types/node": "^22.
|
|
22
|
+
"@microsoft/api-extractor": "^7.49.2",
|
|
23
|
+
"@types/node": "^22.13.1",
|
|
24
24
|
"tsup": "^8.0.1",
|
|
25
25
|
"vitest": "^3.0.4"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
|
-
"build": "tsup src/index.ts --format esm --dts --clean --treeshake",
|
|
28
|
+
"build": "tsup src/index.ts --format esm --experimental-dts --clean --treeshake",
|
|
29
29
|
"build:watch": "pnpm build --watch",
|
|
30
30
|
"test": "vitest run"
|
|
31
31
|
}
|
package/src/vector/filter.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
BaseFilterTranslator,
|
|
3
|
+
type FieldCondition,
|
|
4
|
+
type Filter,
|
|
5
|
+
type LogicalOperator,
|
|
6
|
+
type OperatorSupport,
|
|
7
|
+
} from '@mastra/core/filter';
|
|
2
8
|
|
|
3
9
|
/**
|
|
4
10
|
* Translates MongoDB-style filters to Qdrant compatible filters.
|
package/src/vector/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Filter } from '@mastra/core/filter';
|
|
2
|
-
import { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';
|
|
3
|
-
import { QdrantClient, Schemas } from '@qdrant/js-client-rest';
|
|
1
|
+
import { type Filter } from '@mastra/core/filter';
|
|
2
|
+
import { MastraVector, type QueryResult, type IndexStats } from '@mastra/core/vector';
|
|
3
|
+
import { QdrantClient, type Schemas } from '@qdrant/js-client-rest';
|
|
4
4
|
|
|
5
5
|
import { QdrantFilterTranslator } from './filter';
|
|
6
6
|
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "../../tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"moduleResolution": "bundler",
|
|
5
|
-
"outDir": "./dist",
|
|
6
|
-
"rootDir": "./src"
|
|
7
|
-
},
|
|
2
|
+
"extends": "../../tsconfig.node.json",
|
|
8
3
|
"include": ["src/**/*"],
|
|
9
4
|
"exclude": ["node_modules", "**/*.test.ts"]
|
|
10
5
|
}
|