@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
@@ -1,6 +1,10 @@
1
1
  ---
2
2
  title: "Reference: PostgreSQL Storage | Storage"
3
3
  description: Documentation for the PostgreSQL storage implementation in Mastra.
4
+ packages:
5
+ - "@mastra/core"
6
+ - "@mastra/memory"
7
+ - "@mastra/pg"
4
8
  ---
5
9
 
6
10
  # PostgreSQL Storage
@@ -9,13 +13,13 @@ The PostgreSQL storage implementation provides a production-ready storage soluti
9
13
 
10
14
  ## Installation
11
15
 
12
- ```bash copy
16
+ ```bash
13
17
  npm install @mastra/pg@beta
14
18
  ```
15
19
 
16
20
  ## Usage
17
21
 
18
- ```typescript copy showLineNumbers
22
+ ```typescript
19
23
  import { PostgresStore } from "@mastra/pg";
20
24
 
21
25
  const storage = new PostgresStore({
@@ -28,6 +32,13 @@ const storage = new PostgresStore({
28
32
 
29
33
  <PropertiesTable
30
34
  content={[
35
+ {
36
+ name: "id",
37
+ type: "string",
38
+ description:
39
+ "Unique identifier for this storage instance.",
40
+ isOptional: false,
41
+ },
31
42
  {
32
43
  name: "connectionString",
33
44
  type: "string",
@@ -105,11 +116,12 @@ The storage implementation handles schema creation and updates automatically. It
105
116
 
106
117
  When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
107
118
 
108
- ```typescript copy
119
+ ```typescript
109
120
  import { Mastra } from "@mastra/core";
110
121
  import { PostgresStore } from "@mastra/pg";
111
122
 
112
123
  const storage = new PostgresStore({
124
+ id: 'pg-storage',
113
125
  connectionString: process.env.DATABASE_URL,
114
126
  });
115
127
 
@@ -120,18 +132,20 @@ const mastra = new Mastra({
120
132
 
121
133
  If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
122
134
 
123
- ```typescript copy
135
+ ```typescript
124
136
  import { PostgresStore } from "@mastra/pg";
125
137
 
126
138
  const storage = new PostgresStore({
139
+ id: 'pg-storage',
127
140
  connectionString: process.env.DATABASE_URL,
128
141
  });
129
142
 
130
143
  // Required when using storage directly
131
144
  await storage.init();
132
145
 
133
- // Now you can use the storage
134
- await storage.getThread({ threadId: "..." });
146
+ // Access domain-specific stores via getStore()
147
+ const memoryStore = await storage.getStore('memory');
148
+ const thread = await memoryStore?.getThreadById({ threadId: "..." });
135
149
  ```
136
150
 
137
151
  :::warning
@@ -155,50 +169,199 @@ This enables direct queries and custom transaction management. When using these
155
169
 
156
170
  This approach is intended for advanced scenarios where low-level access is required.
157
171
 
