@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
@@ -12,7 +12,7 @@ Processors can be configured as:
12
12
  - **`inputProcessors`**: Applied before messages reach the language model.
13
13
  - **`outputProcessors`**: Applied to responses before they're returned to users.
14
14
 
15
- Some processors are *hybrid*, meaning they can be used with either `inputProcessors` or `outputProcessors`, depending on where the logic should be applied.
15
+ Some processors are _hybrid_, meaning they can be used with either `inputProcessors` or `outputProcessors`, depending on where the logic should be applied.
16
16
 
17
17
  ## When to use processors
18
18
 
@@ -22,7 +22,7 @@ Use processors for content moderation, prompt injection prevention, response san
22
22
 
23
23
  Import and instantiate the relevant processor class, and pass it to your agent’s configuration using either the `inputProcessors` or `outputProcessors` option:
24
24
 
25
- ```typescript {3,9-17} filename="src/mastra/agents/moderated-agent.ts" showLineNumbers copy
25
+ ```typescript {3,9-17} title="src/mastra/agents/moderated-agent.ts" showLineNumbers copy
26
26
  import { openai } from "@ai-sdk/openai";
27
27
  import { Agent } from "@mastra/core/agent";
28
28
  import { ModerationProcessor } from "@mastra/core/processors";
@@ -38,8 +38,8 @@ export const moderatedAgent = new Agent({
38
38
  threshold: 0.7,
39
39
  strategy: "block",
40
40
  instructions: "Detect and flag inappropriate content in user messages",
41
- })
42
- ]
41
+ }),
42
+ ],
43
43
  });
44
44
  ```
45
45
 
@@ -51,7 +51,7 @@ Input processors are applied before user messages reach the language model. They
51
51
 
52
52
  The `UnicodeNormalizer` is an input processor that cleans and normalizes user input by unifying Unicode characters, standardizing whitespace, and removing problematic symbols, allowing the LLM to better understand user messages.
53
53
 
54
- ```typescript {6-9} filename="src/mastra/agents/normalized-agent.ts" showLineNumbers copy
54
+ ```typescript {6-9} title="src/mastra/agents/normalized-agent.ts" showLineNumbers copy
55
55
  import { UnicodeNormalizer } from "@mastra/core/processors";
56
56
 
57
57
  export const normalizedAgent = new Agent({
@@ -60,18 +60,18 @@ export const normalizedAgent = new Agent({
60
60
  new UnicodeNormalizer({
61
61
  stripControlChars: true,
62
62
  collapseWhitespace: true,
63
- })
63
+ }),
64
64
  ],
65
65
  });
66
66
  ```
67
67
 
68
- > See [UnicodeNormalizer](../../reference/processors/unicode-normalizer.mdx) for a full list of configuration options.
68
+ > See [UnicodeNormalizer](/reference/processors/unicode-normalizer) for a full list of configuration options.
69
69
 
70
70
  ### Preventing prompt injection
71
71
 
72
72
  The `PromptInjectionDetector` is an input processor that scans user messages for prompt injection, jailbreak attempts, and system override patterns. It uses an LLM to classify risky input and can block or rewrite it before it reaches the model.
73
73
 
74
- ```typescript {6-11} filename="src/mastra/agents/secure-agent.ts" showLineNumbers copy
74
+ ```typescript {6-11} title="src/mastra/agents/secure-agent.ts" showLineNumbers copy
75
75
  import { PromptInjectionDetector } from "@mastra/core/processors";
76
76
 
77
77
  export const secureAgent = new Agent({
@@ -80,20 +80,20 @@ export const secureAgent = new Agent({
80
80
  new PromptInjectionDetector({
81
81
  model: openai("gpt-4.1-nano"),
82
82
  threshold: 0.8,
83
- strategy: 'rewrite',
84
- detectionTypes: ['injection', 'jailbreak', 'system-override'],
85
- })
83
+ strategy: "rewrite",
84
+ detectionTypes: ["injection", "jailbreak", "system-override"],
85
+ }),
86
86
  ],
87
87
  });
