@mastra/client-js 0.0.0-bundle-recursion-20251030002519 → 0.0.0-bundle-version-20260121091645

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +2119 -3
  2. package/README.md +11 -13
  3. package/dist/_types/@ai-sdk_ui-utils/dist/index.d.ts +820 -0
  4. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +8511 -0
  5. package/dist/client.d.ts +111 -77
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/docs/README.md +33 -0
  8. package/dist/docs/SKILL.md +34 -0
  9. package/dist/docs/SOURCE_MAP.json +6 -0
  10. package/dist/docs/ai-sdk/01-reference.md +358 -0
  11. package/dist/docs/client-js/01-reference.md +1180 -0
  12. package/dist/docs/server/01-mastra-client.md +256 -0
  13. package/dist/docs/server/02-jwt.md +99 -0
  14. package/dist/docs/server/03-clerk.md +143 -0
  15. package/dist/docs/server/04-supabase.md +128 -0
  16. package/dist/docs/server/05-firebase.md +286 -0
  17. package/dist/docs/server/06-workos.md +201 -0
  18. package/dist/docs/server/07-auth0.md +233 -0
  19. package/dist/index.cjs +2108 -993
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.js +2106 -987
  22. package/dist/index.js.map +1 -1
  23. package/dist/resources/a2a.d.ts.map +1 -1
  24. package/dist/resources/agent-builder.d.ts +20 -75
  25. package/dist/resources/agent-builder.d.ts.map +1 -1
  26. package/dist/resources/agent.d.ts +63 -51
  27. package/dist/resources/agent.d.ts.map +1 -1
  28. package/dist/resources/base.d.ts.map +1 -1
  29. package/dist/resources/index.d.ts +2 -0
  30. package/dist/resources/index.d.ts.map +1 -1
  31. package/dist/resources/mcp-tool.d.ts +5 -5
  32. package/dist/resources/memory-thread.d.ts +31 -24
  33. package/dist/resources/memory-thread.d.ts.map +1 -1
  34. package/dist/resources/observability.d.ts +62 -19
  35. package/dist/resources/observability.d.ts.map +1 -1
  36. package/dist/resources/processor.d.ts +20 -0
  37. package/dist/resources/processor.d.ts.map +1 -0
  38. package/dist/resources/run.d.ts +210 -0
  39. package/dist/resources/run.d.ts.map +1 -0
  40. package/dist/resources/stored-agent.d.ts +26 -0
  41. package/dist/resources/stored-agent.d.ts.map +1 -0
  42. package/dist/resources/tool.d.ts +4 -4
  43. package/dist/resources/vector.d.ts +5 -5
  44. package/dist/resources/workflow.d.ts +27 -234
  45. package/dist/resources/workflow.d.ts.map +1 -1
  46. package/dist/tools.d.ts +2 -2
  47. package/dist/tools.d.ts.map +1 -1
  48. package/dist/types.d.ts +299 -99
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/utils/index.d.ts +32 -6
  51. package/dist/utils/index.d.ts.map +1 -1
  52. package/dist/utils/process-mastra-stream.d.ts +1 -1
  53. package/dist/utils/process-mastra-stream.d.ts.map +1 -1
  54. package/dist/utils/zod-to-json-schema.d.ts +9 -1
  55. package/dist/utils/zod-to-json-schema.d.ts.map +1 -1
  56. package/package.json +20 -18
  57. package/dist/resources/network-memory-thread.d.ts +0 -47
  58. package/dist/resources/network-memory-thread.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,11 +1,2071 @@
1
1
  # @mastra/client-js
2
2
 
