@mastra/mcp-docs-server 0.13.37 → 0.13.39-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) 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%2Fagent-builder.md +11 -11
  6. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +16 -16
  7. package/.docs/organized/changelogs/%40mastra%2Fastra.md +10 -10
  8. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +11 -11
  10. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +10 -10
  11. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +38 -38
  12. package/.docs/organized/changelogs/%40mastra%2Fcloud.md +10 -10
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +10 -10
  14. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +10 -10
  15. package/.docs/organized/changelogs/%40mastra%2Fcore.md +88 -88
  16. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +11 -11
  17. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +28 -28
  18. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +27 -27
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +27 -27
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +27 -27
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +59 -59
  22. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +11 -11
  23. package/.docs/organized/changelogs/%40mastra%2Fevals.md +11 -11
  24. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
  25. package/.docs/organized/changelogs/%40mastra%2Flance.md +10 -10
  26. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +11 -11
  27. package/.docs/organized/changelogs/%40mastra%2Floggers.md +11 -11
  28. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +25 -25
  29. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +10 -10
  30. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +11 -11
  31. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +11 -11
  32. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +10 -10
  33. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +11 -11
  34. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +10 -10
  35. package/.docs/organized/changelogs/%40mastra%2Fpg.md +10 -10
  36. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +10 -10
  37. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +48 -48
  38. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +11 -11
  39. package/.docs/organized/changelogs/%40mastra%2Frag.md +10 -10
  40. package/.docs/organized/changelogs/%40mastra%2Freact.md +24 -24
  41. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -0
  42. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
  43. package/.docs/organized/changelogs/%40mastra%2Fserver.md +40 -40
  44. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +10 -10
  45. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +10 -10
  46. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +10 -10
  47. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +10 -10
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +11 -11
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +11 -11
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +11 -11
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +11 -11
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +11 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +10 -10
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +11 -11
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +10 -10
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +10 -10
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +11 -11
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +11 -11
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +10 -10
  60. package/.docs/organized/changelogs/create-mastra.md +11 -11
  61. package/.docs/organized/changelogs/mastra.md +34 -34
  62. package/.docs/raw/agents/adding-voice.mdx +20 -9
  63. package/.docs/raw/agents/agent-memory.mdx +55 -39
  64. package/.docs/raw/agents/guardrails.mdx +68 -61
  65. package/.docs/raw/agents/networks.mdx +50 -46
  66. package/.docs/raw/agents/overview.mdx +126 -89
  67. package/.docs/raw/agents/using-tools.mdx +14 -15
  68. package/.docs/raw/auth/auth0.mdx +28 -27
  69. package/.docs/raw/auth/clerk.mdx +22 -20
  70. package/.docs/raw/auth/firebase.mdx +42 -39
  71. package/.docs/raw/auth/index.mdx +1 -1
  72. package/.docs/raw/auth/jwt.mdx +18 -16
  73. package/.docs/raw/auth/supabase.mdx +20 -18
  74. package/.docs/raw/auth/workos.mdx +32 -26
  75. package/.docs/raw/community/contributing-templates.mdx +7 -7
  76. package/.docs/raw/community/discord.mdx +2 -2
  77. package/.docs/raw/community/licensing.mdx +1 -1
  78. package/.docs/raw/course/02-agent-tools-mcp/04-initializing-mcp-tools.md +2 -2
  79. package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
  80. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  81. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  82. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  83. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  84. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  85. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  86. package/.docs/raw/deployment/monorepo.mdx +32 -42
  87. package/.docs/raw/deployment/overview.mdx +15 -15
  88. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  89. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  90. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  91. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  92. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  93. package/.docs/raw/deployment/web-framework.mdx +14 -14
  94. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +130 -121
  95. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  96. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  97. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  98. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +60 -49
  99. package/.docs/raw/frameworks/servers/express.mdx +46 -45
  100. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  101. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  102. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +171 -130
  103. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  104. package/.docs/raw/getting-started/installation.mdx +165 -134
  105. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  106. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  107. package/.docs/raw/getting-started/studio.mdx +42 -50
  108. package/.docs/raw/getting-started/templates.mdx +18 -15
  109. package/.docs/raw/index.mdx +9 -9
  110. package/.docs/raw/mastra-cloud/dashboard.mdx +12 -12
  111. package/.docs/raw/mastra-cloud/observability.mdx +9 -10
  112. package/.docs/raw/mastra-cloud/overview.mdx +17 -23
  113. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  114. package/.docs/raw/memory/conversation-history.mdx +2 -2
  115. package/.docs/raw/memory/overview.mdx +22 -24
  116. package/.docs/raw/memory/semantic-recall.mdx +16 -17
  117. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  118. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  119. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  120. package/.docs/raw/memory/threads-and-resources.mdx +24 -21
  121. package/.docs/raw/memory/working-memory.mdx +27 -38
  122. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  123. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  124. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  125. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +37 -38
  126. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  127. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  128. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  129. package/.docs/raw/observability/ai-tracing/overview.mdx +151 -128
  130. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  131. package/.docs/raw/observability/logging.mdx +14 -17
  132. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  133. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  134. package/.docs/raw/observability/overview.mdx +15 -11
  135. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  136. package/.docs/raw/rag/overview.mdx +5 -5
  137. package/.docs/raw/rag/retrieval.mdx +125 -107
  138. package/.docs/raw/rag/vector-databases.mdx +232 -223
  139. package/.docs/raw/reference/agents/agent.mdx +56 -43
  140. package/.docs/raw/reference/agents/generate.mdx +367 -261
  141. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  142. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  143. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  144. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  145. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  146. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  147. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  148. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  149. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  150. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  151. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  152. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  153. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  154. package/.docs/raw/reference/agents/listScorers.mdx +69 -0
  155. package/.docs/raw/reference/agents/listTools.mdx +69 -0
  156. package/.docs/raw/reference/agents/listWorkflows.mdx +69 -0
  157. package/.docs/raw/reference/agents/network.mdx +171 -116
  158. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  159. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  160. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  161. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  162. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  163. package/.docs/raw/reference/auth/workos.mdx +17 -13
  164. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  165. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  166. package/.docs/raw/reference/client-js/agents.mdx +41 -44
  167. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  168. package/.docs/raw/reference/client-js/logs.mdx +2 -2
  169. package/.docs/raw/reference/client-js/mastra-client.mdx +28 -20
  170. package/.docs/raw/reference/client-js/memory.mdx +7 -3
  171. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  172. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  173. package/.docs/raw/reference/client-js/tools.mdx +2 -2
  174. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  175. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  176. package/.docs/raw/reference/client-js/workflows.mdx +8 -8
  177. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  178. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  179. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  180. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  181. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  182. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  183. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  184. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  185. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  186. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  187. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  188. package/.docs/raw/reference/core/getScorerByName.mdx +13 -10
  189. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  190. package/.docs/raw/reference/core/getServer.mdx +4 -3
  191. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  192. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  193. package/.docs/raw/reference/core/getVector.mdx +6 -4
  194. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  195. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  196. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  197. package/.docs/raw/reference/core/listAgents.mdx +35 -0
  198. package/.docs/raw/reference/core/listLogs.mdx +96 -0
  199. package/.docs/raw/reference/core/listLogsByRunId.mdx +87 -0
  200. package/.docs/raw/reference/core/listScorers.mdx +43 -0
  201. package/.docs/raw/reference/core/listWorkflows.mdx +45 -0
  202. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  203. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  204. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  205. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  206. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  207. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  208. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  209. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  210. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  211. package/.docs/raw/reference/evals/bias.mdx +4 -5
  212. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  213. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  214. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  215. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  216. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  217. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  218. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  219. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  220. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  221. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  222. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  223. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  224. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  225. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  226. package/.docs/raw/reference/index.mdx +3 -3
  227. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  228. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  229. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  230. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  231. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  232. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  233. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  234. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  235. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  236. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  237. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  238. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  239. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  240. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  241. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  242. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  243. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  244. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  245. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  246. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  247. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  248. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  249. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  250. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  251. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  252. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  253. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  254. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  255. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +55 -47
  256. package/.docs/raw/reference/memory/query.mdx +39 -25
  257. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -6
  258. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  259. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  260. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  261. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  262. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  263. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  264. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  265. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  266. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  267. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +116 -107
  268. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  269. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  270. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  271. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  272. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  273. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  274. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  275. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  276. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +4 -4
  277. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  278. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  279. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  280. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  281. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  282. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  283. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  284. package/.docs/raw/reference/processors/batch-parts-processor.mdx +3 -4
  285. package/.docs/raw/reference/processors/language-detector.mdx +6 -8
  286. package/.docs/raw/reference/processors/moderation-processor.mdx +36 -11
  287. package/.docs/raw/reference/processors/pii-detector.mdx +34 -9
  288. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +6 -8
  289. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +14 -10
  290. package/.docs/raw/reference/processors/token-limiter-processor.mdx +3 -5
  291. package/.docs/raw/reference/processors/unicode-normalizer.mdx +3 -4
  292. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  293. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  294. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  295. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  296. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  297. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  298. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  299. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  300. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  301. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  302. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  303. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  304. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  305. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  306. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  307. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  308. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  309. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  310. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  311. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  312. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  313. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  314. package/.docs/raw/reference/scorers/run-experiment.mdx +41 -32
  315. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  316. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  317. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  318. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  319. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  320. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  321. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  322. package/.docs/raw/reference/storage/lance.mdx +1 -1
  323. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  324. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  325. package/.docs/raw/reference/storage/mssql.mdx +8 -7
  326. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  327. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  328. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  329. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  330. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  331. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  332. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  333. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  334. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +25 -21
  335. package/.docs/raw/reference/streaming/workflows/stream.mdx +36 -27
  336. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +37 -28
  337. package/.docs/raw/reference/templates/overview.mdx +16 -39
  338. package/.docs/raw/reference/tools/client.mdx +1 -1
  339. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  340. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  341. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  342. package/.docs/raw/reference/tools/mcp-client.mdx +78 -72
  343. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  344. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  345. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  346. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  347. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  348. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  349. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  350. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  351. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  352. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  353. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  354. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  355. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  356. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  357. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  358. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  359. package/.docs/raw/reference/voice/azure.mdx +1 -1
  360. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  361. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  362. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  363. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  364. package/.docs/raw/reference/voice/google-gemini-live.mdx +7 -5
  365. package/.docs/raw/reference/voice/google.mdx +1 -1
  366. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  367. package/.docs/raw/reference/voice/murf.mdx +1 -1
  368. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  369. package/.docs/raw/reference/voice/openai.mdx +1 -1
  370. package/.docs/raw/reference/voice/playai.mdx +1 -1
  371. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  372. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  373. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  374. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  375. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  376. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  377. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  378. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  379. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  380. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  381. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  382. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  383. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  384. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  385. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  386. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  387. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  388. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  389. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  390. package/.docs/raw/reference/workflows/run.mdx +7 -10
  391. package/.docs/raw/reference/workflows/step.mdx +16 -13
  392. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  393. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  394. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  395. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  396. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  397. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  398. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +74 -3
  399. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  400. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  401. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  402. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  403. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  404. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  405. package/.docs/raw/reference/workflows/workflow.mdx +12 -23
  406. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  407. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  408. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  409. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  410. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  411. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  412. package/.docs/raw/scorers/overview.mdx +23 -22
  413. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  414. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  415. package/.docs/raw/server-db/middleware.mdx +15 -11
  416. package/.docs/raw/server-db/production-server.mdx +5 -7
  417. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  418. package/.docs/raw/server-db/storage.mdx +82 -87
  419. package/.docs/raw/streaming/events.mdx +24 -16
  420. package/.docs/raw/streaming/overview.mdx +17 -18
  421. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  422. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  423. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  424. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  425. package/.docs/raw/tools-mcp/overview.mdx +10 -15
  426. package/.docs/raw/voice/overview.mdx +273 -250
  427. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  428. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  429. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  430. package/.docs/raw/workflows/agents-and-tools.mdx +27 -30
  431. package/.docs/raw/workflows/control-flow.mdx +213 -170
  432. package/.docs/raw/workflows/error-handling.mdx +15 -17
  433. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  434. package/.docs/raw/workflows/inngest-workflow.mdx +35 -31
  435. package/.docs/raw/workflows/overview.mdx +108 -56
  436. package/.docs/raw/workflows/snapshots.mdx +54 -36
  437. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -65
  438. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  439. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  440. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  441. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  442. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  443. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  444. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  445. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  446. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  447. package/CHANGELOG.md +24 -0
  448. package/package.json +5 -5
  449. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
  450. package/.docs/raw/workflows/input-data-mapping.mdx +0 -107