88
88
  ```
89
89
 
90
- > See [PromptInjectionDetector](../../reference/processors/prompt-injection-detector.mdx) for a full list of configuration options.
90
+ > See [PromptInjectionDetector](/reference/processors/prompt-injection-detector) for a full list of configuration options.
91
91
 
92
92
  ### Detecting and translating language
93
93
 
94
94
  The `LanguageDetector` is an input processor that detects and translates user messages into a target language, enabling multilingual support while maintaining consistent interaction. It uses an LLM to identify the language and perform the translation.
95
95
 
96
- ```typescript {6-11} filename="src/mastra/agents/multilingual-agent.ts" showLineNumbers copy
96
+ ```typescript {6-11} title="src/mastra/agents/multilingual-agent.ts" showLineNumbers copy
97
97
  import { LanguageDetector } from "@mastra/core/processors";
98
98
 
99
99
  export const multilingualAgent = new Agent({
@@ -101,15 +101,15 @@ export const multilingualAgent = new Agent({
101
101
  inputProcessors: [
102
102
  new LanguageDetector({
103
103
  model: openai("gpt-4.1-nano"),
104
- targetLanguages: ['English', 'en'],
105
- strategy: 'translate',
104
+ targetLanguages: ["English", "en"],
105
+ strategy: "translate",
106
106
  threshold: 0.8,
107
- })
107
+ }),
108
108
  ],
109
109
  });
110
110
  ```
111
111
 
112
- > See [LanguageDetector](../../reference/processors/language-detector.mdx) for a full list of configuration options.
112
+ > See [LanguageDetector](/reference/processors/language-detector) for a full list of configuration options.
113
113
 
114
114
  ## Output processors
115
115
 
@@ -119,7 +119,7 @@ Output processors are applied after the language model generates a response, but
119
119
 
120
120
  The `BatchPartsProcessor` is an output processor that combines multiple stream parts before emitting them to the client. This reduces network overhead and improves the user experience by consolidating small chunks into larger batches.
121
121
 
122
- ```typescript {6-10} filename="src/mastra/agents/batched-agent.ts" showLineNumbers copy
122
+ ```typescript {6-10} title="src/mastra/agents/batched-agent.ts" showLineNumbers copy
123
123
  import { BatchPartsProcessor } from "@mastra/core/processors";
124
124
 
125
125
  export const batchedAgent = new Agent({
@@ -128,19 +128,19 @@ export const batchedAgent = new Agent({
128
128
  new BatchPartsProcessor({
129
129
  batchSize: 5,
130
130
  maxWaitTime: 100,
131
- emitOnNonText: true
132
- })
133
- ]
131
+ emitOnNonText: true,
132
+ }),
133
+ ],
134
134
  });
135
135
  ```
136
136
 
137
- > See [BatchPartsProcessor](../../reference/processors/batch-parts-processor.mdx) for a full list of configuration options.
137
+ > See [BatchPartsProcessor](/reference/processors/batch-parts-processor) for a full list of configuration options.
138
138
 
139
139
  ### Limiting token usage
140
140
 
141
141
  The `TokenLimiterProcessor` is an output processor that limits the number of tokens in model responses. It helps manage cost and performance by truncating or blocking messages when the limit is exceeded.
142
142
 
143
- ```typescript {6-10, 13-15} filename="src/mastra/agents/limited-agent.ts" showLineNumbers copy
143
+ ```typescript {6-10, 13-15} title="src/mastra/agents/limited-agent.ts" showLineNumbers copy
144
144
  import { TokenLimiterProcessor } from "@mastra/core/processors";
145
145
 
146
146
  export const limitedAgent = new Agent({
@@ -149,19 +149,19 @@ export const limitedAgent = new Agent({
149
149
  new TokenLimiterProcessor({
150
150
  limit: 1000,
151
151
  strategy: "truncate",
152
- countMode: "cumulative"
153
- })
154
- ]
155
- })
152
+ countMode: "cumulative",
153
+ }),
154
+ ],
155
+ });
156
156
  ```
157
157
 
158
- > See [TokenLimiterProcessor](../../reference/processors/token-limiter-processor.mdx) for a full list of configuration options.
158
+ > See [TokenLimiterProcessor](/reference/processors/token-limiter-processor) for a full list of configuration options.
159
159
 
