@mastra/mcp-docs-server 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -13
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -5
  3. package/.docs/organized/changelogs/%40internal%2Fplayground.md +40 -0
  4. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  5. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -53
  6. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
  7. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +315 -315
  8. package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
  9. package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
  11. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
  12. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +658 -196
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
  14. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
  15. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +208 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
  17. package/.docs/organized/changelogs/%40mastra%2Fcore.md +3341 -271
  18. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
  23. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +247 -220
  24. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
  26. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
  27. package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
  28. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
  29. package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
  30. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +604 -208
  31. package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +247 -247
  33. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
  34. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +285 -285
  35. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
  36. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
  37. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
  38. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
  39. package/.docs/organized/changelogs/%40mastra%2Fpg.md +759 -213
  40. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
  41. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +636 -229
  42. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
  43. package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
  44. package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -230
  45. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
  46. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
  47. package/.docs/organized/changelogs/%40mastra%2Fserver.md +829 -218
  48. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
  49. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
  50. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
  62. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
  63. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
  64. package/.docs/organized/changelogs/create-mastra.md +227 -227
  65. package/.docs/organized/changelogs/mastra.md +277 -277
  66. package/.docs/organized/code-examples/a2a.md +2 -2
  67. package/.docs/organized/code-examples/agent-v6.md +221 -0
  68. package/.docs/organized/code-examples/agui.md +4 -4
  69. package/.docs/organized/code-examples/ai-elements.md +3 -3
  70. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  71. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
  72. package/.docs/organized/code-examples/assistant-ui.md +5 -5
  73. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  74. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  75. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
  76. package/.docs/organized/code-examples/client-side-tools.md +4 -4
  77. package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
  78. package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
  79. package/.docs/organized/code-examples/fireworks-r1.md +2 -2
  80. package/.docs/organized/code-examples/heads-up-game.md +7 -7
  81. package/.docs/organized/code-examples/inngest.md +1075 -0
  82. package/.docs/organized/code-examples/mcp-configuration.md +1 -1
  83. package/.docs/organized/code-examples/mcp-server-adapters.md +3 -4
  84. package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
  85. package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
  86. package/.docs/organized/code-examples/memory-with-context.md +1 -1
  87. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  88. package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
  89. package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
  90. package/.docs/organized/code-examples/quick-start.md +1 -5
  91. package/.docs/organized/code-examples/server-app-access.md +3 -3
  92. package/.docs/organized/code-examples/server-express-adapter.md +1 -1
  93. package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
  94. package/.docs/organized/code-examples/server-hono-adapter.md +3 -3
  95. package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
  96. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  97. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  98. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  99. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  100. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  101. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  102. package/.docs/raw/agents/adding-voice.mdx +24 -6
  103. package/.docs/raw/agents/agent-approval.mdx +209 -12
  104. package/.docs/raw/agents/agent-memory.mdx +36 -32
  105. package/.docs/raw/agents/guardrails.mdx +105 -56
  106. package/.docs/raw/agents/network-approval.mdx +281 -0
  107. package/.docs/raw/agents/networks.mdx +69 -13
  108. package/.docs/raw/agents/overview.mdx +43 -25
  109. package/.docs/raw/agents/processors.mdx +234 -17
  110. package/.docs/raw/agents/structured-output.mdx +78 -8
  111. package/.docs/raw/agents/using-tools.mdx +67 -6
  112. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  113. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  114. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  115. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  116. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  117. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  118. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  119. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  120. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
  121. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  122. package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
  123. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  124. package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
  125. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
  126. package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
  127. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
  128. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
  129. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
  130. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
  131. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  132. package/.docs/raw/deployment/cloud-providers.mdx +22 -0
  133. package/.docs/raw/deployment/mastra-server.mdx +140 -0
  134. package/.docs/raw/deployment/monorepo.mdx +106 -42
  135. package/.docs/raw/deployment/overview.mdx +35 -48
  136. package/.docs/raw/deployment/web-framework.mdx +17 -19
  137. package/.docs/raw/deployment/workflow-runners.mdx +16 -0
  138. package/.docs/raw/evals/built-in-scorers.mdx +2 -0
  139. package/.docs/raw/evals/custom-scorers.mdx +60 -12
  140. package/.docs/raw/evals/overview.mdx +6 -6
  141. package/.docs/raw/evals/running-in-ci.mdx +4 -2
  142. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  143. package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
  144. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  145. package/.docs/raw/getting-started/start.mdx +17 -1
  146. package/.docs/raw/getting-started/studio.mdx +10 -37
  147. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +151 -0
  148. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
  149. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  150. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
  151. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  152. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  153. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  154. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  155. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
  156. package/.docs/raw/guides/deployment/index.mdx +32 -0
  157. package/.docs/raw/guides/deployment/inngest.mdx +673 -0
  158. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  159. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  160. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  161. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  162. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  163. package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
  164. package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
  165. package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
  166. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  167. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  168. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  169. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  170. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  171. package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
  172. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  173. package/.docs/raw/guides/guide/web-search.mdx +38 -38
  174. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  175. package/.docs/raw/guides/index.mdx +0 -1
  176. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  177. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
  178. package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
  179. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
  180. package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
  181. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
  182. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
  183. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
  184. package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
  185. package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
  186. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
  187. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +3 -3
  188. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
  189. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
  190. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
  191. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  192. package/.docs/raw/index.mdx +2 -2
  193. package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
  194. package/.docs/raw/mastra-cloud/observability.mdx +43 -0
  195. package/.docs/raw/mastra-cloud/overview.mdx +31 -0
  196. package/.docs/raw/mastra-cloud/setup.mdx +64 -0
  197. package/.docs/raw/mastra-cloud/studio.mdx +35 -0
  198. package/.docs/raw/mcp/overview.mdx +60 -25
  199. package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
  200. package/.docs/raw/memory/memory-processors.mdx +17 -12
  201. package/.docs/raw/memory/message-history.mdx +72 -0
  202. package/.docs/raw/memory/overview.mdx +38 -76
  203. package/.docs/raw/memory/semantic-recall.mdx +65 -52
  204. package/.docs/raw/memory/storage.mdx +248 -0
  205. package/.docs/raw/memory/working-memory.mdx +24 -13
  206. package/.docs/raw/observability/logging.mdx +16 -15
  207. package/.docs/raw/observability/overview.mdx +27 -7
  208. package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
  209. package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
  210. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
  211. package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
  212. package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
  213. package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
  214. package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
  215. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
  216. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
  217. package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
  218. package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
  219. package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
  220. package/.docs/raw/observability/tracing/overview.mdx +388 -108
  221. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
  222. package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
  223. package/.docs/raw/rag/graph-rag.mdx +223 -0
  224. package/.docs/raw/rag/overview.mdx +6 -3
  225. package/.docs/raw/rag/retrieval.mdx +53 -57
  226. package/.docs/raw/rag/vector-databases.mdx +55 -31
  227. package/.docs/raw/reference/agents/agent.mdx +17 -14
  228. package/.docs/raw/reference/agents/generate.mdx +172 -44
  229. package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
  230. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
  231. package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
  232. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
  233. package/.docs/raw/reference/agents/getDescription.mdx +3 -1
  234. package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
  235. package/.docs/raw/reference/agents/getLLM.mdx +5 -3
  236. package/.docs/raw/reference/agents/getMemory.mdx +5 -3
  237. package/.docs/raw/reference/agents/getModel.mdx +5 -3
  238. package/.docs/raw/reference/agents/getTools.mdx +4 -2
  239. package/.docs/raw/reference/agents/getVoice.mdx +4 -2
  240. package/.docs/raw/reference/agents/listAgents.mdx +4 -2
  241. package/.docs/raw/reference/agents/listScorers.mdx +5 -3
  242. package/.docs/raw/reference/agents/listTools.mdx +4 -2
  243. package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
  244. package/.docs/raw/reference/agents/network.mdx +113 -1
  245. package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
  246. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
  247. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
  248. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
  249. package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
  250. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
  251. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
  252. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
  253. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
  254. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
  255. package/.docs/raw/reference/auth/auth0.mdx +5 -3
  256. package/.docs/raw/reference/auth/clerk.mdx +5 -3
  257. package/.docs/raw/reference/auth/firebase.mdx +6 -5
  258. package/.docs/raw/reference/auth/jwt.mdx +5 -3
  259. package/.docs/raw/reference/auth/supabase.mdx +5 -3
  260. package/.docs/raw/reference/auth/workos.mdx +5 -3
  261. package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
  262. package/.docs/raw/reference/cli/mastra.mdx +63 -15
  263. package/.docs/raw/reference/client-js/agents.mdx +311 -85
  264. package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
  265. package/.docs/raw/reference/client-js/logs.mdx +2 -0
  266. package/.docs/raw/reference/client-js/mastra-client.mdx +6 -4
  267. package/.docs/raw/reference/client-js/memory.mdx +47 -2
  268. package/.docs/raw/reference/client-js/observability.mdx +2 -0
  269. package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
  270. package/.docs/raw/reference/client-js/tools.mdx +2 -0
  271. package/.docs/raw/reference/client-js/vectors.mdx +2 -0
  272. package/.docs/raw/reference/client-js/workflows.mdx +47 -3
  273. package/.docs/raw/reference/configuration.mdx +761 -0
  274. package/.docs/raw/reference/core/addGateway.mdx +2 -0
  275. package/.docs/raw/reference/core/getAgent.mdx +3 -1
  276. package/.docs/raw/reference/core/getAgentById.mdx +3 -1
  277. package/.docs/raw/reference/core/getDeployer.mdx +3 -1
  278. package/.docs/raw/reference/core/getGateway.mdx +2 -0
  279. package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
  280. package/.docs/raw/reference/core/getLogger.mdx +3 -1
  281. package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
  282. package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
  283. package/.docs/raw/reference/core/getMemory.mdx +77 -0
  284. package/.docs/raw/reference/core/getScorer.mdx +2 -0
  285. package/.docs/raw/reference/core/getScorerById.mdx +2 -0
  286. package/.docs/raw/reference/core/getServer.mdx +6 -4
  287. package/.docs/raw/reference/core/getStorage.mdx +5 -3
  288. package/.docs/raw/reference/core/getStoredAgentById.mdx +185 -0
  289. package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
  290. package/.docs/raw/reference/core/getVector.mdx +3 -1
  291. package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
  292. package/.docs/raw/reference/core/listAgents.mdx +3 -1
  293. package/.docs/raw/reference/core/listGateways.mdx +2 -0
  294. package/.docs/raw/reference/core/listLogs.mdx +3 -1
  295. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
  296. package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
  297. package/.docs/raw/reference/core/listMemory.mdx +74 -0
  298. package/.docs/raw/reference/core/listScorers.mdx +2 -0
  299. package/.docs/raw/reference/core/listStoredAgents.mdx +153 -0
  300. package/.docs/raw/reference/core/listVectors.mdx +3 -1
  301. package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
  302. package/.docs/raw/reference/core/mastra-class.mdx +35 -20
  303. package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
  304. package/.docs/raw/reference/core/setLogger.mdx +3 -1
  305. package/.docs/raw/reference/core/setStorage.mdx +6 -4
  306. package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
  307. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  308. package/.docs/raw/reference/deployer/netlify.mdx +4 -1
  309. package/.docs/raw/reference/deployer/vercel.mdx +5 -4
  310. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
  311. package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
  312. package/.docs/raw/reference/evals/bias.mdx +4 -1
  313. package/.docs/raw/reference/evals/completeness.mdx +4 -1
  314. package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
  315. package/.docs/raw/reference/evals/context-precision.mdx +4 -1
  316. package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
  317. package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
  318. package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
  319. package/.docs/raw/reference/evals/hallucination.mdx +4 -1
  320. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
  321. package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
  322. package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
  323. package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
  324. package/.docs/raw/reference/evals/run-evals.mdx +3 -1
  325. package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
  326. package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
  327. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
  328. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
  329. package/.docs/raw/reference/evals/toxicity.mdx +4 -1
  330. package/.docs/raw/reference/index.mdx +2 -1
  331. package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
  332. package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
  333. package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
  334. package/.docs/raw/reference/memory/createThread.mdx +6 -4
  335. package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
  336. package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
  337. package/.docs/raw/reference/memory/listThreads.mdx +187 -0
  338. package/.docs/raw/reference/memory/memory-class.mdx +27 -20
  339. package/.docs/raw/reference/memory/recall.mdx +6 -4
  340. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
  341. package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
  342. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
  343. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
  344. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
  345. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
  346. package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
  347. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
  348. package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
  349. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
  350. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
  351. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
  352. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
  353. package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
  354. package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
  355. package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
  356. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
  357. package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
  358. package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
  359. package/.docs/raw/reference/processors/language-detector.mdx +6 -3
  360. package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
  361. package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
  362. package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
  363. package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
  364. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
  365. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
  366. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
  367. package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
  368. package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
  369. package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
  370. package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
  371. package/.docs/raw/reference/rag/chunk.mdx +7 -6
  372. package/.docs/raw/reference/rag/database-config.mdx +8 -6
  373. package/.docs/raw/reference/rag/document.mdx +2 -0
  374. package/.docs/raw/reference/rag/embeddings.mdx +2 -0
  375. package/.docs/raw/reference/rag/extract-params.mdx +57 -3
  376. package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
  377. package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
  378. package/.docs/raw/reference/rag/rerank.mdx +2 -0
  379. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
  380. package/.docs/raw/reference/server/create-route.mdx +34 -18
  381. package/.docs/raw/reference/server/express-adapter.mdx +78 -50
  382. package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
  383. package/.docs/raw/reference/server/hono-adapter.mdx +78 -48
  384. package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
  385. package/.docs/raw/reference/server/mastra-server.mdx +52 -34
  386. package/.docs/raw/reference/server/routes.mdx +73 -10
  387. package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
  388. package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
  389. package/.docs/raw/reference/storage/composite.mdx +245 -0
  390. package/.docs/raw/reference/storage/convex.mdx +8 -6
  391. package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
  392. package/.docs/raw/reference/storage/lance.mdx +9 -5
  393. package/.docs/raw/reference/storage/libsql.mdx +76 -54
  394. package/.docs/raw/reference/storage/mongodb.mdx +115 -16
  395. package/.docs/raw/reference/storage/mssql.mdx +11 -6
  396. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
  397. package/.docs/raw/reference/storage/postgresql.mdx +228 -83
  398. package/.docs/raw/reference/storage/upstash.mdx +78 -2
  399. package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
  400. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
  401. package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
  402. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
  403. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
  404. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
  405. package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
  406. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
  407. package/.docs/raw/reference/templates/overview.mdx +3 -2
  408. package/.docs/raw/reference/tools/client.mdx +3 -0
  409. package/.docs/raw/reference/tools/create-tool.mdx +127 -5
  410. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
  411. package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
  412. package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
  413. package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
  414. package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
  415. package/.docs/raw/reference/vectors/astra.mdx +5 -3
  416. package/.docs/raw/reference/vectors/chroma.mdx +5 -3
  417. package/.docs/raw/reference/vectors/convex.mdx +14 -12
  418. package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
  419. package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
  420. package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
  421. package/.docs/raw/reference/vectors/lance.mdx +6 -4
  422. package/.docs/raw/reference/vectors/libsql.mdx +66 -13
  423. package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
  424. package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
  425. package/.docs/raw/reference/vectors/pg.mdx +58 -6
  426. package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
  427. package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
  428. package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
  429. package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
  430. package/.docs/raw/reference/vectors/upstash.mdx +60 -6
  431. package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
  432. package/.docs/raw/reference/voice/azure.mdx +2 -0
  433. package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
  434. package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
  435. package/.docs/raw/reference/voice/deepgram.mdx +2 -0
  436. package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
  437. package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
  438. package/.docs/raw/reference/voice/google.mdx +2 -0
  439. package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
  440. package/.docs/raw/reference/voice/murf.mdx +2 -0
  441. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
  442. package/.docs/raw/reference/voice/openai.mdx +2 -0
  443. package/.docs/raw/reference/voice/playai.mdx +2 -0
  444. package/.docs/raw/reference/voice/sarvam.mdx +2 -0
  445. package/.docs/raw/reference/voice/speechify.mdx +2 -0
  446. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
  447. package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
  448. package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
  449. package/.docs/raw/reference/voice/voice.close.mdx +3 -0
  450. package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
  451. package/.docs/raw/reference/voice/voice.events.mdx +2 -0
  452. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
  453. package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
  454. package/.docs/raw/reference/voice/voice.off.mdx +2 -0
  455. package/.docs/raw/reference/voice/voice.on.mdx +5 -1
  456. package/.docs/raw/reference/voice/voice.send.mdx +4 -0
  457. package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
  458. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
  459. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
  460. package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
  461. package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
  462. package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
  463. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
  464. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
  465. package/.docs/raw/reference/workflows/run.mdx +11 -3
  466. package/.docs/raw/reference/workflows/step.mdx +56 -3
  467. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
  468. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
  469. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
  470. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
  471. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
  472. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
  473. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
  474. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
  475. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
  476. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
  477. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
  478. package/.docs/raw/reference/workflows/workflow.mdx +193 -2
  479. package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
  480. package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
  481. package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
  482. package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
  483. package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
  484. package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
  485. package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
  486. package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
  487. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
  488. package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
  489. package/.docs/raw/server/mastra-server.mdx +86 -0
  490. package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
  491. package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
  492. package/.docs/raw/server/server-adapters.mdx +410 -0
  493. package/.docs/raw/streaming/events.mdx +16 -7
  494. package/.docs/raw/streaming/overview.mdx +30 -17
  495. package/.docs/raw/streaming/tool-streaming.mdx +15 -17
  496. package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
  497. package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
  498. package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
  499. package/.docs/raw/tools-mcp/overview.mdx +14 -13
  500. package/.docs/raw/voice/overview.mdx +17 -2
  501. package/.docs/raw/voice/speech-to-speech.mdx +5 -0
  502. package/.docs/raw/voice/speech-to-text.mdx +4 -0
  503. package/.docs/raw/voice/text-to-speech.mdx +3 -0
  504. package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
  505. package/.docs/raw/workflows/control-flow.mdx +369 -34
  506. package/.docs/raw/workflows/error-handling.mdx +192 -18
  507. package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
  508. package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
  509. package/.docs/raw/workflows/overview.mdx +80 -34
  510. package/.docs/raw/workflows/snapshots.mdx +19 -45
  511. package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
  512. package/.docs/raw/workflows/time-travel.mdx +25 -21
  513. package/.docs/raw/workflows/workflow-state.mdx +7 -8
  514. package/CHANGELOG.md +254 -0
  515. package/README.md +36 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/logger.d.ts +3 -0
  518. package/dist/logger.d.ts.map +1 -1
  519. package/dist/stdio.js +746 -49
  520. package/dist/tools/course.d.ts.map +1 -1
  521. package/dist/tools/embedded-docs.d.ts +276 -0
  522. package/dist/tools/embedded-docs.d.ts.map +1 -0
  523. package/package.json +9 -8
  524. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  525. package/.docs/raw/deployment/building-mastra.mdx +0 -73
  526. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  527. package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
  528. package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
  529. package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
  530. package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
  531. package/.docs/raw/memory/conversation-history.mdx +0 -24
  532. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  533. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  534. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  535. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  536. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
  537. package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
  538. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
  539. package/.docs/raw/reference/memory/query.mdx +0 -189
  540. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
  541. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
  542. package/.docs/raw/server-db/mastra-server.mdx +0 -97
  543. package/.docs/raw/server-db/server-adapters.mdx +0 -286
  544. package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: "Reference: Processor Interface | Processors"
