@mastra/core 1.6.0 → 1.7.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 (453) hide show
  1. package/CHANGELOG.md +236 -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-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
  7. package/dist/chunk-2X66GWF5.cjs.map +1 -0
  8. package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
  9. package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
  10. package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
  11. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
  12. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  13. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  14. package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
  15. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
  16. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  17. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  18. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  19. package/dist/chunk-GPJGPARM.js.map +1 -0
  20. package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
  21. package/dist/chunk-HB6T4554.cjs.map +1 -0
  22. package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
  23. package/dist/chunk-KUXNBWN7.js.map +1 -0
  24. package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
  25. package/dist/chunk-QSHV7GPT.js.map +1 -0
  26. package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
  27. package/dist/chunk-QTAS3HND.cjs.map +1 -0
  28. package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
  29. package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
  30. package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
  31. package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
  32. package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
  33. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
  34. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  35. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  36. package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
  37. package/dist/chunk-T6GAM3SQ.js.map +1 -0
  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/base/output.d.ts.map +1 -1
  92. package/dist/stream/index.cjs +8 -8
  93. package/dist/stream/index.js +1 -1
  94. package/dist/tool-loop-agent/index.cjs +4 -4
  95. package/dist/tool-loop-agent/index.js +1 -1
  96. package/dist/vector/index.cjs +7 -7
  97. package/dist/vector/index.js +1 -1
  98. package/dist/workflows/evented/index.cjs +10 -10
  99. package/dist/workflows/evented/index.js +1 -1
  100. package/dist/workflows/index.cjs +25 -25
  101. package/dist/workflows/index.js +1 -1
  102. package/dist/workspace/constants/index.d.ts +2 -0
  103. package/dist/workspace/constants/index.d.ts.map +1 -1
  104. package/dist/workspace/errors.d.ts +1 -1
  105. package/dist/workspace/errors.d.ts.map +1 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  107. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  108. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  109. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  110. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  111. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  112. package/dist/workspace/filesystem/index.d.ts +1 -0
  113. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  115. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  116. package/dist/workspace/index.cjs +72 -64
  117. package/dist/workspace/index.d.ts +3 -2
  118. package/dist/workspace/index.d.ts.map +1 -1
  119. package/dist/workspace/index.js +1 -1
  120. package/dist/workspace/lifecycle.d.ts +1 -9
  121. package/dist/workspace/lifecycle.d.ts.map +1 -1
  122. package/dist/workspace/sandbox/index.d.ts +2 -0
  123. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  124. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  125. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  126. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  127. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  129. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  131. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  133. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  135. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  136. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  137. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  139. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  141. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  143. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  144. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  145. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  146. package/dist/workspace/sandbox/types.d.ts +9 -2
  147. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  148. package/dist/workspace/sandbox/utils.d.ts +7 -0
  149. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  150. package/dist/workspace/tools/execute-command.d.ts +53 -2
  151. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  152. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  153. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  154. package/dist/workspace/tools/index.d.ts +4 -1
  155. package/dist/workspace/tools/index.d.ts.map +1 -1
  156. package/dist/workspace/tools/kill-process.d.ts +4 -0
  157. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  158. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  159. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  160. package/dist/workspace/tools/tools.d.ts.map +1 -1
  161. package/dist/workspace/types.d.ts +31 -0
  162. package/dist/workspace/types.d.ts.map +1 -1
  163. package/dist/workspace/utils.d.ts +11 -0
  164. package/dist/workspace/utils.d.ts.map +1 -0
  165. package/dist/workspace/workspace.d.ts +36 -0
  166. package/dist/workspace/workspace.d.ts.map +1 -1
  167. package/package.json +7 -7
  168. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  169. package/dist/chunk-5K45E5VE.js.map +0 -1
  170. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  171. package/dist/chunk-DGS2KGDI.js.map +0 -1
  172. package/dist/chunk-IHDE4CJV.js.map +0 -1
  173. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  174. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  175. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  176. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  177. package/dist/chunk-XB3DA67Q.js.map +0 -1
  178. package/dist/docs/SKILL.md +0 -301
  179. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  180. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  181. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  182. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  183. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  184. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  185. package/dist/docs/references/docs-agents-networks.md +0 -290
  186. package/dist/docs/references/docs-agents-overview.md +0 -309
  187. package/dist/docs/references/docs-agents-processors.md +0 -632
  188. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  189. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  190. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  191. package/dist/docs/references/docs-evals-overview.md +0 -146
  192. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  193. package/dist/docs/references/docs-mcp-overview.md +0 -370
  194. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  195. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  196. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  197. package/dist/docs/references/docs-memory-overview.md +0 -45
  198. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  199. package/dist/docs/references/docs-memory-storage.md +0 -261
  200. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  201. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  202. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  203. package/dist/docs/references/docs-observability-logging.md +0 -99
  204. package/dist/docs/references/docs-observability-overview.md +0 -70
  205. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  206. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  207. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  208. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  209. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  210. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  211. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  212. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  213. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  214. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  215. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  216. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  217. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  218. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  219. package/dist/docs/references/docs-rag-overview.md +0 -72
  220. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  221. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  222. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  223. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  224. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  225. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  226. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  227. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  228. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  229. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  230. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  231. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  232. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  233. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  234. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  235. package/dist/docs/references/docs-server-middleware.md +0 -228
  236. package/dist/docs/references/docs-server-request-context.md +0 -478
  237. package/dist/docs/references/docs-streaming-events.md +0 -247
  238. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  239. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  240. package/dist/docs/references/docs-voice-overview.md +0 -979
  241. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  242. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  243. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  244. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  245. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  246. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  247. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  248. package/dist/docs/references/docs-workflows-overview.md +0 -372
  249. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  250. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  251. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  252. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  253. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  254. package/dist/docs/references/docs-workspace-overview.md +0 -239
  255. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  256. package/dist/docs/references/docs-workspace-search.md +0 -219
  257. package/dist/docs/references/docs-workspace-skills.md +0 -126
  258. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  259. package/dist/docs/references/reference-agents-agent.md +0 -142
  260. package/dist/docs/references/reference-agents-generate.md +0 -174
  261. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  262. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  263. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  264. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  265. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  266. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  267. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  268. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  269. package/dist/docs/references/reference-agents-getModel.md +0 -34
  270. package/dist/docs/references/reference-agents-getTools.md +0 -29
  271. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  272. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  273. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  274. package/dist/docs/references/reference-agents-listTools.md +0 -34
  275. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  276. package/dist/docs/references/reference-agents-network.md +0 -134
  277. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  278. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  279. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  280. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  281. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  282. package/dist/docs/references/reference-auth-auth0.md +0 -73
  283. package/dist/docs/references/reference-auth-clerk.md +0 -36
  284. package/dist/docs/references/reference-auth-firebase.md +0 -80
  285. package/dist/docs/references/reference-auth-jwt.md +0 -26
  286. package/dist/docs/references/reference-auth-supabase.md +0 -33
  287. package/dist/docs/references/reference-auth-workos.md +0 -84
  288. package/dist/docs/references/reference-client-js-agents.md +0 -438
  289. package/dist/docs/references/reference-configuration.md +0 -749
  290. package/dist/docs/references/reference-core-addGateway.md +0 -42
  291. package/dist/docs/references/reference-core-getAgent.md +0 -21
  292. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  293. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  294. package/dist/docs/references/reference-core-getGateway.md +0 -38
  295. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  296. package/dist/docs/references/reference-core-getLogger.md +0 -22
  297. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  298. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  299. package/dist/docs/references/reference-core-getMemory.md +0 -50
  300. package/dist/docs/references/reference-core-getScorer.md +0 -54
  301. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  302. package/dist/docs/references/reference-core-getServer.md +0 -22
  303. package/dist/docs/references/reference-core-getStorage.md +0 -22
  304. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  305. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  306. package/dist/docs/references/reference-core-getVector.md +0 -22
  307. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  308. package/dist/docs/references/reference-core-listAgents.md +0 -21
  309. package/dist/docs/references/reference-core-listGateways.md +0 -40
  310. package/dist/docs/references/reference-core-listLogs.md +0 -38
  311. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  312. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  313. package/dist/docs/references/reference-core-listMemory.md +0 -56
  314. package/dist/docs/references/reference-core-listScorers.md +0 -29
  315. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  316. package/dist/docs/references/reference-core-listVectors.md +0 -22
  317. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  318. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  319. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  320. package/dist/docs/references/reference-core-setLogger.md +0 -26
  321. package/dist/docs/references/reference-core-setStorage.md +0 -27
  322. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  323. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  324. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  325. package/dist/docs/references/reference-datasets-create.md +0 -49
  326. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  327. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  328. package/dist/docs/references/reference-datasets-delete.md +0 -23
  329. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  331. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  332. package/dist/docs/references/reference-datasets-get.md +0 -29
  333. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  334. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  335. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  336. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  337. package/dist/docs/references/reference-datasets-list.md +0 -29
  338. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  339. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  340. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  341. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  342. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  343. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  344. package/dist/docs/references/reference-datasets-update.md +0 -46
  345. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  346. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  347. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  348. package/dist/docs/references/reference-evals-bias.md +0 -120
  349. package/dist/docs/references/reference-evals-completeness.md +0 -137
  350. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  351. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  352. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  353. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  354. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  355. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  356. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  357. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  358. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  359. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  360. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  361. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  362. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  363. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  364. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  365. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  366. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  367. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  368. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  369. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  370. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  371. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  372. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  373. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  374. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  375. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  376. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  377. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  378. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  379. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  380. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  381. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  382. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  383. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  384. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  385. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  386. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  387. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  388. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  389. package/dist/docs/references/reference-rag-database-config.md +0 -264
  390. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  391. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  392. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  393. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  394. package/dist/docs/references/reference-storage-composite.md +0 -235
  395. package/dist/docs/references/reference-storage-lance.md +0 -131
  396. package/dist/docs/references/reference-storage-libsql.md +0 -135
  397. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  398. package/dist/docs/references/reference-storage-mssql.md +0 -155
  399. package/dist/docs/references/reference-storage-overview.md +0 -121
  400. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  401. package/dist/docs/references/reference-storage-upstash.md +0 -160
  402. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  403. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  404. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  405. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  406. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  407. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  408. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  409. package/dist/docs/references/reference-templates-overview.md +0 -194
  410. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  411. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  412. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  413. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  414. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  415. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  416. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  417. package/dist/docs/references/reference-vectors-pg.md +0 -408
  418. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  419. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  420. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  421. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  422. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  423. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  424. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  425. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  426. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  427. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  428. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  429. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  430. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  431. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  432. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  433. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  434. package/dist/docs/references/reference-workflows-run.md +0 -59
  435. package/dist/docs/references/reference-workflows-step.md +0 -119
  436. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  437. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  438. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  439. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  441. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  442. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  443. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  446. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  447. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  448. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  449. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  450. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  451. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  452. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  453. package/dist/docs/references/reference.md +0 -276
