@mastra/cloudflare-d1 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 +277 -3
- package/README.md +9 -4
- package/dist/index.cjs +12 -89
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +13 -90
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +1 -7
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +1 -1
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +8 -15
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +15 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mastra/cloudflare-d1
|
|
2
2
|
|
|
3
|
-
## 0.0.0-vnext-
|
|
3
|
+
## 0.0.0-vnext-20251119160359
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
@@ -43,6 +43,280 @@
|
|
|
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
|
+
|
|
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))
|
|
117
|
+
|
|
118
|
+
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
119
|
+
|
|
120
|
+
- Implement listMessages API for replacing previous methods ([#9531](https://github.com/mastra-ai/mastra/pull/9531))
|
|
121
|
+
|
|
122
|
+
- 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))
|
|
123
|
+
|
|
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))
|
|
125
|
+
|
|
126
|
+
- **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
|
|
127
|
+
|
|
128
|
+
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.
|
|
129
|
+
|
|
130
|
+
**Affected APIs:**
|
|
131
|
+
- `Memory.listThreadsByResourceId()`
|
|
132
|
+
- `Memory.listMessages()`
|
|
133
|
+
- `Storage.listWorkflowRuns()`
|
|
134
|
+
|
|
135
|
+
**Migration:**
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Before
|
|
139
|
+
await memory.listThreadsByResourceId({
|
|
140
|
+
resourceId: 'user-123',
|
|
141
|
+
offset: 20,
|
|
142
|
+
limit: 10,
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
// After
|
|
146
|
+
await memory.listThreadsByResourceId({
|
|
147
|
+
resourceId: 'user-123',
|
|
148
|
+
page: 2, // page = Math.floor(offset / limit)
|
|
149
|
+
perPage: 10,
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
// Before
|
|
153
|
+
await memory.listMessages({
|
|
154
|
+
threadId: 'thread-456',
|
|
155
|
+
offset: 20,
|
|
156
|
+
limit: 10,
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
// After
|
|
160
|
+
await memory.listMessages({
|
|
161
|
+
threadId: 'thread-456',
|
|
162
|
+
page: 2,
|
|
163
|
+
perPage: 10,
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// Before
|
|
167
|
+
await storage.listWorkflowRuns({
|
|
168
|
+
workflowName: 'my-workflow',
|
|
169
|
+
offset: 20,
|
|
170
|
+
limit: 10,
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// After
|
|
174
|
+
await storage.listWorkflowRuns({
|
|
175
|
+
workflowName: 'my-workflow',
|
|
176
|
+
page: 2,
|
|
177
|
+
perPage: 10,
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Additional improvements:**
|
|
182
|
+
- Added validation for negative `page` values in all storage implementations
|
|
183
|
+
- Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
|
|
184
|
+
- Added reusable query parser utilities for consistent validation in handlers
|
|
185
|
+
|
|
186
|
+
- Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
187
|
+
|
|
188
|
+
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
189
|
+
|
|
190
|
+
- Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
|
|
191
|
+
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
|
|
192
|
+
|
|
193
|
+
- Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
|
|
194
|
+
|
|
195
|
+
### Minor Changes
|
|
196
|
+
|
|
197
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
198
|
+
|
|
199
|
+
### Patch Changes
|
|
200
|
+
|
|
201
|
+
- Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
|
|
202
|
+
Add status filter to `listWorkflowRuns`
|
|
203
|
+
Add automatic restart to restart active workflow runs when server starts
|
|
204
|
+
- 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)]:
|
|
205
|
+
- @mastra/core@0.0.0-vnext-20251119160359
|
|
206
|
+
|
|
207
|
+
## 1.0.0-beta.0
|
|
208
|
+
|
|
209
|
+
### Major Changes
|
|
210
|
+
|
|
211
|
+
- Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
|
|
212
|
+
|
|
213
|
+
- 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))
|
|
214
|
+
|
|
215
|
+
- **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
|
|
216
|
+
|
|
217
|
+
Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
|
|
218
|
+
|
|
219
|
+
**Storage changes:**
|
|
220
|
+
- `StoragePagination.perPage` type changed from `number` to `number | false`
|
|
221
|
+
- All storage implementations support `perPage: false`:
|
|
222
|
+
- Memory: `listMessages()`
|
|
223
|
+
- Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
|
|
224
|
+
- HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
|
|
225
|
+
|
|
226
|
+
**Memory changes:**
|
|
227
|
+
- `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
|
|
228
|
+
- Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
|
|
229
|
+
|
|
230
|
+
**Stricter validation:**
|
|
231
|
+
- `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
|
|
232
|
+
|
|
233
|
+
**Migration:**
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
// Storage/Memory: Replace getMessagesPaginated with listMessages
|
|
237
|
+
- storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
|
|
238
|
+
+ storage.listMessages({ threadId, page: 0, perPage: 20 })
|
|
239
|
+
+ storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
|
|
240
|
+
|
|
241
|
+
// Memory: Replace selectBy with flat parameters
|
|
242
|
+
- memory.query({ threadId, selectBy: { last: 20, include: [...] } })
|
|
243
|
+
+ memory.query({ threadId, perPage: 20, include: [...] })
|
|
244
|
+
|
|
245
|
+
// Client SDK
|
|
246
|
+
- thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
|
|
247
|
+
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
251
|
+
|
|
252
|
+
## Storage Layer
|
|
253
|
+
|
|
254
|
+
### BREAKING: Removed `storage.getMessages()`
|
|
255
|
+
|
|
256
|
+
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
257
|
+
|
|
258
|
+
**Migration:**
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
// Before
|
|
262
|
+
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
263
|
+
|
|
264
|
+
// After
|
|
265
|
+
const result = await storage.listMessages({
|
|
266
|
+
threadId: 'thread-1',
|
|
267
|
+
page: 0,
|
|
268
|
+
perPage: 50,
|
|
269
|
+
});
|
|
270
|
+
const messages = result.messages; // Access messages array
|
|
271
|
+
console.log(result.total); // Total count
|
|
272
|
+
console.log(result.hasMore); // Whether more pages exist
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Message ordering default
|
|
276
|
+
|
|
277
|
+
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
278
|
+
|
|
279
|
+
**To use DESC ordering (newest first):**
|
|
280
|
+
|
|
281
|
+
```typescript
|
|
282
|
+
const result = await storage.listMessages({
|
|
283
|
+
threadId: 'thread-1',
|
|
284
|
+
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
285
|
+
});
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Client SDK
|
|
289
|
+
|
|
290
|
+
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
291
|
+
|
|
292
|
+
**Migration:**
|
|
293
|
+
|
|
294
|
+
```typescript
|
|
295
|
+
// Before
|
|
296
|
+
const response = await client.getThreadMessages(threadId, { agentId });
|
|
297
|
+
|
|
298
|
+
// After
|
|
299
|
+
const response = await client.listThreadMessages(threadId, { agentId });
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
The response format remains the same.
|
|
303
|
+
|
|
304
|
+
## Type Changes
|
|
305
|
+
|
|
306
|
+
### BREAKING: Removed `StorageGetMessagesArg` type
|
|
307
|
+
|
|
308
|
+
Use `StorageListMessagesInput` instead:
|
|
309
|
+
|
|
310
|
+
```typescript
|
|
311
|
+
// Before
|
|
312
|
+
import type { StorageGetMessagesArg } from '@mastra/core';
|
|
313
|
+
|
|
314
|
+
// After
|
|
315
|
+
import type { StorageListMessagesInput } from '@mastra/core';
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
319
|
+
|
|
46
320
|
- 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
321
|
|
|
48
322
|
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
@@ -128,8 +402,8 @@
|
|
|
128
402
|
|
|
129
403
|
### Patch Changes
|
|
130
404
|
|
|
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
|
|
405
|
+
- 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)]:
|
|
406
|
+
- @mastra/core@1.0.0-beta.0
|
|
133
407
|
|
|
134
408
|
## 0.13.6
|
|
135
409
|
|
package/README.md
CHANGED
|
@@ -82,17 +82,22 @@ const store = new D1Store({
|
|
|
82
82
|
### Message Operations
|
|
83
83
|
|
|
84
84
|
- `saveMessages({ messages })`: Save multiple messages in a batch operation (uses prepared statements).
|
|
85
|
-
- `
|
|
85
|
+
- `listMessages({ threadId, perPage?, page? })`: Retrieve messages for a thread with pagination.
|
|
86
|
+
- `listMessagesById({ messageIds })`: Get specific messages by their IDs
|
|
87
|
+
- `updateMessages({ messages })`: Update existing messages
|
|
86
88
|
|
|
87
89
|
### Workflow Operations
|
|
88
90
|
|
|
89
91
|
- `persistWorkflowSnapshot({ workflowName, runId, snapshot })`: Save workflow state for a given workflow/run.
|
|
90
92
|
- `loadWorkflowSnapshot({ workflowName, runId })`: Load persisted workflow state.
|
|
93
|
+
- `listWorkflowRuns({ workflowName, pagination })`: List workflow runs with pagination
|
|
94
|
+
- `getWorkflowRunById({ workflowName, runId })`: Get a specific workflow run
|
|
91
95
|
|
|
92
|
-
###
|
|
96
|
+
### Operations Not Currently Supported
|
|
93
97
|
|
|
94
|
-
- `
|
|
95
|
-
-
|
|
98
|
+
- `deleteMessages(messageIds)`: Message deletion is not currently supported
|
|
99
|
+
- AI Observability (traces/spans): Not currently supported
|
|
100
|
+
- Evaluation/Scoring: Not currently supported
|
|
96
101
|
|
|
97
102
|
### Utility
|
|
98
103
|
|
package/dist/index.cjs
CHANGED
|
@@ -633,9 +633,8 @@ var MemoryStorageD1 = class extends storage.MemoryStorage {
|
|
|
633
633
|
);
|
|
634
634
|
}
|
|
635
635
|
}
|
|
636
|
-
async _getIncludedMessages(threadId,
|
|
636
|
+
async _getIncludedMessages(threadId, include) {
|
|
637
637
|
if (!threadId.trim()) throw new Error("threadId must be a non-empty string");
|
|
638
|
-
const include = selectBy?.include;
|
|
639
638
|
if (!include) return null;
|
|
640
639
|
const unionQueries = [];
|
|
641
640
|
const params = [];
|
|
@@ -691,73 +690,6 @@ var MemoryStorageD1 = class extends storage.MemoryStorage {
|
|
|
691
690
|
});
|
|
692
691
|
return processedMessages;
|
|
693
692
|
}
|
|
694
|
-
/**
|
|
695
|
-
* @deprecated use listMessages instead
|
|
696
|
-
*/
|
|
697
|
-
async getMessages({
|
|
698
|
-
threadId,
|
|
699
|
-
resourceId,
|
|
700
|
-
selectBy
|
|
701
|
-
}) {
|
|
702
|
-
try {
|
|
703
|
-
if (!threadId.trim()) throw new Error("threadId must be a non-empty string");
|
|
704
|
-
const fullTableName = this.operations.getTableName(storage.TABLE_MESSAGES);
|
|
705
|
-
const limit = storage.resolveMessageLimit({
|
|
706
|
-
last: selectBy?.last,
|
|
707
|
-
defaultLimit: 40
|
|
708
|
-
});
|
|
709
|
-
const include = selectBy?.include || [];
|
|
710
|
-
const messages = [];
|
|
711
|
-
if (include.length) {
|
|
712
|
-
const includeResult = await this._getIncludedMessages(threadId, selectBy);
|
|
713
|
-
if (Array.isArray(includeResult)) messages.push(...includeResult);
|
|
714
|
-
}
|
|
715
|
-
const excludeIds = messages.map((m) => m.id);
|
|
716
|
-
const query = createSqlBuilder().select(["id", "content", "role", "type", "createdAt", "thread_id AS threadId"]).from(fullTableName).where("thread_id = ?", threadId);
|
|
717
|
-
if (resourceId) {
|
|
718
|
-
query.andWhere("resourceId = ?", resourceId);
|
|
719
|
-
}
|
|
720
|
-
if (excludeIds.length > 0) {
|
|
721
|
-
query.andWhere(`id NOT IN (${excludeIds.map(() => "?").join(",")})`, ...excludeIds);
|
|
722
|
-
}
|
|
723
|
-
query.orderBy("createdAt", "DESC").limit(limit);
|
|
724
|
-
const { sql, params } = query.build();
|
|
725
|
-
const result = await this.operations.executeQuery({ sql, params });
|
|
726
|
-
if (Array.isArray(result)) messages.push(...result);
|
|
727
|
-
messages.sort((a, b) => {
|
|
728
|
-
const aRecord = a;
|
|
729
|
-
const bRecord = b;
|
|
730
|
-
const timeA = new Date(aRecord.createdAt).getTime();
|
|
731
|
-
const timeB = new Date(bRecord.createdAt).getTime();
|
|
732
|
-
return timeA - timeB;
|
|
733
|
-
});
|
|
734
|
-
const processedMessages = messages.map((message) => {
|
|
735
|
-
const processedMsg = {};
|
|
736
|
-
for (const [key, value] of Object.entries(message)) {
|
|
737
|
-
if (key === `type` && value === `v2`) continue;
|
|
738
|
-
processedMsg[key] = deserializeValue(value);
|
|
739
|
-
}
|
|
740
|
-
return processedMsg;
|
|
741
|
-
});
|
|
742
|
-
this.logger.debug(`Retrieved ${messages.length} messages for thread ${threadId}`);
|
|
743
|
-
const list = new agent.MessageList().add(processedMessages, "memory");
|
|
744
|
-
return { messages: list.get.all.db() };
|
|
745
|
-
} catch (error$1) {
|
|
746
|
-
const mastraError = new error.MastraError(
|
|
747
|
-
{
|
|
748
|
-
id: "CLOUDFLARE_D1_STORAGE_GET_MESSAGES_ERROR",
|
|
749
|
-
domain: error.ErrorDomain.STORAGE,
|
|
750
|
-
category: error.ErrorCategory.THIRD_PARTY,
|
|
751
|
-
text: `Failed to retrieve messages for thread ${threadId}: ${error$1 instanceof Error ? error$1.message : String(error$1)}`,
|
|
752
|
-
details: { threadId, resourceId: resourceId ?? "" }
|
|
753
|
-
},
|
|
754
|
-
error$1
|
|
755
|
-
);
|
|
756
|
-
this.logger?.error(mastraError.toString());
|
|
757
|
-
this.logger?.trackException(mastraError);
|
|
758
|
-
throw mastraError;
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
693
|
async listMessagesById({ messageIds }) {
|
|
762
694
|
if (messageIds.length === 0) return { messages: [] };
|
|
763
695
|
const fullTableName = this.operations.getTableName(storage.TABLE_MESSAGES);
|
|
@@ -844,7 +776,7 @@ var MemoryStorageD1 = class extends storage.MemoryStorage {
|
|
|
844
776
|
query += ` AND createdAt <= ?`;
|
|
845
777
|
queryParams.push(endDate);
|
|
846
778
|
}
|
|
847
|
-
const { field, direction } = this.parseOrderBy(orderBy);
|
|
779
|
+
const { field, direction } = this.parseOrderBy(orderBy, "ASC");
|
|
848
780
|
query += ` ORDER BY "${field}" ${direction}`;
|
|
849
781
|
if (perPage !== Number.MAX_SAFE_INTEGER) {
|
|
850
782
|
query += ` LIMIT ? OFFSET ?`;
|
|
@@ -890,8 +822,7 @@ var MemoryStorageD1 = class extends storage.MemoryStorage {
|
|
|
890
822
|
const messageIds = new Set(paginatedMessages.map((m) => m.id));
|
|
891
823
|
let includeMessages = [];
|
|
892
824
|
if (include && include.length > 0) {
|
|
893
|
-
const
|
|
894
|
-
const includeResult = await this._getIncludedMessages(threadId, selectBy);
|
|
825
|
+
const includeResult = await this._getIncludedMessages(threadId, include);
|
|
895
826
|
if (Array.isArray(includeResult)) {
|
|
896
827
|
includeMessages = includeResult;
|
|
897
828
|
for (const includeMsg of includeMessages) {
|
|
@@ -1873,13 +1804,18 @@ var WorkflowsStorageD1 = class extends storage.WorkflowsStorage {
|
|
|
1873
1804
|
toDate,
|
|
1874
1805
|
page,
|
|
1875
1806
|
perPage,
|
|
1876
|
-
resourceId
|
|
1807
|
+
resourceId,
|
|
1808
|
+
status
|
|
1877
1809
|
} = {}) {
|
|
1878
1810
|
const fullTableName = this.operations.getTableName(storage.TABLE_WORKFLOW_SNAPSHOT);
|
|
1879
1811
|
try {
|
|
1880
1812
|
const builder = createSqlBuilder().select().from(fullTableName);
|
|
1881
1813
|
const countBuilder = createSqlBuilder().count().from(fullTableName);
|
|
1882
1814
|
if (workflowName) builder.whereAnd("workflow_name = ?", workflowName);
|
|
1815
|
+
if (status) {
|
|
1816
|
+
builder.whereAnd("json_extract(snapshot, '$.status') = ?", status);
|
|
1817
|
+
countBuilder.whereAnd("json_extract(snapshot, '$.status') = ?", status);
|
|
1818
|
+
}
|
|
1883
1819
|
if (resourceId) {
|
|
1884
1820
|
const hasResourceId = await this.operations.hasColumn(fullTableName, "resourceId");
|
|
1885
1821
|
if (hasResourceId) {
|
|
@@ -1982,7 +1918,7 @@ var D1Store = class extends storage.MastraStorage {
|
|
|
1982
1918
|
*/
|
|
1983
1919
|
constructor(config) {
|
|
1984
1920
|
try {
|
|
1985
|
-
super({ name: "D1" });
|
|
1921
|
+
super({ id: config.id, name: "D1" });
|
|
1986
1922
|
if (config.tablePrefix && !/^[a-zA-Z0-9_]*$/.test(config.tablePrefix)) {
|
|
1987
1923
|
throw new Error("Invalid tablePrefix: only letters, numbers, and underscores are allowed.");
|
|
1988
1924
|
}
|
|
@@ -2112,12 +2048,6 @@ var D1Store = class extends storage.MastraStorage {
|
|
|
2112
2048
|
async saveMessages(args) {
|
|
2113
2049
|
return this.stores.memory.saveMessages(args);
|
|
2114
2050
|
}
|
|
2115
|
-
/**
|
|
2116
|
-
* @deprecated use listMessages instead
|
|
2117
|
-
*/
|
|
2118
|
-
async getMessages({ threadId, selectBy }) {
|
|
2119
|
-
return this.stores.memory.getMessages({ threadId, selectBy });
|
|
2120
|
-
}
|
|
2121
2051
|
async updateWorkflowResults({
|
|
2122
2052
|
workflowName,
|
|
2123
2053
|
runId,
|
|
@@ -2145,15 +2075,8 @@ var D1Store = class extends storage.MastraStorage {
|
|
|
2145
2075
|
async loadWorkflowSnapshot(params) {
|
|
2146
2076
|
return this.stores.workflows.loadWorkflowSnapshot(params);
|
|
2147
2077
|
}
|
|
2148
|
-
async listWorkflowRuns({
|
|
2149
|
-
|
|
2150
|
-
fromDate,
|
|
2151
|
-
toDate,
|
|
2152
|
-
perPage,
|
|
2153
|
-
page,
|
|
2154
|
-
resourceId
|
|
2155
|
-
} = {}) {
|
|
2156
|
-
return this.stores.workflows.listWorkflowRuns({ workflowName, fromDate, toDate, perPage, page, resourceId });
|
|
2078
|
+
async listWorkflowRuns(args = {}) {
|
|
2079
|
+
return this.stores.workflows.listWorkflowRuns(args);
|
|
2157
2080
|
}
|
|
2158
2081
|
async getWorkflowRunById({
|
|
2159
2082
|
runId,
|