@mastra/mcp-docs-server 1.0.0-beta.11 → 1.0.0-beta.14

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 (345) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +29 -29
  2. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
  3. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +45 -45
  4. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +180 -180
  5. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +39 -39
  6. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +39 -39
  7. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +68 -0
  8. package/.docs/organized/changelogs/%40mastra%2Fcore.md +331 -331
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +31 -31
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
  12. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +39 -39
  13. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
  14. package/.docs/organized/changelogs/%40mastra%2Flance.md +39 -39
  15. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +45 -45
  16. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +24 -24
  17. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +24 -24
  18. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +39 -39
  19. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +39 -39
  20. package/.docs/organized/changelogs/%40mastra%2Fpg.md +45 -45
  21. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +96 -96
  22. package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
  23. package/.docs/organized/changelogs/%40mastra%2Freact.md +49 -2
  24. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fserver.md +122 -122
  26. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +39 -39
  27. package/.docs/organized/changelogs/create-mastra.md +31 -31
  28. package/.docs/organized/changelogs/mastra.md +51 -51
  29. package/.docs/organized/code-examples/agent-v6.md +151 -0
  30. package/.docs/organized/code-examples/ai-elements.md +1 -1
  31. package/.docs/organized/code-examples/quick-start.md +0 -4
  32. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  33. package/.docs/raw/agents/adding-voice.mdx +2 -3
  34. package/.docs/raw/agents/agent-approval.mdx +139 -6
  35. package/.docs/raw/agents/agent-memory.mdx +24 -32
  36. package/.docs/raw/agents/guardrails.mdx +61 -51
  37. package/.docs/raw/agents/networks.mdx +9 -13
  38. package/.docs/raw/agents/overview.mdx +40 -24
  39. package/.docs/raw/agents/processors.mdx +20 -19
  40. package/.docs/raw/agents/structured-output.mdx +11 -7
  41. package/.docs/raw/agents/using-tools.mdx +5 -6
  42. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  43. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  44. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  45. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  46. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  47. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  48. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  49. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  50. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -2
  51. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  52. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  53. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +3 -4
  54. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -3
  55. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +2 -3
  56. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -2
  57. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +2 -3
  58. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  59. package/.docs/raw/deployment/cloud-providers.mdx +20 -0
  60. package/.docs/raw/deployment/{building-mastra.mdx → mastra-server.mdx} +5 -5
  61. package/.docs/raw/deployment/monorepo.mdx +23 -44
  62. package/.docs/raw/deployment/overview.mdx +32 -50
  63. package/.docs/raw/deployment/web-framework.mdx +15 -19
  64. package/.docs/raw/evals/custom-scorers.mdx +9 -6
  65. package/.docs/raw/evals/overview.mdx +3 -6
  66. package/.docs/raw/evals/running-in-ci.mdx +2 -2
  67. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  68. package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
  69. package/.docs/raw/getting-started/start.mdx +10 -1
  70. package/.docs/raw/getting-started/studio.mdx +1 -1
  71. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
  72. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1033 -79
  73. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  74. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
  75. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  76. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  77. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  78. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  79. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +12 -15
  80. package/.docs/raw/guides/deployment/index.mdx +32 -0
  81. package/.docs/raw/guides/deployment/inngest.mdx +386 -0
  82. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  83. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  84. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  85. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  86. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  87. package/.docs/raw/guides/getting-started/next-js.mdx +170 -61
  88. package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
  89. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  90. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  91. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  92. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  93. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  94. package/.docs/raw/guides/guide/research-assistant.mdx +17 -17
  95. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  96. package/.docs/raw/guides/guide/web-search.mdx +8 -8
  97. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  98. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  99. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
  100. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +17 -0
  101. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +6 -0
  102. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
  103. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  104. package/.docs/raw/index.mdx +2 -2
  105. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/dashboard.mdx +2 -6
  106. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/observability.mdx +1 -5
  107. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/overview.mdx +2 -6
  108. package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/setting-up.mdx +8 -7
  109. package/.docs/raw/mcp/overview.mdx +31 -13
  110. package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
  111. package/.docs/raw/memory/memory-processors.mdx +9 -9
  112. package/.docs/raw/memory/message-history.mdx +69 -0
  113. package/.docs/raw/memory/overview.mdx +34 -76
  114. package/.docs/raw/memory/semantic-recall.mdx +58 -49
  115. package/.docs/raw/memory/storage.mdx +188 -0
  116. package/.docs/raw/memory/working-memory.mdx +7 -7
  117. package/.docs/raw/observability/logging.mdx +10 -11
  118. package/.docs/raw/observability/overview.mdx +0 -1
  119. package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
  120. package/.docs/raw/observability/tracing/exporters/cloud.mdx +1 -1
  121. package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
  122. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
  123. package/.docs/raw/observability/tracing/overview.mdx +23 -25
  124. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
  125. package/.docs/raw/rag/chunking-and-embedding.mdx +18 -31
  126. package/.docs/raw/rag/graph-rag.mdx +220 -0
  127. package/.docs/raw/rag/overview.mdx +2 -3
  128. package/.docs/raw/rag/retrieval.mdx +34 -51
  129. package/.docs/raw/rag/vector-databases.mdx +29 -25
  130. package/.docs/raw/reference/agents/agent.mdx +3 -3
  131. package/.docs/raw/reference/agents/generate.mdx +1 -1
  132. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  133. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +3 -3
  134. package/.docs/raw/reference/agents/getDefaultOptions.mdx +3 -3
  135. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +3 -3
  136. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  137. package/.docs/raw/reference/agents/getInstructions.mdx +3 -3
  138. package/.docs/raw/reference/agents/getLLM.mdx +3 -3
  139. package/.docs/raw/reference/agents/getMemory.mdx +3 -3
  140. package/.docs/raw/reference/agents/getModel.mdx +3 -3
  141. package/.docs/raw/reference/agents/getTools.mdx +2 -2
  142. package/.docs/raw/reference/agents/getVoice.mdx +2 -2
  143. package/.docs/raw/reference/agents/listAgents.mdx +2 -2
  144. package/.docs/raw/reference/agents/listScorers.mdx +3 -3
  145. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  146. package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
  147. package/.docs/raw/reference/agents/network.mdx +1 -1
  148. package/.docs/raw/reference/ai-sdk/chat-route.mdx +3 -3
  149. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +2 -2
  150. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +2 -2
  151. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +2 -2
  152. package/.docs/raw/reference/ai-sdk/network-route.mdx +3 -3
  153. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
  154. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +127 -0
  155. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +107 -0
  156. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
  157. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +3 -3
  158. package/.docs/raw/reference/auth/auth0.mdx +2 -3
  159. package/.docs/raw/reference/auth/clerk.mdx +2 -3
  160. package/.docs/raw/reference/auth/firebase.mdx +3 -5
  161. package/.docs/raw/reference/auth/jwt.mdx +2 -3
  162. package/.docs/raw/reference/auth/supabase.mdx +2 -3
  163. package/.docs/raw/reference/auth/workos.mdx +2 -3
  164. package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
  165. package/.docs/raw/reference/cli/mastra.mdx +10 -10
  166. package/.docs/raw/reference/client-js/agents.mdx +1 -2
  167. package/.docs/raw/reference/client-js/mastra-client.mdx +2 -2
  168. package/.docs/raw/reference/client-js/workflows.mdx +20 -0
  169. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  170. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  171. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  172. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  173. package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
  174. package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
  175. package/.docs/raw/reference/core/getMemory.mdx +2 -2
  176. package/.docs/raw/reference/core/getServer.mdx +3 -3
  177. package/.docs/raw/reference/core/getStorage.mdx +2 -2
  178. package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
  179. package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
  180. package/.docs/raw/reference/core/getVector.mdx +1 -1
  181. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  182. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  183. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  184. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  185. package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
  186. package/.docs/raw/reference/core/listMemory.mdx +2 -2
  187. package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
  188. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  189. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  190. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  191. package/.docs/raw/reference/core/setStorage.mdx +2 -2
  192. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  193. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
  194. package/.docs/raw/reference/deployer/deployer.mdx +0 -1
  195. package/.docs/raw/reference/deployer/netlify.mdx +1 -1
  196. package/.docs/raw/reference/deployer/vercel.mdx +2 -4
  197. package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
  198. package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
  199. package/.docs/raw/reference/evals/bias.mdx +1 -1
  200. package/.docs/raw/reference/evals/completeness.mdx +1 -1
  201. package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
  202. package/.docs/raw/reference/evals/context-precision.mdx +1 -1
  203. package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
  204. package/.docs/raw/reference/evals/hallucination.mdx +1 -1
  205. package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
  206. package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
  207. package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
  208. package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
  209. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
  210. package/.docs/raw/reference/evals/toxicity.mdx +1 -1
  211. package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
  212. package/.docs/raw/reference/memory/createThread.mdx +2 -2
  213. package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
  214. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
  215. package/.docs/raw/reference/memory/memory-class.mdx +3 -3
  216. package/.docs/raw/reference/memory/query.mdx +2 -2
  217. package/.docs/raw/reference/memory/recall.mdx +2 -2
  218. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
  219. package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
  220. package/.docs/raw/reference/processors/language-detector.mdx +2 -2
  221. package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
  222. package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
  223. package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
  224. package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
  225. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
  226. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
  227. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
  228. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  229. package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
  230. package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
  231. package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
  232. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  233. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  234. package/.docs/raw/reference/rag/extract-params.mdx +2 -2
  235. package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
  236. package/.docs/raw/reference/server/create-route.mdx +14 -14
  237. package/.docs/raw/reference/server/express-adapter.mdx +10 -11
  238. package/.docs/raw/reference/server/hono-adapter.mdx +10 -11
  239. package/.docs/raw/reference/server/mastra-server.mdx +22 -22
  240. package/.docs/raw/reference/server/routes.mdx +28 -1
  241. package/.docs/raw/reference/storage/cloudflare-d1.mdx +3 -3
  242. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  243. package/.docs/raw/reference/storage/convex.mdx +6 -6
  244. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  245. package/.docs/raw/reference/storage/lance.mdx +3 -3
  246. package/.docs/raw/reference/storage/libsql.mdx +69 -54
  247. package/.docs/raw/reference/storage/mongodb.mdx +80 -7
  248. package/.docs/raw/reference/storage/mssql.mdx +4 -4
  249. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +13 -111
  250. package/.docs/raw/reference/storage/postgresql.mdx +78 -7
  251. package/.docs/raw/reference/storage/upstash.mdx +74 -2
  252. package/.docs/raw/reference/streaming/agents/stream.mdx +27 -5
  253. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
  254. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
  255. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
  256. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -22
  257. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
  258. package/.docs/raw/reference/templates/overview.mdx +1 -2
  259. package/.docs/raw/reference/tools/create-tool.mdx +24 -5
  260. package/.docs/raw/reference/tools/graph-rag-tool.mdx +3 -3
  261. package/.docs/raw/reference/tools/vector-query-tool.mdx +4 -4
  262. package/.docs/raw/reference/vectors/astra.mdx +3 -3
  263. package/.docs/raw/reference/vectors/chroma.mdx +3 -3
  264. package/.docs/raw/reference/vectors/convex.mdx +12 -12
  265. package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
  266. package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
  267. package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
  268. package/.docs/raw/reference/vectors/lance.mdx +4 -4
  269. package/.docs/raw/reference/vectors/libsql.mdx +61 -11
  270. package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
  271. package/.docs/raw/reference/vectors/pg.mdx +53 -6
  272. package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
  273. package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
  274. package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
  275. package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
  276. package/.docs/raw/reference/vectors/upstash.mdx +55 -6
  277. package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
  278. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
  279. package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
  280. package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
  281. package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
  282. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +143 -0
  283. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
  284. package/.docs/raw/reference/workflows/run.mdx +1 -1
  285. package/.docs/raw/reference/workflows/step.mdx +3 -3
  286. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  287. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  288. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +37 -2
  289. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  290. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  291. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
  292. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
  293. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  294. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
  295. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
  296. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
  297. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  298. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
  299. package/.docs/raw/reference/workflows/workflow.mdx +17 -3
  300. package/.docs/raw/{auth → server/auth}/auth0.mdx +20 -14
  301. package/.docs/raw/{auth → server/auth}/clerk.mdx +16 -9
  302. package/.docs/raw/{auth → server/auth}/firebase.mdx +21 -15
  303. package/.docs/raw/{auth → server/auth}/index.mdx +6 -6
  304. package/.docs/raw/{auth → server/auth}/jwt.mdx +14 -7
  305. package/.docs/raw/{auth → server/auth}/supabase.mdx +16 -9
  306. package/.docs/raw/{auth → server/auth}/workos.mdx +19 -13
  307. package/.docs/raw/{server-db → server}/custom-adapters.mdx +13 -13
  308. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +3 -5
  309. package/.docs/raw/{server-db → server}/mastra-client.mdx +26 -15
  310. package/.docs/raw/{server-db → server}/mastra-server.mdx +8 -8
  311. package/.docs/raw/{server-db → server}/middleware.mdx +9 -9
  312. package/.docs/raw/{server-db → server}/request-context.mdx +33 -32
  313. package/.docs/raw/{server-db → server}/server-adapters.mdx +12 -12
  314. package/.docs/raw/streaming/events.mdx +14 -7
  315. package/.docs/raw/streaming/overview.mdx +21 -10
  316. package/.docs/raw/streaming/tool-streaming.mdx +6 -6
  317. package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
  318. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  319. package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
  320. package/.docs/raw/tools-mcp/overview.mdx +10 -11
  321. package/.docs/raw/voice/overview.mdx +1 -1
  322. package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
  323. package/.docs/raw/workflows/control-flow.mdx +27 -40
  324. package/.docs/raw/workflows/error-handling.mdx +172 -18
  325. package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
  326. package/.docs/raw/workflows/inngest-workflow.mdx +8 -9
  327. package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
  328. package/.docs/raw/workflows/overview.mdx +34 -23
  329. package/.docs/raw/workflows/snapshots.mdx +14 -44
  330. package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
  331. package/.docs/raw/workflows/time-travel.mdx +16 -16
  332. package/.docs/raw/workflows/workflow-state.mdx +5 -8
  333. package/CHANGELOG.md +23 -0
  334. package/dist/logger.d.ts +3 -0
  335. package/dist/logger.d.ts.map +1 -1
  336. package/dist/stdio.js +53 -0
  337. package/package.json +4 -4
  338. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  339. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  340. package/.docs/raw/memory/conversation-history.mdx +0 -24
  341. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  342. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  343. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  344. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  345. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
