@mastra/mcp-docs-server 1.2.15-alpha.9 → 1.2.16-alpha.1

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 (532) hide show
  1. package/.docs/docs/agents/agent-approval.md +19 -5
  2. package/.docs/docs/agents/code-mode.md +17 -2
  3. package/.docs/docs/agents/networks.md +2 -2
  4. package/.docs/docs/agents/overview.md +6 -6
  5. package/.docs/docs/agents/processors.md +3 -3
  6. package/.docs/docs/agents/using-tools.md +1 -1
  7. package/.docs/docs/browser/overview.md +9 -9
  8. package/.docs/docs/browser/recording.md +4 -4
  9. package/.docs/docs/capabilities/{channels/overview.md → channels.md} +71 -8
  10. package/.docs/docs/capabilities/subagents.md +7 -4
  11. package/.docs/docs/connections/overview.md +1 -1
  12. package/.docs/docs/datasets/overview.md +1 -1
  13. package/.docs/docs/datasets/running-experiments.md +49 -0
  14. package/.docs/docs/deployment/cloud-providers.md +13 -11
  15. package/.docs/docs/deployment/mastra-server.md +1 -1
  16. package/.docs/docs/deployment/monorepo.md +1 -1
  17. package/.docs/docs/deployment/overview.md +13 -10
  18. package/.docs/docs/deployment/sandbox.md +4 -4
  19. package/.docs/docs/deployment/web-framework.md +7 -7
  20. package/.docs/docs/deployment/workers.md +249 -3
  21. package/.docs/docs/deployment/workflow-runners.md +2 -2
  22. package/.docs/docs/evals/overview.md +1 -1
  23. package/.docs/docs/evals/quick-checks.md +1 -1
  24. package/.docs/docs/getting-started/develop.md +1 -1
  25. package/.docs/{guides/concepts → docs/guides}/multi-agent-systems.md +1 -1
  26. package/.docs/docs/harness/agent-controller.md +50 -9
  27. package/.docs/docs/harness/overview.md +3 -5
  28. package/.docs/docs/index.md +8 -8
  29. package/.docs/docs/long-running-agents/durable-agents.md +3 -3
  30. package/.docs/docs/long-running-agents/goals.md +1 -1
  31. package/.docs/docs/long-running-agents/schedules.md +1 -1
  32. package/.docs/docs/long-running-agents/signal-providers.md +5 -18
  33. package/.docs/docs/long-running-agents/signals.md +2 -2
  34. package/.docs/docs/mastra-platform/database.md +2 -2
  35. package/.docs/docs/mastra-platform/deploy.md +28 -1
  36. package/.docs/docs/mastra-platform/observability.md +63 -18
  37. package/.docs/docs/mastra-platform/overview.md +1 -1
  38. package/.docs/docs/mastra-platform/server.md +1 -1
  39. package/.docs/docs/mastra-platform/trace-intelligence.md +9 -13
  40. package/.docs/docs/mcp/overview.md +43 -1
  41. package/.docs/docs/memory/memory-processors.md +5 -5
  42. package/.docs/docs/memory/message-history.md +3 -3
  43. package/.docs/docs/memory/multi-user-threads.md +1 -1
  44. package/.docs/docs/memory/observational-memory.md +2 -2
  45. package/.docs/docs/memory/semantic-recall.md +2 -1
  46. package/.docs/docs/memory/working-memory.md +2 -1
  47. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +18 -17
  48. package/.docs/docs/observability/logging.md +1 -1
  49. package/.docs/docs/observability/metrics/overview.md +1 -1
  50. package/.docs/docs/observability/overview.md +1 -5
  51. package/.docs/docs/observability/tracing/overview.md +3 -6
  52. package/.docs/docs/server/auth/fga.md +1 -1
  53. package/.docs/docs/server/auth/simple-auth.md +1 -1
  54. package/.docs/docs/server/auth/workers.md +3 -1
  55. package/.docs/docs/server/auth.md +15 -13
  56. package/.docs/docs/server/custom-adapters.md +1 -1
  57. package/.docs/docs/server/custom-api-routes.md +35 -0
  58. package/.docs/docs/server/mastra-client.md +3 -3
  59. package/.docs/docs/server/mastra-server.md +2 -2
  60. package/.docs/docs/storage/overview.md +20 -17
  61. package/.docs/docs/studio/observability.md +1 -1
  62. package/.docs/docs/workflows/dynamic-workflows.md +1 -1
  63. package/.docs/docs/workflows/human-in-the-loop.md +2 -2
  64. package/.docs/docs/workflows/overview.md +4 -4
  65. package/.docs/docs/workflows/snapshots.md +12 -10
  66. package/.docs/docs/workflows/time-travel.md +2 -0
  67. package/.docs/docs/workspace/filesystem.md +15 -15
  68. package/.docs/docs/workspace/sandbox.md +18 -19
  69. package/.docs/docs/workspace/search.md +1 -1
  70. package/.docs/{guides/build-your-ui → integrations/agentic-ui}/ai-sdk-ui.md +6 -6
  71. package/.docs/{guides/build-your-ui → integrations/agentic-ui}/assistant-ui.md +2 -2
  72. package/.docs/{guides/build-your-ui/copilotkit/overview.md → integrations/agentic-ui/copilotkit.md} +258 -5
  73. package/.docs/{guides/build-your-ui → integrations/agentic-ui}/openui.md +1 -1
  74. package/.docs/{docs/server → integrations}/auth/auth0.md +1 -1
  75. package/.docs/{docs/server → integrations}/auth/clerk.md +2 -2
  76. package/.docs/{docs/server → integrations}/auth/firebase.md +1 -1
  77. package/.docs/{docs/server → integrations}/auth/okta.md +24 -4
  78. package/.docs/{docs/server → integrations}/auth/supabase.md +2 -2
  79. package/.docs/{docs/server → integrations}/auth/workos.md +1 -1
  80. package/.docs/{docs/browser → integrations/browsers}/agent-browser.md +2 -2
  81. package/.docs/{docs/browser → integrations/browsers}/browser-viewer.md +3 -3
  82. package/.docs/{docs/browser → integrations/browsers}/firecrawl.md +2 -2
  83. package/.docs/{docs/browser → integrations/browsers}/stagehand.md +1 -1
  84. package/.docs/{docs/capabilities → integrations}/channels/discord.md +2 -2
  85. package/.docs/integrations/channels/github.md +103 -0
  86. package/.docs/{docs/capabilities → integrations}/channels/imessage.md +12 -4
  87. package/.docs/{docs/capabilities → integrations}/channels/slack.md +4 -4
  88. package/.docs/{docs/capabilities → integrations}/channels/teams.md +2 -2
  89. package/.docs/{docs/capabilities → integrations}/channels/telegram.md +2 -2
  90. package/.docs/{docs/capabilities → integrations}/channels/whatsapp.md +2 -2
  91. package/.docs/{reference/storage/dsql.md → integrations/databases/aurora-dsql.md} +1 -1
  92. package/.docs/{reference/storage → integrations/databases}/clickhouse.md +2 -2
  93. package/.docs/{reference/storage → integrations/databases}/cloudflare-d1.md +1 -1
  94. package/.docs/{reference/storage/cloudflare.md → integrations/databases/cloudflare-kv.md} +1 -1
  95. package/.docs/{reference/storage → integrations/databases}/convex.md +1 -1
  96. package/.docs/{reference/storage → integrations/databases}/duckdb.md +5 -5
  97. package/.docs/{reference/storage → integrations/databases}/dynamodb.md +1 -1
  98. package/.docs/{reference/storage/lance.md → integrations/databases/lancedb.md} +1 -1
  99. package/.docs/{reference/storage → integrations/databases}/libsql.md +2 -2
  100. package/.docs/{reference/storage → integrations/databases}/mongodb.md +1 -1
  101. package/.docs/{reference/storage → integrations/databases}/mssql.md +1 -1
  102. package/.docs/integrations/databases/neon.md +220 -0
  103. package/.docs/integrations/databases/oracledb.md +239 -0
  104. package/.docs/{reference/storage → integrations/databases}/postgresql.md +9 -9
  105. package/.docs/{reference/storage → integrations/databases}/redis.md +1 -1
  106. package/.docs/{reference/storage → integrations/databases}/spanner.md +1 -1
  107. package/.docs/{reference/storage → integrations/databases}/upstash.md +1 -1
  108. package/.docs/{guides/deployment → integrations/deploy}/amazon-ec2.md +3 -3
  109. package/.docs/{guides/deployment → integrations/deploy}/aws-bedrock-agentcore.md +2 -2
  110. package/.docs/{guides/deployment → integrations/deploy}/aws-lambda.md +4 -4
  111. package/.docs/{guides/deployment → integrations/deploy}/azure-app-services.md +4 -4
  112. package/.docs/{guides/deployment → integrations/deploy}/cloudflare.md +4 -4
  113. package/.docs/{guides/deployment → integrations/deploy}/digital-ocean.md +5 -5
  114. package/.docs/{guides/deployment → integrations/deploy}/inngest.md +1 -1
  115. package/.docs/{guides/deployment → integrations/deploy}/kubernetes.md +4 -5
  116. package/.docs/{guides/deployment → integrations/deploy}/netlify.md +5 -5
  117. package/.docs/{guides/deployment → integrations/deploy}/temporal.md +1 -1
  118. package/.docs/{guides/deployment → integrations/deploy}/vercel.md +5 -5
  119. package/.docs/{reference/workspace/agentfs-filesystem.md → integrations/file-storage/agentfs.md} +1 -1
  120. package/.docs/{reference/workspace/s3-filesystem.md → integrations/file-storage/amazon-s3.md} +6 -6
  121. package/.docs/{reference/workspace/archil-filesystem.md → integrations/file-storage/archil.md} +4 -4
  122. package/.docs/{reference/workspace/azure-blob-filesystem.md → integrations/file-storage/azure-blob.md} +3 -3
  123. package/.docs/{reference/workspace/gcs-filesystem.md → integrations/file-storage/google-cloud-storage.md} +6 -6
  124. package/.docs/{reference/workspace/google-drive-filesystem.md → integrations/file-storage/google-drive.md} +1 -1
  125. package/.docs/{reference/workspace/mesa-filesystem.md → integrations/file-storage/mesa.md} +3 -3
  126. package/.docs/{reference/workspace/files-sdk-filesystem.md → integrations/file-storage/vercel-files.md} +6 -6
  127. package/.docs/{guides/getting-started → integrations/frameworks}/astro.md +2 -2
  128. package/.docs/{guides/getting-started → integrations/frameworks}/electron.md +4 -4
  129. package/.docs/{guides/getting-started → integrations/frameworks}/express.md +1 -1
  130. package/.docs/{guides/getting-started → integrations/frameworks}/hono.md +1 -1
  131. package/.docs/{guides/getting-started → integrations/frameworks}/nestjs.md +1 -1
  132. package/.docs/{guides/getting-started → integrations/frameworks}/next-js.md +3 -3
  133. package/.docs/{guides/getting-started → integrations/frameworks}/nuxt.md +2 -2
  134. package/.docs/{guides/getting-started → integrations/frameworks}/sveltekit.md +2 -2
  135. package/.docs/{guides/getting-started → integrations/frameworks}/vite-react.md +2 -2
  136. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arize.md +1 -1
  137. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arthur.md +1 -1
  138. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/braintrust.md +1 -1
  139. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/confident-ai.md +1 -1
  140. package/.docs/integrations/observability/datadog.md +538 -0
  141. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/laminar.md +1 -1
  142. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langfuse.md +1 -1
  143. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langsmith.md +1 -1
  144. package/.docs/{docs/observability/integrations/exporters/otel.md → integrations/observability/opentelemetry.md} +278 -46
  145. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/posthog.md +1 -1
  146. package/.docs/{docs/observability/integrations/exporters → integrations/observability}/sentry.md +1 -1
  147. package/.docs/{reference/workspace/agentcore-runtime-sandbox.md → integrations/sandboxes/agentcore.md} +1 -1
  148. package/.docs/{reference/workspace/apple-container-sandbox.md → integrations/sandboxes/apple-container.md} +2 -2
  149. package/.docs/{reference/workspace/blaxel-sandbox.md → integrations/sandboxes/blaxel.md} +1 -1
  150. package/.docs/{reference/workspace/daytona-sandbox.md → integrations/sandboxes/daytona.md} +24 -3
  151. package/.docs/{reference/workspace/docker-sandbox.md → integrations/sandboxes/docker.md} +2 -2
  152. package/.docs/{reference/workspace/e2b-sandbox.md → integrations/sandboxes/e2b.md} +4 -4
  153. package/.docs/{reference/workspace/modal-sandbox.md → integrations/sandboxes/modal.md} +3 -3
  154. package/.docs/{reference/workspace/railway-sandbox.md → integrations/sandboxes/railway.md} +9 -1
  155. package/.docs/{reference/workspace/vercel-sandbox.md → integrations/sandboxes/vercel.md} +143 -12
  156. package/.docs/{reference → integrations}/tools/brightdata.md +1 -1
  157. package/.docs/{guides/guide → integrations/tools}/firecrawl.md +2 -2
  158. package/.docs/{reference → integrations}/tools/perplexity.md +1 -1
  159. package/.docs/{reference → integrations}/tools/tavily.md +1 -1
  160. package/.docs/{reference → integrations}/voice/aws-nova-sonic.md +1 -1
  161. package/.docs/{reference → integrations}/voice/cloudflare.md +3 -3
  162. package/.docs/{reference/voice/google-gemini-live.md → integrations/voice/google.md} +305 -30
  163. package/.docs/{reference/voice/inworld-realtime.md → integrations/voice/inworld.md} +163 -25
  164. package/.docs/{reference → integrations}/voice/livekit.md +436 -33
  165. package/.docs/{reference/voice/openai-realtime.md → integrations/voice/openai.md} +117 -20
  166. package/.docs/integrations.md +147 -0
  167. package/.docs/models/embeddings.md +3 -3
  168. package/.docs/models/environment-variables.md +1 -0
  169. package/.docs/models/gateways/custom-gateways.md +4 -0
  170. package/.docs/models/gateways/neon.md +1 -1
  171. package/.docs/models/gateways/netlify.md +1 -1
  172. package/.docs/models/gateways/openrouter.md +9 -3
  173. package/.docs/models/gateways/vercel.md +6 -4
  174. package/.docs/models/index.md +3 -3
  175. package/.docs/models/providers/302ai.md +1 -1
  176. package/.docs/models/providers/abacus.md +1 -1
  177. package/.docs/models/providers/abliteration-ai.md +1 -1
  178. package/.docs/models/providers/agentrouter.md +1 -1
  179. package/.docs/models/providers/ai-router.md +1 -1
  180. package/.docs/models/providers/aiand.md +1 -1
  181. package/.docs/models/providers/aki-io.md +1 -1
  182. package/.docs/models/providers/alibaba-cn.md +1 -1
  183. package/.docs/models/providers/alibaba-coding-plan-cn.md +1 -1
  184. package/.docs/models/providers/alibaba-coding-plan.md +1 -1
  185. package/.docs/models/providers/alibaba-token-plan-cn.md +1 -1
  186. package/.docs/models/providers/alibaba-token-plan.md +1 -1
  187. package/.docs/models/providers/alibaba.md +7 -5
  188. package/.docs/models/providers/ambient.md +2 -2
  189. package/.docs/models/providers/anyapi.md +1 -1
  190. package/.docs/models/providers/atomic-chat.md +1 -1
  191. package/.docs/models/providers/auriko.md +1 -1
  192. package/.docs/models/providers/bailing.md +1 -1
  193. package/.docs/models/providers/baseten.md +2 -2
  194. package/.docs/models/providers/berget.md +1 -1
  195. package/.docs/models/providers/blueclaw.md +1 -1
  196. package/.docs/models/providers/chutes.md +1 -1
  197. package/.docs/models/providers/clarifai.md +1 -1
  198. package/.docs/models/providers/claudinio.md +1 -1
  199. package/.docs/models/providers/cline-pass.md +1 -1
  200. package/.docs/models/providers/cloudferro-sherlock.md +1 -1
  201. package/.docs/models/providers/cloudflare-workers-ai.md +1 -1
  202. package/.docs/models/providers/coralbricks.md +75 -0
  203. package/.docs/models/providers/cortecs.md +3 -5
  204. package/.docs/models/providers/crof.md +1 -1
  205. package/.docs/models/providers/crossmodel.md +2 -3
  206. package/.docs/models/providers/daoxe.md +1 -1
  207. package/.docs/models/providers/databricks.md +1 -1
  208. package/.docs/models/providers/deepinfra.md +6 -5
  209. package/.docs/models/providers/digitalocean.md +5 -5
  210. package/.docs/models/providers/dinference.md +1 -1
  211. package/.docs/models/providers/drun.md +1 -1
  212. package/.docs/models/providers/ebcloud.md +1 -1
  213. package/.docs/models/providers/empiriolabs.md +3 -2
  214. package/.docs/models/providers/evroc.md +3 -4
  215. package/.docs/models/providers/fastrouter.md +1 -1
  216. package/.docs/models/providers/firepass.md +1 -1
  217. package/.docs/models/providers/fireworks-ai.md +1 -1
  218. package/.docs/models/providers/firmware.md +1 -1
  219. package/.docs/models/providers/freemodel.md +1 -1
  220. package/.docs/models/providers/friendli.md +1 -1
  221. package/.docs/models/providers/frogbot.md +1 -1
  222. package/.docs/models/providers/github-models.md +1 -1
  223. package/.docs/models/providers/gmicloud.md +1 -1
  224. package/.docs/models/providers/google.md +1 -1
  225. package/.docs/models/providers/greenpt.md +1 -1
  226. package/.docs/models/providers/helicone.md +1 -1
  227. package/.docs/models/providers/hetzner.md +8 -5
  228. package/.docs/models/providers/hpc-ai.md +1 -1
  229. package/.docs/models/providers/huggingface.md +1 -1
  230. package/.docs/models/providers/hyper.md +7 -7
  231. package/.docs/models/providers/iflowcn.md +1 -1
  232. package/.docs/models/providers/impossibl.md +1 -1
  233. package/.docs/models/providers/inception.md +1 -1
  234. package/.docs/models/providers/inceptron.md +1 -1
  235. package/.docs/models/providers/inference.md +1 -1
  236. package/.docs/models/providers/inferx.md +1 -1
  237. package/.docs/models/providers/infomaniak.md +1 -1
  238. package/.docs/models/providers/io-intelligence.md +1 -1
  239. package/.docs/models/providers/io-net.md +1 -1
  240. package/.docs/models/providers/jiekou.md +1 -1
  241. package/.docs/models/providers/kenari.md +1 -1
  242. package/.docs/models/providers/kilo.md +19 -13
  243. package/.docs/models/providers/kimi-for-coding.md +1 -1
  244. package/.docs/models/providers/kiro.md +1 -1
  245. package/.docs/models/providers/kuae-cloud-coding-plan.md +1 -1
  246. package/.docs/models/providers/lilac.md +1 -1
  247. package/.docs/models/providers/llama.md +1 -1
  248. package/.docs/models/providers/llmgateway.md +2 -7
  249. package/.docs/models/providers/llmtr.md +1 -1
  250. package/.docs/models/providers/lmstudio.md +1 -1
  251. package/.docs/models/providers/longcat.md +1 -1
  252. package/.docs/models/providers/lucidquery.md +1 -1
  253. package/.docs/models/providers/lynkr.md +1 -1
  254. package/.docs/models/providers/meganova.md +1 -1
  255. package/.docs/models/providers/meta.md +1 -1
  256. package/.docs/models/providers/minimax-cn-coding-plan.md +1 -1
  257. package/.docs/models/providers/minimax-cn.md +1 -1
  258. package/.docs/models/providers/minimax-coding-plan.md +1 -1
  259. package/.docs/models/providers/minimax.md +1 -1
  260. package/.docs/models/providers/mixlayer.md +1 -1
  261. package/.docs/models/providers/moark.md +1 -1
  262. package/.docs/models/providers/modal.md +1 -1
  263. package/.docs/models/providers/model-oracle-ai.md +1 -1
  264. package/.docs/models/providers/modelis.md +1 -1
  265. package/.docs/models/providers/modelscope.md +1 -1
  266. package/.docs/models/providers/moonshotai-cn.md +1 -1
  267. package/.docs/models/providers/moonshotai.md +1 -1
  268. package/.docs/models/providers/morph.md +1 -1
  269. package/.docs/models/providers/nano-gpt.md +11 -7
  270. package/.docs/models/providers/nearai.md +1 -1
  271. package/.docs/models/providers/nebius.md +3 -2
  272. package/.docs/models/providers/neuralwatt.md +1 -1
  273. package/.docs/models/providers/nova.md +1 -1
  274. package/.docs/models/providers/novita-ai.md +1 -1
  275. package/.docs/models/providers/nvidia.md +3 -2
  276. package/.docs/models/providers/ofox.md +4 -3
  277. package/.docs/models/providers/ollama-cloud.md +1 -1
  278. package/.docs/models/providers/opencode-go.md +1 -1
  279. package/.docs/models/providers/opencode.md +64 -64
  280. package/.docs/models/providers/orcarouter.md +1 -1
  281. package/.docs/models/providers/ovhcloud.md +1 -1
  282. package/.docs/models/providers/perplexity-agent.md +1 -1
  283. package/.docs/models/providers/pioneer.md +1 -1
  284. package/.docs/models/providers/poe.md +1 -1
  285. package/.docs/models/providers/poolside.md +1 -1
  286. package/.docs/models/providers/privatemode-ai.md +12 -10
  287. package/.docs/models/providers/qihang-ai.md +1 -1
  288. package/.docs/models/providers/qiniu-ai.md +1 -1
  289. package/.docs/models/providers/regolo-ai.md +26 -21
  290. package/.docs/models/providers/requesty.md +3 -3
  291. package/.docs/models/providers/routing-run.md +1 -1
  292. package/.docs/models/providers/sakana.md +1 -1
  293. package/.docs/models/providers/sarvam.md +1 -1
  294. package/.docs/models/providers/scaleway.md +1 -1
  295. package/.docs/models/providers/scx.md +1 -1
  296. package/.docs/models/providers/siliconflow-cn.md +1 -1
  297. package/.docs/models/providers/siliconflow.md +1 -1
  298. package/.docs/models/providers/snowflake-cortex.md +6 -2
  299. package/.docs/models/providers/stackit.md +1 -1
  300. package/.docs/models/providers/stepfun-ai-step-plan.md +1 -1
  301. package/.docs/models/providers/stepfun-ai.md +1 -1
  302. package/.docs/models/providers/stepfun-step-plan.md +1 -1
  303. package/.docs/models/providers/stepfun.md +1 -1
  304. package/.docs/models/providers/subconscious.md +1 -1
  305. package/.docs/models/providers/submodel.md +1 -1
  306. package/.docs/models/providers/synthetic.md +1 -1
  307. package/.docs/models/providers/tencent-coding-plan.md +1 -1
  308. package/.docs/models/providers/tencent-token-plan.md +1 -1
  309. package/.docs/models/providers/tencent-tokenhub.md +1 -1
  310. package/.docs/models/providers/tensorx.md +1 -1
  311. package/.docs/models/providers/the-grid-ai.md +1 -1
  312. package/.docs/models/providers/thinkingmachines.md +1 -1
  313. package/.docs/models/providers/tinfoil.md +2 -2
  314. package/.docs/models/providers/togetherai.md +1 -1
  315. package/.docs/models/providers/trustedrouter.md +1 -1
  316. package/.docs/models/providers/umans-ai-coding-plan.md +1 -1
  317. package/.docs/models/providers/umans-ai.md +1 -1
  318. package/.docs/models/providers/unorouter.md +1 -1
  319. package/.docs/models/providers/upstage.md +1 -1
  320. package/.docs/models/providers/venice.md +1 -1
  321. package/.docs/models/providers/vivgrid.md +1 -1
  322. package/.docs/models/providers/vultr.md +1 -1
  323. package/.docs/models/providers/wafer.ai.md +1 -1
  324. package/.docs/models/providers/wandb.md +3 -2
  325. package/.docs/models/providers/xiaomi-token-plan-ams.md +1 -1
  326. package/.docs/models/providers/xiaomi-token-plan-cn.md +1 -1
  327. package/.docs/models/providers/xiaomi-token-plan-sgp.md +1 -1
  328. package/.docs/models/providers/xiaomi.md +1 -1
  329. package/.docs/models/providers/xpersona.md +1 -1
  330. package/.docs/models/providers/zai-coding-plan.md +1 -1
  331. package/.docs/models/providers/zai.md +1 -1
  332. package/.docs/models/providers/zeldoc.md +8 -8
  333. package/.docs/models/providers/zenifra.md +1 -1
  334. package/.docs/models/providers/zenmux.md +1 -16
  335. package/.docs/models/providers/zhipuai-coding-plan.md +1 -1
  336. package/.docs/models/providers/zhipuai.md +1 -1
  337. package/.docs/models/providers.md +1 -0
  338. package/.docs/reference/agent-controller/agent-controller-class.md +35 -4
  339. package/.docs/reference/agent-controller/session.md +5 -3
  340. package/.docs/reference/agents/channels.md +2 -2
  341. package/.docs/reference/agents/durable-agent.md +2 -0
  342. package/.docs/reference/agents/generateLegacy.md +2 -2
  343. package/.docs/reference/agents/getDefaultOptions.md +1 -1
  344. package/.docs/reference/agents/getDefaultStreamOptions.md +1 -1
  345. package/.docs/reference/agents/getVoice.md +1 -1
  346. package/.docs/reference/agents/inngest-agent.md +3 -1
  347. package/.docs/reference/agents/network.md +1 -1
  348. package/.docs/reference/ai-sdk/handle-network-stream.md +1 -1
  349. package/.docs/reference/ai-sdk/network-route.md +1 -1
  350. package/.docs/{guides/agent-frameworks/ai-sdk.md → reference/ai-sdk/overview.md} +2 -2
  351. package/.docs/reference/auth/auth0.md +1 -1
  352. package/.docs/reference/auth/better-auth.md +1 -1
  353. package/.docs/reference/auth/clerk.md +1 -1
  354. package/.docs/reference/auth/firebase.md +1 -1
  355. package/.docs/reference/auth/google.md +1 -1
  356. package/.docs/reference/auth/okta.md +5 -1
  357. package/.docs/reference/auth/supabase.md +1 -1
  358. package/.docs/reference/auth/workos.md +1 -1
  359. package/.docs/reference/browser/agent-browser.md +2 -2
  360. package/.docs/reference/browser/browser-viewer.md +1 -1
  361. package/.docs/reference/browser/firecrawl-browser.md +1 -1
  362. package/.docs/reference/browser/mastra-browser.md +1 -1
  363. package/.docs/reference/browser/stagehand-browser.md +2 -2
  364. package/.docs/reference/channels/channel-provider.md +1 -1
  365. package/.docs/reference/channels/slack-provider.md +2 -2
  366. package/.docs/reference/cli/mastra.md +6 -6
  367. package/.docs/reference/client-js/agents.md +2 -1
  368. package/.docs/reference/client-js/workflows.md +3 -3
  369. package/.docs/reference/code-sdk/mount-agent-controller.md +1 -1
  370. package/.docs/reference/configuration.md +22 -28
  371. package/.docs/reference/core/addDynamicWorkflow.md +2 -2
  372. package/.docs/reference/core/addDynamicWorkflows.md +2 -2
  373. package/.docs/reference/core/getStorage.md +1 -1
  374. package/.docs/reference/core/getVector.md +2 -2
  375. package/.docs/reference/core/listVectors.md +2 -2
  376. package/.docs/reference/core/setStorage.md +1 -1
  377. package/.docs/reference/datasets/startExperiment.md +8 -0
  378. package/.docs/reference/file-based-agents/config.md +2 -0
  379. package/.docs/reference/file-based-agents/instructions.md +2 -0
  380. package/.docs/reference/file-based-agents/logger.md +2 -0
  381. package/.docs/reference/file-based-agents/memory.md +2 -0
  382. package/.docs/reference/file-based-agents/observability.md +2 -0
  383. package/.docs/reference/file-based-agents/processors.md +2 -0
  384. package/.docs/reference/file-based-agents/schedules.md +2 -0
  385. package/.docs/reference/file-based-agents/scorers.md +2 -0
  386. package/.docs/reference/file-based-agents/server.md +2 -0
  387. package/.docs/reference/file-based-agents/skills.md +2 -0
  388. package/.docs/reference/file-based-agents/storage.md +3 -1
  389. package/.docs/reference/file-based-agents/studio.md +3 -1
  390. package/.docs/reference/file-based-agents/subagents.md +2 -0
  391. package/.docs/reference/file-based-agents/tools.md +2 -0
  392. package/.docs/reference/file-based-agents/workflows.md +2 -0
  393. package/.docs/reference/file-based-agents/workspace.md +2 -0
  394. package/.docs/reference/index.md +34 -55
  395. package/.docs/{guides/getting-started → reference}/manual-install.md +3 -3
  396. package/.docs/{guides → reference}/migrations/ai-sdk-v4-to-v5.md +1 -1
  397. package/.docs/{guides → reference}/migrations/mastra-cloud.md +2 -2
  398. package/.docs/{guides → reference}/migrations/network-to-supervisor.md +1 -1
  399. package/.docs/{guides → reference}/migrations/upgrade-to-v1/cli.md +1 -1
  400. package/.docs/{guides → reference}/migrations/upgrade-to-v1/memory.md +1 -1
  401. package/.docs/{guides → reference}/migrations/upgrade-to-v1/overview.md +41 -41
  402. package/.docs/{guides → reference}/migrations/upgrade-to-v1/tools.md +1 -1
  403. package/.docs/{guides → reference}/migrations/upgrade-to-v1/tracing.md +11 -13
  404. package/.docs/reference/observability/tracing/bridges/datadog.md +2 -2
  405. package/.docs/reference/observability/tracing/bridges/otel.md +2 -2
  406. package/.docs/reference/observability/tracing/exporters/arize.md +1 -1
  407. package/.docs/reference/observability/tracing/exporters/arthur.md +1 -1
  408. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -1
  409. package/.docs/reference/observability/tracing/exporters/confident-ai.md +1 -1
  410. package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -1
  411. package/.docs/reference/observability/tracing/exporters/datadog.md +1 -1
  412. package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -1
  413. package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +12 -1
  414. package/.docs/reference/observability/tracing/exporters/mastra-storage-exporter.md +0 -1
  415. package/.docs/reference/observability/tracing/exporters/otel.md +2 -2
  416. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +111 -99
  417. package/.docs/reference/observability/tracing/span-filtering.md +1 -1
  418. package/.docs/reference/processors/pii-detector.md +2 -0
  419. package/.docs/reference/processors/prompt-injection-detector.md +2 -0
  420. package/.docs/reference/processors/regex-filter-processor.md +20 -0
  421. package/.docs/reference/processors/response-cache.md +2 -0
  422. package/.docs/reference/processors/tool-search-processor.md +33 -1
  423. package/.docs/reference/pubsub/lease-provider.md +1 -1
  424. package/.docs/{guides → reference}/rag/chunking-and-embedding.md +16 -19
  425. package/.docs/reference/rag/database-config.md +1 -1
  426. package/.docs/{guides/rag/graph-rag.md → reference/rag/graph-rag-guide.md} +1 -1
  427. package/.docs/reference/rag/metadata-filters.md +13 -4
  428. package/.docs/{guides → reference}/rag/overview.md +2 -2
  429. package/.docs/{guides → reference}/rag/retrieval.md +18 -1
  430. package/.docs/{guides → reference}/rag/vector-databases.md +42 -1
  431. package/.docs/reference/schedules/overview.md +2 -0
  432. package/.docs/reference/server/create-route.md +27 -1
  433. package/.docs/reference/server/register-api-route.md +2 -0
  434. package/.docs/reference/signals/create-notification-inbox-tool.md +2 -0
  435. package/.docs/reference/signals/signal-provider.md +2 -0
  436. package/.docs/reference/signals/task-signal-provider.md +2 -0
  437. package/.docs/reference/signals/webhook-signal-provider.md +2 -0
  438. package/.docs/reference/storage/composite.md +4 -4
  439. package/.docs/reference/storage/overview.md +1 -1
  440. package/.docs/reference/storage/retention.md +4 -4
  441. package/.docs/reference/streaming/ChunkType.md +3 -3
  442. package/.docs/reference/streaming/agents/stream.md +1 -1
  443. package/.docs/reference/streaming/agents/streamLegacy.md +3 -3
  444. package/.docs/reference/streaming/agents/streamUntilIdle.md +1 -1
  445. package/.docs/reference/templates/overview.md +1 -1
  446. package/.docs/reference/tools/create-code-mode.md +3 -1
  447. package/.docs/reference/tools/isolated-vm-transport.md +1 -1
  448. package/.docs/reference/tools/mcp-client.md +51 -0
  449. package/.docs/reference/tools/mcp-server.md +1 -1
  450. package/.docs/reference/tools/quickjs-transport.md +92 -0
  451. package/.docs/reference/vectors/chroma.md +1 -1
  452. package/.docs/reference/vectors/convex.md +2 -2
  453. package/.docs/reference/vectors/oracledb.md +347 -0
  454. package/.docs/{guides → reference}/voice/overview.md +58 -109
  455. package/.docs/{guides → reference}/voice/speech-to-speech.md +1 -1
  456. package/.docs/{guides → reference}/voice/speech-to-text.md +8 -8
  457. package/.docs/{guides → reference}/voice/text-to-speech.md +11 -12
  458. package/.docs/reference/workers/overview.md +10 -8
  459. package/.docs/reference/workflows/dynamic-workflow-definition.md +3 -1
  460. package/.docs/reference/workflows/run-methods/timeTravel.md +1 -0
  461. package/.docs/reference/workflows/workflow.md +18 -0
  462. package/.docs/reference/workspace/local-sandbox.md +1 -1
  463. package/.docs/reference/workspace/platform-filesystem.md +3 -3
  464. package/.docs/reference/workspace/platform-sandbox.md +11 -3
  465. package/.docs/reference/workspace/process-manager.md +3 -3
  466. package/.docs/reference/workspace/sandbox.md +10 -0
  467. package/CHANGELOG.md +97 -0
  468. package/dist/index.js +1 -1
  469. package/dist/{src-BZcgzbk9.js → src-D-W-bx5t.js} +2 -2
  470. package/dist/{src-BZcgzbk9.js.map → src-D-W-bx5t.js.map} +1 -1
  471. package/dist/stdio.js +1 -1
  472. package/package.json +6 -6
  473. package/.docs/docs/capabilities/channels/other-adapters.md +0 -68
  474. package/.docs/docs/observability/integrations/bridges/datadog.md +0 -219
  475. package/.docs/docs/observability/integrations/bridges/otel.md +0 -234
  476. package/.docs/docs/observability/integrations/exporters/datadog.md +0 -321
  477. package/.docs/docs/observability/integrations/exporters/mastra-platform.md +0 -201
  478. package/.docs/docs/observability/integrations/overview.md +0 -47
  479. package/.docs/docs/observability/integrations/processors/sensitive-data-filter.md +0 -302
  480. package/.docs/guides/build-your-ui/copilotkit/channels.md +0 -86
  481. package/.docs/guides/build-your-ui/copilotkit/generative-ui.md +0 -174
  482. package/.docs/guides/deployment/mastra-workers.md +0 -576
  483. package/.docs/guides/getting-started/quickstart.md +0 -88
  484. package/.docs/guides/guide/ai-recruiter.md +0 -228
  485. package/.docs/guides/guide/chef-michel.md +0 -211
  486. package/.docs/guides/guide/code-review-bot.md +0 -228
  487. package/.docs/guides/guide/coding-agent.md +0 -392
  488. package/.docs/guides/guide/dev-assistant.md +0 -309
  489. package/.docs/guides/guide/docs-manager.md +0 -240
  490. package/.docs/guides/guide/github-actions-pr-description.md +0 -238
  491. package/.docs/guides/guide/notes-mcp-server.md +0 -418
  492. package/.docs/guides/guide/publishing-mcp-server.md +0 -137
  493. package/.docs/guides/guide/research-assistant.md +0 -350
  494. package/.docs/guides/guide/research-coordinator.md +0 -418
  495. package/.docs/guides/guide/signal-provider.md +0 -221
  496. package/.docs/guides/guide/slack-assistant.md +0 -193
  497. package/.docs/guides/guide/stock-agent.md +0 -132
  498. package/.docs/guides/guide/web-search.md +0 -322
  499. package/.docs/guides/guide/whatsapp-chat-bot.md +0 -407
  500. package/.docs/guides/index.md +0 -24
  501. package/.docs/guides/voice/realtime-voice.md +0 -430
  502. package/.docs/reference/voice/google.md +0 -290
  503. package/.docs/reference/voice/inworld.md +0 -137
  504. package/.docs/reference/voice/openai.md +0 -96
  505. package/.docs/reference/voice/playai.md +0 -82
  506. package/.docs/reference/workspace/vercel-serverless.md +0 -128
  507. /package/.docs/{guides/concepts → docs/guides}/streaming.md +0 -0
  508. /package/.docs/{reference → docs}/mastra-platform/api.md +0 -0
  509. /package/.docs/{docs/server → integrations}/auth/better-auth.md +0 -0
  510. /package/.docs/{docs/server → integrations}/auth/google.md +0 -0
  511. /package/.docs/{reference → integrations}/voice/azure.md +0 -0
  512. /package/.docs/{reference → integrations}/voice/deepgram.md +0 -0
  513. /package/.docs/{reference → integrations}/voice/elevenlabs.md +0 -0
  514. /package/.docs/{reference → integrations}/voice/mistral.md +0 -0
  515. /package/.docs/{reference → integrations}/voice/murf.md +0 -0
  516. /package/.docs/{reference → integrations}/voice/sarvam.md +0 -0
  517. /package/.docs/{reference → integrations}/voice/speechify.md +0 -0
  518. /package/.docs/{reference/voice/xai-realtime.md → integrations/voice/xai.md} +0 -0
  519. /package/.docs/{guides → reference}/migrations/agentnetwork.md +0 -0
  520. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/agent.md +0 -0
  521. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/client.md +0 -0
  522. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/deployment.md +0 -0
  523. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/evals.md +0 -0
  524. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mastra.md +0 -0
  525. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mcp.md +0 -0
  526. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/processors.md +0 -0
  527. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/rag.md +0 -0
  528. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/storage.md +0 -0
  529. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/vectors.md +0 -0
  530. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/voice.md +0 -0
  531. /package/.docs/{guides → reference}/migrations/upgrade-to-v1/workflows.md +0 -0
  532. /package/.docs/{guides → reference}/migrations/vnext-to-standard-apis.md +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Metadata filters
