@mastra/mcp-docs-server 0.13.37 → 0.13.38

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 (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,23 +1,22 @@
1
1
  ---
2
- title: "Handling Complex LLM Operations | Workflows | Mastra"
2
+ title: "Workflows overview | Workflows | Mastra Docs"
3
3
  description: "Workflows in Mastra help you orchestrate complex sequences of tasks with features like branching, parallel execution, resource suspension, and more."
4
4
  ---
5
5
 
6
- import { Steps, Callout, Tabs } from "nextra/components";
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
7
8
 
8
9
  # Workflows overview
9
10
 
10
11
  Workflows let you define complex sequences of tasks using clear, structured steps rather than relying on the reasoning of a single agent. They give you full control over how tasks are broken down, how data moves between them, and what gets executed when.
11
12
 
12
- ![Workflows overview](/image/workflows/workflows-overview.jpg)
13
+ ![Workflows overview](/img/workflows/workflows-overview.jpg)
13
14
 
14
15
  ## When to use workflows
15
16
 
16
17
  Use workflows for tasks that are clearly defined upfront and involve multiple steps with a specific execution order. They give you fine-grained control over how data flows and transforms between steps, and which primitives are called at each stage.
17
18
 
18
-
19
-
20
- > **📹 Watch**: → An introduction to workflows, and how they compare to agents [YouTube (7 minutes)](https://youtu.be/0jg2g3sNvgw)
19
+ > **📹 Watch**: → An introduction to workflows, and how they compare to agents [YouTube (7 minutes)](https://youtu.be/0jg2g3sNvgw)
21
20
 
22
21
  ## Core principles
23
22
 
@@ -33,38 +32,38 @@ Steps are the building blocks of workflows. Create a step using `createStep()` w
33
32
 
34
33
  The `execute` function defines what the step does. Use it to call functions in your codebase, external APIs, agents, or tools.
35
34
 
36
- ```typescript {6,9,15} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
35
+ ```typescript {6,9,15} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
37
36
  import { createStep } from "@mastra/core/workflows";
38
37
 
39
38
  const step1 = createStep({
40
39
  id: "step-1",
41
40
  inputSchema: z.object({
42
- message: z.string()
41
+ message: z.string(),
43
42
  }),
44
43
  outputSchema: z.object({
45
- formatted: z.string()
44
+ formatted: z.string(),
46
45
  }),
47
46
  execute: async ({ inputData }) => {
48
47
  const { message } = inputData;
49
48
 
50
49
  return {
51
- formatted: message.toUpperCase()
50
+ formatted: message.toUpperCase(),
52
51
  };
53
- }
52
+ },
54
53
  });
55
54
  ```
56
55
 
57
- > See the [Step Class](../../reference/workflows/step.mdx) for a full list of configuration options.
56
+ > See the [Step Class](/reference/workflows/step) for a full list of configuration options.
58
57
 
59
58
  ### Using agents and tools
60
59
 
61
- Workflow steps can also call registered agents or import and execute tools directly, visit the [Agents and Tools](./agents-and-tools.mdx) page for more information.
60
+ Workflow steps can also call registered agents or import and execute tools directly, visit the [Agents and Tools](./agents-and-tools) page for more information.
62
61
 
63
62
  ## Creating a workflow
64
63
 
65
64
  Create a workflow using `createWorkflow()` with `inputSchema` and `outputSchema` to define the data it accepts and returns. Add steps using `.then()` and complete the workflow with `.commit()`.
66
65
 
67
- ```typescript {9,12,15,16} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
66
+ ```typescript {9,12,15,16} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
68
67
  import { createWorkflow, createStep } from "@mastra/core/workflows";
69
68
  import { z } from "zod";
70
69
 
@@ -84,45 +83,45 @@ export const testWorkflow = createWorkflow({
84
83
 
85
84
  ```
86
85
 
87
- > See the [Workflow Class](../../reference/workflows/workflow.mdx) for a full list of configuration options.
86
+ > See the [Workflow Class](/reference/workflows/workflow) for a full list of configuration options.
88
87
 
89
88
  ### Understanding control flow
90
89
 
91
- Workflows can be composed using a number of different methods. The method you choose determines how each step's schema should be structured. Visit the [Control Flow](./control-flow.mdx) page for more information.
90
+ Workflows can be composed using a number of different methods. The method you choose determines how each step's schema should be structured. Visit the [Control Flow](./control-flow) page for more information.
92
91
 
93
92
  #### Composing workflow steps
94
93
 
95
94
  When using `.then()`, steps run sequentially. Each step’s `inputSchema` must match the `outputSchema` of the previous step. The final step’s `outputSchema` should match the workflow’s `outputSchema` to ensure end-to-end type safety.
96
95
 
97
- ```typescript {4,7,14,17,24,27} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
96
+ ```typescript {4,7,14,17,24,27} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
98
97
  const step1 = createStep({
99
98
  //...
100
99
  inputSchema: z.object({
101
- message: z.string()
100
+ message: z.string(),
102
101
  }),
103
102
  outputSchema: z.object({
104
- formatted: z.string()
105
- })
103
+ formatted: z.string(),
104
+ }),
106
105
  });
