@mastra/core 1.7.0 → 1.8.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 (498) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/dist/agent/agent-legacy.d.ts +15 -0
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent.d.ts +7 -0
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.types.d.ts +311 -2
  7. package/dist/agent/agent.types.d.ts.map +1 -1
  8. package/dist/agent/index.cjs +13 -13
  9. package/dist/agent/index.d.ts +3 -1
  10. package/dist/agent/index.d.ts.map +1 -1
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +18 -18
  13. package/dist/agent/message-list/index.js +1 -1
  14. package/dist/agent/message-list/merge/MessageMerger.d.ts.map +1 -1
  15. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  18. package/dist/{chunk-A72NTLFT.cjs → chunk-2IO5Q7OZ.cjs} +7 -7
  19. package/dist/{chunk-A72NTLFT.cjs.map → chunk-2IO5Q7OZ.cjs.map} +1 -1
  20. package/dist/{chunk-DFCRXDVK.js → chunk-2KHPZJNU.js} +10 -8
  21. package/dist/chunk-2KHPZJNU.js.map +1 -0
  22. package/dist/{chunk-R4N65TLG.js → chunk-2R5MQMSA.js} +35 -16
  23. package/dist/chunk-2R5MQMSA.js.map +1 -0
  24. package/dist/{chunk-ZSBM2SVU.js → chunk-4H5F6AFP.js} +1064 -226
  25. package/dist/chunk-4H5F6AFP.js.map +1 -0
  26. package/dist/{chunk-BQHWJLXU.js → chunk-63G75DJE.js} +9 -3
  27. package/dist/chunk-63G75DJE.js.map +1 -0
  28. package/dist/{chunk-SBOHDNIZ.cjs → chunk-6GSWC5ZA.cjs} +2 -2
  29. package/dist/{chunk-SBOHDNIZ.cjs.map → chunk-6GSWC5ZA.cjs.map} +1 -1
  30. package/dist/{chunk-QTAS3HND.cjs → chunk-6Q2UD3XF.cjs} +21 -14
  31. package/dist/chunk-6Q2UD3XF.cjs.map +1 -0
  32. package/dist/{chunk-GPJGPARM.js → chunk-DTPR3JAM.js} +2 -2
  33. package/dist/{chunk-GPJGPARM.js.map → chunk-DTPR3JAM.js.map} +1 -1
  34. package/dist/{chunk-NN26FSKL.js → chunk-FHJ2KIU5.js} +3 -3
  35. package/dist/{chunk-NN26FSKL.js.map → chunk-FHJ2KIU5.js.map} +1 -1
  36. package/dist/{chunk-RABITNTG.cjs → chunk-HWG7NPJA.cjs} +55 -55
  37. package/dist/{chunk-RABITNTG.cjs.map → chunk-HWG7NPJA.cjs.map} +1 -1
  38. package/dist/{chunk-HB6T4554.cjs → chunk-KH3G65IS.cjs} +10 -8
  39. package/dist/chunk-KH3G65IS.cjs.map +1 -0
  40. package/dist/{chunk-YQG7NBPR.cjs → chunk-KZ4IKNPN.cjs} +25 -23
  41. package/dist/chunk-KZ4IKNPN.cjs.map +1 -0
  42. package/dist/{chunk-6DUTLERJ.js → chunk-MRV5NCPC.js} +3 -3
  43. package/dist/{chunk-6DUTLERJ.js.map → chunk-MRV5NCPC.js.map} +1 -1
  44. package/dist/{chunk-O7PZ4VOO.cjs → chunk-N3ROEJG4.cjs} +12 -10
  45. package/dist/chunk-N3ROEJG4.cjs.map +1 -0
  46. package/dist/{chunk-7EXW4AAG.js → chunk-NXKI2L4X.js} +6 -4
  47. package/dist/chunk-NXKI2L4X.js.map +1 -0
  48. package/dist/{chunk-QWTB53GS.js → chunk-OSEPGSLN.js} +6 -6
  49. package/dist/{chunk-QWTB53GS.js.map → chunk-OSEPGSLN.js.map} +1 -1
  50. package/dist/{chunk-6OXW5E2O.js → chunk-PI7ONENO.js} +4 -4
  51. package/dist/{chunk-6OXW5E2O.js.map → chunk-PI7ONENO.js.map} +1 -1
  52. package/dist/{chunk-KUXNBWN7.js → chunk-Q4MV4XKX.js} +8 -6
  53. package/dist/chunk-Q4MV4XKX.js.map +1 -0
  54. package/dist/{chunk-7UAJ6LMR.cjs → chunk-QKQGKEN7.cjs} +1078 -241
  55. package/dist/chunk-QKQGKEN7.cjs.map +1 -0
  56. package/dist/{chunk-IC5OUWKJ.js → chunk-SP7P6Z4L.js} +19 -2
  57. package/dist/chunk-SP7P6Z4L.js.map +1 -0
  58. package/dist/{chunk-QDH6MVJ7.cjs → chunk-TGUDI64A.cjs} +14 -14
  59. package/dist/{chunk-QDH6MVJ7.cjs.map → chunk-TGUDI64A.cjs.map} +1 -1
  60. package/dist/{chunk-EAZ6YDCQ.cjs → chunk-U3HBG2GU.cjs} +9 -2
  61. package/dist/chunk-U3HBG2GU.cjs.map +1 -0
  62. package/dist/{chunk-6QBN6MZY.cjs → chunk-VAKB5EXJ.cjs} +42 -23
  63. package/dist/chunk-VAKB5EXJ.cjs.map +1 -0
  64. package/dist/{chunk-QSHV7GPT.js → chunk-VBPU6CLZ.js} +3808 -3026
  65. package/dist/chunk-VBPU6CLZ.js.map +1 -0
  66. package/dist/{chunk-2X66GWF5.cjs → chunk-VTVCMIAI.cjs} +3905 -3121
  67. package/dist/chunk-VTVCMIAI.cjs.map +1 -0
  68. package/dist/{chunk-PHHJLGZU.cjs → chunk-XNWF6CYR.cjs} +6 -6
  69. package/dist/{chunk-PHHJLGZU.cjs.map → chunk-XNWF6CYR.cjs.map} +1 -1
  70. package/dist/{chunk-T6GAM3SQ.js → chunk-ZRPTWYWJ.js} +18 -11
  71. package/dist/chunk-ZRPTWYWJ.js.map +1 -0
  72. package/dist/{chunk-DB7U2C5B.cjs → chunk-ZXOWG32X.cjs} +19 -2
  73. package/dist/chunk-ZXOWG32X.cjs.map +1 -0
  74. package/dist/datasets/experiment/index.d.ts.map +1 -1
  75. package/dist/datasets/experiment/scorer.d.ts +1 -1
  76. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  77. package/dist/datasets/index.cjs +17 -17
  78. package/dist/datasets/index.js +2 -2
  79. package/dist/docs/SKILL.md +300 -0
  80. package/dist/docs/assets/SOURCE_MAP.json +1423 -0
  81. package/dist/docs/references/docs-agents-adding-voice.md +349 -0
  82. package/dist/docs/references/docs-agents-agent-approval.md +558 -0
  83. package/dist/docs/references/docs-agents-agent-memory.md +209 -0
  84. package/dist/docs/references/docs-agents-guardrails.md +374 -0
  85. package/dist/docs/references/docs-agents-network-approval.md +275 -0
  86. package/dist/docs/references/docs-agents-networks.md +299 -0
  87. package/dist/docs/references/docs-agents-overview.md +304 -0
  88. package/dist/docs/references/docs-agents-processors.md +622 -0
  89. package/dist/docs/references/docs-agents-structured-output.md +273 -0
  90. package/dist/docs/references/docs-agents-supervisor-agents.md +304 -0
  91. package/dist/docs/references/docs-agents-using-tools.md +214 -0
  92. package/dist/docs/references/docs-evals-custom-scorers.md +519 -0
  93. package/dist/docs/references/docs-evals-overview.md +141 -0
  94. package/dist/docs/references/docs-evals-running-in-ci.md +124 -0
  95. package/dist/docs/references/docs-memory-memory-processors.md +314 -0
  96. package/dist/docs/references/docs-memory-observational-memory.md +248 -0
  97. package/dist/docs/references/docs-memory-overview.md +45 -0
  98. package/dist/docs/references/docs-memory-semantic-recall.md +272 -0
  99. package/dist/docs/references/docs-memory-storage.md +261 -0
  100. package/dist/docs/references/docs-memory-working-memory.md +400 -0
  101. package/dist/docs/references/docs-observability-datasets-overview.md +198 -0
  102. package/dist/docs/references/docs-observability-datasets-running-experiments.md +274 -0
  103. package/dist/docs/references/docs-observability-logging.md +99 -0
  104. package/dist/docs/references/docs-observability-overview.md +70 -0
  105. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +209 -0
  106. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +272 -0
  107. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +111 -0
  108. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +127 -0
  109. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +187 -0
  110. package/dist/docs/references/docs-observability-tracing-exporters-default.md +209 -0
  111. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +100 -0
  112. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +213 -0
  113. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +198 -0
  114. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +476 -0
  115. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +148 -0
  116. package/dist/docs/references/docs-observability-tracing-overview.md +1112 -0
  117. package/dist/docs/references/docs-rag-chunking-and-embedding.md +183 -0
  118. package/dist/docs/references/docs-rag-graph-rag.md +215 -0
  119. package/dist/docs/references/docs-rag-overview.md +72 -0
  120. package/dist/docs/references/docs-rag-retrieval.md +515 -0
  121. package/dist/docs/references/docs-rag-vector-databases.md +645 -0
  122. package/dist/docs/references/docs-server-auth-auth0.md +220 -0
  123. package/dist/docs/references/docs-server-auth-clerk.md +132 -0
  124. package/dist/docs/references/docs-server-auth-composite-auth.md +234 -0
  125. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +513 -0
  126. package/dist/docs/references/docs-server-auth-firebase.md +272 -0
  127. package/dist/docs/references/docs-server-auth-jwt.md +110 -0
  128. package/dist/docs/references/docs-server-auth-simple-auth.md +180 -0
  129. package/dist/docs/references/docs-server-auth-supabase.md +117 -0
  130. package/dist/docs/references/docs-server-auth-workos.md +186 -0
  131. package/dist/docs/references/docs-server-custom-adapters.md +378 -0
  132. package/dist/docs/references/docs-server-custom-api-routes.md +267 -0
  133. package/dist/docs/references/docs-server-mastra-client.md +243 -0
  134. package/dist/docs/references/docs-server-mastra-server.md +71 -0
  135. package/dist/docs/references/docs-server-middleware.md +225 -0
  136. package/dist/docs/references/docs-server-request-context.md +471 -0
  137. package/dist/docs/references/docs-streaming-events.md +237 -0
  138. package/dist/docs/references/docs-streaming-tool-streaming.md +175 -0
  139. package/dist/docs/references/docs-streaming-workflow-streaming.md +109 -0
  140. package/dist/docs/references/docs-voice-overview.md +959 -0
  141. package/dist/docs/references/docs-voice-speech-to-speech.md +102 -0
  142. package/dist/docs/references/docs-voice-speech-to-text.md +79 -0
  143. package/dist/docs/references/docs-voice-text-to-speech.md +83 -0
  144. package/dist/docs/references/docs-workflows-agents-and-tools.md +166 -0
  145. package/dist/docs/references/docs-workflows-control-flow.md +822 -0
  146. package/dist/docs/references/docs-workflows-error-handling.md +360 -0
  147. package/dist/docs/references/docs-workflows-human-in-the-loop.md +215 -0
  148. package/dist/docs/references/docs-workflows-overview.md +370 -0
  149. package/dist/docs/references/docs-workflows-snapshots.md +238 -0
  150. package/dist/docs/references/docs-workflows-suspend-and-resume.md +205 -0
  151. package/dist/docs/references/docs-workflows-time-travel.md +309 -0
  152. package/dist/docs/references/docs-workflows-workflow-state.md +181 -0
  153. package/dist/docs/references/docs-workspace-filesystem.md +164 -0
  154. package/dist/docs/references/docs-workspace-overview.md +239 -0
  155. package/dist/docs/references/docs-workspace-sandbox.md +63 -0
  156. package/dist/docs/references/docs-workspace-search.md +243 -0
  157. package/dist/docs/references/docs-workspace-skills.md +169 -0
  158. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +140 -0
  159. package/dist/docs/references/reference-agents-agent.md +141 -0
  160. package/dist/docs/references/reference-agents-generate.md +186 -0
  161. package/dist/docs/references/reference-agents-generateLegacy.md +173 -0
  162. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
  163. package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
  164. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
  165. package/dist/docs/references/reference-agents-getDescription.md +21 -0
  166. package/dist/docs/references/reference-agents-getInstructions.md +34 -0
  167. package/dist/docs/references/reference-agents-getLLM.md +37 -0
  168. package/dist/docs/references/reference-agents-getMemory.md +34 -0
  169. package/dist/docs/references/reference-agents-getModel.md +34 -0
  170. package/dist/docs/references/reference-agents-getTools.md +29 -0
  171. package/dist/docs/references/reference-agents-getVoice.md +34 -0
  172. package/dist/docs/references/reference-agents-listAgents.md +35 -0
  173. package/dist/docs/references/reference-agents-listScorers.md +34 -0
  174. package/dist/docs/references/reference-agents-listTools.md +34 -0
  175. package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
  176. package/dist/docs/references/reference-agents-network.md +133 -0
  177. package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
  178. package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
  179. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +231 -0
  180. package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
  181. package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
  182. package/dist/docs/references/reference-auth-auth0.md +73 -0
  183. package/dist/docs/references/reference-auth-clerk.md +36 -0
  184. package/dist/docs/references/reference-auth-firebase.md +80 -0
  185. package/dist/docs/references/reference-auth-jwt.md +26 -0
  186. package/dist/docs/references/reference-auth-supabase.md +33 -0
  187. package/dist/docs/references/reference-auth-workos.md +84 -0
  188. package/dist/docs/references/reference-client-js-agents.md +437 -0
  189. package/dist/docs/references/reference-configuration.md +752 -0
  190. package/dist/docs/references/reference-core-addGateway.md +42 -0
  191. package/dist/docs/references/reference-core-getAgent.md +21 -0
  192. package/dist/docs/references/reference-core-getAgentById.md +21 -0
  193. package/dist/docs/references/reference-core-getDeployer.md +22 -0
  194. package/dist/docs/references/reference-core-getGateway.md +38 -0
  195. package/dist/docs/references/reference-core-getGatewayById.md +41 -0
  196. package/dist/docs/references/reference-core-getLogger.md +22 -0
  197. package/dist/docs/references/reference-core-getMCPServer.md +47 -0
  198. package/dist/docs/references/reference-core-getMCPServerById.md +55 -0
  199. package/dist/docs/references/reference-core-getMemory.md +50 -0
  200. package/dist/docs/references/reference-core-getScorer.md +54 -0
  201. package/dist/docs/references/reference-core-getScorerById.md +54 -0
  202. package/dist/docs/references/reference-core-getServer.md +22 -0
  203. package/dist/docs/references/reference-core-getStorage.md +22 -0
  204. package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
  205. package/dist/docs/references/reference-core-getTelemetry.md +22 -0
  206. package/dist/docs/references/reference-core-getVector.md +22 -0
  207. package/dist/docs/references/reference-core-getWorkflow.md +42 -0
  208. package/dist/docs/references/reference-core-listAgents.md +21 -0
  209. package/dist/docs/references/reference-core-listGateways.md +40 -0
  210. package/dist/docs/references/reference-core-listLogs.md +38 -0
  211. package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
  212. package/dist/docs/references/reference-core-listMCPServers.md +55 -0
  213. package/dist/docs/references/reference-core-listMemory.md +56 -0
  214. package/dist/docs/references/reference-core-listScorers.md +29 -0
  215. package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
  216. package/dist/docs/references/reference-core-listVectors.md +22 -0
  217. package/dist/docs/references/reference-core-listWorkflows.md +21 -0
  218. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  219. package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
  220. package/dist/docs/references/reference-core-setLogger.md +26 -0
  221. package/dist/docs/references/reference-core-setStorage.md +27 -0
  222. package/dist/docs/references/reference-datasets-addItem.md +37 -0
  223. package/dist/docs/references/reference-datasets-addItems.md +35 -0
  224. package/dist/docs/references/reference-datasets-compareExperiments.md +52 -0
  225. package/dist/docs/references/reference-datasets-create.md +51 -0
  226. package/dist/docs/references/reference-datasets-dataset.md +82 -0
  227. package/dist/docs/references/reference-datasets-datasets-manager.md +94 -0
  228. package/dist/docs/references/reference-datasets-delete.md +25 -0
  229. package/dist/docs/references/reference-datasets-deleteExperiment.md +27 -0
  230. package/dist/docs/references/reference-datasets-deleteItem.md +27 -0
  231. package/dist/docs/references/reference-datasets-deleteItems.md +29 -0
  232. package/dist/docs/references/reference-datasets-get.md +31 -0
  233. package/dist/docs/references/reference-datasets-getDetails.md +47 -0
  234. package/dist/docs/references/reference-datasets-getExperiment.md +30 -0
  235. package/dist/docs/references/reference-datasets-getItem.md +33 -0
  236. package/dist/docs/references/reference-datasets-getItemHistory.md +31 -0
  237. package/dist/docs/references/reference-datasets-list.md +31 -0
  238. package/dist/docs/references/reference-datasets-listExperimentResults.md +39 -0
  239. package/dist/docs/references/reference-datasets-listExperiments.md +33 -0
  240. package/dist/docs/references/reference-datasets-listItems.md +46 -0
  241. package/dist/docs/references/reference-datasets-listVersions.md +33 -0
  242. package/dist/docs/references/reference-datasets-startExperiment.md +62 -0
  243. package/dist/docs/references/reference-datasets-startExperimentAsync.md +43 -0
  244. package/dist/docs/references/reference-datasets-update.md +48 -0
  245. package/dist/docs/references/reference-datasets-updateItem.md +38 -0
  246. package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
  247. package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
  248. package/dist/docs/references/reference-evals-bias.md +120 -0
  249. package/dist/docs/references/reference-evals-completeness.md +136 -0
  250. package/dist/docs/references/reference-evals-content-similarity.md +101 -0
  251. package/dist/docs/references/reference-evals-context-precision.md +196 -0
  252. package/dist/docs/references/reference-evals-create-scorer.md +270 -0
  253. package/dist/docs/references/reference-evals-faithfulness.md +114 -0
  254. package/dist/docs/references/reference-evals-hallucination.md +213 -0
  255. package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
  256. package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
  257. package/dist/docs/references/reference-evals-run-evals.md +179 -0
  258. package/dist/docs/references/reference-evals-scorer-utils.md +326 -0
  259. package/dist/docs/references/reference-evals-textual-difference.md +113 -0
  260. package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
  261. package/dist/docs/references/reference-evals-toxicity.md +123 -0
  262. package/dist/docs/references/reference-harness-harness-class.md +708 -0
  263. package/dist/docs/references/reference-logging-pino-logger.md +117 -0
  264. package/dist/docs/references/reference-memory-deleteMessages.md +38 -0
  265. package/dist/docs/references/reference-memory-memory-class.md +147 -0
  266. package/dist/docs/references/reference-memory-observational-memory.md +565 -0
  267. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
  268. package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
  269. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
  270. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
  271. package/dist/docs/references/reference-observability-tracing-instances.md +107 -0
  272. package/dist/docs/references/reference-observability-tracing-interfaces.md +743 -0
  273. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
  274. package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
  275. package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
  276. package/dist/docs/references/reference-processors-language-detector.md +82 -0
  277. package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
  278. package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
  279. package/dist/docs/references/reference-processors-pii-detector.md +108 -0
  280. package/dist/docs/references/reference-processors-processor-interface.md +521 -0
  281. package/dist/docs/references/reference-processors-prompt-injection-detector.md +72 -0
  282. package/dist/docs/references/reference-processors-semantic-recall-processor.md +117 -0
  283. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
  284. package/dist/docs/references/reference-processors-token-limiter-processor.md +115 -0
  285. package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
  286. package/dist/docs/references/reference-processors-tool-search-processor.md +111 -0
  287. package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
  288. package/dist/docs/references/reference-processors-working-memory-processor.md +152 -0
  289. package/dist/docs/references/reference-rag-database-config.md +261 -0
  290. package/dist/docs/references/reference-rag-embeddings.md +92 -0
  291. package/dist/docs/references/reference-server-mastra-server.md +298 -0
  292. package/dist/docs/references/reference-server-register-api-route.md +249 -0
  293. package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
  294. package/dist/docs/references/reference-storage-composite.md +235 -0
  295. package/dist/docs/references/reference-storage-lance.md +131 -0
  296. package/dist/docs/references/reference-storage-libsql.md +135 -0
  297. package/dist/docs/references/reference-storage-mongodb.md +262 -0
  298. package/dist/docs/references/reference-storage-mssql.md +157 -0
  299. package/dist/docs/references/reference-storage-overview.md +121 -0
  300. package/dist/docs/references/reference-storage-postgresql.md +526 -0
  301. package/dist/docs/references/reference-storage-upstash.md +160 -0
  302. package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
  303. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
  304. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
  305. package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
  306. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
  307. package/dist/docs/references/reference-streaming-workflows-stream.md +88 -0
  308. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
  309. package/dist/docs/references/reference-templates-overview.md +194 -0
  310. package/dist/docs/references/reference-tools-create-tool.md +237 -0
  311. package/dist/docs/references/reference-tools-graph-rag-tool.md +182 -0
  312. package/dist/docs/references/reference-tools-mcp-client.md +954 -0
  313. package/dist/docs/references/reference-tools-mcp-server.md +1271 -0
  314. package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
  315. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  316. package/dist/docs/references/reference-vectors-mongodb.md +295 -0
  317. package/dist/docs/references/reference-vectors-pg.md +408 -0
  318. package/dist/docs/references/reference-vectors-upstash.md +294 -0
  319. package/dist/docs/references/reference-voice-composite-voice.md +121 -0
  320. package/dist/docs/references/reference-voice-mastra-voice.md +311 -0
  321. package/dist/docs/references/reference-voice-voice.addInstructions.md +55 -0
  322. package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
  323. package/dist/docs/references/reference-voice-voice.connect.md +94 -0
  324. package/dist/docs/references/reference-voice-voice.events.md +37 -0
  325. package/dist/docs/references/reference-voice-voice.listen.md +164 -0
  326. package/dist/docs/references/reference-voice-voice.on.md +111 -0
  327. package/dist/docs/references/reference-voice-voice.speak.md +157 -0
  328. package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
  329. package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
  330. package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
  331. package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
  332. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
  333. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
  334. package/dist/docs/references/reference-workflows-run.md +59 -0
  335. package/dist/docs/references/reference-workflows-step.md +119 -0
  336. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
  337. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
  338. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
  339. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
  340. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
  341. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +118 -0
  342. package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
  343. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
  344. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
  345. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
  346. package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
  347. package/dist/docs/references/reference-workflows-workflow.md +157 -0
  348. package/dist/docs/references/reference-workspace-filesystem.md +255 -0
  349. package/dist/docs/references/reference-workspace-local-filesystem.md +343 -0
  350. package/dist/docs/references/reference-workspace-local-sandbox.md +301 -0
  351. package/dist/docs/references/reference-workspace-sandbox.md +87 -0
  352. package/dist/docs/references/reference-workspace-workspace-class.md +244 -0
  353. package/dist/docs/references/reference.md +277 -0
  354. package/dist/evals/index.cjs +20 -20
  355. package/dist/evals/index.js +3 -3
  356. package/dist/evals/run/index.d.ts +9 -2
  357. package/dist/evals/run/index.d.ts.map +1 -1
  358. package/dist/evals/scoreTraces/index.cjs +5 -5
  359. package/dist/evals/scoreTraces/index.js +2 -2
  360. package/dist/harness/harness.d.ts +6 -0
  361. package/dist/harness/harness.d.ts.map +1 -1
  362. package/dist/harness/index.cjs +28 -13
  363. package/dist/harness/index.cjs.map +1 -1
  364. package/dist/harness/index.js +20 -5
  365. package/dist/harness/index.js.map +1 -1
  366. package/dist/index.cjs +2 -2
  367. package/dist/index.js +1 -1
  368. package/dist/integration/index.cjs +2 -2
  369. package/dist/integration/index.js +1 -1
  370. package/dist/llm/index.cjs +6 -6
  371. package/dist/llm/index.js +1 -1
  372. package/dist/llm/model/embedding-router.d.ts.map +1 -1
  373. package/dist/llm/model/model.loop.d.ts +1 -1
  374. package/dist/llm/model/model.loop.d.ts.map +1 -1
  375. package/dist/loop/index.cjs +20 -12
  376. package/dist/loop/index.js +1 -1
  377. package/dist/loop/network/index.d.ts.map +1 -1
  378. package/dist/loop/network/validation.d.ts +51 -0
  379. package/dist/loop/network/validation.d.ts.map +1 -1
  380. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  381. package/dist/loop/test-utils/options.d.ts.map +1 -1
  382. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  383. package/dist/loop/types.d.ts +15 -0
  384. package/dist/loop/types.d.ts.map +1 -1
  385. package/dist/loop/workflows/agentic-execution/index.d.ts +3 -0
  386. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  387. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts +126 -0
  388. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts.map +1 -0
  389. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +3 -1
  390. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  391. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +1 -0
  392. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  393. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  394. package/dist/loop/workflows/agentic-loop/index.d.ts +3 -0
  395. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  396. package/dist/loop/workflows/schema.d.ts +3 -0
  397. package/dist/loop/workflows/schema.d.ts.map +1 -1
  398. package/dist/mastra/index.cjs +2 -2
  399. package/dist/mastra/index.d.ts +9 -5
  400. package/dist/mastra/index.d.ts.map +1 -1
  401. package/dist/mastra/index.js +1 -1
  402. package/dist/memory/index.cjs +14 -14
  403. package/dist/memory/index.js +1 -1
  404. package/dist/processor-provider/index.cjs +10 -10
  405. package/dist/processor-provider/index.js +1 -1
  406. package/dist/processors/index.cjs +42 -42
  407. package/dist/processors/index.js +1 -1
  408. package/dist/processors/processors/skills.d.ts.map +1 -1
  409. package/dist/relevance/index.cjs +3 -3
  410. package/dist/relevance/index.js +1 -1
  411. package/dist/storage/constants.cjs +56 -56
  412. package/dist/storage/constants.js +1 -1
  413. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  414. package/dist/storage/index.cjs +160 -160
  415. package/dist/storage/index.js +2 -2
  416. package/dist/storage/types.d.ts +2 -3
  417. package/dist/storage/types.d.ts.map +1 -1
  418. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  419. package/dist/stream/base/output.d.ts +1 -0
  420. package/dist/stream/base/output.d.ts.map +1 -1
  421. package/dist/stream/index.cjs +11 -11
  422. package/dist/stream/index.js +2 -2
  423. package/dist/stream/types.d.ts +27 -1
  424. package/dist/stream/types.d.ts.map +1 -1
  425. package/dist/test-utils/llm-mock.cjs +4 -4
  426. package/dist/test-utils/llm-mock.js +1 -1
  427. package/dist/tool-loop-agent/index.cjs +4 -4
  428. package/dist/tool-loop-agent/index.js +1 -1
  429. package/dist/tools/index.cjs +9 -5
  430. package/dist/tools/index.d.ts +1 -1
  431. package/dist/tools/index.d.ts.map +1 -1
  432. package/dist/tools/index.js +1 -1
  433. package/dist/tools/is-vercel-tool.cjs +2 -2
  434. package/dist/tools/is-vercel-tool.js +1 -1
  435. package/dist/tools/toolchecks.d.ts +10 -0
  436. package/dist/tools/toolchecks.d.ts.map +1 -1
  437. package/dist/utils.cjs +23 -23
  438. package/dist/utils.js +1 -1
  439. package/dist/vector/index.cjs +7 -7
  440. package/dist/vector/index.js +1 -1
  441. package/dist/vector/types.d.ts +9 -1
  442. package/dist/vector/types.d.ts.map +1 -1
  443. package/dist/workflows/evented/index.cjs +10 -10
  444. package/dist/workflows/evented/index.js +1 -1
  445. package/dist/workflows/index.cjs +25 -25
  446. package/dist/workflows/index.js +1 -1
  447. package/dist/workflows/types.d.ts +14 -1
  448. package/dist/workflows/types.d.ts.map +1 -1
  449. package/dist/workflows/workflow.d.ts +3 -17
  450. package/dist/workflows/workflow.d.ts.map +1 -1
  451. package/dist/workspace/filesystem/composite-filesystem.d.ts +5 -0
  452. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  453. package/dist/workspace/filesystem/filesystem.d.ts +12 -0
  454. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  455. package/dist/workspace/filesystem/fs-utils.d.ts +12 -0
  456. package/dist/workspace/filesystem/fs-utils.d.ts.map +1 -1
  457. package/dist/workspace/filesystem/local-filesystem.d.ts +6 -0
  458. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  459. package/dist/workspace/index.cjs +66 -66
  460. package/dist/workspace/index.js +1 -1
  461. package/dist/workspace/lsp/client.d.ts +76 -0
  462. package/dist/workspace/lsp/client.d.ts.map +1 -0
  463. package/dist/workspace/lsp/index.d.ts +6 -0
  464. package/dist/workspace/lsp/index.d.ts.map +1 -0
  465. package/dist/workspace/lsp/language.d.ts +16 -0
  466. package/dist/workspace/lsp/language.d.ts.map +1 -0
  467. package/dist/workspace/lsp/manager.d.ts +72 -0
  468. package/dist/workspace/lsp/manager.d.ts.map +1 -0
  469. package/dist/workspace/lsp/servers.d.ts +43 -0
  470. package/dist/workspace/lsp/servers.d.ts.map +1 -0
  471. package/dist/workspace/lsp/types.d.ts +45 -0
  472. package/dist/workspace/lsp/types.d.ts.map +1 -0
  473. package/dist/workspace/tools/ast-edit.d.ts.map +1 -1
  474. package/dist/workspace/tools/edit-file.d.ts.map +1 -1
  475. package/dist/workspace/tools/helpers.d.ts +13 -0
  476. package/dist/workspace/tools/helpers.d.ts.map +1 -1
  477. package/dist/workspace/tools/write-file.d.ts.map +1 -1
  478. package/dist/workspace/workspace.d.ts +33 -0
  479. package/dist/workspace/workspace.d.ts.map +1 -1
  480. package/package.json +10 -8
  481. package/dist/chunk-2X66GWF5.cjs.map +0 -1
  482. package/dist/chunk-6QBN6MZY.cjs.map +0 -1
  483. package/dist/chunk-7EXW4AAG.js.map +0 -1
  484. package/dist/chunk-7UAJ6LMR.cjs.map +0 -1
  485. package/dist/chunk-BQHWJLXU.js.map +0 -1
  486. package/dist/chunk-DB7U2C5B.cjs.map +0 -1
  487. package/dist/chunk-DFCRXDVK.js.map +0 -1
  488. package/dist/chunk-EAZ6YDCQ.cjs.map +0 -1
  489. package/dist/chunk-HB6T4554.cjs.map +0 -1
  490. package/dist/chunk-IC5OUWKJ.js.map +0 -1
  491. package/dist/chunk-KUXNBWN7.js.map +0 -1
  492. package/dist/chunk-O7PZ4VOO.cjs.map +0 -1
  493. package/dist/chunk-QSHV7GPT.js.map +0 -1
  494. package/dist/chunk-QTAS3HND.cjs.map +0 -1
  495. package/dist/chunk-R4N65TLG.js.map +0 -1
  496. package/dist/chunk-T6GAM3SQ.js.map +0 -1
  497. package/dist/chunk-YQG7NBPR.cjs.map +0 -1
  498. package/dist/chunk-ZSBM2SVU.js.map +0 -1
