@mastra/mcp-docs-server 1.0.0-beta.11 → 1.0.0-beta.14

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 (345) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +29 -29
  2. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
  3. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +45 -45
  4. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +180 -180
  5. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +39 -39
  6. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +39 -39
  7. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +68 -0
  8. package/.docs/organized/changelogs/%40mastra%2Fcore.md +331 -331
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +31 -31
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
  12. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +39 -39
  13. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
  14. package/.docs/organized/changelogs/%40mastra%2Flance.md +39 -39
  15. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +45 -45
  16. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +24 -24
  17. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +24 -24
  18. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +39 -39
  19. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +39 -39
  20. package/.docs/organized/changelogs/%40mastra%2Fpg.md +45 -45
  21. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +96 -96
  22. package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
  23. package/.docs/organized/changelogs/%40mastra%2Freact.md +49 -2
  24. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fserver.md +122 -122
  26. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +39 -39
  27. package/.docs/organized/changelogs/create-mastra.md +31 -31
  28. package/.docs/organized/changelogs/mastra.md +51 -51
  29. package/.docs/organized/code-examples/agent-v6.md +151 -0
  30. package/.docs/organized/code-examples/ai-elements.md +1 -1
  31. package/.docs/organized/code-examples/quick-start.md +0 -4
  32. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  33. package/.docs/raw/agents/adding-voice.mdx +2 -3
  34. package/.docs/raw/agents/agent-approval.mdx +139 -6
  35. package/.docs/raw/agents/agent-memory.mdx +24 -32
  36. package/.docs/raw/agents/guardrails.mdx +61 -51
  37. package/.docs/raw/agents/networks.mdx +9 -13
  38. package/.docs/raw/agents/overview.mdx +40 -24
  39. package/.docs/raw/agents/processors.mdx +20 -19
  40. package/.docs/raw/agents/structured-output.mdx +11 -7
  41. package/.docs/raw/agents/using-tools.mdx +5 -6
  42. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  43. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  44. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  45. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  46. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  47. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  48. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  49. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  50. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -2
  51. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  52. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  53. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +3 -4
  54. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -3
  55. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +2 -3
  56. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -2
  57. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +2 -3
  58. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  59. package/.docs/raw/deployment/cloud-providers.mdx +20 -0
  60. package/.docs/raw/deployment/{building-mastra.mdx → mastra-server.mdx} +5 -5
  61. package/.docs/raw/deployment/monorepo.mdx +23 -44
  62. package/.docs/raw/deployment/overview.mdx +32 -50
  63. package/.docs/raw/deployment/web-framework.mdx +15 -19
  64. package/.docs/raw/evals/custom-scorers.mdx +9 -6
  65. package/.docs/raw/evals/overview.mdx +3 -6
  66. package/.docs/raw/evals/running-in-ci.mdx +2 -2
  67. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  68. package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
  69. package/.docs/raw/getting-started/start.mdx +10 -1
  70. package/.docs/raw/getting-started/studio.mdx +1 -1
  71. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
  72. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1033 -79
  73. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  74. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
  75. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  76. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  77. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  78. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  79. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +12 -15
  80. package/.docs/raw/guides/deployment/index.mdx +32 -0
  81. package/.docs/raw/guides/deployment/inngest.mdx +386 -0
  82. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  83. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  84. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  85. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  86. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  87. package/.docs/raw/guides/getting-started/next-js.mdx +170 -61
  88. package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
  89. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  90. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  91. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  92. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  93. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  94. package/.docs/raw/guides/guide/research-assistant.mdx +17 -17
  95. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  96. package/.docs/raw/guides/guide/web-search.mdx +8 -8
  97. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  98. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  99. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
  100. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +17 -0
  101. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +6 -0
  102. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
  103. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  104. package/.docs/raw/index.mdx +2 -2
  105. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/dashboard.mdx +2 -6
  106. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/observability.mdx +1 -5
  107. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/overview.mdx +2 -6
  108. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/setting-up.mdx +8 -7
  109. package/.docs/raw/mcp/overview.mdx +31 -13
  110. package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
  111. package/.docs/raw/memory/memory-processors.mdx +9 -9
  112. package/.docs/raw/memory/message-history.mdx +69 -0
  113. package/.docs/raw/memory/overview.mdx +34 -76
  114. package/.docs/raw/memory/semantic-recall.mdx +58 -49
  115. package/.docs/raw/memory/storage.mdx +188 -0
  116. package/.docs/raw/memory/working-memory.mdx +7 -7
  117. package/.docs/raw/observability/logging.mdx +10 -11
  118. package/.docs/raw/observability/overview.mdx +0 -1
  119. package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
  120. package/.docs/raw/observability/tracing/exporters/cloud.mdx +1 -1
  121. package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
  122. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
  123. package/.docs/raw/observability/tracing/overview.mdx +23 -25
  124. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
  125. package/.docs/raw/rag/chunking-and-embedding.mdx +18 -31
  126. package/.docs/raw/rag/graph-rag.mdx +220 -0
  127. package/.docs/raw/rag/overview.mdx +2 -3
  128. package/.docs/raw/rag/retrieval.mdx +34 -51
  129. package/.docs/raw/rag/vector-databases.mdx +29 -25
  130. package/.docs/raw/reference/agents/agent.mdx +3 -3
  131. package/.docs/raw/reference/agents/generate.mdx +1 -1
  132. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  133. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +3 -3
  134. package/.docs/raw/reference/agents/getDefaultOptions.mdx +3 -3
  135. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +3 -3
  136. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  137. package/.docs/raw/reference/agents/getInstructions.mdx +3 -3
  138. package/.docs/raw/reference/agents/getLLM.mdx +3 -3
  139. package/.docs/raw/reference/agents/getMemory.mdx +3 -3
  140. package/.docs/raw/reference/agents/getModel.mdx +3 -3
  141. package/.docs/raw/reference/agents/getTools.mdx +2 -2
  142. package/.docs/raw/reference/agents/getVoice.mdx +2 -2
  143. package/.docs/raw/reference/agents/listAgents.mdx +2 -2
  144. package/.docs/raw/reference/agents/listScorers.mdx +3 -3
  145. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  146. package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
  147. package/.docs/raw/reference/agents/network.mdx +1 -1
  148. package/.docs/raw/reference/ai-sdk/chat-route.mdx +3 -3
  149. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +2 -2
  150. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +2 -2
  151. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +2 -2
  152. package/.docs/raw/reference/ai-sdk/network-route.mdx +3 -3
  153. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
  154. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +127 -0
  155. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +107 -0
  156. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
  157. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +3 -3
  158. package/.docs/raw/reference/auth/auth0.mdx +2 -3
  159. package/.docs/raw/reference/auth/clerk.mdx +2 -3
  160. package/.docs/raw/reference/auth/firebase.mdx +3 -5
  161. package/.docs/raw/reference/auth/jwt.mdx +2 -3
  162. package/.docs/raw/reference/auth/supabase.mdx +2 -3
  163. package/.docs/raw/reference/auth/workos.mdx +2 -3
  164. package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
  165. package/.docs/raw/reference/cli/mastra.mdx +10 -10
  166. package/.docs/raw/reference/client-js/agents.mdx +1 -2
  167. package/.docs/raw/reference/client-js/mastra-client.mdx +2 -2
  168. package/.docs/raw/reference/client-js/workflows.mdx +20 -0
  169. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  170. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  171. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  172. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  173. package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
  174. package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
  175. package/.docs/raw/reference/core/getMemory.mdx +2 -2
  176. package/.docs/raw/reference/core/getServer.mdx +3 -3
  177. package/.docs/raw/reference/core/getStorage.mdx +2 -2
  178. package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
  179. package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
  180. package/.docs/raw/reference/core/getVector.mdx +1 -1
  181. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  182. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  183. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  184. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  185. package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
  186. package/.docs/raw/reference/core/listMemory.mdx +2 -2
  187. package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
  188. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  189. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  190. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  191. package/.docs/raw/reference/core/setStorage.mdx +2 -2
  192. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  193. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
  194. package/.docs/raw/reference/deployer/deployer.mdx +0 -1
  195. package/.docs/raw/reference/deployer/netlify.mdx +1 -1
  196. package/.docs/raw/reference/deployer/vercel.mdx +2 -4
  197. package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
  198. package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
  199. package/.docs/raw/reference/evals/bias.mdx +1 -1
  200. package/.docs/raw/reference/evals/completeness.mdx +1 -1
  201. package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
  202. package/.docs/raw/reference/evals/context-precision.mdx +1 -1
  203. package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
  204. package/.docs/raw/reference/evals/hallucination.mdx +1 -1
  205. package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
  206. package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
  207. package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
  208. package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
  209. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
  210. package/.docs/raw/reference/evals/toxicity.mdx +1 -1
  211. package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
  212. package/.docs/raw/reference/memory/createThread.mdx +2 -2
  213. package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
  214. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
  215. package/.docs/raw/reference/memory/memory-class.mdx +3 -3
  216. package/.docs/raw/reference/memory/query.mdx +2 -2
  217. package/.docs/raw/reference/memory/recall.mdx +2 -2
  218. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
  219. package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
  220. package/.docs/raw/reference/processors/language-detector.mdx +2 -2
  221. package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
  222. package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
  223. package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
  224. package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
  225. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
  226. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
  227. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
  228. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  229. package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
  230. package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
  231. package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
  232. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  233. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  234. package/.docs/raw/reference/rag/extract-params.mdx +2 -2
  235. package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
  236. package/.docs/raw/reference/server/create-route.mdx +14 -14
  237. package/.docs/raw/reference/server/express-adapter.mdx +10 -11
  238. package/.docs/raw/reference/server/hono-adapter.mdx +10 -11
  239. package/.docs/raw/reference/server/mastra-server.mdx +22 -22
  240. package/.docs/raw/reference/server/routes.mdx +28 -1
  241. package/.docs/raw/reference/storage/cloudflare-d1.mdx +3 -3
  242. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  243. package/.docs/raw/reference/storage/convex.mdx +6 -6
  244. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  245. package/.docs/raw/reference/storage/lance.mdx +3 -3
  246. package/.docs/raw/reference/storage/libsql.mdx +69 -54
  247. package/.docs/raw/reference/storage/mongodb.mdx +80 -7
  248. package/.docs/raw/reference/storage/mssql.mdx +4 -4
  249. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +13 -111
  250. package/.docs/raw/reference/storage/postgresql.mdx +78 -7
  251. package/.docs/raw/reference/storage/upstash.mdx +74 -2
  252. package/.docs/raw/reference/streaming/agents/stream.mdx +27 -5
  253. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
  254. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
  255. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
  256. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -22
  257. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
  258. package/.docs/raw/reference/templates/overview.mdx +1 -2
  259. package/.docs/raw/reference/tools/create-tool.mdx +24 -5
  260. package/.docs/raw/reference/tools/graph-rag-tool.mdx +3 -3
  261. package/.docs/raw/reference/tools/vector-query-tool.mdx +4 -4
  262. package/.docs/raw/reference/vectors/astra.mdx +3 -3
  263. package/.docs/raw/reference/vectors/chroma.mdx +3 -3
  264. package/.docs/raw/reference/vectors/convex.mdx +12 -12
  265. package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
  266. package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
  267. package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
  268. package/.docs/raw/reference/vectors/lance.mdx +4 -4
  269. package/.docs/raw/reference/vectors/libsql.mdx +61 -11
  270. package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
  271. package/.docs/raw/reference/vectors/pg.mdx +53 -6
  272. package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
  273. package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
  274. package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
  275. package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
  276. package/.docs/raw/reference/vectors/upstash.mdx +55 -6
  277. package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
  278. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
  279. package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
  280. package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
  281. package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
  282. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +143 -0
  283. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
  284. package/.docs/raw/reference/workflows/run.mdx +1 -1
  285. package/.docs/raw/reference/workflows/step.mdx +3 -3
  286. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  287. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  288. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +37 -2
  289. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  290. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  291. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
  292. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
  293. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  294. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
  295. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
  296. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
  297. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  298. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
  299. package/.docs/raw/reference/workflows/workflow.mdx +17 -3
  300. package/.docs/raw/{auth → server/auth}/auth0.mdx +20 -14
  301. package/.docs/raw/{auth → server/auth}/clerk.mdx +16 -9
  302. package/.docs/raw/{auth → server/auth}/firebase.mdx +21 -15
  303. package/.docs/raw/{auth → server/auth}/index.mdx +6 -6
  304. package/.docs/raw/{auth → server/auth}/jwt.mdx +14 -7
  305. package/.docs/raw/{auth → server/auth}/supabase.mdx +16 -9
  306. package/.docs/raw/{auth → server/auth}/workos.mdx +19 -13
  307. package/.docs/raw/{server-db → server}/custom-adapters.mdx +13 -13
  308. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +3 -5
  309. package/.docs/raw/{server-db → server}/mastra-client.mdx +26 -15
  310. package/.docs/raw/{server-db → server}/mastra-server.mdx +8 -8
  311. package/.docs/raw/{server-db → server}/middleware.mdx +9 -9
  312. package/.docs/raw/{server-db → server}/request-context.mdx +33 -32
  313. package/.docs/raw/{server-db → server}/server-adapters.mdx +12 -12
  314. package/.docs/raw/streaming/events.mdx +14 -7
  315. package/.docs/raw/streaming/overview.mdx +21 -10
  316. package/.docs/raw/streaming/tool-streaming.mdx +6 -6
  317. package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
  318. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  319. package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
  320. package/.docs/raw/tools-mcp/overview.mdx +10 -11
  321. package/.docs/raw/voice/overview.mdx +1 -1
  322. package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
  323. package/.docs/raw/workflows/control-flow.mdx +27 -40
  324. package/.docs/raw/workflows/error-handling.mdx +172 -18
  325. package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
  326. package/.docs/raw/workflows/inngest-workflow.mdx +8 -9
  327. package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
  328. package/.docs/raw/workflows/overview.mdx +34 -23
  329. package/.docs/raw/workflows/snapshots.mdx +14 -44
  330. package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
  331. package/.docs/raw/workflows/time-travel.mdx +16 -16
  332. package/.docs/raw/workflows/workflow-state.mdx +5 -8
  333. package/CHANGELOG.md +23 -0
  334. package/dist/logger.d.ts +3 -0
  335. package/dist/logger.d.ts.map +1 -1
  336. package/dist/stdio.js +53 -0
  337. package/package.json +4 -4
  338. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  339. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  340. package/.docs/raw/memory/conversation-history.mdx +0 -24
  341. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  342. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  343. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  344. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  345. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