107
106
 
108
107
  const step2 = createStep({
109
108
  // ...
110
109
  inputSchema: z.object({
111
- formatted: z.string()
110
+ formatted: z.string(),
112
111
  }),
113
112
  outputSchema: z.object({
114
- emphasized: z.string()
115
- })
113
+ emphasized: z.string(),
114
+ }),
116
115
  });
117
116
 
118
117
  export const testWorkflow = createWorkflow({
119
118
  // ...
120
119
  inputSchema: z.object({
121
- message: z.string()
120
+ message: z.string(),
122
121
  }),
123
122
  outputSchema: z.object({
124
- emphasized: z.string()
125
- })
123
+ emphasized: z.string(),
124
+ }),
126
125
  })
127
126
  .then(step1)
128
127
  .then(step2)
@@ -133,7 +132,7 @@ export const testWorkflow = createWorkflow({
133
132
 
134
133
  Register your workflow in the Mastra instance to make it available throughout your application. Once registered, it can be called from agents or tools and has access to shared resources such as logging and observability features:
135
134
 
136
- ```typescript {6} filename="src/mastra/index.ts" showLineNumbers copy
135
+ ```typescript {6} title="src/mastra/index.ts" showLineNumbers copy
137
136
  import { Mastra } from "@mastra/core/mastra";
138
137
  import { testWorkflow } from "./workflows/test-workflow";
139
138
 
@@ -150,20 +149,22 @@ You can run workflows from agents, tools, the Mastra Client, or the command line
150
149
  ```typescript showLineNumbers copy
151
150
  const testWorkflow = mastra.getWorkflow("testWorkflow");
152
151
  ```
153
- <Callout type="info">
154
- <p>
155
- `mastra.getWorkflow()` is preferred over a direct import, since it provides access to the Mastra instance configuration (logger, telemetry, storage, registered agents, and vector stores).
156
- </p>
157
- </Callout>
158
152
 
159
- > See [Running Workflows](../../examples/workflows/running-workflows.mdx) for more information.
153
+ :::info
154
+
155
+ `mastra.getWorkflow()` is preferred over a direct import, since it provides access to the Mastra instance configuration (logger, telemetry, storage, registered agents, and vector stores).
156
+
157
+ :::
158
+
159
+ > See [Running Workflows](/examples/workflows_legacy/creating-a-workflow) for more information.
160
160
 
161
161
  ## Running workflows
162
162
 
163
163
  Workflows can be run in two modes: start waits for all steps to complete before returning, and stream emits events during execution. Choose the approach that fits your use case: start when you only need the final result, and stream when you want to monitor progress or trigger actions as steps complete.
164
164
 
165
- <Tabs items={["Start", "Stream"]}>
166
- <Tabs.Tab>
165
+ <Tabs>
166
+ <TabItem value="start" label="Start">
167
+
167
168
  Create a workflow run instance using `createRunAsync()`, then call `.start()` with `inputData` matching the workflow's `inputSchema`. The workflow executes all steps and returns the final result.
168
169
 
169
170
  ```typescript showLineNumbers copy
@@ -171,14 +172,16 @@ const run = await testWorkflow.createRunAsync();
171
172
 
172
173
  const result = await run.start({
173
174
  inputData: {
174
- message: "Hello world"
175
- }
175
+ message: "Hello world",
176
+ },
176
177
  });
177
178
 
178
179
  console.log(result);
179
180
  ```
180
- </Tabs.Tab>
181
- <Tabs.Tab>
181
+
182
+ </TabItem>
183
+ <TabItem value="stream" label="Stream">
184
+
182
185
  Create a workflow run instance using `.createRunAsync()`, then call `.stream()` with `inputData` matching the workflow's `inputSchema`. The workflow emits events as each step executes, which you can iterate over to track progress.
183
186
 
184
187
  ```typescript showLineNumbers copy
@@ -186,15 +189,16 @@ const run = await testWorkflow.createRunAsync();
186
189
 
187
190
  const result = await run.stream({
188
191
  inputData: {
189
- message: "Hello world"
190
- }
192
+ message: "Hello world",
193
+ },
191
194
  });
192
195
 
193
196
  for await (const chunk of result.stream) {
194
197
  console.log(chunk);
195
198
  }
196
199
  ```
197
- </Tabs.Tab>
200
+
201
+ </TabItem>
198
202
  </Tabs>
199
203
 
200
204
  ## Workflow output
@@ -213,7 +217,7 @@ The workflow output includes the full execution lifecycle, showing the input and
213
217
  },
214
218
  "output": {
215
219
  "formatted": "HELLO WORLD"
216
- },
220
+ }
217
221
  },