@@ -0,0 +1,220 @@
1
+ ---
2
+ title: "GraphRAG | RAG"
3
+ description: Guide on graph-based retrieval in Mastra's RAG systems for documents with complex relationships.
4
+ ---
5
+
6
+ # GraphRAG
7
+
8
+ Graph-based retrieval enhances traditional vector search by following relationships between chunks of information. This approach is useful when information is spread across multiple documents or when documents reference each other.
9
+
10
+ ## When to use GraphRAG
11
+
12
+ GraphRAG is particularly effective when:
13
+
14
+ - Information is spread across multiple documents
15
+ - Documents reference each other
16
+ - You need to traverse relationships to find complete answers
17
+ - Understanding connections between concepts is important
18
+ - Simple vector similarity misses important contextual relationships
19
+
20
+ For straightforward semantic search without relationship traversal, use [standard retrieval methods](/docs/v1/rag/retrieval).
21
+
22
+ ## How GraphRAG works
23
+
24
+ GraphRAG combines vector similarity with knowledge graph traversal:
25
+
26
+ 1. Initial vector search retrieves relevant chunks based on semantic similarity
27
+ 2. A knowledge graph is constructed from the retrieved chunks
28
+ 3. The graph is traversed to find connected information
29
+ 4. Results include both directly relevant chunks and related content
30
+
31
+ This process helps surface information that might not be semantically similar to the query but is contextually relevant through connections.
32
+
33
+ ## Creating a graph query tool
34
+
35
+ The Graph Query Tool provides agents with the ability to perform graph-based retrieval:
36
+
37
+ ```ts
38
+ import { createGraphRAGTool } from "@mastra/rag";
39
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
40
+
41
+ const graphQueryTool = createGraphRAGTool({
42
+ vectorStoreName: "pgVector",
43
+ indexName: "embeddings",
44
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
45
+ graphOptions: {
46
+ threshold: 0.7,
47
+ },
48
+ });
49
+ ```
50
+
51
+ ### Configuration options
52
+
53
+ The `graphOptions` parameter controls how the knowledge graph is built and traversed:
54
+
55
+ - `threshold`: Similarity threshold (0-1) for determining which chunks are related. Higher values create sparser graphs with stronger connections; lower values create denser graphs with more potential relationships.
56
+ - `dimension`: Vector embedding dimension. Must match the embedding model's output dimension (e.g., 1536 for OpenAI's text-embedding-3-small).
57
+
58
+ ```ts
59
+ const graphQueryTool = createGraphRAGTool({
60
+ vectorStoreName: "pgVector",
61
+ indexName: "embeddings",
62
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
63
+ graphOptions: {
64
+ dimension: 1536,
65
+ threshold: 0.7,
66
+ },
67
+ });
68
+ ```
69
+
70
+ ## Using GraphRAG with agents
71
+
72
+ Integrate the graph query tool with an agent to enable graph-based retrieval:
73
+
74
+ ```ts
75
+ import { Agent } from "@mastra/core/agent";
76
+
77
+ const ragAgent = new Agent({
78
+ id: "rag-agent",
79
+ name: "GraphRAG Agent",
80
+ instructions: `You are a helpful assistant that answers questions based on the provided context.
81
+ When answering questions, use the graph query tool to find relevant information and relationships.
82
+ Base your answers on the context provided by the tool, and clearly state if the context doesn't contain enough information.`,
83
+ model: "openai/gpt-5.1",
84
+ tools: {
85
+ graphQueryTool,
86
+ },
87
+ });
88
+ ```
89
+
90
+ ## Document processing and storage
91
+
92
+ Before using graph-based retrieval, process documents into chunks and store their embeddings:
93
+
94
+ ```ts
95
+ import { MDocument } from "@mastra/rag";
96
+ import { embedMany } from "ai";
97
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
98
+
99
+ // Create and chunk document
100
+ const doc = MDocument.fromText("Your document content here...");
101
+
102
+ const chunks = await doc.chunk({
103
+ strategy: "recursive",
104
+ size: 512,
105
+ overlap: 50,
106
+ separator: "\n",
107
+ });
108
+
109
+ // Generate embeddings
110
+ const { embeddings } = await embedMany({
111
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
112
+ values: chunks.map((chunk) => chunk.text),
113
+ });
114
+
115
+ // Store in vector database
116
+ const vectorStore = mastra.getVector("pgVector");
117
+ await vectorStore.createIndex({
118
+ indexName: "embeddings",
119
+ dimension: 1536,
120
+ });
121
+ await vectorStore.upsert({
122
+ indexName: "embeddings",
123
+ vectors: embeddings,
124
+ metadata: chunks?.map((chunk) => ({ text: chunk.text })),
125
+ });
126
+ ```
127
+
128
+ ## Querying with GraphRAG
129
+
130
+ Once configured, the agent can perform graph-based queries:
131
+
132
+ ```ts
133
+ const query = "What are the effects of infrastructure changes on local businesses?";
134
+ const response = await ragAgent.generate(query);
135
+ console.log(response.text);
136
+ ```
137
+
138
+ The agent uses the graph query tool to:
139
+
140
+ 1. Convert the query to an embedding
141
+ 2. Find semantically similar chunks in the vector store
142
+ 3. Build a knowledge graph from related chunks
143
+ 4. Traverse the graph to find connected information
144
+ 5. Return comprehensive context for generating the response
145
+
146
+ ## Choosing the right threshold
147
+
148
+ The threshold parameter significantly impacts retrieval quality:
149
+
150
+ - **High threshold (0.8-0.9)**: Strict connections, fewer relationships, more precise but potentially incomplete results
151
+ - **Medium threshold (0.6-0.8)**: Balanced approach, good for most use cases
152
+ - **Low threshold (0.4-0.6)**: More connections, broader context, risk of including less relevant information
153
+
154
+ Start with 0.7 and adjust based on your specific use case:
155
+
156
+ ```ts
157
+ // Strict connections for precise answers
158
+ const strictGraphTool = createGraphRAGTool({
159
+ vectorStoreName: "pgVector",
160
+ indexName: "embeddings",
161
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
162
+ graphOptions: {
163
+ threshold: 0.85,
164
+ },
165
+ });
166
+
167
+ // Broader connections for exploratory queries
168
+ const broadGraphTool = createGraphRAGTool({
169
+ vectorStoreName: "pgVector",
170
+ indexName: "embeddings",
171
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
172
+ graphOptions: {
173
+ threshold: 0.5,
174
+ },
175
+ });
176
+ ```
177
+
178
+ ## Combining with other retrieval methods
179
+
180
+ GraphRAG can be used alongside other retrieval approaches:
181
+
182
+ ```ts
183
+ import { createVectorQueryTool } from "@mastra/rag";
184
+
185
+ const vectorQueryTool = createVectorQueryTool({
186
+ vectorStoreName: "pgVector",
187
+ indexName: "embeddings",
188
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
189
+ });
190
+
191
+ const graphQueryTool = createGraphRAGTool({
192
+ vectorStoreName: "pgVector",
193
+ indexName: "embeddings",
194
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
195
+ graphOptions: {
196
+ threshold: 0.7,
197
+ },
198
+ });
199
+
200
+ const agent = new Agent({
201
+ id: "rag-agent",
202
+ name: "RAG Agent",
203
+ instructions: `Use vector search for simple fact-finding queries.
204
+ Use graph search when you need to understand relationships or find connected information.`,
205
+ model: "openai/gpt-5.1",
206
+ tools: {
207
+ vectorQueryTool,
208
+ graphQueryTool,
209
+ },
210
+ });
211
+ ```
212
+
213
+ This gives the agent flexibility to choose the appropriate retrieval method based on the query.
214
+
215
+ ## Reference
216
+
217
+ For detailed API documentation, see:
218
+
219
+ - [GraphRAG Class](/reference/v1/rag/graph-rag)
220
+ - [createGraphRAGTool()](/reference/v1/tools/graph-rag-tool)
@@ -18,7 +18,7 @@ Mastra's RAG system provides:
18
18
 
19
19
  To implement RAG, you process your documents into chunks, create embeddings, store them in a vector database, and then retrieve relevant context at query time.
20
20
 
21
- ```ts showLineNumbers copy
21
+ ```ts
22
22
  import { embedMany } from "ai";
23
23
  import { PgVector } from "@mastra/pg";
24
24
  import { MDocument } from "@mastra/rag";
@@ -74,5 +74,4 @@ Mastra supports multiple vector stores for embedding persistence and similarity
74
74
 
75
75
  ## More resources
76
76
 
77
- - [Chain of Thought RAG Example](/examples/v1/rag/usage/cot-rag)
78
- - [All RAG Examples](/examples/v1/) (including different chunking strategies, embedding models, and vector stores)
77
+ - [Chain of Thought RAG Example](https://github.com/mastra-ai/mastra/tree/main/examples/basics/rag/cot-rag)
@@ -26,7 +26,7 @@ Mastra provides flexible retrieval options with support for semantic search, fil
26
26
 
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
- ```ts showLineNumbers copy
29
+ ```ts
30
30
  import { embed } from "ai";
31
31
  import { PgVector } from "@mastra/pg";
32
32
  import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
@@ -56,7 +56,7 @@ The `topK` parameter specifies the maximum number of most similar results to ret
56
56
 
57
57
  Results include both the text content and a similarity score:
58
58
 
59
- ```ts showLineNumbers copy
59
+ ```ts
60
60
  [
61
61
  {
62
62
  text: "Climate change poses significant challenges...",
@@ -68,7 +68,6 @@ Results include both the text content and a similarity score:
68
68
  score: 0.82,
69
69
  metadata: { source: "article1.txt" },
70
70
  },
71
- // ... more results
72
71
  ];
73
72
  ```