@@ -164,7 +164,7 @@ Returns an array of index names (namespaces) as strings.
164
164
 
165
165
  Returns:
166
166
 
167
- ```typescript copy
167
+ ```typescript
168
168
  interface IndexStats {
169
169
  dimension: number;
170
170
  count: number;
@@ -238,7 +238,7 @@ Upstash Vector supports hybrid search that combines semantic search (dense vecto
238
238
 
239
239
  ### Basic Hybrid Usage
240
240
 
241
- ```typescript copy
241
+ ```typescript
242
242
  import { UpstashVector } from "@mastra/upstash";
243
243
 
244
244
  const vectorStore = new UpstashVector({
@@ -275,7 +275,7 @@ const results = await vectorStore.query({
275
275
 
276
276
  ### Advanced Hybrid Search Options
277
277
 
278
- ```typescript copy
278
+ ```typescript
279
279
  import { FusionAlgorithm, QueryMode } from "@upstash/vector";
280
280
 
281
281
  // Query with specific fusion algorithm
@@ -307,7 +307,7 @@ const sparseResults = await vectorStore.query({
307
307
 
308
308
  ### Updating Hybrid Vectors
309
309
 
310
- ```typescript copy
310
+ ```typescript
311
311
  // Update both dense and sparse components
312
312
  await vectorStore.updateVector({
313
313
  indexName: "hybrid-index",
@@ -324,7 +324,7 @@ await vectorStore.updateVector({
324
324
 
325
325
  Query results are returned in this format:
326
326
 
327
- ```typescript copy
327
+ ```typescript
328
328
  interface QueryResult {
329
329
  id: string;
330
330
  score: number;
@@ -337,7 +337,7 @@ interface QueryResult {
337
337
 
338
338
  The store throws typed errors that can be caught:
339
339
 
340
- ```typescript copy
340
+ ```typescript
341
341
  try {
342
342
  await store.query({
343
343
  indexName: "index_name",
@@ -358,6 +358,55 @@ Required environment variables:
358
358
  - `UPSTASH_VECTOR_URL`: Your Upstash Vector database URL
359
359
  - `UPSTASH_VECTOR_TOKEN`: Your Upstash Vector API token
360
360
 
361
+ ## Usage Example
362
+
363
+ ### Local embeddings with fastembed
364
+
365
+ Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
366
+
367
+ Install `fastembed` to get started:
368
+
369
+ ```bash
370
+ npm install @mastra/fastembed@beta
371
+ ```
372
+
373
+ Add the following to your agent:
374
+
375
+ ```typescript title="src/mastra/agents/example-upstash-agent.ts"
376
+ import { Memory } from "@mastra/memory";
377
+ import { Agent } from "@mastra/core/agent";
378
+ import { UpstashStore, UpstashVector } from "@mastra/upstash";
379
+ import { fastembed } from "@mastra/fastembed";
380
+
381
+ export const upstashAgent = new Agent({
382
+ id: "upstash-agent",
383
+ name: "Upstash Agent",
384
+ instructions:
385
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
386
+ model: "openai/gpt-5.1",
387
+ memory: new Memory({
388
+ storage: new UpstashStore({
389
+ id: 'upstash-agent-storage',
390
+ url: process.env.UPSTASH_REDIS_REST_URL!,
391
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
392
+ }),
393
+ vector: new UpstashVector({
394
+ id: 'upstash-agent-vector',
395
+ url: process.env.UPSTASH_VECTOR_REST_URL!,
396
+ token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
397
+ }),
398
+ embedder: fastembed,
399
+ options: {
400
+ lastMessages: 10,
401
+ semanticRecall: {
402
+ topK: 3,
403
+ messageRange: 2,
404
+ },
405
+ },
406
+ }),
407
+ });
408
+ ```
409
+
361
410
  ## Related
362
411
 
363
412
  - [Metadata Filters](../rag/metadata-filters)
@@ -135,7 +135,7 @@ Returns an array of index names as strings.
135
135
 
136
136
  Returns:
137
137
 
138
- ```typescript copy
138
+ ```typescript
139
139
  interface IndexStats {
140
140
  dimension: number;
141
141
  count: number;
@@ -259,7 +259,7 @@ Deletes a vector and its associated metadata for a specific ID within an index.
259
259
 
260
260
  Query results are returned in this format:
261
261
 
262
- ```typescript copy
262
+ ```typescript
263
263
  interface QueryResult {
264
264
  id: string;
265
265
  score: number;
@@ -272,7 +272,7 @@ interface QueryResult {
272
272
 
273
273
  The store throws typed errors that can be caught:
274
274
 
275
- ```typescript copy
275
+ ```typescript
276
276
  try {
277
277
  await store.query({
278
278
  indexName: "index_name",
@@ -9,7 +9,7 @@ The `.cancel()` method cancels a workflow run, stopping execution and cleaning u
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  await run.cancel();
@@ -43,7 +43,7 @@ await run.cancel();
43
43
 
44
44
  ## Extended usage example
45
45
 
46
- ```typescript showLineNumbers copy
46
+ ```typescript
47
47
  const run = await workflow.createRun();
48
48
 
49
49
  try {
@@ -9,13 +9,11 @@ The `.restart()` method restarts an active workflow run that lost connection to
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({ inputData: { value: "initial data" } });
16
16
 
17
- //.. server connection lost,
18
-
19
17
  const restartedResult = await run.restart();
20
18
  ```
21
19
 
@@ -9,7 +9,7 @@ The `.resume()` method resumes a suspended workflow run with new data, allowing
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({ inputData: { value: "initial data" } });
@@ -177,7 +177,7 @@ if (result.status === "suspended") {
177
177
 
178
178
  ## Extended usage example
179
179
 
180
- ```typescript showLineNumbers copy
180
+ ```typescript
181
181
  if (result.status === "suspended") {
182
182
  const resumedResults = await run.resume({
183
183
  step: result.suspended[0],
@@ -9,7 +9,7 @@ The `.start()` method starts a workflow run with input data, allowing you to exe
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({
@@ -168,7 +168,7 @@ const result = await run.start({
168
168
 
169
169
  ## Extended usage example
170
170
 
171
- ```typescript showLineNumbers copy
171
+ ```typescript
172
172
  import { RequestContext } from "@mastra/core/request-context";
173
173
 
174
174
  const run = await workflow.createRun();
@@ -0,0 +1,143 @@
1
+ ---
2
+ title: "Reference: Run.startAsync() | Workflows"
3
+ description: Documentation for the `Run.startAsync()` method in workflows, which starts a workflow run without waiting for completion (fire-and-forget).
4
+ ---
5
+
6
+ # Run.startAsync()
7
+
8
+ The `.startAsync()` method starts a workflow run without waiting for completion. It returns immediately with the `runId`, allowing the workflow to execute in the background. This is useful for long-running workflows, scheduled tasks, or when you want to avoid blocking on workflow completion.
9
+
10
+ ## Usage example
11
+
12
+ ```typescript
13
+ const run = await workflow.createRun();
14
+
15
+ // Fire-and-forget - returns immediately
16
+ const { runId } = await run.startAsync({
17
+ inputData: {
18
+ value: "initial data",
19
+ },
20
+ });
21
+
22
+ // Optionally poll for completion later
23
+ const result = await workflow.getWorkflowRunExecutionResult(runId);
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ <PropertiesTable
29
+ content={[
30
+ {
31
+ name: "inputData",
32
+ type: "z.infer<TInput>",
33
+ description: "Input data that matches the workflow's input schema",
34
+ isOptional: true,
35
+ },
36
+ {
37
+ name: "requestContext",
38
+ type: "RequestContext",
39
+ description: "Request Context data to use during workflow execution",
40
+ isOptional: true,
41
+ },
42
+ {
43
+ name: "initialState",
44
+ type: "z.infer<TState>",
45
+ description: "Initial state to use for the workflow execution",
46
+ isOptional: true,
47
+ },
48
+ {
49
+ name: "tracingOptions",
50
+ type: "TracingOptions",
51
+ isOptional: true,
52
+ description: "Options for Tracing configuration.",
53
+ properties: [
54
+ {
55
+ parameters: [
56
+ {
57
+ name: "metadata",
58
+ type: "Record<string, any>",
59
+ isOptional: true,
60
+ description:
61
+ "Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.",
62
+ },
63
+ ],
64
+ },
65
+ {
66
+ parameters: [
67
+ {
68
+ name: "traceId",
69
+ type: "string",
70
+ isOptional: true,
71
+ description:
72
+ "Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.",
73
+ },
74
+ ],
75
+ },
76
+ ],
77
+ },
78
+ {
79
+ name: "outputOptions",
80
+ type: "OutputOptions",
81
+ isOptional: true,
82
+ description: "Options for output configuration.",
83
+ properties: [
84
+ {
85
+ parameters: [
86
+ {
87
+ name: "includeState",
88
+ type: "boolean",
89
+ isOptional: true,
90
+ description:
91
+ "Whether to include the workflow run state in the result.",
92
+ },
93
+ ],
94
+ },
95
+ ],
96
+ },
97
+ ]}
98
+ />
99
+
100
+ ## Returns
101
+
102
+ <PropertiesTable
103
+ content={[
104
+ {
105
+ name: "runId",
106
+ type: "string",
107
+ description:
108
+ "The unique identifier for this workflow run. Use this to check status or retrieve results later.",
109
+ },
110
+ ]}
111
+ />
112
+
113
+ ## When to use startAsync()
114
+
115
+ Use `startAsync()` instead of `start()` when:
116
+
117
+ - **Long-running workflows**: The workflow may take minutes or hours to complete
118
+ - **Scheduled/cron triggers**: You want to trigger a workflow without blocking the scheduler
119
+ - **Avoiding polling failures**: With Inngest workflows, `start()` polls for completion which can fail and cause retries. `startAsync()` avoids this issue
120
+ - **Background processing**: You want to queue work and handle results asynchronously
121
+
122
+ ## Checking workflow status
123
+
124
+ After calling `startAsync()`, you can check the workflow status using:
125
+
126
+ ```typescript
127
+ // Get the execution result (including step outputs)
128
+ const result = await workflow.getWorkflowRunExecutionResult(runId);
129
+
130
+ if (result?.status === 'success') {
131
+ console.log('Workflow completed:', result.steps);
132
+ } else if (result?.status === 'failed') {
133
+ console.log('Workflow failed:', result.error);
134
+ } else if (result?.status === 'running') {
135
+ console.log('Workflow still running...');
136
+ }
137
+ ```
138
+
139
+ ## Related
140
+
141
+ - [Run.start()](./start) - Start a workflow and wait for completion
142
+ - [Workflows overview](/docs/v1/workflows/overview)
143
+ - [Workflow.createRun()](../workflow-methods/create-run)
@@ -9,7 +9,7 @@ The `.timeTravel()` method re-executes a workflow starting from any specific ste
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.timeTravel({
@@ -213,7 +213,7 @@ const result = await run.timeTravel({
213
213
 
214
214
  ### Time travel with custom context
215
215
 
216
- ```typescript showLineNumbers copy
216
+ ```typescript
217
217
  const result = await run.timeTravel({
218
218
  step: "step2",
219
219
  context: {
@@ -230,7 +230,7 @@ const result = await run.timeTravel({
230
230
 
231
231
  ### Time travel to nested workflow step
232
232
 
233
- ```typescript showLineNumbers copy
233
+ ```typescript
234
234
  // Using dot notation
235
235
  const result = await run.timeTravel({
236
236
  step: "nestedWorkflow.step3",
@@ -246,7 +246,7 @@ const result = await run.timeTravel({
246
246
 
247
247
  ### Time travel with initial state
248
248
 
249
- ```typescript showLineNumbers copy
249
+ ```typescript
250
250
  const result = await run.timeTravel({
251
251
  step: "step2",
252
252
  inputData: { value: 10 },
@@ -259,7 +259,7 @@ const result = await run.timeTravel({
259
259
 
260
260
  ### Time travel with nested workflows context
261
261
 
262
- ```typescript showLineNumbers copy
262
+ ```typescript
263
263
  const result = await run.timeTravel({
264
264
  step: "nestedWorkflow.step3",
265
265
  context: {
@@ -9,7 +9,7 @@ The `Run` class represents a workflow execution instance, providing methods to s
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({
@@ -10,7 +10,7 @@ It can take either a tool or an agent as a parameter to automatically create a s
10
10
 
11
11
  ## Usage example
12
12
 
13
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
13
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
14
14
  import { createWorkflow, createStep } from "@mastra/core/workflows";
15
15
  import { z } from "zod";
16
16
 
@@ -38,7 +38,7 @@ You can create a step directly from an agent. The step will use the agent's name
38
38
 
39
39
  ### Basic agent step
40
40
 
41
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
41
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
42
42
  import { testAgent } from "../agents/test-agent";
43
43
 
44
44
  const agentStep = createStep(testAgent);
@@ -50,7 +50,7 @@ const agentStep = createStep(testAgent);
50
50
 
51
51
  Pass `structuredOutput` to have the agent return typed structured data:
52
52
 
53
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
53
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
54
54
  const articleSchema = z.object({
55
55
  title: z.string(),
56
56
  summary: z.string(),
@@ -9,7 +9,7 @@ The `.branch()` method creates conditional branches between workflow steps, allo
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.branch([
14
14
  [async ({ context }) => true, step1],
15
15
  [async ({ context }) => false, step2],
@@ -9,7 +9,7 @@ The `.commit()` method finalizes the workflow and returns the final result.
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.then(step1).commit();
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.createRun()` method creates a new workflow run instance, allowing you to e
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  await workflow.createRun();
14
14
  ```
15
15
 
@@ -23,6 +23,18 @@ await workflow.createRun();
23
23
  description: "Optional custom identifier for the workflow run",
24
24
  isOptional: true,
25
25
  },
26
+ {
27
+ name: "resourceId",
28
+ type: "string",
29
+ description: "Optional identifier to associate the workflow run with a specific resource (e.g., user ID, tenant ID). This value is persisted with the workflow run and can be used for filtering and querying runs.",
30
+ isOptional: true,
31
+ },
32
+ {
33
+ name: "disableScorers",
34
+ type: "boolean",
35
+ description: "Optional flag to disable scorers for this workflow run",
36
+ isOptional: true,
37
+ },
26
38
  ]}
27
39
  />
28
40
 
@@ -41,7 +53,7 @@ await workflow.createRun();
41
53
 
42
54
  ## Extended usage example
43
55
 
44
- ```typescript showLineNumbers copy
56
+ ```typescript
45
57
  const workflow = mastra.getWorkflow("workflow");
46
58
 
47
59
  const run = await workflow.createRun();
@@ -53,6 +65,29 @@ const result = await run.start({
53
65
  });
54
66
  ```
55
67
 
68
+ ## Using resourceId
69
+
70
+ The `resourceId` parameter associates a workflow run with a specific resource, such as a user or tenant. This is useful for multi-tenant applications or when you need to track which user initiated a workflow.
71
+
72
+ ```typescript
73
+ const workflow = mastra.getWorkflow("workflow");
74
+
75
+ // Create a run associated with a specific user
76
+ const run = await workflow.createRun({
77
+ resourceId: "user-123",
78
+ });
79
+
80
+ const result = await run.start({
81
+ inputData: {
82
+ value: 10,
83
+ },
84
+ });
85
+
86
+ // Later, retrieve the run and access the resourceId
87
+ const storedRun = await workflow.getWorkflowRunById(run.runId);
88
+ console.log(storedRun.resourceId); // "user-123"
89
+ ```
90
+
56
91
  ## Related
57
92
 
58
93
  - [Run Class](../run)
@@ -9,7 +9,7 @@ The `.dountil()` method executes a step until a condition is met. It always runs
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.dountil(step1, async ({ inputData }) => true);
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.dowhile()` method executes a step while a condition is met. It always runs
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.dowhile(step1, async ({ inputData }) => true);
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.foreach()` method creates a loop that executes a step for each item in an
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.foreach(step1, { concurrency: 2 });
14
14
  ```
15
15
 
@@ -67,7 +67,7 @@ If you need to run multiple operations per item, use a nested workflow as the st
67
67
 
68
68
  `.foreach()` always outputs an array. Each element in the output array corresponds to the result of processing the element at the same index in the input array.
69
69
 
70
- ```typescript copy
70
+ ```typescript
71
71
  // Input: [{ value: 1 }, { value: 2 }, { value: 3 }]
72
72
  // Step adds 10 to each value
73
73
  // Output: [{ value: 11 }, { value: 12 }, { value: 13 }]
@@ -77,7 +77,7 @@ If you need to run multiple operations per item, use a nested workflow as the st
77
77
 
78
78
  When you chain `.then()` after `.foreach()`, the next step receives the entire output array as its input. This allows you to aggregate or process all results together.
79
79
 
80
- ```typescript copy
80
+ ```typescript
81
81
  workflow
82
82
  .foreach(processItemStep) // Output: array of processed items
83
83
  .then(aggregateStep) // Input: the entire array
@@ -88,7 +88,7 @@ workflow
88
88
 
89
89
  Use `.map()` to transform the array output before passing it to the next step:
90
90
 
91
- ```typescript copy
91
+ ```typescript
92
92
  workflow
93
93
  .foreach(processItemStep)
94
94
  .map(async ({ inputData }) => ({
@@ -103,7 +103,7 @@ workflow
103
103
 
104
104
  When you chain `.foreach()` calls, each operates on the array from the previous step:
105
105
 
106
- ```typescript copy
106
+ ```typescript
107
107
  workflow
108
108
  .foreach(stepA) // If input is [a, b, c], output is [A, B, C]
109
109
  .foreach(stepB) // Operates on [A, B, C], output is [A', B', C']
@@ -112,7 +112,7 @@ workflow
112
112
 
113
113
  If a step inside `.foreach()` returns an array, the output becomes an array of arrays. Use `.map()` with `.flat()` to flatten:
114
114
 
115
- ```typescript copy
115
+ ```typescript
116
116
  workflow
117
117
  .foreach(chunkStep) // Output: [[chunk1, chunk2], [chunk3, chunk4]]
118
118
  .map(async ({ inputData }) => inputData.flat()) // Output: [chunk1, chunk2, chunk3, chunk4]
@@ -9,7 +9,7 @@ The `.map()` method maps output data from a previous step to the input of a subs
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.map(async ({ inputData }) => `${inputData.value} - map`
14
14
  ```
15
15
 
@@ -43,7 +43,7 @@ workflow.map(async ({ inputData }) => `${inputData.value} - map`
43
43
 
44
44
  Use `inputData` to access the full output of the previous step.
45
45
 
46
- ```typescript {3} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
46
+ ```typescript {3} filename="src/mastra/workflows/test-workflow.ts"
47
47
  .then(step1)
48
48
  .map(({ inputData }) => {
49
49
  console.log(inputData);
@@ -54,7 +54,7 @@ Use `inputData` to access the full output of the previous step.
54
54
 
55
55
  Use `getStepResult()` to access the full output of a specific step by referencing the step's instance.
56
56
 
57
- ```typescript {3} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
57
+ ```typescript {3} filename="src/mastra/workflows/test-workflow.ts"
58
58
  .then(step1)
59
59
  .map(async ({ getStepResult }) => {
60
60
  console.log(getStepResult(step1));
@@ -65,7 +65,7 @@ Use `getStepResult()` to access the full output of a specific step by referencin
65
65
 
66
66
  Use `getInitData()` to access the initial input data provided to the workflow.
67
67
 
68
- ```typescript {3} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
68
+ ```typescript {3} filename="src/mastra/workflows/test-workflow.ts"
69
69
  .then(step1)
70
70
  .map(async ({ getInitData }) => {
71
71
  console.log(getInitData());
@@ -77,7 +77,7 @@ Use `getInitData()` to access the initial input data provided to the workflow.
77
77
  The object form of `.map()` provides an alternative declarative syntax for mapping fields. Instead of writing a function, you define an object where each key is a new field name and each value uses `mapVariable()` to extract data from previous steps or workflow input.
78
78
  Import `mapVariable()` from the workflows module:
79
79
 
80
- ```typescript filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
80
+ ```typescript filename="src/mastra/workflows/test-workflow.ts"
81
81
  import { mapVariable } from "@mastra/core/workflows";
82
82
  ```
83
83
 
@@ -86,7 +86,7 @@ import { mapVariable } from "@mastra/core/workflows";
86
86
  Use `mapVariable()` with `step` to extract a specific field from a step's output and map it to a new field name. The `path` parameter specifies which field to extract.
87
87
  In this example, the `value` field from `step1`'s output is extracted and mapped to a new field called `details`:
88
88
 
89
- ```typescript {3-6} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
89
+ ```typescript {3-6} filename="src/mastra/workflows/test-workflow.ts"
90
90
  .then(step1)
91
91
  .map({
92
92
  details: mapVariable({
@@ -101,7 +101,7 @@ In this example, the `value` field from `step1`'s output is extracted and mapped
101
101
  Use `mapVariable()` with `initData` to extract a specific field from the workflow's initial input data. This is useful when you need to pass the original workflow input to a later step.
102
102
  In this example, the `value` field from the workflow's input is extracted and mapped to a field called `details`:
103
103
 
104
- ```typescript {6-9} filename="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
104
+ ```typescript {6-9} filename="src/mastra/workflows/test-workflow.ts"
105
105
  export const testWorkflow = createWorkflow({...});
106
106
 
107
107
  testWorkflow
@@ -9,7 +9,7 @@ The `.parallel()` method executes multiple steps in parallel.
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.parallel([step1, step2]);
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.sendEvent()` resumes execution when an event is sent.
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  run.sendEvent("event-name", { value: "data" });
14
14
  ```
15
15
 
@@ -46,7 +46,7 @@ run.sendEvent("event-name", { value: "data" });
46
46
 
47
47
  ## Extended usage example
48
48
 
49
- ```typescript showLineNumbers copy
49
+ ```typescript
50
50
  import { mastra } from "./mastra";
51
51
 
52
52
  const run = await mastra.getWorkflow("testWorkflow").createRun();