218
222
  "step-2": {
219
223
  "status": "success",
@@ -222,7 +226,7 @@ The workflow output includes the full execution lifecycle, showing the input and
222
226
  },
223
227
  "output": {
224
228
  "emphasized": "HELLO WORLD!!!"
225
- },
229
+ }
226
230
  }
227
231
  },
228
232
  "input": {
@@ -236,9 +240,9 @@ The workflow output includes the full execution lifecycle, showing the input and
236
240
 
237
241
  ## Using `RuntimeContext`
238
242
 
239
- Use [RuntimeContext](../server-db/runtime-context.mdx) to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
243
+ Use [RuntimeContext](/docs/server-db/runtime-context) to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
240
244
 
241
- ```typescript filename="src/mastra/workflows/test-workflow.ts" showLineNumbers
245
+ ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers
242
246
  export type UserTier = {
243
247
  "user-tier": "enterprise" | "pro";
244
248
  };
@@ -248,32 +252,28 @@ const step1 = createStep({
248
252
  execute: async ({ runtimeContext }) => {
249
253
  const userTier = runtimeContext.get("user-tier") as UserTier["user-tier"];
250
254
 
251
- const maxResults = userTier === "enterprise"
252
- ? 1000
253
- : 50;
255
+ const maxResults = userTier === "enterprise" ? 1000 : 50;
254
256
 
255
257
  return { maxResults };
256
- }
258
+ },
257
259
  });
258
260
  ```
259
261
 
260
- > See [Runtime Context](../server-db/runtime-context.mdx) for more information.
262
+ > See [Runtime Context](/docs/server-db/runtime-context) for more information.
261
263
 
262
264
  ## Testing with Mastra Playground
263
265
 
264
- Use the Mastra [Playground](../server-db/local-dev-playground.mdx) to easily run workflows with different inputs, visualize the execution lifecycle, see the inputs and outputs for each step, and inspect each part of the workflow in more detail.
266
+ Use the Mastra [Playground](/docs/getting-started/studio) to easily run workflows with different inputs, visualize the execution lifecycle, see the inputs and outputs for each step, and inspect each part of the workflow in more detail.
265
267
 
266
268
  ## Related
267
269
 
268
- For a closer look at workflows, see our [Workflow Guide](../../guides/guide/ai-recruiter.mdx), which walks through the core concepts with a practical example.
269
-
270
- - [Parallel Steps workflow example](../../examples/workflows/parallel-steps.mdx)
271
- - [Conditional Branching workflow example](../../examples/workflows/conditional-branching.mdx)
272
- - [Inngest workflow example](../../examples/workflows/inngest-workflow.mdx)
273
- - [Suspend and Resume workflow example](../../examples/workflows/human-in-the-loop.mdx)
270
+ For a closer look at workflows, see our [Workflow Guide](/guides/guide/ai-recruiter), which walks through the core concepts with a practical example.
274
271
 
272
+ - [Parallel Steps workflow example](/examples/workflows_legacy/parallel-steps)
273
+ - [Conditional Branching workflow example](/examples/workflows_legacy/conditional-branching)
274
+ - [Inngest workflow example](/examples/workflows/inngest-workflow)
275
+ - [Suspend and Resume workflow example](/examples/workflows_legacy/human-in-the-loop)
275
276
 
276
277
  ## Workflows (Legacy)
277
278
 
278
- For legacy workflow documentation, see [Workflows (Legacy)](../workflows-legacy/overview.mdx).
279
-
279
+ For legacy workflow documentation, see [Workflows (Legacy)](../workflows-legacy/overview).
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Snapshots | Mastra Docs"
2
+ title: "Snapshots | Workflows | Mastra Docs"
3
3
  description: "Learn how to save and resume workflow execution state with snapshots in Mastra"
4
4
  ---
5
5
 
@@ -33,19 +33,30 @@ This mechanism provides a powerful way to implement human-in-the-loop workflows,
33
33
 
34
34
  Each snapshot includes the `runId`, input, step status (`success`, `suspended`, etc.), any suspend and resume payloads, and the final output. This ensures full context is available when resuming execution.
35
35
 
36
-
37
36
  ```json
38
37
  {
39
38
  "runId": "34904c14-e79e-4a12-9804-9655d4616c50",
40
39
  "status": "success",
41
40
  "value": {},
42
41
  "context": {
43
- "input": { "value": 100, "user": "Michael", "requiredApprovers": ["manager", "finance"] },
42
+ "input": {
43
+ "value": 100,
44
+ "user": "Michael",
45
+ "requiredApprovers": ["manager", "finance"]
46
+ },
44
47
  "approval-step": {
45
- "payload": { "value": 100, "user": "Michael", "requiredApprovers": ["manager", "finance"] },
48
+ "payload": {
49
+ "value": 100,
50
+ "user": "Michael",
51
+ "requiredApprovers": ["manager", "finance"]
52
+ },
46
53
  "startedAt": 1758027577955,
47
54
  "status": "success",
48
- "suspendPayload": { "message": "Workflow suspended", "requestedBy": "Michael", "approvers": ["manager", "finance"] },
55
+ "suspendPayload": {
56
+ "message": "Workflow suspended",
57
+ "requestedBy": "Michael",
58
+ "approvers": ["manager", "finance"]
59
+ },
49
60
  "suspendedAt": 1758027578065,
50
61
  "resumePayload": { "confirm": true, "approver": "manager" },
51
62
  "resumedAt": 1758027578517,
@@ -54,7 +65,15 @@ Each snapshot includes the `runId`, input, step status (`success`, `suspended`,
54
65
  }
55
66
  },
56
67
  "activePaths": [],
57
- "serializedStepGraph": [{ "type": "step", "step": { "id": "approval-step", "description": "Accepts a value, waits for confirmation" } }],
68
+ "serializedStepGraph": [
69
+ {
70
+ "type": "step",
71
+ "step": {
72
+ "id": "approval-step",
73
+ "description": "Accepts a value, waits for confirmation"
74
+ }
75
+ }
76
+ ],
58
77
  "suspendedPaths": {},
59
78
  "waitingPaths": {},
60
79
  "result": { "value": 100, "approved": true },
@@ -68,10 +87,10 @@ Each snapshot includes the `runId`, input, step status (`success`, `suspended`,
68
87
  Snapshots are saved to the configured storage system. By default, they use LibSQL, but you can configure Upstash or PostgreSQL instead. Each snapshot is saved in the `workflow_snapshots` table and identified by the workflow’s `runId`.
69
88
 
70
89
  Read more about:
71
- - [LibSQL Storage](../../reference/storage/libsql.mdx)
72
- - [Upstash Storage](../../reference/storage/upstash.mdx)
73
- - [PostgreSQL Storage](../../reference/storage/postgresql.mdx)
74
90
 
91
+ - [LibSQL Storage](/reference/storage/libsql)
92
+ - [Upstash Storage](/reference/storage/upstash)
93
+ - [PostgreSQL Storage](/reference/storage/postgresql)
75
94
 
76
95
  ### Saving snapshots
77
96
 
@@ -93,13 +112,12 @@ When a workflow is resumed, Mastra retrieves the persisted snapshot with these s
93
112
  4. The workflow execution is recreated with the snapshot state
94
113
  5. The suspended step is resumed, and execution continues
95
114
 
96
-
97
115
  ```typescript
98
116
  const storage = mastra.getStorage();
99
117
 
100
118
  const snapshot = await storage!.loadWorkflowSnapshot({
101
119
  runId: "<run-id>",
102
- workflowName: "<workflow-id>"
120
+ workflowName: "<workflow-id>",
103
121
  });
104
122
 
105
123
  console.log(snapshot);
@@ -113,15 +131,15 @@ Snapshots are persisted using a `storage` instance configured on the `Mastra` cl
113
131
 
114
132
  This example demonstrates how to use snapshots with LibSQL.
115
133
 
116
- ```typescript filename="src/mastra/index.ts" showLineNumbers copy
134
+ ```typescript title="src/mastra/index.ts" showLineNumbers copy
117
135
  import { Mastra } from "@mastra/core/mastra";
118
136
  import { LibSQLStore } from "@mastra/libsql";
119
137
 
120
138
  export const mastra = new Mastra({
121
139
  // ...
122
140
  storage: new LibSQLStore({
123
- url: ":memory:"
124
- })
141
+ url: ":memory:",
142
+ }),
125
143
  });
