@mastra/server 0.24.0-alpha.0 → 1.0.0-beta.0
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 +309 -48
- package/README.md +1 -1
- package/dist/{chunk-OQPXME7E.js → chunk-2IS5WICF.js} +4569 -1062
- package/dist/chunk-2IS5WICF.js.map +1 -0
- package/dist/{chunk-SPRRK3P7.cjs → chunk-2YZH5PH6.cjs} +47 -47
- package/dist/chunk-2YZH5PH6.cjs.map +1 -0
- package/dist/{chunk-BATEJLED.js → chunk-3AMNUUZF.js} +20 -20
- package/dist/chunk-3AMNUUZF.js.map +1 -0
- package/dist/{chunk-AW5BU3RQ.js → chunk-3F52QCI4.js} +40 -40
- package/dist/chunk-3F52QCI4.js.map +1 -0
- package/dist/{chunk-PBXWFGEH.js → chunk-4JF5WXPL.js} +130 -207
- package/dist/chunk-4JF5WXPL.js.map +1 -0
- package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
- package/dist/chunk-64ITUOXI.cjs.map +1 -0
- package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
- package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
- package/dist/{chunk-ABRFV4XP.js → chunk-73PAWDM5.js} +13 -13
- package/dist/chunk-73PAWDM5.js.map +1 -0
- package/dist/{chunk-2S4IMB6E.cjs → chunk-A24TSVEZ.cjs} +39 -39
- package/dist/chunk-A24TSVEZ.cjs.map +1 -0
- package/dist/{chunk-NT5XW5PI.cjs → chunk-A2NPD5N6.cjs} +176 -255
- package/dist/chunk-A2NPD5N6.cjs.map +1 -0
- package/dist/{chunk-QQXMIP6C.js → chunk-B3Z6J745.js} +17 -17
- package/dist/chunk-B3Z6J745.js.map +1 -0
- package/dist/{chunk-G4PUALCE.cjs → chunk-BTWIR2B7.cjs} +4 -4
- package/dist/{chunk-G4PUALCE.cjs.map → chunk-BTWIR2B7.cjs.map} +1 -1
- package/dist/{chunk-YWOK4F5A.js → chunk-D7T74TVR.js} +4 -6
- package/dist/chunk-D7T74TVR.js.map +1 -0
- package/dist/{chunk-IJSDPAUY.cjs → chunk-EHACNWDL.cjs} +156 -202
- package/dist/chunk-EHACNWDL.cjs.map +1 -0
- package/dist/{chunk-HPXAM2PG.js → chunk-FPBYKMIS.js} +13 -13
- package/dist/chunk-FPBYKMIS.js.map +1 -0
- package/dist/{chunk-3SNGNFUJ.cjs → chunk-GLAZTMX3.cjs} +37 -37
- package/dist/chunk-GLAZTMX3.cjs.map +1 -0
- package/dist/{chunk-TEOUDAN5.cjs → chunk-ID6JYDNL.cjs} +4590 -1080
- package/dist/chunk-ID6JYDNL.cjs.map +1 -0
- package/dist/{chunk-TRGAMKHX.cjs → chunk-KF3RI45U.cjs} +46 -41
- package/dist/chunk-KF3RI45U.cjs.map +1 -0
- package/dist/{chunk-TOP25AIO.cjs → chunk-KJIDZQRA.cjs} +14 -14
- package/dist/chunk-KJIDZQRA.cjs.map +1 -0
- package/dist/{chunk-MYR4PVGN.js → chunk-KWH5QBXP.js} +4 -4
- package/dist/{chunk-MYR4PVGN.js.map → chunk-KWH5QBXP.js.map} +1 -1
- package/dist/{chunk-AHB4JCIQ.js → chunk-ND5OKOMT.js} +31 -26
- package/dist/chunk-ND5OKOMT.js.map +1 -0
- package/dist/{chunk-XN74I6VW.cjs → chunk-PPMIB3FQ.cjs} +20 -20
- package/dist/chunk-PPMIB3FQ.cjs.map +1 -0
- package/dist/{chunk-EP3JQDPD.cjs → chunk-S54HNARD.cjs} +18 -18
- package/dist/{chunk-EP3JQDPD.cjs.map → chunk-S54HNARD.cjs.map} +1 -1
- package/dist/{chunk-4QCXUEAT.js → chunk-SZIFSF4T.js} +3 -3
- package/dist/{chunk-4QCXUEAT.js.map → chunk-SZIFSF4T.js.map} +1 -1
- package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
- package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
- package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
- package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
- package/dist/{chunk-VY4ENABS.cjs → chunk-W2KMU354.cjs} +4 -6
- package/dist/chunk-W2KMU354.cjs.map +1 -0
- package/dist/{chunk-H33KYEMY.cjs → chunk-X3MICMI2.cjs} +140 -240
- package/dist/chunk-X3MICMI2.cjs.map +1 -0
- package/dist/{chunk-Y4VKB6KC.js → chunk-Z2O5YVHY.js} +121 -165
- package/dist/chunk-Z2O5YVHY.js.map +1 -0
- package/dist/{chunk-PY2K7VNW.js → chunk-ZJ6KEY6H.js} +67 -165
- package/dist/chunk-ZJ6KEY6H.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +7 -7
- package/dist/server/handlers/a2a.d.ts +10 -10
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +31 -19
- package/dist/server/handlers/agent-builder.d.ts +38 -47
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +22 -30
- package/dist/server/handlers/agents.d.ts +36 -55
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/error.cjs +2 -2
- package/dist/server/handlers/error.js +1 -1
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +3 -3
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/memory.cjs +17 -25
- package/dist/server/handlers/memory.d.ts +28 -34
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +8 -8
- package/dist/server/handlers/observability.d.ts +12 -12
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +11 -11
- package/dist/server/handlers/scores.d.ts +24 -24
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/tools.cjs +7 -7
- package/dist/server/handlers/tools.d.ts +8 -8
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +3 -3
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +7 -7
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +5 -5
- package/dist/server/handlers/voice.d.ts +6 -6
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +21 -29
- package/dist/server/handlers/workflows.d.ts +27 -36
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +26 -36
- package/dist/server/handlers.d.ts +0 -2
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +11 -13
- package/dist/server/http-exception.d.ts +0 -5
- package/dist/server/http-exception.d.ts.map +1 -1
- package/dist/server/utils.d.ts +3 -2
- package/dist/server/utils.d.ts.map +1 -1
- package/package.json +9 -13
- package/dist/chunk-2S4IMB6E.cjs.map +0 -1
- package/dist/chunk-3SNGNFUJ.cjs.map +0 -1
- package/dist/chunk-67GYDFSB.js +0 -160
- package/dist/chunk-67GYDFSB.js.map +0 -1
- package/dist/chunk-6ZR275MD.cjs +0 -165
- package/dist/chunk-6ZR275MD.cjs.map +0 -1
- package/dist/chunk-ABRFV4XP.js.map +0 -1
- package/dist/chunk-AHB4JCIQ.js.map +0 -1
- package/dist/chunk-AW5BU3RQ.js.map +0 -1
- package/dist/chunk-BATEJLED.js.map +0 -1
- package/dist/chunk-H33KYEMY.cjs.map +0 -1
- package/dist/chunk-HPXAM2PG.js.map +0 -1
- package/dist/chunk-I3C4ODGV.cjs +0 -335
- package/dist/chunk-I3C4ODGV.cjs.map +0 -1
- package/dist/chunk-IJSDPAUY.cjs.map +0 -1
- package/dist/chunk-LLUOPR3J.js +0 -323
- package/dist/chunk-LLUOPR3J.js.map +0 -1
- package/dist/chunk-MMROOK5J.js.map +0 -1
- package/dist/chunk-NT5XW5PI.cjs.map +0 -1
- package/dist/chunk-OQPXME7E.js.map +0 -1
- package/dist/chunk-PBXWFGEH.js.map +0 -1
- package/dist/chunk-PY2K7VNW.js.map +0 -1
- package/dist/chunk-QQXMIP6C.js.map +0 -1
- package/dist/chunk-SPRRK3P7.cjs.map +0 -1
- package/dist/chunk-TEOUDAN5.cjs.map +0 -1
- package/dist/chunk-TOP25AIO.cjs.map +0 -1
- package/dist/chunk-TRGAMKHX.cjs.map +0 -1
- package/dist/chunk-VY4ENABS.cjs.map +0 -1
- package/dist/chunk-XN74I6VW.cjs.map +0 -1
- package/dist/chunk-Y4VKB6KC.js.map +0 -1
- package/dist/chunk-YWOK4F5A.js.map +0 -1
- package/dist/server/handlers/legacyWorkflows.cjs +0 -48
- package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
- package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
- package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
- package/dist/server/handlers/legacyWorkflows.js +0 -3
- package/dist/server/handlers/legacyWorkflows.js.map +0 -1
- package/dist/server/handlers/telemetry.cjs +0 -20
- package/dist/server/handlers/telemetry.cjs.map +0 -1
- package/dist/server/handlers/telemetry.d.ts +0 -33
- package/dist/server/handlers/telemetry.d.ts.map +0 -1
- package/dist/server/handlers/telemetry.js +0 -3
- package/dist/server/handlers/telemetry.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,99 +1,360 @@
|
|
|
1
1
|
# @mastra/server
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 1.0.0-beta.0
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Major Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- 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))
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Primitives that are added to other primitives are also automatically added to the Mastra instance
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- 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))
|
|
14
14
|
|
|
15
|
-
-
|
|
15
|
+
- **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
- @mastra/core@0.24.0-alpha.0
|
|
17
|
+
Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
**Storage changes:**
|
|
20
|
+
- `StoragePagination.perPage` type changed from `number` to `number | false`
|
|
21
|
+
- All storage implementations support `perPage: false`:
|
|
22
|
+
- Memory: `listMessages()`
|
|
23
|
+
- Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
|
|
24
|
+
- HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
**Memory changes:**
|
|
27
|
+
- `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
|
|
28
|
+
- Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
|
|
23
29
|
|
|
24
|
-
|
|
30
|
+
**Stricter validation:**
|
|
31
|
+
- `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
|
|
25
32
|
|
|
26
|
-
|
|
33
|
+
**Migration:**
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
```typescript
|
|
36
|
+
// Storage/Memory: Replace getMessagesPaginated with listMessages
|
|
37
|
+
- storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
|
|
38
|
+
+ storage.listMessages({ threadId, page: 0, perPage: 20 })
|
|
39
|
+
+ storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
// Memory: Replace selectBy with flat parameters
|
|
42
|
+
- memory.query({ threadId, selectBy: { last: 20, include: [...] } })
|
|
43
|
+
+ memory.query({ threadId, perPage: 20, include: [...] })
|
|
32
44
|
|
|
33
|
-
|
|
45
|
+
// Client SDK
|
|
46
|
+
- thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
|
|
47
|
+
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
48
|
+
```
|
|
34
49
|
|
|
35
|
-
-
|
|
50
|
+
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
36
51
|
|
|
37
|
-
|
|
52
|
+
## Storage Layer
|
|
38
53
|
|
|
39
|
-
|
|
40
|
-
- @mastra/core@0.23.3-alpha.0
|
|
54
|
+
### BREAKING: Removed `storage.getMessages()`
|
|
41
55
|
|
|
42
|
-
|
|
56
|
+
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
43
57
|
|
|
44
|
-
|
|
58
|
+
**Migration:**
|
|
45
59
|
|
|
46
|
-
|
|
47
|
-
|
|
60
|
+
```typescript
|
|
61
|
+
// Before
|
|
62
|
+
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
48
63
|
|
|
49
|
-
|
|
64
|
+
// After
|
|
65
|
+
const result = await storage.listMessages({
|
|
66
|
+
threadId: 'thread-1',
|
|
67
|
+
page: 0,
|
|
68
|
+
perPage: 50,
|
|
69
|
+
});
|
|
70
|
+
const messages = result.messages; // Access messages array
|
|
71
|
+
console.log(result.total); // Total count
|
|
72
|
+
console.log(result.hasMore); // Whether more pages exist
|
|
73
|
+
```
|
|
50
74
|
|
|
51
|
-
###
|
|
75
|
+
### Message ordering default
|
|
52
76
|
|
|
53
|
-
|
|
54
|
-
- @mastra/core@0.23.2-alpha.1
|
|
77
|
+
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
55
78
|
|
|
56
|
-
|
|
79
|
+
**To use DESC ordering (newest first):**
|
|
57
80
|
|
|
58
|
-
|
|
81
|
+
```typescript
|
|
82
|
+
const result = await storage.listMessages({
|
|
83
|
+
threadId: 'thread-1',
|
|
84
|
+
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
85
|
+
});
|
|
86
|
+
```
|
|
59
87
|
|
|
60
|
-
|
|
61
|
-
- @mastra/core@0.23.2-alpha.0
|
|
88
|
+
## Client SDK
|
|
62
89
|
|
|
63
|
-
|
|
90
|
+
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
64
91
|
|
|
65
|
-
|
|
92
|
+
**Migration:**
|
|
66
93
|
|
|
67
|
-
|
|
94
|
+
```typescript
|
|
95
|
+
// Before
|
|
96
|
+
const response = await client.getThreadMessages(threadId, { agentId });
|
|
68
97
|
|
|
69
|
-
|
|
70
|
-
|
|
98
|
+
// After
|
|
99
|
+
const response = await client.listThreadMessages(threadId, { agentId });
|
|
100
|
+
```
|
|
71
101
|
|
|
72
|
-
|
|
102
|
+
The response format remains the same.
|
|
73
103
|
|
|
74
|
-
|
|
104
|
+
## Type Changes
|
|
75
105
|
|
|
76
|
-
|
|
106
|
+
### BREAKING: Removed `StorageGetMessagesArg` type
|
|
77
107
|
|
|
78
|
-
|
|
108
|
+
Use `StorageListMessagesInput` instead:
|
|
79
109
|
|
|
80
|
-
|
|
110
|
+
```typescript
|
|
111
|
+
// Before
|
|
112
|
+
import type { StorageGetMessagesArg } from '@mastra/core';
|
|
113
|
+
|
|
114
|
+
// After
|
|
115
|
+
import type { StorageListMessagesInput } from '@mastra/core';
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
119
|
+
|
|
120
|
+
- Replace `getThreadsByResourceIdPaginated` with `listThreadsByResourceId` across memory handlers. Update client SDK to use `listThreads()` with `offset`/`limit` parameters instead of deprecated `getMemoryThreads()`. Consolidate `/api/memory/threads` routes to single paginated endpoint. ([#9508](https://github.com/mastra-ai/mastra/pull/9508))
|
|
121
|
+
|
|
122
|
+
- This simplifies the Memory API by removing the confusing rememberMessages method and renaming query to recall for better clarity. ([#9701](https://github.com/mastra-ai/mastra/pull/9701))
|
|
123
|
+
|
|
124
|
+
The rememberMessages method name implied it might persist data when it was actually just retrieving messages, same as query. Having two methods that did essentially the same thing was unnecessary.
|
|
125
|
+
|
|
126
|
+
Before:
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
// Two methods that did the same thing
|
|
130
|
+
memory.rememberMessages({ threadId, resourceId, config, vectorMessageSearch });
|
|
131
|
+
memory.query({ threadId, resourceId, perPage, vectorSearchString });
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
After:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// Single unified method with clear purpose
|
|
138
|
+
memory.recall({ threadId, resourceId, perPage, vectorMessageSearch, threadConfig });
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
All usages have been updated across the codebase including tests. The agent now calls recall directly with the appropriate parameters.
|
|
142
|
+
|
|
143
|
+
- Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
|
|
144
|
+
|
|
145
|
+
- Rename `defaultVNextStreamOptions` to `defaultOptions`. Add "Legacy" suffix to v1 option properties and methods (`defaultGenerateOptions` → `defaultGenerateOptionsLegacy`, `defaultStreamOptions` → `defaultStreamOptionsLegacy`). ([#9535](https://github.com/mastra-ai/mastra/pull/9535))
|
|
146
|
+
|
|
147
|
+
- 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))
|
|
148
|
+
|
|
149
|
+
- Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
|
|
150
|
+
|
|
151
|
+
- **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
|
|
152
|
+
|
|
153
|
+
This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
|
|
154
|
+
|
|
155
|
+
### What's Changed
|
|
156
|
+
- Removed legacy v1 watch event handlers and types
|
|
157
|
+
- Renamed `watch-v2` to `watch` throughout the codebase
|
|
158
|
+
- Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
|
|
159
|
+
- Removed `/watch` HTTP endpoints from server and deployer
|
|
160
|
+
- Removed `WorkflowWatchResult` and v1 `WatchEvent` types
|
|
161
|
+
|
|
162
|
+
- **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
|
|
163
|
+
|
|
164
|
+
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.
|
|
165
|
+
|
|
166
|
+
**Affected APIs:**
|
|
167
|
+
- `Memory.listThreadsByResourceId()`
|
|
168
|
+
- `Memory.listMessages()`
|
|
169
|
+
- `Storage.listWorkflowRuns()`
|
|
170
|
+
|
|
171
|
+
**Migration:**
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
// Before
|
|
175
|
+
await memory.listThreadsByResourceId({
|
|
176
|
+
resourceId: 'user-123',
|
|
177
|
+
offset: 20,
|
|
178
|
+
limit: 10,
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// After
|
|
182
|
+
await memory.listThreadsByResourceId({
|
|
183
|
+
resourceId: 'user-123',
|
|
184
|
+
page: 2, // page = Math.floor(offset / limit)
|
|
185
|
+
perPage: 10,
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
// Before
|
|
189
|
+
await memory.listMessages({
|
|
190
|
+
threadId: 'thread-456',
|
|
191
|
+
offset: 20,
|
|
192
|
+
limit: 10,
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// After
|
|
196
|
+
await memory.listMessages({
|
|
197
|
+
threadId: 'thread-456',
|
|
198
|
+
page: 2,
|
|
199
|
+
perPage: 10,
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
// Before
|
|
203
|
+
await storage.listWorkflowRuns({
|
|
204
|
+
workflowName: 'my-workflow',
|
|
205
|
+
offset: 20,
|
|
206
|
+
limit: 10,
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// After
|
|
210
|
+
await storage.listWorkflowRuns({
|
|
211
|
+
workflowName: 'my-workflow',
|
|
212
|
+
page: 2,
|
|
213
|
+
perPage: 10,
|
|
214
|
+
});
|
|
215
|
+
```
|
|
81
216
|
|
|
82
|
-
|
|
83
|
-
-
|
|
217
|
+
**Additional improvements:**
|
|
218
|
+
- Added validation for negative `page` values in all storage implementations
|
|
219
|
+
- Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
|
|
220
|
+
- Added reusable query parser utilities for consistent validation in handlers
|
|
84
221
|
|
|
85
|
-
|
|
222
|
+
- Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
|
|
223
|
+
|
|
224
|
+
- Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
225
|
+
|
|
226
|
+
- Remove deprecated vector prompts and cohere provider from code ([#9596](https://github.com/mastra-ai/mastra/pull/9596))
|
|
227
|
+
|
|
228
|
+
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
229
|
+
|
|
230
|
+
- Enforcing id required on Processor primitive ([#9591](https://github.com/mastra-ai/mastra/pull/9591))
|
|
231
|
+
|
|
232
|
+
- Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
|
|
233
|
+
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
|
|
234
|
+
|
|
235
|
+
- moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
|
|
236
|
+
|
|
237
|
+
- Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
|
|
86
238
|
|
|
87
239
|
### Minor Changes
|
|
88
240
|
|
|
241
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
|
|
242
|
+
|
|
243
|
+
- **BREAKING CHANGE**: Memory scope defaults changed from 'thread' to 'resource' ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
|
|
244
|
+
|
|
245
|
+
Both `workingMemory.scope` and `semanticRecall.scope` now default to `'resource'` instead of `'thread'`. This means:
|
|
246
|
+
- Working memory persists across all conversations for the same user/resource
|
|
247
|
+
- Semantic recall searches across all threads for the same user/resource
|
|
248
|
+
|
|
249
|
+
**Migration**: To maintain the previous thread-scoped behavior, explicitly set `scope: 'thread'`:
|
|
250
|
+
|
|
251
|
+
```typescript
|
|
252
|
+
memory: new Memory({
|
|
253
|
+
storage,
|
|
254
|
+
workingMemory: {
|
|
255
|
+
enabled: true,
|
|
256
|
+
scope: 'thread', // Explicitly set for thread-scoped behavior
|
|
257
|
+
},
|
|
258
|
+
semanticRecall: {
|
|
259
|
+
scope: 'thread', // Explicitly set for thread-scoped behavior
|
|
260
|
+
},
|
|
261
|
+
}),
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
See the [migration guide](https://mastra.ai/docs/guides/migrations/memory-scope-defaults) for more details.
|
|
265
|
+
|
|
266
|
+
Also fixed issues where playground semantic recall search could show missing or incorrect results in certain cases.
|
|
267
|
+
|
|
268
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
|
|
269
|
+
|
|
89
270
|
- Update peer dependencies to match core package version bump (0.22.1) ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
|
|
90
271
|
|
|
272
|
+
- Add observeStream support for agent-builder template installation ([#9372](https://github.com/mastra-ai/mastra/pull/9372))
|
|
273
|
+
- Add observeStream, observeStreamVNext, observeStreamLegacy, and resumeStream methods to agent-builder client SDK
|
|
274
|
+
- Add corresponding server handlers and deployer routes for observe streaming
|
|
275
|
+
- Add tracingOptions parameter to existing agent-builder handlers for parity with workflows
|
|
276
|
+
- Update template installation processor to support both legacy and VNext streaming event formats
|
|
277
|
+
|
|
278
|
+
- Update peer dependencies to match core package version bump (0.22.0) ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
|
|
279
|
+
|
|
280
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
|
|
281
|
+
|
|
91
282
|
### Patch Changes
|
|
92
283
|
|
|
284
|
+
- Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
|
|
285
|
+
|
|
286
|
+
- Add agent id to the list agent ([#9770](https://github.com/mastra-ai/mastra/pull/9770))
|
|
287
|
+
|
|
288
|
+
- Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
|
|
289
|
+
|
|
290
|
+
Consolidated the 3 different execution contexts to one
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
// before depending on the context the tool was executed in
|
|
294
|
+
tool.execute({ context: data });
|
|
295
|
+
tool.execute({ context: { inputData: data } });
|
|
296
|
+
tool.execute(data);
|
|
297
|
+
|
|
298
|
+
// now, for all contexts
|
|
299
|
+
tool.execute(data, context);
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Before:**
|
|
303
|
+
|
|
304
|
+
```typescript
|
|
305
|
+
inputSchema: z.object({ something: z.string() }),
|
|
306
|
+
execute: async ({ context, tracingContext, runId, ... }) => {
|
|
307
|
+
return doSomething(context.string);
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**After:**
|
|
312
|
+
|
|
313
|
+
```typescript
|
|
314
|
+
inputSchema: z.object({ something: z.string() }),
|
|
315
|
+
execute: async (inputData, context) => {
|
|
316
|
+
const { agent, mcp, workflow, ...sharedContext } = context
|
|
317
|
+
|
|
318
|
+
// context that only an agent would get like toolCallId, messages, suspend, resume, etc
|
|
319
|
+
if (agent) {
|
|
320
|
+
doSomething(inputData.something, agent)
|
|
321
|
+
// context that only a workflow would get like runId, state, suspend, resume, etc
|
|
322
|
+
} else if (workflow) {
|
|
323
|
+
doSomething(inputData.something, workflow)
|
|
324
|
+
// context that only a workflow would get like "extra", "elicitation"
|
|
325
|
+
} else if (mcp) {
|
|
326
|
+
doSomething(inputData.something, mcp)
|
|
327
|
+
} else {
|
|
328
|
+
// Running a tool in no execution context
|
|
329
|
+
return doSomething(inputData.something);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
- Add the description field to listAgents ([#9672](https://github.com/mastra-ai/mastra/pull/9672))
|
|
335
|
+
|
|
336
|
+
- Fix the link issue in observability ([#9764](https://github.com/mastra-ai/mastra/pull/9764))
|
|
337
|
+
|
|
93
338
|
- Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
|
|
94
339
|
|
|
95
|
-
-
|
|
96
|
-
|
|
340
|
+
- Fix scorers listing filtring ([#9801](https://github.com/mastra-ai/mastra/pull/9801))
|
|
341
|
+
|
|
342
|
+
- Fixes issue where clicking the reset button in the model picker would fail to restore the original LanguageModelV2 (or any other types) object that was passed during agent construction. ([#9481](https://github.com/mastra-ai/mastra/pull/9481))
|
|
343
|
+
|
|
344
|
+
- Update peer dependencies to match core package version bump (1.0.0) ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
|
|
345
|
+
|
|
346
|
+
- Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
|
|
347
|
+
|
|
348
|
+
- Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
|
|
349
|
+
|
|
350
|
+
- Remove `waitForEvent` from workflows. `waitForEvent` is now removed, please use suspend & resume flow instead. See https://mastra.ai/en/docs/workflows/suspend-and-resume for more details on suspend & resume flow. ([#9214](https://github.com/mastra-ai/mastra/pull/9214))
|
|
351
|
+
|
|
352
|
+
- Use memory mock in server tests ([#9486](https://github.com/mastra-ai/mastra/pull/9486))
|
|
353
|
+
|
|
354
|
+
- Remove format from stream/generate ([#9577](https://github.com/mastra-ai/mastra/pull/9577))
|
|
355
|
+
|
|
356
|
+
- 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)]:
|
|
357
|
+
- @mastra/core@1.0.0-beta.0
|
|
97
358
|
|
|
98
359
|
## 0.22.2
|
|
99
360
|
|
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ import { mastra } from './mastra-instance';
|
|
|
23
23
|
|
|
24
24
|
const app = new Hono();
|
|
25
25
|
|
|
26
|
-
app.get('/mastra/agents', ctx => handlers.agents.
|
|
26
|
+
app.get('/mastra/agents', ctx => handlers.agents.listAgentsHandler({ mastra, runtimeContext: ctx }));
|
|
27
27
|
app.post('/mastra/agents/:id/generate', async ctx => {
|
|
28
28
|
const body = await ctx.req.json();
|
|
29
29
|
return handlers.agents.generateHandler({
|