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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +40 -0
  4. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  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 +299 -299
  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 +662 -200
  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 +3359 -289
  18. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
  23. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +248 -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 +247 -247
  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 +655 -248
  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 +850 -239
  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 +215 -215
  65. package/.docs/organized/changelogs/mastra.md +278 -278
  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 +246 -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
@@ -0,0 +1,245 @@
1
+ ---
2
+ title: "Reference: Composite Storage | Storage"
3
+ description: Documentation for combining multiple storage backends in Mastra.
4
+ packages:
5
+ - "@mastra/clickhouse"
6
+ - "@mastra/core"
7
+ - "@mastra/libsql"
8
+ - "@mastra/pg"
9
+ ---
10
+
11
+ # Composite Storage
12
+
13
+ `MastraCompositeStore` can compose storage domains from different providers. Use it when you need different databases for different purposes. For example, use LibSQL for memory and PostgreSQL for workflows.
14
+
15
+ ## Installation
16
+
17
+ `MastraCompositeStore` is included in `@mastra/core`:
18
+
19
+ ```bash
20
+ npm install @mastra/core@beta
21
+ ```
22
+
23
+ You'll also need to install the storage providers you want to compose:
24
+
25
+ ```bash
26
+ npm install @mastra/pg@beta @mastra/libsql@beta
27
+ ```
28
+
29
+ ## Storage domains
30
+
31
+ Mastra organizes storage into five specialized domains, each handling a specific type of data. Each domain can be backed by a different storage adapter, and domain classes are exported from each storage package.
32
+
33
+ | Domain | Description |
34
+ |--------|-------------|
35
+ | `memory` | Conversation persistence for agents. Stores threads (conversation sessions), messages, resources (user identities), and working memory (persistent context across conversations). |
36
+ | `workflows` | Workflow execution state. When workflows suspend for human input, external events, or scheduled resumption, their state is persisted here to enable resumption after server restarts. |
37
+ | `scores` | Evaluation results from Mastra's evals system. Scores and metrics are persisted here for analysis and comparison over time. |
38
+ | `observability` | Telemetry data including traces and spans. Agent interactions, tool calls, and LLM requests generate spans collected into traces for debugging and performance analysis. |
39
+ | `agents` | Agent configurations for stored agents. Enables agents to be defined and updated at runtime without code deployments. |
40
+
41
+ ## Usage
42
+
43
+ ### Basic composition
44
+
45
+ Import domain classes directly from each store package and compose them:
46
+
47
+ ```typescript title="src/mastra/index.ts"
48
+ import { MastraCompositeStore } from "@mastra/core/storage";
49
+ import { WorkflowsPG, ScoresPG } from "@mastra/pg";
50
+ import { MemoryLibSQL } from "@mastra/libsql";
51
+ import { Mastra } from "@mastra/core";
52
+
53
+ export const mastra = new Mastra({
54
+ storage: new MastraCompositeStore({
55
+ id: "composite",
56
+ domains: {
57
+ memory: new MemoryLibSQL({ url: "file:./local.db" }),
58
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
59
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
60
+ },
61
+ }),
62
+ });
63
+ ```
64
+
65
+ ### With a default storage
66
+
67
+ Use `default` to specify a fallback storage, then override specific domains:
68
+
69
+ ```typescript title="src/mastra/index.ts"
70
+ import { MastraCompositeStore } from "@mastra/core/storage";
71
+ import { PostgresStore } from "@mastra/pg";
72
+ import { MemoryLibSQL } from "@mastra/libsql";
73
+ import { Mastra } from "@mastra/core";
74
+
75
+ const pgStore = new PostgresStore({
76
+ id: "pg",
77
+ connectionString: process.env.DATABASE_URL,
78
+ });
79
+
80
+ export const mastra = new Mastra({
81
+ storage: new MastraCompositeStore({
82
+ id: "composite",
83
+ default: pgStore,
84
+ domains: {
85
+ memory: new MemoryLibSQL({ url: "file:./local.db" }),
86
+ },
87
+ }),
88
+ });
89
+ ```
90
+
91
+ ## Options
92
+
93
+ <PropertiesTable
94
+ content={[
95
+ {
96
+ name: "id",
97
+ type: "string",
98
+ description: "Unique identifier for this storage instance.",
99
+ isOptional: false,
100
+ },
101
+ {
102
+ name: "default",
103
+ type: "MastraCompositeStore",
104
+ description:
105
+ "Default storage adapter. Domains not explicitly specified in `domains` will use this storage's domains as fallbacks.",
106
+ isOptional: true,
107
+ },
108
+ {
109
+ name: "domains",
110
+ type: "object",
111
+ description:
112
+ "Individual domain overrides. Each domain can come from a different storage adapter. These take precedence over the default storage.",
113
+ isOptional: true,
114
+ },
115
+ {
116
+ name: "domains.memory",
117
+ type: "MemoryStorage",
118
+ description: "Storage for threads, messages, and resources.",
119
+ isOptional: true,
120
+ },
121
+ {
122
+ name: "domains.workflows",
123
+ type: "WorkflowsStorage",
124
+ description: "Storage for workflow snapshots.",
125
+ isOptional: true,
126
+ },
127
+ {
128
+ name: "domains.scores",
129
+ type: "ScoresStorage",
130
+ description: "Storage for evaluation scores.",
131
+ isOptional: true,
132
+ },
133
+ {
134
+ name: "domains.observability",
135
+ type: "ObservabilityStorage",
136
+ description: "Storage for traces and spans.",
137
+ isOptional: true,
138
+ },
139
+ {
140
+ name: "domains.agents",
141
+ type: "AgentsStorage",
142
+ description: "Storage for stored agent configurations.",
143
+ isOptional: true,
144
+ },
145
+ {
146
+ name: "disableInit",
147
+ type: "boolean",
148
+ description:
149
+ "When true, automatic initialization is disabled. You must call init() explicitly.",
150
+ isOptional: true,
151
+ },
152
+ ]}
153
+ />
154
+
155
+ ## Initialization
156
+
157
+ `MastraCompositeStore` initializes each configured domain independently. When passed to the Mastra class, `init()` is called automatically:
158
+
159
+ ```typescript title="src/mastra/index.ts"
160
+ import { MastraCompositeStore } from "@mastra/core/storage";
161
+ import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
162
+ import { Mastra } from "@mastra/core";
163
+
164
+ const storage = new MastraCompositeStore({
165
+ id: "composite",
166
+ domains: {
167
+ memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
168
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
169
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
170
+ },
171
+ });
172
+
173
+ export const mastra = new Mastra({
174
+ storage, // init() called automatically
175
+ });
176
+ ```
177
+
178
+ If using storage directly, call `init()` explicitly:
179
+
180
+ ```typescript
181
+ import { MastraCompositeStore } from "@mastra/core/storage";
182
+ import { MemoryPG } from "@mastra/pg";
183
+
184
+ const storage = new MastraCompositeStore({
185
+ id: "composite",
186
+ domains: {
187
+ memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
188
+ },
189
+ });
190
+
191
+ await storage.init();
192
+
193
+ // Access domain-specific stores via getStore()
194
+ const memoryStore = await storage.getStore("memory");
195
+ const thread = await memoryStore?.getThreadById({ threadId: "..." });
196
+ ```
197
+
198
+ ## Use cases
199
+
200
+ ### Separate databases for different workloads
201
+
202
+ Use a local database for development while keeping production data in a managed service:
203
+
204
+ ```typescript
205
+ import { MastraCompositeStore } from "@mastra/core/storage";
206
+ import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
207
+ import { MemoryLibSQL } from "@mastra/libsql";
208
+
209
+ const storage = new MastraCompositeStore({
210
+ id: "composite",
211
+ domains: {
212
+ // Use local SQLite for development, PostgreSQL for production
213
+ memory:
214
+ process.env.NODE_ENV === "development"
215
+ ? new MemoryLibSQL({ url: "file:./dev.db" })
216
+ : new MemoryPG({ connectionString: process.env.DATABASE_URL }),
217
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
218
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
219
+ },
220
+ });
221
+ ```
222
+
223
+ ### Specialized storage for observability
224
+
225
+ Use a time-series database for traces while keeping other data in PostgreSQL:
226
+
227
+ ```typescript
228
+ import { MastraCompositeStore } from "@mastra/core/storage";
229
+ import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
230
+ import { ObservabilityStorageClickhouse } from "@mastra/clickhouse";
231
+
232
+ const storage = new MastraCompositeStore({
233
+ id: "composite",
234
+ domains: {
235
+ memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
236
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
237
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
238
+ observability: new ObservabilityStorageClickhouse({
239
+ url: process.env.CLICKHOUSE_URL,
240
+ username: process.env.CLICKHOUSE_USERNAME,
241
+ password: process.env.CLICKHOUSE_PASSWORD,
242
+ }),
243
+ },
244
+ });
245
+ ```
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: "Reference: Convex Storage | Storage"
3
3
  description: Documentation for the Convex storage implementation in Mastra.
