@mastra/mcp-docs-server 1.0.0-beta.9 → 1.0.1

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 (541) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +3 -1
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +3 -1
  3. package/.docs/organized/changelogs/%40internal%2Fplayground.md +60 -0
  4. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +15 -15
  5. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +3 -1
  6. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
  7. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +302 -302
  8. package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
  9. package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
  11. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
  12. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +239 -239
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
  14. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
  15. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +202 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
  17. package/.docs/organized/changelogs/%40mastra%2Fcore.md +348 -348
  18. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +287 -287
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +106 -106
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +90 -90
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +86 -86
  23. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +221 -221
  24. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
  26. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
  27. package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
  28. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
  29. package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
  30. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +625 -229
  31. package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +245 -245
  33. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
  34. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +281 -281
  35. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
  36. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
  37. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
  38. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
  39. package/.docs/organized/changelogs/%40mastra%2Fpg.md +781 -235
  40. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
  41. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +282 -282
  42. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
  43. package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
  44. package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -237
  45. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
  46. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
  47. package/.docs/organized/changelogs/%40mastra%2Fserver.md +230 -230
  48. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
  49. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
  50. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
  62. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
  63. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
  64. package/.docs/organized/changelogs/create-mastra.md +219 -219
  65. package/.docs/organized/changelogs/mastra.md +276 -276
  66. package/.docs/organized/code-examples/a2a.md +2 -2
  67. package/.docs/organized/code-examples/agent-v6.md +221 -0
  68. package/.docs/organized/code-examples/agui.md +4 -4
  69. package/.docs/organized/code-examples/ai-elements.md +3 -3
  70. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  71. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
  72. package/.docs/organized/code-examples/assistant-ui.md +5 -5
  73. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  74. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  75. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
  76. package/.docs/organized/code-examples/client-side-tools.md +4 -4
  77. package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
  78. package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
  79. package/.docs/organized/code-examples/fireworks-r1.md +2 -2
  80. package/.docs/organized/code-examples/heads-up-game.md +7 -7
  81. package/.docs/organized/code-examples/inngest.md +1075 -0
  82. package/.docs/organized/code-examples/mcp-configuration.md +1 -1
  83. package/.docs/organized/code-examples/mcp-server-adapters.md +2 -2
  84. package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
  85. package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
  86. package/.docs/organized/code-examples/memory-with-context.md +1 -1
  87. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  88. package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
  89. package/.docs/organized/code-examples/quick-start.md +1 -5
  90. package/.docs/organized/code-examples/server-app-access.md +2 -2
  91. package/.docs/organized/code-examples/server-express-adapter.md +1 -1
  92. package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
  93. package/.docs/organized/code-examples/server-hono-adapter.md +2 -2
  94. package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
  95. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  96. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  97. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  98. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  99. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  100. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  101. package/.docs/raw/agents/adding-voice.mdx +24 -6
  102. package/.docs/raw/agents/agent-approval.mdx +209 -12
  103. package/.docs/raw/agents/agent-memory.mdx +36 -32
  104. package/.docs/raw/agents/guardrails.mdx +105 -56
  105. package/.docs/raw/agents/network-approval.mdx +281 -0
  106. package/.docs/raw/agents/networks.mdx +69 -13
  107. package/.docs/raw/agents/overview.mdx +43 -25
  108. package/.docs/raw/agents/processors.mdx +234 -17
  109. package/.docs/raw/agents/structured-output.mdx +78 -8
  110. package/.docs/raw/agents/using-tools.mdx +67 -6
  111. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  112. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  113. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  114. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  115. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  116. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  117. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  118. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  119. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
  120. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  121. package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
  122. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  123. package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
  124. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
  125. package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
  126. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
  127. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
  128. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
  129. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
  130. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  131. package/.docs/raw/deployment/cloud-providers.mdx +22 -0
  132. package/.docs/raw/deployment/mastra-server.mdx +140 -0
  133. package/.docs/raw/deployment/monorepo.mdx +106 -42
  134. package/.docs/raw/deployment/overview.mdx +35 -48
  135. package/.docs/raw/deployment/web-framework.mdx +17 -19
  136. package/.docs/raw/deployment/workflow-runners.mdx +16 -0
  137. package/.docs/raw/evals/built-in-scorers.mdx +2 -0
  138. package/.docs/raw/evals/custom-scorers.mdx +60 -12
  139. package/.docs/raw/evals/overview.mdx +6 -6
  140. package/.docs/raw/evals/running-in-ci.mdx +4 -2
  141. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  142. package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
  143. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  144. package/.docs/raw/getting-started/start.mdx +17 -1
  145. package/.docs/raw/getting-started/studio.mdx +6 -35
  146. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +23 -33
  147. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
  148. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  149. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
  150. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  151. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  152. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  153. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  154. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
  155. package/.docs/raw/guides/deployment/index.mdx +32 -0
  156. package/.docs/raw/guides/deployment/inngest.mdx +673 -0
  157. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  158. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  159. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  160. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  161. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  162. package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
  163. package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
  164. package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
  165. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  166. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  167. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  168. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  169. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  170. package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
  171. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  172. package/.docs/raw/guides/guide/web-search.mdx +38 -38
  173. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  174. package/.docs/raw/guides/index.mdx +0 -1
  175. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  176. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
  177. package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
  178. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
  179. package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
  180. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
  181. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
  182. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
  183. package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
  184. package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
  185. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
  186. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
  187. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
  188. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
  189. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  190. package/.docs/raw/index.mdx +2 -2
  191. package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
  192. package/.docs/raw/mastra-cloud/observability.mdx +43 -0
  193. package/.docs/raw/mastra-cloud/overview.mdx +31 -0
  194. package/.docs/raw/mastra-cloud/setup.mdx +64 -0
  195. package/.docs/raw/mastra-cloud/studio.mdx +35 -0
  196. package/.docs/raw/mcp/overview.mdx +60 -25
  197. package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
  198. package/.docs/raw/memory/memory-processors.mdx +17 -12
  199. package/.docs/raw/memory/message-history.mdx +72 -0
  200. package/.docs/raw/memory/overview.mdx +38 -76
  201. package/.docs/raw/memory/semantic-recall.mdx +65 -52
  202. package/.docs/raw/memory/storage.mdx +248 -0
  203. package/.docs/raw/memory/working-memory.mdx +24 -13
  204. package/.docs/raw/observability/logging.mdx +16 -15
  205. package/.docs/raw/observability/overview.mdx +27 -7
  206. package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
  207. package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
  208. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
  209. package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
  210. package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
  211. package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
  212. package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
  213. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
  214. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
  215. package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
  216. package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
  217. package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
  218. package/.docs/raw/observability/tracing/overview.mdx +388 -108
  219. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
  220. package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
  221. package/.docs/raw/rag/graph-rag.mdx +223 -0
  222. package/.docs/raw/rag/overview.mdx +6 -3
  223. package/.docs/raw/rag/retrieval.mdx +53 -57
  224. package/.docs/raw/rag/vector-databases.mdx +55 -31
  225. package/.docs/raw/reference/agents/agent.mdx +17 -14
  226. package/.docs/raw/reference/agents/generate.mdx +172 -44
  227. package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
  228. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
  229. package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
  230. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
  231. package/.docs/raw/reference/agents/getDescription.mdx +3 -1
  232. package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
  233. package/.docs/raw/reference/agents/getLLM.mdx +5 -3
  234. package/.docs/raw/reference/agents/getMemory.mdx +5 -3
  235. package/.docs/raw/reference/agents/getModel.mdx +5 -3
  236. package/.docs/raw/reference/agents/getTools.mdx +4 -2
  237. package/.docs/raw/reference/agents/getVoice.mdx +4 -2
  238. package/.docs/raw/reference/agents/listAgents.mdx +4 -2
  239. package/.docs/raw/reference/agents/listScorers.mdx +5 -3
  240. package/.docs/raw/reference/agents/listTools.mdx +4 -2
  241. package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
  242. package/.docs/raw/reference/agents/network.mdx +113 -1
  243. package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
  244. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
  245. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
  246. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
  247. package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
  248. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
  249. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
  250. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
  251. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
  252. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
  253. package/.docs/raw/reference/auth/auth0.mdx +5 -3
  254. package/.docs/raw/reference/auth/clerk.mdx +5 -3
  255. package/.docs/raw/reference/auth/firebase.mdx +6 -5
  256. package/.docs/raw/reference/auth/jwt.mdx +5 -3
  257. package/.docs/raw/reference/auth/supabase.mdx +5 -3
  258. package/.docs/raw/reference/auth/workos.mdx +5 -3
  259. package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
  260. package/.docs/raw/reference/cli/mastra.mdx +63 -15
  261. package/.docs/raw/reference/client-js/agents.mdx +77 -35
  262. package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
  263. package/.docs/raw/reference/client-js/logs.mdx +2 -0
  264. package/.docs/raw/reference/client-js/mastra-client.mdx +4 -2
  265. package/.docs/raw/reference/client-js/memory.mdx +43 -1
  266. package/.docs/raw/reference/client-js/observability.mdx +2 -0
  267. package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
  268. package/.docs/raw/reference/client-js/tools.mdx +2 -0
  269. package/.docs/raw/reference/client-js/vectors.mdx +2 -0
  270. package/.docs/raw/reference/client-js/workflows.mdx +47 -3
  271. package/.docs/raw/reference/configuration.mdx +761 -0
  272. package/.docs/raw/reference/core/addGateway.mdx +2 -0
  273. package/.docs/raw/reference/core/getAgent.mdx +3 -1
  274. package/.docs/raw/reference/core/getAgentById.mdx +3 -1
  275. package/.docs/raw/reference/core/getDeployer.mdx +3 -1
  276. package/.docs/raw/reference/core/getGateway.mdx +2 -0
  277. package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
  278. package/.docs/raw/reference/core/getLogger.mdx +3 -1
  279. package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
  280. package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
  281. package/.docs/raw/reference/core/getMemory.mdx +7 -3
  282. package/.docs/raw/reference/core/getScorer.mdx +2 -0
  283. package/.docs/raw/reference/core/getScorerById.mdx +2 -0
  284. package/.docs/raw/reference/core/getServer.mdx +6 -4
  285. package/.docs/raw/reference/core/getStorage.mdx +5 -3
  286. package/.docs/raw/reference/core/getStoredAgentById.mdx +6 -4
  287. package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
  288. package/.docs/raw/reference/core/getVector.mdx +3 -1
  289. package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
  290. package/.docs/raw/reference/core/listAgents.mdx +3 -1
  291. package/.docs/raw/reference/core/listGateways.mdx +2 -0
  292. package/.docs/raw/reference/core/listLogs.mdx +3 -1
  293. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
  294. package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
  295. package/.docs/raw/reference/core/listMemory.mdx +8 -4
  296. package/.docs/raw/reference/core/listScorers.mdx +2 -0
  297. package/.docs/raw/reference/core/listStoredAgents.mdx +7 -5
  298. package/.docs/raw/reference/core/listVectors.mdx +3 -1
  299. package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
  300. package/.docs/raw/reference/core/mastra-class.mdx +27 -20
  301. package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
  302. package/.docs/raw/reference/core/setLogger.mdx +3 -1
  303. package/.docs/raw/reference/core/setStorage.mdx +6 -4
  304. package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
  305. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  306. package/.docs/raw/reference/deployer/netlify.mdx +4 -1
  307. package/.docs/raw/reference/deployer/vercel.mdx +5 -4
  308. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
  309. package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
  310. package/.docs/raw/reference/evals/bias.mdx +4 -1
  311. package/.docs/raw/reference/evals/completeness.mdx +4 -1
  312. package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
  313. package/.docs/raw/reference/evals/context-precision.mdx +4 -1
  314. package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
  315. package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
  316. package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
  317. package/.docs/raw/reference/evals/hallucination.mdx +4 -1
  318. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
  319. package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
  320. package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
  321. package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
  322. package/.docs/raw/reference/evals/run-evals.mdx +3 -1
  323. package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
  324. package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
  325. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
  326. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
  327. package/.docs/raw/reference/evals/toxicity.mdx +4 -1
  328. package/.docs/raw/reference/index.mdx +2 -1
  329. package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
  330. package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
  331. package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
  332. package/.docs/raw/reference/memory/createThread.mdx +6 -4
  333. package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
  334. package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
  335. package/.docs/raw/reference/memory/listThreads.mdx +187 -0
  336. package/.docs/raw/reference/memory/memory-class.mdx +27 -20
  337. package/.docs/raw/reference/memory/recall.mdx +6 -4
  338. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
  339. package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
  340. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
  341. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
  342. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
  343. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
  344. package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
  345. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
  346. package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
  347. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
  348. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
  349. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
  350. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
  351. package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
  352. package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
  353. package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
  354. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
  355. package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
  356. package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
  357. package/.docs/raw/reference/processors/language-detector.mdx +6 -3
  358. package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
  359. package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
  360. package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
  361. package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
  362. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
  363. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
  364. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
  365. package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
  366. package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
  367. package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
  368. package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
  369. package/.docs/raw/reference/rag/chunk.mdx +7 -6
  370. package/.docs/raw/reference/rag/database-config.mdx +8 -6
  371. package/.docs/raw/reference/rag/document.mdx +2 -0
  372. package/.docs/raw/reference/rag/embeddings.mdx +2 -0
  373. package/.docs/raw/reference/rag/extract-params.mdx +57 -3
  374. package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
  375. package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
  376. package/.docs/raw/reference/rag/rerank.mdx +2 -0
  377. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
  378. package/.docs/raw/reference/server/create-route.mdx +34 -18
  379. package/.docs/raw/reference/server/express-adapter.mdx +27 -51
  380. package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
  381. package/.docs/raw/reference/server/hono-adapter.mdx +27 -51
  382. package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
  383. package/.docs/raw/reference/server/mastra-server.mdx +52 -34
  384. package/.docs/raw/reference/server/routes.mdx +73 -10
  385. package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
  386. package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
  387. package/.docs/raw/reference/storage/composite.mdx +245 -0
  388. package/.docs/raw/reference/storage/convex.mdx +8 -6
  389. package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
  390. package/.docs/raw/reference/storage/lance.mdx +9 -5
  391. package/.docs/raw/reference/storage/libsql.mdx +76 -54
  392. package/.docs/raw/reference/storage/mongodb.mdx +115 -16
  393. package/.docs/raw/reference/storage/mssql.mdx +11 -6
  394. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
  395. package/.docs/raw/reference/storage/postgresql.mdx +228 -83
  396. package/.docs/raw/reference/storage/upstash.mdx +78 -2
  397. package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
  398. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
  399. package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
  400. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
  401. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
  402. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
  403. package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
  404. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
  405. package/.docs/raw/reference/templates/overview.mdx +3 -2
  406. package/.docs/raw/reference/tools/client.mdx +3 -0
  407. package/.docs/raw/reference/tools/create-tool.mdx +127 -5
  408. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
  409. package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
  410. package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
  411. package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
  412. package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
  413. package/.docs/raw/reference/vectors/astra.mdx +5 -3
  414. package/.docs/raw/reference/vectors/chroma.mdx +5 -3
  415. package/.docs/raw/reference/vectors/convex.mdx +14 -12
  416. package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
  417. package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
  418. package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
  419. package/.docs/raw/reference/vectors/lance.mdx +6 -4
  420. package/.docs/raw/reference/vectors/libsql.mdx +66 -13
  421. package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
  422. package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
  423. package/.docs/raw/reference/vectors/pg.mdx +58 -6
  424. package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
  425. package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
  426. package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
  427. package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
  428. package/.docs/raw/reference/vectors/upstash.mdx +60 -6
  429. package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
  430. package/.docs/raw/reference/voice/azure.mdx +2 -0
  431. package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
  432. package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
  433. package/.docs/raw/reference/voice/deepgram.mdx +2 -0
  434. package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
  435. package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
  436. package/.docs/raw/reference/voice/google.mdx +2 -0
  437. package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
  438. package/.docs/raw/reference/voice/murf.mdx +2 -0
  439. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
  440. package/.docs/raw/reference/voice/openai.mdx +2 -0
  441. package/.docs/raw/reference/voice/playai.mdx +2 -0
  442. package/.docs/raw/reference/voice/sarvam.mdx +2 -0
  443. package/.docs/raw/reference/voice/speechify.mdx +2 -0
  444. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
  445. package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
  446. package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
  447. package/.docs/raw/reference/voice/voice.close.mdx +3 -0
  448. package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
  449. package/.docs/raw/reference/voice/voice.events.mdx +2 -0
  450. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
  451. package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
  452. package/.docs/raw/reference/voice/voice.off.mdx +2 -0
  453. package/.docs/raw/reference/voice/voice.on.mdx +5 -1
  454. package/.docs/raw/reference/voice/voice.send.mdx +4 -0
  455. package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
  456. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
  457. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
  458. package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
  459. package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
  460. package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
  461. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
  462. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
  463. package/.docs/raw/reference/workflows/run.mdx +11 -3
  464. package/.docs/raw/reference/workflows/step.mdx +56 -3
  465. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
  466. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
  467. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
  468. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
  469. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
  470. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
  471. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
  472. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
  473. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
  474. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
  475. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
  476. package/.docs/raw/reference/workflows/workflow.mdx +193 -2
  477. package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
  478. package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
  479. package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
  480. package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
  481. package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
  482. package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
  483. package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
  484. package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
  485. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
  486. package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
  487. package/.docs/raw/server/mastra-server.mdx +86 -0
  488. package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
  489. package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
  490. package/.docs/raw/{server-db → server}/server-adapters.mdx +154 -33
  491. package/.docs/raw/streaming/events.mdx +16 -7
  492. package/.docs/raw/streaming/overview.mdx +30 -17
  493. package/.docs/raw/streaming/tool-streaming.mdx +8 -6
  494. package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
  495. package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
  496. package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
  497. package/.docs/raw/tools-mcp/overview.mdx +14 -13
  498. package/.docs/raw/voice/overview.mdx +17 -2
  499. package/.docs/raw/voice/speech-to-speech.mdx +5 -0
  500. package/.docs/raw/voice/speech-to-text.mdx +4 -0
  501. package/.docs/raw/voice/text-to-speech.mdx +3 -0
  502. package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
  503. package/.docs/raw/workflows/control-flow.mdx +369 -34
  504. package/.docs/raw/workflows/error-handling.mdx +192 -18
  505. package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
  506. package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
  507. package/.docs/raw/workflows/overview.mdx +80 -34
  508. package/.docs/raw/workflows/snapshots.mdx +19 -45
  509. package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
  510. package/.docs/raw/workflows/time-travel.mdx +25 -21
  511. package/.docs/raw/workflows/workflow-state.mdx +7 -8
  512. package/CHANGELOG.md +260 -0
  513. package/README.md +36 -0
  514. package/dist/index.d.ts.map +1 -1
  515. package/dist/logger.d.ts +3 -0
  516. package/dist/logger.d.ts.map +1 -1
  517. package/dist/stdio.js +746 -49
  518. package/dist/tools/course.d.ts.map +1 -1
  519. package/dist/tools/embedded-docs.d.ts +276 -0
  520. package/dist/tools/embedded-docs.d.ts.map +1 -0
  521. package/package.json +9 -8
  522. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  523. package/.docs/raw/deployment/building-mastra.mdx +0 -73
  524. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  525. package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
  526. package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
  527. package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
  528. package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
  529. package/.docs/raw/memory/conversation-history.mdx +0 -24
  530. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  531. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  532. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  533. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  534. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
  535. package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
  536. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
  537. package/.docs/raw/reference/memory/query.mdx +0 -189
  538. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
  539. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
  540. package/.docs/raw/server-db/mastra-server.mdx +0 -97
  541. package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