126
144
  ```
127
145
 
@@ -129,7 +147,7 @@ export const mastra = new Mastra({
129
147
 
130
148
  This example demonstrates how to use snapshots with Upstash.
131
149
 
132
- ```typescript filename="src/mastra/index.ts" showLineNumbers copy
150
+ ```typescript title="src/mastra/index.ts" showLineNumbers copy
133
151
  import { Mastra } from "@mastra/core/mastra";
134
152
  import { UpstashStore } from "@mastra/upstash";
135
153
 
@@ -137,24 +155,24 @@ export const mastra = new Mastra({
137
155
  // ...
138
156
  storage: new UpstashStore({
139
157
  url: "<upstash-redis-rest-url>",
140
- token: "<upstash-redis-rest-token>"
141
- })
142
- })
158
+ token: "<upstash-redis-rest-token>",
159
+ }),
160
+ });
143
161
  ```
144
162
 
145
163
  ### Postgres `@mastra/pg`
146
164
 
147
165
  This example demonstrates how to use snapshots with PostgreSQL.
148
166
 
149
- ```typescript filename="src/mastra/index.ts" showLineNumbers copy
167
+ ```typescript title="src/mastra/index.ts" showLineNumbers copy
150
168
  import { Mastra } from "@mastra/core/mastra";
