@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
@@ -83,12 +83,8 @@ The simplest way is to use Mastra's model router with `provider/model` strings:
83
83
  import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
84
84
  import { embedMany } from "ai";
85
85
 
86
- const embeddingModel = new ModelRouterEmbeddingModel(
87
- "openai/text-embedding-3-small",
88
- );
89
-
90
86
  const { embeddings } = await embedMany({
91
- model: embeddingModel,
87
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
92
88
  values: chunks.map((chunk) => chunk.text),
93
89
  });
94
90
  ```
@@ -105,11 +101,11 @@ The model router automatically handles API key detection from environment variab
105
101
  You can also use AI SDK embedding models directly:
106
102
 
107
103
  ```ts showLineNumbers copy
108
- import { openai } from "@ai-sdk/openai";
109
104
  import { embedMany } from "ai";
105
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
110
106
 
111
107
  const { embeddings } = await embedMany({
112
- model: openai.embedding("text-embedding-3-small"),
108
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
113
109
  values: chunks.map((chunk) => chunk.text),
114
110
  });
115
111
  ```
@@ -129,19 +125,22 @@ Here are some supported models:
129
125
  OpenAI (text-embedding-3 models):
130
126
 
131
127
  ```ts
128
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
129
+
132
130
  const { embeddings } = await embedMany({
133
- model: openai.embedding("text-embedding-3-small", {
131
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
132
+ options: {
134
133
  dimensions: 256, // Only supported in text-embedding-3 and later
135
- }),
134
+ },
136
135
  values: chunks.map((chunk) => chunk.text),
137
136
  });
138
137
  ```
139
138
 
140
- Google (text-embedding-004):
139
+ Google (text-embedding-001):
141
140
 
142
141
  ```ts
