@mastra/core 1.6.0 → 1.7.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-IHDE4CJV.js → chunk-6NRSTTAS.js} +80 -11
  7. package/dist/chunk-6NRSTTAS.js.map +1 -0
  8. package/dist/{chunk-4WG5K4CK.js → chunk-6RTFK6XW.js} +7 -7
  9. package/dist/{chunk-4WG5K4CK.js.map → chunk-6RTFK6XW.js.map} +1 -1
  10. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  11. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  12. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  13. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  14. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  15. package/dist/chunk-GPJGPARM.js.map +1 -0
  16. package/dist/{chunk-VJWRJWSC.cjs → chunk-HYU6AULN.cjs} +85 -15
  17. package/dist/chunk-HYU6AULN.cjs.map +1 -0
  18. package/dist/{chunk-DGS2KGDI.js → chunk-HZ33YLNC.js} +6 -5
  19. package/dist/chunk-HZ33YLNC.js.map +1 -0
  20. package/dist/{chunk-3U3XFMGJ.cjs → chunk-N435UBEN.cjs} +13 -8
  21. package/dist/chunk-N435UBEN.cjs.map +1 -0
  22. package/dist/{chunk-5VQPSWPG.cjs → chunk-NAUBU4SI.cjs} +48 -48
  23. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-NAUBU4SI.cjs.map} +1 -1
  24. package/dist/{chunk-MWGGSA5Q.js → chunk-NHYSIYTD.js} +10 -5
  25. package/dist/chunk-NHYSIYTD.js.map +1 -0
  26. package/dist/{chunk-RZNHRIM7.cjs → chunk-OL4P6TXG.cjs} +5 -5
  27. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-OL4P6TXG.cjs.map} +1 -1
  28. package/dist/{chunk-XWZAKKFT.cjs → chunk-S3JIVN4S.cjs} +14 -14
  29. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-S3JIVN4S.cjs.map} +1 -1
  30. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  31. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  32. package/dist/{chunk-LNKS4TJ6.cjs → chunk-T4KRCLC3.cjs} +8 -7
  33. package/dist/chunk-T4KRCLC3.cjs.map +1 -0
  34. package/dist/{chunk-RHKNKJNM.js → chunk-WBVBORCZ.js} +4 -4
  35. package/dist/{chunk-RHKNKJNM.js.map → chunk-WBVBORCZ.js.map} +1 -1
  36. package/dist/{chunk-YM6245EM.js → chunk-WR5RUKVK.js} +3 -3
  37. package/dist/{chunk-YM6245EM.js.map → chunk-WR5RUKVK.js.map} +1 -1
  38. package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
  39. package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
  40. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  41. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  42. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  43. package/dist/datasets/index.cjs +17 -17
  44. package/dist/datasets/index.js +2 -2
  45. package/dist/evals/index.cjs +20 -20
  46. package/dist/evals/index.js +3 -3
  47. package/dist/evals/scoreTraces/index.cjs +7 -6
  48. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  49. package/dist/evals/scoreTraces/index.js +4 -3
  50. package/dist/evals/scoreTraces/index.js.map +1 -1
  51. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  52. package/dist/harness/harness.d.ts +21 -1
  53. package/dist/harness/harness.d.ts.map +1 -1
  54. package/dist/harness/index.cjs +422 -5
  55. package/dist/harness/index.cjs.map +1 -1
  56. package/dist/harness/index.d.ts +2 -1
  57. package/dist/harness/index.d.ts.map +1 -1
  58. package/dist/harness/index.js +418 -3
  59. package/dist/harness/index.js.map +1 -1
  60. package/dist/harness/types.d.ts +151 -0
  61. package/dist/harness/types.d.ts.map +1 -1
  62. package/dist/index.cjs +2 -2
  63. package/dist/index.js +1 -1
  64. package/dist/loop/index.cjs +12 -12
  65. package/dist/loop/index.js +1 -1
  66. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  67. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  68. package/dist/mastra/hooks.d.ts.map +1 -1
  69. package/dist/mastra/index.cjs +2 -2
  70. package/dist/mastra/index.js +1 -1
  71. package/dist/memory/index.cjs +14 -14
  72. package/dist/memory/index.js +1 -1
  73. package/dist/processor-provider/index.cjs +10 -10
  74. package/dist/processor-provider/index.js +1 -1
  75. package/dist/processors/index.cjs +45 -41
  76. package/dist/processors/index.js +1 -1
  77. package/dist/processors/processors/index.d.ts +1 -0
  78. package/dist/processors/processors/index.d.ts.map +1 -1
  79. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  80. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  81. package/dist/relevance/index.cjs +3 -3
  82. package/dist/relevance/index.js +1 -1
  83. package/dist/storage/constants.cjs +56 -56
  84. package/dist/storage/constants.d.ts.map +1 -1
  85. package/dist/storage/constants.js +1 -1
  86. package/dist/storage/index.cjs +160 -160
  87. package/dist/storage/index.js +2 -2
  88. package/dist/storage/types.d.ts +2 -0
  89. package/dist/storage/types.d.ts.map +1 -1
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  91. package/dist/stream/index.cjs +8 -8
  92. package/dist/stream/index.js +1 -1
  93. package/dist/tool-loop-agent/index.cjs +4 -4
  94. package/dist/tool-loop-agent/index.js +1 -1
  95. package/dist/vector/index.cjs +7 -7
  96. package/dist/vector/index.js +1 -1
  97. package/dist/workflows/evented/index.cjs +10 -10
  98. package/dist/workflows/evented/index.js +1 -1
  99. package/dist/workflows/index.cjs +25 -25
  100. package/dist/workflows/index.js +1 -1
  101. package/dist/workspace/constants/index.d.ts +2 -0
  102. package/dist/workspace/constants/index.d.ts.map +1 -1
  103. package/dist/workspace/errors.d.ts +1 -1
  104. package/dist/workspace/errors.d.ts.map +1 -1
  105. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  107. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  108. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  109. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  110. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  111. package/dist/workspace/filesystem/index.d.ts +1 -0
  112. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  113. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  115. package/dist/workspace/index.cjs +72 -64
  116. package/dist/workspace/index.d.ts +3 -2
  117. package/dist/workspace/index.d.ts.map +1 -1
  118. package/dist/workspace/index.js +1 -1
  119. package/dist/workspace/lifecycle.d.ts +1 -9
  120. package/dist/workspace/lifecycle.d.ts.map +1 -1
  121. package/dist/workspace/sandbox/index.d.ts +2 -0
  122. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  123. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  124. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  125. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  126. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  127. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  129. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  131. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  133. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  135. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  136. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  137. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  139. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  141. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  143. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  144. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  145. package/dist/workspace/sandbox/types.d.ts +9 -2
  146. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  147. package/dist/workspace/sandbox/utils.d.ts +7 -0
  148. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  149. package/dist/workspace/tools/execute-command.d.ts +53 -2
  150. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  151. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  152. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  153. package/dist/workspace/tools/index.d.ts +4 -1
  154. package/dist/workspace/tools/index.d.ts.map +1 -1
  155. package/dist/workspace/tools/kill-process.d.ts +4 -0
  156. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  157. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  158. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  159. package/dist/workspace/tools/tools.d.ts.map +1 -1
  160. package/dist/workspace/types.d.ts +31 -0
  161. package/dist/workspace/types.d.ts.map +1 -1
  162. package/dist/workspace/utils.d.ts +11 -0
  163. package/dist/workspace/utils.d.ts.map +1 -0
  164. package/dist/workspace/workspace.d.ts +36 -0
  165. package/dist/workspace/workspace.d.ts.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  168. package/dist/chunk-5K45E5VE.js.map +0 -1
  169. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  170. package/dist/chunk-DGS2KGDI.js.map +0 -1
  171. package/dist/chunk-IHDE4CJV.js.map +0 -1
  172. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  173. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  174. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  175. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  176. package/dist/chunk-XB3DA67Q.js.map +0 -1
  177. package/dist/docs/SKILL.md +0 -301
  178. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  179. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  180. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  181. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  182. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  183. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  184. package/dist/docs/references/docs-agents-networks.md +0 -290
  185. package/dist/docs/references/docs-agents-overview.md +0 -309
  186. package/dist/docs/references/docs-agents-processors.md +0 -632
  187. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  188. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  189. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  190. package/dist/docs/references/docs-evals-overview.md +0 -146
  191. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  192. package/dist/docs/references/docs-mcp-overview.md +0 -370
  193. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  194. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  195. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  196. package/dist/docs/references/docs-memory-overview.md +0 -45
  197. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  198. package/dist/docs/references/docs-memory-storage.md +0 -261
  199. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  200. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  201. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  202. package/dist/docs/references/docs-observability-logging.md +0 -99
  203. package/dist/docs/references/docs-observability-overview.md +0 -70
  204. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  205. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  206. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  207. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  208. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  209. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  210. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  211. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  212. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  213. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  214. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  215. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  216. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  217. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  218. package/dist/docs/references/docs-rag-overview.md +0 -72
  219. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  220. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  221. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  222. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  223. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  224. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  225. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  226. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  227. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  228. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  229. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  230. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  231. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  232. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  233. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  234. package/dist/docs/references/docs-server-middleware.md +0 -228
  235. package/dist/docs/references/docs-server-request-context.md +0 -478
  236. package/dist/docs/references/docs-streaming-events.md +0 -247
  237. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  238. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  239. package/dist/docs/references/docs-voice-overview.md +0 -979
  240. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  241. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  242. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  243. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  244. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  245. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  246. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  247. package/dist/docs/references/docs-workflows-overview.md +0 -372
  248. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  249. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  250. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  251. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  252. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  253. package/dist/docs/references/docs-workspace-overview.md +0 -239
  254. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  255. package/dist/docs/references/docs-workspace-search.md +0 -219
  256. package/dist/docs/references/docs-workspace-skills.md +0 -126
  257. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  258. package/dist/docs/references/reference-agents-agent.md +0 -142
  259. package/dist/docs/references/reference-agents-generate.md +0 -174
  260. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  261. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  262. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  263. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  264. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  265. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  266. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  267. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  268. package/dist/docs/references/reference-agents-getModel.md +0 -34
  269. package/dist/docs/references/reference-agents-getTools.md +0 -29
  270. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  271. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  272. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  273. package/dist/docs/references/reference-agents-listTools.md +0 -34
  274. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  275. package/dist/docs/references/reference-agents-network.md +0 -134
  276. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  277. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  278. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  279. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  280. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  281. package/dist/docs/references/reference-auth-auth0.md +0 -73
  282. package/dist/docs/references/reference-auth-clerk.md +0 -36
  283. package/dist/docs/references/reference-auth-firebase.md +0 -80
  284. package/dist/docs/references/reference-auth-jwt.md +0 -26
  285. package/dist/docs/references/reference-auth-supabase.md +0 -33
  286. package/dist/docs/references/reference-auth-workos.md +0 -84
  287. package/dist/docs/references/reference-client-js-agents.md +0 -438
  288. package/dist/docs/references/reference-configuration.md +0 -749
  289. package/dist/docs/references/reference-core-addGateway.md +0 -42
  290. package/dist/docs/references/reference-core-getAgent.md +0 -21
  291. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  292. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  293. package/dist/docs/references/reference-core-getGateway.md +0 -38
  294. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  295. package/dist/docs/references/reference-core-getLogger.md +0 -22
  296. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  297. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  298. package/dist/docs/references/reference-core-getMemory.md +0 -50
  299. package/dist/docs/references/reference-core-getScorer.md +0 -54
  300. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  301. package/dist/docs/references/reference-core-getServer.md +0 -22
  302. package/dist/docs/references/reference-core-getStorage.md +0 -22
  303. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  304. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  305. package/dist/docs/references/reference-core-getVector.md +0 -22
  306. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  307. package/dist/docs/references/reference-core-listAgents.md +0 -21
  308. package/dist/docs/references/reference-core-listGateways.md +0 -40
  309. package/dist/docs/references/reference-core-listLogs.md +0 -38
  310. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  311. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  312. package/dist/docs/references/reference-core-listMemory.md +0 -56
  313. package/dist/docs/references/reference-core-listScorers.md +0 -29
  314. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  315. package/dist/docs/references/reference-core-listVectors.md +0 -22
  316. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  317. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  318. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  319. package/dist/docs/references/reference-core-setLogger.md +0 -26
  320. package/dist/docs/references/reference-core-setStorage.md +0 -27
  321. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  322. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  323. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  324. package/dist/docs/references/reference-datasets-create.md +0 -49
  325. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  326. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  327. package/dist/docs/references/reference-datasets-delete.md +0 -23
  328. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  329. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  331. package/dist/docs/references/reference-datasets-get.md +0 -29
  332. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  333. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  334. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  335. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  336. package/dist/docs/references/reference-datasets-list.md +0 -29
  337. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  338. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  339. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  340. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  341. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  342. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  343. package/dist/docs/references/reference-datasets-update.md +0 -46
  344. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  345. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  346. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  347. package/dist/docs/references/reference-evals-bias.md +0 -120
  348. package/dist/docs/references/reference-evals-completeness.md +0 -137
  349. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  350. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  351. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  352. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  353. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  354. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  355. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  356. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  357. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  358. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  359. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  360. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  361. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  362. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  363. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  364. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  365. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  366. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  367. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  368. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  369. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  370. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  371. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  372. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  373. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  374. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  375. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  376. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  377. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  378. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  379. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  380. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  381. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  382. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  383. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  384. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  385. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  386. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  387. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  388. package/dist/docs/references/reference-rag-database-config.md +0 -264
  389. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  390. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  391. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  392. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  393. package/dist/docs/references/reference-storage-composite.md +0 -235
  394. package/dist/docs/references/reference-storage-lance.md +0 -131
  395. package/dist/docs/references/reference-storage-libsql.md +0 -135
  396. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  397. package/dist/docs/references/reference-storage-mssql.md +0 -155
  398. package/dist/docs/references/reference-storage-overview.md +0 -121
  399. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  400. package/dist/docs/references/reference-storage-upstash.md +0 -160
  401. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  402. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  403. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  404. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  405. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  406. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  407. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  408. package/dist/docs/references/reference-templates-overview.md +0 -194
  409. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  410. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  411. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  412. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  413. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  414. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  415. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  416. package/dist/docs/references/reference-vectors-pg.md +0 -408
  417. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  418. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  419. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  420. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  421. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  422. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  423. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  424. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  425. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  426. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  427. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  428. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  429. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  430. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  431. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  432. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  433. package/dist/docs/references/reference-workflows-run.md +0 -59
  434. package/dist/docs/references/reference-workflows-step.md +0 -119
  435. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  436. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  437. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  438. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  439. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  441. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  442. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  443. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  446. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  447. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  448. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  449. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  450. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  451. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  452. package/dist/docs/references/reference.md +0 -276