3
3
  description: "API reference for the Processor interface in Mastra, which defines the contract for transforming, validating, and controlling messages in agent pipelines."
4
+ packages:
5
+ - "@mastra/core"
4
6
  ---
5
7
 
6
8
  # Processor Interface
@@ -9,7 +11,7 @@ The `Processor` interface defines the contract for all processors in Mastra. Pro
9
11
 
10
12
  ## When processor methods run
11
13
 
12
- The four processor methods run at different points in the agent execution lifecycle:
14
+ The five processor methods run at different points in the agent execution lifecycle:
13
15
 
14
16
  ```
15
17
  ┌─────────────────────────────────────────────────────────────────┐
@@ -39,6 +41,11 @@ The four processor methods run at different points in the agent execution lifecy
39
41
  │ │ └──────────┬───────────┘ │ │
40
42
  │ │ │ │ │
41
43
  │ │ ▼ │ │
44
+ │ │ ┌──────────────────────┐ │ │
45
+ │ │ │ processOutputStep │ ← Runs after EACH LLM step │ │
46
+ │ │ └──────────┬───────────┘ │ │
47
+ │ │ │ │ │
48
+ │ │ ▼ │ │
42
49
  │ │ Tool Execution (if needed) │ │
43
50
  │ │ │ │ │
44
51
  │ │ └──────── Loop back if tools called ────────│ │
@@ -60,19 +67,21 @@ The four processor methods run at different points in the agent execution lifecy
60
67
  | `processInput` | Once at the start, before the agentic loop | Validate/transform initial user input, add context |
61
68
  | `processInputStep` | At each step of the agentic loop, before each LLM call | Transform messages between steps, handle tool results |
62
69
  | `processOutputStream` | On each streaming chunk during LLM response | Filter/modify streaming content, detect patterns in real-time |
70
+ | `processOutputStep` | After each LLM response, before tool execution | Validate output quality, implement guardrails with retry |
63
71
  | `processOutputResult` | Once after generation completes | Post-process final response, log results |
64
72
 
65
73
  ## Interface definition
66
74
 
67
- ```typescript copy
75
+ ```typescript
68
76
  interface Processor<TId extends string = string> {
69
77
  readonly id: TId;
70
78
  readonly name?: string;
71
79
 
72
80
  processInput?(args: ProcessInputArgs): Promise<ProcessInputResult> | ProcessInputResult;
81
+ processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
73
82
  processOutputStream?(args: ProcessOutputStreamArgs): Promise<ChunkType | null | undefined>;
83
+ processOutputStep?(args: ProcessOutputStepArgs): ProcessorMessageResult;
74
84
  processOutputResult?(args: ProcessOutputResultArgs): ProcessorMessageResult;
75
- processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
76
85
  }
77
86
  ```
