@mastra/mssql 0.0.0-issue-7087-20250910004053 → 0.0.0-jail-fs-20260105160110

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 (35) hide show
  1. package/CHANGELOG.md +1419 -3
  2. package/README.md +324 -37
  3. package/dist/docs/README.md +31 -0
  4. package/dist/docs/SKILL.md +32 -0
  5. package/dist/docs/SOURCE_MAP.json +6 -0
  6. package/dist/docs/storage/01-reference.md +141 -0
  7. package/dist/index.cjs +2500 -1146
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2497 -1147
  12. package/dist/index.js.map +1 -1
  13. package/dist/storage/db/index.d.ts +172 -0
  14. package/dist/storage/db/index.d.ts.map +1 -0
  15. package/dist/storage/db/utils.d.ts +21 -0
  16. package/dist/storage/db/utils.d.ts.map +1 -0
  17. package/dist/storage/domains/memory/index.d.ts +38 -52
  18. package/dist/storage/domains/memory/index.d.ts.map +1 -1
  19. package/dist/storage/domains/observability/index.d.ts +46 -0
  20. package/dist/storage/domains/observability/index.d.ts.map +1 -0
  21. package/dist/storage/domains/scores/index.d.ts +38 -25
  22. package/dist/storage/domains/scores/index.d.ts.map +1 -1
  23. package/dist/storage/domains/utils.d.ts +19 -0
  24. package/dist/storage/domains/utils.d.ts.map +1 -1
  25. package/dist/storage/domains/workflows/index.d.ts +39 -28
  26. package/dist/storage/domains/workflows/index.d.ts.map +1 -1
  27. package/dist/storage/index.d.ts +115 -213
  28. package/dist/storage/index.d.ts.map +1 -1
  29. package/package.json +15 -10
  30. package/dist/storage/domains/legacy-evals/index.d.ts +0 -20
  31. package/dist/storage/domains/legacy-evals/index.d.ts.map +0 -1
  32. package/dist/storage/domains/operations/index.d.ts +0 -51
  33. package/dist/storage/domains/operations/index.d.ts.map +0 -1
  34. package/dist/storage/domains/traces/index.d.ts +0 -37
  35. package/dist/storage/domains/traces/index.d.ts.map +0 -1
