@mastra/libsql 0.0.0-bundle-studio-cloud-20251222034739 → 0.0.0-bundle-version-20260121132824
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 +927 -4
- package/dist/docs/README.md +39 -0
- package/dist/docs/SKILL.md +40 -0
- package/dist/docs/SOURCE_MAP.json +6 -0
- package/dist/docs/agents/01-agent-memory.md +166 -0
- package/dist/docs/agents/02-networks.md +292 -0
- package/dist/docs/agents/03-agent-approval.md +377 -0
- package/dist/docs/agents/04-network-approval.md +274 -0
- package/dist/docs/core/01-reference.md +151 -0
- package/dist/docs/guides/01-ai-sdk.md +141 -0
- package/dist/docs/memory/01-overview.md +76 -0
- package/dist/docs/memory/02-storage.md +233 -0
- package/dist/docs/memory/03-working-memory.md +390 -0
- package/dist/docs/memory/04-semantic-recall.md +233 -0
- package/dist/docs/memory/05-memory-processors.md +318 -0
- package/dist/docs/memory/06-reference.md +133 -0
- package/dist/docs/observability/01-overview.md +64 -0
- package/dist/docs/observability/02-default.md +177 -0
- package/dist/docs/rag/01-retrieval.md +548 -0
- package/dist/docs/storage/01-reference.md +538 -0
- package/dist/docs/vectors/01-reference.md +213 -0
- package/dist/docs/workflows/01-snapshots.md +240 -0
- package/dist/index.cjs +839 -351
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +837 -354
- package/dist/index.js.map +1 -1
- package/dist/storage/db/index.d.ts +46 -0
- package/dist/storage/db/index.d.ts.map +1 -1
- package/dist/storage/db/utils.d.ts +17 -13
- package/dist/storage/db/utils.d.ts.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +3 -2
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/observability/index.d.ts +37 -22
- package/dist/storage/domains/observability/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +6 -19
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +1 -0
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +28 -156
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/vector/index.d.ts +6 -2
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/sql-builder.d.ts.map +1 -1
- package/package.json +10 -9
|
@@ -227,6 +227,52 @@ export declare class LibSQLDB extends MastraBase {
|
|
|
227
227
|
tableName: TABLE_NAMES;
|
|
228
228
|
schema: Record<string, StorageColumn>;
|
|
229
229
|
}): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Migrates the spans table schema from OLD_SPAN_SCHEMA to current SPAN_SCHEMA.
|
|
232
|
+
* This adds new columns that don't exist in old schema and ensures required indexes exist.
|
|
233
|
+
*/
|
|
234
|
+
private migrateSpansTable;
|
|
235
|
+
/**
|
|
236
|
+
* Checks if the unique index on (spanId, traceId) already exists on the spans table.
|
|
237
|
+
* Used to skip deduplication when the index already exists (migration already complete).
|
|
238
|
+
*/
|
|
239
|
+
private spansUniqueIndexExists;
|
|
240
|
+
/**
|
|
241
|
+
* Checks for duplicate (traceId, spanId) combinations in the spans table.
|
|
242
|
+
* Returns information about duplicates for logging/CLI purposes.
|
|
243
|
+
*/
|
|
244
|
+
private checkForDuplicateSpans;
|
|
245
|
+
/**
|
|
246
|
+
* Manually run the spans migration to deduplicate and add the unique constraint.
|
|
247
|
+
* This is intended to be called from the CLI when duplicates are detected.
|
|
248
|
+
*
|
|
249
|
+
* @returns Migration result with status and details
|
|
250
|
+
*/
|
|
251
|
+
migrateSpans(): Promise<{
|
|
252
|
+
success: boolean;
|
|
253
|
+
alreadyMigrated: boolean;
|
|
254
|
+
duplicatesRemoved: number;
|
|
255
|
+
message: string;
|
|
256
|
+
}>;
|
|
257
|
+
/**
|
|
258
|
+
* Check migration status for the spans table.
|
|
259
|
+
* Returns information about whether migration is needed.
|
|
260
|
+
*/
|
|
261
|
+
checkSpansMigrationStatus(): Promise<{
|
|
262
|
+
needsMigration: boolean;
|
|
263
|
+
hasDuplicates: boolean;
|
|
264
|
+
duplicateCount: number;
|
|
265
|
+
constraintExists: boolean;
|
|
266
|
+
tableName: string;
|
|
267
|
+
}>;
|
|
268
|
+
/**
|
|
269
|
+
* Deduplicates spans table by removing duplicate (spanId, traceId) combinations.
|
|
270
|
+
* Keeps the "best" record for each duplicate group based on:
|
|
271
|
+
* 1. Completed spans (endedAt IS NOT NULL) over incomplete ones
|
|
272
|
+
* 2. Most recently updated (updatedAt DESC)
|
|
273
|
+
* 3. Most recently created (createdAt DESC) as tiebreaker
|
|
274
|
+
*/
|
|
275
|
+
private deduplicateSpans;
|
|
230
276
|
/**
|
|
231
277
|
* Gets a default value for a column type (used when adding NOT NULL columns).
|
|
232
278
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type { InValue } from '@libsql/client';
|
|
2
2
|
import type { IMastraLogger } from '@mastra/core/logger';
|
|
3
|
-
import type {
|
|
3
|
+
import type { StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
|
|
4
|
+
/**
|
|
5
|
+
* Builds a SQL column list for SELECT statements, wrapping JSONB columns with json()
|
|
6
|
+
* to convert binary JSONB to TEXT.
|
|
7
|
+
*
|
|
8
|
+
* The json() function handles both:
|
|
9
|
+
* - Binary JSONB data (converts to TEXT)
|
|
10
|
+
* - Legacy TEXT JSON data (returns as-is)
|
|
11
|
+
*
|
|
12
|
+
* Note: json_valid() was considered for guarding against malformed legacy TEXT,
|
|
13
|
+
* but it doesn't work correctly with binary JSONB data (returns false for valid JSONB blobs).
|
|
14
|
+
*
|
|
15
|
+
* @param tableName - The table name to get the schema for
|
|
16
|
+
* @returns A comma-separated column list with json() wrappers for JSONB columns
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildSelectColumns(tableName: TABLE_NAMES): string;
|
|
4
19
|
/**
|
|
5
20
|
* Checks if an error is a SQLite lock/busy error that should be retried
|
|
6
21
|
*/
|
|
@@ -25,7 +40,7 @@ export declare function prepareUpdateStatement({ tableName, updates, keys, }: {
|
|
|
25
40
|
sql: string;
|
|
26
41
|
args: InValue[];
|
|
27
42
|
};
|
|
28
|
-
export declare function transformToSqlValue(value: any): InValue;
|
|
43
|
+
export declare function transformToSqlValue(value: any, forceJsonStringify?: boolean): InValue;
|
|
29
44
|
export declare function prepareDeleteStatement({ tableName, keys }: {
|
|
30
45
|
tableName: TABLE_NAMES;
|
|
31
46
|
keys: Record<string, any>;
|
|
@@ -41,17 +56,6 @@ export declare function prepareWhereClause(filters: Record<string, WhereValue>,
|
|
|
41
56
|
sql: string;
|
|
42
57
|
args: InValue[];
|
|
43
58
|
};
|
|
44
|
-
type DateRangeFilter = {
|
|
45
|
-
startAt?: string;
|
|
46
|
-
endAt?: string;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Converts pagination date range to where clause date range format
|
|
50
|
-
* @param dateRange - The date range from pagination
|
|
51
|
-
* @param columnName - The timestamp column to filter on (defaults to 'createdAt')
|
|
52
|
-
* @returns Object with the date range filter, or empty object if no date range
|
|
53
|
-
*/
|
|
54
|
-
export declare function buildDateRangeFilter(dateRange?: PaginationArgs['dateRange'], columnName?: string): Record<string, DateRangeFilter>;
|
|
55
59
|
/**
|
|
56
60
|
* Transforms SQL row data back to a typed object format
|
|
57
61
|
* Reverses the transformations done in prepareStatement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/db/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/db/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CASjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAS/C;AAED,wBAAgB,oCAAoC,CAAC,EACnD,MAAM,EACN,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,IACsD,CAAC,EACpD,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,EAC7B,sBAAsB,MAAM,KAC3B,OAAO,CAAC,CAAC,CAAC,CAyCd;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG;IAChH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAiCA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,EACP,IAAI,GACL,EAAE;IACD,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CA6BA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAa5F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG;IAClH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAQA;AAED,KAAK,UAAU,GAAG,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACpC;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAqBA;AA+CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EACrC,SAAS,EACT,MAAM,GACP,EAAE;IACD,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B,GAAG,CAAC,CAiCJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MastraMessageContentV2 } from '@mastra/core/agent';
|
|
2
2
|
import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
|
|
3
|
-
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput,
|
|
3
|
+
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, StorageCloneThreadInput, StorageCloneThreadOutput } from '@mastra/core/storage';
|
|
4
4
|
import { MemoryStorage } from '@mastra/core/storage';
|
|
5
5
|
import type { LibSQLDomainConfig } from '../../db/index.js';
|
|
6
6
|
export declare class MemoryLibSQL extends MemoryStorage {
|
|
@@ -45,7 +45,7 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
45
45
|
getThreadById({ threadId }: {
|
|
46
46
|
threadId: string;
|
|
47
47
|
}): Promise<StorageThreadType | null>;
|
|
48
|
-
|
|
48
|
+
listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
|
|
49
49
|
saveThread({ thread }: {
|
|
50
50
|
thread: StorageThreadType;
|
|
51
51
|
}): Promise<StorageThreadType>;
|
|
@@ -57,5 +57,6 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
57
57
|
deleteThread({ threadId }: {
|
|
58
58
|
threadId: string;
|
|
59
59
|
}): Promise<void>;
|
|
60
|
+
cloneThread(args: StorageCloneThreadInput): Promise<StorageCloneThreadOutput>;
|
|
60
61
|
}
|
|
61
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,49 @@
|
|
|
1
1
|
import { ObservabilityStorage } from '@mastra/core/storage';
|
|
2
|
-
import type { SpanRecord,
|
|
2
|
+
import type { SpanRecord, ListTracesArgs, PaginationInfo, TracingStorageStrategy, UpdateSpanArgs, BatchDeleteTracesArgs, BatchUpdateSpansArgs, BatchCreateSpansArgs, CreateSpanArgs, GetSpanArgs, GetSpanResponse, GetRootSpanArgs, GetRootSpanResponse, GetTraceArgs, GetTraceResponse } from '@mastra/core/storage';
|
|
3
3
|
import type { LibSQLDomainConfig } from '../../db/index.js';
|
|
4
4
|
export declare class ObservabilityLibSQL extends ObservabilityStorage {
|
|
5
5
|
#private;
|
|
6
6
|
constructor(config: LibSQLDomainConfig);
|
|
7
7
|
init(): Promise<void>;
|
|
8
8
|
dangerouslyClearAll(): Promise<void>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Manually run the spans migration to deduplicate and add the unique constraint.
|
|
11
|
+
* This is intended to be called from the CLI when duplicates are detected.
|
|
12
|
+
*
|
|
13
|
+
* @returns Migration result with status and details
|
|
14
|
+
*/
|
|
15
|
+
migrateSpans(): Promise<{
|
|
16
|
+
success: boolean;
|
|
17
|
+
alreadyMigrated: boolean;
|
|
18
|
+
duplicatesRemoved: number;
|
|
19
|
+
message: string;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Check migration status for the spans table.
|
|
23
|
+
* Returns information about whether migration is needed.
|
|
24
|
+
*/
|
|
25
|
+
checkSpansMigrationStatus(): Promise<{
|
|
26
|
+
needsMigration: boolean;
|
|
27
|
+
hasDuplicates: boolean;
|
|
28
|
+
duplicateCount: number;
|
|
29
|
+
constraintExists: boolean;
|
|
30
|
+
tableName: string;
|
|
31
|
+
}>;
|
|
32
|
+
get tracingStrategy(): {
|
|
33
|
+
preferred: TracingStorageStrategy;
|
|
34
|
+
supported: TracingStorageStrategy[];
|
|
35
|
+
};
|
|
36
|
+
createSpan(args: CreateSpanArgs): Promise<void>;
|
|
37
|
+
getSpan(args: GetSpanArgs): Promise<GetSpanResponse | null>;
|
|
38
|
+
getRootSpan(args: GetRootSpanArgs): Promise<GetRootSpanResponse | null>;
|
|
39
|
+
getTrace(args: GetTraceArgs): Promise<GetTraceResponse | null>;
|
|
40
|
+
updateSpan(args: UpdateSpanArgs): Promise<void>;
|
|
41
|
+
listTraces(args: ListTracesArgs): Promise<{
|
|
17
42
|
pagination: PaginationInfo;
|
|
18
43
|
spans: SpanRecord[];
|
|
19
44
|
}>;
|
|
20
|
-
batchCreateSpans(args:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
batchUpdateSpans(args: {
|
|
24
|
-
records: {
|
|
25
|
-
traceId: string;
|
|
26
|
-
spanId: string;
|
|
27
|
-
updates: Partial<UpdateSpanRecord>;
|
|
28
|
-
}[];
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
batchDeleteTraces(args: {
|
|
31
|
-
traceIds: string[];
|
|
32
|
-
}): Promise<void>;
|
|
45
|
+
batchCreateSpans(args: BatchCreateSpansArgs): Promise<void>;
|
|
46
|
+
batchUpdateSpans(args: BatchUpdateSpansArgs): Promise<void>;
|
|
47
|
+
batchDeleteTraces(args: BatchDeleteTracesArgs): Promise<void>;
|
|
33
48
|
}
|
|
34
49
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,oBAAoB,EAIrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,mBAAoB,SAAQ,oBAAoB;;gBAG/C,MAAM,EAAE,kBAAkB;IAMhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAIF;;;OAGG;IACG,yBAAyB,IAAI,OAAO,CAAC;QACzC,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAIF,IAAoB,eAAe,IAAI;QACrC,SAAS,EAAE,sBAAsB,CAAC;QAClC,SAAS,EAAE,sBAAsB,EAAE,CAAC;KACrC,CAKA;IAEK,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA6B3D,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA6BvE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAgC9D,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAoP9F,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC3D,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3D,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBpE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
|
|
1
|
+
import type { ListScoresResponse, SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
|
|
2
2
|
import { ScoresStorage } from '@mastra/core/storage';
|
|
3
|
-
import type {
|
|
3
|
+
import type { StoragePagination } from '@mastra/core/storage';
|
|
4
4
|
import type { LibSQLDomainConfig } from '../../db/index.js';
|
|
5
5
|
export declare class ScoresLibSQL extends ScoresStorage {
|
|
6
6
|
#private;
|
|
@@ -10,23 +10,16 @@ export declare class ScoresLibSQL extends ScoresStorage {
|
|
|
10
10
|
listScoresByRunId({ runId, pagination, }: {
|
|
11
11
|
runId: string;
|
|
12
12
|
pagination: StoragePagination;
|
|
13
|
-
}): Promise<
|
|
14
|
-
pagination: PaginationInfo;
|
|
15
|
-
scores: ScoreRowData[];
|
|
16
|
-
}>;
|
|
13
|
+
}): Promise<ListScoresResponse>;
|
|
17
14
|
listScoresByScorerId({ scorerId, entityId, entityType, source, pagination, }: {
|
|
18
15
|
scorerId: string;
|
|
19
16
|
entityId?: string;
|
|
20
17
|
entityType?: string;
|
|
21
18
|
source?: ScoringSource;
|
|
22
19
|
pagination: StoragePagination;
|
|
23
|
-
}): Promise<
|
|
24
|
-
pagination: PaginationInfo;
|
|
25
|
-
scores: ScoreRowData[];
|
|
26
|
-
}>;
|
|
20
|
+
}): Promise<ListScoresResponse>;
|
|
27
21
|
/**
|
|
28
22
|
* LibSQL-specific score row transformation.
|
|
29
|
-
* Maps additionalLLMContext column to additionalContext field.
|
|
30
23
|
*/
|
|
31
24
|
private transformScoreRow;
|
|
32
25
|
getScoreById({ id }: {
|
|
@@ -39,17 +32,11 @@ export declare class ScoresLibSQL extends ScoresStorage {
|
|
|
39
32
|
pagination: StoragePagination;
|
|
40
33
|
entityId: string;
|
|
41
34
|
entityType: string;
|
|
42
|
-
}): Promise<
|
|
43
|
-
pagination: PaginationInfo;
|
|
44
|
-
scores: ScoreRowData[];
|
|
45
|
-
}>;
|
|
35
|
+
}): Promise<ListScoresResponse>;
|
|
46
36
|
listScoresBySpan({ traceId, spanId, pagination, }: {
|
|
47
37
|
traceId: string;
|
|
48
38
|
spanId: string;
|
|
49
39
|
pagination: StoragePagination;
|
|
50
|
-
}): Promise<
|
|
51
|
-
pagination: PaginationInfo;
|
|
52
|
-
scores: ScoreRowData[];
|
|
53
|
-
}>;
|
|
40
|
+
}): Promise<ListScoresResponse>;
|
|
54
41
|
}
|
|
55
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAIL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,YAAa,SAAQ,aAAa;;gBAIjC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwDzB,oBAAoB,CAAC,EACzB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiF/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAInB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQlE,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAiDpE,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwDzB,gBAAgB,CAAC,EACrB,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2ChC"}
|
|
@@ -6,6 +6,7 @@ export declare class WorkflowsLibSQL extends WorkflowsStorage {
|
|
|
6
6
|
#private;
|
|
7
7
|
private readonly executeWithRetry;
|
|
8
8
|
constructor(config: LibSQLDomainConfig);
|
|
9
|
+
private parseWorkflowRun;
|
|
9
10
|
init(): Promise<void>;
|
|
10
11
|
dangerouslyClearAll(): Promise<void>;
|
|
11
12
|
private setupPragmaSettings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,eAAgB,SAAQ,gBAAgB;;IAGnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiF;gBAEtG,MAAM,EAAE,kBAAkB;IAqBtC,OAAO,CAAC,gBAAgB;IAmBlB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAI5B,mBAAmB;IA0B3B,qBAAqB,CAAC,EAC1B,YAAY,EACZ,KAAK,EACL,MAAM,EACN,MAAM,EACN,cAAc,GACf,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IA2DrD,mBAAmB,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,IAAI,GACL,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,0BAA0B,CAAC;KAClC,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA6CnC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB;IAkBK,oBAAoB,CAAC,EACzB,YAAY,EACZ,KAAK,GACN,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAU9B,kBAAkB,CAAC,EACvB,KAAK,EACL,YAAY,GACb,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAuCzB,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtG,gBAAgB,CAAC,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,OAAO,EACP,UAAU,EACV,MAAM,GACP,GAAE,4BAAiC,GAAG,OAAO,CAAC,YAAY,CAAC;CAuE7D"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { Client } from '@libsql/client';
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
2
|
+
import type { StorageDomains } from '@mastra/core/storage';
|
|
3
|
+
import { MastraCompositeStore } from '@mastra/core/storage';
|
|
4
|
+
import { AgentsLibSQL } from './domains/agents/index.js';
|
|
5
|
+
import { MemoryLibSQL } from './domains/memory/index.js';
|
|
6
|
+
import { ObservabilityLibSQL } from './domains/observability/index.js';
|
|
7
|
+
import { ScoresLibSQL } from './domains/scores/index.js';
|
|
8
|
+
import { WorkflowsLibSQL } from './domains/workflows/index.js';
|
|
9
|
+
export { AgentsLibSQL, MemoryLibSQL, ObservabilityLibSQL, ScoresLibSQL, WorkflowsLibSQL };
|
|
10
|
+
export type { LibSQLDomainConfig } from './db/index.js';
|
|
8
11
|
/**
|
|
9
12
|
* Base configuration options shared across LibSQL configurations
|
|
10
13
|
*/
|
|
@@ -48,161 +51,30 @@ export type LibSQLConfig = (LibSQLBaseConfig & {
|
|
|
48
51
|
}) | (LibSQLBaseConfig & {
|
|
49
52
|
client: Client;
|
|
50
53
|
});
|
|
51
|
-
|
|
54
|
+
/**
|
|
55
|
+
* LibSQL/Turso storage adapter for Mastra.
|
|
56
|
+
*
|
|
57
|
+
* Access domain-specific storage via `getStore()`:
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const storage = new LibSQLStore({ id: 'my-store', url: 'file:./dev.db' });
|
|
62
|
+
*
|
|
63
|
+
* // Access memory domain
|
|
64
|
+
* const memory = await storage.getStore('memory');
|
|
65
|
+
* await memory?.saveThread({ thread });
|
|
66
|
+
*
|
|
67
|
+
* // Access workflows domain
|
|
68
|
+
* const workflows = await storage.getStore('workflows');
|
|
69
|
+
* await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class LibSQLStore extends MastraCompositeStore {
|
|
52
73
|
private client;
|
|
53
74
|
private readonly maxRetries;
|
|
54
75
|
private readonly initialBackoffMs;
|
|
55
76
|
stores: StorageDomains;
|
|
56
77
|
constructor(config: LibSQLConfig);
|
|
57
|
-
get supports(): {
|
|
58
|
-
selectByIncludeResourceScope: boolean;
|
|
59
|
-
resourceWorkingMemory: boolean;
|
|
60
|
-
hasColumn: boolean;
|
|
61
|
-
createTable: boolean;
|
|
62
|
-
deleteMessages: boolean;
|
|
63
|
-
observabilityInstance: boolean;
|
|
64
|
-
listScoresBySpan: boolean;
|
|
65
|
-
agents: boolean;
|
|
66
|
-
};
|
|
67
|
-
getThreadById({ threadId }: {
|
|
68
|
-
threadId: string;
|
|
69
|
-
}): Promise<StorageThreadType | null>;
|
|
70
|
-
saveThread({ thread }: {
|
|
71
|
-
thread: StorageThreadType;
|
|
72
|
-
}): Promise<StorageThreadType>;
|
|
73
|
-
updateThread({ id, title, metadata, }: {
|
|
74
|
-
id: string;
|
|
75
|
-
title: string;
|
|
76
|
-
metadata: Record<string, unknown>;
|
|
77
|
-
}): Promise<StorageThreadType>;
|
|
78
|
-
deleteThread({ threadId }: {
|
|
79
|
-
threadId: string;
|
|
80
|
-
}): Promise<void>;
|
|
81
|
-
listMessagesById({ messageIds }: {
|
|
82
|
-
messageIds: string[];
|
|
83
|
-
}): Promise<{
|
|
84
|
-
messages: MastraDBMessage[];
|
|
85
|
-
}>;
|
|
86
|
-
saveMessages(args: {
|
|
87
|
-
messages: MastraDBMessage[];
|
|
88
|
-
}): Promise<{
|
|
89
|
-
messages: MastraDBMessage[];
|
|
90
|
-
}>;
|
|
91
|
-
updateMessages({ messages, }: {
|
|
92
|
-
messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
|
|
93
|
-
id: string;
|
|
94
|
-
content?: {
|
|
95
|
-
metadata?: MastraMessageContentV2['metadata'];
|
|
96
|
-
content?: MastraMessageContentV2['content'];
|
|
97
|
-
};
|
|
98
|
-
})[];
|
|
99
|
-
}): Promise<MastraDBMessage[]>;
|
|
100
|
-
deleteMessages(messageIds: string[]): Promise<void>;
|
|
101
|
-
getScoreById({ id }: {
|
|
102
|
-
id: string;
|
|
103
|
-
}): Promise<ScoreRowData | null>;
|
|
104
|
-
saveScore(score: SaveScorePayload): Promise<{
|
|
105
|
-
score: ScoreRowData;
|
|
106
|
-
}>;
|
|
107
|
-
listScoresByScorerId({ scorerId, entityId, entityType, source, pagination, }: {
|
|
108
|
-
scorerId: string;
|
|
109
|
-
entityId?: string;
|
|
110
|
-
entityType?: string;
|
|
111
|
-
source?: ScoringSource;
|
|
112
|
-
pagination: StoragePagination;
|
|
113
|
-
}): Promise<{
|
|
114
|
-
pagination: PaginationInfo;
|
|
115
|
-
scores: ScoreRowData[];
|
|
116
|
-
}>;
|
|
117
|
-
listScoresByRunId({ runId, pagination, }: {
|
|
118
|
-
runId: string;
|
|
119
|
-
pagination: StoragePagination;
|
|
120
|
-
}): Promise<{
|
|
121
|
-
pagination: PaginationInfo;
|
|
122
|
-
scores: ScoreRowData[];
|
|
123
|
-
}>;
|
|
124
|
-
listScoresByEntityId({ entityId, entityType, pagination, }: {
|
|
125
|
-
pagination: StoragePagination;
|
|
126
|
-
entityId: string;
|
|
127
|
-
entityType: string;
|
|
128
|
-
}): Promise<{
|
|
129
|
-
pagination: PaginationInfo;
|
|
130
|
-
scores: ScoreRowData[];
|
|
131
|
-
}>;
|
|
132
|
-
/**
|
|
133
|
-
* WORKFLOWS
|
|
134
|
-
*/
|
|
135
|
-
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
|
|
136
|
-
workflowName: string;
|
|
137
|
-
runId: string;
|
|
138
|
-
stepId: string;
|
|
139
|
-
result: StepResult<any, any, any, any>;
|
|
140
|
-
requestContext: Record<string, any>;
|
|
141
|
-
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
142
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
143
|
-
workflowName: string;
|
|
144
|
-
runId: string;
|
|
145
|
-
opts: UpdateWorkflowStateOptions;
|
|
146
|
-
}): Promise<WorkflowRunState | undefined>;
|
|
147
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
148
|
-
workflowName: string;
|
|
149
|
-
runId: string;
|
|
150
|
-
resourceId?: string;
|
|
151
|
-
snapshot: WorkflowRunState;
|
|
152
|
-
}): Promise<void>;
|
|
153
|
-
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
154
|
-
workflowName: string;
|
|
155
|
-
runId: string;
|
|
156
|
-
}): Promise<WorkflowRunState | null>;
|
|
157
|
-
listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
|
|
158
|
-
getWorkflowRunById({ runId, workflowName, }: {
|
|
159
|
-
runId: string;
|
|
160
|
-
workflowName?: string;
|
|
161
|
-
}): Promise<WorkflowRun | null>;
|
|
162
|
-
deleteWorkflowRunById({ runId, workflowName }: {
|
|
163
|
-
runId: string;
|
|
164
|
-
workflowName: string;
|
|
165
|
-
}): Promise<void>;
|
|
166
|
-
getResourceById({ resourceId }: {
|
|
167
|
-
resourceId: string;
|
|
168
|
-
}): Promise<StorageResourceType | null>;
|
|
169
|
-
saveResource({ resource }: {
|
|
170
|
-
resource: StorageResourceType;
|
|
171
|
-
}): Promise<StorageResourceType>;
|
|
172
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
173
|
-
resourceId: string;
|
|
174
|
-
workingMemory?: string;
|
|
175
|
-
metadata?: Record<string, unknown>;
|
|
176
|
-
}): Promise<StorageResourceType>;
|
|
177
|
-
createSpan(span: SpanRecord): Promise<void>;
|
|
178
|
-
updateSpan(params: {
|
|
179
|
-
spanId: string;
|
|
180
|
-
traceId: string;
|
|
181
|
-
updates: Partial<Omit<SpanRecord, 'spanId' | 'traceId'>>;
|
|
182
|
-
}): Promise<void>;
|
|
183
|
-
getTrace(traceId: string): Promise<TraceRecord | null>;
|
|
184
|
-
getTracesPaginated(args: TracesPaginatedArg): Promise<{
|
|
185
|
-
pagination: PaginationInfo;
|
|
186
|
-
spans: SpanRecord[];
|
|
187
|
-
}>;
|
|
188
|
-
listScoresBySpan({ traceId, spanId, pagination, }: {
|
|
189
|
-
traceId: string;
|
|
190
|
-
spanId: string;
|
|
191
|
-
pagination: StoragePagination;
|
|
192
|
-
}): Promise<{
|
|
193
|
-
pagination: PaginationInfo;
|
|
194
|
-
scores: ScoreRowData[];
|
|
195
|
-
}>;
|
|
196
|
-
batchCreateSpans(args: {
|
|
197
|
-
records: SpanRecord[];
|
|
198
|
-
}): Promise<void>;
|
|
199
|
-
batchUpdateSpans(args: {
|
|
200
|
-
records: {
|
|
201
|
-
traceId: string;
|
|
202
|
-
spanId: string;
|
|
203
|
-
updates: Partial<Omit<SpanRecord, 'spanId' | 'traceId'>>;
|
|
204
|
-
}[];
|
|
205
|
-
}): Promise<void>;
|
|
206
78
|
}
|
|
207
79
|
export { LibSQLStore as DefaultStorage };
|
|
208
80
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,CAAC,gBAAgB,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,GACF,CAAC,gBAAgB,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEP;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,MAAM,EAAE,cAAc,CAAC;gBAEX,MAAM,EAAE,YAAY;CAuDjC;AAED,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,CAAC"}
|
package/dist/vector/index.d.ts
CHANGED
|
@@ -5,7 +5,11 @@ interface LibSQLQueryVectorParams extends QueryVectorParams<LibSQLVectorFilter>
|
|
|
5
5
|
minScore?: number;
|
|
6
6
|
}
|
|
7
7
|
export interface LibSQLVectorConfig {
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The URL of the LibSQL database.
|
|
10
|
+
* Examples: 'file:./dev.db', 'file::memory:', 'libsql://your-db.turso.io'
|
|
11
|
+
*/
|
|
12
|
+
url: string;
|
|
9
13
|
authToken?: string;
|
|
10
14
|
syncUrl?: string;
|
|
11
15
|
syncInterval?: number;
|
|
@@ -25,7 +29,7 @@ export declare class LibSQLVector extends MastraVector<LibSQLVectorFilter> {
|
|
|
25
29
|
private turso;
|
|
26
30
|
private readonly maxRetries;
|
|
27
31
|
private readonly initialBackoffMs;
|
|
28
|
-
constructor({
|
|
32
|
+
constructor({ url, authToken, syncUrl, syncInterval, maxRetries, initialBackoffMs, id, }: LibSQLVectorConfig & {
|
|
29
33
|
id: string;
|
|
30
34
|
});
|
|
31
35
|
private executeWriteOperationWithRetry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAqC,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,UAAU,uBAAwB,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,EACV,GAAG,EACH,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAc,EACd,gBAAsB,EACtB,EAAE,GACH,EAAE,kBAAkB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;YAwBxB,8BAA8B;IAmC5C,eAAe,CAAC,MAAM,CAAC,EAAE,kBAAkB;IAKrC,KAAK,CAAC,EACV,SAAS,EACT,WAAW,EACX,IAAS,EACT,MAAM,EACN,aAAqB,EACrB,QAAa,GACd,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA8D5C,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAe5C,QAAQ;IA8Cf,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB5C,aAAa;IAyBpB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB5C,aAAa;IAQrB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBtC;;;;;OAKG;IACG,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAqD5E;;;;;;;;;;OAUG;IACI,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAIlE,cAAc;IA8I5B;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAmB9C,cAAc;IAQrB,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAIpE,eAAe;IAiHtB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB9C,gBAAgB;CAM/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-builder.d.ts","sourceRoot":"","sources":["../../src/vector/sql-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAS9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"sql-builder.d.ts","sourceRoot":"","sources":["../../src/vector/sql-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAS9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA+WnD,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AA6BD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAkBzE"}
|