@mastra/mcp-docs-server 1.0.0-beta.5 → 1.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +9 -9
  2. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +67 -67
  3. package/.docs/organized/changelogs/%40mastra%2Fastra.md +10 -10
  4. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +12 -12
  5. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +57 -57
  6. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +110 -110
  7. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +57 -57
  8. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +57 -57
  9. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +6 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +60 -0
  11. package/.docs/organized/changelogs/%40mastra%2Fcore.md +358 -358
  12. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +11 -11
  13. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +24 -24
  14. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +12 -12
  15. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +79 -79
  16. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
  17. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +57 -57
  18. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
  19. package/.docs/organized/changelogs/%40mastra%2Fevals.md +12 -12
  20. package/.docs/organized/changelogs/%40mastra%2Flance.md +57 -57
  21. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +55 -55
  22. package/.docs/organized/changelogs/%40mastra%2Floggers.md +12 -12
  23. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +17 -17
  24. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +125 -125
  25. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +36 -36
  26. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +57 -57
  27. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +57 -57
  28. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +10 -10
  29. package/.docs/organized/changelogs/%40mastra%2Fpg.md +59 -59
  30. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +10 -10
  31. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +77 -77
  32. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +10 -10
  33. package/.docs/organized/changelogs/%40mastra%2Frag.md +43 -43
  34. package/.docs/organized/changelogs/%40mastra%2Freact.md +16 -0
  35. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -0
  36. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
  37. package/.docs/organized/changelogs/%40mastra%2Fserver.md +113 -113
  38. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +10 -10
  39. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +57 -57
  40. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +10 -10
  41. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +19 -19
  42. package/.docs/organized/changelogs/create-mastra.md +15 -15
  43. package/.docs/organized/changelogs/mastra.md +30 -30
  44. package/.docs/organized/code-examples/agui.md +1 -0
  45. package/.docs/organized/code-examples/ai-elements.md +1 -1
  46. package/.docs/organized/code-examples/ai-sdk-useChat.md +1 -1
  47. package/.docs/organized/code-examples/ai-sdk-v5.md +2 -1
  48. package/.docs/organized/code-examples/assistant-ui.md +1 -1
  49. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +1 -1
  50. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +1 -1
  51. package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
  52. package/.docs/organized/code-examples/mcp-server-adapters.md +721 -0
  53. package/.docs/organized/code-examples/server-app-access.md +342 -0
  54. package/.docs/organized/code-examples/server-express-adapter.md +87 -0
  55. package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
  56. package/.docs/raw/agents/agent-approval.mdx +189 -0
  57. package/.docs/raw/agents/guardrails.mdx +13 -9
  58. package/.docs/raw/agents/networks.mdx +1 -0
  59. package/.docs/raw/agents/overview.mdx +8 -152
  60. package/.docs/raw/agents/processors.mdx +279 -0
  61. package/.docs/raw/agents/structured-output.mdx +224 -0
  62. package/.docs/raw/deployment/cloud-providers/index.mdx +19 -26
  63. package/.docs/raw/deployment/cloud-providers/netlify-deployer.mdx +44 -13
  64. package/.docs/raw/evals/running-in-ci.mdx +0 -2
  65. package/.docs/raw/{guides/getting-started → getting-started}/manual-install.mdx +2 -2
  66. package/.docs/raw/getting-started/start.mdx +1 -1
  67. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +8 -0
  68. package/.docs/raw/guides/getting-started/quickstart.mdx +1 -1
  69. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  70. package/.docs/raw/guides/index.mdx +3 -35
  71. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +11 -0
  72. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +37 -0
  73. package/.docs/raw/index.mdx +1 -1
  74. package/.docs/raw/memory/memory-processors.mdx +265 -79
  75. package/.docs/raw/memory/working-memory.mdx +11 -2
  76. package/.docs/raw/observability/overview.mdx +0 -1
  77. package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
  78. package/.docs/raw/observability/tracing/exporters/arize.mdx +36 -0
  79. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +19 -0
  80. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +83 -0
  81. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +12 -0
  82. package/.docs/raw/observability/tracing/exporters/otel.mdx +34 -22
  83. package/.docs/raw/observability/tracing/exporters/posthog.mdx +20 -0
  84. package/.docs/raw/observability/tracing/overview.mdx +76 -6
  85. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +0 -1
  86. package/.docs/raw/rag/retrieval.mdx +23 -6
  87. package/.docs/raw/rag/vector-databases.mdx +93 -2
  88. package/.docs/raw/reference/agents/generate.mdx +55 -6
  89. package/.docs/raw/reference/agents/network.mdx +44 -0
  90. package/.docs/raw/reference/client-js/memory.mdx +43 -0
  91. package/.docs/raw/reference/client-js/workflows.mdx +92 -63
  92. package/.docs/raw/reference/deployer/netlify.mdx +1 -2
  93. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  94. package/.docs/raw/reference/index.mdx +1 -0
  95. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
  96. package/.docs/raw/reference/observability/tracing/configuration.mdx +0 -4
  97. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +29 -0
  98. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +43 -0
  99. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +17 -1
  100. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +33 -43
  101. package/.docs/raw/reference/observability/tracing/instances.mdx +0 -4
  102. package/.docs/raw/reference/observability/tracing/interfaces.mdx +29 -4
  103. package/.docs/raw/reference/observability/tracing/spans.mdx +0 -4
  104. package/.docs/raw/reference/processors/language-detector.mdx +9 -2
  105. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  106. package/.docs/raw/reference/processors/moderation-processor.mdx +10 -3
  107. package/.docs/raw/reference/processors/pii-detector.mdx +10 -3
  108. package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
  109. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +9 -2
  110. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  111. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
  112. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  113. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  114. package/.docs/raw/reference/server/create-route.mdx +314 -0
  115. package/.docs/raw/reference/server/express-adapter.mdx +193 -0
  116. package/.docs/raw/reference/server/hono-adapter.mdx +174 -0
  117. package/.docs/raw/reference/server/mastra-server.mdx +316 -0
  118. package/.docs/raw/reference/server/routes.mdx +250 -0
  119. package/.docs/raw/reference/storage/cloudflare-d1.mdx +37 -0
  120. package/.docs/raw/reference/storage/convex.mdx +164 -0
  121. package/.docs/raw/reference/storage/lance.mdx +33 -0
  122. package/.docs/raw/reference/storage/libsql.mdx +37 -0
  123. package/.docs/raw/reference/storage/mongodb.mdx +39 -0
  124. package/.docs/raw/reference/storage/mssql.mdx +37 -0
  125. package/.docs/raw/reference/storage/postgresql.mdx +37 -0
  126. package/.docs/raw/reference/streaming/ChunkType.mdx +1 -1
  127. package/.docs/raw/reference/streaming/agents/stream.mdx +56 -1
  128. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +7 -9
  129. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  130. package/.docs/raw/reference/streaming/workflows/stream.mdx +83 -24
  131. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
  132. package/.docs/raw/reference/tools/mcp-client.mdx +128 -18
  133. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  134. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  135. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  136. package/.docs/raw/reference/voice/google.mdx +159 -20
  137. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  138. package/.docs/raw/reference/workflows/run-methods/resume.mdx +44 -0
  139. package/.docs/raw/reference/workflows/run-methods/start.mdx +44 -0
  140. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
  141. package/.docs/raw/reference/workflows/run.mdx +27 -5
  142. package/.docs/raw/reference/workflows/step.mdx +13 -0
  143. package/.docs/raw/reference/workflows/workflow.mdx +19 -0
  144. package/.docs/raw/server-db/custom-adapters.mdx +380 -0
  145. package/.docs/raw/server-db/mastra-server.mdx +16 -8
  146. package/.docs/raw/server-db/request-context.mdx +0 -1
  147. package/.docs/raw/server-db/server-adapters.mdx +286 -0
  148. package/.docs/raw/server-db/storage.mdx +11 -0
  149. package/.docs/raw/streaming/overview.mdx +6 -6
  150. package/.docs/raw/streaming/tool-streaming.mdx +2 -2
  151. package/.docs/raw/streaming/workflow-streaming.mdx +5 -11
  152. package/.docs/raw/workflows/error-handling.mdx +1 -0
  153. package/.docs/raw/workflows/human-in-the-loop.mdx +4 -4
  154. package/.docs/raw/workflows/overview.mdx +56 -44
  155. package/.docs/raw/workflows/snapshots.mdx +1 -0
  156. package/.docs/raw/workflows/suspend-and-resume.mdx +85 -16
  157. package/.docs/raw/workflows/time-travel.mdx +313 -0
  158. package/.docs/raw/workflows/workflow-state.mdx +191 -0
  159. package/CHANGELOG.md +16 -0
  160. package/package.json +4 -4
  161. package/.docs/raw/agents/human-in-the-loop-with-tools.mdx +0 -91
  162. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  163. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
