@mastra/mcp-docs-server 1.1.5 → 1.1.6-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 (556) hide show
  1. package/.docs/docs/agents/adding-voice.md +349 -0
  2. package/.docs/docs/agents/agent-approval.md +558 -0
  3. package/.docs/docs/agents/agent-memory.md +209 -0
  4. package/.docs/docs/agents/guardrails.md +374 -0
  5. package/.docs/docs/agents/network-approval.md +275 -0
  6. package/.docs/docs/agents/networks.md +299 -0
  7. package/.docs/docs/agents/overview.md +304 -0
  8. package/.docs/docs/agents/processors.md +622 -0
  9. package/.docs/docs/agents/structured-output.md +273 -0
  10. package/.docs/docs/agents/supervisor-agents.md +304 -0
  11. package/.docs/docs/agents/using-tools.md +214 -0
  12. package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
  13. package/.docs/docs/build-with-ai/skills.md +35 -0
  14. package/.docs/docs/community/contributing-templates.md +3 -0
  15. package/.docs/docs/community/discord.md +9 -0
  16. package/.docs/docs/community/licensing.md +66 -0
  17. package/.docs/docs/deployment/cloud-providers.md +15 -0
  18. package/.docs/docs/deployment/mastra-server.md +122 -0
  19. package/.docs/docs/deployment/monorepo.md +142 -0
  20. package/.docs/docs/deployment/overview.md +62 -0
  21. package/.docs/docs/deployment/studio.md +239 -0
  22. package/.docs/docs/deployment/web-framework.md +52 -0
  23. package/.docs/docs/deployment/workflow-runners.md +9 -0
  24. package/.docs/docs/evals/built-in-scorers.md +47 -0
  25. package/.docs/docs/evals/custom-scorers.md +519 -0
  26. package/.docs/docs/evals/overview.md +141 -0
  27. package/.docs/docs/evals/running-in-ci.md +124 -0
  28. package/.docs/docs/getting-started/build-with-ai.md +68 -0
  29. package/.docs/docs/getting-started/manual-install.md +226 -0
  30. package/.docs/docs/getting-started/project-structure.md +60 -0
  31. package/.docs/docs/getting-started/start.md +28 -0
  32. package/.docs/docs/getting-started/studio.md +101 -0
  33. package/.docs/docs/index.md +43 -0
  34. package/.docs/docs/mastra-cloud/deployment.md +77 -0
  35. package/.docs/docs/mastra-cloud/observability.md +38 -0
  36. package/.docs/docs/mastra-cloud/overview.md +23 -0
  37. package/.docs/docs/mastra-cloud/setup.md +42 -0
  38. package/.docs/docs/mastra-cloud/studio.md +24 -0
  39. package/.docs/docs/mastra-code/configuration.md +299 -0
  40. package/.docs/docs/mastra-code/customization.md +228 -0
  41. package/.docs/docs/mastra-code/modes.md +104 -0
  42. package/.docs/docs/mastra-code/overview.md +135 -0
  43. package/.docs/docs/mastra-code/tools.md +229 -0
  44. package/.docs/docs/mcp/overview.md +373 -0
  45. package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
  46. package/.docs/docs/memory/memory-processors.md +314 -0
  47. package/.docs/docs/memory/message-history.md +260 -0
  48. package/.docs/docs/memory/observational-memory.md +248 -0
  49. package/.docs/docs/memory/overview.md +45 -0
  50. package/.docs/docs/memory/semantic-recall.md +272 -0
  51. package/.docs/docs/memory/storage.md +261 -0
  52. package/.docs/docs/memory/working-memory.md +400 -0
  53. package/.docs/docs/observability/datasets/overview.md +198 -0
  54. package/.docs/docs/observability/datasets/running-experiments.md +274 -0
  55. package/.docs/docs/observability/logging.md +99 -0
  56. package/.docs/docs/observability/overview.md +70 -0
  57. package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
  58. package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
  59. package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
  60. package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
  61. package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
  62. package/.docs/docs/observability/tracing/exporters/default.md +209 -0
  63. package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
  64. package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
  65. package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
  66. package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
  67. package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
  68. package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
  69. package/.docs/docs/observability/tracing/overview.md +1112 -0
  70. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
  71. package/.docs/docs/rag/chunking-and-embedding.md +183 -0
  72. package/.docs/docs/rag/graph-rag.md +215 -0
  73. package/.docs/docs/rag/overview.md +72 -0
  74. package/.docs/docs/rag/retrieval.md +515 -0
  75. package/.docs/docs/rag/vector-databases.md +645 -0
  76. package/.docs/docs/server/auth/auth0.md +220 -0
  77. package/.docs/docs/server/auth/better-auth.md +203 -0
  78. package/.docs/docs/server/auth/clerk.md +132 -0
  79. package/.docs/docs/server/auth/composite-auth.md +234 -0
  80. package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
  81. package/.docs/docs/server/auth/firebase.md +272 -0
  82. package/.docs/docs/server/auth/jwt.md +110 -0
  83. package/.docs/docs/server/auth/simple-auth.md +180 -0
  84. package/.docs/docs/server/auth/supabase.md +117 -0
  85. package/.docs/docs/server/auth/workos.md +186 -0
  86. package/.docs/docs/server/auth.md +38 -0
  87. package/.docs/docs/server/custom-adapters.md +378 -0
  88. package/.docs/docs/server/custom-api-routes.md +267 -0
  89. package/.docs/docs/server/mastra-client.md +243 -0
  90. package/.docs/docs/server/mastra-server.md +71 -0
  91. package/.docs/docs/server/middleware.md +225 -0
  92. package/.docs/docs/server/request-context.md +471 -0
  93. package/.docs/docs/server/server-adapters.md +547 -0
  94. package/.docs/docs/streaming/events.md +237 -0
  95. package/.docs/docs/streaming/overview.md +175 -0
  96. package/.docs/docs/streaming/tool-streaming.md +175 -0
  97. package/.docs/docs/streaming/workflow-streaming.md +109 -0
  98. package/.docs/docs/voice/overview.md +959 -0
  99. package/.docs/docs/voice/speech-to-speech.md +102 -0
  100. package/.docs/docs/voice/speech-to-text.md +79 -0
  101. package/.docs/docs/voice/text-to-speech.md +83 -0
  102. package/.docs/docs/workflows/agents-and-tools.md +166 -0
  103. package/.docs/docs/workflows/control-flow.md +822 -0
  104. package/.docs/docs/workflows/error-handling.md +360 -0
  105. package/.docs/docs/workflows/human-in-the-loop.md +215 -0
  106. package/.docs/docs/workflows/overview.md +370 -0
  107. package/.docs/docs/workflows/snapshots.md +238 -0
  108. package/.docs/docs/workflows/suspend-and-resume.md +205 -0
  109. package/.docs/docs/workflows/time-travel.md +309 -0
  110. package/.docs/docs/workflows/workflow-state.md +181 -0
  111. package/.docs/docs/workspace/filesystem.md +164 -0
  112. package/.docs/docs/workspace/overview.md +239 -0
  113. package/.docs/docs/workspace/sandbox.md +63 -0
  114. package/.docs/docs/workspace/search.md +243 -0
  115. package/.docs/docs/workspace/skills.md +169 -0
  116. package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
  117. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
  118. package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
  119. package/.docs/guides/build-your-ui/copilotkit.md +289 -0
  120. package/.docs/guides/deployment/amazon-ec2.md +130 -0
  121. package/.docs/guides/deployment/aws-lambda.md +248 -0
  122. package/.docs/guides/deployment/azure-app-services.md +114 -0
  123. package/.docs/guides/deployment/cloudflare.md +99 -0
  124. package/.docs/guides/deployment/digital-ocean.md +168 -0
  125. package/.docs/guides/deployment/inngest.md +682 -0
  126. package/.docs/guides/deployment/netlify.md +77 -0
  127. package/.docs/guides/deployment/vercel.md +101 -0
  128. package/.docs/guides/getting-started/astro.md +398 -0
  129. package/.docs/guides/getting-started/electron.md +504 -0
  130. package/.docs/guides/getting-started/express.md +251 -0
  131. package/.docs/guides/getting-started/hono.md +190 -0
  132. package/.docs/guides/getting-started/next-js.md +347 -0
  133. package/.docs/guides/getting-started/nuxt.md +497 -0
  134. package/.docs/guides/getting-started/quickstart.md +67 -0
  135. package/.docs/guides/getting-started/sveltekit.md +296 -0
  136. package/.docs/guides/getting-started/vite-react.md +425 -0
  137. package/.docs/guides/guide/ai-recruiter.md +226 -0
  138. package/.docs/guides/guide/chef-michel.md +211 -0
  139. package/.docs/guides/guide/code-review-bot.md +226 -0
  140. package/.docs/guides/guide/dev-assistant.md +307 -0
  141. package/.docs/guides/guide/docs-manager.md +238 -0
  142. package/.docs/guides/guide/github-actions-pr-description.md +236 -0
  143. package/.docs/guides/guide/notes-mcp-server.md +416 -0
  144. package/.docs/guides/guide/research-assistant.md +348 -0
  145. package/.docs/guides/guide/research-coordinator.md +416 -0
  146. package/.docs/guides/guide/stock-agent.md +132 -0
  147. package/.docs/guides/guide/web-search.md +320 -0
  148. package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
  149. package/.docs/guides/index.md +3 -0
  150. package/.docs/guides/migrations/agentnetwork.md +97 -0
  151. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
  152. package/.docs/guides/migrations/network-to-supervisor.md +261 -0
  153. package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
  154. package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
  155. package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
  156. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
  157. package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
  158. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
  159. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
  160. package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
  161. package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
  162. package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
  163. package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
  164. package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
  165. package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
  166. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
  167. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
  168. package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
  169. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
  170. package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
  171. package/.docs/models/embeddings.md +161 -0
  172. package/.docs/models/gateways/azure-openai.md +128 -0
  173. package/.docs/models/gateways/custom-gateways.md +545 -0
  174. package/.docs/models/gateways/netlify.md +88 -0
  175. package/.docs/models/gateways/openrouter.md +219 -0
  176. package/.docs/models/gateways/vercel.md +225 -0
  177. package/.docs/models/gateways.md +14 -0
  178. package/.docs/models/index.md +286 -0
  179. package/.docs/models/providers/302ai.md +134 -0
  180. package/.docs/models/providers/abacus.md +125 -0
  181. package/.docs/models/providers/agentrouter.md +90 -0
  182. package/.docs/models/providers/aihubmix.md +107 -0
  183. package/.docs/models/providers/alibaba-cn.md +135 -0
  184. package/.docs/models/providers/alibaba.md +111 -0
  185. package/.docs/models/providers/amazon-bedrock.md +33 -0
  186. package/.docs/models/providers/anthropic.md +153 -0
  187. package/.docs/models/providers/azure.md +33 -0
  188. package/.docs/models/providers/bailing.md +72 -0
  189. package/.docs/models/providers/baseten.md +77 -0
  190. package/.docs/models/providers/berget.md +78 -0
  191. package/.docs/models/providers/cerebras.md +101 -0
  192. package/.docs/models/providers/chutes.md +136 -0
  193. package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
  194. package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
  195. package/.docs/models/providers/cohere.md +33 -0
  196. package/.docs/models/providers/cortecs.md +91 -0
  197. package/.docs/models/providers/deepinfra.md +112 -0
  198. package/.docs/models/providers/deepseek.md +88 -0
  199. package/.docs/models/providers/fastrouter.md +84 -0
  200. package/.docs/models/providers/fireworks-ai.md +89 -0
  201. package/.docs/models/providers/firmware.md +85 -0
  202. package/.docs/models/providers/friendli.md +78 -0
  203. package/.docs/models/providers/github-models.md +125 -0
  204. package/.docs/models/providers/google-vertex.md +33 -0
  205. package/.docs/models/providers/google.md +159 -0
  206. package/.docs/models/providers/groq.md +107 -0
  207. package/.docs/models/providers/helicone.md +161 -0
  208. package/.docs/models/providers/huggingface.md +90 -0
  209. package/.docs/models/providers/iflowcn.md +84 -0
  210. package/.docs/models/providers/inception.md +72 -0
  211. package/.docs/models/providers/inference.md +79 -0
  212. package/.docs/models/providers/io-intelligence.md +87 -0
  213. package/.docs/models/providers/io-net.md +87 -0
  214. package/.docs/models/providers/jiekou.md +131 -0
  215. package/.docs/models/providers/kilo.md +333 -0
  216. package/.docs/models/providers/kimi-for-coding.md +100 -0
  217. package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
  218. package/.docs/models/providers/llama.md +77 -0
  219. package/.docs/models/providers/lmstudio.md +73 -0
  220. package/.docs/models/providers/lucidquery.md +72 -0
  221. package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
  222. package/.docs/models/providers/minimax-cn.md +102 -0
  223. package/.docs/models/providers/minimax-coding-plan.md +102 -0
  224. package/.docs/models/providers/minimax.md +104 -0
  225. package/.docs/models/providers/mistral.md +124 -0
  226. package/.docs/models/providers/moark.md +72 -0
  227. package/.docs/models/providers/modelscope.md +77 -0
  228. package/.docs/models/providers/moonshotai-cn.md +76 -0
  229. package/.docs/models/providers/moonshotai.md +76 -0
  230. package/.docs/models/providers/morph.md +73 -0
  231. package/.docs/models/providers/nano-gpt.md +103 -0
  232. package/.docs/models/providers/nebius.md +116 -0
  233. package/.docs/models/providers/nova.md +72 -0
  234. package/.docs/models/providers/novita-ai.md +154 -0
  235. package/.docs/models/providers/nvidia.md +141 -0
  236. package/.docs/models/providers/ollama-cloud.md +103 -0
  237. package/.docs/models/providers/ollama.md +33 -0
  238. package/.docs/models/providers/openai.md +193 -0
  239. package/.docs/models/providers/opencode.md +100 -0
  240. package/.docs/models/providers/ovhcloud.md +83 -0
  241. package/.docs/models/providers/perplexity.md +100 -0
  242. package/.docs/models/providers/poe.md +183 -0
  243. package/.docs/models/providers/privatemode-ai.md +75 -0
  244. package/.docs/models/providers/requesty.md +90 -0
  245. package/.docs/models/providers/scaleway.md +84 -0
  246. package/.docs/models/providers/siliconflow-cn.md +138 -0
  247. package/.docs/models/providers/siliconflow.md +140 -0
  248. package/.docs/models/providers/stackit.md +78 -0
  249. package/.docs/models/providers/stepfun.md +73 -0
  250. package/.docs/models/providers/submodel.md +79 -0
  251. package/.docs/models/providers/synthetic.md +96 -0
  252. package/.docs/models/providers/togetherai.md +115 -0
  253. package/.docs/models/providers/upstage.md +73 -0
  254. package/.docs/models/providers/venice.md +95 -0
  255. package/.docs/models/providers/vivgrid.md +106 -0
  256. package/.docs/models/providers/vultr.md +75 -0
  257. package/.docs/models/providers/wandb.md +80 -0
  258. package/.docs/models/providers/xai.md +141 -0
  259. package/.docs/models/providers/xiaomi.md +71 -0
  260. package/.docs/models/providers/zai-coding-plan.md +80 -0
  261. package/.docs/models/providers/zai.md +79 -0
  262. package/.docs/models/providers/zenmux.md +161 -0
  263. package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
  264. package/.docs/models/providers/zhipuai.md +79 -0
  265. package/.docs/models/providers.md +81 -0
  266. package/.docs/reference/agents/agent.md +141 -0
  267. package/.docs/reference/agents/generate.md +186 -0
  268. package/.docs/reference/agents/generateLegacy.md +173 -0
  269. package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
  270. package/.docs/reference/agents/getDefaultOptions.md +34 -0
  271. package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
  272. package/.docs/reference/agents/getDescription.md +21 -0
  273. package/.docs/reference/agents/getInstructions.md +34 -0
  274. package/.docs/reference/agents/getLLM.md +37 -0
  275. package/.docs/reference/agents/getMemory.md +34 -0
  276. package/.docs/reference/agents/getModel.md +34 -0
  277. package/.docs/reference/agents/getTools.md +29 -0
  278. package/.docs/reference/agents/getVoice.md +34 -0
  279. package/.docs/reference/agents/listAgents.md +35 -0
  280. package/.docs/reference/agents/listScorers.md +34 -0
  281. package/.docs/reference/agents/listTools.md +34 -0
  282. package/.docs/reference/agents/listWorkflows.md +34 -0
  283. package/.docs/reference/agents/network.md +133 -0
  284. package/.docs/reference/ai-sdk/chat-route.md +82 -0
  285. package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
  286. package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
  287. package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
  288. package/.docs/reference/ai-sdk/network-route.md +74 -0
  289. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
  290. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
  291. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
  292. package/.docs/reference/ai-sdk/with-mastra.md +59 -0
  293. package/.docs/reference/ai-sdk/workflow-route.md +79 -0
  294. package/.docs/reference/auth/auth0.md +73 -0
  295. package/.docs/reference/auth/better-auth.md +71 -0
  296. package/.docs/reference/auth/clerk.md +36 -0
  297. package/.docs/reference/auth/firebase.md +80 -0
  298. package/.docs/reference/auth/jwt.md +26 -0
  299. package/.docs/reference/auth/supabase.md +33 -0
  300. package/.docs/reference/auth/workos.md +84 -0
  301. package/.docs/reference/cli/create-mastra.md +137 -0
  302. package/.docs/reference/cli/mastra.md +336 -0
  303. package/.docs/reference/client-js/agents.md +437 -0
  304. package/.docs/reference/client-js/error-handling.md +16 -0
  305. package/.docs/reference/client-js/logs.md +24 -0
  306. package/.docs/reference/client-js/mastra-client.md +63 -0
  307. package/.docs/reference/client-js/memory.md +221 -0
  308. package/.docs/reference/client-js/observability.md +72 -0
  309. package/.docs/reference/client-js/telemetry.md +20 -0
  310. package/.docs/reference/client-js/tools.md +44 -0
  311. package/.docs/reference/client-js/vectors.md +79 -0
  312. package/.docs/reference/client-js/workflows.md +199 -0
  313. package/.docs/reference/configuration.md +752 -0
  314. package/.docs/reference/core/addGateway.md +42 -0
  315. package/.docs/reference/core/getAgent.md +21 -0
  316. package/.docs/reference/core/getAgentById.md +21 -0
  317. package/.docs/reference/core/getDeployer.md +22 -0
  318. package/.docs/reference/core/getGateway.md +38 -0
  319. package/.docs/reference/core/getGatewayById.md +41 -0
  320. package/.docs/reference/core/getLogger.md +22 -0
  321. package/.docs/reference/core/getMCPServer.md +47 -0
  322. package/.docs/reference/core/getMCPServerById.md +55 -0
  323. package/.docs/reference/core/getMemory.md +50 -0
  324. package/.docs/reference/core/getScorer.md +54 -0
  325. package/.docs/reference/core/getScorerById.md +54 -0
  326. package/.docs/reference/core/getServer.md +22 -0
  327. package/.docs/reference/core/getStorage.md +22 -0
  328. package/.docs/reference/core/getStoredAgentById.md +89 -0
  329. package/.docs/reference/core/getTelemetry.md +22 -0
  330. package/.docs/reference/core/getVector.md +22 -0
  331. package/.docs/reference/core/getWorkflow.md +42 -0
  332. package/.docs/reference/core/listAgents.md +21 -0
  333. package/.docs/reference/core/listGateways.md +40 -0
  334. package/.docs/reference/core/listLogs.md +38 -0
  335. package/.docs/reference/core/listLogsByRunId.md +36 -0
  336. package/.docs/reference/core/listMCPServers.md +55 -0
  337. package/.docs/reference/core/listMemory.md +56 -0
  338. package/.docs/reference/core/listScorers.md +29 -0
  339. package/.docs/reference/core/listStoredAgents.md +93 -0
  340. package/.docs/reference/core/listVectors.md +22 -0
  341. package/.docs/reference/core/listWorkflows.md +21 -0
  342. package/.docs/reference/core/mastra-class.md +66 -0
  343. package/.docs/reference/core/mastra-model-gateway.md +153 -0
  344. package/.docs/reference/core/setLogger.md +26 -0
  345. package/.docs/reference/core/setStorage.md +27 -0
  346. package/.docs/reference/datasets/addItem.md +37 -0
  347. package/.docs/reference/datasets/addItems.md +35 -0
  348. package/.docs/reference/datasets/compareExperiments.md +52 -0
  349. package/.docs/reference/datasets/create.md +51 -0
  350. package/.docs/reference/datasets/dataset.md +82 -0
  351. package/.docs/reference/datasets/datasets-manager.md +94 -0
  352. package/.docs/reference/datasets/delete.md +25 -0
  353. package/.docs/reference/datasets/deleteExperiment.md +27 -0
  354. package/.docs/reference/datasets/deleteItem.md +27 -0
  355. package/.docs/reference/datasets/deleteItems.md +29 -0
  356. package/.docs/reference/datasets/get.md +31 -0
  357. package/.docs/reference/datasets/getDetails.md +47 -0
  358. package/.docs/reference/datasets/getExperiment.md +30 -0
  359. package/.docs/reference/datasets/getItem.md +33 -0
  360. package/.docs/reference/datasets/getItemHistory.md +31 -0
  361. package/.docs/reference/datasets/list.md +31 -0
  362. package/.docs/reference/datasets/listExperimentResults.md +39 -0
  363. package/.docs/reference/datasets/listExperiments.md +33 -0
  364. package/.docs/reference/datasets/listItems.md +46 -0
  365. package/.docs/reference/datasets/listVersions.md +33 -0
  366. package/.docs/reference/datasets/startExperiment.md +62 -0
  367. package/.docs/reference/datasets/startExperimentAsync.md +43 -0
  368. package/.docs/reference/datasets/update.md +48 -0
  369. package/.docs/reference/datasets/updateItem.md +38 -0
  370. package/.docs/reference/deployer/cloudflare.md +79 -0
  371. package/.docs/reference/deployer/netlify.md +80 -0
  372. package/.docs/reference/deployer/vercel.md +91 -0
  373. package/.docs/reference/deployer.md +100 -0
  374. package/.docs/reference/evals/answer-relevancy.md +105 -0
  375. package/.docs/reference/evals/answer-similarity.md +99 -0
  376. package/.docs/reference/evals/bias.md +120 -0
  377. package/.docs/reference/evals/completeness.md +136 -0
  378. package/.docs/reference/evals/content-similarity.md +101 -0
  379. package/.docs/reference/evals/context-precision.md +196 -0
  380. package/.docs/reference/evals/context-relevance.md +531 -0
  381. package/.docs/reference/evals/create-scorer.md +270 -0
  382. package/.docs/reference/evals/faithfulness.md +114 -0
  383. package/.docs/reference/evals/hallucination.md +213 -0
  384. package/.docs/reference/evals/keyword-coverage.md +128 -0
  385. package/.docs/reference/evals/mastra-scorer.md +123 -0
  386. package/.docs/reference/evals/noise-sensitivity.md +675 -0
  387. package/.docs/reference/evals/prompt-alignment.md +614 -0
  388. package/.docs/reference/evals/run-evals.md +179 -0
  389. package/.docs/reference/evals/scorer-utils.md +326 -0
  390. package/.docs/reference/evals/textual-difference.md +113 -0
  391. package/.docs/reference/evals/tone-consistency.md +119 -0
  392. package/.docs/reference/evals/tool-call-accuracy.md +533 -0
  393. package/.docs/reference/evals/toxicity.md +123 -0
  394. package/.docs/reference/harness/harness-class.md +708 -0
  395. package/.docs/reference/index.md +277 -0
  396. package/.docs/reference/logging/pino-logger.md +117 -0
  397. package/.docs/reference/mastra-code/createMastraCode.md +108 -0
  398. package/.docs/reference/memory/clone-utilities.md +199 -0
  399. package/.docs/reference/memory/cloneThread.md +130 -0
  400. package/.docs/reference/memory/createThread.md +68 -0
  401. package/.docs/reference/memory/deleteMessages.md +38 -0
  402. package/.docs/reference/memory/getThreadById.md +24 -0
  403. package/.docs/reference/memory/listThreads.md +145 -0
  404. package/.docs/reference/memory/memory-class.md +147 -0
  405. package/.docs/reference/memory/observational-memory.md +565 -0
  406. package/.docs/reference/memory/recall.md +91 -0
  407. package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
  408. package/.docs/reference/observability/tracing/configuration.md +178 -0
  409. package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
  410. package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
  411. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
  412. package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
  413. package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
  414. package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
  415. package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
  416. package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
  417. package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
  418. package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
  419. package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
  420. package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
  421. package/.docs/reference/observability/tracing/instances.md +107 -0
  422. package/.docs/reference/observability/tracing/interfaces.md +743 -0
  423. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
  424. package/.docs/reference/observability/tracing/spans.md +224 -0
  425. package/.docs/reference/processors/batch-parts-processor.md +61 -0
  426. package/.docs/reference/processors/language-detector.md +82 -0
  427. package/.docs/reference/processors/message-history-processor.md +85 -0
  428. package/.docs/reference/processors/moderation-processor.md +104 -0
  429. package/.docs/reference/processors/pii-detector.md +108 -0
  430. package/.docs/reference/processors/processor-interface.md +521 -0
  431. package/.docs/reference/processors/prompt-injection-detector.md +72 -0
  432. package/.docs/reference/processors/semantic-recall-processor.md +117 -0
  433. package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
  434. package/.docs/reference/processors/token-limiter-processor.md +115 -0
  435. package/.docs/reference/processors/tool-call-filter.md +85 -0
  436. package/.docs/reference/processors/tool-search-processor.md +111 -0
  437. package/.docs/reference/processors/unicode-normalizer.md +62 -0
  438. package/.docs/reference/processors/working-memory-processor.md +152 -0
  439. package/.docs/reference/rag/chunk.md +221 -0
  440. package/.docs/reference/rag/database-config.md +261 -0
  441. package/.docs/reference/rag/document.md +114 -0
  442. package/.docs/reference/rag/embeddings.md +92 -0
  443. package/.docs/reference/rag/extract-params.md +168 -0
  444. package/.docs/reference/rag/graph-rag.md +111 -0
  445. package/.docs/reference/rag/metadata-filters.md +216 -0
  446. package/.docs/reference/rag/rerank.md +75 -0
  447. package/.docs/reference/rag/rerankWithScorer.md +80 -0
  448. package/.docs/reference/server/create-route.md +262 -0
  449. package/.docs/reference/server/express-adapter.md +176 -0
  450. package/.docs/reference/server/fastify-adapter.md +90 -0
  451. package/.docs/reference/server/hono-adapter.md +162 -0
  452. package/.docs/reference/server/koa-adapter.md +127 -0
  453. package/.docs/reference/server/mastra-server.md +298 -0
  454. package/.docs/reference/server/register-api-route.md +249 -0
  455. package/.docs/reference/server/routes.md +306 -0
  456. package/.docs/reference/storage/cloudflare-d1.md +218 -0
  457. package/.docs/reference/storage/cloudflare.md +88 -0
  458. package/.docs/reference/storage/composite.md +235 -0
  459. package/.docs/reference/storage/convex.md +161 -0
  460. package/.docs/reference/storage/dynamodb.md +282 -0
  461. package/.docs/reference/storage/lance.md +131 -0
  462. package/.docs/reference/storage/libsql.md +135 -0
  463. package/.docs/reference/storage/mongodb.md +262 -0
  464. package/.docs/reference/storage/mssql.md +157 -0
  465. package/.docs/reference/storage/overview.md +121 -0
  466. package/.docs/reference/storage/postgresql.md +526 -0
  467. package/.docs/reference/storage/upstash.md +160 -0
  468. package/.docs/reference/streaming/ChunkType.md +292 -0
  469. package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
  470. package/.docs/reference/streaming/agents/stream.md +221 -0
  471. package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
  472. package/.docs/reference/streaming/workflows/observeStream.md +42 -0
  473. package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
  474. package/.docs/reference/streaming/workflows/stream.md +88 -0
  475. package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
  476. package/.docs/reference/templates/overview.md +194 -0
  477. package/.docs/reference/tools/create-tool.md +237 -0
  478. package/.docs/reference/tools/document-chunker-tool.md +89 -0
  479. package/.docs/reference/tools/graph-rag-tool.md +182 -0
  480. package/.docs/reference/tools/mcp-client.md +954 -0
  481. package/.docs/reference/tools/mcp-server.md +1271 -0
  482. package/.docs/reference/tools/vector-query-tool.md +459 -0
  483. package/.docs/reference/vectors/astra.md +121 -0
  484. package/.docs/reference/vectors/chroma.md +264 -0
  485. package/.docs/reference/vectors/convex.md +300 -0
  486. package/.docs/reference/vectors/couchbase.md +226 -0
  487. package/.docs/reference/vectors/duckdb.md +318 -0
  488. package/.docs/reference/vectors/elasticsearch.md +189 -0
  489. package/.docs/reference/vectors/lance.md +220 -0
  490. package/.docs/reference/vectors/libsql.md +305 -0
  491. package/.docs/reference/vectors/mongodb.md +295 -0
  492. package/.docs/reference/vectors/opensearch.md +99 -0
  493. package/.docs/reference/vectors/pg.md +408 -0
  494. package/.docs/reference/vectors/pinecone.md +168 -0
  495. package/.docs/reference/vectors/qdrant.md +222 -0
  496. package/.docs/reference/vectors/s3vectors.md +277 -0
  497. package/.docs/reference/vectors/turbopuffer.md +157 -0
  498. package/.docs/reference/vectors/upstash.md +294 -0
  499. package/.docs/reference/vectors/vectorize.md +147 -0
  500. package/.docs/reference/voice/azure.md +148 -0
  501. package/.docs/reference/voice/cloudflare.md +83 -0
  502. package/.docs/reference/voice/composite-voice.md +121 -0
  503. package/.docs/reference/voice/deepgram.md +79 -0
  504. package/.docs/reference/voice/elevenlabs.md +98 -0
  505. package/.docs/reference/voice/google-gemini-live.md +378 -0
  506. package/.docs/reference/voice/google.md +228 -0
  507. package/.docs/reference/voice/mastra-voice.md +311 -0
  508. package/.docs/reference/voice/murf.md +122 -0
  509. package/.docs/reference/voice/openai-realtime.md +203 -0
  510. package/.docs/reference/voice/openai.md +88 -0
  511. package/.docs/reference/voice/playai.md +80 -0
  512. package/.docs/reference/voice/sarvam.md +126 -0
  513. package/.docs/reference/voice/speechify.md +75 -0
  514. package/.docs/reference/voice/voice.addInstructions.md +55 -0
  515. package/.docs/reference/voice/voice.addTools.md +67 -0
  516. package/.docs/reference/voice/voice.answer.md +54 -0
  517. package/.docs/reference/voice/voice.close.md +51 -0
  518. package/.docs/reference/voice/voice.connect.md +94 -0
  519. package/.docs/reference/voice/voice.events.md +37 -0
  520. package/.docs/reference/voice/voice.getSpeakers.md +129 -0
  521. package/.docs/reference/voice/voice.listen.md +164 -0
  522. package/.docs/reference/voice/voice.off.md +54 -0
  523. package/.docs/reference/voice/voice.on.md +111 -0
  524. package/.docs/reference/voice/voice.send.md +65 -0
  525. package/.docs/reference/voice/voice.speak.md +157 -0
  526. package/.docs/reference/voice/voice.updateConfig.md +60 -0
  527. package/.docs/reference/workflows/run-methods/cancel.md +86 -0
  528. package/.docs/reference/workflows/run-methods/restart.md +33 -0
  529. package/.docs/reference/workflows/run-methods/resume.md +59 -0
  530. package/.docs/reference/workflows/run-methods/start.md +58 -0
  531. package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
  532. package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
  533. package/.docs/reference/workflows/run.md +59 -0
  534. package/.docs/reference/workflows/step.md +119 -0
  535. package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
  536. package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
  537. package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
  538. package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
  539. package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
  540. package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
  541. package/.docs/reference/workflows/workflow-methods/map.md +93 -0
  542. package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
  543. package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
  544. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
  545. package/.docs/reference/workflows/workflow-methods/then.md +21 -0
  546. package/.docs/reference/workflows/workflow.md +157 -0
  547. package/.docs/reference/workspace/e2b-sandbox.md +289 -0
  548. package/.docs/reference/workspace/filesystem.md +255 -0
  549. package/.docs/reference/workspace/gcs-filesystem.md +174 -0
  550. package/.docs/reference/workspace/local-filesystem.md +343 -0
  551. package/.docs/reference/workspace/local-sandbox.md +301 -0
  552. package/.docs/reference/workspace/s3-filesystem.md +175 -0
  553. package/.docs/reference/workspace/sandbox.md +87 -0
  554. package/.docs/reference/workspace/workspace-class.md +244 -0
  555. package/CHANGELOG.md +8 -0
  556. package/package.json +5 -5