@@ -7,8 +7,160 @@ description: "Learn how to migrate storage-related changes when upgrading to v1.
7
7
 
8
8
  Storage APIs have been standardized with consistent pagination and naming patterns across all methods.
9
9
 
10
+ ## Database Migration
11
+
12
+ Run these SQL migrations through your normal migration process (e.g., Prisma Migrate, Drizzle Kit, or your DBA review process).
13
+
14
+ ### Scorers table column rename
15
+
16
+ The `runtimeContext` column in `mastra_scorers` was renamed to `requestContext`.
17
+
18
+ :::note[Who needs this migration]
19
+ Only if you use `@mastra/pg` or `@mastra/libsql` with evals/scoring and have existing data in the `runtimeContext` column.
20
+ :::
21
+
22
+ :::important[What breaks without it]
23
+ Existing score records won't have their request context data accessible.
24
+ :::
25
+
26
+ After deploying v1 (which adds the new `requestContext` column on init), copy the data and drop the old column:
27
+
28
+ ```sql
29
+ UPDATE mastra_scorers SET "requestContext" = "runtimeContext" WHERE "runtimeContext" IS NOT NULL;
30
+ ALTER TABLE mastra_scorers DROP COLUMN "runtimeContext";
31
+ ```
32
+
33
+ ### Duplicate spans migration
34
+
35
+ If you're upgrading from an older version of Mastra, you may have duplicate `(traceId, spanId)` entries in your `mastra_spans` table. V1 adds a unique constraint on these columns to ensure data integrity, but this constraint cannot be added if duplicates exist.
36
+
37
+ :::note[Who needs this migration]
38
+ Only if you have existing spans data from Mastra versions prior to v1 and encounter errors about duplicate key violations or constraint creation failures.
39
+ :::
40
+
41
+ :::important[What breaks without it]
42
+ The storage initialization may fail when trying to add the unique constraint, or you may see errors like "duplicate key value violates unique constraint".
43
+ :::
44
+
45
+ **Option 1: Use the CLI (Recommended)**
46
+
47
+ Run the migration command which automatically deduplicates spans and adds the constraint:
48
+
49
+ ```bash
50
+ npx mastra migrate
51
+ ```
52
+
53
+ The CLI bundles your project, connects to your configured storage, and runs the migration. It keeps the most complete record (based on `endTime` and attributes) when removing duplicates.
54
+
55
+ **Option 2: Manual SQL (PostgreSQL)**
56
+
57
+ If you prefer to run the migration manually:
58
+
59
+ ```sql
60
+ -- Remove duplicates, keeping the most complete record
61
+ DELETE FROM mastra_spans a USING mastra_spans b
62
+ WHERE a.ctid < b.ctid
63
+ AND a."traceId" = b."traceId"
64
+ AND a."spanId" = b."spanId";
65
+
66
+ -- Add the unique constraint
67
+ ALTER TABLE mastra_spans ADD CONSTRAINT mastra_spans_trace_span_unique UNIQUE ("traceId", "spanId");
68
+ ```
69
+
70
+ **Option 3: Manual migration (Other databases)**
71
+
72
+ For ClickHouse, LibSQL, MongoDB, or MSSQL, use the programmatic API:
73
+
74
+ ```typescript
75
+ const storage = mastra.getStorage();
76
+ const observabilityStore = await storage.getStore('observability');
77
+
78
+ // Check if migration is needed
79
+ const status = await observabilityStore?.checkSpansMigrationStatus();
80
+ console.log(status);
81
+
82
+ // Run the migration
83
+ const result = await observabilityStore?.migrateSpans();
84
+ console.log(result);
85
+ ```
86
+
87
+ ### JSON columns (TEXT → JSONB)
88
+
89
+ **PostgreSQL only.** The `metadata` column in `mastra_threads` and `snapshot` column in `mastra_workflow_snapshot` changed from TEXT to JSONB.
90
+
91
+ :::note[Recommended]
92
+ Migrating to JSONB enables native PostgreSQL JSON operators and GIN indexing for better query performance on JSON fields.
93
+ :::
94
+
95
+ ```sql
96
+ ALTER TABLE mastra_threads
97
+ ALTER COLUMN metadata TYPE jsonb
98
+ USING metadata::jsonb;
99
+
100
+ ALTER TABLE mastra_workflow_snapshot
101
+ ALTER COLUMN snapshot TYPE jsonb
102
+ USING snapshot::jsonb;
103
+ ```
104
+
105
+ ## Added
106
+
107
+ ### Storage composition in MastraCompositeStore
108
+
109
+ `MastraCompositeStore` can now compose storage domains from different adapters. Use it when you need different databases for different purposes - for example, PostgreSQL for memory and workflows, but a specialized database for observability.
110
+
111
+ ```typescript
112
+ import { MastraCompositeStore } from "@mastra/core/storage";
113
+ import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
114
+ import { MemoryLibSQL } from "@mastra/libsql";
115
+ import { Mastra } from "@mastra/core";
116
+
117
+ // Compose domains from different stores
118
+ const mastra = new Mastra({
119
+ storage: new MastraCompositeStore({
120
+ id: "composite",
121
+ domains: {
122
+ memory: new MemoryLibSQL({ url: "file:./local.db" }),
123
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
124
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
125
+ },
126
+ }),
127
+ });
128
+ ```
129
+
130
+ See the [Storage Composition reference](/reference/v1/storage/composite) for more details.
131
+
10
132
  ## Changed