78
87
 
@@ -101,7 +110,7 @@ interface Processor<TId extends string = string> {
101
110
 
102
111
  Processes input messages before they are sent to the LLM. Runs once at the start of agent execution.
103
112
 
104
- ```typescript copy
113
+ ```typescript
105
114
  processInput?(args: ProcessInputArgs): Promise<ProcessInputResult> | ProcessInputResult;
106
115
  ```
107
116
 
@@ -129,10 +138,16 @@ processInput?(args: ProcessInputArgs): Promise<ProcessInputResult> | ProcessInpu
129
138
  },
130
139
  {
131
140
  name: "abort",
132
- type: "(reason?: string) => never",
133
- description: "Function to abort processing. Throws a TripWire error that stops execution.",
141
+ type: "(reason?: string, options?: { retry?: boolean; metadata?: unknown }) => never",
142
+ description: "Function to abort processing. Throws a TripWire error that stops execution. Pass `retry: true` to request the LLM retry the step with feedback.",
134
143
  isOptional: false,
135
144
  },
145
+ {
146
+ name: "retryCount",
147
+ type: "number",
148
+ description: "Number of times processors have triggered retry for this generation. Use this to limit retry attempts.",
149
+ isOptional: true,
150
+ },
136
151
  {
137
152
  name: "tracingContext",
138
153
  type: "TracingContext",
@@ -178,15 +193,15 @@ The method can return one of three types:
178
193
 
179
194
  Processes input messages at each step of the agentic loop, before they are sent to the LLM. Unlike `processInput` which runs once at the start, this runs at every step including tool call continuations.
180
195
 
181
- ```typescript copy
196
+ ```typescript
182
197
  processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
183
198
  ```
184
199
 
185
200
  #### Execution order in the agentic loop
186
201
 
187
202
  1. `processInput` (once at start)
188
- 2. `processInputStep` (at each step, before LLM call)
189
- 3. `prepareStep` callback (if provided)
203
+ 2. `processInputStep` from inputProcessors (at each step, before LLM call)
204
+ 3. `prepareStep` callback (runs as part of the processInputStep pipeline, after inputProcessors)
190
205
  4. LLM execution
191
206
  5. Tool execution (if needed)
192
207
  6. Repeat from step 2 if tools were called
@@ -198,13 +213,13 @@ processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
198
213
  {
199
214
  name: "messages",
200
215
  type: "MastraDBMessage[]",
201
- description: "All messages including tool calls and results from previous steps.",
216
+ description: "All messages including tool calls and results from previous steps (read-only snapshot).",
202
217
  isOptional: false,
203
218
  },
204
219
  {
205
220
  name: "messageList",
206
221
  type: "MessageList",
207
- description: "MessageList instance for managing messages.",
222
+ description: "MessageList instance for managing messages. Can mutate directly or return in result.",
208
223
  isOptional: false,
209
224
  },
210
225
  {
@@ -213,12 +228,60 @@ processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
213
228
  description: "Current step number (0-indexed). Step 0 is the initial LLM call.",
214
229
  isOptional: false,
215
230
  },
231
+ {
232
+ name: "steps",
233
+ type: "StepResult[]",
234
+ description: "Results from previous steps, including text, toolCalls, and toolResults.",
235
+ isOptional: false,
236
+ },
216
237
  {
217
238
  name: "systemMessages",
218
239
  type: "CoreMessage[]",
219
- description: "All system messages for read/modify access.",
240
+ description: "All system messages (read-only snapshot). Return in result to replace.",
220
241
  isOptional: false,
221
242
  },
243
+ {
244
+ name: "model",
245
+ type: "MastraLanguageModelV2",
246
+ description: "Current model being used. Return a different model in result to switch.",
247
+ isOptional: false,
248
+ },
249
+ {
250
+ name: "toolChoice",
251
+ type: "ToolChoice",
252
+ description: "Current tool choice setting ('auto', 'none', 'required', or specific tool).",
253
+ isOptional: true,
254
+ },
255
+ {
256
+ name: "activeTools",
257
+ type: "string[]",
258
+ description: "Currently active tool names. Return filtered array to limit tools.",
259
+ isOptional: true,
260
+ },
261
+ {
262
+ name: "tools",
263
+ type: "ToolSet",
264
+ description: "Current tools available for this step. Return in result to add/replace tools.",
265
+ isOptional: true,
266
+ },
267
+ {
268
+ name: "providerOptions",
269
+ type: "SharedV2ProviderOptions",
270
+ description: "Provider-specific options (e.g., Anthropic cacheControl, OpenAI reasoningEffort).",
271
+ isOptional: true,
272
+ },
273
+ {
274
+ name: "modelSettings",
275
+ type: "CallSettings",
276
+ description: "Model settings like temperature, maxTokens, topP.",
277
+ isOptional: true,
278
+ },
279
+ {
280
+ name: "structuredOutput",
281
+ type: "StructuredOutputOptions",
282
+ description: "Structured output configuration (schema, output mode). Return in result to modify.",
283
+ isOptional: true,
284
+ },
222
285
  {
223
286
  name: "abort",
224
287
  type: "(reason?: string) => never",
@@ -240,12 +303,99 @@ processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
240
303
  ]}