@@ -0,0 +1,54 @@
1
+ # voice.answer()
2
+
3
+ The `answer()` method is used in real-time voice providers to trigger the AI to generate a response. This method is particularly useful in speech-to-speech conversations where you need to explicitly signal the AI to respond after receiving user input.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
9
+ import { getMicrophoneStream } from '@mastra/node-audio'
10
+ import Speaker from '@mastra/node-speaker'
11
+
12
+ const speaker = new Speaker({
13
+ sampleRate: 24100, // Audio sample rate in Hz - standard for high-quality audio on MacBook Pro
14
+ channels: 1, // Mono audio output (as opposed to stereo which would be 2)
15
+ bitDepth: 16, // Bit depth for audio quality - CD quality standard (16-bit resolution)
16
+ })
17
+
18
+ // Initialize a real-time voice provider
19
+ const voice = new OpenAIRealtimeVoice({
20
+ realtimeConfig: {
21
+ model: 'gpt-5.1',
22
+ apiKey: process.env.OPENAI_API_KEY,
23
+ },
24
+ speaker: 'alloy', // Default voice
25
+ })
26
+ // Connect to the real-time service
27
+ await voice.connect()
28
+ // Register event listener for responses
29
+ voice.on('speaker', stream => {
30
+ // Handle audio response
31
+ stream.pipe(speaker)
32
+ })
33
+ // Send user audio input
34
+ const microphoneStream = getMicrophoneStream()
35
+ await voice.send(microphoneStream)
36
+ // Trigger the AI to respond
37
+ await voice.answer()
38
+ ```
39
+
40
+ ## Parameters
41
+
42
+ **options?:** (`Record<string, unknown>`): Provider-specific options for the response
43
+
44
+ ## Return Value
45
+
46
+ Returns a `Promise<void>` that resolves when the response has been triggered.
47
+
48
+ ## Notes
49
+
50
+ - This method is only implemented by real-time voice providers that support speech-to-speech capabilities
51
+ - If called on a voice provider that doesn't support this functionality, it will log a warning and resolve immediately
52
+ - The response audio will typically be emitted through the 'speaking' event rather than returned directly
53
+ - For providers that support it, you can use this method to send a specific response instead of having the AI generate one
54
+ - This method is commonly used in conjunction with `send()` to create a conversational flow
@@ -0,0 +1,51 @@
1
+ # voice.close()
2
+
3
+ The `close()` method disconnects from a real-time voice service and cleans up resources. This is important for properly ending voice sessions and preventing resource leaks.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
9
+ import { getMicrophoneStream } from '@mastra/node-audio'
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
+ // Connect to the real-time service
20
+ await voice.connect()
21
+
22
+ // Start a conversation
23
+ voice.speak("Hello, I'm your AI assistant!")
24
+
25
+ // Stream audio from a microphone
26
+ const microphoneStream = getMicrophoneStream()
27
+ voice.send(microphoneStream)
28
+
29
+ // When the conversation is complete
30
+ setTimeout(() => {
31
+ // Close the connection and clean up resources
32
+ voice.close()
33
+ console.log('Voice session ended')
34
+ }, 60000) // End after 1 minute
35
+ ```
36
+
37
+ ## Parameters
38
+
39
+ This method does not accept any parameters.
40
+
41
+ ## Return Value
42
+
43
+ This method does not return a value.
44
+
45
+ ## Notes
46
+
47
+ - Always call `close()` when you're done with a real-time voice session to free up resources
48
+ - After calling `close()`, you'll need to call `connect()` again if you want to start a new session
49
+ - This method is primarily used with real-time voice providers that maintain persistent connections
50
+ - If called on a voice provider that doesn't support real-time connections, it will log a warning and do nothing
51
+ - Failing to close connections can lead to resource leaks and potential billing issues with voice service providers
@@ -0,0 +1,94 @@
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
@@ -0,0 +1,37 @@
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
@@ -0,0 +1,129 @@
1
+ # voice.getSpeakers()
2
+
3
+ The `getSpeakers()` method retrieves a list of available voice options (speakers) from the voice provider. This allows applications to present users with voice choices or programmatically select the most appropriate voice for different contexts.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { OpenAIVoice } from '@mastra/voice-openai'
9
+ import { ElevenLabsVoice } from '@mastra/voice-elevenlabs'
10
+
11
+ // Initialize voice providers
12
+ const openaiVoice = new OpenAIVoice()
13
+ const elevenLabsVoice = new ElevenLabsVoice({
14
+ apiKey: process.env.ELEVENLABS_API_KEY,
15
+ })
16
+
17
+ // Get available speakers from OpenAI
18
+ const openaiSpeakers = await openaiVoice.getSpeakers()
19
+ console.log('OpenAI voices:', openaiSpeakers)
20
+ // Example output: [{ voiceId: "alloy" }, { voiceId: "echo" }, { voiceId: "fable" }, ...]
21
+
22
+ // Get available speakers from ElevenLabs
23
+ const elevenLabsSpeakers = await elevenLabsVoice.getSpeakers()
24
+ console.log('ElevenLabs voices:', elevenLabsSpeakers)
25
+ // Example output: [{ voiceId: "21m00Tcm4TlvDq8ikWAM", name: "Rachel" }, ...]
26
+
27
+ // Use a specific voice for speech
28
+ const text = 'Hello, this is a test of different voices.'
29
+ await openaiVoice.speak(text, { speaker: openaiSpeakers[2].voiceId })
30
+ await elevenLabsVoice.speak(text, { speaker: elevenLabsSpeakers[0].voiceId })
31
+ ```
32
+
33
+ ## Parameters
34
+
35
+ This method does not accept any parameters.
36
+
37
+ ## Return Value
38
+
39
+ **Promise\<Array<{ voiceId: string } & TSpeakerMetadata>>:** (`Promise`): A promise that resolves to an array of voice options, where each option contains at least a voiceId property and may include additional provider-specific metadata.
40
+
41
+ ## Provider-Specific Metadata
42
+
43
+ Different voice providers return different metadata for their voices:
44
+
45
+ **OpenAI**:
46
+
47
+ **voiceId:** (`string`): Unique identifier for the voice (e.g., 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer')
48
+
49
+ **OpenAI Realtime**:
50
+
51
+ **voiceId:** (`string`): Unique identifier for the voice (e.g., 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer')
52
+
53
+ **Deepgram**:
54
+
55
+ **voiceId:** (`string`): Unique identifier for the voice
56
+
57
+ **language:** (`string`): Language code embedded in the voice ID (e.g., 'en')
58
+
59
+ **ElevenLabs**:
60
+
61
+ **voiceId:** (`string`): Unique identifier for the voice
62
+
63
+ **name:** (`string`): Human-readable name of the voice
64
+
65
+ **category:** (`string`): Category of the voice (e.g., 'premade', 'cloned')
66
+
67
+ **Google**:
68
+
69
+ **voiceId:** (`string`): Unique identifier for the voice
70
+
71
+ **languageCodes:** (`string[]`): Array of language codes supported by the voice (e.g., \['en-US'])
72
+
73
+ **Azure**:
74
+
75
+ **voiceId:** (`string`): Unique identifier for the voice
76
+
77
+ **language:** (`string`): Language code extracted from the voice ID (e.g., 'en')
78
+
79
+ **region:** (`string`): Region code extracted from the voice ID (e.g., 'US')
80
+
81
+ **Murf**:
82
+
83
+ **voiceId:** (`string`): Unique identifier for the voice
84
+
85
+ **name:** (`string`): Name of the voice (same as voiceId)
86
+
87
+ **language:** (`string`): Language code extracted from the voice ID (e.g., 'en')
88
+
89
+ **gender:** (`string`): Gender of the voice (always 'neutral' in current implementation)
90
+
91
+ **PlayAI**:
92
+
93
+ **voiceId:** (`string`): Unique identifier for the voice (S3 URL to manifest.json)
94
+
95
+ **name:** (`string`): Human-readable name of the voice (e.g., 'Angelo', 'Arsenio')
96
+
97
+ **accent:** (`string`): Accent of the voice (e.g., 'US', 'Irish', 'US African American')
98
+
99
+ **gender:** (`string`): Gender of the voice ('M' or 'F')
100
+
101
+ **age:** (`string`): Age category of the voice (e.g., 'Young', 'Middle')
102
+
103
+ **style:** (`string`): Speaking style of the voice (e.g., 'Conversational')
104
+
105
+ **Speechify**:
106
+
107
+ **voiceId:** (`string`): Unique identifier for the voice
108
+
109
+ **name:** (`string`): Human-readable name of the voice
110
+
111
+ **language:** (`string`): Language code of the voice (e.g., 'en-US')
112
+
113
+ **Sarvam**:
114
+
115
+ **voiceId:** (`string`): Unique identifier for the voice
116
+
117
+ **name:** (`string`): Human-readable name of the voice
118
+
119
+ **language:** (`string`): Language of the voice (e.g., 'english', 'hindi')
120
+
121
+ **gender:** (`string`): Gender of the voice ('male' or 'female')
122
+
123
+ ## Notes
124
+
125
+ - The available voices vary significantly between providers
126
+ - Some providers may require authentication to retrieve the full list of voices
127
+ - The default implementation returns an empty array if the provider doesn't support this method
128
+ - For performance reasons, consider caching the results if you need to display the list frequently
129
+ - The `voiceId` property is guaranteed to be present for all providers, but additional metadata varies
@@ -0,0 +1,164 @@
1
+ # voice.listen()
2
+
3
+ The `listen()` method is a core function available in all Mastra voice providers that converts speech to text. It takes an audio stream as input and returns the transcribed text.
4
+
5
+ ## Parameters
6
+
7
+ **audioStream:** (`NodeJS.ReadableStream`): Audio stream to transcribe. This can be a file stream or a microphone stream.
8
+
9
+ **options?:** (`object`): Provider-specific options for speech recognition
10
+
11
+ ## Return Value
12
+
13
+ Returns one of the following:
14
+
15
+ - `Promise<string>`: A promise that resolves to the transcribed text
16
+ - `Promise<NodeJS.ReadableStream>`: A promise that resolves to a stream of transcribed text (for streaming transcription)
17
+ - `Promise<void>`: For real-time providers that emit 'writing' events instead of returning text directly
18
+
19
+ ## Provider-Specific Options
20
+
21
+ Each voice provider may support additional options specific to their implementation. Here are some examples:
22
+
23
+ ### OpenAI
24
+
25
+ **options.filetype?:** (`string`): Audio file format (e.g., 'mp3', 'wav', 'm4a') (Default: `'mp3'`)
26
+
27
+ **options.prompt?:** (`string`): Text to guide the model's transcription
28
+
29
+ **options.language?:** (`string`): Language code (e.g., 'en', 'fr', 'de')
30
+
31
+ ### Google
32
+
33
+ **options.stream?:** (`boolean`): Whether to use streaming recognition (Default: `false`)
34
+
35
+ **options.config?:** (`object`): Recognition configuration from Google Cloud Speech-to-Text API (Default: `{ encoding: 'LINEAR16', languageCode: 'en-US' }`)
36
+
37
+ ### Deepgram
38
+
39
+ **options.model?:** (`string`): Deepgram model to use for transcription (Default: `'nova-2'`)
40
+
41
+ **options.language?:** (`string`): Language code for transcription (Default: `'en'`)
42
+
43
+ ## Usage Example
44
+
45
+ ```typescript
46
+ import { OpenAIVoice } from '@mastra/voice-openai'
47
+ import { getMicrophoneStream } from '@mastra/node-audio'
48
+ import { createReadStream } from 'fs'
49
+ import path from 'path'
50
+
51
+ // Initialize a voice provider
52
+ const voice = new OpenAIVoice({
53
+ listeningModel: {
54
+ name: 'whisper-1',
55
+ apiKey: process.env.OPENAI_API_KEY,
56
+ },
57
+ })
58
+
59
+ // Basic usage with a file stream
60
+ const audioFilePath = path.join(process.cwd(), 'audio.mp3')
61
+ const audioStream = createReadStream(audioFilePath)
62
+ const transcript = await voice.listen(audioStream, {
63
+ filetype: 'mp3',
64
+ })
65
+ console.log('Transcribed text:', transcript)
66
+
67
+ // Using a microphone stream
68
+ const microphoneStream = getMicrophoneStream() // Assume this function gets audio input
69
+ const transcription = await voice.listen(microphoneStream)
70
+
71
+ // With provider-specific options
72
+ const transcriptWithOptions = await voice.listen(audioStream, {
73
+ language: 'en',
74
+ prompt: 'This is a conversation about artificial intelligence.',
75
+ })
76
+ ```
77
+
78
+ ## Using with CompositeVoice
79
+
80
+ When using `CompositeVoice`, the `listen()` method delegates to the configured listening provider:
81
+
82
+ ```typescript
83
+ import { CompositeVoice } from '@mastra/core/voice'
84
+ import { OpenAIVoice } from '@mastra/voice-openai'
85
+ import { PlayAIVoice } from '@mastra/voice-playai'
86
+
87
+ const voice = new CompositeVoice({
88
+ input: new OpenAIVoice(),
89
+ output: new PlayAIVoice(),
90
+ })
91
+
92
+ // This will use the OpenAIVoice provider
93
+ const transcript = await voice.listen(audioStream)
94
+ ```
95
+
96
+ ### Using AI SDK Model Providers
97
+
98
+ You can also use AI SDK transcription models directly with `CompositeVoice`:
99
+
100
+ ```typescript
101
+ import { CompositeVoice } from '@mastra/core/voice'
102
+ import { openai } from '@ai-sdk/openai'
103
+ import { groq } from '@ai-sdk/groq'
104
+
105
+ // Use AI SDK transcription models
106
+ const voice = new CompositeVoice({
107
+ input: openai.transcription('whisper-1'), // AI SDK model
108
+ output: new PlayAIVoice(), // Mastra provider
109
+ })
110
+
111
+ // Works the same way
112
+ const transcript = await voice.listen(audioStream)
113
+
114
+ // Provider-specific options can be passed through
115
+ const transcriptWithOptions = await voice.listen(audioStream, {
116
+ providerOptions: {
117
+ openai: {
118
+ language: 'en',
119
+ prompt: 'This is about AI',
120
+ },
121
+ },
122
+ })
123
+ ```
124
+
125
+ See the [CompositeVoice reference](https://mastra.ai/reference/voice/composite-voice) for more details on AI SDK integration.
126
+
127
+ ## Realtime Voice Providers
128
+
129
+ When using realtime voice providers like `OpenAIRealtimeVoice`, the `listen()` method behaves differently:
130
+
131
+ - Instead of returning transcribed text, it emits 'writing' events with the transcribed text
132
+ - You need to register an event listener to receive the transcription
133
+
134
+ ```typescript
135
+ import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
136
+ import { getMicrophoneStream } from '@mastra/node-audio'
137
+
138
+ const voice = new OpenAIRealtimeVoice()
139
+ await voice.connect()
140
+
141
+ // Register event listener for transcription
142
+ voice.on('writing', ({ text, role }) => {
143
+ console.log(`${role}: ${text}`)
144
+ })
145
+
146
+ // This will emit 'writing' events instead of returning text
147
+ const microphoneStream = getMicrophoneStream()
148
+ await voice.listen(microphoneStream)
149
+ ```
150
+
151
+ ## Notes
152
+
153
+ - Not all voice providers support speech-to-text functionality (e.g., PlayAI, Speechify)
154
+ - The behavior of `listen()` may vary slightly between providers, but all implementations follow the same basic interface
155
+ - When using a realtime voice provider, the method might not return text directly but instead emit a 'writing' event
156
+ - The audio format supported depends on the provider. Common formats include MP3, WAV, and M4A
157
+ - Some providers support streaming transcription, where text is returned as it's transcribed
158
+ - For best performance, consider closing or ending the audio stream when you're done with it
159
+
160
+ ## Related Methods
161
+
162
+ - [voice.speak()](https://mastra.ai/reference/voice/voice.speak) - Converts text to speech
163
+ - [voice.send()](https://mastra.ai/reference/voice/voice.send) - Sends audio data to the voice provider in real-time
164
+ - [voice.on()](https://mastra.ai/reference/voice/voice.on) - Registers an event listener for voice events
@@ -0,0 +1,54 @@
1
+ # voice.off()
2
+
3
+ The `off()` method removes event listeners previously registered with the `on()` method. This is particularly useful for cleaning up resources and preventing memory leaks in long-running applications with real-time voice capabilities.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
9
+ import chalk from 'chalk'
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
+ // Connect to the real-time service
20
+ await voice.connect()
21
+
22
+ // Define the callback function
23
+ const writingCallback = ({ text, role }) => {
24
+ if (role === 'user') {
25
+ process.stdout.write(chalk.green(text))
26
+ } else {
27
+ process.stdout.write(chalk.blue(text))
28
+ }
29
+ }
30
+
31
+ // Register event listener
32
+ voice.on('writing', writingCallback)
33
+
34
+ // Later, when you want to remove the listener
35
+ voice.off('writing', writingCallback)
36
+ ```
37
+
38
+ ## Parameters
39
+
40
+ **event:** (`string`): Name of the event to stop listening for (e.g., 'speaking', 'writing', 'error')
41
+
42
+ **callback:** (`function`): The same callback function that was passed to on()
43
+
44
+ ## Return Value
45
+
46
+ This method does not return a value.
47
+
48
+ ## Notes
49
+
50
+ - The callback passed to `off()` must be the same function reference that was passed to `on()`
51
+ - If the callback is not found, the method will have no effect
52
+ - This method is primarily used with real-time voice providers that support event-based communication
53
+ - If called on a voice provider that doesn't support events, it will log a warning and do nothing
54
+ - Removing event listeners is important for preventing memory leaks in long-running applications