@mastra/mcp-docs-server 1.0.0-beta.4 → 1.0.0-beta.6

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 (286) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
  2. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
  3. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +201 -1
  4. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  5. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  6. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  7. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  9. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +29 -0
  11. package/.docs/organized/changelogs/%40mastra%2Fcore.md +411 -211
  12. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
  15. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
  16. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
  17. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +201 -1
  18. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
  19. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
  20. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +52 -0
  21. package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
  22. package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
  23. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
  24. package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
  25. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
  26. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
  27. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
  28. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
  29. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
  30. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
  31. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
  32. package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
  33. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
  34. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +201 -1
  35. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  36. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  37. package/.docs/organized/changelogs/%40mastra%2Freact.md +89 -1
  38. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -0
  39. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
  40. package/.docs/organized/changelogs/%40mastra%2Fserver.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
  44. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
  45. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
  46. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
  47. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
  57. package/.docs/organized/changelogs/create-mastra.md +201 -1
  58. package/.docs/organized/changelogs/mastra.md +201 -1
  59. package/.docs/organized/code-examples/agui.md +1 -0
  60. package/.docs/organized/code-examples/ai-sdk-v5.md +1 -0
  61. package/.docs/organized/code-examples/mcp-server-adapters.md +721 -0
  62. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  63. package/.docs/organized/code-examples/quick-start.md +1 -1
  64. package/.docs/organized/code-examples/server-app-access.md +342 -0
  65. package/.docs/raw/agents/adding-voice.mdx +7 -10
  66. package/.docs/raw/agents/agent-approval.mdx +189 -0
  67. package/.docs/raw/agents/guardrails.mdx +26 -23
  68. package/.docs/raw/agents/networks.mdx +2 -2
  69. package/.docs/raw/agents/overview.mdx +27 -62
  70. package/.docs/raw/agents/processors.mdx +279 -0
  71. package/.docs/raw/agents/using-tools.mdx +4 -5
  72. package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
  73. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  74. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  75. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  76. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  77. package/.docs/raw/deployment/building-mastra.mdx +1 -1
  78. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +1 -1
  79. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +1 -1
  80. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +1 -1
  81. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +1 -1
  82. package/.docs/raw/deployment/cloud-providers/index.mdx +20 -27
  83. package/.docs/raw/deployment/cloud-providers/netlify-deployer.mdx +44 -13
  84. package/.docs/raw/deployment/mastra-cloud/observability.mdx +19 -17
  85. package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +1 -1
  86. package/.docs/raw/deployment/overview.mdx +2 -2
  87. package/.docs/raw/deployment/web-framework.mdx +5 -5
  88. package/.docs/raw/evals/custom-scorers.mdx +3 -5
  89. package/.docs/raw/evals/overview.mdx +2 -3
  90. package/.docs/raw/evals/running-in-ci.mdx +0 -2
  91. package/.docs/raw/{guides/guide → getting-started}/manual-install.mdx +2 -2
  92. package/.docs/raw/getting-started/project-structure.mdx +1 -1
  93. package/.docs/raw/getting-started/start.mdx +72 -0
  94. package/.docs/raw/getting-started/studio.mdx +1 -1
  95. package/.docs/raw/{frameworks/agentic-uis/ai-sdk.mdx → guides/build-your-ui/ai-sdk-ui.mdx} +113 -11
  96. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +23 -25
  97. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +3 -4
  98. package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +11 -11
  99. package/.docs/raw/guides/{quickstarts/standalone-server.mdx → getting-started/quickstart.mdx} +7 -7
  100. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +23 -25
  101. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
  102. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  103. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  104. package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
  105. package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
  106. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  107. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  108. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  109. package/.docs/raw/guides/index.mdx +3 -35
  110. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  111. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +1 -1
  112. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +40 -0
  113. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +5 -0
  114. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +51 -0
  115. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  116. package/.docs/raw/index.mdx +2 -2
  117. package/.docs/raw/mcp/overview.mdx +3 -5
  118. package/.docs/raw/memory/memory-processors.mdx +264 -79
  119. package/.docs/raw/memory/semantic-recall.mdx +7 -7
  120. package/.docs/raw/memory/storage/memory-with-libsql.mdx +2 -4
  121. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +2 -4
  122. package/.docs/raw/memory/storage/memory-with-pg.mdx +2 -4
  123. package/.docs/raw/memory/storage/memory-with-upstash.mdx +2 -4
  124. package/.docs/raw/memory/threads-and-resources.mdx +3 -3
  125. package/.docs/raw/memory/working-memory.mdx +14 -7
  126. package/.docs/raw/{logging.mdx → observability/logging.mdx} +1 -1
  127. package/.docs/raw/observability/overview.mdx +2 -3
  128. package/.docs/raw/observability/tracing/bridges/otel.mdx +176 -0
  129. package/.docs/raw/observability/tracing/exporters/arize.mdx +17 -0
  130. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +19 -0
  131. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +20 -0
  132. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +12 -0
  133. package/.docs/raw/observability/tracing/exporters/otel.mdx +25 -5
  134. package/.docs/raw/observability/tracing/exporters/posthog.mdx +107 -0
  135. package/.docs/raw/observability/tracing/overview.mdx +74 -8
  136. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +0 -1
  137. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  138. package/.docs/raw/rag/overview.mdx +3 -2
  139. package/.docs/raw/rag/retrieval.mdx +43 -38
  140. package/.docs/raw/rag/vector-databases.mdx +93 -2
  141. package/.docs/raw/reference/agents/agent.mdx +7 -10
  142. package/.docs/raw/reference/agents/generate.mdx +55 -6
  143. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  144. package/.docs/raw/reference/agents/getLLM.mdx +1 -1
  145. package/.docs/raw/reference/agents/network.mdx +46 -3
  146. package/.docs/raw/reference/cli/mastra.mdx +2 -1
  147. package/.docs/raw/reference/client-js/agents.mdx +3 -3
  148. package/.docs/raw/reference/client-js/memory.mdx +43 -0
  149. package/.docs/raw/reference/client-js/workflows.mdx +92 -63
  150. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  151. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  152. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  153. package/.docs/raw/reference/core/mastra-model-gateway.mdx +5 -19
  154. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  155. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  156. package/.docs/raw/reference/deployer/netlify.mdx +1 -2
  157. package/.docs/raw/reference/evals/answer-relevancy.mdx +28 -98
  158. package/.docs/raw/reference/evals/answer-similarity.mdx +12 -258
  159. package/.docs/raw/reference/evals/bias.mdx +29 -87
  160. package/.docs/raw/reference/evals/completeness.mdx +31 -90
  161. package/.docs/raw/reference/evals/content-similarity.mdx +28 -88
  162. package/.docs/raw/reference/evals/context-precision.mdx +28 -130
  163. package/.docs/raw/reference/evals/context-relevance.mdx +11 -11
  164. package/.docs/raw/reference/evals/faithfulness.mdx +28 -101
  165. package/.docs/raw/reference/evals/hallucination.mdx +28 -103
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +28 -107
  167. package/.docs/raw/reference/evals/noise-sensitivity.mdx +11 -11
  168. package/.docs/raw/reference/evals/prompt-alignment.mdx +15 -15
  169. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  170. package/.docs/raw/reference/evals/textual-difference.mdx +27 -100
  171. package/.docs/raw/reference/evals/tone-consistency.mdx +25 -98
  172. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +7 -7
  173. package/.docs/raw/reference/evals/toxicity.mdx +29 -92
  174. package/.docs/raw/reference/index.mdx +1 -0
  175. package/.docs/raw/reference/memory/memory-class.mdx +5 -7
  176. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +150 -0
  177. package/.docs/raw/reference/observability/tracing/configuration.mdx +0 -4
  178. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +4 -0
  179. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +17 -1
  180. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +6 -0
  181. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  182. package/.docs/raw/reference/observability/tracing/instances.mdx +0 -4
  183. package/.docs/raw/reference/observability/tracing/interfaces.mdx +29 -4
  184. package/.docs/raw/reference/observability/tracing/spans.mdx +0 -4
  185. package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
  186. package/.docs/raw/reference/processors/language-detector.mdx +10 -3
  187. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  188. package/.docs/raw/reference/processors/moderation-processor.mdx +12 -5
  189. package/.docs/raw/reference/processors/pii-detector.mdx +12 -5
  190. package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
  191. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +10 -3
  192. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  193. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +3 -4
  194. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  195. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  196. package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
  197. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  198. package/.docs/raw/reference/rag/embeddings.mdx +5 -5
  199. package/.docs/raw/reference/rag/rerank.mdx +1 -2
  200. package/.docs/raw/reference/rag/rerankWithScorer.mdx +0 -1
  201. package/.docs/raw/reference/storage/cloudflare-d1.mdx +37 -0
  202. package/.docs/raw/reference/storage/convex.mdx +164 -0
  203. package/.docs/raw/reference/storage/lance.mdx +33 -0
  204. package/.docs/raw/reference/storage/libsql.mdx +37 -0
  205. package/.docs/raw/reference/storage/mongodb.mdx +39 -0
  206. package/.docs/raw/reference/storage/mssql.mdx +37 -0
  207. package/.docs/raw/reference/storage/postgresql.mdx +37 -0
  208. package/.docs/raw/reference/streaming/ChunkType.mdx +1 -1
  209. package/.docs/raw/reference/streaming/agents/stream.mdx +64 -2
  210. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +7 -9
  211. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  212. package/.docs/raw/reference/streaming/workflows/stream.mdx +83 -24
  213. package/.docs/raw/reference/templates/overview.mdx +1 -4
  214. package/.docs/raw/reference/tools/client.mdx +1 -2
  215. package/.docs/raw/reference/tools/create-tool.mdx +132 -0
  216. package/.docs/raw/reference/tools/graph-rag-tool.mdx +5 -5
  217. package/.docs/raw/reference/tools/mcp-client.mdx +76 -21
  218. package/.docs/raw/reference/tools/mcp-server.mdx +1 -2
  219. package/.docs/raw/reference/tools/vector-query-tool.mdx +14 -15
  220. package/.docs/raw/reference/vectors/chroma.mdx +81 -1
  221. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  222. package/.docs/raw/reference/vectors/couchbase.mdx +24 -17
  223. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  224. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  225. package/.docs/raw/reference/vectors/lance.mdx +38 -22
  226. package/.docs/raw/reference/vectors/libsql.mdx +35 -2
  227. package/.docs/raw/reference/vectors/mongodb.mdx +35 -2
  228. package/.docs/raw/reference/vectors/opensearch.mdx +37 -16
  229. package/.docs/raw/reference/vectors/pg.mdx +43 -36
  230. package/.docs/raw/reference/vectors/pinecone.mdx +48 -1
  231. package/.docs/raw/reference/vectors/qdrant.mdx +36 -1
  232. package/.docs/raw/reference/vectors/turbopuffer.mdx +74 -0
  233. package/.docs/raw/reference/voice/google.mdx +159 -20
  234. package/.docs/raw/reference/voice/openai-realtime.mdx +2 -2
  235. package/.docs/raw/reference/voice/voice.addInstructions.mdx +2 -3
  236. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  237. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  238. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  239. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  240. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  241. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  242. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  243. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  244. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  245. package/.docs/raw/reference/workflows/run-methods/resume.mdx +44 -0
  246. package/.docs/raw/reference/workflows/run-methods/start.mdx +44 -0
  247. package/.docs/raw/reference/workflows/run.mdx +13 -5
  248. package/.docs/raw/reference/workflows/step.mdx +13 -0
  249. package/.docs/raw/reference/workflows/workflow.mdx +19 -0
  250. package/.docs/raw/server-db/mastra-client.mdx +1 -2
  251. package/.docs/raw/server-db/mastra-server.mdx +30 -1
  252. package/.docs/raw/server-db/request-context.mdx +0 -1
  253. package/.docs/raw/server-db/storage.mdx +11 -0
  254. package/.docs/raw/streaming/overview.mdx +26 -15
  255. package/.docs/raw/streaming/tool-streaming.mdx +48 -5
  256. package/.docs/raw/streaming/workflow-streaming.mdx +5 -11
  257. package/.docs/raw/tools-mcp/advanced-usage.mdx +1 -2
  258. package/.docs/raw/tools-mcp/mcp-overview.mdx +3 -5
  259. package/.docs/raw/voice/overview.mdx +21 -41
  260. package/.docs/raw/voice/speech-to-speech.mdx +4 -4
  261. package/.docs/raw/voice/speech-to-text.mdx +1 -2
  262. package/.docs/raw/voice/text-to-speech.mdx +1 -2
  263. package/.docs/raw/workflows/control-flow.mdx +180 -0
  264. package/.docs/raw/workflows/error-handling.mdx +1 -0
  265. package/.docs/raw/workflows/human-in-the-loop.mdx +4 -4
  266. package/.docs/raw/workflows/overview.mdx +56 -44
  267. package/.docs/raw/workflows/snapshots.mdx +1 -0
  268. package/.docs/raw/workflows/suspend-and-resume.mdx +85 -16
  269. package/.docs/raw/workflows/time-travel.mdx +313 -0
  270. package/.docs/raw/workflows/workflow-state.mdx +191 -0
  271. package/CHANGELOG.md +18 -0
  272. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  273. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  274. package/dist/prepare-docs/prepare.js +1 -1
  275. package/dist/stdio.js +1 -1
  276. package/package.json +7 -7
  277. package/.docs/raw/agents/human-in-the-loop-with-tools.mdx +0 -90
  278. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -102
  279. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  280. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  281. package/.docs/raw/getting-started/quickstart.mdx +0 -27
  282. package/.docs/raw/getting-started/templates.mdx +0 -73
  283. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  284. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
  285. /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +0 -0
  286. /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/copilotkit.mdx +0 -0