172
+ ### Using with Next.js
173
+
174
+ When using `PostgresStore` in Next.js applications, [Hot Module Replacement (HMR)](https://nextjs.org/docs/architecture/fast-refresh) during development can cause multiple storage instances to be created, resulting in this warning:
175
+
176
+ ```
177
+ WARNING: Creating a duplicate database object for the same connection.
178
+ ```
179
+
180
+ To prevent this, store the `PostgresStore` instance on the global object so it persists across HMR reloads:
181
+
182
+ ```typescript title="src/mastra/storage.ts"
183
+ import { PostgresStore } from "@mastra/pg";
184
+ import { Memory } from "@mastra/memory";
185
+
186
+ // Extend the global type to include our instances
187
+ declare global {
188
+ var pgStore: PostgresStore | undefined;
189
+ var memory: Memory | undefined;
190
+ }
191
+
192
+ // Get or create the PostgresStore instance
193
+ function getPgStore(): PostgresStore {
194
+ if (!global.pgStore) {
195
+ if (!process.env.DATABASE_URL) {
196
+ throw new Error("DATABASE_URL is not defined in environment variables");
197
+ }
198
+ global.pgStore = new PostgresStore({
199
+ id: "pg-storage",
200
+ connectionString: process.env.DATABASE_URL,
201
+ ssl:
202
+ process.env.DATABASE_SSL === "true"
203
+ ? { rejectUnauthorized: false }
204
+ : false,
205
+ });
206
+ }
207
+ return global.pgStore;
208
+ }
209
+
210
+ // Get or create the Memory instance
211
+ function getMemory(): Memory {
212
+ if (!global.memory) {
213
+ global.memory = new Memory({
214
+ storage: getPgStore(),
215
+ });
216
+ }
217
+ return global.memory;
218
+ }
219
+
220
+ export const storage = getPgStore();
221
+ export const memory = getMemory();
222
+ ```
223
+
224
+ Then use the exported instances in your Mastra configuration:
225
+
226
+ ```typescript title="src/mastra/index.ts"
227
+ import { Mastra } from "@mastra/core/mastra";
228
+ import { storage } from "./storage";
229
+
230
+ export const mastra = new Mastra({
231
+ storage,
232
+ // ...other config
233
+ });
234
+ ```
235
+
236
+ This pattern ensures only one `PostgresStore` instance is created regardless of how many times the module is reloaded during development. The same pattern can be applied to other storage providers like `LibSQLStore`.
237
+
238
+ :::tip
239
+ This singleton pattern is only necessary during local development with HMR. In production builds, modules are only loaded once.
240
+ :::
241
+
242
+ ## Usage Example
243
+
244
+ ### Adding memory to an agent
245
+
246
+ To add PostgreSQL memory to an agent use the `Memory` class and create a new `storage` key using `PostgresStore`. The `connectionString` can either be a remote location, or a local database connection.
247
+
248
+ ```typescript title="src/mastra/agents/example-pg-agent.ts"
249
+ import { Memory } from "@mastra/memory";
250
+ import { Agent } from "@mastra/core/agent";
251
+ import { PostgresStore } from "@mastra/pg";
252
+
253
+ export const pgAgent = new Agent({
254
+ id: "pg-agent",
255
+ name: "PG Agent",
256
+ instructions:
257
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
258
+ model: "openai/gpt-5.1",
259
+ memory: new Memory({
260
+ storage: new PostgresStore({
261
+ id: 'pg-agent-storage',
262
+ connectionString: process.env.DATABASE_URL!,
263
+ }),
264
+ options: {
265
+ generateTitle: true, // Explicitly enable automatic title generation
266
+ },
267
+ }),
268
+ });
269
+ ```
270
+
271
+ ### Using the agent
272
+
273
+ Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
274
+
275
+ ```typescript title="src/test-pg-agent.ts"
276
+ import "dotenv/config";
277
+
278
+ import { mastra } from "./mastra";
279
+
280
+ const threadId = "123";
281
+ const resourceId = "user-456";
282
+
283
+ const agent = mastra.getAgent("pg-agent");
284
+
285
+ const message = await agent.stream("My name is Mastra", {
286
+ memory: {
287
+ thread: threadId,
288
+ resource: resourceId,
289
+ },
290
+ });
291
+
292
+ await message.textStream.pipeTo(new WritableStream());
293
+
294
+ const stream = await agent.stream("What's my name?", {
295
+ memory: {
296
+ thread: threadId,
297
+ resource: resourceId,
298
+ },
299
+ memoryOptions: {
300
+ lastMessages: 5,
301
+ semanticRecall: {
302
+ topK: 3,
303
+ messageRange: 2,
304
+ },
305
+ },
306
+ });
307
+
308
+ for await (const chunk of stream.textStream) {
309
+ process.stdout.write(chunk);
310
+ }
311
+ ```
312
+
158
313
  ## Index Management
159
314
 
160
- PostgreSQL storage provides comprehensive index management capabilities to optimize query performance.
315
+ PostgreSQL storage provides index management to optimize query performance.
161
316
 
162
- ### Automatic Performance Indexes
317
+ ### Default Indexes
163
318
 
164
- PostgreSQL storage automatically creates composite indexes during initialization for common query patterns:
319
+ PostgreSQL storage creates composite indexes during initialization for common query patterns:
165
320
 
166
321
  - `mastra_threads_resourceid_createdat_idx`: (resourceId, createdAt DESC)
167
322
  - `mastra_messages_thread_id_createdat_idx`: (thread_id, createdAt DESC)
168
- - `mastra_traces_name_starttime_idx`: (name, startTime DESC)
169
- - `mastra_evals_agent_name_created_at_idx`: (agent_name, created_at DESC)
323
+ - `mastra_ai_spans_traceid_startedat_idx`: (traceId, startedAt DESC)
324
+ - `mastra_ai_spans_parentspanid_startedat_idx`: (parentSpanId, startedAt DESC)
325
+ - `mastra_ai_spans_name_startedat_idx`: (name, startedAt DESC)
326
+ - `mastra_ai_spans_scope_startedat_idx`: (scope, startedAt DESC)
327
+ - `mastra_scores_trace_id_span_id_created_at_idx`: (traceId, spanId, createdAt DESC)
170
328
 
171
- These indexes significantly improve performance for filtered queries with sorting.
329
+ These indexes improve performance for filtered queries with sorting, including `dateRange` filters on message queries.
172
330
 
173
- ### Creating Custom Indexes
331
+ ### Configuring Indexes
174
332
 
175
- Create additional indexes to optimize specific query patterns:
333
+ You can control index creation via constructor options:
176
334
 
177
- ```typescript copy
178
- // Basic index for common queries
179
- await storage.createIndex({
180
- name: "idx_threads_resource",
181
- table: "mastra_threads",
182
- columns: ["resourceId"],
183
- });
335
+ ```typescript
336
+ import { PostgresStore } from "@mastra/pg";
184
337
 
185
- // Composite index with sort order for filtering + sorting
186
- await storage.createIndex({
187
- name: "idx_messages_composite",
188
- table: "mastra_messages",
189
- columns: ["thread_id", "createdAt DESC"],
338
+ // Skip default indexes (manage indexes separately)
339
+ const store = new PostgresStore({
340
+ id: 'pg-storage',
341
+ connectionString: process.env.DATABASE_URL,
342
+ skipDefaultIndexes: true,
190
343
  });
191
344
 
192
- // GIN index for JSONB columns (fast JSON queries)
193
- await storage.createIndex({
194
- name: "idx_traces_attributes",
195
- table: "mastra_traces",
196
- columns: ["attributes"],
197
- method: "gin",
345
+ // Add custom indexes during initialization
346
+ const storeWithCustomIndexes = new PostgresStore({
347
+ id: 'pg-storage',
348
+ connectionString: process.env.DATABASE_URL,
349
+ indexes: [
350
+ {
351
+ name: "idx_threads_metadata_type",
352
+ table: "mastra_threads",
353
+ columns: ["metadata->>'type'"],
354
+ },
355
+ {
356
+ name: "idx_messages_status",
357
+ table: "mastra_messages",
358
+ columns: ["metadata->>'status'"],
359
+ },
360
+ ],
198
361
  });
199
362
  ```
200
363
 
201
- For more advanced use cases, you can also use:
364
+ For advanced index types, you can specify additional options:
202
365
 
203
366
  - `unique: true` for unique constraints
204
367
  - `where: 'condition'` for partial indexes
@@ -274,66 +437,48 @@ For more advanced use cases, you can also use:
274
437
  ]}
275
438
  />
276
439
 
277
- ### Managing Indexes
278
-
279
- List and monitor existing indexes:
280
-
281
- ```typescript copy
282
- // List all indexes
283
- const allIndexes = await storage.listIndexes();
284
- console.log(allIndexes);
285
- // [
286
- // {
287
- // name: 'mastra_threads_pkey',
288
- // table: 'mastra_threads',
289
- // columns: ['id'],
290
- // unique: true,
291
- // size: '16 KB',
292
- // definition: 'CREATE UNIQUE INDEX...'
293
- // },
294
- // ...
295
- // ]
296
-
297
- // List indexes for specific table
298
- const threadIndexes = await storage.listIndexes("mastra_threads");
299
-
300
- // Get detailed statistics for an index
301
- const stats = await storage.describeIndex("idx_threads_resource");
302
- console.log(stats);
303
- // {
304
- // name: 'idx_threads_resource',
305
- // table: 'mastra_threads',
306
- // columns: ['resourceId', 'createdAt'],
307
- // unique: false,
308
- // size: '128 KB',
309
- // definition: 'CREATE INDEX idx_threads_resource...',
310
- // method: 'btree',
311
- // scans: 1542, // Number of index scans
312
- // tuples_read: 45230, // Tuples read via index
313
- // tuples_fetched: 12050 // Tuples fetched via index
314
- // }
315
-
316
- // Drop an index
317
- await storage.dropIndex("idx_threads_status");
318
- ```
319
-
320
440
  ### Schema-Specific Indexes
321
441
 
322
- When using custom schemas, indexes are created with schema prefixes:
442
+ When using custom schemas, index names are prefixed with the schema name:
323
443
 
324
- ```typescript copy
444
+ ```typescript
325
445
  const storage = new PostgresStore({
326
446
  id: 'pg-storage',
327
447
  connectionString: process.env.DATABASE_URL,
328
448
  schemaName: "custom_schema",
449
+ indexes: [
450
+ {
451
+ name: "idx_threads_status",
452
+ table: "mastra_threads",
453
+ columns: ["status"],
454
+ },
455
+ ],
329
456
  });
330
457
 
331
458
  // Creates index as: custom_schema_idx_threads_status
332
- await storage.createIndex({
333
- name: "idx_threads_status",
334
- table: "mastra_threads",
335
- columns: ["status"],
336
- });
459
+ ```
460
+
461
+ ### Managing Indexes via SQL
462
+
463
+ For advanced index management (listing, dropping, analyzing), use direct SQL queries via the `db` accessor:
464
+
465
+ ```typescript
466
+ // List indexes for a table
467
+ const indexes = await storage.db.any(`
468
+ SELECT indexname, indexdef
469
+ FROM pg_indexes
470
+ WHERE tablename = 'mastra_messages'
471
+ `);
472
+
473
+ // Drop an index
474
+ await storage.db.none('DROP INDEX IF EXISTS idx_my_custom_index');
475
+
476
+ // Analyze index usage
477
+ const stats = await storage.db.one(`
478
+ SELECT idx_scan, idx_tup_read
479
+ FROM pg_stat_user_indexes
480
+ WHERE indexrelname = 'mastra_messages_thread_id_createdat_idx'
481
+ `);
337
482
  ```
338
483
 
339
484
  ### Index Types and Use Cases
@@ -1,6 +1,10 @@
1
1
  ---
2
2
  title: "Reference: Upstash Storage | Storage"
3
3
  description: Documentation for the Upstash storage implementation in Mastra.
4
+ packages:
5
+ - "@mastra/core"
6
+ - "@mastra/memory"
7
+ - "@mastra/upstash"
4
8
  ---
5
9
 
6
10
  # Upstash Storage
@@ -15,13 +19,13 @@ The Upstash storage implementation provides a serverless-friendly storage soluti
15
19
 
16
20
  ## Installation
17
21
 
18
- ```bash copy
22
+ ```bash
19
23
  npm install @mastra/upstash@beta
20
24
  ```
21
25
 
22
26
  ## Usage
23
27
 
24
- ```typescript copy showLineNumbers
28
+ ```typescript
25
29
  import { UpstashStore } from "@mastra/upstash";
26
30
 
27
31
  const storage = new UpstashStore({
@@ -91,3 +95,75 @@ For optimal performance:
91
95
  - Use appropriate key prefixes to organize data
92
96
  - Monitor Redis memory usage
93
97
  - Consider data expiration policies if needed
98
+
99
+ ## Usage Example
100
+
101
+ ### Adding memory to an agent
102
+
103
+ To add Upstash memory to an agent use the `Memory` class and create a new `storage` key using `UpstashStore` and a new `vector` key using `UpstashVector`. The configuration can point to either a remote service or a local setup.
104
+
105
+ ```typescript title="src/mastra/agents/example-upstash-agent.ts"
106
+ import { Memory } from "@mastra/memory";
107
+ import { Agent } from "@mastra/core/agent";
108
+ import { UpstashStore } from "@mastra/upstash";
109
+
110
+ export const upstashAgent = new Agent({
111
+ id: "upstash-agent",
112
+ name: "Upstash Agent",
113
+ instructions:
114
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
115
+ model: "openai/gpt-5.1",
116
+ memory: new Memory({
117
+ storage: new UpstashStore({
118
+ id: 'upstash-agent-storage',
119
+ url: process.env.UPSTASH_REDIS_REST_URL!,
120
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
121
+ }),
122
+ options: {
123
+ generateTitle: true, // Explicitly enable automatic title generation
124
+ },
125
+ }),
126
+ });
127
+ ```
128
+
129
+ ### Using the agent
130
+
131
+ Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
132
+
133
+ ```typescript title="src/test-upstash-agent.ts"
134
+ import "dotenv/config";
135
+
136
+ import { mastra } from "./mastra";
137
+
138
+ const threadId = "123";
139
+ const resourceId = "user-456";
140
+
141
+ const agent = mastra.getAgent("upstashAgent");
142
+
143
+ const message = await agent.stream("My name is Mastra", {
144
+ memory: {
145
+ thread: threadId,
146
+ resource: resourceId,
147
+ },
148
+ });
149
+
150
+ await message.textStream.pipeTo(new WritableStream());
151
+
152
+ const stream = await agent.stream("What's my name?", {
153
+ memory: {
154
+ thread: threadId,
155
+ resource: resourceId,
156
+ },
157
+ memoryOptions: {
158
+ lastMessages: 5,
159
+ semanticRecall: {
160
+ topK: 3,
161
+ messageRange: 2,
162
+ },
163
+ },
164
+ });
165
+
166
+ for await (const chunk of stream.textStream) {
167
+ process.stdout.write(chunk);
168
+ }
169
+ ```
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: "Reference: ChunkType | Streaming"
3
3
  description: "Documentation for the ChunkType type used in Mastra streaming responses, defining all possible chunk types and their payloads."
4
+ packages:
5
+ - "@mastra/core"
4
6
  ---
5
7
 
6
8
  import PropertiesTable from "@site/src/components/PropertiesTable";
@@ -1013,6 +1015,11 @@ Stream has completed successfully.
1013
1015
  type: "object",
1014
1016
  description: "Message history",
1015
1017
  },
1018
+ {
1019
+ name: "response",
1020
+ type: "object",
1021
+ description: "Response metadata and messages from the model provider",
1022
+ },
1016
1023
  ],
1017
1024
  },
1018
1025
  ],
@@ -1097,7 +1104,7 @@ Emitted when using output generation with defined schemas. Contains partial or c
1097
1104
  },
1098
1105
  {
1099
1106
  name: "object",
1100
- type: "PartialSchemaOutput<OUTPUT>",
1107
+ type: "Partial<OUTPUT>",
1101
1108
  description:
1102
1109
  "Partial or complete structured data matching the defined schema. The type is determined by the OUTPUT schema parameter.",
1103
1110
  },
@@ -1255,7 +1262,7 @@ Contains monitoring and observability data from agent execution. Can include wor
1255
1262
 
1256
1263
  ### tripwire
1257
1264
 
1258
- Emitted when the stream is forcibly terminated due to content being blocked by output processors. This acts as a safety mechanism to prevent harmful or inappropriate content from being streamed.
1265
+ Emitted when the stream is forcibly terminated due to content being blocked by a processor. This acts as a safety mechanism to prevent harmful or inappropriate content from being streamed. The payload includes information about why the content was blocked and whether a retry was requested.
1259
1266
 
1260
1267
  <PropertiesTable
1261
1268
  content={[
@@ -1274,11 +1281,32 @@ Emitted when the stream is forcibly terminated due to content being blocked by o
1274
1281
  type: "TripwirePayload",
1275
1282
  parameters: [
1276
1283
  {
1277
- name: "tripwireReason",
1284
+ name: "reason",
1278
1285
  type: "string",
1279
1286
  description:
1280
1287
  "Explanation of why the content was blocked (e.g., 'Output processor blocked content')",
1281
1288
  },
1289
+ {
1290
+ name: "retry",
1291
+ type: "boolean",
1292
+ isOptional: true,
1293
+ description:
1294
+ "Whether the processor requested a retry of the step",
1295
+ },
1296
+ {
1297
+ name: "metadata",
1298
+ type: "unknown",
1299
+ isOptional: true,
1300
+ description:
1301
+ "Additional metadata from the processor (e.g., scores, categories)",
1302
+ },
1303
+ {
1304
+ name: "processorId",
1305
+ type: "string",
1306
+ isOptional: true,
1307
+ description:
1308
+ "ID of the processor that triggered the tripwire",
1309
+ },
1282
1310
  ],
1283
1311
  },
1284
1312
  ],