151
169
  import { PostgresStore } from "@mastra/pg";
152
170
 
153
171
  export const mastra = new Mastra({
154
172
  // ...
155
173
  storage: new PostgresStore({
156
- connectionString: "<database-url>"
157
- })
174
+ connectionString: "<database-url>",
175
+ }),
158
176
  });
159
177
  ```
160
178
 
@@ -170,7 +188,7 @@ export const mastra = new Mastra({
170
188
 
171
189
  You can attach custom metadata when suspending a workflow by defining a `suspendSchema`. This metadata is stored in the snapshot and made available when the workflow is resumed.
172
190
 
173
- ```typescript {30-34} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
191
+ ```typescript {30-34} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
174
192
  import { createWorkflow, createStep } from "@mastra/core/workflows";
175
193
  import { z } from "zod";
176
194
 
@@ -180,20 +198,20 @@ const approvalStep = createStep({
180
198
  inputSchema: z.object({
181
199
  value: z.number(),
182
200
  user: z.string(),
183
- requiredApprovers: z.array(z.string())
201
+ requiredApprovers: z.array(z.string()),
184
202
  }),
185
203
  suspendSchema: z.object({
186
204
  message: z.string(),
187
205
  requestedBy: z.string(),
188
- approvers: z.array(z.string())
206
+ approvers: z.array(z.string()),
189
207
  }),
190
208
  resumeSchema: z.object({
191
209
  confirm: z.boolean(),
192
- approver: z.string()
210
+ approver: z.string(),
193
211
  }),
194
212
  outputSchema: z.object({
195
213
  value: z.number(),
196
- approved: z.boolean()
214
+ approved: z.boolean(),
197
215
  }),
198
216
  execute: async ({ inputData, resumeData, suspend }) => {
199
217
  const { value, user, requiredApprovers } = inputData;
@@ -203,15 +221,15 @@ const approvalStep = createStep({
203
221
  return await suspend({
204
222
  message: "Workflow suspended",
205
223
  requestedBy: user,
206
- approvers: [...requiredApprovers]
224
+ approvers: [...requiredApprovers],
207
225
  });
208
226
  }
209
227
 
210
228
  return {
211
229
  value,
212
- approved: confirm
230
+ approved: confirm,
213
231
  };
214
- }
232
+ },
215
233
  });
216
234
  ```
217
235
 
@@ -228,8 +246,8 @@ const result = await run.start({
228
246
  inputData: {
229
247
  value: 100,
230
248
  user: "Michael",
231
- requiredApprovers: ["manager", "finance"]
232
- }
249
+ requiredApprovers: ["manager", "finance"],
250
+ },
233
251
  });
234
252
 
235
253
  if (result.status === "suspended") {
@@ -237,14 +255,14 @@ if (result.status === "suspended") {
237
255
  step: "approval-step",
238
256
  resumeData: {
239
257
  confirm: true,
240
- approver: "manager"
241
- }
258
+ approver: "manager",
259
+ },
242
260
  });
243
261
  }
244
262
  ```
245
263
 
246
264
  ## Related
247
265
 
248
- - [Suspend and resume](../../docs/workflows/suspend-and-resume.mdx)
249
- - [Human in the loop example](../../examples/workflows/human-in-the-loop.mdx)
250
- - [WorkflowRun.watch()](../../reference/workflows/run-methods/watch.mdx)
266
+ - [Suspend and resume](/docs/workflows/suspend-and-resume)
267
+ - [Human in the loop example](/examples/workflows_legacy/human-in-the-loop)
268
+ - [WorkflowRun.watch()](/reference/workflows/run-methods/watch)