160
160
  ### Scrubbing system prompts
161
161
 
162
162
  The `SystemPromptScrubber` is an output processor that detects and redacts system prompts or other internal instructions from model responses. It helps prevent unintended disclosure of prompt content or configuration details that could introduce security risks. It uses an LLM to identify and redact sensitive content based on configured detection types.
163
163
 
164
- ```typescript {5-13} filename="src/mastra/agents/scrubbed-agent.ts" copy showLineNumbers
164
+ ```typescript {5-13} title="src/mastra/agents/scrubbed-agent.ts" copy showLineNumbers
165
165
  import { SystemPromptScrubber } from "@mastra/core/processors";
166
166
 
167
167
  const scrubbedAgent = new Agent({
@@ -171,15 +171,16 @@ const scrubbedAgent = new Agent({
171
171
  strategy: "redact",
172
172
  customPatterns: ["system prompt", "internal instructions"],
173
173
  includeDetections: true,
174
- instructions: "Detect and redact system prompts, internal instructions, and security-sensitive content",
174
+ instructions:
175
+ "Detect and redact system prompts, internal instructions, and security-sensitive content",
175
176
  redactionMethod: "placeholder",
176
- placeholderText: "[REDACTED]"
177
- })
178
- ]
177
+ placeholderText: "[REDACTED]",
178
+ }),
179
+ ],
179
180
  });
180
181
  ```
181
182
 
182
- > See [SystemPromptScrubber](../../reference/processors/system-prompt-scrubber.mdx) for a full list of configuration options.
183
+ > See [SystemPromptScrubber](/reference/processors/system-prompt-scrubber) for a full list of configuration options.
183
184
 
184
185
  ## Hybrid processors
185
186
 
@@ -189,7 +190,7 @@ Hybrid processors can be applied either before messages are sent to the language
189
190
 
190
191
  The `ModerationProcessor` is a hybrid processor that detects inappropriate or harmful content across categories like hate, harassment, and violence. It can be used to moderate either user input or model output, depending on where it's applied. It uses an LLM to classify the message and can block or rewrite it based on your configuration.
191
192
 
192
- ```typescript {6-11, 14-16} filename="src/mastra/agents/moderated-agent.ts" showLineNumbers copy
193
+ ```typescript {6-11, 14-16} title="src/mastra/agents/moderated-agent.ts" showLineNumbers copy
193
194
  import { ModerationProcessor } from "@mastra/core/processors";
194
195
 
195
196
  export const moderatedAgent = new Agent({
@@ -199,24 +200,24 @@ export const moderatedAgent = new Agent({
199
200
  model: openai("gpt-4.1-nano"),
200
201
  threshold: 0.7,
201
202
  strategy: "block",
202
- categories: ["hate", "harassment", "violence"]
203
- })
203
+ categories: ["hate", "harassment", "violence"],
204
+ }),
204
205
  ],
205
206
  outputProcessors: [
206
207
  new ModerationProcessor({
207
208
  // ...
208
- })
209
- ]
209
+ }),
210
+ ],
210
211
  });
211
212
  ```
212
213
 
213
- > See [ModerationProcessor](../../reference/processors/moderation-processor.mdx) for a full list of configuration options.
214
+ > See [ModerationProcessor](/reference/processors/moderation-processor) for a full list of configuration options.
214
215
 
215
216
  ### Detecting and redacting PII
216
217
 
217
218
  The `PIIDetector` is a hybrid processor that detects and removes personally identifiable information such as emails, phone numbers, and credit cards. It can redact either user input or model output, depending on where it's applied. It uses an LLM to identify sensitive content based on configured detection types.
218
219
 
219
- ```typescript {6-13, 16-18} filename="src/mastra/agents/private-agent.ts" showLineNumbers copy
220
+ ```typescript {6-13, 16-18} title="src/mastra/agents/private-agent.ts" showLineNumbers copy
220
221
  import { PIIDetector } from "@mastra/core/processors";
221
222
 