@@ -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,255 @@
1
+ # WorkspaceFilesystem
2
+
3
+ **Added in:** `@mastra/core@1.1.0`
4
+
5
+ The `WorkspaceFilesystem` interface defines how workspaces interact with file storage.
6
+
7
+ ## Methods
8
+
9
+ ### `readFile(path, options?)`
10
+
11
+ Read file contents.
12
+
13
+ ```typescript
14
+ const content = await filesystem.readFile('/docs/guide.md')
15
+ const buffer = await filesystem.readFile('/image.png', { encoding: 'binary' })
16
+ ```
17
+
18
+ **Parameters:**
19
+
20
+ **path:** (`string`): File path relative to basePath
21
+
22
+ **options.encoding?:** (`'utf-8' | 'binary'`): Text or binary encoding (Default: `'utf-8'`)
23
+
24
+ **Returns:** `Promise<string | Buffer>`
25
+
26
+ ### `writeFile(path, content, options?)`
27
+
28
+ Write file contents.
29
+
30
+ ```typescript
31
+ await filesystem.writeFile('/docs/new.md', '# New Document')
32
+ await filesystem.writeFile('/nested/path/file.md', content, { recursive: true })
33
+ ```
34
+
35
+ **Parameters:**
36
+
37
+ **path:** (`string`): File path relative to basePath
38
+
39
+ **content:** (`string | Buffer`): File content
40
+
41
+ **options.recursive?:** (`boolean`): Create parent directories if they don't exist (Default: `false`)
42
+
43
+ **options.overwrite?:** (`boolean`): Overwrite existing file (Default: `true`)
44
+
45
+ ### `deleteFile(path, options?)`
46
+
47
+ Delete a file.
48
+
49
+ ```typescript
50
+ await filesystem.deleteFile('/docs/old.md')
51
+ await filesystem.deleteFile('/docs/maybe.md', { force: true }) // Don't throw if missing
52
+ ```
53
+
54
+ **Parameters:**
55
+
56
+ **path:** (`string`): File path
57
+
58
+ **options.force?:** (`boolean`): Don't throw error if file doesn't exist (Default: `false`)
59
+
60
+ ### `appendFile(path, content)`
61
+
62
+ Append content to a file, creating it if it does not already exist. Parent directories are created automatically.
63
+
64
+ ```typescript
65
+ await filesystem.appendFile('/logs/app.log', 'New log entry\n')
66
+ ```
67
+
68
+ **Parameters:**
69
+
70
+ **path:** (`string`): File path
71
+
72
+ **content:** (`string | Buffer`): Content to append
73
+
74
+ ### `copyFile(src, dest, options?)`
75
+
76
+ Copy a file to a new location.
77
+
78
+ ```typescript
79
+ await filesystem.copyFile('/docs/template.md', '/docs/new-doc.md')
80
+ ```
81
+
82
+ **Parameters:**
83
+
84
+ **src:** (`string`): Source file path
85
+
86
+ **dest:** (`string`): Destination file path
87
+
88
+ **options.overwrite?:** (`boolean`): Overwrite destination if it exists (Default: `true`)
89
+
90
+ ### `moveFile(src, dest, options?)`
91
+
92
+ Move or rename a file.
93
+
94
+ ```typescript
95
+ await filesystem.moveFile('/docs/draft.md', '/docs/final.md')
96
+ ```
97
+
98
+ **Parameters:**
99
+
100
+ **src:** (`string`): Source file path
101
+
102
+ **dest:** (`string`): Destination file path
103
+
104
+ **options.overwrite?:** (`boolean`): Overwrite destination if it exists (Default: `true`)
105
+
106
+ ### `readdir(path, options?)`
107
+
108
+ List directory contents.
109
+
110
+ ```typescript
111
+ const entries = await filesystem.readdir('/docs')
112
+ // [{ name: 'guide.md', type: 'file' }, { name: 'api', type: 'directory' }]
113
+ ```
114
+
115
+ **Returns:** `Promise<FileEntry[]>`
116
+
117
+ ```typescript
118
+ interface FileEntry {
119
+ name: string
120
+ type: 'file' | 'directory'
121
+ size?: number
122
+ isSymlink?: boolean
123
+ symlinkTarget?: string
124
+ }
125
+ ```
126
+
127
+ ### `mkdir(path, options?)`
128
+
129
+ Create a directory.
130
+
131
+ ```typescript
132
+ await filesystem.mkdir('/docs/api')
133
+ await filesystem.mkdir('/deeply/nested/path', { recursive: true })
134
+ ```
135
+
136
+ **Parameters:**
137
+
138
+ **path:** (`string`): Directory path
139
+
140
+ **options.recursive?:** (`boolean`): Create parent directories (Default: `false`)
141
+
142
+ ### `rmdir(path, options?)`
143
+
144
+ Remove a directory.
145
+
146
+ ```typescript
147
+ await filesystem.rmdir('/docs/old')
148
+ await filesystem.rmdir('/docs/nested', { recursive: true })
149
+ ```
150
+
151
+ **Parameters:**
152
+
153
+ **path:** (`string`): Directory path
154
+
155
+ **options.recursive?:** (`boolean`): Remove contents recursively (Default: `false`)
156
+
157
+ **options.force?:** (`boolean`): Don't throw if directory doesn't exist (Default: `false`)
158
+
159
+ ### `exists(path)`
160
+
161
+ Check if a path exists.
162
+
163
+ ```typescript
164
+ const exists = await filesystem.exists('/docs/guide.md')
165
+ ```
166
+
167
+ **Returns:** `Promise<boolean>`
168
+
169
+ ### `stat(path)`
170
+
171
+ Get file or directory metadata.
172
+
173
+ ```typescript
174
+ const stat = await filesystem.stat('/docs/guide.md')
175
+ // { name: 'guide.md', path: '/docs/guide.md', type: 'file', size: 1234, createdAt: Date, modifiedAt: Date }
176
+ ```
177
+
178
+ **Returns:** `Promise<FileStat>`
179
+
180
+ ```typescript
181
+ interface FileStat {
182
+ name: string // File or directory name (basename only)
183
+ path: string // Path relative to the filesystem basePath
184
+ type: 'file' | 'directory'
185
+ size: number
186
+ createdAt: Date
187
+ modifiedAt: Date
188
+ mimeType?: string
189
+ }
190
+ ```
191
+
192
+ ## Optional Methods
193
+
194
+ ### `init()`
195
+
196
+ Initialize the filesystem. Called by `workspace.init()`.
197
+
198
+ ```typescript
199
+ await filesystem.init?.()
200
+ ```
201
+
202
+ ### `destroy()`
203
+
204
+ Clean up resources. Called by `workspace.destroy()`.
205
+
206
+ ```typescript
207
+ await filesystem.destroy?.()
208
+ ```
209
+
210
+ ### `getInfo()`
211
+
212
+ Get filesystem metadata.
213
+
214
+ ```typescript
215
+ const info = await filesystem.getInfo?.()
216
+ // { id, name, provider, basePath, readOnly, status, storage? }
217
+ ```
218
+
219
+ **Returns:** `Promise<FilesystemInfo>`
220
+
221
+ ```typescript
222
+ interface FilesystemInfo {
223
+ id: string
224
+ name: string
225
+ provider: string
226
+ basePath?: string
227
+ readOnly?: boolean
228
+ status?: string
229
+ storage?: {
230
+ totalBytes?: number
231
+ usedBytes?: number
232
+ availableBytes?: number
233
+ }
234
+ }
235
+ ```
236
+
237
+ ### `getInstructions(opts?)`
238
+
239
+ Returns a description of how this filesystem works. Injected into the agent's system message when the workspace is assigned to an agent.
240
+
241
+ ```typescript
242
+ const instructions = filesystem.getInstructions?.()
243
+ // 'Local filesystem at "/workspace". Files at workspace path "/foo" are stored at "/workspace/foo" on disk.'
244
+ ```
245
+
246
+ **Parameters:**
247
+
248
+ **opts.requestContext?:** (`RequestContext`): Forwarded to the \`instructions\` function if one was provided in the constructor.
249
+
250
+ **Returns:** `string`
251
+
252
+ ## Related
253
+
254
+ - [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
255
+ - [Sandbox Interface](https://mastra.ai/reference/workspace/sandbox)