@mastra/mssql 0.5.1 → 1.0.0-beta.1
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 +228 -44
- package/README.md +28 -20
- package/dist/index.cjs +359 -681
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +358 -680
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +14 -43
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/observability/index.d.ts +16 -16
- package/dist/storage/domains/observability/index.d.ts.map +1 -1
- package/dist/storage/domains/operations/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +5 -5
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +5 -11
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +37 -95
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +8 -12
- package/dist/storage/domains/legacy-evals/index.d.ts +0 -20
- package/dist/storage/domains/legacy-evals/index.d.ts.map +0 -1
- package/dist/storage/domains/traces/index.d.ts +0 -37
- package/dist/storage/domains/traces/index.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,58 +1,251 @@
|
|
|
1
1
|
# @mastra/mssql
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 1.0.0-beta.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Fixes MSSQL store test configuration and pagination issues: ([#9905](https://github.com/mastra-ai/mastra/pull/9905))
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Adds missing id parameter to test configuration and updates documentation
|
|
10
|
+
Implements page validation to handle negative page numbers
|
|
11
|
+
Fixes sorting and pagination bugs in message listing (improves ORDER BY with seq_id secondary sort and corrects hasMore calculation)
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
- Prevents double stringification for MSSQL jsonb columns by reusing incoming strings that already contain valid JSON while still stringifying other inputs as needed. ([#9901](https://github.com/mastra-ai/mastra/pull/9901))
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
- Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
|
|
16
|
+
- @mastra/core@1.0.0-beta.2
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
## 1.0.0-beta.0
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
- @mastra/core@0.24.0-alpha.0
|
|
20
|
+
### Major Changes
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
- Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
- Update handlers to use `listWorkflowRuns` instead of `getWorkflowRuns`. Fix type names from `StoragelistThreadsByResourceIdInput/Output` to `StorageListThreadsByResourceIdInput/Output`. ([#9507](https://github.com/mastra-ai/mastra/pull/9507))
|
|
24
25
|
|
|
25
|
-
-
|
|
26
|
-
- Added createAISpan, updateAISpan, getAITrace, getAITracesPaginated
|
|
27
|
-
- Added batchCreateAISpans, batchUpdateAISpans, batchDeleteAITraces
|
|
28
|
-
- Automatic performance indexes for AI spans
|
|
26
|
+
- **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
- Added updateWorkflowResults with row-level locking (UPDLOCK, HOLDLOCK)
|
|
32
|
-
- Added updateWorkflowState with row-level locking
|
|
33
|
-
- Concurrent update protection for parallel workflow execution
|
|
28
|
+
Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
|
|
34
29
|
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
|
|
30
|
+
**Storage changes:**
|
|
31
|
+
- `StoragePagination.perPage` type changed from `number` to `number | false`
|
|
32
|
+
- All storage implementations support `perPage: false`:
|
|
33
|
+
- Memory: `listMessages()`
|
|
34
|
+
- Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
|
|
35
|
+
- HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- Index management examples and best practices
|
|
44
|
-
- Updated to reflect all atomic transaction usage
|
|
37
|
+
**Memory changes:**
|
|
38
|
+
- `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
|
|
39
|
+
- Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
|
|
45
40
|
|
|
46
|
-
|
|
41
|
+
**Stricter validation:**
|
|
42
|
+
- `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
|
|
43
|
+
|
|
44
|
+
**Migration:**
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// Storage/Memory: Replace getMessagesPaginated with listMessages
|
|
48
|
+
- storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
|
|
49
|
+
+ storage.listMessages({ threadId, page: 0, perPage: 20 })
|
|
50
|
+
+ storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
|
|
51
|
+
|
|
52
|
+
// Memory: Replace selectBy with flat parameters
|
|
53
|
+
- memory.query({ threadId, selectBy: { last: 20, include: [...] } })
|
|
54
|
+
+ memory.query({ threadId, perPage: 20, include: [...] })
|
|
55
|
+
|
|
56
|
+
// Client SDK
|
|
57
|
+
- thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
|
|
58
|
+
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
62
|
+
|
|
63
|
+
## Storage Layer
|
|
64
|
+
|
|
65
|
+
### BREAKING: Removed `storage.getMessages()`
|
|
66
|
+
|
|
67
|
+
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
68
|
+
|
|
69
|
+
**Migration:**
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
// Before
|
|
73
|
+
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
74
|
+
|
|
75
|
+
// After
|
|
76
|
+
const result = await storage.listMessages({
|
|
77
|
+
threadId: 'thread-1',
|
|
78
|
+
page: 0,
|
|
79
|
+
perPage: 50,
|
|
80
|
+
});
|
|
81
|
+
const messages = result.messages; // Access messages array
|
|
82
|
+
console.log(result.total); // Total count
|
|
83
|
+
console.log(result.hasMore); // Whether more pages exist
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Message ordering default
|
|
87
|
+
|
|
88
|
+
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
89
|
+
|
|
90
|
+
**To use DESC ordering (newest first):**
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
const result = await storage.listMessages({
|
|
94
|
+
threadId: 'thread-1',
|
|
95
|
+
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Client SDK
|
|
100
|
+
|
|
101
|
+
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
102
|
+
|
|
103
|
+
**Migration:**
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
// Before
|
|
107
|
+
const response = await client.getThreadMessages(threadId, { agentId });
|
|
47
108
|
|
|
48
|
-
|
|
49
|
-
|
|
109
|
+
// After
|
|
110
|
+
const response = await client.listThreadMessages(threadId, { agentId });
|
|
111
|
+
```
|
|
50
112
|
|
|
51
|
-
|
|
113
|
+
The response format remains the same.
|
|
114
|
+
|
|
115
|
+
## Type Changes
|
|
116
|
+
|
|
117
|
+
### BREAKING: Removed `StorageGetMessagesArg` type
|
|
118
|
+
|
|
119
|
+
Use `StorageListMessagesInput` instead:
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
// Before
|
|
123
|
+
import type { StorageGetMessagesArg } from '@mastra/core';
|
|
124
|
+
|
|
125
|
+
// After
|
|
126
|
+
import type { StorageListMessagesInput } from '@mastra/core';
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
130
|
+
|
|
131
|
+
- Add new list methods to storage API: `listMessages`, `listMessagesById`, `listThreadsByResourceId`, and `listWorkflowRuns`. Most methods are currently wrappers around existing methods. Full implementations will be added when migrating away from legacy methods. ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
|
|
132
|
+
|
|
133
|
+
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
134
|
+
|
|
135
|
+
- Implement listMessages API for replacing previous methods ([#9531](https://github.com/mastra-ai/mastra/pull/9531))
|
|
136
|
+
|
|
137
|
+
- Remove `getThreadsByResourceId` and `getThreadsByResourceIdPaginated` methods from storage interfaces in favor of `listThreadsByResourceId`. The new method uses `offset`/`limit` pagination and a nested `orderBy` object structure (`{ field, direction }`). ([#9536](https://github.com/mastra-ai/mastra/pull/9536))
|
|
138
|
+
|
|
139
|
+
- Remove `getMessagesById` method from storage interfaces in favor of `listMessagesById`. The new method only returns V2-format messages and removes the format parameter, simplifying the API surface. Users should migrate from `getMessagesById({ messageIds, format })` to `listMessagesById({ messageIds })`. ([#9534](https://github.com/mastra-ai/mastra/pull/9534))
|
|
140
|
+
|
|
141
|
+
- Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
|
|
142
|
+
|
|
143
|
+
- **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
|
|
144
|
+
|
|
145
|
+
All storage and memory pagination APIs have been updated to use `page` (0-indexed) and `perPage` instead of `offset` and `limit`, aligning with standard REST API patterns.
|
|
146
|
+
|
|
147
|
+
**Affected APIs:**
|
|
148
|
+
- `Memory.listThreadsByResourceId()`
|
|
149
|
+
- `Memory.listMessages()`
|
|
150
|
+
- `Storage.listWorkflowRuns()`
|
|
151
|
+
|
|
152
|
+
**Migration:**
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
// Before
|
|
156
|
+
await memory.listThreadsByResourceId({
|
|
157
|
+
resourceId: 'user-123',
|
|
158
|
+
offset: 20,
|
|
159
|
+
limit: 10,
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
// After
|
|
163
|
+
await memory.listThreadsByResourceId({
|
|
164
|
+
resourceId: 'user-123',
|
|
165
|
+
page: 2, // page = Math.floor(offset / limit)
|
|
166
|
+
perPage: 10,
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
// Before
|
|
170
|
+
await memory.listMessages({
|
|
171
|
+
threadId: 'thread-456',
|
|
172
|
+
offset: 20,
|
|
173
|
+
limit: 10,
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
// After
|
|
177
|
+
await memory.listMessages({
|
|
178
|
+
threadId: 'thread-456',
|
|
179
|
+
page: 2,
|
|
180
|
+
perPage: 10,
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Before
|
|
184
|
+
await storage.listWorkflowRuns({
|
|
185
|
+
workflowName: 'my-workflow',
|
|
186
|
+
offset: 20,
|
|
187
|
+
limit: 10,
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
// After
|
|
191
|
+
await storage.listWorkflowRuns({
|
|
192
|
+
workflowName: 'my-workflow',
|
|
193
|
+
page: 2,
|
|
194
|
+
perPage: 10,
|
|
195
|
+
});
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Additional improvements:**
|
|
199
|
+
- Added validation for negative `page` values in all storage implementations
|
|
200
|
+
- Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
|
|
201
|
+
- Added reusable query parser utilities for consistent validation in handlers
|
|
202
|
+
|
|
203
|
+
- ```([#9709](https://github.com/mastra-ai/mastra/pull/9709))
|
|
204
|
+
import { Mastra } from '@mastra/core';
|
|
205
|
+
import { Observability } from '@mastra/observability'; // Explicit import
|
|
206
|
+
|
|
207
|
+
const mastra = new Mastra({
|
|
208
|
+
...other_config,
|
|
209
|
+
observability: new Observability({
|
|
210
|
+
default: { enabled: true }
|
|
211
|
+
}) // Instance
|
|
212
|
+
});
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Instead of:
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
import { Mastra } from '@mastra/core';
|
|
219
|
+
import '@mastra/observability/init'; // Explicit import
|
|
220
|
+
|
|
221
|
+
const mastra = new Mastra({
|
|
222
|
+
...other_config,
|
|
223
|
+
observability: {
|
|
224
|
+
default: { enabled: true }
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Also renamed a bunch of:
|
|
230
|
+
- `Tracing` things to `Observability` things.
|
|
231
|
+
- `AI-` things to just things.
|
|
232
|
+
|
|
233
|
+
- Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
234
|
+
|
|
235
|
+
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
236
|
+
|
|
237
|
+
- Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
|
|
238
|
+
Made the return format of all methods that return db messages consistent. It's always `{ messages: MastraDBMessage[] }` now, and messages can be converted after that using `@mastra/ai-sdk/ui`'s `toAISdkV4/5Messages()` function
|
|
239
|
+
|
|
240
|
+
- moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
|
|
241
|
+
|
|
242
|
+
- Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
|
|
52
243
|
|
|
53
244
|
### Minor Changes
|
|
54
245
|
|
|
55
|
-
-
|
|
246
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
247
|
+
|
|
248
|
+
- Implemented tracing and observability features ([#9280](https://github.com/mastra-ai/mastra/pull/9280))
|
|
56
249
|
- Added createAISpan, updateAISpan, getAITrace, getAITracesPaginated
|
|
57
250
|
- Added batchCreateAISpans, batchUpdateAISpans, batchDeleteAITraces
|
|
58
251
|
- Automatic performance indexes for AI spans
|
|
@@ -75,17 +268,8 @@
|
|
|
75
268
|
|
|
76
269
|
### Patch Changes
|
|
77
270
|
|
|
78
|
-
- Updated dependencies [[`
|
|
79
|
-
- @mastra/core@0.
|
|
80
|
-
|
|
81
|
-
## 0.4.7
|
|
82
|
-
|
|
83
|
-
### Patch Changes
|
|
84
|
-
|
|
85
|
-
- Fix peerdependencies ([`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de))
|
|
86
|
-
|
|
87
|
-
- Updated dependencies []:
|
|
88
|
-
- @mastra/core@0.23.1
|
|
271
|
+
- Updated dependencies [[`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
272
|
+
- @mastra/core@1.0.0-beta.0
|
|
89
273
|
|
|
90
274
|
## 0.4.6
|
|
91
275
|
|
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ MSSQLStore supports multiple connection methods:
|
|
|
27
27
|
import { MSSQLStore } from '@mastra/mssql';
|
|
28
28
|
|
|
29
29
|
const store = new MSSQLStore({
|
|
30
|
+
id: 'mssql-storage',
|
|
30
31
|
connectionString:
|
|
31
32
|
'Server=localhost,1433;Database=mastra;User Id=sa;Password=yourPassword;Encrypt=true;TrustServerCertificate=true',
|
|
32
33
|
});
|
|
@@ -36,6 +37,7 @@ const store = new MSSQLStore({
|
|
|
36
37
|
|
|
37
38
|
```typescript
|
|
38
39
|
const store = new MSSQLStore({
|
|
40
|
+
id: 'mssql-storage',
|
|
39
41
|
server: 'localhost',
|
|
40
42
|
port: 1433,
|
|
41
43
|
database: 'mastra',
|
|
@@ -49,6 +51,7 @@ const store = new MSSQLStore({
|
|
|
49
51
|
|
|
50
52
|
```typescript
|
|
51
53
|
const store = new MSSQLStore({
|
|
54
|
+
id: 'mssql-storage',
|
|
52
55
|
connectionString:
|
|
53
56
|
'Server=localhost,1433;Database=mastra;User Id=sa;Password=yourPassword;Encrypt=true;TrustServerCertificate=true',
|
|
54
57
|
schemaName: 'custom_schema', // Use custom schema (default: dbo)
|
|
@@ -98,11 +101,15 @@ await store.saveMessages({
|
|
|
98
101
|
|
|
99
102
|
// Query threads and messages
|
|
100
103
|
const savedThread = await store.getThreadById({ threadId: 'thread-123' });
|
|
101
|
-
const messages = await store.
|
|
104
|
+
const messages = await store.listMessages({ threadId: 'thread-123' });
|
|
102
105
|
```
|
|
103
106
|
|
|
104
107
|
## Configuration
|
|
105
108
|
|
|
109
|
+
### Identifier
|
|
110
|
+
|
|
111
|
+
- `id`: Unique identifier for this store instance (required)
|
|
112
|
+
|
|
106
113
|
### Connection Methods
|
|
107
114
|
|
|
108
115
|
MSSQLStore supports multiple connection methods:
|
|
@@ -111,6 +118,7 @@ MSSQLStore supports multiple connection methods:
|
|
|
111
118
|
|
|
112
119
|
```typescript
|
|
113
120
|
{
|
|
121
|
+
id: 'mssql-storage',
|
|
114
122
|
connectionString: 'Server=localhost,1433;Database=mastra;User Id=sa;Password=yourPassword;Encrypt=true;TrustServerCertificate=true';
|
|
115
123
|
}
|
|
116
124
|
```
|
|
@@ -118,6 +126,7 @@ MSSQLStore supports multiple connection methods:
|
|
|
118
126
|
2. **Server/Port/Database**
|
|
119
127
|
```typescript
|
|
120
128
|
{
|
|
129
|
+
id: 'mssql-storage',
|
|
121
130
|
server: 'localhost',
|
|
122
131
|
port: 1433,
|
|
123
132
|
database: 'mastra',
|
|
@@ -161,7 +170,7 @@ MSSQLStore supports multiple connection methods:
|
|
|
161
170
|
- Rich metadata support
|
|
162
171
|
- Update working memory and metadata independently
|
|
163
172
|
|
|
164
|
-
- **
|
|
173
|
+
- **Tracing & Observability**
|
|
165
174
|
- Trace AI agent execution with spans
|
|
166
175
|
- Query traces with pagination and filtering
|
|
167
176
|
- Batch operations for high-volume tracing
|
|
@@ -209,14 +218,13 @@ MSSQLStore supports multiple connection methods:
|
|
|
209
218
|
- `getThreadById({ threadId })`: Get a thread by ID
|
|
210
219
|
- `updateThread({ id, title, metadata })`: Update thread title and metadata
|
|
211
220
|
- `deleteThread({ threadId })`: Delete a thread and its messages
|
|
212
|
-
- `
|
|
221
|
+
- `listThreadsByResourceId({ resourceId, offset, limit, orderBy? })`: List paginated threads for a resource
|
|
213
222
|
|
|
214
223
|
### Messages
|
|
215
224
|
|
|
216
|
-
- `saveMessages({ messages
|
|
217
|
-
- `
|
|
218
|
-
- `
|
|
219
|
-
- `getMessagesPaginated({ threadId, format?, page?, perPage? })`: Get paginated messages for a thread
|
|
225
|
+
- `saveMessages({ messages })`: Save multiple messages with atomic transaction
|
|
226
|
+
- `listMessagesById({ messageIds })`: Get messages by their IDs
|
|
227
|
+
- `listMessages({ threadId, resourceId?, page?, perPage?, orderBy?, filter? })`: Get paginated messages for a thread with filtering and sorting
|
|
220
228
|
- `updateMessages({ messages })`: Update existing messages with atomic transaction
|
|
221
229
|
- `deleteMessages(messageIds)`: Delete specific messages with atomic transaction
|
|
222
230
|
|
|
@@ -226,15 +234,15 @@ MSSQLStore supports multiple connection methods:
|
|
|
226
234
|
- `getResourceById({ resourceId })`: Get a resource by ID
|
|
227
235
|
- `updateResource({ resourceId, workingMemory?, metadata? })`: Update resource working memory and metadata
|
|
228
236
|
|
|
229
|
-
###
|
|
237
|
+
### Tracing & Observability
|
|
230
238
|
|
|
231
|
-
- `
|
|
232
|
-
- `
|
|
233
|
-
- `
|
|
234
|
-
- `
|
|
235
|
-
- `
|
|
236
|
-
- `
|
|
237
|
-
- `
|
|
239
|
+
- `createSpan(span)`: Create a trace span
|
|
240
|
+
- `updateSpan({ spanId, traceId, updates })`: Update an existing span
|
|
241
|
+
- `getTrace(traceId)`: Get complete trace with all spans
|
|
242
|
+
- `getTracesPaginated({ filters?, pagination? })`: Query traces with pagination and filters
|
|
243
|
+
- `batchCreateSpans({ records })`: Batch create multiple spans
|
|
244
|
+
- `batchUpdateSpans({ records })`: Batch update multiple spans
|
|
245
|
+
- `batchDeleteTraces({ traceIds })`: Batch delete traces
|
|
238
246
|
|
|
239
247
|
### Index Management
|
|
240
248
|
|
|
@@ -249,17 +257,17 @@ MSSQLStore supports multiple connection methods:
|
|
|
249
257
|
- `loadWorkflowSnapshot({ workflowName, runId })`: Load workflow execution state
|
|
250
258
|
- `updateWorkflowResults({ workflowName, runId, stepId, result, runtimeContext })`: Update step results (transaction + row locking)
|
|
251
259
|
- `updateWorkflowState({ workflowName, runId, opts })`: Update workflow run status (transaction + row locking)
|
|
252
|
-
- `
|
|
260
|
+
- `listWorkflowRuns({ workflowName?, fromDate?, toDate?, limit?, offset?, resourceId? })`: Query workflow runs
|
|
253
261
|
- `getWorkflowRunById({ runId, workflowName? })`: Get specific workflow run
|
|
254
262
|
|
|
255
263
|
### Scores & Evaluation
|
|
256
264
|
|
|
257
265
|
- `saveScore(score)`: Save evaluation score
|
|
258
266
|
- `getScoreById({ id })`: Get score by ID
|
|
259
|
-
- `
|
|
260
|
-
- `
|
|
261
|
-
- `
|
|
262
|
-
- `
|
|
267
|
+
- `listScoresByScorerId({ scorerId, pagination, entityId?, entityType?, source? })`: Get scores by scorer
|
|
268
|
+
- `listScoresByRunId({ runId, pagination })`: Get scores for a run
|
|
269
|
+
- `listScoresByEntityId({ entityId, entityType, pagination })`: Get scores for an entity
|
|
270
|
+
- `listScoresBySpan({ traceId, spanId, pagination })`: Get scores for a trace span
|
|
263
271
|
|
|
264
272
|
### Traces (Legacy)
|
|
265
273
|
|