@mastra/libsql 0.0.0-separate-trace-data-from-component-20250501141108 → 0.0.0-server-deploy-20260320071420

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +4085 -2
  2. package/LICENSE.md +27 -4
  3. package/README.md +32 -22
  4. package/dist/docs/SKILL.md +50 -0
  5. package/dist/docs/assets/SOURCE_MAP.json +6 -0
  6. package/dist/docs/references/docs-agents-agent-approval.md +588 -0
  7. package/dist/docs/references/docs-agents-agent-memory.md +209 -0
  8. package/dist/docs/references/docs-agents-network-approval.md +278 -0
  9. package/dist/docs/references/docs-agents-networks.md +299 -0
  10. package/dist/docs/references/docs-memory-memory-processors.md +314 -0
  11. package/dist/docs/references/docs-memory-message-history.md +260 -0
  12. package/dist/docs/references/docs-memory-overview.md +45 -0
  13. package/dist/docs/references/docs-memory-semantic-recall.md +288 -0
  14. package/dist/docs/references/docs-memory-storage.md +261 -0
  15. package/dist/docs/references/docs-memory-working-memory.md +400 -0
  16. package/dist/docs/references/docs-observability-overview.md +70 -0
  17. package/dist/docs/references/docs-observability-tracing-exporters-default.md +209 -0
  18. package/dist/docs/references/docs-rag-retrieval.md +515 -0
  19. package/dist/docs/references/docs-workflows-snapshots.md +238 -0
  20. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +140 -0
  21. package/dist/docs/references/reference-core-getMemory.md +50 -0
  22. package/dist/docs/references/reference-core-listMemory.md +56 -0
  23. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  24. package/dist/docs/references/reference-memory-memory-class.md +145 -0
  25. package/dist/docs/references/reference-storage-composite.md +243 -0
  26. package/dist/docs/references/reference-storage-dynamodb.md +282 -0
  27. package/dist/docs/references/reference-storage-libsql.md +135 -0
  28. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  29. package/dist/index.cjs +9899 -669
  30. package/dist/index.cjs.map +1 -0
  31. package/dist/index.d.ts +4 -5
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +9892 -676
  34. package/dist/index.js.map +1 -0
  35. package/dist/storage/db/index.d.ts +318 -0
  36. package/dist/storage/db/index.d.ts.map +1 -0
  37. package/dist/storage/db/utils.d.ts +68 -0
  38. package/dist/storage/db/utils.d.ts.map +1 -0
  39. package/dist/storage/domains/agents/index.d.ts +30 -0
  40. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  41. package/dist/storage/domains/blobs/index.d.ts +17 -0
  42. package/dist/storage/domains/blobs/index.d.ts.map +1 -0
  43. package/dist/storage/domains/datasets/index.d.ts +43 -0
  44. package/dist/storage/domains/datasets/index.d.ts.map +1 -0
  45. package/dist/storage/domains/experiments/index.d.ts +29 -0
  46. package/dist/storage/domains/experiments/index.d.ts.map +1 -0
  47. package/dist/storage/domains/mcp-clients/index.d.ts +26 -0
  48. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -0
  49. package/dist/storage/domains/mcp-servers/index.d.ts +26 -0
  50. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
  51. package/dist/storage/domains/memory/index.d.ts +83 -0
  52. package/dist/storage/domains/memory/index.d.ts.map +1 -0
  53. package/dist/storage/domains/observability/index.d.ts +46 -0
  54. package/dist/storage/domains/observability/index.d.ts.map +1 -0
  55. package/dist/storage/domains/prompt-blocks/index.d.ts +25 -0
  56. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -0
  57. package/dist/storage/domains/scorer-definitions/index.d.ts +26 -0
  58. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -0
  59. package/dist/storage/domains/scores/index.d.ts +42 -0
  60. package/dist/storage/domains/scores/index.d.ts.map +1 -0
  61. package/dist/storage/domains/skills/index.d.ts +26 -0
  62. package/dist/storage/domains/skills/index.d.ts.map +1 -0
  63. package/dist/storage/domains/workflows/index.d.ts +48 -0
  64. package/dist/storage/domains/workflows/index.d.ts.map +1 -0
  65. package/dist/storage/domains/workspaces/index.d.ts +26 -0
  66. package/dist/storage/domains/workspaces/index.d.ts.map +1 -0
  67. package/dist/storage/index.d.ts +89 -0
  68. package/dist/storage/index.d.ts.map +1 -0
  69. package/dist/vector/filter.d.ts +29 -0
  70. package/dist/vector/filter.d.ts.map +1 -0
  71. package/dist/vector/index.d.ts +80 -0
  72. package/dist/vector/index.d.ts.map +1 -0
  73. package/dist/vector/prompt.d.ts +6 -0
  74. package/dist/vector/prompt.d.ts.map +1 -0
  75. package/dist/vector/sql-builder.d.ts +9 -0
  76. package/dist/vector/sql-builder.d.ts.map +1 -0
  77. package/package.json +36 -15
  78. package/dist/_tsup-dts-rollup.d.cts +0 -199
  79. package/dist/_tsup-dts-rollup.d.ts +0 -199
  80. package/dist/index.d.cts +0 -5
  81. package/eslint.config.js +0 -6
  82. package/src/index.ts +0 -3
  83. package/src/storage/index.test.ts +0 -15
  84. package/src/storage/index.ts +0 -682
  85. package/src/vector/filter.test.ts +0 -968
  86. package/src/vector/filter.ts +0 -117
  87. package/src/vector/index.test.ts +0 -1702
  88. package/src/vector/index.ts +0 -344
  89. package/src/vector/prompt.ts +0 -101
  90. package/src/vector/sql-builder.ts +0 -462
  91. package/tsconfig.json +0 -5
  92. package/vitest.config.ts +0 -11
