@mastra/dynamodb 0.0.0-vnext-20251104230439 → 0.0.0-vnext-20251119160359
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 +284 -3
- package/dist/index.cjs +9 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10 -74
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +1 -4
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +2 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +13 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mastra/dynamodb
|
|
2
2
|
|
|
3
|
-
## 0.0.0-vnext-
|
|
3
|
+
## 0.0.0-vnext-20251119160359
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
@@ -43,6 +43,76 @@
|
|
|
43
43
|
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
47
|
+
|
|
48
|
+
## Storage Layer
|
|
49
|
+
|
|
50
|
+
### BREAKING: Removed `storage.getMessages()`
|
|
51
|
+
|
|
52
|
+
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
53
|
+
|
|
54
|
+
**Migration:**
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
// Before
|
|
58
|
+
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
59
|
+
|
|
60
|
+
// After
|
|
61
|
+
const result = await storage.listMessages({
|
|
62
|
+
threadId: 'thread-1',
|
|
63
|
+
page: 0,
|
|
64
|
+
perPage: 50,
|
|
65
|
+
});
|
|
66
|
+
const messages = result.messages; // Access messages array
|
|
67
|
+
console.log(result.total); // Total count
|
|
68
|
+
console.log(result.hasMore); // Whether more pages exist
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Message ordering default
|
|
72
|
+
|
|
73
|
+
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
74
|
+
|
|
75
|
+
**To use DESC ordering (newest first):**
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
const result = await storage.listMessages({
|
|
79
|
+
threadId: 'thread-1',
|
|
80
|
+
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
81
|
+
});
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Client SDK
|
|
85
|
+
|
|
86
|
+
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
87
|
+
|
|
88
|
+
**Migration:**
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// Before
|
|
92
|
+
const response = await client.getThreadMessages(threadId, { agentId });
|
|
93
|
+
|
|
94
|
+
// After
|
|
95
|
+
const response = await client.listThreadMessages(threadId, { agentId });
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The response format remains the same.
|
|
99
|
+
|
|
100
|
+
## Type Changes
|
|
101
|
+
|
|
102
|
+
### BREAKING: Removed `StorageGetMessagesArg` type
|
|
103
|
+
|
|
104
|
+
Use `StorageListMessagesInput` instead:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// Before
|
|
108
|
+
import type { StorageGetMessagesArg } from '@mastra/core';
|
|
109
|
+
|
|
110
|
+
// After
|
|
111
|
+
import type { StorageListMessagesInput } from '@mastra/core';
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
115
|
+
|
|
46
116
|
- 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))
|
|
47
117
|
|
|
48
118
|
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
@@ -53,6 +123,217 @@
|
|
|
53
123
|
|
|
54
124
|
- 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))
|
|
55
125
|
|
|
126
|
+
- Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
|
|
127
|
+
|
|
128
|
+
- **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
|
|
129
|
+
|
|
130
|
+
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.
|
|
131
|
+
|
|
132
|
+
**Affected APIs:**
|
|
133
|
+
- `Memory.listThreadsByResourceId()`
|
|
134
|
+
- `Memory.listMessages()`
|
|
135
|
+
- `Storage.listWorkflowRuns()`
|
|
136
|
+
|
|
137
|
+
**Migration:**
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
// Before
|
|
141
|
+
await memory.listThreadsByResourceId({
|
|
142
|
+
resourceId: 'user-123',
|
|
143
|
+
offset: 20,
|
|
144
|
+
limit: 10,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// After
|
|
148
|
+
await memory.listThreadsByResourceId({
|
|
149
|
+
resourceId: 'user-123',
|
|
150
|
+
page: 2, // page = Math.floor(offset / limit)
|
|
151
|
+
perPage: 10,
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// Before
|
|
155
|
+
await memory.listMessages({
|
|
156
|
+
threadId: 'thread-456',
|
|
157
|
+
offset: 20,
|
|
158
|
+
limit: 10,
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// After
|
|
162
|
+
await memory.listMessages({
|
|
163
|
+
threadId: 'thread-456',
|
|
164
|
+
page: 2,
|
|
165
|
+
perPage: 10,
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// Before
|
|
169
|
+
await storage.listWorkflowRuns({
|
|
170
|
+
workflowName: 'my-workflow',
|
|
171
|
+
offset: 20,
|
|
172
|
+
limit: 10,
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
// After
|
|
176
|
+
await storage.listWorkflowRuns({
|
|
177
|
+
workflowName: 'my-workflow',
|
|
178
|
+
page: 2,
|
|
179
|
+
perPage: 10,
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Additional improvements:**
|
|
184
|
+
- Added validation for negative `page` values in all storage implementations
|
|
185
|
+
- Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
|
|
186
|
+
- Added reusable query parser utilities for consistent validation in handlers
|
|
187
|
+
|
|
188
|
+
- Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
189
|
+
|
|
190
|
+
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
191
|
+
|
|
192
|
+
- Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
|
|
193
|
+
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
|
|
194
|
+
|
|
195
|
+
- Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
|
|
196
|
+
|
|
197
|
+
### Minor Changes
|
|
198
|
+
|
|
199
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
200
|
+
|
|
201
|
+
### Patch Changes
|
|
202
|
+
|
|
203
|
+
- dependencies updates: ([#10130](https://github.com/mastra-ai/mastra/pull/10130))
|
|
204
|
+
- Updated dependency [`electrodb@^3.5.0` ↗︎](https://www.npmjs.com/package/electrodb/v/3.5.0) (from `^3.4.6`, in `dependencies`)
|
|
205
|
+
|
|
206
|
+
- Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
|
|
207
|
+
Add status filter to `listWorkflowRuns`
|
|
208
|
+
Add automatic restart to restart active workflow runs when server starts
|
|
209
|
+
- Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`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), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`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), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`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), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`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), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`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), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`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), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`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), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`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), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`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), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
210
|
+
- @mastra/core@0.0.0-vnext-20251119160359
|
|
211
|
+
|
|
212
|
+
## 1.0.0-beta.0
|
|
213
|
+
|
|
214
|
+
### Major Changes
|
|
215
|
+
|
|
216
|
+
- Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
|
|
217
|
+
|
|
218
|
+
- 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))
|
|
219
|
+
|
|
220
|
+
- **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
|
|
221
|
+
|
|
222
|
+
Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
|
|
223
|
+
|
|
224
|
+
**Storage changes:**
|
|
225
|
+
- `StoragePagination.perPage` type changed from `number` to `number | false`
|
|
226
|
+
- All storage implementations support `perPage: false`:
|
|
227
|
+
- Memory: `listMessages()`
|
|
228
|
+
- Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
|
|
229
|
+
- HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
|
|
230
|
+
|
|
231
|
+
**Memory changes:**
|
|
232
|
+
- `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
|
|
233
|
+
- Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
|
|
234
|
+
|
|
235
|
+
**Stricter validation:**
|
|
236
|
+
- `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
|
|
237
|
+
|
|
238
|
+
**Migration:**
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
// Storage/Memory: Replace getMessagesPaginated with listMessages
|
|
242
|
+
- storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
|
|
243
|
+
+ storage.listMessages({ threadId, page: 0, perPage: 20 })
|
|
244
|
+
+ storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
|
|
245
|
+
|
|
246
|
+
// Memory: Replace selectBy with flat parameters
|
|
247
|
+
- memory.query({ threadId, selectBy: { last: 20, include: [...] } })
|
|
248
|
+
+ memory.query({ threadId, perPage: 20, include: [...] })
|
|
249
|
+
|
|
250
|
+
// Client SDK
|
|
251
|
+
- thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
|
|
252
|
+
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
256
|
+
|
|
257
|
+
## Storage Layer
|
|
258
|
+
|
|
259
|
+
### BREAKING: Removed `storage.getMessages()`
|
|
260
|
+
|
|
261
|
+
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
262
|
+
|
|
263
|
+
**Migration:**
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
// Before
|
|
267
|
+
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
268
|
+
|
|
269
|
+
// After
|
|
270
|
+
const result = await storage.listMessages({
|
|
271
|
+
threadId: 'thread-1',
|
|
272
|
+
page: 0,
|
|
273
|
+
perPage: 50,
|
|
274
|
+
});
|
|
275
|
+
const messages = result.messages; // Access messages array
|
|
276
|
+
console.log(result.total); // Total count
|
|
277
|
+
console.log(result.hasMore); // Whether more pages exist
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Message ordering default
|
|
281
|
+
|
|
282
|
+
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
283
|
+
|
|
284
|
+
**To use DESC ordering (newest first):**
|
|
285
|
+
|
|
286
|
+
```typescript
|
|
287
|
+
const result = await storage.listMessages({
|
|
288
|
+
threadId: 'thread-1',
|
|
289
|
+
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
290
|
+
});
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Client SDK
|
|
294
|
+
|
|
295
|
+
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
296
|
+
|
|
297
|
+
**Migration:**
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
// Before
|
|
301
|
+
const response = await client.getThreadMessages(threadId, { agentId });
|
|
302
|
+
|
|
303
|
+
// After
|
|
304
|
+
const response = await client.listThreadMessages(threadId, { agentId });
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
The response format remains the same.
|
|
308
|
+
|
|
309
|
+
## Type Changes
|
|
310
|
+
|
|
311
|
+
### BREAKING: Removed `StorageGetMessagesArg` type
|
|
312
|
+
|
|
313
|
+
Use `StorageListMessagesInput` instead:
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
// Before
|
|
317
|
+
import type { StorageGetMessagesArg } from '@mastra/core';
|
|
318
|
+
|
|
319
|
+
// After
|
|
320
|
+
import type { StorageListMessagesInput } from '@mastra/core';
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
324
|
+
|
|
325
|
+
- 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))
|
|
326
|
+
|
|
327
|
+
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
328
|
+
|
|
329
|
+
- Implement listMessages API for replacing previous methods ([#9531](https://github.com/mastra-ai/mastra/pull/9531))
|
|
330
|
+
|
|
331
|
+
- 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))
|
|
332
|
+
|
|
333
|
+
- 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))
|
|
334
|
+
|
|
335
|
+
- Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
|
|
336
|
+
|
|
56
337
|
- **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
|
|
57
338
|
|
|
58
339
|
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.
|
|
@@ -128,8 +409,8 @@
|
|
|
128
409
|
|
|
129
410
|
### Patch Changes
|
|
130
411
|
|
|
131
|
-
- Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`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), [`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), [`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), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`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), [`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), [`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), [`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), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`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), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
|
|
132
|
-
- @mastra/core@0.0.0
|
|
412
|
+
- 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)]:
|
|
413
|
+
- @mastra/core@1.0.0-beta.0
|
|
133
414
|
|
|
134
415
|
## 0.15.8
|
|
135
416
|
|
package/dist/index.cjs
CHANGED
|
@@ -1073,7 +1073,7 @@ var MemoryStorageDynamoDB = class extends storage.MemoryStorage {
|
|
|
1073
1073
|
async deleteThread({ threadId }) {
|
|
1074
1074
|
this.logger.debug("Deleting thread", { threadId });
|
|
1075
1075
|
try {
|
|
1076
|
-
const { messages } = await this.
|
|
1076
|
+
const { messages } = await this.listMessages({ threadId, perPage: false });
|
|
1077
1077
|
if (messages.length > 0) {
|
|
1078
1078
|
const batchSize = 25;
|
|
1079
1079
|
for (let i = 0; i < messages.length; i += batchSize) {
|
|
@@ -1102,70 +1102,6 @@ var MemoryStorageDynamoDB = class extends storage.MemoryStorage {
|
|
|
1102
1102
|
);
|
|
1103
1103
|
}
|
|
1104
1104
|
}
|
|
1105
|
-
async getMessages({
|
|
1106
|
-
threadId,
|
|
1107
|
-
resourceId,
|
|
1108
|
-
selectBy
|
|
1109
|
-
}) {
|
|
1110
|
-
this.logger.debug("Getting messages", { threadId, selectBy });
|
|
1111
|
-
try {
|
|
1112
|
-
if (!threadId.trim()) throw new Error("threadId must be a non-empty string");
|
|
1113
|
-
const messages = [];
|
|
1114
|
-
const limit = storage.resolveMessageLimit({ last: selectBy?.last, defaultLimit: Number.MAX_SAFE_INTEGER });
|
|
1115
|
-
if (selectBy?.include?.length) {
|
|
1116
|
-
const includeMessages = await this._getIncludedMessages(threadId, selectBy);
|
|
1117
|
-
if (includeMessages) {
|
|
1118
|
-
messages.push(...includeMessages);
|
|
1119
|
-
}
|
|
1120
|
-
}
|
|
1121
|
-
if (limit !== 0) {
|
|
1122
|
-
const query = this.service.entities.message.query.byThread({ entity: "message", threadId });
|
|
1123
|
-
let results;
|
|
1124
|
-
if (limit !== Number.MAX_SAFE_INTEGER && limit > 0) {
|
|
1125
|
-
results = await query.go({ limit, order: "desc" });
|
|
1126
|
-
results.data = results.data.reverse();
|
|
1127
|
-
} else {
|
|
1128
|
-
results = await query.go();
|
|
1129
|
-
}
|
|
1130
|
-
let allThreadMessages = results.data.map((data) => this.parseMessageData(data)).filter((msg) => "content" in msg);
|
|
1131
|
-
allThreadMessages.sort((a, b) => {
|
|
1132
|
-
const timeA = a.createdAt.getTime();
|
|
1133
|
-
const timeB = b.createdAt.getTime();
|
|
1134
|
-
if (timeA === timeB) {
|
|
1135
|
-
return a.id.localeCompare(b.id);
|
|
1136
|
-
}
|
|
1137
|
-
return timeA - timeB;
|
|
1138
|
-
});
|
|
1139
|
-
messages.push(...allThreadMessages);
|
|
1140
|
-
}
|
|
1141
|
-
messages.sort((a, b) => {
|
|
1142
|
-
const timeA = a.createdAt.getTime();
|
|
1143
|
-
const timeB = b.createdAt.getTime();
|
|
1144
|
-
if (timeA === timeB) {
|
|
1145
|
-
return a.id.localeCompare(b.id);
|
|
1146
|
-
}
|
|
1147
|
-
return timeA - timeB;
|
|
1148
|
-
});
|
|
1149
|
-
const uniqueMessages = messages.filter(
|
|
1150
|
-
(message, index, self) => index === self.findIndex((m) => m.id === message.id)
|
|
1151
|
-
);
|
|
1152
|
-
const list = new agent.MessageList({ threadId, resourceId }).add(
|
|
1153
|
-
uniqueMessages,
|
|
1154
|
-
"memory"
|
|
1155
|
-
);
|
|
1156
|
-
return { messages: list.get.all.db() };
|
|
1157
|
-
} catch (error$1) {
|
|
1158
|
-
throw new error.MastraError(
|
|
1159
|
-
{
|
|
1160
|
-
id: "STORAGE_DYNAMODB_STORE_GET_MESSAGES_FAILED",
|
|
1161
|
-
domain: error.ErrorDomain.STORAGE,
|
|
1162
|
-
category: error.ErrorCategory.THIRD_PARTY,
|
|
1163
|
-
details: { threadId, resourceId: resourceId ?? "" }
|
|
1164
|
-
},
|
|
1165
|
-
error$1
|
|
1166
|
-
);
|
|
1167
|
-
}
|
|
1168
|
-
}
|
|
1169
1105
|
async listMessagesById({ messageIds }) {
|
|
1170
1106
|
this.logger.debug("Getting messages by ID", { messageIds });
|
|
1171
1107
|
if (messageIds.length === 0) return { messages: [] };
|
|
@@ -1219,7 +1155,7 @@ var MemoryStorageDynamoDB = class extends storage.MemoryStorage {
|
|
|
1219
1155
|
new Error("page must be >= 0")
|
|
1220
1156
|
);
|
|
1221
1157
|
}
|
|
1222
|
-
const { field, direction } = this.parseOrderBy(orderBy);
|
|
1158
|
+
const { field, direction } = this.parseOrderBy(orderBy, "ASC");
|
|
1223
1159
|
this.logger.debug("Getting messages with listMessages", {
|
|
1224
1160
|
threadId,
|
|
1225
1161
|
resourceId,
|
|
@@ -1720,7 +1656,7 @@ var StoreOperationsDynamoDB = class extends storage.StoreOperations {
|
|
|
1720
1656
|
[storage.TABLE_SCORERS]: "score",
|
|
1721
1657
|
[storage.TABLE_TRACES]: "trace",
|
|
1722
1658
|
[storage.TABLE_RESOURCES]: "resource",
|
|
1723
|
-
[storage.
|
|
1659
|
+
[storage.TABLE_SPANS]: "ai_span"
|
|
1724
1660
|
};
|
|
1725
1661
|
return mapping[tableName] || null;
|
|
1726
1662
|
}
|
|
@@ -2334,7 +2270,6 @@ var WorkflowStorageDynamoDB = class extends storage.WorkflowsStorage {
|
|
|
2334
2270
|
workflow_name: workflowName,
|
|
2335
2271
|
run_id: runId,
|
|
2336
2272
|
snapshot: JSON.stringify(snapshot),
|
|
2337
|
-
// Stringify the snapshot object
|
|
2338
2273
|
createdAt: now,
|
|
2339
2274
|
updatedAt: now,
|
|
2340
2275
|
resourceId
|
|
@@ -2419,6 +2354,11 @@ var WorkflowStorageDynamoDB = class extends storage.WorkflowsStorage {
|
|
|
2419
2354
|
});
|
|
2420
2355
|
if (pageResults.data && pageResults.data.length > 0) {
|
|
2421
2356
|
let pageFilteredData = pageResults.data;
|
|
2357
|
+
if (args?.status) {
|
|
2358
|
+
pageFilteredData = pageFilteredData.filter((snapshot) => {
|
|
2359
|
+
return snapshot.snapshot.status === args.status;
|
|
2360
|
+
});
|
|
2361
|
+
}
|
|
2422
2362
|
if (args?.fromDate || args?.toDate) {
|
|
2423
2363
|
pageFilteredData = pageFilteredData.filter((snapshot) => {
|
|
2424
2364
|
const createdAt = new Date(snapshot.createdAt);
|
|
@@ -2526,7 +2466,7 @@ var DynamoDBStore = class extends storage.MastraStorage {
|
|
|
2526
2466
|
hasInitialized = null;
|
|
2527
2467
|
stores;
|
|
2528
2468
|
constructor({ name, config }) {
|
|
2529
|
-
super({ name });
|
|
2469
|
+
super({ id: config.id, name });
|
|
2530
2470
|
try {
|
|
2531
2471
|
if (!config.tableName || typeof config.tableName !== "string" || config.tableName.trim() === "") {
|
|
2532
2472
|
throw new Error("DynamoDBStore: config.tableName must be provided and cannot be empty.");
|
|
@@ -2684,10 +2624,6 @@ var DynamoDBStore = class extends storage.MastraStorage {
|
|
|
2684
2624
|
async deleteThread({ threadId }) {
|
|
2685
2625
|
return this.stores.memory.deleteThread({ threadId });
|
|
2686
2626
|
}
|
|
2687
|
-
// Message operations
|
|
2688
|
-
async getMessages(args) {
|
|
2689
|
-
return this.stores.memory.getMessages(args);
|
|
2690
|
-
}
|
|
2691
2627
|
async listMessagesById(args) {
|
|
2692
2628
|
return this.stores.memory.listMessagesById(args);
|
|
2693
2629
|
}
|