@@ -13,13 +13,13 @@ The `createVectorQueryTool()` function creates a tool for semantic search over v
13
13
  ## Basic Usage
14
14
 
15
15
  ```typescript
16
- import { openai } from "@ai-sdk/openai";
17
16
  import { createVectorQueryTool } from "@mastra/rag";
17
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
18
18
 
19
19
  const queryTool = createVectorQueryTool({
20
20
  vectorStoreName: "pinecone",
21
21
  indexName: "docs",
22
- model: openai.embedding("text-embedding-3-small"),
22
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
23
23
  });
24
24
  ```
25
25
 
@@ -303,7 +303,7 @@ The tool determines the number of results to return based on the user's query, w
303
303
  const queryTool = createVectorQueryTool({
304
304
  vectorStoreName: "pinecone",
305
305
  indexName: "docs",
306
- model: openai.embedding("text-embedding-3-small"),
306
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
307
307
  enableFilter: true,
308
308
  });
309
309
  ```
@@ -334,9 +334,9 @@ For an example of how agent-driven filtering works, see the [Agent-Driven Metada
334
334
  const queryTool = createVectorQueryTool({
335
335
  vectorStoreName: "milvus",
336
336
  indexName: "documentation",
337
- model: openai.embedding("text-embedding-3-small"),
337
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
338
338
  reranker: {
339
- model: openai("gpt-4o-mini"),
339
+ model: "openai/gpt-5.1",
340
340
  options: {
341
341
  weights: {
342
342
  semantic: 0.5, // Semantic relevance weight
@@ -364,7 +364,7 @@ The reranker processes the initial vector search results and returns a reordered
364
364
  const queryTool = createVectorQueryTool({
365
365
  vectorStoreName: "pinecone",
366
366
  indexName: "docs",
367
- model: openai.embedding("text-embedding-3-small"),
367
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
368
368
  description:
369
369
  "Search through document archives to find relevant information for answering questions about company policies and procedures",
370
370
  });
@@ -384,7 +384,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
384
384
  const pineconeQueryTool = createVectorQueryTool({
385
385
  vectorStoreName: "pinecone",
386
386
  indexName: "docs",
387
- model: openai.embedding("text-embedding-3-small"),
387
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
388
388
  databaseConfig: {
389
389
  pinecone: {
390
390
  namespace: "production", // Organize vectors by environment
@@ -411,7 +411,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
411
411
  const pgVectorQueryTool = createVectorQueryTool({
412
412
  vectorStoreName: "postgres",
413
413
  indexName: "embeddings",
414
- model: openai.embedding("text-embedding-3-small"),
414
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
415
415
  databaseConfig: {
416
416
  pgvector: {
417
417
  minScore: 0.7, // Only return results above 70% similarity
@@ -437,7 +437,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
437
437
  const chromaQueryTool = createVectorQueryTool({
438
438
  vectorStoreName: "chroma",
439
439
  indexName: "documents",
440
- model: openai.embedding("text-embedding-3-small"),
440
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
441
441
  databaseConfig: {
442
442
  chroma: {
443
443
  where: { // Metadata filtering
@@ -467,7 +467,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
467
467
  const multiDbQueryTool = createVectorQueryTool({
468
468
  vectorStoreName: "dynamic-store", // Will be set at runtime
469
469
  indexName: "docs",
470
- model: openai.embedding("text-embedding-3-small"),
470
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
471
471
  databaseConfig: {
472
472
  pinecone: {
473
473
  namespace: "default"
@@ -501,7 +501,7 @@ import { RequestContext } from "@mastra/core/request-context";
501
501
  const queryTool = createVectorQueryTool({
502
502
  vectorStoreName: "pinecone",
503
503
  indexName: "docs",
504
- model: openai.embedding("text-embedding-3-small"),
504
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
505
505
  databaseConfig: {
506
506
  pinecone: {
507
507
  namespace: "development",
@@ -534,7 +534,7 @@ This approach allows you to:
534
534
  const queryTool = createVectorQueryTool({
535
535
  vectorStoreName: "pinecone",
536
536
  indexName: "docs",
537
- model: openai.embedding("text-embedding-3-small"),
537
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
538
538
  });
539
539
  ```
