@mastra/mcp-docs-server 1.0.0-beta.0 → 1.0.0-beta.10

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 (496) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
  5. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
  6. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
  7. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  11. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  12. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fcore.md +396 -196
  17. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
  18. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
  23. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
  24. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
  25. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
  26. package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
  27. package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
  28. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
  29. package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
  30. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
  31. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
  33. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
  34. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
  35. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
  36. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
  37. package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
  38. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
  39. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +251 -51
  40. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fserver.md +251 -51
  46. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
  47. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
  48. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
  62. package/.docs/organized/changelogs/create-mastra.md +201 -1
  63. package/.docs/organized/changelogs/mastra.md +201 -1
  64. package/.docs/organized/code-examples/agui.md +1 -0
  65. package/.docs/organized/code-examples/ai-elements.md +2 -2
  66. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  67. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
  68. package/.docs/organized/code-examples/assistant-ui.md +2 -2
  69. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  70. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  71. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
  72. package/.docs/organized/code-examples/client-side-tools.md +1 -1
  73. package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
  74. package/.docs/organized/code-examples/fireworks-r1.md +1 -1
  75. package/.docs/organized/code-examples/heads-up-game.md +1 -1
  76. package/.docs/organized/code-examples/mcp-configuration.md +0 -3
  77. package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
  78. package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
  79. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  80. package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
  81. package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
  82. package/.docs/organized/code-examples/quick-start.md +2 -2
  83. package/.docs/organized/code-examples/server-app-access.md +342 -0
  84. package/.docs/organized/code-examples/server-express-adapter.md +87 -0
  85. package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
  86. package/.docs/organized/code-examples/stock-price-tool.md +1 -21
  87. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  88. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  89. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  90. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  91. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  92. package/.docs/raw/agents/adding-voice.mdx +56 -10
  93. package/.docs/raw/agents/agent-approval.mdx +189 -0
  94. package/.docs/raw/agents/agent-memory.mdx +2 -2
  95. package/.docs/raw/agents/guardrails.mdx +27 -24
  96. package/.docs/raw/agents/networks.mdx +3 -3
  97. package/.docs/raw/agents/overview.mdx +19 -168
  98. package/.docs/raw/agents/processors.mdx +279 -0
  99. package/.docs/raw/agents/structured-output.mdx +224 -0
  100. package/.docs/raw/agents/using-tools.mdx +14 -14
  101. package/.docs/raw/auth/auth0.mdx +2 -2
  102. package/.docs/raw/auth/clerk.mdx +2 -2
  103. package/.docs/raw/auth/firebase.mdx +2 -2
  104. package/.docs/raw/auth/index.mdx +1 -1
  105. package/.docs/raw/auth/jwt.mdx +2 -2
  106. package/.docs/raw/auth/supabase.mdx +2 -2
  107. package/.docs/raw/auth/workos.mdx +2 -2
  108. package/.docs/raw/community/contributing-templates.mdx +1 -1
  109. package/.docs/raw/community/discord.mdx +2 -2
  110. package/.docs/raw/community/licensing.mdx +1 -1
  111. package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
  112. package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
  113. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  114. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  115. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  116. package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
  117. package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
  118. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  119. package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
  120. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +3 -3
  121. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +4 -4
  122. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +4 -4
  123. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +2 -2
  124. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +3 -3
  125. package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
  126. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +46 -15
  127. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +2 -2
  128. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
  129. package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
  130. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
  131. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
  132. package/.docs/raw/deployment/monorepo.mdx +3 -3
  133. package/.docs/raw/deployment/overview.mdx +7 -7
  134. package/.docs/raw/deployment/web-framework.mdx +6 -6
  135. package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
  136. package/.docs/raw/evals/custom-scorers.mdx +4 -6
  137. package/.docs/raw/evals/overview.mdx +6 -7
  138. package/.docs/raw/evals/running-in-ci.mdx +2 -4
  139. package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +15 -89
  140. package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
  141. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  142. package/.docs/raw/getting-started/start.mdx +72 -0
  143. package/.docs/raw/getting-started/studio.mdx +8 -6
  144. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
  145. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
  146. package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +72 -20
  147. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
  148. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +28 -30
  149. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
  150. package/.docs/raw/guides/getting-started/next-js.mdx +276 -0
  151. package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
  152. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +28 -30
  153. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +12 -12
  154. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  155. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  156. package/.docs/raw/guides/guide/notes-mcp-server.mdx +3 -3
  157. package/.docs/raw/guides/guide/research-assistant.mdx +8 -18
  158. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  159. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  160. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  161. package/.docs/raw/guides/index.mdx +3 -35
  162. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  163. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
  164. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +56 -6
  165. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
  166. package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
  167. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +29 -5
  168. package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +3 -3
  169. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
  170. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +59 -37
  171. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
  172. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +70 -5
  173. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +13 -13
  174. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
  175. package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +1 -1
  176. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +175 -2
  177. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  178. package/.docs/raw/index.mdx +4 -4
  179. package/.docs/raw/mcp/overview.mdx +358 -0
  180. package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
  181. package/.docs/raw/memory/conversation-history.mdx +1 -1
  182. package/.docs/raw/memory/memory-processors.mdx +265 -80
  183. package/.docs/raw/memory/overview.mdx +3 -3
  184. package/.docs/raw/memory/semantic-recall.mdx +10 -10
  185. package/.docs/raw/memory/storage/memory-with-libsql.mdx +5 -10
  186. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
  187. package/.docs/raw/memory/storage/memory-with-pg.mdx +5 -10
  188. package/.docs/raw/memory/storage/memory-with-upstash.mdx +5 -10
  189. package/.docs/raw/memory/threads-and-resources.mdx +4 -4
  190. package/.docs/raw/memory/working-memory.mdx +16 -8
  191. package/.docs/raw/{logging.mdx → observability/logging.mdx} +8 -8
  192. package/.docs/raw/observability/overview.mdx +5 -6
  193. package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
  194. package/.docs/raw/observability/tracing/exporters/arize.mdx +39 -3
  195. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +22 -3
  196. package/.docs/raw/observability/tracing/exporters/cloud.mdx +4 -4
  197. package/.docs/raw/observability/tracing/exporters/default.mdx +6 -6
  198. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +86 -3
  199. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +15 -3
  200. package/.docs/raw/observability/tracing/exporters/otel.mdx +128 -30
  201. package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
  202. package/.docs/raw/observability/tracing/overview.mdx +100 -29
  203. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +2 -3
  204. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  205. package/.docs/raw/rag/overview.mdx +5 -4
  206. package/.docs/raw/rag/retrieval.mdx +44 -39
  207. package/.docs/raw/rag/vector-databases.mdx +94 -3
  208. package/.docs/raw/reference/agents/agent.mdx +10 -14
  209. package/.docs/raw/reference/agents/generate.mdx +67 -99
  210. package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
  211. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
  212. package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
  213. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
  214. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  215. package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
  216. package/.docs/raw/reference/agents/getLLM.mdx +2 -2
  217. package/.docs/raw/reference/agents/getMemory.mdx +1 -1
  218. package/.docs/raw/reference/agents/getModel.mdx +1 -1
  219. package/.docs/raw/reference/agents/getTools.mdx +69 -0
  220. package/.docs/raw/reference/agents/getVoice.mdx +1 -1
  221. package/.docs/raw/reference/agents/listAgents.mdx +1 -1
  222. package/.docs/raw/reference/agents/listScorers.mdx +1 -1
  223. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  224. package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
  225. package/.docs/raw/reference/agents/network.mdx +33 -72
  226. package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
  227. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
  228. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
  229. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
  230. package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
  231. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
  232. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
  233. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
  234. package/.docs/raw/reference/auth/auth0.mdx +1 -1
  235. package/.docs/raw/reference/auth/clerk.mdx +1 -1
  236. package/.docs/raw/reference/auth/firebase.mdx +1 -1
  237. package/.docs/raw/reference/auth/jwt.mdx +1 -1
  238. package/.docs/raw/reference/auth/supabase.mdx +1 -1
  239. package/.docs/raw/reference/auth/workos.mdx +1 -1
  240. package/.docs/raw/reference/cli/create-mastra.mdx +11 -11
  241. package/.docs/raw/reference/cli/mastra.mdx +25 -12
  242. package/.docs/raw/reference/client-js/agents.mdx +252 -68
  243. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  244. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  245. package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
  246. package/.docs/raw/reference/client-js/memory.mdx +48 -2
  247. package/.docs/raw/reference/client-js/observability.mdx +1 -1
  248. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  249. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  250. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  251. package/.docs/raw/reference/client-js/workflows.mdx +93 -64
  252. package/.docs/raw/reference/core/addGateway.mdx +59 -0
  253. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  254. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  255. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  256. package/.docs/raw/reference/core/getGateway.mdx +59 -0
  257. package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
  258. package/.docs/raw/reference/core/getLogger.mdx +3 -3
  259. package/.docs/raw/reference/core/getMCPServer.mdx +4 -4
  260. package/.docs/raw/reference/core/getMCPServerById.mdx +5 -5
  261. package/.docs/raw/reference/core/getMemory.mdx +73 -0
  262. package/.docs/raw/reference/core/getScorer.mdx +1 -1
  263. package/.docs/raw/reference/core/getScorerById.mdx +1 -1
  264. package/.docs/raw/reference/core/getServer.mdx +2 -2
  265. package/.docs/raw/reference/core/getStorage.mdx +1 -1
  266. package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
  267. package/.docs/raw/reference/core/getTelemetry.mdx +3 -3
  268. package/.docs/raw/reference/core/getVector.mdx +1 -1
  269. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  270. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  271. package/.docs/raw/reference/core/listGateways.mdx +53 -0
  272. package/.docs/raw/reference/core/listLogs.mdx +3 -3
  273. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -3
  274. package/.docs/raw/reference/core/listMCPServers.mdx +5 -5
  275. package/.docs/raw/reference/core/listMemory.mdx +70 -0
  276. package/.docs/raw/reference/core/listScorers.mdx +1 -1
  277. package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
  278. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  279. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  280. package/.docs/raw/reference/core/mastra-class.mdx +17 -1
  281. package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
  282. package/.docs/raw/reference/core/setLogger.mdx +3 -3
  283. package/.docs/raw/reference/core/setStorage.mdx +1 -1
  284. package/.docs/raw/reference/core/setTelemetry.mdx +3 -3
  285. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
  286. package/.docs/raw/reference/deployer/deployer.mdx +1 -1
  287. package/.docs/raw/reference/deployer/netlify.mdx +2 -3
  288. package/.docs/raw/reference/deployer/vercel.mdx +1 -1
  289. package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
  290. package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
  291. package/.docs/raw/reference/evals/bias.mdx +30 -88
  292. package/.docs/raw/reference/evals/completeness.mdx +32 -91
  293. package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
  294. package/.docs/raw/reference/evals/context-precision.mdx +29 -131
  295. package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
  296. package/.docs/raw/reference/evals/create-scorer.mdx +59 -50
  297. package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
  298. package/.docs/raw/reference/evals/hallucination.mdx +29 -104
  299. package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
  300. package/.docs/raw/reference/evals/mastra-scorer.mdx +3 -1
  301. package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
  302. package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
  303. package/.docs/raw/reference/evals/run-evals.mdx +1 -1
  304. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  305. package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
  306. package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
  307. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
  308. package/.docs/raw/reference/evals/toxicity.mdx +30 -93
  309. package/.docs/raw/reference/index.mdx +1 -0
  310. package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
  311. package/.docs/raw/reference/memory/createThread.mdx +1 -1
  312. package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
  313. package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
  314. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
  315. package/.docs/raw/reference/memory/memory-class.mdx +6 -8
  316. package/.docs/raw/reference/memory/query.mdx +1 -1
  317. package/.docs/raw/reference/memory/recall.mdx +1 -1
  318. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
  319. package/.docs/raw/reference/observability/tracing/configuration.mdx +12 -16
  320. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +31 -2
  321. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
  322. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +9 -9
  323. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +9 -9
  324. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +9 -9
  325. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
  326. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
  327. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
  328. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  329. package/.docs/raw/reference/observability/tracing/instances.mdx +8 -12
  330. package/.docs/raw/reference/observability/tracing/interfaces.mdx +36 -11
  331. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
  332. package/.docs/raw/reference/observability/tracing/spans.mdx +7 -11
  333. package/.docs/raw/reference/processors/batch-parts-processor.mdx +10 -4
  334. package/.docs/raw/reference/processors/language-detector.mdx +19 -6
  335. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  336. package/.docs/raw/reference/processors/moderation-processor.mdx +21 -8
  337. package/.docs/raw/reference/processors/pii-detector.mdx +21 -8
  338. package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
  339. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +19 -6
  340. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  341. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +12 -7
  342. package/.docs/raw/reference/processors/token-limiter-processor.mdx +11 -5
  343. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  344. package/.docs/raw/reference/processors/unicode-normalizer.mdx +10 -4
  345. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  346. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  347. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  348. package/.docs/raw/reference/rag/document.mdx +1 -1
  349. package/.docs/raw/reference/rag/embeddings.mdx +6 -6
  350. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  351. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  352. package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
  353. package/.docs/raw/reference/rag/rerank.mdx +2 -3
  354. package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
  355. package/.docs/raw/reference/server/create-route.mdx +328 -0
  356. package/.docs/raw/reference/server/express-adapter.mdx +260 -0
  357. package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
  358. package/.docs/raw/reference/server/mastra-server.mdx +345 -0
  359. package/.docs/raw/reference/server/routes.mdx +250 -0
  360. package/.docs/raw/reference/storage/cloudflare-d1.mdx +39 -2
  361. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  362. package/.docs/raw/reference/storage/convex.mdx +164 -0
  363. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  364. package/.docs/raw/reference/storage/lance.mdx +35 -2
  365. package/.docs/raw/reference/storage/libsql.mdx +39 -2
  366. package/.docs/raw/reference/storage/mongodb.mdx +41 -2
  367. package/.docs/raw/reference/storage/mssql.mdx +39 -2
  368. package/.docs/raw/reference/storage/postgresql.mdx +39 -2
  369. package/.docs/raw/reference/storage/upstash.mdx +2 -2
  370. package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
  371. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
  372. package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
  373. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
  374. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
  375. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  376. package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
  377. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
  378. package/.docs/raw/reference/templates/overview.mdx +3 -6
  379. package/.docs/raw/reference/tools/client.mdx +2 -3
  380. package/.docs/raw/reference/tools/create-tool.mdx +135 -4
  381. package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
  382. package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
  383. package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
  384. package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
  385. package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
  386. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  387. package/.docs/raw/reference/vectors/chroma.mdx +82 -2
  388. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  389. package/.docs/raw/reference/vectors/couchbase.mdx +33 -20
  390. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  391. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  392. package/.docs/raw/reference/vectors/lance.mdx +39 -23
  393. package/.docs/raw/reference/vectors/libsql.mdx +37 -4
  394. package/.docs/raw/reference/vectors/mongodb.mdx +43 -4
  395. package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
  396. package/.docs/raw/reference/vectors/pg.mdx +44 -37
  397. package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
  398. package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
  399. package/.docs/raw/reference/vectors/s3vectors.mdx +2 -2
  400. package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
  401. package/.docs/raw/reference/vectors/upstash.mdx +1 -1
  402. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  403. package/.docs/raw/reference/voice/azure.mdx +96 -81
  404. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  405. package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
  406. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  407. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  408. package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
  409. package/.docs/raw/reference/voice/google.mdx +160 -21
  410. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  411. package/.docs/raw/reference/voice/murf.mdx +1 -1
  412. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
  413. package/.docs/raw/reference/voice/openai.mdx +1 -1
  414. package/.docs/raw/reference/voice/playai.mdx +1 -1
  415. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  416. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  417. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
  418. package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
  419. package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
  420. package/.docs/raw/reference/voice/voice.close.mdx +2 -2
  421. package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
  422. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  423. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
  424. package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
  425. package/.docs/raw/reference/voice/voice.off.mdx +2 -2
  426. package/.docs/raw/reference/voice/voice.on.mdx +2 -2
  427. package/.docs/raw/reference/voice/voice.send.mdx +2 -2
  428. package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
  429. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
  430. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
  431. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  432. package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
  433. package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
  434. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
  435. package/.docs/raw/reference/workflows/run.mdx +28 -6
  436. package/.docs/raw/reference/workflows/step.mdx +65 -1
  437. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  438. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  439. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
  440. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  441. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  442. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  443. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
  444. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  445. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
  446. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
  447. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
  448. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  449. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
  450. package/.docs/raw/reference/workflows/workflow.mdx +21 -2
  451. package/.docs/raw/server-db/custom-adapters.mdx +386 -0
  452. package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
  453. package/.docs/raw/server-db/mastra-client.mdx +7 -8
  454. package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
  455. package/.docs/raw/server-db/middleware.mdx +31 -31
  456. package/.docs/raw/server-db/request-context.mdx +3 -4
  457. package/.docs/raw/server-db/server-adapters.mdx +312 -0
  458. package/.docs/raw/server-db/storage.mdx +12 -1
  459. package/.docs/raw/streaming/events.mdx +1 -1
  460. package/.docs/raw/streaming/overview.mdx +27 -16
  461. package/.docs/raw/streaming/tool-streaming.mdx +58 -19
  462. package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
  463. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
  464. package/.docs/raw/tools-mcp/mcp-overview.mdx +5 -7
  465. package/.docs/raw/tools-mcp/overview.mdx +1 -1
  466. package/.docs/raw/voice/overview.mdx +88 -41
  467. package/.docs/raw/voice/speech-to-speech.mdx +5 -5
  468. package/.docs/raw/voice/speech-to-text.mdx +3 -4
  469. package/.docs/raw/voice/text-to-speech.mdx +3 -4
  470. package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
  471. package/.docs/raw/workflows/control-flow.mdx +186 -1
  472. package/.docs/raw/workflows/error-handling.mdx +5 -4
  473. package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
  474. package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
  475. package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
  476. package/.docs/raw/workflows/overview.mdx +67 -47
  477. package/.docs/raw/workflows/snapshots.mdx +5 -3
  478. package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
  479. package/.docs/raw/workflows/time-travel.mdx +313 -0
  480. package/.docs/raw/workflows/workflow-state.mdx +190 -0
  481. package/CHANGELOG.md +88 -0
  482. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  483. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  484. package/dist/prepare-docs/prepare.js +1 -1
  485. package/dist/stdio.js +17 -19
  486. package/package.json +11 -15
  487. package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
  488. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
  489. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
  490. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
  491. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  492. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  493. package/.docs/raw/getting-started/templates.mdx +0 -73
  494. package/.docs/raw/mastra-cloud/observability.mdx +0 -51
  495. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  496. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