@@ -0,0 +1,172 @@
1
+ import { MastraBase } from '@mastra/core/base';
2
+ import type { StorageColumn, TABLE_NAMES, CreateIndexOptions, IndexInfo, StorageIndexStats } from '@mastra/core/storage';
3
+ import sql from 'mssql';
4
+ export type { CreateIndexOptions, IndexInfo, StorageIndexStats };
5
+ /**
6
+ * Configuration for standalone domain usage.
7
+ * Accepts either:
8
+ * 1. A pre-configured pool (domain creates its own MssqlDB)
9
+ * 2. Config to create a new pool internally
10
+ */
11
+ export type MssqlDomainConfig = MssqlDomainPoolConfig | MssqlDomainRestConfig;
12
+ /**
13
+ * Pass an existing pool - domain will create its own MssqlDB
14
+ */
15
+ export interface MssqlDomainPoolConfig {
16
+ pool: sql.ConnectionPool;
17
+ schemaName?: string;
18
+ skipDefaultIndexes?: boolean;
19
+ /** Custom indexes to create for this domain's tables */
20
+ indexes?: CreateIndexOptions[];
21
+ }
22
+ /**
23
+ * Pass config to create a new pool internally
24
+ */
25
+ export interface MssqlDomainRestConfig {
26
+ server: string;
27
+ port: number;
28
+ database: string;
29
+ user: string;
30
+ password: string;
31
+ schemaName?: string;
32
+ options?: sql.IOptions;
33
+ skipDefaultIndexes?: boolean;
34
+ /** Custom indexes to create for this domain's tables */
35
+ indexes?: CreateIndexOptions[];
36
+ }
37
+ /**
38
+ * Resolves MssqlDomainConfig to pool and schema.
39
+ * Domain classes create their own MssqlDB instance from the returned pool.
40
+ *
41
+ * @param config - Either an existing connected pool, or connection details to create a new pool
42
+ * @returns Object containing pool, schemaName, skipDefaultIndexes, and whether the pool needs connection
43
+ *
44
+ * @remarks
45
+ * When using connection details (not an existing pool), the returned pool is NOT connected.
46
+ * The caller must call `pool.connect()` before use, typically in an `init()` method.
47
+ * The `needsConnect` flag indicates whether the pool was newly created and needs connecting.
48
+ */
49
+ export declare function resolveMssqlConfig(config: MssqlDomainConfig): {
50
+ pool: sql.ConnectionPool;
51
+ schemaName?: string;
52
+ skipDefaultIndexes?: boolean;
53
+ indexes?: CreateIndexOptions[];
54
+ needsConnect: boolean;
55
+ };
56
+ export declare class MssqlDB extends MastraBase {
57
+ pool: sql.ConnectionPool;
58
+ schemaName?: string;
59
+ skipDefaultIndexes?: boolean;
60
+ private setupSchemaPromise;
61
+ private schemaSetupComplete;
62
+ /**
63
+ * Columns that participate in composite indexes need smaller sizes (NVARCHAR(100)).
64
+ * MSSQL has a 900-byte index key limit, so composite indexes with NVARCHAR(400) columns fail.
65
+ * These are typically ID/type fields that don't need 400 chars.
66
+ */
67
+ private readonly COMPOSITE_INDEX_COLUMNS;
68
+ /**
69
+ * Columns that store large amounts of data and should use NVARCHAR(MAX).
70
+ * Avoid listing columns that participate in indexes (resourceId, thread_id, agent_name, name, etc.)
71
+ */
72
+ private readonly LARGE_DATA_COLUMNS;
73
+ protected getSqlType(type: StorageColumn['type'], isPrimaryKey?: boolean, useLargeStorage?: boolean, useSmallStorage?: boolean): string;
74
+ constructor({ pool, schemaName, skipDefaultIndexes, }: {
75
+ pool: sql.ConnectionPool;
76
+ schemaName?: string;
77
+ skipDefaultIndexes?: boolean;
78
+ });
79
+ hasColumn(table: string, column: string): Promise<boolean>;
80
+ private setupSchema;
81
+ insert({ tableName, record, transaction, }: {
82
+ tableName: TABLE_NAMES;
83
+ record: Record<string, any>;
84
+ transaction?: sql.Transaction;
85
+ }): Promise<void>;
86
+ clearTable({ tableName }: {
87
+ tableName: TABLE_NAMES;
88
+ }): Promise<void>;
89
+ protected getDefaultValue(type: StorageColumn['type']): string;
90
+ createTable({ tableName, schema, }: {
91
+ tableName: TABLE_NAMES;
92
+ schema: Record<string, StorageColumn>;
93
+ }): Promise<void>;
94
+ /**
95
+ * Migrates the spans table schema from OLD_SPAN_SCHEMA to current SPAN_SCHEMA.
96
+ * This adds new columns that don't exist in old schema.
97
+ */
98
+ private migrateSpansTable;
99
+ /**
100
+ * Alters table schema to add columns if they don't exist
101
+ * @param tableName Name of the table
102
+ * @param schema Schema of the table
103
+ * @param ifNotExists Array of column names to add if they don't exist
104
+ */
105
+ alterTable({ tableName, schema, ifNotExists, }: {
106
+ tableName: TABLE_NAMES;
107
+ schema: Record<string, StorageColumn>;
108
+ ifNotExists: string[];
109
+ }): Promise<void>;
110
+ load<R>({ tableName, keys }: {
111
+ tableName: TABLE_NAMES;
112
+ keys: Record<string, any>;
113
+ }): Promise<R | null>;
114
+ batchInsert({ tableName, records }: {
115
+ tableName: TABLE_NAMES;
116
+ records: Record<string, any>[];
117
+ }): Promise<void>;
118
+ dropTable({ tableName }: {
119
+ tableName: TABLE_NAMES;
120
+ }): Promise<void>;
121
+ /**
122
+ * Prepares a value for database operations, handling Date objects and JSON serialization
123
+ */
124
+ private prepareValue;
125
+ /**
126
+ * Maps TABLE_SCHEMAS types to mssql param types (used when value is null)
127
+ */
128
+ private getMssqlType;
129
+ /**
130
+ * Update a single record in the database
131
+ */
132
+ update({ tableName, keys, data, transaction, }: {
133
+ tableName: TABLE_NAMES;
134
+ keys: Record<string, any>;
135
+ data: Record<string, any>;
136
+ transaction?: sql.Transaction;
137
+ }): Promise<void>;
138
+ /**
139
+ * Update multiple records in a single batch transaction
140
+ */
141
+ batchUpdate({ tableName, updates, }: {
142
+ tableName: TABLE_NAMES;
143
+ updates: Array<{
144
+ keys: Record<string, any>;
145
+ data: Record<string, any>;
146
+ }>;
147
+ }): Promise<void>;
148
+ /**
149
+ * Delete multiple records by keys
150
+ */
151
+ batchDelete({ tableName, keys }: {
152
+ tableName: TABLE_NAMES;
153
+ keys: Record<string, any>[];
154
+ }): Promise<void>;
155
+ /**
156
+ * Create a new index on a table
157
+ */
158
+ createIndex(options: CreateIndexOptions): Promise<void>;
159
+ /**
160
+ * Drop an existing index
161
+ */
162
+ dropIndex(indexName: string): Promise<void>;
163
+ /**
164
+ * List indexes for a specific table or all tables
165
+ */
166
+ listIndexes(tableName?: string): Promise<IndexInfo[]>;
167
+ /**
168
+ * Get detailed statistics for a specific index
169
+ */
170
+ describeIndex(indexName: string): Promise<StorageIndexStats>;
171
+ }
172
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAIxB,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wDAAwD;IACxD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wDAAwD;IACxD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAC7D,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB,CA8BA;AAED,qBAAa,OAAQ,SAAQ,UAAU;IAC9B,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,mBAAmB,CAAkC;IAE7D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAStC;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CASjC;IAEF,SAAS,CAAC,UAAU,CAClB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,YAAY,UAAQ,EACpB,eAAe,UAAQ,EACvB,eAAe,UAAQ,GACtB,MAAM;gBAwCG,EACV,IAAI,EACJ,UAAU,EACV,kBAAkB,GACnB,EAAE;QACD,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAOK,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAalD,WAAW;IA2CnB,MAAM,CAAC,EACX,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCX,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1E,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;IAaxD,WAAW,CAAC,EAChB,SAAS,EACT,MAAM,GACP,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkHjB;;;OAGG;YACW,iBAAiB;IA+B/B;;;;;OAKG;IACG,UAAU,CAAC,EACf,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CX,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA0CtG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9G,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE;;OAEG;IACH,OAAO,CAAC,YAAY;IA4CpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACG,MAAM,CAAC,EACX,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EjB;;OAEG;IACG,WAAW,CAAC,EAChB,SAAS,EACT,OAAO,GACR,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC3B,CAAC,CAAC;KACJ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;OAEG;IACG,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD9G;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqE7D;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DjD;;OAEG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2F3D;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA+EnE"}
@@ -0,0 +1,21 @@
1
+ import type { StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
2
+ export declare function getSchemaName(schema?: string): string | undefined;
3
+ export declare function getTableName({ indexName, schemaName }: {
4
+ indexName: string;
5
+ schemaName?: string;
6
+ }): string;
7
+ /**
8
+ * Prepare WHERE clause for MSSQL queries with @param substitution
9
+ */
10
+ export declare function prepareWhereClause(filters: Record<string, any>, _schema?: Record<string, StorageColumn>): {
11
+ sql: string;
12
+ params: Record<string, any>;
13
+ };
14
+ /**
15
+ * Transform SQL row to record format, handling JSON columns
16
+ */
17
+ export declare function transformFromSqlRow<T>({ tableName, sqlRow, }: {
18
+ tableName: TABLE_NAMES;
19
+ sqlRow: Record<string, any>;
20
+ }): T;
21
+ //# 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,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIvE,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,sBAE5C;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UAKjG;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACtC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAsE9C;AAED;;GAEG;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,CA8BJ"}
@@ -1,36 +1,41 @@
1
1
  import type { MastraMessageContentV2 } from '@mastra/core/agent';
2
- import type { MastraMessageV1, MastraMessageV2, StorageThreadType } from '@mastra/core/memory';
2
+ import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
3
3
  import { MemoryStorage } from '@mastra/core/storage';
4
- import type { StorageGetMessagesArg, PaginationInfo, PaginationArgs, StorageResourceType, ThreadSortOptions } from '@mastra/core/storage';
5
- import sql from 'mssql';
6
- import type { StoreOperationsMSSQL } from '../operations/index.js';
4
+ import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput, CreateIndexOptions } from '@mastra/core/storage';
5
+ import type { MssqlDomainConfig } from '../../db/index.js';
7
6
  export declare class MemoryMSSQL extends MemoryStorage {
8
7
  private pool;
9
- private schema;
10
- private operations;
8
+ private schema?;
9
+ private db;
10
+ private needsConnect;
11
+ private skipDefaultIndexes?;
12
+ private indexes?;
13
+ /** Tables managed by this domain */
14
+ static readonly MANAGED_TABLES: readonly ["mastra_threads", "mastra_messages", "mastra_resources"];
11
15
  private _parseAndFormatMessages;
12
- constructor({ pool, schema, operations, }: {
13
- pool: sql.ConnectionPool;
14
- schema: string;
15
- operations: StoreOperationsMSSQL;
16
- });
16
+ constructor(config: MssqlDomainConfig);
17
+ init(): Promise<void>;
18
+ /**
19
+ * Returns default index definitions for the memory domain tables.
20
+ * IMPORTANT: Uses seq_id DESC instead of createdAt DESC for MSSQL due to millisecond accuracy limitations
21
+ */
22
+ getDefaultIndexDefinitions(): CreateIndexOptions[];
23
+ /**
24
+ * Creates default indexes for optimal query performance.
25
+ */
26
+ createDefaultIndexes(): Promise<void>;
27
+ /**
28
+ * Creates custom user-defined indexes for this domain's tables.
29
+ */
30
+ createCustomIndexes(): Promise<void>;
31
+ dangerouslyClearAll(): Promise<void>;
17
32
  getThreadById({ threadId }: {
18
33
  threadId: string;
19
34
  }): Promise<StorageThreadType | null>;
20
- getThreadsByResourceIdPaginated(args: {
21
- resourceId: string;
22
- } & PaginationArgs & ThreadSortOptions): Promise<PaginationInfo & {
23
- threads: StorageThreadType[];
24
- }>;
35
+ listThreadsByResourceId(args: StorageListThreadsByResourceIdInput): Promise<StorageListThreadsByResourceIdOutput>;
25
36
  saveThread({ thread }: {
26
37
  thread: StorageThreadType;
27
38
  }): Promise<StorageThreadType>;
28
- /**
29
- * @deprecated use getThreadsByResourceIdPaginated instead
30
- */
31
- getThreadsByResourceId(args: {
32
- resourceId: string;
33
- } & ThreadSortOptions): Promise<StorageThreadType[]>;
34
39
  /**
35
40
  * Updates a thread's title and metadata, merging with existing metadata. Returns the updated thread.
36
41
  */
@@ -43,45 +48,26 @@ export declare class MemoryMSSQL extends MemoryStorage {
43
48
  threadId: string;
44
49
  }): Promise<void>;
