@mastra/mcp-docs-server 1.0.0-beta.11 → 1.0.0-beta.14

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 (345) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +29 -29
  2. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
  3. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +45 -45
  4. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +180 -180
  5. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +39 -39
  6. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +39 -39
  7. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +68 -0
  8. package/.docs/organized/changelogs/%40mastra%2Fcore.md +331 -331
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +31 -31
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
  12. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +39 -39
  13. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
  14. package/.docs/organized/changelogs/%40mastra%2Flance.md +39 -39
  15. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +45 -45
  16. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +24 -24
  17. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +24 -24
  18. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +39 -39
  19. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +39 -39
  20. package/.docs/organized/changelogs/%40mastra%2Fpg.md +45 -45
  21. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +96 -96
  22. package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
  23. package/.docs/organized/changelogs/%40mastra%2Freact.md +49 -2
  24. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fserver.md +122 -122
  26. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +39 -39
  27. package/.docs/organized/changelogs/create-mastra.md +31 -31
  28. package/.docs/organized/changelogs/mastra.md +51 -51
  29. package/.docs/organized/code-examples/agent-v6.md +151 -0
  30. package/.docs/organized/code-examples/ai-elements.md +1 -1
  31. package/.docs/organized/code-examples/quick-start.md +0 -4
  32. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  33. package/.docs/raw/agents/adding-voice.mdx +2 -3
  34. package/.docs/raw/agents/agent-approval.mdx +139 -6
  35. package/.docs/raw/agents/agent-memory.mdx +24 -32
  36. package/.docs/raw/agents/guardrails.mdx +61 -51
  37. package/.docs/raw/agents/networks.mdx +9 -13
  38. package/.docs/raw/agents/overview.mdx +40 -24
  39. package/.docs/raw/agents/processors.mdx +20 -19
  40. package/.docs/raw/agents/structured-output.mdx +11 -7
  41. package/.docs/raw/agents/using-tools.mdx +5 -6
  42. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  43. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  44. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  45. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  46. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  47. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  48. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  49. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  50. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -2
  51. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  52. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  53. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +3 -4
  54. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -3
  55. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +2 -3
  56. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -2
  57. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +2 -3
  58. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  59. package/.docs/raw/deployment/cloud-providers.mdx +20 -0
  60. package/.docs/raw/deployment/{building-mastra.mdx → mastra-server.mdx} +5 -5
  61. package/.docs/raw/deployment/monorepo.mdx +23 -44
  62. package/.docs/raw/deployment/overview.mdx +32 -50
  63. package/.docs/raw/deployment/web-framework.mdx +15 -19
  64. package/.docs/raw/evals/custom-scorers.mdx +9 -6
  65. package/.docs/raw/evals/overview.mdx +3 -6
  66. package/.docs/raw/evals/running-in-ci.mdx +2 -2
  67. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  68. package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
  69. package/.docs/raw/getting-started/start.mdx +10 -1
  70. package/.docs/raw/getting-started/studio.mdx +1 -1
  71. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
  72. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1033 -79
  73. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  74. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
  75. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  76. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  77. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  78. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  79. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +12 -15
  80. package/.docs/raw/guides/deployment/index.mdx +32 -0
  81. package/.docs/raw/guides/deployment/inngest.mdx +386 -0
  82. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  83. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  84. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  85. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  86. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  87. package/.docs/raw/guides/getting-started/next-js.mdx +170 -61
  88. package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
  89. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  90. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  91. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  92. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  93. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  94. package/.docs/raw/guides/guide/research-assistant.mdx +17 -17
  95. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  96. package/.docs/raw/guides/guide/web-search.mdx +8 -8
  97. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  98. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  99. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
  100. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +17 -0
  101. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +6 -0
  102. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
  103. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  104. package/.docs/raw/index.mdx +2 -2
  105. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/dashboard.mdx +2 -6
  106. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/observability.mdx +1 -5
  107. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/overview.mdx +2 -6
  108. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/setting-up.mdx +8 -7
  109. package/.docs/raw/mcp/overview.mdx +31 -13
  110. package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
  111. package/.docs/raw/memory/memory-processors.mdx +9 -9
  112. package/.docs/raw/memory/message-history.mdx +69 -0
  113. package/.docs/raw/memory/overview.mdx +34 -76
  114. package/.docs/raw/memory/semantic-recall.mdx +58 -49
  115. package/.docs/raw/memory/storage.mdx +188 -0
  116. package/.docs/raw/memory/working-memory.mdx +7 -7
  117. package/.docs/raw/observability/logging.mdx +10 -11
  118. package/.docs/raw/observability/overview.mdx +0 -1
  119. package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
  120. package/.docs/raw/observability/tracing/exporters/cloud.mdx +1 -1
  121. package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
  122. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
  123. package/.docs/raw/observability/tracing/overview.mdx +23 -25
  124. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
  125. package/.docs/raw/rag/chunking-and-embedding.mdx +18 -31
  126. package/.docs/raw/rag/graph-rag.mdx +220 -0
  127. package/.docs/raw/rag/overview.mdx +2 -3
  128. package/.docs/raw/rag/retrieval.mdx +34 -51
  129. package/.docs/raw/rag/vector-databases.mdx +29 -25
  130. package/.docs/raw/reference/agents/agent.mdx +3 -3
  131. package/.docs/raw/reference/agents/generate.mdx +1 -1
  132. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  133. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +3 -3
  134. package/.docs/raw/reference/agents/getDefaultOptions.mdx +3 -3
  135. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +3 -3
  136. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  137. package/.docs/raw/reference/agents/getInstructions.mdx +3 -3
  138. package/.docs/raw/reference/agents/getLLM.mdx +3 -3
  139. package/.docs/raw/reference/agents/getMemory.mdx +3 -3
  140. package/.docs/raw/reference/agents/getModel.mdx +3 -3
  141. package/.docs/raw/reference/agents/getTools.mdx +2 -2
  142. package/.docs/raw/reference/agents/getVoice.mdx +2 -2
  143. package/.docs/raw/reference/agents/listAgents.mdx +2 -2
  144. package/.docs/raw/reference/agents/listScorers.mdx +3 -3
  145. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  146. package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
  147. package/.docs/raw/reference/agents/network.mdx +1 -1
  148. package/.docs/raw/reference/ai-sdk/chat-route.mdx +3 -3
  149. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +2 -2
  150. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +2 -2
  151. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +2 -2
  152. package/.docs/raw/reference/ai-sdk/network-route.mdx +3 -3
  153. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
  154. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +127 -0
  155. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +107 -0
  156. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
  157. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +3 -3
  158. package/.docs/raw/reference/auth/auth0.mdx +2 -3
  159. package/.docs/raw/reference/auth/clerk.mdx +2 -3
  160. package/.docs/raw/reference/auth/firebase.mdx +3 -5
  161. package/.docs/raw/reference/auth/jwt.mdx +2 -3
  162. package/.docs/raw/reference/auth/supabase.mdx +2 -3
  163. package/.docs/raw/reference/auth/workos.mdx +2 -3
  164. package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
  165. package/.docs/raw/reference/cli/mastra.mdx +10 -10
  166. package/.docs/raw/reference/client-js/agents.mdx +1 -2
  167. package/.docs/raw/reference/client-js/mastra-client.mdx +2 -2
  168. package/.docs/raw/reference/client-js/workflows.mdx +20 -0
  169. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  170. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  171. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  172. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  173. package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
  174. package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
  175. package/.docs/raw/reference/core/getMemory.mdx +2 -2
  176. package/.docs/raw/reference/core/getServer.mdx +3 -3
  177. package/.docs/raw/reference/core/getStorage.mdx +2 -2
  178. package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
  179. package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
  180. package/.docs/raw/reference/core/getVector.mdx +1 -1
  181. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  182. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  183. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  184. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  185. package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
  186. package/.docs/raw/reference/core/listMemory.mdx +2 -2
  187. package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
  188. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  189. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  190. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  191. package/.docs/raw/reference/core/setStorage.mdx +2 -2
  192. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  193. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
  194. package/.docs/raw/reference/deployer/deployer.mdx +0 -1
  195. package/.docs/raw/reference/deployer/netlify.mdx +1 -1
  196. package/.docs/raw/reference/deployer/vercel.mdx +2 -4
  197. package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
  198. package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
  199. package/.docs/raw/reference/evals/bias.mdx +1 -1
  200. package/.docs/raw/reference/evals/completeness.mdx +1 -1
  201. package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
  202. package/.docs/raw/reference/evals/context-precision.mdx +1 -1
  203. package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
  204. package/.docs/raw/reference/evals/hallucination.mdx +1 -1
  205. package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
  206. package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
  207. package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
  208. package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
  209. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
  210. package/.docs/raw/reference/evals/toxicity.mdx +1 -1
  211. package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
  212. package/.docs/raw/reference/memory/createThread.mdx +2 -2
  213. package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
  214. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
  215. package/.docs/raw/reference/memory/memory-class.mdx +3 -3
  216. package/.docs/raw/reference/memory/query.mdx +2 -2
  217. package/.docs/raw/reference/memory/recall.mdx +2 -2
  218. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
  219. package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
  220. package/.docs/raw/reference/processors/language-detector.mdx +2 -2
  221. package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
  222. package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
  223. package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
  224. package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
  225. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
  226. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
  227. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
  228. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  229. package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
  230. package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
  231. package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
  232. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  233. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  234. package/.docs/raw/reference/rag/extract-params.mdx +2 -2
  235. package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
  236. package/.docs/raw/reference/server/create-route.mdx +14 -14
  237. package/.docs/raw/reference/server/express-adapter.mdx +10 -11
  238. package/.docs/raw/reference/server/hono-adapter.mdx +10 -11
  239. package/.docs/raw/reference/server/mastra-server.mdx +22 -22
  240. package/.docs/raw/reference/server/routes.mdx +28 -1
  241. package/.docs/raw/reference/storage/cloudflare-d1.mdx +3 -3
  242. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  243. package/.docs/raw/reference/storage/convex.mdx +6 -6
  244. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  245. package/.docs/raw/reference/storage/lance.mdx +3 -3
  246. package/.docs/raw/reference/storage/libsql.mdx +69 -54
  247. package/.docs/raw/reference/storage/mongodb.mdx +80 -7
  248. package/.docs/raw/reference/storage/mssql.mdx +4 -4
  249. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +13 -111
  250. package/.docs/raw/reference/storage/postgresql.mdx +78 -7
  251. package/.docs/raw/reference/storage/upstash.mdx +74 -2
  252. package/.docs/raw/reference/streaming/agents/stream.mdx +27 -5
  253. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
  254. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
  255. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
  256. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -22
  257. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
  258. package/.docs/raw/reference/templates/overview.mdx +1 -2
  259. package/.docs/raw/reference/tools/create-tool.mdx +24 -5
  260. package/.docs/raw/reference/tools/graph-rag-tool.mdx +3 -3
  261. package/.docs/raw/reference/tools/vector-query-tool.mdx +4 -4
  262. package/.docs/raw/reference/vectors/astra.mdx +3 -3
  263. package/.docs/raw/reference/vectors/chroma.mdx +3 -3
  264. package/.docs/raw/reference/vectors/convex.mdx +12 -12
  265. package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
  266. package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
  267. package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
  268. package/.docs/raw/reference/vectors/lance.mdx +4 -4
  269. package/.docs/raw/reference/vectors/libsql.mdx +61 -11
  270. package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
  271. package/.docs/raw/reference/vectors/pg.mdx +53 -6
  272. package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
  273. package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
  274. package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
  275. package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
  276. package/.docs/raw/reference/vectors/upstash.mdx +55 -6
  277. package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
  278. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
  279. package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
  280. package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
  281. package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
  282. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +143 -0
  283. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
  284. package/.docs/raw/reference/workflows/run.mdx +1 -1
  285. package/.docs/raw/reference/workflows/step.mdx +3 -3
  286. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  287. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  288. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +37 -2
  289. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  290. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  291. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
  292. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
  293. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  294. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
  295. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
  296. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
  297. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  298. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
  299. package/.docs/raw/reference/workflows/workflow.mdx +17 -3
  300. package/.docs/raw/{auth → server/auth}/auth0.mdx +20 -14
  301. package/.docs/raw/{auth → server/auth}/clerk.mdx +16 -9
  302. package/.docs/raw/{auth → server/auth}/firebase.mdx +21 -15
  303. package/.docs/raw/{auth → server/auth}/index.mdx +6 -6
  304. package/.docs/raw/{auth → server/auth}/jwt.mdx +14 -7
  305. package/.docs/raw/{auth → server/auth}/supabase.mdx +16 -9
  306. package/.docs/raw/{auth → server/auth}/workos.mdx +19 -13
  307. package/.docs/raw/{server-db → server}/custom-adapters.mdx +13 -13
  308. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +3 -5
  309. package/.docs/raw/{server-db → server}/mastra-client.mdx +26 -15
  310. package/.docs/raw/{server-db → server}/mastra-server.mdx +8 -8
  311. package/.docs/raw/{server-db → server}/middleware.mdx +9 -9
  312. package/.docs/raw/{server-db → server}/request-context.mdx +33 -32
  313. package/.docs/raw/{server-db → server}/server-adapters.mdx +12 -12
  314. package/.docs/raw/streaming/events.mdx +14 -7
  315. package/.docs/raw/streaming/overview.mdx +21 -10
  316. package/.docs/raw/streaming/tool-streaming.mdx +6 -6
  317. package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
  318. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  319. package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
  320. package/.docs/raw/tools-mcp/overview.mdx +10 -11
  321. package/.docs/raw/voice/overview.mdx +1 -1
  322. package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
  323. package/.docs/raw/workflows/control-flow.mdx +27 -40
  324. package/.docs/raw/workflows/error-handling.mdx +172 -18
  325. package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
  326. package/.docs/raw/workflows/inngest-workflow.mdx +8 -9
  327. package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
  328. package/.docs/raw/workflows/overview.mdx +34 -23
  329. package/.docs/raw/workflows/snapshots.mdx +14 -44
  330. package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
  331. package/.docs/raw/workflows/time-travel.mdx +16 -16
  332. package/.docs/raw/workflows/workflow-state.mdx +5 -8
  333. package/CHANGELOG.md +23 -0
  334. package/dist/logger.d.ts +3 -0
  335. package/dist/logger.d.ts.map +1 -1
  336. package/dist/stdio.js +53 -0
  337. package/package.json +4 -4
  338. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  339. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  340. package/.docs/raw/memory/conversation-history.mdx +0 -24
  341. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  342. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  343. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  344. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  345. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
