@mastra/mcp-docs-server 0.13.39-alpha.0 → 1.0.0-beta.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 (480) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +1 -0
  2. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +0 -8
  3. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +0 -8
  4. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +29 -29
  5. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +0 -8
  6. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +70 -70
  7. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +25 -25
  8. package/.docs/organized/changelogs/%40mastra%2Fastra.md +11 -11
  9. package/.docs/organized/changelogs/%40mastra%2Fauth.md +4 -8
  10. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +11 -11
  11. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +199 -199
  12. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +223 -223
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +189 -189
  14. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +198 -198
  15. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +7 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fcore.md +214 -214
  17. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +16 -16
  18. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +63 -63
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +57 -57
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +60 -60
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +57 -57
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +209 -209
  23. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +191 -191
  24. package/.docs/organized/changelogs/%40mastra%2Fevals.md +38 -38
  25. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +5 -7
  26. package/.docs/organized/changelogs/%40mastra%2Flance.md +186 -186
  27. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +199 -199
  28. package/.docs/organized/changelogs/%40mastra%2Floggers.md +11 -11
  29. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +53 -53
  30. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +11 -11
  31. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +69 -69
  32. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +221 -221
  33. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +199 -199
  34. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +206 -206
  35. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +11 -11
  36. package/.docs/organized/changelogs/%40mastra%2Fpg.md +197 -197
  37. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +16 -16
  38. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +218 -218
  39. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +16 -16
  40. package/.docs/organized/changelogs/%40mastra%2Frag.md +65 -65
  41. package/.docs/organized/changelogs/%40mastra%2Freact.md +61 -61
  42. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +10 -9
  43. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -24
  44. package/.docs/organized/changelogs/%40mastra%2Fserver.md +206 -206
  45. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +16 -16
  46. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +191 -191
  47. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +11 -11
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +11 -11
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +11 -11
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +11 -11
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +11 -11
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +11 -11
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +58 -58
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +11 -11
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +11 -11
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +56 -56
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +11 -11
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +11 -11
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +11 -11
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +11 -11
  61. package/.docs/organized/changelogs/create-mastra.md +27 -27
  62. package/.docs/organized/changelogs/mastra.md +87 -87
  63. package/.docs/organized/code-examples/a2a.md +4 -2
  64. package/.docs/organized/code-examples/agui.md +12 -9
  65. package/.docs/organized/code-examples/ai-sdk-useChat.md +12 -18
  66. package/.docs/organized/code-examples/ai-sdk-v5.md +4 -2
  67. package/.docs/organized/code-examples/bird-checker-with-express.md +5 -4
  68. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +4 -3
  69. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +4 -3
  70. package/.docs/organized/code-examples/client-side-tools.md +1 -0
  71. package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
  72. package/.docs/organized/code-examples/experimental-auth-weather-agent.md +8 -177
  73. package/.docs/organized/code-examples/fireworks-r1.md +2 -2
  74. package/.docs/organized/code-examples/heads-up-game.md +10 -7
  75. package/.docs/organized/code-examples/mcp-configuration.md +5 -3
  76. package/.docs/organized/code-examples/mcp-registry-registry.md +3 -2
  77. package/.docs/organized/code-examples/memory-per-resource-example.md +4 -2
  78. package/.docs/organized/code-examples/memory-todo-agent.md +1 -0
  79. package/.docs/organized/code-examples/memory-with-context.md +2 -1
  80. package/.docs/organized/code-examples/memory-with-libsql.md +4 -2
  81. package/.docs/organized/code-examples/memory-with-mongodb.md +4 -2
  82. package/.docs/organized/code-examples/memory-with-pg.md +4 -2
  83. package/.docs/organized/code-examples/memory-with-processors.md +13 -8
  84. package/.docs/organized/code-examples/memory-with-upstash.md +5 -3
  85. package/.docs/organized/code-examples/openapi-spec-writer.md +32 -41
  86. package/.docs/organized/code-examples/quick-start.md +5 -32
  87. package/.docs/organized/code-examples/stock-price-tool.md +6 -5
  88. package/.docs/organized/code-examples/weather-agent.md +21 -16
  89. package/.docs/organized/code-examples/workflow-ai-recruiter.md +3 -2
  90. package/.docs/organized/code-examples/workflow-with-inline-steps.md +9 -12
  91. package/.docs/organized/code-examples/workflow-with-memory.md +16 -15
  92. package/.docs/organized/code-examples/workflow-with-separate-steps.md +2 -2
  93. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +3 -2
  94. package/.docs/raw/agents/adding-voice.mdx +27 -22
  95. package/.docs/raw/agents/agent-memory.mdx +23 -15
  96. package/.docs/raw/agents/guardrails.mdx +33 -12
  97. package/.docs/raw/agents/networks.mdx +8 -4
  98. package/.docs/raw/agents/overview.mdx +21 -15
  99. package/.docs/raw/agents/using-tools.mdx +11 -8
  100. package/.docs/raw/auth/auth0.mdx +8 -8
  101. package/.docs/raw/auth/clerk.mdx +6 -6
  102. package/.docs/raw/auth/firebase.mdx +8 -8
  103. package/.docs/raw/auth/index.mdx +6 -6
  104. package/.docs/raw/auth/jwt.mdx +6 -6
  105. package/.docs/raw/auth/supabase.mdx +7 -7
  106. package/.docs/raw/auth/workos.mdx +8 -8
  107. package/.docs/raw/community/contributing-templates.mdx +3 -3
  108. package/.docs/raw/community/discord.mdx +1 -1
  109. package/.docs/raw/course/01-first-agent/08-exporting-your-agent.md +2 -1
  110. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +2 -1
  111. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -0
  112. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -0
  113. package/.docs/raw/course/03-agent-memory/10-storage-configuration.md +2 -3
  114. package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +2 -0
  115. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +2 -0
  116. package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -0
  117. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -0
  118. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +1 -0
  119. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -0
  120. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +1 -0
  121. package/.docs/raw/course/04-workflows/08-running-workflows-programmatically.md +2 -2
  122. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +5 -5
  123. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +7 -5
  124. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +3 -3
  125. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +4 -4
  126. package/.docs/raw/deployment/cloud-providers/index.mdx +11 -8
  127. package/.docs/raw/deployment/monorepo.mdx +2 -2
  128. package/.docs/raw/deployment/overview.mdx +2 -2
  129. package/.docs/raw/deployment/server-deployment.mdx +2 -10
  130. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +4 -4
  131. package/.docs/raw/deployment/serverless-platforms/index.mdx +10 -7
  132. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +4 -4
  133. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +4 -4
  134. package/.docs/raw/deployment/web-framework.mdx +8 -8
  135. package/.docs/raw/{scorers → evals}/custom-scorers.mdx +6 -6
  136. package/.docs/raw/evals/off-the-shelf-scorers.mdx +50 -0
  137. package/.docs/raw/{scorers → evals}/overview.mdx +8 -8
  138. package/.docs/raw/evals/running-in-ci.mdx +113 -0
  139. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +22 -21
  140. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +8 -8
  141. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +3 -0
  142. package/.docs/raw/frameworks/servers/express.mdx +10 -9
  143. package/.docs/raw/frameworks/web-frameworks/astro.mdx +6 -6
  144. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +3 -3
  145. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +4 -4
  146. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +2 -2
  147. package/.docs/raw/getting-started/installation.mdx +13 -12
  148. package/.docs/raw/getting-started/mcp-docs-server.mdx +1 -1
  149. package/.docs/raw/getting-started/project-structure.mdx +4 -4
  150. package/.docs/raw/getting-started/studio.mdx +8 -8
  151. package/.docs/raw/getting-started/templates.mdx +1 -1
  152. package/.docs/raw/guides/guide/ai-recruiter.mdx +264 -0
  153. package/.docs/raw/guides/guide/chef-michel.mdx +271 -0
  154. package/.docs/raw/guides/guide/notes-mcp-server.mdx +450 -0
  155. package/.docs/raw/guides/guide/research-assistant.mdx +389 -0
  156. package/.docs/raw/guides/guide/stock-agent.mdx +185 -0
  157. package/.docs/raw/guides/guide/web-search.mdx +291 -0
  158. package/.docs/raw/guides/index.mdx +43 -0
  159. package/.docs/raw/guides/migrations/agentnetwork.mdx +114 -0
  160. package/.docs/raw/guides/migrations/upgrade-to-v1/_template.mdx +50 -0
  161. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +265 -0
  162. package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +48 -0
  163. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +153 -0
  164. package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +230 -0
  165. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +171 -0
  166. package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +114 -0
  167. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +241 -0
  168. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +83 -0
  169. package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +62 -0
  170. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +270 -0
  171. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +115 -0
  172. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +280 -0
  173. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +23 -0
  174. package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +39 -0
  175. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +178 -0
  176. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +367 -0
  177. package/.docs/raw/index.mdx +9 -9
  178. package/.docs/raw/{observability/logging.mdx → logging.mdx} +4 -4
  179. package/.docs/raw/mastra-cloud/dashboard.mdx +2 -2
  180. package/.docs/raw/mastra-cloud/observability.mdx +6 -6
  181. package/.docs/raw/mastra-cloud/overview.mdx +2 -2
  182. package/.docs/raw/mastra-cloud/setting-up.mdx +4 -4
  183. package/.docs/raw/memory/conversation-history.mdx +1 -0
  184. package/.docs/raw/memory/memory-processors.mdx +4 -3
  185. package/.docs/raw/memory/overview.mdx +9 -5
  186. package/.docs/raw/memory/semantic-recall.mdx +12 -7
  187. package/.docs/raw/memory/storage/memory-with-libsql.mdx +10 -5
  188. package/.docs/raw/memory/storage/memory-with-pg.mdx +9 -4
  189. package/.docs/raw/memory/storage/memory-with-upstash.mdx +9 -4
  190. package/.docs/raw/memory/threads-and-resources.mdx +11 -13
  191. package/.docs/raw/memory/working-memory.mdx +30 -14
  192. package/.docs/raw/observability/overview.mdx +13 -30
  193. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/arize.mdx +10 -18
  194. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +7 -16
  195. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/cloud.mdx +11 -17
  196. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/default.mdx +16 -20
  197. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +7 -16
  198. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +7 -16
  199. package/.docs/raw/observability/{ai-tracing → tracing}/exporters/otel.mdx +9 -18
  200. package/.docs/raw/observability/{ai-tracing → tracing}/overview.mdx +107 -142
  201. package/.docs/raw/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +14 -13
  202. package/.docs/raw/rag/chunking-and-embedding.mdx +5 -5
  203. package/.docs/raw/rag/overview.mdx +3 -13
  204. package/.docs/raw/rag/retrieval.mdx +24 -12
  205. package/.docs/raw/rag/vector-databases.mdx +7 -1
  206. package/.docs/raw/reference/agents/agent.mdx +33 -28
  207. package/.docs/raw/reference/agents/generate.mdx +10 -10
  208. package/.docs/raw/reference/agents/generateLegacy.mdx +8 -8
  209. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +21 -15
  210. package/.docs/raw/reference/agents/getDefaultOptions.mdx +69 -0
  211. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +22 -16
  212. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  213. package/.docs/raw/reference/agents/getInstructions.mdx +8 -8
  214. package/.docs/raw/reference/agents/getLLM.mdx +9 -9
  215. package/.docs/raw/reference/agents/getMemory.mdx +9 -9
  216. package/.docs/raw/reference/agents/getModel.mdx +10 -10
  217. package/.docs/raw/reference/agents/getVoice.mdx +8 -8
  218. package/.docs/raw/reference/agents/listAgents.mdx +9 -9
  219. package/.docs/raw/reference/agents/listScorers.mdx +7 -7
  220. package/.docs/raw/reference/agents/listTools.mdx +7 -7
  221. package/.docs/raw/reference/agents/listWorkflows.mdx +7 -7
  222. package/.docs/raw/reference/agents/network.mdx +11 -10
  223. package/.docs/raw/reference/auth/auth0.mdx +4 -4
  224. package/.docs/raw/reference/auth/clerk.mdx +4 -4
  225. package/.docs/raw/reference/auth/firebase.mdx +6 -6
  226. package/.docs/raw/reference/auth/jwt.mdx +4 -4
  227. package/.docs/raw/reference/auth/supabase.mdx +4 -4
  228. package/.docs/raw/reference/auth/workos.mdx +4 -4
  229. package/.docs/raw/reference/cli/mastra.mdx +7 -7
  230. package/.docs/raw/reference/client-js/agents.mdx +6 -2
  231. package/.docs/raw/reference/client-js/mastra-client.mdx +7 -7
  232. package/.docs/raw/reference/client-js/memory.mdx +24 -16
  233. package/.docs/raw/reference/client-js/observability.mdx +11 -11
  234. package/.docs/raw/reference/client-js/workflows.mdx +6 -34
  235. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  236. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  237. package/.docs/raw/reference/core/getDeployer.mdx +2 -2
  238. package/.docs/raw/reference/core/getLogger.mdx +2 -2
  239. package/.docs/raw/reference/core/getMCPServer.mdx +31 -15
  240. package/.docs/raw/reference/core/getMCPServerById.mdx +81 -0
  241. package/.docs/raw/reference/core/getScorer.mdx +3 -3
  242. package/.docs/raw/reference/core/getScorerById.mdx +79 -0
  243. package/.docs/raw/reference/core/getServer.mdx +2 -2
  244. package/.docs/raw/reference/core/getStorage.mdx +2 -2
  245. package/.docs/raw/reference/core/getTelemetry.mdx +2 -2
  246. package/.docs/raw/reference/core/getVector.mdx +2 -2
  247. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  248. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  249. package/.docs/raw/reference/core/listLogs.mdx +2 -2
  250. package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
  251. package/.docs/raw/reference/core/listMCPServers.mdx +65 -0
  252. package/.docs/raw/reference/core/listScorers.mdx +3 -3
  253. package/.docs/raw/reference/core/listVectors.mdx +36 -0
  254. package/.docs/raw/reference/core/listWorkflows.mdx +6 -6
  255. package/.docs/raw/reference/core/mastra-class.mdx +3 -2
  256. package/.docs/raw/reference/core/setLogger.mdx +2 -2
  257. package/.docs/raw/reference/core/setStorage.mdx +3 -2
  258. package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
  259. package/.docs/raw/reference/deployer/cloudflare.mdx +2 -2
  260. package/.docs/raw/reference/deployer/deployer.mdx +0 -6
  261. package/.docs/raw/reference/deployer/netlify.mdx +2 -2
  262. package/.docs/raw/reference/deployer/vercel.mdx +3 -3
  263. package/.docs/raw/reference/evals/answer-relevancy.mdx +164 -126
  264. package/.docs/raw/reference/{scorers → evals}/answer-similarity.mdx +27 -27
  265. package/.docs/raw/reference/evals/bias.mdx +149 -115
  266. package/.docs/raw/reference/evals/completeness.mdx +148 -117
  267. package/.docs/raw/reference/evals/content-similarity.mdx +126 -113
  268. package/.docs/raw/reference/evals/context-precision.mdx +290 -133
  269. package/.docs/raw/reference/{scorers → evals}/context-relevance.mdx +6 -6
  270. package/.docs/raw/reference/{scorers → evals}/create-scorer.mdx +11 -11
  271. package/.docs/raw/reference/evals/faithfulness.mdx +163 -121
  272. package/.docs/raw/reference/evals/hallucination.mdx +159 -132
  273. package/.docs/raw/reference/evals/keyword-coverage.mdx +169 -125
  274. package/.docs/raw/reference/{scorers → evals}/mastra-scorer.mdx +5 -5
  275. package/.docs/raw/reference/{scorers → evals}/noise-sensitivity.mdx +9 -9
  276. package/.docs/raw/reference/evals/prompt-alignment.mdx +604 -182
  277. package/.docs/raw/reference/{scorers/run-experiment.mdx → evals/run-evals.mdx} +17 -18
  278. package/.docs/raw/reference/evals/textual-difference.mdx +149 -117
  279. package/.docs/raw/reference/evals/tone-consistency.mdx +149 -125
  280. package/.docs/raw/reference/{scorers → evals}/tool-call-accuracy.mdx +8 -6
  281. package/.docs/raw/reference/evals/toxicity.mdx +152 -96
  282. package/.docs/raw/reference/{observability/logging → logging}/pino-logger.mdx +2 -2
  283. package/.docs/raw/reference/memory/createThread.mdx +5 -5
  284. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -7
  285. package/.docs/raw/reference/memory/getThreadById.mdx +4 -4
  286. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +110 -0
  287. package/.docs/raw/reference/memory/memory-class.mdx +13 -9
  288. package/.docs/raw/reference/memory/query.mdx +58 -57
  289. package/.docs/raw/reference/memory/recall.mdx +185 -0
  290. package/.docs/raw/reference/observability/tracing/configuration.mdx +245 -0
  291. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/arize.mdx +13 -13
  292. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +11 -8
  293. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/cloud-exporter.mdx +21 -19
  294. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/console-exporter.mdx +49 -17
  295. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/default-exporter.mdx +42 -41
  296. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +10 -7
  297. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +10 -7
  298. package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/otel.mdx +5 -5
  299. package/.docs/raw/reference/observability/tracing/instances.mdx +168 -0
  300. package/.docs/raw/reference/observability/{ai-tracing → tracing}/interfaces.mdx +115 -89
  301. package/.docs/raw/reference/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +3 -3
  302. package/.docs/raw/reference/observability/{ai-tracing/span.mdx → tracing/spans.mdx} +59 -41
  303. package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
  304. package/.docs/raw/reference/processors/language-detector.mdx +1 -1
  305. package/.docs/raw/reference/processors/moderation-processor.mdx +1 -1
  306. package/.docs/raw/reference/processors/pii-detector.mdx +1 -1
  307. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +1 -1
  308. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +1 -1
  309. package/.docs/raw/reference/processors/token-limiter-processor.mdx +1 -1
  310. package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
  311. package/.docs/raw/reference/rag/chunk.mdx +1 -8
  312. package/.docs/raw/reference/rag/database-config.mdx +7 -7
  313. package/.docs/raw/reference/rag/metadata-filters.mdx +14 -11
  314. package/.docs/raw/reference/storage/libsql.mdx +2 -0
  315. package/.docs/raw/reference/storage/mssql.mdx +5 -0
  316. package/.docs/raw/reference/storage/postgresql.mdx +6 -0
  317. package/.docs/raw/reference/storage/upstash.mdx +1 -0
  318. package/.docs/raw/reference/streaming/agents/stream.mdx +12 -12
  319. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +8 -8
  320. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -3
  321. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +3 -3
  322. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +6 -6
  323. package/.docs/raw/reference/streaming/workflows/stream.mdx +10 -10
  324. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +11 -11
  325. package/.docs/raw/reference/templates/overview.mdx +2 -2
  326. package/.docs/raw/reference/tools/create-tool.mdx +52 -35
  327. package/.docs/raw/reference/tools/graph-rag-tool.mdx +15 -15
  328. package/.docs/raw/reference/tools/mcp-client.mdx +1 -1
  329. package/.docs/raw/reference/tools/mcp-server.mdx +119 -35
  330. package/.docs/raw/reference/tools/vector-query-tool.mdx +27 -26
  331. package/.docs/raw/reference/vectors/libsql.mdx +1 -0
  332. package/.docs/raw/reference/vectors/pg.mdx +3 -0
  333. package/.docs/raw/reference/vectors/upstash.mdx +1 -0
  334. package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
  335. package/.docs/raw/reference/voice/voice.addTools.mdx +3 -3
  336. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -4
  337. package/.docs/raw/reference/workflows/run-methods/resume.mdx +14 -14
  338. package/.docs/raw/reference/workflows/run-methods/start.mdx +17 -17
  339. package/.docs/raw/reference/workflows/run.mdx +1 -8
  340. package/.docs/raw/reference/workflows/step.mdx +5 -5
  341. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  342. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  343. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -13
  344. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  346. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +5 -0
  348. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  349. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
  352. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  353. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
  354. package/.docs/raw/reference/workflows/workflow.mdx +1 -1
  355. package/.docs/raw/server-db/custom-api-routes.mdx +2 -2
  356. package/.docs/raw/server-db/mastra-client.mdx +19 -18
  357. package/.docs/raw/server-db/middleware.mdx +7 -7
  358. package/.docs/raw/server-db/production-server.mdx +4 -4
  359. package/.docs/raw/server-db/{runtime-context.mdx → request-context.mdx} +46 -45
  360. package/.docs/raw/server-db/storage.mdx +29 -21
  361. package/.docs/raw/streaming/events.mdx +3 -3
  362. package/.docs/raw/streaming/overview.mdx +5 -5
  363. package/.docs/raw/streaming/tool-streaming.mdx +18 -17
  364. package/.docs/raw/streaming/workflow-streaming.mdx +1 -1
  365. package/.docs/raw/tools-mcp/advanced-usage.mdx +5 -4
  366. package/.docs/raw/tools-mcp/mcp-overview.mdx +32 -19
  367. package/.docs/raw/tools-mcp/overview.mdx +11 -11
  368. package/.docs/raw/voice/overview.mdx +63 -43
  369. package/.docs/raw/voice/speech-to-speech.mdx +5 -3
  370. package/.docs/raw/voice/speech-to-text.mdx +9 -8
  371. package/.docs/raw/voice/text-to-speech.mdx +12 -11
  372. package/.docs/raw/workflows/agents-and-tools.mdx +9 -5
  373. package/.docs/raw/workflows/control-flow.mdx +3 -3
  374. package/.docs/raw/workflows/error-handling.mdx +2 -21
  375. package/.docs/raw/workflows/human-in-the-loop.mdx +7 -4
  376. package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
  377. package/.docs/raw/workflows/input-data-mapping.mdx +107 -0
  378. package/.docs/raw/workflows/overview.mdx +17 -16
  379. package/.docs/raw/workflows/snapshots.mdx +13 -11
  380. package/.docs/raw/workflows/suspend-and-resume.mdx +23 -15
  381. package/CHANGELOG.md +52 -47
  382. package/README.md +11 -2
  383. package/dist/{chunk-TUAHUTTB.js → chunk-5NJC7NRO.js} +3 -0
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
  386. package/dist/prepare-docs/prepare.js +1 -1
  387. package/dist/prompts/migration.d.ts +6 -0
  388. package/dist/prompts/migration.d.ts.map +1 -0
  389. package/dist/stdio.js +402 -30
  390. package/dist/tools/migration.d.ts +40 -0
  391. package/dist/tools/migration.d.ts.map +1 -0
  392. package/package.json +8 -12
  393. package/.docs/organized/changelogs/%40mastra%2Fcloud.md +0 -302
  394. package/.docs/raw/observability/nextjs-tracing.mdx +0 -109
  395. package/.docs/raw/observability/otel-tracing.mdx +0 -189
  396. package/.docs/raw/reference/agents/getScorers.mdx +0 -69
  397. package/.docs/raw/reference/agents/getTools.mdx +0 -69
  398. package/.docs/raw/reference/agents/getWorkflows.mdx +0 -69
  399. package/.docs/raw/reference/client-js/workflows-legacy.mdx +0 -143
  400. package/.docs/raw/reference/core/getAgents.mdx +0 -35
  401. package/.docs/raw/reference/core/getLogs.mdx +0 -96
  402. package/.docs/raw/reference/core/getLogsByRunId.mdx +0 -87
  403. package/.docs/raw/reference/core/getMCPServers.mdx +0 -36
  404. package/.docs/raw/reference/core/getMemory.mdx +0 -36
  405. package/.docs/raw/reference/core/getScorerByName.mdx +0 -78
  406. package/.docs/raw/reference/core/getScorers.mdx +0 -43
  407. package/.docs/raw/reference/core/getVectors.mdx +0 -36
  408. package/.docs/raw/reference/core/getWorkflows.mdx +0 -45
  409. package/.docs/raw/reference/evals/context-position.mdx +0 -197
  410. package/.docs/raw/reference/evals/context-relevancy.mdx +0 -196
  411. package/.docs/raw/reference/evals/contextual-recall.mdx +0 -196
  412. package/.docs/raw/reference/evals/summarization.mdx +0 -212
  413. package/.docs/raw/reference/legacyWorkflows/after.mdx +0 -89
  414. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +0 -79
  415. package/.docs/raw/reference/legacyWorkflows/commit.mdx +0 -33
  416. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +0 -76
  417. package/.docs/raw/reference/legacyWorkflows/else.mdx +0 -68
  418. package/.docs/raw/reference/legacyWorkflows/events.mdx +0 -305
  419. package/.docs/raw/reference/legacyWorkflows/execute.mdx +0 -110
  420. package/.docs/raw/reference/legacyWorkflows/if.mdx +0 -108
  421. package/.docs/raw/reference/legacyWorkflows/resume.mdx +0 -158
  422. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +0 -133
  423. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +0 -207
  424. package/.docs/raw/reference/legacyWorkflows/start.mdx +0 -87
  425. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +0 -100
  426. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +0 -137
  427. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +0 -93
  428. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +0 -69
  429. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +0 -196
  430. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +0 -70
  431. package/.docs/raw/reference/legacyWorkflows/then.mdx +0 -72
  432. package/.docs/raw/reference/legacyWorkflows/until.mdx +0 -168
  433. package/.docs/raw/reference/legacyWorkflows/watch.mdx +0 -124
  434. package/.docs/raw/reference/legacyWorkflows/while.mdx +0 -168
  435. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +0 -234
  436. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +0 -79
  437. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +0 -110
  438. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +0 -185
  439. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +0 -238
  440. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +0 -117
  441. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +0 -81
  442. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +0 -121
  443. package/.docs/raw/reference/observability/otel-tracing/providers/braintrust.mdx +0 -40
  444. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +0 -40
  445. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +0 -20
  446. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +0 -73
  447. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +0 -41
  448. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +0 -84
  449. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +0 -48
  450. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +0 -43
  451. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +0 -40
  452. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +0 -40
  453. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +0 -40
  454. package/.docs/raw/reference/scorers/answer-relevancy.mdx +0 -227
  455. package/.docs/raw/reference/scorers/bias.mdx +0 -228
  456. package/.docs/raw/reference/scorers/completeness.mdx +0 -214
  457. package/.docs/raw/reference/scorers/content-similarity.mdx +0 -197
  458. package/.docs/raw/reference/scorers/context-precision.mdx +0 -352
  459. package/.docs/raw/reference/scorers/faithfulness.mdx +0 -241
  460. package/.docs/raw/reference/scorers/hallucination.mdx +0 -252
  461. package/.docs/raw/reference/scorers/keyword-coverage.mdx +0 -229
  462. package/.docs/raw/reference/scorers/prompt-alignment.mdx +0 -668
  463. package/.docs/raw/reference/scorers/textual-difference.mdx +0 -203
  464. package/.docs/raw/reference/scorers/tone-consistency.mdx +0 -211
  465. package/.docs/raw/reference/scorers/toxicity.mdx +0 -228
  466. package/.docs/raw/reference/workflows/run-methods/watch.mdx +0 -73
  467. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +0 -24
  468. package/.docs/raw/scorers/evals-old-api/overview.mdx +0 -106
  469. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +0 -85
  470. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +0 -58
  471. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +0 -50
  472. package/.docs/raw/workflows-legacy/control-flow.mdx +0 -774
  473. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +0 -239
  474. package/.docs/raw/workflows-legacy/error-handling.mdx +0 -187
  475. package/.docs/raw/workflows-legacy/nested-workflows.mdx +0 -360
  476. package/.docs/raw/workflows-legacy/overview.mdx +0 -182
  477. package/.docs/raw/workflows-legacy/runtime-variables.mdx +0 -156
  478. package/.docs/raw/workflows-legacy/steps.mdx +0 -115
  479. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +0 -406
  480. package/.docs/raw/workflows-legacy/variables.mdx +0 -318