74
73
 
@@ -76,13 +75,15 @@ Results include both the text content and a similarity score:
76
75
 
77
76
  ### Metadata Filtering
78
77
 
79
- Filter results based on metadata fields to narrow down the search space. This is useful when you have documents from different sources, time periods, or with specific attributes. Mastra provides a unified MongoDB-style query syntax that works across all supported vector stores.
78
+ Filter results based on metadata fields to narrow down the search space. This approach - combining vector similarity search with metadata filters - is sometimes called hybrid vector search, as it merges semantic search with structured filtering criteria.
79
+
80
+ This is useful when you have documents from different sources, time periods, or with specific attributes. Mastra provides a unified MongoDB-style query syntax that works across all supported vector stores.
80
81
 
81
82
  For detailed information about available operators and syntax, see the [Metadata Filters Reference](/reference/v1/rag/metadata-filters).
82
83
 
83
84
  Basic filtering examples:
84
85
 
85
- ```ts showLineNumbers copy
86
+ ```ts
86
87
  // Simple equality filter
87
88
  const results = await pgVector.query({
88
89
  indexName: "embeddings",
@@ -146,13 +147,14 @@ Common use cases for metadata filtering:
146
147
  - Combine multiple conditions for precise querying
147
148
  - Filter by document attributes (e.g., language, author)
148
149
 
149
- For an example of how to use metadata filtering, see the [Hybrid Vector Search](/examples/v1/rag/query/hybrid-vector-search) example.
150
-
151
150
  ### Vector Query Tool
152
151
 
153
152
  Sometimes you want to give your agent the ability to query a vector database directly. The Vector Query Tool allows your agent to be in charge of retrieval decisions, combining semantic search with optional filtering and reranking based on the agent's understanding of the user's needs.
154
153
 
155
- ```ts showLineNumbers copy
154
+ ```ts
155
+ import { createVectorQueryTool } from "@mastra/rag";
156
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
157
+
156
158
  const vectorQueryTool = createVectorQueryTool({
157
159
  vectorStoreName: "pgVector",
158
160
  indexName: "embeddings",
@@ -179,7 +181,10 @@ These configurations are for **query-time options** like namespaces, performance
179
181
  Connection credentials (URLs, auth tokens) are configured when you instantiate the vector store class (e.g., `new LibSQLVector({ connectionUrl: '...' })`).
180
182
  :::
181
183
 
182
- ```ts showLineNumbers copy
184
+ ```ts
185
+ import { createVectorQueryTool } from "@mastra/rag";
186
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
187
+
183
188
  // Pinecone with namespace
184
189
  const pineconeQueryTool = createVectorQueryTool({
185
190
  vectorStoreName: "pinecone",
@@ -251,7 +256,7 @@ const lanceQueryTool = createVectorQueryTool({
251
256
 
252
257
  You can also override these configurations at runtime using the request context:
253
258
 
254
- ```ts showLineNumbers copy
259
+ ```ts
255
260
  import { RequestContext } from "@mastra/core/request-context";
256
261
 
257
262
  const requestContext = new RequestContext();
@@ -278,7 +283,7 @@ When implementing filtering, these prompts are required in the agent's instructi
278
283
  <Tabs>
279
284
  <TabItem value="pgvector" label="pgVector">
280
285
 
281
- ```ts showLineNumbers copy
286
+ ```ts
282
287
  import { PGVECTOR_PROMPT } from "@mastra/pg";
283
288
 
284
289
  export const ragAgent = new Agent({
@@ -297,7 +302,7 @@ export const ragAgent = new Agent({
297
302
 
298
303
  <TabItem value="pinecone" label="Pinecone">
299
304
 
300
- ```ts title="vector-store.ts" showLineNumbers copy
305
+ ```ts title="vector-store.ts"
301
306
  import { PINECONE_PROMPT } from "@mastra/pinecone";
302
307
 
303
308
  export const ragAgent = new Agent({
@@ -316,7 +321,7 @@ export const ragAgent = new Agent({
316
321
 
317
322
  <TabItem value="qdrant" label="Qdrant">
318
323
 
319
- ```ts title="vector-store.ts" showLineNumbers copy
324
+ ```ts title="vector-store.ts"
320
325
  import { QDRANT_PROMPT } from "@mastra/qdrant";
321
326
 
322
327
  export const ragAgent = new Agent({
@@ -335,7 +340,7 @@ export const ragAgent = new Agent({
335
340
 
336
341
  <TabItem value="chroma" label="Chroma">
337
342
 
338
- ```ts title="vector-store.ts" showLineNumbers copy
343
+ ```ts title="vector-store.ts"
339
344
  import { CHROMA_PROMPT } from "@mastra/chroma";
340
345
 
341
346
  export const ragAgent = new Agent({
@@ -354,7 +359,7 @@ export const ragAgent = new Agent({
354
359
 
355
360
  <TabItem value="astra" label="Astra">
356
361
 
357
- ```ts title="vector-store.ts" showLineNumbers copy
362
+ ```ts title="vector-store.ts"
358
363
  import { ASTRA_PROMPT } from "@mastra/astra";
359
364
 
360
365
  export const ragAgent = new Agent({
@@ -371,9 +376,9 @@ export const ragAgent = new Agent({
371
376
 
372
377
  </TabItem>
373
378
 
374
- <TabItem value="libsql" label="LibSQL">
379
+ <TabItem value="libsql" label="libSQL">
375
380
 
376
- ```ts title="vector-store.ts" showLineNumbers copy
381
+ ```ts title="vector-store.ts"
377
382
  import { LIBSQL_PROMPT } from "@mastra/libsql";
378
383
 
379
384
  export const ragAgent = new Agent({
@@ -392,7 +397,7 @@ export const ragAgent = new Agent({
392
397
 
393
398
  <TabItem value="upstash" label="Upstash">
394
399
 
395
- ```ts title="vector-store.ts" showLineNumbers copy
400
+ ```ts title="vector-store.ts"
396
401
  import { UPSTASH_PROMPT } from "@mastra/upstash";
397
402
 
398
403
  export const ragAgent = new Agent({
@@ -411,7 +416,7 @@ export const ragAgent = new Agent({
411
416
 
412
417
  <TabItem value="vectorize" label="Vectorize">
413
418
 
414
- ```ts title="vector-store.ts" showLineNumbers copy
419
+ ```ts title="vector-store.ts"
415
420
  import { VECTORIZE_PROMPT } from "@mastra/vectorize";
416
421
 
417
422
  export const ragAgent = new Agent({
@@ -430,7 +435,7 @@ export const ragAgent = new Agent({
430
435
 
431
436
  <TabItem value="mongodb" label="MongoDB">
432
437
 
433
- ```ts title="vector-store.ts" showLineNumbers copy
438
+ ```ts title="vector-store.ts"
434
439
  import { MONGODB_PROMPT } from "@mastra/mongodb";
435
440
 
436
441
  export const ragAgent = new Agent({
@@ -449,7 +454,7 @@ export const ragAgent = new Agent({
449
454
 
450
455
  <TabItem value="opensearch" label="OpenSearch">
451
456
 
452
- ```ts title="vector-store.ts" showLineNumbers copy
457
+ ```ts title="vector-store.ts"
453
458
  import { OPENSEARCH_PROMPT } from "@mastra/opensearch";
454
459
 
455
460
  export const ragAgent = new Agent({
@@ -468,7 +473,7 @@ export const ragAgent = new Agent({
468
473
 
469
474
  <TabItem value="s3vectors" label="S3Vectors">
470
475
 
471
- ```ts title="vector-store.ts" showLineNumbers copy
476
+ ```ts title="vector-store.ts"
472
477
  import { S3VECTORS_PROMPT } from "@mastra/s3vectors";
473
478
 
474
479
  export const ragAgent = new Agent({
@@ -497,7 +502,7 @@ Initial vector similarity search can sometimes miss nuanced relevance. Re-rankin
497
502
 
498
503
  Here's how to use re-ranking:
499
504
 
500
- ```ts showLineNumbers copy
505
+ ```ts
501
506
  import {
502
507
  rerankWithScorer as rerank,
503
508
  MastraAgentRelevanceScorer
@@ -535,16 +540,17 @@ The weights control how different factors influence the final ranking:
535
540
  - `vector`: Higher values favor the original vector similarity scores
536
541
  - `position`: Higher values help maintain the original ordering of results
537
542
 
538
-
539
- > **Note:** For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
543
+ :::note
544
+ For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
545
+ :::
540
546
 
541
547
  You can also use other relevance score providers like Cohere or ZeroEntropy:
542
548
 
543
- ```ts showLineNumbers copy
549
+ ```ts
544
550
  const relevanceProvider = new CohereRelevanceScorer("rerank-v3.5");
545
551
  ```
546
552
 
547
- ```ts showLineNumbers copy
553
+ ```ts
548
554
  const relevanceProvider = new ZeroEntropyRelevanceScorer("zerank-1");
549
555
  ```
550
556
 
@@ -552,27 +558,4 @@ The re-ranked results combine vector similarity with semantic understanding to i
552
558
 
553
559
  For more details about re-ranking, see the [rerank()](/reference/v1/rag/rerankWithScorer) method.
554
560
 
555
- ### Graph-based Retrieval
556
-
557
- For documents with complex relationships, graph-based retrieval can follow connections between chunks. This helps when:
558
-
559
- - Information is spread across multiple documents
560
- - Documents reference each other
561
- - You need to traverse relationships to find complete answers
562
-
563
- Example setup:
564
-
565
- ```ts showLineNumbers copy
566
- const graphQueryTool = createGraphQueryTool({
567
- vectorStoreName: "pgVector",
568
- indexName: "embeddings",
569
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
570
- graphOptions: {
571
- threshold: 0.7,
572
- },
573
- });
574
- ```
575
-
576
- For more details about graph-based retrieval, see the [GraphRAG](/reference/v1/rag/graph-rag) class and the [createGraphQueryTool()](/reference/v1/tools/graph-rag-tool) function.
577
-
578
- For an example of how to use the graph-based retrieval method, see the [Graph-based Retrieval](/examples/v1/rag/usage/graph-rag) example.
561
+ For graph-based retrieval that follows connections between chunks, see the [GraphRAG](/docs/v1/rag/graph-rag) documentation.
@@ -15,7 +15,7 @@ After generating embeddings, you need to store them in a database that supports
15
15
  <Tabs>
16
16
  <TabItem value="mongodb" label="MongoDB">
17
17
 
18
- ```ts title="vector-store.ts" showLineNumbers copy
18
+ ```ts title="vector-store.ts"
19
19
  import { MongoDBVector } from "@mastra/mongodb";
20
20
 
21
21
  const store = new MongoDBVector({
@@ -41,7 +41,7 @@ For detailed setup instructions and best practices, see the [official MongoDB At
41
41
 
42
42
  <TabItem value="pg-vector" label="PgVector">
43
43
 
44
- ```ts title="vector-store.ts" showLineNumbers copy
44
+ ```ts title="vector-store.ts"
45
45
  import { PgVector } from "@mastra/pg";
46
46
 
47
47
  const store = new PgVector({
@@ -70,7 +70,7 @@ For detailed setup instructions and best practices, see the [official pgvector r
70
70
 
71
71
  <TabItem value="pinecone" label="Pinecone">
72
72
 
73
- ```ts title="vector-store.ts" showLineNumbers copy
73
+ ```ts title="vector-store.ts"
74
74
  import { PineconeVector } from "@mastra/pinecone";
75
75
 
76
76
  const store = new PineconeVector({
@@ -92,7 +92,7 @@ await store.upsert({
92
92
 
93
93
  <TabItem value="qdrant" label="Qdrant">
94
94
 
95
- ```ts title="vector-store.ts" showLineNumbers copy
95
+ ```ts title="vector-store.ts"
96
96
  import { QdrantVector } from "@mastra/qdrant";
97
97
 
98
98
  const store = new QdrantVector({
@@ -117,7 +117,7 @@ await store.upsert({
117
117
 
118
118
  <TabItem value="chroma" label="Chroma">
119
119
 
120
- ```ts title="vector-store.ts" showLineNumbers copy
120
+ ```ts title="vector-store.ts"
121
121
  import { ChromaVector } from "@mastra/chroma";
122
122
 
123
123
  // Running Chroma locally
@@ -147,7 +147,7 @@ await store.upsert({
147
147
 
148
148
  <TabItem value="astra" label="Astra">
149
149
 
150
- ```ts title="vector-store.ts" showLineNumbers copy
150
+ ```ts title="vector-store.ts"
151
151
  import { AstraVector } from "@mastra/astra";
152
152
 
153
153
  const store = new AstraVector({
@@ -170,9 +170,9 @@ await store.upsert({
170
170
 
171
171
  </TabItem>
172
172
 
173
- <TabItem value="libsql" label="LibSQL">
173
+ <TabItem value="libsql" label="libSQL">
174
174
 
175
- ```ts title="vector-store.ts" showLineNumbers copy
175
+ ```ts title="vector-store.ts"
176
176
  import { LibSQLVector } from "@mastra/core/vector/libsql";
177
177
 
178
178
  const store = new LibSQLVector({
@@ -197,7 +197,7 @@ await store.upsert({
197
197
 
198
198
  <TabItem value="upstash" label="Upstash">
199
199
 
200
- ```ts title="vector-store.ts" showLineNumbers copy
200
+ ```ts title="vector-store.ts"
201
201
  import { UpstashVector } from "@mastra/upstash";
202
202
 
203
203
  // In upstash they refer to the store as an index
@@ -220,7 +220,7 @@ await store.upsert({
220
220
 
221
221
  <TabItem value="cloudflare" label="Cloudflare">
222
222
 
223
- ```ts title="vector-store.ts" showLineNumbers copy
223
+ ```ts title="vector-store.ts"
224
224
  import { CloudflareVector } from "@mastra/vectorize";
225
225
 
226
226
  const store = new CloudflareVector({
@@ -242,7 +242,7 @@ await store.upsert({
242
242
 
243
243
  <TabItem value="opensearch" label="OpenSearch">
244
244
 
245
- ```ts title="vector-store.ts" showLineNumbers copy
245
+ ```ts title="vector-store.ts"
246
246
  import { OpenSearchVector } from "@mastra/opensearch";
247
247
 
248
248
  const store = new OpenSearchVector({ url: process.env.OPENSEARCH_URL });
@@ -263,7 +263,7 @@ await store.upsert({
263
263
 
264
264
  <TabItem value="elasticsearch" label="ElasticSearch">
265
265
 
266
- ```ts title="vector-store.ts" showLineNumbers copy
266
+ ```ts title="vector-store.ts"
267
267
  import { ElasticSearchVector } from "@mastra/elasticsearch";
268
268
 
269
269
  const store = new ElasticSearchVector({ url: process.env.ELASTICSEARCH_URL });
@@ -283,7 +283,7 @@ await store.upsert({
283
283
  </TabItem>
284
284
  <TabItem value="couchbase" label="Couchbase">
285
285
 
286
- ```ts title="vector-store.ts" showLineNumbers copy
286
+ ```ts title="vector-store.ts"
287
287
  import { CouchbaseVector } from "@mastra/couchbase";
288
288
 
289
289
  const store = new CouchbaseVector({
@@ -308,7 +308,7 @@ await store.upsert({
308
308
  </TabItem>
309
309
  <TabItem value="lancedb" label="Lance">
310
310
 
311
- ```ts title="vector-store.ts" showLineNumbers copy
311
+ ```ts title="vector-store.ts"
312
312
  import { LanceVectorStore } from "@mastra/lance";
313
313
 
314
314
  const store = await LanceVectorStore.create("/path/to/db");
@@ -334,7 +334,7 @@ For detailed setup instructions and best practices, see the [official LanceDB do
334
334
  </TabItem>
335
335
  <TabItem value="s3vectors" label="S3 Vectors">
336
336
 
337
- ```ts title="vector-store.ts" showLineNumbers copy
337
+ ```ts title="vector-store.ts"
338
338
  import { S3Vectors } from "@mastra/s3vectors";
339
339
 
340
340
  const store = new S3Vectors({
@@ -368,7 +368,7 @@ Once initialized, all vector stores share the same interface for creating indexe
368
368
 
369
369
  Before storing embeddings, you need to create an index with the appropriate dimension size for your embedding model:
370
370
 
371
- ```ts title="store-embeddings.ts" showLineNumbers copy
371
+ ```ts title="store-embeddings.ts"
372
372
  // Create an index with dimension 1536 (for text-embedding-3-small)
373
373
  await store.createIndex({
374
374
  indexName: "myCollection",
@@ -380,9 +380,11 @@ The dimension size must match the output dimension of your chosen embedding mode
380
380
 
381
381
  - OpenAI text-embedding-3-small: 1536 dimensions (or custom, e.g., 256)
382
382
  - Cohere embed-multilingual-v3: 1024 dimensions
383
- - Google `text-embedding-004`: 768 dimensions (or custom)
383
+ - Google text-embedding-004: 768 dimensions (or custom)
384
384
 
385
- > **Important**: Index dimensions cannot be changed after creation. To use a different model, delete and recreate the index with the new dimension size.
385
+ :::important
386
+ Index dimensions cannot be changed after creation. To use a different model, delete and recreate the index with the new dimension size.
387
+ :::
386
388
 
387
389
  ### Naming Rules for Databases
388
390
 
@@ -443,7 +445,7 @@ Each vector database enforces specific naming conventions for indexes and collec
443
445
  - Example: `my_collection_123` is valid
444
446
  - Example: `my-collection` is not valid (contains hyphen)
445
447
  </TabItem>
446
- <TabItem value="libsql" label="LibSQL">
448
+ <TabItem value="libsql" label="libSQL">
447
449
  Index names must:
448
450
  - Start with a letter or underscore
449
451
  - Contain only letters, numbers, and underscores
@@ -512,7 +514,7 @@ Each vector database enforces specific naming conventions for indexes and collec
512
514
 
513
515
  After creating an index, you can store embeddings along with their basic metadata:
514
516
 
515
- ```ts title="store-embeddings.ts" showLineNumbers copy
517
+ ```ts title="store-embeddings.ts"
516
518
  // Store embeddings with their corresponding metadata
517
519
  await store.upsert({
518
520
  indexName: "myCollection", // index name
@@ -535,9 +537,11 @@ The upsert operation:
535
537
 
536
538
  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.
537
539
 
538
- **Important**: Metadata is crucial for vector storage - without it, you'd only have numerical embeddings with no way to return the original text or filter results. Always store at least the source text as metadata.
540
+ :::important
541
+ Metadata is crucial for vector storage - without it, you'd only have numerical embeddings with no way to return the original text or filter results. Always store at least the source text as metadata.
542
+ :::
539
543
 
540
- ```ts showLineNumbers copy
544
+ ```ts
541
545
  // Store embeddings with rich metadata for better organization and filtering
542
546
  await store.upsert({
543
547
  indexName: "myCollection",
@@ -577,7 +581,7 @@ When building RAG applications, you often need to clean up stale vectors when do
577
581
 
578
582
  The most common use case is deleting all vectors for a specific document when a user deletes it:
579
583
 
580
- ```ts title="delete-vectors.ts" showLineNumbers copy
584
+ ```ts title="delete-vectors.ts"
581
585
  // Delete all vectors for a specific document
582
586
  await store.deleteVectors({
583
587
  indexName: "myCollection",
@@ -594,7 +598,7 @@ This is particularly useful when:
594
598
 
595
599
  You can also use complex filters to delete vectors matching multiple conditions:
596
600
 
597
- ```ts title="delete-vectors-advanced.ts" showLineNumbers copy
601
+ ```ts title="delete-vectors-advanced.ts"
598
602
  // Delete all vectors for multiple documents
599
603
  await store.deleteVectors({
600
604
  indexName: "myCollection",
@@ -619,7 +623,7 @@ await store.deleteVectors({
619
623
 
620
624
  If you have specific vector IDs to delete, you can pass them directly:
621
625
 
622
- ```ts title="delete-by-ids.ts" showLineNumbers copy
626
+ ```ts title="delete-by-ids.ts"
623
627
  // Delete specific vectors by their IDs
624
628
  await store.deleteVectors({
625
629
  indexName: "myCollection",