540
540
 
@@ -555,7 +555,7 @@ requestContext.set("filter", { category: "docs" });
555
555
  requestContext.set("databaseConfig", {
556
556
  pinecone: { namespace: "runtime-namespace" },
557
557
  });
558
- requestContext.set("model", openai.embedding("text-embedding-3-small"));
558
+ requestContext.set("model", "openai/text-embedding-3-small");
559
559
 
560
560
  const response = await agent.generate(
561
561
  "Find documentation from the knowledge base.",
@@ -575,7 +575,6 @@ For more information on request context, please see:
575
575
  The tool can be used by itself to retrieve documents matching a query:
576
576
 
577
577
  ```typescript copy showLineNumbers title="src/index.ts"
578
- import { openai } from "@ai-sdk/openai";
579
578
  import { RequestContext } from "@mastra/core/request-context";
580
579
  import { createVectorQueryTool } from "@mastra/rag";
581
580
  import { PgVector } from "@mastra/pg";
@@ -589,7 +588,7 @@ const vectorQueryTool = createVectorQueryTool({
589
588
  vectorStoreName: "pgVector", // optional since we're passing in a store
590
589
  vectorStore: pgVector,
591
590
  indexName: "embeddings",
592
- model: openai.embedding("text-embedding-3-small"),
591
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
593
592
  });
594
593
 
595
594
  const requestContext = new RequestContext();
@@ -335,6 +335,8 @@ interface IndexStats {
335
335
 
336
336
  ### updateVector()
337
337
 
338
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
339
+
338
340
  <PropertiesTable
339
341
  content={[
340
342
  {
@@ -345,7 +347,14 @@ interface IndexStats {
345
347
  {
346
348
  name: "id",
347
349
  type: "string",
348
- description: "ID of the vector to update",
350
+ isOptional: true,
351
+ description: "ID of the vector to update (mutually exclusive with filter)",
352
+ },
353
+ {
354
+ name: "filter",
355
+ type: "Record<string, any>",
356
+ isOptional: true,
357
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
349
358
  },
350
359
  {
351
360
  name: "update",
@@ -374,6 +383,24 @@ The `update` object can contain:
374
383
  ]}
375
384
  />
376
385
 
386
+ Example:
387
+
388
+ ```typescript
389
+ // Update by ID
390
+ await vectorStore.updateVector({
391
+ indexName: 'docs',
392
+ id: 'vec_123',
393
+ update: { metadata: { status: 'reviewed' } }
394
+ });
395
+
396
+ // Update by filter
397
+ await vectorStore.updateVector({
398
+ indexName: 'docs',
399
+ filter: { source_id: 'manual.pdf' },
400
+ update: { metadata: { version: 2 } }
401
+ });
402
+ ```
403
+
377
404
  ### deleteVector()
378
405
 
379
406
  <PropertiesTable
@@ -391,6 +418,59 @@ The `update` object can contain:
391
418
  ]}
392
419
  />
393
420
 
421
+ ### deleteVectors()
422
+
423
+ Delete multiple vectors by IDs or by metadata filter. This method enables bulk deletion and source-based vector management. Either `ids` or `filter` must be provided, but not both.
424
+
425
+ <PropertiesTable
426
+ content={[
427
+ {
428
+ name: "indexName",
429
+ type: "string",
430
+ description: "Name of the index containing the vectors to delete",
431
+ },
432
+ {
433
+ name: "ids",
434
+ type: "string[]",
435
+ isOptional: true,
436
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
437
+ },
438
+ {
439
+ name: "filter",
440
+ type: "Record<string, any>",
441
+ isOptional: true,
442
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
443
+ },
444
+ ]}
445
+ />
446
+
447
+ Example:
448
+
449
+ ```typescript
450
+ // Delete all chunks from a document
451
+ await vectorStore.deleteVectors({
452
+ indexName: 'docs',
453
+ filter: { source_id: 'manual.pdf' }
454
+ });
455
+
456
+ // Delete multiple vectors by ID
457
+ await vectorStore.deleteVectors({
458
+ indexName: 'docs',
459
+ ids: ['vec_1', 'vec_2', 'vec_3']
460
+ });
461
+
462
+ // Delete old temporary documents
463
+ await vectorStore.deleteVectors({
464
+ indexName: 'docs',
465
+ filter: {
466
+ $and: [
467
+ { bucket: 'temp' },
468
+ { indexed_at: { $lt: '2025-01-01' } }
469
+ ]
470
+ }
471
+ });
472
+ ```
473
+
394
474
  ## Response Types
395
475
 
396
476
  Query results are returned in this format:
@@ -0,0 +1,429 @@
1
+ ---
2
+ title: "Reference: Convex Vector Store | Vectors"
3
+ description: Documentation for the ConvexVector class in Mastra, which provides vector search using Convex.
4
+ ---
5
+
6
+ # Convex Vector Store
7
+
8
+ The ConvexVector class provides vector storage and similarity search using [Convex](https://convex.dev). It stores embeddings inside Convex and performs cosine similarity search.
9
+
10
+ ## Installation
11
+
12
+ ```bash copy
13
+ npm install @mastra/convex@beta
14
+ ```
15
+
16
+ ## Convex Setup
17
+
18
+ Before using `ConvexVector`, you need to set up the Convex schema and storage handler. See [Convex Storage Setup](../storage/convex#convex-setup) for setup instructions.
19
+
20
+ ## Constructor Options
21
+
22
+ <PropertiesTable
23
+ content={[
24
+ {
25
+ name: "deploymentUrl",
26
+ type: "string",
27
+ description: "Convex deployment URL (e.g., https://your-project.convex.cloud)",
28
+ isOptional: false,
29
+ },
30
+ {
31
+ name: "adminAuthToken",
32
+ type: "string",
33
+ description: "Convex admin authentication token",
34
+ isOptional: false,
35
+ },
36
+ {
37
+ name: "storageFunction",
38
+ type: "string",
39
+ description: "Path to the storage mutation function",
40
+ isOptional: true,
41
+ defaultValue: "mastra/storage:handle",
42
+ },
43
+ ]}
44
+ />
45
+
46
+ ## Constructor Examples
47
+
48
+ ### Basic Configuration
49
+
50
+ ```ts
51
+ import { ConvexVector } from "@mastra/convex";
52
+
53
+ const vectorStore = new ConvexVector({
54
+ id: 'convex-vectors',
55
+ deploymentUrl: "https://your-project.convex.cloud",
56
+ adminAuthToken: "your-admin-token",
57
+ });
58
+ ```
59
+
60
+ ### Custom Storage Function
61
+
62
+ ```ts
63
+ const vectorStore = new ConvexVector({
64
+ id: 'convex-vectors',
65
+ deploymentUrl: "https://your-project.convex.cloud",
66
+ adminAuthToken: "your-admin-token",
67
+ storageFunction: "custom/path:handler",
68
+ });
69
+ ```
70
+
71
+ ## Methods
72
+
73
+ ### createIndex()
74
+
75
+ <PropertiesTable
76
+ content={[
77
+ {
78
+ name: "indexName",
79
+ type: "string",
80
+ description: "Name of the index to create",
81
+ },
82
+ {
83
+ name: "dimension",
84
+ type: "number",
85
+ description: "Vector dimension (must match your embedding model)",
86
+ },
87
+ {
88
+ name: "metric",
89
+ type: "'cosine' | 'euclidean' | 'dotproduct'",
90
+ isOptional: true,
91
+ defaultValue: "cosine",
92
+ description: "Distance metric for similarity search (only cosine is currently supported)",
93
+ },
94
+ ]}
95
+ />
96
+
97
+ ```typescript copy
98
+ await vectorStore.createIndex({
99
+ indexName: "my_vectors",
100
+ dimension: 1536,
101
+ });
102
+ ```
103
+
104
+ ### upsert()
105
+
106
+ <PropertiesTable
107
+ content={[
108
+ {
109
+ name: "indexName",
110
+ type: "string",
111
+ description: "Name of the index to upsert vectors into",
112
+ },
113
+ {
114
+ name: "vectors",
115
+ type: "number[][]",
116
+ description: "Array of embedding vectors",
117
+ },
118
+ {
119
+ name: "metadata",
120
+ type: "Record<string, any>[]",
121
+ isOptional: true,
122
+ description: "Metadata for each vector",
123
+ },
124
+ {
125
+ name: "ids",
126
+ type: "string[]",
127
+ isOptional: true,
128
+ description: "Optional vector IDs (auto-generated if not provided)",
129
+ },
130
+ ]}
131
+ />
132
+
133
+ ```typescript copy
134
+ await vectorStore.upsert({
135
+ indexName: "my_vectors",
136
+ vectors: [[0.1, 0.2, 0.3, ...]],
137
+ metadata: [{ label: "example" }],
138
+ ids: ["vec-1"],
139
+ });
140
+ ```
141
+
142
+ ### query()
143
+
144
+ <PropertiesTable
145
+ content={[
146
+ {
147
+ name: "indexName",
148
+ type: "string",
149
+ description: "Name of the index to query",
150
+ },
151
+ {
152
+ name: "queryVector",
153
+ type: "number[]",
154
+ description: "Query vector",
155
+ },
156
+ {
157
+ name: "topK",
158
+ type: "number",
159
+ isOptional: true,
160
+ defaultValue: "10",
161
+ description: "Number of results to return",
162
+ },
163
+ {
164
+ name: "filter",
165
+ type: "Record<string, any>",
166
+ isOptional: true,
167
+ description: "Metadata filters",
168
+ },
169
+ {
170
+ name: "includeVector",
171
+ type: "boolean",
172
+ isOptional: true,
173
+ defaultValue: "false",
174
+ description: "Whether to include the vector in the result",
175
+ },
176
+ ]}
177
+ />
178
+
179
+ ```typescript copy
180
+ const results = await vectorStore.query({
181
+ indexName: "my_vectors",
182
+ queryVector: [0.1, 0.2, 0.3, ...],
183
+ topK: 5,
184
+ filter: { category: "documents" },
185
+ });
186
+ ```
187
+
188
+ ### listIndexes()
189
+
190
+ Returns an array of index names as strings.
191
+
192
+ ```typescript copy
193
+ const indexes = await vectorStore.listIndexes();
194
+ // ["my_vectors", "embeddings", ...]
195
+ ```
196
+
197
+ ### describeIndex()
198
+
199
+ <PropertiesTable
200
+ content={[
201
+ {
202
+ name: "indexName",
203
+ type: "string",
204
+ description: "Name of the index to describe",
205
+ },
206
+ ]}
207
+ />
208
+
209
+ Returns:
210
+
211
+ ```typescript copy
212
+ interface IndexStats {
213
+ dimension: number;
214
+ count: number;
215
+ metric: "cosine" | "euclidean" | "dotproduct";
216
+ }
217
+ ```
218
+
219
+ ### deleteIndex()
220
+
221
+ <PropertiesTable
222
+ content={[
223
+ {
224
+ name: "indexName",
225
+ type: "string",
226
+ description: "Name of the index to delete",
227
+ },
228
+ ]}
229
+ />
230
+
231
+ Deletes the index and all its vectors.
232
+
233
+ ```typescript copy
234
+ await vectorStore.deleteIndex({ indexName: "my_vectors" });
235
+ ```
236
+
237
+ ### updateVector()
238
+
239
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
240
+
241
+ <PropertiesTable
242
+ content={[
243
+ {
244
+ name: "indexName",
245
+ type: "string",
246
+ description: "Name of the index containing the vector",
247
+ },
248
+ {
249
+ name: "id",
250
+ type: "string",
251
+ isOptional: true,
252
+ description: "ID of the vector to update (mutually exclusive with filter)",
253
+ },
254
+ {
255
+ name: "filter",
256
+ type: "Record<string, any>",
257
+ isOptional: true,
258
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
259
+ },
260
+ {
261
+ name: "update",
262
+ type: "{ vector?: number[]; metadata?: Record<string, any>; }",
263
+ description: "Object containing the vector and/or metadata to update",
264
+ },
265
+ ]}
266
+ />
267
+
268
+ ```typescript copy
269
+ // Update by ID
270
+ await vectorStore.updateVector({
271
+ indexName: "my_vectors",
272
+ id: "vector123",
273
+ update: {
274
+ vector: [0.1, 0.2, 0.3],
275
+ metadata: { label: "updated" },
276
+ },
277
+ });
278
+
279
+ // Update by filter
280
+ await vectorStore.updateVector({
281
+ indexName: "my_vectors",
282
+ filter: { category: "product" },
283
+ update: {
284
+ metadata: { status: "reviewed" },
285
+ },
286
+ });
287
+ ```
288
+
289
+ ### deleteVector()
290
+
291
+ <PropertiesTable
292
+ content={[
293
+ {
294
+ name: "indexName",
295
+ type: "string",
296
+ description: "Name of the index containing the vector",
297
+ },
298
+ {
299
+ name: "id",
300
+ type: "string",
301
+ description: "ID of the vector to delete",
302
+ },
303
+ ]}
304
+ />
305
+
306
+ ```typescript copy
307
+ await vectorStore.deleteVector({ indexName: "my_vectors", id: "vector123" });
308
+ ```
309
+
310
+ ### deleteVectors()
311
+
312
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
313
+
314
+ <PropertiesTable
315
+ content={[
316
+ {
317
+ name: "indexName",
318
+ type: "string",
319
+ description: "Name of the index containing the vectors to delete",
320
+ },
321
+ {
322
+ name: "ids",
323
+ type: "string[]",
324
+ isOptional: true,
325
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
326
+ },
327
+ {
328
+ name: "filter",
329
+ type: "Record<string, any>",
330
+ isOptional: true,
331
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
332
+ },
333
+ ]}
334
+ />
335
+
336
+ ```typescript copy
337
+ // Delete by IDs
338
+ await vectorStore.deleteVectors({
339
+ indexName: "my_vectors",
340
+ ids: ["vec1", "vec2", "vec3"],
341
+ });
342
+
343
+ // Delete by filter
344
+ await vectorStore.deleteVectors({
345
+ indexName: "my_vectors",
346
+ filter: { status: "archived" },
347
+ });
348
+ ```
349
+
350
+ ## Response Types
351
+
352
+ Query results are returned in this format:
353
+
354
+ ```typescript copy
355
+ interface QueryResult {
356
+ id: string;
357
+ score: number;
358
+ metadata: Record<string, any>;
359
+ vector?: number[]; // Only included if includeVector is true
360
+ }
361
+ ```
362
+
363
+ ## Metadata Filtering
364
+
365
+ ConvexVector supports metadata filtering with various operators:
366
+
367
+ ```typescript copy
368
+ // Simple equality
369
+ const results = await vectorStore.query({
370
+ indexName: "my_vectors",
371
+ queryVector: embedding,
372
+ filter: { category: "documents" },
373
+ });
374
+
375
+ // Comparison operators
376
+ const results = await vectorStore.query({
377
+ indexName: "my_vectors",
378
+ queryVector: embedding,
379
+ filter: {
380
+ price: { $gt: 100 },
381
+ status: { $in: ["active", "pending"] },
382
+ },
383
+ });
384
+
385
+ // Logical operators
386
+ const results = await vectorStore.query({
387
+ indexName: "my_vectors",
388
+ queryVector: embedding,
389
+ filter: {
390
+ $and: [
391
+ { category: "electronics" },
392
+ { price: { $lte: 500 } },
393
+ ],
394
+ },
395
+ });
396
+ ```
397
+
398
+ ### Supported Filter Operators
399
+
400
+ | Operator | Description |
401
+ | -------- | ----------- |
402
+ | `$eq` | Equal to |
403
+ | `$ne` | Not equal to |
404
+ | `$gt` | Greater than |
405
+ | `$gte` | Greater than or equal |
406
+ | `$lt` | Less than |
407
+ | `$lte` | Less than or equal |
408
+ | `$in` | In array |
409
+ | `$nin` | Not in array |
410
+ | `$and` | Logical AND |
411
+ | `$or` | Logical OR |
412
+
413
+ ## Architecture
414
+
415
+ ConvexVector stores vectors in the `mastra_vectors` table with the following structure:
416
+
417
+ - `id`: Unique vector identifier
418
+ - `indexName`: Name of the index
419
+ - `embedding`: The vector data (array of floats)
420
+ - `metadata`: Optional JSON metadata
421
+
422
+ Vector similarity search is performed using cosine similarity, computed in the Convex function.
423
+
424
+ ## Related
425
+
426
+ - [Convex Storage](../storage/convex)
427
+ - [Metadata Filters](../rag/metadata-filters)
428
+ - [Convex Documentation](https://docs.convex.dev/)
429
+