143
142
  const { embeddings } = await embedMany({
144
- model: google.textEmbeddingModel("text-embedding-004", {
143
+ model: "google/gemini-embedding-001", {
145
144
  outputDimensionality: 256, // Truncates excessive values from the end
146
145
  }),
147
146
  values: chunks.map((chunk) => chunk.text),
@@ -158,8 +157,6 @@ Here's an example showing document processing and embedding generation with both
158
157
 
159
158
  ```ts showLineNumbers copy
160
159
  import { embedMany } from "ai";
161
- import { openai } from "@ai-sdk/openai";
162
- import { cohere } from "@ai-sdk/cohere";
163
160
 
164
161
  import { MDocument } from "@mastra/rag";
165
162
 
@@ -177,16 +174,18 @@ const chunks = await doc.chunk({
177
174
  });
178
175
 
179
176
  // Generate embeddings with OpenAI
180
- const { embeddings: openAIEmbeddings } = await embedMany({
181
- model: openai.embedding("text-embedding-3-small"),
177
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
178
+
179
+ const { embeddings } = await embedMany({
180
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
182
181
  values: chunks.map((chunk) => chunk.text),
183
182
  });
184
183
 
185
184
  // OR
186
185
 
187
186
  // Generate embeddings with Cohere
188
- const { embeddings: cohereEmbeddings } = await embedMany({
189
- model: cohere.embedding("embed-english-v3.0"),
187
+ const { embeddings } = await embedMany({
188
+ model: "cohere/embed-english-v3.0",
190
189
  values: chunks.map((chunk) => chunk.text),
191
190
  });
192
191
 
@@ -20,7 +20,6 @@ To implement RAG, you process your documents into chunks, create embeddings, sto
20
20
 
21
21
  ```ts showLineNumbers copy
22
22
  import { embedMany } from "ai";
23
- import { openai } from "@ai-sdk/openai";
24
23
  import { PgVector } from "@mastra/pg";
25
24
  import { MDocument } from "@mastra/rag";
26
25
  import { z } from "zod";
@@ -36,9 +35,11 @@ const chunks = await doc.chunk({
36
35
  });
37
36
 
38
37
  // 3. Generate embeddings; we need to pass the text of each chunk
38
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
39
+
39
40
  const { embeddings } = await embedMany({
40
41
  values: chunks.map((chunk) => chunk.text),
41
- model: openai.embedding("text-embedding-3-small"),
42
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small")
42
43
  });
43
44
 
44
45
  // 4. Store in vector database
@@ -27,14 +27,14 @@ Mastra provides flexible retrieval options with support for semantic search, fil
27
27
  The simplest approach is direct semantic search. This method uses vector similarity to find chunks that are semantically similar to the query:
28
28
 
29
29
  ```ts showLineNumbers copy
30
- import { openai } from "@ai-sdk/openai";
31
30
  import { embed } from "ai";
32
31
  import { PgVector } from "@mastra/pg";
32
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
33
33
 
34
34
  // Convert query to embedding
35
35
  const { embedding } = await embed({
36
36
  value: "What are the main points in the article?",
37
- model: openai.embedding("text-embedding-3-small"),
37
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
38
38
  });
39
39
 
40
40
  // Query vector store
@@ -52,6 +52,8 @@ const results = await pgVector.query({
52
52
  console.log(results);
53
53
  ```
54
54
 
55
+ The `topK` parameter specifies the maximum number of most similar results to return from the vector search.
56
+
55
57
  Results include both the text content and a similarity score:
56
58
 
57
59
  ```ts showLineNumbers copy
@@ -70,8 +72,6 @@ Results include both the text content and a similarity score:
70
72
  ];
71
73
  ```
72
74
 
73
- For an example of how to use the basic retrieval method, see the [Retrieve Results](/examples/v1/rag/query/retrieve-results) example.
74
-
75
75
  ## Advanced Retrieval options
76
76
 
77
77
  ### Metadata Filtering
@@ -156,7 +156,7 @@ Sometimes you want to give your agent the ability to query a vector database dir
156
156
  const vectorQueryTool = createVectorQueryTool({
157
157
  vectorStoreName: "pgVector",
158
158
  indexName: "embeddings",
159
- model: openai.embedding("text-embedding-3-small"),
159
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
160
160
  });
161
161
  ```
162
162
 
@@ -170,14 +170,21 @@ This is particularly useful when:
170
170
 
171
171
  #### Database-Specific Configurations
172
172
 
173
- The Vector Query Tool supports database-specific configurations that enable you to leverage unique features and optimizations of different vector stores:
173
+ The Vector Query Tool supports database-specific configurations that enable you to leverage unique features and optimizations of different vector stores.
174
+
175
+ :::note
176
+ These configurations are for **query-time options** like namespaces, performance tuning, and filtering—not for database connection setup.
177
+
178
+
179
+ Connection credentials (URLs, auth tokens) are configured when you instantiate the vector store class (e.g., `new LibSQLVector({ connectionUrl: '...' })`).
180
+ :::
174
181
 
175
182
  ```ts showLineNumbers copy
176
183
  // Pinecone with namespace
177
184
  const pineconeQueryTool = createVectorQueryTool({
178
185
  vectorStoreName: "pinecone",
179
186
  indexName: "docs",
180
- model: openai.embedding("text-embedding-3-small"),
187
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
181
188
  databaseConfig: {
182
189
  pinecone: {
183
190
  namespace: "production", // Isolate data by environment
@@ -189,7 +196,7 @@ const pineconeQueryTool = createVectorQueryTool({
189
196
  const pgVectorQueryTool = createVectorQueryTool({
190
197
  vectorStoreName: "postgres",
191
198
  indexName: "embeddings",
192
- model: openai.embedding("text-embedding-3-small"),
199
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
193
200
  databaseConfig: {
194
201
  pgvector: {
195
202
  minScore: 0.7, // Filter low-quality results
@@ -203,7 +210,7 @@ const pgVectorQueryTool = createVectorQueryTool({
203
210
  const chromaQueryTool = createVectorQueryTool({
204
211
  vectorStoreName: "chroma",
205
212
  indexName: "documents",
206
- model: openai.embedding("text-embedding-3-small"),
213
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
207
214
  databaseConfig: {
208
215
  chroma: {
209
216
  where: { category: "technical" },
@@ -216,7 +223,7 @@ const chromaQueryTool = createVectorQueryTool({
216
223
  const lanceQueryTool = createVectorQueryTool({
217
224
  vectorStoreName: "lance",
218
225
  indexName: "documents",
219
- model: openai.embedding("text-embedding-3-small"),
226
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
220
227
  databaseConfig: {
221
228
  lance: {
222
229
  tableName: "myVectors", // Specify which table to query
@@ -272,13 +279,12 @@ When implementing filtering, these prompts are required in the agent's instructi
272
279
  <TabItem value="pgvector" label="pgVector">
273
280
 
274
281
  ```ts showLineNumbers copy
275
- import { openai } from "@ai-sdk/openai";
276
282
  import { PGVECTOR_PROMPT } from "@mastra/pg";
277
283
 
278
284
  export const ragAgent = new Agent({
279
285
  id: "rag-agent",
280
286
  name: "RAG Agent",
281
- model: openai("gpt-4o-mini"),
287
+ model: "openai/gpt-5.1",
282
288
  instructions: `
283
289
  Process queries using the provided context. Structure responses to be concise and relevant.
284
290
  ${PGVECTOR_PROMPT}
@@ -292,13 +298,12 @@ export const ragAgent = new Agent({
292
298
  <TabItem value="pinecone" label="Pinecone">
293
299
 
294
300
  ```ts title="vector-store.ts" showLineNumbers copy
295
- import { openai } from "@ai-sdk/openai";
296
301
  import { PINECONE_PROMPT } from "@mastra/pinecone";
297
302
 
298
303
  export const ragAgent = new Agent({
299
304
  id: "rag-agent",
300
305
  name: "RAG Agent",
301
- model: openai("gpt-4o-mini"),
306
+ model: "openai/gpt-5.1",
302
307
  instructions: `
303
308
  Process queries using the provided context. Structure responses to be concise and relevant.
304
309
  ${PINECONE_PROMPT}
@@ -312,13 +317,12 @@ export const ragAgent = new Agent({
312
317
  <TabItem value="qdrant" label="Qdrant">
313
318
 
314
319
  ```ts title="vector-store.ts" showLineNumbers copy
315
- import { openai } from "@ai-sdk/openai";
316
320
  import { QDRANT_PROMPT } from "@mastra/qdrant";
317
321
 
318
322
  export const ragAgent = new Agent({
319
323
  id: "rag-agent",
320
324
  name: "RAG Agent",
321
- model: openai("gpt-4o-mini"),
325
+ model: "openai/gpt-5.1",
322
326
  instructions: `
323
327
  Process queries using the provided context. Structure responses to be concise and relevant.
324
328
  ${QDRANT_PROMPT}
@@ -332,13 +336,12 @@ export const ragAgent = new Agent({
332
336
  <TabItem value="chroma" label="Chroma">
333
337
 
334
338
  ```ts title="vector-store.ts" showLineNumbers copy
335
- import { openai } from "@ai-sdk/openai";
336
339
  import { CHROMA_PROMPT } from "@mastra/chroma";
337
340
 
338
341
  export const ragAgent = new Agent({
339
342
  id: "rag-agent",
340
343
  name: "RAG Agent",
341
- model: openai("gpt-4o-mini"),
344
+ model: "openai/gpt-5.1",
342
345
  instructions: `
343
346
  Process queries using the provided context. Structure responses to be concise and relevant.
344
347
  ${CHROMA_PROMPT}
@@ -352,13 +355,12 @@ export const ragAgent = new Agent({
352
355
  <TabItem value="astra" label="Astra">
353
356
 
354
357
  ```ts title="vector-store.ts" showLineNumbers copy
355
- import { openai } from "@ai-sdk/openai";
356
358
  import { ASTRA_PROMPT } from "@mastra/astra";
357
359
 
358
360
  export const ragAgent = new Agent({
359
361
  id: "rag-agent",
360
362
  name: "RAG Agent",
361
- model: openai("gpt-4o-mini"),
363
+ model: "openai/gpt-5.1",
362
364
  instructions: `
363
365
  Process queries using the provided context. Structure responses to be concise and relevant.
364
366
  ${ASTRA_PROMPT}
@@ -372,13 +374,12 @@ export const ragAgent = new Agent({
372
374
  <TabItem value="libsql" label="LibSQL">
373
375
 
374
376
  ```ts title="vector-store.ts" showLineNumbers copy
375
- import { openai } from "@ai-sdk/openai";
376
377
  import { LIBSQL_PROMPT } from "@mastra/libsql";
377
378
 
378
379
  export const ragAgent = new Agent({
379
380
  id: "rag-agent",
380
381
  name: "RAG Agent",
381
- model: openai("gpt-4o-mini"),
382
+ model: "openai/gpt-5.1",
382
383
  instructions: `
383
384
  Process queries using the provided context. Structure responses to be concise and relevant.
384
385
  ${LIBSQL_PROMPT}
@@ -392,13 +393,12 @@ export const ragAgent = new Agent({
392
393
  <TabItem value="upstash" label="Upstash">
393
394
 
394
395
  ```ts title="vector-store.ts" showLineNumbers copy
395
- import { openai } from "@ai-sdk/openai";
396
396
  import { UPSTASH_PROMPT } from "@mastra/upstash";
397
397
 
398
398
  export const ragAgent = new Agent({
399
399
  id: "rag-agent",
400
400
  name: "RAG Agent",
401
- model: openai("gpt-4o-mini"),
401
+ model: "openai/gpt-5.1",
402
402
  instructions: `
403
403
  Process queries using the provided context. Structure responses to be concise and relevant.
404
404
  ${UPSTASH_PROMPT}
@@ -412,13 +412,12 @@ export const ragAgent = new Agent({
412
412
  <TabItem value="vectorize" label="Vectorize">
413
413
 
414
414
  ```ts title="vector-store.ts" showLineNumbers copy
415
- import { openai } from "@ai-sdk/openai";
416
415
  import { VECTORIZE_PROMPT } from "@mastra/vectorize";
417
416
 
418
417
  export const ragAgent = new Agent({
419
418
  id: "rag-agent",
420
419
  name: "RAG Agent",
421
- model: openai("gpt-4o-mini"),
420
+ model: "openai/gpt-5.1",
422
421
  instructions: `
423
422
  Process queries using the provided context. Structure responses to be concise and relevant.
424
423
  ${VECTORIZE_PROMPT}
@@ -432,13 +431,12 @@ export const ragAgent = new Agent({
432
431
  <TabItem value="mongodb" label="MongoDB">
433
432
 
434
433
  ```ts title="vector-store.ts" showLineNumbers copy
435
- import { openai } from "@ai-sdk/openai";
436
434
  import { MONGODB_PROMPT } from "@mastra/mongodb";
437
435
 
438
436
  export const ragAgent = new Agent({
439
437
  id: "rag-agent",
440
438
  name: "RAG Agent",
441
- model: openai("gpt-4o-mini"),
439
+ model: "openai/gpt-5.1",
442
440
  instructions: `
443
441
  Process queries using the provided context. Structure responses to be concise and relevant.
444
442
  ${MONGODB_PROMPT}
@@ -452,13 +450,12 @@ export const ragAgent = new Agent({
452
450
  <TabItem value="opensearch" label="OpenSearch">
453
451
 
454
452
  ```ts title="vector-store.ts" showLineNumbers copy
455
- import { openai } from "@ai-sdk/openai";
456
453
  import { OPENSEARCH_PROMPT } from "@mastra/opensearch";
457
454
 
458
455
  export const ragAgent = new Agent({
459
456
  id: "rag-agent",
460
457
  name: "RAG Agent",
461
- model: openai("gpt-4o-mini"),
458
+ model: "openai/gpt-5.1",
462
459
  instructions: `
463
460
  Process queries using the provided context. Structure responses to be concise and relevant.
464
461
  ${OPENSEARCH_PROMPT}
@@ -472,13 +469,12 @@ export const ragAgent = new Agent({
472
469
  <TabItem value="s3vectors" label="S3Vectors">
473
470
 
474
471
  ```ts title="vector-store.ts" showLineNumbers copy
475
- import { openai } from "@ai-sdk/openai";
476
472
  import { S3VECTORS_PROMPT } from "@mastra/s3vectors";
477
473
 
478
474
  export const ragAgent = new Agent({
479
475
  id: "rag-agent",
480
476
  name: "RAG Agent",
481
- model: openai("gpt-4o-mini"),
477
+ model: "openai/gpt-5.1",
482
478
  instructions: `
483
479
  Process queries using the provided context. Structure responses to be concise and relevant.
484
480
  ${S3VECTORS_PROMPT}
@@ -502,7 +498,6 @@ Initial vector similarity search can sometimes miss nuanced relevance. Re-rankin
502
498
  Here's how to use re-ranking:
503
499
 
504
500
  ```ts showLineNumbers copy
505
- import { openai } from "@ai-sdk/openai";
506
501
  import {
507
502
  rerankWithScorer as rerank,
508
503
  MastraAgentRelevanceScorer
@@ -516,19 +511,31 @@ const initialResults = await pgVector.query({
516
511
  });
517
512
 
518
513
  // Create a relevance scorer
519
- const relevanceProvider = new MastraAgentRelevanceScorer('relevance-scorer', openai("gpt-4o-mini"));
514
+ const relevanceProvider = new MastraAgentRelevanceScorer('relevance-scorer', "openai/gpt-5.1");
520
515
 
521
516
  // Re-rank the results
522
517
  const rerankedResults = await rerank({
523
518
  results: initialResults,
524
519
  query,
525
- provider: relevanceProvider,
520
+ scorer: relevanceProvider,
526
521
  options: {
522
+ weights: {
523
+ semantic: 0.5, // How well the content matches the query semantically
524
+ vector: 0.3, // Original vector similarity score
525
+ position: 0.2, // Preserves original result ordering
526
+ },
527
527
  topK: 10,
528
528
  },
529
529
  );
530
530
  ```
531
531
 
532
+ The weights control how different factors influence the final ranking:
533
+
534
+ - `semantic`: Higher values prioritize semantic understanding and relevance to the query
535
+ - `vector`: Higher values favor the original vector similarity scores
536
+ - `position`: Higher values help maintain the original ordering of results
537
+
538
+
532
539
  > **Note:** For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
533
540
 
534
541
  You can also use other relevance score providers like Cohere or ZeroEntropy:
@@ -545,8 +552,6 @@ The re-ranked results combine vector similarity with semantic understanding to i
545
552
 
546
553
  For more details about re-ranking, see the [rerank()](/reference/v1/rag/rerankWithScorer) method.
547
554
 
548
- For an example of how to use the re-ranking method, see the Re-ranking Results example in the examples section.
549
-
550
555
  ### Graph-based Retrieval
551
556
 
552
557
  For documents with complex relationships, graph-based retrieval can follow connections between chunks. This helps when:
@@ -561,7 +566,7 @@ Example setup:
561
566
  const graphQueryTool = createGraphQueryTool({
562
567
  vectorStoreName: "pgVector",
563
568
  indexName: "embeddings",
564
- model: openai.embedding("text-embedding-3-small"),
569
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
565
570
  graphOptions: {
566
571
  threshold: 0.7,
567
572
  },
@@ -252,6 +252,27 @@ await store.createIndex({
252
252
  dimension: 1536,
253
253
  });
254
254
 
255
+ await store.upsert({
256
+ indexName: "my-collection",
257
+ vectors: embeddings,
258
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
259
+ });
260
+ ```
261
+
262
+ </TabItem>
263
+
264
+ <TabItem value="elasticsearch" label="ElasticSearch">
265
+
266
+ ```ts title="vector-store.ts" showLineNumbers copy
267
+ import { ElasticSearchVector } from "@mastra/elasticsearch";
268
+
269
+ const store = new ElasticSearchVector({ url: process.env.ELASTICSEARCH_URL });
270
+
271
+ await store.createIndex({
272
+ indexName: "my-collection",
273
+ dimension: 1536,
274
+ });
275
+
255
276
  await store.upsert({
256
277
  indexName: "my-collection",
257
278
  vectors: embeddings,
@@ -459,6 +480,20 @@ Each vector database enforces specific naming conventions for indexes and collec
459
480
  - Example: `My_Index` is not valid (contains uppercase letters)
460
481
  - Example: `_myindex` is not valid (begins with underscore)
461
482
  </TabItem>
483
+ <TabItem value="elasticsearch" label="ElasticSearch">
484
+ Index names must:
485
+ - Use only lowercase letters
486
+ - Not exceed 255 bytes (counting multi-byte characters)
487
+ - Not begin with underscores, hyphens, or plus signs
488
+ - Not contain spaces, commas
489
+ - Not contain special characters (e.g. `:`, `"`, `*`, `+`, `/`, `\`, `|`, `?`, `#`, `>`, `<`)
490
+ - Not be "." or ".."
491
+ - Not start with "." (deprecated except for system/hidden indices)
492
+ - Example: `my-index-123` is valid
493
+ - Example: `My_Index` is not valid (contains uppercase letters)
494
+ - Example: `_myindex` is not valid (begins with underscore)
495
+ - Example: `.myindex` is not valid (begins with dot, deprecated)
496
+ </TabItem>
462
497
  <TabItem value="s3vectors" label="S3 Vectors">
463
498
  Index names must:
464
499
  - Be unique within the same vector bucket
@@ -496,8 +531,6 @@ The upsert operation:
496
531
  - Creates new vectors if they don't exist
497
532
  - Automatically handles batching for large datasets
498
533
 
499
- For complete examples of upserting embeddings in different vector stores, see the [Upsert Embeddings](/examples/v1/rag/upsert/upsert-embeddings) guide.
500
-
501
534
  ## Adding Metadata
502
535
 
503
536
  Vector stores support rich metadata (any JSON-serializable fields) for filtering and organization. Since metadata is stored with no fixed schema, use consistent field naming to avoid unexpected query results.
@@ -536,6 +569,64 @@ Key metadata considerations:
536
569
  - Only include fields you plan to filter or sort by - extra fields add overhead
537
570
  - Add timestamps (e.g., 'createdAt', 'lastUpdated') to track content freshness
538
571
 
572
+ ## Deleting Vectors
573
+
574
+ When building RAG applications, you often need to clean up stale vectors when documents are deleted or updated. Mastra provides the `deleteVectors` method that supports deleting vectors by metadata filters, making it easy to remove all embeddings associated with a specific document.
575
+
576
+ ### Delete by Metadata Filter
577
+
578
+ The most common use case is deleting all vectors for a specific document when a user deletes it:
579
+
580
+ ```ts title="delete-vectors.ts" showLineNumbers copy
581
+ // Delete all vectors for a specific document
582
+ await store.deleteVectors({
583
+ indexName: "myCollection",
584
+ filter: { docId: "document-123" },
585
+ });
586
+ ```
587
+
588
+ This is particularly useful when:
589
+ - A user deletes a document and you need to remove all its chunks
590
+ - You're re-indexing a document and want to remove old vectors first
591
+ - You need to clean up vectors for a specific user or tenant
592
+
593
+ ### Delete Multiple Documents
594
+
595
+ You can also use complex filters to delete vectors matching multiple conditions:
596
+
597
+ ```ts title="delete-vectors-advanced.ts" showLineNumbers copy
598
+ // Delete all vectors for multiple documents
599
+ await store.deleteVectors({
600
+ indexName: "myCollection",
601
+ filter: {
602
+ docId: { $in: ["doc-1", "doc-2", "doc-3"] },
603
+ },
604
+ });
605
+
606
+ // Delete vectors for a specific user's documents
607
+ await store.deleteVectors({
608
+ indexName: "myCollection",
609
+ filter: {
610
+ $and: [
611
+ { userId: "user-123" },
612
+ { status: "archived" },
613
+ ],
614
+ },
615
+ });
616
+ ```
617
+
618
+ ### Delete by Vector IDs
619
+
620
+ If you have specific vector IDs to delete, you can pass them directly:
621
+
622
+ ```ts title="delete-by-ids.ts" showLineNumbers copy
623
+ // Delete specific vectors by their IDs
624
+ await store.deleteVectors({
625
+ indexName: "myCollection",
626
+ ids: ["vec-1", "vec-2", "vec-3"],
627
+ });
628
+ ```
629
+
539
630
  ## Best Practices
540
631
 
541
632
  - Create indexes before bulk insertions
@@ -12,7 +12,6 @@ The `Agent` class is the foundation for creating AI agents in Mastra. It provide
12
12
  ### Basic string instructions
13
13
 
14
14
  ```typescript title="src/mastra/agents/string-agent.ts" showLineNumbers copy
15
- import { openai } from "@ai-sdk/openai";
16
15
  import { Agent } from "@mastra/core/agent";
17
16
 
18
17
  // String instructions
@@ -20,7 +19,7 @@ export const agent = new Agent({
20
19
  id: "test-agent",
21
20
  name: "Test Agent",
22
21
  instructions: "You are a helpful assistant that provides concise answers.",
23
- model: openai("gpt-4o"),
22
+ model: "openai/gpt-5.1",
24
23
  });
25
24
 
26
25
  // System message object
@@ -31,7 +30,7 @@ export const agent2 = new Agent({
31
30
  role: "system",
32
31
  content: "You are an expert programmer",
33
32
  },
34
- model: openai("gpt-4o"),
33
+ model: "openai/gpt-5.1",
35
34
  });
36
35
 
37
36
  // Array of system messages
@@ -42,7 +41,7 @@ export const agent3 = new Agent({
42
41
  { role: "system", content: "You are a helpful assistant" },
43
42
  { role: "system", content: "You have expertise in TypeScript" },
44
43
  ],
45
- model: openai("gpt-4o"),
44
+ model: "openai/gpt-5.1",
46
45
  });
47
46
  ```
48
47
 
@@ -51,7 +50,6 @@ export const agent3 = new Agent({
51
50
  Use CoreSystemMessage format to access additional properties like `providerOptions` for provider-specific configurations:
52
51
 
53
52
  ```typescript title="src/mastra/agents/core-message-agent.ts" showLineNumbers copy
54
- import { openai } from "@ai-sdk/openai";
55
53
  import { Agent } from "@mastra/core/agent";
56
54
 
57
55
  export const agent = new Agent({
@@ -67,14 +65,13 @@ export const agent = new Agent({
67
65
  },
68
66
  },
69
67
  },
70
- model: openai("gpt-5"),
68
+ model: "openai/gpt-5.1",
71
69
  });
72
70
  ```
73
71
 
74
72
  ### Multiple CoreSystemMessages
75
73
 
76
74
  ```typescript title="src/mastra/agents/multi-message-agent.ts" showLineNumbers copy
77
- import { anthropic } from "@ai-sdk/anthropic";
78
75
  import { Agent } from "@mastra/core/agent";
79
76
 
80
77
  // This could be customizable based on the user
@@ -97,7 +94,7 @@ export const agent = new Agent({
97
94
  },
98
95
  },
99
96
  ],
100
- model: anthropic("claude-sonnet-4-20250514"),
97
+ model: "anthropic/claude-sonnet-4-20250514",
101
98
  });
102
99
  ```
103
100
 
@@ -129,8 +126,8 @@ export const agent = new Agent({
129
126
  name: "instructions",
130
127
  type: "SystemMessage | ({ requestContext: RequestContext }) => SystemMessage | Promise<SystemMessage>",
131
128
  isOptional: false,
132
- description: `Instructions that guide the agent's behavior. Can be a string, array of strings, system message object,
133
- array of system messages, or a function that returns any of these types dynamically.
129
+ description: `Instructions that guide the agent's behavior. Can be a string, array of strings, system message object,
130
+ array of system messages, or a function that returns any of these types dynamically.
134
131
  SystemMessage types: string | string[] | CoreSystemMessage | CoreSystemMessage[] | SystemModelMessage | SystemModelMessage[]`,
135
132
  },
136
133
  {