@mastra/core 1.6.0 → 1.7.0-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 (452) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-IHDE4CJV.js → chunk-6NRSTTAS.js} +80 -11
  7. package/dist/chunk-6NRSTTAS.js.map +1 -0
  8. package/dist/{chunk-4WG5K4CK.js → chunk-6RTFK6XW.js} +7 -7
  9. package/dist/{chunk-4WG5K4CK.js.map → chunk-6RTFK6XW.js.map} +1 -1
  10. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  11. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  12. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  13. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  14. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  15. package/dist/chunk-GPJGPARM.js.map +1 -0
  16. package/dist/{chunk-VJWRJWSC.cjs → chunk-HYU6AULN.cjs} +85 -15
  17. package/dist/chunk-HYU6AULN.cjs.map +1 -0
  18. package/dist/{chunk-DGS2KGDI.js → chunk-HZ33YLNC.js} +6 -5
  19. package/dist/chunk-HZ33YLNC.js.map +1 -0
  20. package/dist/{chunk-3U3XFMGJ.cjs → chunk-N435UBEN.cjs} +13 -8
  21. package/dist/chunk-N435UBEN.cjs.map +1 -0
  22. package/dist/{chunk-5VQPSWPG.cjs → chunk-NAUBU4SI.cjs} +48 -48
  23. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-NAUBU4SI.cjs.map} +1 -1
  24. package/dist/{chunk-MWGGSA5Q.js → chunk-NHYSIYTD.js} +10 -5
  25. package/dist/chunk-NHYSIYTD.js.map +1 -0
  26. package/dist/{chunk-RZNHRIM7.cjs → chunk-OL4P6TXG.cjs} +5 -5
  27. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-OL4P6TXG.cjs.map} +1 -1
  28. package/dist/{chunk-XWZAKKFT.cjs → chunk-S3JIVN4S.cjs} +14 -14
  29. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-S3JIVN4S.cjs.map} +1 -1
  30. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  31. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  32. package/dist/{chunk-LNKS4TJ6.cjs → chunk-T4KRCLC3.cjs} +8 -7
  33. package/dist/chunk-T4KRCLC3.cjs.map +1 -0
  34. package/dist/{chunk-RHKNKJNM.js → chunk-WBVBORCZ.js} +4 -4
  35. package/dist/{chunk-RHKNKJNM.js.map → chunk-WBVBORCZ.js.map} +1 -1
  36. package/dist/{chunk-YM6245EM.js → chunk-WR5RUKVK.js} +3 -3
  37. package/dist/{chunk-YM6245EM.js.map → chunk-WR5RUKVK.js.map} +1 -1
  38. package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
  39. package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
  40. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  41. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  42. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  43. package/dist/datasets/index.cjs +17 -17
  44. package/dist/datasets/index.js +2 -2
  45. package/dist/evals/index.cjs +20 -20
  46. package/dist/evals/index.js +3 -3
  47. package/dist/evals/scoreTraces/index.cjs +7 -6
  48. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  49. package/dist/evals/scoreTraces/index.js +4 -3
  50. package/dist/evals/scoreTraces/index.js.map +1 -1
  51. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  52. package/dist/harness/harness.d.ts +21 -1
  53. package/dist/harness/harness.d.ts.map +1 -1
  54. package/dist/harness/index.cjs +422 -5
  55. package/dist/harness/index.cjs.map +1 -1
  56. package/dist/harness/index.d.ts +2 -1
  57. package/dist/harness/index.d.ts.map +1 -1
  58. package/dist/harness/index.js +418 -3
  59. package/dist/harness/index.js.map +1 -1
  60. package/dist/harness/types.d.ts +151 -0
  61. package/dist/harness/types.d.ts.map +1 -1
  62. package/dist/index.cjs +2 -2
  63. package/dist/index.js +1 -1
  64. package/dist/loop/index.cjs +12 -12
  65. package/dist/loop/index.js +1 -1
  66. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  67. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  68. package/dist/mastra/hooks.d.ts.map +1 -1
  69. package/dist/mastra/index.cjs +2 -2
  70. package/dist/mastra/index.js +1 -1
  71. package/dist/memory/index.cjs +14 -14
  72. package/dist/memory/index.js +1 -1
  73. package/dist/processor-provider/index.cjs +10 -10
  74. package/dist/processor-provider/index.js +1 -1
  75. package/dist/processors/index.cjs +45 -41
  76. package/dist/processors/index.js +1 -1
  77. package/dist/processors/processors/index.d.ts +1 -0
  78. package/dist/processors/processors/index.d.ts.map +1 -1
  79. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  80. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  81. package/dist/relevance/index.cjs +3 -3
  82. package/dist/relevance/index.js +1 -1
  83. package/dist/storage/constants.cjs +56 -56
  84. package/dist/storage/constants.d.ts.map +1 -1
  85. package/dist/storage/constants.js +1 -1
  86. package/dist/storage/index.cjs +160 -160
  87. package/dist/storage/index.js +2 -2
  88. package/dist/storage/types.d.ts +2 -0
  89. package/dist/storage/types.d.ts.map +1 -1
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  91. package/dist/stream/index.cjs +8 -8
  92. package/dist/stream/index.js +1 -1
  93. package/dist/tool-loop-agent/index.cjs +4 -4
  94. package/dist/tool-loop-agent/index.js +1 -1
  95. package/dist/vector/index.cjs +7 -7
  96. package/dist/vector/index.js +1 -1
  97. package/dist/workflows/evented/index.cjs +10 -10
  98. package/dist/workflows/evented/index.js +1 -1
  99. package/dist/workflows/index.cjs +25 -25
  100. package/dist/workflows/index.js +1 -1
  101. package/dist/workspace/constants/index.d.ts +2 -0
  102. package/dist/workspace/constants/index.d.ts.map +1 -1
  103. package/dist/workspace/errors.d.ts +1 -1
  104. package/dist/workspace/errors.d.ts.map +1 -1
  105. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  107. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  108. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  109. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  110. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  111. package/dist/workspace/filesystem/index.d.ts +1 -0
  112. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  113. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  115. package/dist/workspace/index.cjs +72 -64
  116. package/dist/workspace/index.d.ts +3 -2
  117. package/dist/workspace/index.d.ts.map +1 -1
  118. package/dist/workspace/index.js +1 -1
  119. package/dist/workspace/lifecycle.d.ts +1 -9
  120. package/dist/workspace/lifecycle.d.ts.map +1 -1
  121. package/dist/workspace/sandbox/index.d.ts +2 -0
  122. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  123. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  124. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  125. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  126. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  127. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  129. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  131. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  133. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  135. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  136. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  137. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  139. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  141. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  143. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  144. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  145. package/dist/workspace/sandbox/types.d.ts +9 -2
  146. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  147. package/dist/workspace/sandbox/utils.d.ts +7 -0
  148. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  149. package/dist/workspace/tools/execute-command.d.ts +53 -2
  150. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  151. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  152. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  153. package/dist/workspace/tools/index.d.ts +4 -1
  154. package/dist/workspace/tools/index.d.ts.map +1 -1
  155. package/dist/workspace/tools/kill-process.d.ts +4 -0
  156. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  157. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  158. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  159. package/dist/workspace/tools/tools.d.ts.map +1 -1
  160. package/dist/workspace/types.d.ts +31 -0
  161. package/dist/workspace/types.d.ts.map +1 -1
  162. package/dist/workspace/utils.d.ts +11 -0
  163. package/dist/workspace/utils.d.ts.map +1 -0
  164. package/dist/workspace/workspace.d.ts +36 -0
  165. package/dist/workspace/workspace.d.ts.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  168. package/dist/chunk-5K45E5VE.js.map +0 -1
  169. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  170. package/dist/chunk-DGS2KGDI.js.map +0 -1
  171. package/dist/chunk-IHDE4CJV.js.map +0 -1
  172. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  173. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  174. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  175. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  176. package/dist/chunk-XB3DA67Q.js.map +0 -1
  177. package/dist/docs/SKILL.md +0 -301
  178. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  179. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  180. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  181. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  182. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  183. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  184. package/dist/docs/references/docs-agents-networks.md +0 -290
  185. package/dist/docs/references/docs-agents-overview.md +0 -309
  186. package/dist/docs/references/docs-agents-processors.md +0 -632
  187. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  188. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  189. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  190. package/dist/docs/references/docs-evals-overview.md +0 -146
  191. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  192. package/dist/docs/references/docs-mcp-overview.md +0 -370
  193. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  194. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  195. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  196. package/dist/docs/references/docs-memory-overview.md +0 -45
  197. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  198. package/dist/docs/references/docs-memory-storage.md +0 -261
  199. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  200. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  201. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  202. package/dist/docs/references/docs-observability-logging.md +0 -99
  203. package/dist/docs/references/docs-observability-overview.md +0 -70
  204. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  205. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  206. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  207. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  208. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  209. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  210. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  211. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  212. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  213. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  214. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  215. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  216. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  217. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  218. package/dist/docs/references/docs-rag-overview.md +0 -72
  219. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  220. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  221. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  222. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  223. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  224. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  225. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  226. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  227. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  228. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  229. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  230. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  231. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  232. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  233. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  234. package/dist/docs/references/docs-server-middleware.md +0 -228
  235. package/dist/docs/references/docs-server-request-context.md +0 -478
  236. package/dist/docs/references/docs-streaming-events.md +0 -247
  237. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  238. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  239. package/dist/docs/references/docs-voice-overview.md +0 -979
  240. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  241. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  242. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  243. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  244. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  245. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  246. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  247. package/dist/docs/references/docs-workflows-overview.md +0 -372
  248. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  249. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  250. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  251. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  252. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  253. package/dist/docs/references/docs-workspace-overview.md +0 -239
  254. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  255. package/dist/docs/references/docs-workspace-search.md +0 -219
  256. package/dist/docs/references/docs-workspace-skills.md +0 -126
  257. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  258. package/dist/docs/references/reference-agents-agent.md +0 -142
  259. package/dist/docs/references/reference-agents-generate.md +0 -174
  260. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  261. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  262. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  263. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  264. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  265. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  266. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  267. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  268. package/dist/docs/references/reference-agents-getModel.md +0 -34
  269. package/dist/docs/references/reference-agents-getTools.md +0 -29
  270. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  271. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  272. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  273. package/dist/docs/references/reference-agents-listTools.md +0 -34
  274. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  275. package/dist/docs/references/reference-agents-network.md +0 -134
  276. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  277. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  278. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  279. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  280. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  281. package/dist/docs/references/reference-auth-auth0.md +0 -73
  282. package/dist/docs/references/reference-auth-clerk.md +0 -36
  283. package/dist/docs/references/reference-auth-firebase.md +0 -80
  284. package/dist/docs/references/reference-auth-jwt.md +0 -26
  285. package/dist/docs/references/reference-auth-supabase.md +0 -33
  286. package/dist/docs/references/reference-auth-workos.md +0 -84
  287. package/dist/docs/references/reference-client-js-agents.md +0 -438
  288. package/dist/docs/references/reference-configuration.md +0 -749
  289. package/dist/docs/references/reference-core-addGateway.md +0 -42
  290. package/dist/docs/references/reference-core-getAgent.md +0 -21
  291. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  292. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  293. package/dist/docs/references/reference-core-getGateway.md +0 -38
  294. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  295. package/dist/docs/references/reference-core-getLogger.md +0 -22
  296. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  297. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  298. package/dist/docs/references/reference-core-getMemory.md +0 -50
  299. package/dist/docs/references/reference-core-getScorer.md +0 -54
  300. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  301. package/dist/docs/references/reference-core-getServer.md +0 -22
  302. package/dist/docs/references/reference-core-getStorage.md +0 -22
  303. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  304. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  305. package/dist/docs/references/reference-core-getVector.md +0 -22
  306. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  307. package/dist/docs/references/reference-core-listAgents.md +0 -21
  308. package/dist/docs/references/reference-core-listGateways.md +0 -40
  309. package/dist/docs/references/reference-core-listLogs.md +0 -38
  310. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  311. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  312. package/dist/docs/references/reference-core-listMemory.md +0 -56
  313. package/dist/docs/references/reference-core-listScorers.md +0 -29
  314. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  315. package/dist/docs/references/reference-core-listVectors.md +0 -22
  316. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  317. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  318. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  319. package/dist/docs/references/reference-core-setLogger.md +0 -26
  320. package/dist/docs/references/reference-core-setStorage.md +0 -27
  321. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  322. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  323. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  324. package/dist/docs/references/reference-datasets-create.md +0 -49
  325. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  326. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  327. package/dist/docs/references/reference-datasets-delete.md +0 -23
  328. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  329. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  331. package/dist/docs/references/reference-datasets-get.md +0 -29
  332. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  333. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  334. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  335. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  336. package/dist/docs/references/reference-datasets-list.md +0 -29
  337. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  338. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  339. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  340. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  341. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  342. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  343. package/dist/docs/references/reference-datasets-update.md +0 -46
  344. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  345. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  346. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  347. package/dist/docs/references/reference-evals-bias.md +0 -120
  348. package/dist/docs/references/reference-evals-completeness.md +0 -137
  349. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  350. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  351. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  352. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  353. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  354. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  355. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  356. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  357. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  358. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  359. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  360. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  361. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  362. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  363. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  364. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  365. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  366. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  367. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  368. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  369. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  370. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  371. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  372. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  373. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  374. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  375. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  376. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  377. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  378. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  379. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  380. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  381. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  382. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  383. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  384. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  385. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  386. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  387. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  388. package/dist/docs/references/reference-rag-database-config.md +0 -264
  389. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  390. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  391. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  392. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  393. package/dist/docs/references/reference-storage-composite.md +0 -235
  394. package/dist/docs/references/reference-storage-lance.md +0 -131
  395. package/dist/docs/references/reference-storage-libsql.md +0 -135
  396. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  397. package/dist/docs/references/reference-storage-mssql.md +0 -155
  398. package/dist/docs/references/reference-storage-overview.md +0 -121
  399. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  400. package/dist/docs/references/reference-storage-upstash.md +0 -160
  401. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  402. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  403. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  404. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  405. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  406. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  407. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  408. package/dist/docs/references/reference-templates-overview.md +0 -194
  409. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  410. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  411. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  412. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  413. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  414. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  415. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  416. package/dist/docs/references/reference-vectors-pg.md +0 -408
  417. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  418. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  419. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  420. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  421. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  422. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  423. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  424. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  425. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  426. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  427. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  428. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  429. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  430. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  431. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  432. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  433. package/dist/docs/references/reference-workflows-run.md +0 -59
  434. package/dist/docs/references/reference-workflows-step.md +0 -119
  435. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  436. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  437. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  438. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  439. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  441. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  442. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  443. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  446. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  447. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  448. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  449. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  450. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  451. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  452. package/dist/docs/references/reference.md +0 -276
