@mastra/inngest 0.0.0-unified-sidebar-20251010130811 → 0.0.0-unified-workspace-snapshot-20260128233410

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,20 +1,1784 @@
1
1
  # @mastra/inngest
2
2
 
3
- ## 0.0.0-unified-sidebar-20251010130811
3
+ ## 0.0.0-unified-workspace-snapshot-20260128233410
4
+
5
+ ### Patch Changes
6
+
7
+ - Added requestContextSchema type support. ([#12259](https://github.com/mastra-ai/mastra/pull/12259))
8
+
9
+ - Updated dependencies [[`90fc0e5`](https://github.com/mastra-ai/mastra/commit/90fc0e5717cb280c2d4acf4f0410b510bb4c0a72), [`1cf5d2e`](https://github.com/mastra-ai/mastra/commit/1cf5d2ea1b085be23e34fb506c80c80a4e6d9c2b), [`943772b`](https://github.com/mastra-ai/mastra/commit/943772b4378f625f0f4e19ea2b7c392bd8e71786), [`b5c711b`](https://github.com/mastra-ai/mastra/commit/b5c711b281dd1fb81a399a766bc9f86c55efc13e), [`3efbe5a`](https://github.com/mastra-ai/mastra/commit/3efbe5ae20864c4f3143457f4f3ee7dc2fa5ca76), [`1e49e7a`](https://github.com/mastra-ai/mastra/commit/1e49e7ab5f173582154cb26b29d424de67d09aef), [`30e1998`](https://github.com/mastra-ai/mastra/commit/30e1998941bc9f8161371379381d7477480e4ce3), [`771ad96`](https://github.com/mastra-ai/mastra/commit/771ad962441996b5c43549391a3e6a02c6ddedc2), [`2b0936b`](https://github.com/mastra-ai/mastra/commit/2b0936b0c9a43eeed9bef63e614d7e02ee803f7e), [`3b04f30`](https://github.com/mastra-ai/mastra/commit/3b04f3010604f3cdfc8a0674731700ad66471cee), [`97e26de`](https://github.com/mastra-ai/mastra/commit/97e26deaebd9836647a67b96423281d66421ca07), [`10523f4`](https://github.com/mastra-ai/mastra/commit/10523f4882d9b874b40ce6e3715f66dbcd4947d2), [`cb72d20`](https://github.com/mastra-ai/mastra/commit/cb72d2069d7339bda8a0e76d4f35615debb07b84), [`42856b1`](https://github.com/mastra-ai/mastra/commit/42856b1c8aeea6371c9ee77ae2f5f5fe34400933), [`66f33ff`](https://github.com/mastra-ai/mastra/commit/66f33ff68620018513e499c394411d1d39b3aa5c), [`ab3c190`](https://github.com/mastra-ai/mastra/commit/ab3c1901980a99910ca9b96a7090c22e24060113), [`d4f06c8`](https://github.com/mastra-ai/mastra/commit/d4f06c85ffa5bb0da38fb82ebf3b040cc6b4ec4e), [`0350626`](https://github.com/mastra-ai/mastra/commit/03506267ec41b67add80d994c0c0fcce93bbc75f), [`bc9fa00`](https://github.com/mastra-ai/mastra/commit/bc9fa00859c5c4a796d53a0a5cae46ab4a3072e4), [`f46a478`](https://github.com/mastra-ai/mastra/commit/f46a4782f595949c696569e891f81c8d26338508), [`90fc0e5`](https://github.com/mastra-ai/mastra/commit/90fc0e5717cb280c2d4acf4f0410b510bb4c0a72), [`f05a3a5`](https://github.com/mastra-ai/mastra/commit/f05a3a5cf2b9a9c2d40c09cb8c762a4b6cd5d565), [`a291da9`](https://github.com/mastra-ai/mastra/commit/a291da9363efd92dafd8775dccb4f2d0511ece7a), [`c5d71da`](https://github.com/mastra-ai/mastra/commit/c5d71da1c680ce5640b1a7f8ca0e024a4ab1cfed), [`07042f9`](https://github.com/mastra-ai/mastra/commit/07042f9f89080f38b8f72713ba1c972d5b1905b8)]:
10
+ - @mastra/core@0.0.0-unified-workspace-snapshot-20260128233410
11
+
12
+ ## 1.0.0
13
+
14
+ ### Major Changes
15
+
16
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
17
+
18
+ - Refactor workflow and tool types to remove Zod-specific constraints ([#11814](https://github.com/mastra-ai/mastra/pull/11814))
19
+
20
+ Removed Zod-specific type constraints across all workflow implementations and tool types, replacing them with generic types. This ensures type consistency across default, evented, and inngest workflows while preparing for Zod v4 migration.
21
+
22
+ **Workflow Changes:**
23
+ - Removed `z.ZodObject<any>` and `z.ZodType<any>` constraints from all workflow generic types
24
+ - Updated method signatures to use `TInput` and `TState` directly instead of `z.infer<TInput>` and `z.infer<TState>`
25
+ - Aligned conditional types across all workflow implementations using `TInput extends unknown` pattern
26
+ - Fixed `TSteps` generic to properly use `TEngineType` instead of `any`
27
+
28
+ **Tool Changes:**
29
+ - Removed Zod schema constraints from `ToolExecutionContext` and related interfaces
30
+ - Simplified type parameters from `TSuspendSchema extends ZodLikeSchema` to `TSuspend` and `TResume`
31
+ - Updated tool execution context types to use generic types
32
+
33
+ **Type Utilities:**
34
+ - Refactored type helpers to work with generic schemas instead of Zod-specific types
35
+ - Updated type extraction utilities for better compatibility
36
+
37
+ This change maintains backward compatibility while improving type consistency and preparing for Zod v4 support across all affected packages.
38
+
39
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
40
+
41
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
42
+
43
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
44
+
45
+ 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.
46
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
47
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
48
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
49
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
50
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
51
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
52
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
53
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
54
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
55
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
56
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
57
+ - Network route and streaming APIs updated to use plain OUTPUT generic
58
+
59
+ **Before:**
60
+
61
+ ```typescript
62
+ const output = await agent.generate<z.ZodType>([...], {
63
+ structuredOutput: { schema: mySchema }
64
+ });
65
+
66
+ **After:**
67
+ const output = await agent.generate<z.infer<typeof mySchema>>([...], {
68
+ structuredOutput: { schema: mySchema }
69
+ });
70
+ // Or rely on type inference:
71
+ const output = await agent.generate([...], {
72
+ structuredOutput: { schema: mySchema }
73
+ });
74
+
75
+ ```
76
+
77
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
78
+
79
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
80
+
81
+ **What's Changed**
82
+ - Removed legacy v1 watch event handlers and types
83
+ - Renamed `watch-v2` to `watch` throughout the codebase
84
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
85
+ - Removed `/watch` HTTP endpoints from server and deployer
86
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
87
+
88
+ - ```ts ([#9709](https://github.com/mastra-ai/mastra/pull/9709))
89
+ import { Mastra } from '@mastra/core';
90
+ import { Observability } from '@mastra/observability'; // Explicit import
91
+
92
+ const mastra = new Mastra({
93
+ ...other_config,
94
+ observability: new Observability({
95
+ default: { enabled: true },
96
+ }), // Instance
97
+ });
98
+ ```
99
+
100
+ Instead of:
101
+
102
+ ```ts
103
+ import { Mastra } from '@mastra/core';
104
+ import '@mastra/observability/init'; // Explicit import
105
+
106
+ const mastra = new Mastra({
107
+ ...other_config,
108
+ observability: {
109
+ default: { enabled: true },
110
+ },
111
+ });
112
+ ```
113
+
114
+ Also renamed a bunch of:
115
+ - `Tracing` things to `Observability` things.
116
+ - `AI-` things to just things.
117
+
118
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
119
+
120
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
121
+
122
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
123
+
124
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
125
+
126
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
127
+
128
+ ### Minor Changes
129
+
130
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
131
+
132
+ - Update peer dependencies to match core package version bump (0.22.1) ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
133
+
134
+ - Update peer dependencies to match core package version bump (0.22.3) ([#9153](https://github.com/mastra-ai/mastra/pull/9153))
135
+
136
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
137
+
138
+ ## What changed
139
+
140
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
141
+
142
+ **Before:**
143
+
144
+ ```typescript
145
+ // Old span structure
146
+ span.agentId; // 'my-agent'
147
+ span.toolId; // undefined
148
+ span.workflowId; // undefined
149
+ ```
150
+
151
+ **After:**
152
+
153
+ ```typescript
154
+ // New span structure
155
+ span.entityType; // EntityType.AGENT
156
+ span.entityId; // 'my-agent'
157
+ span.entityName; // 'My Agent'
158
+ ```
159
+
160
+ ## New `listTraces()` API
161
+
162
+ Query traces with filtering, pagination, and sorting:
163
+
164
+ ```typescript
165
+ const { spans, pagination } = await storage.listTraces({
166
+ filters: {
167
+ entityType: EntityType.AGENT,
168
+ entityId: 'my-agent',
169
+ userId: 'user-123',
170
+ environment: 'production',
171
+ status: TraceStatus.SUCCESS,
172
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
173
+ },
174
+ pagination: { page: 0, perPage: 50 },
175
+ orderBy: { field: 'startedAt', direction: 'DESC' },
176
+ });
177
+ ```
178
+
179
+ **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`.
180
+
181
+ ## New retrieval methods
182
+ - `getSpan({ traceId, spanId })` - Get a single span
183
+ - `getRootSpan({ traceId })` - Get the root span of a trace
184
+ - `getTrace({ traceId })` - Get all spans for a trace
185
+
186
+ ## Backward compatibility
187
+
188
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
189
+
190
+ ## Migration
191
+
192
+ **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`.
193
+
194
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
195
+
196
+ - Added `createServe` factory function to support multiple web framework adapters for Inngest workflows. ([#11667](https://github.com/mastra-ai/mastra/pull/11667))
197
+
198
+ Previously, the `serve` function only supported Hono. Now you can use any framework adapter provided by the Inngest package (Express, Fastify, Koa, Next.js, and more).
199
+
200
+ **Before (Hono only)**
201
+
202
+ ```typescript
203
+ import { serve } from '@mastra/inngest';
204
+
205
+ // Only worked with Hono
206
+ app.all('/api/inngest', c => serve({ mastra, inngest })(c));
207
+ ```
208
+
209
+ **After (any framework)**
210
+
211
+ ```typescript
212
+ import { createServe } from '@mastra/inngest';
213
+ import { serve as expressAdapter } from 'inngest/express';
214
+ import { serve as fastifyAdapter } from 'inngest/fastify';
215
+
216
+ // Express
217
+ app.use('/api/inngest', createServe(expressAdapter)({ mastra, inngest }));
218
+
219
+ // Fastify
220
+ fastify.route({
221
+ method: ['GET', 'POST', 'PUT'],
222
+ url: '/api/inngest',
223
+ handler: createServe(fastifyAdapter)({ mastra, inngest }),
224
+ });
225
+ ```
226
+
227
+ The existing `serve` export remains available for backward compatibility with Hono.
228
+
229
+ Fixes #10053
230
+
231
+ ### Patch Changes
232
+
233
+ - dependencies updates: ([#10120](https://github.com/mastra-ai/mastra/pull/10120))
234
+ - Updated dependency [`@inngest/realtime@^0.4.5` ↗︎](https://www.npmjs.com/package/@inngest/realtime/v/0.4.5) (from `^0.4.4`, in `dependencies`)
235
+
236
+ - Add support for `retries` and `scorers` parameters across all `createStep` overloads.
237
+ ([#11495](https://github.com/mastra-ai/mastra/pull/11495))
238
+
239
+ The `createStep` function now includes support for the `retries` and `scorers` fields across all step creation patterns, enabling step-level retry configuration and AI evaluation support for regular steps, agent-based steps, and tool-based steps.
240
+
241
+ ```typescript
242
+ import { init } from '@mastra/inngest';
243
+ import { z } from 'zod';
244
+
245
+ const { createStep } = init(inngest);
246
+
247
+ // 1. Regular step with retries
248
+ const regularStep = createStep({
249
+ id: 'api-call',
250
+ inputSchema: z.object({ url: z.string() }),
251
+ outputSchema: z.object({ data: z.any() }),
252
+ retries: 3, // ← Will retry up to 3 times on failure
253
+ execute: async ({ inputData }) => {
254
+ const response = await fetch(inputData.url);
255
+ return { data: await response.json() };
256
+ },
257
+ });
258
+
259
+ // 2. Agent step with retries and scorers
260
+ const agentStep = createStep(myAgent, {
261
+ retries: 3,
262
+ scorers: [{ id: 'accuracy-scorer', scorer: myAccuracyScorer }],
263
+ });
264
+
265
+ // 3. Tool step with retries and scorers
266
+ const toolStep = createStep(myTool, {
267
+ retries: 2,
268
+ scorers: [{ id: 'quality-scorer', scorer: myQualityScorer }],
269
+ });
270
+ ```
271
+
272
+ This change ensures API consistency across all `createStep` overloads. All step types now support retry and evaluation configurations.
273
+
274
+ This is a non-breaking change - steps without these parameters continue to work exactly as before.
275
+
276
+ Fixes #9351
277
+
278
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
279
+
280
+ ```diff
281
+ + const run = await workflow.createRun({ runId: '123' });
282
+ - const stream = await run.streamVNext({ inputData: { ... } });
283
+ + const stream = await run.stream({ inputData: { ... } });
284
+ ```
285
+
286
+ - Add additional context to workflow `onFinish` and `onError` callbacks ([#11705](https://github.com/mastra-ai/mastra/pull/11705))
287
+
288
+ The `onFinish` and `onError` lifecycle callbacks now receive additional properties:
289
+ - `runId` - The unique identifier for the workflow run
290
+ - `workflowId` - The workflow's identifier
291
+ - `resourceId` - Optional resource identifier (if provided when creating the run)
292
+ - `getInitData()` - Function that returns the initial input data passed to the workflow
293
+ - `mastra` - The Mastra instance (if workflow is registered with Mastra)
294
+ - `requestContext` - Request-scoped context data
295
+ - `logger` - The workflow's logger instance
296
+ - `state` - The workflow's current state object
297
+
298
+ ```typescript
299
+ const workflow = createWorkflow({
300
+ id: 'order-processing',
301
+ inputSchema: z.object({ orderId: z.string() }),
302
+ outputSchema: z.object({ status: z.string() }),
303
+ options: {
304
+ onFinish: async ({ runId, workflowId, getInitData, logger, state, mastra }) => {
305
+ const inputData = getInitData();
306
+ logger.info(`Workflow ${workflowId} run ${runId} completed`, {
307
+ orderId: inputData.orderId,
308
+ finalState: state,
309
+ });
310
+
311
+ // Access other Mastra components if needed
312
+ const agent = mastra?.getAgent('notification-agent');
313
+ },
314
+ onError: async ({ runId, workflowId, error, logger, requestContext }) => {
315
+ logger.error(`Workflow ${workflowId} run ${runId} failed: ${error?.message}`);
316
+ // Access request context for additional debugging
317
+ const userId = requestContext.get('userId');
318
+ },
319
+ },
320
+ });
321
+ ```
322
+
323
+ - Deprecate `runCount` parameter in favor of `retryCount` for better naming clarity. The name `runCount` was misleading as it doesn't represent the total number of times a step has run, but rather the number of retry attempts made for a step. ([#9153](https://github.com/mastra-ai/mastra/pull/9153))
324
+
325
+ `runCount` is available in `execute()` functions and methods that interact with the step execution. This also applies to condition functions and loop condition functions that use this parameter. If your code uses `runCount`, change the name to `retryCount`.
326
+
327
+ Here's an example migration:
328
+
329
+ ```diff
330
+ const myStep = createStep({
331
+ // Rest of step...
332
+ - execute: async ({ runCount, ...params }) => {
333
+ + execute: async ({ retryCount, ...params }) => {
334
+ // ... rest of your logic
335
+ }
336
+ });
337
+ ```
338
+
339
+ - - Fix tool suspension throwing error when `outputSchema` is passed to tool during creation ([#10444](https://github.com/mastra-ai/mastra/pull/10444))
340
+ - Pass `suspendSchema` and `resumeSchema` from tool into step created when creating step from tool
341
+
342
+ - Fix Inngest workflow tests by adding missing imports and updating middleware path. ([#9259](https://github.com/mastra-ai/mastra/pull/9259))
343
+
344
+ - Internal code refactoring ([#10830](https://github.com/mastra-ai/mastra/pull/10830))
345
+
346
+ - Add `onFinish` and `onError` lifecycle callbacks to workflow options ([#11200](https://github.com/mastra-ai/mastra/pull/11200))
347
+
348
+ Workflows now support lifecycle callbacks for server-side handling of workflow completion and errors:
349
+ - `onFinish`: Called when workflow completes with any status (success, failed, suspended, tripwire)
350
+ - `onError`: Called only when workflow fails (failed or tripwire status)
351
+
352
+ ```typescript
353
+ const workflow = createWorkflow({
354
+ id: 'my-workflow',
355
+ inputSchema: z.object({ ... }),
356
+ outputSchema: z.object({ ... }),
357
+ options: {
358
+ onFinish: async (result) => {
359
+ // Handle any workflow completion
360
+ await updateJobStatus(result.status);
361
+ },
362
+ onError: async (errorInfo) => {
363
+ // Handle workflow failures
364
+ await logError(errorInfo.error);
365
+ },
366
+ },
367
+ });
368
+ ```
369
+
370
+ Both callbacks support sync and async functions. Callback errors are caught and logged, not propagated to the workflow result.
371
+
372
+ - Include `.input` in workflow results for both engines and remove the option to omit them from Inngest workflows. ([#10688](https://github.com/mastra-ai/mastra/pull/10688))
373
+
374
+ - Add support for typed structured output in agent workflow steps ([#11014](https://github.com/mastra-ai/mastra/pull/11014))
375
+
376
+ When wrapping an agent with `createStep()` and providing a `structuredOutput.schema`, the step's `outputSchema` is now correctly inferred from the provided schema instead of defaulting to `{ text: string }`.
377
+
378
+ This enables type-safe chaining of agent steps with structured output to subsequent steps:
379
+
380
+ ```typescript
381
+ const articleSchema = z.object({
382
+ title: z.string(),
383
+ summary: z.string(),
384
+ tags: z.array(z.string()),
385
+ });
386
+
387
+ // Agent step with structured output - outputSchema is now articleSchema
388
+ const agentStep = createStep(agent, {
389
+ structuredOutput: { schema: articleSchema },
390
+ });
391
+
392
+ // Next step can receive the structured output directly
393
+ const processStep = createStep({
394
+ id: 'process',
395
+ inputSchema: articleSchema, // Matches agent's outputSchema
396
+ outputSchema: z.object({ tagCount: z.number() }),
397
+ execute: async ({ inputData }) => ({
398
+ tagCount: inputData.tags.length, // Fully typed!
399
+ }),
400
+ });
401
+
402
+ workflow.then(agentStep).then(processStep).commit();
403
+ ```
404
+
405
+ When `structuredOutput` is not provided, the agent step continues to use the default `{ text: string }` output schema.
406
+
407
+ - Preserve error details when thrown from workflow steps ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
408
+ - Errors thrown in workflow steps now preserve full error details including `cause` chain and custom properties
409
+ - Added `SerializedError` type with proper cause chain support
410
+ - Added `SerializedStepResult` and `SerializedStepFailure` types for handling errors loaded from storage
411
+ - Enhanced `addErrorToJSON` to recursively serialize error cause chains with max depth protection
412
+ - Added `hydrateSerializedStepErrors` to convert serialized errors back to Error instances
413
+ - Fixed Inngest workflow error handling to extract original error from `NonRetriableError.cause`
414
+
415
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
416
+
417
+ Consolidated the 3 different execution contexts to one
418
+
419
+ ```typescript
420
+ // before depending on the context the tool was executed in
421
+ tool.execute({ context: data });
422
+ tool.execute({ context: { inputData: data } });
423
+ tool.execute(data);
424
+
425
+ // now, for all contexts
426
+ tool.execute(data, context);
427
+ ```
428
+
429
+ **Before:**
430
+
431
+ ```typescript
432
+ inputSchema: z.object({ something: z.string() }),
433
+ execute: async ({ context, tracingContext, runId, ... }) => {
434
+ return doSomething(context.string);
435
+ }
436
+ ```
437
+
438
+ **After:**
439
+
440
+ ```typescript
441
+ inputSchema: z.object({ something: z.string() }),
442
+ execute: async (inputData, context) => {
443
+ const { agent, mcp, workflow, ...sharedContext } = context
444
+
445
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
446
+ if (agent) {
447
+ doSomething(inputData.something, agent)
448
+ // context that only a workflow would get like runId, state, suspend, resume, etc
449
+ } else if (workflow) {
450
+ doSomething(inputData.something, workflow)
451
+ // context that only a workflow would get like "extra", "elicitation"
452
+ } else if (mcp) {
453
+ doSomething(inputData.something, mcp)
454
+ } else {
455
+ // Running a tool in no execution context
456
+ return doSomething(inputData.something);
457
+ }
458
+ }
459
+ ```
460
+
461
+ - Refactor internal event system from Emitter to PubSub abstraction for workflow event handling. This change replaces the EventEmitter-based event system with a pluggable PubSub interface, enabling support for distributed workflow execution backends like Inngest. Adds `close()` method to PubSub implementations for proper cleanup. ([#11052](https://github.com/mastra-ai/mastra/pull/11052))
462
+
463
+ - Add `startAsync()` method and fix Inngest duplicate workflow execution bug ([#11093](https://github.com/mastra-ai/mastra/pull/11093))
464
+
465
+ **New Feature: `startAsync()` for fire-and-forget workflow execution**
466
+ - Add `Run.startAsync()` to base workflow class - starts workflow in background and returns `{ runId }` immediately
467
+ - Add `EventedRun.startAsync()` - publishes workflow start event without subscribing for completion
468
+ - Add `InngestRun.startAsync()` - sends Inngest event without polling for result
469
+
470
+ **Prevent duplicate Inngest workflow executions**
471
+ - Fix `getRuns()` to properly handle rate limits (429), empty responses, and JSON parse errors with retry logic and exponential backoff
472
+ - Fix `getRunOutput()` to throw `NonRetriableError` when polling fails, preventing Inngest from retrying the parent function and re-triggering the workflow
473
+ - Add timeout to `getRunOutput()` polling (default 5 minutes) with `NonRetriableError` on timeout
474
+
475
+ This fixes a production issue where polling failures after successful workflow completion caused Inngest to retry the parent function, which fired a new workflow event and resulted in duplicate executions (e.g., duplicate Slack messages).
476
+
477
+ - Preserve error details when thrown from workflow steps ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
478
+
479
+ Workflow errors now retain custom properties like `statusCode`, `responseHeaders`, and `cause` chains. This enables error-specific recovery logic in your applications.
480
+
481
+ **Before:**
482
+
483
+ ```typescript
484
+ const result = await workflow.execute({ input });
485
+ if (result.status === 'failed') {
486
+ // Custom error properties were lost
487
+ console.log(result.error); // "Step execution failed" (just a string)
488
+ }
489
+ ```
490
+
491
+ **After:**
492
+
493
+ ```typescript
494
+ const result = await workflow.execute({ input });
495
+ if (result.status === 'failed') {
496
+ // Custom properties are preserved
497
+ console.log(result.error.message); // "Step execution failed"
498
+ console.log(result.error.statusCode); // 429
499
+ console.log(result.error.cause?.name); // "RateLimitError"
500
+ }
501
+ ```
502
+
503
+ **Type change:** `WorkflowState.error` and `WorkflowRunState.error` types changed from `string | Error` to `SerializedError`.
504
+
505
+ Other changes:
506
+ - Added `UpdateWorkflowStateOptions` type for workflow state updates
507
+
508
+ - Improved TypeScript type inference for workflow steps. ([#11953](https://github.com/mastra-ai/mastra/pull/11953))
509
+
510
+ **What changed:**
511
+ - Step input/output type mismatches are now caught at compile time when chaining steps with `.then()`
512
+ - The `execute` function now properly infers types from `inputSchema`, `outputSchema`, `stateSchema`, and other schema parameters
513
+ - Clearer error messages when step types don't match workflow requirements
514
+
515
+ **Why:**
516
+ Previously, type errors in workflow step chains would only surface at runtime. Now TypeScript validates that each step's input requirements are satisfied by the previous step's output, helping you catch integration issues earlier in development.
517
+
518
+ - fix resumeStream type to use resumeSchema ([#10202](https://github.com/mastra-ai/mastra/pull/10202))
519
+
520
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
521
+
522
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
523
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
524
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
525
+
526
+ This significantly reduces response payload size and improves response times for large workflows.
527
+
528
+ ## Server Endpoint Usage
529
+
530
+ ```http
531
+ # Get only status (minimal payload - fastest)
532
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
533
+
534
+ # Get status and result
535
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
536
+
537
+ # Get all fields but without nested workflow data (faster)
538
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
539
+
540
+ # Get only specific fields without nested workflow data
541
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
542
+
543
+ # Get full data (default behavior)
544
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
545
+ ```
546
+
547
+ ## Client SDK Usage
548
+
549
+ ```typescript
550
+ import { MastraClient } from '@mastra/client-js';
551
+
552
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
553
+ const workflow = client.getWorkflow('myWorkflow');
554
+
555
+ // Get only status (minimal payload - fastest)
556
+ const statusOnly = await workflow.runExecutionResult(runId, {
557
+ fields: ['status'],
558
+ });
559
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
560
+
561
+ // Get status and result
562
+ const statusAndResult = await workflow.runExecutionResult(runId, {
563
+ fields: ['status', 'result'],
564
+ });
565
+
566
+ // Get all fields but without nested workflow data (faster)
567
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
568
+ withNestedWorkflows: false,
569
+ });
570
+
571
+ // Get specific fields without nested workflow data
572
+ const optimized = await workflow.runExecutionResult(runId, {
573
+ fields: ['status', 'steps'],
574
+ withNestedWorkflows: false,
575
+ });
576
+
577
+ // Get full execution result (default behavior)
578
+ const fullResult = await workflow.runExecutionResult(runId);
579
+ ```
580
+
581
+ ## Core API Changes
582
+
583
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
584
+
585
+ ```typescript
586
+ await workflow.getWorkflowRunExecutionResult(runId, {
587
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
588
+ fields: ['status', 'result'], // optional field filtering
589
+ });
590
+ ```
591
+
592
+ ## Inngest Compatibility
593
+
594
+ 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.
595
+
596
+ ## Performance Impact
597
+
598
+ For workflows with large step outputs:
599
+ - Requesting only `status`: ~99% reduction in payload size
600
+ - Requesting `status,result,error`: ~95% reduction in payload size
601
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
602
+ - Combining both: Maximum performance optimization
603
+
604
+ - Refactor storage architecture to use domain-specific stores via `getStore()` pattern ([#11361](https://github.com/mastra-ai/mastra/pull/11361))
605
+
606
+ ### Summary
607
+
608
+ This release introduces a new storage architecture that replaces passthrough methods on `MastraStorage` with domain-specific storage interfaces accessed via `getStore()`. This change reduces code duplication across storage adapters and provides a cleaner, more modular API.
609
+
610
+ ### Migration Guide
611
+
612
+ All direct method calls on storage instances should be updated to use `getStore()`:
613
+
614
+ ```typescript
615
+ // Before
616
+ const thread = await storage.getThreadById({ threadId });
617
+ await storage.persistWorkflowSnapshot({ workflowName, runId, snapshot });
618
+ await storage.createSpan(span);
619
+
620
+ // After
621
+ const memory = await storage.getStore('memory');
622
+ const thread = await memory?.getThreadById({ threadId });
623
+
624
+ const workflows = await storage.getStore('workflows');
625
+ await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
626
+
627
+ const observability = await storage.getStore('observability');
628
+ await observability?.createSpan(span);
629
+ ```
630
+
631
+ ### Available Domains
632
+ - **`memory`**: Thread and message operations (`getThreadById`, `saveThread`, `saveMessages`, etc.)
633
+ - **`workflows`**: Workflow state persistence (`persistWorkflowSnapshot`, `loadWorkflowSnapshot`, `getWorkflowRunById`, etc.)
634
+ - **`scores`**: Evaluation scores (`saveScore`, `listScoresByScorerId`, etc.)
635
+ - **`observability`**: Tracing and spans (`createSpan`, `updateSpan`, `getTrace`, etc.)
636
+ - **`agents`**: Stored agent configurations (`createAgent`, `getAgentById`, `listAgents`, etc.)
637
+
638
+ ### Breaking Changes
639
+ - Passthrough methods have been removed from `MastraStorage` base class
640
+ - All storage adapters now require accessing domains via `getStore()`
641
+ - The `stores` property on storage instances is now the canonical way to access domain storage
642
+
643
+ ### Internal Changes
644
+ - Each storage adapter now initializes domain-specific stores in its constructor
645
+ - Domain stores share database connections and handle their own table initialization
646
+
647
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
648
+
649
+ - Add debugger-like click-through UI to workflow graph ([#11350](https://github.com/mastra-ai/mastra/pull/11350))
650
+
651
+ - Using `createStep` with a nested Inngest workflow now returns the workflow itself, maintaining the correct `.invoke()` execution flow Inngest workflows need to operate. ([#10689](https://github.com/mastra-ai/mastra/pull/10689))
652
+
653
+ - Refactored default engine to fit durable execution better, and the inngest engine to match. ([#10627](https://github.com/mastra-ai/mastra/pull/10627))
654
+ Also fixes requestContext persistence by relying on inngest step memoization.
655
+
656
+ Unifies some of the stepResults and error formats in both engines.
657
+
658
+ - Add `perStep` option to workflow run methods, allowing a workflow to run just a step instead of all the workflow steps ([#11276](https://github.com/mastra-ai/mastra/pull/11276))
659
+
660
+ - Miscellanous bug fixes and test fixes: ([#10515](https://github.com/mastra-ai/mastra/pull/10515))
661
+ - cloneWorkflow passing options correctly
662
+ - start event in streamLegacy
663
+ - Many test cases with outdated or incorrect expected values
664
+
665
+ - Added support for .streamVNext and .stream that uses it in the inngest execution engine ([#9434](https://github.com/mastra-ai/mastra/pull/9434))
666
+
667
+ - Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
668
+ Add status filter to `listWorkflowRuns`
669
+ Add automatic restart to restart active workflow runs when server starts
670
+
671
+ - Prevent changing workflow status to suspended when some parallel steps are still running ([#9431](https://github.com/mastra-ai/mastra/pull/9431))
672
+
673
+ - Fix custom error properties being lost through Inngest serialization ([#11962](https://github.com/mastra-ai/mastra/pull/11962))
674
+
675
+ Inngest's error serialization only captures standard Error properties (message, name, stack, code, cause). Custom properties like `statusCode`, `responseHeaders`, or `isRetryable` from API/AI SDK errors were being stripped during serialization. Errors are now wrapped with a cause structure that preserves custom properties through the serialization boundary.
676
+
677
+ - Validate schemas by default in workflow. Previously, if you want schemas in the workflow to be validated, you'd have to add `validateInputs` option, now, this will be done by default but can be disabled. ([#10186](https://github.com/mastra-ai/mastra/pull/10186))
678
+
679
+ For workflows whose schemas and step schemas you don't want validated, do this
680
+
681
+ ```diff
682
+ createWorkflow({
683
+ + options: {
684
+ + validateInputs: false
685
+ + }
686
+ })
687
+ ```
688
+
689
+ - Fix inngest parallel workflow ([#10169](https://github.com/mastra-ai/mastra/pull/10169))
690
+ Fix tool as step in inngest
691
+ Fix inngest nested workflow
692
+
693
+ - 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))
694
+
695
+ - Emit workflow-step-result and workflow-step-finish when step fails in inngest workflow ([#10555](https://github.com/mastra-ai/mastra/pull/10555))
696
+
697
+ - Real-time span export for Inngest workflow engine ([#11973](https://github.com/mastra-ai/mastra/pull/11973))
698
+ - Spans are now exported immediately when created and ended, instead of being batched at workflow completion
699
+ - Added durable span lifecycle hooks (`createStepSpan`, `endStepSpan`, `errorStepSpan`, `createChildSpan`, `endChildSpan`, `errorChildSpan`) that wrap span operations in Inngest's `step.run()` for memoization
700
+ - Added `rebuildSpan()` method to reconstruct span objects from exported data after Inngest replay
701
+ - Fixed nested workflow step spans missing output data
702
+ - Spans correctly maintain parent-child relationships across Inngest's durable execution boundaries using `tracingIds`
703
+
704
+ - 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))
705
+
706
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
707
+
708
+ ```typescript
709
+ const run = await workflow.createRun();
710
+ const result = await run.start({ inputData: { message: 'Hello' } });
711
+
712
+ if (result.status === 'tripwire') {
713
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
714
+ console.log('Processor ID:', result.tripwire?.processorId);
715
+ console.log('Retry requested:', result.tripwire?.retry);
716
+ }
717
+ ```
718
+
719
+ Adds new UI state for tripwire in agent chat and workflow UI.
720
+
721
+ 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).
722
+
723
+ - Add timeTravel to workflows. This makes it possible to start a workflow run from a particular step in the workflow ([#9994](https://github.com/mastra-ai/mastra/pull/9994))
724
+
725
+ Example code:
726
+
727
+ ```ts
728
+ const result = await run.timeTravel({
729
+ step: 'step2',
730
+ inputData: {
731
+ value: 'input',
732
+ },
733
+ });
734
+ ```
735
+
736
+ - 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))
737
+
738
+ **What changed:**
739
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
740
+ - Added optional `fields` parameter to request only specific fields for better performance
741
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
742
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
743
+ - Removed `/execution-result` API endpoints from server (breaking change)
744
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
745
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
746
+
747
+ **Before:**
748
+
749
+ ```typescript
750
+ // Had to call two different methods for different data
751
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
752
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
753
+ ```
754
+
755
+ **After:**
756
+
757
+ ```typescript
758
+ // Single method returns everything
759
+ const run = await workflow.getWorkflowRunById(runId);
760
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
761
+
762
+ // Request only specific fields for better performance (avoids expensive step fetching)
763
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
764
+
765
+ // Skip nested workflow steps for faster response
766
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
767
+ ```
768
+
769
+ **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.
770
+
771
+ - Make suspendPayload optional when calling `suspend()` ([#9926](https://github.com/mastra-ai/mastra/pull/9926))
772
+ Save value returned as `suspendOutput` if user returns data still after calling `suspend()`
773
+ Automatically call `commit()` on uncommitted workflows when registering in Mastra instance
774
+ Show actual suspendPayload on Studio in suspend/resume flow
775
+
776
+ - Fix observability tracing for Inngest workflows ([#11885](https://github.com/mastra-ai/mastra/pull/11885))
777
+ - Use SpanCollector to capture span hierarchy during execution and create real spans in the memoized finalize step
778
+ - Fix span timing by using step result `startedAt`/`endedAt` (memoized by Inngest) instead of replay-time timestamps
779
+ - Ensures proper parent-child span relationships and accurate durations in traces
780
+ - Multi-replica safe: no shared state needed across server instances
781
+
782
+ - Add cron scheduling support to Inngest workflows. Workflows can now be automatically triggered on a schedule by adding a `cron` property along with optional `inputData` and `initialState`: ([#11518](https://github.com/mastra-ai/mastra/pull/11518))
783
+
784
+ ```typescript
785
+ const workflow = createWorkflow({
786
+ id: 'scheduled-workflow',
787
+ inputSchema: z.object({ value: z.string() }),
788
+ outputSchema: z.object({ result: z.string() }),
789
+ steps: [step1],
790
+ cron: '0 0 * * *', // Run daily at midnight
791
+ inputData: { value: 'scheduled-run' }, // Optional inputData for the scheduled workflow run
792
+ initialState: { count: 0 }, // Optional initialState for the scheduled workflow run
793
+ });
794
+ ```
795
+
796
+ - 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), [`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), [`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), [`81b6a8f`](https://github.com/mastra-ai/mastra/commit/81b6a8ff79f49a7549d15d66624ac1a0b8f5f971), [`8538a0d`](https://github.com/mastra-ai/mastra/commit/8538a0d232619bf55dad7ddc2a8b0ca77c679a87), [`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), [`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), [`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)]:
797
+ - @mastra/core@1.0.0
798
+
799
+ ## 1.0.0-beta.13
800
+
801
+ ### Major Changes
802
+
803
+ - Refactor workflow and tool types to remove Zod-specific constraints ([#11814](https://github.com/mastra-ai/mastra/pull/11814))
804
+
805
+ Removed Zod-specific type constraints across all workflow implementations and tool types, replacing them with generic types. This ensures type consistency across default, evented, and inngest workflows while preparing for Zod v4 migration.
806
+
807
+ **Workflow Changes:**
808
+ - Removed `z.ZodObject<any>` and `z.ZodType<any>` constraints from all workflow generic types
809
+ - Updated method signatures to use `TInput` and `TState` directly instead of `z.infer<TInput>` and `z.infer<TState>`
810
+ - Aligned conditional types across all workflow implementations using `TInput extends unknown` pattern
811
+ - Fixed `TSteps` generic to properly use `TEngineType` instead of `any`
812
+
813
+ **Tool Changes:**
814
+ - Removed Zod schema constraints from `ToolExecutionContext` and related interfaces
815
+ - Simplified type parameters from `TSuspendSchema extends ZodLikeSchema` to `TSuspend` and `TResume`
816
+ - Updated tool execution context types to use generic types
817
+
818
+ **Type Utilities:**
819
+ - Refactored type helpers to work with generic schemas instead of Zod-specific types
820
+ - Updated type extraction utilities for better compatibility
821
+
822
+ This change maintains backward compatibility while improving type consistency and preparing for Zod v4 support across all affected packages.
823
+
824
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
825
+
826
+ 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.
827
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
828
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
829
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
830
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
831
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
832
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
833
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
834
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
835
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
836
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
837
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
838
+ - Network route and streaming APIs updated to use plain OUTPUT generic
839
+
840
+ **Before:**
841
+
842
+ ```typescript
843
+ const output = await agent.generate<z.ZodType>({
844
+ messages: [...],
845
+ structuredOutput: { schema: mySchema }
846
+ });
847
+
848
+ **After:**
849
+ const output = await agent.generate<z.infer<typeof mySchema>>({
850
+ messages: [...],
851
+ structuredOutput: { schema: mySchema }
852
+ });
853
+ // Or rely on type inference:
854
+ const output = await agent.generate({
855
+ messages: [...],
856
+ structuredOutput: { schema: mySchema }
857
+ });
858
+
859
+ ```
860
+
861
+ ### Patch Changes
862
+
863
+ - Improved TypeScript type inference for workflow steps. ([#11953](https://github.com/mastra-ai/mastra/pull/11953))
864
+
865
+ **What changed:**
866
+ - Step input/output type mismatches are now caught at compile time when chaining steps with `.then()`
867
+ - The `execute` function now properly infers types from `inputSchema`, `outputSchema`, `stateSchema`, and other schema parameters
868
+ - Clearer error messages when step types don't match workflow requirements
869
+
870
+ **Why:**
871
+ Previously, type errors in workflow step chains would only surface at runtime. Now TypeScript validates that each step's input requirements are satisfied by the previous step's output, helping you catch integration issues earlier in development.
872
+
873
+ - Fix custom error properties being lost through Inngest serialization ([#11962](https://github.com/mastra-ai/mastra/pull/11962))
874
+
875
+ Inngest's error serialization only captures standard Error properties (message, name, stack, code, cause). Custom properties like `statusCode`, `responseHeaders`, or `isRetryable` from API/AI SDK errors were being stripped during serialization. Errors are now wrapped with a cause structure that preserves custom properties through the serialization boundary.
876
+
877
+ - Real-time span export for Inngest workflow engine ([#11973](https://github.com/mastra-ai/mastra/pull/11973))
878
+ - Spans are now exported immediately when created and ended, instead of being batched at workflow completion
879
+ - Added durable span lifecycle hooks (`createStepSpan`, `endStepSpan`, `errorStepSpan`, `createChildSpan`, `endChildSpan`, `errorChildSpan`) that wrap span operations in Inngest's `step.run()` for memoization
880
+ - Added `rebuildSpan()` method to reconstruct span objects from exported data after Inngest replay
881
+ - Fixed nested workflow step spans missing output data
882
+ - Spans correctly maintain parent-child relationships across Inngest's durable execution boundaries using `tracingIds`
883
+
884
+ - Fix observability tracing for Inngest workflows ([#11885](https://github.com/mastra-ai/mastra/pull/11885))
885
+ - Use SpanCollector to capture span hierarchy during execution and create real spans in the memoized finalize step
886
+ - Fix span timing by using step result `startedAt`/`endedAt` (memoized by Inngest) instead of replay-time timestamps
887
+ - Ensures proper parent-child span relationships and accurate durations in traces
888
+ - Multi-replica safe: no shared state needed across server instances
889
+
890
+ - 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)]:
891
+ - @mastra/core@1.0.0-beta.22
892
+
893
+ ## 1.0.0-beta.12
894
+
895
+ ### Minor Changes
896
+
897
+ - Added `createServe` factory function to support multiple web framework adapters for Inngest workflows. ([#11667](https://github.com/mastra-ai/mastra/pull/11667))
898
+
899
+ Previously, the `serve` function only supported Hono. Now you can use any framework adapter provided by the Inngest package (Express, Fastify, Koa, Next.js, and more).
900
+
901
+ **Before (Hono only)**
902
+
903
+ ```typescript
904
+ import { serve } from '@mastra/inngest';
905
+
906
+ // Only worked with Hono
907
+ app.all('/api/inngest', c => serve({ mastra, inngest })(c));
908
+ ```
909
+
910
+ **After (any framework)**
911
+
912
+ ```typescript
913
+ import { createServe } from '@mastra/inngest';
914
+ import { serve as expressAdapter } from 'inngest/express';
915
+ import { serve as fastifyAdapter } from 'inngest/fastify';
916
+
917
+ // Express
918
+ app.use('/api/inngest', createServe(expressAdapter)({ mastra, inngest }));
919
+
920
+ // Fastify
921
+ fastify.route({
922
+ method: ['GET', 'POST', 'PUT'],
923
+ url: '/api/inngest',
924
+ handler: createServe(fastifyAdapter)({ mastra, inngest }),
925
+ });
926
+ ```
927
+
928
+ The existing `serve` export remains available for backward compatibility with Hono.
929
+
930
+ Fixes #10053
931
+
932
+ ### Patch Changes
933
+
934
+ - Add additional context to workflow `onFinish` and `onError` callbacks ([#11705](https://github.com/mastra-ai/mastra/pull/11705))
935
+
936
+ The `onFinish` and `onError` lifecycle callbacks now receive additional properties:
937
+ - `runId` - The unique identifier for the workflow run
938
+ - `workflowId` - The workflow's identifier
939
+ - `resourceId` - Optional resource identifier (if provided when creating the run)
940
+ - `getInitData()` - Function that returns the initial input data passed to the workflow
941
+ - `mastra` - The Mastra instance (if workflow is registered with Mastra)
942
+ - `requestContext` - Request-scoped context data
943
+ - `logger` - The workflow's logger instance
944
+ - `state` - The workflow's current state object
945
+
946
+ ```typescript
947
+ const workflow = createWorkflow({
948
+ id: 'order-processing',
949
+ inputSchema: z.object({ orderId: z.string() }),
950
+ outputSchema: z.object({ status: z.string() }),
951
+ options: {
952
+ onFinish: async ({ runId, workflowId, getInitData, logger, state, mastra }) => {
953
+ const inputData = getInitData();
954
+ logger.info(`Workflow ${workflowId} run ${runId} completed`, {
955
+ orderId: inputData.orderId,
956
+ finalState: state,
957
+ });
958
+
959
+ // Access other Mastra components if needed
960
+ const agent = mastra?.getAgent('notification-agent');
961
+ },
962
+ onError: async ({ runId, workflowId, error, logger, requestContext }) => {
963
+ logger.error(`Workflow ${workflowId} run ${runId} failed: ${error?.message}`);
964
+ // Access request context for additional debugging
965
+ const userId = requestContext.get('userId');
966
+ },
967
+ },
968
+ });
969
+ ```
970
+
971
+ - 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), [`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)]:
972
+ - @mastra/core@1.0.0-beta.21
973
+
974
+ ## 1.0.0-beta.11
975
+
976
+ ### Patch Changes
977
+
978
+ - Add support for `retries` and `scorers` parameters across all `createStep` overloads.
979
+ ([#11495](https://github.com/mastra-ai/mastra/pull/11495))
980
+
981
+ The `createStep` function now includes support for the `retries` and `scorers` fields across all step creation patterns, enabling step-level retry configuration and AI evaluation support for regular steps, agent-based steps, and tool-based steps.
982
+
983
+ ```typescript
984
+ import { init } from '@mastra/inngest';
985
+ import { z } from 'zod';
986
+
987
+ const { createStep } = init(inngest);
988
+
989
+ // 1. Regular step with retries
990
+ const regularStep = createStep({
991
+ id: 'api-call',
992
+ inputSchema: z.object({ url: z.string() }),
993
+ outputSchema: z.object({ data: z.any() }),
994
+ retries: 3, // ← Will retry up to 3 times on failure
995
+ execute: async ({ inputData }) => {
996
+ const response = await fetch(inputData.url);
997
+ return { data: await response.json() };
998
+ },
999
+ });
1000
+
1001
+ // 2. Agent step with retries and scorers
1002
+ const agentStep = createStep(myAgent, {
1003
+ retries: 3,
1004
+ scorers: [{ id: 'accuracy-scorer', scorer: myAccuracyScorer }],
1005
+ });
1006
+
1007
+ // 3. Tool step with retries and scorers
1008
+ const toolStep = createStep(myTool, {
1009
+ retries: 2,
1010
+ scorers: [{ id: 'quality-scorer', scorer: myQualityScorer }],
1011
+ });
1012
+ ```
1013
+
1014
+ This change ensures API consistency across all `createStep` overloads. All step types now support retry and evaluation configurations.
1015
+
1016
+ This is a non-breaking change - steps without these parameters continue to work exactly as before.
1017
+
1018
+ Fixes #9351
1019
+
1020
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
1021
+
1022
+ ```diff
1023
+ + const run = await workflow.createRun({ runId: '123' });
1024
+ - const stream = await run.streamVNext({ inputData: { ... } });
1025
+ + const stream = await run.stream({ inputData: { ... } });
1026
+ ```
1027
+
1028
+ - 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))
1029
+
1030
+ **What changed:**
1031
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
1032
+ - Added optional `fields` parameter to request only specific fields for better performance
1033
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
1034
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
1035
+ - Removed `/execution-result` API endpoints from server (breaking change)
1036
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
1037
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
1038
+
1039
+ **Before:**
1040
+
1041
+ ```typescript
1042
+ // Had to call two different methods for different data
1043
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
1044
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
1045
+ ```
1046
+
1047
+ **After:**
1048
+
1049
+ ```typescript
1050
+ // Single method returns everything
1051
+ const run = await workflow.getWorkflowRunById(runId);
1052
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
1053
+
1054
+ // Request only specific fields for better performance (avoids expensive step fetching)
1055
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
1056
+
1057
+ // Skip nested workflow steps for faster response
1058
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
1059
+ ```
1060
+
1061
+ **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.
1062
+
1063
+ - Add cron scheduling support to Inngest workflows. Workflows can now be automatically triggered on a schedule by adding a `cron` property along with optional `inputData` and `initialState`: ([#11518](https://github.com/mastra-ai/mastra/pull/11518))
1064
+
1065
+ ```typescript
1066
+ const workflow = createWorkflow({
1067
+ id: 'scheduled-workflow',
1068
+ inputSchema: z.object({ value: z.string() }),
1069
+ outputSchema: z.object({ result: z.string() }),
1070
+ steps: [step1],
1071
+ cron: '0 0 * * *', // Run daily at midnight
1072
+ inputData: { value: 'scheduled-run' }, // Optional inputData for the scheduled workflow run
1073
+ initialState: { count: 0 }, // Optional initialState for the scheduled workflow run
1074
+ });
1075
+ ```
1076
+
1077
+ - 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)]:
1078
+ - @mastra/core@1.0.0-beta.20
1079
+
1080
+ ## 1.0.0-beta.10
1081
+
1082
+ ### Minor Changes
1083
+
1084
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
1085
+
1086
+ ## What changed
1087
+
1088
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
1089
+
1090
+ **Before:**
1091
+
1092
+ ```typescript
1093
+ // Old span structure
1094
+ span.agentId; // 'my-agent'
1095
+ span.toolId; // undefined
1096
+ span.workflowId; // undefined
1097
+ ```
1098
+
1099
+ **After:**
1100
+
1101
+ ```typescript
1102
+ // New span structure
1103
+ span.entityType; // EntityType.AGENT
1104
+ span.entityId; // 'my-agent'
1105
+ span.entityName; // 'My Agent'
1106
+ ```
1107
+
1108
+ ## New `listTraces()` API
1109
+
1110
+ Query traces with filtering, pagination, and sorting:
1111
+
1112
+ ```typescript
1113
+ const { spans, pagination } = await storage.listTraces({
1114
+ filters: {
1115
+ entityType: EntityType.AGENT,
1116
+ entityId: 'my-agent',
1117
+ userId: 'user-123',
1118
+ environment: 'production',
1119
+ status: TraceStatus.SUCCESS,
1120
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
1121
+ },
1122
+ pagination: { page: 0, perPage: 50 },
1123
+ orderBy: { field: 'startedAt', direction: 'DESC' },
1124
+ });
1125
+ ```
1126
+
1127
+ **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`.
1128
+
1129
+ ## New retrieval methods
1130
+ - `getSpan({ traceId, spanId })` - Get a single span
1131
+ - `getRootSpan({ traceId })` - Get the root span of a trace
1132
+ - `getTrace({ traceId })` - Get all spans for a trace
1133
+
1134
+ ## Backward compatibility
1135
+
1136
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
1137
+
1138
+ ## Migration
1139
+
1140
+ **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`.
1141
+
1142
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
1143
+
1144
+ ### Patch Changes
1145
+
1146
+ - Refactor storage architecture to use domain-specific stores via `getStore()` pattern ([#11361](https://github.com/mastra-ai/mastra/pull/11361))
1147
+
1148
+ ### Summary
1149
+
1150
+ This release introduces a new storage architecture that replaces passthrough methods on `MastraStorage` with domain-specific storage interfaces accessed via `getStore()`. This change reduces code duplication across storage adapters and provides a cleaner, more modular API.
1151
+
1152
+ ### Migration Guide
1153
+
1154
+ All direct method calls on storage instances should be updated to use `getStore()`:
1155
+
1156
+ ```typescript
1157
+ // Before
1158
+ const thread = await storage.getThreadById({ threadId });
1159
+ await storage.persistWorkflowSnapshot({ workflowName, runId, snapshot });
1160
+ await storage.createSpan(span);
1161
+
1162
+ // After
1163
+ const memory = await storage.getStore('memory');
1164
+ const thread = await memory?.getThreadById({ threadId });
1165
+
1166
+ const workflows = await storage.getStore('workflows');
1167
+ await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
1168
+
1169
+ const observability = await storage.getStore('observability');
1170
+ await observability?.createSpan(span);
1171
+ ```
1172
+
1173
+ ### Available Domains
1174
+ - **`memory`**: Thread and message operations (`getThreadById`, `saveThread`, `saveMessages`, etc.)
1175
+ - **`workflows`**: Workflow state persistence (`persistWorkflowSnapshot`, `loadWorkflowSnapshot`, `getWorkflowRunById`, etc.)
1176
+ - **`scores`**: Evaluation scores (`saveScore`, `listScoresByScorerId`, etc.)
1177
+ - **`observability`**: Tracing and spans (`createSpan`, `updateSpan`, `getTrace`, etc.)
1178
+ - **`agents`**: Stored agent configurations (`createAgent`, `getAgentById`, `listAgents`, etc.)
1179
+
1180
+ ### Breaking Changes
1181
+ - Passthrough methods have been removed from `MastraStorage` base class
1182
+ - All storage adapters now require accessing domains via `getStore()`
1183
+ - The `stores` property on storage instances is now the canonical way to access domain storage
1184
+
1185
+ ### Internal Changes
1186
+ - Each storage adapter now initializes domain-specific stores in its constructor
1187
+ - Domain stores share database connections and handle their own table initialization
1188
+
1189
+ - Add debugger-like click-through UI to workflow graph ([#11350](https://github.com/mastra-ai/mastra/pull/11350))
1190
+
1191
+ - Add `perStep` option to workflow run methods, allowing a workflow to run just a step instead of all the workflow steps ([#11276](https://github.com/mastra-ai/mastra/pull/11276))
1192
+
1193
+ - 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)]:
1194
+ - @mastra/core@1.0.0-beta.15
1195
+
1196
+ ## 1.0.0-beta.9
1197
+
1198
+ ### Patch Changes
1199
+
1200
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
1201
+
1202
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
1203
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
1204
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
1205
+
1206
+ This significantly reduces response payload size and improves response times for large workflows.
1207
+
1208
+ ## Server Endpoint Usage
1209
+
1210
+ ```http
1211
+ # Get only status (minimal payload - fastest)
1212
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
1213
+
1214
+ # Get status and result
1215
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
1216
+
1217
+ # Get all fields but without nested workflow data (faster)
1218
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
1219
+
1220
+ # Get only specific fields without nested workflow data
1221
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
1222
+
1223
+ # Get full data (default behavior)
1224
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
1225
+ ```
1226
+
1227
+ ## Client SDK Usage
1228
+
1229
+ ```typescript
1230
+ import { MastraClient } from '@mastra/client-js';
1231
+
1232
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
1233
+ const workflow = client.getWorkflow('myWorkflow');
1234
+
1235
+ // Get only status (minimal payload - fastest)
1236
+ const statusOnly = await workflow.runExecutionResult(runId, {
1237
+ fields: ['status'],
1238
+ });
1239
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
1240
+
1241
+ // Get status and result
1242
+ const statusAndResult = await workflow.runExecutionResult(runId, {
1243
+ fields: ['status', 'result'],
1244
+ });
1245
+
1246
+ // Get all fields but without nested workflow data (faster)
1247
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
1248
+ withNestedWorkflows: false,
1249
+ });
1250
+
1251
+ // Get specific fields without nested workflow data
1252
+ const optimized = await workflow.runExecutionResult(runId, {
1253
+ fields: ['status', 'steps'],
1254
+ withNestedWorkflows: false,
1255
+ });
1256
+
1257
+ // Get full execution result (default behavior)
1258
+ const fullResult = await workflow.runExecutionResult(runId);
1259
+ ```
1260
+
1261
+ ## Core API Changes
1262
+
1263
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
1264
+
1265
+ ```typescript
1266
+ await workflow.getWorkflowRunExecutionResult(runId, {
1267
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
1268
+ fields: ['status', 'result'], // optional field filtering
1269
+ });
1270
+ ```
1271
+
1272
+ ## Inngest Compatibility
1273
+
1274
+ 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.
1275
+
1276
+ ## Performance Impact
1277
+
1278
+ For workflows with large step outputs:
1279
+ - Requesting only `status`: ~99% reduction in payload size
1280
+ - Requesting `status,result,error`: ~95% reduction in payload size
1281
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
1282
+ - Combining both: Maximum performance optimization
1283
+
1284
+ - 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)]:
1285
+ - @mastra/core@1.0.0-beta.14
1286
+
1287
+ ## 1.0.0-beta.8
1288
+
1289
+ ### Patch Changes
1290
+
1291
+ - Add `onFinish` and `onError` lifecycle callbacks to workflow options ([#11200](https://github.com/mastra-ai/mastra/pull/11200))
1292
+
1293
+ Workflows now support lifecycle callbacks for server-side handling of workflow completion and errors:
1294
+ - `onFinish`: Called when workflow completes with any status (success, failed, suspended, tripwire)
1295
+ - `onError`: Called only when workflow fails (failed or tripwire status)
1296
+
1297
+ ```typescript
1298
+ const workflow = createWorkflow({
1299
+ id: 'my-workflow',
1300
+ inputSchema: z.object({ ... }),
1301
+ outputSchema: z.object({ ... }),
1302
+ options: {
1303
+ onFinish: async (result) => {
1304
+ // Handle any workflow completion
1305
+ await updateJobStatus(result.status);
1306
+ },
1307
+ onError: async (errorInfo) => {
1308
+ // Handle workflow failures
1309
+ await logError(errorInfo.error);
1310
+ },
1311
+ },
1312
+ });
1313
+ ```
1314
+
1315
+ Both callbacks support sync and async functions. Callback errors are caught and logged, not propagated to the workflow result.
1316
+
1317
+ - Updated dependencies [[`919a22b`](https://github.com/mastra-ai/mastra/commit/919a22b25876f9ed5891efe5facbe682c30ff497)]:
1318
+ - @mastra/core@1.0.0-beta.13
1319
+
1320
+ ## 1.0.0-beta.7
1321
+
1322
+ ### Patch Changes
1323
+
1324
+ - Preserve error details when thrown from workflow steps ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
1325
+ - Errors thrown in workflow steps now preserve full error details including `cause` chain and custom properties
1326
+ - Added `SerializedError` type with proper cause chain support
1327
+ - Added `SerializedStepResult` and `SerializedStepFailure` types for handling errors loaded from storage
1328
+ - Enhanced `addErrorToJSON` to recursively serialize error cause chains with max depth protection
1329
+ - Added `hydrateSerializedStepErrors` to convert serialized errors back to Error instances
1330
+ - Fixed Inngest workflow error handling to extract original error from `NonRetriableError.cause`
1331
+
1332
+ - Refactor internal event system from Emitter to PubSub abstraction for workflow event handling. This change replaces the EventEmitter-based event system with a pluggable PubSub interface, enabling support for distributed workflow execution backends like Inngest. Adds `close()` method to PubSub implementations for proper cleanup. ([#11052](https://github.com/mastra-ai/mastra/pull/11052))
1333
+
1334
+ - Add `startAsync()` method and fix Inngest duplicate workflow execution bug ([#11093](https://github.com/mastra-ai/mastra/pull/11093))
1335
+
1336
+ **New Feature: `startAsync()` for fire-and-forget workflow execution**
1337
+ - Add `Run.startAsync()` to base workflow class - starts workflow in background and returns `{ runId }` immediately
1338
+ - Add `EventedRun.startAsync()` - publishes workflow start event without subscribing for completion
1339
+ - Add `InngestRun.startAsync()` - sends Inngest event without polling for result
1340
+
1341
+ **Bug Fix: Prevent duplicate Inngest workflow executions**
1342
+ - Fix `getRuns()` to properly handle rate limits (429), empty responses, and JSON parse errors with retry logic and exponential backoff
1343
+ - Fix `getRunOutput()` to throw `NonRetriableError` when polling fails, preventing Inngest from retrying the parent function and re-triggering the workflow
1344
+ - Add timeout to `getRunOutput()` polling (default 5 minutes) with `NonRetriableError` on timeout
1345
+
1346
+ This fixes a production issue where polling failures after successful workflow completion caused Inngest to retry the parent function, which fired a new workflow event and resulted in duplicate executions (e.g., duplicate Slack messages).
1347
+
1348
+ - Preserve error details when thrown from workflow steps ([#10992](https://github.com/mastra-ai/mastra/pull/10992))
1349
+
1350
+ Workflow errors now retain custom properties like `statusCode`, `responseHeaders`, and `cause` chains. This enables error-specific recovery logic in your applications.
1351
+
1352
+ **Before:**
1353
+
1354
+ ```typescript
1355
+ const result = await workflow.execute({ input });
1356
+ if (result.status === 'failed') {
1357
+ // Custom error properties were lost
1358
+ console.log(result.error); // "Step execution failed" (just a string)
1359
+ }
1360
+ ```
1361
+
1362
+ **After:**
1363
+
1364
+ ```typescript
1365
+ const result = await workflow.execute({ input });
1366
+ if (result.status === 'failed') {
1367
+ // Custom properties are preserved
1368
+ console.log(result.error.message); // "Step execution failed"
1369
+ console.log(result.error.statusCode); // 429
1370
+ console.log(result.error.cause?.name); // "RateLimitError"
1371
+ }
1372
+ ```
1373
+
1374
+ **Type change:** `WorkflowState.error` and `WorkflowRunState.error` types changed from `string | Error` to `SerializedError`.
1375
+
1376
+ Other changes:
1377
+ - Added `UpdateWorkflowStateOptions` type for workflow state updates
1378
+
1379
+ - 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)]:
1380
+ - @mastra/core@1.0.0-beta.12
1381
+
1382
+ ## 1.0.0-beta.6
1383
+
1384
+ ### Patch Changes
1385
+
1386
+ - 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))
1387
+
1388
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
1389
+
1390
+ ```typescript showLineNumbers copy
1391
+ const run = await workflow.createRun();
1392
+ const result = await run.start({ inputData: { message: 'Hello' } });
1393
+
1394
+ if (result.status === 'tripwire') {
1395
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
1396
+ console.log('Processor ID:', result.tripwire?.processorId);
1397
+ console.log('Retry requested:', result.tripwire?.retry);
1398
+ }
1399
+ ```
1400
+
1401
+ Adds new UI state for tripwire in agent chat and workflow UI.
1402
+
1403
+ 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).
1404
+
1405
+ - 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)]:
1406
+ - @mastra/core@1.0.0-beta.11
1407
+
1408
+ ## 1.0.0-beta.5
1409
+
1410
+ ### Patch Changes
1411
+
1412
+ - Internal code refactoring ([#10830](https://github.com/mastra-ai/mastra/pull/10830))
1413
+
1414
+ - Add support for typed structured output in agent workflow steps ([#11014](https://github.com/mastra-ai/mastra/pull/11014))
1415
+
1416
+ When wrapping an agent with `createStep()` and providing a `structuredOutput.schema`, the step's `outputSchema` is now correctly inferred from the provided schema instead of defaulting to `{ text: string }`.
1417
+
1418
+ This enables type-safe chaining of agent steps with structured output to subsequent steps:
1419
+
1420
+ ```typescript
1421
+ const articleSchema = z.object({
1422
+ title: z.string(),
1423
+ summary: z.string(),
1424
+ tags: z.array(z.string()),
1425
+ });
1426
+
1427
+ // Agent step with structured output - outputSchema is now articleSchema
1428
+ const agentStep = createStep(agent, {
1429
+ structuredOutput: { schema: articleSchema },
1430
+ });
1431
+
1432
+ // Next step can receive the structured output directly
1433
+ const processStep = createStep({
1434
+ id: 'process',
1435
+ inputSchema: articleSchema, // Matches agent's outputSchema
1436
+ outputSchema: z.object({ tagCount: z.number() }),
1437
+ execute: async ({ inputData }) => ({
1438
+ tagCount: inputData.tags.length, // Fully typed!
1439
+ }),
1440
+ });
1441
+
1442
+ workflow.then(agentStep).then(processStep).commit();
1443
+ ```
1444
+
1445
+ When `structuredOutput` is not provided, the agent step continues to use the default `{ text: string }` output schema.
1446
+
1447
+ - 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)]:
1448
+ - @mastra/core@1.0.0-beta.10
1449
+
1450
+ ## 1.0.0-beta.4
1451
+
1452
+ ### Patch Changes
1453
+
1454
+ - Include `.input` in workflow results for both engines and remove the option to omit them from Inngest workflows. ([#10688](https://github.com/mastra-ai/mastra/pull/10688))
1455
+
1456
+ - Using `createStep` with a nested Inngest workflow now returns the workflow itself, maintaining the correct `.invoke()` execution flow Inngest workflows need to operate. ([#10689](https://github.com/mastra-ai/mastra/pull/10689))
1457
+
1458
+ - Refactored default engine to fit durable execution better, and the inngest engine to match. ([#10627](https://github.com/mastra-ai/mastra/pull/10627))
1459
+ Also fixes requestContext persistence by relying on inngest step memoization.
1460
+
1461
+ Unifies some of the stepResults and error formats in both engines.
1462
+
1463
+ - Miscellanous bug fixes and test fixes: ([#10515](https://github.com/mastra-ai/mastra/pull/10515))
1464
+ - cloneWorkflow passing options correctly
1465
+ - start event in streamLegacy
1466
+ - Many test cases with outdated or incorrect expected values
1467
+
1468
+ - Emit workflow-step-result and workflow-step-finish when step fails in inngest workflow ([#10555](https://github.com/mastra-ai/mastra/pull/10555))
1469
+
1470
+ - 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)]:
1471
+ - @mastra/core@1.0.0-beta.6
1472
+
1473
+ ## 1.0.0-beta.3
1474
+
1475
+ ### Patch Changes
1476
+
1477
+ - - Fix tool suspension throwing error when `outputSchema` is passed to tool during creation ([#10444](https://github.com/mastra-ai/mastra/pull/10444))
1478
+ - Pass `suspendSchema` and `resumeSchema` from tool into step created when creating step from tool
1479
+ - 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)]:
1480
+ - @mastra/core@1.0.0-beta.5
1481
+
1482
+ ## 1.0.0-beta.2
1483
+
1484
+ ### Patch Changes
1485
+
1486
+ - dependencies updates: ([#10120](https://github.com/mastra-ai/mastra/pull/10120))
1487
+ - Updated dependency [`@inngest/realtime@^0.4.5` ↗︎](https://www.npmjs.com/package/@inngest/realtime/v/0.4.5) (from `^0.4.4`, in `dependencies`)
1488
+
1489
+ - fix resumeStream type to use resumeSchema ([#10202](https://github.com/mastra-ai/mastra/pull/10202))
1490
+
1491
+ - Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
1492
+ Add status filter to `listWorkflowRuns`
1493
+ Add automatic restart to restart active workflow runs when server starts
1494
+
1495
+ - Validate schemas by default in workflow. Previously, if you want schemas in the workflow to be validated, you'd have to add `validateInputs` option, now, this will be done by default but can be disabled. ([#10186](https://github.com/mastra-ai/mastra/pull/10186))
1496
+
1497
+ For workflows whose schemas and step schemas you don't want validated, do this
1498
+
1499
+ ```diff
1500
+ createWorkflow({
1501
+ + options: {
1502
+ + validateInputs: false
1503
+ + }
1504
+ })
1505
+ ```
1506
+
1507
+ - Fix inngest parallel workflow ([#10169](https://github.com/mastra-ai/mastra/pull/10169))
1508
+ Fix tool as step in inngest
1509
+ Fix inngest nested workflow
1510
+
1511
+ - Add timeTravel to workflows. This makes it possible to start a workflow run from a particular step in the workflow ([#9994](https://github.com/mastra-ai/mastra/pull/9994))
1512
+
1513
+ Example code:
1514
+
1515
+ ```ts
1516
+ const result = await run.timeTravel({
1517
+ step: 'step2',
1518
+ inputData: {
1519
+ value: 'input',
1520
+ },
1521
+ });
1522
+ ```
1523
+
1524
+ - 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)]:
1525
+ - @mastra/core@1.0.0-beta.3
1526
+
1527
+ ## 1.0.0-beta.1
1528
+
1529
+ ### Patch Changes
1530
+
1531
+ - Make suspendPayload optional when calling `suspend()` ([#9926](https://github.com/mastra-ai/mastra/pull/9926))
1532
+ Save value returned as `suspendOutput` if user returns data still after calling `suspend()`
1533
+ Automatically call `commit()` on uncommitted workflows when registering in Mastra instance
1534
+ Show actual suspendPayload on Studio in suspend/resume flow
1535
+ - Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
1536
+ - @mastra/core@1.0.0-beta.2
1537
+
1538
+ ## 1.0.0-beta.0
1539
+
1540
+ ### Major Changes
1541
+
1542
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
1543
+
1544
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
1545
+
1546
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
1547
+
1548
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
1549
+
1550
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
1551
+
1552
+ ### What's Changed
1553
+ - Removed legacy v1 watch event handlers and types
1554
+ - Renamed `watch-v2` to `watch` throughout the codebase
1555
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
1556
+ - Removed `/watch` HTTP endpoints from server and deployer
1557
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
1558
+
1559
+ - ```([#9709](https://github.com/mastra-ai/mastra/pull/9709))
1560
+ import { Mastra } from '@mastra/core';
1561
+ import { Observability } from '@mastra/observability'; // Explicit import
1562
+
1563
+ const mastra = new Mastra({
1564
+ ...other_config,
1565
+ observability: new Observability({
1566
+ default: { enabled: true }
1567
+ }) // Instance
1568
+ });
1569
+ ```
1570
+
1571
+ Instead of:
1572
+
1573
+ ```
1574
+ import { Mastra } from '@mastra/core';
1575
+ import '@mastra/observability/init'; // Explicit import
1576
+
1577
+ const mastra = new Mastra({
1578
+ ...other_config,
1579
+ observability: {
1580
+ default: { enabled: true }
1581
+ }
1582
+ });
1583
+ ```
1584
+
1585
+ Also renamed a bunch of:
1586
+ - `Tracing` things to `Observability` things.
1587
+ - `AI-` things to just things.
1588
+
1589
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
1590
+
1591
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
1592
+
1593
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
1594
+
1595
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
1596
+
1597
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
1598
+
1599
+ ### Minor Changes
1600
+
1601
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
1602
+
1603
+ - Update peer dependencies to match core package version bump (0.22.1) ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
1604
+
1605
+ - Update peer dependencies to match core package version bump (0.22.3) ([#9153](https://github.com/mastra-ai/mastra/pull/9153))
1606
+
1607
+ ### Patch Changes
1608
+
1609
+ - Deprecate `runCount` parameter in favor of `retryCount` for better naming clarity. The name `runCount` was misleading as it doesn't represent the total number of times a step has run, but rather the number of retry attempts made for a step. ([#9153](https://github.com/mastra-ai/mastra/pull/9153))
1610
+
1611
+ `runCount` is available in `execute()` functions and methods that interact with the step execution. This also applies to condition functions and loop condition functions that use this parameter. If your code uses `runCount`, change the name to `retryCount`.
1612
+
1613
+ Here's an example migration:
1614
+
1615
+ ```diff
1616
+ const myStep = createStep({
1617
+ // Rest of step...
1618
+ - execute: async ({ runCount, ...params }) => {
1619
+ + execute: async ({ retryCount, ...params }) => {
1620
+ // ... rest of your logic
1621
+ }
1622
+ });
1623
+ ```
1624
+
1625
+ - Fix Inngest workflow tests by adding missing imports and updating middleware path. ([#9259](https://github.com/mastra-ai/mastra/pull/9259))
1626
+
1627
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
1628
+
1629
+ Consolidated the 3 different execution contexts to one
1630
+
1631
+ ```typescript
1632
+ // before depending on the context the tool was executed in
1633
+ tool.execute({ context: data });
1634
+ tool.execute({ context: { inputData: data } });
1635
+ tool.execute(data);
1636
+
1637
+ // now, for all contexts
1638
+ tool.execute(data, context);
1639
+ ```
1640
+
1641
+ **Before:**
1642
+
1643
+ ```typescript
1644
+ inputSchema: z.object({ something: z.string() }),
1645
+ execute: async ({ context, tracingContext, runId, ... }) => {
1646
+ return doSomething(context.string);
1647
+ }
1648
+ ```
1649
+
1650
+ **After:**
1651
+
1652
+ ```typescript
1653
+ inputSchema: z.object({ something: z.string() }),
1654
+ execute: async (inputData, context) => {
1655
+ const { agent, mcp, workflow, ...sharedContext } = context
1656
+
1657
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
1658
+ if (agent) {
1659
+ doSomething(inputData.something, agent)
1660
+ // context that only a workflow would get like runId, state, suspend, resume, etc
1661
+ } else if (workflow) {
1662
+ doSomething(inputData.something, workflow)
1663
+ // context that only a workflow would get like "extra", "elicitation"
1664
+ } else if (mcp) {
1665
+ doSomething(inputData.something, mcp)
1666
+ } else {
1667
+ // Running a tool in no execution context
1668
+ return doSomething(inputData.something);
1669
+ }
1670
+ }
1671
+ ```
1672
+
1673
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
1674
+
1675
+ - Added support for .streamVNext and .stream that uses it in the inngest execution engine ([#9434](https://github.com/mastra-ai/mastra/pull/9434))
1676
+
1677
+ - Prevent changing workflow status to suspended when some parallel steps are still running ([#9431](https://github.com/mastra-ai/mastra/pull/9431))
1678
+
1679
+ - 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))
1680
+
1681
+ - 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)]:
1682
+ - @mastra/core@1.0.0-beta.0
1683
+
1684
+ ## 0.17.0
1685
+
1686
+ ### Minor Changes
1687
+
1688
+ - Consolidate streamVNext logic into stream, move old stream function into streamLegacy ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
1689
+
1690
+ - Update peer dependencies to match core package version bump (0.22.0) ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
1691
+
1692
+ - Update peer dependencies to match core package version bump (0.21.2) ([#8941](https://github.com/mastra-ai/mastra/pull/8941))
1693
+
1694
+ ### Patch Changes
1695
+
1696
+ - Updated `watch` and `watchAsync` methods to use proper function overloads instead of generic conditional types, ensuring compatibility with the base Run class signatures. ([#9048](https://github.com/mastra-ai/mastra/pull/9048))
1697
+
1698
+ - Support for custom resume labels mapping to step to be resumed ([#8941](https://github.com/mastra-ai/mastra/pull/8941))
1699
+
1700
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
1701
+
1702
+ - Updated dependencies [[`c67ca32`](https://github.com/mastra-ai/mastra/commit/c67ca32e3c2cf69bfc146580770c720220ca44ac), [`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`dbc9e12`](https://github.com/mastra-ai/mastra/commit/dbc9e1216ba575ba59ead4afb727a01215f7de4f), [`99e41b9`](https://github.com/mastra-ai/mastra/commit/99e41b94957cdd25137d3ac12e94e8b21aa01b68), [`c28833c`](https://github.com/mastra-ai/mastra/commit/c28833c5b6d8e10eeffd7f7d39129d53b8bca240), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`f053e89`](https://github.com/mastra-ai/mastra/commit/f053e89160dbd0bd3333fc3492f68231b5c7c349), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`9a1a485`](https://github.com/mastra-ai/mastra/commit/9a1a4859b855e37239f652bf14b1ecd1029b8c4e), [`9257233`](https://github.com/mastra-ai/mastra/commit/9257233c4ffce09b2bedc2a9adbd70d7a83fa8e2), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`0f1a4c9`](https://github.com/mastra-ai/mastra/commit/0f1a4c984fb4b104b2f0b63ba18c9fa77f567700), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`2db6160`](https://github.com/mastra-ai/mastra/commit/2db6160e2022ff8827c15d30157e684683b934b5), [`8aeea37`](https://github.com/mastra-ai/mastra/commit/8aeea37efdde347c635a67fed56794943b7f74ec), [`02fe153`](https://github.com/mastra-ai/mastra/commit/02fe15351d6021d214da48ec982a0e9e4150bcee), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`74567b3`](https://github.com/mastra-ai/mastra/commit/74567b3d237ae3915cd0bca3cf55fa0a64e4e4a4), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb), [`15a1733`](https://github.com/mastra-ai/mastra/commit/15a1733074cee8bd37370e1af34cd818e89fa7ac), [`fc2a774`](https://github.com/mastra-ai/mastra/commit/fc2a77468981aaddc3e77f83f0c4ad4a4af140da), [`4e08933`](https://github.com/mastra-ai/mastra/commit/4e08933625464dfde178347af5b6278fcf34188e)]:
1703
+ - @mastra/core@0.22.0
1704
+
1705
+ ## 0.17.0-alpha.1
1706
+
1707
+ ### Minor Changes
1708
+
1709
+ - Consolidate streamVNext logic into stream, move old stream function into streamLegacy ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
1710
+
1711
+ - Update peer dependencies to match core package version bump (0.22.0) ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
1712
+
1713
+ ### Patch Changes
1714
+
1715
+ - Updated `watch` and `watchAsync` methods to use proper function overloads instead of generic conditional types, ensuring compatibility with the base Run class signatures. ([#9048](https://github.com/mastra-ai/mastra/pull/9048))
1716
+
1717
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
1718
+
1719
+ - Updated dependencies [[`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb)]:
1720
+ - @mastra/core@0.22.0-alpha.1
1721
+
1722
+ ## 0.17.0-alpha.0
1723
+
1724
+ ### Minor Changes
1725
+
1726
+ - Update peer dependencies to match core package version bump (0.21.2) ([#8941](https://github.com/mastra-ai/mastra/pull/8941))
1727
+
1728
+ ### Patch Changes
1729
+
1730
+ - Support for custom resume labels mapping to step to be resumed ([#8941](https://github.com/mastra-ai/mastra/pull/8941))
1731
+
1732
+ - Updated dependencies [[`c67ca32`](https://github.com/mastra-ai/mastra/commit/c67ca32e3c2cf69bfc146580770c720220ca44ac), [`dbc9e12`](https://github.com/mastra-ai/mastra/commit/dbc9e1216ba575ba59ead4afb727a01215f7de4f), [`99e41b9`](https://github.com/mastra-ai/mastra/commit/99e41b94957cdd25137d3ac12e94e8b21aa01b68), [`c28833c`](https://github.com/mastra-ai/mastra/commit/c28833c5b6d8e10eeffd7f7d39129d53b8bca240), [`f053e89`](https://github.com/mastra-ai/mastra/commit/f053e89160dbd0bd3333fc3492f68231b5c7c349), [`9a1a485`](https://github.com/mastra-ai/mastra/commit/9a1a4859b855e37239f652bf14b1ecd1029b8c4e), [`9257233`](https://github.com/mastra-ai/mastra/commit/9257233c4ffce09b2bedc2a9adbd70d7a83fa8e2), [`0f1a4c9`](https://github.com/mastra-ai/mastra/commit/0f1a4c984fb4b104b2f0b63ba18c9fa77f567700), [`2db6160`](https://github.com/mastra-ai/mastra/commit/2db6160e2022ff8827c15d30157e684683b934b5), [`8aeea37`](https://github.com/mastra-ai/mastra/commit/8aeea37efdde347c635a67fed56794943b7f74ec), [`02fe153`](https://github.com/mastra-ai/mastra/commit/02fe15351d6021d214da48ec982a0e9e4150bcee), [`74567b3`](https://github.com/mastra-ai/mastra/commit/74567b3d237ae3915cd0bca3cf55fa0a64e4e4a4), [`15a1733`](https://github.com/mastra-ai/mastra/commit/15a1733074cee8bd37370e1af34cd818e89fa7ac), [`fc2a774`](https://github.com/mastra-ai/mastra/commit/fc2a77468981aaddc3e77f83f0c4ad4a4af140da), [`4e08933`](https://github.com/mastra-ai/mastra/commit/4e08933625464dfde178347af5b6278fcf34188e)]:
1733
+ - @mastra/core@0.21.2-alpha.0
1734
+
1735
+ ## 0.16.1
4
1736
 
5
1737
  ### Patch Changes
6
1738
 
7
1739
  - dependencies updates: ([#8647](https://github.com/mastra-ai/mastra/pull/8647))
8
1740
  - Updated dependency [`@inngest/realtime@^0.4.4` ↗︎](https://www.npmjs.com/package/@inngest/realtime/v/0.4.4) (from `^0.3.1`, in `dependencies`)
9
1741
 
1742
+ - dependencies updates: ([#8651](https://github.com/mastra-ai/mastra/pull/8651))
1743
+ - Updated dependency [`inngest@^3.44.2` ↗︎](https://www.npmjs.com/package/inngest/v/3.44.2) (from `^3.40.3`, in `dependencies`)
1744
+
1745
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8619](https://github.com/mastra-ai/mastra/pull/8619))
1746
+
1747
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8557](https://github.com/mastra-ai/mastra/pull/8557))
1748
+
1749
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8626](https://github.com/mastra-ai/mastra/pull/8626))
1750
+
1751
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8686](https://github.com/mastra-ai/mastra/pull/8686))
1752
+
1753
+ - Updated dependencies [[`1ed9670`](https://github.com/mastra-ai/mastra/commit/1ed9670d3ca50cb60dc2e517738c5eef3968ed27), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`f59fc1e`](https://github.com/mastra-ai/mastra/commit/f59fc1e406b8912e692f6bff6cfd4754cc8d165c), [`158381d`](https://github.com/mastra-ai/mastra/commit/158381d39335be934b81ef8a1947bccace492c25), [`a1799bc`](https://github.com/mastra-ai/mastra/commit/a1799bcc1b5a1cdc188f2ac0165f17a1c4ac6f7b), [`6ff6094`](https://github.com/mastra-ai/mastra/commit/6ff60946f4ecfebdeef6e21d2b230c2204f2c9b8), [`fb703b9`](https://github.com/mastra-ai/mastra/commit/fb703b9634eeaff1a6eb2b5531ce0f9e8fb04727), [`37a2314`](https://github.com/mastra-ai/mastra/commit/37a23148e0e5a3b40d4f9f098b194671a8a49faf), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`05a9dee`](https://github.com/mastra-ai/mastra/commit/05a9dee3d355694d28847bfffb6289657fcf7dfa), [`e3c1077`](https://github.com/mastra-ai/mastra/commit/e3c107763aedd1643d3def5df450c235da9ff76c), [`1908ca0`](https://github.com/mastra-ai/mastra/commit/1908ca0521f90e43779cc29ab590173ca560443c), [`1bccdb3`](https://github.com/mastra-ai/mastra/commit/1bccdb33eb90cbeba2dc5ece1c2561fb774b26b6), [`5ef944a`](https://github.com/mastra-ai/mastra/commit/5ef944a3721d93105675cac2b2311432ff8cc393), [`d6b186f`](https://github.com/mastra-ai/mastra/commit/d6b186fb08f1caf1b86f73d3a5ee88fb999ca3be), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`65493b3`](https://github.com/mastra-ai/mastra/commit/65493b31c36f6fdb78f9679f7e1ecf0c250aa5ee), [`a998b8f`](https://github.com/mastra-ai/mastra/commit/a998b8f858091c2ec47683e60766cf12d03001e4), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`8a37bdd`](https://github.com/mastra-ai/mastra/commit/8a37bddb6d8614a32c5b70303d583d80c620ea61), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb)]:
1754
+ - @mastra/core@0.21.0
1755
+
1756
+ ## 0.16.1-alpha.1
1757
+
1758
+ ### Patch Changes
1759
+
1760
+ - dependencies updates: ([#8651](https://github.com/mastra-ai/mastra/pull/8651))
1761
+ - Updated dependency [`inngest@^3.44.2` ↗︎](https://www.npmjs.com/package/inngest/v/3.44.2) (from `^3.40.3`, in `dependencies`)
1762
+ - Updated dependencies [[`1ed9670`](https://github.com/mastra-ai/mastra/commit/1ed9670d3ca50cb60dc2e517738c5eef3968ed27), [`158381d`](https://github.com/mastra-ai/mastra/commit/158381d39335be934b81ef8a1947bccace492c25), [`fb703b9`](https://github.com/mastra-ai/mastra/commit/fb703b9634eeaff1a6eb2b5531ce0f9e8fb04727), [`37a2314`](https://github.com/mastra-ai/mastra/commit/37a23148e0e5a3b40d4f9f098b194671a8a49faf), [`05a9dee`](https://github.com/mastra-ai/mastra/commit/05a9dee3d355694d28847bfffb6289657fcf7dfa), [`e3c1077`](https://github.com/mastra-ai/mastra/commit/e3c107763aedd1643d3def5df450c235da9ff76c), [`1bccdb3`](https://github.com/mastra-ai/mastra/commit/1bccdb33eb90cbeba2dc5ece1c2561fb774b26b6), [`5ef944a`](https://github.com/mastra-ai/mastra/commit/5ef944a3721d93105675cac2b2311432ff8cc393), [`d6b186f`](https://github.com/mastra-ai/mastra/commit/d6b186fb08f1caf1b86f73d3a5ee88fb999ca3be), [`65493b3`](https://github.com/mastra-ai/mastra/commit/65493b31c36f6fdb78f9679f7e1ecf0c250aa5ee), [`a998b8f`](https://github.com/mastra-ai/mastra/commit/a998b8f858091c2ec47683e60766cf12d03001e4), [`8a37bdd`](https://github.com/mastra-ai/mastra/commit/8a37bddb6d8614a32c5b70303d583d80c620ea61)]:
1763
+ - @mastra/core@0.21.0-alpha.1
1764
+
1765
+ ## 0.16.1-alpha.0
1766
+
1767
+ ### Patch Changes
1768
+
1769
+ - dependencies updates: ([#8647](https://github.com/mastra-ai/mastra/pull/8647))
1770
+ - Updated dependency [`@inngest/realtime@^0.4.4` ↗︎](https://www.npmjs.com/package/@inngest/realtime/v/0.4.4) (from `^0.3.1`, in `dependencies`)
1771
+
1772
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8619](https://github.com/mastra-ai/mastra/pull/8619))
1773
+
10
1774
  - Update peer dependencies to match core package version bump (0.21.0) ([#8557](https://github.com/mastra-ai/mastra/pull/8557))
11
1775
 
12
1776
  - Update peer dependencies to match core package version bump (0.21.0) ([#8626](https://github.com/mastra-ai/mastra/pull/8626))
13
1777
 
14
1778
  - Update peer dependencies to match core package version bump (0.21.0) ([#8686](https://github.com/mastra-ai/mastra/pull/8686))
15
1779
 
16
- - Updated dependencies [[`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb)]:
17
- - @mastra/core@0.0.0-unified-sidebar-20251010130811
1780
+ - Updated dependencies [[`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb), [`59d036d`](https://github.com/mastra-ai/mastra/commit/59d036d4c2706b430b0e3f1f1e0ee853ce16ca04)]:
1781
+ - @mastra/core@0.21.0-alpha.0
18
1782
 
19
1783
  ## 0.16.0
20
1784