@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,294 @@
1
+ # Upstash Vector Store
2
+
3
+ The UpstashVector class provides vector search using [Upstash Vector](https://upstash.com/vector), a serverless vector database service that provides vector similarity search with metadata filtering capabilities and hybrid search support.
4
+
5
+ ## Constructor Options
6
+
7
+ **url:** (`string`): Upstash Vector database URL
8
+
9
+ **token:** (`string`): Upstash Vector API token
10
+
11
+ ## Methods
12
+
13
+ ### createIndex()
14
+
15
+ Note: This method is a no-op for Upstash as indexes are created automatically.
16
+
17
+ **indexName:** (`string`): Name of the index to create
18
+
19
+ **dimension:** (`number`): Vector dimension (must match your embedding model)
20
+
21
+ **metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
22
+
23
+ ### upsert()
24
+
25
+ **indexName:** (`string`): Name of the index to upsert into
26
+
27
+ **vectors:** (`number[][]`): Array of embedding vectors
28
+
29
+ **sparseVectors?:** (`{ indices: number[], values: number[] }[]`): Array of sparse vectors for hybrid search. Each sparse vector must have matching indices and values arrays.
30
+
31
+ **metadata?:** (`Record<string, any>[]`): Metadata for each vector
32
+
33
+ **ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
34
+
35
+ ### query()
36
+
37
+ **indexName:** (`string`): Name of the index to query
38
+
39
+ **queryVector:** (`number[]`): Query vector to find similar vectors
40
+
41
+ **sparseVector?:** (`{ indices: number[], values: number[] }`): Optional sparse vector for hybrid search. Must have matching indices and values arrays.
42
+
43
+ **topK?:** (`number`): Number of results to return (Default: `10`)
44
+
45
+ **filter?:** (`Record<string, any>`): Metadata filters for the query
46
+
47
+ **includeVector?:** (`boolean`): Whether to include vectors in the results (Default: `false`)
48
+
49
+ **fusionAlgorithm?:** (`FusionAlgorithm`): Algorithm used to combine dense and sparse search results in hybrid search (e.g., RRF - Reciprocal Rank Fusion)
50
+
51
+ **queryMode?:** (`QueryMode`): Search mode: 'DENSE' for dense-only, 'SPARSE' for sparse-only, or 'HYBRID' for combined search
52
+
53
+ ### listIndexes()
54
+
55
+ Returns an array of index names (namespaces) as strings.
56
+
57
+ ### describeIndex()
58
+
59
+ **indexName:** (`string`): Name of the index to describe
60
+
61
+ Returns:
62
+
63
+ ```typescript
64
+ interface IndexStats {
65
+ dimension: number
66
+ count: number
67
+ metric: 'cosine' | 'euclidean' | 'dotproduct'
68
+ }
69
+ ```
70
+
71
+ ### deleteIndex()
72
+
73
+ **indexName:** (`string`): Name of the index (namespace) to delete
74
+
75
+ ### updateVector()
76
+
77
+ **indexName:** (`string`): Name of the index to update
78
+
79
+ **id:** (`string`): ID of the item to update
80
+
81
+ **update:** (`object`): Update object containing vector, sparse vector, and/or metadata
82
+
83
+ The `update` object can have the following properties:
84
+
85
+ - `vector` (optional): An array of numbers representing the new dense vector.
86
+ - `sparseVector` (optional): A sparse vector object with `indices` and `values` arrays for hybrid indexes.
87
+ - `metadata` (optional): A record of key-value pairs for metadata.
88
+
89
+ ### deleteVector()
90
+
91
+ **indexName:** (`string`): Name of the index from which to delete the item
92
+
93
+ **id:** (`string`): ID of the item to delete
94
+
95
+ Attempts to delete an item by its ID from the specified index. Logs an error message if the deletion fails.
96
+
97
+ ## Hybrid Vector Search
98
+
99
+ Upstash Vector supports hybrid search that combines semantic search (dense vectors) with keyword-based search (sparse vectors) for improved relevance and accuracy.
100
+
101
+ ### Basic Hybrid Usage
102
+
103
+ ```typescript
104
+ import { UpstashVector } from '@mastra/upstash'
105
+
106
+ const vectorStore = new UpstashVector({
107
+ id: 'upstash-vector',
108
+ url: process.env.UPSTASH_VECTOR_URL,
109
+ token: process.env.UPSTASH_VECTOR_TOKEN,
110
+ })
111
+
112
+ // Upsert vectors with both dense and sparse components
113
+ const denseVectors = [
114
+ [0.1, 0.2, 0.3],
115
+ [0.4, 0.5, 0.6],
116
+ ]
117
+ const sparseVectors = [
118
+ { indices: [1, 5, 10], values: [0.8, 0.6, 0.4] },
119
+ { indices: [2, 6, 11], values: [0.7, 0.5, 0.3] },
120
+ ]
121
+
122
+ await vectorStore.upsert({
123
+ indexName: 'hybrid-index',
124
+ vectors: denseVectors,
125
+ sparseVectors: sparseVectors,
126
+ metadata: [{ title: 'Document 1' }, { title: 'Document 2' }],
127
+ })
128
+
129
+ // Query with hybrid search
130
+ const results = await vectorStore.query({
131
+ indexName: 'hybrid-index',
132
+ queryVector: [0.1, 0.2, 0.3],
133
+ sparseVector: { indices: [1, 5], values: [0.9, 0.7] },
134
+ topK: 10,
135
+ })
136
+ ```
137
+
138
+ ### Advanced Hybrid Search Options
139
+
140
+ ```typescript
141
+ import { FusionAlgorithm, QueryMode } from '@upstash/vector'
142
+
143
+ // Query with specific fusion algorithm
144
+ const fusionResults = await vectorStore.query({
145
+ indexName: 'hybrid-index',
146
+ queryVector: [0.1, 0.2, 0.3],
147
+ sparseVector: { indices: [1, 5], values: [0.9, 0.7] },
148
+ fusionAlgorithm: FusionAlgorithm.RRF,
149
+ topK: 10,
150
+ })
151
+
152
+ // Dense-only search
153
+ const denseResults = await vectorStore.query({
154
+ indexName: 'hybrid-index',
155
+ queryVector: [0.1, 0.2, 0.3],
156
+ queryMode: QueryMode.DENSE,
157
+ topK: 10,
158
+ })
159
+
160
+ // Sparse-only search
161
+ const sparseResults = await vectorStore.query({
162
+ indexName: 'hybrid-index',
163
+ queryVector: [0.1, 0.2, 0.3], // Still required for index structure
164
+ sparseVector: { indices: [1, 5], values: [0.9, 0.7] },
165
+ queryMode: QueryMode.SPARSE,
166
+ topK: 10,
167
+ })
168
+ ```
169
+
170
+ ### Updating Hybrid Vectors
171
+
172
+ ```typescript
173
+ // Update both dense and sparse components
174
+ await vectorStore.updateVector({
175
+ indexName: 'hybrid-index',
176
+ id: 'vector-id',
177
+ update: {
178
+ vector: [0.2, 0.3, 0.4],
179
+ sparseVector: { indices: [2, 7, 12], values: [0.9, 0.8, 0.6] },
180
+ metadata: { title: 'Updated Document' },
181
+ },
182
+ })
183
+ ```
184
+
185
+ ## Response Types
186
+
187
+ Query results are returned in this format:
188
+
189
+ ```typescript
190
+ interface QueryResult {
191
+ id: string
192
+ score: number
193
+ metadata: Record<string, any>
194
+ vector?: number[] // Only included if includeVector is true
195
+ }
196
+ ```
197
+
198
+ ## Error Handling
199
+
200
+ The store throws typed errors that can be caught:
201
+
202
+ ```typescript
203
+ try {
204
+ await store.query({
205
+ indexName: 'index_name',
206
+ queryVector: queryVector,
207
+ })
208
+ } catch (error) {
209
+ if (error instanceof VectorStoreError) {
210
+ console.log(error.code) // 'connection_failed' | 'invalid_dimension' | etc
211
+ console.log(error.details) // Additional error context
212
+ }
213
+ }
214
+ ```
215
+
216
+ ## Environment Variables
217
+
218
+ Required environment variables:
219
+
220
+ - `UPSTASH_VECTOR_URL`: Your Upstash Vector database URL
221
+ - `UPSTASH_VECTOR_TOKEN`: Your Upstash Vector API token
222
+
223
+ ## Usage Example
224
+
225
+ ### Local embeddings with fastembed
226
+
227
+ Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
228
+
229
+ Install `fastembed` to get started:
230
+
231
+ **npm**:
232
+
233
+ ```bash
234
+ npm install @mastra/fastembed@latest
235
+ ```
236
+
237
+ **pnpm**:
238
+
239
+ ```bash
240
+ pnpm add @mastra/fastembed@latest
241
+ ```
242
+
243
+ **Yarn**:
244
+
245
+ ```bash
246
+ yarn add @mastra/fastembed@latest
247
+ ```
248
+
249
+ **Bun**:
250
+
251
+ ```bash
252
+ bun add @mastra/fastembed@latest
253
+ ```
254
+
255
+ Add the following to your agent:
256
+
257
+ ```typescript
258
+ import { Memory } from '@mastra/memory'
259
+ import { Agent } from '@mastra/core/agent'
260
+ import { UpstashStore, UpstashVector } from '@mastra/upstash'
261
+ import { fastembed } from '@mastra/fastembed'
262
+
263
+ export const upstashAgent = new Agent({
264
+ id: 'upstash-agent',
265
+ name: 'Upstash Agent',
266
+ instructions:
267
+ 'You are an AI agent with the ability to automatically recall memories from previous interactions.',
268
+ model: 'openai/gpt-5.1',
269
+ memory: new Memory({
270
+ storage: new UpstashStore({
271
+ id: 'upstash-agent-storage',
272
+ url: process.env.UPSTASH_REDIS_REST_URL!,
273
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
274
+ }),
275
+ vector: new UpstashVector({
276
+ id: 'upstash-agent-vector',
277
+ url: process.env.UPSTASH_VECTOR_REST_URL!,
278
+ token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
279
+ }),
280
+ embedder: fastembed,
281
+ options: {
282
+ lastMessages: 10,
283
+ semanticRecall: {
284
+ topK: 3,
285
+ messageRange: 2,
286
+ },
287
+ },
288
+ }),
289
+ })
290
+ ```
291
+
292
+ ## Related
293
+
294
+ - [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
@@ -0,0 +1,147 @@
1
+ # Cloudflare Vector Store
2
+
3
+ The CloudflareVector class provides vector search using [Cloudflare Vectorize](https://developers.cloudflare.com/vectorize/), a vector database service integrated with Cloudflare's edge network.
4
+
5
+ ## Constructor Options
6
+
7
+ **accountId:** (`string`): Cloudflare account ID
8
+
9
+ **apiToken:** (`string`): Cloudflare API token with Vectorize permissions
10
+
11
+ ## Methods
12
+
13
+ ### createIndex()
14
+
15
+ **indexName:** (`string`): Name of the index to create
16
+
17
+ **dimension:** (`number`): Vector dimension (must match your embedding model)
18
+
19
+ **metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (dotproduct maps to dot-product) (Default: `cosine`)
20
+
21
+ ### upsert()
22
+
23
+ **indexName:** (`string`): Name of the index to upsert into
24
+
25
+ **vectors:** (`number[][]`): Array of embedding vectors
26
+
27
+ **metadata?:** (`Record<string, any>[]`): Metadata for each vector
28
+
29
+ **ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
30
+
31
+ ### query()
32
+
33
+ **indexName:** (`string`): Name of the index to query
34
+
35
+ **queryVector:** (`number[]`): Query vector to find similar vectors
36
+
37
+ **topK?:** (`number`): Number of results to return (Default: `10`)
38
+
39
+ **filter?:** (`Record<string, any>`): Metadata filters for the query
40
+
41
+ **includeVector?:** (`boolean`): Whether to include vectors in the results (Default: `false`)
42
+
43
+ ### listIndexes()
44
+
45
+ Returns an array of index names as strings.
46
+
47
+ ### describeIndex()
48
+
49
+ **indexName:** (`string`): Name of the index to describe
50
+
51
+ Returns:
52
+
53
+ ```typescript
54
+ interface IndexStats {
55
+ dimension: number
56
+ count: number
57
+ metric: 'cosine' | 'euclidean' | 'dotproduct'
58
+ }
59
+ ```
60
+
61
+ ### deleteIndex()
62
+
63
+ **indexName:** (`string`): Name of the index to delete
64
+
65
+ ### createMetadataIndex()
66
+
67
+ Creates an index on a metadata field to enable filtering.
68
+
69
+ **indexName:** (`string`): Name of the index containing the metadata field
70
+
71
+ **propertyName:** (`string`): Name of the metadata field to index
72
+
73
+ **indexType:** (`'string' | 'number' | 'boolean'`): Type of the metadata field
74
+
75
+ ### deleteMetadataIndex()
76
+
77
+ Removes an index from a metadata field.
78
+
79
+ **indexName:** (`string`): Name of the index containing the metadata field
80
+
81
+ **propertyName:** (`string`): Name of the metadata field to remove indexing from
82
+
83
+ ### listMetadataIndexes()
84
+
85
+ Lists all metadata field indexes for an index.
86
+
87
+ **indexName:** (`string`): Name of the index to list metadata indexes for
88
+
89
+ ### updateVector()
90
+
91
+ Updates a vector or metadata for a specific ID within an index.
92
+
93
+ **indexName:** (`string`): Name of the index containing the ID to update
94
+
95
+ **id:** (`string`): Unique identifier of the vector or metadata to update
96
+
97
+ **update:** (`{ vector?: number[]; metadata?: Record<string, any>; }`): Object containing the vector and/or metadata to update
98
+
99
+ ### deleteVector()
100
+
101
+ Deletes a vector and its associated metadata for a specific ID within an index.
102
+
103
+ **indexName:** (`string`): Name of the index containing the ID to delete
104
+
105
+ **id:** (`string`): Unique identifier of the vector and metadata to delete
106
+
107
+ ## Response Types
108
+
109
+ Query results are returned in this format:
110
+
111
+ ```typescript
112
+ interface QueryResult {
113
+ id: string
114
+ score: number
115
+ metadata: Record<string, any>
116
+ vector?: number[]
117
+ }
118
+ ```
119
+
120
+ ## Error Handling
121
+
122
+ The store throws typed errors that can be caught:
123
+
124
+ ```typescript
125
+ try {
126
+ await store.query({
127
+ indexName: 'index_name',
128
+ queryVector: queryVector,
129
+ })
130
+ } catch (error) {
131
+ if (error instanceof VectorStoreError) {
132
+ console.log(error.code) // 'connection_failed' | 'invalid_dimension' | etc
133
+ console.log(error.details) // Additional error context
134
+ }
135
+ }
136
+ ```
137
+
138
+ ## Environment Variables
139
+
140
+ Required environment variables:
141
+
142
+ - `CLOUDFLARE_ACCOUNT_ID`: Your Cloudflare account ID
143
+ - `CLOUDFLARE_API_TOKEN`: Your Cloudflare API token with Vectorize permissions
144
+
145
+ ## Related
146
+
147
+ - [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
@@ -0,0 +1,148 @@
1
+ # Azure
2
+
3
+ The AzureVoice class in Mastra provides text-to-speech and speech-to-text capabilities using Microsoft Azure Cognitive Services.
4
+
5
+ ## Usage Example
6
+
7
+ This requires Azure Speech Services credentials that can be provided through environment variables or directly in the configuration:
8
+
9
+ ```typescript
10
+ import { AzureVoice } from '@mastra/voice-azure'
11
+
12
+ // Initialize with configuration
13
+ const voice = new AzureVoice({
14
+ speechModel: {
15
+ apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var
16
+ region: 'eastus', // Or use AZURE_REGION env var
17
+ voiceName: 'en-US-AriaNeural', // Optional: specific voice for TTS
18
+ },
19
+ listeningModel: {
20
+ apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var
21
+ region: 'eastus', // Or use AZURE_REGION env var
22
+ language: 'en-US', // Optional: recognition language for STT
23
+ },
24
+ speaker: 'en-US-JennyNeural', // Optional: default voice
25
+ })
26
+
27
+ // Convert text to speech
28
+ const audioStream = await voice.speak('Hello, how can I help you?', {
29
+ speaker: 'en-US-GuyNeural', // Optional: override default voice
30
+ })
31
+
32
+ // Convert speech to text
33
+ const text = await voice.listen(audioStream)
34
+ ```
35
+
36
+ ## Configuration
37
+
38
+ ### Constructor Options
39
+
40
+ **speechModel?:** (`AzureSpeechConfig`): Configuration for text-to-speech synthesis.
41
+
42
+ **listeningModel?:** (`AzureSpeechConfig`): Configuration for speech-to-text recognition.
43
+
44
+ **speaker?:** (`string`): Default voice ID for speech synthesis.
45
+
46
+ ### AzureSpeechConfig
47
+
48
+ Configuration object for speech synthesis (`speechModel`) and recognition (`listeningModel`).
49
+
50
+ **apiKey?:** (`string`): Azure Speech Services API key (NOT Azure OpenAI key). Falls back to AZURE\_API\_KEY environment variable.
51
+
52
+ **region?:** (`string`): Azure region (e.g., 'eastus', 'westeurope'). Falls back to AZURE\_REGION environment variable.
53
+
54
+ **voiceName?:** (`string`): Voice ID for speech synthesis (e.g., 'en-US-AriaNeural', 'en-US-JennyNeural'). Only used in speechModel. See voice list below.
55
+
56
+ **language?:** (`string`): Recognition language code (e.g., 'en-US', 'fr-FR'). Only used in listeningModel.
57
+
58
+ ## Methods
59
+
60
+ ### speak()
61
+
62
+ Converts text to speech using Azure's neural text-to-speech service.
63
+
64
+ **input:** (`string | NodeJS.ReadableStream`): Text or text stream to convert to speech.
65
+
66
+ **options.speaker?:** (`string`): Voice ID to use for speech synthesis (e.g., 'en-US-JennyNeural'). Overrides the default voice. (Default: `Constructor's speaker value`)
67
+
68
+ Returns: `Promise<NodeJS.ReadableStream>` - Audio stream in WAV format
69
+
70
+ ### listen()
71
+
72
+ Transcribes audio using Azure's speech-to-text service.
73
+
74
+ **audioStream:** (`NodeJS.ReadableStream`): Audio stream to transcribe. Must be in WAV format.
75
+
76
+ Returns: `Promise<string>` - The recognized text from the audio
77
+
78
+ **Note:** Language and recognition settings are configured in the `listeningModel` configuration during initialization, not passed as options to this method.
79
+
80
+ ### getSpeakers()
81
+
82
+ Returns an array of available voice options (200+ voices), where each node contains:
83
+
84
+ **voiceId:** (`string`): Unique identifier for the voice (e.g., 'en-US-JennyNeural', 'fr-FR-DeniseNeural')
85
+
86
+ **language:** (`string`): Language code extracted from voice ID (e.g., 'en', 'fr')
87
+
88
+ **region:** (`string`): Region code extracted from voice ID (e.g., 'US', 'GB', 'FR')
89
+
90
+ Returns: `Promise<Array<{ voiceId: string; language: string; region: string; }>>`
91
+
92
+ ## Important Notes
93
+
94
+ ### Azure Speech Services vs Azure OpenAI
95
+
96
+ **⚠️ Critical:** This package uses **Azure Speech Services**, which is different from **Azure OpenAI Services**.
97
+
98
+ - **DO NOT** use your `AZURE_OPENAI_API_KEY` for this package
99
+ - **DO** use an Azure Speech Services subscription key (obtain from Azure Portal under "Speech Services")
100
+ - These are separate Azure resources with different API keys and endpoints
101
+
102
+ ### Environment Variables
103
+
104
+ API keys and regions can be provided via constructor options or environment variables:
105
+
106
+ - `AZURE_API_KEY` - Your Azure Speech Services subscription key
107
+ - `AZURE_REGION` - Your Azure region (e.g., 'eastus', 'westeurope')
108
+
109
+ ### Voice Capabilities
110
+
111
+ - Azure offers 200+ neural voices across 50+ languages
112
+ - Each voice ID follows the format: `{language}-{region}-{name}Neural` (e.g., 'en-US-JennyNeural')
113
+ - Some voices include multilingual support or HD quality variants
114
+ - Audio output is in WAV format
115
+ - Audio input for recognition must be in WAV format
116
+
117
+ ## Available Voices
118
+
119
+ Azure provides 200+ neural voices across many languages. Some popular English voices include:
120
+
121
+ - **US English:**
122
+
123
+ - `en-US-AriaNeural` (Female, default)
124
+ - `en-US-JennyNeural` (Female)
125
+ - `en-US-GuyNeural` (Male)
126
+ - `en-US-DavisNeural` (Male)
127
+ - `en-US-AvaNeural` (Female)
128
+ - `en-US-AndrewNeural` (Male)
129
+
130
+ - **British English:**
131
+
132
+ - `en-GB-SoniaNeural` (Female)
133
+ - `en-GB-RyanNeural` (Male)
134
+ - `en-GB-LibbyNeural` (Female)
135
+
136
+ - **Australian English:**
137
+
138
+ - `en-AU-NatashaNeural` (Female)
139
+ - `en-AU-WilliamNeural` (Male)
140
+
141
+ To get a complete list of all 200+ voices:
142
+
143
+ ```typescript
144
+ const voices = await voice.getSpeakers()
145
+ console.log(voices) // Array of { voiceId, language, region }
146
+ ```
147
+
148
+ For more information, see the [Azure Neural TTS documentation](https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=tts).
@@ -0,0 +1,83 @@
1
+ # Cloudflare
2
+
3
+ The CloudflareVoice class in Mastra provides text-to-speech capabilities using Cloudflare Workers AI. This provider specializes in efficient, low-latency speech synthesis suitable for edge computing environments.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { CloudflareVoice } from '@mastra/voice-cloudflare'
9
+
10
+ // Initialize with configuration
11
+ const voice = new CloudflareVoice({
12
+ speechModel: {
13
+ name: '@cf/meta/m2m100-1.2b',
14
+ apiKey: 'your-cloudflare-api-token',
15
+ accountId: 'your-cloudflare-account-id',
16
+ },
17
+ speaker: 'en-US-1', // Default voice
18
+ })
19
+
20
+ // Convert text to speech
21
+ const audioStream = await voice.speak('Hello, how can I help you?', {
22
+ speaker: 'en-US-2', // Override default voice
23
+ })
24
+
25
+ // Get available voices
26
+ const speakers = await voice.getSpeakers()
27
+ console.log(speakers)
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ ### Constructor Options
33
+
34
+ **speechModel?:** (`CloudflareSpeechConfig`): Configuration for text-to-speech synthesis.
35
+
36
+ **speaker?:** (`string`): Default voice ID for speech synthesis. (Default: `'en-US-1'`)
37
+
38
+ ### CloudflareSpeechConfig
39
+
40
+ **name?:** (`string`): Model name to use for TTS. (Default: `'@cf/meta/m2m100-1.2b'`)
41
+
42
+ **apiKey?:** (`string`): Cloudflare API token with Workers AI access. Falls back to CLOUDFLARE\_API\_TOKEN environment variable.
43
+
44
+ **accountId?:** (`string`): Cloudflare account ID. Falls back to CLOUDFLARE\_ACCOUNT\_ID environment variable.
45
+
46
+ ## Methods
47
+
48
+ ### speak()
49
+
50
+ Converts text to speech using Cloudflare's text-to-speech service.
51
+
52
+ **input:** (`string | NodeJS.ReadableStream`): Text or text stream to convert to speech.
53
+
54
+ **options.speaker?:** (`string`): Voice ID to use for speech synthesis. (Default: `Constructor's speaker value`)
55
+
56
+ **options.format?:** (`string`): Output audio format. (Default: `'mp3'`)
57
+
58
+ Returns: `Promise<NodeJS.ReadableStream>`
59
+
60
+ ### getSpeakers()
61
+
62
+ Returns an array of available voice options, where each node contains:
63
+
64
+ **voiceId:** (`string`): Unique identifier for the voice (e.g., 'en-US-1')
65
+
66
+ **language:** (`string`): Language code of the voice (e.g., 'en-US')
67
+
68
+ ## Notes
69
+
70
+ - API tokens can be provided via constructor options or environment variables (CLOUDFLARE\_API\_TOKEN and CLOUDFLARE\_ACCOUNT\_ID)
71
+ - Cloudflare Workers AI is optimized for edge computing with low latency
72
+ - This provider only supports text-to-speech (TTS) functionality, not speech-to-text (STT)
73
+ - The service integrates well with other Cloudflare Workers products
74
+ - For production use, ensure your Cloudflare account has the appropriate Workers AI subscription
75
+ - Voice options are more limited compared to some other providers, but performance at the edge is excellent
76
+
77
+ ## Related Providers
78
+
79
+ If you need speech-to-text capabilities in addition to text-to-speech, consider using one of these providers:
80
+
81
+ - [OpenAI](https://mastra.ai/reference/voice/openai) - Provides both TTS and STT
82
+ - [Google](https://mastra.ai/reference/voice/google) - Provides both TTS and STT
83
+ - [Azure](https://mastra.ai/reference/voice/azure) - Provides both TTS and STT