@@ -1,37 +1,81 @@
1
1
  ---
2
- title: "Reference: LibSQL Storage | Storage"
3
- description: Documentation for the LibSQL storage implementation in Mastra.
2
+ title: "Reference: libSQL Storage | Storage"
3
+ description: Documentation for the libSQL storage implementation in Mastra.
4
4
  ---
5
5
 
6
- # LibSQL Storage
6
+ # libSQL Storage
7
7
 
8
- The LibSQL storage implementation provides a SQLite-compatible storage solution that can run both in-memory and as a persistent database.
8
+ [libSQL](https://docs.turso.tech/libsql) is an open-source, SQLite-compatible database that supports both local and remote deployments. It can be used to store message history, workflow snapshots, traces, and eval scores.
9
+
10
+ For vectors like semantic recall or traditional RAG, use [libSQL Vector](/reference/v1/vectors/libsql) which covers embeddings and vector search.
9
11
 
10
12
  ## Installation
11
13
 
12
- ```bash copy
14
+ Storage providers must be installed as separate packages:
15
+
16
+ ```bash
13
17
  npm install @mastra/libsql@beta
14
18
  ```
15
19
 
16
20
  ## Usage
17
21
 
18
- ```typescript copy showLineNumbers
22
+ ```typescript
19
23
  import { LibSQLStore } from "@mastra/libsql";
24
+ import { Mastra } from "@mastra/core";
20
25
 
21
- // File database (development)
22
- const storage = new LibSQLStore({
23
- id: 'libsql-storage',
24
- url: "file:./storage.db",
26
+ const mastra = new Mastra({
27
+ storage: new LibSQLStore({
28
+ id: 'libsql-storage',
29
+ url: "file:./storage.db",
30
+ }),
25
31
  });
32
+ ```
26
33
 
27
- // Persistent database (production)
28
- const storage = new LibSQLStore({
29
- id: 'libsql-storage',
30
- url: process.env.DATABASE_URL,
34
+ Agent-level file storage:
35
+
36
+ ```typescript
37
+ import { Memory } from "@mastra/memory";
38
+ import { Agent } from "@mastra/core/agent";
39
+ import { LibSQLStore } from "@mastra/libsql";
40
+
41
+ export const agent = new Agent({
42
+ id: "example-agent",
43
+ memory: new Memory({
44
+ storage: new LibSQLStore({
45
+ id: 'libsql-storage',
46
+ url: "file:./agent.db",
47
+ }),
48
+ }),
31
49
  });
32
50
  ```
33
51
 
34
- ## Parameters
52
+ :::warning
53
+ File storage doesn't work with serverless platforms that have ephemeral file systems. For serverless deployments, use [Turso](https://turso.tech) or a different database engine.
54
+ :::
55
+
56
+ Production with remote database:
57
+
58
+ ```typescript
59
+ storage: new LibSQLStore({
60
+ id: 'libsql-storage',
61
+ url: "libsql://your-db-name.aws-ap-northeast-1.turso.io",
62
+ authToken: process.env.TURSO_AUTH_TOKEN,
63
+ })
64
+ ```
65
+
66
+ For local development and testing, you can store data in memory:
67
+
68
+ ```typescript
69
+ storage: new LibSQLStore({
70
+ id: 'libsql-storage',
71
+ url: ":memory:",
72
+ })
73
+ ```
74
+ :::warning
75
+ In-memory storage resets when the process changes. Only suitable for development.
76
+ :::
77
+
78
+ ## Options
35
79
 
36
80
  <PropertiesTable
37
81
  content={[
@@ -39,75 +83,46 @@ const storage = new LibSQLStore({
39
83
  name: "url",
40
84
  type: "string",
41
85
  description:
42
- "Database URL. Use ':memory:' for in-memory database, 'file:filename.db' for a file database, or any LibSQL-compatible connection string for persistent storage.",
86
+ "Database URL. Use `:memory:` for in-memory database, `file:filename.db` for a file database, or a libSQL connection string (e.g., `libsql://your-database.turso.io`) for remote storage.",
43
87
  isOptional: false,
44
88
  },
45
89
  {
46
90
  name: "authToken",
47
91
  type: "string",
48
- description: "Authentication token for remote LibSQL databases.",
92
+ description: "Authentication token for remote libSQL databases.",
49
93
  isOptional: true,
50
94
  },
51
95
  ]}
52
96
  />
53
97
 
54
- ## Additional Notes
55
-
56
- ### In-Memory vs Persistent Storage
57
-
58
- The file configuration (`file:storage.db`) is useful for:
59
-
60
- - Development and testing
61
- - Temporary storage
62
- - Quick prototyping
63
-
64
- For production use cases, use a persistent database URL: `libsql://your-database.turso.io`
98
+ ## Initialization
65
99
 
66
- ### Schema Management
100
+ When you pass storage to the Mastra class, `init()` is called automatically to create the [core schema](/reference/v1/storage/overview#core-schema):
67
101
 
68
- The storage implementation handles schema creation and updates automatically. It creates the following tables:
69
-
70
- - `mastra_workflow_snapshot`: Stores workflow state and execution data
71
- - `mastra_evals`: Stores evaluation results and metadata
72
- - `mastra_threads`: Stores conversation threads
73
- - `mastra_messages`: Stores individual messages
74
- - `mastra_traces`: Stores telemetry and tracing data
75
- - `mastra_scorers`: Stores scoring and evaluation data
76
- - `mastra_resources`: Stores resource working memory data
77
-
78
- ### Initialization
79
-
80
- When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
81
-
82
- ```typescript copy
102
+ ```typescript
83
103
  import { Mastra } from "@mastra/core";
84
104
  import { LibSQLStore } from "@mastra/libsql";
85
105
 
86
106
  const storage = new LibSQLStore({
107
+ id: 'libsql-storage',
87
108
  url: "file:./storage.db",
88
109
  });
89
110
 
90
111
  const mastra = new Mastra({
91
- storage, // init() is called automatically
112
+ storage, // init() called automatically
92
113
  });
93
114
  ```
94
115
 
95
- If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
116
+ If using storage directly without Mastra, call `init()` explicitly:
96
117
 
97
- ```typescript copy
118
+ ```typescript
98
119
  import { LibSQLStore } from "@mastra/libsql";
99
120
 
100
121
  const storage = new LibSQLStore({
122
+ id: 'libsql-storage',
101
123
  url: "file:./storage.db",
102
124
  });
103
125
 
104
- // Required when using storage directly
105
126
  await storage.init();
106
-
107
- // Now you can use the storage
108
127
  await storage.getThread({ threadId: "..." });
109
128
  ```
110
-
111
- :::warning
112
- If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
113
- :::
@@ -9,7 +9,7 @@ The MongoDB storage implementation provides a scalable storage solution using Mo
9
9
 
10
10
  ## Installation
11
11
 
12
- ```bash copy
12
+ ```bash
13
13
  npm install @mastra/mongodb@beta
14
14
  ```
15
15
 
@@ -17,7 +17,7 @@ npm install @mastra/mongodb@beta
17
17
 
18
18
  Ensure you have a MongoDB Atlas Local (via Docker) or MongoDB Atlas Cloud instance with Atlas Search enabled. MongoDB 7.0+ is recommended.
19
19
 
20
- ```typescript copy showLineNumbers
20
+ ```typescript
21
21
  import { MongoDBStore } from "@mastra/mongodb";
22
22
 
23
23
  const storage = new MongoDBStore({
@@ -47,7 +47,7 @@ const storage = new MongoDBStore({
47
47
  name: "options",
48
48
  type: "MongoClientOptions",
49
49
  description:
50
- "MongoDB client options for advanced configuration (SSL, connection pooling, etc.). See advanced configuration [here](https://www.mongodb.com/docs/drivers/node/current/connect/connection-options/).",
50
+ "MongoDB client options for advanced configuration (SSL, connection pooling, etc.).",
51
51
  isOptional: true,
52
52
  },
53
53
  ]}
@@ -97,7 +97,7 @@ The storage implementation handles collection creation and management automatica
97
97
 
98
98
  When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
99
99
 
100
- ```typescript copy
100
+ ```typescript
101
101
  import { Mastra } from "@mastra/core";
102
102
  import { MongoDBStore } from "@mastra/mongodb";
103
103
 
@@ -113,7 +113,7 @@ const mastra = new Mastra({
113
113
 
114
114
  If you're using storage directly without Mastra, you must call `init()` explicitly to create the collections:
115
115
 
116
- ```typescript copy
116
+ ```typescript
117
117
  import { MongoDBStore } from "@mastra/mongodb";
118
118
 
119
119
  const storage = new MongoDBStore({
@@ -138,7 +138,7 @@ MongoDB storage includes built-in vector search capabilities for AI applications
138
138
 
139
139
  ### Vector Index Creation
140
140
 
141
- ```typescript copy
141
+ ```typescript
142
142
  import { MongoDBVector } from "@mastra/mongodb";
143
143
 
144
144
  const vectorStore = new MongoDBVector({
@@ -155,7 +155,7 @@ await vectorStore.createIndex({
155
155
 
156
156
  ### Vector Operations
157
157
 
158
- ```typescript copy
158
+ ```typescript
159
159
  // Store vectors with metadata
160
160
  await vectorStore.upsert({
161
161
  indexName: "document_embeddings",
@@ -182,3 +182,76 @@ const results = await vectorStore.query({
182
182
  },
183
183
  });
184
184
  ```
185
+
186
+ ## Usage Example
187
+
188
+ ### Adding memory to an agent
189
+
190
+ To add MongoDB memory to an agent use the `Memory` class and create a new `storage` key using `MongoDBStore`. The configuration supports both local and remote MongoDB instances.
191
+
192
+ ```typescript title="src/mastra/agents/example-mongodb-agent.ts"
193
+ import { Memory } from "@mastra/memory";
194
+ import { Agent } from "@mastra/core/agent";
195
+ import { MongoDBStore } from "@mastra/mongodb";
196
+
197
+ export const mongodbAgent = new Agent({
198
+ id: "mongodb-agent",
199
+ name: "mongodb-agent",
200
+ instructions:
201
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
202
+ model: "openai/gpt-5.1",
203
+ memory: new Memory({
204
+ storage: new MongoDBStore({
205
+ url: process.env.MONGODB_URI!,
206
+ dbName: process.env.MONGODB_DB_NAME!,
207
+ }),
208
+ options: {
209
+ threads: {
210
+ generateTitle: true,
211
+ },
212
+ },
213
+ }),
214
+ });
215
+ ```
216
+
217
+ ### Using the agent
218
+
219
+ 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.
220
+
221
+ ```typescript title="src/test-mongodb-agent.ts"
222
+ import "dotenv/config";
223
+
224
+ import { mastra } from "./mastra";
225
+
226
+ const threadId = "123";
227
+ const resourceId = "user-456";
228
+
229
+ const agent = mastra.getAgent("mongodbAgent");
230
+
231
+ const message = await agent.stream("My name is Mastra", {
232
+ memory: {
233
+ thread: threadId,
234
+ resource: resourceId,
235
+ },
236
+ });
237
+
238
+ await message.textStream.pipeTo(new WritableStream());
239
+
240
+ const stream = await agent.stream("What's my name?", {
241
+ memory: {
242
+ thread: threadId,
243
+ resource: resourceId,
244
+ },
245
+ memoryOptions: {
246
+ lastMessages: 5,
247
+ semanticRecall: {
248
+ topK: 3,
249
+ messageRange: 2,
250
+ },
251
+ },
252
+ });
253
+
254
+ for await (const chunk of stream.textStream) {
255
+ process.stdout.write(chunk);
256
+ }
257
+ ```
@@ -9,13 +9,13 @@ The MSSQL storage implementation provides a production-ready storage solution us
9
9
 
10
10
  ## Installation
11
11
 
12
- ```bash copy
12
+ ```bash
13
13
  npm install @mastra/mssql@beta
14
14
  ```
15
15
 
16
16
  ## Usage
17
17
 
18
- ```typescript copy showLineNumbers
18
+ ```typescript
19
19
  import { MSSQLStore } from "@mastra/mssql";
20
20
 
21
21
  const storage = new MSSQLStore({
@@ -105,7 +105,7 @@ The storage implementation handles schema creation and updates automatically. It
105
105
 
106
106
  When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
107
107
 
108
- ```typescript copy
108
+ ```typescript
109
109
  import { Mastra } from "@mastra/core";
110
110
  import { MSSQLStore } from "@mastra/mssql";
111
111
 
@@ -120,7 +120,7 @@ const mastra = new Mastra({
120
120
 
121
121
  If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
122
122
 
123
- ```typescript copy
123
+ ```typescript
124
124
  import { MSSQLStore } from "@mastra/mssql";
125
125
 
126
126
  const storage = new MSSQLStore({
@@ -1,58 +1,22 @@
1
1
  ---
2
- title: "MastraStorage | Server & DB"
3
- description: Overview of Mastra's storage system and data persistence capabilities.
2
+ title: "Reference: Storage Overview | Storage"
3
+ description: Core data schema and table structure for Mastra's storage system.
4
4
  ---
5
5
 
6
- import PropertiesTable from "@site/src/components/PropertiesTable";
7
6
  import { SchemaTable } from "@site/src/components/SchemaTable";
8
- import { StorageOverviewImage } from "@site/src/components/StorageOverviewImage";
9
7
  import Tabs from "@theme/Tabs";
10
8
  import TabItem from "@theme/TabItem";
11
9
 
12
- # MastraStorage
10
+ # Storage Overview
13
11
 
14
- `MastraStorage` provides a unified interface for managing:
12
+ Mastra requires the following tables to be present in the database.
15
13
 
16
- - **Suspended Workflows**: the serialized state of suspended workflows (so they can be resumed later)
17
- - **Memory**: threads and messages per `resourceId` in your application
18
- - **Traces**: OpenTelemetry traces from all components of Mastra
19
- - **Eval Datasets**: scores and scoring reasons from eval runs
20
-
21
- <br />
22
-
23
- <br />
24
-
25
- <StorageOverviewImage />
26
-
27
- Mastra provides different storage providers, but you can treat them as interchangeable. Eg, you could use libsql in development but postgres in production, and your code will work the same both ways.
28
-
29
- ## Configuration
30
-
31
- Mastra can be configured with a default storage option:
32
-
33
- ```typescript copy
34
- import { Mastra } from "@mastra/core";
35
- import { LibSQLStore } from "@mastra/libsql";
36
-
37
- const mastra = new Mastra({
38
- storage: new LibSQLStore({
39
- id: 'mastra-storage',
40
- url: "file:./mastra.db",
41
- }),
42
- });
43
- ```
44
-
45
- If you do not specify any `storage` configuration, Mastra will not persist data across application restarts or deployments. For any
46
- deployment beyond local testing you should provide your own storage
47
- configuration either on `Mastra` or directly within `new Memory()`.
48
-
49
- ## Data Schema
14
+ ## Core Schema
50
15
 
51
16
  <Tabs>
52
17
  <TabItem value="messages" label="Messages">
53
18
  Stores conversation messages and their metadata. Each message belongs to a thread and contains the actual content along with metadata about the sender role and message type.
54
19
 
55
- <br />
56
20
  <SchemaTable
57
21
  columns={[
58
22
  {
@@ -152,10 +116,9 @@ The message `content` column contains a JSON object conforming to the `MastraMes
152
116
 
153
117
  </TabItem>
154
118
 
155
- <TabItem value="threads" label="Threads">
119
+ <TabItem value="threads" label="Threads">
156
120
  Groups related messages together and associates them with a resource. Contains metadata about the conversation.
157
121
 
158
- <br />
159
122
  <SchemaTable
160
123
  columns={[
161
124
  {
@@ -202,10 +165,9 @@ Groups related messages together and associates them with a resource. Contains m
202
165
  />
203
166
 
204
167
  </TabItem>
205
- <TabItem value="resources" label="Resources">
168
+ <TabItem value="resources" label="Resources">
206
169
  Stores user-specific data for resource-scoped working memory. Each resource represents a user or entity, allowing working memory to persist across all conversation threads for that user.
207
170
 
208
- <br />
209
171
  <SchemaTable
210
172
  columns={[
211
173
  {
@@ -248,10 +210,9 @@ Stores user-specific data for resource-scoped working memory. Each resource repr
248
210
  />
249
211
 
250
212
  </TabItem>
251
- <TabItem value="workflows" label="Workflows">
213
+ <TabItem value="workflows" label="Workflows">
252
214
  When `suspend` is called on a workflow, its state is saved in the following format. When `resume` is called, that state is rehydrated.
253
215
 
254
- <br />
255
216
  <SchemaTable
256
217
  columns={[
257
218
  {
@@ -296,11 +257,10 @@ When `suspend` is called on a workflow, its state is saved in the following form
296
257
  }
297
258
  ]}
298
259
  />
299
- </TabItem>
300
- <TabItem value="evals" label="Evals">
260
+ </TabItem>
261
+ <TabItem value="evals" label="Evals">
301
262
  Stores eval results from running metrics against agent outputs.
302
263
 
303
- <br />
304
264
  <SchemaTable
305
265
  columns={[
306
266
  {
@@ -370,11 +330,10 @@ Stores eval results from running metrics against agent outputs.
370
330
  }
371
331
  ]}
372
332
  />
373
- </TabItem>
374
- <TabItem value="traces" label="Traces">
333
+ </TabItem>
334
+ <TabItem value="traces" label="Traces">
375
335
  Captures OpenTelemetry traces for monitoring and debugging.
376
336
 
377
- <br />
378
337
  <SchemaTable
379
338
  columns={[
380
339
  {
@@ -468,62 +427,5 @@ Captures OpenTelemetry traces for monitoring and debugging.
468
427
  }
469
428
  ]}
470
429
  />
471
- </TabItem>
430
+ </TabItem>
472
431
  </Tabs>
473
-
474
- ### Querying Messages
475
-
476
- Messages are stored in the `MastraDBMessage` format, which provides a consistent structure across the entire Mastra system:
477
-
478
- ```typescript copy
479
- // Get messages for a thread with pagination
480
- const result = await mastra
481
- .getStorage()
482
- .listMessages({
483
- threadId: "your-thread-id",
484
- page: 0,
485
- perPage: 50
486
- });
487
-
488
- console.log(result.messages); // MastraDBMessage[]
489
- console.log(result.total); // Total count
490
- console.log(result.hasMore); // Whether more pages exist
491
-
492
- // Get messages from multiple threads at once
493
- const multiThreadResult = await mastra
494
- .getStorage()
495
- .listMessages({
496
- threadId: ["thread-1", "thread-2", "thread-3"],
497
- page: 0,
498
- perPage: 100
499
- });
500
-
501
- // Get messages by their IDs
502
- const messages = await mastra
503
- .getStorage()
504
- .listMessagesById({ messageIds: messageIdArr });
505
- ```
506
-
507
- The `threadId` parameter accepts either a single thread ID string or an array of thread IDs to query messages from multiple threads in a single request.
508
-
509
- All message queries return `MastraDBMessage[]` format. If you need to convert messages to AI SDK formats for UI rendering, use the conversion utilities from `@mastra/ai-sdk/ui`:
510
-
511
- ```typescript copy
512
- import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';
513
-
514
- const result = await mastra
515
- .getStorage()
516
- .listMessages({ threadId: "your-thread-id" });
517
-
518
- // Convert to AI SDK v5 UIMessage format for UI rendering
519
- const uiMessages = toAISdkV5Messages(result.messages);
520
- ```
521
-
522
- ## Storage Providers
523
-
524
- Mastra supports the following providers:
525
-
526
- - For local development, check out [LibSQL Storage](/reference/v1/storage/libsql)
527
- - For production, check out [PostgreSQL Storage](/reference/v1/storage/postgresql)
528
- - For serverless deployments, check out [Upstash Storage](/reference/v1/storage/upstash)
529
- - For document-based storage, check out [MongoDB Storage](/reference/v1/storage/mongodb)
@@ -9,13 +9,13 @@ The PostgreSQL storage implementation provides a production-ready storage soluti
9
9
 
10
10
  ## Installation
11
11
 
12
- ```bash copy
12
+ ```bash
13
13
  npm install @mastra/pg@beta
14
14
  ```
15
15
 
16
16
  ## Usage
17
17
 
18
- ```typescript copy showLineNumbers
18
+ ```typescript
19
19
  import { PostgresStore } from "@mastra/pg";
20
20
 
21
21
  const storage = new PostgresStore({
@@ -105,7 +105,7 @@ The storage implementation handles schema creation and updates automatically. It
105
105
 
106
106
  When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
107
107
 
108
- ```typescript copy
108
+ ```typescript
109
109
  import { Mastra } from "@mastra/core";
110
110
  import { PostgresStore } from "@mastra/pg";
111
111
 
@@ -120,7 +120,7 @@ const mastra = new Mastra({
120
120
 
121
121
  If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
122
122
 
123
- ```typescript copy
123
+ ```typescript
124
124
  import { PostgresStore } from "@mastra/pg";
125
125
 
126
126
  const storage = new PostgresStore({
@@ -155,6 +155,77 @@ This enables direct queries and custom transaction management. When using these
155
155
 
156
156
  This approach is intended for advanced scenarios where low-level access is required.
157
157
 
158
+ ## Usage Example
159
+
160
+ ### Adding memory to an agent
161
+
162
+ 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.
163
+
164
+ ```typescript title="src/mastra/agents/example-pg-agent.ts"
165
+ import { Memory } from "@mastra/memory";
166
+ import { Agent } from "@mastra/core/agent";
167
+ import { PostgresStore } from "@mastra/pg";
168
+
169
+ export const pgAgent = new Agent({
170
+ id: "pg-agent",
171
+ name: "PG Agent",
172
+ instructions:
173
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
174
+ model: "openai/gpt-5.1",
175
+ memory: new Memory({
176
+ storage: new PostgresStore({
177
+ id: 'pg-agent-storage',
178
+ connectionString: process.env.DATABASE_URL!,
179
+ }),
180
+ options: {
181
+ generateTitle: true, // Explicitly enable automatic title generation
182
+ },
183
+ }),
184
+ });
185
+ ```
186
+
187
+ ### Using the agent
188
+
189
+ 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.
190
+
191
+ ```typescript title="src/test-pg-agent.ts"
192
+ import "dotenv/config";
193
+
194
+ import { mastra } from "./mastra";
195
+
196
+ const threadId = "123";
197
+ const resourceId = "user-456";
198
+
199
+ const agent = mastra.getAgent("pg-agent");
200
+
201
+ const message = await agent.stream("My name is Mastra", {
202
+ memory: {
203
+ thread: threadId,
204
+ resource: resourceId,
205
+ },
206
+ });
207
+
208
+ await message.textStream.pipeTo(new WritableStream());
209
+
210
+ const stream = await agent.stream("What's my name?", {
211
+ memory: {
212
+ thread: threadId,
213
+ resource: resourceId,
214
+ },
215
+ memoryOptions: {
216
+ lastMessages: 5,
217
+ semanticRecall: {
218
+ topK: 3,
219
+ messageRange: 2,
220
+ },
221
+ },
222
+ });
223
+
224
+ for await (const chunk of stream.textStream) {
225
+ process.stdout.write(chunk);
226
+ }
227
+ ```
228
+
158
229
  ## Index Management
159
230
 
160
231
  PostgreSQL storage provides comprehensive index management capabilities to optimize query performance.
@@ -174,7 +245,7 @@ These indexes significantly improve performance for filtered queries with sortin
174
245
 
175
246
  Create additional indexes to optimize specific query patterns:
176
247
 
177
- ```typescript copy
248
+ ```typescript
178
249
  // Basic index for common queries
179
250
  await storage.createIndex({
180
251
  name: "idx_threads_resource",
@@ -278,7 +349,7 @@ For more advanced use cases, you can also use:
278
349
 
279
350
  List and monitor existing indexes:
280
351
 
281
- ```typescript copy
352
+ ```typescript
282
353
  // List all indexes
283
354
  const allIndexes = await storage.listIndexes();
284
355
  console.log(allIndexes);
@@ -321,7 +392,7 @@ await storage.dropIndex("idx_threads_status");
321
392
 
322
393
  When using custom schemas, indexes are created with schema prefixes:
323
394
 
324
- ```typescript copy
395
+ ```typescript
325
396
  const storage = new PostgresStore({
326
397
  id: 'pg-storage',
327
398
  connectionString: process.env.DATABASE_URL,