@mastra/mcp-docs-server 1.1.4 → 1.1.5

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 (547) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +5 -5
  3. package/.docs/docs/agents/adding-voice.md +0 -353
  4. package/.docs/docs/agents/agent-approval.md +0 -377
  5. package/.docs/docs/agents/agent-memory.md +0 -212
  6. package/.docs/docs/agents/guardrails.md +0 -382
  7. package/.docs/docs/agents/network-approval.md +0 -275
  8. package/.docs/docs/agents/networks.md +0 -290
  9. package/.docs/docs/agents/overview.md +0 -309
  10. package/.docs/docs/agents/processors.md +0 -632
  11. package/.docs/docs/agents/structured-output.md +0 -271
  12. package/.docs/docs/agents/using-tools.md +0 -214
  13. package/.docs/docs/build-with-ai/mcp-docs-server.md +0 -241
  14. package/.docs/docs/build-with-ai/skills.md +0 -35
  15. package/.docs/docs/community/contributing-templates.md +0 -3
  16. package/.docs/docs/community/discord.md +0 -9
  17. package/.docs/docs/community/licensing.md +0 -66
  18. package/.docs/docs/deployment/cloud-providers.md +0 -15
  19. package/.docs/docs/deployment/mastra-server.md +0 -122
  20. package/.docs/docs/deployment/monorepo.md +0 -142
  21. package/.docs/docs/deployment/overview.md +0 -62
  22. package/.docs/docs/deployment/studio.md +0 -234
  23. package/.docs/docs/deployment/web-framework.md +0 -52
  24. package/.docs/docs/deployment/workflow-runners.md +0 -9
  25. package/.docs/docs/evals/built-in-scorers.md +0 -47
  26. package/.docs/docs/evals/custom-scorers.md +0 -519
  27. package/.docs/docs/evals/overview.md +0 -146
  28. package/.docs/docs/evals/running-in-ci.md +0 -106
  29. package/.docs/docs/getting-started/build-with-ai.md +0 -68
  30. package/.docs/docs/getting-started/manual-install.md +0 -226
  31. package/.docs/docs/getting-started/project-structure.md +0 -60
  32. package/.docs/docs/getting-started/start.md +0 -28
  33. package/.docs/docs/getting-started/studio.md +0 -101
  34. package/.docs/docs/index.md +0 -43
  35. package/.docs/docs/mastra-cloud/deployment.md +0 -77
  36. package/.docs/docs/mastra-cloud/observability.md +0 -38
  37. package/.docs/docs/mastra-cloud/overview.md +0 -23
  38. package/.docs/docs/mastra-cloud/setup.md +0 -42
  39. package/.docs/docs/mastra-cloud/studio.md +0 -24
  40. package/.docs/docs/mcp/overview.md +0 -370
  41. package/.docs/docs/mcp/publishing-mcp-server.md +0 -95
  42. package/.docs/docs/memory/memory-processors.md +0 -316
  43. package/.docs/docs/memory/message-history.md +0 -260
  44. package/.docs/docs/memory/observational-memory.md +0 -246
  45. package/.docs/docs/memory/overview.md +0 -45
  46. package/.docs/docs/memory/semantic-recall.md +0 -272
  47. package/.docs/docs/memory/storage.md +0 -261
  48. package/.docs/docs/memory/working-memory.md +0 -400
  49. package/.docs/docs/observability/datasets/overview.md +0 -188
  50. package/.docs/docs/observability/datasets/running-experiments.md +0 -266
  51. package/.docs/docs/observability/logging.md +0 -99
  52. package/.docs/docs/observability/overview.md +0 -70
  53. package/.docs/docs/observability/tracing/bridges/otel.md +0 -209
  54. package/.docs/docs/observability/tracing/exporters/arize.md +0 -274
  55. package/.docs/docs/observability/tracing/exporters/braintrust.md +0 -111
  56. package/.docs/docs/observability/tracing/exporters/cloud.md +0 -129
  57. package/.docs/docs/observability/tracing/exporters/datadog.md +0 -187
  58. package/.docs/docs/observability/tracing/exporters/default.md +0 -211
  59. package/.docs/docs/observability/tracing/exporters/laminar.md +0 -100
  60. package/.docs/docs/observability/tracing/exporters/langfuse.md +0 -217
  61. package/.docs/docs/observability/tracing/exporters/langsmith.md +0 -202
  62. package/.docs/docs/observability/tracing/exporters/otel.md +0 -479
  63. package/.docs/docs/observability/tracing/exporters/posthog.md +0 -148
  64. package/.docs/docs/observability/tracing/exporters/sentry.md +0 -208
  65. package/.docs/docs/observability/tracing/overview.md +0 -1114
  66. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +0 -303
  67. package/.docs/docs/rag/chunking-and-embedding.md +0 -183
  68. package/.docs/docs/rag/graph-rag.md +0 -215
  69. package/.docs/docs/rag/overview.md +0 -72
  70. package/.docs/docs/rag/retrieval.md +0 -521
  71. package/.docs/docs/rag/vector-databases.md +0 -648
  72. package/.docs/docs/server/auth/auth0.md +0 -222
  73. package/.docs/docs/server/auth/better-auth.md +0 -203
  74. package/.docs/docs/server/auth/clerk.md +0 -132
  75. package/.docs/docs/server/auth/composite-auth.md +0 -234
  76. package/.docs/docs/server/auth/custom-auth-provider.md +0 -513
  77. package/.docs/docs/server/auth/firebase.md +0 -272
  78. package/.docs/docs/server/auth/jwt.md +0 -110
  79. package/.docs/docs/server/auth/simple-auth.md +0 -178
  80. package/.docs/docs/server/auth/supabase.md +0 -117
  81. package/.docs/docs/server/auth/workos.md +0 -190
  82. package/.docs/docs/server/auth.md +0 -38
  83. package/.docs/docs/server/custom-adapters.md +0 -374
  84. package/.docs/docs/server/custom-api-routes.md +0 -267
  85. package/.docs/docs/server/mastra-client.md +0 -243
  86. package/.docs/docs/server/mastra-server.md +0 -71
  87. package/.docs/docs/server/middleware.md +0 -228
  88. package/.docs/docs/server/request-context.md +0 -478
  89. package/.docs/docs/server/server-adapters.md +0 -547
  90. package/.docs/docs/streaming/events.md +0 -247
  91. package/.docs/docs/streaming/overview.md +0 -181
  92. package/.docs/docs/streaming/tool-streaming.md +0 -178
  93. package/.docs/docs/streaming/workflow-streaming.md +0 -109
  94. package/.docs/docs/voice/overview.md +0 -979
  95. package/.docs/docs/voice/speech-to-speech.md +0 -103
  96. package/.docs/docs/voice/speech-to-text.md +0 -80
  97. package/.docs/docs/voice/text-to-speech.md +0 -84
  98. package/.docs/docs/workflows/agents-and-tools.md +0 -170
  99. package/.docs/docs/workflows/control-flow.md +0 -823
  100. package/.docs/docs/workflows/error-handling.md +0 -360
  101. package/.docs/docs/workflows/human-in-the-loop.md +0 -213
  102. package/.docs/docs/workflows/overview.md +0 -372
  103. package/.docs/docs/workflows/snapshots.md +0 -238
  104. package/.docs/docs/workflows/suspend-and-resume.md +0 -205
  105. package/.docs/docs/workflows/time-travel.md +0 -309
  106. package/.docs/docs/workflows/workflow-state.md +0 -181
  107. package/.docs/docs/workspace/filesystem.md +0 -162
  108. package/.docs/docs/workspace/overview.md +0 -239
  109. package/.docs/docs/workspace/sandbox.md +0 -63
  110. package/.docs/docs/workspace/search.md +0 -219
  111. package/.docs/docs/workspace/skills.md +0 -126
  112. package/.docs/guides/agent-frameworks/ai-sdk.md +0 -140
  113. package/.docs/guides/build-your-ui/ai-sdk-ui.md +0 -1463
  114. package/.docs/guides/build-your-ui/assistant-ui.md +0 -156
  115. package/.docs/guides/build-your-ui/copilotkit.md +0 -292
  116. package/.docs/guides/deployment/amazon-ec2.md +0 -130
  117. package/.docs/guides/deployment/aws-lambda.md +0 -248
  118. package/.docs/guides/deployment/azure-app-services.md +0 -114
  119. package/.docs/guides/deployment/cloudflare.md +0 -99
  120. package/.docs/guides/deployment/digital-ocean.md +0 -168
  121. package/.docs/guides/deployment/inngest.md +0 -685
  122. package/.docs/guides/deployment/netlify.md +0 -77
  123. package/.docs/guides/deployment/vercel.md +0 -101
  124. package/.docs/guides/getting-started/astro.md +0 -408
  125. package/.docs/guides/getting-started/electron.md +0 -504
  126. package/.docs/guides/getting-started/express.md +0 -251
  127. package/.docs/guides/getting-started/hono.md +0 -191
  128. package/.docs/guides/getting-started/next-js.md +0 -355
  129. package/.docs/guides/getting-started/nuxt.md +0 -476
  130. package/.docs/guides/getting-started/quickstart.md +0 -67
  131. package/.docs/guides/getting-started/sveltekit.md +0 -300
  132. package/.docs/guides/getting-started/vite-react.md +0 -439
  133. package/.docs/guides/guide/ai-recruiter.md +0 -227
  134. package/.docs/guides/guide/chef-michel.md +0 -215
  135. package/.docs/guides/guide/code-review-bot.md +0 -221
  136. package/.docs/guides/guide/dev-assistant.md +0 -304
  137. package/.docs/guides/guide/docs-manager.md +0 -238
  138. package/.docs/guides/guide/github-actions-pr-description.md +0 -236
  139. package/.docs/guides/guide/notes-mcp-server.md +0 -425
  140. package/.docs/guides/guide/research-assistant.md +0 -349
  141. package/.docs/guides/guide/stock-agent.md +0 -134
  142. package/.docs/guides/guide/web-search.md +0 -326
  143. package/.docs/guides/guide/whatsapp-chat-bot.md +0 -416
  144. package/.docs/guides/index.md +0 -3
  145. package/.docs/guides/migrations/agentnetwork.md +0 -101
  146. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +0 -112
  147. package/.docs/guides/migrations/upgrade-to-v1/agent.md +0 -404
  148. package/.docs/guides/migrations/upgrade-to-v1/cli.md +0 -57
  149. package/.docs/guides/migrations/upgrade-to-v1/client.md +0 -337
  150. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +0 -37
  151. package/.docs/guides/migrations/upgrade-to-v1/evals.md +0 -239
  152. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +0 -143
  153. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +0 -97
  154. package/.docs/guides/migrations/upgrade-to-v1/memory.md +0 -285
  155. package/.docs/guides/migrations/upgrade-to-v1/overview.md +0 -119
  156. package/.docs/guides/migrations/upgrade-to-v1/processors.md +0 -68
  157. package/.docs/guides/migrations/upgrade-to-v1/rag.md +0 -42
  158. package/.docs/guides/migrations/upgrade-to-v1/storage.md +0 -553
  159. package/.docs/guides/migrations/upgrade-to-v1/tools.md +0 -180
  160. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +0 -417
  161. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +0 -87
  162. package/.docs/guides/migrations/upgrade-to-v1/voice.md +0 -30
  163. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +0 -341
  164. package/.docs/guides/migrations/vnext-to-standard-apis.md +0 -364
  165. package/.docs/models/embeddings.md +0 -161
  166. package/.docs/models/gateways/azure-openai.md +0 -128
  167. package/.docs/models/gateways/custom-gateways.md +0 -545
  168. package/.docs/models/gateways/netlify.md +0 -88
  169. package/.docs/models/gateways/openrouter.md +0 -219
  170. package/.docs/models/gateways/vercel.md +0 -225
  171. package/.docs/models/gateways.md +0 -14
  172. package/.docs/models/index.md +0 -286
  173. package/.docs/models/providers/302ai.md +0 -134
  174. package/.docs/models/providers/abacus.md +0 -125
  175. package/.docs/models/providers/agentrouter.md +0 -90
  176. package/.docs/models/providers/aihubmix.md +0 -107
  177. package/.docs/models/providers/alibaba-cn.md +0 -135
  178. package/.docs/models/providers/alibaba.md +0 -111
  179. package/.docs/models/providers/amazon-bedrock.md +0 -33
  180. package/.docs/models/providers/anthropic.md +0 -153
  181. package/.docs/models/providers/azure.md +0 -33
  182. package/.docs/models/providers/bailing.md +0 -72
  183. package/.docs/models/providers/baseten.md +0 -77
  184. package/.docs/models/providers/berget.md +0 -78
  185. package/.docs/models/providers/cerebras.md +0 -101
  186. package/.docs/models/providers/chutes.md +0 -136
  187. package/.docs/models/providers/cloudflare-ai-gateway.md +0 -33
  188. package/.docs/models/providers/cloudflare-workers-ai.md +0 -109
  189. package/.docs/models/providers/cohere.md +0 -33
  190. package/.docs/models/providers/cortecs.md +0 -91
  191. package/.docs/models/providers/deepinfra.md +0 -112
  192. package/.docs/models/providers/deepseek.md +0 -88
  193. package/.docs/models/providers/fastrouter.md +0 -84
  194. package/.docs/models/providers/fireworks-ai.md +0 -89
  195. package/.docs/models/providers/firmware.md +0 -85
  196. package/.docs/models/providers/friendli.md +0 -78
  197. package/.docs/models/providers/github-models.md +0 -125
  198. package/.docs/models/providers/google-vertex.md +0 -33
  199. package/.docs/models/providers/google.md +0 -159
  200. package/.docs/models/providers/groq.md +0 -107
  201. package/.docs/models/providers/helicone.md +0 -161
  202. package/.docs/models/providers/huggingface.md +0 -90
  203. package/.docs/models/providers/iflowcn.md +0 -84
  204. package/.docs/models/providers/inception.md +0 -72
  205. package/.docs/models/providers/inference.md +0 -79
  206. package/.docs/models/providers/io-intelligence.md +0 -87
  207. package/.docs/models/providers/io-net.md +0 -87
  208. package/.docs/models/providers/jiekou.md +0 -131
  209. package/.docs/models/providers/kilo.md +0 -333
  210. package/.docs/models/providers/kimi-for-coding.md +0 -100
  211. package/.docs/models/providers/kuae-cloud-coding-plan.md +0 -71
  212. package/.docs/models/providers/llama.md +0 -77
  213. package/.docs/models/providers/lmstudio.md +0 -73
  214. package/.docs/models/providers/lucidquery.md +0 -72
  215. package/.docs/models/providers/minimax-cn-coding-plan.md +0 -102
  216. package/.docs/models/providers/minimax-cn.md +0 -102
  217. package/.docs/models/providers/minimax-coding-plan.md +0 -102
  218. package/.docs/models/providers/minimax.md +0 -104
  219. package/.docs/models/providers/mistral.md +0 -124
  220. package/.docs/models/providers/moark.md +0 -72
  221. package/.docs/models/providers/modelscope.md +0 -77
  222. package/.docs/models/providers/moonshotai-cn.md +0 -76
  223. package/.docs/models/providers/moonshotai.md +0 -76
  224. package/.docs/models/providers/morph.md +0 -73
  225. package/.docs/models/providers/nano-gpt.md +0 -103
  226. package/.docs/models/providers/nebius.md +0 -116
  227. package/.docs/models/providers/nova.md +0 -72
  228. package/.docs/models/providers/novita-ai.md +0 -154
  229. package/.docs/models/providers/nvidia.md +0 -141
  230. package/.docs/models/providers/ollama-cloud.md +0 -103
  231. package/.docs/models/providers/ollama.md +0 -33
  232. package/.docs/models/providers/openai.md +0 -193
  233. package/.docs/models/providers/opencode.md +0 -100
  234. package/.docs/models/providers/ovhcloud.md +0 -83
  235. package/.docs/models/providers/perplexity.md +0 -100
  236. package/.docs/models/providers/poe.md +0 -183
  237. package/.docs/models/providers/privatemode-ai.md +0 -75
  238. package/.docs/models/providers/requesty.md +0 -90
  239. package/.docs/models/providers/scaleway.md +0 -84
  240. package/.docs/models/providers/siliconflow-cn.md +0 -138
  241. package/.docs/models/providers/siliconflow.md +0 -140
  242. package/.docs/models/providers/stackit.md +0 -78
  243. package/.docs/models/providers/stepfun.md +0 -73
  244. package/.docs/models/providers/submodel.md +0 -79
  245. package/.docs/models/providers/synthetic.md +0 -96
  246. package/.docs/models/providers/togetherai.md +0 -115
  247. package/.docs/models/providers/upstage.md +0 -73
  248. package/.docs/models/providers/venice.md +0 -95
  249. package/.docs/models/providers/vivgrid.md +0 -106
  250. package/.docs/models/providers/vultr.md +0 -75
  251. package/.docs/models/providers/wandb.md +0 -80
  252. package/.docs/models/providers/xai.md +0 -141
  253. package/.docs/models/providers/xiaomi.md +0 -71
  254. package/.docs/models/providers/zai-coding-plan.md +0 -80
  255. package/.docs/models/providers/zai.md +0 -79
  256. package/.docs/models/providers/zenmux.md +0 -161
  257. package/.docs/models/providers/zhipuai-coding-plan.md +0 -79
  258. package/.docs/models/providers/zhipuai.md +0 -79
  259. package/.docs/models/providers.md +0 -81
  260. package/.docs/reference/agents/agent.md +0 -142
  261. package/.docs/reference/agents/generate.md +0 -174
  262. package/.docs/reference/agents/generateLegacy.md +0 -176
  263. package/.docs/reference/agents/getDefaultGenerateOptions.md +0 -36
  264. package/.docs/reference/agents/getDefaultOptions.md +0 -34
  265. package/.docs/reference/agents/getDefaultStreamOptions.md +0 -36
  266. package/.docs/reference/agents/getDescription.md +0 -21
  267. package/.docs/reference/agents/getInstructions.md +0 -34
  268. package/.docs/reference/agents/getLLM.md +0 -37
  269. package/.docs/reference/agents/getMemory.md +0 -34
  270. package/.docs/reference/agents/getModel.md +0 -34
  271. package/.docs/reference/agents/getTools.md +0 -29
  272. package/.docs/reference/agents/getVoice.md +0 -34
  273. package/.docs/reference/agents/listAgents.md +0 -35
  274. package/.docs/reference/agents/listScorers.md +0 -34
  275. package/.docs/reference/agents/listTools.md +0 -34
  276. package/.docs/reference/agents/listWorkflows.md +0 -34
  277. package/.docs/reference/agents/network.md +0 -134
  278. package/.docs/reference/ai-sdk/chat-route.md +0 -82
  279. package/.docs/reference/ai-sdk/handle-chat-stream.md +0 -53
  280. package/.docs/reference/ai-sdk/handle-network-stream.md +0 -37
  281. package/.docs/reference/ai-sdk/handle-workflow-stream.md +0 -55
  282. package/.docs/reference/ai-sdk/network-route.md +0 -74
  283. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +0 -232
  284. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +0 -79
  285. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +0 -73
  286. package/.docs/reference/ai-sdk/with-mastra.md +0 -59
  287. package/.docs/reference/ai-sdk/workflow-route.md +0 -79
  288. package/.docs/reference/auth/auth0.md +0 -73
  289. package/.docs/reference/auth/better-auth.md +0 -71
  290. package/.docs/reference/auth/clerk.md +0 -36
  291. package/.docs/reference/auth/firebase.md +0 -80
  292. package/.docs/reference/auth/jwt.md +0 -26
  293. package/.docs/reference/auth/supabase.md +0 -33
  294. package/.docs/reference/auth/workos.md +0 -84
  295. package/.docs/reference/cli/create-mastra.md +0 -137
  296. package/.docs/reference/cli/mastra.md +0 -336
  297. package/.docs/reference/client-js/agents.md +0 -438
  298. package/.docs/reference/client-js/error-handling.md +0 -16
  299. package/.docs/reference/client-js/logs.md +0 -24
  300. package/.docs/reference/client-js/mastra-client.md +0 -63
  301. package/.docs/reference/client-js/memory.md +0 -225
  302. package/.docs/reference/client-js/observability.md +0 -72
  303. package/.docs/reference/client-js/telemetry.md +0 -20
  304. package/.docs/reference/client-js/tools.md +0 -44
  305. package/.docs/reference/client-js/vectors.md +0 -79
  306. package/.docs/reference/client-js/workflows.md +0 -199
  307. package/.docs/reference/configuration.md +0 -749
  308. package/.docs/reference/core/addGateway.md +0 -42
  309. package/.docs/reference/core/getAgent.md +0 -21
  310. package/.docs/reference/core/getAgentById.md +0 -21
  311. package/.docs/reference/core/getDeployer.md +0 -22
  312. package/.docs/reference/core/getGateway.md +0 -38
  313. package/.docs/reference/core/getGatewayById.md +0 -41
  314. package/.docs/reference/core/getLogger.md +0 -22
  315. package/.docs/reference/core/getMCPServer.md +0 -45
  316. package/.docs/reference/core/getMCPServerById.md +0 -53
  317. package/.docs/reference/core/getMemory.md +0 -50
  318. package/.docs/reference/core/getScorer.md +0 -54
  319. package/.docs/reference/core/getScorerById.md +0 -54
  320. package/.docs/reference/core/getServer.md +0 -22
  321. package/.docs/reference/core/getStorage.md +0 -22
  322. package/.docs/reference/core/getStoredAgentById.md +0 -89
  323. package/.docs/reference/core/getTelemetry.md +0 -22
  324. package/.docs/reference/core/getVector.md +0 -22
  325. package/.docs/reference/core/getWorkflow.md +0 -40
  326. package/.docs/reference/core/listAgents.md +0 -21
  327. package/.docs/reference/core/listGateways.md +0 -40
  328. package/.docs/reference/core/listLogs.md +0 -38
  329. package/.docs/reference/core/listLogsByRunId.md +0 -36
  330. package/.docs/reference/core/listMCPServers.md +0 -51
  331. package/.docs/reference/core/listMemory.md +0 -56
  332. package/.docs/reference/core/listScorers.md +0 -29
  333. package/.docs/reference/core/listStoredAgents.md +0 -93
  334. package/.docs/reference/core/listVectors.md +0 -22
  335. package/.docs/reference/core/listWorkflows.md +0 -21
  336. package/.docs/reference/core/mastra-class.md +0 -66
  337. package/.docs/reference/core/mastra-model-gateway.md +0 -153
  338. package/.docs/reference/core/setLogger.md +0 -26
  339. package/.docs/reference/core/setStorage.md +0 -27
  340. package/.docs/reference/datasets/addItem.md +0 -35
  341. package/.docs/reference/datasets/addItems.md +0 -33
  342. package/.docs/reference/datasets/compareExperiments.md +0 -48
  343. package/.docs/reference/datasets/create.md +0 -49
  344. package/.docs/reference/datasets/dataset.md +0 -78
  345. package/.docs/reference/datasets/datasets-manager.md +0 -84
  346. package/.docs/reference/datasets/delete.md +0 -23
  347. package/.docs/reference/datasets/deleteExperiment.md +0 -25
  348. package/.docs/reference/datasets/deleteItem.md +0 -25
  349. package/.docs/reference/datasets/deleteItems.md +0 -27
  350. package/.docs/reference/datasets/get.md +0 -29
  351. package/.docs/reference/datasets/getDetails.md +0 -45
  352. package/.docs/reference/datasets/getExperiment.md +0 -28
  353. package/.docs/reference/datasets/getItem.md +0 -31
  354. package/.docs/reference/datasets/getItemHistory.md +0 -29
  355. package/.docs/reference/datasets/list.md +0 -29
  356. package/.docs/reference/datasets/listExperimentResults.md +0 -37
  357. package/.docs/reference/datasets/listExperiments.md +0 -31
  358. package/.docs/reference/datasets/listItems.md +0 -44
  359. package/.docs/reference/datasets/listVersions.md +0 -31
  360. package/.docs/reference/datasets/startExperiment.md +0 -60
  361. package/.docs/reference/datasets/startExperimentAsync.md +0 -41
  362. package/.docs/reference/datasets/update.md +0 -46
  363. package/.docs/reference/datasets/updateItem.md +0 -36
  364. package/.docs/reference/deployer/cloudflare.md +0 -79
  365. package/.docs/reference/deployer/netlify.md +0 -82
  366. package/.docs/reference/deployer/vercel.md +0 -91
  367. package/.docs/reference/deployer.md +0 -100
  368. package/.docs/reference/evals/answer-relevancy.md +0 -105
  369. package/.docs/reference/evals/answer-similarity.md +0 -99
  370. package/.docs/reference/evals/bias.md +0 -120
  371. package/.docs/reference/evals/completeness.md +0 -137
  372. package/.docs/reference/evals/content-similarity.md +0 -101
  373. package/.docs/reference/evals/context-precision.md +0 -196
  374. package/.docs/reference/evals/context-relevance.md +0 -536
  375. package/.docs/reference/evals/create-scorer.md +0 -270
  376. package/.docs/reference/evals/faithfulness.md +0 -114
  377. package/.docs/reference/evals/hallucination.md +0 -220
  378. package/.docs/reference/evals/keyword-coverage.md +0 -128
  379. package/.docs/reference/evals/mastra-scorer.md +0 -123
  380. package/.docs/reference/evals/noise-sensitivity.md +0 -685
  381. package/.docs/reference/evals/prompt-alignment.md +0 -619
  382. package/.docs/reference/evals/run-evals.md +0 -138
  383. package/.docs/reference/evals/scorer-utils.md +0 -330
  384. package/.docs/reference/evals/textual-difference.md +0 -113
  385. package/.docs/reference/evals/tone-consistency.md +0 -119
  386. package/.docs/reference/evals/tool-call-accuracy.md +0 -533
  387. package/.docs/reference/evals/toxicity.md +0 -123
  388. package/.docs/reference/harness/harness-class.md +0 -645
  389. package/.docs/reference/index.md +0 -276
  390. package/.docs/reference/logging/pino-logger.md +0 -117
  391. package/.docs/reference/memory/clone-utilities.md +0 -199
  392. package/.docs/reference/memory/cloneThread.md +0 -130
  393. package/.docs/reference/memory/createThread.md +0 -68
  394. package/.docs/reference/memory/deleteMessages.md +0 -40
  395. package/.docs/reference/memory/getThreadById.md +0 -24
  396. package/.docs/reference/memory/listThreads.md +0 -145
  397. package/.docs/reference/memory/memory-class.md +0 -147
  398. package/.docs/reference/memory/observational-memory.md +0 -565
  399. package/.docs/reference/memory/recall.md +0 -91
  400. package/.docs/reference/observability/tracing/bridges/otel.md +0 -131
  401. package/.docs/reference/observability/tracing/configuration.md +0 -178
  402. package/.docs/reference/observability/tracing/exporters/arize.md +0 -141
  403. package/.docs/reference/observability/tracing/exporters/braintrust.md +0 -93
  404. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -163
  405. package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -138
  406. package/.docs/reference/observability/tracing/exporters/datadog.md +0 -116
  407. package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -174
  408. package/.docs/reference/observability/tracing/exporters/laminar.md +0 -78
  409. package/.docs/reference/observability/tracing/exporters/langfuse.md +0 -134
  410. package/.docs/reference/observability/tracing/exporters/langsmith.md +0 -110
  411. package/.docs/reference/observability/tracing/exporters/otel.md +0 -199
  412. package/.docs/reference/observability/tracing/exporters/posthog.md +0 -92
  413. package/.docs/reference/observability/tracing/exporters/sentry.md +0 -184
  414. package/.docs/reference/observability/tracing/instances.md +0 -109
  415. package/.docs/reference/observability/tracing/interfaces.md +0 -749
  416. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +0 -144
  417. package/.docs/reference/observability/tracing/spans.md +0 -224
  418. package/.docs/reference/processors/batch-parts-processor.md +0 -61
  419. package/.docs/reference/processors/language-detector.md +0 -81
  420. package/.docs/reference/processors/message-history-processor.md +0 -85
  421. package/.docs/reference/processors/moderation-processor.md +0 -104
  422. package/.docs/reference/processors/pii-detector.md +0 -107
  423. package/.docs/reference/processors/processor-interface.md +0 -525
  424. package/.docs/reference/processors/prompt-injection-detector.md +0 -71
  425. package/.docs/reference/processors/semantic-recall-processor.md +0 -123
  426. package/.docs/reference/processors/system-prompt-scrubber.md +0 -80
  427. package/.docs/reference/processors/token-limiter-processor.md +0 -113
  428. package/.docs/reference/processors/tool-call-filter.md +0 -85
  429. package/.docs/reference/processors/tool-search-processor.md +0 -113
  430. package/.docs/reference/processors/unicode-normalizer.md +0 -62
  431. package/.docs/reference/processors/working-memory-processor.md +0 -154
  432. package/.docs/reference/rag/chunk.md +0 -221
  433. package/.docs/reference/rag/database-config.md +0 -264
  434. package/.docs/reference/rag/document.md +0 -114
  435. package/.docs/reference/rag/embeddings.md +0 -92
  436. package/.docs/reference/rag/extract-params.md +0 -168
  437. package/.docs/reference/rag/graph-rag.md +0 -111
  438. package/.docs/reference/rag/metadata-filters.md +0 -216
  439. package/.docs/reference/rag/rerank.md +0 -80
  440. package/.docs/reference/rag/rerankWithScorer.md +0 -80
  441. package/.docs/reference/server/create-route.md +0 -260
  442. package/.docs/reference/server/express-adapter.md +0 -176
  443. package/.docs/reference/server/fastify-adapter.md +0 -90
  444. package/.docs/reference/server/hono-adapter.md +0 -162
  445. package/.docs/reference/server/koa-adapter.md +0 -127
  446. package/.docs/reference/server/mastra-server.md +0 -298
  447. package/.docs/reference/server/register-api-route.md +0 -249
  448. package/.docs/reference/server/routes.md +0 -306
  449. package/.docs/reference/storage/cloudflare-d1.md +0 -218
  450. package/.docs/reference/storage/cloudflare.md +0 -88
  451. package/.docs/reference/storage/composite.md +0 -235
  452. package/.docs/reference/storage/convex.md +0 -161
  453. package/.docs/reference/storage/dynamodb.md +0 -282
  454. package/.docs/reference/storage/lance.md +0 -131
  455. package/.docs/reference/storage/libsql.md +0 -135
  456. package/.docs/reference/storage/mongodb.md +0 -262
  457. package/.docs/reference/storage/mssql.md +0 -155
  458. package/.docs/reference/storage/overview.md +0 -121
  459. package/.docs/reference/storage/postgresql.md +0 -529
  460. package/.docs/reference/storage/upstash.md +0 -160
  461. package/.docs/reference/streaming/ChunkType.md +0 -292
  462. package/.docs/reference/streaming/agents/MastraModelOutput.md +0 -182
  463. package/.docs/reference/streaming/agents/stream.md +0 -212
  464. package/.docs/reference/streaming/agents/streamLegacy.md +0 -142
  465. package/.docs/reference/streaming/workflows/observeStream.md +0 -42
  466. package/.docs/reference/streaming/workflows/resumeStream.md +0 -61
  467. package/.docs/reference/streaming/workflows/stream.md +0 -88
  468. package/.docs/reference/streaming/workflows/timeTravelStream.md +0 -142
  469. package/.docs/reference/templates/overview.md +0 -194
  470. package/.docs/reference/tools/create-tool.md +0 -237
  471. package/.docs/reference/tools/document-chunker-tool.md +0 -89
  472. package/.docs/reference/tools/graph-rag-tool.md +0 -185
  473. package/.docs/reference/tools/mcp-client.md +0 -962
  474. package/.docs/reference/tools/mcp-server.md +0 -1275
  475. package/.docs/reference/tools/vector-query-tool.md +0 -459
  476. package/.docs/reference/vectors/astra.md +0 -121
  477. package/.docs/reference/vectors/chroma.md +0 -267
  478. package/.docs/reference/vectors/convex.md +0 -303
  479. package/.docs/reference/vectors/couchbase.md +0 -226
  480. package/.docs/reference/vectors/duckdb.md +0 -318
  481. package/.docs/reference/vectors/elasticsearch.md +0 -189
  482. package/.docs/reference/vectors/lance.md +0 -220
  483. package/.docs/reference/vectors/libsql.md +0 -305
  484. package/.docs/reference/vectors/mongodb.md +0 -295
  485. package/.docs/reference/vectors/opensearch.md +0 -99
  486. package/.docs/reference/vectors/pg.md +0 -408
  487. package/.docs/reference/vectors/pinecone.md +0 -168
  488. package/.docs/reference/vectors/qdrant.md +0 -222
  489. package/.docs/reference/vectors/s3vectors.md +0 -277
  490. package/.docs/reference/vectors/turbopuffer.md +0 -157
  491. package/.docs/reference/vectors/upstash.md +0 -294
  492. package/.docs/reference/vectors/vectorize.md +0 -147
  493. package/.docs/reference/voice/azure.md +0 -148
  494. package/.docs/reference/voice/cloudflare.md +0 -83
  495. package/.docs/reference/voice/composite-voice.md +0 -121
  496. package/.docs/reference/voice/deepgram.md +0 -79
  497. package/.docs/reference/voice/elevenlabs.md +0 -98
  498. package/.docs/reference/voice/google-gemini-live.md +0 -378
  499. package/.docs/reference/voice/google.md +0 -228
  500. package/.docs/reference/voice/mastra-voice.md +0 -313
  501. package/.docs/reference/voice/murf.md +0 -122
  502. package/.docs/reference/voice/openai-realtime.md +0 -203
  503. package/.docs/reference/voice/openai.md +0 -88
  504. package/.docs/reference/voice/playai.md +0 -80
  505. package/.docs/reference/voice/sarvam.md +0 -126
  506. package/.docs/reference/voice/speechify.md +0 -75
  507. package/.docs/reference/voice/voice.addInstructions.md +0 -56
  508. package/.docs/reference/voice/voice.addTools.md +0 -67
  509. package/.docs/reference/voice/voice.answer.md +0 -54
  510. package/.docs/reference/voice/voice.close.md +0 -51
  511. package/.docs/reference/voice/voice.connect.md +0 -94
  512. package/.docs/reference/voice/voice.events.md +0 -37
  513. package/.docs/reference/voice/voice.getSpeakers.md +0 -129
  514. package/.docs/reference/voice/voice.listen.md +0 -164
  515. package/.docs/reference/voice/voice.off.md +0 -54
  516. package/.docs/reference/voice/voice.on.md +0 -111
  517. package/.docs/reference/voice/voice.send.md +0 -65
  518. package/.docs/reference/voice/voice.speak.md +0 -157
  519. package/.docs/reference/voice/voice.updateConfig.md +0 -60
  520. package/.docs/reference/workflows/run-methods/cancel.md +0 -86
  521. package/.docs/reference/workflows/run-methods/restart.md +0 -33
  522. package/.docs/reference/workflows/run-methods/resume.md +0 -59
  523. package/.docs/reference/workflows/run-methods/start.md +0 -58
  524. package/.docs/reference/workflows/run-methods/startAsync.md +0 -67
  525. package/.docs/reference/workflows/run-methods/timeTravel.md +0 -142
  526. package/.docs/reference/workflows/run.md +0 -59
  527. package/.docs/reference/workflows/step.md +0 -119
  528. package/.docs/reference/workflows/workflow-methods/branch.md +0 -25
  529. package/.docs/reference/workflows/workflow-methods/commit.md +0 -17
  530. package/.docs/reference/workflows/workflow-methods/create-run.md +0 -63
  531. package/.docs/reference/workflows/workflow-methods/dountil.md +0 -25
  532. package/.docs/reference/workflows/workflow-methods/dowhile.md +0 -25
  533. package/.docs/reference/workflows/workflow-methods/foreach.md +0 -118
  534. package/.docs/reference/workflows/workflow-methods/map.md +0 -93
  535. package/.docs/reference/workflows/workflow-methods/parallel.md +0 -21
  536. package/.docs/reference/workflows/workflow-methods/sleep.md +0 -35
  537. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +0 -35
  538. package/.docs/reference/workflows/workflow-methods/then.md +0 -21
  539. package/.docs/reference/workflows/workflow.md +0 -157
  540. package/.docs/reference/workspace/e2b-sandbox.md +0 -288
  541. package/.docs/reference/workspace/filesystem.md +0 -202
  542. package/.docs/reference/workspace/gcs-filesystem.md +0 -170
  543. package/.docs/reference/workspace/local-filesystem.md +0 -327
  544. package/.docs/reference/workspace/local-sandbox.md +0 -285
  545. package/.docs/reference/workspace/s3-filesystem.md +0 -169
  546. package/.docs/reference/workspace/sandbox.md +0 -81
  547. package/.docs/reference/workspace/workspace-class.md +0 -226