222
223
  export const privateAgent = new Agent({
@@ -225,21 +226,21 @@ export const privateAgent = new Agent({
225
226
  new PIIDetector({
226
227
  model: openai("gpt-4.1-nano"),
227
228
  threshold: 0.6,
228
- strategy: 'redact',
229
- redactionMethod: 'mask',
230
- detectionTypes: ['email', 'phone', 'credit-card'],
231
- instructions: "Detect and mask personally identifiable information."
232
- })
229
+ strategy: "redact",
230
+ redactionMethod: "mask",
231
+ detectionTypes: ["email", "phone", "credit-card"],
232
+ instructions: "Detect and mask personally identifiable information.",
233
+ }),
233
234
  ],
234
235
  outputProcessors: [
235
236
  new PIIDetector({
236
237
  // ...
237
- })
238
- ]
238
+ }),
239
+ ],
239
240
  });
240
241
  ```
241
242
 
242
- > See [PIIDetector](../../reference/processors/pii-detector.mdx) for a full list of configuration options.
243
+ > See [PIIDetector](/reference/processors/pii-detector) for a full list of configuration options.
243
244
 
244
245
  ## Applying multiple processors
245
246
 
@@ -253,13 +254,13 @@ A typical order might be:
253
254
 
254
255
  The order affects behavior, so arrange processors to suit your goals.
255
256
 
256
- ```typescript filename="src/mastra/agents/test-agent.ts" showLineNumbers copy
257
+ ```typescript title="src/mastra/agents/test-agent.ts" showLineNumbers copy
257
258
  import {
258
259
  UnicodeNormalizer,
259
260
  ModerationProcessor,
260
261
  PromptInjectionDetector,
261
- PIIDetector
262
- } from "@mastra/core/processors";
262
+ PIIDetector,
263
+ } from "@mastra/core/processors";
263
264
 
264
265
  export const testAgent = new Agent({
265
266
  // ...
@@ -275,7 +276,7 @@ export const testAgent = new Agent({
275
276
  }),
276
277
  new ModerationProcessor({
277
278
  // ...
278
- })
279
+ }),
279
280
  ],
280
281
  });
281
282
  ```
@@ -286,7 +287,7 @@ Many of the built-in processors support a `strategy` parameter that controls how
286
287
 
287
288
  Most strategies allow the request to continue without interruption. When `block` is used, the processor calls its internal `abort()` function, which immediately stops the request and prevents any subsequent processors from running.
288
289
 
289
- ```typescript {8} filename="src/mastra/agents/private-agent.ts" showLineNumbers copy
290
+ ```typescript {8} title="src/mastra/agents/private-agent.ts" showLineNumbers copy
290
291
  import { PIIDetector } from "@mastra/core/processors";
291
292
 
292
293
  export const privateAgent = new Agent({
@@ -294,10 +295,10 @@ export const privateAgent = new Agent({
294
295
  inputProcessors: [
295
296
  new PIIDetector({
296
297
  // ...
297
- strategy: "block"
298
- })
299
- ]
300
- })
298
+ strategy: "block",
299
+ }),
300
+ ],
301
+ });
301
302
  ```
302
303
 
303
304
  ### Handling blocked requests
@@ -309,15 +310,20 @@ For example, if an agent uses the `PIIDetector` with `strategy: "block"` and the
309
310
  #### `.generate()` example
310
311
 
311
312
  ```typescript {3-4, } showLineNumbers
312
- const result = await agent.generate("Is this credit card number valid?: 4543 1374 5089 4332");
313
+ const result = await agent.generate(
314
+ "Is this credit card number valid?: 4543 1374 5089 4332",
315
+ );
313
316
 
314
317
  console.error(result.tripwire);
315
318
  console.error(result.tripwireReason);
316
319
  ```
320
+
317
321
  #### `.stream()` example
318
322
 
319
323
  ```typescript {4-5} showLineNumbers
320
- const stream = await agent.stream("Is this credit card number valid?: 4543 1374 5089 4332");
324
+ const stream = await agent.stream(
325
+ "Is this credit card number valid?: 4543 1374 5089 4332",
326
+ );
321
327
 