@@ -1,103 +0,0 @@
1
- # Speech-to-Speech Capabilities in Mastra
2
-
3
- ## Introduction
4
-
5
- Speech-to-Speech (STS) in Mastra provides a standardized interface for real-time interactions across multiple providers. STS enables continuous bidirectional audio communication through listening to events from Realtime models. Unlike separate TTS and STT operations, STS maintains an open connection that processes speech continuously in both directions.
6
-
7
- ## Configuration
8
-
9
- - **`apiKey`**: Your OpenAI API key. Falls back to the `OPENAI_API_KEY` environment variable.
10
- - **`model`**: The model ID to use for real-time voice interactions (e.g., `gpt-5.1-realtime`).
11
- - **`speaker`**: The default voice ID for speech synthesis. This allows you to specify which voice to use for the speech output.
12
-
13
- ```typescript
14
- const voice = new OpenAIRealtimeVoice({
15
- apiKey: "your-openai-api-key",
16
- model: "gpt-5.1-realtime",
17
- speaker: "alloy", // Default voice
18
- });
19
-
20
- // If using default settings the configuration can be simplified to:
21
- const voice = new OpenAIRealtimeVoice();
22
- ```
23
-
24
- ## Using STS
25
-
26
- ```typescript
27
- import { Agent } from "@mastra/core/agent";
28
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
29
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
30
-
31
- const agent = new Agent({
32
- id: "agent",
33
- name: "OpenAI Realtime Agent",
34
- instructions: `You are a helpful assistant with real-time voice capabilities.`,
35
- model: "openai/gpt-5.1",
36
- voice: new OpenAIRealtimeVoice(),
37
- });
38
-
39
- // Connect to the voice service
40
- await agent.voice.connect();
41
-
42
- // Listen for agent audio responses
43
- agent.voice.on("speaker", ({ audio }) => {
44
- playAudio(audio);
45
- });
46
-
47
- // Initiate the conversation
48
- await agent.voice.speak("How can I help you today?");
49
-
50
- // Send continuous audio from the microphone
51
- const micStream = getMicrophoneStream();
52
- await agent.voice.send(micStream);
53
- ```
54
-
55
- For integrating Speech-to-Speech capabilities with agents, refer to the [Adding Voice to Agents](https://mastra.ai/docs/agents/adding-voice) documentation.
56
-
57
- ## Google Gemini Live (Realtime)
58
-
59
- ```typescript
60
- import { Agent } from "@mastra/core/agent";
61
- import { GeminiLiveVoice } from "@mastra/voice-google-gemini-live";
62
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
63
-
64
- const agent = new Agent({
65
- id: "agent",
66
- name: "Gemini Live Agent",
67
- instructions:
68
- "You are a helpful assistant with real-time voice capabilities.",
69
- // Model used for text generation; voice provider handles realtime audio
70
- model: "openai/gpt-5.1",
71
- voice: new GeminiLiveVoice({
72
- apiKey: process.env.GOOGLE_API_KEY,
73
- model: "gemini-2.0-flash-exp",
74
- speaker: "Puck",
75
- debug: true,
76
- // Vertex AI option:
77
- // vertexAI: true,
78
- // project: 'your-gcp-project',
79
- // location: 'us-central1',
80
- // serviceAccountKeyFile: '/path/to/service-account.json',
81
- }),
82
- });
83
-
84
- await agent.voice.connect();
85
-
86
- agent.voice.on("speaker", ({ audio }) => {
87
- playAudio(audio);
88
- });
89
-
90
- agent.voice.on("writing", ({ role, text }) => {
91
- console.log(`${role}: ${text}`);
92
- });
93
-
94
- await agent.voice.speak("How can I help you today?");
95
-
96
- const micStream = getMicrophoneStream();
97
- await agent.voice.send(micStream);
98
- ```
99
-
100
- Note:
101
-
102
- - Live API requires `GOOGLE_API_KEY`. Vertex AI requires project/location and service account credentials.
103
- - Events: `speaker` (audio stream), `writing` (text), `turnComplete`, `usage`, and `error`.
@@ -1,80 +0,0 @@
1
- # Speech-to-Text (STT)
2
-
3
- Speech-to-Text (STT) in Mastra provides a standardized interface for converting audio input into text across multiple service providers. STT helps create voice-enabled applications that can respond to human speech, enabling hands-free interaction, accessibility for users with disabilities, and more natural human-computer interfaces.
4
-
5
- ## Configuration
6
-
7
- To use STT in Mastra, you need to provide a `listeningModel` when initializing the voice provider. This includes parameters such as:
8
-
9
- - **`name`**: The specific STT model to use.
10
- - **`apiKey`**: Your API key for authentication.
11
- - **Provider-specific options**: Additional options that may be required or supported by the specific voice provider.
12
-
13
- **Note**: All of these parameters are optional. You can use the default settings provided by the voice provider, which will depend on the specific provider you are using.
14
-
15
- ```typescript
16
- const voice = new OpenAIVoice({
17
- listeningModel: {
18
- name: "whisper-1",
19
- apiKey: process.env.OPENAI_API_KEY,
20
- },
21
- });
22
-
23
- // If using default settings the configuration can be simplified to:
24
- const voice = new OpenAIVoice();
25
- ```
26
-
27
- ## Available Providers
28
-
29
- Mastra supports several Speech-to-Text providers, each with their own capabilities and strengths:
30
-
31
- - [**OpenAI**](https://mastra.ai/reference/voice/openai) - High-accuracy transcription with Whisper models
32
- - [**Azure**](https://mastra.ai/reference/voice/azure) - Microsoft's speech recognition with enterprise-grade reliability
33
- - [**ElevenLabs**](https://mastra.ai/reference/voice/elevenlabs) - Advanced speech recognition with support for multiple languages
34
- - [**Google**](https://mastra.ai/reference/voice/google) - Google's speech recognition with extensive language support
35
- - [**Cloudflare**](https://mastra.ai/reference/voice/cloudflare) - Edge-optimized speech recognition for low-latency applications
36
- - [**Deepgram**](https://mastra.ai/reference/voice/deepgram) - AI-powered speech recognition with high accuracy for various accents
37
- - [**Sarvam**](https://mastra.ai/reference/voice/sarvam) - Specialized in Indic languages and accents
38
-
39
- Each provider is implemented as a separate package that you can install as needed:
40
-
41
- ```bash
42
- pnpm add @mastra/voice-openai@latest # Example for OpenAI
43
- ```
44
-
45
- ## Using the Listen Method
46
-
47
- The primary method for STT is the `listen()` method, which converts spoken audio into text. Here's how to use it:
48
-
49
- ```typescript
50
- import { Agent } from "@mastra/core/agent";
51
- import { OpenAIVoice } from "@mastra/voice-openai";
52
- import { getMicrophoneStream } from "@mastra/node-audio";
53
-
54
- const voice = new OpenAIVoice();
55
-
56
- const agent = new Agent({
57
- id: "voice-agent",
58
- name: "Voice Agent",
59
- instructions:
60
- "You are a voice assistant that provides recommendations based on user input.",
61
- model: "openai/gpt-5.1",
62
- voice,
63
- });
64
-
65
- const audioStream = getMicrophoneStream(); // Assume this function gets audio input
66
-
67
- const transcript = await agent.voice.listen(audioStream, {
68
- filetype: "m4a", // Optional: specify the audio file type
69
- });
70
-
71
- console.log(`User said: ${transcript}`);
72
-
73
- const { text } = await agent.generate(
74
- `Based on what the user said, provide them a recommendation: ${transcript}`,
75
- );
76
-
77
- console.log(`Recommendation: ${text}`);
78
- ```
79
-
80
- Check out the [Adding Voice to Agents](https://mastra.ai/docs/agents/adding-voice) documentation to learn how to use STT in an agent.
@@ -1,84 +0,0 @@
1
- # Text-to-Speech (TTS)
2
-
3
- Text-to-Speech (TTS) in Mastra offers a unified API for synthesizing spoken audio from text using various providers. By incorporating TTS into your applications, you can enhance user experience with natural voice interactions, improve accessibility for users with visual impairments, and create more engaging multimodal interfaces.
4
-
5
- TTS is a core component of any voice application. Combined with STT (Speech-to-Text), it forms the foundation of voice interaction systems. Newer models support STS ([Speech-to-Speech](https://mastra.ai/docs/voice/speech-to-speech)) which can be used for real-time interactions but come at high cost ($).
6
-
7
- ## Configuration
8
-
9
- To use TTS in Mastra, you need to provide a `speechModel` when initializing the voice provider. This includes parameters such as:
10
-
11
- - **`name`**: The specific TTS model to use.
12
- - **`apiKey`**: Your API key for authentication.
13
- - **Provider-specific options**: Additional options that may be required or supported by the specific voice provider.
14
-
15
- The **`speaker`** option allows you to select different voices for speech synthesis. Each provider offers a variety of voice options with distinct characteristics for **Voice diversity**, **Quality**, **Voice personality**, and **Multilingual support**
16
-
17
- **Note**: All of these parameters are optional. You can use the default settings provided by the voice provider, which will depend on the specific provider you are using.
18
-
19
- ```typescript
20
- const voice = new OpenAIVoice({
21
- speechModel: {
22
- name: "tts-1-hd",
23
- apiKey: process.env.OPENAI_API_KEY,
24
- },
25
- speaker: "alloy",
26
- });
27
-
28
- // If using default settings the configuration can be simplified to:
29
- const voice = new OpenAIVoice();
30
- ```
31
-
32
- ## Available Providers
33
-
34
- Mastra supports a wide range of Text-to-Speech providers, each with their own unique capabilities and voice options. You can choose the provider that best suits your application's needs:
35
-
36
- - [**OpenAI**](https://mastra.ai/reference/voice/openai) - High-quality voices with natural intonation and expression
37
- - [**Azure**](https://mastra.ai/reference/voice/azure) - Microsoft's speech service with a wide range of voices and languages
38
- - [**ElevenLabs**](https://mastra.ai/reference/voice/elevenlabs) - Ultra-realistic voices with emotion and fine-grained control
39
- - [**PlayAI**](https://mastra.ai/reference/voice/playai) - Specialized in natural-sounding voices with various styles
40
- - [**Google**](https://mastra.ai/reference/voice/google) - Google's speech synthesis with multilingual support
41
- - [**Cloudflare**](https://mastra.ai/reference/voice/cloudflare) - Edge-optimized speech synthesis for low-latency applications
42
- - [**Deepgram**](https://mastra.ai/reference/voice/deepgram) - AI-powered speech technology with high accuracy
43
- - [**Speechify**](https://mastra.ai/reference/voice/speechify) - Text-to-speech optimized for readability and accessibility
44
- - [**Sarvam**](https://mastra.ai/reference/voice/sarvam) - Specialized in Indic languages and accents
45
- - [**Murf**](https://mastra.ai/reference/voice/murf) - Studio-quality voice overs with customizable parameters
46
-
47
- Each provider is implemented as a separate package that you can install as needed:
48
-
49
- ```bash
50
- pnpm add @mastra/voice-openai@latest # Example for OpenAI
51
- ```
52
-
53
- ## Using the Speak Method
54
-
55
- The primary method for TTS is the `speak()` method, which converts text to speech. This method can accept options that allows you to specify the speaker and other provider-specific options. Here's how to use it:
56
-
57
- ```typescript
58
- import { Agent } from "@mastra/core/agent";
59
- import { OpenAIVoice } from "@mastra/voice-openai";
60
-
61
- const voice = new OpenAIVoice();
62
-
63
- const agent = new Agent({
64
- id: "voice-agent",
65
- name: "Voice Agent",
66
- instructions:
67
- "You are a voice assistant that can help users with their tasks.",
68
- model: "openai/gpt-5.1",
69
- voice,
70
- });
71
-
72
- const { text } = await agent.generate("What color is the sky?");
73
-
74
- // Convert text to speech to an Audio Stream
75
- const readableStream = await voice.speak(text, {
76
- speaker: "default", // Optional: specify a speaker
77
- properties: {
78
- speed: 1.0, // Optional: adjust speech speed
79
- pitch: "default", // Optional: specify pitch if supported
80
- },
81
- });
82
- ```
83
-
84
- Check out the [Adding Voice to Agents](https://mastra.ai/docs/agents/adding-voice) documentation to learn how to use TTS in an agent.
@@ -1,170 +0,0 @@
1
- # Agents and Tools
2
-
3
- Workflow steps can call agents to leverage LLM reasoning or call tools for type-safe logic. You can either invoke them from within a step's `execute` function or compose them directly as steps using `createStep()`.
4
-
5
- ## Using agents in workflows
6
-
7
- Use agents in workflow steps when you need reasoning, language generation, or other LLM-based tasks. Call from a step's `execute` function for more control over the agent call (e.g., track message history or return structured output). Compose agents as steps when you don't need to modify how the agent is invoked.
8
-
9
- ### Calling agents
10
-
11
- Call agents inside a step's `execute` function using `.generate()` or `.stream()`. This lets you modify the agent call and handle the response before passing it to the next step.
12
-
13
- ```typescript
14
- const step1 = createStep({
15
- execute: async ({ inputData, mastra }) => {
16
- const { message } = inputData;
17
-
18
- const testAgent = mastra.getAgent("testAgent");
19
- const response = await testAgent.generate(
20
- `Convert this message into bullet points: ${message}`,
21
- {
22
- memory: {
23
- thread: "user-123",
24
- resource: "test-123",
25
- },
26
- },
27
- );
28
-
29
- return {
30
- list: response.text,
31
- };
32
- },
33
- });
34
- ```
35
-
36
- ### Agents as steps
37
-
38
- Compose an agent as a step using `createStep()` when you don't need to modify the agent call. Use `.map()` to transform the previous step's output into a `prompt` the agent can use.
39
-
40
- ![Agent as step](/assets/images/workflows-agent-tools-agent-step-b2f5be22552ce514f7f8cd785ffc5604.jpg)
41
-
42
- ```typescript
43
- import { testAgent } from "../agents/test-agent";
44
-
45
- const step1 = createStep(testAgent);
46
-
47
- export const testWorkflow = createWorkflow({
48
- })
49
- .map(async ({ inputData }) => {
50
- const { message } = inputData;
51
- return {
52
- prompt: `Convert this message into bullet points: ${message}`,
53
- };
54
- })
55
- .then(step1)
56
- .then(step2)
57
- .commit();
58
- ```
59
-
60
- > **Info:** Visit [Input Data Mapping](https://mastra.ai/docs/workflows/control-flow) for more information.
61
-
62
- When no `structuredOutput` option is provided, Mastra agents use a default schema that expects a `prompt` string as input and returns a `text` string as output:
63
-
64
- ```json
65
- {
66
- inputSchema: {
67
- prompt: string
68
- },
69
- outputSchema: {
70
- text: string
71
- }
72
- }
73
- ```
74
-
75
- ### Agents with structured output
76
-
77
- When you need the agent to return structured data instead of plain text, pass the `structuredOutput` option to `createStep()`. The step's output schema will match your provided schema, enabling type-safe chaining to subsequent steps.
78
-
79
- ```typescript
80
- const articleSchema = z.object({
81
- title: z.string(),
82
- summary: z.string(),
83
- tags: z.array(z.string()),
84
- });
85
-
86
- const agentStep = createStep(testAgent, {
87
- structuredOutput: { schema: articleSchema },
88
- });
89
-
90
- // Next step receives typed structured data
91
- const processStep = createStep({
92
- id: "process",
93
- inputSchema: articleSchema, // Matches agent's outputSchema
94
- outputSchema: z.object({ tagCount: z.number() }),
95
- execute: async ({ inputData }) => ({
96
- tagCount: inputData.tags.length, // Fully typed
97
- }),
98
- });
99
-
100
- export const testWorkflow = createWorkflow({})
101
- .map(async ({ inputData }) => ({
102
- prompt: `Generate an article about: ${inputData.topic}`,
103
- }))
104
- .then(agentStep)
105
- .then(processStep)
106
- .commit();
107
- ```
108
-
109
- The `structuredOutput.schema` option accepts any Zod schema. The agent will generate output conforming to this schema, and the step's `outputSchema` will be automatically set to match.
110
-
111
- > **Info:** Visit [Structured Output](https://mastra.ai/docs/agents/structured-output) for more options like error handling strategies and streaming with structured output.
112
-
113
- ## Using tools in workflows
114
-
115
- Use tools in workflow steps to leverage existing tool logic. Call from a step's `execute` function when you need to prepare context or process responses. Compose tools as steps when you don't need to modify how the tool is used.
116
-
117
- ### Calling tools
118
-
119
- Call tools inside a step's `execute` function using `.execute()`. This gives you more control over the tool's input context, or process its response before passing it to the next step.
120
-
121
- ```typescript
122
- import { testTool } from "../tools/test-tool";
123
-
124
- const step2 = createStep({
125
- execute: async ({ inputData, requestContext }) => {
126
- const { formatted } = inputData;
127
-
128
- const response = await testTool.execute(
129
- { text: formatted },
130
- { requestContext },
131
- );
132
-
133
- return {
134
- emphasized: response.emphasized,
135
- };
136
- },
137
- });
138
- ```
139
-
140
- > **Info:** Visit [Calling Tools](https://mastra.ai/docs/workflows/agents-and-tools) for more examples.
141
-
142
- ### Tools as steps
143
-
144
- Compose a tool as a step using `createStep()` when the previous step's output matches the tool's input context. You can use `.map()` to transform the previous step's output if they don't.
145
-
146
- ![Tool as step](/assets/images/workflows-agent-tools-tool-step-cfd56227ce83c2d03a8c8d0496faeeef.jpg)
147
-
148
- ```typescript
149
- import { testTool } from "../tools/test-tool";
150
-
151
- const step2 = createStep(testTool);
152
-
153
- export const testWorkflow = createWorkflow({})
154
- .then(step1)
155
- .map(async ({ inputData }) => {
156
- const { formatted } = inputData;
157
- return {
158
- text: formatted,
159
- };
160
- })
161
- .then(step2)
162
- .commit();
163
- ```
164
-
165
- > **Info:** Visit [Input Data Mapping](https://mastra.ai/docs/workflows/control-flow) for more information.
166
-
167
- ## Related
168
-
169
- - [Using Agents](https://mastra.ai/docs/agents/overview)
170
- - [MCP Overview](https://mastra.ai/docs/mcp/overview)