@mastra/mcp-docs-server 0.13.37 → 0.13.38

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 (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: Voice in Mastra | Mastra Docs
2
+ title: "Voice in Mastra | Voice | Mastra Docs"
3
3
  description: Overview of voice capabilities in Mastra, including text-to-speech, speech-to-text, and real-time speech-to-speech interactions.
4
4
  ---
5
5
 
6
- import { Tabs } from "nextra/components";
7
- import { AudioPlayback } from "@/components/audio-playback";
6
+ import { AudioPlayback } from "@site/src/components/AudioPlayback";
7
+ import Tabs from "@theme/Tabs";
8
+ import TabItem from "@theme/TabItem";
8
9
 
9
10
  # Voice in Mastra
10
11
 
@@ -12,7 +13,7 @@ Mastra's Voice system provides a unified interface for voice interactions, enabl
12
13
 
13
14
  ## Adding Voice to Agents
14
15
 
15
- To learn how to integrate voice capabilities into your agents, check out the [Adding Voice to Agents](../agents/adding-voice.mdx) documentation. This section covers how to use both single and multiple voice providers, as well as real-time interactions.
16
+ To learn how to integrate voice capabilities into your agents, check out the [Adding Voice to Agents](/docs/agents/adding-voice) documentation. This section covers how to use both single and multiple voice providers, as well as real-time interactions.
16
17
 
17
18
  ```typescript
18
19
  import { Agent } from "@mastra/core/agent";
@@ -39,58 +40,54 @@ Choose from multiple providers like OpenAI, ElevenLabs, and more.
39
40
 
40
41
  For detailed configuration options and advanced features, check out our [Text-to-Speech guide](./text-to-speech).
41
42
 
42
- {/*
43
- LLM CONTEXT: This Tabs component demonstrates Text-to-Speech (TTS) implementation across different voice providers.
44
- Each tab shows how to set up and use a specific TTS provider (OpenAI, Azure, ElevenLabs, etc.) with Mastra agents.
45
- The tabs help users compare different TTS providers and choose the one that best fits their needs.
46
- Each tab includes complete code examples showing agent setup, text generation, and audio playback.
47
- The providers include OpenAI, Azure, ElevenLabs, PlayAI, Google, Cloudflare, Deepgram, Speechify, Sarvam, and Murf.
48
- */}
43
+ <Tabs>
44
+ <TabItem value="openai" label="OpenAI">
49
45
 
50
- <Tabs items={["OpenAI", "Azure", "ElevenLabs", "PlayAI", "Google", "Cloudflare", "Deepgram", "Speechify", "Sarvam", "Murf"]}>
51
- <Tabs.Tab>
52
46
  ```typescript
53
- import { Agent } from '@mastra/core/agent';
54
- import { openai } from '@ai-sdk/openai';
47
+ import { Agent } from "@mastra/core/agent";
48
+ import { openai } from "@ai-sdk/openai";
55
49
  import { OpenAIVoice } from "@mastra/voice-openai";
56
50
  import { playAudio } from "@mastra/node-audio";
57
51
 
58
52
  const voiceAgent = new Agent({
59
- name: "Voice Agent",
60
- instructions: "You are a voice assistant that can help users with their tasks.",
61
- model: openai("gpt-4o"),
62
- voice: new OpenAIVoice(),
53
+ name: "Voice Agent",
54
+ instructions:
55
+ "You are a voice assistant that can help users with their tasks.",
56
+ model: openai("gpt-4o"),
57
+ voice: new OpenAIVoice(),
63
58
  });
64
59
 
65
- const { text } = await voiceAgent.generate('What color is the sky?');
60
+ const { text } = await voiceAgent.generate("What color is the sky?");
66
61
 
67
62
  // Convert text to speech to an Audio Stream
68
63
  const audioStream = await voiceAgent.voice.speak(text, {
69
- speaker: "default", // Optional: specify a speaker
70
- responseFormat: "wav", // Optional: specify a response format
64
+ speaker: "default", // Optional: specify a speaker
65
+ responseFormat: "wav", // Optional: specify a response format
71
66
  });
72
67
 
73
68
  playAudio(audioStream);
74
-
75
- ````
69
+ ```
76
70
 
77
71
  Visit the [OpenAI Voice Reference](/reference/voice/openai) for more information on the OpenAI voice provider.
78
- </Tabs.Tab>
79
- <Tabs.Tab>
72
+
73
+ </TabItem>
74
+ <TabItem value="azure" label="Azure">
75
+
80
76
  ```typescript
81
- import { Agent } from '@mastra/core/agent';
82
- import { openai } from '@ai-sdk/openai';
77
+ import { Agent } from "@mastra/core/agent";
78
+ import { openai } from "@ai-sdk/openai";
83
79
  import { AzureVoice } from "@mastra/voice-azure";
84
80
  import { playAudio } from "@mastra/node-audio";
85
81
 
86
82
  const voiceAgent = new Agent({
87
83
  name: "Voice Agent",
88
- instructions: "You are a voice assistant that can help users with their tasks.",
84
+ instructions:
85
+ "You are a voice assistant that can help users with their tasks.",
89
86
  model: openai("gpt-4o"),
90
87
  voice: new AzureVoice(),
91
88
  });
92
89
 
93
- const { text } = await voiceAgent.generate('What color is the sky?');
90
+ const { text } = await voiceAgent.generate("What color is the sky?");
94
91
 
95
92
  // Convert text to speech to an Audio Stream
96
93
  const audioStream = await voiceAgent.voice.speak(text, {
@@ -98,53 +95,57 @@ const audioStream = await voiceAgent.voice.speak(text, {
98
95
  });
99
96
 
100
97
  playAudio(audioStream);
101
- ````
98
+ ```
102
99
 
103
100
  Visit the [Azure Voice Reference](/reference/voice/azure) for more information on the Azure voice provider.
104
101
 
105
- </Tabs.Tab>
106
- <Tabs.Tab>
102
+ </TabItem>
103
+ <TabItem value="elevenlabs" label="ElevenLabs">
104
+
107
105
  ```typescript
108
- import { Agent } from '@mastra/core/agent';
109
- import { openai } from '@ai-sdk/openai';
106
+ import { Agent } from "@mastra/core/agent";
107
+ import { openai } from "@ai-sdk/openai";
110
108
  import { ElevenLabsVoice } from "@mastra/voice-elevenlabs";
111
109
  import { playAudio } from "@mastra/node-audio";
112
110
 
113
111
  const voiceAgent = new Agent({
114
- name: "Voice Agent",
115
- instructions: "You are a voice assistant that can help users with their tasks.",
116
- model: openai("gpt-4o"),
117
- voice: new ElevenLabsVoice(),
112
+ name: "Voice Agent",
113
+ instructions:
114
+ "You are a voice assistant that can help users with their tasks.",
115
+ model: openai("gpt-4o"),
116
+ voice: new ElevenLabsVoice(),
118
117
  });
119
118
 
120
- const { text } = await voiceAgent.generate('What color is the sky?');
119
+ const { text } = await voiceAgent.generate("What color is the sky?");
121
120
 
122
121
  // Convert text to speech to an Audio Stream
123
122
  const audioStream = await voiceAgent.voice.speak(text, {
124
- speaker: "default", // Optional: specify a speaker
123
+ speaker: "default", // Optional: specify a speaker
125
124
  });
126
125
 
127
126
  playAudio(audioStream);
128
-
129
- ````
127
+ ```
130
128
 
131
129
  Visit the [ElevenLabs Voice Reference](/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
132
- </Tabs.Tab>
133
- <Tabs.Tab>
130
+
131
+ </TabItem>
132
+ <TabItem value="playai" label="PlayAI">
133
+
134
134
  ```typescript
135
- import { Agent } from '@mastra/core/agent';
136
- import { openai } from '@ai-sdk/openai';
135
+ import { Agent } from "@mastra/core/agent";
136
+ import { openai } from "@ai-sdk/openai";
137
137
  import { PlayAIVoice } from "@mastra/voice-playai";
138
138
  import { playAudio } from "@mastra/node-audio";
139
139
 
140
140
  const voiceAgent = new Agent({
141
141
  name: "Voice Agent",
142
- instructions: "You are a voice assistant that can help users with their tasks.",
142
+ instructions:
143
+ "You are a voice assistant that can help users with their tasks.",
143
144
  model: openai("gpt-4o"),
144
145
  voice: new PlayAIVoice(),
145
146
  });
146
147
 
147
- const { text } = await voiceAgent.generate('What color is the sky?');
148
+ const { text } = await voiceAgent.generate("What color is the sky?");
148
149
 
149
150
  // Convert text to speech to an Audio Stream
150
151
  const audioStream = await voiceAgent.voice.speak(text, {
@@ -152,53 +153,57 @@ const audioStream = await voiceAgent.voice.speak(text, {
152
153
  });
153
154
 
154
155
  playAudio(audioStream);
155
- ````
156
+ ```
156
157
 
157
158
  Visit the [PlayAI Voice Reference](/reference/voice/playai) for more information on the PlayAI voice provider.
158
159
 
159
- </Tabs.Tab>
160
- <Tabs.Tab>
160
+ </TabItem>
161
+ <TabItem value="google" label="Google">
162
+
161
163
  ```typescript
162
- import { Agent } from '@mastra/core/agent';
163
- import { openai } from '@ai-sdk/openai';
164
+ import { Agent } from "@mastra/core/agent";
165
+ import { openai } from "@ai-sdk/openai";
164
166
  import { GoogleVoice } from "@mastra/voice-google";
165
167
  import { playAudio } from "@mastra/node-audio";
166
168
 
167
169
  const voiceAgent = new Agent({
168
- name: "Voice Agent",
169
- instructions: "You are a voice assistant that can help users with their tasks.",
170
- model: openai("gpt-4o"),
171
- voice: new GoogleVoice(),
170
+ name: "Voice Agent",
171
+ instructions:
172
+ "You are a voice assistant that can help users with their tasks.",
173
+ model: openai("gpt-4o"),
174
+ voice: new GoogleVoice(),
172
175
  });
173
176
 
174
- const { text } = await voiceAgent.generate('What color is the sky?');
177
+ const { text } = await voiceAgent.generate("What color is the sky?");
175
178
 
176
179
  // Convert text to speech to an Audio Stream
177
180
  const audioStream = await voiceAgent.voice.speak(text, {
178
- speaker: "en-US-Studio-O", // Optional: specify a speaker
181
+ speaker: "en-US-Studio-O", // Optional: specify a speaker
179
182
  });
180
183
 
181
184
  playAudio(audioStream);
182
-
183
- ````
185
+ ```
184
186
 
185
187
  Visit the [Google Voice Reference](/reference/voice/google) for more information on the Google voice provider.
186
- </Tabs.Tab>
187
- <Tabs.Tab>
188
+
189
+ </TabItem>
190
+ <TabItem value="cloudflare" label="Cloudflare">
191
+
188
192
  ```typescript
189
- import { Agent } from '@mastra/core/agent';
190
- import { openai } from '@ai-sdk/openai';
193
+ import { Agent } from "@mastra/core/agent";
194
+ import { openai } from "@ai-sdk/openai";
191
195
  import { CloudflareVoice } from "@mastra/voice-cloudflare";
192
196
  import { playAudio } from "@mastra/node-audio";
193
197
 
194
198
  const voiceAgent = new Agent({
195
199
  name: "Voice Agent",
196
- instructions: "You are a voice assistant that can help users with their tasks.",
200
+ instructions:
201
+ "You are a voice assistant that can help users with their tasks.",
197
202
  model: openai("gpt-4o"),
198
203
  voice: new CloudflareVoice(),
199
204
  });
200
205
 
201
- const { text } = await voiceAgent.generate('What color is the sky?');
206
+ const { text } = await voiceAgent.generate("What color is the sky?");
202
207
 
203
208
  // Convert text to speech to an Audio Stream
204
209
  const audioStream = await voiceAgent.voice.speak(text, {
@@ -206,53 +211,57 @@ const audioStream = await voiceAgent.voice.speak(text, {
206
211
  });
207
212
 
208
213
  playAudio(audioStream);
209
- ````
214
+ ```
210
215
 
211
216
  Visit the [Cloudflare Voice Reference](/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
212
217
 
213
- </Tabs.Tab>
214
- <Tabs.Tab>
218
+ </TabItem>
219
+ <TabItem value="deepgram" label="Deepgram">
220
+
215
221
  ```typescript
216
- import { Agent } from '@mastra/core/agent';
217
- import { openai } from '@ai-sdk/openai';
222
+ import { Agent } from "@mastra/core/agent";
223
+ import { openai } from "@ai-sdk/openai";
218
224
  import { DeepgramVoice } from "@mastra/voice-deepgram";
219
225
  import { playAudio } from "@mastra/node-audio";
220
226
 
221
227
  const voiceAgent = new Agent({
222
- name: "Voice Agent",
223
- instructions: "You are a voice assistant that can help users with their tasks.",
224
- model: openai("gpt-4o"),
225
- voice: new DeepgramVoice(),
228
+ name: "Voice Agent",
229
+ instructions:
230
+ "You are a voice assistant that can help users with their tasks.",
231
+ model: openai("gpt-4o"),
232
+ voice: new DeepgramVoice(),
226
233
  });
227
234
 
228
- const { text } = await voiceAgent.generate('What color is the sky?');
235
+ const { text } = await voiceAgent.generate("What color is the sky?");
229
236
 
230
237
  // Convert text to speech to an Audio Stream
231
238
  const audioStream = await voiceAgent.voice.speak(text, {
232
- speaker: "aura-english-us", // Optional: specify a speaker
239
+ speaker: "aura-english-us", // Optional: specify a speaker
233
240
  });
234
241
 
235
242
  playAudio(audioStream);
236
-
237
- ````
243
+ ```
238
244
 
239
245
  Visit the [Deepgram Voice Reference](/reference/voice/deepgram) for more information on the Deepgram voice provider.
240
- </Tabs.Tab>
241
- <Tabs.Tab>
246
+
247
+ </TabItem>
248
+ <TabItem value="speechify" label="Speechify">
249
+
242
250
  ```typescript
243
- import { Agent } from '@mastra/core/agent';
244
- import { openai } from '@ai-sdk/openai';
251
+ import { Agent } from "@mastra/core/agent";
252
+ import { openai } from "@ai-sdk/openai";
245
253
  import { SpeechifyVoice } from "@mastra/voice-speechify";
246
254
  import { playAudio } from "@mastra/node-audio";
247
255
 
248
256
  const voiceAgent = new Agent({
249
257
  name: "Voice Agent",
250
- instructions: "You are a voice assistant that can help users with their tasks.",
258
+ instructions:
259
+ "You are a voice assistant that can help users with their tasks.",
251
260
  model: openai("gpt-4o"),
252
261
  voice: new SpeechifyVoice(),
253
262
  });
254
263
 
255
- const { text } = await voiceAgent.generate('What color is the sky?');
264
+ const { text } = await voiceAgent.generate("What color is the sky?");
256
265
 
257
266
  // Convert text to speech to an Audio Stream
258
267
  const audioStream = await voiceAgent.voice.speak(text, {
@@ -260,53 +269,57 @@ const audioStream = await voiceAgent.voice.speak(text, {
260
269
  });
261
270
 
262
271
  playAudio(audioStream);
263
- ````
272
+ ```
264
273
 
265
274
  Visit the [Speechify Voice Reference](/reference/voice/speechify) for more information on the Speechify voice provider.
266
275
 
267
- </Tabs.Tab>
268
- <Tabs.Tab>
276
+ </TabItem>
277
+ <TabItem value="sarvam" label="Sarvam">
278
+
269
279
  ```typescript
270
- import { Agent } from '@mastra/core/agent';
271
- import { openai } from '@ai-sdk/openai';
280
+ import { Agent } from "@mastra/core/agent";
281
+ import { openai } from "@ai-sdk/openai";
272
282
  import { SarvamVoice } from "@mastra/voice-sarvam";
273
283
  import { playAudio } from "@mastra/node-audio";
274
284
 
275
285
  const voiceAgent = new Agent({
276
- name: "Voice Agent",
277
- instructions: "You are a voice assistant that can help users with their tasks.",
278
- model: openai("gpt-4o"),
279
- voice: new SarvamVoice(),
286
+ name: "Voice Agent",
287
+ instructions:
288
+ "You are a voice assistant that can help users with their tasks.",
289
+ model: openai("gpt-4o"),
290
+ voice: new SarvamVoice(),
280
291
  });
281
292
 
282
- const { text } = await voiceAgent.generate('What color is the sky?');
293
+ const { text } = await voiceAgent.generate("What color is the sky?");
283
294
 
284
295
  // Convert text to speech to an Audio Stream
285
296
  const audioStream = await voiceAgent.voice.speak(text, {
286
- speaker: "default", // Optional: specify a speaker
297
+ speaker: "default", // Optional: specify a speaker
287
298
  });
288
299
 
289
300
  playAudio(audioStream);
290
-
291
- ````
301
+ ```
292
302
 
293
303
  Visit the [Sarvam Voice Reference](/reference/voice/sarvam) for more information on the Sarvam voice provider.
294
- </Tabs.Tab>
295
- <Tabs.Tab>
304
+
305
+ </TabItem>
306
+ <TabItem value="murf" label="Murf">
307
+
296
308
  ```typescript
297
- import { Agent } from '@mastra/core/agent';
298
- import { openai } from '@ai-sdk/openai';
309
+ import { Agent } from "@mastra/core/agent";
310
+ import { openai } from "@ai-sdk/openai";
299
311
  import { MurfVoice } from "@mastra/voice-murf";
300
312
  import { playAudio } from "@mastra/node-audio";
301
313
 
302
314
  const voiceAgent = new Agent({
303
315
  name: "Voice Agent",
304
- instructions: "You are a voice assistant that can help users with their tasks.",
316
+ instructions:
317
+ "You are a voice assistant that can help users with their tasks.",
305
318
  model: openai("gpt-4o"),
306
319
  voice: new MurfVoice(),
307
320
  });
308
321
 
309
- const { text } = await voiceAgent.generate('What color is the sky?');
322
+ const { text } = await voiceAgent.generate("What color is the sky?");
310
323
 
311
324
  // Convert text to speech to an Audio Stream
312
325
  const audioStream = await voiceAgent.voice.speak(text, {
@@ -314,11 +327,11 @@ const audioStream = await voiceAgent.voice.speak(text, {
314
327
  });
315
328
 
316
329
  playAudio(audioStream);
317
- ````
330
+ ```
318
331
 
319
332
  Visit the [Murf Voice Reference](/reference/voice/murf) for more information on the Murf voice provider.
320
333
 
321
- </Tabs.Tab>
334
+ </TabItem>
322
335
  </Tabs>
323
336
 
324
337
  ### Speech to Text (STT)
@@ -330,26 +343,21 @@ You can download a sample audio file from [here](https://github.com/mastra-ai/re
330
343
  <br />
331
344
  <AudioPlayback audio="https://github.com/mastra-ai/realtime-voice-demo/raw/refs/heads/main/how_can_i_help_you.mp3" />
332
345
 
333
- {/*
334
- LLM CONTEXT: This Tabs component demonstrates Speech-to-Text (STT) implementation across different voice providers.
335
- Each tab shows how to set up and use a specific STT provider for transcribing audio to text.
336
- The tabs help users understand how to implement speech recognition with different providers.
337
- Each tab includes code examples showing audio file handling, transcription, and response generation.
338
- */}
346
+ <Tabs>
347
+ <TabItem value="openai" label="OpenAI">
339
348
 
340
- <Tabs items={["OpenAI", "Azure", "ElevenLabs", "Google", "Cloudflare", "Deepgram", "Sarvam"]}>
341
- <Tabs.Tab>
342
349
  ```typescript
343
- import { Agent } from '@mastra/core/agent';
344
- import { openai } from '@ai-sdk/openai';
350
+ import { Agent } from "@mastra/core/agent";
351
+ import { openai } from "@ai-sdk/openai";
345
352
  import { OpenAIVoice } from "@mastra/voice-openai";
346
- import { createReadStream } from 'fs';
353
+ import { createReadStream } from "fs";
347
354
 
348
355
  const voiceAgent = new Agent({
349
- name: "Voice Agent",
350
- instructions: "You are a voice assistant that can help users with their tasks.",
351
- model: openai("gpt-4o"),
352
- voice: new OpenAIVoice(),
356
+ name: "Voice Agent",
357
+ instructions:
358
+ "You are a voice assistant that can help users with their tasks.",
359
+ model: openai("gpt-4o"),
360
+ voice: new OpenAIVoice(),
353
361
  });
354
362
 
355
363
  // Use an audio file from a URL
@@ -361,22 +369,24 @@ console.log(`User said: ${transcript}`);
361
369
 
362
370
  // Generate a response based on the transcript
363
371
  const { text } = await voiceAgent.generate(transcript);
364
-
365
- ````
372
+ ```
366
373
 
367
374
  Visit the [OpenAI Voice Reference](/reference/voice/openai) for more information on the OpenAI voice provider.
368
- </Tabs.Tab>
369
- <Tabs.Tab>
375
+
376
+ </TabItem>
377
+ <TabItem value="azure" label="Azure">
378
+
370
379
  ```typescript
371
- import { createReadStream } from 'fs';
372
- import { Agent } from '@mastra/core/agent';
373
- import { openai } from '@ai-sdk/openai';
380
+ import { createReadStream } from "fs";
381
+ import { Agent } from "@mastra/core/agent";
382
+ import { openai } from "@ai-sdk/openai";
374
383
  import { AzureVoice } from "@mastra/voice-azure";
375
- import { createReadStream } from 'fs';
384
+ import { createReadStream } from "fs";
376
385
 
377
386
  const voiceAgent = new Agent({
378
387
  name: "Voice Agent",
379
- instructions: "You are a voice assistant that can help users with their tasks.",
388
+ instructions:
389
+ "You are a voice assistant that can help users with their tasks.",
380
390
  model: openai("gpt-4o"),
381
391
  voice: new AzureVoice(),
382
392
  });
@@ -390,23 +400,25 @@ console.log(`User said: ${transcript}`);
390
400
 
391
401
  // Generate a response based on the transcript
392
402
  const { text } = await voiceAgent.generate(transcript);
393
- ````
403
+ ```
394
404
 
395
405
  Visit the [Azure Voice Reference](/reference/voice/azure) for more information on the Azure voice provider.
396
406
 
397
- </Tabs.Tab>
398
- <Tabs.Tab>
407
+ </TabItem>
408
+ <TabItem value="elevenlabs" label="ElevenLabs">
409
+
399
410
  ```typescript
400
- import { Agent } from '@mastra/core/agent';
401
- import { openai } from '@ai-sdk/openai';
411
+ import { Agent } from "@mastra/core/agent";
412
+ import { openai } from "@ai-sdk/openai";
402
413
  import { ElevenLabsVoice } from "@mastra/voice-elevenlabs";
403
- import { createReadStream } from 'fs';
414
+ import { createReadStream } from "fs";
404
415
 
405
416
  const voiceAgent = new Agent({
406
- name: "Voice Agent",
407
- instructions: "You are a voice assistant that can help users with their tasks.",
408
- model: openai("gpt-4o"),
409
- voice: new ElevenLabsVoice(),
417
+ name: "Voice Agent",
418
+ instructions:
419
+ "You are a voice assistant that can help users with their tasks.",
420
+ model: openai("gpt-4o"),
421
+ voice: new ElevenLabsVoice(),
410
422
  });
411
423
 
412
424
  // Use an audio file from a URL
@@ -418,21 +430,23 @@ console.log(`User said: ${transcript}`);
418
430
 
419
431
  // Generate a response based on the transcript
420
432
  const { text } = await voiceAgent.generate(transcript);
421
-
422
- ````
433
+ ```
423
434
 
424
435
  Visit the [ElevenLabs Voice Reference](/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
425
- </Tabs.Tab>
426
- <Tabs.Tab>
436
+
437
+ </TabItem>
438
+ <TabItem value="google" label="Google">
439
+
427
440
  ```typescript
428
- import { Agent } from '@mastra/core/agent';
429
- import { openai } from '@ai-sdk/openai';
441
+ import { Agent } from "@mastra/core/agent";
442
+ import { openai } from "@ai-sdk/openai";
430
443
  import { GoogleVoice } from "@mastra/voice-google";
431
- import { createReadStream } from 'fs';
444
+ import { createReadStream } from "fs";
432
445
 
433
446
  const voiceAgent = new Agent({
434
447
  name: "Voice Agent",
435
- instructions: "You are a voice assistant that can help users with their tasks.",
448
+ instructions:
449
+ "You are a voice assistant that can help users with their tasks.",
436
450
  model: openai("gpt-4o"),
437
451
  voice: new GoogleVoice(),
438
452
  });
@@ -446,23 +460,25 @@ console.log(`User said: ${transcript}`);
446
460
 
447
461
  // Generate a response based on the transcript
448
462
  const { text } = await voiceAgent.generate(transcript);
449
- ````
463
+ ```
450
464
 
451
465
  Visit the [Google Voice Reference](/reference/voice/google) for more information on the Google voice provider.
452
466
 
453
- </Tabs.Tab>
454
- <Tabs.Tab>
467
+ </TabItem>
468
+ <TabItem value="cloudflare" label="Cloudflare">
469
+
455
470
  ```typescript
456
- import { Agent } from '@mastra/core/agent';
457
- import { openai } from '@ai-sdk/openai';
471
+ import { Agent } from "@mastra/core/agent";
472
+ import { openai } from "@ai-sdk/openai";
458
473
  import { CloudflareVoice } from "@mastra/voice-cloudflare";
459
- import { createReadStream } from 'fs';
474
+ import { createReadStream } from "fs";
460
475
 
461
476
  const voiceAgent = new Agent({
462
- name: "Voice Agent",
463
- instructions: "You are a voice assistant that can help users with their tasks.",
464
- model: openai("gpt-4o"),
465
- voice: new CloudflareVoice(),
477
+ name: "Voice Agent",
478
+ instructions:
479
+ "You are a voice assistant that can help users with their tasks.",
480
+ model: openai("gpt-4o"),
481
+ voice: new CloudflareVoice(),
466
482
  });
467
483
 
468
484
  // Use an audio file from a URL
@@ -474,21 +490,23 @@ console.log(`User said: ${transcript}`);
474
490
 
475
491
  // Generate a response based on the transcript
476
492
  const { text } = await voiceAgent.generate(transcript);
477
-
478
- ````
493
+ ```
479
494
 
480
495
  Visit the [Cloudflare Voice Reference](/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
481
- </Tabs.Tab>
482
- <Tabs.Tab>
496
+
497
+ </TabItem>
498
+ <TabItem value="deepgram" label="Deepgram">
499
+
483
500
  ```typescript
484
- import { Agent } from '@mastra/core/agent';
485
- import { openai } from '@ai-sdk/openai';
501
+ import { Agent } from "@mastra/core/agent";
502
+ import { openai } from "@ai-sdk/openai";
486
503
  import { DeepgramVoice } from "@mastra/voice-deepgram";
487
- import { createReadStream } from 'fs';
504
+ import { createReadStream } from "fs";
488
505
 
489
506
  const voiceAgent = new Agent({
490
507
  name: "Voice Agent",
491
- instructions: "You are a voice assistant that can help users with their tasks.",
508
+ instructions:
509
+ "You are a voice assistant that can help users with their tasks.",
492
510
  model: openai("gpt-4o"),
493
511
  voice: new DeepgramVoice(),
494
512
  });
@@ -502,23 +520,25 @@ console.log(`User said: ${transcript}`);
502
520
 
503
521
  // Generate a response based on the transcript
504
522
  const { text } = await voiceAgent.generate(transcript);
505
- ````
523
+ ```
506
524
 
507
525
  Visit the [Deepgram Voice Reference](/reference/voice/deepgram) for more information on the Deepgram voice provider.
508
526
 
509
- </Tabs.Tab>
510
- <Tabs.Tab>
527
+ </TabItem>
528
+ <TabItem value="sarvam" label="Sarvam">
529
+
511
530
  ```typescript
512
- import { Agent } from '@mastra/core/agent';
513
- import { openai } from '@ai-sdk/openai';
531
+ import { Agent } from "@mastra/core/agent";
532
+ import { openai } from "@ai-sdk/openai";
514
533
  import { SarvamVoice } from "@mastra/voice-sarvam";
515
- import { createReadStream } from 'fs';
534
+ import { createReadStream } from "fs";
516
535
 
517
536
  const voiceAgent = new Agent({
518
- name: "Voice Agent",
519
- instructions: "You are a voice assistant that can help users with their tasks.",
520
- model: openai("gpt-4o"),
521
- voice: new SarvamVoice(),
537
+ name: "Voice Agent",
538
+ instructions:
539
+ "You are a voice assistant that can help users with their tasks.",
540
+ model: openai("gpt-4o"),
541
+ voice: new SarvamVoice(),
522
542
  });
523
543
 
524
544
  // Use an audio file from a URL
@@ -530,11 +550,11 @@ console.log(`User said: ${transcript}`);
530
550
 
531
551
  // Generate a response based on the transcript
532
552
  const { text } = await voiceAgent.generate(transcript);
533
-
534
- ````
553
+ ```
535
554
 
536
555
  Visit the [Sarvam Voice Reference](/reference/voice/sarvam) for more information on the Sarvam voice provider.
537
- </Tabs.Tab>
556
+
557
+ </TabItem>
538
558
  </Tabs>
539
559
 
540
560
  ### Speech to Speech (STS)
@@ -542,59 +562,57 @@ Visit the [Sarvam Voice Reference](/reference/voice/sarvam) for more information
542
562
  Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents.
543
563
  For detailed configuration options and advanced features, check out [Speech to Speech](./speech-to-speech).
544
564
 
545
- {/*
546
- LLM CONTEXT: This Tabs component demonstrates Speech-to-Speech (STS) implementation for real-time voice interactions.
547
- Currently only shows OpenAI's realtime voice implementation for bidirectional voice conversations.
548
- The tab shows how to set up real-time voice communication with event handling for audio responses.
549
- This enables conversational AI experiences with continuous audio streaming.
550
- */}
551
- <Tabs items={["OpenAI", "Google Gemini Live"]}>
552
- <Tabs.Tab>
553
- ```typescript
554
- import { Agent } from '@mastra/core/agent';
555
- import { openai } from '@ai-sdk/openai';
556
- import { playAudio, getMicrophoneStream } from '@mastra/node-audio';
565
+ <Tabs>
566
+ <TabItem value="openai" label="OpenAI">
567
+
568
+ ```typescript
569
+ import { Agent } from "@mastra/core/agent";
570
+ import { openai } from "@ai-sdk/openai";
571
+ import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
557
572
  import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
558
573
 
559
574
  const voiceAgent = new Agent({
560
575
  name: "Voice Agent",
561
- instructions: "You are a voice assistant that can help users with their tasks.",
576
+ instructions:
577
+ "You are a voice assistant that can help users with their tasks.",
562
578
  model: openai("gpt-4o"),
563
579
  voice: new OpenAIRealtimeVoice(),
564
580
  });
565
581
 
566
582
  // Listen for agent audio responses
567
- voiceAgent.voice.on('speaker', ({ audio }) => {
583
+ voiceAgent.voice.on("speaker", ({ audio }) => {
568
584
  playAudio(audio);
569
585
  });
570
586
 
571
587
  // Initiate the conversation
572
- await voiceAgent.voice.speak('How can I help you today?');
588
+ await voiceAgent.voice.speak("How can I help you today?");
573
589
 
574
590
  // Send continuous audio from the microphone
575
591
  const micStream = getMicrophoneStream();
576
592
  await voiceAgent.voice.send(micStream);
577
- ````
593
+ ```
578
594
 
579
595
  Visit the [OpenAI Voice Reference](/reference/voice/openai-realtime) for more information on the OpenAI voice provider.
580
596
 
581
- </Tabs.Tab>
582
- <Tabs.Tab>
597
+ </TabItem>
598
+ <TabItem value="google" label="Google">
599
+
583
600
  ```typescript
584
- import { Agent } from '@mastra/core/agent';
585
- import { openai } from '@ai-sdk/openai';
586
- import { playAudio, getMicrophoneStream } from '@mastra/node-audio';
601
+ import { Agent } from "@mastra/core/agent";
602
+ import { openai } from "@ai-sdk/openai";
603
+ import { playAudio, getMicrophoneStream } from "@mastra/node-audio";
587
604
  import { GeminiLiveVoice } from "@mastra/voice-google-gemini-live";
588
605
 
589
606
  const voiceAgent = new Agent({
590
607
  name: "Voice Agent",
591
- instructions: "You are a voice assistant that can help users with their tasks.",
608
+ instructions:
609
+ "You are a voice assistant that can help users with their tasks.",
592
610
  model: openai("gpt-4o"),
593
611
  voice: new GeminiLiveVoice({
594
612
  // Live API mode
595
613
  apiKey: process.env.GOOGLE_API_KEY,
596
- model: 'gemini-2.0-flash-exp',
597
- speaker: 'Puck',
614
+ model: "gemini-2.0-flash-exp",
615
+ speaker: "Puck",
598
616
  debug: true,
599
617
  // Vertex AI alternative:
600
618
  // vertexAI: true,
@@ -608,17 +626,17 @@ const voiceAgent = new Agent({
608
626
  await voiceAgent.voice.connect();
609
627
 
610
628
  // Listen for agent audio responses
611
- voiceAgent.voice.on('speaker', ({ audio }) => {
629
+ voiceAgent.voice.on("speaker", ({ audio }) => {
612
630
  playAudio(audio);
613
631
  });
614
632
 
615
633
  // Listen for text responses and transcriptions
616
- voiceAgent.voice.on('writing', ({ text, role }) => {
634
+ voiceAgent.voice.on("writing", ({ text, role }) => {
617
635
  console.log(`${role}: ${text}`);
618
636
  });
619
637
 
620
638
  // Initiate the conversation
621
- await voiceAgent.voice.speak('How can I help you today?');
639
+ await voiceAgent.voice.speak("How can I help you today?");
622
640
 
623
641
  // Send continuous audio from the microphone
624
642
  const micStream = getMicrophoneStream();
@@ -627,22 +645,16 @@ await voiceAgent.voice.send(micStream);
627
645
 
628
646
  Visit the [Google Gemini Live Reference](/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
629
647
 
630
- </Tabs.Tab>
648
+ </TabItem>
631
649
  </Tabs>
632
650
 
633
651
  ## Voice Configuration
634
652
 
635
653
  Each voice provider can be configured with different models and options. Below are the detailed configuration options for all supported providers:
636
654
 
637
- {/*
638
- LLM CONTEXT: This Tabs component shows detailed configuration options for all supported voice providers.
639
- Each tab demonstrates how to configure a specific voice provider with all available options and settings.
640
- The tabs help users understand the full configuration capabilities of each provider including models, languages, and advanced settings.
641
- Each tab shows both speech and listening model configurations where applicable.
642
- */}
655
+ <Tabs>
656
+ <TabItem value="openai" label="OpenAI">
643
657
 
644
- <Tabs items={["OpenAI", "Azure", "ElevenLabs", "PlayAI", "Google", "Cloudflare", "Deepgram", "Speechify", "Sarvam", "Murf", "OpenAI Realtime", "Google Gemini Live"]}>
645
- <Tabs.Tab>
646
658
  ```typescript
647
659
  // OpenAI Voice Configuration
648
660
  const voice = new OpenAIVoice({
@@ -664,8 +676,9 @@ const voice = new OpenAIVoice({
664
676
 
665
677
  Visit the [OpenAI Voice Reference](/reference/voice/openai) for more information on the OpenAI voice provider.
666
678
 
667
- </Tabs.Tab>
668
- <Tabs.Tab>
679
+ </TabItem>
680
+ <TabItem value="azure" label="Azure">
681
+
669
682
  ```typescript
670
683
  // Azure Voice Configuration
671
684
  const voice = new AzureVoice({
@@ -689,8 +702,9 @@ const voice = new AzureVoice({
689
702
 
690
703
  Visit the [Azure Voice Reference](/reference/voice/azure) for more information on the Azure voice provider.
691
704
 
692
- </Tabs.Tab>
693
- <Tabs.Tab>
705
+ </TabItem>
706
+ <TabItem value="elevenlabs" label="ElevenLabs">
707
+
694
708
  ```typescript
695
709
  // ElevenLabs Voice Configuration
696
710
  const voice = new ElevenLabsVoice({
@@ -707,8 +721,9 @@ const voice = new ElevenLabsVoice({
707
721
 
708
722
  Visit the [ElevenLabs Voice Reference](/reference/voice/elevenlabs) for more information on the ElevenLabs voice provider.
709
723
 
710
- </Tabs.Tab>
711
- <Tabs.Tab>
724
+ </TabItem>
725
+ <TabItem value="playai" label="PlayAI">
726
+
712
727
  ```typescript
713
728
  // PlayAI Voice Configuration
714
729
  const voice = new PlayAIVoice({
@@ -725,8 +740,9 @@ const voice = new PlayAIVoice({
725
740
 
726
741
  Visit the [PlayAI Voice Reference](/reference/voice/playai) for more information on the PlayAI voice provider.
727
742
 
728
- </Tabs.Tab>
729
- <Tabs.Tab>
743
+ </TabItem>
744
+ <TabItem value="google" label="Google">
745
+
730
746
  ```typescript
731
747
  // Google Voice Configuration
732
748
  const voice = new GoogleVoice({
@@ -746,8 +762,9 @@ const voice = new GoogleVoice({
746
762
 
747
763
  Visit the [Google Voice Reference](/reference/voice/google) for more information on the Google voice provider.
748
764
 
749
- </Tabs.Tab>
750
- <Tabs.Tab>
765
+ </TabItem>
766
+ <TabItem value="cloudflare" label="Cloudflare">
767
+
751
768
  ```typescript
752
769
  // Cloudflare Voice Configuration
753
770
  const voice = new CloudflareVoice({
@@ -764,8 +781,9 @@ const voice = new CloudflareVoice({
764
781
 
765
782
  Visit the [Cloudflare Voice Reference](/reference/voice/cloudflare) for more information on the Cloudflare voice provider.
766
783
 
767
- </Tabs.Tab>
768
- <Tabs.Tab>
784
+ </TabItem>
785
+ <TabItem value="deepgram" label="Deepgram">
786
+
769
787
  ```typescript
770
788
  // Deepgram Voice Configuration
771
789
  const voice = new DeepgramVoice({
@@ -785,8 +803,9 @@ const voice = new DeepgramVoice({
785
803
 
786
804
  Visit the [Deepgram Voice Reference](/reference/voice/deepgram) for more information on the Deepgram voice provider.
787
805
 
788
- </Tabs.Tab>
789
- <Tabs.Tab>
806
+ </TabItem>
807
+ <TabItem value="speechify" label="Speechify">
808
+
790
809
  ```typescript
791
810
  // Speechify Voice Configuration
792
811
  const voice = new SpeechifyVoice({
@@ -803,8 +822,9 @@ const voice = new SpeechifyVoice({
803
822
 
804
823
  Visit the [Speechify Voice Reference](/reference/voice/speechify) for more information on the Speechify voice provider.
805
824
 
806
- </Tabs.Tab>
807
- <Tabs.Tab>
825
+ </TabItem>
826
+ <TabItem value="sarvam" label="Sarvam">
827
+
808
828
  ```typescript
809
829
  // Sarvam Voice Configuration
810
830
  const voice = new SarvamVoice({
@@ -820,8 +840,9 @@ const voice = new SarvamVoice({
820
840
 
821
841
  Visit the [Sarvam Voice Reference](/reference/voice/sarvam) for more information on the Sarvam voice provider.
822
842
 
823
- </Tabs.Tab>
824
- <Tabs.Tab>
843
+ </TabItem>
844
+ <TabItem value="murf" label="Murf">
845
+
825
846
  ```typescript
826
847
  // Murf Voice Configuration
827
848
  const voice = new MurfVoice({
@@ -837,8 +858,9 @@ const voice = new MurfVoice({
837
858
 
838
859
  Visit the [Murf Voice Reference](/reference/voice/murf) for more information on the Murf voice provider.
839
860
 
840
- </Tabs.Tab>
841
- <Tabs.Tab>
861
+ </TabItem>
862
+ <TabItem value="openai-realtime" label="OpenAI Realtime">
863
+
842
864
  ```typescript
843
865
  // OpenAI Realtime Voice Configuration
844
866
  const voice = new OpenAIRealtimeVoice({
@@ -858,8 +880,9 @@ const voice = new OpenAIRealtimeVoice({
858
880
 
859
881
  For more information on the OpenAI Realtime voice provider, refer to the [OpenAI Realtime Voice Reference](/reference/voice/openai-realtime).
860
882
 
861
- </Tabs.Tab>
862
- <Tabs.Tab>
883
+ </TabItem>
884
+ <TabItem value="google-gemini-live" label="Google Gemini Live">
885
+
863
886
  ```typescript
864
887
  // Google Gemini Live Voice Configuration
865
888
  const voice = new GeminiLiveVoice({
@@ -874,7 +897,7 @@ const voice = new GeminiLiveVoice({
874
897
 
875
898
  Visit the [Google Gemini Live Reference](/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
876
899
 
877
- </Tabs.Tab>
900
+ </TabItem>
878
901
  </Tabs>
879
902
 
880
903
  ### Using Multiple Voice Providers
@@ -932,13 +955,13 @@ For more information on the CompositeVoice, refer to the [CompositeVoice Referen
932
955
 
933
956
  ## More Resources
934
957
 
935
- - [CompositeVoice](../../reference/voice/composite-voice.mdx)
936
- - [MastraVoice](../../reference/voice/mastra-voice.mdx)
937
- - [OpenAI Voice](../../reference/voice/openai.mdx)
938
- - [OpenAI Realtime Voice](../../reference/voice/openai-realtime.mdx)
939
- - [Azure Voice](../../reference/voice/azure.mdx)
940
- - [Google Voice](../../reference/voice/google.mdx)
941
- - [Google Gemini Live Voice](../../reference/voice/google-gemini-live.mdx)
942
- - [Deepgram Voice](../../reference/voice/deepgram.mdx)
943
- - [PlayAI Voice](../../reference/voice/playai.mdx)
944
- - [Voice Examples](../../examples/voice/text-to-speech.mdx)
958
+ - [CompositeVoice](/reference/voice/composite-voice)
959
+ - [MastraVoice](/reference/voice/mastra-voice)
960
+ - [OpenAI Voice](/reference/voice/openai)
961
+ - [OpenAI Realtime Voice](/reference/voice/openai-realtime)
962
+ - [Azure Voice](/reference/voice/azure)
963
+ - [Google Voice](/reference/voice/google)
964
+ - [Google Gemini Live Voice](/reference/voice/google-gemini-live)
965
+ - [Deepgram Voice](/reference/voice/deepgram)
966
+ - [PlayAI Voice](/reference/voice/playai)
967
+ - [Voice Examples](/examples/voice/text-to-speech)