11
133
 
134
+ ### `MastraStorage` renamed to `MastraCompositeStore`
135
+
136
+ The `MastraStorage` class has been renamed to `MastraCompositeStore` to better reflect its role as a composite storage implementation that routes different domains to different underlying stores. This avoids confusion with the general "Mastra Storage" concept (the `storage` property on the Mastra instance).
137
+
138
+ The old `MastraStorage` name remains available as a deprecated alias for backward compatibility, but will be removed in a future version.
139
+
140
+ To migrate, update your imports and instantiation:
141
+
142
+ ```diff
143
+ - import { MastraStorage } from "@mastra/core/storage";
144
+ + import { MastraCompositeStore } from "@mastra/core/storage";
145
+ import { MemoryLibSQL } from "@mastra/libsql";
146
+ import { WorkflowsPG } from "@mastra/pg";
147
+
148
+ export const mastra = new Mastra({
149
+ - storage: new MastraStorage({
150
+ + storage: new MastraCompositeStore({
151
+ id: "composite",
152
+ domains: {
153
+ memory: new MemoryLibSQL({ url: "file:./memory.db" }),
154
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
155
+ },
156
+ }),
157
+ });
158
+ ```
159
+
160
+ :::note
161
+ If you're using a single store implementation (like `PostgresStore` or `LibSQLStore`) directly, no changes are needed. This only affects code that explicitly uses `MastraStorage` for composite storage.
162
+ :::
163
+
12
164
  ### Required `id` property for storage instances
