@mastra/mcp-docs-server 1.1.5 → 1.1.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/.docs/docs/agents/adding-voice.md +349 -0
  2. package/.docs/docs/agents/agent-approval.md +558 -0
  3. package/.docs/docs/agents/agent-memory.md +209 -0
  4. package/.docs/docs/agents/guardrails.md +374 -0
  5. package/.docs/docs/agents/network-approval.md +275 -0
  6. package/.docs/docs/agents/networks.md +299 -0
  7. package/.docs/docs/agents/overview.md +304 -0
  8. package/.docs/docs/agents/processors.md +622 -0
  9. package/.docs/docs/agents/structured-output.md +273 -0
  10. package/.docs/docs/agents/supervisor-agents.md +304 -0
  11. package/.docs/docs/agents/using-tools.md +214 -0
  12. package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
  13. package/.docs/docs/build-with-ai/skills.md +35 -0
  14. package/.docs/docs/community/contributing-templates.md +3 -0
  15. package/.docs/docs/community/discord.md +9 -0
  16. package/.docs/docs/community/licensing.md +66 -0
  17. package/.docs/docs/deployment/cloud-providers.md +15 -0
  18. package/.docs/docs/deployment/mastra-server.md +122 -0
  19. package/.docs/docs/deployment/monorepo.md +142 -0
  20. package/.docs/docs/deployment/overview.md +62 -0
  21. package/.docs/docs/deployment/studio.md +239 -0
  22. package/.docs/docs/deployment/web-framework.md +52 -0
  23. package/.docs/docs/deployment/workflow-runners.md +9 -0
  24. package/.docs/docs/evals/built-in-scorers.md +47 -0
  25. package/.docs/docs/evals/custom-scorers.md +519 -0
  26. package/.docs/docs/evals/overview.md +141 -0
  27. package/.docs/docs/evals/running-in-ci.md +124 -0
  28. package/.docs/docs/getting-started/build-with-ai.md +68 -0
  29. package/.docs/docs/getting-started/manual-install.md +226 -0
  30. package/.docs/docs/getting-started/project-structure.md +60 -0
  31. package/.docs/docs/getting-started/start.md +28 -0
  32. package/.docs/docs/getting-started/studio.md +101 -0
  33. package/.docs/docs/index.md +43 -0
  34. package/.docs/docs/mastra-cloud/deployment.md +77 -0
  35. package/.docs/docs/mastra-cloud/observability.md +38 -0
  36. package/.docs/docs/mastra-cloud/overview.md +23 -0
  37. package/.docs/docs/mastra-cloud/setup.md +42 -0
  38. package/.docs/docs/mastra-cloud/studio.md +24 -0
  39. package/.docs/docs/mastra-code/configuration.md +299 -0
  40. package/.docs/docs/mastra-code/customization.md +228 -0
  41. package/.docs/docs/mastra-code/modes.md +104 -0
  42. package/.docs/docs/mastra-code/overview.md +135 -0
  43. package/.docs/docs/mastra-code/tools.md +229 -0
  44. package/.docs/docs/mcp/overview.md +373 -0
  45. package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
  46. package/.docs/docs/memory/memory-processors.md +314 -0
  47. package/.docs/docs/memory/message-history.md +260 -0
  48. package/.docs/docs/memory/observational-memory.md +248 -0
  49. package/.docs/docs/memory/overview.md +45 -0
  50. package/.docs/docs/memory/semantic-recall.md +272 -0
  51. package/.docs/docs/memory/storage.md +261 -0
  52. package/.docs/docs/memory/working-memory.md +400 -0
  53. package/.docs/docs/observability/datasets/overview.md +198 -0
  54. package/.docs/docs/observability/datasets/running-experiments.md +274 -0
  55. package/.docs/docs/observability/logging.md +99 -0
  56. package/.docs/docs/observability/overview.md +70 -0
  57. package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
  58. package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
  59. package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
  60. package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
  61. package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
  62. package/.docs/docs/observability/tracing/exporters/default.md +209 -0
  63. package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
  64. package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
  65. package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
  66. package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
  67. package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
  68. package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
  69. package/.docs/docs/observability/tracing/overview.md +1112 -0
  70. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
  71. package/.docs/docs/rag/chunking-and-embedding.md +183 -0
  72. package/.docs/docs/rag/graph-rag.md +215 -0
  73. package/.docs/docs/rag/overview.md +72 -0
  74. package/.docs/docs/rag/retrieval.md +515 -0
  75. package/.docs/docs/rag/vector-databases.md +645 -0
  76. package/.docs/docs/server/auth/auth0.md +220 -0
  77. package/.docs/docs/server/auth/better-auth.md +203 -0
  78. package/.docs/docs/server/auth/clerk.md +132 -0
  79. package/.docs/docs/server/auth/composite-auth.md +234 -0
  80. package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
  81. package/.docs/docs/server/auth/firebase.md +272 -0
  82. package/.docs/docs/server/auth/jwt.md +110 -0
  83. package/.docs/docs/server/auth/simple-auth.md +180 -0
  84. package/.docs/docs/server/auth/supabase.md +117 -0
  85. package/.docs/docs/server/auth/workos.md +186 -0
  86. package/.docs/docs/server/auth.md +38 -0
  87. package/.docs/docs/server/custom-adapters.md +378 -0
  88. package/.docs/docs/server/custom-api-routes.md +267 -0
  89. package/.docs/docs/server/mastra-client.md +243 -0
  90. package/.docs/docs/server/mastra-server.md +71 -0
  91. package/.docs/docs/server/middleware.md +225 -0
  92. package/.docs/docs/server/request-context.md +471 -0
  93. package/.docs/docs/server/server-adapters.md +547 -0
  94. package/.docs/docs/streaming/events.md +237 -0
  95. package/.docs/docs/streaming/overview.md +175 -0
  96. package/.docs/docs/streaming/tool-streaming.md +175 -0
  97. package/.docs/docs/streaming/workflow-streaming.md +109 -0
  98. package/.docs/docs/voice/overview.md +959 -0
  99. package/.docs/docs/voice/speech-to-speech.md +102 -0
  100. package/.docs/docs/voice/speech-to-text.md +79 -0
  101. package/.docs/docs/voice/text-to-speech.md +83 -0
  102. package/.docs/docs/workflows/agents-and-tools.md +166 -0
  103. package/.docs/docs/workflows/control-flow.md +822 -0
  104. package/.docs/docs/workflows/error-handling.md +360 -0
  105. package/.docs/docs/workflows/human-in-the-loop.md +215 -0
  106. package/.docs/docs/workflows/overview.md +370 -0
  107. package/.docs/docs/workflows/snapshots.md +238 -0
  108. package/.docs/docs/workflows/suspend-and-resume.md +205 -0
  109. package/.docs/docs/workflows/time-travel.md +309 -0
  110. package/.docs/docs/workflows/workflow-state.md +181 -0
  111. package/.docs/docs/workspace/filesystem.md +164 -0
  112. package/.docs/docs/workspace/overview.md +239 -0
  113. package/.docs/docs/workspace/sandbox.md +63 -0
  114. package/.docs/docs/workspace/search.md +243 -0
  115. package/.docs/docs/workspace/skills.md +169 -0
  116. package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
  117. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
  118. package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
  119. package/.docs/guides/build-your-ui/copilotkit.md +289 -0
  120. package/.docs/guides/deployment/amazon-ec2.md +130 -0
  121. package/.docs/guides/deployment/aws-lambda.md +248 -0
  122. package/.docs/guides/deployment/azure-app-services.md +114 -0
  123. package/.docs/guides/deployment/cloudflare.md +99 -0
  124. package/.docs/guides/deployment/digital-ocean.md +168 -0
  125. package/.docs/guides/deployment/inngest.md +682 -0
  126. package/.docs/guides/deployment/netlify.md +77 -0
  127. package/.docs/guides/deployment/vercel.md +101 -0
  128. package/.docs/guides/getting-started/astro.md +398 -0
  129. package/.docs/guides/getting-started/electron.md +504 -0
  130. package/.docs/guides/getting-started/express.md +251 -0
  131. package/.docs/guides/getting-started/hono.md +190 -0
  132. package/.docs/guides/getting-started/next-js.md +347 -0
  133. package/.docs/guides/getting-started/nuxt.md +497 -0
  134. package/.docs/guides/getting-started/quickstart.md +67 -0
  135. package/.docs/guides/getting-started/sveltekit.md +296 -0
  136. package/.docs/guides/getting-started/vite-react.md +425 -0
  137. package/.docs/guides/guide/ai-recruiter.md +226 -0
  138. package/.docs/guides/guide/chef-michel.md +211 -0
  139. package/.docs/guides/guide/code-review-bot.md +226 -0
  140. package/.docs/guides/guide/dev-assistant.md +307 -0
  141. package/.docs/guides/guide/docs-manager.md +238 -0
  142. package/.docs/guides/guide/github-actions-pr-description.md +236 -0
  143. package/.docs/guides/guide/notes-mcp-server.md +416 -0
  144. package/.docs/guides/guide/research-assistant.md +348 -0
  145. package/.docs/guides/guide/research-coordinator.md +416 -0
  146. package/.docs/guides/guide/stock-agent.md +132 -0
  147. package/.docs/guides/guide/web-search.md +320 -0
  148. package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
  149. package/.docs/guides/index.md +3 -0
  150. package/.docs/guides/migrations/agentnetwork.md +97 -0
  151. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
  152. package/.docs/guides/migrations/network-to-supervisor.md +261 -0
  153. package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
  154. package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
  155. package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
  156. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
  157. package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
  158. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
  159. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
  160. package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
  161. package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
  162. package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
  163. package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
  164. package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
  165. package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
  166. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
  167. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
  168. package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
  169. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
  170. package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
  171. package/.docs/models/embeddings.md +161 -0
  172. package/.docs/models/gateways/azure-openai.md +128 -0
  173. package/.docs/models/gateways/custom-gateways.md +545 -0
  174. package/.docs/models/gateways/netlify.md +88 -0
  175. package/.docs/models/gateways/openrouter.md +219 -0
  176. package/.docs/models/gateways/vercel.md +225 -0
  177. package/.docs/models/gateways.md +14 -0
  178. package/.docs/models/index.md +286 -0
  179. package/.docs/models/providers/302ai.md +134 -0
  180. package/.docs/models/providers/abacus.md +125 -0
  181. package/.docs/models/providers/agentrouter.md +90 -0
  182. package/.docs/models/providers/aihubmix.md +107 -0
  183. package/.docs/models/providers/alibaba-cn.md +135 -0
  184. package/.docs/models/providers/alibaba.md +111 -0
  185. package/.docs/models/providers/amazon-bedrock.md +33 -0
  186. package/.docs/models/providers/anthropic.md +153 -0
  187. package/.docs/models/providers/azure.md +33 -0
  188. package/.docs/models/providers/bailing.md +72 -0
  189. package/.docs/models/providers/baseten.md +77 -0
  190. package/.docs/models/providers/berget.md +78 -0
  191. package/.docs/models/providers/cerebras.md +101 -0
  192. package/.docs/models/providers/chutes.md +136 -0
  193. package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
  194. package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
  195. package/.docs/models/providers/cohere.md +33 -0
  196. package/.docs/models/providers/cortecs.md +91 -0
  197. package/.docs/models/providers/deepinfra.md +112 -0
  198. package/.docs/models/providers/deepseek.md +88 -0
  199. package/.docs/models/providers/fastrouter.md +84 -0
  200. package/.docs/models/providers/fireworks-ai.md +89 -0
  201. package/.docs/models/providers/firmware.md +85 -0
  202. package/.docs/models/providers/friendli.md +78 -0
  203. package/.docs/models/providers/github-models.md +125 -0
  204. package/.docs/models/providers/google-vertex.md +33 -0
  205. package/.docs/models/providers/google.md +159 -0
  206. package/.docs/models/providers/groq.md +107 -0
  207. package/.docs/models/providers/helicone.md +161 -0
  208. package/.docs/models/providers/huggingface.md +90 -0
  209. package/.docs/models/providers/iflowcn.md +84 -0
  210. package/.docs/models/providers/inception.md +72 -0
  211. package/.docs/models/providers/inference.md +79 -0
  212. package/.docs/models/providers/io-intelligence.md +87 -0
  213. package/.docs/models/providers/io-net.md +87 -0
  214. package/.docs/models/providers/jiekou.md +131 -0
  215. package/.docs/models/providers/kilo.md +333 -0
  216. package/.docs/models/providers/kimi-for-coding.md +100 -0
  217. package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
  218. package/.docs/models/providers/llama.md +77 -0
  219. package/.docs/models/providers/lmstudio.md +73 -0
  220. package/.docs/models/providers/lucidquery.md +72 -0
  221. package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
  222. package/.docs/models/providers/minimax-cn.md +102 -0
  223. package/.docs/models/providers/minimax-coding-plan.md +102 -0
  224. package/.docs/models/providers/minimax.md +104 -0
  225. package/.docs/models/providers/mistral.md +124 -0
  226. package/.docs/models/providers/moark.md +72 -0
  227. package/.docs/models/providers/modelscope.md +77 -0
  228. package/.docs/models/providers/moonshotai-cn.md +76 -0
  229. package/.docs/models/providers/moonshotai.md +76 -0
  230. package/.docs/models/providers/morph.md +73 -0
  231. package/.docs/models/providers/nano-gpt.md +103 -0
  232. package/.docs/models/providers/nebius.md +116 -0
  233. package/.docs/models/providers/nova.md +72 -0
  234. package/.docs/models/providers/novita-ai.md +154 -0
  235. package/.docs/models/providers/nvidia.md +141 -0
  236. package/.docs/models/providers/ollama-cloud.md +103 -0
  237. package/.docs/models/providers/ollama.md +33 -0
  238. package/.docs/models/providers/openai.md +193 -0
  239. package/.docs/models/providers/opencode.md +100 -0
  240. package/.docs/models/providers/ovhcloud.md +83 -0
  241. package/.docs/models/providers/perplexity.md +100 -0
  242. package/.docs/models/providers/poe.md +183 -0
  243. package/.docs/models/providers/privatemode-ai.md +75 -0
  244. package/.docs/models/providers/requesty.md +90 -0
  245. package/.docs/models/providers/scaleway.md +84 -0
  246. package/.docs/models/providers/siliconflow-cn.md +138 -0
  247. package/.docs/models/providers/siliconflow.md +140 -0
  248. package/.docs/models/providers/stackit.md +78 -0
  249. package/.docs/models/providers/stepfun.md +73 -0
  250. package/.docs/models/providers/submodel.md +79 -0
  251. package/.docs/models/providers/synthetic.md +96 -0
  252. package/.docs/models/providers/togetherai.md +115 -0
  253. package/.docs/models/providers/upstage.md +73 -0
  254. package/.docs/models/providers/venice.md +95 -0
  255. package/.docs/models/providers/vivgrid.md +106 -0
  256. package/.docs/models/providers/vultr.md +75 -0
  257. package/.docs/models/providers/wandb.md +80 -0
  258. package/.docs/models/providers/xai.md +141 -0
  259. package/.docs/models/providers/xiaomi.md +71 -0
  260. package/.docs/models/providers/zai-coding-plan.md +80 -0
  261. package/.docs/models/providers/zai.md +79 -0
  262. package/.docs/models/providers/zenmux.md +161 -0
  263. package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
  264. package/.docs/models/providers/zhipuai.md +79 -0
  265. package/.docs/models/providers.md +81 -0
  266. package/.docs/reference/agents/agent.md +141 -0
  267. package/.docs/reference/agents/generate.md +186 -0
  268. package/.docs/reference/agents/generateLegacy.md +173 -0
  269. package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
  270. package/.docs/reference/agents/getDefaultOptions.md +34 -0
  271. package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
  272. package/.docs/reference/agents/getDescription.md +21 -0
  273. package/.docs/reference/agents/getInstructions.md +34 -0
  274. package/.docs/reference/agents/getLLM.md +37 -0
  275. package/.docs/reference/agents/getMemory.md +34 -0
  276. package/.docs/reference/agents/getModel.md +34 -0
  277. package/.docs/reference/agents/getTools.md +29 -0
  278. package/.docs/reference/agents/getVoice.md +34 -0
  279. package/.docs/reference/agents/listAgents.md +35 -0
  280. package/.docs/reference/agents/listScorers.md +34 -0
  281. package/.docs/reference/agents/listTools.md +34 -0
  282. package/.docs/reference/agents/listWorkflows.md +34 -0
  283. package/.docs/reference/agents/network.md +133 -0
  284. package/.docs/reference/ai-sdk/chat-route.md +82 -0
  285. package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
  286. package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
  287. package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
  288. package/.docs/reference/ai-sdk/network-route.md +74 -0
  289. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
  290. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
  291. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
  292. package/.docs/reference/ai-sdk/with-mastra.md +59 -0
  293. package/.docs/reference/ai-sdk/workflow-route.md +79 -0
  294. package/.docs/reference/auth/auth0.md +73 -0
  295. package/.docs/reference/auth/better-auth.md +71 -0
  296. package/.docs/reference/auth/clerk.md +36 -0
  297. package/.docs/reference/auth/firebase.md +80 -0
  298. package/.docs/reference/auth/jwt.md +26 -0
  299. package/.docs/reference/auth/supabase.md +33 -0
  300. package/.docs/reference/auth/workos.md +84 -0
  301. package/.docs/reference/cli/create-mastra.md +137 -0
  302. package/.docs/reference/cli/mastra.md +336 -0
  303. package/.docs/reference/client-js/agents.md +437 -0
  304. package/.docs/reference/client-js/error-handling.md +16 -0
  305. package/.docs/reference/client-js/logs.md +24 -0
  306. package/.docs/reference/client-js/mastra-client.md +63 -0
  307. package/.docs/reference/client-js/memory.md +221 -0
  308. package/.docs/reference/client-js/observability.md +72 -0
  309. package/.docs/reference/client-js/telemetry.md +20 -0
  310. package/.docs/reference/client-js/tools.md +44 -0
  311. package/.docs/reference/client-js/vectors.md +79 -0
  312. package/.docs/reference/client-js/workflows.md +199 -0
  313. package/.docs/reference/configuration.md +752 -0
  314. package/.docs/reference/core/addGateway.md +42 -0
  315. package/.docs/reference/core/getAgent.md +21 -0
  316. package/.docs/reference/core/getAgentById.md +21 -0
  317. package/.docs/reference/core/getDeployer.md +22 -0
  318. package/.docs/reference/core/getGateway.md +38 -0
  319. package/.docs/reference/core/getGatewayById.md +41 -0
  320. package/.docs/reference/core/getLogger.md +22 -0
  321. package/.docs/reference/core/getMCPServer.md +47 -0
  322. package/.docs/reference/core/getMCPServerById.md +55 -0
  323. package/.docs/reference/core/getMemory.md +50 -0
  324. package/.docs/reference/core/getScorer.md +54 -0
  325. package/.docs/reference/core/getScorerById.md +54 -0
  326. package/.docs/reference/core/getServer.md +22 -0
  327. package/.docs/reference/core/getStorage.md +22 -0
  328. package/.docs/reference/core/getStoredAgentById.md +89 -0
  329. package/.docs/reference/core/getTelemetry.md +22 -0
  330. package/.docs/reference/core/getVector.md +22 -0
  331. package/.docs/reference/core/getWorkflow.md +42 -0
  332. package/.docs/reference/core/listAgents.md +21 -0
  333. package/.docs/reference/core/listGateways.md +40 -0
  334. package/.docs/reference/core/listLogs.md +38 -0
  335. package/.docs/reference/core/listLogsByRunId.md +36 -0
  336. package/.docs/reference/core/listMCPServers.md +55 -0
  337. package/.docs/reference/core/listMemory.md +56 -0
  338. package/.docs/reference/core/listScorers.md +29 -0
  339. package/.docs/reference/core/listStoredAgents.md +93 -0
  340. package/.docs/reference/core/listVectors.md +22 -0
  341. package/.docs/reference/core/listWorkflows.md +21 -0
  342. package/.docs/reference/core/mastra-class.md +66 -0
  343. package/.docs/reference/core/mastra-model-gateway.md +153 -0
  344. package/.docs/reference/core/setLogger.md +26 -0
  345. package/.docs/reference/core/setStorage.md +27 -0
  346. package/.docs/reference/datasets/addItem.md +37 -0
  347. package/.docs/reference/datasets/addItems.md +35 -0
  348. package/.docs/reference/datasets/compareExperiments.md +52 -0
  349. package/.docs/reference/datasets/create.md +51 -0
  350. package/.docs/reference/datasets/dataset.md +82 -0
  351. package/.docs/reference/datasets/datasets-manager.md +94 -0
  352. package/.docs/reference/datasets/delete.md +25 -0
  353. package/.docs/reference/datasets/deleteExperiment.md +27 -0
  354. package/.docs/reference/datasets/deleteItem.md +27 -0
  355. package/.docs/reference/datasets/deleteItems.md +29 -0
  356. package/.docs/reference/datasets/get.md +31 -0
  357. package/.docs/reference/datasets/getDetails.md +47 -0
  358. package/.docs/reference/datasets/getExperiment.md +30 -0
  359. package/.docs/reference/datasets/getItem.md +33 -0
  360. package/.docs/reference/datasets/getItemHistory.md +31 -0
  361. package/.docs/reference/datasets/list.md +31 -0
  362. package/.docs/reference/datasets/listExperimentResults.md +39 -0
  363. package/.docs/reference/datasets/listExperiments.md +33 -0
  364. package/.docs/reference/datasets/listItems.md +46 -0
  365. package/.docs/reference/datasets/listVersions.md +33 -0
  366. package/.docs/reference/datasets/startExperiment.md +62 -0
  367. package/.docs/reference/datasets/startExperimentAsync.md +43 -0
  368. package/.docs/reference/datasets/update.md +48 -0
  369. package/.docs/reference/datasets/updateItem.md +38 -0
  370. package/.docs/reference/deployer/cloudflare.md +79 -0
  371. package/.docs/reference/deployer/netlify.md +80 -0
  372. package/.docs/reference/deployer/vercel.md +91 -0
  373. package/.docs/reference/deployer.md +100 -0
  374. package/.docs/reference/evals/answer-relevancy.md +105 -0
  375. package/.docs/reference/evals/answer-similarity.md +99 -0
  376. package/.docs/reference/evals/bias.md +120 -0
  377. package/.docs/reference/evals/completeness.md +136 -0
  378. package/.docs/reference/evals/content-similarity.md +101 -0
  379. package/.docs/reference/evals/context-precision.md +196 -0
  380. package/.docs/reference/evals/context-relevance.md +531 -0
  381. package/.docs/reference/evals/create-scorer.md +270 -0
  382. package/.docs/reference/evals/faithfulness.md +114 -0
  383. package/.docs/reference/evals/hallucination.md +213 -0
  384. package/.docs/reference/evals/keyword-coverage.md +128 -0
  385. package/.docs/reference/evals/mastra-scorer.md +123 -0
  386. package/.docs/reference/evals/noise-sensitivity.md +675 -0
  387. package/.docs/reference/evals/prompt-alignment.md +614 -0
  388. package/.docs/reference/evals/run-evals.md +179 -0
  389. package/.docs/reference/evals/scorer-utils.md +326 -0
  390. package/.docs/reference/evals/textual-difference.md +113 -0
  391. package/.docs/reference/evals/tone-consistency.md +119 -0
  392. package/.docs/reference/evals/tool-call-accuracy.md +533 -0
  393. package/.docs/reference/evals/toxicity.md +123 -0
  394. package/.docs/reference/harness/harness-class.md +708 -0
  395. package/.docs/reference/index.md +277 -0
  396. package/.docs/reference/logging/pino-logger.md +117 -0
  397. package/.docs/reference/mastra-code/createMastraCode.md +108 -0
  398. package/.docs/reference/memory/clone-utilities.md +199 -0
  399. package/.docs/reference/memory/cloneThread.md +130 -0
  400. package/.docs/reference/memory/createThread.md +68 -0
  401. package/.docs/reference/memory/deleteMessages.md +38 -0
  402. package/.docs/reference/memory/getThreadById.md +24 -0
  403. package/.docs/reference/memory/listThreads.md +145 -0
  404. package/.docs/reference/memory/memory-class.md +147 -0
  405. package/.docs/reference/memory/observational-memory.md +565 -0
  406. package/.docs/reference/memory/recall.md +91 -0
  407. package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
  408. package/.docs/reference/observability/tracing/configuration.md +178 -0
  409. package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
  410. package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
  411. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
  412. package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
  413. package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
  414. package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
  415. package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
  416. package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
  417. package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
  418. package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
  419. package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
  420. package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
  421. package/.docs/reference/observability/tracing/instances.md +107 -0
  422. package/.docs/reference/observability/tracing/interfaces.md +743 -0
  423. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
  424. package/.docs/reference/observability/tracing/spans.md +224 -0
  425. package/.docs/reference/processors/batch-parts-processor.md +61 -0
  426. package/.docs/reference/processors/language-detector.md +82 -0
  427. package/.docs/reference/processors/message-history-processor.md +85 -0
  428. package/.docs/reference/processors/moderation-processor.md +104 -0
  429. package/.docs/reference/processors/pii-detector.md +108 -0
  430. package/.docs/reference/processors/processor-interface.md +521 -0
  431. package/.docs/reference/processors/prompt-injection-detector.md +72 -0
  432. package/.docs/reference/processors/semantic-recall-processor.md +117 -0
  433. package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
  434. package/.docs/reference/processors/token-limiter-processor.md +115 -0
  435. package/.docs/reference/processors/tool-call-filter.md +85 -0
  436. package/.docs/reference/processors/tool-search-processor.md +111 -0
  437. package/.docs/reference/processors/unicode-normalizer.md +62 -0
  438. package/.docs/reference/processors/working-memory-processor.md +152 -0
  439. package/.docs/reference/rag/chunk.md +221 -0
  440. package/.docs/reference/rag/database-config.md +261 -0
  441. package/.docs/reference/rag/document.md +114 -0
  442. package/.docs/reference/rag/embeddings.md +92 -0
  443. package/.docs/reference/rag/extract-params.md +168 -0
  444. package/.docs/reference/rag/graph-rag.md +111 -0
  445. package/.docs/reference/rag/metadata-filters.md +216 -0
  446. package/.docs/reference/rag/rerank.md +75 -0
  447. package/.docs/reference/rag/rerankWithScorer.md +80 -0
  448. package/.docs/reference/server/create-route.md +262 -0
  449. package/.docs/reference/server/express-adapter.md +176 -0
  450. package/.docs/reference/server/fastify-adapter.md +90 -0
  451. package/.docs/reference/server/hono-adapter.md +162 -0
  452. package/.docs/reference/server/koa-adapter.md +127 -0
  453. package/.docs/reference/server/mastra-server.md +298 -0
  454. package/.docs/reference/server/register-api-route.md +249 -0
  455. package/.docs/reference/server/routes.md +306 -0
  456. package/.docs/reference/storage/cloudflare-d1.md +218 -0
  457. package/.docs/reference/storage/cloudflare.md +88 -0
  458. package/.docs/reference/storage/composite.md +235 -0
  459. package/.docs/reference/storage/convex.md +161 -0
  460. package/.docs/reference/storage/dynamodb.md +282 -0
  461. package/.docs/reference/storage/lance.md +131 -0
  462. package/.docs/reference/storage/libsql.md +135 -0
  463. package/.docs/reference/storage/mongodb.md +262 -0
  464. package/.docs/reference/storage/mssql.md +157 -0
  465. package/.docs/reference/storage/overview.md +121 -0
  466. package/.docs/reference/storage/postgresql.md +526 -0
  467. package/.docs/reference/storage/upstash.md +160 -0
  468. package/.docs/reference/streaming/ChunkType.md +292 -0
  469. package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
  470. package/.docs/reference/streaming/agents/stream.md +221 -0
  471. package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
  472. package/.docs/reference/streaming/workflows/observeStream.md +42 -0
  473. package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
  474. package/.docs/reference/streaming/workflows/stream.md +88 -0
  475. package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
  476. package/.docs/reference/templates/overview.md +194 -0
  477. package/.docs/reference/tools/create-tool.md +237 -0
  478. package/.docs/reference/tools/document-chunker-tool.md +89 -0
  479. package/.docs/reference/tools/graph-rag-tool.md +182 -0
  480. package/.docs/reference/tools/mcp-client.md +954 -0
  481. package/.docs/reference/tools/mcp-server.md +1271 -0
  482. package/.docs/reference/tools/vector-query-tool.md +459 -0
  483. package/.docs/reference/vectors/astra.md +121 -0
  484. package/.docs/reference/vectors/chroma.md +264 -0
  485. package/.docs/reference/vectors/convex.md +300 -0
  486. package/.docs/reference/vectors/couchbase.md +226 -0
  487. package/.docs/reference/vectors/duckdb.md +318 -0
  488. package/.docs/reference/vectors/elasticsearch.md +189 -0
  489. package/.docs/reference/vectors/lance.md +220 -0
  490. package/.docs/reference/vectors/libsql.md +305 -0
  491. package/.docs/reference/vectors/mongodb.md +295 -0
  492. package/.docs/reference/vectors/opensearch.md +99 -0
  493. package/.docs/reference/vectors/pg.md +408 -0
  494. package/.docs/reference/vectors/pinecone.md +168 -0
  495. package/.docs/reference/vectors/qdrant.md +222 -0
  496. package/.docs/reference/vectors/s3vectors.md +277 -0
  497. package/.docs/reference/vectors/turbopuffer.md +157 -0
  498. package/.docs/reference/vectors/upstash.md +294 -0
  499. package/.docs/reference/vectors/vectorize.md +147 -0
  500. package/.docs/reference/voice/azure.md +148 -0
  501. package/.docs/reference/voice/cloudflare.md +83 -0
  502. package/.docs/reference/voice/composite-voice.md +121 -0
  503. package/.docs/reference/voice/deepgram.md +79 -0
  504. package/.docs/reference/voice/elevenlabs.md +98 -0
  505. package/.docs/reference/voice/google-gemini-live.md +378 -0
  506. package/.docs/reference/voice/google.md +228 -0
  507. package/.docs/reference/voice/mastra-voice.md +311 -0
  508. package/.docs/reference/voice/murf.md +122 -0
  509. package/.docs/reference/voice/openai-realtime.md +203 -0
  510. package/.docs/reference/voice/openai.md +88 -0
  511. package/.docs/reference/voice/playai.md +80 -0
  512. package/.docs/reference/voice/sarvam.md +126 -0
  513. package/.docs/reference/voice/speechify.md +75 -0
  514. package/.docs/reference/voice/voice.addInstructions.md +55 -0
  515. package/.docs/reference/voice/voice.addTools.md +67 -0
  516. package/.docs/reference/voice/voice.answer.md +54 -0
  517. package/.docs/reference/voice/voice.close.md +51 -0
  518. package/.docs/reference/voice/voice.connect.md +94 -0
  519. package/.docs/reference/voice/voice.events.md +37 -0
  520. package/.docs/reference/voice/voice.getSpeakers.md +129 -0
  521. package/.docs/reference/voice/voice.listen.md +164 -0
  522. package/.docs/reference/voice/voice.off.md +54 -0
  523. package/.docs/reference/voice/voice.on.md +111 -0
  524. package/.docs/reference/voice/voice.send.md +65 -0
  525. package/.docs/reference/voice/voice.speak.md +157 -0
  526. package/.docs/reference/voice/voice.updateConfig.md +60 -0
  527. package/.docs/reference/workflows/run-methods/cancel.md +86 -0
  528. package/.docs/reference/workflows/run-methods/restart.md +33 -0
  529. package/.docs/reference/workflows/run-methods/resume.md +59 -0
  530. package/.docs/reference/workflows/run-methods/start.md +58 -0
  531. package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
  532. package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
  533. package/.docs/reference/workflows/run.md +59 -0
  534. package/.docs/reference/workflows/step.md +119 -0
  535. package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
  536. package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
  537. package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
  538. package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
  539. package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
  540. package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
  541. package/.docs/reference/workflows/workflow-methods/map.md +93 -0
  542. package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
  543. package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
  544. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
  545. package/.docs/reference/workflows/workflow-methods/then.md +21 -0
  546. package/.docs/reference/workflows/workflow.md +157 -0
  547. package/.docs/reference/workspace/e2b-sandbox.md +289 -0
  548. package/.docs/reference/workspace/filesystem.md +255 -0
  549. package/.docs/reference/workspace/gcs-filesystem.md +174 -0
  550. package/.docs/reference/workspace/local-filesystem.md +343 -0
  551. package/.docs/reference/workspace/local-sandbox.md +301 -0
  552. package/.docs/reference/workspace/s3-filesystem.md +175 -0
  553. package/.docs/reference/workspace/sandbox.md +87 -0
  554. package/.docs/reference/workspace/workspace-class.md +244 -0
  555. package/CHANGELOG.md +8 -0
  556. package/package.json +5 -5
