@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
@@ -0,0 +1,151 @@
1
+ ### package.json
2
+ ```json
3
+ {
4
+ "name": "examples-agent",
5
+ "dependencies": {
6
+ "zod": "^3",
7
+ "typescript": "^5.8.3",
8
+ "@ai-sdk/openai": "3.0.0-beta.96",
9
+ "@ai-sdk/provider": "3.0.0-beta.26",
10
+ "ai": "^6.0.0-beta.149",
11
+ "@mastra/client-js": "beta",
12
+ "@mastra/core": "beta",
13
+ "@mastra/evals": "beta",
14
+ "@mastra/libsql": "beta",
15
+ "@mastra/loggers": "beta",
16
+ "@mastra/mcp": "beta",
17
+ "@mastra/memory": "beta",
18
+ "@mastra/observability": "beta",
19
+ "@mastra/voice-openai": "beta"
20
+ },
21
+ "devDependencies": {
22
+ "mastra": "beta",
23
+ "msw": "^2.12.2"
24
+ }
25
+ }
26
+ ```
27
+
28
+ ### js-client-structured-output-example.ts
29
+ ```typescript
30
+ import z from 'zod';
31
+ import { MastraClient } from '@mastra/client-js';
32
+
33
+ const client = new MastraClient({
34
+ baseUrl: 'http://localhost:4111',
35
+ });
36
+
37
+ const agent = client.getAgent('weather-agent');
38
+
39
+ const result = await agent.generate('weather in new york', {
40
+ structuredOutput: {
41
+ schema: z.object({
42
+ weather: z.string(),
43
+ temperature: z.number(),
44
+ humidity: z.number(),
45
+ }),
46
+ },
47
+ });
48
+
49
+ console.log(result.object);
50
+
51
+ ```
52
+
53
+ ### mastra/agents/index.ts
54
+ ```typescript
55
+ import { Memory } from '@mastra/memory';
56
+ import { Agent } from '@mastra/core/agent';
57
+ import { openai } from '@ai-sdk/openai';
58
+ import { weatherInfo } from '../tools';
59
+
60
+ const memory = new Memory();
61
+
62
+ export const weatherAgent = new Agent({
63
+ id: 'weather-agent',
64
+ name: 'Weather Agent v6',
65
+ instructions: `Your goal is to provide weather information for cities when requested`,
66
+ description: `An agent that can help you get weather information for a given city`,
67
+ model: openai('gpt-4o-mini'),
68
+ tools: { weatherInfo },
69
+ memory,
70
+ });
71
+
72
+ ```
73
+
74
+ ### mastra/index.ts
75
+ ```typescript
76
+ import { Mastra } from '@mastra/core/mastra';
77
+ import { PinoLogger } from '@mastra/loggers';
78
+ import { LibSQLStore } from '@mastra/libsql';
79
+ import { Observability } from '@mastra/observability';
80
+
81
+ import { weatherAgent } from './agents';
82
+
83
+ const storage = new LibSQLStore({
84
+ id: 'mastra-storage',
85
+ url: 'file:./mastra.db',
86
+ });
87
+
88
+ export const mastra = new Mastra({
89
+ storage,
90
+ agents: {
91
+ weatherAgent,
92
+ },
93
+ bundler: {
94
+ sourcemap: true,
95
+ },
96
+ server: {
97
+ build: {
98
+ swaggerUI: true,
99
+ },
100
+ },
101
+ logger: new PinoLogger({ name: 'Chef', level: 'debug' }),
102
+ observability: new Observability({
103
+ default: { enabled: true },
104
+ }),
105
+ });
106
+
107
+ ```
108
+
109
+ ### mastra/tools/index.ts
110
+ ```typescript
111
+ import { createTool } from '@mastra/core/tools';
112
+ import { z } from 'zod';
113
+
114
+ export const weatherInfo = createTool({
115
+ id: 'weather-info',
116
+ description: 'Fetches the current weather information for a given city',
117
+ inputSchema: z.object({
118
+ city: z.string(),
119
+ }),
120
+ execute: async ({ city }) => {
121
+ return {
122
+ city,
123
+ weather: 'sunny',
124
+ temperature_celsius: 19,
125
+ temperature_fahrenheit: 66,
126
+ humidity: 50,
127
+ wind: '10 mph',
128
+ };
129
+ },
130
+ });
131
+
132
+ ```
133
+
134
+ ### structured-output-example.ts
135
+ ```typescript
136
+ import z from 'zod';
137
+ import { weatherAgent } from './mastra/agents';
138
+
139
+ const result = await weatherAgent.generate('weather in new york', {
140
+ structuredOutput: {
141
+ schema: z.object({
142
+ weather: z.string(),
143
+ temperature: z.number(),
144
+ humidity: z.number(),
145
+ }),
146
+ },
147
+ });
148
+
149
+ console.log(result.object);
150
+
151
+ ```
@@ -21,7 +21,7 @@
21
21
  "embla-carousel-react": "^8.6.0",