322
328
  for await (const chunk of stream.fullStream) {
323
329
  if (chunk.type === "tripwire") {
@@ -325,6 +331,7 @@ for await (const chunk of stream.fullStream) {
325
331
  }
326
332
  }
327
333
  ```
334
+
328
335
  In this case, the `tripwireReason` indicates that a credit card number was detected:
329
336
 
330
337
  ```text
@@ -338,5 +345,5 @@ If the built-in processors don’t cover your needs, you can create your own by
338
345
  Available examples:
339
346
 
340
347
  - [Message Length Limiter](../../examples/processors/message-length-limiter)
341
- - [Response Length Limiter](../../examples/rocessors/response-length-limiter)
348
+ - [Response Length Limiter](../../examples/processors/response-length-limiter)
342
349
  - [Response Validator](../../examples/processors/response-validator)
@@ -23,44 +23,44 @@ Mastra agent networks operate using these principles:
23
23
 
24
24
  An agent network is built around a top-level routing agent that delegates tasks to agents, workflows, and tools defined in its configuration. Memory is configured on the routing agent using the `memory` option, and `instructions` define the agent's routing behavior.
25
25
 
26
- ```typescript {22-23,26,29} filename="src/mastra/agents/routing-agent.ts" showLineNumbers copy
27
- import { openai } from "@ai-sdk/openai";
28
- import { Agent } from "@mastra/core/agent";
29
- import { Memory } from "@mastra/memory";
30
- import { LibSQLStore } from "@mastra/libsql";
26
+ ```typescript {22-23,26,29} title="src/mastra/agents/routing-agent.ts" showLineNumbers copy
27
+ import { openai } from "@ai-sdk/openai";
28
+ import { Agent } from "@mastra/core/agent";
29
+ import { Memory } from "@mastra/memory";
30
+ import { LibSQLStore } from "@mastra/libsql";
31
31
 
32
- import { researchAgent } from "./research-agent";
33
- import { writingAgent } from "./writing-agent";
32
+ import { researchAgent } from "./research-agent";
33
+ import { writingAgent } from "./writing-agent";
34
34
 
35
- import { cityWorkflow } from "../workflows/city-workflow";
36
- import { weatherTool } from "../tools/weather-tool";
35
+ import { cityWorkflow } from "../workflows/city-workflow";
36
+ import { weatherTool } from "../tools/weather-tool";
37
37
 
38
- export const routingAgent = new Agent({
39
- name: "routing-agent",
40
- instructions: `
38
+ export const routingAgent = new Agent({
39
+ name: "routing-agent",
40
+ instructions: `
41
41
  You are a network of writers and researchers.
42
42
  The user will ask you to research a topic.
43
43
  Always respond with a complete report—no bullet points.
44
44
  Write in full paragraphs, like a blog post.
45
45
  Do not answer with incomplete or uncertain information.`,
46
- model: openai("gpt-4o-mini"),
47
- agents: {
48
- researchAgent,
49
- writingAgent
50
- },
51
- workflows: {
52
- cityWorkflow
53
- },
54
- tools: {
55
- weatherTool
56
- },
57
- memory: new Memory({
58
- storage: new LibSQLStore({
59
- url: "file:../mastra.db"
60
- })
61
- })
62
- });
63
- ```
46
+ model: openai("gpt-4o-mini"),
47
+ agents: {
48
+ researchAgent,
49
+ writingAgent,
50
+ },
51
+ workflows: {
52
+ cityWorkflow,
53
+ },
54
+ tools: {
55
+ weatherTool,
56
+ },
57
+ memory: new Memory({
58
+ storage: new LibSQLStore({
59
+ url: "file:../mastra.db",
60
+ }),
61
+ }),
62
+ });
63
+ ```
64
64
 
65
65
  ### Writing descriptions for network primitives
66
66
 
@@ -70,7 +70,7 @@ When configuring a Mastra agent network, each primitive (agent, workflow, or too
70
70
 
71
71
  Each agent in a network should include a clear `description` that explains what the agent does.
72
72
 
73
- ```typescript filename="src/mastra/agents/research-agent.ts" showLineNumbers
73
+ ```typescript title="src/mastra/agents/research-agent.ts" showLineNumbers
74
74
  export const researchAgent = new Agent({
75
75
  name: "research-agent",
76
76
  description: `This agent gathers concise research insights in bullet-point form.
@@ -79,7 +79,8 @@ export const researchAgent = new Agent({
79
79
  // ...
80
80
  });
81
81
  ```
82
- ```typescript filename="src/mastra/agents/writing-agent.ts" showLineNumbers
82
+
83
+ ```typescript title="src/mastra/agents/writing-agent.ts" showLineNumbers
83
84
  export const writingAgent = new Agent({
84
85
  name: "writing-agent",
85
86
  description: `This agent turns researched material into well-structured
@@ -93,7 +94,7 @@ export const writingAgent = new Agent({
93
94
 
94
95
  Workflows in a network should include a `description` to explain their purpose, along with `inputSchema` and `outputSchema` to describe the expected data.
95
96
 
96
- ```typescript filename="src/mastra/workflows/city-workflow.ts" showLineNumbers
97
+ ```typescript title="src/mastra/workflows/city-workflow.ts" showLineNumbers
97
98
  export const cityWorkflow = createWorkflow({
98
99
  id: "city-workflow",
99
100
  description: `This workflow handles city-specific research tasks.
@@ -101,20 +102,20 @@ export const cityWorkflow = createWorkflow({
101
102
  that research into a full written report. Use it when the user input
102
103
  includes a city to be researched.`,
103
104
  inputSchema: z.object({
104
- city: z.string()
105
+ city: z.string(),
105
106
  }),
106
107
  outputSchema: z.object({
107
- text: z.string()
108
- })
108
+ text: z.string(),
109
+ }),
109
110
  //...
110
- })
111
+ });
111
112
  ```
112
113
 
113
114
  #### Tool descriptions
114
115
 
115
116
  Tools in a network should include a `description` to explain their purpose, along with `inputSchema` and `outputSchema` to describe the expected data.
116
117
 
117
- ```typescript filename="src/mastra/tools/weather-tool.ts" showLineNumbers
118
+ ```typescript title="src/mastra/tools/weather-tool.ts" showLineNumbers
118
119
  export const weatherTool = createTool({
119
120
  id: "weather-tool",
120
121
  description: ` Retrieves current weather information using the wttr.in API.