241
304
  />
242
305
 
306
+ #### ProcessInputStepResult
307
+
308
+ The method can return any combination of these properties:
309
+
310
+ <PropertiesTable
311
+ content={[
312
+ {
313
+ name: "model",
314
+ type: "LanguageModelV2 | string",
315
+ description: "Change the model for this step. Can be a model instance or router ID like 'openai/gpt-4o'.",
316
+ isOptional: true,
317
+ },
318
+ {
319
+ name: "toolChoice",
320
+ type: "ToolChoice",
321
+ description: "Change tool selection behavior for this step.",
322
+ isOptional: true,
323
+ },
324
+ {
325
+ name: "activeTools",
326
+ type: "string[]",
327
+ description: "Filter which tools are available for this step.",
328
+ isOptional: true,
329
+ },
330
+ {
331
+ name: "tools",
332
+ type: "ToolSet",
333
+ description: "Replace or modify tools for this step. Use spread to merge: { tools: { ...tools, newTool } }.",
334
+ isOptional: true,
335
+ },
336
+ {
337
+ name: "messages",
338
+ type: "MastraDBMessage[]",
339
+ description: "Replace all messages. Cannot be used with messageList.",
340
+ isOptional: true,
341
+ },
342
+ {
343
+ name: "messageList",
344
+ type: "MessageList",
345
+ description: "Return the same messageList instance (indicates you mutated it). Cannot be used with messages.",
346
+ isOptional: true,
347
+ },
348
+ {
349
+ name: "systemMessages",
350
+ type: "CoreMessage[]",
351
+ description: "Replace all system messages for this step only.",
352
+ isOptional: true,
353
+ },
354
+ {
355
+ name: "providerOptions",
356
+ type: "SharedV2ProviderOptions",
357
+ description: "Change provider-specific options for this step.",
358
+ isOptional: true,
359
+ },
360
+ {
361
+ name: "modelSettings",
362
+ type: "CallSettings",
363
+ description: "Change model settings for this step.",
364
+ isOptional: true,
365
+ },
366
+ {
367
+ name: "structuredOutput",
368
+ type: "StructuredOutputOptions",
369
+ description: "Change structured output configuration for this step.",
370
+ isOptional: true,
371
+ },
372
+ ]}
373
+ />
374
+
375
+ #### Processor chaining
376
+
377
+ When multiple processors implement `processInputStep`, they run in order and changes chain through:
378
+
379
+ ```
380
+ Processor 1: receives { model: 'gpt-4o' } → returns { model: 'gpt-4o-mini' }
381
+ Processor 2: receives { model: 'gpt-4o-mini' } → returns { toolChoice: 'none' }
382
+ Final: model = 'gpt-4o-mini', toolChoice = 'none'
383
+ ```
384
+
385
+ #### System message isolation
386
+
387
+ System messages are **reset to their original values** at the start of each step. Modifications made in `processInputStep` only affect the current step, not subsequent steps.
388
+
243
389
  #### Use cases