22
22
  "lucide-react": "^0.544.0",
23
23
  "nanoid": "^5.1.6",
24
- "next": "15.5.7",
24
+ "next": "15.5.9",
25
25
  "react": "19.1.0",
26
26
  "react-dom": "19.1.0",
27
27
  "react-syntax-highlighter": "^15.6.6",
@@ -75,14 +75,10 @@ export const catOne = new Agent({
75
75
  import { Mastra } from '@mastra/core/mastra';
76
76
  import { PinoLogger } from '@mastra/loggers';
77
77
  import { catOne } from './agents/agent';
78
- import { logCatWorkflow as legacy_catWorkflow } from './legacy-workflows';
79
78
  import { logCatWorkflow } from './workflows';
80
79
 
81
80
  export const mastra = new Mastra({
82
81
  agents: { catOne },
83
- legacy_workflows: {
84
- legacy_catWorkflow,
85
- },
86
82
  workflows: {
87
83
  logCatWorkflow,
88
84
  },
@@ -70,7 +70,26 @@ import { createTool } from '@mastra/core/tools';
70
70
  import { z } from 'zod';
71
71
 
72
72
  export const getStockPrice = async (symbol: string) => {
73
- const data = await fetch(`https://mastra-stock-data.vercel.app/api/stock-data?symbol=${symbol}`).then(r => r.json());
73
+ const response = await fetch(`https://mastra-stock-data.vercel.app/api/stock-data?symbol=${symbol}`);
74
+
75
+ if (!response.ok) {
76
+ const errorText = await response.text();
77
+ throw new Error(`Failed to fetch stock price for ${symbol}: ${response.status} ${errorText}`);
78
+ }
79
+
80
+ let data;
81
+ try {
82
+ data = await response.json();
83
+ } catch (error) {
84
+ throw new Error(
85
+ `Failed to parse JSON response for ${symbol}: ${error instanceof Error ? error.message : String(error)}`,
86
+ );
87
+ }
88
+
89
+ if (!data.prices || !data.prices['4. close']) {
90
+ throw new Error(`Invalid response format for symbol ${symbol}: ${JSON.stringify(data)}`);
91
+ }
92
+
74
93
  return data.prices['4. close'];
75
94
  };
76
95
 
@@ -80,7 +99,7 @@ export const stockPrices = createTool({
80
99
  symbol: z.string(),
81
100
  }),
82
101
  description: `Fetches the last day's closing stock price for a given symbol`,
83
- execute: async input => {
102
+ execute: async (inputData, context) => {
84
103
  console.log('Using tool to fetch stock price for', inputData.symbol);
85
104
  return {
86
105
  symbol: inputData.symbol,
@@ -168,7 +168,7 @@ The following files are created:
168
168
  - **hybrid-question.mp3** – Hybrid agent's spoken question.
169
169
  - **unified-response.mp3** – Unified agent's spoken response.
170
170
 
171
- ```typescript title="src/test-voice-agents.ts" showLineNumbers copy
171
+ ```typescript title="src/test-voice-agents.ts"
172
172
  import "dotenv/config";
173
173
 
174
174
  import path from "path";
@@ -232,7 +232,6 @@ export const unifiedVoiceAgent = new Agent({
232
232
  });
233
233
 
234
234
  export const mastra = new Mastra({
235
- // ...
236
235
  agents: { hybridVoiceAgent, unifiedVoiceAgent },
237
236
  });
238
237
 
@@ -297,7 +296,7 @@ export const agent = new Agent({
297
296
  id: "aisdk-voice-agent",
298
297
  name: "AI SDK Voice Agent",
299
298
  instructions: `You are a helpful assistant with voice capabilities.`,
300
- model: openai("gpt-5.1"),
299
+ model: "openai/gpt-5.1",
301
300
 
302
301
  // Pass AI SDK models directly to CompositeVoice
303
302
  voice: new CompositeVoice({
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Agent Approval | Agents"
3
- description: Learn how to require approvals and suspend tool execution while keeping humans in control of agent workflows.
3
+ description: Learn how to require approvals, suspend tool execution, and automatically resume suspended tools while keeping humans in control of agent workflows.
4
4
  ---
5
5
 
6
6
  # Agent Approval
@@ -20,7 +20,6 @@ import { Mastra } from "@mastra/core/mastra";
20
20
  import { LibSQLStore } from "@mastra/libsql";
21
21
 
22
22
  export const mastra = new Mastra({
23
- // ...
24
23
  storage: new LibSQLStore({
25
24
  id: "mastra-storage",
26
25
  url: ":memory:"
@@ -33,7 +32,7 @@ export const mastra = new Mastra({
33
32
 
34
33
  When calling an agent using `.stream()` set `requireToolApproval` to `true` which will prevent the agent from calling any of the tools defined in its configuration.
35
34
 
36
- ```typescript showLineNumbers
35
+ ```typescript
37
36
  const stream = await agent.stream("What's the weather in London?", {
38
37
  requireToolApproval: true
39
38
  });
@@ -43,7 +42,7 @@ const stream = await agent.stream("What's the weather in London?", {
43
42
 
44
43
  To approve a tool call, access `approveToolCall` from the `agent`, passing in the `runId` of the stream. This will let the agent know its now OK to call its tools.
45
44
 
46
- ```typescript showLineNumbers
45
+ ```typescript
47
46
  const handleApproval = async () => {
48
47
  const approvedStream = await agent.approveToolCall({ runId: stream.runId });
49
48
 
@@ -58,7 +57,7 @@ const handleApproval = async () => {
58
57
 
59
58
  To decline a tool call, access the `declineToolCall` from the `agent`. You will see the streamed response from the agent, but it won't call its tools.
60
59
 
61
- ```typescript showLineNumbers
60
+ ```typescript
62
61
  const handleDecline = async () => {
63
62
  const declinedStream = await agent.declineToolCall({ runId: stream.runId });
64
63
 
@@ -180,10 +179,144 @@ const handleResume = async () => {
180
179
 
181
180
  ```
182
181
 
182
+ ## Automatic tool resumption
183
+
184
+ When using tools that call `suspend()`, you can enable automatic resumption so the agent resumes suspended tools based on the user's next message. This creates a conversational flow where users provide the required information naturally, without your application needing to call `resumeStream()` explicitly.
185
+
186
+ ### Enabling auto-resume
187
+
188
+ Set `autoResumeSuspendedTools` to `true` in the agent's default options or when calling `stream()`:
189
+
190
+ ```typescript
191
+ import { Agent } from "@mastra/core/agent";
192
+ import { Memory } from "@mastra/memory";
193
+
194
+ // Option 1: In agent configuration
195
+ const agent = new Agent({
196
+ id: "my-agent",
197
+ name: "My Agent",
198
+ instructions: "You are a helpful assistant",
199
+ model: "openai/gpt-4o-mini",
200
+ tools: { weatherTool },
201
+ memory: new Memory(),
202
+ defaultOptions: {
203
+ autoResumeSuspendedTools: true,
204
+ },
205
+ });
206
+
207
+ // Option 2: Per-request
208
+ const stream = await agent.stream("What's the weather?", {
209
+ autoResumeSuspendedTools: true,
210
+ });
211
+ ```
212
+
213
+ ### How it works
214
+
215
+ When `autoResumeSuspendedTools` is enabled:
216
+
217
+ 1. A tool suspends execution by calling `suspend()` with a payload (e.g., requesting more information)
218
+ 2. The suspension is persisted to memory along with the conversation
219
+ 3. When the user sends their next message on the same thread, the agent:
220
+ - Detects the suspended tool from message history
221
+ - Extracts `resumeData` from the user's message based on the tool's `resumeSchema`
222
+ - Automatically resumes the tool with the extracted data
223
+
224
+ ### Example
225
+
226
+ ```typescript
227
+ import { createTool } from "@mastra/core/tools";
228
+ import { z } from "zod";
229
+
230
+ export const weatherTool = createTool({
231
+ id: "weather-info",
232
+ description: "Fetches weather information for a city",
233
+ suspendSchema: z.object({
234
+ message: z.string(),
235
+ }),
236
+ resumeSchema: z.object({
237
+ city: z.string(),
238
+ }),
239
+ execute: async (_inputData, context) => {
240
+ // Check if this is a resume with data
241
+ if (!context?.agent?.resumeData) {
242
+ // First call - suspend and ask for the city
243
+ return context?.agent?.suspend({
244
+ message: "What city do you want to know the weather for?",
245
+ });
246
+ }
247
+
248
+ // Resume call - city was extracted from user's message
249
+ const { city } = context.agent.resumeData;
250
+ const response = await fetch(`https://wttr.in/${city}?format=3`);
251
+ const weather = await response.text();
252
+
253
+ return { city, weather };
254
+ },
255
+ });
256
+
257
+ const agent = new Agent({
258
+ id: "my-agent",
259
+ name: "My Agent",
260
+ instructions: "You are a helpful assistant",
261
+ model: "openai/gpt-4o-mini",
262
+ tools: { weatherTool },
263
+ memory: new Memory(),
264
+ defaultOptions: {
265
+ autoResumeSuspendedTools: true,
266
+ },
267
+ });
268
+
269
+ const stream = await agent.stream("What's the weather like?");
270
+
271
+ for await (const chunk of stream.fullStream) {
272
+ if (chunk.type === "tool-call-suspended") {
273
+ console.log(chunk.payload.suspendPayload);
274
+ }
275
+ }
276
+
277
+ const handleResume = async () => {
278
+ const resumedStream = await agent.stream("San Francisco");
279
+
280
+ for await (const chunk of resumedStream.textStream) {
281
+ process.stdout.write(chunk);
282
+ }
283
+ process.stdout.write("\n");
284
+ };
285
+ ```
286
+
287
+ **Conversation flow:**
288
+
289
+ ```
290
+ User: "What's the weather like?"
291
+ Agent: "What city do you want to know the weather for?"
292
+
293
+ User: "San Francisco"
294
+ Agent: "The weather in San Francisco is: San Francisco: ☀️ +72°F"
295
+ ```
296
+
297
+ The second message automatically resumes the suspended tool - the agent extracts `{ city: "San Francisco" }` from the user's message and passes it as `resumeData`.
298
+
299
+ ### Requirements
300
+
301
+ For automatic tool resumption to work:
302
+
303
+ - **Memory configured**: The agent needs memory to track suspended tools across messages
304
+ - **Same thread**: The follow-up message must use the same memory thread and resource identifiers
305
+ - **`resumeSchema` defined**: The tool must define a `resumeSchema` so the agent knows what data structure to extract from the user's message
306
+
307
+ ### Manual vs automatic resumption
308
+
309
+ | Approach | Use case |
310
+ |----------|----------|
311
+ | Manual (`resumeStream()`) | Programmatic control, webhooks, button clicks, external triggers |
312
+ | Automatic (`autoResumeSuspendedTools`) | Conversational flows where users provide resume data in natural language |
313
+
314
+ Both approaches work with the same tool definitions. Automatic resumption triggers only when suspended tools exist in the message history and the user sends a new message on the same thread.
315
+
183
316
  ## Related
184
317
 
185
318
  - [Using Tools](./using-tools)
186
319
  - [Agent Overview](./overview)
187
320
  - [Tools Overview](../mcp/overview)
188
321
  - [Agent Memory](./agent-memory)
189
- - [Request Context](/docs/v1/server-db/request-context)
322
+ - [Request Context](/docs/v1/server/request-context)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Agent Memory | Agents"
3
- description: Learn how to add memory to agents to store conversation history and maintain context across interactions.
3
+ description: Learn how to add memory to agents to store message history and maintain context across interactions.
4
4
  ---
5
5
 
6
6
  import Steps from "@site/src/components/Steps";
@@ -8,9 +8,9 @@ import StepItem from "@site/src/components/StepItem";
8
8
 
9
9
  # Agent memory
10
10
 
11
- Agents use memory to maintain context across interactions. LLMs are stateless and don't retain information between calls, so agents need memory to track conversation history and recall relevant information.
11
+ Agents use memory to maintain context across interactions. LLMs are stateless and don't retain information between calls, so agents need memory to track message history and recall relevant information.
12
12
 
13
- Mastra agents can be configured to store conversation history, with optional [working memory](../memory/working-memory) to maintain recent context or [semantic recall](../memory/semantic-recall) to retrieve past messages based on meaning.
13
+ Mastra agents can be configured to store message history, with optional [working memory](../memory/working-memory) to maintain recent context or [semantic recall](../memory/semantic-recall) to retrieve past messages based on meaning.
14
14
 
15
15
  ## When to use memory
16
16
 
@@ -20,13 +20,13 @@ Use memory when your agent needs to maintain multi-turn conversations that refer
20
20
 
21
21
  To enable memory in Mastra, install the `@mastra/memory` package along with a storage provider.
22
22
 
23
- ```bash npm2yarn copy
23
+ ```bash npm2yarn
24
24
  npm install @mastra/memory@beta @mastra/libsql@beta
25
25
  ```
26
26
 
27
27
  ## Storage providers
28
28
 
29
- Memory requires a storage provider to persist conversation history, including user messages and agent responses. For more details on available providers and how storage works in Mastra, see the [Storage](/docs/v1/server-db/storage) documentation.
29
+ Memory requires a storage provider to persist message history, including user messages and agent responses. For more details on available providers and how storage works in Mastra, see the [Storage](/docs/v1/memory/storage) documentation.
30
30
 
31
31
  ## Configuring memory
32
32
 
@@ -35,14 +35,13 @@ Memory requires a storage provider to persist conversation history, including us
35
35
 
36
36
  Enable memory by creating a `Memory` instance and passing it to the agent’s `memory` option.
37
37
 
38
- ```typescript {6-9} title="src/mastra/agents/memory-agent.ts" copy
38
+ ```typescript {7-11} title="src/mastra/agents/memory-agent.ts"
39
39
  import { Agent } from "@mastra/core/agent";
40
40
  import { Memory } from "@mastra/memory";
41
41
 
42
42
  export const memoryAgent = new Agent({
43
43
  id: 'memory-agent',
44
44
  name: 'Memory Agent',
45
- // ...
46
45
  memory: new Memory({
47
46
  options: {
48
47
  lastMessages: 20,
@@ -51,9 +50,9 @@ export const memoryAgent = new Agent({
51
50
  });
52
51
  ```
53
52
 
54
- :::note
53
+ :::info
55
54
 
56
- See the [Memory Class](/reference/v1/memory/memory-class) docs for a full list of configuration options.
55
+ Visit [Memory Class](/reference/v1/memory/memory-class) for a full list of configuration options.
57
56
 
58
57
  :::
59
58
 
@@ -63,12 +62,11 @@ See the [Memory Class](/reference/v1/memory/memory-class) docs for a full list o
63
62
 
64
63
  Add a storage provider to your main Mastra instance to enable memory across all configured agents.
65
64
 
66
- ```typescript {6-8} title="src/mastra/index.ts" copy
65
+ ```typescript {5-8} title="src/mastra/index.ts"
67
66
  import { Mastra } from "@mastra/core";
68
67
  import { LibSQLStore } from "@mastra/libsql";
69
68
 
70
69
  export const mastra = new Mastra({
71
- // ..
72
70
  storage: new LibSQLStore({
73
71
  id: 'mastra-storage',
74
72
  url: ":memory:",
@@ -76,9 +74,9 @@ export const mastra = new Mastra({
76
74
  });
77
75
  ```
78
76
 
79
- :::note
77
+ :::info
80
78
 
81
- See the [LibSQL Storage](/reference/v1/storage/libsql) docs for a full list of configuration options.
79
+ Visit [libSQL Storage](/reference/v1/storage/libsql) for a full list of configuration options.
82
80
 
83
81
  :::
84
82
 
@@ -87,7 +85,7 @@ See the [LibSQL Storage](/reference/v1/storage/libsql) docs for a full list of c
87
85
 
88
86
  Alternatively, add storage directly to an agent’s memory to keep data separate or use different providers per agent.
89
87
 
90
- ```typescript {7-10} title="src/mastra/agents/memory-agent.ts" copy
88
+ ```typescript {9-12} title="src/mastra/agents/memory-agent.ts"
91
89
  import { Agent } from "@mastra/core/agent";
92
90
  import { Memory } from "@mastra/memory";
93
91
  import { LibSQLStore } from "@mastra/libsql";
@@ -95,7 +93,6 @@ import { LibSQLStore } from "@mastra/libsql";
95
93
  export const memoryAgent = new Agent({
96
94
  id: 'memory-agent',
97
95
  name: 'Memory Agent',
98
- // ...
99
96
  memory: new Memory({
100
97
  storage: new LibSQLStore({
101
98
  id: 'mastra-storage',
@@ -105,16 +102,16 @@ export const memoryAgent = new Agent({
105
102
  });
106
103
  ```
107
104
 
108
- ## Conversation history
105
+ ## Message history
109
106
 
110
- Include a `memory` object with both `resource` and `thread` to track conversation history during agent calls.
107
+ Include a `memory` object with both `resource` and `thread` to track message history during agent calls.
111
108
 
112
109
  - `resource`: A stable identifier for the user or entity.
113
110
  - `thread`: An ID that isolates a specific conversation or session.
114
111
 
115
112
  These fields tell the agent where to store and retrieve context, enabling persistent, thread-aware memory across a conversation.
116
113
 
117
- ```typescript {5-6}
114
+ ```typescript {4-7}
118
115
  const response = await memoryAgent.generate(
119
116
  "Remember my favorite color is blue.",
120
117
  {
@@ -128,7 +125,7 @@ const response = await memoryAgent.generate(
128
125
 
129
126
  To recall information stored in memory, call the agent with the same `resource` and `thread` values used in the original conversation.
130
127
 
131
- ```typescript {3-4}
128
+ ```typescript {2-5}
132
129
  const response = await memoryAgent.generate("What's my favorite color?", {
133
130
  memory: {
134
131
  resource: "user-123",
@@ -141,25 +138,20 @@ To learn more about memory see the [Memory](../memory/overview) documentation.
141
138
 
142
139
  ## Using `RequestContext`
143
140
 
144
- Use [RequestContext](/docs/v1/server-db/request-context) to access request-specific values. This lets you conditionally select different memory or storage configurations based on the context of the request.
141
+ Use [RequestContext](/docs/v1/server/request-context) to access request-specific values. This lets you conditionally select different memory or storage configurations based on the context of the request.
145
142
 
146
- ```typescript title="src/mastra/agents/memory-agent.ts" showLineNumbers
143
+ ```typescript title="src/mastra/agents/memory-agent.ts"
147
144
  export type UserTier = {
148
145
  "user-tier": "enterprise" | "pro";
149
146
  };
150
147
 
151
- const premiumMemory = new Memory({
152
- // ...
153
- });
148
+ const premiumMemory = new Memory();
154
149
 
155
- const standardMemory = new Memory({
156
- // ...
157
- });
150
+ const standardMemory = new Memory();
158
151
 
159
152
  export const memoryAgent = new Agent({
160
153
  id: 'memory-agent',
161
154
  name: 'Memory Agent',
162
- // ...
163
155
  memory: ({ requestContext }) => {
164
156
  const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
165
157
 
@@ -168,9 +160,9 @@ export const memoryAgent = new Agent({
168
160
  });
169
161
  ```
170
162
 
171
- :::note
163
+ :::info
172
164
 
173
- See [Request Context](/docs/v1/server-db/request-context) docs for more information.
165
+ Visit [Request Context](/docs/v1/server/request-context) for more information.
174
166
 
175
167
  :::
176
168
 
@@ -178,5 +170,5 @@ See [Request Context](/docs/v1/server-db/request-context) docs for more informat
178
170
 
179
171
  - [Working Memory](../memory/working-memory)
180
172
  - [Semantic Recall](../memory/semantic-recall)
181
- - [Threads and Resources](../memory/threads-and-resources)
182
- - [Request Context](/docs/v1/server-db/request-context)
173
+ - [Storage](../memory/storage)
174
+ - [Request Context](/docs/v1/server/request-context)