@@ -122,10 +123,10 @@ export const weatherTool = createTool({
122
123
  Use this tool whenever up-to-date weather data is requested.
123
124
  `,
124
125
  inputSchema: z.object({
125
- location: z.string()
126
+ location: z.string(),
126
127
  }),
127
128
  outputSchema: z.object({
128
- weather: z.string()
129
+ weather: z.string(),
129
130
  }),
130
131
  // ...
131
132
  });
@@ -140,7 +141,9 @@ Call a Mastra agent network using `.network()` with a user message. The method r
140
141
  In this example, the network interprets the message and would route the request to both the `researchAgent` and `writingAgent` to generate a complete response.
141
142
 
142
143
  ```typescript showLineNumbers copy
143
- const result = await routingAgent.network("Tell me three cool ways to use Mastra");
144
+ const result = await routingAgent.network(
145
+ "Tell me three cool ways to use Mastra",
146
+ );
144
147
 
145
148
  for await (const chunk of result) {
146
149
  console.log(chunk.type);
@@ -174,7 +177,9 @@ network-execution-event-step-finish
174
177
  In this example, the routing agent recognizes the city name in the message and runs the `cityWorkflow`. The workflow defines steps that call the `researchAgent` to gather facts, then the `writingAgent` to generate the final text.
175
178
 
176
179
  ```typescript showLineNumbers copy
177
- const result = await routingAgent.network("Tell me some historical facts about London");
180
+ const result = await routingAgent.network(
181
+ "Tell me some historical facts about London",
182
+ );
178
183
 
179
184
  for await (const chunk of result) {
180
185
  console.log(chunk.type);
@@ -229,7 +234,6 @@ network-execution-event-step-finish
229
234
 
230
235
  ## Related
231
236
 
232
- - [Agent Memory](./agent-memory.mdx)
233
- - [Workflows Overview](../workflows/overview.mdx)
234
- - [Runtime Context](../server-db/runtime-context.mdx)
235
-
237
+ - [Agent Memory](./agent-memory)
238
+ - [Workflows Overview](../workflows/overview)
239
+ - [Runtime Context](/docs/server-db/runtime-context)