@@ -13,7 +13,7 @@
13
13
  "tsx": "^4.19.2"
14
14
  },
15
15
  "devDependencies": {
16
- "@types/node": "^20.19.0",
16
+ "@types/node": "22.13.17",
17
17
  "typescript": "^5.8.3"
18
18
  }
19
19
  }
@@ -68,7 +68,7 @@ const agent = new Agent({
68
68
  id: 'forgetful-job-interviewer',
69
69
  name: 'Forgetful Job Interviewer',
70
70
  instructions:
71
- "You are a professional job interviewer for a technology company. Conduct insightful interviews by asking relevant questions about skills, experience, and problem-solving abilities. Respond to candidate answers and ask follow-up questions. Keep the interview professional and engaging. Remember details the candidate shares earlier in the conversation. Sometimes you forget things by accident. The system will show you if you forgot. Don't be embarassed, you can admit when you forget something, you'll know when you do because there will be a message wrapped in <forgetten> tags. Don't refer to the user by their name, it comes across as too eager",
71
+ "You are a professional job interviewer for a technology company. Conduct insightful interviews by asking relevant questions about skills, experience, and problem-solving abilities. Respond to candidate answers and ask follow-up questions. Keep the interview professional and engaging. Remember details the candidate shares earlier in the conversation. Sometimes you forget things by accident. The system will show you if you forgot. Don't be embarrassed, you can admit when you forget something, you'll know when you do because there will be a message wrapped in <forgetten> tags. Don't refer to the user by their name, it comes across as too eager",
72
72
  model: openai('gpt-4o'),
73
73
  memory: new Memory({
74
74
  processors: [
@@ -29,7 +29,7 @@
29
29
  "devDependencies": {
30
30
  "@libsql/client": "^0.15.4",
31
31
  "@types/js-yaml": "^4.0.9",
32
- "@types/node": "^20.17.57",
32
+ "@types/node": "22.13.17",
33
33
  "@types/react": "^19.1.9",
34
34
  "@types/react-dom": "^19.1.7",
35
35
  "@types/react-syntax-highlighter": "^15.5.13",
@@ -0,0 +1,14 @@
1
+ ### package.json
2
+ ```json
3
+ {
4
+ "name": "examples-processors-with-ai-sdk",
5
+ "dependencies": {
6
+ "@ai-sdk/openai": "latest",
7
+ "@mastra/ai-sdk": "latest",
8
+ "@mastra/core": "latest",
9
+ "@mastra/libsql": "latest",
10
+ "ai": "latest",
11
+ "zod": "^3.25.76"
12
+ }
13
+ }
14
+ ```
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "examples-quick-start",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "tsx": "^4.19.3",
8
8
  "typescript": "^5.8.3",
9
9
  "zod": "^3.25.76"
@@ -64,7 +64,7 @@ export const catOne = new Agent({
64
64
  id: 'cat-one',
65
65
  name: 'Cat One',
66
66
  instructions:
67
- 'You are a feline expert with comprehensive knowledge of all cat species, from domestic breeds to wild big cats. As a lifelong cat specialist, you understand their behavior, biology, social structures, and evolutionary history in great depth. If you are asked for a specie name, do not return a paragraph, a succint two or three letter name of the species will suffice.',
67
+ 'You are a feline expert with comprehensive knowledge of all cat species, from domestic breeds to wild big cats. As a lifelong cat specialist, you understand their behavior, biology, social structures, and evolutionary history in great depth. If you are asked for a specie name, do not return a paragraph, a succinct two or three letter name of the species will suffice.',
68
68
  model: openai('gpt-4o'),
69
69
  });
70
70
 
@@ -0,0 +1,342 @@
1
+ ### package.json
2
+ ```json
3
+ {
4
+ "name": "examples-server-app-access",
5
+ "dependencies": {
6
+ "@mastra/core": "latest",
7
+ "@mastra/hono": "latest",
8
+ "hono": "^4.10.4",
9
+ "zod": "^3.25.76"
10
+ },
11
+ "devDependencies": {
12
+ "@types/node": "22.13.17",
13
+ "tsx": "^4.19.3",
14
+ "typescript": "^5.8.3"
15
+ }
16
+ }
17
+ ```
18
+
19
+ ### demo-cli-batch.ts
20
+ ```typescript
21
+ /**
22
+ * Demo: Direct Server App Access
23
+ *
24
+ * This demonstrates how to use mastra.getServerApp() to call routes
25
+ * directly without running an HTTP server.
26
+ *
27
+ * Use case: CLI scripts, batch processing, testing, background jobs
28
+ *
29
+ * NOTE: The base URL (http://internal) is just a placeholder - Hono's app.fetch()
30
+ * processes requests in-memory and only uses the path. The hostname is ignored.
31
+ */
32
+
33
+ import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
34
+ import { Hono } from 'hono';
35
+ import type { Hono as HonoType } from 'hono';
36
+
37
+ import { mastra } from './mastra';
38
+
39
+ // Base URL is a placeholder - only the path matters for in-memory routing
40
+ const BASE_URL = 'http://internal';
41
+
42
+ async function main() {
43
+ // Create and initialize server (no port binding)
44
+ const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
45
+ const adapter = new MastraServer({ app, mastra });
46
+ await adapter.init();
47
+
48
+ // Get the server app - works because MastraServer auto-registers with mastra
49
+ const serverApp = mastra.getServerApp<HonoType>();
50
+ if (!serverApp) throw new Error('Server app not initialized');
51
+
52
+ // List tools
53
+ console.log('--- List Tools ---');
54
+ const toolsResponse = await serverApp.fetch(new Request(`${BASE_URL}/api/tools`));
55
+ const tools = (await toolsResponse.json()) as Record<string, unknown>;
56
+ console.log(`Tools: ${Object.keys(tools).join(', ') || '(none registered by key)'}`);
57
+
58
+ // Execute a tool
59
+ console.log('\n--- Execute Tool ---');
60
+ const calcResponse = await serverApp.fetch(
61
+ new Request(`${BASE_URL}/api/tools/calculator/execute`, {
62
+ method: 'POST',
63
+ headers: { 'Content-Type': 'application/json' },
64
+ body: JSON.stringify({ data: { operation: 'multiply', a: 7, b: 6 } }),
65
+ }),
66
+ );
67
+ console.log(`Result: ${JSON.stringify(await calcResponse.json())}`);
68
+
69
+ // List workflows
70
+ console.log('\n--- List Workflows ---');
71
+ const workflowsResponse = await serverApp.fetch(new Request(`${BASE_URL}/api/workflows`));
72
+ const workflows = (await workflowsResponse.json()) as Record<string, unknown>;
73
+ console.log(`Workflows: ${Object.keys(workflows).join(', ')}`);
74
+ }
75
+
76
+ main().catch(console.error);
77
+
78
+ ```
79
+
80
+ ### mastra/index.ts
81
+ ```typescript
82
+ import { Mastra } from '@mastra/core/mastra';
83
+
84
+ import { calculatorTool, timestampTool } from './tools';
85
+ import { dailyReportWorkflow, paymentProcessorWorkflow, processMessageWorkflow } from './workflows';
86
+
87
+ /**
88
+ * Main Mastra instance configured with tools and workflows
89
+ * for demonstrating server app access patterns.
90
+ */
91
+ export const mastra = new Mastra({
92
+ tools: {
93
+ calculatorTool,
94
+ timestampTool,
95
+ },
96
+ workflows: {
97
+ processMessageWorkflow,
98
+ dailyReportWorkflow,
99
+ paymentProcessorWorkflow,
100
+ },
101
+ });
102
+
103
+ ```
104
+
105
+ ### mastra/tools/index.ts
106
+ ```typescript
107
+ import { createTool } from '@mastra/core/tools';
108
+ import { z } from 'zod';
109
+
110
+ /**
111
+ * Calculator tool - performs basic arithmetic operations
112
+ */
113
+ export const calculatorTool = createTool({
114
+ id: 'calculator',
115
+ description: 'Performs basic arithmetic operations',
116
+ inputSchema: z.object({
117
+ operation: z.enum(['add', 'subtract', 'multiply', 'divide']),
118
+ a: z.number(),
119
+ b: z.number(),
120
+ }),
121
+ execute: async ({ operation, a, b }) => {
122
+ if (operation === 'divide' && b === 0) {
123
+ throw new Error('Cannot divide by zero');
124
+ }
125
+
126
+ let result: number;
127
+ switch (operation) {
128
+ case 'add':
129
+ result = a + b;
130
+ break;
131
+ case 'subtract':
132
+ result = a - b;
133
+ break;
134
+ case 'multiply':
135
+ result = a * b;
136
+ break;
137
+ case 'divide':
138
+ result = a / b;
139
+ break;
140
+ default:
141
+ throw new Error(`Unsupported operation: ${operation}`);
142
+ }
143
+
144
+ return { result, operation, operands: { a, b } };
145
+ },
146
+ });
147
+
148
+ /**
149
+ * Timestamp tool - returns current timestamp in various formats
150
+ */
151
+ export const timestampTool = createTool({
152
+ id: 'timestamp',
153
+ description: 'Returns the current timestamp in various formats',
154
+ inputSchema: z.object({
155
+ format: z.enum(['iso', 'unix', 'readable']).default('iso'),
156
+ }),
157
+ execute: async ({ format }) => {
158
+ const now = new Date();
159
+
160
+ let timestamp: string;
161
+ switch (format) {
162
+ case 'unix':
163
+ timestamp = Math.floor(now.getTime() / 1000).toString();
164
+ break;
165
+ case 'readable':
166
+ timestamp = now.toLocaleString();
167
+ break;
168
+ case 'iso':
169
+ default:
170
+ timestamp = now.toISOString();
171
+ break;
172
+ }
173
+
174
+ return { timestamp, format };
175
+ },
176
+ });
177
+
178
+ ```
179
+
180
+ ### mastra/workflows/index.ts
181
+ ```typescript
182
+ import { createStep, createWorkflow } from '@mastra/core/workflows';
183
+ import { z } from 'zod';
184
+
185
+ // --- Process Message Workflow ---
186
+
187
+ const validateStep = createStep({
188
+ id: 'validate',
189
+ description: 'Validates the incoming message',
190
+ inputSchema: z.object({
191
+ message: z.string(),
192
+ priority: z.enum(['low', 'medium', 'high']).default('medium'),
193
+ }),
194
+ outputSchema: z.object({
195
+ valid: z.boolean(),
196
+ message: z.string(),
197
+ priority: z.enum(['low', 'medium', 'high']),
198
+ }),
199
+ execute: async ({ inputData }) => {
200
+ const valid = inputData.message.length > 0 && inputData.message.length < 1000;
201
+ return {
202
+ valid,
203
+ message: inputData.message,
204
+ priority: inputData.priority,
205
+ };
206
+ },
207
+ });
208
+
209
+ const processStep = createStep({
210
+ id: 'process',
211
+ description: 'Processes the validated message',
212
+ inputSchema: z.object({
213
+ valid: z.boolean(),
214
+ message: z.string(),
215
+ priority: z.enum(['low', 'medium', 'high']),
216
+ }),
217
+ outputSchema: z.object({
218
+ processed: z.boolean(),
219
+ result: z.string(),
220
+ timestamp: z.string(),
221
+ }),
222
+ execute: async ({ inputData }) => {
223
+ if (!inputData.valid) {
224
+ return {
225
+ processed: false,
226
+ result: 'Invalid message',
227
+ timestamp: new Date().toISOString(),
228
+ };
229
+ }
230
+
231
+ const result = `Processed [${inputData.priority}]: ${inputData.message.substring(0, 50)}...`;
232
+
233
+ return {
234
+ processed: true,
235
+ result,
236
+ timestamp: new Date().toISOString(),
237
+ };
238
+ },
239
+ });
240
+
241
+ export const processMessageWorkflow = createWorkflow({
242
+ id: 'process-message',
243
+ description: 'Validates and processes a message',
244
+ inputSchema: z.object({
245
+ message: z.string(),
246
+ priority: z.enum(['low', 'medium', 'high']).default('medium'),
247
+ }),
248
+ outputSchema: z.object({
249
+ processed: z.boolean(),
250
+ result: z.string(),
251
+ timestamp: z.string(),
252
+ }),
253
+ })
254
+ .then(validateStep)
255
+ .then(processStep)
256
+ .commit();
257
+
258
+ // --- Daily Report Workflow ---
259
+
260
+ const generateReportStep = createStep({
261
+ id: 'generate-report',
262
+ description: 'Generates a daily report',
263
+ inputSchema: z.object({
264
+ date: z.string(),
265
+ reportType: z.enum(['summary', 'detailed']).default('summary'),
266
+ }),
267
+ outputSchema: z.object({
268
+ reportId: z.string(),
269
+ status: z.string(),
270
+ generatedAt: z.string(),
271
+ }),
272
+ execute: async ({ inputData }) => {
273
+ const reportId = `RPT-${Date.now()}`;
274
+
275
+ return {
276
+ reportId,
277
+ status: `Generated ${inputData.reportType} report for ${inputData.date}`,
278
+ generatedAt: new Date().toISOString(),
279
+ };
280
+ },
281
+ });
282
+
283
+ export const dailyReportWorkflow = createWorkflow({
284
+ id: 'daily-report',
285
+ description: 'Generates daily reports',
286
+ inputSchema: z.object({
287
+ date: z.string(),
288
+ reportType: z.enum(['summary', 'detailed']).default('summary'),
289
+ }),
290
+ outputSchema: z.object({
291
+ reportId: z.string(),
292
+ status: z.string(),
293
+ generatedAt: z.string(),
294
+ }),
295
+ })
296
+ .then(generateReportStep)
297
+ .commit();
298
+
299
+ // --- Payment Processor Workflow ---
300
+
301
+ const processPaymentStep = createStep({
302
+ id: 'process-payment',
303
+ description: 'Processes a payment transaction',
304
+ inputSchema: z.object({
305
+ amount: z.number(),
306
+ currency: z.string(),
307
+ customerId: z.string(),
308
+ }),
309
+ outputSchema: z.object({
310
+ transactionId: z.string(),
311
+ status: z.string(),
312
+ processedAt: z.string(),
313
+ }),
314
+ execute: async ({ inputData }) => {
315
+ const transactionId = `TXN-${Date.now()}`;
316
+
317
+ return {
318
+ transactionId,
319
+ status: `Processed ${inputData.currency} ${inputData.amount} for customer ${inputData.customerId}`,
320
+ processedAt: new Date().toISOString(),
321
+ };
322
+ },
323
+ });
324
+
325
+ export const paymentProcessorWorkflow = createWorkflow({
326
+ id: 'payment-processor',
327
+ description: 'Processes payment transactions',
328
+ inputSchema: z.object({
329
+ amount: z.number(),
330
+ currency: z.string(),
331
+ customerId: z.string(),
332
+ }),
333
+ outputSchema: z.object({
334
+ transactionId: z.string(),
335
+ status: z.string(),
336
+ processedAt: z.string(),
337
+ }),
338
+ })
339
+ .then(processPaymentStep)
340
+ .commit();
341
+
342
+ ```
@@ -0,0 +1,87 @@
1
+ ### package.json
2
+ ```json
3
+ {
4
+ "name": "examples-server-express-adapter",
5
+ "dependencies": {
6
+ "@ai-sdk/openai": "latest",
7
+ "@mastra/core": "latest",
8
+ "@mastra/express": "latest",
9
+ "express": "^5.1.0",
10
+ "zod": "^3.25.76"
11
+ },
12
+ "devDependencies": {
13
+ "@types/express": "^5.0.5",
14
+ "@types/node": "22.13.17",
15
+ "tsx": "^4.19.3",
16
+ "typescript": "^5.8.3"
17
+ }
18
+ }
19
+ ```
20
+
21
+ ### mastra/agents/assistant.ts
22
+ ```typescript
23
+ import { Agent } from '@mastra/core/agent';
24
+ import { openai } from '@ai-sdk/openai';
25
+
26
+ export const assistantAgent = new Agent({
27
+ id: 'assistantAgent',
28
+ name: 'Assistant',
29
+ instructions: 'You are a helpful assistant. Answer questions concisely.',
30
+ model: openai('gpt-4o-mini'),
31
+ });
32
+
33
+ ```
34
+
35
+ ### mastra/index.ts
36
+ ```typescript
37
+ import { Mastra } from '@mastra/core/mastra';
38
+
39
+ import { assistantAgent } from './agents/assistant';
40
+
41
+ export const mastra = new Mastra({
42
+ agents: { assistantAgent },
43
+ });
44
+
45
+ ```
46
+
47
+ ### server.ts
48
+ ```typescript
49
+ /**
50
+ * Express Server Adapter Example
51
+ *
52
+ * This demonstrates how to use @mastra/express to run Mastra with Express.
53
+ *
54
+ * Features shown:
55
+ * - Basic server setup with MastraServer
56
+ * - Required express.json() middleware
57
+ * - Custom routes added after init()
58
+ * - Accessing Mastra context via res.locals
59
+ */
60
+
61
+ import express from 'express';
62
+ import { MastraServer } from '@mastra/express';
63
+
64
+ import { mastra } from './mastra';
65
+
66
+ const app = express();
67
+ app.use(express.json()); // Required for body parsing
68
+
69
+ const server = new MastraServer({ app, mastra });
70
+
71
+ await server.init();
72
+
73
+ // Custom route with access to Mastra context via res.locals
74
+ app.get('/health', (req, res) => {
75
+ const mastraInstance = res.locals.mastra;
76
+ const agents = Object.keys(mastraInstance.listAgents());
77
+ res.json({ status: 'ok', agents });
78
+ });
79
+
80
+ const port = 4111;
81
+
82
+ app.listen(port, () => {
83
+ console.log(`Server running on http://localhost:${port}`);
84
+ console.log(`Try: curl http://localhost:${port}/api/agents`);
85
+ });
86
+
87
+ ```
@@ -0,0 +1,85 @@
1
+ ### package.json
2
+ ```json
3
+ {
4
+ "name": "examples-server-hono-adapter",
5
+ "dependencies": {
6
+ "@ai-sdk/openai": "latest",
7
+ "@mastra/core": "latest",
8
+ "@mastra/hono": "latest",
9
+ "@hono/node-server": "^1.14.3",
10
+ "hono": "^4.10.4",
11
+ "zod": "^3.25.76"
12
+ },
13
+ "devDependencies": {
14
+ "@types/node": "22.13.17",
15
+ "tsx": "^4.19.3",
16
+ "typescript": "^5.8.3"
17
+ }
18
+ }
19
+ ```
20
+
21
+ ### mastra/agents/assistant.ts
22
+ ```typescript
23
+ import { Agent } from '@mastra/core/agent';
24
+ import { openai } from '@ai-sdk/openai';
25
+
26
+ export const assistantAgent = new Agent({
27
+ id: 'assistantAgent',
28
+ name: 'Assistant',
29
+ instructions: 'You are a helpful assistant. Answer questions concisely.',
30
+ model: openai('gpt-4o-mini'),
31
+ });
32
+
33
+ ```
34
+
35
+ ### mastra/index.ts
36
+ ```typescript
37
+ import { Mastra } from '@mastra/core/mastra';
38
+
39
+ import { assistantAgent } from './agents/assistant';
40
+
41
+ export const mastra = new Mastra({
42
+ agents: { assistantAgent },
43
+ });
44
+
45
+ ```
46
+
47
+ ### server.ts
48
+ ```typescript
49
+ /**
50
+ * Hono Server Adapter Example
51
+ *
52
+ * This demonstrates how to use @mastra/hono to run Mastra with Hono.
53
+ *
54
+ * Features shown:
55
+ * - Basic server setup with MastraServer
56
+ * - Custom routes added after init()
57
+ * - Accessing Mastra context in custom routes
58
+ */
59
+
60
+ import { serve } from '@hono/node-server';
61
+ import { Hono } from 'hono';
62
+ import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
63
+
64
+ import { mastra } from './mastra';
65
+
66
+ const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
67
+ const server = new MastraServer({ app, mastra });
68
+
69
+ await server.init();
70
+
71
+ // Custom route with access to Mastra context
72
+ app.get('/health', c => {
73
+ const mastraInstance = c.get('mastra');
74
+ const agents = Object.keys(mastraInstance.listAgents());
75
+ return c.json({ status: 'ok', agents });
76
+ });
77
+
78
+ const port = 4111;
79
+
80
+ serve({ fetch: app.fetch, port }, () => {
81
+ console.log(`Server running on http://localhost:${port}`);
82
+ console.log(`Try: curl http://localhost:${port}/api/agents`);
83
+ });
84
+
85
+ ```
@@ -8,10 +8,7 @@
8
8
  "zod": "^3.25.76"
9
9
  },
10
10
  "devDependencies": {
11
- "@jest/globals": "^29.7.0",
12
- "jest": "^29.7.0",
13
- "mastra": "latest",
14
- "ts-jest": "^29.2.6"
11
+ "mastra": "latest"
15
12
  }
16
13
  }
17
14
  ```
@@ -93,20 +90,3 @@ export const stockPrices = createTool({
93
90
  });
94
91
 
95
92
  ```
96
-
97
- ### mastra/tools/tools.test.ts
98
- ```typescript
99
- import { describe, it, expect } from 'vitest';
100
-
101
- import { getStockPrice } from './stock-price';
102
-
103
- describe('Test Tools', () => {
104
- it('should run the stockPrices', async () => {
105
- const result = await getStockPrice('AAPL');
106
-
107
- console.log(result);
108
- expect(result).toBeDefined();
109
- });
110
- });
111
-
112
- ```
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "examples-workflow-ai-recruiter",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "mastra": "latest",
8
8
  "tsx": "^4.19.3",
9
9
  "typescript": "^5.8.3",
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "workflow-with-inline-steps",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "mastra": "latest",
8
8
  "tsx": "^4.19.3",
9
9
  "typescript": "^5.8.3",
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "examples-workflow-with-memory",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "tsx": "^4.19.3",
8
8
  "typescript": "^5.8.3",
9
9
  "zod": "^3.25.76"
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "examples-workflow-with-separate-steps",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "mastra": "latest",
8
8
  "tsx": "^4.19.3",
9
9
  "typescript": "^5.8.3",
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "examples-workflow-with-suspend-resume",
5
5
  "devDependencies": {
6
- "@types/node": "^20.17.57",
6
+ "@types/node": "22.13.17",
7
7
  "mastra": "latest",
8
8
  "tsx": "^4.19.3",
9
9
  "typescript": "^5.8.3",