@@ -1,121 +0,0 @@
1
- # CompositeVoice
2
-
3
- The CompositeVoice class allows you to combine different voice providers for text-to-speech and speech-to-text operations. This is particularly useful when you want to use the best provider for each operation - for example, using OpenAI for speech-to-text and PlayAI for text-to-speech.
4
-
5
- CompositeVoice supports both Mastra voice providers and AI SDK model providers
6
-
7
- ## Constructor Parameters
8
-
9
- **config:** (`object`): Configuration object for the composite voice service
10
-
11
- **config.input?:** (`MastraVoice | TranscriptionModel`): Voice provider or AI SDK transcription model to use for speech-to-text operations. AI SDK models are automatically wrapped.
12
-
13
- **config.output?:** (`MastraVoice | SpeechModel`): Voice provider or AI SDK speech model to use for text-to-speech operations. AI SDK models are automatically wrapped.
14
-
15
- **config.realtime?:** (`MastraVoice`): Voice provider to use for real-time speech-to-speech operations
16
-
17
- ## Methods
18
-
19
- ### speak()
20
-
21
- Converts text to speech using the configured speaking provider.
22
-
23
- **input:** (`string | NodeJS.ReadableStream`): Text to convert to speech
24
-
25
- **options?:** (`object`): Provider-specific options passed to the speaking provider
26
-
27
- Notes:
28
-
29
- - If no speaking provider is configured, this method will throw an error
30
- - Options are passed through to the configured speaking provider
31
- - Returns a stream of audio data
32
-
33
- ### listen()
34
-
35
- Converts speech to text using the configured listening provider.
36
-
37
- **audioStream:** (`NodeJS.ReadableStream`): Audio stream to convert to text
38
-
39
- **options?:** (`object`): Provider-specific options passed to the listening provider
40
-
41
- Notes:
42
-
43
- - If no listening provider is configured, this method will throw an error
44
- - Options are passed through to the configured listening provider
45
- - Returns either a string or a stream of transcribed text, depending on the provider
46
-
47
- ### getSpeakers()
48
-
49
- Returns a list of available voices from the speaking provider, where each node contains:
50
-
51
- **voiceId:** (`string`): Unique identifier for the voice
52
-
53
- **key?:** (`value`): Additional voice properties that vary by provider (e.g., name, language)
54
-
55
- Notes:
56
-
57
- - Returns voices from the speaking provider only
58
- - If no speaking provider is configured, returns an empty array
59
- - Each voice object will have at least a voiceId property
60
- - Additional voice properties depend on the speaking provider
61
-
62
- ## Usage Examples
63
-
64
- ### Using Mastra Voice Providers
65
-
66
- ```typescript
67
- import { CompositeVoice } from "@mastra/core/voice";
68
- import { OpenAIVoice } from "@mastra/voice-openai";
69
- import { PlayAIVoice } from "@mastra/voice-playai";
70
-
71
- // Create voice providers
72
- const openai = new OpenAIVoice();
73
- const playai = new PlayAIVoice();
74
-
75
- // Use OpenAI for listening (speech-to-text) and PlayAI for speaking (text-to-speech)
76
- const voice = new CompositeVoice({
77
- input: openai,
78
- output: playai,
79
- });
80
-
81
- // Convert speech to text using OpenAI
82
- const text = await voice.listen(audioStream);
83
-
84
- // Convert text to speech using PlayAI
85
- const audio = await voice.speak("Hello, world!");
86
- ```
87
-
88
- ### Using AI SDK Model Providers
89
-
90
- You can pass AI SDK transcription and speech models directly to CompositeVoice:
91
-
92
- ```typescript
93
- import { CompositeVoice } from "@mastra/core/voice";
94
- import { openai } from "@ai-sdk/openai";
95
- import { elevenlabs } from "@ai-sdk/elevenlabs";
96
-
97
- // Use AI SDK models directly - they will be auto-wrapped
98
- const voice = new CompositeVoice({
99
- input: openai.transcription('whisper-1'), // AI SDK transcription
100
- output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK speech
101
- });
102
-
103
- // Works the same way as with Mastra providers
104
- const text = await voice.listen(audioStream);
105
- const audio = await voice.speak("Hello from AI SDK!");
106
- ```
107
-
108
- ### Mix and Match
109
-
110
- You can combine Mastra providers with AI SDK models:
111
-
112
- ```typescript
113
- import { CompositeVoice } from "@mastra/core/voice";
114
- import { PlayAIVoice } from "@mastra/voice-playai";
115
- import { groq } from "@ai-sdk/groq";
116
-
117
- const voice = new CompositeVoice({
118
- input: groq.transcription('whisper-large-v3'), // AI SDK for STT
119
- output: new PlayAIVoice(), // Mastra for TTS
120
- });
121
- ```
@@ -1,313 +0,0 @@
1
- # MastraVoice
2
-
3
- The MastraVoice class is an abstract base class that defines the core interface for voice services in Mastra. All voice provider implementations (like OpenAI, Deepgram, PlayAI, Speechify) extend this class to provide their specific functionality. The class now includes support for real-time speech-to-speech capabilities through WebSocket connections.
4
-
5
- ## Usage Example
6
-
7
- ```typescript
8
- import { MastraVoice } from "@mastra/core/voice";
9
-
10
- // Create a voice provider implementation
11
- class MyVoiceProvider extends MastraVoice {
12
- constructor(config: {
13
- speechModel?: BuiltInModelConfig;
14
- listeningModel?: BuiltInModelConfig;
15
- speaker?: string;
16
- realtimeConfig?: {
17
- model?: string;
18
- apiKey?: string;
19
- options?: unknown;
20
- };
21
- }) {
22
- super({
23
- speechModel: config.speechModel,
24
- listeningModel: config.listeningModel,
25
- speaker: config.speaker,
26
- realtimeConfig: config.realtimeConfig,
27
- });
28
- }
29
-
30
- // Implement required abstract methods
31
- async speak(
32
- input: string | NodeJS.ReadableStream,
33
- options?: { speaker?: string },
34
- ): Promise<NodeJS.ReadableStream | void> {
35
- // Implement text-to-speech conversion
36
- }
37
-
38
- async listen(
39
- audioStream: NodeJS.ReadableStream,
40
- options?: unknown,
41
- ): Promise<string | NodeJS.ReadableStream | void> {
42
- // Implement speech-to-text conversion
43
- }
44
-
45
- async getSpeakers(): Promise<
46
- Array<{ voiceId: string; [key: string]: unknown }>
47
- > {
48
- // Return list of available voices
49
- }
50
-
51
- // Optional speech-to-speech methods
52
- async connect(): Promise<void> {
53
- // Establish WebSocket connection for speech-to-speech communication
54
- }
55
-
56
- async send(audioData: NodeJS.ReadableStream | Int16Array): Promise<void> {
57
- // Stream audio data in speech-to-speech
58
- }
59
-
60
- async answer(): Promise<void> {
61
- // Trigger voice provider to respond
62
- }
63
-
64
- addTools(tools: Array<unknown>): void {
65
- // Add tools for the voice provider to use
66
- }
67
-
68
- close(): void {
69
- // Close WebSocket connection
70
- }
71
-
72
- on(event: string, callback: (data: unknown) => void): void {
73
- // Register event listener
74
- }
75
-
76
- off(event: string, callback: (data: unknown) => void): void {
77
- // Remove event listener
78
- }
79
- }
80
- ```
81
-
82
- ## Constructor Parameters
83
-
84
- **config?:** (`VoiceConfig`): Configuration object for the voice service
85
-
86
- **config.speechModel?:** (`BuiltInModelConfig`): Configuration for the text-to-speech model
87
-
88
- **config.listeningModel?:** (`BuiltInModelConfig`): Configuration for the speech-to-text model
89
-
90
- **config.speaker?:** (`string`): Default speaker/voice ID to use
91
-
92
- **config.name?:** (`string`): Name for the voice provider instance
93
-
94
- **config.realtimeConfig?:** (`object`): Configuration for real-time speech-to-speech capabilities
95
-
96
- ### BuiltInModelConfig
97
-
98
- **name:** (`string`): Name of the model to use
99
-
100
- **apiKey?:** (`string`): API key for the model service
101
-
102
- ### RealtimeConfig
103
-
104
- **model?:** (`string`): Model to use for real-time speech-to-speech capabilities
105
-
106
- **apiKey?:** (`string`): API key for the real-time service
107
-
108
- **options?:** (`unknown`): Provider-specific options for real-time capabilities
109
-
110
- ## Abstract Methods
111
-
112
- These methods must be implemented by unknown class extending MastraVoice.
113
-
114
- ### speak()
115
-
116
- Converts text to speech using the configured speech model.
117
-
118
- ```typescript
119
- abstract speak(
120
- input: string | NodeJS.ReadableStream,
121
- options?: {
122
- speaker?: string;
123
- [key: string]: unknown;
124
- }
125
- ): Promise<NodeJS.ReadableStream | void>
126
- ```
127
-
128
- Purpose:
129
-
130
- - Takes text input and converts it to speech using the provider's text-to-speech service
131
- - Supports both string and stream input for flexibility
132
- - Allows overriding the default speaker/voice through options
133
- - Returns a stream of audio data that can be played or saved
134
- - May return void if the audio is handled by emitting 'speaking' event
135
-
136
- ### listen()
137
-
138
- Converts speech to text using the configured listening model.
139
-
140
- ```typescript
141
- abstract listen(
142
- audioStream: NodeJS.ReadableStream,
143
- options?: {
144
- [key: string]: unknown;
145
- }
146
- ): Promise<string | NodeJS.ReadableStream | void>
147
- ```
148
-
149
- Purpose:
150
-
151
- - Takes an audio stream and converts it to text using the provider's speech-to-text service
152
- - Supports provider-specific options for transcription configuration
153
- - Can return either a complete text transcription or a stream of transcribed text
154
- - Not all providers support this functionality (e.g., PlayAI, Speechify)
155
- - May return void if the transcription is handled by emitting 'writing' event
156
-
157
- ### getSpeakers()
158
-
159
- Returns a list of available voices supported by the provider.
160
-
161
- ```typescript
162
- abstract getSpeakers(): Promise<Array<{ voiceId: string; [key: string]: unknown }>>
163
- ```
164
-
165
- Purpose:
166
-
167
- - Retrieves the list of available voices/speakers from the provider
168
- - Each voice must have at least a voiceId property
169
- - Providers can include additional metadata about each voice
170
- - Used to discover available voices for text-to-speech conversion
171
-
172
- ## Optional Methods
173
-
174
- These methods have default implementations but can be overridden by voice providers that support speech-to-speech capabilities.
175
-
176
- ### connect()
177
-
178
- Establishes a WebSocket or WebRTC connection for communication.
179
-
180
- ```typescript
181
- connect(config?: unknown): Promise<void>
182
- ```
183
-
184
- Purpose:
185
-
186
- - Initializes a connection to the voice service for communication
187
- - Must be called before using features like send() or answer()
188
- - Returns a Promise that resolves when the connection is established
189
- - Configuration is provider-specific
190
-
191
- ### send()
192
-
193
- Streams audio data in real-time to the voice provider.
194
-
195
- ```typescript
196
- send(audioData: NodeJS.ReadableStream | Int16Array): Promise<void>
197
- ```
198
-
199
- Purpose:
200
-
201
- - Sends audio data to the voice provider for real-time processing
202
- - Useful for continuous audio streaming scenarios like live microphone input
203
- - Supports both ReadableStream and Int16Array audio formats
204
- - Must be in connected state before calling this method
205
-
206
- ### answer()
207
-
208
- Triggers the voice provider to generate a response.
209
-
210
- ```typescript
211
- answer(): Promise<void>
212
- ```
213
-
214
- Purpose:
215
-
216
- - Sends a signal to the voice provider to generate a response
217
- - Used in real-time conversations to prompt the AI to respond
218
- - Response will be emitted through the event system (e.g., 'speaking' event)
219
-
220
- ### addTools()
221
-
222
- Equips the voice provider with tools that can be used during conversations.
223
-
224
- ```typescript
225
- addTools(tools: Array<Tool>): void
226
- ```
227
-
228
- Purpose:
229
-
230
- - Adds tools that the voice provider can use during conversations
231
- - Tools can extend the capabilities of the voice provider
232
- - Implementation is provider-specific
233
-
234
- ### close()
235
-
236
- Disconnects from the WebSocket or WebRTC connection.
237
-
238
- ```typescript
239
- close(): void
240
- ```
241
-
242
- Purpose:
243
-
244
- - Closes the connection to the voice service
245
- - Cleans up resources and stops any ongoing real-time processing
246
- - Should be called when you're done with the voice instance
247
-
248
- ### on()
249
-
250
- Registers an event listener for voice events.
251
-
252
- ```typescript
253
- on<E extends VoiceEventType>(
254
- event: E,
255
- callback: (data: E extends keyof VoiceEventMap ? VoiceEventMap[E] : unknown) => void,
256
- ): void
257
- ```
258
-
259
- Purpose:
260
-
261
- - Registers a callback function to be called when the specified event occurs
262
- - Standard events include 'speaking', 'writing', and 'error'
263
- - Providers can emit custom events as well
264
- - Event data structure depends on the event type
265
-
266
- ### off()
267
-
268
- Removes an event listener.
269
-
270
- ```typescript
271
- off<E extends VoiceEventType>(
272
- event: E,
273
- callback: (data: E extends keyof VoiceEventMap ? VoiceEventMap[E] : unknown) => void,
274
- ): void
275
- ```
276
-
277
- Purpose:
278
-
279
- - Removes a previously registered event listener
280
- - Used to clean up event handlers when they're no longer needed
281
-
282
- ## Event System
283
-
284
- The MastraVoice class includes an event system for real-time communication. Standard event types include:
285
-
286
- **speaking:** (`{ text: string; audioStream?: NodeJS.ReadableStream; audio?: Int16Array }`): Emitted when the voice provider is speaking, contains audio data
287
-
288
- **writing:** (`{ text: string, role: string }`): Emitted when text is transcribed from speech
289
-
290
- **error:** (`{ message: string; code?: string; details?: unknown }`): Emitted when an error occurs
291
-
292
- ## Protected Properties
293
-
294
- **listeningModel?:** (`BuiltInModelConfig | undefined`): Configuration for the speech-to-text model
295
-
296
- **speechModel?:** (`BuiltInModelConfig | undefined`): Configuration for the text-to-speech model
297
-
298
- **speaker?:** (`string | undefined`): Default speaker/voice ID
299
-
300
- **realtimeConfig?:** (`{ model?: string; apiKey?: string; options?: unknown } | undefined`): Configuration for real-time speech-to-speech capabilities
301
-
302
- ## Telemetry Support
303
-
304
- MastraVoice includes built-in telemetry support through the `traced` method, which wraps method calls with performance tracking and error monitoring.
305
-
306
- ## Notes
307
-
308
- - MastraVoice is an abstract class and cannot be instantiated directly
309
- - Implementations must provide concrete implementations for all abstract methods
310
- - The class provides a consistent interface across different voice service providers
311
- - Speech-to-speech capabilities are optional and provider-specific
312
- - The event system enables asynchronous communication for real-time interactions
313
- - Telemetry is automatically handled for all method calls
@@ -1,56 +0,0 @@
1
- # voice.addInstructions()
2
-
3
- The `addInstructions()` method equips a voice provider with instructions that guide the model's behavior during real-time interactions. This is particularly useful for real-time voice providers that maintain context across a conversation.
4
-
5
- ## Usage Example
6
-
7
- ```typescript
8
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
9
- import { Agent } from "@mastra/core/agent";
10
-
11
- // Initialize a real-time voice provider
12
- const voice = new OpenAIRealtimeVoice({
13
- realtimeConfig: {
14
- model: "gpt-5.1-realtime",
15
- apiKey: process.env.OPENAI_API_KEY,
16
- },
17
- });
18
-
19
- // Create an agent with the voice provider
20
- const agent = new Agent({
21
- name: "Customer Support Agent",
22
- instructions:
23
- "You are a helpful customer support agent for a software company.",
24
- model: "openai/gpt-5.1",
25
- voice,
26
- });
27
-
28
- // Add additional instructions to the voice provider
29
- voice.addInstructions(`
30
- When speaking to customers:
31
- - Always introduce yourself as the customer support agent
32
- - Speak clearly and concisely
33
- - Ask clarifying questions when needed
34
- - Summarize the conversation at the end
35
- `);
36
-
37
- // Connect to the real-time service
38
- await voice.connect();
39
- ```
40
-
41
- ## Parameters
42
-
43
- **instructions:** (`string`): Instructions to guide the voice model's behavior
44
-
45
- ## Return Value
46
-
47
- This method does not return a value.
48
-
49
- ## Notes
50
-
51
- - Instructions are most effective when they are clear, specific, and relevant to the voice interaction
52
- - This method is primarily used with real-time voice providers that maintain conversation context
53
- - If called on a voice provider that doesn't support instructions, it will log a warning and do nothing
54
- - Instructions added with this method are typically combined with any instructions provided by an associated Agent
55
- - For best results, add instructions before starting a conversation (before calling `connect()`)
56
- - Multiple calls to `addInstructions()` may either replace or append to existing instructions, depending on the provider implementation
@@ -1,67 +0,0 @@
1
- # voice.addTools()
2
-
3
- The `addTools()` method equips a voice provider with tools (functions) that can be called by the model during real-time interactions. This enables voice assistants to perform actions like searching for information, making calculations, or interacting with external systems.
4
-
5
- ## Usage Example
6
-
7
- ```typescript
8
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
9
- import { createTool } from "@mastra/core/tools";
10
- import { z } from "zod";
11
-
12
- // Define tools
13
- const weatherTool = createTool({
14
- id: "getWeather",
15
- description: "Get the current weather for a location",
16
- inputSchema: z.object({
17
- location: z.string().describe("The city and state, e.g. San Francisco, CA"),
18
- }),
19
- outputSchema: z.object({
20
- message: z.string(),
21
- }),
22
- execute: async (inputData) => {
23
- // Fetch weather data from an API
24
- const response = await fetch(
25
- `https://api.weather.com?location=${encodeURIComponent(inputData.location)}`,
26
- );
27
- const data = await response.json();
28
- return {
29
- message: `The current temperature in ${inputData.location} is ${data.temperature}°F with ${data.conditions}.`,
30
- };
31
- },
32
- });
33
-
34
- // Initialize a real-time voice provider
35
- const voice = new OpenAIRealtimeVoice({
36
- realtimeConfig: {
37
- model: "gpt-5.1-realtime",
38
- apiKey: process.env.OPENAI_API_KEY,
39
- },
40
- });
41
-
42
- // Add tools to the voice provider
43
- voice.addTools({
44
- getWeather: weatherTool,
45
- });
46
-
47
- // Connect to the real-time service
48
- await voice.connect();
49
- ```
50
-
51
- ## Parameters
52
-
53
- **tools:** (`ToolsInput`): Object containing tool definitions that can be called by the voice model
54
-
55
- ## Return Value
56
-
57
- This method does not return a value.
58
-
59
- ## Notes
60
-
61
- - Tools must follow the Mastra tool format with name, description, input schema, and execute function
62
- - This method is primarily used with real-time voice providers that support function calling
63
- - If called on a voice provider that doesn't support tools, it will log a warning and do nothing
64
- - Tools added with this method are typically combined with any tools provided by an associated Agent
65
- - For best results, add tools before starting a conversation (before calling `connect()`)
66
- - The voice provider will automatically handle the invocation of tool handlers when the model decides to use them
67
- - Multiple calls to `addTools()` may either replace or merge with existing tools, depending on the provider implementation
@@ -1,94 +0,0 @@
1
- # voice.connect()
2
-
3
- The `connect()` method establishes a WebSocket or WebRTC connection for real-time speech-to-speech communication. This method must be called before using other real-time features like `send()` or `answer()`.
4
-
5
- ## Usage Example
6
-
7
- ```typescript
8
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
9
- import Speaker from "@mastra/node-speaker";
10
-
11
- const speaker = new Speaker({
12
- sampleRate: 24100, // Audio sample rate in Hz - standard for high-quality audio on MacBook Pro
13
- channels: 1, // Mono audio output (as opposed to stereo which would be 2)
14
- bitDepth: 16, // Bit depth for audio quality - CD quality standard (16-bit resolution)
15
- });
16
-
17
- // Initialize a real-time voice provider
18
- const voice = new OpenAIRealtimeVoice({
19
- realtimeConfig: {
20
- model: "gpt-5.1-realtime",
21
- apiKey: process.env.OPENAI_API_KEY,
22
- options: {
23
- sessionConfig: {
24
- turn_detection: {
25
- type: "server_vad",
26
- threshold: 0.6,
27
- silence_duration_ms: 1200,
28
- },
29
- },
30
- },
31
- },
32
- speaker: "alloy", // Default voice
33
- });
34
- // Connect to the real-time service
35
- await voice.connect();
36
- // Now you can use real-time features
37
- voice.on("speaker", (stream) => {
38
- stream.pipe(speaker);
39
- });
40
- // With connection options
41
- await voice.connect({
42
- timeout: 10000, // 10 seconds timeout
43
- reconnect: true,
44
- });
45
- ```
46
-
47
- ## Parameters
48
-
49
- **options?:** (`Record<string, unknown>`): Provider-specific connection options
50
-
51
- ## Return Value
52
-
53
- Returns a `Promise<void>` that resolves when the connection is successfully established.
54
-
55
- ## Provider-Specific Options
56
-
57
- Each real-time voice provider may support different options for the `connect()` method:
58
-
59
- ### OpenAI Realtime
60
-
61
- **options.timeout?:** (`number`): Connection timeout in milliseconds (Default: `30000`)
62
-
63
- **options.reconnect?:** (`boolean`): Whether to automatically reconnect on connection loss (Default: `false`)
64
-
65
- ## Using with CompositeVoice
66
-
67
- When using `CompositeVoice`, the `connect()` method delegates to the configured real-time provider:
68
-
69
- ```typescript
70
- import { CompositeVoice } from "@mastra/core/voice";
71
- import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
72
- const realtimeVoice = new OpenAIRealtimeVoice();
73
- const voice = new CompositeVoice({
74
- realtime: realtimeVoice,
75
- });
76
- // This will use the OpenAIRealtimeVoice provider
77
- await voice.connect();
78
- ```
79
-
80
- ## Notes
81
-
82
- - This method is only implemented by real-time voice providers that support speech-to-speech capabilities
83
- - If called on a voice provider that doesn't support this functionality, it will log a warning and resolve immediately
84
- - The connection must be established before using other real-time methods like `send()` or `answer()`
85
- - When you're done with the voice instance, call `close()` to properly clean up resources
86
- - Some providers may automatically reconnect on connection loss, depending on their implementation
87
- - Connection errors will typically be thrown as exceptions that should be caught and handled
88
-
89
- ## Related Methods
90
-
91
- - [voice.send()](https://mastra.ai/reference/voice/voice.send) - Sends audio data to the voice provider
92
- - [voice.answer()](https://mastra.ai/reference/voice/voice.answer) - Triggers the voice provider to respond
93
- - [voice.close()](https://mastra.ai/reference/voice/voice.close) - Disconnects from the real-time service
94
- - [voice.on()](https://mastra.ai/reference/voice/voice.on) - Registers an event listener for voice events
@@ -1,37 +0,0 @@
1
- # Voice Events
2
-
3
- Voice providers emit various events during real-time voice interactions. These events can be listened to using the [voice.on()](https://mastra.ai/reference/voice/voice.on) method and are particularly important for building interactive voice applications.
4
-
5
- ## Common Events
6
-
7
- These events are commonly implemented across real-time voice providers:
8
-
9
- **error:** (`Error`): Emitted when an error occurs during voice processing or when audio data format is unsupported
10
-
11
- **session.created:** (`object`): Emitted when a new session is created with the OpenAI service
12
-
13
- **session.updated:** (`object`): Emitted when the session configuration is updated
14
-
15
- **response.created:** (`object`): Emitted when a new response is created by the AI assistant
16
-
17
- **response.done:** (`object`): Emitted when the AI assistant has completed its response
18
-
19
- **speaker:** (`StreamWithId`): Emitted with a new audio stream that can be piped to an audio output
20
-
21
- **writing:** (`object`): Emitted when text is being transcribed (user) or generated (assistant)
22
-
23
- **speaking:** (`object`): Emitted when audio data is available from the voice provider
24
-
25
- **speaking.done:** (`object`): Emitted when the voice provider has finished speaking
26
-
27
- **tool-call-start:** (`object`): Emitted when the AI assistant starts executing a tool
28
-
29
- **tool-call-result:** (`object`): Emitted when a tool execution is complete with its result
30
-
31
- ## Notes
32
-
33
- - Not all events are supported by all voice providers
34
- - The exact payload structure may vary between providers
35
- - For non-real-time providers, most of these events will not be emitted
36
- - Events are useful for building interactive UIs that respond to the conversation state
37
- - Consider using the [voice.off()](https://mastra.ai/reference/voice/voice.off) method to remove event listeners when they are no longer needed