@mastra/lance 1.1.0-alpha.0 → 1.1.1-alpha.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/CHANGELOG.md +40 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/index.cjs +92 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +92 -12
- package/dist/index.js.map +1 -1
- package/dist/vector/index.d.ts +33 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/vector/index.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ interface LanceQueryVectorParams extends QueryVectorParams<LanceVectorFilter> {
|
|
|
18
18
|
tableName?: string;
|
|
19
19
|
columns?: string[];
|
|
20
20
|
includeAllColumns?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Distance metric used to compute `_distance` and convert it into a similarity `score`.
|
|
23
|
+
* Defaults to the table's vector index metric when one exists, otherwise 'cosine'
|
|
24
|
+
* (matching `createIndex`'s default and `@mastra/memory`'s usage).
|
|
25
|
+
*/
|
|
26
|
+
metric?: 'cosine' | 'euclidean' | 'dotproduct';
|
|
21
27
|
}
|
|
22
28
|
export declare class LanceVectorStore extends MastraVector<LanceVectorFilter> {
|
|
23
29
|
private lanceClient;
|
|
@@ -52,7 +58,33 @@ export declare class LanceVectorStore extends MastraVector<LanceVectorFilter> {
|
|
|
52
58
|
*/
|
|
53
59
|
private constructor();
|
|
54
60
|
close(): void;
|
|
55
|
-
query({ tableName, indexName, queryVector, filter, includeVector, topK, columns, includeAllColumns, }: LanceQueryVectorParams): Promise<QueryResult[]>;
|
|
61
|
+
query({ tableName, indexName, queryVector, filter, includeVector, topK, columns, includeAllColumns, metric, }: LanceQueryVectorParams): Promise<QueryResult[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Maps a Mastra distance metric to the LanceDB distance type.
|
|
64
|
+
*/
|
|
65
|
+
private mastraMetricToLance;
|
|
66
|
+
/**
|
|
67
|
+
* Determines the distance metric to use for a query.
|
|
68
|
+
*
|
|
69
|
+
* Precedence: the table's vector index metric wins when an index exists because
|
|
70
|
+
* LanceDB requires indexed searches to use the same distance type the index was
|
|
71
|
+
* trained with; otherwise an explicitly provided metric is used; otherwise it
|
|
72
|
+
* defaults to 'cosine'.
|
|
73
|
+
*/
|
|
74
|
+
private resolveQueryMetric;
|
|
75
|
+
private lanceMetricToMastra;
|
|
76
|
+
/**
|
|
77
|
+
* Converts a LanceDB `_distance` (smaller = more similar) into a Mastra similarity
|
|
78
|
+
* `score` (larger = more similar), consistent with every other Mastra vector store.
|
|
79
|
+
*
|
|
80
|
+
* - cosine: LanceDB returns cosine distance (`1 - cosine_similarity`), so `1 - distance`
|
|
81
|
+
* recovers the cosine similarity.
|
|
82
|
+
* - dotproduct: LanceDB's dot distance is `1 - dot_product`, so `1 - distance` recovers
|
|
83
|
+
* the dot product (matching `@mastra/pg`).
|
|
84
|
+
* - euclidean: LanceDB returns squared L2 distance for `l2`, so use its square root
|
|
85
|
+
* before mapping into (0, 1] (matching `@mastra/pg`).
|
|
86
|
+
*/
|
|
87
|
+
private distanceToScore;
|
|
56
88
|
private filterTranslator;
|
|
57
89
|
upsert({ tableName, indexName, vectors, metadata, ids }: LanceUpsertVectorParams): Promise<string[]>;
|
|
58
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI5G,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/lance",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1-alpha.0",
|
|
4
4
|
"description": "Lance provider for Mastra - includes both vector and db storage capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"tsx": "^4.22.4",
|
|
32
32
|
"typescript": "^6.0.3",
|
|
33
33
|
"vitest": "4.1.8",
|
|
34
|
-
"@internal/
|
|
35
|
-
"@internal/types-builder": "0.0.
|
|
36
|
-
"@internal/
|
|
37
|
-
"@mastra/core": "^1.
|
|
34
|
+
"@internal/lint": "0.0.107",
|
|
35
|
+
"@internal/types-builder": "0.0.82",
|
|
36
|
+
"@internal/storage-test-utils": "0.0.103",
|
|
37
|
+
"@mastra/core": "^1.46.0-alpha.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"@mastra/core": ">=1.0.0-0 <2.0.0-0"
|