@mastra/libsql 1.26.0-alpha.2 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-core-mastra-class.md +12 -4
- package/dist/docs/references/reference-storage-retention.md +21 -18
- package/dist/index.cjs +776 -110
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +777 -111
- package/dist/index.js.map +1 -1
- package/dist/shared/file-transaction-gate.d.ts +28 -0
- package/dist/shared/file-transaction-gate.d.ts.map +1 -0
- package/dist/shared/reset-after-busy-client.d.ts +34 -0
- package/dist/shared/reset-after-busy-client.d.ts.map +1 -0
- package/dist/storage/db/index.d.ts +8 -3
- package/dist/storage/db/index.d.ts.map +1 -1
- package/dist/storage/db/run-fencing.d.ts +41 -0
- package/dist/storage/db/run-fencing.d.ts.map +1 -0
- package/dist/storage/db/utils.d.ts.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +21 -7
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +21 -6
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/factory-storage.d.ts.map +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/retention.d.ts +3 -3
- package/dist/storage/retention.d.ts.map +1 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Client } from '@libsql/client';
|
|
2
|
+
/** The database file a local `file:` url points at, or `undefined` for anything else. */
|
|
3
|
+
export declare function localDatabaseFileKey(url: string): string | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a local `file:` client so its calls wait for interactive transactions
|
|
6
|
+
* that other clients in this process hold open on the same database file,
|
|
7
|
+
* instead of blocking the thread.
|
|
8
|
+
*
|
|
9
|
+
* `@libsql/client` runs local statements synchronously. When one client holds
|
|
10
|
+
* a write transaction open across an `await` and another client writes the same
|
|
11
|
+
* file, SQLite's busy handler spins on the event loop's only thread for
|
|
12
|
+
* `busy_timeout`, so the transaction holding the lock can't resume and the write
|
|
13
|
+
* fails with `SQLITE_BUSY`. Waiting lets the transaction finish first.
|
|
14
|
+
*
|
|
15
|
+
* Only calls on other clients wait; a client already orders its own writes
|
|
16
|
+
* behind its transactions (see `withClientWriteLock`). A call waits at most
|
|
17
|
+
* `maxWaitMs` (the busy timeout), then goes ahead as it would without the gate,
|
|
18
|
+
* so code that awaits another client from inside its own transaction can't hang.
|
|
19
|
+
* Clients in other processes are unaffected and still rely on `busy_timeout`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function gateLocalFileClient(client: Client, key: string, { maxWaitMs }?: {
|
|
22
|
+
maxWaitMs?: number | undefined;
|
|
23
|
+
}): Client;
|
|
24
|
+
/** Applies {@link gateLocalFileClient} when `url` is a local database file; returns `client` otherwise. */
|
|
25
|
+
export declare function gateIfLocalFile(client: Client, url: string, options?: {
|
|
26
|
+
maxWaitMs?: number;
|
|
27
|
+
}): Client;
|
|
28
|
+
//# sourceMappingURL=file-transaction-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-transaction-gate.d.ts","sourceRoot":"","sources":["../../src/shared/file-transaction-gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAgC,MAAM,gBAAgB,CAAC;AAU3E,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAiB,EAAE;;CAAK,GAAG,MAAM,CA2HnG;AAED,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGrG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Client } from '@libsql/client';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a pooled local `file:` client so a statement refused with `SQLITE_BUSY`
|
|
4
|
+
* doesn't leave its connection unusable.
|
|
5
|
+
*
|
|
6
|
+
* libsql leaves a write statement whose run failed busy in progress until it is
|
|
7
|
+
* garbage collected (tursodatabase/libsql-js#237). Until then no transaction on
|
|
8
|
+
* that connection can commit ("cannot commit transaction - SQL statements in
|
|
9
|
+
* progress"), and an autocommit write on it stays uncommitted while holding the
|
|
10
|
+
* database's write lock. The pool hands the same connection out again, so
|
|
11
|
+
* retrying the write doesn't help.
|
|
12
|
+
*
|
|
13
|
+
* After a busy failure the wrapper reopens the client's connections, which
|
|
14
|
+
* finalizes the stuck statement. Reopening closes every connection, including
|
|
15
|
+
* borrowed ones, so it waits until no call or transaction made through the
|
|
16
|
+
* wrapper is in flight. New calls wait for the reset rather than join the calls
|
|
17
|
+
* it waits for, so a client that is never idle still gets reset. A call made
|
|
18
|
+
* while its caller holds an open transaction, or from inside another call,
|
|
19
|
+
* doesn't wait: the reset waits for what its caller holds, so waiting would
|
|
20
|
+
* deadlock. Reopened connections start from the pool's connection options,
|
|
21
|
+
* so `afterReset` runs right after to restore any per-connection settings
|
|
22
|
+
* applied after opening, and calls that waited for the reset go on once it
|
|
23
|
+
* settles, even if it fails. A call waits at most `maxWaitMs` (default 5s, the
|
|
24
|
+
* busy timeout) so a long-held transaction can't stall every later call; after
|
|
25
|
+
* that it goes ahead on the current pool. A transaction SQLite rolled back on its
|
|
26
|
+
* own is released as soon as the failing call returns. It must use the client it was given, not the
|
|
27
|
+
* wrapper: calls through the wrapper would wait for the reset it is part of.
|
|
28
|
+
* Every other member passes through untouched.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resetConnectionsAfterBusy(client: Client, { afterReset, maxWaitMs }?: {
|
|
31
|
+
afterReset?: () => void | Promise<void>;
|
|
32
|
+
maxWaitMs?: number;
|
|
33
|
+
}): Client;
|
|
34
|
+
//# sourceMappingURL=reset-after-busy-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset-after-busy-client.d.ts","sourceRoot":"","sources":["../../src/shared/reset-after-busy-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAgC,MAAM,gBAAgB,CAAC;AAoB3E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,EAAE,UAAU,EAAE,SAAiB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtG,MAAM,CAyMR"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { MastraBase } from '@mastra/core/base';
|
|
2
|
-
import type { KNOWLEDGE_TABLE_NAME, TABLE_NAMES, StorageColumn } from '@mastra/core/storage';
|
|
2
|
+
import type { KNOWLEDGE_TABLE_NAME, TABLE_NAMES, TABLE_MEMORY_RUN_FENCES, TABLE_WORKFLOW_RUN_OWNERS, StorageColumn } from '@mastra/core/storage';
|
|
3
3
|
import type { SqliteClient as Client, SqliteInValue as InValue } from './client.js';
|
|
4
|
+
import type { RunFenceCheck } from './run-fencing.js';
|
|
5
|
+
/** Tables retention can prune: the core tables plus the run fencing tables, which aren't in TABLE_NAMES. */
|
|
6
|
+
export type PrunableTable = TABLE_NAMES | typeof TABLE_WORKFLOW_RUN_OWNERS | typeof TABLE_MEMORY_RUN_FENCES;
|
|
4
7
|
/**
|
|
5
8
|
* Base configuration options shared across LibSQL domain configurations
|
|
6
9
|
*/
|
|
@@ -94,10 +97,12 @@ export declare class LibSQLDB extends MastraBase {
|
|
|
94
97
|
* @param args - The insert arguments
|
|
95
98
|
* @param args.tableName - The name of the table to insert into
|
|
96
99
|
* @param args.record - The record to insert (key-value pairs)
|
|
100
|
+
* @param args.check - The run fence the insert must carry, if any
|
|
97
101
|
*/
|
|
98
102
|
insert(args: {
|
|
99
103
|
tableName: TABLE_NAMES;
|
|
100
104
|
record: Record<string, any>;
|
|
105
|
+
check?: RunFenceCheck;
|
|
101
106
|
}): Promise<void>;
|
|
102
107
|
/** Inserts a record without replacing an existing primary key. */
|
|
103
108
|
insertOnly(args: {
|
|
@@ -347,7 +352,7 @@ export declare class LibSQLDB extends MastraBase {
|
|
|
347
352
|
* `column` to be fast at scale (see ensureIndex).
|
|
348
353
|
*/
|
|
349
354
|
pruneBatch({ tableName, column, cutoff, limit, }: {
|
|
350
|
-
tableName:
|
|
355
|
+
tableName: PrunableTable;
|
|
351
356
|
column: string;
|
|
352
357
|
/**
|
|
353
358
|
* Exclusive upper bound for the anchor column. Must match the column's
|
|
@@ -385,7 +390,7 @@ export declare class LibSQLDB extends MastraBase {
|
|
|
385
390
|
/** Create an index if it does not already exist. */
|
|
386
391
|
ensureIndex({ indexName, tableName, column, }: {
|
|
387
392
|
indexName: string;
|
|
388
|
-
tableName:
|
|
393
|
+
tableName: PrunableTable;
|
|
389
394
|
column: string;
|
|
390
395
|
}): Promise<void>;
|
|
391
396
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAS/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { RunFence } from '@mastra/core/storage';
|
|
2
|
+
import type { SqliteClient, SqliteResultSet, SqliteStatement, SqliteTransaction } from './client.js';
|
|
3
|
+
/** Runs statements against the client, or inside an open transaction. */
|
|
4
|
+
export interface SqliteWriter {
|
|
5
|
+
execute(statement: string | SqliteStatement): Promise<SqliteResultSet>;
|
|
6
|
+
/** Runs `statements` in order, all or nothing. */
|
|
7
|
+
batch(statements: SqliteStatement[]): Promise<SqliteResultSet[]>;
|
|
8
|
+
}
|
|
9
|
+
/** A write's fence, and the table holding the run's current claim to check it against. */
|
|
10
|
+
export interface RunFenceCheck {
|
|
11
|
+
claimsTable: string;
|
|
12
|
+
fence: RunFence;
|
|
13
|
+
operation: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Epoch milliseconds on the database clock. `julianday('now')` rather than
|
|
17
|
+
* `unixepoch('subsec')`, which needs SQLite 3.42 on the server.
|
|
18
|
+
*/
|
|
19
|
+
export declare const DB_NOW_MS = "CAST(ROUND((julianday('now') - 2440587.5) * 86400000) AS INTEGER)";
|
|
20
|
+
/**
|
|
21
|
+
* Runs `fn` in a write transaction, behind every other write on `client`.
|
|
22
|
+
* `'write'` opens the transaction with `BEGIN IMMEDIATE`, which takes the
|
|
23
|
+
* database's write lock up front, so nothing written between a read and a
|
|
24
|
+
* write inside `fn` can come from another connection.
|
|
25
|
+
*/
|
|
26
|
+
export declare function inWriteTransaction<T>(client: SqliteClient, fn: (tx: SqliteTransaction) => Promise<T>): Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* The check half of a fenced write; call it first inside the write's
|
|
29
|
+
* transaction. The transaction already holds the database's write lock, so
|
|
30
|
+
* a claim can't commit between this check and the write.
|
|
31
|
+
*/
|
|
32
|
+
export declare function assertRunFence(tx: Pick<SqliteTransaction, 'execute'>, { claimsTable, fence, operation }: RunFenceCheck): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Runs `write` behind the client's write lock: directly when there is no
|
|
35
|
+
* fence to check, or in a write transaction behind the check when there is.
|
|
36
|
+
* `write` must issue every statement through the writer it is given; on a
|
|
37
|
+
* single-connection client, a call on the client itself would wait for the
|
|
38
|
+
* open transaction forever.
|
|
39
|
+
*/
|
|
40
|
+
export declare function withRunFence<T>(client: SqliteClient, check: RunFenceCheck | undefined, write: (writer: SqliteWriter) => Promise<T>): Promise<T>;
|
|
41
|
+
//# sourceMappingURL=run-fencing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-fencing.d.ts","sourceRoot":"","sources":["../../../src/storage/db/run-fencing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlG,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,kDAAkD;IAClD,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAClE;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,sEAAsE,CAAC;AAE7F;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAcjH;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACtC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,GAC/C,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAoBZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/db/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOzD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAyD9C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYzF;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,eACvC,MAAM,OAAO,CAAC,CAAC,CAAC,wBACP,MAAM,KAC3B,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/db/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOzD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAyD9C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYzF;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,eACvC,MAAM,OAAO,CAAC,CAAC,CAAC,wBACP,MAAM,KAC3B,OAAO,CAAC,CAAC,CAAC,CA2Cd;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,CAkCA;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,CAc5F;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,CA2CJ"}
|
|
@@ -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, StorageListMessagesByResourceIdInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, StorageCloneThreadInput, StorageCopyThreadOutput, ObservationalMemoryRecord, ObservationalMemoryHistoryOptions, CreateObservationalMemoryInput, UpdateActiveObservationsInput, UpdateBufferedObservationsInput, SwapBufferedToActiveInput, SwapBufferedToActiveResult, UpdateBufferedReflectionInput, SwapBufferedReflectionToActiveInput, CreateReflectionGenerationInput, UpdateObservationalMemoryConfigInput, PruneOptions, PruneResult, RetentionTablesDescriptor, TableRetentionPolicy } from '@mastra/core/storage';
|
|
3
|
+
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesByResourceIdInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, StorageCloneThreadInput, StorageCopyThreadOutput, ObservationalMemoryRecord, ObservationalMemoryHistoryOptions, CreateObservationalMemoryInput, UpdateActiveObservationsInput, UpdateBufferedObservationsInput, SwapBufferedToActiveInput, SwapBufferedToActiveResult, UpdateBufferedReflectionInput, SwapBufferedReflectionToActiveInput, CreateReflectionGenerationInput, UpdateObservationalMemoryConfigInput, PruneOptions, PruneResult, RetentionTablesDescriptor, RunFence, TableRetentionPolicy } 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 {
|
|
@@ -12,11 +12,18 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
12
12
|
* Retention-eligible tables. `threads`, `messages`, and `resources` all anchor
|
|
13
13
|
* on `createdAt` and are indexed for fast batched deletes. Cascade order is
|
|
14
14
|
* enforced in `prune()` (children before threads), not here.
|
|
15
|
+
*
|
|
16
|
+
* Run fences anchor on `retiredAt` (epoch ms), which stays NULL until the
|
|
17
|
+
* execution holding the fence settles, so a running execution's fence is
|
|
18
|
+
* never pruned.
|
|
15
19
|
*/
|
|
16
20
|
static readonly retentionTables: RetentionTablesDescriptor;
|
|
17
21
|
constructor(config: LibSQLDomainConfig);
|
|
18
22
|
init(): Promise<void>;
|
|
19
23
|
dangerouslyClearAll(): Promise<void>;
|
|
24
|
+
supportsRunFencing(): boolean;
|
|
25
|
+
raiseRunFence(fence: RunFence): Promise<boolean>;
|
|
26
|
+
retireRunFence(fence: RunFence): Promise<boolean>;
|
|
20
27
|
/**
|
|
21
28
|
* Delete rows older than each policy's `maxAge`, batched and cancellable.
|
|
22
29
|
*
|
|
@@ -41,12 +48,13 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
41
48
|
}>;
|
|
42
49
|
listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
|
|
43
50
|
listMessagesByResourceId(args: StorageListMessagesByResourceIdInput): Promise<StorageListMessagesOutput>;
|
|
44
|
-
saveMessages({ messages }: {
|
|
51
|
+
saveMessages({ messages, fence, }: {
|
|
45
52
|
messages: MastraDBMessage[];
|
|
53
|
+
fence?: RunFence;
|
|
46
54
|
}): Promise<{
|
|
47
55
|
messages: MastraDBMessage[];
|
|
48
56
|
}>;
|
|
49
|
-
updateMessages({ messages, }: {
|
|
57
|
+
updateMessages({ messages, fence, }: {
|
|
50
58
|
messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
|
|
51
59
|
id: string;
|
|
52
60
|
content?: {
|
|
@@ -54,18 +62,22 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
54
62
|
content?: MastraMessageContentV2['content'];
|
|
55
63
|
};
|
|
56
64
|
})[];
|
|
65
|
+
fence?: RunFence;
|
|
57
66
|
}): Promise<MastraDBMessage[]>;
|
|
58
|
-
deleteMessages(messageIds: string[]
|
|
67
|
+
deleteMessages(messageIds: string[], options?: {
|
|
68
|
+
fence?: RunFence;
|
|
69
|
+
}): Promise<void>;
|
|
59
70
|
getResourceById({ resourceId }: {
|
|
60
71
|
resourceId: string;
|
|
61
72
|
}): Promise<StorageResourceType | null>;
|
|
62
73
|
saveResource({ resource }: {
|
|
63
74
|
resource: StorageResourceType;
|
|
64
75
|
}): Promise<StorageResourceType>;
|
|
65
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
76
|
+
updateResource({ resourceId, workingMemory, metadata, fence, }: {
|
|
66
77
|
resourceId: string;
|
|
67
78
|
workingMemory?: string;
|
|
68
79
|
metadata?: Record<string, unknown>;
|
|
80
|
+
fence?: RunFence;
|
|
69
81
|
}): Promise<StorageResourceType>;
|
|
70
82
|
getThreadById({ threadId, resourceId, }: {
|
|
71
83
|
threadId: string;
|
|
@@ -84,13 +96,15 @@ export declare class MemoryLibSQL extends MemoryStorage {
|
|
|
84
96
|
resourceId: string;
|
|
85
97
|
}): Promise<StorageThreadType>;
|
|
86
98
|
listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
|
|
87
|
-
saveThread({ thread }: {
|
|
99
|
+
saveThread({ thread, fence }: {
|
|
88
100
|
thread: StorageThreadType;
|
|
101
|
+
fence?: RunFence;
|
|
89
102
|
}): Promise<StorageThreadType>;
|
|
90
|
-
updateThread({ id, title, metadata, }: {
|
|
103
|
+
updateThread({ id, title, metadata, fence, }: {
|
|
91
104
|
id: string;
|
|
92
105
|
title?: string;
|
|
93
106
|
metadata?: Record<string, unknown>;
|
|
107
|
+
fence?: RunFence;
|
|
94
108
|
}): Promise<StorageThreadType>;
|
|
95
109
|
deleteThread({ threadId }: {
|
|
96
110
|
threadId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AAAA,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,oCAAoC,EACpC,yBAAyB,EAGzB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EAEvB,yBAAyB,EACzB,iCAAiC,EAEjC,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,mCAAmC,EACnC,+BAA+B,EAC/B,oCAAoC,EACpC,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WorkflowRun, WorkflowRuns, StorageListWorkflowRunsInput, UpdateWorkflowStateOptions, PruneOptions, PruneResult, RetentionTablesDescriptor, TableRetentionPolicy } from '@mastra/core/storage';
|
|
1
|
+
import type { WorkflowRun, WorkflowRuns, StorageListWorkflowRunsInput, UpdateWorkflowStateOptions, PruneOptions, PruneResult, RetentionTablesDescriptor, TableRetentionPolicy, ClaimRunOwnershipInput, ClaimRunOwnershipResult, RenewRunOwnershipInput, RenewRunOwnershipResult, RunFence, RunOwnershipRecord } from '@mastra/core/storage';
|
|
2
2
|
import { WorkflowsStorage } from '@mastra/core/storage';
|
|
3
3
|
import type { WorkflowRunState, StepResult } from '@mastra/core/workflows';
|
|
4
4
|
import type { LibSQLDomainConfig } from '../../db/index.js';
|
|
@@ -7,6 +7,10 @@ export declare class WorkflowsLibSQL extends WorkflowsStorage {
|
|
|
7
7
|
/**
|
|
8
8
|
* Workflow run snapshots accumulate as runs execute. Anchored on `updatedAt`
|
|
9
9
|
* (last activity) so suspended/long-running runs are not pruned by start age.
|
|
10
|
+
*
|
|
11
|
+
* Run ownership rows are anchored on `updatedAt` (epoch ms), which every
|
|
12
|
+
* claim, renewal and release refreshes, so a live execution's row is never
|
|
13
|
+
* older than its renew interval.
|
|
10
14
|
*/
|
|
11
15
|
static readonly retentionTables: RetentionTablesDescriptor;
|
|
12
16
|
private readonly executeWithRetry;
|
|
@@ -15,29 +19,39 @@ export declare class WorkflowsLibSQL extends WorkflowsStorage {
|
|
|
15
19
|
private parseWorkflowRun;
|
|
16
20
|
init(): Promise<void>;
|
|
17
21
|
dangerouslyClearAll(): Promise<void>;
|
|
18
|
-
|
|
22
|
+
supportsRunFencing(): boolean;
|
|
23
|
+
claimRunOwnership({ runId, ownerId, leaseMs, force, expectedGeneration, }: ClaimRunOwnershipInput): Promise<ClaimRunOwnershipResult>;
|
|
24
|
+
renewRunOwnership({ leaseMs, ...fence }: RenewRunOwnershipInput): Promise<RenewRunOwnershipResult>;
|
|
25
|
+
releaseRunOwnership(fence: RunFence): Promise<boolean>;
|
|
26
|
+
getRunOwnership({ runId }: {
|
|
27
|
+
runId: string;
|
|
28
|
+
}): Promise<RunOwnershipRecord | null>;
|
|
29
|
+
/** Delete workflow run snapshots and run ownership rows older than their policy's `maxAge`, batched. */
|
|
19
30
|
prune(policies: Record<string, TableRetentionPolicy>, options?: PruneOptions): Promise<PruneResult[]>;
|
|
20
31
|
private setupPragmaSettings;
|
|
21
|
-
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, state, }: {
|
|
32
|
+
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, state, fence: explicitFence, }: {
|
|
22
33
|
workflowName: string;
|
|
23
34
|
runId: string;
|
|
24
35
|
stepId: string;
|
|
25
36
|
result: StepResult<any, any, any, any>;
|
|
26
37
|
requestContext: Record<string, any>;
|
|
27
38
|
state?: Record<string, any>;
|
|
39
|
+
fence?: RunFence;
|
|
28
40
|
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
29
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
41
|
+
updateWorkflowState({ workflowName, runId, opts, fence: explicitFence, }: {
|
|
30
42
|
workflowName: string;
|
|
31
43
|
runId: string;
|
|
32
44
|
opts: UpdateWorkflowStateOptions;
|
|
45
|
+
fence?: RunFence;
|
|
33
46
|
}): Promise<WorkflowRunState | undefined>;
|
|
34
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, createdAt, updatedAt, }: {
|
|
47
|
+
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, createdAt, updatedAt, fence, }: {
|
|
35
48
|
workflowName: string;
|
|
36
49
|
runId: string;
|
|
37
50
|
resourceId?: string;
|
|
38
51
|
snapshot: WorkflowRunState;
|
|
39
52
|
createdAt?: Date;
|
|
40
53
|
updatedAt?: Date;
|
|
54
|
+
fence?: RunFence;
|
|
41
55
|
}): Promise<void>;
|
|
42
56
|
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
43
57
|
workflowName: string;
|
|
@@ -47,9 +61,10 @@ export declare class WorkflowsLibSQL extends WorkflowsStorage {
|
|
|
47
61
|
runId: string;
|
|
48
62
|
workflowName?: string;
|
|
49
63
|
}): Promise<WorkflowRun | null>;
|
|
50
|
-
deleteWorkflowRunById({ runId, workflowName }: {
|
|
64
|
+
deleteWorkflowRunById({ runId, workflowName, fence, }: {
|
|
51
65
|
runId: string;
|
|
52
66
|
workflowName: string;
|
|
67
|
+
fence?: RunFence;
|
|
53
68
|
}): Promise<void>;
|
|
54
69
|
listWorkflowRuns({ workflowName, fromDate, toDate, page, perPage, resourceId, threadId, status, summary, }?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
|
|
55
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EAEpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAWL,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;AAqBnD,qBAAa,eAAgB,SAAQ,gBAAgB;;IACnD;;;;;;;OAOG;IACH,gBAAyB,eAAe,EAAE,yBAAyB,CAGjE;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiF;IAElH,YAAY,MAAM,EAAE,kBAAkB,EAmBrC;IAED,yBAAyB,IAAI,OAAO,CAEnC;IAED,OAAO,CAAC,gBAAgB;IAmBlB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAa1B;IAEK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzC;IAED,kBAAkB,IAAI,OAAO,CAE5B;IAgCK,iBAAiB,CAAC,EACtB,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,kBAAkB,GACnB,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAgC3D;IAEK,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkBvG;IAEK,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB3D;IAEK,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAMtF;IAED,wGAAwG;IAClG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAO1G;YAEa,mBAAmB;IA0B3B,qBAAqB,CAAC,EAC1B,YAAY,EACZ,KAAK,EACL,MAAM,EACN,MAAM,EACN,cAAc,EACd,KAAK,EACL,KAAK,EAAE,aAAa,GACrB,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;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAiE1D;IAEK,mBAAmB,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,KAAK,EAAE,aAAa,GACrB,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,0BAA0B,CAAC;QACjC,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAyDxC;IAEK,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,GACN,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;QACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,iBAyBA;IAEK,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,CAQnC;IAEK,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,CAqC9B;IAEK,qBAAqB,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB;IAEK,gBAAgB,CAAC,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAE,4BAAiC,GAAG,OAAO,CAAC,YAAY,CAAC,CAkF3D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-storage.d.ts","sourceRoot":"","sources":["../../src/storage/factory-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAGV,gBAAgB,EAGhB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory-storage.d.ts","sourceRoot":"","sources":["../../src/storage/factory-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAGV,gBAAgB,EAGhB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AA8YD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;;IACtD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAOhC,YAAY,MAAM,EAAE,0BAA0B,EAiB7C;IAED,gBAAgB,IAAI,oBAAoB,CAOvC;IAED,UAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEK,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiB/E;IAEK,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,YAAY,IAAI,mBAAmB,CAElC;CA6FF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { runRetentionBatches } from '@mastra/core/storage';
|
|
2
|
-
import type {
|
|
3
|
-
import type { LibSQLDB } from './db/index.js';
|
|
4
|
-
export type PruneTarget = RetentionPruneTarget<
|
|
2
|
+
import type { PruneOptions, PruneResult, RetentionPruneTarget, TableRetentionPolicy } from '@mastra/core/storage';
|
|
3
|
+
import type { LibSQLDB, PrunableTable } from './db/index.js';
|
|
4
|
+
export type PruneTarget = RetentionPruneTarget<PrunableTable>;
|
|
5
5
|
export declare function cutoffFor(policy: TableRetentionPolicy, anchorType: 'timestamp' | 'epoch-ms', now?: number): string | number;
|
|
6
6
|
export declare const runBatchedDelete: typeof runRetentionBatches;
|
|
7
7
|
export declare function runPrune({ db, domain, targets, options, logger, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/storage/retention.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/storage/retention.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAmB9D,wBAAgB,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,SAAa,mBAG7G;AAED,eAAO,MAAM,gBAAgB,4BAAsB,CAAC;AAEpD,wBAAgB,QAAQ,CAAC,EACvB,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,CAUzB;AAED,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,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;KAAE,CAC3F,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,WAAW,EAAE,CAEhB"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/libsql",
|
|
3
|
-
"version": "1.26.0
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"description": "Libsql provider for Mastra - includes both vector and db storage capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"tsx": "^4.23.1",
|
|
32
32
|
"typescript": "^7.0.2",
|
|
33
33
|
"vitest": "4.1.11",
|
|
34
|
-
"@internal/lint": "0.0.
|
|
34
|
+
"@internal/lint": "0.0.142",
|
|
35
35
|
"@internal/core": "0.1.2",
|
|
36
|
-
"@internal/
|
|
37
|
-
"@internal/
|
|
38
|
-
"@mastra/core": "1.76.0
|
|
36
|
+
"@internal/types-builder": "0.0.117",
|
|
37
|
+
"@internal/storage-test-utils": "0.0.138",
|
|
38
|
+
"@mastra/core": "1.76.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@mastra/core": ">=1.
|
|
41
|
+
"@mastra/core": ">=1.76.0-0 <2.0.0-0"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist"
|