@@ -1,377 +0,0 @@
1
- # Agent Approval
2
-
3
- Agents sometimes require the same [human-in-the-loop](https://mastra.ai/docs/workflows/human-in-the-loop) oversight used in workflows when calling tools that handle sensitive operations, like deleting resources or performing running long processes. With agent approval you can suspend a tool call and provide feedback to the user, or approve or decline a tool call based on targeted application conditions.
4
-
5
- ## Tool call approval
6
-
7
- Tool call approval can be enabled at the agent level and apply to every tool the agent uses, or at the tool level providing more granular control over individual tool calls.
8
-
9
- ### Storage
10
-
11
- Agent approval uses a snapshot to capture the state of the request. Ensure you've enabled a storage provider in your main Mastra instance. If storage isn't enabled you'll see an error relating to snapshot not found.
12
-
13
- ```typescript
14
- import { Mastra } from "@mastra/core/mastra";
15
- import { LibSQLStore } from "@mastra/libsql";
16
-
17
- export const mastra = new Mastra({
18
- storage: new LibSQLStore({
19
- id: "mastra-storage",
20
- url: ":memory:"
21
- })
22
- });
23
- ```
24
-
25
- ## Agent-level approval
26
-
27
- 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.
28
-
29
- ```typescript
30
- const stream = await agent.stream("What's the weather in London?", {
31
- requireToolApproval: true
32
- });
33
- ```
34
-
35
- ### Approving tool calls
36
-
37
- 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.
38
-
39
- ```typescript
40
- const handleApproval = async () => {
41
- const approvedStream = await agent.approveToolCall({ runId: stream.runId });
42
-
43
- for await (const chunk of approvedStream.textStream) {
44
- process.stdout.write(chunk);
45
- }
46
- process.stdout.write("\n");
47
- };
48
- ```
49
-
50
- ### Declining tool calls
51
-
52
- 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.
53
-
54
- ```typescript
55
- const handleDecline = async () => {
56
- const declinedStream = await agent.declineToolCall({ runId: stream.runId });
57
-
58
- for await (const chunk of declinedStream.textStream) {
59
- process.stdout.write(chunk);
60
- }
61
- process.stdout.write("\n");
62
- };
63
- ```
64
-
65
- ## Tool approval with generate()
66
-
67
- Tool approval also works with the `generate()` method for non-streaming use cases. When using `generate()` with `requireToolApproval: true`, the method returns immediately when a tool requires approval instead of executing it.
68
-
69
- ### How it works
70
-
71
- When a tool requires approval during a `generate()` call, the response includes:
72
-
73
- - `finishReason: 'suspended'` - indicates the agent is waiting for approval
74
- - `suspendPayload` - contains tool call details (`toolCallId`, `toolName`, `args`)
75
- - `runId` - needed to approve or decline the tool call
76
-
77
- ### Approving tool calls
78
-
79
- To approve a tool call with `generate()`, use the `approveToolCallGenerate` method:
80
-
81
- ```typescript
82
- const output = await agent.generate("Find user John", {
83
- requireToolApproval: true,
84
- });
85
-
86
- if (output.finishReason === "suspended") {
87
- console.log("Tool requires approval:", output.suspendPayload.toolName);
88
- console.log("Arguments:", output.suspendPayload.args);
89
-
90
- // Approve the tool call and get the final result
91
- const result = await agent.approveToolCallGenerate({
92
- runId: output.runId,
93
- toolCallId: output.suspendPayload.toolCallId,
94
- });
95
-
96
- console.log("Final result:", result.text);
97
- }
98
- ```
99
-
100
- ### Declining tool calls
101
-
102
- To decline a tool call, use the `declineToolCallGenerate` method:
103
-
104
- ```typescript
105
- if (output.finishReason === "suspended") {
106
- const result = await agent.declineToolCallGenerate({
107
- runId: output.runId,
108
- toolCallId: output.suspendPayload.toolCallId,
109
- });
110
-
111
- // Agent will respond acknowledging the declined tool
112
- console.log(result.text);
113
- }
114
- ```
115
-
116
- ### Stream vs Generate comparison
117
-
118
- | Aspect | `stream()` | `generate()` |
119
- | ------------------ | ---------------------------- | ------------------------------------------------ |
120
- | Response type | Streaming chunks | Complete response |
121
- | Approval detection | `tool-call-approval` chunk | `finishReason: 'suspended'` |
122
- | Approve method | `approveToolCall({ runId })` | `approveToolCallGenerate({ runId, toolCallId })` |
123
- | Decline method | `declineToolCall({ runId })` | `declineToolCallGenerate({ runId, toolCallId })` |
124
- | Result | Stream to iterate | Full output object |
125
-
126
- ## Tool-level approval
127
-
128
- There are two types of tool call approval. The first uses `requireApproval`, which is a property on the tool definition, while `requireToolApproval` is a parameter passed to `agent.stream()`. The second uses `suspend` and lets the agent provide context or confirmation prompts so the user can decide whether the tool call should continue.
129
-
130
- ### Tool approval using `requireToolApproval`
131
-
132
- In this approach, `requireApproval` is configured on the tool definition (shown below) rather than on the agent.
133
-
134
- ```typescript
135
- export const testTool = createTool({
136
- id: "test-tool",
137
- description: "Fetches weather for a location",
138
- inputSchema: z.object({
139
- location: z.string()
140
- }),
141
- outputSchema: z.object({
142
- weather: z.string()
143
- }),
144
- resumeSchema: z.object({
145
- approved: z.boolean()
146
- }),
147
- execute: async (inputData) => {
148
- const response = await fetch(`https://wttr.in/${inputData.location}?format=3`);
149
- const weather = await response.text();
150
-
151
- return { weather };
152
- },
153
- requireApproval: true
154
- });
155
- ```
156
-
157
- When `requireApproval` is true for a tool, the stream will include chunks of type `tool-call-approval` to indicate that the call is paused. To continue the call, invoke `resumeStream` with the required `resumeSchema` and the `runId`.
158
-
159
- ```typescript
160
- const stream = await agent.stream("What's the weather in London?");
161
-
162
- for await (const chunk of stream.fullStream) {
163
- if (chunk.type === "tool-call-approval") {
164
- console.log("Approval required.");
165
- }
166
- }
167
-
168
- const handleResume = async () => {
169
- const resumedStream = await agent.resumeStream({ approved: true }, { runId: stream.runId });
170
-
171
- for await (const chunk of resumedStream.textStream) {
172
- process.stdout.write(chunk);
173
- }
174
- process.stdout.write("\n");
175
- };
176
- ```
177
-
178
- ### Tool approval using `suspend`
179
-
180
- With this approach, neither the agent nor the tool uses `requireApproval`. Instead, the tool implementation calls `suspend` to pause execution and return context or confirmation prompts to the user.
181
-
182
- ```typescript
183
- export const testToolB = createTool({
184
- id: "test-tool-b",
185
- description: "Fetches weather for a location",
186
- inputSchema: z.object({
187
- location: z.string()
188
- }),
189
- outputSchema: z.object({
190
- weather: z.string()
191
- }),
192
- resumeSchema: z.object({
193
- approved: z.boolean()
194
- }),
195
- suspendSchema: z.object({
196
- reason: z.string()
197
- }),
198
- execute: async (inputData, context) => {
199
- const { resumeData: { approved } = {}, suspend } = context?.agent ?? {};
200
-
201
- if (!approved) {
202
- return suspend?.({ reason: "Approval required." });
203
- }
204
-
205
- const response = await fetch(`https://wttr.in/${inputData.location}?format=3`);
206
- const weather = await response.text();
207
-
208
- return { weather };
209
- }
210
- });
211
- ```
212
-
213
- With this approach the stream will include a `tool-call-suspended` chunk, and the `suspendPayload` will contain the `reason` defined by the tool's `suspendSchema`. To continue the call, invoke `resumeStream` with the required `resumeSchema` and the `runId`.
214
-
215
- ```typescript
216
- const stream = await agent.stream("What's the weather in London?");
217
-
218
- for await (const chunk of stream.fullStream) {
219
- if (chunk.type === "tool-call-suspended") {
220
- console.log(chunk.payload.suspendPayload);
221
- }
222
- }
223
-
224
- const handleResume = async () => {
225
- const resumedStream = await agent.resumeStream({ approved: true }, { runId: stream.runId });
226
-
227
- for await (const chunk of resumedStream.textStream) {
228
- process.stdout.write(chunk);
229
- }
230
- process.stdout.write("\n");
231
- };
232
- ```
233
-
234
- ## Automatic tool resumption
235
-
236
- 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.
237
-
238
- ### Enabling auto-resume
239
-
240
- Set `autoResumeSuspendedTools` to `true` in the agent's default options or when calling `stream()`:
241
-
242
- ```typescript
243
- import { Agent } from "@mastra/core/agent";
244
- import { Memory } from "@mastra/memory";
245
-
246
- // Option 1: In agent configuration
247
- const agent = new Agent({
248
- id: "my-agent",
249
- name: "My Agent",
250
- instructions: "You are a helpful assistant",
251
- model: "openai/gpt-4o-mini",
252
- tools: { weatherTool },
253
- memory: new Memory(),
254
- defaultOptions: {
255
- autoResumeSuspendedTools: true,
256
- },
257
- });
258
-
259
- // Option 2: Per-request
260
- const stream = await agent.stream("What's the weather?", {
261
- autoResumeSuspendedTools: true,
262
- });
263
- ```
264
-
265
- ### How it works
266
-
267
- When `autoResumeSuspendedTools` is enabled:
268
-
269
- 1. A tool suspends execution by calling `suspend()` with a payload (e.g., requesting more information)
270
-
271
- 2. The suspension is persisted to memory along with the conversation
272
-
273
- 3. When the user sends their next message on the same thread, the agent:
274
-
275
- - Detects the suspended tool from message history
276
- - Extracts `resumeData` from the user's message based on the tool's `resumeSchema`
277
- - Automatically resumes the tool with the extracted data
278
-
279
- ### Example
280
-
281
- ```typescript
282
- import { createTool } from "@mastra/core/tools";
283
- import { z } from "zod";
284
-
285
- export const weatherTool = createTool({
286
- id: "weather-info",
287
- description: "Fetches weather information for a city",
288
- suspendSchema: z.object({
289
- message: z.string(),
290
- }),
291
- resumeSchema: z.object({
292
- city: z.string(),
293
- }),
294
- execute: async (_inputData, context) => {
295
- // Check if this is a resume with data
296
- if (!context?.agent?.resumeData) {
297
- // First call - suspend and ask for the city
298
- return context?.agent?.suspend({
299
- message: "What city do you want to know the weather for?",
300
- });
301
- }
302
-
303
- // Resume call - city was extracted from user's message
304
- const { city } = context.agent.resumeData;
305
- const response = await fetch(`https://wttr.in/${city}?format=3`);
306
- const weather = await response.text();
307
-
308
- return { city, weather };
309
- },
310
- });
311
-
312
- const agent = new Agent({
313
- id: "my-agent",
314
- name: "My Agent",
315
- instructions: "You are a helpful assistant",
316
- model: "openai/gpt-4o-mini",
317
- tools: { weatherTool },
318
- memory: new Memory(),
319
- defaultOptions: {
320
- autoResumeSuspendedTools: true,
321
- },
322
- });
323
-
324
- const stream = await agent.stream("What's the weather like?");
325
-
326
- for await (const chunk of stream.fullStream) {
327
- if (chunk.type === "tool-call-suspended") {
328
- console.log(chunk.payload.suspendPayload);
329
- }
330
- }
331
-
332
- const handleResume = async () => {
333
- const resumedStream = await agent.stream("San Francisco");
334
-
335
- for await (const chunk of resumedStream.textStream) {
336
- process.stdout.write(chunk);
337
- }
338
- process.stdout.write("\n");
339
- };
340
- ```
341
-
342
- **Conversation flow:**
343
-
344
- ```text
345
- User: "What's the weather like?"
346
- Agent: "What city do you want to know the weather for?"
347
-
348
- User: "San Francisco"
349
- Agent: "The weather in San Francisco is: San Francisco: ☀️ +72°F"
350
- ```
351
-
352
- The second message automatically resumes the suspended tool - the agent extracts `{ city: "San Francisco" }` from the user's message and passes it as `resumeData`.
353
-
354
- ### Requirements
355
-
356
- For automatic tool resumption to work:
357
-
358
- - **Memory configured**: The agent needs memory to track suspended tools across messages
359
- - **Same thread**: The follow-up message must use the same memory thread and resource identifiers
360
- - **`resumeSchema` defined**: The tool must define a `resumeSchema` so the agent knows what data structure to extract from the user's message
361
-
362
- ### Manual vs automatic resumption
363
-
364
- | Approach | Use case |
365
- | -------------------------------------- | ------------------------------------------------------------------------ |
366
- | Manual (`resumeStream()`) | Programmatic control, webhooks, button clicks, external triggers |
367
- | Automatic (`autoResumeSuspendedTools`) | Conversational flows where users provide resume data in natural language |
368
-
369
- 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.
370
-
371
- ## Related
372
-
373
- - [Using Tools](https://mastra.ai/docs/agents/using-tools)
374
- - [Agent Overview](https://mastra.ai/docs/agents/overview)
375
- - [Tools Overview](https://mastra.ai/docs/mcp/overview)
376
- - [Agent Memory](https://mastra.ai/docs/agents/agent-memory)
377
- - [Request Context](https://mastra.ai/docs/server/request-context)
@@ -1,212 +0,0 @@
1
- # Agent memory
2
-
3
- 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.
4
-
5
- Mastra agents can be configured to store message history, with optional [working memory](https://mastra.ai/docs/memory/working-memory) to maintain recent context, [semantic recall](https://mastra.ai/docs/memory/semantic-recall) to retrieve past messages based on meaning, or [observational memory](https://mastra.ai/docs/memory/observational-memory) for automatic long-term memory that compresses conversations as they grow.
6
-
7
- ## When to use memory
8
-
9
- Use memory when your agent needs to maintain multi-turn conversations that reference prior exchanges, recall user preferences or facts from earlier in a session, or build context over time within a conversation thread. Skip memory for single-turn requests where each interaction is independent.
10
-
11
- ## Setting up memory
12
-
13
- To enable memory in Mastra, install the `@mastra/memory` package along with a storage provider.
14
-
15
- **npm**:
16
-
17
- ```bash
18
- npm install @mastra/memory@latest @mastra/libsql@latest
19
- ```
20
-
21
- **pnpm**:
22
-
23
- ```bash
24
- pnpm add @mastra/memory@latest @mastra/libsql@latest
25
- ```
26
-
27
- **Yarn**:
28
-
29
- ```bash
30
- yarn add @mastra/memory@latest @mastra/libsql@latest
31
- ```
32
-
33
- **Bun**:
34
-
35
- ```bash
36
- bun add @mastra/memory@latest @mastra/libsql@latest
37
- ```
38
-
39
- ## Storage providers
40
-
41
- 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](https://mastra.ai/docs/memory/storage) documentation.
42
-
43
- ## Configuring memory
44
-
45
- 1. Enable memory by creating a `Memory` instance and passing it to the agent’s `memory` option.
46
-
47
- ```typescript
48
- import { Agent } from "@mastra/core/agent";
49
- import { Memory } from "@mastra/memory";
50
-
51
- export const memoryAgent = new Agent({
52
- id: 'memory-agent',
53
- name: 'Memory Agent',
54
- memory: new Memory({
55
- options: {
56
- lastMessages: 20,
57
- },
58
- }),
59
- });
60
- ```
61
-
62
- > **Info:** Visit [Memory Class](https://mastra.ai/reference/memory/memory-class) for a full list of configuration options.
63
-
64
- 2. Add a storage provider to your main Mastra instance to enable memory across all configured agents.
65
-
66
- ```typescript
67
- import { Mastra } from "@mastra/core";
68
- import { LibSQLStore } from "@mastra/libsql";
69
-
70
- export const mastra = new Mastra({
71
- storage: new LibSQLStore({
72
- id: 'mastra-storage',
73
- url: ":memory:",
74
- }),
75
- });
76
- ```
77
-
78
- > **Info:** Visit [libSQL Storage](https://mastra.ai/reference/storage/libsql) for a full list of configuration options.
79
-
80
- Alternatively, add storage directly to an agent’s memory to keep data separate or use different providers per agent.
81
-
82
- ```typescript
83
- import { Agent } from "@mastra/core/agent";
84
- import { Memory } from "@mastra/memory";
85
- import { LibSQLStore } from "@mastra/libsql";
86
-
87
- export const memoryAgent = new Agent({
88
- id: 'memory-agent',
89
- name: 'Memory Agent',
90
- memory: new Memory({
91
- storage: new LibSQLStore({
92
- id: 'mastra-storage',
93
- url: ":memory:",
94
- }),
95
- }),
96
- });
97
- ```
98
-
99
- > **Mastra Cloud Store limitation:** Agent-level storage is not supported when using [Mastra Cloud Store](https://mastra.ai/docs/mastra-cloud/deployment). If you use Mastra Cloud Store, configure storage on the Mastra instance instead. This limitation does not apply if you bring your own database.
100
-
101
- ## Message history
102
-
103
- Include a `memory` object with both `resource` and `thread` to track message history during agent calls.
104
-
105
- - `resource`: A stable identifier for the user or entity.
106
- - `thread`: An ID that isolates a specific conversation or session.
107
-
108
- These fields tell the agent where to store and retrieve context, enabling persistent, thread-aware memory across a conversation.
109
-
110
- ```typescript
111
- const response = await memoryAgent.generate(
112
- "Remember my favorite color is blue.",
113
- {
114
- memory: {
115
- resource: "user-123",
116
- thread: "conversation-123",
117
- },
118
- },
119
- );
120
- ```
121
-
122
- To recall information stored in memory, call the agent with the same `resource` and `thread` values used in the original conversation.
123
-
124
- ```typescript
125
- const response = await memoryAgent.generate("What's my favorite color?", {
126
- memory: {
127
- resource: "user-123",
128
- thread: "conversation-123",
129
- },
130
- });
131
- ```
132
-
133
- > **Warning:** Each thread has an owner (`resourceId`) that cannot be changed after creation. Avoid reusing the same thread ID for threads with different owners, as this will cause errors when querying.
134
-
135
- To learn more about memory see the [Memory](https://mastra.ai/docs/memory/overview) documentation.
136
-
137
- ## Observational Memory
138
-
139
- For long-running conversations, raw message history grows until it fills the context window, degrading agent performance. [Observational Memory](https://mastra.ai/docs/memory/observational-memory) solves this by running background agents that compress old messages into dense observations, keeping the context window small while preserving long-term memory.
140
-
141
- ```typescript
142
- import { Agent } from "@mastra/core/agent";
143
- import { Memory } from "@mastra/memory";
144
-
145
- export const memoryAgent = new Agent({
146
- id: 'memory-agent',
147
- name: 'Memory Agent',
148
- memory: new Memory({
149
- options: {
150
- observationalMemory: true,
151
- },
152
- }),
153
- });
154
- ```
155
-
156
- Setting `observationalMemory: true` uses `google/gemini-2.5-flash` as the default model for the Observer and Reflector. To use a different model or customize thresholds, pass a config object:
157
-
158
- ```typescript
159
- import { Agent } from "@mastra/core/agent";
160
- import { Memory } from "@mastra/memory";
161
-
162
- export const memoryAgent = new Agent({
163
- id: 'memory-agent',
164
- name: 'Memory Agent',
165
- memory: new Memory({
166
- options: {
167
- observationalMemory: {
168
- model: "deepseek/deepseek-reasoner",
169
- observation: {
170
- messageTokens: 20_000,
171
- },
172
- },
173
- },
174
- }),
175
- });
176
- ```
177
-
178
- > **Info:** See [Observational Memory](https://mastra.ai/docs/memory/observational-memory) for details on how observations and reflections work, and [the reference](https://mastra.ai/reference/memory/observational-memory) for all configuration options.
179
-
180
- ## Using `RequestContext`
181
-
182
- Use [RequestContext](https://mastra.ai/docs/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.
183
-
184
- ```typescript
185
- export type UserTier = {
186
- "user-tier": "enterprise" | "pro";
187
- };
188
-
189
- const premiumMemory = new Memory();
190
-
191
- const standardMemory = new Memory();
192
-
193
- export const memoryAgent = new Agent({
194
- id: 'memory-agent',
195
- name: 'Memory Agent',
196
- memory: ({ requestContext }) => {
197
- const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
198
-
199
- return userTier === "enterprise" ? premiumMemory : standardMemory;
200
- },
201
- });
202
- ```
203
-
204
- > **Info:** Visit [Request Context](https://mastra.ai/docs/server/request-context) for more information.
205
-
206
- ## Related
207
-
208
- - [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
209
- - [Working Memory](https://mastra.ai/docs/memory/working-memory)
210
- - [Semantic Recall](https://mastra.ai/docs/memory/semantic-recall)
211
- - [Storage](https://mastra.ai/docs/memory/storage)
212
- - [Request Context](https://mastra.ai/docs/server/request-context)