@mastra/mssql 1.10.2 → 1.10.3
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/index.cjs +315 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +316 -68
- package/dist/index.js.map +1 -1
- package/dist/storage/db/index.d.ts +2 -1
- package/dist/storage/db/index.d.ts.map +1 -1
- package/dist/storage/db/run-fencing.d.ts +38 -0
- package/dist/storage/db/run-fencing.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +18 -7
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +17 -5
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MastraBase } from '@mastra/core/base';
|
|
2
2
|
import type { StorageColumn, TABLE_NAMES, CreateIndexOptions, IndexInfo, StorageIndexStats } from '@mastra/core/storage';
|
|
3
3
|
import sql from 'mssql';
|
|
4
|
+
import type { Queryable } from './run-fencing.js';
|
|
4
5
|
export type { CreateIndexOptions, IndexInfo, StorageIndexStats };
|
|
5
6
|
/**
|
|
6
7
|
* Configuration for standalone domain usage.
|
|
@@ -93,7 +94,7 @@ export declare class MssqlDB extends MastraBase {
|
|
|
93
94
|
insert({ tableName, record, transaction, }: {
|
|
94
95
|
tableName: TABLE_NAMES;
|
|
95
96
|
record: Record<string, any>;
|
|
96
|
-
transaction?:
|
|
97
|
+
transaction?: Queryable;
|
|
97
98
|
}): Promise<void>;
|
|
98
99
|
pruneBatch({ tableName, column, cutoff, limit, }: {
|
|
99
100
|
tableName: TABLE_NAMES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAS/C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,GAAG,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { RunFence } from '@mastra/core/storage';
|
|
2
|
+
import type sql from 'mssql';
|
|
3
|
+
/** What both the pool and a transaction offer for issuing statements. */
|
|
4
|
+
export type Queryable = {
|
|
5
|
+
request(): sql.Request;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Epoch milliseconds on the database clock. SQL Server evaluates
|
|
9
|
+
* `SYSUTCDATETIME()` once when a statement starts, so a statement that waits
|
|
10
|
+
* on a lock compares against the time it started. That error only makes an
|
|
11
|
+
* existing lease look longer and a new lease shorter.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DB_NOW_MS = "DATEDIFF_BIG(MILLISECOND, '1970-01-01', SYSUTCDATETIME())";
|
|
14
|
+
/**
|
|
15
|
+
* The check half of a fenced write; call it first inside the write's
|
|
16
|
+
* transaction. `HOLDLOCK` keeps the shared lock on the claim row until commit,
|
|
17
|
+
* even on databases with read-committed snapshot on, so a claim that updates
|
|
18
|
+
* the row waits for the write to finish, and every later write sees the new
|
|
19
|
+
* claim.
|
|
20
|
+
*/
|
|
21
|
+
export declare function assertRunFence(q: Queryable, claimsTable: string, fence: RunFence, operation: string): Promise<void>;
|
|
22
|
+
/** Runs `fn` in a transaction. */
|
|
23
|
+
export declare function inTransaction<T>(pool: sql.ConnectionPool, fn: (transaction: sql.Transaction) => Promise<T>): Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Runs `write` directly when it carries no fence, or in a transaction behind
|
|
26
|
+
* the fence check when it does.
|
|
27
|
+
*/
|
|
28
|
+
export declare function withRunFence<T>(pool: sql.ConnectionPool, claimsTable: string, fence: RunFence | undefined, operation: string, write: (q: Queryable) => Promise<T>): Promise<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Runs a transaction that creates or updates a run's claim row, retrying when
|
|
31
|
+
* two first claims race to insert it. Claims read the row with
|
|
32
|
+
* `UPDLOCK, HOLDLOCK`, which locks the key range of a missing row, so racing
|
|
33
|
+
* first claims normally queue; the retry covers a deadlock victim or a
|
|
34
|
+
* duplicate key if they don't. On retry the row exists and the claim
|
|
35
|
+
* serializes behind its row lock.
|
|
36
|
+
*/
|
|
37
|
+
export declare function claimTransaction<T>(pool: sql.ConnectionPool, fn: (transaction: sql.Transaction) => Promise<T>): Promise<T>;
|
|
38
|
+
//# 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,GAAG,MAAM,OAAO,CAAC;AAE7B,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAA;CAAE,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,8DAA8D,CAAC;AAOrF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,CAAC,EAAE,SAAS,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,kCAAkC;AAClC,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,GAAG,CAAC,cAAc,EACxB,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,GAAG,CAAC,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,GAAG,CAAC,cAAc,EACxB,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAUZ"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { MastraMessageContentV2 } from '@mastra/core/agent';
|
|
2
2
|
import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
|
|
3
3
|
import { MemoryStorage } from '@mastra/core/storage';
|
|
4
|
-
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, CreateIndexOptions } from '@mastra/core/storage';
|
|
4
|
+
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, CreateIndexOptions, RunFence } from '@mastra/core/storage';
|
|
5
5
|
import type { MssqlDomainConfig } from '../../db/index.js';
|
|
6
6
|
export declare class MemoryMSSQL extends MemoryStorage {
|
|
7
|
+
#private;
|
|
7
8
|
readonly supportsPartialThreadUpdate = true;
|
|
8
9
|
private pool;
|
|
9
10
|
private schema?;
|
|
@@ -16,6 +17,9 @@ export declare class MemoryMSSQL extends MemoryStorage {
|
|
|
16
17
|
private _parseAndFormatMessages;
|
|
17
18
|
constructor(config: MssqlDomainConfig);
|
|
18
19
|
init(): Promise<void>;
|
|
20
|
+
supportsRunFencing(): boolean;
|
|
21
|
+
raiseRunFence(fence: RunFence): Promise<boolean>;
|
|
22
|
+
retireRunFence(fence: RunFence): Promise<boolean>;
|
|
19
23
|
/**
|
|
20
24
|
* Returns default index definitions for the memory domain tables.
|
|
21
25
|
* IMPORTANT: Uses seq_id DESC instead of createdAt DESC for MSSQL due to millisecond accuracy limitations
|
|
@@ -35,16 +39,18 @@ export declare class MemoryMSSQL extends MemoryStorage {
|
|
|
35
39
|
resourceId?: string;
|
|
36
40
|
}): Promise<StorageThreadType | null>;
|
|
37
41
|
listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
|
|
38
|
-
saveThread({ thread }: {
|
|
42
|
+
saveThread({ thread, fence, }: {
|
|
39
43
|
thread: StorageThreadType;
|
|
44
|
+
fence?: RunFence;
|
|
40
45
|
}): Promise<StorageThreadType>;
|
|
41
46
|
/**
|
|
42
47
|
* Updates a thread's title and metadata, merging with existing metadata. Returns the updated thread.
|
|
43
48
|
*/
|
|
44
|
-
updateThread({ id, title, metadata, }: {
|
|
49
|
+
updateThread({ id, title, metadata, fence, }: {
|
|
45
50
|
id: string;
|
|
46
51
|
title?: string;
|
|
47
52
|
metadata?: Record<string, unknown>;
|
|
53
|
+
fence?: RunFence;
|
|
48
54
|
}): Promise<StorageThreadType>;
|
|
49
55
|
deleteThread({ threadId }: {
|
|
50
56
|
threadId: string;
|
|
@@ -68,12 +74,13 @@ export declare class MemoryMSSQL extends MemoryStorage {
|
|
|
68
74
|
messages: MastraDBMessage[];
|
|
69
75
|
}>;
|
|
70
76
|
listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
|
|
71
|
-
saveMessages({ messages }: {
|
|
77
|
+
saveMessages({ messages, fence, }: {
|
|
72
78
|
messages: MastraDBMessage[];
|
|
79
|
+
fence?: RunFence;
|
|
73
80
|
}): Promise<{
|
|
74
81
|
messages: MastraDBMessage[];
|
|
75
82
|
}>;
|
|
76
|
-
updateMessages({ messages, }: {
|
|
83
|
+
updateMessages({ messages, fence, }: {
|
|
77
84
|
messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
|
|
78
85
|
id: string;
|
|
79
86
|
content?: {
|
|
@@ -81,18 +88,22 @@ export declare class MemoryMSSQL extends MemoryStorage {
|
|
|
81
88
|
content?: MastraMessageContentV2['content'];
|
|
82
89
|
};
|
|
83
90
|
})[];
|
|
91
|
+
fence?: RunFence;
|
|
84
92
|
}): Promise<MastraDBMessage[]>;
|
|
85
|
-
deleteMessages(messageIds: string[]
|
|
93
|
+
deleteMessages(messageIds: string[], options?: {
|
|
94
|
+
fence?: RunFence;
|
|
95
|
+
}): Promise<void>;
|
|
86
96
|
getResourceById({ resourceId }: {
|
|
87
97
|
resourceId: string;
|
|
88
98
|
}): Promise<StorageResourceType | null>;
|
|
89
99
|
saveResource({ resource }: {
|
|
90
100
|
resource: StorageResourceType;
|
|
91
101
|
}): Promise<StorageResourceType>;
|
|
92
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
102
|
+
updateResource({ resourceId, workingMemory, metadata, fence, }: {
|
|
93
103
|
resourceId: string;
|
|
94
104
|
workingMemory?: string;
|
|
95
105
|
metadata?: Record<string, unknown>;
|
|
106
|
+
fence?: RunFence;
|
|
96
107
|
}): Promise<StorageResourceType>;
|
|
97
108
|
}
|
|
98
109
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAmB,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAmB,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAGL,aAAa,EAWd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EAExB,kBAAkB,EAClB,QAAQ,EAET,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAyClD,qBAAa,WAAY,SAAQ,aAAa;;IAC5C,SAAkB,2BAA2B,QAAQ;IACrD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,OAAO,CAAC,CAAuB;IAEvC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,qEAA6D;IAE3F,OAAO,CAAC,uBAAuB;IAsB/B,YAAY,MAAM,EAAE,iBAAiB,EAUpC;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAc1B;IAEQ,kBAAkB,IAAI,OAAO,CAErC;IAMc,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C9D;IAEc,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAuB/D;IAaD;;;OAGG;IACH,0BAA0B,IAAI,kBAAkB,EAAE,CAcjD;IAED;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa1C;IAED;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAazC;IAEK,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzC;IAEK,aAAa,CAAC,EAClB,QAAQ,EACR,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAqCpC;IAEY,WAAW,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA+JzF;IAEY,UAAU,CAAC,EACtB,MAAM,EACN,KAAK,GACN,EAAE;QACD,MAAM,EAAE,iBAAiB,CAAC;QAC1B,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8C7B;IAED;;OAEG;IACG,YAAY,CAAC,EACjB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2E7B;IAEK,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BpE;IAEK,sBAAsB,CAAC,EAC3B,QAAQ,EACR,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkE7B;IAED,OAAO,CAAC,aAAa;IAmBrB;;;;;;OAMG;YACW,oBAAoB;IA6FrB,gBAAgB,CAAC,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC,CAgDhH;IAEY,YAAY,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAiM5F;IAEK,YAAY,CAAC,EACjB,QAAQ,EACR,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC,CAiG3C;IAEK,cAAc,CAAC,EACnB,QAAQ,EACR,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,GAAG;YACvD,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,CAAC,EAAE;gBACR,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBAC9C,OAAO,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;aAC7C,CAAC;SACH,CAAC,EAAE,CAAC;QACL,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA4G7B;IAEK,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsExF;IAEK,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAgCjG;IAEK,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUhG;IAEK,cAAc,CAAC,EACnB,UAAU,EACV,aAAa,EACb,QAAQ,EACR,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,QAAQ,CAAC;KAClB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmE/B;CACF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { WorkflowsStorage } from '@mastra/core/storage';
|
|
2
|
-
import type { StorageListWorkflowRunsInput, WorkflowRun, WorkflowRuns, UpdateWorkflowStateOptions, CreateIndexOptions } from '@mastra/core/storage';
|
|
2
|
+
import type { ClaimRunOwnershipInput, ClaimRunOwnershipResult, RenewRunOwnershipInput, RenewRunOwnershipResult, RunFence, RunOwnershipRecord, StorageListWorkflowRunsInput, WorkflowRun, WorkflowRuns, UpdateWorkflowStateOptions, CreateIndexOptions } from '@mastra/core/storage';
|
|
3
3
|
import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
|
|
4
4
|
import sql from 'mssql';
|
|
5
5
|
import type { MssqlDomainConfig } from '../../db/index.js';
|
|
6
6
|
export declare class WorkflowsMSSQL extends WorkflowsStorage {
|
|
7
|
+
#private;
|
|
7
8
|
pool: sql.ConnectionPool;
|
|
8
9
|
private db;
|
|
9
10
|
private schema?;
|
|
@@ -30,25 +31,35 @@ export declare class WorkflowsMSSQL extends WorkflowsStorage {
|
|
|
30
31
|
*/
|
|
31
32
|
createCustomIndexes(): Promise<void>;
|
|
32
33
|
dangerouslyClearAll(): Promise<void>;
|
|
34
|
+
supportsRunFencing(): boolean;
|
|
35
|
+
claimRunOwnership({ runId, ownerId, leaseMs, force, expectedGeneration, }: ClaimRunOwnershipInput): Promise<ClaimRunOwnershipResult>;
|
|
36
|
+
renewRunOwnership({ leaseMs, ...fence }: RenewRunOwnershipInput): Promise<RenewRunOwnershipResult>;
|
|
37
|
+
releaseRunOwnership(fence: RunFence): Promise<boolean>;
|
|
38
|
+
getRunOwnership({ runId }: {
|
|
39
|
+
runId: string;
|
|
40
|
+
}): Promise<RunOwnershipRecord | null>;
|
|
33
41
|
private parseWorkflowRun;
|
|
34
|
-
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, state, }: {
|
|
42
|
+
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, state, fence: explicitFence, }: {
|
|
35
43
|
workflowName: string;
|
|
36
44
|
runId: string;
|
|
37
45
|
stepId: string;
|
|
38
46
|
result: StepResult<any, any, any, any>;
|
|
39
47
|
requestContext: Record<string, any>;
|
|
40
48
|
state?: Record<string, any>;
|
|
49
|
+
fence?: RunFence;
|
|
41
50
|
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
42
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
51
|
+
updateWorkflowState({ workflowName, runId, opts, fence: explicitFence, }: {
|
|
43
52
|
workflowName: string;
|
|
44
53
|
runId: string;
|
|
45
54
|
opts: UpdateWorkflowStateOptions;
|
|
55
|
+
fence?: RunFence;
|
|
46
56
|
}): Promise<WorkflowRunState | undefined>;
|
|
47
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
57
|
+
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, fence, }: {
|
|
48
58
|
workflowName: string;
|
|
49
59
|
runId: string;
|
|
50
60
|
resourceId?: string;
|
|
51
61
|
snapshot: WorkflowRunState;
|
|
62
|
+
fence?: RunFence;
|
|
52
63
|
}): Promise<void>;
|
|
53
64
|
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
54
65
|
workflowName: string;
|
|
@@ -58,9 +69,10 @@ export declare class WorkflowsMSSQL extends WorkflowsStorage {
|
|
|
58
69
|
runId: string;
|
|
59
70
|
workflowName?: string;
|
|
60
71
|
}): Promise<WorkflowRun | null>;
|
|
61
|
-
deleteWorkflowRunById({ runId, workflowName }: {
|
|
72
|
+
deleteWorkflowRunById({ runId, workflowName, fence, }: {
|
|
62
73
|
runId: string;
|
|
63
74
|
workflowName: string;
|
|
75
|
+
fence?: RunFence;
|
|
64
76
|
}): Promise<void>;
|
|
65
77
|
listWorkflowRuns({ workflowName, fromDate, toDate, page, perPage, resourceId, status, }?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
|
|
66
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mssql",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.3",
|
|
4
4
|
"description": "MSSQL provider for Mastra - db storage capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"tsx": "^4.23.1",
|
|
33
33
|
"typescript": "^7.0.2",
|
|
34
34
|
"vitest": "4.1.11",
|
|
35
|
-
"@internal/lint": "0.0.
|
|
36
|
-
"@internal/types-builder": "0.0.
|
|
37
|
-
"@internal/storage-test-utils": "0.0.
|
|
38
|
-
"@mastra/core": "1.
|
|
35
|
+
"@internal/lint": "0.0.143",
|
|
36
|
+
"@internal/types-builder": "0.0.118",
|
|
37
|
+
"@internal/storage-test-utils": "0.0.139",
|
|
38
|
+
"@mastra/core": "1.77.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"
|