@@ -0,0 +1,318 @@
1
+ import type { Client, InValue } from '@libsql/client';
2
+ import { MastraBase } from '@mastra/core/base';
3
+ import type { TABLE_NAMES, StorageColumn } from '@mastra/core/storage';
4
+ /**
5
+ * Base configuration options shared across LibSQL domain configurations
6
+ */
7
+ export type LibSQLDomainBaseConfig = {
8
+ /**
9
+ * Maximum number of retries for write operations if an SQLITE_BUSY error occurs.
10
+ * @default 5
11
+ */
12
+ maxRetries?: number;
13
+ /**
14
+ * Initial backoff time in milliseconds for retrying write operations on SQLITE_BUSY.
15
+ * The backoff time will double with each retry (exponential backoff).
16
+ * @default 100
17
+ */
18
+ initialBackoffMs?: number;
19
+ };
20
+ /**
21
+ * Configuration for LibSQL domains - accepts either credentials or an existing client
22
+ */
23
+ export type LibSQLDomainConfig = (LibSQLDomainBaseConfig & {
24
+ /** The database connection URL (e.g., "file:local.db", "libsql://...", "file::memory:") */
25
+ url: string;
26
+ /** Optional authentication token for remote databases */
27
+ authToken?: string;
28
+ }) | (LibSQLDomainBaseConfig & {
29
+ /** An existing LibSQL client instance */
30
+ client: Client;
31
+ });
32
+ /**
33
+ * Resolves a LibSQLDomainConfig to a Client instance.
34
+ * Creates a new client if credentials are provided, or returns the existing client.
35
+ *
36
+ * @param config - The domain configuration
37
+ * @returns The resolved LibSQL client
38
+ */
39
+ export declare function resolveClient(config: LibSQLDomainConfig): Client;
40
+ export declare class LibSQLDB extends MastraBase {
41
+ private client;
42
+ maxRetries: number;
43
+ initialBackoffMs: number;
44
+ executeWriteOperationWithRetry: <T>(operationFn: () => Promise<T>, operationDescription: string) => Promise<T>;
45
+ /** Cache of actual table columns: tableName -> Promise<Set<columnName>> (stores in-flight promise to coalesce concurrent calls) */
46
+ private tableColumnsCache;
47
+ constructor({ client, maxRetries, initialBackoffMs, }: {
48
+ client: Client;
49
+ maxRetries?: number;
50
+ initialBackoffMs?: number;
51
+ });
52
+ /**
53
+ * Gets the set of column names that actually exist in the database table.
54
+ * Results are cached; the cache is invalidated when alterTable() adds new columns.
55
+ */
56
+ private getTableColumns;
57
+ /**
58
+ * Filters a record to only include columns that exist in the actual database table.
59
+ * Unknown columns are silently dropped to ensure forward compatibility.
60
+ */
61
+ private filterRecordToKnownColumns;
62
+ /**
63
+ * Checks if a column exists in the specified table.
64
+ *
65
+ * @param table - The name of the table to check
66
+ * @param column - The name of the column to look for
67
+ * @returns `true` if the column exists in the table, `false` otherwise
68
+ */
69
+ hasColumn(table: string, column: string): Promise<boolean>;
70
+ /**
71
+ * Internal insert implementation without retry logic.
72
+ */
73
+ private doInsert;
74
+ /**
75
+ * Inserts or replaces a record in the specified table with automatic retry on lock errors.
76
+ *
77
+ * @param args - The insert arguments
78
+ * @param args.tableName - The name of the table to insert into
79
+ * @param args.record - The record to insert (key-value pairs)
80
+ */
81
+ insert(args: {
82
+ tableName: TABLE_NAMES;
83
+ record: Record<string, any>;
84
+ }): Promise<void>;
85
+ /**
86
+ * Internal update implementation without retry logic.
87
+ */
88
+ private doUpdate;
89
+ /**
90
+ * Updates a record in the specified table with automatic retry on lock errors.
91
+ *
92
+ * @param args - The update arguments
93
+ * @param args.tableName - The name of the table to update
94
+ * @param args.keys - The key(s) identifying the record to update
95
+ * @param args.data - The fields to update (key-value pairs)
96
+ */
97
+ update(args: {
98
+ tableName: TABLE_NAMES;
99
+ keys: Record<string, any>;
100
+ data: Record<string, any>;
101
+ }): Promise<void>;
102
+ /**
103
+ * Internal batch insert implementation without retry logic.
104
+ */
105
+ private doBatchInsert;
106
+ /**
107
+ * Inserts multiple records in a single batch transaction with automatic retry on lock errors.
108
+ *
109
+ * @param args - The batch insert arguments
110
+ * @param args.tableName - The name of the table to insert into
111
+ * @param args.records - Array of records to insert
112
+ * @throws {MastraError} When the batch insert fails after retries
113
+ */
114
+ batchInsert(args: {
115
+ tableName: TABLE_NAMES;
116
+ records: Record<string, any>[];
117
+ }): Promise<void>;
118
+ /**
119
+ * Internal batch update implementation without retry logic.
120
+ * Each record can be updated based on single or composite keys.
121
+ */
122
+ private doBatchUpdate;
123
+ /**
124
+ * Updates multiple records in a single batch transaction with automatic retry on lock errors.
125
+ * Each record can be updated based on single or composite keys.
126
+ *
127
+ * @param args - The batch update arguments
128
+ * @param args.tableName - The name of the table to update
129
+ * @param args.updates - Array of update operations, each containing keys and data
130
+ * @throws {MastraError} When the batch update fails after retries
131
+ */
132
+ batchUpdate(args: {
133
+ tableName: TABLE_NAMES;
134
+ updates: Array<{
135
+ keys: Record<string, any>;
136
+ data: Record<string, any>;
137
+ }>;
138
+ }): Promise<void>;
139
+ /**
140
+ * Internal batch delete implementation without retry logic.
141
+ * Each record can be deleted based on single or composite keys.
142
+ */
143
+ private doBatchDelete;
144
+ /**
145
+ * Deletes multiple records in a single batch transaction with automatic retry on lock errors.
146
+ * Each record can be deleted based on single or composite keys.
147
+ *
148
+ * @param args - The batch delete arguments
149
+ * @param args.tableName - The name of the table to delete from
150
+ * @param args.keys - Array of key objects identifying records to delete
151
+ * @throws {MastraError} When the batch delete fails after retries
152
+ */
153
+ batchDelete({ tableName, keys, }: {
154
+ tableName: TABLE_NAMES;
155
+ keys: Array<Record<string, any>>;
156
+ }): Promise<void>;
157
+ /**
158
+ * Internal single-record delete implementation without retry logic.
159
+ */
160
+ private doDelete;
161
+ /**
162
+ * Deletes a single record from the specified table with automatic retry on lock errors.
163
+ *
164
+ * @param args - The delete arguments
165
+ * @param args.tableName - The name of the table to delete from
166
+ * @param args.keys - The key(s) identifying the record to delete
167
+ * @throws {MastraError} When the delete fails after retries
168
+ */
169
+ delete(args: {
170
+ tableName: TABLE_NAMES;
171
+ keys: Record<string, any>;
172
+ }): Promise<void>;
173
+ /**
174
+ * Selects a single record from the specified table by key(s).
175
+ * Returns the most recently created record if multiple matches exist.
176
+ * Automatically parses JSON string values back to objects/arrays.
177
+ *
178
+ * @typeParam R - The expected return type of the record
179
+ * @param args - The select arguments
180
+ * @param args.tableName - The name of the table to select from
181
+ * @param args.keys - The key(s) identifying the record to select
182
+ * @returns The matching record or `null` if not found
183
+ */
184
+ select<R>({ tableName, keys }: {
185
+ tableName: TABLE_NAMES;
186
+ keys: Record<string, string>;
187
+ }): Promise<R | null>;
188
+ /**
189
+ * Selects multiple records from the specified table with optional filtering, ordering, and pagination.
190
+ *
191
+ * @typeParam R - The expected return type of each record
192
+ * @param args - The select arguments
193
+ * @param args.tableName - The name of the table to select from
194
+ * @param args.whereClause - Optional WHERE clause with SQL string and arguments
195
+ * @param args.orderBy - Optional ORDER BY clause (e.g., "createdAt DESC")
196
+ * @param args.offset - Optional offset for pagination
197
+ * @param args.limit - Optional limit for pagination
198
+ * @param args.args - Optional additional query arguments
199
+ * @returns Array of matching records
200
+ */
201
+ selectMany<R>({ tableName, whereClause, orderBy, offset, limit, args, }: {
202
+ tableName: TABLE_NAMES;
203
+ whereClause?: {
204
+ sql: string;
205
+ args: InValue[];
206
+ };
207
+ orderBy?: string;
208
+ offset?: number;
209
+ limit?: number;
210
+ args?: any[];
211
+ }): Promise<R[]>;
212
+ /**
213
+ * Returns the total count of records matching the optional WHERE clause.
214
+ *
215
+ * @param args - The count arguments
216
+ * @param args.tableName - The name of the table to count from
217
+ * @param args.whereClause - Optional WHERE clause with SQL string and arguments
218
+ * @returns The total count of matching records
219
+ */
220
+ selectTotalCount({ tableName, whereClause, }: {
221
+ tableName: TABLE_NAMES;
222
+ whereClause?: {
223
+ sql: string;
224
+ args: InValue[];
225
+ };
226
+ }): Promise<number>;
227
+ /**
228
+ * Maps a storage column type to its SQLite equivalent.
229
+ */
230
+ protected getSqlType(type: StorageColumn['type']): string;
231
+ /**
232
+ * Creates a table if it doesn't exist based on the provided schema.
233
+ *
234
+ * @param args - The create table arguments
235
+ * @param args.tableName - The name of the table to create
236
+ * @param args.schema - The schema definition for the table columns
237
+ */
238
+ createTable({ tableName, schema, compositePrimaryKey, }: {
239
+ tableName: TABLE_NAMES;
240
+ schema: Record<string, StorageColumn>;
241
+ compositePrimaryKey?: string[];
242
+ }): Promise<void>;
243
+ /**
244
+ * Migrates the spans table schema from OLD_SPAN_SCHEMA to current SPAN_SCHEMA.
245
+ * This adds new columns that don't exist in old schema and ensures required indexes exist.
246
+ */
247
+ private migrateSpansTable;
248
+ /**
249
+ * Checks if the unique index on (spanId, traceId) already exists on the spans table.
250
+ * Used to skip deduplication when the index already exists (migration already complete).
251
+ */
252
+ private spansUniqueIndexExists;
253
+ /**
254
+ * Checks for duplicate (traceId, spanId) combinations in the spans table.
255
+ * Returns information about duplicates for logging/CLI purposes.
256
+ */
257
+ private checkForDuplicateSpans;
258
+ /**
259
+ * Manually run the spans migration to deduplicate and add the unique constraint.
260
+ * This is intended to be called from the CLI when duplicates are detected.
261
+ *
262
+ * @returns Migration result with status and details
263
+ */
264
+ migrateSpans(): Promise<{
265
+ success: boolean;
266
+ alreadyMigrated: boolean;
267
+ duplicatesRemoved: number;
268
+ message: string;
269
+ }>;
270
+ /**
271
+ * Check migration status for the spans table.
272
+ * Returns information about whether migration is needed.
273
+ */
274
+ checkSpansMigrationStatus(): Promise<{
275
+ needsMigration: boolean;
276
+ hasDuplicates: boolean;
277
+ duplicateCount: number;
278
+ constraintExists: boolean;
279
+ tableName: string;
280
+ }>;
281
+ /**
282
+ * Deduplicates spans table by removing duplicate (spanId, traceId) combinations.
283
+ * Keeps the "best" record for each duplicate group based on:
284
+ * 1. Completed spans (endedAt IS NOT NULL) over incomplete ones
285
+ * 2. Most recently updated (updatedAt DESC)
286
+ * 3. Most recently created (createdAt DESC) as tiebreaker
287
+ */
288
+ private deduplicateSpans;
289
+ /**
290
+ * Gets a default value for a column type (used when adding NOT NULL columns).
291
+ */
292
+ private getDefaultValue;
293
+ /**
294
+ * Alters an existing table to add missing columns.
295
+ * Used for schema migrations when new columns are added.
296
+ *
297
+ * @param args - The alter table arguments
298
+ * @param args.tableName - The name of the table to alter
299
+ * @param args.schema - The full schema definition for the table
300
+ * @param args.ifNotExists - Array of column names to add if they don't exist
301
+ */
302
+ alterTable({ tableName, schema, ifNotExists, }: {
303
+ tableName: TABLE_NAMES;
304
+ schema: Record<string, StorageColumn>;
305
+ ifNotExists: string[];
306
+ }): Promise<void>;
307
+ /**
308
+ * Deletes all records from the specified table.
309
+ * Errors are logged but not thrown.
310
+ *
311
+ * @param args - The delete arguments
312
+ * @param args.tableName - The name of the table to clear
313
+ */
314
+ deleteData({ tableName }: {
315
+ tableName: TABLE_NAMES;
316
+ }): Promise<void>;
317
+ }
318
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { InValue } from '@libsql/client';
2
+ import type { IMastraLogger } from '@mastra/core/logger';
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;
19
+ /**
20
+ * Checks if an error is a SQLite lock/busy error that should be retried
21
+ */
22
+ export declare function isLockError(error: any): boolean;
23
+ export declare function createExecuteWriteOperationWithRetry({ logger, maxRetries, initialBackoffMs, }: {
24
+ logger: IMastraLogger;
25
+ maxRetries: number;
26
+ initialBackoffMs: number;
27
+ }): <T>(operationFn: () => Promise<T>, operationDescription: string) => Promise<T>;
28
+ export declare function prepareStatement({ tableName, record }: {
29
+ tableName: TABLE_NAMES;
30
+ record: Record<string, any>;
31
+ }): {
32
+ sql: string;
33
+ args: InValue[];
34
+ };
35
+ export declare function prepareUpdateStatement({ tableName, updates, keys, }: {
36
+ tableName: TABLE_NAMES;
37
+ updates: Record<string, any>;
38
+ keys: Record<string, any>;
39
+ }): {
40
+ sql: string;
41
+ args: InValue[];
42
+ };
43
+ export declare function transformToSqlValue(value: any, forceJsonStringify?: boolean): InValue;
44
+ export declare function prepareDeleteStatement({ tableName, keys }: {
45
+ tableName: TABLE_NAMES;
46
+ keys: Record<string, any>;
47
+ }): {
48
+ sql: string;
49
+ args: InValue[];
50
+ };
51
+ type WhereValue = InValue | {
52
+ startAt?: InValue;
53
+ endAt?: InValue;
54
+ };
55
+ export declare function prepareWhereClause(filters: Record<string, WhereValue>, schema: Record<string, StorageColumn>): {
56
+ sql: string;
57
+ args: InValue[];
58
+ };
59
+ /**
60
+ * Transforms SQL row data back to a typed object format
61
+ * Reverses the transformations done in prepareStatement
62
+ */
63
+ export declare function transformFromSqlRow<T>({ tableName, sqlRow, }: {
64
+ tableName: TABLE_NAMES;
65
+ sqlRow: Record<string, any>;
66
+ }): T;
67
+ export {};
68
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +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,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;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"}
@@ -0,0 +1,30 @@
1
+ import { AgentsStorage } from '@mastra/core/storage';
2
+ import type { StorageAgentType, StorageCreateAgentInput, StorageUpdateAgentInput, StorageListAgentsInput, StorageListAgentsOutput, AgentVersion, CreateVersionInput, ListVersionsInput, ListVersionsOutput } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class AgentsLibSQL extends AgentsStorage {
5
+ #private;
6
+ constructor(config: LibSQLDomainConfig);
7
+ init(): Promise<void>;
8
+ dangerouslyClearAll(): Promise<void>;
9
+ private parseJson;
10
+ private parseRow;
11
+ getById(id: string): Promise<StorageAgentType | null>;
12
+ create(input: {
13
+ agent: StorageCreateAgentInput;
14
+ }): Promise<StorageAgentType>;
15
+ update(input: StorageUpdateAgentInput): Promise<StorageAgentType>;
16
+ delete(id: string): Promise<void>;
17
+ list(args?: StorageListAgentsInput): Promise<StorageListAgentsOutput>;
18
+ createVersion(input: CreateVersionInput): Promise<AgentVersion>;
19
+ getVersion(id: string): Promise<AgentVersion | null>;
20
+ getVersionByNumber(agentId: string, versionNumber: number): Promise<AgentVersion | null>;
21
+ getLatestVersion(agentId: string): Promise<AgentVersion | null>;
22
+ listVersions(input: ListVersionsInput): Promise<ListVersionsOutput>;
23
+ deleteVersion(id: string): Promise<void>;
24
+ deleteVersionsByParentId(entityId: string): Promise<void>;
25
+ countVersions(agentId: string): Promise<number>;
26
+ private serializeInstructions;
27
+ private deserializeInstructions;
28
+ private parseVersionRow;
29
+ }
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/agents/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAQd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,YAAa,SAAQ,aAAa;;gBAIjC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiNrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,QAAQ;IAYV,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAsBrD,MAAM,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8D5E,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjC,IAAI,CAAC,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAwGrE,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAoD/D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0BpD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA8BxF,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA+B/D,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4EnE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCzD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BrD,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,eAAe;CA4BxB"}
@@ -0,0 +1,17 @@
1
+ import { BlobStore } from '@mastra/core/storage';
2
+ import type { StorageBlobEntry } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class BlobsLibSQL extends BlobStore {
5
+ #private;
6
+ static readonly MANAGED_TABLES: readonly ["mastra_skill_blobs"];
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ put(entry: StorageBlobEntry): Promise<void>;
10
+ get(hash: string): Promise<StorageBlobEntry | null>;
11
+ has(hash: string): Promise<boolean>;
12
+ delete(hash: string): Promise<boolean>;
13
+ putMany(entries: StorageBlobEntry[]): Promise<void>;
14
+ getMany(hashes: string[]): Promise<Map<string, StorageBlobEntry>>;
15
+ dangerouslyClearAll(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/blobs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAyC,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,WAAY,SAAQ,SAAS;;IAIxC,MAAM,CAAC,QAAQ,CAAC,cAAc,kCAAgC;gBAElD,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IASnD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtC,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAqBjE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3C"}
@@ -0,0 +1,43 @@
1
+ import { DatasetsStorage } from '@mastra/core/storage';
2
+ import type { DatasetRecord, DatasetItem, DatasetItemRow, DatasetVersion, CreateDatasetInput, UpdateDatasetInput, AddDatasetItemInput, UpdateDatasetItemInput, ListDatasetsInput, ListDatasetsOutput, ListDatasetItemsInput, ListDatasetItemsOutput, ListDatasetVersionsInput, ListDatasetVersionsOutput, BatchInsertItemsInput, BatchDeleteItemsInput } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class DatasetsLibSQL extends DatasetsStorage {
5
+ #private;
6
+ constructor(config: LibSQLDomainConfig);
7
+ init(): Promise<void>;
8
+ dangerouslyClearAll(): Promise<void>;
9
+ private transformDatasetRow;
10
+ private transformItemRow;
11
+ private transformItemRowFull;
12
+ private transformDatasetVersionRow;
13
+ createDataset(input: CreateDatasetInput): Promise<DatasetRecord>;
14
+ getDatasetById({ id }: {
15
+ id: string;
16
+ }): Promise<DatasetRecord | null>;
17
+ protected _doUpdateDataset(args: UpdateDatasetInput): Promise<DatasetRecord>;
18
+ deleteDataset({ id }: {
19
+ id: string;
20
+ }): Promise<void>;
21
+ listDatasets(args: ListDatasetsInput): Promise<ListDatasetsOutput>;
22
+ protected _doAddItem(args: AddDatasetItemInput): Promise<DatasetItem>;
23
+ protected _doUpdateItem(args: UpdateDatasetItemInput): Promise<DatasetItem>;
24
+ protected _doDeleteItem({ id, datasetId }: {
25
+ id: string;
26
+ datasetId: string;
27
+ }): Promise<void>;
28
+ getItemById(args: {
29
+ id: string;
30
+ datasetVersion?: number;
31
+ }): Promise<DatasetItem | null>;
32
+ getItemsByVersion({ datasetId, version }: {
33
+ datasetId: string;
34
+ version: number;
35
+ }): Promise<DatasetItem[]>;
36
+ getItemHistory(itemId: string): Promise<DatasetItemRow[]>;
37
+ listItems(args: ListDatasetItemsInput): Promise<ListDatasetItemsOutput>;
38
+ createDatasetVersion(datasetId: string, version: number): Promise<DatasetVersion>;
39
+ listDatasetVersions(input: ListDatasetVersionsInput): Promise<ListDatasetVersionsOutput>;
40
+ protected _doBatchInsertItems(input: BatchInsertItemsInput): Promise<DatasetItem[]>;
41
+ protected _doBatchDeleteItems(input: BatchDeleteItemsInput): Promise<void>;
42
+ }
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/datasets/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,eAAe,EAKhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAQnD,qBAAa,cAAe,SAAQ,eAAe;;gBAIrC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1C,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,0BAA0B;IAW5B,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA8ChE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;cAmB3D,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0E5E,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CpD,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;cAkDxD,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;cA8D3D,aAAa,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;cAwFjE,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE5F,WAAW,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA6BvF,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAqBzG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBzD,SAAS,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkHvE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkCjF,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAkD9E,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;cA6EzE,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4EjF"}
@@ -0,0 +1,29 @@
1
+ import { ExperimentsStorage } from '@mastra/core/storage';
2
+ import type { Experiment, ExperimentResult, CreateExperimentInput, UpdateExperimentInput, AddExperimentResultInput, ListExperimentsInput, ListExperimentsOutput, ListExperimentResultsInput, ListExperimentResultsOutput } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class ExperimentsLibSQL extends ExperimentsStorage {
5
+ #private;
6
+ constructor(config: LibSQLDomainConfig);
7
+ init(): Promise<void>;
8
+ dangerouslyClearAll(): Promise<void>;
9
+ private transformExperimentRow;
10
+ private transformExperimentResultRow;
11
+ createExperiment(input: CreateExperimentInput): Promise<Experiment>;
12
+ updateExperiment(input: UpdateExperimentInput): Promise<Experiment>;
13
+ getExperimentById(args: {
14
+ id: string;
15
+ }): Promise<Experiment | null>;
16
+ listExperiments(args: ListExperimentsInput): Promise<ListExperimentsOutput>;
17
+ deleteExperiment(args: {
18
+ id: string;
19
+ }): Promise<void>;
20
+ addExperimentResult(input: AddExperimentResultInput): Promise<ExperimentResult>;
21
+ getExperimentResultById(args: {
22
+ id: string;
23
+ }): Promise<ExperimentResult | null>;
24
+ listExperimentResults(args: ListExperimentResultsInput): Promise<ListExperimentResultsOutput>;
25
+ deleteExperimentResults(args: {
26
+ experimentId: string;
27
+ }): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/experiments/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,kBAAkB,EAKnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,kBAAkB;;gBAI3C,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,4BAA4B;IAmB9B,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4DnE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgFnE,iBAAiB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmBnE,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4D3E,gBAAgB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBrD,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoD/E,uBAAuB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAmB/E,qBAAqB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAuD7F,uBAAuB,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB7E"}
@@ -0,0 +1,26 @@
1
+ import { MCPClientsStorage } from '@mastra/core/storage';
2
+ import type { StorageMCPClientType, StorageCreateMCPClientInput, StorageUpdateMCPClientInput, StorageListMCPClientsInput, StorageListMCPClientsOutput } from '@mastra/core/storage';
3
+ import type { MCPClientVersion, CreateMCPClientVersionInput, ListMCPClientVersionsInput, ListMCPClientVersionsOutput } from '@mastra/core/storage/domains/mcp-clients';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
5
+ export declare class MCPClientsLibSQL extends MCPClientsStorage {
6
+ #private;
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ dangerouslyClearAll(): Promise<void>;
10
+ getById(id: string): Promise<StorageMCPClientType | null>;
11
+ create(input: {
12
+ mcpClient: StorageCreateMCPClientInput;
13
+ }): Promise<StorageMCPClientType>;
14
+ update(input: StorageUpdateMCPClientInput): Promise<StorageMCPClientType>;
15
+ delete(id: string): Promise<void>;
16
+ list(args?: StorageListMCPClientsInput): Promise<StorageListMCPClientsOutput>;
17
+ createVersion(input: CreateMCPClientVersionInput): Promise<MCPClientVersion>;
18
+ getVersion(id: string): Promise<MCPClientVersion | null>;
19
+ getVersionByNumber(mcpClientId: string, versionNumber: number): Promise<MCPClientVersion | null>;
20
+ getLatestVersion(mcpClientId: string): Promise<MCPClientVersion | null>;
21
+ listVersions(input: ListMCPClientVersionsInput): Promise<ListMCPClientVersionsOutput>;
22
+ deleteVersion(id: string): Promise<void>;
23
+ deleteVersionsByParentId(entityId: string): Promise<void>;
24
+ countVersions(mcpClientId: string): Promise<number>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/mcp-clients/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAQlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,gBAAiB,SAAQ,iBAAiB;;gBAIzC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqBzD,MAAM,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,2BAA2B,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2DxF,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqDzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwF7E,aAAa,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmC5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBhG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBvE,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAsDrF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAyE1D"}
@@ -0,0 +1,26 @@
1
+ import { MCPServersStorage } from '@mastra/core/storage';
2
+ import type { StorageMCPServerType, StorageCreateMCPServerInput, StorageUpdateMCPServerInput, StorageListMCPServersInput, StorageListMCPServersOutput } from '@mastra/core/storage';
3
+ import type { MCPServerVersion, CreateMCPServerVersionInput, ListMCPServerVersionsInput, ListMCPServerVersionsOutput } from '@mastra/core/storage/domains/mcp-servers';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
5
+ export declare class MCPServersLibSQL extends MCPServersStorage {
6
+ #private;
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ dangerouslyClearAll(): Promise<void>;
10
+ getById(id: string): Promise<StorageMCPServerType | null>;
11
+ create(input: {
12
+ mcpServer: StorageCreateMCPServerInput;
13
+ }): Promise<StorageMCPServerType>;
14
+ update(input: StorageUpdateMCPServerInput): Promise<StorageMCPServerType>;
15
+ delete(id: string): Promise<void>;
16
+ list(args?: StorageListMCPServersInput): Promise<StorageListMCPServersOutput>;
17
+ createVersion(input: CreateMCPServerVersionInput): Promise<MCPServerVersion>;
18
+ getVersion(id: string): Promise<MCPServerVersion | null>;
19
+ getVersionByNumber(mcpServerId: string, versionNumber: number): Promise<MCPServerVersion | null>;
20
+ getLatestVersion(mcpServerId: string): Promise<MCPServerVersion | null>;
21
+ listVersions(input: ListMCPServerVersionsInput): Promise<ListMCPServerVersionsOutput>;
22
+ deleteVersion(id: string): Promise<void>;
23
+ deleteVersionsByParentId(entityId: string): Promise<void>;
24
+ countVersions(mcpServerId: string): Promise<number>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/mcp-servers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAQlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,gBAAiB,SAAQ,iBAAiB;;gBAIzC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqBzD,MAAM,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,2BAA2B,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2DxF,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqDzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwF7E,aAAa,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2C5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBhG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBvE,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAsDrF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAqE1D"}