244
390
 
391
+ - Dynamic model switching based on step number or context
392
+ - Disabling tools after a certain number of steps
393
+ - Dynamically adding or replacing tools based on conversation context
245
394
  - Transforming message part types between providers (e.g., `reasoning` → `thinking` for Anthropic)
246
395
  - Modifying messages based on step number or accumulated context
247
- - Implementing per-step message filtering or enrichment
248
- - Adding step-specific context or instructions
396
+ - Adding step-specific system instructions
397
+ - Adjusting provider options per step (e.g., cache control)
398
+ - Modifying structured output schema based on step context
249
399
 
250
400
  ---
251
401
 
@@ -253,7 +403,7 @@ processInputStep?(args: ProcessInputStepArgs): ProcessorMessageResult;
253
403
 
254
404
  Processes streaming output chunks with built-in state management. Allows processors to accumulate chunks and make decisions based on larger context.
255
405
 
256
- ```typescript copy
406
+ ```typescript
257
407
  processOutputStream?(args: ProcessOutputStreamArgs): Promise<ChunkType | null | undefined>;
258
408
  ```
259
409
 
@@ -317,7 +467,7 @@ processOutputStream?(args: ProcessOutputStreamArgs): Promise<ChunkType | null |
317
467
 
318
468
  Processes the complete output result after streaming or generation is finished.
319
469
 
320
- ```typescript copy
470
+ ```typescript
321
471
  processOutputResult?(args: ProcessOutputResultArgs): ProcessorMessageResult;
322
472
  ```
