@mastra/pg 0.17.8 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,49 +1,257 @@
1
1
  # @mastra/pg
2
2
 
3
- ## 0.17.8
3
+ ## 1.0.0-beta.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
7
+ - Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
8
+ Add status filter to `listWorkflowRuns`
9
+ Add automatic restart to restart active workflow runs when server starts
10
+ - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4)]:
11
+ - @mastra/core@1.0.0-beta.3
8
12
 
9
- - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
10
- - @mastra/core@0.24.0
13
+ ## 1.0.0-beta.0
11
14
 
12
- ## 0.17.8-alpha.0
15
+ ### Major Changes
13
16
 
14
- ### Patch Changes
17
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
15
18
 
16
- - update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
19
+ - Every Mastra primitive (agent, MCPServer, workflow, tool, processor, scorer, and vector) now has a get, list, and add method associated with it. Each primitive also now requires an id to be set. ([#9675](https://github.com/mastra-ai/mastra/pull/9675))
17
20
 
18
- - Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
19
- - @mastra/core@0.24.0-alpha.0
21
+ Primitives that are added to other primitives are also automatically added to the Mastra instance
20
22
 
21
- ## 0.17.7
23
+ - 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))
22
24
 
23
- ### Patch Changes
25
+ - **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
24
26
 
25
- - Fix peerdependencies ([`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de))
27
+ Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
26
28
 
27
- - Updated dependencies []:
28
- - @mastra/core@0.23.1
29
+ **Storage changes:**
30
+ - `StoragePagination.perPage` type changed from `number` to `number | false`
31
+ - All storage implementations support `perPage: false`:
32
+ - Memory: `listMessages()`
33
+ - Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
34
+ - HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
29
35
 
30
- ## 0.17.6
36
+ **Memory changes:**
37
+ - `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
38
+ - Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
31
39
 
32
- ### Patch Changes
40
+ **Stricter validation:**
41
+ - `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
42
+
43
+ **Migration:**
44
+
45
+ ```typescript
46
+ // Storage/Memory: Replace getMessagesPaginated with listMessages
47
+ - storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
48
+ + storage.listMessages({ threadId, page: 0, perPage: 20 })
49
+ + storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
50
+
51
+ // Memory: Replace selectBy with flat parameters
52
+ - memory.query({ threadId, selectBy: { last: 20, include: [...] } })
53
+ + memory.query({ threadId, perPage: 20, include: [...] })
54
+
55
+ // Client SDK
56
+ - thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
57
+ + thread.listMessages({ page: 0, perPage: 20 })
58
+ ```
59
+
60
+ - # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
61
+
62
+ ## Storage Layer
63
+
64
+ ### BREAKING: Removed `storage.getMessages()`
65
+
66
+ The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
67
+
68
+ **Migration:**
69
+
70
+ ```typescript
71
+ // Before
72
+ const messages = await storage.getMessages({ threadId: 'thread-1' });
73
+
74
+ // After
75
+ const result = await storage.listMessages({
76
+ threadId: 'thread-1',
77
+ page: 0,
78
+ perPage: 50,
79
+ });
80
+ const messages = result.messages; // Access messages array
81
+ console.log(result.total); // Total count
82
+ console.log(result.hasMore); // Whether more pages exist
83
+ ```
84
+
85
+ ### Message ordering default
86
+
87
+ `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
88
+
89
+ **To use DESC ordering (newest first):**
90
+
91
+ ```typescript
92
+ const result = await storage.listMessages({
93
+ threadId: 'thread-1',
94
+ orderBy: { field: 'createdAt', direction: 'DESC' },
95
+ });
96
+ ```
97
+
98
+ ## Client SDK
99
+
100
+ ### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
101
+
102
+ **Migration:**
103
+
104
+ ```typescript
105
+ // Before
106
+ const response = await client.getThreadMessages(threadId, { agentId });
107
+
108
+ // After
109
+ const response = await client.listThreadMessages(threadId, { agentId });
110
+ ```
111
+
112
+ The response format remains the same.
113
+
114
+ ## Type Changes
115
+
116
+ ### BREAKING: Removed `StorageGetMessagesArg` type
117
+
118
+ Use `StorageListMessagesInput` instead:
33
119
 
34
- - Fixes "invalid input syntax for type json" error in AI tracing with PostgreSQL. ([#9181](https://github.com/mastra-ai/mastra/pull/9181))
120
+ ```typescript
121
+ // Before
122
+ import type { StorageGetMessagesArg } from '@mastra/core';
35
123
 
36
- - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3)]:
37
- - @mastra/core@0.23.0
124
+ // After
125
+ import type { StorageListMessagesInput } from '@mastra/core';
126
+ ```
38
127
 
39
- ## 0.17.6-alpha.0
128
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
129
+
130
+ - 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))
131
+
132
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
133
+
134
+ - Implement listMessages API for replacing previous methods ([#9531](https://github.com/mastra-ai/mastra/pull/9531))
135
+
136
+ - 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))
137
+
138
+ - 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))
139
+
140
+ - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
141
+
142
+ - **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
143
+
144
+ 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.
145
+
146
+ **Affected APIs:**
147
+ - `Memory.listThreadsByResourceId()`
148
+ - `Memory.listMessages()`
149
+ - `Storage.listWorkflowRuns()`
150
+
151
+ **Migration:**
152
+
153
+ ```typescript
154
+ // Before
155
+ await memory.listThreadsByResourceId({
156
+ resourceId: 'user-123',
157
+ offset: 20,
158
+ limit: 10,
159
+ });
160
+
161
+ // After
162
+ await memory.listThreadsByResourceId({
163
+ resourceId: 'user-123',
164
+ page: 2, // page = Math.floor(offset / limit)
165
+ perPage: 10,
166
+ });
167
+
168
+ // Before
169
+ await memory.listMessages({
170
+ threadId: 'thread-456',
171
+ offset: 20,
172
+ limit: 10,
173
+ });
174
+
175
+ // After
176
+ await memory.listMessages({
177
+ threadId: 'thread-456',
178
+ page: 2,
179
+ perPage: 10,
180
+ });
181
+
182
+ // Before
183
+ await storage.listWorkflowRuns({
184
+ workflowName: 'my-workflow',
185
+ offset: 20,
186
+ limit: 10,
187
+ });
188
+
189
+ // After
190
+ await storage.listWorkflowRuns({
191
+ workflowName: 'my-workflow',
192
+ page: 2,
193
+ perPage: 10,
194
+ });
195
+ ```
196
+
197
+ **Additional improvements:**
198
+ - Added validation for negative `page` values in all storage implementations
199
+ - Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
200
+ - Added reusable query parser utilities for consistent validation in handlers
201
+
202
+ - ```([#9709](https://github.com/mastra-ai/mastra/pull/9709))
203
+ import { Mastra } from '@mastra/core';
204
+ import { Observability } from '@mastra/observability'; // Explicit import
205
+
206
+ const mastra = new Mastra({
207
+ ...other_config,
208
+ observability: new Observability({
209
+ default: { enabled: true }
210
+ }) // Instance
211
+ });
212
+ ```
213
+
214
+ Instead of:
215
+
216
+ ```
217
+ import { Mastra } from '@mastra/core';
218
+ import '@mastra/observability/init'; // Explicit import
219
+
220
+ const mastra = new Mastra({
221
+ ...other_config,
222
+ observability: {
223
+ default: { enabled: true }
224
+ }
225
+ });
226
+ ```
227
+
228
+ Also renamed a bunch of:
229
+ - `Tracing` things to `Observability` things.
230
+ - `AI-` things to just things.
231
+
232
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
233
+
234
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
235
+
236
+ - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
237
+ 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
238
+
239
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
240
+
241
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
242
+
243
+ ### Minor Changes
244
+
245
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
40
246
 