@@ -1,22 +1,21 @@
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
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
@@ -33,7 +32,7 @@ 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({
@@ -54,17 +53,17 @@ const step1 = createStep({
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 [Using Tools](/docs/agents/using-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
 
@@ -81,42 +80,93 @@ export const testWorkflow = createWorkflow({
81
80
  })
82
81
  .then(step1)
83
82
  .commit();
84
-
85
83
  ```
86
84
 
87
- > See the [Workflow Class](../../reference/workflows/workflow.mdx) for a full list of configuration options.
85
+ > See the [Workflow Class](/reference/workflows/workflow) for a full list of configuration options.
88
86
 
89
87
  ### Understanding control flow
90
88
 
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.
89
+ 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](/docs/workflows/control-flow) page for more information.
92
90
 
93
- #### Composing workflow steps
91
+ ## Workflow state
94
92
 
95
- 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.
93
+ Workflow state lets you share values across steps without passing them through every step’s inputSchema and outputSchema. All state values are defined in the workflow’s stateSchema, but each step only declares the values it needs. To set initial values, use initialState when running the workflow.
96
94
 
97
- ```typescript {4,7,14,17,24,27} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
95
+ ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
98
96
  const step1 = createStep({
99
- //...
100
- inputSchema: z.object({
101
- message: z.string()
97
+ // ...
98
+ stateSchema: z.object({
99
+ processedItems: z.array(z.string()),
102
100
  }),
103
- outputSchema: z.object({
104
- formatted: z.string()
105
- })
101
+ execute: async ({ inputData, state, setState }) => {
102
+ const { message } = inputData;
103
+ const { processedItems } = state;
104
+
105
+ setState({
106
+ ...state,
107
+ processedItems: [...processedItems, "item-1", "item-2"],
108
+ });
109
+
110
+ return {
111
+ formatted: message.toUpperCase(),
112
+ };
113
+ },
106
114
  });
107
115
 
108
116
  const step2 = createStep({
109
117
  // ...
118
+ stateSchema: z.object({
119
+ metadata: z.object({
120
+ processedBy: z.string(),
121
+ }),
122
+ }),
123
+ execute: async ({ inputData, state }) => {
124
+ const { formatted } = inputData;
125
+ const { metadata } = state;
126
+
127
+ return {
128
+ emphasized: `${formatted}!! ${metadata.processedBy}`,
129
+ };
130
+ },
131
+ });
132
+
133
+ export const testWorkflow = createWorkflow({
134
+ // ...
135
+ stateSchema: z.object({
136
+ processedItems: z.array(z.string()),
137
+ metadata: z.object({
138
+ processedBy: z.string(),
139
+ }),
140
+ }),
141
+ })
142
+ .then(step1)
143
+ .then(step2)
144
+ .commit();
145
+ ```
146
+
147
+ ## Workflows as steps
148
+
149
+ Use a workflow as a step to reuse its logic within a larger composition. Input and output follow the same schema rules described in [Core principles](/docs/workflows/control-flow).
150
+
151
+ ```typescript {26} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
152
+ const step1 = createStep({...});
153
+ const step2 = createStep({...});
154
+
155
+ const childWorkflow = createWorkflow({
156
+ id: "child-workflow",
110
157
  inputSchema: z.object({
111
- formatted: z.string()
158
+ message: z.string()
112
159
  }),
113
160
  outputSchema: z.object({
114
161
  emphasized: z.string()
115
162
  })
116
- });
163
+ })
164
+ .then(step1)
165
+ .then(step2)
166
+ .commit();
117
167
 
118
168
  export const testWorkflow = createWorkflow({
119
- // ...
169
+ id: "test-workflow",
120
170
  inputSchema: z.object({
121
171
  message: z.string()
122
172
  }),
@@ -124,16 +174,33 @@ export const testWorkflow = createWorkflow({
124
174
  emphasized: z.string()
125
175
  })
126
176
  })
177
+ .then(childWorkflow)
178
+ .commit();
179
+ ```
180
+
181
+ ### Cloning a workflow
182
+
183
+ Clone a workflow using `cloneWorkflow()` when you want to reuse its logic but track it separately under a new ID. Each clone runs independently and appears as a distinct workflow in logs and observability tools.
184
+
185
+ ```typescript {6} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
186
+ import { cloneWorkflow } from "@mastra/core/workflows";
187
+
188
+ const step1 = createStep({...});
189
+
190
+ const parentWorkflow = createWorkflow({...})
191
+ const clonedWorkflow = cloneWorkflow(parentWorkflow, { id: "cloned-workflow" });
192
+
193
+ export const testWorkflow = createWorkflow({...})
127
194
  .then(step1)
128
- .then(step2)
195
+ .then(clonedWorkflow)
129
196
  .commit();
130
197
  ```
131
198
 
132
- ### Registering a workflow
199
+ ## Registering a workflow
133
200
 
134
201
  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
202
 
136
- ```typescript {6} filename="src/mastra/index.ts" showLineNumbers copy
203
+ ```typescript {6} title="src/mastra/index.ts" showLineNumbers copy
137
204
  import { Mastra } from "@mastra/core/mastra";
138
205
  import { testWorkflow } from "./workflows/test-workflow";
139
206
 
@@ -150,20 +217,16 @@ You can run workflows from agents, tools, the Mastra Client, or the command line
150
217
  ```typescript showLineNumbers copy
151
218
  const testWorkflow = mastra.getWorkflow("testWorkflow");
152
219
  ```
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
-
159
- > See [Running Workflows](../../examples/workflows/running-workflows.mdx) for more information.
220
+ :::info
221
+ `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).
222
+ :::
160
223
 
161
224
  ## Running workflows
162
225
 
163
226
  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
227
 
165
- <Tabs items={["Start", "Stream"]}>
166
- <Tabs.Tab>
228
+ <Tabs>
229
+ <TabItem value="start" label="Start">
167
230
  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
231
 
169
232
  ```typescript showLineNumbers copy
@@ -177,8 +240,8 @@ const result = await run.start({
177
240
 
178
241
  console.log(result);
179
242
  ```
180
- </Tabs.Tab>
181
- <Tabs.Tab>
243
+ </TabItem>
244
+ <TabItem value="stream" label="Stream">
182
245
  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
246
 
184
247
  ```typescript showLineNumbers copy
@@ -194,7 +257,7 @@ for await (const chunk of result.stream) {
194
257
  console.log(chunk);
195
258
  }
196
259
  ```
197
- </Tabs.Tab>
260
+ </TabItem>
198
261
  </Tabs>
199
262
 
200
263
  ## Workflow output
@@ -236,9 +299,9 @@ The workflow output includes the full execution lifecycle, showing the input and
236
299
 
237
300
  ## Using `RuntimeContext`
238
301
 
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.
302
+ 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
303
 
241
- ```typescript filename="src/mastra/workflows/test-workflow.ts" showLineNumbers
304
+ ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers
242
305
  export type UserTier = {
243
306
  "user-tier": "enterprise" | "pro";
244
307
  };
@@ -257,23 +320,12 @@ const step1 = createStep({
257
320
  });
258
321
  ```
259
322
 
260
- > See [Runtime Context](../server-db/runtime-context.mdx) for more information.
323
+ > See [Runtime Context](/docs/server-db/runtime-context) for more information.
261
324
 
262
- ## Testing with Mastra Playground
325
+ ## Testing with Studio
263
326
 
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.
327
+ Use [Studio](/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
328
 
266
329
  ## Related
267
330
 
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)
274
-
275
-
276
- ## Workflows (Legacy)
277
-
278
- For legacy workflow documentation, see [Workflows (Legacy)](../workflows-legacy/overview.mdx).
279
-
331
+ For a closer look at workflows, see our [Workflow Guide](/guides/guide/ai-recruiter), which walks through the core concepts with a practical example.
@@ -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)