@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,979 +0,0 @@
1
- # Voice in Mastra
2
-
3
- Mastra's Voice system provides a unified interface for voice interactions, enabling text-to-speech (TTS), speech-to-text (STT), and real-time speech-to-speech (STS) capabilities in your applications.
4
-
5
- ## Adding Voice to Agents
6
-
7
- To learn how to integrate voice capabilities into your agents, check out the [Adding Voice to Agents](https://mastra.ai/docs/agents/adding-voice) documentation. This section covers how to use both single and multiple voice providers, as well as real-time interactions.
8
-
9
- ```typescript
10
- import { Agent } from "@mastra/core/agent";
11
- import { OpenAIVoice } from "@mastra/voice-openai";
12
-
13
- // Initialize OpenAI voice for TTS
14
-
15
- const voiceAgent = new Agent({
16
- id: "voice-agent",
17
- name: "Voice Agent",
18
- instructions:
19
- "You are a voice assistant that can help users with their tasks.",
20
- model: "openai/gpt-5.1",
21
- voice: new OpenAIVoice(),
22
- });
23
- ```
24
-
25
- You can then use the following voice capabilities:
26
-
27
- ### Text to Speech (TTS)
28
-
29
- Turn your agent's responses into natural-sounding speech using Mastra's TTS capabilities. Choose from multiple providers like OpenAI, ElevenLabs, and more.
30
-
31
- For detailed configuration options and advanced features, check out our [Text-to-Speech guide](https://mastra.ai/docs/voice/text-to-speech).
32
-
33
- **OpenAI**:
34
-
35
- ```typescript
36
- import { Agent } from "@mastra/core/agent";
37
- import { OpenAIVoice } from "@mastra/voice-openai";
38
- import { playAudio } from "@mastra/node-audio";
39
-
40
- const voiceAgent = new Agent({
41
- id: "voice-agent",
42
- name: "Voice Agent",
43
- instructions:
44
- "You are a voice assistant that can help users with their tasks.",
45
- model: "openai/gpt-5.1",
46
- voice: new OpenAIVoice(),
47
- });
48
-
49
- const { text } = await voiceAgent.generate("What color is the sky?");
50
-
51
- // Convert text to speech to an Audio Stream
52
- const audioStream = await voiceAgent.voice.speak(text, {
53
- speaker: "default", // Optional: specify a speaker
54
- responseFormat: "wav", // Optional: specify a response format
55
- });
56
-
57
- playAudio(audioStream);
58
- ```
59
-
60
- Visit the [OpenAI Voice Reference](https://mastra.ai/reference/voice/openai) for more information on the OpenAI voice provider.
61
-
62
- **Azure**:
63
-
64
- ```typescript
65
- import { Agent } from "@mastra/core/agent";
66
- import { AzureVoice } from "@mastra/voice-azure";
67
- import { playAudio } from "@mastra/node-audio";
68
-
69
- const voiceAgent = new Agent({
70
- id: "voice-agent",
71
- name: "Voice Agent",
72
- instructions:
73
- "You are a voice assistant that can help users with their tasks.",
74
- model: "openai/gpt-5.1",
75
- voice: new AzureVoice(),
76
- });
77
-
78
- const { text } = await voiceAgent.generate("What color is the sky?");
79
-
80
- // Convert text to speech to an Audio Stream
81
- const audioStream = await voiceAgent.voice.speak(text, {
82
- speaker: "en-US-JennyNeural", // Optional: specify a speaker
83
- });
84
-
85
- playAudio(audioStream);
86
- ```
87
-
88
- Visit the [Azure Voice Reference](https://mastra.ai/reference/voice/azure) for more information on the Azure voice provider.
89
-
90
- **ElevenLabs**:
91
-
92
- ```typescript
93
- import { Agent } from "@mastra/core/agent";
94
- import { ElevenLabsVoice } from "@mastra/voice-elevenlabs";
95
- import { playAudio } from "@mastra/node-audio";
96
-
97
- const voiceAgent = new Agent({
98
- id: "voice-agent",
99
- name: "Voice Agent",
100
- instructions:
101
- "You are a voice assistant that can help users with their tasks.",
102
- model: "openai/gpt-5.1",
103
- voice: new ElevenLabsVoice(),
104
- });
105
-
106
- const { text } = await voiceAgent.generate("What color is the sky?");
107
-
108
- // Convert text to speech to an Audio Stream
109
- const audioStream = await voiceAgent.voice.speak(text, {
110
- speaker: "default", // Optional: specify a speaker
111
- });
112
-
113
- playAudio(audioStream);
114
- ```
115
-
116
- Visit the [ElevenLabs Voice Reference](https://mastra.ai/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
117
-
118
- **PlayAI**:
119
-
120
- ```typescript
121
- import { Agent } from "@mastra/core/agent";
122
- import { PlayAIVoice } from "@mastra/voice-playai";
123
- import { playAudio } from "@mastra/node-audio";
124
-
125
- const voiceAgent = new Agent({
126
- id: "voice-agent",
127
- name: "Voice Agent",
128
- instructions:
129
- "You are a voice assistant that can help users with their tasks.",
130
- model: "openai/gpt-5.1",
131
- voice: new PlayAIVoice(),
132
- });
133
-
134
- const { text } = await voiceAgent.generate("What color is the sky?");
135
-
136
- // Convert text to speech to an Audio Stream
137
- const audioStream = await voiceAgent.voice.speak(text, {
138
- speaker: "default", // Optional: specify a speaker
139
- });
140
-
141
- playAudio(audioStream);
142
- ```
143
-
144
- Visit the [PlayAI Voice Reference](https://mastra.ai/reference/voice/playai) for more information on the PlayAI voice provider.
145
-
146
- **Google**:
147
-
148
- ```typescript
149
- import { Agent } from "@mastra/core/agent";
150
- import { GoogleVoice } from "@mastra/voice-google";
151
- import { playAudio } from "@mastra/node-audio";
152
-
153
- const voiceAgent = new Agent({
154
- id: "voice-agent",
155
- name: "Voice Agent",
156
- instructions:
157
- "You are a voice assistant that can help users with their tasks.",
158
- model: "openai/gpt-5.1",
159
- voice: new GoogleVoice(),
160
- });
161
-
162
- const { text } = await voiceAgent.generate("What color is the sky?");
163
-
164
- // Convert text to speech to an Audio Stream
165
- const audioStream = await voiceAgent.voice.speak(text, {
166
- speaker: "en-US-Studio-O", // Optional: specify a speaker
167
- });
168
-
169
- playAudio(audioStream);
170
- ```
171
-
172
- Visit the [Google Voice Reference](https://mastra.ai/reference/voice/google) for more information on the Google voice provider.
173
-
174
- **Cloudflare**:
175
-
176
- ```typescript
177
- import { Agent } from "@mastra/core/agent";
178
- import { CloudflareVoice } from "@mastra/voice-cloudflare";
179
- import { playAudio } from "@mastra/node-audio";
180
-
181
- const voiceAgent = new Agent({
182
- id: "voice-agent",
183
- name: "Voice Agent",
184
- instructions:
185
- "You are a voice assistant that can help users with their tasks.",
186
- model: "openai/gpt-5.1",
187
- voice: new CloudflareVoice(),
188
- });
189
-
190
- const { text } = await voiceAgent.generate("What color is the sky?");
191
-
192
- // Convert text to speech to an Audio Stream
193
- const audioStream = await voiceAgent.voice.speak(text, {
194
- speaker: "default", // Optional: specify a speaker
195
- });
196
-
197
- playAudio(audioStream);
198
- ```
199
-
200
- Visit the [Cloudflare Voice Reference](https://mastra.ai/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
201
-
202
- **Deepgram**:
203
-
204
- ```typescript
205
- import { Agent } from "@mastra/core/agent";
206
- import { DeepgramVoice } from "@mastra/voice-deepgram";
207
- import { playAudio } from "@mastra/node-audio";
208
-
209
- const voiceAgent = new Agent({
210
- id: "voice-agent",
211
- name: "Voice Agent",
212
- instructions:
213
- "You are a voice assistant that can help users with their tasks.",
214
- model: "openai/gpt-5.1",
215
- voice: new DeepgramVoice(),
216
- });
217
-
218
- const { text } = await voiceAgent.generate("What color is the sky?");
219
-
220
- // Convert text to speech to an Audio Stream
221
- const audioStream = await voiceAgent.voice.speak(text, {
222
- speaker: "aura-english-us", // Optional: specify a speaker
223
- });
224
-
225
- playAudio(audioStream);
226
- ```
227
-
228
- Visit the [Deepgram Voice Reference](https://mastra.ai/reference/voice/deepgram) for more information on the Deepgram voice provider.
229
-
230
- **Speechify**:
231
-
232
- ```typescript
233
- import { Agent } from "@mastra/core/agent";
234
- import { SpeechifyVoice } from "@mastra/voice-speechify";
235
- import { playAudio } from "@mastra/node-audio";
236
-
237
- const voiceAgent = new Agent({
238
- id: "voice-agent",
239
- name: "Voice Agent",
240
- instructions:
241
- "You are a voice assistant that can help users with their tasks.",
242
- model: "openai/gpt-5.1",
243
- voice: new SpeechifyVoice(),
244
- });
245
-
246
- const { text } = await voiceAgent.generate("What color is the sky?");
247
-
248
- // Convert text to speech to an Audio Stream
249
- const audioStream = await voiceAgent.voice.speak(text, {
250
- speaker: "matthew", // Optional: specify a speaker
251
- });
252
-
253
- playAudio(audioStream);
254
- ```
255
-
256
- Visit the [Speechify Voice Reference](https://mastra.ai/reference/voice/speechify) for more information on the Speechify voice provider.
257
-
258
- **Sarvam**:
259
-
260
- ```typescript
261
- import { Agent } from "@mastra/core/agent";
262
- import { SarvamVoice } from "@mastra/voice-sarvam";
263
- import { playAudio } from "@mastra/node-audio";
264
-
265
- const voiceAgent = new Agent({
266
- id: "voice-agent",
267
- name: "Voice Agent",
268
- instructions:
269
- "You are a voice assistant that can help users with their tasks.",
270
- model: "openai/gpt-5.1",
271
- voice: new SarvamVoice(),
272
- });
273
-
274
- const { text } = await voiceAgent.generate("What color is the sky?");
275
-
276
- // Convert text to speech to an Audio Stream
277
- const audioStream = await voiceAgent.voice.speak(text, {
278
- speaker: "default", // Optional: specify a speaker
279
- });
280
-
281
- playAudio(audioStream);
282
- ```
283
-
284
- Visit the [Sarvam Voice Reference](https://mastra.ai/reference/voice/sarvam) for more information on the Sarvam voice provider.
285
-
286
- **Murf**:
287
-
288
- ```typescript
289
- import { Agent } from "@mastra/core/agent";
290
- import { MurfVoice } from "@mastra/voice-murf";
291
- import { playAudio } from "@mastra/node-audio";
292
-
293
- const voiceAgent = new Agent({
294
- id: "voice-agent",
295
- name: "Voice Agent",
296
- instructions:
297
- "You are a voice assistant that can help users with their tasks.",
298
- model: "openai/gpt-5.1",
299
- voice: new MurfVoice(),
300
- });
301
-
302
- const { text } = await voiceAgent.generate("What color is the sky?");
303
-
304
- // Convert text to speech to an Audio Stream
305
- const audioStream = await voiceAgent.voice.speak(text, {
306
- speaker: "default", // Optional: specify a speaker
307
- });
308
-
309
- playAudio(audioStream);
310
- ```
311
-
312
- Visit the [Murf Voice Reference](https://mastra.ai/reference/voice/murf) for more information on the Murf voice provider.
313
-
314
- ### Speech to Text (STT)
315
-
316
- Transcribe spoken content using various providers like OpenAI, ElevenLabs, and more. For detailed configuration options and more, check out [Speech to Text](https://mastra.ai/docs/voice/speech-to-text).
317
-
318
- You can download a sample audio file from [here](https://github.com/mastra-ai/realtime-voice-demo/raw/refs/heads/main/how_can_i_help_you.mp3).
319
-
320
- [](https://github.com/mastra-ai/realtime-voice-demo/raw/refs/heads/main/how_can_i_help_you.mp3)
321
-
322
- **OpenAI**:
323
-
324
- ```typescript
325
- import { Agent } from "@mastra/core/agent";
326
- import { OpenAIVoice } from "@mastra/voice-openai";
327
- import { createReadStream } from "fs";
328
-
329
- const voiceAgent = new Agent({
330
- id: "voice-agent",
331
- name: "Voice Agent",
332
- instructions:
333
- "You are a voice assistant that can help users with their tasks.",
334
- model: "openai/gpt-5.1",
335
- voice: new OpenAIVoice(),
336
- });
337
-
338
- // Use an audio file from a URL
339
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
340
-
341
- // Convert audio to text
342
- const transcript = await voiceAgent.voice.listen(audioStream);
343
- console.log(`User said: ${transcript}`);
344
-
345
- // Generate a response based on the transcript
346
- const { text } = await voiceAgent.generate(transcript);
347
- ```
348
-
349
- Visit the [OpenAI Voice Reference](https://mastra.ai/reference/voice/openai) for more information on the OpenAI voice provider.
350
-
351
- **Azure**:
352
-
353
- ```typescript
354
- import { createReadStream } from "fs";
355
- import { Agent } from "@mastra/core/agent";
356
- import { AzureVoice } from "@mastra/voice-azure";
357
- import { createReadStream } from "fs";
358
-
359
- const voiceAgent = new Agent({
360
- id: "voice-agent",
361
- name: "Voice Agent",
362
- instructions:
363
- "You are a voice assistant that can help users with their tasks.",
364
- model: "openai/gpt-5.1",
365
- voice: new AzureVoice(),
366
- });
367
-
368
- // Use an audio file from a URL
369
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
370
-
371
- // Convert audio to text
372
- const transcript = await voiceAgent.voice.listen(audioStream);
373
- console.log(`User said: ${transcript}`);
374
-
375
- // Generate a response based on the transcript
376
- const { text } = await voiceAgent.generate(transcript);
377
- ```
378
-
379
- Visit the [Azure Voice Reference](https://mastra.ai/reference/voice/azure) for more information on the Azure voice provider.
380
-
381
- **ElevenLabs**:
382
-
383
- ```typescript
384
- import { Agent } from "@mastra/core/agent";
385
- import { ElevenLabsVoice } from "@mastra/voice-elevenlabs";
386
- import { createReadStream } from "fs";
387
-
388
- const voiceAgent = new Agent({
389
- id: "voice-agent",
390
- name: "Voice Agent",
391
- instructions:
392
- "You are a voice assistant that can help users with their tasks.",
393
- model: "openai/gpt-5.1",
394
- voice: new ElevenLabsVoice(),
395
- });
396
-
397
- // Use an audio file from a URL
398
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
399
-
400
- // Convert audio to text
401
- const transcript = await voiceAgent.voice.listen(audioStream);
402
- console.log(`User said: ${transcript}`);
403
-
404
- // Generate a response based on the transcript
405
- const { text } = await voiceAgent.generate(transcript);
406
- ```
407
-
408
- Visit the [ElevenLabs Voice Reference](https://mastra.ai/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
409
-
410
- **Google**:
411
-
412
- ```typescript
413
- import { Agent } from "@mastra/core/agent";
414
- import { GoogleVoice } from "@mastra/voice-google";
415
- import { createReadStream } from "fs";
416
-
417
- const voiceAgent = new Agent({
418
- id: "voice-agent",
419
- name: "Voice Agent",
420
- instructions:
421
- "You are a voice assistant that can help users with their tasks.",
422
- model: "openai/gpt-5.1",
423
- voice: new GoogleVoice(),
424
- });
425
-
426
- // Use an audio file from a URL
427
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
428
-
429
- // Convert audio to text
430
- const transcript = await voiceAgent.voice.listen(audioStream);
431
- console.log(`User said: ${transcript}`);
432
-
433
- // Generate a response based on the transcript
434
- const { text } = await voiceAgent.generate(transcript);
435
- ```
436
-
437
- Visit the [Google Voice Reference](https://mastra.ai/reference/voice/google) for more information on the Google voice provider.
438
-
439
- **Cloudflare**:
440
-
441
- ```typescript
442
- import { Agent } from "@mastra/core/agent";
443
- import { CloudflareVoice } from "@mastra/voice-cloudflare";
444
- import { createReadStream } from "fs";
445
-
446
- const voiceAgent = new Agent({
447
- id: "voice-agent",
448
- name: "Voice Agent",
449
- instructions:
450
- "You are a voice assistant that can help users with their tasks.",
451
- model: "openai/gpt-5.1",
452
- voice: new CloudflareVoice(),
453
- });
454
-
455
- // Use an audio file from a URL
456
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
457
-
458
- // Convert audio to text
459
- const transcript = await voiceAgent.voice.listen(audioStream);
460
- console.log(`User said: ${transcript}`);
461
-
462
- // Generate a response based on the transcript
463
- const { text } = await voiceAgent.generate(transcript);
464
- ```
465
-
466
- Visit the [Cloudflare Voice Reference](https://mastra.ai/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
467
-
468
- **Deepgram**:
469
-
470
- ```typescript
471
- import { Agent } from "@mastra/core/agent";
472
- import { DeepgramVoice } from "@mastra/voice-deepgram";
473
- import { createReadStream } from "fs";
474
-
475
- const voiceAgent = new Agent({
476
- id: "voice-agent",
477
- name: "Voice Agent",
478
- instructions:
479
- "You are a voice assistant that can help users with their tasks.",
480
- model: "openai/gpt-5.1",
481
- voice: new DeepgramVoice(),
482
- });
483
-
484
- // Use an audio file from a URL
485
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
486
-
487
- // Convert audio to text
488
- const transcript = await voiceAgent.voice.listen(audioStream);
489
- console.log(`User said: ${transcript}`);
490
-
491
- // Generate a response based on the transcript
492
- const { text } = await voiceAgent.generate(transcript);
493
- ```
494
-
495
- Visit the [Deepgram Voice Reference](https://mastra.ai/reference/voice/deepgram) for more information on the Deepgram voice provider.
496
-
497
- **Sarvam**:
498
-
499
- ```typescript
500
- import { Agent } from "@mastra/core/agent";
501
- import { SarvamVoice } from "@mastra/voice-sarvam";
502
- import { createReadStream } from "fs";
503
-
504
- const voiceAgent = new Agent({
505
- id: "voice-agent",
506
- name: "Voice Agent",
507
- instructions:
508
- "You are a voice assistant that can help users with their tasks.",
509
- model: "openai/gpt-5.1",
510
- voice: new SarvamVoice(),
511
- });
512
-
513
- // Use an audio file from a URL
514
- const audioStream = await createReadStream("./how_can_i_help_you.mp3");
515
-
516
- // Convert audio to text
517
- const transcript = await voiceAgent.voice.listen(audioStream);
518
- console.log(`User said: ${transcript}`);
519
-
520
- // Generate a response based on the transcript
521
- const { text } = await voiceAgent.generate(transcript);
522
- ```
523
-
524
- Visit the [Sarvam Voice Reference](https://mastra.ai/reference/voice/sarvam) for more information on the Sarvam voice provider.
525
-
526
- ### Speech to Speech (STS)
527
-
528
- Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents. For detailed configuration options and advanced features, check out [Speech to Speech](https://mastra.ai/docs/voice/speech-to-speech).
529
-
530
- **OpenAI**:
531
-
532
- ```typescript
533
- import { Agent } from "@mastra/core/agent";
534
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
535
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
536
-
537
- const voiceAgent = new Agent({
538
- id: "voice-agent",
539
- name: "Voice Agent",
540
- instructions:
541
- "You are a voice assistant that can help users with their tasks.",
542
- model: "openai/gpt-5.1",
543
- voice: new OpenAIRealtimeVoice(),
544
- });
545
-
546
- // Listen for agent audio responses
547
- voiceAgent.voice.on("speaker", ({ audio }) => {
548
- playAudio(audio);
549
- });
550
-
551
- // Initiate the conversation
552
- await voiceAgent.voice.speak("How can I help you today?");
553
-
554
- // Send continuous audio from the microphone
555
- const micStream = getMicrophoneStream();
556
- await voiceAgent.voice.send(micStream);
557
- ```
558
-
559
- Visit the [OpenAI Voice Reference](https://mastra.ai/reference/voice/openai-realtime) for more information on the OpenAI voice provider.
560
-
561
- **Google**:
562
-
563
- ```typescript
564
- import { Agent } from "@mastra/core/agent";
565
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
566
- import { GeminiLiveVoice } from "@mastra/voice-google-gemini-live";
567
-
568
- const voiceAgent = new Agent({
569
- id: "voice-agent",
570
- name: "Voice Agent",
571
- instructions:
572
- "You are a voice assistant that can help users with their tasks.",
573
- model: "openai/gpt-5.1",
574
- voice: new GeminiLiveVoice({
575
- // Live API mode
576
- apiKey: process.env.GOOGLE_API_KEY,
577
- model: "gemini-2.0-flash-exp",
578
- speaker: "Puck",
579
- debug: true,
580
- // Vertex AI alternative:
581
- // vertexAI: true,
582
- // project: 'your-gcp-project',
583
- // location: 'us-central1',
584
- // serviceAccountKeyFile: '/path/to/service-account.json',
585
- }),
586
- });
587
-
588
- // Connect before using speak/send
589
- await voiceAgent.voice.connect();
590
-
591
- // Listen for agent audio responses
592
- voiceAgent.voice.on("speaker", ({ audio }) => {
593
- playAudio(audio);
594
- });
595
-
596
- // Listen for text responses and transcriptions
597
- voiceAgent.voice.on("writing", ({ text, role }) => {
598
- console.log(`${role}: ${text}`);
599
- });
600
-
601
- // Initiate the conversation
602
- await voiceAgent.voice.speak("How can I help you today?");
603
-
604
- // Send continuous audio from the microphone
605
- const micStream = getMicrophoneStream();
606
- await voiceAgent.voice.send(micStream);
607
- ```
608
-
609
- Visit the [Google Gemini Live Reference](https://mastra.ai/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
610
-
611
- ## Voice Configuration
612
-
613
- Each voice provider can be configured with different models and options. Below are the detailed configuration options for all supported providers:
614
-
615
- **OpenAI**:
616
-
617
- ```typescript
618
- // OpenAI Voice Configuration
619
- const voice = new OpenAIVoice({
620
- speechModel: {
621
- name: "gpt-3.5-turbo", // Example model name
622
- apiKey: process.env.OPENAI_API_KEY,
623
- language: "en-US", // Language code
624
- voiceType: "neural", // Type of voice model
625
- },
626
- listeningModel: {
627
- name: "whisper-1", // Example model name
628
- apiKey: process.env.OPENAI_API_KEY,
629
- language: "en-US", // Language code
630
- format: "wav", // Audio format
631
- },
632
- speaker: "alloy", // Example speaker name
633
- });
634
- ```
635
-
636
- Visit the [OpenAI Voice Reference](https://mastra.ai/reference/voice/openai) for more information on the OpenAI voice provider.
637
-
638
- **Azure**:
639
-
640
- ```typescript
641
- // Azure Voice Configuration
642
- const voice = new AzureVoice({
643
- speechModel: {
644
- name: "en-US-JennyNeural", // Example model name
645
- apiKey: process.env.AZURE_SPEECH_KEY,
646
- region: process.env.AZURE_SPEECH_REGION,
647
- language: "en-US", // Language code
648
- style: "cheerful", // Voice style
649
- pitch: "+0Hz", // Pitch adjustment
650
- rate: "1.0", // Speech rate
651
- },
652
- listeningModel: {
653
- name: "en-US", // Example model name
654
- apiKey: process.env.AZURE_SPEECH_KEY,
655
- region: process.env.AZURE_SPEECH_REGION,
656
- format: "simple", // Output format
657
- },
658
- });
659
- ```
660
-
661
- Visit the [Azure Voice Reference](https://mastra.ai/reference/voice/azure) for more information on the Azure voice provider.
662
-
663
- **ElevenLabs**:
664
-
665
- ```typescript
666
- // ElevenLabs Voice Configuration
667
- const voice = new ElevenLabsVoice({
668
- speechModel: {
669
- voiceId: "your-voice-id", // Example voice ID
670
- model: "eleven_multilingual_v2", // Example model name
671
- apiKey: process.env.ELEVENLABS_API_KEY,
672
- language: "en", // Language code
673
- emotion: "neutral", // Emotion setting
674
- },
675
- // ElevenLabs may not have a separate listening model
676
- });
677
- ```
678
-
679
- Visit the [ElevenLabs Voice Reference](https://mastra.ai/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
680
-
681
- **PlayAI**:
682
-
683
- ```typescript
684
- // PlayAI Voice Configuration
685
- const voice = new PlayAIVoice({
686
- speechModel: {
687
- name: "playai-voice", // Example model name
688
- speaker: "emma", // Example speaker name
689
- apiKey: process.env.PLAYAI_API_KEY,
690
- language: "en-US", // Language code
691
- speed: 1.0, // Speech speed
692
- },
693
- // PlayAI may not have a separate listening model
694
- });
695
- ```
696
-
697
- Visit the [PlayAI Voice Reference](https://mastra.ai/reference/voice/playai) for more information on the PlayAI voice provider.
698
-
699
- **Google**:
700
-
701
- ```typescript
702
- // Google Voice Configuration
703
- const voice = new GoogleVoice({
704
- speechModel: {
705
- name: "en-US-Studio-O", // Example model name
706
- apiKey: process.env.GOOGLE_API_KEY,
707
- languageCode: "en-US", // Language code
708
- gender: "FEMALE", // Voice gender
709
- speakingRate: 1.0, // Speaking rate
710
- },
711
- listeningModel: {
712
- name: "en-US", // Example model name
713
- sampleRateHertz: 16000, // Sample rate
714
- },
715
- });
716
- ```
717
-
718
- Visit the [Google Voice Reference](https://mastra.ai/reference/voice/google) for more information on the Google voice provider.
719
-
720
- **Cloudflare**:
721
-
722
- ```typescript
723
- // Cloudflare Voice Configuration
724
- const voice = new CloudflareVoice({
725
- speechModel: {
726
- name: "cloudflare-voice", // Example model name
727
- accountId: process.env.CLOUDFLARE_ACCOUNT_ID,
728
- apiToken: process.env.CLOUDFLARE_API_TOKEN,
729
- language: "en-US", // Language code
730
- format: "mp3", // Audio format
731
- },
732
- // Cloudflare may not have a separate listening model
733
- });
734
- ```
735
-
736
- Visit the [Cloudflare Voice Reference](https://mastra.ai/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
737
-
738
- **Deepgram**:
739
-
740
- ```typescript
741
- // Deepgram Voice Configuration
742
- const voice = new DeepgramVoice({
743
- speechModel: {
744
- name: "nova-2", // Example model name
745
- speaker: "aura-english-us", // Example speaker name
746
- apiKey: process.env.DEEPGRAM_API_KEY,
747
- language: "en-US", // Language code
748
- tone: "formal", // Tone setting
749
- },
750
- listeningModel: {
751
- name: "nova-2", // Example model name
752
- format: "flac", // Audio format
753
- },
754
- });
755
- ```
756
-
757
- Visit the [Deepgram Voice Reference](https://mastra.ai/reference/voice/deepgram) for more information on the Deepgram voice provider.
758
-
759
- **Speechify**:
760
-
761
- ```typescript
762
- // Speechify Voice Configuration
763
- const voice = new SpeechifyVoice({
764
- speechModel: {
765
- name: "speechify-voice", // Example model name
766
- speaker: "matthew", // Example speaker name
767
- apiKey: process.env.SPEECHIFY_API_KEY,
768
- language: "en-US", // Language code
769
- speed: 1.0, // Speech speed
770
- },
771
- // Speechify may not have a separate listening model
772
- });
773
- ```
774
-
775
- Visit the [Speechify Voice Reference](https://mastra.ai/reference/voice/speechify) for more information on the Speechify voice provider.
776
-
777
- **Sarvam**:
778
-
779
- ```typescript
780
- // Sarvam Voice Configuration
781
- const voice = new SarvamVoice({
782
- speechModel: {
783
- name: "sarvam-voice", // Example model name
784
- apiKey: process.env.SARVAM_API_KEY,
785
- language: "en-IN", // Language code
786
- style: "conversational", // Style setting
787
- },
788
- // Sarvam may not have a separate listening model
789
- });
790
- ```
791
-
792
- Visit the [Sarvam Voice Reference](https://mastra.ai/reference/voice/sarvam) for more information on the Sarvam voice provider.
793
-
794
- **Murf**:
795
-
796
- ```typescript
797
- // Murf Voice Configuration
798
- const voice = new MurfVoice({
799
- speechModel: {
800
- name: "murf-voice", // Example model name
801
- apiKey: process.env.MURF_API_KEY,
802
- language: "en-US", // Language code
803
- emotion: "happy", // Emotion setting
804
- },
805
- // Murf may not have a separate listening model
806
- });
807
- ```
808
-
809
- Visit the [Murf Voice Reference](https://mastra.ai/reference/voice/murf) for more information on the Murf voice provider.
810
-
811
- **OpenAI Realtime**:
812
-
813
- ```typescript
814
- // OpenAI Realtime Voice Configuration
815
- const voice = new OpenAIRealtimeVoice({
816
- speechModel: {
817
- name: "gpt-3.5-turbo", // Example model name
818
- apiKey: process.env.OPENAI_API_KEY,
819
- language: "en-US", // Language code
820
- },
821
- listeningModel: {
822
- name: "whisper-1", // Example model name
823
- apiKey: process.env.OPENAI_API_KEY,
824
- format: "ogg", // Audio format
825
- },
826
- speaker: "alloy", // Example speaker name
827
- });
828
- ```
829
-
830
- For more information on the OpenAI Realtime voice provider, refer to the [OpenAI Realtime Voice Reference](https://mastra.ai/reference/voice/openai-realtime).
831
-
832
- **Google Gemini Live**:
833
-
834
- ```typescript
835
- // Google Gemini Live Voice Configuration
836
- const voice = new GeminiLiveVoice({
837
- speechModel: {
838
- name: "gemini-2.0-flash-exp", // Example model name
839
- apiKey: process.env.GOOGLE_API_KEY,
840
- },
841
- speaker: "Puck", // Example speaker name
842
- // Google Gemini Live is a realtime bidirectional API without separate speech and listening models
843
- });
844
- ```
845
-
846
- Visit the [Google Gemini Live Reference](https://mastra.ai/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
847
-
848
- **AI SDK**:
849
-
850
- ```typescript
851
- // AI SDK Voice Configuration
852
- import { CompositeVoice } from "@mastra/core/voice";
853
- import { openai } from "@ai-sdk/openai";
854
- import { elevenlabs } from "@ai-sdk/elevenlabs";
855
-
856
- // Use AI SDK models directly - no need to install separate packages
857
- const voice = new CompositeVoice({
858
- input: openai.transcription('whisper-1'), // AI SDK transcription
859
- output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK speech
860
- });
861
-
862
- // Works seamlessly with your agent
863
- const voiceAgent = new Agent({
864
- id: "aisdk-voice-agent",
865
- name: "AI SDK Voice Agent",
866
- instructions: "You are a helpful assistant with voice capabilities.",
867
- model: "openai/gpt-5.1",
868
- voice,
869
- });
870
- ```
871
-
872
- ### Using Multiple Voice Providers
873
-
874
- This example demonstrates how to create and use two different voice providers in Mastra: OpenAI for speech-to-text (STT) and PlayAI for text-to-speech (TTS).
875
-
876
- Start by creating instances of the voice providers with any necessary configuration.
877
-
878
- ```typescript
879
- import { OpenAIVoice } from "@mastra/voice-openai";
880
- import { PlayAIVoice } from "@mastra/voice-playai";
881
- import { CompositeVoice } from "@mastra/core/voice";
882
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
883
-
884
- // Initialize OpenAI voice for STT
885
- const input = new OpenAIVoice({
886
- listeningModel: {
887
- name: "whisper-1",
888
- apiKey: process.env.OPENAI_API_KEY,
889
- },
890
- });
891
-
892
- // Initialize PlayAI voice for TTS
893
- const output = new PlayAIVoice({
894
- speechModel: {
895
- name: "playai-voice",
896
- apiKey: process.env.PLAYAI_API_KEY,
897
- },
898
- });
899
-
900
- // Combine the providers using CompositeVoice
901
- const voice = new CompositeVoice({
902
- input,
903
- output,
904
- });
905
-
906
- // Implement voice interactions using the combined voice provider
907
- const audioStream = getMicrophoneStream(); // Assume this function gets audio input
908
- const transcript = await voice.listen(audioStream);
909
-
910
- // Log the transcribed text
911
- console.log("Transcribed text:", transcript);
912
-
913
- // Convert text to speech
914
- const responseAudio = await voice.speak(`You said: ${transcript}`, {
915
- speaker: "default", // Optional: specify a speaker,
916
- responseFormat: "wav", // Optional: specify a response format
917
- });
918
-
919
- // Play the audio response
920
- playAudio(responseAudio);
921
- ```
922
-
923
- ### Using AI SDK Model Providers
924
-
925
- You can also use AI SDK models directly with `CompositeVoice`:
926
-
927
- ```typescript
928
- import { CompositeVoice } from "@mastra/core/voice";
929
- import { openai } from "@ai-sdk/openai";
930
- import { elevenlabs } from "@ai-sdk/elevenlabs";
931
- import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
932
-
933
- // Use AI SDK models directly - no provider setup needed
934
- const voice = new CompositeVoice({
935
- input: openai.transcription('whisper-1'), // AI SDK transcription
936
- output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK speech
937
- });
938
-
939
- // Works the same way as Mastra providers
940
- const audioStream = getMicrophoneStream();
941
- const transcript = await voice.listen(audioStream);
942
-
943
- console.log("Transcribed text:", transcript);
944
-
945
- // Convert text to speech
946
- const responseAudio = await voice.speak(`You said: ${transcript}`, {
947
- speaker: "Rachel", // ElevenLabs voice
948
- });
949
-
950
- playAudio(responseAudio);
951
- ```
952
-
953
- You can also mix AI SDK models with Mastra providers:
954
-
955
- ```typescript
956
- import { CompositeVoice } from "@mastra/core/voice";
957
- import { PlayAIVoice } from "@mastra/voice-playai";
958
- import { groq } from "@ai-sdk/groq";
959
-
960
- const voice = new CompositeVoice({
961
- input: groq.transcription('whisper-large-v3'), // AI SDK for STT
962
- output: new PlayAIVoice(), // Mastra provider for TTS
963
- });
964
- ```
965
-
966
- For more information on the CompositeVoice, refer to the [CompositeVoice Reference](https://mastra.ai/reference/voice/composite-voice).
967
-
968
- ## More Resources
969
-
970
- - [CompositeVoice](https://mastra.ai/reference/voice/composite-voice)
971
- - [MastraVoice](https://mastra.ai/reference/voice/mastra-voice)
972
- - [OpenAI Voice](https://mastra.ai/reference/voice/openai)
973
- - [OpenAI Realtime Voice](https://mastra.ai/reference/voice/openai-realtime)
974
- - [Azure Voice](https://mastra.ai/reference/voice/azure)
975
- - [Google Voice](https://mastra.ai/reference/voice/google)
976
- - [Google Gemini Live Voice](https://mastra.ai/reference/voice/google-gemini-live)
977
- - [Deepgram Voice](https://mastra.ai/reference/voice/deepgram)
978
- - [PlayAI Voice](https://mastra.ai/reference/voice/playai)
979
- - [Voice Examples](https://github.com/mastra-ai/voice-examples)