@@ -87,6 +87,50 @@ if (result.status === "suspended") {
87
87
  },
88
88
  ],
89
89
  },
90
+ {
91
+ parameters: [
92
+ {
93
+ name: "requestContextKeys",
94
+ type: "string[]",
95
+ isOptional: true,
96
+ description:
97
+ "Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').",
98
+ },
99
+ ],
100
+ },
101
+ {
102
+ parameters: [
103
+ {
104
+ name: "traceId",
105
+ type: "string",
106
+ isOptional: true,
107
+ description:
108
+ "Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.",
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ parameters: [
114
+ {
115
+ name: "parentSpanId",
116
+ type: "string",
117
+ isOptional: true,
118
+ description:
119
+ "Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.",
120
+ },
121
+ ],
122
+ },
123
+ {
124
+ parameters: [
125
+ {
126
+ name: "tags",
127
+ type: "string[]",
128
+ isOptional: true,
129
+ description:
130
+ "Tags to apply to this trace. String labels for categorizing and filtering traces.",
131
+ },
132
+ ],
133
+ },
90
134
  ],
91
135
  },
92
136
  {
@@ -78,6 +78,50 @@ const result = await run.start({
78
78
  },
79
79
  ],
80
80
  },
81
+ {
82
+ parameters: [
83
+ {
84
+ name: "requestContextKeys",
85
+ type: "string[]",
86
+ isOptional: true,
87
+ description:
88
+ "Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').",
89
+ },
90
+ ],
91
+ },
92
+ {
93
+ parameters: [
94
+ {
95
+ name: "traceId",
96
+ type: "string",
97
+ isOptional: true,
98
+ description:
99
+ "Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.",
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ parameters: [
105
+ {
106
+ name: "parentSpanId",
107
+ type: "string",
108
+ isOptional: true,
109
+ description:
110
+ "Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.",
111
+ },
112
+ ],
113
+ },
114
+ {
115
+ parameters: [
116
+ {
117
+ name: "tags",
118
+ type: "string[]",
119
+ isOptional: true,
120
+ description:
121
+ "Tags to apply to this trace. String labels for categorizing and filtering traces.",
122
+ },
123
+ ],
124
+ },
81
125
  ],
82
126
  },