4
4
 
5
- Mastra provides a unified metadata filtering syntax across all vector stores, based on MongoDB/Sift query syntax. Each vector store translates these filters into their native format.
5
+ Mastra provides a unified metadata filtering syntax across all vector stores, based on MongoDB/Sift query syntax. Each vector store translates these filters into its native query format. For example, PgVector uses PostgreSQL JSONB predicates, while OracleDB stores metadata as Oracle JSON and compiles filters to `JSON_VALUE`, `JSON_EXISTS`, `REGEXP_LIKE`, and `LIKE` predicates with bound values.
6
6
 
7
7
  ## Basic example
8
8
 
@@ -34,11 +34,11 @@ const results = await store.query({
34
34
 
35
35
  ### Array Operators
36
36
 
37
- `$in`Matches any value in array{ category: { $in: \["A", "B"] } }Supported by: All except Couchbase`$nin`Matches none of the values{ status: { $nin: \["deleted", "archived"] } }Supported by: All except Couchbase`$all`Matches arrays containing all elements{ tags: { $all: \["urgent", "high"] } }Supported by: Astra, Pinecone, Upstash, MongoDB`$elemMatch`Matches array elements meeting criteria{ scores: { $elemMatch: { $gt: 80 } } }Supported by: libSQL, PgVector, MongoDB
37
+ `$in`Matches any value in array{ category: { $in: \["A", "B"] } }Supported by: All except Couchbase`$nin`Matches none of the values{ status: { $nin: \["deleted", "archived"] } }Supported by: All except Couchbase`$all`Matches arrays containing all elements{ tags: { $all: \["urgent", "high"] } }Supported by: Astra, Pinecone, Upstash, MongoDB, OracleDB`$elemMatch`Matches array elements meeting criteria{ scores: { $elemMatch: { $gt: 80 } } }Supported by: libSQL, PgVector, MongoDB, OracleDB
38
38
 
39
39
  ### Logical Operators
40
40
 
41
- `$and`Logical AND{ $and: \[{ price: { $gt: 100 } }, { stock: { $gt: 0 } }] }Supported by: All except Vectorize, Couchbase`$or`Logical OR{ $or: \[{ status: "active" }, { priority: "high" }] }Supported by: All except Vectorize, Couchbase`$not`Logical NOT{ price: { $not: { $lt: 100 } } }Supported by: Astra, Qdrant, Upstash, PgVector, libSQL, MongoDB`$nor`Logical NOR{ $nor: \[{ status: "deleted" }, { archived: true }] }Supported by: Qdrant, Upstash, PgVector, libSQL, MongoDB
41
+ `$and`Logical AND{ $and: \[{ price: { $gt: 100 } }, { stock: { $gt: 0 } }] }Supported by: All except Vectorize, Couchbase`$or`Logical OR{ $or: \[{ status: "active" }, { priority: "high" }] }Supported by: All except Vectorize, Couchbase`$not`Logical NOT{ price: { $not: { $lt: 100 } } }Supported by: Astra, Qdrant, Upstash, PgVector, libSQL, MongoDB, OracleDB`$nor`Logical NOR{ $nor: \[{ status: "deleted" }, { archived: true }] }Supported by: Qdrant, Upstash, PgVector, libSQL, MongoDB, OracleDB
42
42
 
43
43
  ### Element Operators
44
44
 
@@ -46,7 +46,7 @@ const results = await store.query({
46
46
 
47
47
  ### Custom Operators
48
48
 
49
- `$contains`Text contains substring{ description: { $contains: "sale" } }Supported by: Upstash, libSQL, PgVector`$regex`Regular expression match{ name: { $regex: "^test" } }Supported by: Qdrant, PgVector, Upstash, MongoDB`$size`Array length check{ tags: { $size: { $gt: 2 } } }Supported by: Astra, libSQL, PgVector, MongoDB`$geo`Geospatial query{ location: { $geo: { type: "radius", ... } } }Supported by: Qdrant`$datetime`Datetime range query{ created: { $datetime: { range: { gt: "2024-01-01" } } } }Supported by: Qdrant`$hasId`Vector ID existence check{ $hasId: \["id1", "id2"] }Supported by: Qdrant`$hasVector`Vector existence check{ $hasVector: true }Supported by: Qdrant
49
+ `$contains`Text contains substring{ description: { $contains: "sale" } }Supported by: Upstash, libSQL, PgVector, OracleDB`$regex`Regular expression match{ name: { $regex: "^test" } }Supported by: Qdrant, PgVector, Upstash, MongoDB, OracleDB`$size`Array length check{ tags: { $size: 3 } }Supported by: Astra, libSQL, PgVector, MongoDB, OracleDB`$geo`Geospatial query{ location: { $geo: { type: "radius", ... } } }Supported by: Qdrant`$datetime`Datetime range query{ created: { $datetime: { range: { gt: "2024-01-01" } } } }Supported by: Qdrant`$hasId`Vector ID existence check{ $hasId: \["id1", "id2"] }Supported by: Qdrant`$hasVector`Vector existence check{ $hasVector: true }Supported by: Qdrant
50
50
 
51
51
  ## Common rules and restrictions
52
52
 
@@ -124,6 +124,14 @@ const results = await store.query({
124
124
  - Empty arrays in conditions are handled gracefully
125
125
  - Metadata is stored in a JSONB column for efficient querying
126
126
 
127
+ ### OracleDB
128
+
129
+ - Metadata is stored as Oracle JSON alongside each `VECTOR` row
130
+ - Scalar comparisons use `JSON_VALUE`, while array, existence, and element-match checks use `JSON_EXISTS`
131
+ - `$regex` uses Oracle `REGEXP_LIKE`; string `$contains` uses case-insensitive `LIKE`
132
+ - Nested fields are supported with dot notation and are converted to quoted Oracle JSON paths
133
+ - User-provided metadata values are bound as parameters instead of interpolated into SQL
134
+
127
135
  ### PgVector
128
136
 
129
137
  - Full support for PostgreSQL's native JSON querying capabilities
@@ -211,6 +219,7 @@ const results = await store.query({
211
219
  - [Cloudflare Vectorize](https://mastra.ai/reference/vectors/vectorize)
212
220
  - [libSQL](https://mastra.ai/reference/vectors/libsql)
213
221
  - [MongoDB](https://mastra.ai/reference/vectors/mongodb)
222
+ - [OracleDB](https://mastra.ai/reference/vectors/oracledb)
214
223
  - [PgStore](https://mastra.ai/reference/vectors/pg)
215
224
  - [Pinecone](https://mastra.ai/reference/vectors/pinecone)
216
225
  - [Qdrant](https://mastra.ai/reference/vectors/qdrant)
@@ -63,11 +63,11 @@ This example shows the essentials. Initialize a document and create chunks, then
63
63
 
64
64
  ## Document processing
65
65
 
66
- The basic building block of RAG is document processing. Documents can be chunked using strategies (recursive, sliding window, etc.) and enriched with metadata. See the [chunking and embedding doc](https://mastra.ai/guides/rag/chunking-and-embedding).
66
+ The basic building block of RAG is document processing. Documents can be chunked using strategies (recursive, sliding window, etc.) and enriched with metadata. See the [chunking and embedding doc](https://mastra.ai/reference/rag/chunking-and-embedding).
67
67
 
68
68
  ## Vector storage
69
69
 
70
- Mastra supports multiple vector stores for embedding persistence and similarity search, including pgvector, Pinecone, Qdrant, and MongoDB. See the [vector database doc](https://mastra.ai/guides/rag/vector-databases).
70
+ Mastra supports multiple vector stores for embedding persistence and similarity search, including pgvector, OracleDB, Pinecone, Qdrant, and MongoDB. See the [vector database doc](https://mastra.ai/reference/rag/vector-databases).
71
71
 
72
72
  ## More resources
73
73
 
@@ -436,6 +436,23 @@ export const ragAgent = new Agent({
436
436
  })
437
437
  ```
438
438
 
439
+ **OracleDB**:
440
+
441
+ ```ts
442
+ import { ORACLEDB_PROMPT } from '@mastra/oracledb'
443
+
444
+ export const ragAgent = new Agent({
445
+ id: 'rag-agent',
446
+ name: 'RAG Agent',
447
+ model: 'openai/gpt-5.6-sol',
448
+ instructions: `
449
+ Process queries using the provided context. Structure responses to be concise and relevant.
450
+ ${ORACLEDB_PROMPT}
451
+ `,
452
+ tools: { vectorQueryTool },
453
+ })
454
+ ```
455
+
439
456
  **S3Vectors**:
440
457
 
441
458
  ```ts
@@ -517,4 +534,4 @@ The re-ranked results combine vector similarity with semantic understanding to i
517
534
 
518
535
  For more details about re-ranking, see the [rerank()](https://mastra.ai/reference/rag/rerankWithScorer) method.
519
536
 
520
- For graph-based retrieval that follows connections between chunks, see the [GraphRAG](https://mastra.ai/guides/rag/graph-rag) documentation.
537
+ For graph-based retrieval that follows connections between chunks, see the [GraphRAG](https://mastra.ai/reference/rag/graph-rag-guide) documentation.
@@ -78,6 +78,35 @@ await store.upsert({
78
78
 
79
79
  PostgreSQL with the pgvector extension is a good solution for teams already using PostgreSQL who want to minimize infrastructure complexity. For detailed setup instructions and best practices, see the [official pgvector repository](https://github.com/pgvector/pgvector).
80
80
 
81
+ **OracleDB**:
82
+
83
+ ```ts
84
+ import { OracleVector } from '@mastra/oracledb'
85
+
86
+ const store = new OracleVector({
87
+ id: 'oracle-vector',
88
+ user: process.env.ORACLE_DATABASE_USER,
89
+ password: process.env.ORACLE_DATABASE_PASSWORD,
90
+ connectString: process.env.ORACLE_DATABASE_CONNECT_STRING,
91
+ })
92
+
93
+ await store.createIndex({
94
+ indexName: 'myCollection',
95
+ dimension: 1536,
96
+ indexConfig: { type: 'none' },
97
+ })
98
+
99
+ await store.upsert({
100
+ indexName: 'myCollection',
101
+ vectors: embeddings,
102
+ metadata: chunks.map(chunk => ({ text: chunk.text })),
103
+ })
104
+ ```
105
+
106
+ ### Using Oracle Database Vector Search
107
+
108
+ OracleDB stores embeddings in native `VECTOR` columns and metadata in Oracle JSON. Exact search is the default; HNSW and IVF indexes can be configured for tuned deployments.
109
+
81
110
  **Pinecone**:
82
111
 
83
112
  ```ts
@@ -378,7 +407,7 @@ await store.createIndex({
378
407
 
379
408
  The dimension size must match the output dimension of your chosen embedding model. Common dimension sizes are:
380
409
 
381
- - `OpenAI text-embedding-3-small`: 1536 dimensions (or custom, e.g., 256)
410
+ - OpenAI `text-embedding-3-small`: 1536 dimensions (or custom, e.g., 256)
382
411
  - `Cohere embed-multilingual-v3`: 1024 dimensions
383
412
  - `VoyageAI voyage-3.5`: 1024 dimensions (or custom: 256, 512, 1024, 2048)
384
413
  - `Google gemini-embedding-001`: 768 dimensions (or custom)
@@ -410,6 +439,18 @@ Index names must:
410
439
  - Example: `my_index_123` is valid
411
440
  - Example: `my-index` is not valid (contains hyphen)
412
441
 
442
+ **OracleDB**:
443
+
444
+ Index names are logical Mastra names. OracleDB maps each logical index to a physical Oracle table internally.
445
+
446
+ Logical index names must:
447
+
448
+ - Be non-empty
449
+ - Be 512 characters or fewer
450
+ - Be stable for the lifetime of the vector index
451
+ - Example: `my_collection_123` is valid
452
+ - Example: `customer-support/docs:v1` is valid and is mapped to a safe Oracle table name
453
+
413
454
  **Pinecone**:
414
455
 
415
456
  Index names must:
@@ -4,6 +4,8 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.50.0`
6
6
 
7
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
8
+
7
9
  `mastra.schedules` is the CRUD service for persisted cron schedules. Use it to create, list, update, pause, resume, manually run, and delete schedules for agents or workflows.
8
10
 
9
11
  For usage patterns and concepts, see [Schedules](https://mastra.ai/docs/long-running-agents/schedules).
@@ -72,10 +72,36 @@ handler: async params => {
72
72
 
73
73
  ## Return value
74
74
 
75
- Returns a `ServerRoute` object that can be registered with an adapter.
75
+ Returns a `ServerRoute` object that can be registered with an adapter or passed to `server.apiRoutes` on the `Mastra` instance.
76
76
 
77
77
  ## Examples
78
78
 
79
+ ### Register through `server.apiRoutes`
80
+
81
+ Routes created with `createRoute()` can be passed to `server.apiRoutes`. The adapter registers them with runtime validation, typed handler parameters, and generated OpenAPI metadata. See [Custom API routes](https://mastra.ai/docs/server/custom-api-routes) for details.
82
+
83
+ ```typescript
84
+ import { Mastra } from '@mastra/core'
85
+ import { createRoute } from '@mastra/server/server-adapter'
86
+ import { z } from 'zod'
87
+
88
+ const createItemRoute = createRoute({
89
+ method: 'POST',
90
+ path: '/items',
91
+ responseType: 'json',
92
+ bodySchema: z.object({
93
+ name: z.string(),
94
+ }),
95
+ handler: async ({ name }) => ({ id: 'new-id', name }),
96
+ })
97
+
98
+ export const mastra = new Mastra({
99
+ server: {
100
+ apiRoutes: [createItemRoute],
101
+ },
102
+ })
103
+ ```
104
+
79
105
  ### GET route with path params
80
106
 
81
107
  ```typescript
@@ -22,6 +22,8 @@ registerApiRoute("/items/:itemId", { ... })
22
22
 
23
23
  Custom route paths can't start with the server's configured `apiPrefix` (default: `/api`), as that prefix is reserved for built-in Mastra routes. If you set a custom `apiPrefix`, only that prefix is reserved. For example, with `apiPrefix: '/mastra/api'`, paths like `/api/my-endpoint` are allowed.
24
24
 
25
+ > **Warning:** The default auth configuration protects `/api/*` and treats `/api`, `/api/auth/*` as public. When you change `apiPrefix`, those defaults no longer match and built-in routes fall outside the protected pattern. Update `server.auth.protected` and `server.auth.public` to reference the new prefix, and update any client code (including `MastraClient` `apiPrefix`) that hits `/api/*`.
26
+
25
27
  ### options
26
28
 
27
29
  **method** (`'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL'`): HTTP method for the route
@@ -4,6 +4,8 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.39.0`
6
6
 
7
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
8
+
7
9
  `createNotificationInboxTool()` creates a Mastra tool that lets an agent inspect and manage notification inbox records for the current thread.
8
10
 
9
11
  Use this tool with durable notification signals. For sending notification records, see [`Agent.sendNotificationSignal()`](https://mastra.ai/reference/agents/agent).
@@ -4,6 +4,8 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.39.0`
6
6
 
7
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
8
+
7
9
  Abstract base class for building signal providers. A signal provider monitors external sources (APIs, webhooks, event streams) and pushes notification signals into agent threads through a built-in subscription registry.
8
10
 
9
11
  Signal providers aren't processors by default. Providers that need to intercept agent execution return processors from `getInputProcessors()` or `getOutputProcessors()`. Providers that expose agent-callable tools return them from `getTools()`.
@@ -2,6 +2,8 @@
2
2
 
3
3
  # TaskSignalProvider
4
4
 
5
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
6
+
5
7
  Bundles the built-in task tools (`task_write`, `task_update`, `task_complete`, `task_check`) and the `TaskStateProcessor` behind a single agent registration. Use it to add a structured, durable task list to an agent without wiring the tools and processor separately.
6
8
 
7
9
  Extends [`SignalProvider`](https://mastra.ai/reference/signals/signal-provider). The task list is stored in the thread-scoped `tasks` storage domain (the source of truth) and projected onto the agent state-signal lane by the processor, so it survives observational-memory truncation without invalidating the prompt cache.
@@ -4,6 +4,8 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.39.0`
6
6
 
7
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
8
+
7
9
  Concrete signal provider for push-based event delivery. Routes incoming webhook payloads to subscribed agent threads by matching the payload against a configurable resource ID extractor.
8
10
 
9
11
  Extends [`SignalProvider`](https://mastra.ai/reference/signals/signal-provider) with public subscription management and a built-in `handleWebhook()` implementation.
@@ -338,7 +338,7 @@ const storage = new MastraCompositeStore({
338
338
 
339
339
  Observability data can quickly overwhelm general-purpose databases in production. A single agent interaction can generate hundreds of spans, and high-traffic applications can produce thousands of traces per day.
340
340
 
341
- **[ClickHouse](https://mastra.ai/reference/storage/clickhouse)** is recommended for production observability because it's optimized for high-volume, write-heavy analytics workloads. Use composite storage to route observability to ClickHouse while keeping other data in your primary database:
341
+ **[ClickHouse](https://mastra.ai/integrations/databases/clickhouse)** is recommended for production observability because it's optimized for high-volume, write-heavy analytics workloads. Use composite storage to route observability to ClickHouse while keeping other data in your primary database:
342
342
 
343
343
  ```typescript
344
344
  import { MastraCompositeStore } from '@mastra/core/storage'
@@ -360,7 +360,7 @@ const storage = new MastraCompositeStore({
360
360
  })
361
361
  ```
362
362
 
363
- > **Note:** `ObservabilityStorageClickhouseVNext` is the current observability domain implementation. The legacy `ObservabilityStorageClickhouse` class is also exported and remains supported for projects that haven't migrated. See the [ClickHouse storage reference](https://mastra.ai/reference/storage/clickhouse) for details.
363
+ > **Note:** `ObservabilityStorageClickhouseVNext` is the current observability domain implementation. The legacy `ObservabilityStorageClickhouse` class is also exported and remains supported for projects that haven't migrated. See the [ClickHouse storage reference](https://mastra.ai/integrations/databases/clickhouse) for details.
364
364
 
365
365
  ### Replicated ClickHouse for multi-replica clusters
366
366
 
@@ -392,6 +392,6 @@ const storage = new MastraCompositeStore({
392
392
  })
393
393
  ```
394
394
 
395
- Don't set `replication` on ClickHouse Cloud. Cloud rewrites `MergeTree` to `SharedMergeTree` server-side. See the [ClickHouse storage reference](https://mastra.ai/reference/storage/clickhouse) for the full config shape and operator notes.
395
+ Don't set `replication` on ClickHouse Cloud. Cloud rewrites `MergeTree` to `SharedMergeTree` server-side. See the [ClickHouse storage reference](https://mastra.ai/integrations/databases/clickhouse) for the full config shape and operator notes.
396
396
 
397
- > **Info:** This approach is also required when using storage providers that don't support observability (like Convex, DynamoDB, or Cloudflare). See the [MastraStorageExporter documentation](https://mastra.ai/docs/observability/integrations/exporters/mastra-storage) for the full list of supported providers.
397
+ > **Note:** This approach is also required when using storage providers that don't support observability (like Convex, DynamoDB, or Cloudflare). See the [MastraStorageExporter documentation](https://mastra.ai/docs/observability/integrations/exporters/mastra-storage) for the full list of supported providers.
@@ -1,6 +1,6 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # Storage overview
3
+ # Storage
4
4
 
5
5
  Mastra storage is organized into domains. Each domain owns a set of tables or collections. Depending on your adapter and configuration, you may use all domains or only a subset.
6
6
 
@@ -8,7 +8,7 @@ Storage grows without bound by default. Retention is an opt-in, age-based cleanu
8
8
 
9
9
  Retention covers **growth tables** only: tables that accumulate rows unbounded as a side effect of normal operation (conversation history, telemetry, job and run records, schedule fire history, event feeds). User-authored artifacts and config (agents, skills, workspaces, prompt blocks, datasets, schedule definitions, channel installations, and so on) grow with user intent and are edited or deleted explicitly, so they're not valid retention keys.
10
10
 
11
- The reference implementations are [libSQL](https://mastra.ai/reference/storage/libsql), [PostgreSQL](https://mastra.ai/reference/storage/postgresql), and [MongoDB](https://mastra.ai/reference/storage/mongodb). Other adapters keep rows forever until they implement retention.
11
+ The reference implementations are [libSQL](https://mastra.ai/integrations/databases/libsql), [PostgreSQL](https://mastra.ai/integrations/databases/postgresql), and [MongoDB](https://mastra.ai/integrations/databases/mongodb). Other adapters keep rows forever until they implement retention.
12
12
 
13
13
  ## Usage example
14
14
 
@@ -238,11 +238,11 @@ Handing that free space back to the OS is a separate concern that Mastra doesn't
238
238
 
239
239
  For MongoDB, deleted documents are reused by future insertions. To reclaim disk space, run [`db.runCommand({ compact: "collection_name" })`](https://www.mongodb.com/docs/manual/reference/command/compact/) during a maintenance window.
240
240
 
241
- > **LibSQL and Turso:** [Turso Cloud](https://mastra.ai/reference/storage/libsql) manages storage compaction for you, so there's nothing to reclaim manually. This applies only to self-hosted libSQL files.
241
+ > **LibSQL and Turso:** [Turso Cloud](https://mastra.ai/integrations/databases/libsql) manages storage compaction for you, so there's nothing to reclaim manually. This applies only to self-hosted libSQL files.
242
242
 
243
243
  ## Related
244
244
 
245
- - [libSQL storage](https://mastra.ai/reference/storage/libsql)
246
- - [PostgreSQL storage](https://mastra.ai/reference/storage/postgresql)
245
+ - [libSQL storage](https://mastra.ai/integrations/databases/libsql)
246
+ - [PostgreSQL storage](https://mastra.ai/integrations/databases/postgresql)
247
247
  - [Composite storage](https://mastra.ai/reference/storage/composite)
248
248
  - [Storage overview](https://mastra.ai/reference/storage/overview)
@@ -310,7 +310,7 @@ Signals the completion of a processing step.
310
310
 
311
311
  **payload.messageId** (`string`): Optional message identifier
312
312
 
313
- **payload.stepResult** (`object`): Step execution result with reason, warnings, and continuation info
313
+ **payload.stepResult** (`object`): Step execution result with reason, warnings, and continuation info. rawReason holds the provider's own finish reason when it reports one.
314
314
 
315
315
  **payload.output** (`object`): Output information including usage statistics
316
316
 
@@ -334,13 +334,13 @@ Contains raw data from the provider.
334
334
 
335
335
  ### finish
336
336
 
337
- Stream has completed successfully.
337
+ Stream has completed.
338
338
 
339
339
  **type** (`"finish"`): Chunk type identifier
340
340
 
341
341
  **payload** (`FinishPayload`): Completion information
342
342
 
343
- **payload.stepResult** (`object`): Step execution result
343
+ **payload.stepResult** (`object`): Step execution result. reason holds the normalized finish reason, and rawReason holds the provider's own finish reason when it reports one. A reason of "error" means the run failed.
344
344
 
345
345
  **payload.output** (`object`): Output information including usage
346
346
 
@@ -10,7 +10,7 @@ The `.stream()` method enables real-time streaming of responses from an agent wi
10
10
  const stream = await agent.stream('message for agent')
11
11
  ```
12
12
 
13
- > **Info:** **Model Compatibility**: This method is designed for V2 models. V1 models should use the [`.streamLegacy()`](https://mastra.ai/reference/streaming/agents/streamLegacy) method. The framework automatically detects your model version and will throw an error if there's a mismatch.
13
+ > **Note:** **Model Compatibility**: This method is designed for V2 models. V1 models should use the [`.streamLegacy()`](https://mastra.ai/reference/streaming/agents/streamLegacy) method. The framework automatically detects your model version and will throw an error if there's a mismatch.
14
14
 
15
15
  ## Parameters
16
16
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Agent.streamLegacy() (Legacy)
4
4
 
5
- > **Warning:** **Deprecated**: This method is deprecated and only works with V1 models. For V2 models, use the new [`.stream()`](https://mastra.ai/reference/streaming/agents/stream) method instead. See the [migration guide](https://mastra.ai/guides/migrations/vnext-to-standard-apis) for details on upgrading.
5
+ > **Warning:** **Deprecated**: This method is deprecated and only works with V1 models. For V2 models, use the new [`.stream()`](https://mastra.ai/reference/streaming/agents/stream) method instead. See the [migration guide](https://mastra.ai/reference/migrations/vnext-to-standard-apis) for details on upgrading.
6
6
 
7
7
  The `.streamLegacy()` method is the legacy version of the agent streaming API, used for real-time streaming of responses from V1 model agents. This method accepts messages and optional streaming options.
8
8
 
@@ -152,7 +152,7 @@ await agent.streamLegacy('message for agent', {
152
152
 
153
153
  ## Migration to new API
154
154
 
155
- > **Info:** The new `.stream()` method offers enhanced capabilities including AI SDK v5+ compatibility, better structured output handling, and improved callback system. See the [migration guide](https://mastra.ai/guides/migrations/vnext-to-standard-apis) for detailed migration instructions.
155
+ > **Note:** The new `.stream()` method offers enhanced capabilities including AI SDK v5+ compatibility, better structured-output handling, and improved callback system. See the [migration guide](https://mastra.ai/reference/migrations/vnext-to-standard-apis) for detailed migration instructions.
156
156
 
157
157
  ### Quick Migration Example
158
158
 
@@ -180,7 +180,7 @@ const result = await agent.stream('message', {
180
180
 
181
181
  ## Related
182
182
 
183
- - [Migration Guide](https://mastra.ai/guides/migrations/vnext-to-standard-apis)
183
+ - [Migration Guide](https://mastra.ai/reference/migrations/vnext-to-standard-apis)
184
184
  - [New .stream() method](https://mastra.ai/reference/streaming/agents/stream)
185
185
  - [Generating responses](https://mastra.ai/docs/agents/overview)
186
186
  - [Streaming responses](https://mastra.ai/docs/agents/overview)
@@ -32,7 +32,7 @@ for await (const chunk of stream.fullStream) {
32
32
  }
33
33
  ```
34
34
 
35
- > **Info:** `streamUntilIdle()` requires both a [`BackgroundTaskManager`](https://mastra.ai/reference/configuration) and a [memory](https://mastra.ai/docs/memory/overview) backend. Without either, it uses a plain `agent.stream()` call.
35
+ > **Note:** `streamUntilIdle()` requires both a [`BackgroundTaskManager`](https://mastra.ai/reference/configuration) and a [memory](https://mastra.ai/docs/memory/overview) backend. Without either, it uses a plain `agent.stream()` call.
36
36
 
37
37
  ## Parameters
38
38
 
@@ -1,6 +1,6 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # Overview
3
+ # Templates
4
4
 
5
5
  This reference explains how to use existing Mastra templates and create your own. It also covers contributing templates to the community ecosystem.
6
6
 
@@ -4,6 +4,8 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.38.0`
6
6
 
7
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
8
+
7
9
  The `createCodeMode()` function returns a tool and generated instructions that let an agent run multi-tool computations as one TypeScript function. The generated code runs in a workspace sandbox, and each `external_*` call runs the real tool on the host with validation, request context, and tracing.
8
10
 
9
11
  For a conceptual overview, see [Code mode](https://mastra.ai/docs/agents/code-mode).
@@ -62,7 +64,7 @@ export const shopAgent = new Agent({
62
64
 
63
65
  **config.id** (`string`): The generated tool id.
64
66
 
65
- **transport** (`CodeModeTransport`): Optional transport implementation used to run the generated code in the sandbox. The default transport uses stdio JSON-RPC over the workspace sandbox process API. Transports that declare requiresSandbox: false (such as IsolatedVmCodeModeTransport) run without a sandbox.
67
+ **transport** (`CodeModeTransport`): Optional transport implementation used to run the generated code in the sandbox. The default transport uses stdio JSON-RPC over the workspace sandbox process API. Transports that declare requiresSandbox: false (such as IsolatedVmCodeModeTransport and QuickJsCodeModeTransport) run without a sandbox.
66
68
 
67
69
  ## Returns
68
70
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # IsolatedVmCodeModeTransport
4
4
 
5
- > **Beta:** This feature is in beta. Breaking changes may occur without a major version bump until the API is stable.
5
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
6
6
 
7
7
  The `IsolatedVmCodeModeTransport` class runs [Code mode](https://mastra.ai/docs/agents/code-mode) programs in an in-process V8 isolate, backed by [isolated-vm](https://github.com/laverdet/isolated-vm). The isolate is the execution boundary, so no workspace sandbox is required: the program has no filesystem, network, process, or module access. Its only capabilities are the `external_*` functions, which call back into the real tools on the host.
8
8
 
@@ -244,6 +244,57 @@ const res = await agent.stream(prompt, {
244
244
  })
245
245
  ```
246
246
 
247
+ ### `listToolDefinitions()`
248
+
249
+ Returns every server's tools as plain, serializable definitions, grouped by server name and keyed by the server's own tool name (without the `serverName_toolName` namespacing that `listTools()` applies).
250
+
251
+ Unlike `listTools()`, the result contains no functions or references to a live client, so it can be passed through `JSON.stringify` and cached in Redis, a database, or a build artifact. Each definition holds the data from the MCP `tools/list` response (name, description, input schema, output schema, annotations, and `_meta`), plus the server name, version, and instructions captured at discovery time.
252
+
253
+ ```typescript
254
+ const definitions = await mcp.listToolDefinitions()
255
+
256
+ await cache.set('mcp-tools', JSON.stringify(definitions))
257
+ ```
258
+
259
+ ### `listToolDefinitionsWithErrors()`
260
+
261
+ Like `listToolDefinitions()`, but also returns per-server errors for servers that failed to connect. Use this when caching a catalog, so you don't persist a partial manifest that omits a server that was down at discovery time.
262
+
263
+ ```typescript
264
+ const { definitions, errors } = await mcp.listToolDefinitionsWithErrors()
265
+
266
+ if (Object.keys(errors).length === 0) {
267
+ await cache.set('mcp-tools', JSON.stringify(definitions))
268
+ }
269
+ ```
270
+
271
+ ### `toolFromDefinition()`
272
+
273
+ Rebuilds a single executable tool from a cached definition. No connection is opened here. The client connects lazily, the first time the tool is executed.
274
+
275
+ The returned tool behaves exactly like one from `listTools()`, with the same strict-mode metadata, approval policy, structured content handling, tool error handling, and reconnect behavior.
276
+
277
+ ```typescript
278
+ const definitions = JSON.parse(await cache.get('mcp-tools'))
279
+
280
+ const tool = await mcp.toolFromDefinition({
281
+ serverName: 'weather',
282
+ definition: definitions.weather.getForecast,
283
+ })
284
+ ```
285
+
286
+ ### `toolsFromDefinitions()`
287
+
288
+ Rebuilds an entire cached catalog into a namespaced tool map, without connecting. This is the cached counterpart to `listTools()`. It produces the same `serverName_toolName` keys, so you can reconstruct an agent's tool map on a cold start, and connections only open for the servers whose tools are actually called.
289
+
290
+ Servers present in the catalog but no longer configured on the client are skipped, so a stale cached manifest degrades gracefully.
291
+
292
+ ```typescript
293
+ const definitions = JSON.parse(await cache.get('mcp-tools'))
294
+
295
+ new Agent({ id: 'agent', tools: await mcp.toolsFromDefinitions({ definitions }) })
296
+ ```
297
+
247
298
  ### `getServerInstructions()`
248
299
 
249
300
  Returns the instructions currently known for each configured MCP server. Servers that haven't connected yet, or don't advertise instructions, return `undefined`.
@@ -929,7 +929,7 @@ Notification methods (`resources.notifyListChanged()`, `prompts.notifyListChange
929
929
 
930
930
  ## Examples
931
931
 
932
- For practical examples of setting up and deploying an MCPServer, see the [Publishing an MCP Server guide](https://mastra.ai/guides/guide/publishing-mcp-server).
932
+ For a practical example of packaging a stdio server, see [Publish a stdio server package](https://mastra.ai/docs/mcp/overview).
933
933
 
934
934
  The example at the beginning of this page also demonstrates how to instantiate `MCPServer` with both tools and agents.
935
935
 
@@ -0,0 +1,92 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # QuickJsCodeModeTransport
4
+
5
+ > **Beta:** Breaking changes may occur without a major version bump until the API is stable.
6
+
7
+ The `QuickJsCodeModeTransport` class runs [Code mode](https://mastra.ai/docs/agents/code-mode) programs in an in-process [QuickJS](https://bellard.org/quickjs/) runtime compiled to WebAssembly. The runtime is the execution boundary, so no workspace sandbox is required: the program has no filesystem, network, process, or module access. Its only capabilities are the `external_*` functions, which call back into the real tools on the host.
8
+
9
+ Unlike [`IsolatedVmCodeModeTransport`](https://mastra.ai/reference/tools/isolated-vm-transport), this transport installs no native binaries and needs no Node.js flags, so it runs on serverless platforms that disallow both. The tradeoff is speed: see [Choosing a transport](#choosing-a-transport).
10
+
11
+ ## Installation
12
+
13
+ **npm**:
14
+
15
+ ```bash
16
+ npm install @mastra/quickjs
17
+ ```
18
+
19
+ **pnpm**:
20
+
21
+ ```bash
22
+ pnpm add @mastra/quickjs
23
+ ```
24
+
25
+ **Yarn**:
26
+
27
+ ```bash
28
+ yarn add @mastra/quickjs
29
+ ```
30
+
31
+ **Bun**:
32
+
33
+ ```bash
34
+ bun add @mastra/quickjs
35
+ ```
36
+
37
+ The package contains the WebAssembly module, so installing it copies files and runs nothing else.
38
+
39
+ ## Usage
40
+
41
+ Pass the transport as the second argument to `createCodeMode()`. No `sandbox` is needed:
42
+
43
+ ```typescript
44
+ import { createCodeMode } from '@mastra/core/tools'
45
+ import { QuickJsCodeModeTransport } from '@mastra/quickjs'
46
+
47
+ const { tool, instructions } = createCodeMode(
48
+ { tools: { getTopProducts, getProductRatings } },
49
+ new QuickJsCodeModeTransport({ memoryLimitMb: 128 }),
50
+ )
51
+ ```
52
+
53
+ ## Constructor parameters
54
+
55
+ **options** (`QuickJsCodeModeTransportOptions`): Configuration for the QuickJS runtime.
56
+
57
+ **options.memoryLimitMb** (`number`): Runtime heap limit in MiB. A program that exceeds the limit is terminated and the tool returns an error result.
58
+
59
+ **options.maxStackSizeBytes** (`number`): Runtime stack limit in bytes. A program that exceeds the limit, usually through runaway recursion, is terminated and the tool returns an error result.
60
+
61
+ **options.module** (`QuickJSWASMModule`): A preloaded QuickJS WebAssembly module. Supply one to control when the module is loaded, or to share a single module across transports. Loaded on first run when omitted.
62
+
63
+ ## Choosing a transport
64
+
65
+ All three transports enforce the same allow-list, tool validation, and tracing on the host. They differ in what the program itself can reach and what the host has to provide.
66
+
67
+ | | `StdioCodeModeTransport` | `IsolatedVmCodeModeTransport` | `QuickJsCodeModeTransport` |
68
+ | ------------------- | ------------------------------ | -------------------------------------------- | --------------------------- |
69
+ | Isolation boundary | Workspace sandbox | V8 isolate | QuickJS WebAssembly runtime |
70
+ | Requires a sandbox | Yes | No | No |
71
+ | Native binary | Node.js runtime in the sandbox | Yes | No |
72
+ | Node.js flags | None | `--no-node-snapshot` on Node.js 20 and later | None |
73
+ | Runs in the browser | No | No | Yes |
74
+ | Execution speed | Fastest | Fast | Slowest |
75
+
76
+ Choose `QuickJsCodeModeTransport` when the host can't install native addons or set Node.js flags, which is common on serverless platforms. Choose `IsolatedVmCodeModeTransport` when the host allows both and programs do heavy computation.
77
+
78
+ The speed difference is in the program body, not the tool calls. QuickJS interprets rather than JIT-compiles, so a compute-heavy loop can run tens of times slower than in a V8 isolate, while a program that mostly awaits `external_*` calls performs about the same because the time goes to the tools. Code Mode programs are usually the second kind.
79
+
80
+ ## How it works
81
+
82
+ Each run creates a fresh QuickJS runtime with its own heap. TypeScript is stripped on the host with [ts-blank-space](https://github.com/bloomberg/ts-blank-space), which erases type annotations without a native compiler, then the program is evaluated inside the runtime. Every `external_*` call crosses the boundary as JSON strings in both directions, so no host object references leak into model-authored code.
83
+
84
+ An `external_*` call returns a pending promise to the program and hands control straight back to the host, so many calls can be in flight at once and `Promise.all` behaves as expected.
85
+
86
+ The `timeout` configured on `createCodeMode()` applies to both asynchronous hangs and synchronous infinite loops, and the runtime is disposed after every run.
87
+
88
+ ## Related
89
+
90
+ - [Code mode](https://mastra.ai/docs/agents/code-mode)
91
+ - [createCodeMode() reference](https://mastra.ai/reference/tools/create-code-mode)
92
+ - [IsolatedVmCodeModeTransport reference](https://mastra.ai/reference/tools/isolated-vm-transport)
@@ -4,7 +4,7 @@
4
4
 
5
5
  The ChromaVector class provides vector search using [Chroma](https://docs.trychroma.com/docs/overview/getting-started), an open-source embedding database. It offers efficient vector search with metadata filtering and hybrid search capabilities.
6
6
 
7
- > **Info:**
7
+ > **Note:**
8
8
  >
9
9
  > **Chroma Cloud**
10
10
  >
@@ -36,7 +36,7 @@ bun add @mastra/convex@latest
36
36
 
37
37
  ## Convex setup
38
38
 
39
- Before using `ConvexVector`, you need to set up the Convex schema and storage handler. See [Convex Storage Setup](https://mastra.ai/reference/storage/convex) for setup instructions.
39
+ Before using `ConvexVector`, you need to set up the Convex schema and storage handler. See [Convex Storage Setup](https://mastra.ai/integrations/databases/convex) for setup instructions.
40
40
 
41
41
  ## Constructor options
42
42
 
@@ -419,6 +419,6 @@ Use an external vector database when you need runtime-defined index creation at
419
419
 
420
420
  ## Related
421
421
 
422
- - [Convex Storage](https://mastra.ai/reference/storage/convex)
422
+ - [Convex Storage](https://mastra.ai/integrations/databases/convex)
423
423
  - [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
424
424
  - [Convex Documentation](https://docs.convex.dev/)