@mastra/mcp-docs-server 0.13.37 → 0.13.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,9 +1,10 @@
1
1
  ---
2
- title: "Using with Vercel AI SDK"
2
+ title: "Using Vercel AI SDK | Frameworks | Mastra Docs"
3
3
  description: "Learn how Mastra leverages the Vercel AI SDK library and how you can leverage it further with Mastra"
4
4
  ---
5
5
 
6
- import { Callout, Tabs } from "nextra/components";
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
7
8
 
8
9
  # Using Vercel AI SDK
9
10
 
@@ -13,7 +14,7 @@ Mastra integrates with [Vercel's AI SDK](https://sdk.vercel.ai) to support model
13
14
 
14
15
  When creating agents in Mastra, you can specify any AI SDK-supported model.
15
16
 
16
- ```typescript {6} filename="agents/weather-agent.ts" copy
17
+ ```typescript {6} title="agents/weather-agent.ts" copy
17
18
  import { Agent } from "@mastra/core/agent";
18
19
 
19
20
  export const weatherAgent = new Agent({
@@ -29,43 +30,35 @@ export const weatherAgent = new Agent({
29
30
 
30
31
  The recommended way of using Mastra and AI SDK together is by installing the `@mastra/ai-sdk` package. `@mastra/ai-sdk` provides custom API routes and utilities for streaming Mastra agents in AI SDK-compatible formats. Including chat, workflow, and network route handlers, along with utilities and exported types for UI integrations.
31
32
 
32
- <Tabs items={["npm", "pnpm", "yarn", "bun"]}>
33
- <Tabs.Tab>
34
- ```bash copy
35
- npm install @mastra/ai-sdk
36
- ```
37
- </Tabs.Tab>
38
- <Tabs.Tab>
39
- ```bash copy
40
- pnpm add @mastra/ai-sdk
41
- ```
42
- </Tabs.Tab>
43
- <Tabs.Tab>
44
- ```bash copy
45
- yarn add @mastra/ai-sdk
46
- ```
47
- </Tabs.Tab>
48
- <Tabs.Tab>
49
- ```bash copy
50
- bun add @mastra/ai-sdk
51
- ```
52
- </Tabs.Tab>
33
+ <Tabs>
34
+ <TabItem value="npm" label="npm">
35
+ ```bash copy npm install @mastra/ai-sdk ```
36
+ </TabItem>
37
+ <TabItem value="pnpm" label="pnpm">
38
+ ```bash copy pnpm add @mastra/ai-sdk ```
39
+ </TabItem>
40
+ <TabItem value="yarn" label="yarn">
41
+ ```bash copy yarn add @mastra/ai-sdk ```
42
+ </TabItem>
43
+ <TabItem value="bun" label="bun">
44
+ ```bash copy bun add @mastra/ai-sdk ```
45
+ </TabItem>
53
46
  </Tabs>
54
47
 
55
48
  ### `chatRoute()`
56
49
 
57
50
  When setting up a [custom API route](/docs/server-db/custom-api-routes), use the `chatRoute()` utility to create a route handler that automatically formats the agent stream into an AI SDK-compatible format.
58
51
 
59
- ```typescript filename="src/mastra/index.ts" copy
60
- import { Mastra } from '@mastra/core/mastra';
61
- import { chatRoute } from '@mastra/ai-sdk';
52
+ ```typescript title="src/mastra/index.ts" copy
53
+ import { Mastra } from "@mastra/core/mastra";
54
+ import { chatRoute } from "@mastra/ai-sdk";
62
55
 
63
56
  export const mastra = new Mastra({
64
57
  server: {
65
58
  apiRoutes: [
66
59
  chatRoute({
67
- path: '/chat',
68
- agent: 'weatherAgent',
60
+ path: "/chat",
61
+ agent: "weatherAgent",
69
62
  }),
70
63
  ],
71
64
  },
@@ -75,51 +68,49 @@ export const mastra = new Mastra({
75
68
  Once you have your `/chat` API route set up, you can call the `useChat()` hook in your application.
76
69
 
77
70
  ```typescript
78
- const { error, status, sendMessage, messages, regenerate, stop } =
79
- useChat({
80
- transport: new DefaultChatTransport({
81
- api: 'http://localhost:4111/chat',
82
- }),
83
- });
71
+ const { error, status, sendMessage, messages, regenerate, stop } = useChat({
72
+ transport: new DefaultChatTransport({
73
+ api: "http://localhost:4111/chat",
74
+ }),
75
+ });
84
76
  ```
85
77
 
86
78
  Pass extra agent stream execution options:
87
79
 
88
80
  ```typescript
89
- const { error, status, sendMessage, messages, regenerate, stop } =
90
- useChat({
91
- transport: new DefaultChatTransport({
92
- api: 'http://localhost:4111/chat',
93
- prepareSendMessagesRequest({ messages }) {
94
- return {
95
- body: {
96
- messages,
97
- // Pass memory config
98
- memory: {
99
- thread: "user-1",
100
- resource: "user-1"
101
- }
81
+ const { error, status, sendMessage, messages, regenerate, stop } = useChat({
82
+ transport: new DefaultChatTransport({
83
+ api: "http://localhost:4111/chat",
84
+ prepareSendMessagesRequest({ messages }) {
85
+ return {
86
+ body: {
87
+ messages,
88
+ // Pass memory config
89
+ memory: {
90
+ thread: "user-1",
91
+ resource: "user-1",
102
92
  },
103
- }
104
- }
105
- }),
106
- });
93
+ },
94
+ };
95
+ },
96
+ }),
97
+ });
107
98
  ```
108
99
 
109
100
  ### `workflowRoute()`
110
101
 
111
102
  Use the `workflowRoute()` utility to create a route handler that automatically formats the workflow stream into an AI SDK-compatible format.
112
103
 
113
- ```typescript filename="src/mastra/index.ts" copy
114
- import { Mastra } from '@mastra/core/mastra';
115
- import { workflowRoute } from '@mastra/ai-sdk';
104
+ ```typescript title="src/mastra/index.ts" copy
105
+ import { Mastra } from "@mastra/core/mastra";
106
+ import { workflowRoute } from "@mastra/ai-sdk";
116
107
 
117
108
  export const mastra = new Mastra({
118
109
  server: {
119
110
  apiRoutes: [
120
111
  workflowRoute({
121
- path: '/workflow',
122
- agent: 'weatherAgent',
112
+ path: "/workflow",
113
+ agent: "weatherAgent",
123
114
  }),
124
115
  ],
125
116
  },
@@ -129,37 +120,36 @@ export const mastra = new Mastra({
129
120
  Once you have your `/workflow` API route set up, you can call the `useChat()` hook in your application.
130
121
 
131
122
  ```typescript
132
- const { error, status, sendMessage, messages, regenerate, stop } =
133
- useChat({
134
- transport: new DefaultChatTransport({
135
- api: 'http://localhost:4111/workflow',
136
- prepareSendMessagesRequest({messages}) {
137
- return {
138
- body: {
139
- inputData: {
140
- city: messages[messages.length - 1].parts[0].text
141
- }
142
- }
143
- }
144
- }
145
- }),
146
- });
123
+ const { error, status, sendMessage, messages, regenerate, stop } = useChat({
124
+ transport: new DefaultChatTransport({
125
+ api: "http://localhost:4111/workflow",
126
+ prepareSendMessagesRequest({ messages }) {
127
+ return {
128
+ body: {
129
+ inputData: {
130
+ city: messages[messages.length - 1].parts[0].text,
131
+ },
132
+ },
133
+ };
134
+ },
135
+ }),
136
+ });
147
137
  ```
148
138
 
149
139
  ### `networkRoute()`
150
140
 
151
141
  Use the `networkRoute()` utility to create a route handler that automatically formats the agent network stream into an AI SDK-compatible format.
152
142
 
153
- ```typescript filename="src/mastra/index.ts" copy
154
- import { Mastra } from '@mastra/core/mastra';
155
- import { networkRoute } from '@mastra/ai-sdk';
143
+ ```typescript title="src/mastra/index.ts" copy
144
+ import { Mastra } from "@mastra/core/mastra";
145
+ import { networkRoute } from "@mastra/ai-sdk";
156
146
 
157
147
  export const mastra = new Mastra({
158
148
  server: {
159
149
  apiRoutes: [
160
150
  networkRoute({
161
- path: '/network',
162
- agent: 'weatherAgent',
151
+ path: "/network",
152
+ agent: "weatherAgent",
163
153
  }),
164
154
  ],
165
155
  },
@@ -169,12 +159,11 @@ export const mastra = new Mastra({
169
159
  Once you have your `/network` API route set up, you can call the `useChat()` hook in your application.
170
160
 
171
161
  ```typescript
172
- const { error, status, sendMessage, messages, regenerate, stop } =
173
- useChat({
174
- transport: new DefaultChatTransport({
175
- api: 'http://localhost:4111/network',
176
- }),
177
- });
162
+ const { error, status, sendMessage, messages, regenerate, stop } = useChat({
163
+ transport: new DefaultChatTransport({
164
+ api: "http://localhost:4111/network",
165
+ }),
166
+ });
178
167
  ```
179
168
 
180
169
  ### Custom UI
@@ -192,7 +181,7 @@ The `@mastra/ai-sdk` package transforms and emits Mastra streams (e.g workflow,
192
181
 
193
182
  Here's an example: For a [nested agent stream within a tool](/docs/streaming/tool-streaming#tool-using-an-agent), `data-tool-agent` UI message parts will be emitted and can be leveraged on the client as documented below:
194
183
 
195
- ```typescript filename="app/page.tsx" copy
184
+ ```typescript title="app/page.tsx" copy
196
185
  "use client";
197
186
 
198
187
  import { useChat } from "@ai-sdk/react";
@@ -228,16 +217,16 @@ export default function Page() {
228
217
  }
229
218
  ```
230
219
 
231
- ```typescript filename="ui/agent-tool.ts" copy
220
+ ```typescript title="ui/agent-tool.ts" copy
232
221
  import { Tool, ToolContent, ToolHeader, ToolOutput } from "../ai-elements/tool";
233
222
  import type { AgentDataPart } from "@mastra/ai-sdk";
234
223
 
235
224
  export const AgentTool = ({ id, text, status }: AgentDataPart) => {
236
225
  return (
237
226
  <Tool>
238
- <ToolHeader
239
- type={`${id}`}
240
- state={status === 'finished' ? 'output-available' : 'input-available'}
227
+ <ToolHeader
228
+ type={`${id}`}
229
+ state={status === 'finished' ? 'output-available' : 'input-available'}
241
230
  />
242
231
  <ToolContent>
243
232
  <ToolOutput output={text} />
@@ -246,7 +235,9 @@ export const AgentTool = ({ id, text, status }: AgentDataPart) => {
246
235
  );
247
236
  };
248
237
  ```
238
+
249
239
  ### Custom Tool streaming
240
+
250
241
  To stream custom data parts from within your tool execution function, use the
251
242
  `writer.custom()` method.
252
243
 
@@ -283,10 +274,10 @@ For more information about tool streaming see [Tool streaming documentation](/do
283
274
 
284
275
  To manually transform Mastra's streams to AI SDK-compatible format, use the `toAISdkFormat()` utility.
285
276
 
286
- ```typescript filename="app/api/chat/route.ts" copy {3,13}
277
+ ```typescript title="app/api/chat/route.ts" copy {3,13}
287
278
  import { mastra } from "../../mastra";
288
- import { createUIMessageStream, createUIMessageStreamResponse } from 'ai';
289
- import { toAISdkFormat } from '@mastra/ai-sdk'
279
+ import { createUIMessageStream, createUIMessageStreamResponse } from "ai";
280
+ import { toAISdkFormat } from "@mastra/ai-sdk";
290
281
 
291
282
  export async function POST(req: Request) {
292
283
  const { messages } = await req.json();
@@ -296,7 +287,7 @@ export async function POST(req: Request) {
296
287
  // Transform stream into AI SDK format and create UI messages stream
297
288
  const uiMessageStream = createUIMessageStream({
298
289
  execute: async ({ writer }) => {
299
- for await (const part of toAISdkFormat(stream, { from: 'agent' })!) {
290
+ for await (const part of toAISdkFormat(stream, { from: "agent" })!) {
300
291
  writer.write(part);
301
292
  }
302
293
  },
@@ -313,27 +304,34 @@ export async function POST(req: Request) {
313
304
 
314
305
  If you have a client-side `response` from `agent.stream(...)` and want AI SDK-formatted parts without custom SSE parsing, wrap `response.processDataStream` into a `ReadableStream<ChunkType>` and pipe it through `toAISdkFormat`:
315
306
 
316
- ```typescript filename="client-stream-to-ai-sdk.ts" copy
317
- import { createUIMessageStream } from 'ai';
318
- import { toAISdkFormat } from '@mastra/ai-sdk';
319
- import type { ChunkType, MastraModelOutput } from '@mastra/core/stream';
307
+ ```typescript title="client-stream-to-ai-sdk.ts" copy
308
+ import { createUIMessageStream } from "ai";
309
+ import { toAISdkFormat } from "@mastra/ai-sdk";
310
+ import type { ChunkType, MastraModelOutput } from "@mastra/core/stream";
320
311
 
321
312
  // Client SDK agent stream
322
- const response = await agent.stream({ messages: 'What is the weather in Tokyo' });
313
+ const response = await agent.stream({
314
+ messages: "What is the weather in Tokyo",
315
+ });
323
316
 
324
317
  const chunkStream: ReadableStream<ChunkType> = new ReadableStream<ChunkType>({
325
318
  start(controller) {
326
- response.processDataStream({
327
- onChunk: async (chunk) => {
328
- controller.enqueue(chunk as ChunkType);
329
- },
330
- }).finally(() => controller.close());
319
+ response
320
+ .processDataStream({
321
+ onChunk: async (chunk) => {
322
+ controller.enqueue(chunk as ChunkType);
323
+ },
324
+ })
325
+ .finally(() => controller.close());
331
326
  },
332
327
  });
333
328
 
334
329
  const uiMessageStream = createUIMessageStream({
335
330
  execute: async ({ writer }) => {
336
- for await (const part of toAISdkFormat(chunkStream as unknown as MastraModelOutput, { from: 'agent' })) {
331
+ for await (const part of toAISdkFormat(
332
+ chunkStream as unknown as MastraModelOutput,
333
+ { from: "agent" },
334
+ )) {
337
335
  writer.write(part);
338
336
  }
339
337
  },
@@ -350,35 +348,26 @@ Mastra supports AI SDK UI hooks for connecting frontend components directly to a
350
348
 
351
349
  Install the required AI SDK React package:
352
350
 
353
- <Tabs items={["npm", "pnpm", "yarn", "bun"]}>
354
- <Tabs.Tab>
355
- ```bash copy
356
- npm install @ai-sdk/react
357
- ```
358
- </Tabs.Tab>
359
- <Tabs.Tab>
360
- ```bash copy
361
- pnpm add @ai-sdk/react
362
- ```
363
- </Tabs.Tab>
364
- <Tabs.Tab>
365
- ```bash copy
366
- yarn add @ai-sdk/react
367
- ```
368
- </Tabs.Tab>
369
- <Tabs.Tab>
370
- ```bash copy
371
- bun add @ai-sdk/react
372
- ```
373
- </Tabs.Tab>
351
+ <Tabs>
352
+ <TabItem value="npm" label="npm">
353
+ ```bash copy npm install @ai-sdk/react ```
354
+ </TabItem>
355
+ <TabItem value="pnpm" label="pnpm">
356
+ ```bash copy pnpm add @ai-sdk/react ```
357
+ </TabItem>
358
+ <TabItem value="yarn" label="yarn">
359
+ ```bash copy yarn add @ai-sdk/react ```
360
+ </TabItem>
361
+ <TabItem value="bun" label="bun">
362
+ ```bash copy bun add @ai-sdk/react ```
363
+ </TabItem>
374
364
  </Tabs>
375
365
 
376
-
377
366
  ### Using `useChat()`
378
367
 
379
368
  The `useChat()` hook handles real-time chat interactions between your frontend and a Mastra agent, enabling you to send prompts and receive streaming responses over HTTP.
380
369
 
381
- ```typescript {8-12} filename="app/test/chat.tsx" copy
370
+ ```typescript {8-12} title="app/test/chat.tsx" copy
382
371
  "use client";
383
372
 
384
373
  import { useChat } from "@ai-sdk/react";
@@ -411,25 +400,25 @@ export function Chat() {
411
400
 
412
401
  Requests sent using the `useChat()` hook are handled by a standard server route. This example shows how to define a POST route using a Next.js Route Handler.
413
402
 
414
- ```typescript filename="app/api/chat/route.ts" copy
403
+ ```typescript title="app/api/chat/route.ts" copy
415
404
  import { mastra } from "../../mastra";
416
405
 
417
406
  export async function POST(req: Request) {
418
407
  const { messages } = await req.json();
419
408
  const myAgent = mastra.getAgent("weatherAgent");
420
- const stream = await myAgent.stream(messages, { format: 'aisdk' });
409
+ const stream = await myAgent.stream(messages, { format: "aisdk" });
421
410
 
422
- return stream.toUIMessageStreamResponse()
411
+ return stream.toUIMessageStreamResponse();
423
412
  }
424
413
  ```
425
414
 
426
- > When using `useChat()` with agent memory, refer to the [Agent Memory section](/docs/agents/agent-memory#usechat) for key implementation details.
415
+ > When using `useChat()` with agent memory, refer to the [Agent Memory section](/docs/agents/agent-memory) for key implementation details.
427
416
 
428
417
  ### Using `useCompletion()`
429
418
 
430
419
  The `useCompletion()` hook handles single-turn completions between your frontend and a Mastra agent, allowing you to send a prompt and receive a streamed response over HTTP.
431
420
 
432
- ```typescript {6-8} filename="app/test/completion.tsx" copy
421
+ ```typescript {6-8} title="app/test/completion.tsx" copy
433
422
  "use client";
434
423
 
435
424
  import { useCompletion } from "@ai-sdk/react";
@@ -452,15 +441,17 @@ export function Completion() {
452
441
 
453
442
  Requests sent using the `useCompletion()` hook are handled by a standard server route. This example shows how to define a POST route using a Next.js Route Handler.
454
443
 
455
- ```typescript filename="app/api/completion/route.ts" copy
444
+ ```typescript title="app/api/completion/route.ts" copy
456
445
  import { mastra } from "../../../mastra";
457
446
 
458
447
  export async function POST(req: Request) {
459
448
  const { prompt } = await req.json();
460
449
  const myAgent = mastra.getAgent("weatherAgent");
461
- const stream = await myAgent.stream([{ role: "user", content: prompt }], { format: 'aisdk' });
450
+ const stream = await myAgent.stream([{ role: "user", content: prompt }], {
451
+ format: "aisdk",
452
+ });
462
453
 
463
- return stream.toUIMessageStreamResponse()
454
+ return stream.toUIMessageStreamResponse();
464
455
  }
465
456
  ```
466
457
 
@@ -468,7 +459,7 @@ export async function POST(req: Request) {
468
459
 
469
460
  `sendMessage()` allows you to pass additional data from the frontend to Mastra. This data can then be used on the server as `RuntimeContext`.
470
461
 
471
- ```typescript {16-26} filename="app/test/chat-extra.tsx" copy
462
+ ```typescript {16-26} title="app/test/chat-extra.tsx" copy
472
463
  "use client";
473
464
 
474
465
  import { useChat } from "@ai-sdk/react";
@@ -509,7 +500,7 @@ export function ChatExtra() {
509
500
  }
510
501
  ```
511
502
 
512
- ```typescript {8,12} filename="app/api/chat-extra/route.ts" copy
503
+ ```typescript {8,12} title="app/api/chat-extra/route.ts" copy
513
504
  import { mastra } from "../../../mastra";
514
505
  import { RuntimeContext } from "@mastra/core/runtime-context";
515
506
 
@@ -525,7 +516,10 @@ export async function POST(req: Request) {
525
516
  }
526
517
  }
527
518
 
528
- const stream = await myAgent.stream(messages, { runtimeContext, format: 'aisdk' });
519
+ const stream = await myAgent.stream(messages, {
520
+ runtimeContext,
521
+ format: "aisdk",
522
+ });
529
523
  return stream.toUIMessageStreamResponse();
530
524
  }
531
525
  ```
@@ -534,7 +528,7 @@ export async function POST(req: Request) {
534
528
 
535
529
  You can also populate the `RuntimeContext` by reading custom data in a server middleware:
536
530
 
537
- ```typescript {8,17} filename="mastra/index.ts" copy
531
+ ```typescript {8,17} title="mastra/index.ts" copy
538
532
  import { Mastra } from "@mastra/core/mastra";
539
533
 
540
534
  export const mastra = new Mastra({
@@ -554,8 +548,7 @@ export const mastra = new Mastra({
554
548
  runtimeContext.set(key, value);
555
549
  }
556
550
  }
557
- } catch {
558
- }
551
+ } catch {}
559
552
  }
560
553
  await next();
561
554
  },
@@ -584,13 +577,13 @@ Mastra automatically handles AI SDK v4 data using its internal `MessageList` cla
584
577
  For cases where you need to manually convert messages between AI SDK and Mastra formats, use the `convertMessages()` utility:
585
578
 
586
579
  ```typescript
587
- import { convertMessages } from '@mastra/core/agent';
580
+ import { convertMessages } from "@mastra/core/agent";
588
581
 
589
582
  // Convert AI SDK v4 messages to v5
590
- const aiv5Messages = convertMessages(aiv4Messages).to('AIV5.UI');
583
+ const aiv5Messages = convertMessages(aiv4Messages).to("AIV5.UI");
591
584
 
592
585
  // Convert Mastra messages to AI SDK v5
593
- const aiv5Messages = convertMessages(mastraMessages).to('AIV5.Core');
586
+ const aiv5Messages = convertMessages(mastraMessages).to("AIV5.Core");
594
587
 
595
588
  // Supported output formats:
596
589
  // 'Mastra.V2', 'AIV4.UI', 'AIV5.UI', 'AIV5.Core', 'AIV5.Model'
@@ -606,7 +599,7 @@ When using tools with TypeScript in AI SDK v5, Mastra provides type inference he
606
599
 
607
600
  The `InferUITool` type helper infers the input and output types of a single Mastra tool:
608
601
 
609
- ```typescript filename="app/types.ts" copy
602
+ ```typescript title="app/types.ts" copy
610
603
  import { InferUITool, createTool } from "@mastra/core/tools";
611
604
  import { z } from "zod";
612
605
 
@@ -641,7 +634,7 @@ type WeatherUITool = InferUITool<typeof weatherTool>;
641
634
 
642
635
  The `InferUITools` type helper infers the input and output types of multiple tools:
643
636
 
644
- ```typescript filename="app/mastra/tools.ts" copy
637
+ ```typescript title="app/mastra/tools.ts" copy
645
638
  import { InferUITools, createTool } from "@mastra/core/tools";
646
639
  import { z } from "zod";
647
640