@@ -1,459 +0,0 @@
1
- # createVectorQueryTool()
2
-
3
- The `createVectorQueryTool()` function creates a tool for semantic search over vector stores. It supports filtering, reranking, database-specific configurations, and integrates with various vector store backends.
4
-
5
- ## Basic Usage
6
-
7
- ```typescript
8
- import { createVectorQueryTool } from "@mastra/rag";
9
- import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
10
-
11
- const queryTool = createVectorQueryTool({
12
- vectorStoreName: "pinecone",
13
- indexName: "docs",
14
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
15
- });
16
- ```
17
-
18
- ## Parameters
19
-
20
- > **Note:** **Parameter Requirements:** Most fields can be set at creation as defaults. Some fields can be overridden at runtime via the request context or input. If a required field is missing from both creation and runtime, an error will be thrown. Note that `model`, `id`, and `description` can only be set at creation time.
21
-
22
- **id?:** (`string`): Custom ID for the tool. By default: 'VectorQuery {vectorStoreName} {indexName} Tool'. (Set at creation only.)
23
-
24
- **description?:** (`string`): Custom description for the tool. By default: 'Access the knowledge base to find information needed to answer user questions' (Set at creation only.)
25
-
26
- **model:** (`EmbeddingModel`): Embedding model to use for vector search. (Set at creation only.)
27
-
28
- **vectorStoreName:** (`string`): Name of the vector store to query. (Can be set at creation or overridden at runtime.)
29
-
30
- **indexName:** (`string`): Name of the index within the vector store. (Can be set at creation or overridden at runtime.)
31
-
32
- **enableFilter?:** (`boolean`): Enable filtering of results based on metadata. (Set at creation only, but will be automatically enabled if a filter is provided in the request context.) (Default: `false`)
33
-
34
- **includeVectors?:** (`boolean`): Include the embedding vectors in the results. (Can be set at creation or overridden at runtime.) (Default: `false`)
35
-
36
- **includeSources?:** (`boolean`): Include the full retrieval objects in the results. (Can be set at creation or overridden at runtime.) (Default: `true`)
37
-
38
- **reranker?:** (`RerankConfig`): Options for reranking results. (Can be set at creation or overridden at runtime.)
39
-
40
- **databaseConfig?:** (`DatabaseConfig`): Database-specific configuration options for optimizing queries. (Can be set at creation or overridden at runtime.)
41
-
42
- **providerOptions?:** (`Record<string, Record<string, any>>`): Provider-specific options for the embedding model (e.g., outputDimensionality). \*\*Important\*\*: Only works with AI SDK EmbeddingModelV2 models. For V1 models, configure options when creating the model itself.
43
-
44
- **vectorStore?:** (`MastraVector | VectorStoreResolver`): Direct vector store instance or a resolver function for dynamic selection. Use a function for multi-tenant applications where the vector store is selected based on request context. When provided, \`vectorStoreName\` becomes optional.
45
-
46
- ### DatabaseConfig
47
-
48
- The `DatabaseConfig` type allows you to specify database-specific configurations that are automatically applied to query operations. This enables you to take advantage of unique features and optimizations offered by different vector stores.
49
-
50
- **pinecone?:** (`PineconeConfig`): objectnamespace?:stringPinecone namespace for organizing vectorssparseVector?:{ indices: number\[]; values: number\[]; }Sparse vector for hybrid search
51
-
52
- **pgvector?:** (`PgVectorConfig`): objectminScore?:numberMinimum similarity score threshold for resultsef?:numberHNSW search parameter - controls accuracy vs speed tradeoffprobes?:numberIVFFlat probe parameter - number of cells to visit during search
53
-
54
- **chroma?:** (`ChromaConfig`): objectwhere?:Record\<string, any>Metadata filtering conditionswhereDocument?:Record\<string, any>Document content filtering conditions
55
-
56
- ### RerankConfig
57
-
58
- **model:** (`MastraLanguageModel`): Language model to use for reranking
59
-
60
- **options?:** (`RerankerOptions`): objectweights?:WeightConfigWeights for scoring components (semantic: 0.4, vector: 0.4, position: 0.2)topK?:numberNumber of top results to return
61
-
62
- ## Returns
63
-
64
- The tool returns an object with:
65
-
66
- **relevantContext:** (`string`): Combined text from the most relevant document chunks
67
-
68
- **sources:** (`QueryResult[]`): Array of full retrieval result objects. Each object contains all information needed to reference the original document, chunk, and similarity score.
69
-
70
- ### QueryResult object structure
71
-
72
- ```typescript
73
- {
74
- id: string; // Unique chunk/document identifier
75
- metadata: any; // All metadata fields (document ID, etc.)
76
- vector: number[]; // Embedding vector (if available)
77
- score: number; // Similarity score for this retrieval
78
- document: string; // Full chunk/document text (if available)
79
- }
80
- ```
81
-
82
- ## Default Tool Description
83
-
84
- The default description focuses on:
85
-
86
- - Finding relevant information in stored knowledge
87
- - Answering user questions
88
- - Retrieving factual content
89
-
90
- ## Result Handling
91
-
92
- The tool determines the number of results to return based on the user's query, with a default of 10 results. This can be adjusted based on the query requirements.
93
-
94
- ## Example with Filters
95
-
96
- ```typescript
97
- const queryTool = createVectorQueryTool({
98
- vectorStoreName: "pinecone",
99
- indexName: "docs",
100
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
101
- enableFilter: true,
102
- });
103
- ```
104
-
105
- With filtering enabled, the tool processes queries to construct metadata filters that combine with semantic search. The process works as follows:
106
-
107
- 1. A user makes a query with specific filter requirements like "Find content where the 'version' field is greater than 2.0"
108
- 2. The agent analyzes the query and constructs the appropriate filters:
109
- ```typescript
110
- {
111
- "version": { "$gt": 2.0 }
112
- }
113
- ```
114
-
115
- This agent-driven approach:
116
-
117
- - Processes natural language queries into filter specifications
118
- - Implements vector store-specific filter syntax
119
- - Translates query terms to filter operators
120
-
121
- For detailed filter syntax and store-specific capabilities, see the [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters) documentation.
122
-
123
- For an example of how agent-driven filtering works, see the [Agent-Driven Metadata Filtering](https://github.com/mastra-ai/mastra/tree/main/examples/basics/rag/filter-rag) example.
124
-
125
- ## Example with Reranking
126
-
127
- ```typescript
128
- const queryTool = createVectorQueryTool({
129
- vectorStoreName: "milvus",
130
- indexName: "documentation",
131
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
132
- reranker: {
133
- model: "openai/gpt-5.1",
134
- options: {
135
- weights: {
136
- semantic: 0.5, // Semantic relevance weight
137
- vector: 0.3, // Vector similarity weight
138
- position: 0.2, // Original position weight
139
- },
140
- topK: 5,
141
- },
142
- },
143
- });
144
- ```
145
-
146
- Reranking improves result quality by combining:
147
-
148
- - Semantic relevance: Using LLM-based scoring of text similarity
149
- - Vector similarity: Original vector distance scores
150
- - Position bias: Consideration of original result ordering
151
- - Query analysis: Adjustments based on query characteristics
152
-
153
- The reranker processes the initial vector search results and returns a reordered list optimized for relevance.
154
-
155
- ## Example with Custom Description
156
-
157
- ```typescript
158
- const queryTool = createVectorQueryTool({
159
- vectorStoreName: "pinecone",
160
- indexName: "docs",
161
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
162
- description:
163
- "Search through document archives to find relevant information for answering questions about company policies and procedures",
164
- });
165
- ```
166
-
167
- This example shows how to customize the tool description for a specific use case while maintaining its core purpose of information retrieval.
168
-
169
- ## Database-Specific Configuration Examples
170
-
171
- The `databaseConfig` parameter allows you to leverage unique features and optimizations specific to each vector database. These configurations are automatically applied during query execution.
172
-
173
- **Pinecone**:
174
-
175
- ### Pinecone Configuration
176
-
177
- ```typescript
178
- const pineconeQueryTool = createVectorQueryTool({
179
- vectorStoreName: "pinecone",
180
- indexName: "docs",
181
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
182
- databaseConfig: {
183
- pinecone: {
184
- namespace: "production", // Organize vectors by environment
185
- sparseVector: { // Enable hybrid search
186
- indices: [0, 1, 2, 3],
187
- values: [0.1, 0.2, 0.15, 0.05]
188
- }
189
- }
190
- }
191
- });
192
- ```
193
-
194
- **Pinecone Features:**
195
-
196
- - **Namespace**: Isolate different data sets within the same index
197
- - **Sparse Vector**: Combine dense and sparse embeddings for improved search quality
198
- - **Use Cases**: Multi-tenant applications, hybrid semantic search
199
-
200
- **pgVector**:
201
-
202
- ### pgVector Configuration
203
-
204
- ```typescript
205
- const pgVectorQueryTool = createVectorQueryTool({
206
- vectorStoreName: "postgres",
207
- indexName: "embeddings",
208
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
209
- databaseConfig: {
210
- pgvector: {
211
- minScore: 0.7, // Only return results above 70% similarity
212
- ef: 200, // Higher value = better accuracy, slower search
213
- probes: 10 // For IVFFlat: more probes = better recall
214
- }
215
- }
216
- });
217
- ```
218
-
219
- **pgVector Features:**
220
-
221
- - **minScore**: Filter out low-quality matches
222
- - **ef (HNSW)**: Control accuracy vs speed for HNSW indexes
223
- - **probes (IVFFlat)**: Control recall vs speed for IVFFlat indexes
224
- - **Use Cases**: Performance tuning, quality filtering
225
-
226
- **Chroma**:
227
-
228
- ### Chroma Configuration
229
-
230
- ```typescript
231
- const chromaQueryTool = createVectorQueryTool({
232
- vectorStoreName: "chroma",
233
- indexName: "documents",
234
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
235
- databaseConfig: {
236
- chroma: {
237
- where: { // Metadata filtering
238
- "category": "technical",
239
- "status": "published"
240
- },
241
- whereDocument: { // Document content filtering
242
- "$contains": "API"
243
- }
244
- }
245
- }
246
- });
247
- ```
248
-
249
- **Chroma Features:**
250
-
251
- - **where**: Filter by metadata fields
252
- - **whereDocument**: Filter by document content
253
- - **Use Cases**: Advanced filtering, content-based search
254
-
255
- **Multiple Configs**:
256
-
257
- ### Multiple Database Configurations
258
-
259
- ```typescript
260
- // Configure for multiple databases (useful for dynamic stores)
261
- const multiDbQueryTool = createVectorQueryTool({
262
- vectorStoreName: "dynamic-store", // Will be set at runtime
263
- indexName: "docs",
264
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
265
- databaseConfig: {
266
- pinecone: {
267
- namespace: "default"
268
- },
269
- pgvector: {
270
- minScore: 0.8,
271
- ef: 150
272
- },
273
- chroma: {
274
- where: { "type": "documentation" }
275
- }
276
- }
277
- });
278
- ```
279
-
280
- **Multi-Config Benefits:**
281
-
282
- - Support multiple vector stores with one tool
283
- - Database-specific optimizations are automatically applied
284
- - Flexible deployment scenarios
285
-
286
- ### Runtime Configuration Override
287
-
288
- You can override database configurations at runtime to adapt to different scenarios:
289
-
290
- ```typescript
291
- import { RequestContext } from "@mastra/core/request-context";
292
-
293
- const queryTool = createVectorQueryTool({
294
- vectorStoreName: "pinecone",
295
- indexName: "docs",
296
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
297
- databaseConfig: {
298
- pinecone: {
299
- namespace: "development",
300
- },
301
- },
302
- });
303
-
304
- // Override at runtime
305
- const requestContext = new RequestContext();
306
- requestContext.set("databaseConfig", {
307
- pinecone: {
308
- namespace: "production", // Switch to production namespace
309
- },
310
- });
311
-
312
- const response = await agent.generate("Find information about deployment", {
313
- requestContext,
314
- });
315
- ```
316
-
317
- This approach allows you to:
318
-
319
- - Switch between environments (dev/staging/prod)
320
- - Adjust performance parameters based on load
321
- - Apply different filtering strategies per request
322
-
323
- ## Example: Using Request Context
324
-
325
- ```typescript
326
- const queryTool = createVectorQueryTool({
327
- vectorStoreName: "pinecone",
328
- indexName: "docs",
329
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
330
- });
331
- ```
332
-
333
- When using request context, provide required parameters at execution time via the request context:
334
-
335
- ```typescript
336
- const requestContext = new RequestContext<{
337
- vectorStoreName: string;
338
- indexName: string;
339
- topK: number;
340
- filter: VectorFilter;
341
- databaseConfig: DatabaseConfig;
342
- }>();
343
- requestContext.set("vectorStoreName", "my-store");
344
- requestContext.set("indexName", "my-index");
345
- requestContext.set("topK", 5);
346
- requestContext.set("filter", { category: "docs" });
347
- requestContext.set("databaseConfig", {
348
- pinecone: { namespace: "runtime-namespace" },
349
- });
350
- requestContext.set("model", "openai/text-embedding-3-small");
351
-
352
- const response = await agent.generate(
353
- "Find documentation from the knowledge base.",
354
- {
355
- requestContext,
356
- },
357
- );
358
- ```
359
-
360
- For more information on request context, please see:
361
-
362
- - [Agent Request Context](https://mastra.ai/docs/server/request-context)
363
- - [Request Context](https://mastra.ai/docs/server/request-context)
364
-
365
- ## Usage Without a Mastra Server
366
-
367
- The tool can be used by itself to retrieve documents matching a query:
368
-
369
- ```typescript
370
- import { RequestContext } from "@mastra/core/request-context";
371
- import { createVectorQueryTool } from "@mastra/rag";
372
- import { PgVector } from "@mastra/pg";
373
-
374
- const pgVector = new PgVector({
375
- id: 'pg-vector',
376
- connectionString: process.env.POSTGRES_CONNECTION_STRING!,
377
- });
378
-
379
- const vectorQueryTool = createVectorQueryTool({
380
- vectorStoreName: "pgVector", // optional since we're passing in a store
381
- vectorStore: pgVector,
382
- indexName: "embeddings",
383
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
384
- });
385
-
386
- const requestContext = new RequestContext();
387
- const queryResult = await vectorQueryTool.execute(
388
- { queryText: "foo", topK: 1 },
389
- { requestContext }
390
- );
391
-
392
- console.log(queryResult.sources);
393
- ```
394
-
395
- ## Dynamic Vector Store for Multi-Tenant Applications
396
-
397
- For multi-tenant applications where each tenant has isolated data (e.g., separate PostgreSQL schemas), you can pass a resolver function instead of a static vector store instance. The function receives the request context and can return the appropriate vector store for the current tenant:
398
-
399
- ```typescript
400
- import { createVectorQueryTool, VectorStoreResolver } from "@mastra/rag";
401
- import { PgVector } from "@mastra/pg";
402
-
403
- // Cache for tenant-specific vector stores
404
- const vectorStoreCache = new Map<string, PgVector>();
405
-
406
- // Resolver function that returns the correct vector store based on tenant
407
- const vectorStoreResolver: VectorStoreResolver = async ({ requestContext }) => {
408
- const tenantId = requestContext?.get("tenantId");
409
-
410
- if (!tenantId) {
411
- throw new Error("tenantId is required in request context");
412
- }
413
-
414
- // Return cached instance or create new one
415
- if (!vectorStoreCache.has(tenantId)) {
416
- vectorStoreCache.set(tenantId, new PgVector({
417
- id: `pg-vector-${tenantId}`,
418
- connectionString: process.env.POSTGRES_CONNECTION_STRING!,
419
- schemaName: `tenant_${tenantId}`, // Each tenant has their own schema
420
- }));
421
- }
422
-
423
- return vectorStoreCache.get(tenantId)!;
424
- };
425
-
426
- const vectorQueryTool = createVectorQueryTool({
427
- indexName: "embeddings",
428
- model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
429
- vectorStore: vectorStoreResolver, // Dynamic resolution!
430
- });
431
-
432
- // Usage with tenant context
433
- const requestContext = new RequestContext();
434
- requestContext.set("tenantId", "acme-corp");
435
-
436
- const result = await vectorQueryTool.execute(
437
- { queryText: "company policies", topK: 5 },
438
- { requestContext }
439
- );
440
- ```
441
-
442
- This pattern is similar to how `Agent.memory` supports dynamic configuration and enables:
443
-
444
- - **Schema isolation**: Each tenant's data in separate PostgreSQL schemas
445
- - **Database isolation**: Route to different database instances per tenant
446
- - **Dynamic configuration**: Adjust vector store settings based on request context
447
-
448
- ## Tool Details
449
-
450
- The tool is created with:
451
-
452
- - **ID**: `VectorQuery {vectorStoreName} {indexName} Tool`
453
- - **Input Schema**: Requires queryText and filter objects
454
- - **Output Schema**: Returns relevantContext string
455
-
456
- ## Related
457
-
458
- - [rerank()](https://mastra.ai/reference/rag/rerank)
459
- - [createGraphRAGTool](https://mastra.ai/reference/tools/graph-rag-tool)