323
473
 
@@ -358,20 +508,140 @@ processOutputResult?(args: ProcessOutputResultArgs): ProcessorMessageResult;
358
508
  ]}
359
509
  />
360
510
 
511
+ ---
512
+
513
+ ### processOutputStep
514
+
515
+ Processes output after each LLM response in the agentic loop, before tool execution. Unlike `processOutputResult` which runs once at the end, this runs at every step. This is the ideal method for implementing guardrails that can trigger retries.
516
+
517
+ ```typescript
518
+ processOutputStep?(args: ProcessOutputStepArgs): ProcessorMessageResult;
519
+ ```
520
+
521
+ #### ProcessOutputStepArgs
522
+
523
+ <PropertiesTable
524
+ content={[
525
+ {
526
+ name: "messages",
527
+ type: "MastraDBMessage[]",
528
+ description: "All messages including the latest LLM response.",
529
+ isOptional: false,
530
+ },
531
+ {
532
+ name: "messageList",
533
+ type: "MessageList",
534
+ description: "MessageList instance for managing messages.",
535
+ isOptional: false,
536
+ },
537
+ {
538
+ name: "stepNumber",
539
+ type: "number",
540
+ description: "Current step number (0-indexed).",
541
+ isOptional: false,
542
+ },
543
+ {
544
+ name: "finishReason",
545
+ type: "string",
546
+ description: "The finish reason from the LLM (stop, tool-use, length, etc.).",
547
+ isOptional: true,
548
+ },
549
+ {
550
+ name: "toolCalls",
551
+ type: "ToolCallInfo[]",
552
+ description: "Tool calls made in this step (if any).",
553
+ isOptional: true,
554
+ },
555
+ {
556
+ name: "text",
557
+ type: "string",
558
+ description: "Generated text from this step.",
559
+ isOptional: true,
560
+ },
561
+ {
562
+ name: "systemMessages",
563
+ type: "CoreMessage[]",
564
+ description: "All system messages for read/modify access.",
565
+ isOptional: true,
566
+ },
567
+ {
568
+ name: "abort",
569
+ type: "(reason?: string, options?: { retry?: boolean; metadata?: unknown }) => never",
570
+ description: "Function to abort processing. Pass `retry: true` to request the LLM retry the step.",
571
+ isOptional: false,
572
+ },
573
+ {
574
+ name: "retryCount",
575
+ type: "number",
576
+ description: "Number of times processors have triggered retry. Use this to limit retry attempts.",
577
+ isOptional: true,
578
+ },
579
+ {
580
+ name: "tracingContext",
581
+ type: "TracingContext",
582
+ description: "Tracing context for observability.",
583
+ isOptional: true,
584
+ },
585
+ {
586
+ name: "requestContext",
587
+ type: "RequestContext",
588
+ description: "Request-scoped context with execution metadata.",
589
+ isOptional: true,
590
+ },
591
+ ]}
592
+ />
593
+
594
+ #### Use cases
595
+
596
+ - Implementing quality guardrails that can request retries
597
+ - Validating LLM output before tool execution
598
+ - Adding per-step logging or metrics
599
+ - Implementing output moderation with retry capability
600
+
601
+ #### Example: Quality guardrail with retry
602
+
603
+ ```typescript title="src/mastra/processors/quality-guardrail.ts"
604
+ import type { Processor } from "@mastra/core";
605
+
606
+ export class QualityGuardrail implements Processor {
607
+ id = "quality-guardrail";
608
+
609
+ async processOutputStep({ text, abort, retryCount }) {
610
+ const score = await evaluateResponseQuality(text);
611
+
612
+ if (score < 0.7) {
613
+ if (retryCount < 3) {
614
+ // Request retry with feedback for the LLM
615
+ abort("Response quality too low. Please provide more detail.", {
616
+ retry: true,
617
+ metadata: { qualityScore: score },
618
+ });
619
+ } else {
620
+ // Max retries reached, block the response
621
+ abort("Response quality too low after multiple attempts.");
622
+ }
623
+ }
624
+
625
+ return [];
626
+ }
627
+ }
628
+ ```
629
+
361
630
  ## Processor types