41
247
  ### Patch Changes
42
248
 
43
- - Fixes "invalid input syntax for type json" error in AI tracing with PostgreSQL. ([#9181](https://github.com/mastra-ai/mastra/pull/9181))
249
+ - Fix pg listThreadsByResourceId page number validation ([#9671](https://github.com/mastra-ai/mastra/pull/9671))
250
+
251
+ - Fixes "invalid input syntax for type json" error in tracing with PostgreSQL. ([#9154](https://github.com/mastra-ai/mastra/pull/9154))
44
252
 
45
- - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`2060766`](https://github.com/mastra-ai/mastra/commit/20607667bf78ea104cca3e15dfb93ae0b62c9d18), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3)]:
46
- - @mastra/core@0.23.0-alpha.0
253
+ - 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)]:
254
+ - @mastra/core@1.0.0-beta.0
47
255
 
48
256
  ## 0.17.5
49
257
 
package/README.md CHANGED
@@ -115,26 +115,32 @@ const store = new PostgresStore({
115
115
 
116
116
  // Create a thread
117
117
  await store.saveThread({
118
- id: 'thread-123',
119
- resourceId: 'resource-456',
120
- title: 'My Thread',
121
- metadata: { key: 'value' },
118
+ thread: {
119
+ id: 'thread-123',
120
+ resourceId: 'resource-456',
121
+ title: 'My Thread',
122
+ metadata: { key: 'value' },
123
+ createdAt: new Date(),
124
+ },
122
125
  });
123
126
 
124
127
  // Add messages to thread
125
- await store.saveMessages([
126
- {
127
- id: 'msg-789',
128
- threadId: 'thread-123',
129
- role: 'user',
130
- type: 'text',
131
- content: [{ type: 'text', text: 'Hello' }],
132
- },
133
- ]);
128
+ await store.saveMessages({
129
+ messages: [
130
+ {
131
+ id: 'msg-789',
132
+ threadId: 'thread-123',
133
+ role: 'user',
134
+ content: { content: 'Hello' },
135
+ resourceId: 'resource-456',
136
+ createdAt: new Date(),
137
+ },
138
+ ],
139
+ });
134
140
 
135
141
  // Query threads and messages
136
- const savedThread = await store.getThread('thread-123');
137
- const messages = await store.getMessages('thread-123');
142
+ const savedThread = await store.getThreadById({ threadId: 'thread-123' });
143
+ const messages = await store.listMessages({ threadId: 'thread-123' });
138
144
  ```
139
145
 
140
146
  ## Configuration
@@ -329,13 +335,56 @@ The system automatically detects configuration changes and only rebuilds indexes
329
335
 
330
336
  ## Storage Methods
331
337
 
332
- - `saveThread(thread)`: Create or update a thread
333
- - `getThread(threadId)`: Get a thread by ID
334
- - `deleteThread(threadId)`: Delete a thread and its messages
335
- - `saveMessages(messages)`: Save multiple messages in a transaction
336
- - `getMessages(threadId)`: Get all messages for a thread
338
+ ### Thread Operations
339
+
340
+ - `saveThread({ thread })`: Create or update a thread
341
+ - `getThreadById({ threadId })`: Get a thread by ID
342
+ - `updateThread({ id, title, metadata })`: Update thread title and/or metadata
343
+ - `deleteThread({ threadId })`: Delete a thread and its messages
344
+ - `listThreadsByResourceId({ resourceId, offset, limit, orderBy? })`: List paginated threads for a resource
345
+
346
+ ### Message Operations
347
+
348
+ - `saveMessages({ messages })`: Save multiple messages in a transaction
349
+ - `listMessages({ threadId, resourceId?, perPage?, page?, orderBy?, filter? })`: Get messages for a thread with pagination
350
+ - `listMessagesById({ messageIds })`: Get specific messages by their IDs
351
+ - `updateMessages({ messages })`: Update existing messages
337
352
  - `deleteMessages(messageIds)`: Delete specific messages
338
353
 
354
+ ### Resource Operations
355
+
356
+ - `getResourceById({ resourceId })`: Get a resource by ID
357
+ - `saveResource({ resource })`: Create or save a resource
358
+ - `updateResource({ resourceId, workingMemory })`: Update resource working memory
359
+
360
+ ### Workflow Operations
361
+
362
+ - `persistWorkflowSnapshot({ workflowName, runId, snapshot })`: Save workflow state
363
+ - `loadWorkflowSnapshot({ workflowName, runId })`: Load workflow state
364
+ - `listWorkflowRuns({ workflowName, pagination })`: List workflow runs with pagination
365
+ - `getWorkflowRunById({ workflowName, runId })`: Get a specific workflow run
366
+ - `updateWorkflowState({ workflowName, runId, state })`: Update workflow state
367
+ - `updateWorkflowResults({ workflowName, runId, results })`: Update workflow results
368
+
369
+ ### AI Observability Operations
370
+
371
+ - `createSpan(span)`: Create a single AI span
372
+ - `batchCreateSpans({ records })`: Create multiple AI spans
373
+ - `updateSpan({ traceId, spanId, updates })`: Update an AI span
374
+ - `batchUpdateSpans({ updates })`: Update multiple AI spans
375
+ - `getTrace(traceId)`: Get an trace by ID
376
+ - `getTracesPaginated({ ...filters, pagination })`: Get paginated traces with filtering
377
+ - `batchDeleteTraces({ traceIds })`: Delete multiple traces
378
+
379
+ ### Evaluation/Scoring Operations
380
+
381
+ - `getScoreById({ id })`: Get a score by ID
382
+ - `saveScore(score)`: Save an evaluation score
383
+ - `listScoresByScorerId({ scorerId, pagination })`: List scores by scorer with pagination
384
+ - `listScoresByRunId({ runId, pagination })`: List scores by run with pagination
385
+ - `listScoresByEntityId({ entityId, entityType, pagination })`: List scores by entity with pagination
386
+ - `listScoresBySpan({ traceId, spanId, pagination })`: List scores by span with pagination
387
+
339
388
  ## Index Management
340
389
 
341
390
  The PostgreSQL store provides comprehensive index management capabilities to optimize query performance.