83
127
  {
@@ -0,0 +1,310 @@
1
+ ---
2
+ title: "Reference: Run.timeTravel() | Workflows"
3
+ description: Documentation for the `Run.timeTravel()` method in workflows, which re-executes a workflow from a specific step.
4
+ ---
5
+
6
+ # Run.timeTravel()
7
+
8
+ The `.timeTravel()` method re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide. This is useful for debugging failed workflows, testing individual steps with different inputs, or recovering from errors without re-running the entire workflow.
9
+
10
+ ## Usage example
11
+
12
+ ```typescript showLineNumbers copy
13
+ const run = await workflow.createRun();
14
+
15
+ const result = await run.timeTravel({
16
+ step: "step2",
17
+ inputData: { value: 10 },
18
+ });
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ <PropertiesTable
24
+ content={[
25
+ {
26
+ name: "step",
27
+ type: "Step<string, any, TInputSchema, any, any, any, TEngineType> | [...Step<string, any, any, any, any, any, TEngineType>[], Step<string, any, TInputSchema, any, any, any, TEngineType>] | string | string[]",
28
+ description:
29
+ "The target step to start execution from. It can be a Step instance, array of Steps (for nested workflows), step ID string, or array of step ID strings. Use dot notation or arrays for nested workflow steps (e.g., 'nestedWorkflow.step3' or ['nestedWorkflow', 'step3'])",
30
+ isOptional: false,
31
+ },
32
+ {
33
+ name: "inputData",
34
+ type: "z.infer<TInputSchema>",
35
+ description: "Input data for the target step. Must match the step's input schema. If not provided, uses data from the workflow snapshot",
36
+ isOptional: true,
37
+ },
38
+ {
39
+ name: "resumeData",
40
+ type: "any",
41
+ description: "Resume data to provide if the workflow was previously suspended",
42
+ isOptional: true,
43
+ },
44
+ {
45
+ name: "initialState",
46
+ type: "z.infer<TState>",
47
+ description: "Initial state to set for the workflow run. Used to set workflow-level state before execution",
48
+ isOptional: true,
49
+ },
50
+ {
51
+ name: "context",
52
+ type: "TimeTravelContext<any, any, any, any>",
53
+ description:
54
+ "Execution context containing step results for steps before the target step. Each key is a step ID with a StepResult object containing status, payload, output, startedAt, endedAt, suspendPayload, and resumePayload",
55
+ isOptional: true,
56
+ },
57
+ {
58
+ name: "nestedStepsContext",
59
+ type: "Record<string, TimeTravelContext<any, any, any, any>>",
60
+ description:
61
+ "Context for nested workflow steps. Keyed by nested workflow ID, each containing step results for that nested workflow",
62
+ isOptional: true,
63
+ },
64
+ {
65
+ name: "requestContext",
66
+ type: "RequestContext",
67
+ description: "Request Context data to use during time travel execution",
68
+ isOptional: true,
69
+ },
70
+ {
71
+ name: "writableStream",
72
+ type: "WritableStream<ChunkType>",
73
+ description: "Optional writable stream for streaming workflow output during time travel",
74
+ isOptional: true,
75
+ },
76
+ {
77
+ name: "tracingContext",
78
+ type: "TracingContext",
79
+ isOptional: true,
80
+ description:
81
+ "Tracing context for creating child spans and adding metadata. Automatically injected when using Mastra's tracing system.",
82
+ properties: [
83
+ {
84
+ parameters: [
85
+ {
86
+ name: "currentSpan",
87
+ type: "Span",
88
+ isOptional: true,
89
+ description:
90
+ "Current span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.",
91
+ },
92
+ ],
93
+ },
94
+ ],
95
+ },
96
+ {
97
+ name: "tracingOptions",
98
+ type: "TracingOptions",
99
+ isOptional: true,
100
+ description: "Options for Tracing configuration.",
101
+ properties: [
102
+ {
103
+ parameters: [
104
+ {
105
+ name: "metadata",
106
+ type: "Record<string, any>",
107
+ isOptional: true,
108
+ description:
109
+ "Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.",
110
+ },
111
+ ],
112
+ },
113
+ {
114
+ parameters: [
115
+ {
116
+ name: "requestContextKeys",
117
+ type: "string[]",
118
+ isOptional: true,
119
+ description:
120
+ "Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').",
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ parameters: [
126
+ {
127
+ name: "traceId",
128
+ type: "string",
129
+ isOptional: true,
130
+ description:
131
+ "Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.",
132
+ },
133
+ ],
134
+ },
135
+ {
136
+ parameters: [
137
+ {
138
+ name: "parentSpanId",
139
+ type: "string",
140
+ isOptional: true,
141
+ description:
142
+ "Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.",
143
+ },
144
+ ],
145
+ },
146
+ {
147
+ parameters: [
148
+ {
149
+ name: "tags",
150
+ type: "string[]",
151
+ isOptional: true,
152
+ description:
153
+ "Tags to apply to this trace. String labels for categorizing and filtering traces.",
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ {
160
+ name: "outputOptions",
161
+ type: "OutputOptions",
162
+ isOptional: true,
163
+ description: "Options for output configuration.",
164
+ properties: [
165
+ {
166
+ parameters: [
167
+ {
168
+ name: "includeState",
169
+ type: "boolean",
170
+ isOptional: true,
171
+ description:
172
+ "Whether to include the workflow run state in the result.",
173
+ },
174
+ ],
175
+ },
176
+ {
177
+ parameters: [
178
+ {
179
+ name: "includeResumeLabels",
180
+ type: "boolean",
181
+ isOptional: true,
182
+ description:
183
+ "Whether to include resume labels in the result.",
184
+ },
185
+ ],
186
+ },
187
+ ],
188
+ },
189
+ ]}
190
+ />
191
+
192
+ ## Returns
193
+
194
+ <PropertiesTable
195
+ content={[
196
+ {
197
+ name: "result",
198
+ type: "Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>",
199
+ description:
200
+ "A promise that resolves to the workflow execution result containing step outputs and status",
201
+ },
202
+ {
203
+ name: "traceId",
204
+ type: "string",
205
+ isOptional: true,
206
+ description:
207
+ "The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.",
208
+ },
209
+ ]}
210
+ />
211
+
212
+ ## Extended usage examples
213
+
214
+ ### Time travel with custom context
215
+
216
+ ```typescript showLineNumbers copy
217
+ const result = await run.timeTravel({
218
+ step: "step2",
219
+ context: {
220
+ step1: {
221
+ status: "success",
222
+ payload: { value: 0 },
223
+ output: { step1Result: 2 },
224
+ startedAt: Date.now(),
225
+ endedAt: Date.now(),
226
+ },
227
+ },
228
+ });
229
+ ```
230
+
231
+ ### Time travel to nested workflow step
232
+
233
+ ```typescript showLineNumbers copy
234
+ // Using dot notation
235
+ const result = await run.timeTravel({
236
+ step: "nestedWorkflow.step3",
237
+ inputData: { value: 10 },
238
+ });
239
+
240
+ // Using array of step IDs
241
+ const result = await run.timeTravel({
242
+ step: ["nestedWorkflow", "step3"],
243
+ inputData: { value: 10 },
244
+ });
245
+ ```
246
+
247
+ ### Time travel with initial state
248
+
249
+ ```typescript showLineNumbers copy
250
+ const result = await run.timeTravel({
251
+ step: "step2",
252
+ inputData: { value: 10 },
253
+ initialState: {
254
+ counter: 5,
255
+ metadata: { source: "time-travel" },
256
+ },
257
+ });
258
+ ```
259
+
260
+ ### Time travel with nested workflows context
261
+
262
+ ```typescript showLineNumbers copy
263
+ const result = await run.timeTravel({
264
+ step: "nestedWorkflow.step3",
265
+ context: {
266
+ step1: {
267
+ status: "success",
268
+ payload: { value: 0 },
269
+ output: { step1Result: 2 },
270
+ startedAt: Date.now(),
271
+ endedAt: Date.now(),
272
+ },
273
+ nestedWorkflow: {
274
+ status: "running",
275
+ payload: { step1Result: 2 },
276
+ startedAt: Date.now(),
277
+ },
278
+ },
279
+ nestedStepsContext: {
280
+ nestedWorkflow: {
281
+ step2: {
282
+ status: "success",
283
+ payload: { step1Result: 2 },
284
+ output: { step2Result: 3 },
285
+ startedAt: Date.now(),
286
+ endedAt: Date.now(),
287
+ },
288
+ },
289
+ },
290
+ });
291
+ ```
292
+
293
+ ## Notes
294
+
295
+ - Time travel requires storage to be configured since it relies on persisted workflow snapshots
296
+ - When re-executing a workflow, the workflow loads the existing snapshot from storage (if available)
297
+ - Step results before the target step are reconstructed from the snapshot or provided context
298
+ - Execution begins from the specified step with the provided or reconstructed input data
299
+ - The workflow continues to completion from that point forward
300
+ - Time travel can be used on workflows that have not been run yet by providing custom context or input data for the step to start from.
301
+
302
+
303
+ ## Related
304
+
305
+ - [Time Travel](/docs/v1/workflows/time-travel)
306
+ - [Workflows overview](/docs/v1/workflows/overview#running-workflows)
307
+ - [Workflow.createRun()](../workflow-methods/create-run)
308
+ - [Snapshots](/docs/v1/workflows/snapshots)
309
+ - [Suspend & Resume](/docs/v1/workflows/suspend-and-resume)
310
+
@@ -41,14 +41,14 @@ if (result.status === "suspended") {
41
41
  },
42
42
  {
43
43
  name: "stream",
44
- type: "(options?: StreamOptions) => Promise<StreamResult>",
45
- description: "Monitors workflow execution as a stream of events",
44
+ type: "(options?: StreamOptions) => MastraWorkflowStream",
45
+ description: "Monitors workflow execution as a stream of events with enhanced streaming features",
46
46
  required: true,
47
47
  },
48
48
  {
49
- name: "streamVNext",
50
- type: "(options?: StreamOptions) => MastraWorkflowStream",
51
- description: "Enables real-time streaming with enhanced features",
49
+ name: "resumeStream",
50
+ type: "(options?: ResumeStreamOptions) => MastraWorkflowStream",
51
+ description: "Resumes a suspended workflow with streaming support",
52
52
  required: true,
53
53
  },
54
54
  {
@@ -57,6 +57,24 @@ if (result.status === "suspended") {
57
57
  description: "Cancels the workflow execution",
58
58
  required: true,
59
59
  },
60
+ {
61
+ name: "restart",
62
+ type: "(options?: RestartOptions) => Promise<WorkflowResult>",
63
+ description: "Restarts the workflow execution from last active step",
64
+ required: true,
65
+ },
66
+ {
67
+ name: "timeTravel",
68
+ type: "(options?: TimeTravelOptions) => Promise<WorkflowResult>",
69
+ description: "Re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide.",
70
+ required: true,
71
+ },
72
+ {
73
+ name: "timeTravelStream",
74
+ type: "(options?: TimeTravelOptions) => MastraWorkflowStream",
75
+ description: "Time travels a workflow execution with streaming support",
76
+ required: true,
77
+ },
60
78
  ]}
61
79
  />
62
80
 
@@ -92,3 +110,7 @@ A workflow run's `status` indicates its current execution state. The possible va
92
110
  - [Run.start()](./run-methods/start)
93
111
  - [Run.resume()](./run-methods/resume)
94
112
  - [Run.cancel()](./run-methods/cancel)
113
+ - [Run.restart()](./run-methods/restart)
114
+ - [Run.timeTravel()](./run-methods/timeTravel)
115
+ - [Run.stream()](/docs/v1/streaming/workflow-streaming)
116
+ - [Run.timeTravelStream()](../streaming/workflows/timeTravelStream)
@@ -103,6 +103,12 @@ const step1 = createStep({
103
103
  description:
104
104
  "The resume data matching the resumeSchema, when resuming the step from a suspended state. Only exists if the step is being resumed.",
105
105
  },
106
+ {
107
+ name: "suspendData",
108
+ type: "z.infer<TSuspendSchema>",
109
+ description:
110
+ "The suspend data that was originally passed to suspend() when the step was suspended. Only exists if the step is being resumed and was previously suspended with data.",
111
+ },
106
112
  {
107
113
  name: "mastra",
108
114
  type: "Mastra",
@@ -124,6 +130,12 @@ const step1 = createStep({
124
130
  type: "(suspendPayload: any, suspendOptions?: { resumeLabel?: string }) => Promise<void>",
125
131
  description: "Function to pause workflow execution",
126
132
  },
133
+ {
134
+ name: "state",
135
+ type: "z.infer<TState>",
136
+ description:
137
+ "The current workflow state. Contains shared values that persist across all steps and suspend/resume cycles. The structure is defined by the step's stateSchema.",
138
+ },
127
139
  {
128
140
  name: "setState",
129
141
  type: "(state: z.infer<TState>) => void",
@@ -154,5 +166,6 @@ const step1 = createStep({
154
166
 
155
167
  ## Related
156
168
 
169
+ - [Workflow state](/docs/v1/workflows/workflow-state)
157
170
  - [Control flow](/docs/v1/workflows/control-flow)
158
171
  - [Using agents and tools](/docs/v1/workflows/agents-and-tools)
@@ -88,6 +88,24 @@ export const workflow = createWorkflow({
88
88
  ]}
89
89
  />
90
90
 
91
+ ## Running with initial state
92
+
93
+ When starting a workflow run, you can pass `initialState` to set the starting values for the workflow's state:
94
+
95
+ ```typescript showLineNumbers copy
96
+ const run = await workflow.createRun();
97
+
98
+ const result = await run.start({
99
+ inputData: { value: "hello" },
100
+ initialState: {
101
+ counter: 0,
102
+ items: [],
103
+ },
104
+ });
105
+ ```
106
+
107
+ The `initialState` object should match the structure defined in the workflow's `stateSchema`. See [Workflow State](/docs/v1/workflows/workflow-state) for more details.
108
+
91
109
  ## Workflow status
92
110
 
93
111
  A workflow's `status` indicates its current execution state. The possible values are:
@@ -118,4 +136,5 @@ A workflow's `status` indicates its current execution state. The possible values
118
136
  ## Related
119
137
 
120
138
  - [Step Class](./step)
139
+ - [Workflow State](/docs/v1/workflows/workflow-state)
121
140
  - [Control flow](/docs/v1/workflows/control-flow)