13
165
 
14
166
  Storage instances now require an `id` property. This unique identifier is used for tracking and managing storage instances within Mastra. The `id` should be a descriptive, unique string for each storage instance in your application.
@@ -36,7 +188,7 @@ All pagination APIs now use `page` and `perPage` instead of `offset` and `limit`
36
188
  To migrate, update all pagination parameters from `offset/limit` to `page/perPage`. Note that `page` is 0-indexed.
37
189
 
38
190
  ```diff
39
- storage.listMessages({
191
+ memoryStore.listMessages({
40
192
  threadId: 'thread-123',
41
193
  - offset: 0,
42
194
  - limit: 20,
@@ -52,18 +204,20 @@ The `getMessagesPaginated()` method has been replaced with `listMessages()`. The
52
204
  To migrate, rename the method and update pagination parameters. You can now use `perPage: false` to fetch all records.
53
205
 
54
206
  ```diff
207
+ + const memoryStore = await storage.getStore('memory');
208
+ +
55
209
  // Paginated
56
210
  - const result = await storage.getMessagesPaginated({
57
- + const result = await storage.listMessages({
211
+ + const result = await memoryStore?.listMessages({
58
212
  threadId: 'thread-123',
59
213
  - offset: 0,
60
214
  - limit: 20,
61
215
  + page: 0,
62
216
  + perPage: 20,
63
217
  });
64
-
218
+
65
219
  // Fetch all records (no pagination limit)
66
- + const allMessages = await storage.listMessages({
220
+ + const allMessages = await memoryStore?.listMessages({
67
221
  + threadId: 'thread-123',
68
222
  + page: 0,
69
223
  + perPage: false,
@@ -80,19 +234,106 @@ npx @mastra/codemod@beta v1/storage-get-messages-paginated .
80
234
 
81
235
  :::
82
236
 
83
- ### `getThreadsByResourceId` to `listThreadsByResourceId`
237
+ ### Domain-specific storage access via `getStore()`
84
238
 
85
- The `getThreadsByResourceId()` method has been renamed to `listThreadsByResourceId()`. This change aligns with the convention that `list*` methods return collections.
239
+ Storage operations are now accessed through domain-specific stores instead of directly on the storage instance.
86
240
 
87
- To migrate, rename the method call and update pagination parameters.
241
+ Domains include:
242
+ - **`memory`** - Threads, messages, and resources
243
+ - **`workflows`** - Workflow snapshots
244
+ - **`scores`** - Evaluation scores
245
+ - **`observability`** - Traces and spans
246
+ - **`agents`** - Stored agent data
247
+
248
+ To migrate, call `getStore()` with the domain name, then call methods on the returned store.
249
+
250
+ ```diff
251
+ const storage = mastra.getStorage();
252
+
253
+ // Memory operations (threads, messages, resources)
254
+ - const thread = await storage.getThread({ threadId: '123' });
255
+ - await storage.saveThread({ thread });
256
+ + const memoryStore = await storage.getStore('memory');
257
+ + const thread = await memoryStore?.getThreadById({ threadId: '123' });
258
+ + await memoryStore?.saveThread({ thread });
259
+
260
+ // Workflow operations (snapshots)
261
+ - const snapshot = await storage.loadWorkflowSnapshot({ runId, workflowName });
262
+ - await storage.persistWorkflowSnapshot({ runId, workflowName, snapshot });
263
+ + const workflowStore = await storage.getStore('workflows');
264
+ + const snapshot = await workflowStore?.loadWorkflowSnapshot({ runId, workflowName });
265
+ + await workflowStore?.persistWorkflowSnapshot({ runId, workflowName, snapshot });
266
+
267
+ // Observability operations (traces, spans)
268
+ - const traces = await storage.listTraces({ page: 0, perPage: 20 });
269
+ + const observabilityStore = await storage.getStore('observability');
270
+ + const traces = await observabilityStore?.listTraces({ page: 0, perPage: 20 });
271
+
272
+ // Score operations (evaluations)
273
+ - const scores = await storage.listScoresByScorerId({ scorerId: 'helpfulness' });
274
+ + const scoresStore = await storage.getStore('scores');
275
+ + const scores = await scoresStore?.listScoresByScorerId({ scorerId: 'helpfulness' });
276
+ ```
277
+
278
+ ### `getThreadsByResourceId` to `listThreads`
279
+
280
+ The `getThreadsByResourceId()` method has been replaced with `listThreads()`. The new method adds pagination support and filtering by `resourceId`, `metadata`, or both.
281
+
282
+ :::important
283
+
284
+ The old `getThreadsByResourceId()` returned all matching threads without pagination. The new `listThreads()` requires pagination parameters. To preserve the old behavior of fetching all threads, use `perPage: false`.
285
+
286
+ :::
287
+
288
+ To migrate, use the memory store and the new `listThreads()` method with pagination and an optional filter object.
88
289
 
89
290
  ```diff
90
291
  - const threads = await storage.getThreadsByResourceId({
91
- + const threads = await storage.listThreadsByResourceId({
92
- resourceId: 'res-123',
292
+ - resourceId: 'res-123',
293
+ - });
294
+ + const memoryStore = await storage.getStore('memory');
295
+ +
296
+ + // Paginated (recommended for large datasets)
297
+ + const result = await memoryStore?.listThreads({
298
+ + filter: { resourceId: 'res-123' },
93
299
  + page: 0,
94
300
  + perPage: 20,
95
- });
301
+ + });
302
+ + const threads = result?.threads;
303
+ +
304
+ + // Or fetch all threads like before (use perPage: false)
305
+ + const allResult = await memoryStore?.listThreads({
306
+ + filter: { resourceId: 'res-123' },
307
+ + perPage: false,
308
+ + });
309
+ + const allThreads = allResult?.threads;
310
+ ```
311
+
312
+ The new method also supports:
313
+ - Listing all threads (omit filter)
314
+ - Filtering by metadata only
315
+ - Combined resourceId + metadata filters
316
+
317
+ ```typescript
318
+ // List all threads
319
+ await memoryStore?.listThreads({ page: 0, perPage: 20 });
320
+
321
+ // Filter by metadata only
322
+ await memoryStore?.listThreads({
323
+ filter: { metadata: { status: 'active' } },
324
+ page: 0,
325
+ perPage: 20,
326
+ });
327
+
328
+ // Combined filter
329
+ await memoryStore?.listThreads({
330
+ filter: {
331
+ resourceId: 'user-123',
332
+ metadata: { category: 'support' },
333
+ },
334
+ page: 0,
335
+ perPage: 20,
336
+ });
96
337
  ```
97
338
 
98
339
  :::tip[Codemod]
@@ -100,7 +341,7 @@ To migrate, rename the method call and update pagination parameters.
100
341
  You can use Mastra's codemod CLI to update your code automatically:
101
342
 
102
343
  ```shell
103
- npx @mastra/codemod@beta v1/storage-get-threads-by-resource .
344
+ npx @mastra/codemod@beta v1/storage-list-threads-by-resource-to-list-threads .
104
345
  ```
105
346
 
106
347
  :::
@@ -109,11 +350,12 @@ npx @mastra/codemod@beta v1/storage-get-threads-by-resource .
109
350
 
110
351
  The `getWorkflowRuns()` method has been renamed to `listWorkflowRuns()`. This change aligns with the convention that `list*` methods return collections.
111
352
 
112
- To migrate, rename the method call and update pagination parameters.
353
+ To migrate, use the workflows stores, rename the method call and update pagination parameters.
113
354
 
114
355
  ```diff
115
356
  - const runs = await storage.getWorkflowRuns({
116
- + const runs = await storage.listWorkflowRuns({
357
+ + const workflowStore = await storage.getStore('workflows');
358
+ + const runs = await workflowStore?.listWorkflowRuns({
117
359
  fromDate,
118
360
  toDate,
119
361
  + page: 0,
@@ -135,11 +377,12 @@ npx @mastra/codemod@beta v1/storage-list-workflow-runs .
135
377
 
136
378
  The `getMessagesById()` method has been renamed to `listMessagesById()`. This change aligns with the convention that `list*` methods return collections.
137
379
 
138
- To migrate, rename the method call.
380
+ To migrate, use the memory store and rename the method call.
139
381
 
140
382
  ```diff
383
+ + const memoryStore = await storage.getStore('memory');
141
384
  - const result = await storage.getMessagesById({
142
- + const result = await storage.listMessagesById({
385
+ + const result = await memoryStore?.listMessagesById({
143
386
  messageIds: ['msg-1', 'msg-2'],
144
387
  });
145
388
  ```
@@ -158,20 +401,22 @@ npx @mastra/codemod@beta v1/storage-list-messages-by-id .
158
401
 
159
402
  The `getMessages()` and `saveMessages()` methods have changed signatures and return types. Format overloads have been removed, and the methods now always work with `MastraDBMessage`. This change simplifies the API by removing format variations.
160
403
 
161
- To migrate, remove format parameters and update code to work with the consistent return type.
404
+ To migrate, use the memory store, remove format parameters, and update code to work with the consistent return type.
162
405
 
163
406
  ```diff
407
+ + const memoryStore = await storage.getStore('memory');
408
+ +
164
409
  // Always returns { messages: MastraDBMessage[] }
165
410
  - const v1Messages = await storage.getMessages({ threadId, format: 'v1' });
166
411
  - const v2Messages = await storage.getMessages({ threadId, format: 'v2' });
167
- + const result = await storage.getMessages({ threadId });
168
- + const messages = result.messages; // MastraDBMessage[]
169
-
412
+ + const result = await memoryStore?.getMessages({ threadId });
413
+ + const messages = result?.messages; // MastraDBMessage[]
414
+
170
415
  // SaveMessages always uses MastraDBMessage
171
416
  - await storage.saveMessages({ messages: v1Messages, format: 'v1' });
172
417
  - await storage.saveMessages({ messages: v2Messages, format: 'v2' });
173
- + const result = await storage.saveMessages({ messages: mastraDBMessages });
174
- + const saved = result.messages; // MastraDBMessage[]
418
+ + const saveResult = await memoryStore?.saveMessages({ messages: mastraDBMessages });
419
+ + const saved = saveResult?.messages; // MastraDBMessage[]
175
420
  ```
176
421
 
177
422
  ### Vector store API from positional to named arguments
@@ -298,16 +543,17 @@ To migrate, update method names from `getScores` to `listScoresByScorerId` and r
298
543
 
299
544
  Non-paginated storage functions have been removed in favor of paginated versions. All list operations now use pagination, though you can fetch all records with `perPage: false`. This change provides consistency across the API and prevents accidental loading of large datasets.
300
545
 
301
- To migrate, use paginated methods. For fetching all records, use `perPage: false`.
546
+ To migrate, use paginated methods via domain stores. For fetching all records, use `perPage: false`.
302
547
 
303
548
  ```diff
304
549
  - // Non-paginated direct access
305
550
  - const messages = await storage.getMessages({ threadId });
306
551
 
307
- + // Use paginated methods
308
- + const result = await storage.listMessages({ threadId, page: 0, perPage: 20 });
552
+ + // Use paginated methods via domain stores
553
+ + const memoryStore = await storage.getStore('memory');
554
+ + const result = await memoryStore?.listMessages({ threadId, page: 0, perPage: 20 });
309
555
  + // Or fetch all
310
- + const allMessages = await storage.listMessages({
556
+ + const allMessages = await memoryStore?.listMessages({
311
557
  + threadId,
312
558
  + page: 0,
313
559
  + perPage: false,
@@ -33,20 +33,36 @@ export const mastra = new Mastra({
33
33
  });
34
34
  ```
35
35
 
36
- **After (v1 with observability - quick start):**
36
+ **After (v1 with observability):**
37
37
 
38
38
  ```typescript
39
39
  import { Mastra } from '@mastra/core';
40
- import { Observability } from '@mastra/observability';
40
+ import {
41
+ Observability,
42
+ DefaultExporter,
43
+ CloudExporter,
44
+ SensitiveDataFilter,
45
+ } from '@mastra/observability';
41
46
 
42
47
  export const mastra = new Mastra({
43
48
  observability: new Observability({
44
- default: { enabled: true },
49
+ configs: {
50
+ default: {
51
+ serviceName: 'mastra',
52
+ exporters: [
53
+ new DefaultExporter(), // Persists traces to storage for Mastra Studio
54
+ new CloudExporter(), // Sends traces to Mastra Cloud (if MASTRA_CLOUD_ACCESS_TOKEN is set)
55
+ ],
56
+ spanOutputProcessors: [
57
+ new SensitiveDataFilter(), // Redacts sensitive data like passwords, tokens, keys
58
+ ],
59
+ },
60
+ },
45
61
  }),
46
62
  });
47
63
  ```
48
64
 
49
- This minimal configuration automatically includes the `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter` processor. See the [observability tracing documentation](/docs/v1/observability/tracing/overview) for full configuration options.
65
+ This configuration includes `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter` processor. See the [observability tracing documentation](/docs/v1/observability/tracing/overview) for full configuration options.
50
66
 
51
67
  **After (v1 with custom configuration):**
52
68
 
@@ -86,14 +102,14 @@ export const mastra = new Mastra({
86
102
  Key changes:
87
103
  1. Install `@mastra/observability` package
88
104
  2. Replace `telemetry:` with `observability: new Observability()`
89
- 3. Use `default: { enabled: true }` for quick setup, or `configs:` for custom configuration
105
+ 3. Use explicit `configs:` with `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter`
90
106
  4. Export types change from string literals (`'otlp'`) to exporter class instances (`new OtelExporter()`)
91
107
 
92
108
  See the [exporters documentation](/docs/v1/observability/tracing/overview#exporters) for all available exporters.
93
109
 
94
110
  ### From AI Tracing
95
111
 
96
- If you already upgraded to AI tracing (the intermediate system), you only need to wrap your configuration and install the new package.
112
+ If you already upgraded to AI tracing (the intermediate system), you need to install the new package and use the explicit configuration.
97
113
 
98
114
  **Before (AI tracing):**
99
115
 
@@ -111,19 +127,35 @@ export const mastra = new Mastra({
111
127
 
112
128
  ```typescript
113
129
  import { Mastra } from '@mastra/core';
114
- import { Observability } from '@mastra/observability';
130
+ import {
131
+ Observability,
132
+ DefaultExporter,
133
+ CloudExporter,
134
+ SensitiveDataFilter,
135
+ } from '@mastra/observability';
115
136
 
116
137
  export const mastra = new Mastra({
117
138
  observability: new Observability({
118
- default: { enabled: true },
139
+ configs: {
140
+ default: {
141
+ serviceName: 'mastra',
142
+ exporters: [
143
+ new DefaultExporter(),
144
+ new CloudExporter(),
145
+ ],
146
+ spanOutputProcessors: [
147
+ new SensitiveDataFilter(),
148
+ ],
149
+ },
150
+ },
119
151
  }),
120
152
  });
121
153
  ```
122
154
 
123
155
  Key changes:
124
156
  1. Install `@mastra/observability` package
125
- 2. Import `Observability` from `@mastra/observability`
126
- 3. Wrap configuration with `new Observability()`
157
+ 2. Import `Observability`, exporters, and processors from `@mastra/observability`
158
+ 3. Use explicit `configs` with `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter`
127
159
 
128
160
  ## Changed
129
161
 
@@ -144,18 +176,30 @@ npm install @mastra/observability@beta
144
176
 
145
177
  ### Registry configuration
146
178
 
147
- The observability registry is now configured using an `Observability` class instance instead of a plain object.
179
+ The observability registry is now configured using an `Observability` class instance with explicit configs instead of a plain object.
148
180
 
149
- To migrate, wrap your configuration object with `new Observability()`.
181
+ To migrate, use `new Observability()` with explicit exporters and processors.
150
182
 
151
183
  ```diff
152
- + import { Observability } from '@mastra/observability';
184
+ + import {
185
+ + Observability,
186
+ + DefaultExporter,
187
+ + CloudExporter,
188
+ + SensitiveDataFilter,
189
+ + } from '@mastra/observability';
153
190
 
154
191
  export const mastra = new Mastra({
155
192
  - observability: {
156
- + observability: new Observability({
157
- default: { enabled: true },
193
+ - default: { enabled: true },
158
194
  - },
195
+ + observability: new Observability({
196
+ + configs: {
197
+ + default: {
198
+ + serviceName: 'mastra',
199
+ + exporters: [new DefaultExporter(), new CloudExporter()],
200
+ + spanOutputProcessors: [new SensitiveDataFilter()],
201
+ + },
202
+ + },
159
203
  + }),
160
204
  });
161
205
  ```
@@ -236,11 +280,22 @@ Simply remove the `instrumentation.mjs` file and configure observability in your
236
280
 
237
281
  ```typescript
238
282
  // src/mastra/index.ts
239
- import { Observability } from '@mastra/observability';
283
+ import {
284
+ Observability,
285
+ DefaultExporter,
286
+ CloudExporter,
287
+ SensitiveDataFilter,
288
+ } from '@mastra/observability';
240
289
 
241
290
  export const mastra = new Mastra({
242
291
  observability: new Observability({
243
- default: { enabled: true },
292
+ configs: {
293
+ default: {
294
+ serviceName: 'mastra',
295
+ exporters: [new DefaultExporter(), new CloudExporter()],
296
+ spanOutputProcessors: [new SensitiveDataFilter()],
297
+ },
298
+ },
244
299
  }),
245
300
  });
246
301
  ```
@@ -29,7 +29,6 @@ To migrate, add an `id` field to your vector store constructor.
29
29
  const pineconeStore = new PineconeVector({
30
30
  + id: 'pinecone-production',
31
31
  apiKey: process.env.PINECONE_API_KEY,
32
- environment: process.env.PINECONE_ENVIRONMENT,
33
32
  });
34
33
  ```
35
34
 
@@ -45,3 +44,49 @@ To migrate, replace all calls to `getVectors()` with `listVectors()`.
45
44
  - const vectors = await vectorStore.getVectors({ ... });
46
45
  + const vectors = await vectorStore.listVectors({ ... });
47
46
  ```
47
+
48
+ ### LibSQLVector: `connectionUrl` to `url`
49
+
50
+ The `connectionUrl` parameter has been renamed to `url` to align with the `@libsql/client` API and match LibSQLStorage.
51
+
52
+ ```diff
53
+ const vectorStore = new LibSQLVector({
54
+ id: 'my-vector',
55
+ - connectionUrl: 'file:./db.sqlite',
56
+ + url: 'file:./db.sqlite',
57
+ });
58
+ ```
59
+
60
+ ### OpenSearchVector: `url` to `node`
61
+
62
+ The `url` parameter has been renamed to `node` to match the OpenSearch `ClientOptions` API. The constructor now accepts all OpenSearch client options including authentication, SSL, and compression.
63
+
64
+ ```diff
65
+ const vectorStore = new OpenSearchVector({
66
+ id: 'my-vector',
67
+ - url: 'http://localhost:9200',
68
+ + node: 'http://localhost:9200',
69
+ });
70
+ ```
71
+
72
+ ### PineconeVector: `environment` removed
73
+
74
+ The `environment` parameter has been removed. Use `controllerHostUrl` instead if you need to specify a custom controller host. The constructor now accepts all Pinecone configuration options.
75
+
76
+ ```diff
77
+ const vectorStore = new PineconeVector({
78
+ id: 'my-vector',
79
+ apiKey: process.env.PINECONE_API_KEY,
80
+ - environment: process.env.PINECONE_ENVIRONMENT,
81
+ });
82
+ ```
83
+
84
+ If you need a custom controller host:
85
+
86
+ ```ts
87
+ const vectorStore = new PineconeVector({
88
+ id: 'my-vector',
89
+ apiKey: process.env.PINECONE_API_KEY,
90
+ controllerHostUrl: 'https://api.pinecone.io',
91
+ });
92
+ ```