3
- ## 0.0.0-bundle-recursion-20251030002519
3
+ ## 0.0.0-bundle-version-20260121091645
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`1cf5d2e`](https://github.com/mastra-ai/mastra/commit/1cf5d2ea1b085be23e34fb506c80c80a4e6d9c2b)]:
8
+ - @mastra/core@0.0.0-bundle-version-20260121091645
9
+
10
+ ## 1.0.1
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies:
15
+ - @mastra/core@1.0.4
16
+
17
+ ## 1.0.1-alpha.0
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies:
22
+ - @mastra/core@1.0.4-alpha.0
23
+
24
+ ## 1.0.0
25
+
26
+ ### Major Changes
27
+
28
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
29
+
30
+ - 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))
31
+
32
+ - Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
33
+
34
+ Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
35
+
36
+ **Storage changes:**
37
+ - `StoragePagination.perPage` type changed from `number` to `number | false`
38
+ - All storage implementations support `perPage: false`:
39
+ - Memory: `listMessages()`
40
+ - Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
41
+ - HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
42
+
43
+ **Memory changes:**
44
+ - `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
45
+ - Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
46
+
47
+ **Stricter validation:**
48
+ - `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
49
+
50
+ **Migration:**
51
+
52
+ ```typescript
53
+ // Storage/Memory: Replace getMessagesPaginated with listMessages
54
+ - storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
55
+ + storage.listMessages({ threadId, page: 0, perPage: 20 })
56
+ + storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
57
+
58
+ // Memory: Replace selectBy with flat parameters
59
+ - memory.query({ threadId, selectBy: { last: 20, include: [...] } })
60
+ + memory.query({ threadId, perPage: 20, include: [...] })
61
+
62
+ // Client SDK
63
+ - thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
64
+ + thread.listMessages({ page: 0, perPage: 20 })
65
+ ```
66
+
67
+ - **Removed `storage.getMessages()`** ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
68
+
69
+ The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
70
+
71
+ **Migration:**
72
+
73
+ ```typescript
74
+ // Before
75
+ const messages = await storage.getMessages({ threadId: 'thread-1' });
76
+
77
+ // After
78
+ const result = await storage.listMessages({
79
+ threadId: 'thread-1',
80
+ page: 0,
81
+ perPage: 50,
82
+ });
83
+ const messages = result.messages; // Access messages array
84
+ console.log(result.total); // Total count
85
+ console.log(result.hasMore); // Whether more pages exist
86
+ ```
87
+
88
+ **Message ordering default**
89
+
90
+ `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
91
+
92
+ **To use DESC ordering (newest first):**
93
+
94
+ ```typescript
95
+ const result = await storage.listMessages({
96
+ threadId: 'thread-1',
97
+ orderBy: { field: 'createdAt', direction: 'DESC' },
98
+ });
99
+ ```
100
+
101
+ **Renamed `client.getThreadMessages()` → `client.listThreadMessages()`**
102
+
103
+ **Migration:**
104
+
105
+ ```typescript
106
+ // Before
107
+ const response = await client.getThreadMessages(threadId, { agentId });
108
+
109
+ // After
110
+ const response = await client.listThreadMessages(threadId, { agentId });
111
+ ```
112
+
113
+ The response format remains the same.
114
+
115
+ **Removed `StorageGetMessagesArg` type**
116
+
117
+ Use `StorageListMessagesInput` instead:
118
+
119
+ ```typescript
120
+ // Before
121
+ import type { StorageGetMessagesArg } from '@mastra/core';
122
+
123
+ // After
124
+ import type { StorageListMessagesInput } from '@mastra/core';
125
+ ```
126
+
127
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
128
+
129
+ - 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))
130
+
131
+ - **Fixed:** Align `Agent.network` with core and update `@mastra/react` network usage. ([#12015](https://github.com/mastra-ai/mastra/pull/12015))
132
+
133
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
134
+
135
+ - 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))
136
+
137
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
138
+
139
+ This change removes the direct dependency on Zod typings in the public API by converting all `OUTPUT extends OutputSchema` generic constraints to plain `OUTPUT` generics throughout the codebase. This is preparation for moving to a standard schema approach.
140
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
141
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
142
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
143
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
144
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
145
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
146
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
147
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
148
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
149
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
150
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
151
+ - Network route and streaming APIs updated to use plain OUTPUT generic
152
+
153
+ **Before:**
154
+
155
+ ```typescript
156
+ const output = await agent.generate<z.ZodType>([...], {
157
+ structuredOutput: { schema: mySchema }
158
+ });
159
+
160
+ **After:**
161
+ const output = await agent.generate<z.infer<typeof mySchema>>([...], {
162
+ structuredOutput: { schema: mySchema }
163
+ });
164
+ // Or rely on type inference:
165
+ const output = await agent.generate([...], {
166
+ structuredOutput: { schema: mySchema }
167
+ });
168
+
169
+ ```
170
+
171
+ - Remove deprecated methods from client-js ([#9480](https://github.com/mastra-ai/mastra/pull/9480))
172
+
173
+ - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
174
+
175
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
176
+
177
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
178
+
179
+ **What's Changed**
180
+ - Removed legacy v1 watch event handlers and types
181
+ - Renamed `watch-v2` to `watch` throughout the codebase
182
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
183
+ - Removed `/watch` HTTP endpoints from server and deployer
184
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
185
+
186
+ - Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
187
+
188
+ 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.
189
+
190
+ **Affected APIs:**
191
+ - `Memory.listThreadsByResourceId()`
192
+ - `Memory.listMessages()`
193
+ - `Storage.listWorkflowRuns()`
194
+
195
+ **Migration:**
196
+
197
+ ```typescript
198
+ // Before
199
+ await memory.listThreadsByResourceId({
200
+ resourceId: 'user-123',
201
+ offset: 20,
202
+ limit: 10,
203
+ });
204
+
205
+ // After
206
+ await memory.listThreadsByResourceId({
207
+ resourceId: 'user-123',
208
+ page: 2, // page = Math.floor(offset / limit)
209
+ perPage: 10,
210
+ });
211
+
212
+ // Before
213
+ await memory.listMessages({
214
+ threadId: 'thread-456',
215
+ offset: 20,
216
+ limit: 10,
217
+ });
218
+
219
+ // After
220
+ await memory.listMessages({
221
+ threadId: 'thread-456',
222
+ page: 2,
223
+ perPage: 10,
224
+ });
225
+
226
+ // Before
227
+ await storage.listWorkflowRuns({
228
+ workflowName: 'my-workflow',
229
+ offset: 20,
230
+ limit: 10,
231
+ });
232
+
233
+ // After
234
+ await storage.listWorkflowRuns({
235
+ workflowName: 'my-workflow',
236
+ page: 2,
237
+ perPage: 10,
238
+ });
239
+ ```
240
+
241
+ **Additional improvements:**
242
+ - Added validation for negative `page` values in all storage implementations
243
+ - Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
244
+ - Added reusable query parser utilities for consistent validation in handlers
245
+
246
+ - ```ts ([#9709](https://github.com/mastra-ai/mastra/pull/9709))
247
+ import { Mastra } from '@mastra/core';
248
+ import { Observability } from '@mastra/observability'; // Explicit import
249
+
250
+ const mastra = new Mastra({
251
+ ...other_config,
252
+ observability: new Observability({
253
+ default: { enabled: true },
254
+ }), // Instance
255
+ });
256
+ ```
257
+
258
+ Instead of:
259
+
260
+ ```ts
261
+ import { Mastra } from '@mastra/core';
262
+ import '@mastra/observability/init'; // Explicit import
263
+
264
+ const mastra = new Mastra({
265
+ ...other_config,
266
+ observability: {
267
+ default: { enabled: true },
268
+ },
269
+ });
270
+ ```
271
+
272
+ Also renamed a bunch of:
273
+ - `Tracing` things to `Observability` things.
274
+ - `AI-` things to just things.
275
+
276
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
277
+
278
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
279
+
280
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
281
+
282
+ - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
283
+ 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
284
+
285
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
286
+
287
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
288
+
289
+ ### Minor Changes
290
+
291
+ - Add support for custom fetch function in MastraClient to enable environments like Tauri that require custom fetch implementations to avoid timeout errors. ([#10677](https://github.com/mastra-ai/mastra/pull/10677))
292
+
293
+ You can now pass a custom fetch function when creating a MastraClient:
294
+
295
+ ```typescript
296
+ import { MastraClient } from '@mastra/client-js';
297
+
298
+ // Before: Only global fetch was available
299
+ const client = new MastraClient({
300
+ baseUrl: 'http://your-api-url',
301
+ });
302
+
303
+ // After: Custom fetch can be passed
304
+ const client = new MastraClient({
305
+ baseUrl: 'http://your-api-url',
306
+ fetch: customFetch, // Your custom fetch implementation
307
+ });
308
+ ```
309
+
310
+ If no custom fetch is provided, it falls back to the global fetch function, maintaining backward compatibility.
311
+
312
+ Fixes #10673
313
+
314
+ - Added human-in-the-loop (HITL) tool approval support for `generate()` method. ([#12056](https://github.com/mastra-ai/mastra/pull/12056))
315
+
316
+ **Why:** This provides parity between `stream()` and `generate()` for tool approval flows, allowing non-streaming use cases to leverage `requireToolApproval` without needing to switch to streaming.
317
+
318
+ Previously, tool approval with `requireToolApproval` only worked with `stream()`. Now you can use the same approval flow with `generate()` for non-streaming use cases.
319
+
320
+ **Using tool approval with generate()**
321
+
322
+ ```typescript
323
+ const output = await agent.generate('Find user John', {
324
+ requireToolApproval: true,
325
+ });
326
+
327
+ // Check if a tool is waiting for approval
328
+ if (output.finishReason === 'suspended') {
329
+ console.log('Tool requires approval:', output.suspendPayload.toolName);
330
+
331
+ // Approve the tool call
332
+ const result = await agent.approveToolCallGenerate({
333
+ runId: output.runId,
334
+ toolCallId: output.suspendPayload.toolCallId,
335
+ });
336
+
337
+ console.log(result.text);
338
+ }
339
+ ```
340
+
341
+ **Declining a tool call**
342
+
343
+ ```typescript
344
+ if (output.finishReason === 'suspended') {
345
+ const result = await agent.declineToolCallGenerate({
346
+ runId: output.runId,
347
+ toolCallId: output.suspendPayload.toolCallId,
348
+ });
349
+ }
350
+ ```
351
+
352
+ **New methods added:**
353
+ - `agent.approveToolCallGenerate({ runId, toolCallId })` - Approves a pending tool call and returns the complete result
354
+ - `agent.declineToolCallGenerate({ runId, toolCallId })` - Declines a pending tool call and returns the complete result
355
+
356
+ **Server routes added:**
357
+ - `POST /api/agents/:agentId/approve-tool-call-generate`
358
+ - `POST /api/agents/:agentId/decline-tool-call-generate`
359
+
360
+ The playground UI now also supports tool approval when using generate mode.
361
+
362
+ - Add observeStream support for agent-builder template installation ([#9372](https://github.com/mastra-ai/mastra/pull/9372))
363
+ - Add observeStream, observeStreamVNext, observeStreamLegacy, and resumeStream methods to agent-builder client SDK
364
+ - Add corresponding server handlers and deployer routes for observe streaming
365
+ - Add tracingOptions parameter to existing agent-builder handlers for parity with workflows
366
+ - Update template installation processor to support both legacy and VNext streaming event formats
367
+
368
+ - Added processor resource to the JavaScript client SDK. You can now list processors, get processor details, and execute processors via the client: ([#12059](https://github.com/mastra-ai/mastra/pull/12059))
369
+
370
+ ```typescript
371
+ // List all processors
372
+ const processors = await client.listProcessors();
373
+
374
+ // Get processor details
375
+ const details = await client.getProcessor('my-processor').details();
376
+
377
+ // Execute a processor
378
+ const result = await client.getProcessor('my-processor').execute({
379
+ phase: 'input',
380
+ messages: [{ role: 'user', content: { format: 2, parts: [{ type: 'text', text: 'Hello' }] } }],
381
+ });
382
+ ```
383
+
384
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
385
+
386
+ ## What changed
387
+
388
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
389
+
390
+ **Before:**
391
+
392
+ ```typescript
393
+ // Old span structure
394
+ span.agentId; // 'my-agent'
395
+ span.toolId; // undefined
396
+ span.workflowId; // undefined
397
+ ```
398
+
399
+ **After:**
400
+
401
+ ```typescript
402
+ // New span structure
403
+ span.entityType; // EntityType.AGENT
404
+ span.entityId; // 'my-agent'
405
+ span.entityName; // 'My Agent'
406
+ ```
407
+
408
+ ## New `listTraces()` API
409
+
410
+ Query traces with filtering, pagination, and sorting:
411
+
412
+ ```typescript
413
+ const { spans, pagination } = await storage.listTraces({
414
+ filters: {
415
+ entityType: EntityType.AGENT,
416
+ entityId: 'my-agent',
417
+ userId: 'user-123',
418
+ environment: 'production',
419
+ status: TraceStatus.SUCCESS,
420
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
421
+ },
422
+ pagination: { page: 0, perPage: 50 },
423
+ orderBy: { field: 'startedAt', direction: 'DESC' },
424
+ });
425
+ ```
426
+
427
+ **Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
428
+
429
+ ## New retrieval methods
430
+ - `getSpan({ traceId, spanId })` - Get a single span
431
+ - `getRootSpan({ traceId })` - Get the root span of a trace
432
+ - `getTrace({ traceId })` - Get all spans for a trace
433
+
434
+ ## Backward compatibility
435
+
436
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
437
+
438
+ ## Migration
439
+
440
+ **Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
441
+
442
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
443
+
444
+ - Added new `listThreads` method for flexible thread filtering across all storage adapters. ([#11832](https://github.com/mastra-ai/mastra/pull/11832))
445
+
446
+ **New Features**
447
+ - Filter threads by `resourceId`, `metadata`, or both (with AND logic for metadata key-value pairs)
448
+ - All filter parameters are optional, allowing you to list all threads or filter as needed
449
+ - Full pagination and sorting support
450
+
451
+ **Example Usage**
452
+
453
+ ```typescript
454
+ // List all threads
455
+ const allThreads = await memory.listThreads({});
456
+
457
+ // Filter by resourceId only
458
+ const userThreads = await memory.listThreads({
459
+ filter: { resourceId: 'user-123' },
460
+ });
461
+
462
+ // Filter by metadata only
463
+ const supportThreads = await memory.listThreads({
464
+ filter: { metadata: { category: 'support' } },
465
+ });
466
+
467
+ // Filter by both with pagination
468
+ const filteredThreads = await memory.listThreads({
469
+ filter: {
470
+ resourceId: 'user-123',
471
+ metadata: { priority: 'high', status: 'open' },
472
+ },
473
+ orderBy: { field: 'updatedAt', direction: 'DESC' },
474
+ page: 0,
475
+ perPage: 20,
476
+ });
477
+ ```
478
+
479
+ **Security Improvements**
480
+ - Added validation to prevent SQL injection via malicious metadata keys
481
+ - Added pagination parameter validation to prevent integer overflow attacks
482
+
483
+ - Unified `getWorkflowRunById` and `getWorkflowRunExecutionResult` into a single API that returns `WorkflowState` with both metadata and execution state. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
484
+
485
+ **What changed:**
486
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
487
+ - Added optional `fields` parameter to request only specific fields for better performance
488
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
489
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
490
+ - Removed `/execution-result` API endpoints from server (breaking change)
491
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
492
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
493
+
494
+ **Before:**
495
+
496
+ ```typescript
497
+ // Had to call two different methods for different data
498
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
499
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
500
+ ```
501
+
502
+ **After:**
503
+
504
+ ```typescript
505
+ // Single method returns everything
506
+ const run = await workflow.getWorkflowRunById(runId);
507
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
508
+
509
+ // Request only specific fields for better performance (avoids expensive step fetching)
510
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
511
+
512
+ // Skip nested workflow steps for faster response
513
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
514
+ ```
515
+
516
+ **Why:** The previous API required calling two separate methods to get complete workflow run information. This unification simplifies the API surface and gives users control over performance - fetching all steps (especially nested workflows) can be expensive, so the `fields` and `withNestedWorkflows` options let users request only what they need.
517
+
518
+ ### Patch Changes
519
+
520
+ - Add embedded documentation support for Mastra packages ([#11472](https://github.com/mastra-ai/mastra/pull/11472))
521
+
522
+ Mastra packages now include embedded documentation in the published npm package under `dist/docs/`. This enables coding agents and AI assistants to understand and use the framework by reading documentation directly from `node_modules`.
523
+
524
+ Each package includes:
525
+ - **SKILL.md** - Entry point explaining the package's purpose and capabilities
526
+ - **SOURCE_MAP.json** - Machine-readable index mapping exports to types and implementation files
527
+ - **Topic folders** - Conceptual documentation organized by feature area
528
+
529
+ Documentation is driven by the `packages` frontmatter field in MDX files, which maps docs to their corresponding packages. CI validation ensures all docs include this field.
530
+
531
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
532
+
533
+ ```diff
534
+ + const run = await workflow.createRun({ runId: '123' });
535
+ - const stream = await run.streamVNext({ inputData: { ... } });
536
+ + const stream = await run.stream({ inputData: { ... } });
537
+ ```
538
+
539
+ - Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
540
+
541
+ - Embed AI types to fix peerdeps mismatches ([`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808))
542
+
543
+ - Add resourceId to workflow routes ([#11166](https://github.com/mastra-ai/mastra/pull/11166))
544
+
545
+ - The client-js package had its own simpler zodToJsonSchema implementation that was missing critical features from schema-compat. This could cause issues when users pass Zod schemas with `z.record()` or `z.date()` through the MastraClient. ([#10730](https://github.com/mastra-ai/mastra/pull/10730))
546
+
547
+ Now the client uses the same implementation as the rest of the codebase, which includes the Zod v4 `z.record()` bug fix, date-time format conversion for `z.date()`, and proper handling of unrepresentable types.
548
+
549
+ Also removes the now-unused `zod-to-json-schema` dependency from client-js.
550
+
551
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
552
+
553
+ Consolidated the 3 different execution contexts to one
554
+
555
+ ```typescript
556
+ // before depending on the context the tool was executed in
557
+ tool.execute({ context: data });
558
+ tool.execute({ context: { inputData: data } });
559
+ tool.execute(data);
560
+
561
+ // now, for all contexts
562
+ tool.execute(data, context);
563
+ ```
564
+
565
+ **Before:**
566
+
567
+ ```typescript
568
+ inputSchema: z.object({ something: z.string() }),
569
+ execute: async ({ context, tracingContext, runId, ... }) => {
570
+ return doSomething(context.string);
571
+ }
572
+ ```
573
+
574
+ **After:**
575
+
576
+ ```typescript
577
+ inputSchema: z.object({ something: z.string() }),
578
+ execute: async (inputData, context) => {
579
+ const { agent, mcp, workflow, ...sharedContext } = context
580
+
581
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
582
+ if (agent) {
583
+ doSomething(inputData.something, agent)
584
+ // context that only a workflow would get like runId, state, suspend, resume, etc
585
+ } else if (workflow) {
586
+ doSomething(inputData.something, workflow)
587
+ // context that only a workflow would get like "extra", "elicitation"
588
+ } else if (mcp) {
589
+ doSomething(inputData.something, mcp)
590
+ } else {
591
+ // Running a tool in no execution context
592
+ return doSomething(inputData.something);
593
+ }
594
+ }
595
+ ```
596
+
597
+ - Removes the deprecated `threadId` and `resourceId` options from `AgentExecutionOptions`. These have been deprecated for months in favour of the `memory` option. ([#11897](https://github.com/mastra-ai/mastra/pull/11897))
598
+
599
+ ### Breaking Changes
600
+
601
+ #### `@mastra/core`
602
+
603
+ The `threadId` and `resourceId` options have been removed from `agent.generate()` and `agent.stream()`. Use the `memory` option instead:
604
+
605
+ ```ts
606
+ // Before
607
+ await agent.stream('Hello', {
608
+ threadId: 'thread-123',
609
+ resourceId: 'user-456',
610
+ });
611
+
612
+ // After
613
+ await agent.stream('Hello', {
614
+ memory: {
615
+ thread: 'thread-123',
616
+ resource: 'user-456',
617
+ },
618
+ });
619
+ ```
620
+
621
+ #### `@mastra/server`
622
+
623
+ The `threadId`, `resourceId`, and `resourceid` fields have been removed from the main agent execution body schema. The server now expects the `memory` option format in request bodies. Legacy routes (`/api/agents/:agentId/generate-legacy` and `/api/agents/:agentId/stream-legacy`) continue to support the deprecated fields.
624
+
625
+ #### `@mastra/react`
626
+
627
+ The `useChat` hook now internally converts `threadId` to the `memory` option format when making API calls. No changes needed in component code - the hook handles the conversion automatically.
628
+
629
+ #### `@mastra/client-js`
630
+
631
+ When using the client SDK agent methods, use the `memory` option instead of `threadId`/`resourceId`:
632
+
633
+ ```ts
634
+ const agent = client.getAgent('my-agent');
635
+
636
+ // Before
637
+ await agent.generate([...], {
638
+ threadId: 'thread-123',
639
+ resourceId: 'user-456',
640
+ });
641
+
642
+ // After
643
+ await agent.generate([...], {
644
+ memory: {
645
+ thread: 'thread-123',
646
+ resource: 'user-456',
647
+ },
648
+ });
649
+ ```
650
+
651
+ - Fix wrong arguments type in list workflow runs ([#10755](https://github.com/mastra-ai/mastra/pull/10755))
652
+
653
+ - Adjust the generate / stream types to accept tracingOptions ([#10742](https://github.com/mastra-ai/mastra/pull/10742))
654
+
655
+ - Add human-in-the-loop (HITL) support to agent networks ([#11678](https://github.com/mastra-ai/mastra/pull/11678))
656
+ - Add suspend/resume capabilities to agent network
657
+ - Enable auto-resume for suspended network execution via `autoResumeSuspendedTools`
658
+
659
+ `agent.resumeNetwork`, `agent.approveNetworkToolCall`, `agent.declineNetworkToolCall`
660
+
661
+ - Add `Run` instance to client-js. `workflow.createRun` returns the `Run` instance which can be used for the different run methods. ([#11207](https://github.com/mastra-ai/mastra/pull/11207))
662
+ With this change, run methods cannot be called directly on workflow instance anymore
663
+
664
+ ```diff
665
+ - const result = await workflow.stream({ runId: '123', inputData: { ... } });
666
+ + const run = await workflow.createRun({ runId: '123' });
667
+ + const stream = await run.stream({ inputData: { ... } });
668
+ ```
669
+
670
+ - Fix `saveMessageToMemory` return type to match API response. The method now correctly returns `{ messages: (MastraMessageV1 | MastraDBMessage)[] }` instead of `(MastraMessageV1 | MastraDBMessage)[]` to align with the server endpoint response schema. ([#10996](https://github.com/mastra-ai/mastra/pull/10996))
671
+
672
+ - Add search memory in client-js ([#9326](https://github.com/mastra-ai/mastra/pull/9326))
673
+
674
+ - Fix clientTools execution in client js ([#9880](https://github.com/mastra-ai/mastra/pull/9880))
675
+
676
+ - Include agentId parameter in listMessages API call ([#10270](https://github.com/mastra-ai/mastra/pull/10270))
677
+
678
+ - Add timeTravel APIs and add timeTravel feature to studio ([#10361](https://github.com/mastra-ai/mastra/pull/10361))
679
+
680
+ - Improve type handling with Zod ([#12091](https://github.com/mastra-ai/mastra/pull/12091))
681
+
682
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
683
+
684
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
685
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
686
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
687
+
688
+ This significantly reduces response payload size and improves response times for large workflows.
689
+
690
+ ## Server Endpoint Usage
691
+
692
+ ```http
693
+ # Get only status (minimal payload - fastest)
694
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
695
+
696
+ # Get status and result
697
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
698
+
699
+ # Get all fields but without nested workflow data (faster)
700
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
701
+
702
+ # Get only specific fields without nested workflow data
703
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
704
+
705
+ # Get full data (default behavior)
706
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
707
+ ```
708
+
709
+ ## Client SDK Usage
710
+
711
+ ```typescript
712
+ import { MastraClient } from '@mastra/client-js';
713
+
714
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
715
+ const workflow = client.getWorkflow('myWorkflow');
716
+
717
+ // Get only status (minimal payload - fastest)
718
+ const statusOnly = await workflow.runExecutionResult(runId, {
719
+ fields: ['status'],
720
+ });
721
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
722
+
723
+ // Get status and result
724
+ const statusAndResult = await workflow.runExecutionResult(runId, {
725
+ fields: ['status', 'result'],
726
+ });
727
+
728
+ // Get all fields but without nested workflow data (faster)
729
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
730
+ withNestedWorkflows: false,
731
+ });
732
+
733
+ // Get specific fields without nested workflow data
734
+ const optimized = await workflow.runExecutionResult(runId, {
735
+ fields: ['status', 'steps'],
736
+ withNestedWorkflows: false,
737
+ });
738
+
739
+ // Get full execution result (default behavior)
740
+ const fullResult = await workflow.runExecutionResult(runId);
741
+ ```
742
+
743
+ ## Core API Changes
744
+
745
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
746
+
747
+ ```typescript
748
+ await workflow.getWorkflowRunExecutionResult(runId, {
749
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
750
+ fields: ['status', 'result'], // optional field filtering
751
+ });
752
+ ```
753
+
754
+ ## Inngest Compatibility
755
+
756
+ The `@mastra/inngest` package has been updated to use the new options object API. This is a non-breaking internal change - no action required from inngest workflow users.
757
+
758
+ ## Performance Impact
759
+
760
+ For workflows with large step outputs:
761
+ - Requesting only `status`: ~99% reduction in payload size
762
+ - Requesting `status,result,error`: ~95% reduction in payload size
763
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
764
+ - Combining both: Maximum performance optimization
765
+
766
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
767
+
768
+ - Fix error handling and serialization in agent streaming to ensure errors are consistently exposed and preserved. ([#9144](https://github.com/mastra-ai/mastra/pull/9144))
769
+
770
+ - 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))
771
+
772
+ - Added optional `description` field to `GetAgentResponse` to support richer agent metadata ([#10300](https://github.com/mastra-ai/mastra/pull/10300))
773
+
774
+ - Move the enhance instruction fetch call to client-js ([#9302](https://github.com/mastra-ai/mastra/pull/9302))
775
+
776
+ - Add debugger-like click-through UI to workflow graph ([#11350](https://github.com/mastra-ai/mastra/pull/11350))
777
+
778
+ - Add delete workflow run API ([#10991](https://github.com/mastra-ai/mastra/pull/10991))
779
+
780
+ ```typescript
781
+ await workflow.deleteWorkflowRunById(runId);
782
+ ```
783
+
784
+ - Add initial state input to workflow form in studio ([#11560](https://github.com/mastra-ai/mastra/pull/11560))
785
+
786
+ - Deserialize workflow errors on the client side ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
787
+
788
+ When workflows fail, the server sends error data as JSON over HTTP. This change deserializes those errors back to proper `Error` instances on the client.
789
+
790
+ **Before:**
791
+
792
+ ```typescript
793
+ const result = await workflow.startAsync({ input });
794
+ if (result.status === 'failed') {
795
+ // result.error was a plain object, couldn't use instanceof
796
+ console.log(result.error.message); // TypeScript error
797
+ }
798
+ ```
799
+
800
+ **After:**
801
+
802
+ ```typescript
803
+ const result = await workflow.startAsync({ input });
804
+ if (result.status === 'failed') {
805
+ // result.error is now a proper Error instance
806
+ if (result.error instanceof MyCustomError) {
807
+ console.log(result.error.statusCode); // Works!
808
+ }
809
+ }
810
+ ```
811
+
812
+ This enables proper error handling and type checking in client applications, allowing developers to implement error-specific recovery logic based on custom error types and properties.
813
+
814
+ Features:
815
+ - `instanceof Error` checks
816
+ - Access to `error.message`, `error.name`, `error.stack`
817
+ - Preservation of custom error properties (e.g., `statusCode`, `responseHeaders`)
818
+ - Nested error tracking via `error.cause`
819
+
820
+ Affected methods:
821
+ - `startAsync()`
822
+ - `resumeAsync()`
823
+ - `restartAsync()`
824
+ - `timeTravelAsync()`
825
+
826
+ - Add `getSystemPackages()` method to retrieve installed Mastra packages and their versions from the server ([#11211](https://github.com/mastra-ai/mastra/pull/11211))
827
+
828
+ - fix list memory ([#9751](https://github.com/mastra-ai/mastra/pull/9751))
829
+
830
+ - Standardize pagination params to page/perPage with backwards compatibility for limit/offset ([#10790](https://github.com/mastra-ai/mastra/pull/10790))
831
+ - Server now accepts both `page`/`perPage` and legacy `limit`/`offset` params for workflow runs and MCP server listing endpoints
832
+ - Client SDK sends both param formats to support older server versions
833
+ - Added `createCombinedPaginationSchema` helper for endpoints needing backwards compatibility
834
+ - Marked `limit` and `offset` as deprecated in client types
835
+
836
+ - Remove unused /model-providers API ([#9533](https://github.com/mastra-ai/mastra/pull/9533))
837
+
838
+ - Backward compat for list threads ([#9758](https://github.com/mastra-ai/mastra/pull/9758))
839
+
840
+ - **Client (`@mastra/client-js`):** ([#10653](https://github.com/mastra-ai/mastra/pull/10653))
841
+ - Fixed `sendStreamingMessage` to properly return a streaming response instead of attempting to parse it as JSON
842
+
843
+ **Server (`@mastra/server`):**
844
+ - Fixed A2A message handler to pass `contextId` as `threadId` for memory persistence across conversations
845
+ - Added support for user-provided `resourceId` via `params.metadata.resourceId` or `message.metadata.resourceId`, falling back to `agentId`
846
+
847
+ - add client-js function to fetch model providers ([#9376](https://github.com/mastra-ai/mastra/pull/9376))
848
+
849
+ - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
850
+
851
+ - Fix error parsing json body for reset agent endpoint ([#11379](https://github.com/mastra-ai/mastra/pull/11379))
852
+
853
+ - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
854
+
855
+ - Adds thread cloning to create independent copies of conversations that can diverge. ([#11517](https://github.com/mastra-ai/mastra/pull/11517))
856
+
857
+ ```typescript
858
+ // Clone a thread
859
+ const { thread, clonedMessages } = await memory.cloneThread({
860
+ sourceThreadId: 'thread-123',
861
+ title: 'My Clone',
862
+ options: {
863
+ messageLimit: 10, // optional: only copy last N messages
864
+ },
865
+ });
866
+
867
+ // Check if a thread is a clone
868
+ if (memory.isClone(thread)) {
869
+ const source = await memory.getSourceThread(thread.id);
870
+ }
871
+
872
+ // List all clones of a thread
873
+ const clones = await memory.listClones('thread-123');
874
+ ```
875
+
876
+ Includes:
877
+ - Storage implementations for InMemory, PostgreSQL, LibSQL, Upstash
878
+ - API endpoint: `POST /api/memory/threads/:threadId/clone`
879
+ - Embeddings created for cloned messages (semantic recall)
880
+ - Clone button in playground UI Memory tab
881
+
882
+ - Add missing status parameter to workflow.runs() method ([#11095](https://github.com/mastra-ai/mastra/pull/11095))
883
+
884
+ The `status` parameter was supported by the server API but was missing from the TypeScript types in @mastra/client-js.
885
+
886
+ Now you can filter workflow runs by status:
887
+
888
+ ```typescript
889
+ // Get only running workflows
890
+ const runningRuns = await workflow.runs({ status: 'running' });
891
+
892
+ // Get completed workflows
893
+ const completedRuns = await workflow.runs({ status: 'success' });
894
+ ```
895
+
896
+ - 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))
897
+
898
+ - Fix delayed promises rejecting when stream suspends on tool-call-approval ([#11278](https://github.com/mastra-ai/mastra/pull/11278))
899
+
900
+ When a stream ends in suspended state (e.g., requiring tool approval), the delayed promises like `toolResults`, `toolCalls`, `text`, etc. now resolve with partial results instead of rejecting with an error. This allows consumers to access data that was produced before the suspension.
901
+
902
+ Also improves generic type inference for `LLMStepResult` and related types throughout the streaming infrastructure.
903
+
904
+ - Add optional `partial` query parameter to `/api/agents` and `/api/workflows` endpoints to return minimal data without schemas, reducing payload size for list views: ([#10886](https://github.com/mastra-ai/mastra/pull/10886))
905
+ - When `partial=true`: tool schemas (inputSchema, outputSchema) are omitted
906
+ - When `partial=true`: workflow steps are replaced with stepCount integer
907
+ - When `partial=true`: workflow root schemas (inputSchema, outputSchema) are omitted
908
+ - Maintains backward compatibility when partial parameter is not provided
909
+
910
+ **Server Endpoint Usage**
911
+
912
+ ```bash
913
+ # Get partial agent data (no tool schemas)
914
+ GET /api/agents?partial=true
915
+
916
+ # Get full agent data (default behavior)
917
+ GET /api/agents
918
+
919
+ # Get partial workflow data (stepCount instead of steps, no schemas)
920
+ GET /api/workflows?partial=true
921
+
922
+ # Get full workflow data (default behavior)
923
+ GET /api/workflows
924
+ ```
925
+
926
+ **Client SDK Usage**
927
+
928
+ ```typescript
929
+ import { MastraClient } from '@mastra/client-js';
930
+
931
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
932
+
933
+ // Get partial agent list (smaller payload)
934
+ const partialAgents = await client.listAgents({ partial: true });
935
+
936
+ // Get full agent list with tool schemas
937
+ const fullAgents = await client.listAgents();
938
+
939
+ // Get partial workflow list (smaller payload)
940
+ const partialWorkflows = await client.listWorkflows({ partial: true });
941
+
942
+ // Get full workflow list with steps and schemas
943
+ const fullWorkflows = await client.listWorkflows();
944
+ ```
945
+
946
+ - Support new Workflow tripwire run status. Tripwires that are thrown from within a workflow will now bubble up and return a graceful state with information about tripwires. ([#10947](https://github.com/mastra-ai/mastra/pull/10947))
947
+
948
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
949
+
950
+ ```typescript
951
+ const run = await workflow.createRun();
952
+ const result = await run.start({ inputData: { message: 'Hello' } });
953
+
954
+ if (result.status === 'tripwire') {
955
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
956
+ console.log('Processor ID:', result.tripwire?.processorId);
957
+ console.log('Retry requested:', result.tripwire?.retry);
958
+ }
959
+ ```
960
+
961
+ Adds new UI state for tripwire in agent chat and workflow UI.
962
+
963
+ This is distinct from `status: 'failed'` which indicates an unexpected error. A tripwire status means a processor intentionally stopped execution (e.g., for content moderation).
964
+
965
+ - Add `cancel()` method as an alias for `cancelRun()` in the Run class. The new method provides a more concise API while maintaining backward compatibility. Includes comprehensive documentation about abort signals and how steps can respond to cancellation. ([#11417](https://github.com/mastra-ai/mastra/pull/11417))
966
+
967
+ - Remove unused dependencies ([#10019](https://github.com/mastra-ai/mastra/pull/10019))
968
+
969
+ - Make agentId optional for memory read operations (getThread, listThreads, listMessages) ([#11540](https://github.com/mastra-ai/mastra/pull/11540))
970
+
971
+ When workflows use multiple agents sharing the same threadId/resourceId, users can now retrieve threads and messages without specifying an agentId. The server falls back to using storage directly when agentId is not provided.
972
+
973
+ - Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`d2d3e22`](https://github.com/mastra-ai/mastra/commit/d2d3e22a419ee243f8812a84e3453dd44365ecb0), [`08766f1`](https://github.com/mastra-ai/mastra/commit/08766f15e13ac0692fde2a8bd366c2e16e4321df), [`72df8ae`](https://github.com/mastra-ai/mastra/commit/72df8ae595584cdd7747d5c39ffaca45e4507227), [`ebae12a`](https://github.com/mastra-ai/mastra/commit/ebae12a2dd0212e75478981053b148a2c246962d), [`c8417b4`](https://github.com/mastra-ai/mastra/commit/c8417b41d9f3486854dc7842d977fbe5e2166264), [`bc72b52`](https://github.com/mastra-ai/mastra/commit/bc72b529ee4478fe89ecd85a8be47ce0127b82a0), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`1dbd8c7`](https://github.com/mastra-ai/mastra/commit/1dbd8c729fb6536ec52f00064d76b80253d346e9), [`c61a0a5`](https://github.com/mastra-ai/mastra/commit/c61a0a5de4904c88fd8b3718bc26d1be1c2ec6e7), [`05b8bee`](https://github.com/mastra-ai/mastra/commit/05b8bee9e50e6c2a4a2bf210eca25ee212ca24fa), [`3076c67`](https://github.com/mastra-ai/mastra/commit/3076c6778b18988ae7d5c4c5c466366974b2d63f), [`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`9198899`](https://github.com/mastra-ai/mastra/commit/91988995c427b185c33714b7f3be955367911324), [`ed3e3dd`](https://github.com/mastra-ai/mastra/commit/ed3e3ddec69d564fe2b125e083437f76331f1283), [`c59e13c`](https://github.com/mastra-ai/mastra/commit/c59e13c7688284bd96b2baee3e314335003548de), [`c042bd0`](https://github.com/mastra-ai/mastra/commit/c042bd0b743e0e86199d0cb83344ca7690e34a9c), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`e54953e`](https://github.com/mastra-ai/mastra/commit/e54953ed8ce1b28c0d62a19950163039af7834b4), [`ae8baf7`](https://github.com/mastra-ai/mastra/commit/ae8baf7d8adcb0ff9dac11880400452bc49b33ff), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`940a2b2`](https://github.com/mastra-ai/mastra/commit/940a2b27480626ed7e74f55806dcd2181c1dd0c2), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85d7ee1`](https://github.com/mastra-ai/mastra/commit/85d7ee18ff4e14d625a8a30ec6656bb49804989b), [`c6c1092`](https://github.com/mastra-ai/mastra/commit/c6c1092f8fbf76109303f69e000e96fd1960c4ce), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`d5ed981`](https://github.com/mastra-ai/mastra/commit/d5ed981c8701c1b8a27a5f35a9a2f7d9244e695f), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`b9b7ffd`](https://github.com/mastra-ai/mastra/commit/b9b7ffdad6936a7d50b6b814b5bbe54e19087f66), [`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808), [`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), [`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`38380b6`](https://github.com/mastra-ai/mastra/commit/38380b60fca905824bdf6b43df307a58efb1aa15), [`6833c69`](https://github.com/mastra-ai/mastra/commit/6833c69607418d257750bbcdd84638993d343539), [`932d63d`](https://github.com/mastra-ai/mastra/commit/932d63dd51be9c8bf1e00e3671fe65606c6fb9cd), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`919a22b`](https://github.com/mastra-ai/mastra/commit/919a22b25876f9ed5891efe5facbe682c30ff497), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`69136e7`](https://github.com/mastra-ai/mastra/commit/69136e748e32f57297728a4e0f9a75988462f1a7), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`0d41fe2`](https://github.com/mastra-ai/mastra/commit/0d41fe245355dfc66d61a0d9c85d9400aac351ff), [`b760b73`](https://github.com/mastra-ai/mastra/commit/b760b731aca7c8a3f041f61d57a7f125ae9cb215), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`449aed2`](https://github.com/mastra-ai/mastra/commit/449aed2ba9d507b75bf93d427646ea94f734dfd1), [`eb648a2`](https://github.com/mastra-ai/mastra/commit/eb648a2cc1728f7678768dd70cd77619b448dab9), [`695a621`](https://github.com/mastra-ai/mastra/commit/695a621528bdabeb87f83c2277cf2bb084c7f2b4), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`e0941c3`](https://github.com/mastra-ai/mastra/commit/e0941c3d7fc75695d5d258e7008fd5d6e650800c), [`f93e2f5`](https://github.com/mastra-ai/mastra/commit/f93e2f575e775e627e5c1927cefdd72db07858ed), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`2b459f4`](https://github.com/mastra-ai/mastra/commit/2b459f466fd91688eeb2a44801dc23f7f8a887ab), [`798d0c7`](https://github.com/mastra-ai/mastra/commit/798d0c740232653b1d754870e6b43a55c364ffe2), [`0c0580a`](https://github.com/mastra-ai/mastra/commit/0c0580a42f697cd2a7d5973f25bfe7da9055038a), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`0131105`](https://github.com/mastra-ai/mastra/commit/0131105532e83bdcbb73352fc7d0879eebf140dc), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`47b1c16`](https://github.com/mastra-ai/mastra/commit/47b1c16a01c7ffb6765fe1e499b49092f8b7eba3), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d5059e`](https://github.com/mastra-ai/mastra/commit/9d5059eae810829935fb08e81a9bb7ecd5b144a7), [`ffe84d5`](https://github.com/mastra-ai/mastra/commit/ffe84d54f3b0f85167fe977efd027dba027eb998), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`24b76d8`](https://github.com/mastra-ai/mastra/commit/24b76d8e17656269c8ed09a0c038adb9cc2ae95a), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`ef756c6`](https://github.com/mastra-ai/mastra/commit/ef756c65f82d16531c43f49a27290a416611e526), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`243a823`](https://github.com/mastra-ai/mastra/commit/243a8239c5906f5c94e4f78b54676793f7510ae3), [`b00ccd3`](https://github.com/mastra-ai/mastra/commit/b00ccd325ebd5d9e37e34dd0a105caae67eb568f), [`28f5f89`](https://github.com/mastra-ai/mastra/commit/28f5f89705f2409921e3c45178796c0e0d0bbb64), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`e601b27`](https://github.com/mastra-ai/mastra/commit/e601b272c70f3a5ecca610373aa6223012704892), [`7d56d92`](https://github.com/mastra-ai/mastra/commit/7d56d9213886e8353956d7d40df10045fd12b299), [`81dc110`](https://github.com/mastra-ai/mastra/commit/81dc11008d147cf5bdc8996ead1aa61dbdebb6fc), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`653e65a`](https://github.com/mastra-ai/mastra/commit/653e65ae1f9502c2958a32f47a5a2df11e612a92), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`3d3366f`](https://github.com/mastra-ai/mastra/commit/3d3366f31683e7137d126a3a57174a222c5801fb), [`5a4953f`](https://github.com/mastra-ai/mastra/commit/5a4953f7d25bb15ca31ed16038092a39cb3f98b3), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`eb9e522`](https://github.com/mastra-ai/mastra/commit/eb9e522ce3070a405e5b949b7bf5609ca51d7fe2), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`20e6f19`](https://github.com/mastra-ai/mastra/commit/20e6f1971d51d3ff6dd7accad8aaaae826d540ed), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`7aedb74`](https://github.com/mastra-ai/mastra/commit/7aedb74883adf66af38e270e4068fd42e7a37036), [`3bdfa75`](https://github.com/mastra-ai/mastra/commit/3bdfa7507a91db66f176ba8221aa28dd546e464a), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`c6fd6fe`](https://github.com/mastra-ai/mastra/commit/c6fd6fedd09e9cf8004b03a80925f5e94826ad7e), [`8f02d80`](https://github.com/mastra-ai/mastra/commit/8f02d800777397e4b45d7f1ad041988a8b0c6630), [`fdac646`](https://github.com/mastra-ai/mastra/commit/fdac646033a0930a1a4e00d13aa64c40bb7f1e02), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`d07b568`](https://github.com/mastra-ai/mastra/commit/d07b5687819ea8cb1dffa776d0c1765faf4aa1ae), [`e770de9`](https://github.com/mastra-ai/mastra/commit/e770de941a287a49b1964d44db5a5763d19890a6), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`b5dc973`](https://github.com/mastra-ai/mastra/commit/b5dc9733a5158850298dfb103acb3babdba8a318), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`52e2716`](https://github.com/mastra-ai/mastra/commit/52e2716b42df6eff443de72360ae83e86ec23993), [`d7aad50`](https://github.com/mastra-ai/mastra/commit/d7aad501ce61646b76b4b511e558ac4eea9884d0), [`4f0b3c6`](https://github.com/mastra-ai/mastra/commit/4f0b3c66f196c06448487f680ccbb614d281e2f7), [`27b4040`](https://github.com/mastra-ai/mastra/commit/27b4040bfa1a95d92546f420a02a626b1419a1d6), [`c61fac3`](https://github.com/mastra-ai/mastra/commit/c61fac3add96f0dcce0208c07415279e2537eb62), [`6f14f70`](https://github.com/mastra-ai/mastra/commit/6f14f706ccaaf81b69544b6c1b75ab66a41e5317), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`74c4f22`](https://github.com/mastra-ai/mastra/commit/74c4f22ed4c71e72598eacc346ba95cdbc00294f), [`3a76a80`](https://github.com/mastra-ai/mastra/commit/3a76a80284cb71a0faa975abb3d4b2a9631e60cd), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`026b848`](https://github.com/mastra-ai/mastra/commit/026b8483fbf5b6d977be8f7e6aac8d15c75558ac), [`2c212e7`](https://github.com/mastra-ai/mastra/commit/2c212e704c90e2db83d4109e62c03f0f6ebd2667), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`f9a2509`](https://github.com/mastra-ai/mastra/commit/f9a25093ea72d210a5e52cfcb3bcc8b5e02dc25c), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`610a70b`](https://github.com/mastra-ai/mastra/commit/610a70bdad282079f0c630e0d7bb284578f20151), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`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), [`4ca4306`](https://github.com/mastra-ai/mastra/commit/4ca430614daa5fa04730205a302a43bf4accfe9f), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`4524734`](https://github.com/mastra-ai/mastra/commit/45247343e384717a7c8404296275c56201d6470f), [`7a010c5`](https://github.com/mastra-ai/mastra/commit/7a010c56b846a313a49ae42fccd3d8de2b9f292d), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`2a53598`](https://github.com/mastra-ai/mastra/commit/2a53598c6d8cfeb904a7fc74e57e526d751c8fa6), [`51acef9`](https://github.com/mastra-ai/mastra/commit/51acef95b5977826594fe3ee24475842bd3d5780), [`81b6a8f`](https://github.com/mastra-ai/mastra/commit/81b6a8ff79f49a7549d15d66624ac1a0b8f5f971), [`8538a0d`](https://github.com/mastra-ai/mastra/commit/8538a0d232619bf55dad7ddc2a8b0ca77c679a87), [`af56599`](https://github.com/mastra-ai/mastra/commit/af56599d73244ae3bf0d7bcade656410f8ded37b), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`70b300e`](https://github.com/mastra-ai/mastra/commit/70b300ebc631dfc0aa14e61547fef7994adb4ea6), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`e4d366a`](https://github.com/mastra-ai/mastra/commit/e4d366aeb500371dd4210d6aa8361a4c21d87034), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`a4f010b`](https://github.com/mastra-ai/mastra/commit/a4f010b22e4355a5fdee70a1fe0f6e4a692cc29e), [`c7cd3c7`](https://github.com/mastra-ai/mastra/commit/c7cd3c7a187d7aaf79e2ca139de328bf609a14b4), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`68ec97d`](https://github.com/mastra-ai/mastra/commit/68ec97d4c07c6393fcf95c2481fc5d73da99f8c8), [`8dc7f55`](https://github.com/mastra-ai/mastra/commit/8dc7f55900395771da851dc7d78d53ae84fe34ec), [`cfabdd4`](https://github.com/mastra-ai/mastra/commit/cfabdd4aae7a726b706942d6836eeca110fb6267), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`dd4f34c`](https://github.com/mastra-ai/mastra/commit/dd4f34c78cbae24063463475b0619575c415f9b8), [`8379099`](https://github.com/mastra-ai/mastra/commit/8379099fc467af6bef54dd7f80c9bd75bf8bbddf), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`ce0a73a`](https://github.com/mastra-ai/mastra/commit/ce0a73abeaa75b10ca38f9e40a255a645d50ebfb), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`8c0ec25`](https://github.com/mastra-ai/mastra/commit/8c0ec25646c8a7df253ed1e5ff4863a0d3f1316c), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`73b0bb3`](https://github.com/mastra-ai/mastra/commit/73b0bb394dba7c9482eb467a97ab283dbc0ef4db), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`a02e542`](https://github.com/mastra-ai/mastra/commit/a02e542d23179bad250b044b17ff023caa61739f), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`6b3ba91`](https://github.com/mastra-ai/mastra/commit/6b3ba91494cc10394df96782f349a4f7b1e152cc), [`3bf08bf`](https://github.com/mastra-ai/mastra/commit/3bf08bf9c7c73818ac937b5a69d90e205653115f), [`a372c64`](https://github.com/mastra-ai/mastra/commit/a372c640ad1fd12e8f0613cebdc682fc156b4d95), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908), [`a0e437f`](https://github.com/mastra-ai/mastra/commit/a0e437fac561b28ee719e0302d72b2f9b4c138f0), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`5627a8c`](https://github.com/mastra-ai/mastra/commit/5627a8c6dc11fe3711b3fa7a6ffd6eb34100a306), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`3ff45d1`](https://github.com/mastra-ai/mastra/commit/3ff45d10e0c80c5335a957ab563da72feb623520), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`251df45`](https://github.com/mastra-ai/mastra/commit/251df4531407dfa46d805feb40ff3fb49769f455), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`f894d14`](https://github.com/mastra-ai/mastra/commit/f894d148946629af7b1f452d65a9cf864cec3765), [`8846867`](https://github.com/mastra-ai/mastra/commit/8846867ffa9a3746767618e314bebac08eb77d87), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c2b9547`](https://github.com/mastra-ai/mastra/commit/c2b9547bf435f56339f23625a743b2147ab1c7a6), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`9312dcd`](https://github.com/mastra-ai/mastra/commit/9312dcd1c6f5b321929e7d382e763d95fdc030f5), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`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), [`580b592`](https://github.com/mastra-ai/mastra/commit/580b5927afc82fe460dfdf9a38a902511b6b7e7f), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`42a42cf`](https://github.com/mastra-ai/mastra/commit/42a42cf3132b9786feecbb8c13c583dce5b0e198), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`ff4d9a6`](https://github.com/mastra-ai/mastra/commit/ff4d9a6704fc87b31a380a76ed22736fdedbba5a), [`50fd320`](https://github.com/mastra-ai/mastra/commit/50fd320003d0d93831c230ef531bef41f5ba7b3a), [`847c212`](https://github.com/mastra-ai/mastra/commit/847c212caba7df0d6f2fc756b494ac3c75c3720d), [`69821ef`](https://github.com/mastra-ai/mastra/commit/69821ef806482e2c44e2197ac0b050c3fe3a5285), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`ffa553a`](https://github.com/mastra-ai/mastra/commit/ffa553a3edc1bd17d73669fba66d6b6f4ac10897), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`58e3931`](https://github.com/mastra-ai/mastra/commit/58e3931af9baa5921688566210f00fb0c10479fa), [`ae08bf0`](https://github.com/mastra-ai/mastra/commit/ae08bf0ebc6a4e4da992b711c4a389c32ba84cf4), [`0bed332`](https://github.com/mastra-ai/mastra/commit/0bed332843f627202c6520eaf671771313cd20f3), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7), [`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), [`bec5efd`](https://github.com/mastra-ai/mastra/commit/bec5efde96653ccae6604e68c696d1bc6c1a0bf5), [`5947fcd`](https://github.com/mastra-ai/mastra/commit/5947fcdd425531f29f9422026d466c2ee3113c93), [`4aa55b3`](https://github.com/mastra-ai/mastra/commit/4aa55b383cf06043943359ea316572fd969861a7), [`21735a7`](https://github.com/mastra-ai/mastra/commit/21735a7ef306963554a69a89b44f06c3bcd85141), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`7907fd1`](https://github.com/mastra-ai/mastra/commit/7907fd1c5059813b7b870b81ca71041dc807331b), [`1ed5716`](https://github.com/mastra-ai/mastra/commit/1ed5716830867b3774c4a1b43cc0d82935f32b96), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`9eedf7d`](https://github.com/mastra-ai/mastra/commit/9eedf7de1d6e0022a2f4e5e9e6fe1ec468f9b43c), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`6f941c4`](https://github.com/mastra-ai/mastra/commit/6f941c438ca5f578619788acc7608fc2e23bd176), [`4186bdd`](https://github.com/mastra-ai/mastra/commit/4186bdd00731305726fa06adba0b076a1d50b49f), [`08bb631`](https://github.com/mastra-ai/mastra/commit/08bb631ae2b14684b2678e3549d0b399a6f0561e), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`1d877b8`](https://github.com/mastra-ai/mastra/commit/1d877b8d7b536a251c1a7a18db7ddcf4f68d6f8b), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`7aaf973`](https://github.com/mastra-ai/mastra/commit/7aaf973f83fbbe9521f1f9e7a4fd99b8de464617), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749), [`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), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`4fba91b`](https://github.com/mastra-ai/mastra/commit/4fba91bec7c95911dc28e369437596b152b04cd0), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019), [`12b0cc4`](https://github.com/mastra-ai/mastra/commit/12b0cc4077d886b1a552637dedb70a7ade93528c), [`3bf6c5f`](https://github.com/mastra-ai/mastra/commit/3bf6c5f104c25226cd84e0c77f9dec15f2cac2db)]:
974
+ - @mastra/core@1.0.0
975
+ - @mastra/schema-compat@1.0.0
976
+
977
+ ## 1.0.0-beta.27
978
+
979
+ ### Patch Changes
980
+
981
+ - Updated dependencies [[`50fd320`](https://github.com/mastra-ai/mastra/commit/50fd320003d0d93831c230ef531bef41f5ba7b3a)]:
982
+ - @mastra/core@1.0.0-beta.27
983
+
984
+ ## 1.0.0-beta.26
985
+
986
+ ### Patch Changes
987
+
988
+ - Improve type handling with Zod ([#12091](https://github.com/mastra-ai/mastra/pull/12091))
989
+
990
+ - Updated dependencies [[`026b848`](https://github.com/mastra-ai/mastra/commit/026b8483fbf5b6d977be8f7e6aac8d15c75558ac), [`ffa553a`](https://github.com/mastra-ai/mastra/commit/ffa553a3edc1bd17d73669fba66d6b6f4ac10897)]:
991
+ - @mastra/core@1.0.0-beta.26
992
+
993
+ ## 1.0.0-beta.25
994
+
995
+ ### Minor Changes
996
+
997
+ - Added human-in-the-loop (HITL) tool approval support for `generate()` method. ([#12056](https://github.com/mastra-ai/mastra/pull/12056))
998
+
999
+ **Why:** This provides parity between `stream()` and `generate()` for tool approval flows, allowing non-streaming use cases to leverage `requireToolApproval` without needing to switch to streaming.
1000
+
1001
+ Previously, tool approval with `requireToolApproval` only worked with `stream()`. Now you can use the same approval flow with `generate()` for non-streaming use cases.
1002
+
1003
+ **Using tool approval with generate()**
1004
+
1005
+ ```typescript
1006
+ const output = await agent.generate('Find user John', {
1007
+ requireToolApproval: true,
1008
+ });
1009
+
1010
+ // Check if a tool is waiting for approval
1011
+ if (output.finishReason === 'suspended') {
1012
+ console.log('Tool requires approval:', output.suspendPayload.toolName);
1013
+
1014
+ // Approve the tool call
1015
+ const result = await agent.approveToolCallGenerate({
1016
+ runId: output.runId,
1017
+ toolCallId: output.suspendPayload.toolCallId,
1018
+ });
1019
+
1020
+ console.log(result.text);
1021
+ }
1022
+ ```
1023
+
1024
+ **Declining a tool call**
1025
+
1026
+ ```typescript
1027
+ if (output.finishReason === 'suspended') {
1028
+ const result = await agent.declineToolCallGenerate({
1029
+ runId: output.runId,
1030
+ toolCallId: output.suspendPayload.toolCallId,
1031
+ });
1032
+ }
1033
+ ```
1034
+
1035
+ **New methods added:**
1036
+ - `agent.approveToolCallGenerate({ runId, toolCallId })` - Approves a pending tool call and returns the complete result
1037
+ - `agent.declineToolCallGenerate({ runId, toolCallId })` - Declines a pending tool call and returns the complete result
1038
+
1039
+ **Server routes added:**
1040
+ - `POST /api/agents/:agentId/approve-tool-call-generate`
1041
+ - `POST /api/agents/:agentId/decline-tool-call-generate`
1042
+
1043
+ The playground UI now also supports tool approval when using generate mode.
1044
+
1045
+ - Added processor resource to the JavaScript client SDK. You can now list processors, get processor details, and execute processors via the client: ([#12059](https://github.com/mastra-ai/mastra/pull/12059))
1046
+
1047
+ ```typescript
1048
+ // List all processors
1049
+ const processors = await client.listProcessors();
1050
+
1051
+ // Get processor details
1052
+ const details = await client.getProcessor('my-processor').details();
1053
+
1054
+ // Execute a processor
1055
+ const result = await client.getProcessor('my-processor').execute({
1056
+ phase: 'input',
1057
+ messages: [{ role: 'user', content: { format: 2, parts: [{ type: 'text', text: 'Hello' }] } }],
1058
+ });
1059
+ ```
1060
+
1061
+ - Added new `listThreads` method for flexible thread filtering across all storage adapters. ([#11832](https://github.com/mastra-ai/mastra/pull/11832))
1062
+
1063
+ **New Features**
1064
+ - Filter threads by `resourceId`, `metadata`, or both (with AND logic for metadata key-value pairs)
1065
+ - All filter parameters are optional, allowing you to list all threads or filter as needed
1066
+ - Full pagination and sorting support
1067
+
1068
+ **Example Usage**
1069
+
1070
+ ```typescript
1071
+ // List all threads
1072
+ const allThreads = await memory.listThreads({});
1073
+
1074
+ // Filter by resourceId only
1075
+ const userThreads = await memory.listThreads({
1076
+ filter: { resourceId: 'user-123' },
1077
+ });
1078
+
1079
+ // Filter by metadata only
1080
+ const supportThreads = await memory.listThreads({
1081
+ filter: { metadata: { category: 'support' } },
1082
+ });
1083
+
1084
+ // Filter by both with pagination
1085
+ const filteredThreads = await memory.listThreads({
1086
+ filter: {
1087
+ resourceId: 'user-123',
1088
+ metadata: { priority: 'high', status: 'open' },
1089
+ },
1090
+ orderBy: { field: 'updatedAt', direction: 'DESC' },
1091
+ page: 0,
1092
+ perPage: 20,
1093
+ });
1094
+ ```
1095
+
1096
+ **Security Improvements**
1097
+ - Added validation to prevent SQL injection via malicious metadata keys
1098
+ - Added pagination parameter validation to prevent integer overflow attacks
1099
+
1100
+ ### Patch Changes
1101
+
1102
+ - Updated dependencies [[`ed3e3dd`](https://github.com/mastra-ai/mastra/commit/ed3e3ddec69d564fe2b125e083437f76331f1283), [`6833c69`](https://github.com/mastra-ai/mastra/commit/6833c69607418d257750bbcdd84638993d343539), [`47b1c16`](https://github.com/mastra-ai/mastra/commit/47b1c16a01c7ffb6765fe1e499b49092f8b7eba3), [`3a76a80`](https://github.com/mastra-ai/mastra/commit/3a76a80284cb71a0faa975abb3d4b2a9631e60cd), [`8538a0d`](https://github.com/mastra-ai/mastra/commit/8538a0d232619bf55dad7ddc2a8b0ca77c679a87), [`9312dcd`](https://github.com/mastra-ai/mastra/commit/9312dcd1c6f5b321929e7d382e763d95fdc030f5)]:
1103
+ - @mastra/core@1.0.0-beta.25
1104
+ - @mastra/schema-compat@1.0.0-beta.8
1105
+
1106
+ ## 1.0.0-beta.24
1107
+
1108
+ ### Major Changes
1109
+
1110
+ - **Fixed:** Align `Agent.network` with core and update `@mastra/react` network usage. ([#12015](https://github.com/mastra-ai/mastra/pull/12015))
1111
+
1112
+ ### Patch Changes
1113
+
1114
+ - Updated dependencies [[`1dbd8c7`](https://github.com/mastra-ai/mastra/commit/1dbd8c729fb6536ec52f00064d76b80253d346e9), [`c59e13c`](https://github.com/mastra-ai/mastra/commit/c59e13c7688284bd96b2baee3e314335003548de), [`f93e2f5`](https://github.com/mastra-ai/mastra/commit/f93e2f575e775e627e5c1927cefdd72db07858ed), [`f9a2509`](https://github.com/mastra-ai/mastra/commit/f9a25093ea72d210a5e52cfcb3bcc8b5e02dc25c), [`7a010c5`](https://github.com/mastra-ai/mastra/commit/7a010c56b846a313a49ae42fccd3d8de2b9f292d)]:
1115
+ - @mastra/core@1.0.0-beta.24
1116
+ - @mastra/schema-compat@1.0.0-beta.7
1117
+
1118
+ ## 1.0.0-beta.23
1119
+
1120
+ ### Patch Changes
1121
+
1122
+ - Updated dependencies [[`c8417b4`](https://github.com/mastra-ai/mastra/commit/c8417b41d9f3486854dc7842d977fbe5e2166264), [`dd4f34c`](https://github.com/mastra-ai/mastra/commit/dd4f34c78cbae24063463475b0619575c415f9b8)]:
1123
+ - @mastra/core@1.0.0-beta.23
1124
+
1125
+ ## 1.0.0-beta.22
1126
+
1127
+ ### Major Changes
1128
+
1129
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
1130
+
1131
+ This change removes the direct dependency on Zod typings in the public API by converting all `OUTPUT extends OutputSchema` generic constraints to plain `OUTPUT` generics throughout the codebase. This is preparation for moving to a standard schema approach.
1132
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
1133
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
1134
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
1135
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
1136
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
1137
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
1138
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
1139
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
1140
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
1141
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
1142
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
1143
+ - Network route and streaming APIs updated to use plain OUTPUT generic
1144
+
1145
+ **Before:**
1146
+
1147
+ ```typescript
1148
+ const output = await agent.generate<z.ZodType>({
1149
+ messages: [...],
1150
+ structuredOutput: { schema: mySchema }
1151
+ });
1152
+
1153
+ **After:**
1154
+ const output = await agent.generate<z.infer<typeof mySchema>>({
1155
+ messages: [...],
1156
+ structuredOutput: { schema: mySchema }
1157
+ });
1158
+ // Or rely on type inference:
1159
+ const output = await agent.generate({
1160
+ messages: [...],
1161
+ structuredOutput: { schema: mySchema }
1162
+ });
1163
+
1164
+ ```
1165
+
1166
+ ### Patch Changes
1167
+
1168
+ - Removes the deprecated `threadId` and `resourceId` options from `AgentExecutionOptions`. These have been deprecated for months in favour of the `memory` option. ([#11897](https://github.com/mastra-ai/mastra/pull/11897))
1169
+
1170
+ ### Breaking Changes
1171
+
1172
+ #### `@mastra/core`
1173
+
1174
+ The `threadId` and `resourceId` options have been removed from `agent.generate()` and `agent.stream()`. Use the `memory` option instead:
1175
+
1176
+ ```ts
1177
+ // Before
1178
+ await agent.stream('Hello', {
1179
+ threadId: 'thread-123',
1180
+ resourceId: 'user-456',
1181
+ });
1182
+
1183
+ // After
1184
+ await agent.stream('Hello', {
1185
+ memory: {
1186
+ thread: 'thread-123',
1187
+ resource: 'user-456',
1188
+ },
1189
+ });
1190
+ ```
1191
+
1192
+ #### `@mastra/server`
1193
+
1194
+ The `threadId`, `resourceId`, and `resourceid` fields have been removed from the main agent execution body schema. The server now expects the `memory` option format in request bodies. Legacy routes (`/api/agents/:agentId/generate-legacy` and `/api/agents/:agentId/stream-legacy`) continue to support the deprecated fields.
1195
+
1196
+ #### `@mastra/react`
1197
+
1198
+ The `useChat` hook now internally converts `threadId` to the `memory` option format when making API calls. No changes needed in component code - the hook handles the conversion automatically.
1199
+
1200
+ #### `@mastra/client-js`
1201
+
1202
+ When using the client SDK agent methods, use the `memory` option instead of `threadId`/`resourceId`:
1203
+
1204
+ ```ts
1205
+ const agent = client.getAgent('my-agent');
1206
+
1207
+ // Before
1208
+ await agent.generate({
1209
+ messages: [...],
1210
+ threadId: 'thread-123',
1211
+ resourceId: 'user-456',
1212
+ });
1213
+
1214
+ // After
1215
+ await agent.generate({
1216
+ messages: [...],
1217
+ memory: {
1218
+ thread: 'thread-123',
1219
+ resource: 'user-456',
1220
+ },
1221
+ });
1222
+ ```
1223
+
1224
+ - Add human-in-the-loop (HITL) support to agent networks ([#11678](https://github.com/mastra-ai/mastra/pull/11678))
1225
+ - Add suspend/resume capabilities to agent network
1226
+ - Enable auto-resume for suspended network execution via `autoResumeSuspendedTools`
1227
+
1228
+ `agent.resumeNetwork`, `agent.approveNetworkToolCall`, `agent.declineNetworkToolCall`
1229
+
1230
+ - Updated dependencies [[`ebae12a`](https://github.com/mastra-ai/mastra/commit/ebae12a2dd0212e75478981053b148a2c246962d), [`c61a0a5`](https://github.com/mastra-ai/mastra/commit/c61a0a5de4904c88fd8b3718bc26d1be1c2ec6e7), [`69136e7`](https://github.com/mastra-ai/mastra/commit/69136e748e32f57297728a4e0f9a75988462f1a7), [`449aed2`](https://github.com/mastra-ai/mastra/commit/449aed2ba9d507b75bf93d427646ea94f734dfd1), [`eb648a2`](https://github.com/mastra-ai/mastra/commit/eb648a2cc1728f7678768dd70cd77619b448dab9), [`0131105`](https://github.com/mastra-ai/mastra/commit/0131105532e83bdcbb73352fc7d0879eebf140dc), [`9d5059e`](https://github.com/mastra-ai/mastra/commit/9d5059eae810829935fb08e81a9bb7ecd5b144a7), [`ef756c6`](https://github.com/mastra-ai/mastra/commit/ef756c65f82d16531c43f49a27290a416611e526), [`b00ccd3`](https://github.com/mastra-ai/mastra/commit/b00ccd325ebd5d9e37e34dd0a105caae67eb568f), [`3bdfa75`](https://github.com/mastra-ai/mastra/commit/3bdfa7507a91db66f176ba8221aa28dd546e464a), [`e770de9`](https://github.com/mastra-ai/mastra/commit/e770de941a287a49b1964d44db5a5763d19890a6), [`52e2716`](https://github.com/mastra-ai/mastra/commit/52e2716b42df6eff443de72360ae83e86ec23993), [`27b4040`](https://github.com/mastra-ai/mastra/commit/27b4040bfa1a95d92546f420a02a626b1419a1d6), [`610a70b`](https://github.com/mastra-ai/mastra/commit/610a70bdad282079f0c630e0d7bb284578f20151), [`8dc7f55`](https://github.com/mastra-ai/mastra/commit/8dc7f55900395771da851dc7d78d53ae84fe34ec), [`8379099`](https://github.com/mastra-ai/mastra/commit/8379099fc467af6bef54dd7f80c9bd75bf8bbddf), [`8c0ec25`](https://github.com/mastra-ai/mastra/commit/8c0ec25646c8a7df253ed1e5ff4863a0d3f1316c), [`ff4d9a6`](https://github.com/mastra-ai/mastra/commit/ff4d9a6704fc87b31a380a76ed22736fdedbba5a), [`69821ef`](https://github.com/mastra-ai/mastra/commit/69821ef806482e2c44e2197ac0b050c3fe3a5285), [`1ed5716`](https://github.com/mastra-ai/mastra/commit/1ed5716830867b3774c4a1b43cc0d82935f32b96), [`4186bdd`](https://github.com/mastra-ai/mastra/commit/4186bdd00731305726fa06adba0b076a1d50b49f), [`7aaf973`](https://github.com/mastra-ai/mastra/commit/7aaf973f83fbbe9521f1f9e7a4fd99b8de464617)]:
1231
+ - @mastra/core@1.0.0-beta.22
1232
+
1233
+ ## 1.0.0-beta.21
1234
+
1235
+ ### Patch Changes
1236
+
1237
+ - Updated dependencies [[`08766f1`](https://github.com/mastra-ai/mastra/commit/08766f15e13ac0692fde2a8bd366c2e16e4321df), [`ae8baf7`](https://github.com/mastra-ai/mastra/commit/ae8baf7d8adcb0ff9dac11880400452bc49b33ff), [`cfabdd4`](https://github.com/mastra-ai/mastra/commit/cfabdd4aae7a726b706942d6836eeca110fb6267), [`3bf08bf`](https://github.com/mastra-ai/mastra/commit/3bf08bf9c7c73818ac937b5a69d90e205653115f), [`a0e437f`](https://github.com/mastra-ai/mastra/commit/a0e437fac561b28ee719e0302d72b2f9b4c138f0), [`bec5efd`](https://github.com/mastra-ai/mastra/commit/bec5efde96653ccae6604e68c696d1bc6c1a0bf5), [`9eedf7d`](https://github.com/mastra-ai/mastra/commit/9eedf7de1d6e0022a2f4e5e9e6fe1ec468f9b43c)]:
1238
+ - @mastra/core@1.0.0-beta.21
1239
+ - @mastra/schema-compat@1.0.0-beta.6
1240
+
1241
+ ## 1.0.0-beta.20
1242
+
1243
+ ### Minor Changes
1244
+
1245
+ - Unified `getWorkflowRunById` and `getWorkflowRunExecutionResult` into a single API that returns `WorkflowState` with both metadata and execution state. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
1246
+
1247
+ **What changed:**
1248
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
1249
+ - Added optional `fields` parameter to request only specific fields for better performance
1250
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
1251
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
1252
+ - Removed `/execution-result` API endpoints from server (breaking change)
1253
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
1254
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
1255
+
1256
+ **Before:**
1257
+
1258
+ ```typescript
1259
+ // Had to call two different methods for different data
1260
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
1261
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
1262
+ ```
1263
+
1264
+ **After:**
1265
+
1266
+ ```typescript
1267
+ // Single method returns everything
1268
+ const run = await workflow.getWorkflowRunById(runId);
1269
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
1270
+
1271
+ // Request only specific fields for better performance (avoids expensive step fetching)
1272
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
1273
+
1274
+ // Skip nested workflow steps for faster response
1275
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
1276
+ ```
1277
+
1278
+ **Why:** The previous API required calling two separate methods to get complete workflow run information. This unification simplifies the API surface and gives users control over performance - fetching all steps (especially nested workflows) can be expensive, so the `fields` and `withNestedWorkflows` options let users request only what they need.
1279
+
1280
+ ### Patch Changes
1281
+
1282
+ - Add embedded documentation support for Mastra packages ([#11472](https://github.com/mastra-ai/mastra/pull/11472))
1283
+
1284
+ Mastra packages now include embedded documentation in the published npm package under `dist/docs/`. This enables coding agents and AI assistants to understand and use the framework by reading documentation directly from `node_modules`.
1285
+
1286
+ Each package includes:
1287
+ - **SKILL.md** - Entry point explaining the package's purpose and capabilities
1288
+ - **SOURCE_MAP.json** - Machine-readable index mapping exports to types and implementation files
1289
+ - **Topic folders** - Conceptual documentation organized by feature area
1290
+
1291
+ Documentation is driven by the `packages` frontmatter field in MDX files, which maps docs to their corresponding packages. CI validation ensures all docs include this field.
1292
+
1293
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
1294
+
1295
+ ```diff
1296
+ + const run = await workflow.createRun({ runId: '123' });
1297
+ - const stream = await run.streamVNext({ inputData: { ... } });
1298
+ + const stream = await run.stream({ inputData: { ... } });
1299
+ ```
1300
+
1301
+ - Add initial state input to workflow form in studio ([#11560](https://github.com/mastra-ai/mastra/pull/11560))
1302
+
1303
+ - Adds thread cloning to create independent copies of conversations that can diverge. ([#11517](https://github.com/mastra-ai/mastra/pull/11517))
1304
+
1305
+ ```typescript
1306
+ // Clone a thread
1307
+ const { thread, clonedMessages } = await memory.cloneThread({
1308
+ sourceThreadId: 'thread-123',
1309
+ title: 'My Clone',
1310
+ options: {
1311
+ messageLimit: 10, // optional: only copy last N messages
1312
+ },
1313
+ });
1314
+
1315
+ // Check if a thread is a clone
1316
+ if (memory.isClone(thread)) {
1317
+ const source = await memory.getSourceThread(thread.id);
1318
+ }
1319
+
1320
+ // List all clones of a thread
1321
+ const clones = await memory.listClones('thread-123');
1322
+ ```
1323
+
1324
+ Includes:
1325
+ - Storage implementations for InMemory, PostgreSQL, LibSQL, Upstash
1326
+ - API endpoint: `POST /api/memory/threads/:threadId/clone`
1327
+ - Embeddings created for cloned messages (semantic recall)
1328
+ - Clone button in playground UI Memory tab
1329
+
1330
+ - Make agentId optional for memory read operations (getThread, listThreads, listMessages) ([#11540](https://github.com/mastra-ai/mastra/pull/11540))
1331
+
1332
+ When workflows use multiple agents sharing the same threadId/resourceId, users can now retrieve threads and messages without specifying an agentId. The server falls back to using storage directly when agentId is not provided.
1333
+
1334
+ - Updated dependencies [[`d2d3e22`](https://github.com/mastra-ai/mastra/commit/d2d3e22a419ee243f8812a84e3453dd44365ecb0), [`bc72b52`](https://github.com/mastra-ai/mastra/commit/bc72b529ee4478fe89ecd85a8be47ce0127b82a0), [`05b8bee`](https://github.com/mastra-ai/mastra/commit/05b8bee9e50e6c2a4a2bf210eca25ee212ca24fa), [`c042bd0`](https://github.com/mastra-ai/mastra/commit/c042bd0b743e0e86199d0cb83344ca7690e34a9c), [`940a2b2`](https://github.com/mastra-ai/mastra/commit/940a2b27480626ed7e74f55806dcd2181c1dd0c2), [`e0941c3`](https://github.com/mastra-ai/mastra/commit/e0941c3d7fc75695d5d258e7008fd5d6e650800c), [`0c0580a`](https://github.com/mastra-ai/mastra/commit/0c0580a42f697cd2a7d5973f25bfe7da9055038a), [`28f5f89`](https://github.com/mastra-ai/mastra/commit/28f5f89705f2409921e3c45178796c0e0d0bbb64), [`e601b27`](https://github.com/mastra-ai/mastra/commit/e601b272c70f3a5ecca610373aa6223012704892), [`3d3366f`](https://github.com/mastra-ai/mastra/commit/3d3366f31683e7137d126a3a57174a222c5801fb), [`5a4953f`](https://github.com/mastra-ai/mastra/commit/5a4953f7d25bb15ca31ed16038092a39cb3f98b3), [`eb9e522`](https://github.com/mastra-ai/mastra/commit/eb9e522ce3070a405e5b949b7bf5609ca51d7fe2), [`20e6f19`](https://github.com/mastra-ai/mastra/commit/20e6f1971d51d3ff6dd7accad8aaaae826d540ed), [`4f0b3c6`](https://github.com/mastra-ai/mastra/commit/4f0b3c66f196c06448487f680ccbb614d281e2f7), [`74c4f22`](https://github.com/mastra-ai/mastra/commit/74c4f22ed4c71e72598eacc346ba95cdbc00294f), [`81b6a8f`](https://github.com/mastra-ai/mastra/commit/81b6a8ff79f49a7549d15d66624ac1a0b8f5f971), [`e4d366a`](https://github.com/mastra-ai/mastra/commit/e4d366aeb500371dd4210d6aa8361a4c21d87034), [`a4f010b`](https://github.com/mastra-ai/mastra/commit/a4f010b22e4355a5fdee70a1fe0f6e4a692cc29e), [`73b0bb3`](https://github.com/mastra-ai/mastra/commit/73b0bb394dba7c9482eb467a97ab283dbc0ef4db), [`5627a8c`](https://github.com/mastra-ai/mastra/commit/5627a8c6dc11fe3711b3fa7a6ffd6eb34100a306), [`3ff45d1`](https://github.com/mastra-ai/mastra/commit/3ff45d10e0c80c5335a957ab563da72feb623520), [`251df45`](https://github.com/mastra-ai/mastra/commit/251df4531407dfa46d805feb40ff3fb49769f455), [`f894d14`](https://github.com/mastra-ai/mastra/commit/f894d148946629af7b1f452d65a9cf864cec3765), [`c2b9547`](https://github.com/mastra-ai/mastra/commit/c2b9547bf435f56339f23625a743b2147ab1c7a6), [`580b592`](https://github.com/mastra-ai/mastra/commit/580b5927afc82fe460dfdf9a38a902511b6b7e7f), [`58e3931`](https://github.com/mastra-ai/mastra/commit/58e3931af9baa5921688566210f00fb0c10479fa), [`08bb631`](https://github.com/mastra-ai/mastra/commit/08bb631ae2b14684b2678e3549d0b399a6f0561e), [`4fba91b`](https://github.com/mastra-ai/mastra/commit/4fba91bec7c95911dc28e369437596b152b04cd0), [`12b0cc4`](https://github.com/mastra-ai/mastra/commit/12b0cc4077d886b1a552637dedb70a7ade93528c)]:
1335
+ - @mastra/core@1.0.0-beta.20
1336
+
1337
+ ## 1.0.0-beta.19
1338
+
1339
+ ### Patch Changes
1340
+
1341
+ - Updated dependencies [[`e54953e`](https://github.com/mastra-ai/mastra/commit/e54953ed8ce1b28c0d62a19950163039af7834b4), [`7d56d92`](https://github.com/mastra-ai/mastra/commit/7d56d9213886e8353956d7d40df10045fd12b299), [`fdac646`](https://github.com/mastra-ai/mastra/commit/fdac646033a0930a1a4e00d13aa64c40bb7f1e02), [`d07b568`](https://github.com/mastra-ai/mastra/commit/d07b5687819ea8cb1dffa776d0c1765faf4aa1ae), [`70b300e`](https://github.com/mastra-ai/mastra/commit/70b300ebc631dfc0aa14e61547fef7994adb4ea6), [`68ec97d`](https://github.com/mastra-ai/mastra/commit/68ec97d4c07c6393fcf95c2481fc5d73da99f8c8), [`4aa55b3`](https://github.com/mastra-ai/mastra/commit/4aa55b383cf06043943359ea316572fd969861a7)]:
1342
+ - @mastra/core@1.0.0-beta.19
1343
+ - @mastra/schema-compat@1.0.0-beta.5
1344
+
1345
+ ## 1.0.0-beta.18
1346
+
1347
+ ### Patch Changes
1348
+
1349
+ - Updated dependencies [[`5947fcd`](https://github.com/mastra-ai/mastra/commit/5947fcdd425531f29f9422026d466c2ee3113c93)]:
1350
+ - @mastra/core@1.0.0-beta.18
1351
+
1352
+ ## 1.0.0-beta.17
1353
+
1354
+ ### Patch Changes
1355
+
1356
+ - Updated dependencies [[`b5dc973`](https://github.com/mastra-ai/mastra/commit/b5dc9733a5158850298dfb103acb3babdba8a318), [`af56599`](https://github.com/mastra-ai/mastra/commit/af56599d73244ae3bf0d7bcade656410f8ded37b)]:
1357
+ - @mastra/core@1.0.0-beta.17
1358
+ - @mastra/schema-compat@1.0.0-beta.4
1359
+
1360
+ ## 1.0.0-beta.16
1361
+
1362
+ ### Patch Changes
1363
+
1364
+ - Add `cancel()` method as an alias for `cancelRun()` in the Run class. The new method provides a more concise API while maintaining backward compatibility. Includes comprehensive documentation about abort signals and how steps can respond to cancellation. ([#11417](https://github.com/mastra-ai/mastra/pull/11417))
1365
+
1366
+ - Updated dependencies [[`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f)]:
1367
+ - @mastra/core@1.0.0-beta.16
1368
+
1369
+ ## 1.0.0-beta.15
1370
+
1371
+ ### Minor Changes
1372
+
1373
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
1374
+
1375
+ ## What changed
1376
+
1377
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
1378
+
1379
+ **Before:**
1380
+
1381
+ ```typescript
1382
+ // Old span structure
1383
+ span.agentId; // 'my-agent'
1384
+ span.toolId; // undefined
1385
+ span.workflowId; // undefined
1386
+ ```
1387
+
1388
+ **After:**
1389
+
1390
+ ```typescript
1391
+ // New span structure
1392
+ span.entityType; // EntityType.AGENT
1393
+ span.entityId; // 'my-agent'
1394
+ span.entityName; // 'My Agent'
1395
+ ```
1396
+
1397
+ ## New `listTraces()` API
1398
+
1399
+ Query traces with filtering, pagination, and sorting:
1400
+
1401
+ ```typescript
1402
+ const { spans, pagination } = await storage.listTraces({
1403
+ filters: {
1404
+ entityType: EntityType.AGENT,
1405
+ entityId: 'my-agent',
1406
+ userId: 'user-123',
1407
+ environment: 'production',
1408
+ status: TraceStatus.SUCCESS,
1409
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
1410
+ },
1411
+ pagination: { page: 0, perPage: 50 },
1412
+ orderBy: { field: 'startedAt', direction: 'DESC' },
1413
+ });
1414
+ ```
1415
+
1416
+ **Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
1417
+
1418
+ ## New retrieval methods
1419
+ - `getSpan({ traceId, spanId })` - Get a single span
1420
+ - `getRootSpan({ traceId })` - Get the root span of a trace
1421
+ - `getTrace({ traceId })` - Get all spans for a trace
1422
+
1423
+ ## Backward compatibility
1424
+
1425
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
1426
+
1427
+ ## Migration
1428
+
1429
+ **Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
1430
+
1431
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
1432
+
1433
+ ### Patch Changes
1434
+
1435
+ - Add debugger-like click-through UI to workflow graph ([#11350](https://github.com/mastra-ai/mastra/pull/11350))
1436
+
1437
+ - Add `getSystemPackages()` method to retrieve installed Mastra packages and their versions from the server ([#11211](https://github.com/mastra-ai/mastra/pull/11211))
1438
+
1439
+ - Fix error parsing json body for reset agent endpoint ([#11379](https://github.com/mastra-ai/mastra/pull/11379))
1440
+
1441
+ - Updated dependencies [[`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde)]:
1442
+ - @mastra/core@1.0.0-beta.15
1443
+
1444
+ ## 1.0.0-beta.14
1445
+
1446
+ ### Patch Changes
1447
+
1448
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
1449
+
1450
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
1451
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
1452
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
1453
+
1454
+ This significantly reduces response payload size and improves response times for large workflows.
1455
+
1456
+ ## Server Endpoint Usage
1457
+
1458
+ ```http
1459
+ # Get only status (minimal payload - fastest)
1460
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
1461
+
1462
+ # Get status and result
1463
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
1464
+
1465
+ # Get all fields but without nested workflow data (faster)
1466
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
1467
+
1468
+ # Get only specific fields without nested workflow data
1469
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
1470
+
1471
+ # Get full data (default behavior)
1472
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
1473
+ ```
1474
+
1475
+ ## Client SDK Usage
1476
+
1477
+ ```typescript
1478
+ import { MastraClient } from '@mastra/client-js';
1479
+
1480
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
1481
+ const workflow = client.getWorkflow('myWorkflow');
1482
+
1483
+ // Get only status (minimal payload - fastest)
1484
+ const statusOnly = await workflow.runExecutionResult(runId, {
1485
+ fields: ['status'],
1486
+ });
1487
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
1488
+
1489
+ // Get status and result
1490
+ const statusAndResult = await workflow.runExecutionResult(runId, {
1491
+ fields: ['status', 'result'],
1492
+ });
1493
+
1494
+ // Get all fields but without nested workflow data (faster)
1495
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
1496
+ withNestedWorkflows: false,
1497
+ });
1498
+
1499
+ // Get specific fields without nested workflow data
1500
+ const optimized = await workflow.runExecutionResult(runId, {
1501
+ fields: ['status', 'steps'],
1502
+ withNestedWorkflows: false,
1503
+ });
1504
+
1505
+ // Get full execution result (default behavior)
1506
+ const fullResult = await workflow.runExecutionResult(runId);
1507
+ ```
1508
+
1509
+ ## Core API Changes
1510
+
1511
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
1512
+
1513
+ ```typescript
1514
+ await workflow.getWorkflowRunExecutionResult(runId, {
1515
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
1516
+ fields: ['status', 'result'], // optional field filtering
1517
+ });
1518
+ ```
1519
+
1520
+ ## Inngest Compatibility
1521
+
1522
+ The `@mastra/inngest` package has been updated to use the new options object API. This is a non-breaking internal change - no action required from inngest workflow users.
1523
+
1524
+ ## Performance Impact
1525
+
1526
+ For workflows with large step outputs:
1527
+ - Requesting only `status`: ~99% reduction in payload size
1528
+ - Requesting `status,result,error`: ~95% reduction in payload size
1529
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
1530
+ - Combining both: Maximum performance optimization
1531
+
1532
+ - Fix delayed promises rejecting when stream suspends on tool-call-approval ([#11278](https://github.com/mastra-ai/mastra/pull/11278))
1533
+
1534
+ When a stream ends in suspended state (e.g., requiring tool approval), the delayed promises like `toolResults`, `toolCalls`, `text`, etc. now resolve with partial results instead of rejecting with an error. This allows consumers to access data that was produced before the suspension.
1535
+
1536
+ Also improves generic type inference for `LLMStepResult` and related types throughout the streaming infrastructure.
1537
+
1538
+ - Updated dependencies [[`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7)]:
1539
+ - @mastra/core@1.0.0-beta.14
1540
+
1541
+ ## 1.0.0-beta.13
1542
+
1543
+ ### Patch Changes
1544
+
1545
+ - Updated dependencies [[`919a22b`](https://github.com/mastra-ai/mastra/commit/919a22b25876f9ed5891efe5facbe682c30ff497)]:
1546
+ - @mastra/core@1.0.0-beta.13
1547
+
1548
+ ## 1.0.0-beta.12
1549
+
1550
+ ### Patch Changes
1551
+
1552
+ - Embed AI types to fix peerdeps mismatches ([`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808))
1553
+
1554
+ - Add resourceId to workflow routes ([#11166](https://github.com/mastra-ai/mastra/pull/11166))
1555
+
1556
+ - Add `Run` instance to client-js. `workflow.createRun` returns the `Run` instance which can be used for the different run methods. ([#11207](https://github.com/mastra-ai/mastra/pull/11207))
1557
+ With this change, run methods cannot be called directly on workflow instance anymore
1558
+
1559
+ ```diff
1560
+ - const result = await workflow.stream({ runId: '123', inputData: { ... } });
1561
+ + const run = await workflow.createRun({ runId: '123' });
1562
+ + const stream = await run.stream({ inputData: { ... } });
1563
+ ```
1564
+
1565
+ - Deserialize workflow errors on the client side ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
1566
+
1567
+ When workflows fail, the server sends error data as JSON over HTTP. This change deserializes those errors back to proper `Error` instances on the client.
1568
+
1569
+ **Before:**
1570
+
1571
+ ```typescript
1572
+ const result = await workflow.startAsync({ input });
1573
+ if (result.status === 'failed') {
1574
+ // result.error was a plain object, couldn't use instanceof
1575
+ console.log(result.error.message); // TypeScript error
1576
+ }
1577
+ ```
1578
+
1579
+ **After:**
1580
+
1581
+ ```typescript
1582
+ const result = await workflow.startAsync({ input });
1583
+ if (result.status === 'failed') {
1584
+ // result.error is now a proper Error instance
1585
+ if (result.error instanceof MyCustomError) {
1586
+ console.log(result.error.statusCode); // Works!
1587
+ }
1588
+ }
1589
+ ```
1590
+
1591
+ This enables proper error handling and type checking in client applications, allowing developers to implement error-specific recovery logic based on custom error types and properties.
1592
+
1593
+ Features:
1594
+ - `instanceof Error` checks
1595
+ - Access to `error.message`, `error.name`, `error.stack`
1596
+ - Preservation of custom error properties (e.g., `statusCode`, `responseHeaders`)
1597
+ - Nested error tracking via `error.cause`
1598
+
1599
+ Affected methods:
1600
+ - `startAsync()`
1601
+ - `resumeAsync()`
1602
+ - `restartAsync()`
1603
+ - `timeTravelAsync()`
1604
+
1605
+ - Add missing status parameter to workflow.runs() method ([#11095](https://github.com/mastra-ai/mastra/pull/11095))
1606
+
1607
+ The `status` parameter was supported by the server API but was missing from the TypeScript types in @mastra/client-js.
1608
+
1609
+ Now you can filter workflow runs by status:
1610
+
1611
+ ```typescript
1612
+ // Get only running workflows
1613
+ const runningRuns = await workflow.runs({ status: 'running' });
1614
+
1615
+ // Get completed workflows
1616
+ const completedRuns = await workflow.runs({ status: 'success' });
1617
+ ```
1618
+
1619
+ - Updated dependencies [[`d5ed981`](https://github.com/mastra-ai/mastra/commit/d5ed981c8701c1b8a27a5f35a9a2f7d9244e695f), [`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808), [`932d63d`](https://github.com/mastra-ai/mastra/commit/932d63dd51be9c8bf1e00e3671fe65606c6fb9cd), [`b760b73`](https://github.com/mastra-ai/mastra/commit/b760b731aca7c8a3f041f61d57a7f125ae9cb215), [`695a621`](https://github.com/mastra-ai/mastra/commit/695a621528bdabeb87f83c2277cf2bb084c7f2b4), [`2b459f4`](https://github.com/mastra-ai/mastra/commit/2b459f466fd91688eeb2a44801dc23f7f8a887ab), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`24b76d8`](https://github.com/mastra-ai/mastra/commit/24b76d8e17656269c8ed09a0c038adb9cc2ae95a), [`243a823`](https://github.com/mastra-ai/mastra/commit/243a8239c5906f5c94e4f78b54676793f7510ae3), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`c61fac3`](https://github.com/mastra-ai/mastra/commit/c61fac3add96f0dcce0208c07415279e2537eb62), [`6f14f70`](https://github.com/mastra-ai/mastra/commit/6f14f706ccaaf81b69544b6c1b75ab66a41e5317), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`4524734`](https://github.com/mastra-ai/mastra/commit/45247343e384717a7c8404296275c56201d6470f), [`2a53598`](https://github.com/mastra-ai/mastra/commit/2a53598c6d8cfeb904a7fc74e57e526d751c8fa6), [`c7cd3c7`](https://github.com/mastra-ai/mastra/commit/c7cd3c7a187d7aaf79e2ca139de328bf609a14b4), [`847c212`](https://github.com/mastra-ai/mastra/commit/847c212caba7df0d6f2fc756b494ac3c75c3720d), [`6f941c4`](https://github.com/mastra-ai/mastra/commit/6f941c438ca5f578619788acc7608fc2e23bd176)]:
1620
+ - @mastra/core@1.0.0-beta.12
1621
+ - @mastra/schema-compat@1.0.0-beta.3
1622
+
1623
+ ## 1.0.0-beta.11
1624
+
1625
+ ### Patch Changes
1626
+
1627
+ - Support new Workflow tripwire run status. Tripwires that are thrown from within a workflow will now bubble up and return a graceful state with information about tripwires. ([#10947](https://github.com/mastra-ai/mastra/pull/10947))
1628
+
1629
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
1630
+
1631
+ ```typescript showLineNumbers copy
1632
+ const run = await workflow.createRun();
1633
+ const result = await run.start({ inputData: { message: 'Hello' } });
1634
+
1635
+ if (result.status === 'tripwire') {
1636
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
1637
+ console.log('Processor ID:', result.tripwire?.processorId);
1638
+ console.log('Retry requested:', result.tripwire?.retry);
1639
+ }
1640
+ ```
1641
+
1642
+ Adds new UI state for tripwire in agent chat and workflow UI.
1643
+
1644
+ This is distinct from `status: 'failed'` which indicates an unexpected error. A tripwire status means a processor intentionally stopped execution (e.g., for content moderation).
1645
+
1646
+ - Updated dependencies [[`38380b6`](https://github.com/mastra-ai/mastra/commit/38380b60fca905824bdf6b43df307a58efb1aa15), [`798d0c7`](https://github.com/mastra-ai/mastra/commit/798d0c740232653b1d754870e6b43a55c364ffe2), [`ffe84d5`](https://github.com/mastra-ai/mastra/commit/ffe84d54f3b0f85167fe977efd027dba027eb998), [`2c212e7`](https://github.com/mastra-ai/mastra/commit/2c212e704c90e2db83d4109e62c03f0f6ebd2667), [`4ca4306`](https://github.com/mastra-ai/mastra/commit/4ca430614daa5fa04730205a302a43bf4accfe9f), [`3bf6c5f`](https://github.com/mastra-ai/mastra/commit/3bf6c5f104c25226cd84e0c77f9dec15f2cac2db)]:
1647
+ - @mastra/core@1.0.0-beta.11
1648
+
1649
+ ## 1.0.0-beta.10
1650
+
1651
+ ### Patch Changes
1652
+
1653
+ - Add delete workflow run API ([#10991](https://github.com/mastra-ai/mastra/pull/10991))
1654
+
1655
+ ```typescript
1656
+ await workflow.deleteWorkflowRunById(runId);
1657
+ ```
1658
+
1659
+ - Updated dependencies [[`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393)]:
1660
+ - @mastra/core@1.0.0-beta.10
1661
+
1662
+ ## 1.0.0-beta.9
1663
+
1664
+ ### Patch Changes
1665
+
1666
+ - Fix `saveMessageToMemory` return type to match API response. The method now correctly returns `{ messages: (MastraMessageV1 | MastraDBMessage)[] }` instead of `(MastraMessageV1 | MastraDBMessage)[]` to align with the server endpoint response schema. ([#10996](https://github.com/mastra-ai/mastra/pull/10996))
1667
+
1668
+ - Updated dependencies [[`72df8ae`](https://github.com/mastra-ai/mastra/commit/72df8ae595584cdd7747d5c39ffaca45e4507227), [`9198899`](https://github.com/mastra-ai/mastra/commit/91988995c427b185c33714b7f3be955367911324), [`653e65a`](https://github.com/mastra-ai/mastra/commit/653e65ae1f9502c2958a32f47a5a2df11e612a92), [`c6fd6fe`](https://github.com/mastra-ai/mastra/commit/c6fd6fedd09e9cf8004b03a80925f5e94826ad7e), [`0bed332`](https://github.com/mastra-ai/mastra/commit/0bed332843f627202c6520eaf671771313cd20f3)]:
1669
+ - @mastra/core@1.0.0-beta.9
1670
+
1671
+ ## 1.0.0-beta.8
1672
+
1673
+ ### Patch Changes
1674
+
1675
+ - Updated dependencies [[`0d41fe2`](https://github.com/mastra-ai/mastra/commit/0d41fe245355dfc66d61a0d9c85d9400aac351ff), [`6b3ba91`](https://github.com/mastra-ai/mastra/commit/6b3ba91494cc10394df96782f349a4f7b1e152cc), [`7907fd1`](https://github.com/mastra-ai/mastra/commit/7907fd1c5059813b7b870b81ca71041dc807331b)]:
1676
+ - @mastra/core@1.0.0-beta.8
1677
+
1678
+ ## 1.0.0-beta.7
1679
+
1680
+ ### Patch Changes
1681
+
1682
+ - fix: standardize pagination params to page/perPage with backwards compatibility for limit/offset ([#10790](https://github.com/mastra-ai/mastra/pull/10790))
1683
+ - Server now accepts both `page`/`perPage` and legacy `limit`/`offset` params for workflow runs and MCP server listing endpoints
1684
+ - Client SDK sends both param formats to support older server versions
1685
+ - Added `createCombinedPaginationSchema` helper for endpoints needing backwards compatibility
1686
+ - Marked `limit` and `offset` as deprecated in client types
1687
+
1688
+ - feat: Add partial response support for agent and workflow list endpoints ([#10886](https://github.com/mastra-ai/mastra/pull/10886))
1689
+
1690
+ Add optional `partial` query parameter to `/api/agents` and `/api/workflows` endpoints to return minimal data without schemas, reducing payload size for list views:
1691
+ - When `partial=true`: tool schemas (inputSchema, outputSchema) are omitted
1692
+ - When `partial=true`: workflow steps are replaced with stepCount integer
1693
+ - When `partial=true`: workflow root schemas (inputSchema, outputSchema) are omitted
1694
+ - Maintains backward compatibility when partial parameter is not provided
1695
+
1696
+ ## Server Endpoint Usage
1697
+
1698
+ ```http
1699
+ # Get partial agent data (no tool schemas)
1700
+ GET /api/agents?partial=true
1701
+
1702
+ # Get full agent data (default behavior)
1703
+ GET /api/agents
1704
+
1705
+ # Get partial workflow data (stepCount instead of steps, no schemas)
1706
+ GET /api/workflows?partial=true
1707
+
1708
+ # Get full workflow data (default behavior)
1709
+ GET /api/workflows
1710
+ ```
1711
+
1712
+ ## Client SDK Usage
1713
+
1714
+ ```typescript
1715
+ import { MastraClient } from '@mastra/client-js';
1716
+
1717
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
1718
+
1719
+ // Get partial agent list (smaller payload)
1720
+ const partialAgents = await client.listAgents({ partial: true });
1721
+
1722
+ // Get full agent list with tool schemas
1723
+ const fullAgents = await client.listAgents();
1724
+
1725
+ // Get partial workflow list (smaller payload)
1726
+ const partialWorkflows = await client.listWorkflows({ partial: true });
1727
+
1728
+ // Get full workflow list with steps and schemas
1729
+ const fullWorkflows = await client.listWorkflows();
1730
+ ```
1731
+
1732
+ - Updated dependencies [[`3076c67`](https://github.com/mastra-ai/mastra/commit/3076c6778b18988ae7d5c4c5c466366974b2d63f), [`85d7ee1`](https://github.com/mastra-ai/mastra/commit/85d7ee18ff4e14d625a8a30ec6656bb49804989b), [`c6c1092`](https://github.com/mastra-ai/mastra/commit/c6c1092f8fbf76109303f69e000e96fd1960c4ce), [`81dc110`](https://github.com/mastra-ai/mastra/commit/81dc11008d147cf5bdc8996ead1aa61dbdebb6fc), [`7aedb74`](https://github.com/mastra-ai/mastra/commit/7aedb74883adf66af38e270e4068fd42e7a37036), [`8f02d80`](https://github.com/mastra-ai/mastra/commit/8f02d800777397e4b45d7f1ad041988a8b0c6630), [`d7aad50`](https://github.com/mastra-ai/mastra/commit/d7aad501ce61646b76b4b511e558ac4eea9884d0), [`ce0a73a`](https://github.com/mastra-ai/mastra/commit/ce0a73abeaa75b10ca38f9e40a255a645d50ebfb), [`a02e542`](https://github.com/mastra-ai/mastra/commit/a02e542d23179bad250b044b17ff023caa61739f), [`a372c64`](https://github.com/mastra-ai/mastra/commit/a372c640ad1fd12e8f0613cebdc682fc156b4d95), [`8846867`](https://github.com/mastra-ai/mastra/commit/8846867ffa9a3746767618e314bebac08eb77d87), [`42a42cf`](https://github.com/mastra-ai/mastra/commit/42a42cf3132b9786feecbb8c13c583dce5b0e198), [`ae08bf0`](https://github.com/mastra-ai/mastra/commit/ae08bf0ebc6a4e4da992b711c4a389c32ba84cf4), [`21735a7`](https://github.com/mastra-ai/mastra/commit/21735a7ef306963554a69a89b44f06c3bcd85141), [`1d877b8`](https://github.com/mastra-ai/mastra/commit/1d877b8d7b536a251c1a7a18db7ddcf4f68d6f8b)]:
1733
+ - @mastra/core@1.0.0-beta.7
1734
+
1735
+ ## 1.0.0-beta.6
1736
+
1737
+ ### Minor Changes
1738
+
1739
+ - Add support for custom fetch function in MastraClient to enable environments like Tauri that require custom fetch implementations to avoid timeout errors. ([#10677](https://github.com/mastra-ai/mastra/pull/10677))
1740
+
1741
+ You can now pass a custom fetch function when creating a MastraClient:
1742
+
1743
+ ```typescript
1744
+ import { MastraClient } from '@mastra/client-js';
1745
+
1746
+ // Before: Only global fetch was available
1747
+ const client = new MastraClient({
1748
+ baseUrl: 'http://your-api-url',
1749
+ });
1750
+
1751
+ // After: Custom fetch can be passed
1752
+ const client = new MastraClient({
1753
+ baseUrl: 'http://your-api-url',
1754
+ fetch: customFetch, // Your custom fetch implementation
1755
+ });
1756
+ ```
1757
+
1758
+ If no custom fetch is provided, it falls back to the global fetch function, maintaining backward compatibility.
1759
+
1760
+ Fixes #10673
1761
+
1762
+ ### Patch Changes
1763
+
1764
+ - The client-js package had its own simpler zodToJsonSchema implementation that was missing critical features from schema-compat. This could cause issues when users pass Zod schemas with `z.record()` or `z.date()` through the MastraClient. ([#10730](https://github.com/mastra-ai/mastra/pull/10730))
1765
+
1766
+ Now the client uses the same implementation as the rest of the codebase, which includes the Zod v4 `z.record()` bug fix, date-time format conversion for `z.date()`, and proper handling of unrepresentable types.
1767
+
1768
+ Also removes the now-unused `zod-to-json-schema` dependency from client-js.
1769
+
1770
+ - Fix wrong arguments type in list workflow runs ([#10755](https://github.com/mastra-ai/mastra/pull/10755))
1771
+
1772
+ - Adjust the generate / stream types to accept tracingOptions ([#10742](https://github.com/mastra-ai/mastra/pull/10742))
1773
+
1774
+ - fix(a2a): fix streaming and memory support for A2A protocol ([#10653](https://github.com/mastra-ai/mastra/pull/10653))
1775
+
1776
+ **Client (`@mastra/client-js`):**
1777
+ - Fixed `sendStreamingMessage` to properly return a streaming response instead of attempting to parse it as JSON
1778
+
1779
+ **Server (`@mastra/server`):**
1780
+ - Fixed A2A message handler to pass `contextId` as `threadId` for memory persistence across conversations
1781
+ - Added support for user-provided `resourceId` via `params.metadata.resourceId` or `message.metadata.resourceId`, falling back to `agentId`
1782
+
1783
+ - Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749)]:
1784
+ - @mastra/core@1.0.0-beta.6
1785
+ - @mastra/schema-compat@1.0.0-beta.2
1786
+
1787
+ ## 1.0.0-beta.5
1788
+
1789
+ ### Patch Changes
1790
+
1791
+ - Add timeTravel APIs and add timeTravel feature to studio ([#10361](https://github.com/mastra-ai/mastra/pull/10361))
1792
+
1793
+ - Updated dependencies [[`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc)]:
1794
+ - @mastra/core@1.0.0-beta.5
1795
+
1796
+ ## 1.0.0-beta.4
1797
+
1798
+ ### Patch Changes
1799
+
1800
+ - Include agentId parameter in listMessages API call ([#10270](https://github.com/mastra-ai/mastra/pull/10270))
1801
+
1802
+ - Added optional `description` field to `GetAgentResponse` to support richer agent metadata ([#10300](https://github.com/mastra-ai/mastra/pull/10300))
1803
+
1804
+ - Updated dependencies [[`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908)]:
1805
+ - @mastra/core@1.0.0-beta.4
1806
+
1807
+ ## 1.0.0-beta.3
1808
+
1809
+ ### Patch Changes
1810
+
1811
+ - Remove unused dependencies ([#10019](https://github.com/mastra-ai/mastra/pull/10019))
1812
+
1813
+ - 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)]:
1814
+ - @mastra/core@1.0.0-beta.3
1815
+
1816
+ ## 1.0.0-beta.2
1817
+
1818
+ ### Patch Changes
1819
+
1820
+ - Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
1821
+ - @mastra/core@1.0.0-beta.2
1822
+
1823
+ ## 1.0.0-beta.1
1824
+
1825
+ ### Patch Changes
1826
+
1827
+ - Fix clientTools execution in client js ([#9880](https://github.com/mastra-ai/mastra/pull/9880))
1828
+
1829
+ - Updated dependencies [[`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d)]:
1830
+ - @mastra/core@1.0.0-beta.1
1831
+
1832
+ ## 1.0.0-beta.0
4
1833
 
5
1834
  ### Major Changes
6
1835
 
1836
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
1837
+
1838
+ - 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))
1839
+
1840
+ - **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
1841
+
1842
+ Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
1843
+
1844
+ **Storage changes:**
1845
+ - `StoragePagination.perPage` type changed from `number` to `number | false`
1846
+ - All storage implementations support `perPage: false`:
1847
+ - Memory: `listMessages()`
1848
+ - Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
1849
+ - HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
1850
+
1851
+ **Memory changes:**
1852
+ - `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
1853
+ - Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
1854
+
1855
+ **Stricter validation:**
1856
+ - `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
1857
+
1858
+ **Migration:**
1859
+
1860
+ ```typescript
1861
+ // Storage/Memory: Replace getMessagesPaginated with listMessages
1862
+ - storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
1863
+ + storage.listMessages({ threadId, page: 0, perPage: 20 })
1864
+ + storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
1865
+
1866
+ // Memory: Replace selectBy with flat parameters
1867
+ - memory.query({ threadId, selectBy: { last: 20, include: [...] } })
1868
+ + memory.query({ threadId, perPage: 20, include: [...] })
1869
+
1870
+ // Client SDK
1871
+ - thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
1872
+ + thread.listMessages({ page: 0, perPage: 20 })
1873
+ ```
1874
+
1875
+ - # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
1876
+
1877
+ ## Storage Layer
1878
+
1879
+ ### BREAKING: Removed `storage.getMessages()`
1880
+
1881
+ The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
1882
+
1883
+ **Migration:**
1884
+
1885
+ ```typescript
1886
+ // Before
1887
+ const messages = await storage.getMessages({ threadId: 'thread-1' });
1888
+
1889
+ // After
1890
+ const result = await storage.listMessages({
1891
+ threadId: 'thread-1',
1892
+ page: 0,
1893
+ perPage: 50,
1894
+ });
1895
+ const messages = result.messages; // Access messages array
1896
+ console.log(result.total); // Total count
1897
+ console.log(result.hasMore); // Whether more pages exist
1898
+ ```
1899
+
1900
+ ### Message ordering default
1901
+
1902
+ `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
1903
+
1904
+ **To use DESC ordering (newest first):**
1905
+
1906
+ ```typescript
1907
+ const result = await storage.listMessages({
1908
+ threadId: 'thread-1',
1909
+ orderBy: { field: 'createdAt', direction: 'DESC' },
1910
+ });
1911
+ ```
1912
+
1913
+ ## Client SDK
1914
+
1915
+ ### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
1916
+
1917
+ **Migration:**
1918
+
1919
+ ```typescript
1920
+ // Before
1921
+ const response = await client.getThreadMessages(threadId, { agentId });
1922
+
1923
+ // After
1924
+ const response = await client.listThreadMessages(threadId, { agentId });
1925
+ ```
1926
+
1927
+ The response format remains the same.
1928
+
1929
+ ## Type Changes
1930
+
1931
+ ### BREAKING: Removed `StorageGetMessagesArg` type
1932
+
1933
+ Use `StorageListMessagesInput` instead:
1934
+
1935
+ ```typescript
1936
+ // Before
1937
+ import type { StorageGetMessagesArg } from '@mastra/core';
1938
+
1939
+ // After
1940
+ import type { StorageListMessagesInput } from '@mastra/core';
1941
+ ```
1942
+
1943
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
1944
+
1945
+ - 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))
1946
+
1947
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
1948
+
1949
+ - 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))
1950
+
1951
+ - Remove deprecated methods from client-js ([#9480](https://github.com/mastra-ai/mastra/pull/9480))
1952
+
1953
+ - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
1954
+
1955
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
1956
+
1957
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
1958
+
1959
+ ### What's Changed
1960
+ - Removed legacy v1 watch event handlers and types
1961
+ - Renamed `watch-v2` to `watch` throughout the codebase
1962
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
1963
+ - Removed `/watch` HTTP endpoints from server and deployer
1964
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
1965
+
1966
+ - **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
1967
+
1968
+ 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.
1969
+
1970
+ **Affected APIs:**
1971
+ - `Memory.listThreadsByResourceId()`
1972
+ - `Memory.listMessages()`
1973
+ - `Storage.listWorkflowRuns()`
1974
+
1975
+ **Migration:**
1976
+
1977
+ ```typescript
1978
+ // Before
1979
+ await memory.listThreadsByResourceId({
1980
+ resourceId: 'user-123',
1981
+ offset: 20,
1982
+ limit: 10,
1983
+ });
1984
+
1985
+ // After
1986
+ await memory.listThreadsByResourceId({
1987
+ resourceId: 'user-123',
1988
+ page: 2, // page = Math.floor(offset / limit)
1989
+ perPage: 10,
1990
+ });
1991
+
1992
+ // Before
1993
+ await memory.listMessages({
1994
+ threadId: 'thread-456',
1995
+ offset: 20,
1996
+ limit: 10,
1997
+ });
1998
+
1999
+ // After
2000
+ await memory.listMessages({
2001
+ threadId: 'thread-456',
2002
+ page: 2,
2003
+ perPage: 10,
2004
+ });
2005
+
2006
+ // Before
2007
+ await storage.listWorkflowRuns({
2008
+ workflowName: 'my-workflow',
2009
+ offset: 20,
2010
+ limit: 10,
2011
+ });
2012
+
2013
+ // After
2014
+ await storage.listWorkflowRuns({
2015
+ workflowName: 'my-workflow',
2016
+ page: 2,
2017
+ perPage: 10,
2018
+ });
2019
+ ```
2020
+
2021
+ **Additional improvements:**
2022
+ - Added validation for negative `page` values in all storage implementations
2023
+ - Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
2024
+ - Added reusable query parser utilities for consistent validation in handlers
2025
+
2026
+ - ```([#9709](https://github.com/mastra-ai/mastra/pull/9709))
2027
+ import { Mastra } from '@mastra/core';
2028
+ import { Observability } from '@mastra/observability'; // Explicit import
2029
+
2030
+ const mastra = new Mastra({
2031
+ ...other_config,
2032
+ observability: new Observability({
2033
+ default: { enabled: true }
2034
+ }) // Instance
2035
+ });
2036
+ ```
2037
+
2038
+ Instead of:
2039
+
2040
+ ```
2041
+ import { Mastra } from '@mastra/core';
2042
+ import '@mastra/observability/init'; // Explicit import
2043
+
2044
+ const mastra = new Mastra({
2045
+ ...other_config,
2046
+ observability: {
2047
+ default: { enabled: true }
2048
+ }
2049
+ });
2050
+ ```
2051
+
2052
+ Also renamed a bunch of:
2053
+ - `Tracing` things to `Observability` things.
2054
+ - `AI-` things to just things.
2055
+
2056
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
2057
+
7
2058
  - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
8
2059
 
2060
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
2061
+
2062
+ - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
2063
+ 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
2064
+
2065
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
2066
+
2067
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
2068
+
9
2069
  ### Minor Changes
10
2070
 
11
2071
  - Add observeStream support for agent-builder template installation ([#9372](https://github.com/mastra-ai/mastra/pull/9372))
@@ -18,22 +2078,78 @@
18
2078
 
19
2079
  - Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
20
2080
 
2081
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
2082
+
2083
+ Consolidated the 3 different execution contexts to one
2084
+
2085
+ ```typescript
2086
+ // before depending on the context the tool was executed in
2087
+ tool.execute({ context: data });
2088
+ tool.execute({ context: { inputData: data } });
2089
+ tool.execute(data);
2090
+
2091
+ // now, for all contexts
2092
+ tool.execute(data, context);
2093
+ ```
2094
+
2095
+ **Before:**
2096
+
2097
+ ```typescript
2098
+ inputSchema: z.object({ something: z.string() }),
2099
+ execute: async ({ context, tracingContext, runId, ... }) => {
2100
+ return doSomething(context.string);
2101
+ }
2102
+ ```
2103
+
2104
+ **After:**
2105
+
2106
+ ```typescript
2107
+ inputSchema: z.object({ something: z.string() }),
2108
+ execute: async (inputData, context) => {
2109
+ const { agent, mcp, workflow, ...sharedContext } = context
2110
+
2111
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
2112
+ if (agent) {
2113
+ doSomething(inputData.something, agent)
2114
+ // context that only a workflow would get like runId, state, suspend, resume, etc
2115
+ } else if (workflow) {
2116
+ doSomething(inputData.something, workflow)
2117
+ // context that only a workflow would get like "extra", "elicitation"
2118
+ } else if (mcp) {
2119
+ doSomething(inputData.something, mcp)
2120
+ } else {
2121
+ // Running a tool in no execution context
2122
+ return doSomething(inputData.something);
2123
+ }
2124
+ }
2125
+ ```
2126
+
21
2127
  - Add search memory in client-js ([#9326](https://github.com/mastra-ai/mastra/pull/9326))
22
2128
 
23
2129
  - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
24
2130
 
25
2131
  - Fix error handling and serialization in agent streaming to ensure errors are consistently exposed and preserved. ([#9144](https://github.com/mastra-ai/mastra/pull/9144))
26
2132
 
2133
+ - 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))
2134
+
27
2135
  - Move the enhance instruction fetch call to client-js ([#9302](https://github.com/mastra-ai/mastra/pull/9302))
28
2136
 
2137
+ - fix list memory ([#9751](https://github.com/mastra-ai/mastra/pull/9751))
2138
+
2139
+ - Remove unused /model-providers API ([#9533](https://github.com/mastra-ai/mastra/pull/9533))
2140
+
2141
+ - Backward compat for list threads ([#9758](https://github.com/mastra-ai/mastra/pull/9758))
2142
+
29
2143
  - add client-js function to fetch model providers ([#9376](https://github.com/mastra-ai/mastra/pull/9376))
30
2144
 
31
2145
  - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
32
2146
 
33
2147
  - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
34
2148
 
35
- - Updated dependencies [[`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`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), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`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), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`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)]:
36
- - @mastra/core@0.0.0-bundle-recursion-20251030002519
2149
+ - 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))
2150
+
2151
+ - 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)]:
2152
+ - @mastra/core@1.0.0-beta.0
37
2153
 
38
2154
  ## 0.16.4
39
2155