4
+ packages:
5
+ - "@mastra/convex"
4
6
  ---
5
7
 
6
8
  # Convex Storage
@@ -9,7 +11,7 @@ The Convex storage implementation provides a serverless storage solution using [
9
11
 
10
12
  ## Installation
11
13
 
12
- ```bash copy
14
+ ```bash
13
15
  npm install @mastra/convex@beta
14
16
  ```
15
17
 
@@ -21,7 +23,7 @@ Before using `ConvexStore`, you need to set up the Convex schema and storage han
21
23
 
22
24
  In `convex/schema.ts`:
23
25
 
24
- ```typescript copy
26
+ ```typescript
25
27
  import { defineSchema } from 'convex/server';
26
28
  import {
27
29
  mastraThreadsTable,
@@ -32,7 +34,7 @@ import {
32
34
  mastraVectorIndexesTable,
33
35
  mastraVectorsTable,
34
36
  mastraDocumentsTable,
35
- } from '@mastra/convex/server';
37
+ } from '@mastra/convex/schema';
36
38
 
37
39
  export default defineSchema({
38
40
  mastra_threads: mastraThreadsTable,
@@ -50,7 +52,7 @@ export default defineSchema({
50
52
 
51
53
  In `convex/mastra/storage.ts`:
52
54
 
53
- ```typescript copy
55
+ ```typescript
54
56
  import { mastraStorage } from '@mastra/convex/server';
55
57
 
56
58
  export const handle = mastraStorage;
@@ -58,7 +60,7 @@ export const handle = mastraStorage;
58
60
 
59
61
  ### 3. Deploy to Convex
60
62
 
61
- ```bash copy
63
+ ```bash
62
64
  npx convex dev
63
65
  # or for production
64
66
  npx convex deploy
@@ -66,7 +68,7 @@ npx convex deploy
66
68
 
67
69
  ## Usage
68
70
 
69
- ```typescript copy showLineNumbers
71
+ ```typescript
70
72
  import { ConvexStore } from "@mastra/convex";
71
73
 
72
74
  const storage = new ConvexStore({
@@ -1,6 +1,11 @@
1
1
  ---
2
2
  title: "Reference: DynamoDB Storage | Storage"
3
3
  description: "Documentation for the DynamoDB storage implementation in Mastra, using a single-table design with ElectroDB."
4
+ packages:
5
+ - "@mastra/dynamodb"
6
+ - "@mastra/libsql"
7
+ - "@mastra/memory"
8
+ - "@mastra/pg"
4
9
  ---
5
10
 
6
11
  # DynamoDB Storage
@@ -15,10 +20,11 @@ The DynamoDB storage implementation provides a scalable and performant NoSQL dat
15
20
  - Compatible with AWS DynamoDB Local for development
16
21
  - Stores Thread, Message, Trace, Eval, and Workflow data
17
22
  - Optimized for serverless environments
23
+ - Configurable TTL (Time To Live) for automatic data expiration per entity type
18
24
 
19
25
  ## Installation
20
26
 
21
- ```bash copy
27
+ ```bash
22
28
  npm install @mastra/dynamodb@beta
23
29
  # or
24
30
  pnpm add @mastra/dynamodb@beta
@@ -36,13 +42,13 @@ Detailed instructions for setting up the table using AWS CloudFormation or AWS C
36
42
 
37
43
  ### Basic Usage
38
44
 
39
- ```typescript copy showLineNumbers
45
+ ```typescript
40
46
  import { Memory } from "@mastra/memory";
41
47
  import { DynamoDBStore } from "@mastra/dynamodb";
42
48
 
43
49
  // Initialize the DynamoDB storage
44
50
  const storage = new DynamoDBStore({
45
- name: "dynamodb", // A name for this storage instance
51
+ id: "dynamodb", // Unique identifier for this storage instance
46
52
  config: {
47
53
  tableName: "mastra-single-table", // Name of your DynamoDB table
48
54
  region: "us-east-1", // Optional: AWS region, defaults to 'us-east-1'
@@ -72,11 +78,11 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
72
78
 
73
79
  2. **Configure `DynamoDBStore` to use the local endpoint:**
74
80
 
75
- ```typescript copy showLineNumbers
81
+ ```typescript copy
76
82
  import { DynamoDBStore } from "@mastra/dynamodb";
77
83
 
78
84
  const storage = new DynamoDBStore({
79
- name: "dynamodb-local",
85
+ id: "dynamodb-local",
80
86
  config: {
81
87
  tableName: "mastra-single-table", // Ensure this table is created in your local DynamoDB
82
88
  region: "localhost", // Can be any string for local, 'localhost' is common
@@ -95,9 +101,9 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
95
101
  <PropertiesTable
96
102
  content={[
97
103
  {
98
- name: "name",
104
+ name: "id",
99
105
  type: "string",
100
- description: "A name for the storage instance.",
106
+ description: "Unique identifier for this storage instance.",
101
107
  isOptional: false,
102
108
  },
103
109
  {
@@ -127,14 +133,134 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
127
133
  "AWS credentials object with `accessKeyId` and `secretAccessKey`. If not provided, the AWS SDK will attempt to source credentials from environment variables, IAM roles (e.g., for EC2/Lambda), or the shared AWS credentials file.",
128
134
  isOptional: true,
129
135
  },
136
+ {
137
+ name: "config.ttl",
138
+ type: "object",
139
+ description:
140
+ "TTL (Time To Live) configuration for automatic data expiration. Configure per entity type: thread, message, trace, eval, workflow_snapshot, resource, score. Each entity config includes: enabled (boolean), attributeName (string, default: 'ttl'), defaultTtlSeconds (number).",
141
+ isOptional: true,
142
+ },
143
+ ]}
144
+ />
145
+
146
+ ## TTL (Time To Live) Configuration
147
+
148
+ DynamoDB TTL allows you to automatically delete items after a specified time period. This is useful for:
149
+
150
+ - **Cost optimization**: Automatically remove old data to reduce storage costs
151
+ - **Data lifecycle management**: Implement retention policies for compliance
152
+ - **Performance**: Prevent tables from growing indefinitely
153
+ - **Privacy compliance**: Automatically purge personal data after specified periods
154
+
155
+ ### Enabling TTL
156
+
157
+ To use TTL, you must:
158
+
159
+ 1. **Configure TTL in DynamoDBStore** (shown below)
160
+ 2. **Enable TTL on your DynamoDB table** via AWS Console or CLI, specifying the attribute name (default: `ttl`)
161
+
162
+ ```typescript
163
+ import { DynamoDBStore } from "@mastra/dynamodb";
164
+
165
+ const storage = new DynamoDBStore({
166
+ name: "dynamodb",
167
+ config: {
168
+ tableName: "mastra-single-table",
169
+ region: "us-east-1",
170
+ ttl: {
171
+ // Messages expire after 30 days
172
+ message: {
173
+ enabled: true,
174
+ defaultTtlSeconds: 30 * 24 * 60 * 60, // 30 days
175
+ },
176
+ // Threads expire after 90 days
177
+ thread: {
178
+ enabled: true,
179
+ defaultTtlSeconds: 90 * 24 * 60 * 60, // 90 days
180
+ },
181
+ // Traces expire after 7 days with custom attribute name
182
+ trace: {
183
+ enabled: true,
184
+ attributeName: "expiresAt", // Custom TTL attribute
185
+ defaultTtlSeconds: 7 * 24 * 60 * 60, // 7 days
186
+ },
187
+ // Workflow snapshots don't expire
188
+ workflow_snapshot: {
189
+ enabled: false,
190
+ },
191
+ },
192
+ },
193
+ });
194
+ ```
195
+
196
+ ### Supported Entity Types
197
+
198
+ TTL can be configured for these entity types:
199
+
200
+ | Entity | Description |
201
+ |--------|-------------|
202
+ | `thread` | Conversation threads |
203
+ | `message` | Messages within threads |
204
+ | `trace` | Observability traces |
205
+ | `eval` | Evaluation results |
206
+ | `workflow_snapshot` | Workflow state snapshots |
207
+ | `resource` | User/resource data |
208
+ | `score` | Scoring results |
209
+
210
+ ### TTL Entity Configuration
211
+
212
+ Each entity type accepts the following configuration:
213
+
214
+ <PropertiesTable
215
+ content={[
216
+ {
217
+ name: "enabled",
218
+ type: "boolean",
219
+ description: "Whether TTL is enabled for this entity type.",
220
+ isOptional: false,
221
+ },
222
+ {
223
+ name: "attributeName",
224
+ type: "string",
225
+ description: "The DynamoDB attribute name to use for TTL. Must match the TTL attribute configured on your DynamoDB table. Defaults to 'ttl'.",
226
+ isOptional: true,
227
+ },
228
+ {
229
+ name: "defaultTtlSeconds",
230
+ type: "number",
231
+ description: "Default TTL in seconds from item creation time. Items will be automatically deleted by DynamoDB after this duration.",
232
+ isOptional: true,
233
+ },
130
234
  ]}
131
235
  />
132
236
 
237
+ ### Enabling TTL on Your DynamoDB Table
238
+
239
+ After configuring TTL in your code, you must enable TTL on the DynamoDB table itself:
240
+
241
+ **Using AWS CLI:**
242
+
243
+ ```bash
244
+ aws dynamodb update-time-to-live \
245
+ --table-name mastra-single-table \
246
+ --time-to-live-specification "Enabled=true, AttributeName=ttl"
247
+ ```
248
+
249
+ **Using AWS Console:**
250
+
251
+ 1. Go to the DynamoDB console
252
+ 2. Select your table
253
+ 3. Go to "Additional settings" tab
254
+ 4. Under "Time to Live (TTL)", click "Manage TTL"
255
+ 5. Enable TTL and specify the attribute name (default: `ttl`)
256
+
257
+ > **Note**: DynamoDB deletes expired items within 48 hours after expiration. Items remain queryable until actually deleted.
258
+
133
259
  ## AWS IAM Permissions
134
260
 
135
261
  The IAM role or user executing the code needs appropriate permissions to interact with the specified DynamoDB table and its indexes. Below is a sample policy. Replace `${YOUR_TABLE_NAME}` with your actual table name and `${YOUR_AWS_REGION}` and `${YOUR_AWS_ACCOUNT_ID}` with appropriate values.
136
262
 
137
- ```json copy
263
+ ```json
138
264
  {
139
265
  "Version": "2012-10-17",
140
266
  "Statement": [
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Reference: LanceDB Storage | Storage"
3
3
  description: Documentation for the LanceDB storage implementation in Mastra.
4
+ packages:
5
+ - "@mastra/core"
6
+ - "@mastra/lance"
4
7
  ---
5
8
 
6
9
  # LanceDB Storage
@@ -17,7 +20,7 @@ npm install @mastra/lance@beta
17
20
 
18
21
  ### Basic Storage Usage
19
22
 
20
- ```typescript copy showLineNumbers
23
+ ```typescript
21
24
  import { LanceStorage } from "@mastra/lance";
22
25
 
23
26
  // Connect to a local database
@@ -77,7 +80,7 @@ The LanceStorage implementation automatically handles schema creation and update
77
80
 
78
81
  When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
79
82
 
80
- ```typescript copy
83
+ ```typescript
81
84
  import { Mastra } from "@mastra/core";
82
85
  import { LanceStorage } from "@mastra/lance";
83
86
 
@@ -90,7 +93,7 @@ const mastra = new Mastra({
90
93
 
91
94
  If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
92
95
 
93
- ```typescript copy
96
+ ```typescript
94
97
  import { LanceStorage } from "@mastra/lance";
95
98
 
96
99
  const storage = await LanceStorage.create("my-storage", "/path/to/db");
@@ -98,8 +101,9 @@ const storage = await LanceStorage.create("my-storage", "/path/to/db");
98
101
  // Required when using storage directly
99
102
  await storage.init();
100
103
 
101
- // Now you can use the storage
102
- await storage.getThread({ threadId: "..." });
104
+ // Access domain-specific stores via getStore()
105
+ const memoryStore = await storage.getStore('memory');
106
+ const thread = await memoryStore?.getThreadById({ threadId: "..." });
103
107
  ```
104
108
 
105
109
  :::warning