45
50
  private _getIncludedMessages;
46
- /**
47
- * @deprecated use getMessagesPaginated instead
48
- */
49
- getMessages(args: StorageGetMessagesArg & {
50
- format?: 'v1';
51
- }): Promise<MastraMessageV1[]>;
52
- getMessages(args: StorageGetMessagesArg & {
53
- format: 'v2';
54
- }): Promise<MastraMessageV2[]>;
55
- getMessagesById({ messageIds, format, }: {
56
- messageIds: string[];
57
- format: 'v1';
58
- }): Promise<MastraMessageV1[]>;
59
- getMessagesById({ messageIds, format, }: {
51
+ listMessagesById({ messageIds }: {
60
52
  messageIds: string[];
61
- format?: 'v2';
62
- }): Promise<MastraMessageV2[]>;
63
- getMessagesPaginated(args: StorageGetMessagesArg & {
64
- format?: 'v1' | 'v2';
65
- }): Promise<PaginationInfo & {
66
- messages: MastraMessageV1[] | MastraMessageV2[];
53
+ }): Promise<{
54
+ messages: MastraDBMessage[];
55
+ }>;
56
+ listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
57
+ saveMessages({ messages }: {
58
+ messages: MastraDBMessage[];
59
+ }): Promise<{
60
+ messages: MastraDBMessage[];
67
61
  }>;
68
- saveMessages(args: {
69
- messages: MastraMessageV1[];
70
- format?: undefined | 'v1';
71
- }): Promise<MastraMessageV1[]>;
72
- saveMessages(args: {
73
- messages: MastraMessageV2[];
74
- format: 'v2';
75
- }): Promise<MastraMessageV2[]>;
76
62
  updateMessages({ messages, }: {
77
- messages: (Partial<Omit<MastraMessageV2, 'createdAt'>> & {
63
+ messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
78
64
  id: string;
79
65
  content?: {
80
66
  metadata?: MastraMessageContentV2['metadata'];
81
67
  content?: MastraMessageContentV2['content'];
82
68
  };
83
69
  })[];
84
- }): Promise<MastraMessageV2[]>;
70
+ }): Promise<MastraDBMessage[]>;
85
71
  deleteMessages(messageIds: string[]): Promise<void>;
