@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,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