362
631
 
363
632
  Mastra provides type aliases to ensure processors implement the required methods:
364
633
 
365
- ```typescript copy
634
+ ```typescript
366
635
  // Must implement processInput OR processInputStep (or both)
367
636
  type InputProcessor = Processor & (
368
637
  | { processInput: required }
369
638
  | { processInputStep: required }
370
639
  );
371
640
 
372
- // Must implement processOutputStream OR processOutputResult (or both)
641
+ // Must implement processOutputStream, processOutputStep, OR processOutputResult (or any combination)
373
642
  type OutputProcessor = Processor & (
374
643
  | { processOutputStream: required }
644
+ | { processOutputStep: required }
375
645
  | { processOutputResult: required }
376
646
  );
377
647
  ```
@@ -380,7 +650,7 @@ type OutputProcessor = Processor & (
380
650
 
381
651
  ### Basic input processor
382
652
 
383
- ```typescript title="src/mastra/processors/lowercase.ts" showLineNumbers copy
653
+ ```typescript title="src/mastra/processors/lowercase.ts"
384
654
  import type { Processor, MastraDBMessage } from "@mastra/core";
385
655
 
386
656
  export class LowercaseProcessor implements Processor {
@@ -404,13 +674,46 @@ export class LowercaseProcessor implements Processor {
404
674
 
405
675
  ### Per-step processor with processInputStep
406
676
 
407
- ```typescript title="src/mastra/processors/reasoning-transformer.ts" showLineNumbers copy
677
+ ```typescript title="src/mastra/processors/dynamic-model.ts"
678
+ import type { Processor, ProcessInputStepArgs, ProcessInputStepResult } from "@mastra/core";
679
+
680
+ export class DynamicModelProcessor implements Processor {
681
+ id = "dynamic-model";
682
+
683
+ async processInputStep({
684
+ stepNumber,
685
+ steps,
686
+ toolChoice,
687
+ }: ProcessInputStepArgs): Promise<ProcessInputStepResult> {
688
+ // Use a fast model for initial response
689
+ if (stepNumber === 0) {
690
+ return { model: "openai/gpt-4o-mini" };
691
+ }
692
+
693
+ // Switch to powerful model after tool calls
694
+ if (steps.length > 0 && steps[steps.length - 1].toolCalls?.length) {
695
+ return { model: "openai/gpt-4o" };
696
+ }
697
+
698
+ // Disable tools after 5 steps to force completion
699
+ if (stepNumber > 5) {
700
+ return { toolChoice: "none" };
701
+ }
702
+
703
+ return {};
704
+ }
705
+ }
706
+ ```
707
+
708
+ ### Message transformer with processInputStep
709
+
710
+ ```typescript title="src/mastra/processors/reasoning-transformer.ts"
408
711
  import type { Processor, MastraDBMessage } from "@mastra/core";
409
712
 
410
713
  export class ReasoningTransformer implements Processor {
411
714
  id = "reasoning-transformer";
412
715
 
413
- async processInputStep({ messages, messageList, stepNumber }) {
716
+ async processInputStep({ messages, messageList }) {
414
717
  // Transform reasoning parts to thinking parts at each step
415
718
  // This is useful when switching between model providers
416
719
  for (const msg of messages) {
@@ -429,7 +732,7 @@ export class ReasoningTransformer implements Processor {
429
732
 
430
733
  ### Hybrid processor (input and output)
431
734
 
432
- ```typescript title="src/mastra/processors/content-filter.ts" showLineNumbers copy
735
+ ```typescript title="src/mastra/processors/content-filter.ts"
433
736
  import type { Processor, MastraDBMessage, ChunkType } from "@mastra/core";
434
737
 
435
738
  export class ContentFilter implements Processor {
@@ -467,7 +770,7 @@ export class ContentFilter implements Processor {
467
770
 
468
771
  ### Stream accumulator with state
469
772
 
470
- ```typescript title="src/mastra/processors/word-counter.ts" showLineNumbers copy
773
+ ```typescript title="src/mastra/processors/word-counter.ts"
471
774
  import type { Processor, ChunkType } from "@mastra/core";
472
775
 
473
776
  export class WordCounter implements Processor {
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: "Reference: Prompt Injection Detector | Processors"
3
3
  description: "Documentation for the PromptInjectionDetector in Mastra, which detects prompt injection attempts in user input."
4
+ packages:
5
+ - "@mastra/core"
4
6
  ---
5
7
 
6
8
  # PromptInjectionDetector
@@ -9,7 +11,7 @@ The `PromptInjectionDetector` is an **input processor** that detects and prevent
9
11
 
10
12
  ## Usage example
11
13
 
12
- ```typescript copy
14
+ ```typescript
13
15
  import { PromptInjectionDetector } from "@mastra/core/processors";
14
16
 
15
17
  const processor = new PromptInjectionDetector({
@@ -106,7 +108,7 @@ const processor = new PromptInjectionDetector({
106
108
  },
107
109
  {
108
110
  name: "processInput",
109
- type: "(args: { messages: MastraMessageV2[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraMessageV2[]>",
111
+ type: "(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraDBMessage[]>",
110
112
  description: "Processes input messages to detect prompt injection attempts before sending to LLM",
111
113
  isOptional: false,
112
114
  },
@@ -115,7 +117,7 @@ const processor = new PromptInjectionDetector({
115
117
 
116
118
  ## Extended usage example
117
119
 
118
- ```typescript title="src/mastra/agents/secure-agent.ts" showLineNumbers copy
120
+ ```typescript title="src/mastra/agents/secure-agent.ts"
119
121
  import { Agent } from "@mastra/core/agent";
120
122
  import { PromptInjectionDetector } from "@mastra/core/processors";
121
123
 
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Reference: Semantic Recall Processor | Processors"
3
3
  description: "Documentation for the SemanticRecall processor in Mastra, which enables semantic search over conversation history using vector embeddings."
4
+ packages:
5
+ - "@mastra/core"
6
+ - "@mastra/pg"
4
7
  ---
5
8
 
6
9
  # SemanticRecall
@@ -9,7 +12,7 @@ The `SemanticRecall` is a **hybrid processor** that enables semantic search over
9
12
 
10
13
  ## Usage example
11
14
 
12
- ```typescript copy
15
+ ```typescript
13
16
  import { SemanticRecall } from "@mastra/core/processors";
14
17
  import { openai } from "@ai-sdk/openai";
15
18
 
@@ -133,7 +136,7 @@ const processor = new SemanticRecall({
133
136
 
134
137
  ## Extended usage example
135
138
 
136
- ```typescript title="src/mastra/agents/semantic-memory-agent.ts" showLineNumbers copy
139
+ ```typescript title="src/mastra/agents/semantic-memory-agent.ts"
137
140
  import { Agent } from "@mastra/core/agent";
138
141
  import { SemanticRecall, MessageHistory } from "@mastra/core/processors";
139
142
  import { PostgresStorage } from "@mastra/pg";
@@ -141,10 +144,12 @@ import { PgVector } from "@mastra/pg";
141
144
  import { openai } from "@ai-sdk/openai";
142
145
 
143
146
  const storage = new PostgresStorage({
147
+ id: 'pg-storage',
144
148
  connectionString: process.env.DATABASE_URL,
145
149
  });
146
150
 
147
151
  const vector = new PgVector({
152
+ id: 'pg-vector',
148
153
  connectionString: process.env.DATABASE_URL,
149
154
  });
150
155
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: "Reference: System Prompt Scrubber | Processors"
3
3
  description: "Documentation for the SystemPromptScrubber in Mastra, which detects and redacts system prompts from AI responses."
4
+ packages:
5
+ - "@mastra/core"
4
6
  ---
5
7
 
6
8
  # SystemPromptScrubber
@@ -9,7 +11,7 @@ The `SystemPromptScrubber` is an **output processor** that detects and handles s
9
11
 
10
12
  ## Usage example
11
13
 
12
- ```typescript copy
14
+ ```typescript
13
15
  import { SystemPromptScrubber } from "@mastra/core/processors";
14
16
 
15
17
  const processor = new SystemPromptScrubber({
@@ -112,7 +114,7 @@ const processor = new SystemPromptScrubber({
112
114
  },
113
115
  {
114
116
  name: "processOutputResult",
115
- type: "(args: { messages: MastraMessageV2[]; abort: (reason?: string) => never }) => Promise<MastraMessageV2[]>",
117
+ type: "(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never }) => Promise<MastraDBMessage[]>",
116
118
  description: "Processes final output results to detect and handle system prompts in non-streaming scenarios",
117
119
  isOptional: false,
118
120
  },
@@ -123,7 +125,7 @@ const processor = new SystemPromptScrubber({
123
125
 
124
126
  When using `SystemPromptScrubber` as an output processor, it's recommended to combine it with `BatchPartsProcessor` to optimize performance. The `BatchPartsProcessor` batches stream chunks together before passing them to the scrubber, reducing the number of LLM calls required for detection.
125
127
 
126
- ```typescript title="src/mastra/agents/scrubbed-agent.ts" showLineNumbers copy
128
+ ```typescript title="src/mastra/agents/scrubbed-agent.ts"
127
129
  import { Agent } from "@mastra/core/agent";
128
130
  import { BatchPartsProcessor, SystemPromptScrubber } from "@mastra/core/processors";
129
131