@mastra/mssql 0.0.0-zod-v4-compat-part-2-20250820135355 → 0.0.0-zod-v4-stuff-20250825154219
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -3
- package/dist/index.cjs +1617 -1104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1617 -1104
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/legacy-evals/index.d.ts +20 -0
- package/dist/storage/domains/legacy-evals/index.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +98 -0
- package/dist/storage/domains/memory/index.d.ts.map +1 -0
- package/dist/storage/domains/operations/index.d.ts +51 -0
- package/dist/storage/domains/operations/index.d.ts.map +1 -0
- package/dist/storage/domains/scores/index.d.ts +46 -0
- package/dist/storage/domains/scores/index.d.ts.map +1 -0
- package/dist/storage/domains/traces/index.d.ts +37 -0
- package/dist/storage/domains/traces/index.d.ts.map +1 -0
- package/dist/storage/domains/utils.d.ts +6 -0
- package/dist/storage/domains/utils.d.ts.map +1 -0
- package/dist/storage/domains/workflows/index.d.ts +36 -0
- package/dist/storage/domains/workflows/index.d.ts.map +1 -0
- package/dist/storage/index.d.ts +78 -82
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/storage/domains/legacy-evals/index.ts +175 -0
- package/src/storage/domains/memory/index.ts +1084 -0
- package/src/storage/domains/operations/index.ts +401 -0
- package/src/storage/domains/scores/index.ts +316 -0
- package/src/storage/domains/traces/index.ts +212 -0
- package/src/storage/domains/utils.ts +12 -0
- package/src/storage/domains/workflows/index.ts +259 -0
- package/src/storage/index.ts +158 -1834
- package/tsup.config.ts +2 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/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": "0.0.0-zod-v4-
|
|
3
|
+
"version": "0.0.0-zod-v4-stuff-20250825154219",
|
|
4
4
|
"description": "MSSQL provider for Mastra - db storage capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"default": "./dist/index.js"
|
|
13
13
|
},
|
|
14
14
|
"require": {
|
|
15
|
-
"types": "./dist/index.d.
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
16
|
"default": "./dist/index.cjs"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
@@ -30,12 +30,13 @@
|
|
|
30
30
|
"tsup": "^8.5.0",
|
|
31
31
|
"typescript": "^5.8.3",
|
|
32
32
|
"vitest": "^3.2.4",
|
|
33
|
-
"@internal/
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
33
|
+
"@internal/lint": "0.0.0-zod-v4-stuff-20250825154219",
|
|
34
|
+
"@mastra/core": "0.0.0-zod-v4-stuff-20250825154219",
|
|
35
|
+
"@internal/types-builder": "0.0.0-zod-v4-stuff-20250825154219",
|
|
36
|
+
"@internal/storage-test-utils": "0.0.27"
|
|
36
37
|
},
|
|
37
38
|
"peerDependencies": {
|
|
38
|
-
"@mastra/core": "0.0.0-zod-v4-
|
|
39
|
+
"@mastra/core": "0.0.0-zod-v4-stuff-20250825154219"
|
|
39
40
|
},
|
|
40
41
|
"scripts": {
|
|
41
42
|
"build": "tsup --silent --config tsup.config.ts",
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';
|
|
2
|
+
import type { MetricResult } from '@mastra/core/eval';
|
|
3
|
+
import { LegacyEvalsStorage, TABLE_EVALS } from '@mastra/core/storage';
|
|
4
|
+
import type { PaginationArgs, PaginationInfo, EvalRow } from '@mastra/core/storage';
|
|
5
|
+
import sql from 'mssql';
|
|
6
|
+
import { getSchemaName, getTableName } from '../utils';
|
|
7
|
+
|
|
8
|
+
function transformEvalRow(row: Record<string, any>): EvalRow {
|
|
9
|
+
let testInfoValue = null,
|
|
10
|
+
resultValue = null;
|
|
11
|
+
if (row.test_info) {
|
|
12
|
+
try {
|
|
13
|
+
testInfoValue = typeof row.test_info === 'string' ? JSON.parse(row.test_info) : row.test_info;
|
|
14
|
+
} catch {}
|
|
15
|
+
}
|
|
16
|
+
if (row.test_info) {
|
|
17
|
+
try {
|
|
18
|
+
resultValue = typeof row.result === 'string' ? JSON.parse(row.result) : row.result;
|
|
19
|
+
} catch {}
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
agentName: row.agent_name as string,
|
|
23
|
+
input: row.input as string,
|
|
24
|
+
output: row.output as string,
|
|
25
|
+
result: resultValue as MetricResult,
|
|
26
|
+
metricName: row.metric_name as string,
|
|
27
|
+
instructions: row.instructions as string,
|
|
28
|
+
testInfo: testInfoValue,
|
|
29
|
+
globalRunId: row.global_run_id as string,
|
|
30
|
+
runId: row.run_id as string,
|
|
31
|
+
createdAt: row.created_at as string,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class LegacyEvalsMSSQL extends LegacyEvalsStorage {
|
|
36
|
+
private pool: sql.ConnectionPool;
|
|
37
|
+
private schema: string;
|
|
38
|
+
constructor({ pool, schema }: { pool: sql.ConnectionPool; schema: string }) {
|
|
39
|
+
super();
|
|
40
|
+
this.pool = pool;
|
|
41
|
+
this.schema = schema;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** @deprecated use getEvals instead */
|
|
45
|
+
async getEvalsByAgentName(agentName: string, type?: 'test' | 'live'): Promise<EvalRow[]> {
|
|
46
|
+
try {
|
|
47
|
+
let query = `SELECT * FROM ${getTableName({ indexName: TABLE_EVALS, schemaName: getSchemaName(this.schema) })} WHERE agent_name = @p1`;
|
|
48
|
+
if (type === 'test') {
|
|
49
|
+
query += " AND test_info IS NOT NULL AND JSON_VALUE(test_info, '$.testPath') IS NOT NULL";
|
|
50
|
+
} else if (type === 'live') {
|
|
51
|
+
query += " AND (test_info IS NULL OR JSON_VALUE(test_info, '$.testPath') IS NULL)";
|
|
52
|
+
}
|
|
53
|
+
query += ' ORDER BY created_at DESC';
|
|
54
|
+
|
|
55
|
+
const request = this.pool.request();
|
|
56
|
+
request.input('p1', agentName);
|
|
57
|
+
const result = await request.query(query);
|
|
58
|
+
const rows = result.recordset;
|
|
59
|
+
return typeof transformEvalRow === 'function'
|
|
60
|
+
? (rows?.map((row: any) => transformEvalRow(row)) ?? [])
|
|
61
|
+
: (rows ?? []);
|
|
62
|
+
} catch (error: any) {
|
|
63
|
+
if (error && error.number === 208 && error.message && error.message.includes('Invalid object name')) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
console.error('Failed to get evals for the specified agent: ' + error?.message);
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async getEvals(
|
|
72
|
+
options: {
|
|
73
|
+
agentName?: string;
|
|
74
|
+
type?: 'test' | 'live';
|
|
75
|
+
} & PaginationArgs = {},
|
|
76
|
+
): Promise<PaginationInfo & { evals: EvalRow[] }> {
|
|
77
|
+
const { agentName, type, page = 0, perPage = 100, dateRange } = options;
|
|
78
|
+
const fromDate = dateRange?.start;
|
|
79
|
+
const toDate = dateRange?.end;
|
|
80
|
+
|
|
81
|
+
const where: string[] = [];
|
|
82
|
+
const params: Record<string, any> = {};
|
|
83
|
+
|
|
84
|
+
if (agentName) {
|
|
85
|
+
where.push('agent_name = @agentName');
|
|
86
|
+
params['agentName'] = agentName;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (type === 'test') {
|
|
90
|
+
where.push("test_info IS NOT NULL AND JSON_VALUE(test_info, '$.testPath') IS NOT NULL");
|
|
91
|
+
} else if (type === 'live') {
|
|
92
|
+
where.push("(test_info IS NULL OR JSON_VALUE(test_info, '$.testPath') IS NULL)");
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (fromDate instanceof Date && !isNaN(fromDate.getTime())) {
|
|
96
|
+
where.push(`[created_at] >= @fromDate`);
|
|
97
|
+
params[`fromDate`] = fromDate.toISOString();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (toDate instanceof Date && !isNaN(toDate.getTime())) {
|
|
101
|
+
where.push(`[created_at] <= @toDate`);
|
|
102
|
+
params[`toDate`] = toDate.toISOString();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const whereClause = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
|
|
106
|
+
const tableName = getTableName({ indexName: TABLE_EVALS, schemaName: getSchemaName(this.schema) });
|
|
107
|
+
const offset = page * perPage;
|
|
108
|
+
|
|
109
|
+
const countQuery = `SELECT COUNT(*) as total FROM ${tableName} ${whereClause}`;
|
|
110
|
+
const dataQuery = `SELECT * FROM ${tableName} ${whereClause} ORDER BY seq_id DESC OFFSET @offset ROWS FETCH NEXT @perPage ROWS ONLY`;
|
|
111
|
+
|
|
112
|
+
try {
|
|
113
|
+
const countReq = this.pool.request();
|
|
114
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
115
|
+
if (value instanceof Date) {
|
|
116
|
+
countReq.input(key, sql.DateTime, value);
|
|
117
|
+
} else {
|
|
118
|
+
countReq.input(key, value);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const countResult = await countReq.query(countQuery);
|
|
122
|
+
const total = countResult.recordset[0]?.total || 0;
|
|
123
|
+
|
|
124
|
+
if (total === 0) {
|
|
125
|
+
return {
|
|
126
|
+
evals: [],
|
|
127
|
+
total: 0,
|
|
128
|
+
page,
|
|
129
|
+
perPage,
|
|
130
|
+
hasMore: false,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const req = this.pool.request();
|
|
135
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
136
|
+
if (value instanceof Date) {
|
|
137
|
+
req.input(key, sql.DateTime, value);
|
|
138
|
+
} else {
|
|
139
|
+
req.input(key, value);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
req.input('offset', offset);
|
|
143
|
+
req.input('perPage', perPage);
|
|
144
|
+
|
|
145
|
+
const result = await req.query(dataQuery);
|
|
146
|
+
const rows = result.recordset;
|
|
147
|
+
|
|
148
|
+
return {
|
|
149
|
+
evals: rows?.map(row => transformEvalRow(row)) ?? [],
|
|
150
|
+
total,
|
|
151
|
+
page,
|
|
152
|
+
perPage,
|
|
153
|
+
hasMore: offset + (rows?.length ?? 0) < total,
|
|
154
|
+
};
|
|
155
|
+
} catch (error) {
|
|
156
|
+
const mastraError = new MastraError(
|
|
157
|
+
{
|
|
158
|
+
id: 'MASTRA_STORAGE_MSSQL_STORE_GET_EVALS_FAILED',
|
|
159
|
+
domain: ErrorDomain.STORAGE,
|
|
160
|
+
category: ErrorCategory.THIRD_PARTY,
|
|
161
|
+
details: {
|
|
162
|
+
agentName: agentName || 'all',
|
|
163
|
+
type: type || 'all',
|
|
164
|
+
page,
|
|
165
|
+
perPage,
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
error,
|
|
169
|
+
);
|
|
170
|
+
this.logger?.error?.(mastraError.toString());
|
|
171
|
+
this.logger?.trackException(mastraError);
|
|
172
|
+
throw mastraError;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|