@@ -29,12 +29,13 @@ import { Agent } from '@mastra/core/agent';
29
29
  import { weatherTool } from '../tools';
30
30
 
31
31
  export const weatherAgent = new Agent({
32
+ id: 'weather-agent',
32
33
  name: 'Weather Agent',
33
34
  instructions: `You are a helpful weather assistant that provides accurate weather information.
34
35
 
35
36
  Your primary function is to help users get weather details for specific locations. When responding:
36
37
  - Always ask for a location if none is provided
37
- - If the location name isnt in English, please translate it
38
+ - If the location name isn't in English, please translate it
38
39
  - If giving a location with multiple parts (e.g. "New York, NY"), use the most relevant part (e.g. "New York")
39
40
  - Include relevant details like humidity, wind conditions, and precipitation
40
41
  - Keep responses concise but informative
@@ -83,19 +84,17 @@ export const authConfig = getAuthProvider();
83
84
 
84
85
  ### mastra/index.ts
85
86
  ```typescript
86
- import { Mastra } from '@mastra/core';
87
+ import { Mastra } from '@mastra/core/mastra';
87
88
 
88
89
  import { weatherAgent } from './agents';
89
- import { weatherWorkflow as legacyWeatherWorkflow } from './workflows';
90
- import { weatherWorkflow } from './workflows/new-workflow';
90
+ import { weatherWorkflow } from './workflows';
91
91
  import { authConfig } from './auth';
92
92
 
93
93
  export const mastra = new Mastra({
94
94
  agents: { weatherAgent },
95
- legacy_workflows: { legacyWeatherWorkflow },
96
95
  workflows: { weatherWorkflow },
97
96
  server: {
98
- experimental_auth: authConfig,
97
+ auth: authConfig,
99
98
  },
100
99
  });
101
100
 
@@ -133,8 +132,8 @@ export const weatherTool = createTool({
133
132
  conditions: z.string(),
134
133
  location: z.string(),
135
134
  }),
136
- execute: async ({ context }) => {
137
- return await getWeather(context.location);
135
+ execute: async input => {
136
+ return await getWeather(inputData.location);
138
137
  },
139
138
  });
140
139
 
@@ -203,181 +202,13 @@ function getWeatherCondition(code: number): string {
203
202
 
204
203
  ### mastra/workflows/index.ts
205
204
  ```typescript
206
- import { openai } from '@ai-sdk/openai';
207
- import { Agent } from '@mastra/core/agent';
208
- import { Step, Workflow } from '@mastra/core/workflows';
209
- import { z } from 'zod';
210
-
211
- const agent = new Agent({
212
- name: 'Weather Agent',
213
- instructions: `
214
- You are a local activities and travel expert who excels at weather-based planning. Analyze the weather data and provide practical activity recommendations.
215
- For each day in the forecast, structure your response exactly as follows:
216
- 📅 [Day, Month Date, Year]
217
- ═══════════════════════════
218
- 🌡️ WEATHER SUMMARY
219
- • Conditions: [brief description]
220
- • Temperature: [X°C/Y°F to A°C/B°F]
221
- • Precipitation: [X% chance]
222
- 🌅 MORNING ACTIVITIES
223
- Outdoor:
224
- • [Activity Name] - [Brief description including specific location/route]
225
- Best timing: [specific time range]
226
- Note: [relevant weather consideration]
227
- 🌞 AFTERNOON ACTIVITIES
228
- Outdoor:
229
- • [Activity Name] - [Brief description including specific location/route]
230
- Best timing: [specific time range]
231
- Note: [relevant weather consideration]
232
- 🏠 INDOOR ALTERNATIVES
233
- • [Activity Name] - [Brief description including specific venue]
234
- Ideal for: [weather condition that would trigger this alternative]
235
- ⚠️ SPECIAL CONSIDERATIONS
236
- • [Any relevant weather warnings, UV index, wind conditions, etc.]
237
- Guidelines:
238
- - Suggest 2-3 time-specific outdoor activities per day
239
- - Include 1-2 indoor backup options
240
- - For precipitation >50%, lead with indoor activities
241
- - All activities must be specific to the location
242
- - Include specific venues, trails, or locations
243
- - Consider activity intensity based on temperature
244
- - Keep descriptions concise but informative
245
- Maintain this exact formatting for consistency, using the emoji and section headers as shown.
246
- `,
247
- model: openai('gpt-4o'),
248
- });
249
-
250
- const fetchWeather = new Step({
251
- id: 'fetch-weather',
252
- description: 'Fetches weather forecast for a given city',
253
- inputSchema: z.object({
254
- city: z.string().describe('The city to get the weather for'),
255
- }),
256
- execute: async ({ context }) => {
257
- const triggerData = context?.getStepResult<{ city: string }>('trigger');
258
-
259
- if (!triggerData) {
260
- throw new Error('Trigger data not found');
261
- }
262
-
263
- const geocodingUrl = `https://geocoding-api.open-meteo.com/v1/search?name=${encodeURIComponent(triggerData.city)}&count=1`;
264
- const geocodingResponse = await fetch(geocodingUrl);
265
- const geocodingData = await geocodingResponse.json();
266
-
267
- if (!geocodingData.results?.[0]) {
268
- throw new Error(`Location '${triggerData.city}' not found`);
269
- }
270
-
271
- const { latitude, longitude, name } = geocodingData.results[0];
272
-
273
- const weatherUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=temperature_2m_max,temperature_2m_min,precipitation_probability_mean,weathercode&timezone=auto`;
274
- const response = await fetch(weatherUrl);
275
- const data = await response.json();
276
-
277
- const forecast = data.daily.time.map((date: string, index: number) => ({
278
- date,
279
- maxTemp: data.daily.temperature_2m_max[index],
280
- minTemp: data.daily.temperature_2m_min[index],
281
- precipitationChance: data.daily.precipitation_probability_mean[index],
282
- condition: getWeatherCondition(data.daily.weathercode[index]),
283
- location: name,
284
- }));
285
-
286
- return forecast;
287
- },
288
- });
289
-
290
- const forecastSchema = z.array(
291
- z.object({
292
- date: z.string(),
293
- maxTemp: z.number(),
294
- minTemp: z.number(),
295
- precipitationChance: z.number(),
296
- condition: z.string(),
297
- location: z.string(),
298
- }),
299
- );
300
-
301
- const planActivities = new Step({
302
- id: 'plan-activities',
303
- description: 'Suggests activities based on weather conditions',
304
- inputSchema: forecastSchema,
305
- execute: async ({ context, mastra }) => {
306
- const forecast = context?.getStepResult<z.infer<typeof forecastSchema>>('fetch-weather');
307
-
308
- if (!forecast) {
309
- throw new Error('Forecast data not found');
310
- }
311
-
312
- const prompt = `Based on the following weather forecast for ${forecast[0].location}, suggest appropriate activities:
313
- ${JSON.stringify(forecast, null, 2)}
314
- `;
315
-
316
- const response = await agent.stream([
317
- {
318
- role: 'user',
319
- content: prompt,
320
- },
321
- ]);
322
-
323
- let activitiesText = '';
324
-
325
- for await (const chunk of response.textStream) {
326
- process.stdout.write(chunk);
327
- activitiesText += chunk;
328
- }
329
-
330
- return {
331
- activities: activitiesText,
332
- };
333
- },
334
- });
335
-
336
- function getWeatherCondition(code: number): string {
337
- const conditions: Record<number, string> = {
338
- 0: 'Clear sky',
339
- 1: 'Mainly clear',
340
- 2: 'Partly cloudy',
341
- 3: 'Overcast',
342
- 45: 'Foggy',
343
- 48: 'Depositing rime fog',
344
- 51: 'Light drizzle',
345
- 53: 'Moderate drizzle',
346
- 55: 'Dense drizzle',
347
- 61: 'Slight rain',
348
- 63: 'Moderate rain',
349
- 65: 'Heavy rain',
350
- 71: 'Slight snow fall',
351
- 73: 'Moderate snow fall',
352
- 75: 'Heavy snow fall',
353
- 95: 'Thunderstorm',
354
- };
355
- return conditions[code] || 'Unknown';
356
- }
357
-
358
- const weatherWorkflow = new Workflow({
359
- name: 'weather-workflow',
360
- triggerSchema: z.object({
361
- city: z.string().describe('The city to get the weather for'),
362
- }),
363
- })
364
- .step(fetchWeather)
365
- .then(planActivities);
366
-
367
- weatherWorkflow.commit();
368
-
369
- export { weatherWorkflow };
370
-
371
- ```
372
-
373
- ### mastra/workflows/new-workflow.ts
374
- ```typescript
375
205
  import { Agent } from '@mastra/core/agent';
376
206
  import { createStep, createWorkflow } from '@mastra/core/workflows';
377
207
  import { z } from 'zod';
378
208
  import { openai } from '@ai-sdk/openai';
379
209
 
380
210
  const agent = new Agent({
211
+ id: 'weather-agent',
381
212
  name: 'Weather Agent',
382
213
  model: openai('gpt-4o'),
383
214
  instructions: `
@@ -122,9 +122,9 @@ if (!process.env.FIREWORKS_API_KEY) {
122
122
  }
123
123
 
124
124
  export const agent = new Agent({
125
+ id: 'example-agent',
126
+ name: 'Example Agent',
125
127
  model: fireworks(`accounts/fireworks/models/deepseek-r1`),
126
-
127
- name: 'Example agent',
128
128
  instructions: `You are a helpful and intelligent AI agent.`,
129
129
  memory: new Memory(),
130
130
  });
@@ -3,19 +3,19 @@
3
3
  {
4
4
  "name": "example-headsup",
5
5
  "engines": {
6
- "node": ">=20.9.0"
6
+ "node": ">=22.13.0"
7
7
  },
8
8
  "dependencies": {
9
9
  "@ai-sdk/openai": "^1.3.23",
10
- "@mastra/core": "^0.21.1",
11
- "@mastra/libsql": "^0.15.2",
12
- "@mastra/loggers": "^0.10.16",
13
- "@mastra/memory": "^0.15.7",
10
+ "@mastra/core": "^0.23.1",
11
+ "@mastra/libsql": "^0.16.1",
12
+ "@mastra/loggers": "^0.10.18",
13
+ "@mastra/memory": "^0.15.9",
14
14
  "zod": "^3.25.76"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@types/node": "^24.3.0",
18
- "mastra": "^0.17.0",
18
+ "mastra": "^0.17.5",
19
19
  "typescript": "^5.9.2"
20
20
  }
21
21
  }
@@ -29,6 +29,7 @@ import { Memory } from '@mastra/memory';
29
29
  import { LibSQLVector } from '@mastra/libsql';
30
30
 
31
31
  export const famousPersonAgent = new Agent({
32
+ id: 'famous-person-generator',
32
33
  name: 'Famous Person Generator',
33
34
  instructions: `You are a famous person generator for a "Heads Up" guessing game.
34
35
 
@@ -67,6 +68,7 @@ import { openai } from '@ai-sdk/openai';
67
68
  import { Agent } from '@mastra/core/agent';
68
69
 
69
70
  export const gameAgent = new Agent({
71
+ id: 'game-agent',
70
72
  name: 'Game Agent',
71
73
  instructions: `You are a helpful game assistant for a "Heads Up" guessing game.
72
74
 
@@ -111,7 +113,8 @@ export const mastra = new Mastra({
111
113
  workflows: { headsUpWorkflow },
112
114
  agents: { famousPersonAgent, gameAgent, guessVerifierAgent },
113
115
  storage: new LibSQLStore({
114
- // stores telemetry, evals, ... into file storage for persistence across playground refreshes
116
+ id: 'heads-up-game-storage',
117
+ // stores observability, evals, ... into file storage for persistence across playground refreshes
115
118
  url: 'file:../mastra.db',
116
119
  }),
117
120
  logger: new PinoLogger({
@@ -34,6 +34,7 @@ import './mastra/tools/sse';
34
34
 
35
35
  console.log(chalk.blue(`Creating agent`));
36
36
  export const stockWeatherAgent = new Agent({
37
+ id: 'stock-weather-agent',
37
38
  name: 'Stock + Weather Agent',
38
39
  instructions:
39
40
  'You are a helpful assistant that provides current stock prices. When asked about a stock, use the stock price tool to fetch the stock price. You also love to check the weather when your stock market buddies ask you what the weather is.',
@@ -56,7 +57,7 @@ const mcp = new MCPClient({
56
57
  },
57
58
  });
58
59
 
59
- const toolsets = await mcp.getToolsets();
60
+ const toolsets = await mcp.listToolsets();
60
61
 
61
62
  console.log({ toolsets });
62
63
 
@@ -110,18 +111,19 @@ const mcp = new MCPClient({
110
111
  });
111
112
 
112
113
  export const stockWeatherAgent = new Agent({
114
+ id: 'stock-weather-agent',
113
115
  name: 'Stock + Weather Agent',
114
116
  instructions:
115
117
  'You are a helpful assistant that provides current stock prices. When asked about a stock, use the stock price tool to fetch the stock price. You also love to check the weather when your stock market buddies ask you what the weather is.',
116
118
  model: openai('gpt-4o'),
117
- tools: await mcp.getTools(),
119
+ tools: await mcp.listTools(),
118
120
  });
119
121
 
120
122
  ```
121
123
 
122
124
  ### mastra/index.ts
123
125
  ```typescript
124
- import { Mastra } from '@mastra/core';
126
+ import { Mastra } from '@mastra/core/mastra';
125
127
 
126
128
  import { stockWeatherAgent } from './agents';
127
129
 
@@ -28,17 +28,18 @@ const mcp = new MCPClient({
28
28
  });
29
29
 
30
30
  export const mcpRegistryAgent = new Agent({
31
+ id: 'mcp-registry-agent',
31
32
  name: 'MCP Registry Agent',
32
33
  instructions: `You are a helpful assistant that provides information about MCP registries. You can search for registries by ID, tag, or name.`,
33
34
  model: openai('gpt-4o'),
34
- tools: await mcp.getTools(),
35
+ tools: await mcp.listTools(),
35
36
  });
36
37
 
37
38
  ```
38
39
 
39
40
  ### mastra/index.ts
40
41
  ```typescript
41
- import { Mastra } from '@mastra/core';
42
+ import { Mastra } from '@mastra/core/mastra';
42
43
  import { PinoLogger } from '@mastra/loggers';
43
44
  import { mcpRegistryAgent } from './agents/index';
44
45
 
@@ -166,6 +166,7 @@ import { LibSQLStore } from '@mastra/libsql';
166
166
 
167
167
  // Create LibSQL storage for persistent per-resource working memory
168
168
  const storage = new LibSQLStore({
169
+ id: 'memory-demo-storage',
169
170
  url: 'file:./memory-demo.db',
170
171
  });
171
172
 
@@ -175,7 +176,7 @@ export const memory = new Memory({
175
176
  lastMessages: 5,
176
177
  workingMemory: {
177
178
  enabled: true,
178
- scope: 'resource', // 🆕 NEW: Per-resource working memory!
179
+ scope: 'resource', // Default: Per-resource working memory persists across all threads
179
180
  template: `# User Profile
180
181
  - **Name**:
181
182
  - **Location**:
@@ -189,6 +190,7 @@ export const memory = new Memory({
189
190
  });
190
191
 
191
192
  export const assistantAgent = new Agent({
193
+ id: 'personal-assistant',
192
194
  name: 'Personal Assistant',
193
195
  instructions: `You are a helpful personal assistant with persistent memory across ALL conversations.
194
196
 
@@ -212,7 +214,7 @@ When you first meet someone, ask for their name and learn about them. In subsequ
212
214
 
213
215
  ### mastra/index.ts
214
216
  ```typescript
215
- import { Mastra } from '@mastra/core';
217
+ import { Mastra } from '@mastra/core/mastra';
216
218
  import { assistantAgent } from './agents';
217
219
 
218
220
  export const mastra = new Mastra({
@@ -128,6 +128,7 @@ const memory = new Memory({
128
128
  });
129
129
 
130
130
  export const todoAgent = new Agent({
131
+ id: 'todo-agent',
131
132
  name: 'TODO Agent',
132
133
  instructions:
133
134
  'You are a helpful todolist AI agent. Help the user manage their todolist. If there is no list yet ask them what to add! If there is a list always print it out when the chat starts. For each item add emojis, dates, titles (with an index number starting at 1), descriptions, and statuses. For each piece of info add an emoji to the left of it. Also support subtask lists with bullet points inside a box. Help the user timebox each task by asking them how long it will take. You MUST save the todolist in every response message by printing out <working_memory> blocks. If you do not save it in working_memory you will forget - you only have access to one previous message at any time. The user is expecting you to save your memory in every interaction. If the user expresses any preference on how the list should be displayed, save that info in working_memory so you know how to format it later.',
@@ -134,6 +134,7 @@ const memory = new Memory({
134
134
  });
135
135
 
136
136
  export const memoryAgent = new Agent({
137
+ id: 'memory-agent',
137
138
  name: 'Memory Agent',
138
139
  instructions: 'You are a helpful AI agent, looking to assist however you can.',
139
140
  model: openai('gpt-4o-mini'),
@@ -144,7 +145,7 @@ export const memoryAgent = new Agent({
144
145
 
145
146
  ### mastra/index.ts
146
147
  ```typescript
147
- import { Mastra } from '@mastra/core';
148
+ import { Mastra } from '@mastra/core/mastra';
148
149
 
149
150
  import { memoryAgent } from './agents';
150
151
 
@@ -160,7 +160,8 @@ const memory = new Memory({
160
160
  });
161
161
 
162
162
  export const chefAgent = new Agent({
163
- name: 'chefAgent',
163
+ id: 'chef-agent',
164
+ name: 'Chef Agent',
164
165
  instructions:
165
166
  'You are Michel, a practical and experienced home chef who helps people cook great meals with whatever ingredients they have available. Your first priority is understanding what ingredients and equipment the user has access to, then suggesting achievable recipes. You explain cooking steps clearly and offer substitutions when needed, maintaining a friendly and encouraging tone throughout.',
166
167
  model: openai('gpt-4o'),
@@ -168,6 +169,7 @@ export const chefAgent = new Agent({
168
169
  });
169
170
 
170
171
  export const memoryAgent = new Agent({
172
+ id: 'memory-agent',
171
173
  name: 'Memory Agent',
172
174
  instructions:
173
175
  "You are an AI agent with the ability to automatically recall memories from previous interactions. You may have conversations that last hours, days, months, or years. If you don't know it already you should ask for the users name and some info about them.",
@@ -179,7 +181,7 @@ export const memoryAgent = new Agent({
179
181
 
180
182
  ### mastra/index.ts
181
183
  ```typescript
182
- import { Mastra } from '@mastra/core';
184
+ import { Mastra } from '@mastra/core/mastra';
183
185
 
184
186
  import { chefAgent, memoryAgent } from './agents';
185
187
 
@@ -176,7 +176,8 @@ export const memory = new Memory({
176
176
  });
177
177
 
178
178
  export const chefAgent = new Agent({
179
- name: 'chefAgent',
179
+ id: 'chef-agent',
180
+ name: 'Chef Agent',
180
181
  instructions:
181
182
  'You are Michel, a practical and experienced home chef who helps people cook great meals with whatever ingredients they have available. Your first priority is understanding what ingredients and equipment the user has access to, then suggesting achievable recipes. You explain cooking steps clearly and offer substitutions when needed, maintaining a friendly and encouraging tone throughout.',
182
183
  model: openai('gpt-4o'),
@@ -184,6 +185,7 @@ export const chefAgent = new Agent({
184
185
  });
185
186
 
186
187
  export const memoryAgent = new Agent({
188
+ id: 'memory-agent',
187
189
  name: 'Memory Agent',
188
190
  instructions:
189
191
  "You are an AI agent with the ability to automatically recall memories from previous interactions. You may have conversations that last hours, days, months, or years. If you don't know it already you should ask for the users name and some info about them.",
@@ -195,7 +197,7 @@ export const memoryAgent = new Agent({
195
197
 
196
198
  ### mastra/index.ts
197
199
  ```typescript
198
- import { Mastra } from '@mastra/core';
200
+ import { Mastra } from '@mastra/core/mastra';
199
201
 
200
202
  import 'dotenv/config';
201
203
 
@@ -179,7 +179,8 @@ export const memory = new Memory({
179
179
  });
180
180
 
181
181
  export const chefAgent = new Agent({
182
- name: 'chefAgent',
182
+ id: 'chef-agent',
183
+ name: 'Chef Agent',
183
184
  instructions:
184
185
  'You are Michel, a practical and experienced home chef who helps people cook great meals with whatever ingredients they have available. Your first priority is understanding what ingredients and equipment the user has access to, then suggesting achievable recipes. You explain cooking steps clearly and offer substitutions when needed, maintaining a friendly and encouraging tone throughout.',
185
186
  model: openai('gpt-4o'),
@@ -187,6 +188,7 @@ export const chefAgent = new Agent({
187
188
  });
188
189
 
189
190
  export const memoryAgent = new Agent({
191
+ id: 'memory-agent',
190
192
  name: 'Memory Agent',
191
193
  instructions:
192
194
  "You are an AI agent with the ability to automatically recall memories from previous interactions. You may have conversations that last hours, days, months, or years. If you don't know it already you should ask for the users name and some info about them.",
@@ -198,7 +200,7 @@ export const memoryAgent = new Agent({
198
200
 
199
201
  ### mastra/index.ts
200
202
  ```typescript
201
- import { Mastra } from '@mastra/core';
203
+ import { Mastra } from '@mastra/core/mastra';
202
204
 
203
205
  import 'dotenv/config';
204
206
 
@@ -25,7 +25,7 @@ import Readline from 'readline';
25
25
 
26
26
  import { openai } from '@ai-sdk/openai';
27
27
  import { Agent } from '@mastra/core/agent';
28
- import type { CoreMessage } from '@mastra/core';
28
+ import type { CoreMessage } from '@mastra/core/llm';
29
29
  import { MemoryProcessor, MemoryProcessorOpts } from '@mastra/core/memory';
30
30
  import { Memory } from '@mastra/memory';
31
31
 
@@ -65,6 +65,7 @@ class ForgetfulProcessor extends MemoryProcessor {
65
65
 
66
66
  // Interviewer agent that accidentally forgets your name all the time
67
67
  const agent = new Agent({
68
+ id: 'forgetful-job-interviewer',
68
69
  name: 'Forgetful Job Interviewer',
69
70
  instructions:
70
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",
@@ -137,9 +138,9 @@ while (true) {
137
138
  ### mastra/agents/index.ts
138
139
  ```typescript
139
140
  import { openai } from '@ai-sdk/openai';
140
- import { createTool } from '@mastra/core';
141
+ import { createTool } from '@mastra/core/tools';
141
142
  import { Agent } from '@mastra/core/agent';
142
- import type { CoreMessage } from '@mastra/core';
143
+ import type { CoreMessage } from '@mastra/core/llm';
143
144
  import { MemoryProcessor, MemoryProcessorOpts } from '@mastra/core/memory';
144
145
  import { Memory } from '@mastra/memory';
145
146
  import { TokenLimiter, ToolCallFilter } from '@mastra/memory/processors';
@@ -196,9 +197,9 @@ const searchTool = createTool({
196
197
  inputSchema: z.object({
197
198
  query: z.string().describe('The search query'),
198
199
  }),
199
- execute: async ({ context: { query } }) => {
200
+ execute: async input => {
200
201
  // Simulate web search results
201
- return `Search results for "${query}":
202
+ return `Search results for "${inputData.query}":
202
203
  1. Top result with important information
203
204
  2. Secondary information related to the query
204
205
  3. Additional context that might be helpful`;
@@ -207,6 +208,7 @@ const searchTool = createTool({
207
208
 
208
209
  // Technical support agent with token limiting
209
210
  export const supportAgent = new Agent({
211
+ id: 'technical-support',
210
212
  name: 'Technical Support',
211
213
  instructions:
212
214
  'You are a technical support agent who helps users solve software problems. You provide clear, step-by-step instructions and ask clarifying questions when needed. You remember details from earlier in the conversation. Your goal is to efficiently resolve user issues.',
@@ -231,6 +233,7 @@ const interviewMemory = new Memory({
231
233
 
232
234
  // Interviewer agent that filters out tool calls and sensitive content
233
235
  export const interviewerAgent = new Agent({
236
+ id: 'forgetful-job-interviewer',
234
237
  name: 'Forgetful Job Interviewer',
235
238
  instructions:
236
239
  "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",
@@ -242,7 +245,7 @@ export const interviewerAgent = new Agent({
242
245
 
243
246
  ### mastra/index.ts
244
247
  ```typescript
245
- import { Mastra } from '@mastra/core';
248
+ import { Mastra } from '@mastra/core/mastra';
246
249
 
247
250
  import { supportAgent, interviewerAgent } from './agents';
248
251
 
@@ -256,7 +259,7 @@ export const mastra = new Mastra({
256
259
  ```typescript
257
260
  import 'dotenv/config';
258
261
  import { openai } from '@ai-sdk/openai';
259
- import { Mastra } from '@mastra/core';
262
+ import { Mastra } from '@mastra/core/mastra';
260
263
  import { PinoLogger } from '@mastra/loggers';
261
264
  import { createTool } from '@mastra/core/tools';
262
265
  import { Agent } from '@mastra/core/agent';
@@ -340,6 +343,7 @@ const memory = new Memory({
340
343
 
341
344
  // Create an agent with the test tool
342
345
  const tokenTestAgent = new Agent({
346
+ id: 'token-test-agent',
343
347
  name: 'Token Test Agent',
344
348
  instructions: 'You help test token limiting by calling tools that return large amounts of data.',
345
349
  model: openai('gpt-4o-mini'),
@@ -447,7 +451,7 @@ import { openai } from '@ai-sdk/openai';
447
451
  import { Agent } from '@mastra/core/agent';
448
452
  import { Memory } from '@mastra/memory';
449
453
  import { TokenLimiter } from '@mastra/memory/processors';
450
- import { Mastra } from '@mastra/core';
454
+ import { Mastra } from '@mastra/core/mastra';
451
455
  import { PinoLogger } from '@mastra/loggers';
452
456
 
453
457
  const memory = new Memory({
@@ -459,6 +463,7 @@ const memory = new Memory({
459
463
  });
460
464
 
461
465
  const techSupport = new Agent({
466
+ id: 'technical-support',
462
467
  name: 'Technical Support',
463
468
  instructions:
464
469
  'You are a technical support agent who helps users solve software problems. You provide concise, short, instructions and ask clarifying questions when needed. You remember details from earlier in the conversation. Your goal is to efficiently resolve user issues. Make sure you provide concise responses without tons of text',
@@ -203,7 +203,7 @@ main();
203
203
  ### mastra/agents/index.ts
204
204
  ```typescript
205
205
  import { openai } from '@ai-sdk/openai';
206
- import { Agent } from '@mastra/core';
206
+ import { Agent } from '@mastra/core/agent';
207
207
  import { Memory } from '@mastra/memory';
208
208
  import { PgVector } from '@mastra/pg';
209
209
  import { UpstashStore } from '@mastra/upstash';
@@ -224,7 +224,8 @@ const memory = new Memory({
224
224
  });
225
225
 
226
226
  export const chefAgent = new Agent({
227
- name: 'chefAgent',
227
+ id: 'chef-agent',
228
+ name: 'Chef Agent',
228
229
  memory,
229
230
  instructions:
230
231
  'You are Michel, a practical and experienced home chef who helps people cook great meals with whatever ingredients they have available. Your first priority is understanding what ingredients and equipment the user has access to, then suggesting achievable recipes. You explain cooking steps clearly and offer substitutions when needed, maintaining a friendly and encouraging tone throughout.',
@@ -232,6 +233,7 @@ export const chefAgent = new Agent({
232
233
  });
233
234
 
234
235
  export const memoryAgent = new Agent({
236
+ id: 'memory-agent',
235
237
  name: 'Memory Agent',
236
238
  memory,
237
239
  instructions:
@@ -243,7 +245,7 @@ export const memoryAgent = new Agent({
243
245
 
244
246
  ### mastra/index.ts
245
247
  ```typescript
246
- import { Mastra } from '@mastra/core';
248
+ import { Mastra } from '@mastra/core/mastra';
247
249
 
248
250
  import { chefAgent, memoryAgent } from './agents';
249
251