@@ -0,0 +1,93 @@
1
+ # Workflow\.map()
2
+
3
+ The `.map()` method maps output data from a previous step to the input of a subsequent step, allowing you to transform data between steps.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ workflow.map(async ({ inputData }) => `${inputData.value} - map`)
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **mappingFunction:** (`(params: { inputData: any }) => any`): Function that transforms input data and returns the mapped result
14
+
15
+ ## Returns
16
+
17
+ **workflow:** (`Workflow`): The workflow instance for method chaining
18
+
19
+ ## Using `inputData`
20
+
21
+ Use `inputData` to access the full output of the previous step.
22
+
23
+ ```typescript
24
+ .then(step1)
25
+ .map(({ inputData }) => {
26
+ console.log(inputData);
27
+ })
28
+ ```
29
+
30
+ ## Using `getStepResult()`
31
+
32
+ Use `getStepResult()` to access the full output of a specific step by referencing the step's instance.
33
+
34
+ ```typescript
35
+ .then(step1)
36
+ .map(async ({ getStepResult }) => {
37
+ console.log(getStepResult(step1));
38
+ })
39
+ ```
40
+
41
+ ## Using `getInitData()`
42
+
43
+ Use `getInitData<typeof workflow>()` to access the initial input data provided to the workflow.
44
+
45
+ ```typescript
46
+ .then(step1)
47
+ .map(async ({ getInitData }) => {
48
+ console.log(getInitData<any>());
49
+ })
50
+ ```
51
+
52
+ ## Using `mapVariable()`
53
+
54
+ The object form of `.map()` provides an alternative declarative syntax for mapping fields. Instead of writing a function, you define an object where each key is a new field name and each value uses `mapVariable()` to extract data from previous steps or workflow input. Import `mapVariable()` from the workflows module:
55
+
56
+ ```typescript
57
+ import { mapVariable } from '@mastra/core/workflows'
58
+ ```
59
+
60
+ ### Extracting fields from step outputs
61
+
62
+ Use `mapVariable()` with `step` to extract a specific field from a step's output and map it to a new field name. The `path` parameter specifies which field to extract. In this example, the `value` field from `step1`'s output is extracted and mapped to a new field called `details`:
63
+
64
+ ```typescript
65
+ .then(step1)
66
+ .map({
67
+ details: mapVariable({
68
+ step: step1,
69
+ path: "value"
70
+ })
71
+ })
72
+ ```
73
+
74
+ ### Extracting fields from workflow input
75
+
76
+ Use `mapVariable()` with `initData` to extract a specific field from the workflow's initial input data. This is useful when you need to pass the original workflow input to a later step. In this example, the `value` field from the workflow's input is extracted and mapped to a field called `details`:
77
+
78
+ ```typescript
79
+ export const testWorkflow = createWorkflow({...});
80
+
81
+ testWorkflow
82
+ .then(step1)
83
+ .map({
84
+ details: mapVariable({
85
+ initData: testWorkflow,
86
+ path: "value"
87
+ })
88
+ })
89
+ ```
90
+
91
+ ## Related
92
+
93
+ - [Input Data Mapping](https://mastra.ai/docs/workflows/control-flow)
@@ -0,0 +1,21 @@
1
+ # Workflow\.parallel()
2
+
3
+ The `.parallel()` method executes multiple steps in parallel.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ workflow.parallel([step1, step2])
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **steps:** (`Step[]`): The step instances to execute in parallel
14
+
15
+ ## Returns
16
+
17
+ **workflow:** (`Workflow`): The workflow instance for method chaining
18
+
19
+ ## Related
20
+
21
+ - [Simultaneous steps with parallel](https://mastra.ai/docs/workflows/control-flow)
@@ -0,0 +1,35 @@
1
+ # Workflow\.sleep()
2
+
3
+ The `.sleep()` method pauses execution for a specified number of milliseconds. It accepts either a static number or a callback function for dynamic delays.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ workflow.sleep(5000)
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **milliseconds:** (`number | ((context: { inputData: any }) => number | Promise<number>)`): The number of milliseconds to pause execution, or a callback that returns the delay
14
+
15
+ ## Returns
16
+
17
+ **workflow:** (`Workflow`): The workflow instance for method chaining
18
+
19
+ ## Extended usage example
20
+
21
+ ```typescript
22
+ import { createWorkflow, createStep } from "@mastra/core/workflows";
23
+
24
+ const step1 = createStep({...});
25
+ const step2 = createStep({...});
26
+
27
+ export const testWorkflow = createWorkflow({...})
28
+ .then(step1)
29
+ .sleep(async ({ inputData }) => {
30
+ const { delayInMs } = inputData;
31
+ return delayInMs;
32
+ })
33
+ .then(step2)
34
+ .commit();
35
+ ```
@@ -0,0 +1,35 @@
1
+ # Workflow\.sleepUntil()
2
+
3
+ The `.sleepUntil()` method pauses execution until a specified date.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ workflow.sleepUntil(new Date(Date.now() + 5000))
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **dateOrCallback:** (`Date | ((params: ExecuteFunctionParams) => Promise<Date>)`): Either a Date object or a callback function that returns a Date. The callback receives execution context and can compute the target time dynamically based on input data.
14
+
15
+ ## Returns
16
+
17
+ **workflow:** (`Workflow`): The workflow instance for method chaining
18
+
19
+ ## Extended usage example
20
+
21
+ ```typescript
22
+ import { createWorkflow, createStep } from "@mastra/core/workflows";
23
+
24
+ const step1 = createStep({...});
25
+ const step2 = createStep({...});
26
+
27
+ export const testWorkflow = createWorkflow({...})
28
+ .then(step1)
29
+ .sleepUntil(async ({ inputData }) => {
30
+ const { delayInMs } = inputData;
31
+ return new Date(Date.now() + delayInMs);
32
+ })
33
+ .then(step2)
34
+ .commit();
35
+ ```
@@ -0,0 +1,21 @@
1
+ # Workflow\.then()
2
+
3
+ The `.then()` method creates a sequential dependency between workflow steps, ensuring steps execute in a specific order.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ workflow.then(step1).then(step2)
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **step:** (`Step`): The step instance that should execute after the previous step completes
14
+
15
+ ## Returns
16
+
17
+ **workflow:** (`NewWorkflow`): The workflow instance for method chaining
18
+
19
+ ## Related
20
+
21
+ - [Control flow](https://mastra.ai/docs/workflows/control-flow)
@@ -0,0 +1,157 @@
1
+ # Workflow Class
2
+
3
+ The `Workflow` class enables you to create state machines for complex sequences of operations with conditional branching and data validation.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { createWorkflow } from '@mastra/core/workflows'
9
+ import { z } from 'zod'
10
+
11
+ export const workflow = createWorkflow({
12
+ id: 'test-workflow',
13
+ inputSchema: z.object({
14
+ value: z.string(),
15
+ }),
16
+ outputSchema: z.object({
17
+ value: z.string(),
18
+ }),
19
+ })
20
+ ```
21
+
22
+ ## Constructor parameters
23
+
24
+ **id:** (`string`): Unique identifier for the workflow
25
+
26
+ **inputSchema:** (`z.ZodType<any>`): Zod schema defining the input structure for the workflow
27
+
28
+ **outputSchema:** (`z.ZodType<any>`): Zod schema defining the output structure for the workflow
29
+
30
+ **stateSchema?:** (`z.ZodObject<any>`): Optional Zod schema for the workflow state. Automatically injected when using Mastra's state system. If not specified, type is 'any'.
31
+
32
+ **requestContextSchema?:** (`z.ZodType<any>`): Zod schema for validating request context values. When provided, the context is validated at the start of run.start(), throwing an error if validation fails.
33
+
34
+ **options?:** (`WorkflowOptions`): Optional options for the workflow
35
+
36
+ ### WorkflowOptions
37
+
38
+ **tracingPolicy?:** (`TracingPolicy`): Optional tracing policy for the workflow
39
+
40
+ **validateInputs?:** (`boolean`): Optional flag to determine whether to validate the workflow inputs. This also applies default values from zodSchemas on the workflow/step input/resume data. If input/resume data validation fails on start/resume, the workflow will not start/resume, it throws an error instead. If input data validation fails on a step execution, the step fails, causing the workflow to fail and the error is returned. (Default: `true`)
41
+
42
+ **shouldPersistSnapshot?:** (`(params: { stepResults: Record<string, StepResult<any, any, any, any>>; workflowStatus: WorkflowRunStatus }) => boolean`): Optional flag to determine whether to persist the workflow snapshot (Default: `() => true`)
43
+
44
+ **onFinish?:** (`(result: WorkflowFinishCallbackResult) => void | Promise<void>`): Callback invoked when workflow completes with any status (success, failed, suspended, tripwire). Receives the workflow result including status, output, error, and step results. Errors thrown in this callback are caught and logged, not propagated.
45
+
46
+ **onError?:** (`(errorInfo: WorkflowErrorCallbackInfo) => void | Promise<void>`): Callback invoked only when workflow fails (failed or tripwire status). Receives error details and step results. Errors thrown in this callback are caught and logged, not propagated.
47
+
48
+ ### WorkflowFinishCallbackResult
49
+
50
+ The result object passed to `onFinish` callbacks.
51
+
52
+ **status:** (`WorkflowRunStatus`): The workflow status: 'success', 'failed', 'suspended', or 'tripwire'
53
+
54
+ **result?:** (`any`): The workflow output (when status is 'success')
55
+
56
+ **error?:** (`SerializedError`): Error details (when status is 'failed')
57
+
58
+ **steps:** (`Record<string, StepResult>`): Individual step results with their status and output
59
+
60
+ **tripwire?:** (`StepTripwireInfo`): Tripwire information (when status is 'tripwire')
61
+
62
+ **runId:** (`string`): The unique identifier for this workflow run
63
+
64
+ **workflowId:** (`string`): The workflow's identifier
65
+
66
+ **resourceId?:** (`string`): Optional resource identifier (if provided when creating the run)
67
+
68
+ **getInitData:** (`() => any`): Function that returns the initial input data passed to the workflow
69
+
70
+ **mastra?:** (`Mastra`): The Mastra instance (if workflow is registered with Mastra)
71
+
72
+ **requestContext:** (`RequestContext`): Request-scoped context data
73
+
74
+ **logger:** (`IMastraLogger`): The workflow's logger instance
75
+
76
+ **state:** (`Record<string, any>`): The workflow's current state object
77
+
78
+ ### WorkflowErrorCallbackInfo
79
+
80
+ The error info object passed to `onError` callbacks.
81
+
82
+ **status:** (`'failed' | 'tripwire'`): The workflow status (either 'failed' or 'tripwire')
83
+
84
+ **error?:** (`SerializedError`): Error details
85
+
86
+ **steps:** (`Record<string, StepResult>`): Individual step results with their status and output
87
+
88
+ **tripwire?:** (`StepTripwireInfo`): Tripwire information (when status is 'tripwire')
89
+
90
+ **runId:** (`string`): The unique identifier for this workflow run
91
+
92
+ **workflowId:** (`string`): The workflow's identifier
93
+
94
+ **resourceId?:** (`string`): Optional resource identifier (if provided when creating the run)
95
+
96
+ **getInitData:** (`() => any`): Function that returns the initial input data passed to the workflow
97
+
98
+ **mastra?:** (`Mastra`): The Mastra instance (if workflow is registered with Mastra)
99
+
100
+ **requestContext:** (`RequestContext`): Request-scoped context data
101
+
102
+ **logger:** (`IMastraLogger`): The workflow's logger instance
103
+
104
+ **state:** (`Record<string, any>`): The workflow's current state object
105
+
106
+ ## Running with initial state
107
+
108
+ When starting a workflow run, you can pass `initialState` to set the starting values for the workflow's state:
109
+
110
+ ```typescript
111
+ const run = await workflow.createRun()
112
+
113
+ const result = await run.start({
114
+ inputData: { value: 'hello' },
115
+ initialState: {
116
+ counter: 0,
117
+ items: [],
118
+ },
119
+ })
120
+ ```
121
+
122
+ The `initialState` object should match the structure defined in the workflow's `stateSchema`. See [Workflow State](https://mastra.ai/docs/workflows/workflow-state) for more details.
123
+
124
+ ## Workflow status
125
+
126
+ A workflow's `status` indicates its current execution state. The possible values are:
127
+
128
+ **success:** (`string`): All steps finished executing successfully, with a valid result output
129
+
130
+ **failed:** (`string`): Workflow encountered an error during execution, with error details available
131
+
132
+ **suspended:** (`string`): Workflow execution is paused waiting for resume, with suspended step information
133
+
134
+ **tripwire:** (`string`): Workflow was terminated by a processor tripwire. This occurs when an agent step within the workflow triggers a tripwire (e.g., content was blocked by a guardrail). The tripwire information is available on the result.
135
+
136
+ ### Handling tripwire status
137
+
138
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
139
+
140
+ ```typescript
141
+ const run = await workflow.createRun()
142
+ const result = await run.start({ inputData: { message: 'Hello' } })
143
+
144
+ if (result.status === 'tripwire') {
145
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason)
146
+ console.log('Processor ID:', result.tripwire?.processorId)
147
+ console.log('Retry requested:', result.tripwire?.retry)
148
+ }
149
+ ```
150
+
151
+ This is distinct from `status: 'failed'` which indicates an unexpected error. A tripwire status means a processor intentionally stopped execution (e.g., for content moderation).
152
+
153
+ ## Related
154
+
155
+ - [Step Class](https://mastra.ai/reference/workflows/step)
156
+ - [Workflow State](https://mastra.ai/docs/workflows/workflow-state)
157
+ - [Control flow](https://mastra.ai/docs/workflows/control-flow)
@@ -0,0 +1,289 @@
1
+ # E2BSandbox
2
+
3
+ Executes commands in isolated [E2B](https://e2b.dev) cloud sandboxes. Provides secure, ephemeral environments with support for mounting cloud storage.
4
+
5
+ > **Info:** For interface details, see [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox).
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @mastra/e2b
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Add an `E2BSandbox` to a workspace and assign it to an agent:
16
+
17
+ ```typescript
18
+ import { Agent } from '@mastra/core/agent'
19
+ import { Workspace } from '@mastra/core/workspace'
20
+ import { E2BSandbox } from '@mastra/e2b'
21
+
22
+ const workspace = new Workspace({
23
+ sandbox: new E2BSandbox({
24
+ id: 'dev-sandbox',
25
+ timeout: 60_000, // 60 second timeout (default: 5 minutes)
26
+ }),
27
+ })
28
+
29
+ const agent = new Agent({
30
+ name: 'dev-agent',
31
+ model: 'anthropic/claude-opus-4-5',
32
+ workspace,
33
+ })
34
+ ```
35
+
36
+ ## Constructor parameters
37
+
38
+ **apiKey?:** (`string`): E2B API key. Falls back to E2B\_API\_KEY environment variable.
39
+
40
+ **timeout?:** (`number`): Execution timeout in milliseconds (Default: `300000 (5 minutes)`)
41
+
42
+ **template?:** (`string | TemplateBuilder | function`): Sandbox template specification. Can be a template ID string, a TemplateBuilder, or a function that customizes the default template.
43
+
44
+ **env?:** (`Record<string, string>`): Environment variables to set in the sandbox
45
+
46
+ **id?:** (`string`): Unique identifier for this sandbox instance (Default: `Auto-generated`)
47
+
48
+ **domain?:** (`string`): Domain for self-hosted E2B. Falls back to E2B\_DOMAIN env var.
49
+
50
+ **apiUrl?:** (`string`): API URL for self-hosted E2B. Falls back to E2B\_API\_URL env var.
51
+
52
+ **accessToken?:** (`string`): Access token for authentication. Falls back to E2B\_ACCESS\_TOKEN env var.
53
+
54
+ ## Properties
55
+
56
+ **id:** (`string`): Sandbox instance identifier
57
+
58
+ **name:** (`string`): Provider name ('E2BSandbox')
59
+
60
+ **provider:** (`string`): Provider identifier ('e2b')
61
+
62
+ **status:** (`ProviderStatus`): 'pending' | 'initializing' | 'ready' | 'error'
63
+
64
+ **supportsMounting:** (`boolean`): Always true - E2B sandboxes support mounting cloud filesystems
65
+
66
+ ## Methods
67
+
68
+ ### `start()`
69
+
70
+ Initialize and start the sandbox. Creates the E2B sandbox instance and mounts any configured filesystems.
71
+
72
+ ```typescript
73
+ await sandbox.start()
74
+ ```
75
+
76
+ Called automatically on first command execution or by `workspace.init()`.
77
+
78
+ ### `stop()`
79
+
80
+ Stop the sandbox and release resources.
81
+
82
+ ```typescript
83
+ await sandbox.stop()
84
+ ```
85
+
86
+ ### `destroy()`
87
+
88
+ Clean up sandbox resources completely.
89
+
90
+ ```typescript
91
+ await sandbox.destroy()
92
+ ```
93
+
94
+ ### `executeCommand(command, args?, options?)`
95
+
96
+ Execute a shell command in the sandbox.
97
+
98
+ ```typescript
99
+ const result = await sandbox.executeCommand('ls', ['-la'])
100
+ const npmResult = await sandbox.executeCommand('npm', ['install', 'lodash'], {
101
+ timeout: 60000,
102
+ cwd: '/app',
103
+ })
104
+ ```
105
+
106
+ **Parameters:**
107
+
108
+ **command:** (`string`): Command to execute
109
+
110
+ **args?:** (`string[]`): Command arguments
111
+
112
+ **options.timeout?:** (`number`): Execution timeout in milliseconds
113
+
114
+ **options.cwd?:** (`string`): Working directory for the command
115
+
116
+ **options.env?:** (`Record<string, string>`): Additional environment variables
117
+
118
+ **options.onStdout?:** (`(data: string) => void`): Callback for stdout streaming
119
+
120
+ **options.onStderr?:** (`(data: string) => void`): Callback for stderr streaming
121
+
122
+ ### `canMount(filesystem)`
123
+
124
+ Check if a filesystem can be mounted into this sandbox.
125
+
126
+ ```typescript
127
+ const canMount = sandbox.canMount(s3Filesystem)
128
+ // true for S3Filesystem and GCSFilesystem
129
+ ```
130
+
131
+ ### `mount(filesystem, mountPath)`
132
+
133
+ Mount a filesystem into the sandbox at the specified path.
134
+
135
+ ```typescript
136
+ await sandbox.mount(s3Filesystem, '/mnt/data')
137
+ ```
138
+
139
+ ### `unmount(mountPath)`
140
+
141
+ Unmount a previously mounted filesystem.
142
+
143
+ ```typescript
144
+ await sandbox.unmount('/mnt/data')
145
+ ```
146
+
147
+ ### `getInfo()`
148
+
149
+ Get sandbox status and resource information.
150
+
151
+ ```typescript
152
+ const info = await sandbox.getInfo()
153
+ // { id: '...', name: 'E2BSandbox', provider: 'e2b', status: 'ready', supportsMounting: true }
154
+ ```
155
+
156
+ ## Mounting Cloud Storage
157
+
158
+ E2B sandboxes can mount S3 or GCS filesystems, making cloud storage accessible as local directories inside the sandbox. This is useful for:
159
+
160
+ - Processing large datasets stored in cloud buckets
161
+ - Writing output files directly to cloud storage
162
+ - Sharing data between sandbox sessions
163
+
164
+ ### Using the mounts config
165
+
166
+ The simplest way to mount filesystems is through the workspace `mounts` config:
167
+
168
+ ```typescript
169
+ import { Workspace } from '@mastra/core/workspace'
170
+ import { S3Filesystem } from '@mastra/s3'
171
+ import { GCSFilesystem } from '@mastra/gcs'
172
+ import { E2BSandbox } from '@mastra/e2b'
173
+
174
+ const workspace = new Workspace({
175
+ mounts: {
176
+ '/s3-data': new S3Filesystem({
177
+ bucket: 'my-s3-bucket',
178
+ region: 'us-east-1',
179
+ accessKeyId: process.env.AWS_ACCESS_KEY_ID,
180
+ secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
181
+ }),
182
+ '/gcs-data': new GCSFilesystem({
183
+ bucket: 'my-gcs-bucket',
184
+ projectId: 'my-project',
185
+ credentials: JSON.parse(process.env.GCS_SERVICE_ACCOUNT_KEY),
186
+ }),
187
+ },
188
+ sandbox: new E2BSandbox({ id: 'dev-sandbox' }),
189
+ })
190
+ ```
191
+
192
+ When the sandbox starts, the filesystems are automatically mounted at the specified paths. Code running in the sandbox can then access files at `/s3-data` and `/gcs-data` as if they were local directories.
193
+
194
+ ### How mounting works
195
+
196
+ E2B sandboxes use FUSE (Filesystem in Userspace) to mount cloud storage:
197
+
198
+ - **S3/R2**: Mounted via [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse)
199
+ - **GCS**: Mounted via [gcsfuse](https://github.com/GoogleCloudPlatform/gcsfuse)
200
+
201
+ The E2B sandbox automatically installs the required FUSE tools when mounting is used. For best performance, pre-build a custom template with the tools installed.
202
+
203
+ ## Custom Templates
204
+
205
+ By default, when no template is specified, E2BSandbox automatically builds a template with `s3fs` installed for S3 mounting support. This template is cached and reused across sandbox instances.
206
+
207
+ For GCS mounting, `gcsfuse` is automatically installed at mount time if not already present. For additional tools or faster cold starts, use custom templates.
208
+
209
+ ### Using an existing template
210
+
211
+ If you have a pre-built template, pass its ID:
212
+
213
+ ```typescript
214
+ const workspace = new Workspace({
215
+ sandbox: new E2BSandbox({
216
+ id: 'dev-sandbox',
217
+ template: 'my-custom-template',
218
+ }),
219
+ })
220
+ ```
221
+
222
+ ### Customizing the default template
223
+
224
+ Pass a function to customize the default mountable template. The function receives a `TemplateBuilder` and should return the modified template:
225
+
226
+ ```typescript
227
+ const workspace = new Workspace({
228
+ sandbox: new E2BSandbox({
229
+ template: base =>
230
+ base
231
+ .aptInstall(['ffmpeg', 'imagemagick', 'poppler-utils'])
232
+ .pipInstall(['pandas', 'numpy'])
233
+ .npmInstall(['sharp']),
234
+ }),
235
+ })
236
+ ```
237
+
238
+ The template builder supports method chaining with operations like:
239
+
240
+ - `aptInstall(packages)` - Install system packages
241
+ - `pipInstall(packages)` - Install Python packages
242
+ - `npmInstall(packages)` - Install Node.js packages
243
+ - `runCmd(command)` - Run shell commands
244
+ - `setEnvs(vars)` - Set environment variables
245
+ - `copy(src, dest)` - Copy files into the template
246
+
247
+ See [E2B's template documentation](https://e2b.dev/docs/template/defining-template) for the full list of available methods.
248
+
249
+ ### Pre-building templates
250
+
251
+ The default template is built on first use and cached. For faster cold starts or to include GCS support, you can pre-build a template:
252
+
253
+ ```typescript
254
+ import { createDefaultMountableTemplate } from '@mastra/e2b'
255
+ import { Template } from 'e2b'
256
+
257
+ // Get the default mountable template (includes s3fs)
258
+ const { template, id } = createDefaultMountableTemplate()
259
+
260
+ // Build and save to E2B
261
+ const result = await Template.build(template, id)
262
+ console.log('Template ID:', result.templateId)
263
+
264
+ // Use this ID in your E2BSandbox config for instant startup
265
+ const sandbox = new E2BSandbox({
266
+ template: result.templateId,
267
+ })
268
+ ```
269
+
270
+ For faster GCS cold starts, pre-install `gcsfuse` in a custom template:
271
+
272
+ ```typescript
273
+ const workspace = new Workspace({
274
+ sandbox: new E2BSandbox({
275
+ id: 'dev-sandbox',
276
+ template: base => base.aptInstall(['gcsfuse']),
277
+ }),
278
+ })
279
+ ```
280
+
281
+ This is optional—`gcsfuse` is installed automatically at mount time if not present.
282
+
283
+ ## Related
284
+
285
+ - [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
286
+ - [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
287
+ - [S3Filesystem reference](https://mastra.ai/reference/workspace/s3-filesystem)
288
+ - [GCSFilesystem reference](https://mastra.ai/reference/workspace/gcs-filesystem)
289
+ - [Workspace overview](https://mastra.ai/docs/workspace/overview)