@mastra/libsql 0.0.0-error-handler-fix-20251020202607 → 0.0.0-esbuild-bundle-worker-20260807182016
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 +4789 -3
- package/LICENSE.md +15 -0
- package/README.md +30 -20
- package/dist/docs/SKILL.md +52 -0
- package/dist/docs/assets/SOURCE_MAP.json +6 -0
- package/dist/docs/references/docs-agents-agent-approval.md +664 -0
- package/dist/docs/references/docs-agents-networks.md +184 -0
- package/dist/docs/references/docs-deployment-workers.md +137 -0
- package/dist/docs/references/docs-editor-overview.md +349 -0
- package/dist/docs/references/docs-memory-memory-processors.md +385 -0
- package/dist/docs/references/docs-memory-message-history.md +348 -0
- package/dist/docs/references/docs-memory-multi-user-threads.md +208 -0
- package/dist/docs/references/docs-memory-overview.md +266 -0
- package/dist/docs/references/docs-memory-semantic-recall.md +401 -0
- package/dist/docs/references/docs-memory-working-memory.md +431 -0
- package/dist/docs/references/docs-storage-overview.md +214 -0
- package/dist/docs/references/docs-workflows-snapshots.md +240 -0
- package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +142 -0
- package/dist/docs/references/guides-rag-retrieval.md +520 -0
- package/dist/docs/references/reference-core-getMemory.md +51 -0
- package/dist/docs/references/reference-core-listMemory.md +57 -0
- package/dist/docs/references/reference-core-mastra-class.md +153 -0
- package/dist/docs/references/reference-file-based-agents-memory.md +58 -0
- package/dist/docs/references/reference-file-based-agents-storage.md +30 -0
- package/dist/docs/references/reference-memory-memory-class.md +148 -0
- package/dist/docs/references/reference-storage-composite.md +397 -0
- package/dist/docs/references/reference-storage-dynamodb.md +284 -0
- package/dist/docs/references/reference-storage-libsql.md +143 -0
- package/dist/docs/references/reference-storage-retention.md +248 -0
- package/dist/docs/references/reference-vectors-libsql.md +307 -0
- package/dist/index.cjs +13164 -3390
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +13134 -3383
- package/dist/index.js.map +1 -1
- package/dist/storage/db/index.d.ts +389 -0
- package/dist/storage/db/index.d.ts.map +1 -0
- package/dist/storage/db/utils.d.ts +84 -0
- package/dist/storage/db/utils.d.ts.map +1 -0
- package/dist/storage/db/write-lock.d.ts +8 -0
- package/dist/storage/db/write-lock.d.ts.map +1 -0
- package/dist/storage/domains/agents/index.d.ts +30 -0
- package/dist/storage/domains/agents/index.d.ts.map +1 -0
- package/dist/storage/domains/background-tasks/index.d.ts +27 -0
- package/dist/storage/domains/background-tasks/index.d.ts.map +1 -0
- package/dist/storage/domains/blobs/index.d.ts +17 -0
- package/dist/storage/domains/blobs/index.d.ts.map +1 -0
- package/dist/storage/domains/channels/index.d.ts +20 -0
- package/dist/storage/domains/channels/index.d.ts.map +1 -0
- package/dist/storage/domains/datasets/index.d.ts +43 -0
- package/dist/storage/domains/datasets/index.d.ts.map +1 -0
- package/dist/storage/domains/experiments/index.d.ts +54 -0
- package/dist/storage/domains/experiments/index.d.ts.map +1 -0
- package/dist/storage/domains/favorites/index.d.ts +17 -0
- package/dist/storage/domains/favorites/index.d.ts.map +1 -0
- package/dist/storage/domains/harness/index.d.ts +17 -0
- package/dist/storage/domains/harness/index.d.ts.map +1 -0
- package/dist/storage/domains/mcp-clients/index.d.ts +26 -0
- package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -0
- package/dist/storage/domains/mcp-servers/index.d.ts +26 -0
- package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +58 -54
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/notifications/index.d.ts +23 -0
- package/dist/storage/domains/notifications/index.d.ts.map +1 -0
- package/dist/storage/domains/observability/index.d.ts +49 -29
- package/dist/storage/domains/observability/index.d.ts.map +1 -1
- package/dist/storage/domains/prompt-blocks/index.d.ts +25 -0
- package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -0
- package/dist/storage/domains/schedules/index.d.ts +27 -0
- package/dist/storage/domains/schedules/index.d.ts.map +1 -0
- package/dist/storage/domains/scorer-definitions/index.d.ts +26 -0
- package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -0
- package/dist/storage/domains/scores/index.d.ts +29 -31
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/skills/index.d.ts +26 -0
- package/dist/storage/domains/skills/index.d.ts.map +1 -0
- package/dist/storage/domains/thread-state/index.d.ts +38 -0
- package/dist/storage/domains/thread-state/index.d.ts.map +1 -0
- package/dist/storage/domains/tool-provider-connections/index.d.ts +14 -0
- package/dist/storage/domains/tool-provider-connections/index.d.ts.map +1 -0
- package/dist/storage/domains/utils.d.ts +28 -54
- package/dist/storage/domains/utils.d.ts.map +1 -1
- package/dist/storage/domains/workflow-definitions/index.d.ts +14 -0
- package/dist/storage/domains/workflow-definitions/index.d.ts.map +1 -0
- package/dist/storage/domains/workflows/index.d.ts +27 -32
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/domains/workspaces/index.d.ts +26 -0
- package/dist/storage/domains/workspaces/index.d.ts.map +1 -0
- package/dist/storage/factory-storage.d.ts +28 -0
- package/dist/storage/factory-storage.d.ts.map +1 -0
- package/dist/storage/index.d.ts +128 -255
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/retention.d.ts +77 -0
- package/dist/storage/retention.d.ts.map +1 -0
- package/dist/vector/index.d.ts +31 -4
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/sql-builder.d.ts.map +1 -1
- package/package.json +22 -16
- package/dist/storage/domains/legacy-evals/index.d.ts +0 -18
- package/dist/storage/domains/legacy-evals/index.d.ts.map +0 -1
- package/dist/storage/domains/operations/index.d.ts +0 -110
- package/dist/storage/domains/operations/index.d.ts.map +0 -1
- package/dist/storage/domains/traces/index.d.ts +0 -21
- package/dist/storage/domains/traces/index.d.ts.map +0 -1
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,14 +1,51 @@
|
|
|
1
1
|
import type { Client } from '@libsql/client';
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import type { RetentionConfig, StorageDomains } from '@mastra/core/storage';
|
|
3
|
+
import { MastraCompositeStore } from '@mastra/core/storage';
|
|
4
|
+
import { AgentsLibSQL } from './domains/agents/index.js';
|
|
5
|
+
import { BackgroundTasksLibSQL } from './domains/background-tasks/index.js';
|
|
6
|
+
import { BlobsLibSQL } from './domains/blobs/index.js';
|
|
7
|
+
import { ChannelsLibSQL } from './domains/channels/index.js';
|
|
8
|
+
import { DatasetsLibSQL } from './domains/datasets/index.js';
|
|
9
|
+
import { ExperimentsLibSQL } from './domains/experiments/index.js';
|
|
10
|
+
import { FavoritesLibSQL } from './domains/favorites/index.js';
|
|
11
|
+
import { HarnessLibSQL } from './domains/harness/index.js';
|
|
12
|
+
import { MCPClientsLibSQL } from './domains/mcp-clients/index.js';
|
|
13
|
+
import { MCPServersLibSQL } from './domains/mcp-servers/index.js';
|
|
14
|
+
import { MemoryLibSQL } from './domains/memory/index.js';
|
|
15
|
+
import { NotificationsLibSQL } from './domains/notifications/index.js';
|
|
16
|
+
import { ObservabilityLibSQL } from './domains/observability/index.js';
|
|
17
|
+
import { PromptBlocksLibSQL } from './domains/prompt-blocks/index.js';
|
|
18
|
+
import { SchedulesLibSQL } from './domains/schedules/index.js';
|
|
19
|
+
import { ScorerDefinitionsLibSQL } from './domains/scorer-definitions/index.js';
|
|
20
|
+
import { ScoresLibSQL } from './domains/scores/index.js';
|
|
21
|
+
import { SkillsLibSQL } from './domains/skills/index.js';
|
|
22
|
+
import { ThreadStateLibSQL } from './domains/thread-state/index.js';
|
|
23
|
+
import { ToolProviderConnectionsLibSQL } from './domains/tool-provider-connections/index.js';
|
|
24
|
+
import { WorkflowDefinitionsLibSQL } from './domains/workflow-definitions/index.js';
|
|
25
|
+
import { WorkflowsLibSQL } from './domains/workflows/index.js';
|
|
26
|
+
import { WorkspacesLibSQL } from './domains/workspaces/index.js';
|
|
27
|
+
export { AgentsLibSQL, BackgroundTasksLibSQL, BlobsLibSQL, ChannelsLibSQL, DatasetsLibSQL, ExperimentsLibSQL, HarnessLibSQL, MCPClientsLibSQL, MCPServersLibSQL, MemoryLibSQL, NotificationsLibSQL, ObservabilityLibSQL, PromptBlocksLibSQL, SchedulesLibSQL, ScorerDefinitionsLibSQL, ScoresLibSQL, SkillsLibSQL, FavoritesLibSQL, ThreadStateLibSQL, ToolProviderConnectionsLibSQL, WorkflowDefinitionsLibSQL, WorkflowsLibSQL, WorkspacesLibSQL, };
|
|
28
|
+
export type { LibSQLDomainConfig } from './db/index.js';
|
|
29
|
+
export { LibSQLFactoryStorage, type LibSQLFactoryStorageConfig } from './factory-storage.js';
|
|
30
|
+
export type LibSQLStorageDomain = keyof StorageDomains;
|
|
31
|
+
export type LibSQLLocalPragmaOptions = {
|
|
32
|
+
/**
|
|
33
|
+
* SQLite PRAGMA cache_size value for local databases.
|
|
34
|
+
* Negative values are interpreted as kibibytes by SQLite.
|
|
35
|
+
* @default -16000
|
|
36
|
+
*/
|
|
37
|
+
cacheSize?: number;
|
|
38
|
+
/**
|
|
39
|
+
* SQLite PRAGMA mmap_size value in bytes for local databases.
|
|
40
|
+
* @default 134217728
|
|
41
|
+
*/
|
|
42
|
+
mmapSize?: number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Base configuration options shared across LibSQL configurations
|
|
46
|
+
*/
|
|
47
|
+
export type LibSQLBaseConfig = {
|
|
48
|
+
id: string;
|
|
12
49
|
/**
|
|
13
50
|
* Maximum number of retries for write operations if an SQLITE_BUSY error occurs.
|
|
14
51
|
* @default 5
|
|
@@ -20,261 +57,97 @@ export type LibSQLConfig = {
|
|
|
20
57
|
* @default 100
|
|
21
58
|
*/
|
|
22
59
|
initialBackoffMs?: number;
|
|
23
|
-
} | {
|
|
24
|
-
client: Client;
|
|
25
|
-
maxRetries?: number;
|
|
26
|
-
initialBackoffMs?: number;
|
|
27
|
-
};
|
|
28
|
-
export declare class LibSQLStore extends MastraStorage {
|
|
29
|
-
private client;
|
|
30
|
-
private readonly maxRetries;
|
|
31
|
-
private readonly initialBackoffMs;
|
|
32
|
-
stores: StorageDomains;
|
|
33
|
-
constructor(config: LibSQLConfig);
|
|
34
|
-
get supports(): {
|
|
35
|
-
selectByIncludeResourceScope: boolean;
|
|
36
|
-
resourceWorkingMemory: boolean;
|
|
37
|
-
hasColumn: boolean;
|
|
38
|
-
createTable: boolean;
|
|
39
|
-
deleteMessages: boolean;
|
|
40
|
-
aiTracing: boolean;
|
|
41
|
-
getScoresBySpan: boolean;
|
|
42
|
-
};
|
|
43
|
-
createTable({ tableName, schema, }: {
|
|
44
|
-
tableName: TABLE_NAMES;
|
|
45
|
-
schema: Record<string, StorageColumn>;
|
|
46
|
-
}): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Alters table schema to add columns if they don't exist
|
|
49
|
-
* @param tableName Name of the table
|
|
50
|
-
* @param schema Schema of the table
|
|
51
|
-
* @param ifNotExists Array of column names to add if they don't exist
|
|
52
|
-
*/
|
|
53
|
-
alterTable({ tableName, schema, ifNotExists, }: {
|
|
54
|
-
tableName: TABLE_NAMES;
|
|
55
|
-
schema: Record<string, StorageColumn>;
|
|
56
|
-
ifNotExists: string[];
|
|
57
|
-
}): Promise<void>;
|
|
58
|
-
clearTable({ tableName }: {
|
|
59
|
-
tableName: TABLE_NAMES;
|
|
60
|
-
}): Promise<void>;
|
|
61
|
-
dropTable({ tableName }: {
|
|
62
|
-
tableName: TABLE_NAMES;
|
|
63
|
-
}): Promise<void>;
|
|
64
|
-
insert(args: {
|
|
65
|
-
tableName: TABLE_NAMES;
|
|
66
|
-
record: Record<string, any>;
|
|
67
|
-
}): Promise<void>;
|
|
68
|
-
batchInsert(args: {
|
|
69
|
-
tableName: TABLE_NAMES;
|
|
70
|
-
records: Record<string, any>[];
|
|
71
|
-
}): Promise<void>;
|
|
72
|
-
load<R>({ tableName, keys }: {
|
|
73
|
-
tableName: TABLE_NAMES;
|
|
74
|
-
keys: Record<string, string>;
|
|
75
|
-
}): Promise<R | null>;
|
|
76
|
-
getThreadById({ threadId }: {
|
|
77
|
-
threadId: string;
|
|
78
|
-
}): Promise<StorageThreadType | null>;
|
|
79
60
|
/**
|
|
80
|
-
*
|
|
61
|
+
* SQLite `busy_timeout` (in milliseconds) applied to the underlying connection
|
|
62
|
+
* for local (`file:`/`:memory:`) databases. When a write hits a locked
|
|
63
|
+
* database, the driver waits up to this long for the lock to clear instead of
|
|
64
|
+
* failing immediately with `SQLITE_BUSY`. Requires `@libsql/client` >= 0.17.4,
|
|
65
|
+
* which also ensures the timeout survives connections created after
|
|
66
|
+
* `transaction()` (see libsql-client-ts#288/#345).
|
|
67
|
+
*
|
|
68
|
+
* Has no effect for remote (`libsql://`/`https://`) clients or when an existing
|
|
69
|
+
* `client` is supplied.
|
|
70
|
+
* @default 5000
|
|
81
71
|
*/
|
|
82
|
-
|
|
83
|
-
resourceId: string;
|
|
84
|
-
} & ThreadSortOptions): Promise<StorageThreadType[]>;
|
|
85
|
-
getThreadsByResourceIdPaginated(args: {
|
|
86
|
-
resourceId: string;
|
|
87
|
-
page: number;
|
|
88
|
-
perPage: number;
|
|
89
|
-
} & ThreadSortOptions): Promise<PaginationInfo & {
|
|
90
|
-
threads: StorageThreadType[];
|
|
91
|
-
}>;
|
|
92
|
-
saveThread({ thread }: {
|
|
93
|
-
thread: StorageThreadType;
|
|
94
|
-
}): Promise<StorageThreadType>;
|
|
95
|
-
updateThread({ id, title, metadata, }: {
|
|
96
|
-
id: string;
|
|
97
|
-
title: string;
|
|
98
|
-
metadata: Record<string, unknown>;
|
|
99
|
-
}): Promise<StorageThreadType>;
|
|
100
|
-
deleteThread({ threadId }: {
|
|
101
|
-
threadId: string;
|
|
102
|
-
}): Promise<void>;
|
|
72
|
+
connectionTimeoutMs?: number;
|
|
103
73
|
/**
|
|
104
|
-
*
|
|
74
|
+
* Overrides local SQLite PRAGMA values used for startup/read performance.
|
|
75
|
+
* Only applies to local file and in-memory databases.
|
|
105
76
|
*/
|
|
106
|
-
|
|
107
|
-
format?: 'v1';
|
|
108
|
-
}): Promise<MastraMessageV1[]>;
|
|
109
|
-
getMessages(args: StorageGetMessagesArg & {
|
|
110
|
-
format: 'v2';
|
|
111
|
-
}): Promise<MastraMessageV2[]>;
|
|
112
|
-
getMessagesById({ messageIds, format }: {
|
|
113
|
-
messageIds: string[];
|
|
114
|
-
format: 'v1';
|
|
115
|
-
}): Promise<MastraMessageV1[]>;
|
|
116
|
-
getMessagesById({ messageIds, format }: {
|
|
117
|
-
messageIds: string[];
|
|
118
|
-
format?: 'v2';
|
|
119
|
-
}): Promise<MastraMessageV2[]>;
|
|
120
|
-
getMessagesPaginated(args: StorageGetMessagesArg & {
|
|
121
|
-
format?: 'v1' | 'v2';
|
|
122
|
-
}): Promise<PaginationInfo & {
|
|
123
|
-
messages: MastraMessageV1[] | MastraMessageV2[];
|
|
124
|
-
}>;
|
|
125
|
-
saveMessages(args: {
|
|
126
|
-
messages: MastraMessageV1[];
|
|
127
|
-
format?: undefined | 'v1';
|
|
128
|
-
}): Promise<MastraMessageV1[]>;
|
|
129
|
-
saveMessages(args: {
|
|
130
|
-
messages: MastraMessageV2[];
|
|
131
|
-
format: 'v2';
|
|
132
|
-
}): Promise<MastraMessageV2[]>;
|
|
133
|
-
updateMessages({ messages, }: {
|
|
134
|
-
messages: (Partial<Omit<MastraMessageV2, 'createdAt'>> & {
|
|
135
|
-
id: string;
|
|
136
|
-
content?: {
|
|
137
|
-
metadata?: MastraMessageContentV2['metadata'];
|
|
138
|
-
content?: MastraMessageContentV2['content'];
|
|
139
|
-
};
|
|
140
|
-
})[];
|
|
141
|
-
}): Promise<MastraMessageV2[]>;
|
|
142
|
-
deleteMessages(messageIds: string[]): Promise<void>;
|
|
143
|
-
/** @deprecated use getEvals instead */
|
|
144
|
-
getEvalsByAgentName(agentName: string, type?: 'test' | 'live'): Promise<EvalRow[]>;
|
|
145
|
-
getEvals(options?: {
|
|
146
|
-
agentName?: string;
|
|
147
|
-
type?: 'test' | 'live';
|
|
148
|
-
} & PaginationArgs): Promise<PaginationInfo & {
|
|
149
|
-
evals: EvalRow[];
|
|
150
|
-
}>;
|
|
151
|
-
getScoreById({ id }: {
|
|
152
|
-
id: string;
|
|
153
|
-
}): Promise<ScoreRowData | null>;
|
|
154
|
-
saveScore(score: Omit<ScoreRowData, 'id' | 'createdAt' | 'updatedAt'>): Promise<{
|
|
155
|
-
score: ScoreRowData;
|
|
156
|
-
}>;
|
|
157
|
-
getScoresByScorerId({ scorerId, entityId, entityType, source, pagination, }: {
|
|
158
|
-
scorerId: string;
|
|
159
|
-
entityId?: string;
|
|
160
|
-
entityType?: string;
|
|
161
|
-
source?: ScoringSource;
|
|
162
|
-
pagination: StoragePagination;
|
|
163
|
-
}): Promise<{
|
|
164
|
-
pagination: PaginationInfo;
|
|
165
|
-
scores: ScoreRowData[];
|
|
166
|
-
}>;
|
|
167
|
-
getScoresByRunId({ runId, pagination, }: {
|
|
168
|
-
runId: string;
|
|
169
|
-
pagination: StoragePagination;
|
|
170
|
-
}): Promise<{
|
|
171
|
-
pagination: PaginationInfo;
|
|
172
|
-
scores: ScoreRowData[];
|
|
173
|
-
}>;
|
|
174
|
-
getScoresByEntityId({ entityId, entityType, pagination, }: {
|
|
175
|
-
pagination: StoragePagination;
|
|
176
|
-
entityId: string;
|
|
177
|
-
entityType: string;
|
|
178
|
-
}): Promise<{
|
|
179
|
-
pagination: PaginationInfo;
|
|
180
|
-
scores: ScoreRowData[];
|
|
181
|
-
}>;
|
|
77
|
+
localPragmas?: LibSQLLocalPragmaOptions;
|
|
182
78
|
/**
|
|
183
|
-
*
|
|
79
|
+
* When true, automatic initialization (table creation/migrations) is disabled.
|
|
80
|
+
* This is useful for CI/CD pipelines where you want to:
|
|
81
|
+
* 1. Run migrations explicitly during deployment (not at runtime)
|
|
82
|
+
* 2. Use different credentials for schema changes vs runtime operations
|
|
83
|
+
*
|
|
84
|
+
* When disableInit is true:
|
|
85
|
+
* - The storage will not automatically create/alter tables on first use
|
|
86
|
+
* - You must call `storage.init()` explicitly in your CI/CD scripts
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* // In CI/CD script:
|
|
90
|
+
* const storage = new LibSQLStore({ ...config, disableInit: false });
|
|
91
|
+
* await storage.init(); // Explicitly run migrations
|
|
92
|
+
*
|
|
93
|
+
* // In runtime application:
|
|
94
|
+
* const storage = new LibSQLStore({ ...config, disableInit: true });
|
|
95
|
+
* // No auto-init, tables must already exist
|
|
184
96
|
*/
|
|
97
|
+
disableInit?: boolean;
|
|
185
98
|
/**
|
|
186
|
-
*
|
|
99
|
+
* Opt-in, table-granular, age-based retention policies. Declare per-table
|
|
100
|
+
* `maxAge` per domain (e.g. `{ memory: { messages: { maxAge: '30d' } } }`);
|
|
101
|
+
* unset tables are kept forever. Wire `storage.prune()` to your own cron to
|
|
102
|
+
* apply them. See {@link RetentionConfig}.
|
|
187
103
|
*/
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
104
|
+
retention?: RetentionConfig;
|
|
105
|
+
};
|
|
106
|
+
export type LibSQLConfig = (LibSQLBaseConfig & {
|
|
107
|
+
url: string;
|
|
108
|
+
authToken?: string;
|
|
109
|
+
}) | (LibSQLBaseConfig & {
|
|
110
|
+
client: Client;
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* LibSQL/Turso storage adapter for Mastra.
|
|
114
|
+
*
|
|
115
|
+
* Access domain-specific storage via `getStore()`:
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const storage = new LibSQLStore({ id: 'my-store', url: 'file:./dev.db' });
|
|
120
|
+
*
|
|
121
|
+
* // Access memory domain
|
|
122
|
+
* const memory = await storage.getStore('memory');
|
|
123
|
+
* await memory?.saveThread({ thread });
|
|
124
|
+
*
|
|
125
|
+
* // Access workflows domain
|
|
126
|
+
* const workflows = await storage.getStore('workflows');
|
|
127
|
+
* await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
export declare class LibSQLStore extends MastraCompositeStore {
|
|
131
|
+
private client;
|
|
132
|
+
private readonly maxRetries;
|
|
133
|
+
private readonly initialBackoffMs;
|
|
134
|
+
private readonly connectionTimeoutMs;
|
|
135
|
+
private readonly pragmasReady;
|
|
136
|
+
private readonly isLocalDb;
|
|
137
|
+
private readonly localPragmas;
|
|
138
|
+
stores: StorageDomains;
|
|
139
|
+
constructor(config: LibSQLConfig);
|
|
140
|
+
private applyLocalPragmas;
|
|
141
|
+
private getStoresToInit;
|
|
142
|
+
private initDomainsSequentially;
|
|
143
|
+
private initDomainsInParallel;
|
|
144
|
+
init(): Promise<void>;
|
|
195
145
|
/**
|
|
196
|
-
*
|
|
146
|
+
* Closes the underlying libsql client, releasing this store's OS file handles.
|
|
147
|
+
*
|
|
148
|
+
* Safe to call more than once; subsequent calls are no-ops.
|
|
197
149
|
*/
|
|
198
|
-
|
|
199
|
-
workflowName: string;
|
|
200
|
-
runId: string;
|
|
201
|
-
stepId: string;
|
|
202
|
-
result: StepResult<any, any, any, any>;
|
|
203
|
-
runtimeContext: Record<string, any>;
|
|
204
|
-
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
205
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
206
|
-
workflowName: string;
|
|
207
|
-
runId: string;
|
|
208
|
-
opts: {
|
|
209
|
-
status: string;
|
|
210
|
-
result?: StepResult<any, any, any, any>;
|
|
211
|
-
error?: string;
|
|
212
|
-
suspendedPaths?: Record<string, number[]>;
|
|
213
|
-
waitingPaths?: Record<string, number[]>;
|
|
214
|
-
};
|
|
215
|
-
}): Promise<WorkflowRunState | undefined>;
|
|
216
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
217
|
-
workflowName: string;
|
|
218
|
-
runId: string;
|
|
219
|
-
resourceId?: string;
|
|
220
|
-
snapshot: WorkflowRunState;
|
|
221
|
-
}): Promise<void>;
|
|
222
|
-
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
223
|
-
workflowName: string;
|
|
224
|
-
runId: string;
|
|
225
|
-
}): Promise<WorkflowRunState | null>;
|
|
226
|
-
getWorkflowRuns({ workflowName, fromDate, toDate, limit, offset, resourceId, }?: {
|
|
227
|
-
workflowName?: string;
|
|
228
|
-
fromDate?: Date;
|
|
229
|
-
toDate?: Date;
|
|
230
|
-
limit?: number;
|
|
231
|
-
offset?: number;
|
|
232
|
-
resourceId?: string;
|
|
233
|
-
}): Promise<WorkflowRuns>;
|
|
234
|
-
getWorkflowRunById({ runId, workflowName, }: {
|
|
235
|
-
runId: string;
|
|
236
|
-
workflowName?: string;
|
|
237
|
-
}): Promise<WorkflowRun | null>;
|
|
238
|
-
getResourceById({ resourceId }: {
|
|
239
|
-
resourceId: string;
|
|
240
|
-
}): Promise<StorageResourceType | null>;
|
|
241
|
-
saveResource({ resource }: {
|
|
242
|
-
resource: StorageResourceType;
|
|
243
|
-
}): Promise<StorageResourceType>;
|
|
244
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
245
|
-
resourceId: string;
|
|
246
|
-
workingMemory?: string;
|
|
247
|
-
metadata?: Record<string, unknown>;
|
|
248
|
-
}): Promise<StorageResourceType>;
|
|
249
|
-
createAISpan(span: AISpanRecord): Promise<void>;
|
|
250
|
-
updateAISpan(params: {
|
|
251
|
-
spanId: string;
|
|
252
|
-
traceId: string;
|
|
253
|
-
updates: Partial<Omit<AISpanRecord, 'spanId' | 'traceId'>>;
|
|
254
|
-
}): Promise<void>;
|
|
255
|
-
getAITrace(traceId: string): Promise<AITraceRecord | null>;
|
|
256
|
-
getAITracesPaginated(args: AITracesPaginatedArg): Promise<{
|
|
257
|
-
pagination: PaginationInfo;
|
|
258
|
-
spans: AISpanRecord[];
|
|
259
|
-
}>;
|
|
260
|
-
getScoresBySpan({ traceId, spanId, pagination, }: {
|
|
261
|
-
traceId: string;
|
|
262
|
-
spanId: string;
|
|
263
|
-
pagination: StoragePagination;
|
|
264
|
-
}): Promise<{
|
|
265
|
-
pagination: PaginationInfo;
|
|
266
|
-
scores: ScoreRowData[];
|
|
267
|
-
}>;
|
|
268
|
-
batchCreateAISpans(args: {
|
|
269
|
-
records: AISpanRecord[];
|
|
270
|
-
}): Promise<void>;
|
|
271
|
-
batchUpdateAISpans(args: {
|
|
272
|
-
records: {
|
|
273
|
-
traceId: string;
|
|
274
|
-
spanId: string;
|
|
275
|
-
updates: Partial<Omit<AISpanRecord, 'spanId' | 'traceId'>>;
|
|
276
|
-
}[];
|
|
277
|
-
}): Promise<void>;
|
|
150
|
+
close(): Promise<void>;
|
|
278
151
|
}
|
|
279
152
|
export { LibSQLStore as DefaultStorage };
|
|
280
153
|
//# 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":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { TABLE_NAMES, PruneOptions, PruneResult, TableRetentionPolicy } from '@mastra/core/storage';
|
|
2
|
+
import type { LibSQLDB } from './db/index.js';
|
|
3
|
+
/** One table to prune, resolved from a policy + the domain's descriptor. */
|
|
4
|
+
export interface PruneTarget {
|
|
5
|
+
/** Physical table name. */
|
|
6
|
+
table: TABLE_NAMES;
|
|
7
|
+
/** Timestamp anchor column for the age comparison. */
|
|
8
|
+
column: string;
|
|
9
|
+
/**
|
|
10
|
+
* How the anchor column stores time, which decides how the cutoff is bound:
|
|
11
|
+
* - `timestamp` (default): ISO-8601 string comparison.
|
|
12
|
+
* - `epoch-ms`: raw millisecond number comparison (e.g. `schedules.triggers`).
|
|
13
|
+
*/
|
|
14
|
+
anchorType: 'timestamp' | 'epoch-ms';
|
|
15
|
+
/** Whether the anchor column should get a supporting index before pruning. */
|
|
16
|
+
indexed: boolean;
|
|
17
|
+
/** Retention policy (maxAge + optional batchSize). */
|
|
18
|
+
policy: TableRetentionPolicy;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Runs the bounded, batched, cancellable delete loop for a set of tables in the
|
|
22
|
+
* given order (callers pass children before parents for cascade-safe pruning),
|
|
23
|
+
* and returns one {@link PruneResult} per table.
|
|
24
|
+
*
|
|
25
|
+
* The loop:
|
|
26
|
+
* - deletes in chunks of `batchSize` (default 1000), each its own statement;
|
|
27
|
+
* - stops a table's loop when a batch deletes fewer rows than requested (drained),
|
|
28
|
+
* or when `maxBatches`/`maxRows` is hit, or the `signal` aborts — the latter
|
|
29
|
+
* three leave `done: false` so the caller can resume;
|
|
30
|
+
* - pauses `pauseMs` between batches when set, to avoid starving live traffic.
|
|
31
|
+
*
|
|
32
|
+
* `prune()` only deletes rows; it never reclaims disk. Freed pages are reused
|
|
33
|
+
* by future writes so the file stops growing. Handing disk back to the OS is
|
|
34
|
+
* left to the underlying database and the operator to manage.
|
|
35
|
+
*/
|
|
36
|
+
/** Convert a policy's `maxAge` into a cutoff bound matching the anchor's storage type. */
|
|
37
|
+
export declare function cutoffFor(policy: TableRetentionPolicy, anchorType: 'timestamp' | 'epoch-ms', now?: number): string | number;
|
|
38
|
+
/**
|
|
39
|
+
* Run the bounded/cancellable batched-delete loop for a single logical target,
|
|
40
|
+
* delegating the actual delete of up to `limit` rows to `deleteBatch`. Returns
|
|
41
|
+
* `{ deleted, done }`; `done: false` means the loop stopped on a bound or the
|
|
42
|
+
* abort signal and eligible rows may remain.
|
|
43
|
+
*/
|
|
44
|
+
export declare function runBatchedDelete({ deleteBatch, batchSize, options, }: {
|
|
45
|
+
deleteBatch: (limit: number) => Promise<number>;
|
|
46
|
+
batchSize: number;
|
|
47
|
+
options?: PruneOptions;
|
|
48
|
+
}): Promise<{
|
|
49
|
+
deleted: number;
|
|
50
|
+
done: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
export declare function runPrune({ db, domain, targets, options, logger, }: {
|
|
53
|
+
db: LibSQLDB;
|
|
54
|
+
domain: string;
|
|
55
|
+
targets: PruneTarget[];
|
|
56
|
+
options?: PruneOptions;
|
|
57
|
+
logger?: {
|
|
58
|
+
warn?: (msg: string, err?: unknown) => void;
|
|
59
|
+
};
|
|
60
|
+
}): Promise<PruneResult[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Resolve a domain's `{ tableKey: policy }` map plus its descriptor into an
|
|
63
|
+
* ordered list of {@link PruneTarget}s. `order` lists table keys children-first
|
|
64
|
+
* so cascade-dependent rows are removed before their parents. Table keys not in
|
|
65
|
+
* `policies` are skipped (unset = keep forever).
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveTargets({ policies, descriptor, order, }: {
|
|
68
|
+
policies: Record<string, TableRetentionPolicy>;
|
|
69
|
+
descriptor: Record<string, {
|
|
70
|
+
table: string;
|
|
71
|
+
column: string;
|
|
72
|
+
anchorType?: 'timestamp' | 'epoch-ms';
|
|
73
|
+
indexed?: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
order: string[];
|
|
76
|
+
}): PruneTarget[];
|
|
77
|
+
//# sourceMappingURL=retention.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/storage/retention.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIrC,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,EAAE,WAAW,GAAG,UAAU,CAAC;IACrC,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAwCD;;;;;;;;;;;;;;;GAeG;AACH,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,SAAa,mBAG7G;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,WAAW,EACX,SAAS,EACT,OAAO,GACR,EAAE;IACD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAkC9C;AAED,wBAAsB,QAAQ,CAAC,EAC7B,EAAE,EACF,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1D,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBzB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAC5F,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,WAAW,EAAE,CAehB"}
|
package/dist/vector/index.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { MastraVector } from '@mastra/core/vector';
|
|
2
|
-
import type { IndexStats, QueryResult, QueryVectorParams, CreateIndexParams, UpsertVectorParams, DescribeIndexParams, DeleteIndexParams, DeleteVectorParams, UpdateVectorParams } from '@mastra/core/vector';
|
|
2
|
+
import type { IndexStats, QueryResult, QueryVectorParams, CreateIndexParams, UpsertVectorParams, DescribeIndexParams, DeleteIndexParams, DeleteVectorParams, UpdateVectorParams, DeleteVectorsParams } from '@mastra/core/vector';
|
|
3
3
|
import type { LibSQLVectorFilter } from './filter.js';
|
|
4
4
|
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;
|
|
@@ -20,14 +24,35 @@ export interface LibSQLVectorConfig {
|
|
|
20
24
|
* @default 100
|
|
21
25
|
*/
|
|
22
26
|
initialBackoffMs?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Over-fetch multiplier for vector_top_k queries when metadata filters are present.
|
|
29
|
+
* Since vector_top_k doesn't support inline WHERE clauses, we fetch topK * this multiplier
|
|
30
|
+
* candidates and post-filter. Higher values improve recall at the cost of more data scanned.
|
|
31
|
+
* @default 10
|
|
32
|
+
*/
|
|
33
|
+
vectorTopKOverFetchMultiplier?: number;
|
|
23
34
|
}
|
|
24
35
|
export declare class LibSQLVector extends MastraVector<LibSQLVectorFilter> {
|
|
25
36
|
private turso;
|
|
26
37
|
private readonly maxRetries;
|
|
27
38
|
private readonly initialBackoffMs;
|
|
28
|
-
|
|
39
|
+
private readonly overFetchMultiplier;
|
|
40
|
+
private readonly isMemoryDb;
|
|
41
|
+
private vectorIndexes;
|
|
42
|
+
constructor({ url, authToken, syncUrl, syncInterval, maxRetries, initialBackoffMs, vectorTopKOverFetchMultiplier, id, }: LibSQLVectorConfig & {
|
|
43
|
+
id: string;
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Closes the underlying libsql client, releasing this vector store's OS file handles.
|
|
47
|
+
*
|
|
48
|
+
* Safe to call more than once; subsequent calls are no-ops.
|
|
49
|
+
*/
|
|
50
|
+
close(): Promise<void>;
|
|
51
|
+
private discoverVectorIndexes;
|
|
29
52
|
private executeWriteOperationWithRetry;
|
|
30
53
|
transformFilter(filter?: LibSQLVectorFilter): LibSQLVectorFilter;
|
|
54
|
+
private hasVectorIndex;
|
|
55
|
+
private queryWithIndex;
|
|
31
56
|
query({ indexName, queryVector, topK, filter, includeVector, minScore, }: LibSQLQueryVectorParams): Promise<QueryResult[]>;
|
|
32
57
|
upsert(args: UpsertVectorParams): Promise<string[]>;
|
|
33
58
|
private doUpsert;
|
|
@@ -54,7 +79,7 @@ export declare class LibSQLVector extends MastraVector<LibSQLVectorFilter> {
|
|
|
54
79
|
* @returns A promise that resolves when the update is complete.
|
|
55
80
|
* @throws Will throw an error if no updates are provided or if the update operation fails.
|
|
56
81
|
*/
|
|
57
|
-
updateVector(args: UpdateVectorParams): Promise<void>;
|
|
82
|
+
updateVector(args: UpdateVectorParams<LibSQLVectorFilter>): Promise<void>;
|
|
58
83
|
private doUpdateVector;
|
|
59
84
|
/**
|
|
60
85
|
* Deletes a vector by its ID.
|
|
@@ -65,6 +90,8 @@ export declare class LibSQLVector extends MastraVector<LibSQLVectorFilter> {
|
|
|
65
90
|
*/
|
|
66
91
|
deleteVector(args: DeleteVectorParams): Promise<void>;
|
|
67
92
|
private doDeleteVector;
|
|
93
|
+
deleteVectors(args: DeleteVectorsParams<LibSQLVectorFilter>): Promise<void>;
|
|
94
|
+
private doDeleteVectors;
|
|
68
95
|
truncateIndex(args: DeleteIndexParams): Promise<void>;
|
|
69
96
|
private _doTruncateIndex;
|
|
70
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"
|
|
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;IAC1B;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;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;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,aAAa,CAAuB;gBAEhC,EACV,GAAG,EACH,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAc,EACd,gBAAsB,EACtB,6BAAkC,EAClC,EAAE,GACH,EAAE,kBAAkB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;IA+BtC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,qBAAqB;YAYrB,8BAA8B;IAmC5C,eAAe,CAAC,MAAM,CAAC,EAAE,kBAAkB;YAK7B,cAAc;YAKd,cAAc;IA0CtB,KAAK,CAAC,EACV,SAAS,EACT,WAAW,EACX,IAAS,EACT,MAAM,EACN,aAAqB,EACrB,QAAa,GACd,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA0F5C,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;IA0BpB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB5C,aAAa;IASrB,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"}
|