86
72
  getResourceById({ resourceId }: {
87
73
  resourceId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { ObservabilityStorage } from '@mastra/core/storage';
2
+ import type { SpanRecord, PaginationInfo, ListTracesArgs, TracingStorageStrategy, BatchUpdateSpansArgs, BatchDeleteTracesArgs, BatchCreateSpansArgs, UpdateSpanArgs, GetTraceArgs, GetTraceResponse, GetSpanArgs, GetSpanResponse, GetRootSpanArgs, GetRootSpanResponse, CreateSpanArgs, CreateIndexOptions } from '@mastra/core/storage';
3
+ import type { ConnectionPool } from 'mssql';
4
+ import type { MssqlDomainConfig } from '../../db/index.js';
5
+ export declare class ObservabilityMSSQL extends ObservabilityStorage {
6
+ pool: ConnectionPool;
7
+ private db;
8
+ private schema?;
9
+ private needsConnect;
10
+ private skipDefaultIndexes?;
11
+ private indexes?;
12
+ /** Tables managed by this domain */
13
+ static readonly MANAGED_TABLES: readonly ["mastra_ai_spans"];
14
+ constructor(config: MssqlDomainConfig);
15
+ init(): Promise<void>;
16
+ /**
17
+ * Returns default index definitions for the observability domain tables.
18
+ */
19
+ getDefaultIndexDefinitions(): CreateIndexOptions[];
20
+ /**
21
+ * Creates default indexes for optimal query performance.
22
+ */
23
+ createDefaultIndexes(): Promise<void>;
24
+ /**
25
+ * Creates custom user-defined indexes for this domain's tables.
26
+ */
27
+ createCustomIndexes(): Promise<void>;
28
+ dangerouslyClearAll(): Promise<void>;
29
+ get tracingStrategy(): {
30
+ preferred: TracingStorageStrategy;
31
+ supported: TracingStorageStrategy[];
32
+ };
33
+ createSpan(args: CreateSpanArgs): Promise<void>;
34
+ getTrace(args: GetTraceArgs): Promise<GetTraceResponse | null>;
35
+ getSpan(args: GetSpanArgs): Promise<GetSpanResponse | null>;
36
+ getRootSpan(args: GetRootSpanArgs): Promise<GetRootSpanResponse | null>;
37
+ updateSpan(args: UpdateSpanArgs): Promise<void>;
38
+ listTraces(args: ListTracesArgs): Promise<{
39
+ pagination: PaginationInfo;
40
+ spans: SpanRecord[];
41
+ }>;
42
+ batchCreateSpans(args: BatchCreateSpansArgs): Promise<void>;
43
+ batchUpdateSpans(args: BatchUpdateSpansArgs): Promise<void>;
44
+ batchDeleteTraces(args: BatchDeleteTracesArgs): Promise<void>;
45
+ }
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,oBAAoB,EAIrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,qBAAa,kBAAmB,SAAQ,oBAAoB;IACnD,IAAI,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,OAAO,CAAC,CAAuB;IAEvC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,+BAA0B;gBAE5C,MAAM,EAAE,iBAAiB;IAY/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAoDlD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,IAAoB,eAAe,IAAI;QACrC,SAAS,EAAE,sBAAsB,CAAC;QAClC,SAAS,EAAE,sBAAsB,EAAE,CAAC;KACrC,CAKA;IAEK,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/C,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAsD9D,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAiD3D,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAgDvE,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAiR9F,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC3D,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C3D,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA0BpE"}
@@ -1,46 +1,59 @@
1
- import type { ScoreRowData } from '@mastra/core/scores';
2
- import type { PaginationInfo, StoragePagination } from '@mastra/core/storage';
1
+ import type { ListScoresResponse, SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
2
+ import type { StoragePagination, CreateIndexOptions } from '@mastra/core/storage';
3
3
  import { ScoresStorage } from '@mastra/core/storage';
4
4
  import type { ConnectionPool } from 'mssql';
5
- import type { StoreOperationsMSSQL } from '../operations/index.js';
5
+ import type { MssqlDomainConfig } from '../../db/index.js';
6
6
  export declare class ScoresMSSQL extends ScoresStorage {
7
7
  pool: ConnectionPool;
8
- private operations;
8
+ private db;
9
9
  private schema?;
10
- constructor({ pool, operations, schema, }: {
11
- pool: ConnectionPool;
12
- operations: StoreOperationsMSSQL;
13
- schema?: string;
14
- });
10
+ private needsConnect;
11
+ private skipDefaultIndexes?;
12
+ private indexes?;
13
+ /** Tables managed by this domain */
14
+ static readonly MANAGED_TABLES: readonly ["mastra_scorers"];
15
+ constructor(config: MssqlDomainConfig);
16
+ init(): Promise<void>;
17
+ /**
18
+ * Returns default index definitions for the scores domain tables.
19
+ * IMPORTANT: Uses seq_id DESC instead of createdAt DESC for MSSQL due to millisecond accuracy limitations
20
+ */
21
+ getDefaultIndexDefinitions(): CreateIndexOptions[];
22
+ /**
23
+ * Creates default indexes for optimal query performance.
24
+ */
25
+ createDefaultIndexes(): Promise<void>;
26
+ /**
27
+ * Creates custom user-defined indexes for this domain's tables.
28
+ */
29
+ createCustomIndexes(): Promise<void>;
30
+ dangerouslyClearAll(): Promise<void>;
15
31
  getScoreById({ id }: {
16
32
  id: string;
17
33
  }): Promise<ScoreRowData | null>;
18
- saveScore(score: Omit<ScoreRowData, 'id' | 'createdAt' | 'updatedAt'>): Promise<{
34
+ saveScore(score: SaveScorePayload): Promise<{
19
35
  score: ScoreRowData;
20
36
  }>;
21
- getScoresByScorerId({ scorerId, pagination, }: {
37
+ listScoresByScorerId({ scorerId, pagination, entityId, entityType, source, }: {
22
38
  scorerId: string;
23
39
  pagination: StoragePagination;
24
40
  entityId?: string;
25
41
  entityType?: string;
26
- }): Promise<{
27
- pagination: PaginationInfo;
28
- scores: ScoreRowData[];
29
- }>;
30
- getScoresByRunId({ runId, pagination, }: {
42
+ source?: ScoringSource;
43
+ }): Promise<ListScoresResponse>;
44
+ listScoresByRunId({ runId, pagination, }: {
31
45
  runId: string;
32
46
  pagination: StoragePagination;
33
- }): Promise<{
34
- pagination: PaginationInfo;
35
- scores: ScoreRowData[];
36
- }>;
37
- getScoresByEntityId({ entityId, entityType, pagination, }: {
47
+ }): Promise<ListScoresResponse>;
48
+ listScoresByEntityId({ entityId, entityType, pagination, }: {
38
49
  pagination: StoragePagination;
39
50
  entityId: string;
40
51
  entityType: string;
41
- }): Promise<{
42
- pagination: PaginationInfo;
43
- scores: ScoreRowData[];
44
- }>;
52
+ }): Promise<ListScoresResponse>;
53
+ listScoresBySpan({ traceId, spanId, pagination, }: {
54
+ traceId: string;
55
+ spanId: string;
56
+ pagination: StoragePagination;
57
+ }): Promise<ListScoresResponse>;
45
58
  }
46
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAiB,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AA4B1D,qBAAa,WAAY,SAAQ,aAAa;IACrC,IAAI,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,EACV,IAAI,EACJ,UAAU,EACV,MAAM,GACP,EAAE;QACD,IAAI,EAAE,cAAc,CAAC;QACrB,UAAU,EAAE,oBAAoB,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAOK,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0BlE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAmDxG,mBAAmB,CAAC,EACxB,QAAQ,EACR,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAsD7D,gBAAgB,CAAC,EACrB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAsD7D,mBAAmB,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;CAuDpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAEL,aAAa,EAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAalD,qBAAa,WAAY,SAAQ,aAAa;IACrC,IAAI,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,OAAO,CAAC,CAAuB;IAEvC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,8BAA4B;gBAE9C,MAAM,EAAE,iBAAiB;IAY/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;OAGG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAWlD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0BlE,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAwEpE,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,GACP,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwFzB,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4DzB,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6DzB,gBAAgB,CAAC,EACrB,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA6DhC"}
@@ -1,6 +1,25 @@
1
+ import type { StorageColumn, TABLE_NAMES, DateRange } from '@mastra/core/storage';
1
2
  export declare function getSchemaName(schema?: string): string | undefined;
2
3
  export declare function getTableName({ indexName, schemaName }: {
3
4
  indexName: string;
4
5
  schemaName?: string;
5
6
  }): string;
7
+ /**
8
+ * Build date range filter for queries
9
+ */
10
+ export declare function buildDateRangeFilter(dateRange: DateRange | undefined, fieldName: string): Record<string, any>;
11
+ /**
12
+ * Prepare WHERE clause for MSSQL queries with @param substitution
13
+ */
14
+ export declare function prepareWhereClause(filters: Record<string, any>, _schema?: Record<string, StorageColumn>): {
15
+ sql: string;
16
+ params: Record<string, any>;
17
+ };
18
+ /**
19
+ * Transform SQL row to record format, handling JSON columns
20
+ */
21
+ export declare function transformFromSqlRow<T>({ tableName, sqlRow, }: {
22
+ tableName: TABLE_NAMES;
23
+ sqlRow: Record<string, any>;
24
+ }): T;
6
25
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,sBAE5C;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UAKjG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIlF,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,sBAE5C;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UAKjG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAa7G;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACtC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAgF9C;AAED;;GAEG;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,CA8BJ"}
@@ -1,37 +1,51 @@
1
- import type { StepResult, WorkflowRun, WorkflowRuns, WorkflowRunState } from '@mastra/core';
2
1
  import { WorkflowsStorage } from '@mastra/core/storage';
2
+ import type { StorageListWorkflowRunsInput, WorkflowRun, WorkflowRuns, UpdateWorkflowStateOptions, CreateIndexOptions } from '@mastra/core/storage';
3
+ import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
3
4
  import sql from 'mssql';
4
- import type { StoreOperationsMSSQL } from '../operations/index.js';
5
+ import type { MssqlDomainConfig } from '../../db/index.js';
5
6
  export declare class WorkflowsMSSQL extends WorkflowsStorage {
6
7
  pool: sql.ConnectionPool;
7
- private operations;
8
- private schema;
9
- constructor({ pool, operations, schema, }: {
10
- pool: sql.ConnectionPool;
11
- operations: StoreOperationsMSSQL;
12
- schema: string;
13
- });
14
- updateWorkflowResults({}: {
8
+ private db;
9
+ private schema?;
10
+ private needsConnect;
11
+ private skipDefaultIndexes?;
12
+ private indexes?;
13
+ /** Tables managed by this domain */
14
+ static readonly MANAGED_TABLES: readonly ["mastra_workflow_snapshot"];
15
+ constructor(config: MssqlDomainConfig);
16
+ /**
17
+ * Returns default index definitions for the workflows domain tables.
18
+ * Currently no default indexes are defined for workflows.
19
+ */
20
+ getDefaultIndexDefinitions(): CreateIndexOptions[];
21
+ /**
22
+ * Creates default indexes for optimal query performance.
23
+ * Currently no default indexes are defined for workflows.
24
+ */
25
+ createDefaultIndexes(): Promise<void>;
26
+ init(): Promise<void>;
27
+ /**
28
+ * Creates custom user-defined indexes for this domain's tables.
29
+ */
30
+ createCustomIndexes(): Promise<void>;
31
+ dangerouslyClearAll(): Promise<void>;
32
+ private parseWorkflowRun;
33
+ updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
15
34
  workflowName: string;
16
35
  runId: string;
17
36
  stepId: string;
18
37
  result: StepResult<any, any, any, any>;
19
- runtimeContext: Record<string, any>;
38
+ requestContext: Record<string, any>;
20
39
  }): Promise<Record<string, StepResult<any, any, any, any>>>;
21
- updateWorkflowState({}: {
40
+ updateWorkflowState({ workflowName, runId, opts, }: {
22
41
  workflowName: string;
23
42
  runId: string;
24
- opts: {
25
- status: string;
26
- result?: StepResult<any, any, any, any>;
27
- error?: string;
28
- suspendedPaths?: Record<string, number[]>;
29
- waitingPaths?: Record<string, number[]>;
30
- };
43
+ opts: UpdateWorkflowStateOptions;
31
44
  }): Promise<WorkflowRunState | undefined>;
32
- persistWorkflowSnapshot({ workflowName, runId, snapshot, }: {
45
+ persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
33
46
  workflowName: string;
34
47
  runId: string;
48
+ resourceId?: string;
35
49
  snapshot: WorkflowRunState;
36
50
  }): Promise<void>;
37
51
  loadWorkflowSnapshot({ workflowName, runId, }: {
@@ -42,13 +56,10 @@ export declare class WorkflowsMSSQL extends WorkflowsStorage {
42
56
  runId: string;
43
57
  workflowName?: string;
44
58
  }): Promise<WorkflowRun | null>;
45
- getWorkflowRuns({ workflowName, fromDate, toDate, limit, offset, resourceId, }?: {
46
- workflowName?: string;
47
- fromDate?: Date;
48
- toDate?: Date;
49
- limit?: number;
50
- offset?: number;
51
- resourceId?: string;
52
- }): Promise<WorkflowRuns>;
59
+ deleteWorkflowRunById({ runId, workflowName }: {
60
+ runId: string;
61
+ workflowName: string;
62
+ }): Promise<void>;
63
+ listWorkflowRuns({ workflowName, fromDate, toDate, page, perPage, resourceId, status, }?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
53
64
  }
54
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAA2B,MAAM,sBAAsB,CAAC;AACjF,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAsB1D,qBAAa,cAAe,SAAQ,gBAAgB;IAC3C,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,MAAM,CAAS;gBAEX,EACV,IAAI,EACJ,UAAU,EACV,MAAM,GACP,EAAE;QACD,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;QACzB,UAAU,EAAE,oBAAoB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC;KAChB;IAOD,qBAAqB,CACnB,EAMC,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACrC,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAG1D,mBAAmB,CACjB,EAIC,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SACzC,CAAC;KACH,GACA,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIlC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCX,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;IA6B9B,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;IA2CzB,eAAe,CAAC,EACpB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,GACX,GAAE;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,YAAY,CAAC;CAuE/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"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"}