@mastra/core 1.9.0 → 1.10.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 (438) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/dist/agent/agent.d.ts +22 -3
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +13 -13
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  9. package/dist/{chunk-IOY7Y5GV.js → chunk-3VVNJPTO.js} +602 -187
  10. package/dist/chunk-3VVNJPTO.js.map +1 -0
  11. package/dist/{chunk-VDKWYUGC.cjs → chunk-5WBEMKE2.cjs} +7 -3
  12. package/dist/chunk-5WBEMKE2.cjs.map +1 -0
  13. package/dist/{chunk-H5S4PS44.cjs → chunk-76Q75VI4.cjs} +602 -187
  14. package/dist/chunk-76Q75VI4.cjs.map +1 -0
  15. package/dist/{chunk-ZBESCKPX.cjs → chunk-7AHCLTZZ.cjs} +1572 -36
  16. package/dist/chunk-7AHCLTZZ.cjs.map +1 -0
  17. package/dist/{chunk-SEKQJ447.js → chunk-ACAILOJE.js} +166 -68
  18. package/dist/chunk-ACAILOJE.js.map +1 -0
  19. package/dist/{chunk-YIJZBU54.cjs → chunk-BCSVBOAN.cjs} +240 -463
  20. package/dist/chunk-BCSVBOAN.cjs.map +1 -0
  21. package/dist/{chunk-ZVWVQ6MG.js → chunk-CY4ZWL2X.js} +8 -3
  22. package/dist/chunk-CY4ZWL2X.js.map +1 -0
  23. package/dist/{chunk-ET7GXCHS.js → chunk-DIKRJVK6.js} +5 -5
  24. package/dist/{chunk-ET7GXCHS.js.map → chunk-DIKRJVK6.js.map} +1 -1
  25. package/dist/{chunk-P6ZX7OKT.cjs → chunk-E6I5LBDM.cjs} +7 -7
  26. package/dist/{chunk-P6ZX7OKT.cjs.map → chunk-E6I5LBDM.cjs.map} +1 -1
  27. package/dist/{chunk-BFV3GSGS.js → chunk-FT5Q6XTK.js} +1546 -22
  28. package/dist/chunk-FT5Q6XTK.js.map +1 -0
  29. package/dist/{chunk-K54LFB4P.js → chunk-FXOWXS4O.js} +3 -3
  30. package/dist/{chunk-K54LFB4P.js.map → chunk-FXOWXS4O.js.map} +1 -1
  31. package/dist/{chunk-QNXY3J6B.cjs → chunk-GCRPNAAR.cjs} +22 -19
  32. package/dist/chunk-GCRPNAAR.cjs.map +1 -0
  33. package/dist/{chunk-5M3RMO7U.js → chunk-GTA5BKXZ.js} +8 -8
  34. package/dist/{chunk-5M3RMO7U.js.map → chunk-GTA5BKXZ.js.map} +1 -1
  35. package/dist/{chunk-G5R2755Q.cjs → chunk-HAIQ57YB.cjs} +53 -20
  36. package/dist/chunk-HAIQ57YB.cjs.map +1 -0
  37. package/dist/{chunk-3ZBLD2Y4.cjs → chunk-HH76UOJL.cjs} +2 -2
  38. package/dist/{chunk-3ZBLD2Y4.cjs.map → chunk-HH76UOJL.cjs.map} +1 -1
  39. package/dist/{chunk-HAGCXIBX.cjs → chunk-HNYQITSV.cjs} +9 -9
  40. package/dist/{chunk-HAGCXIBX.cjs.map → chunk-HNYQITSV.cjs.map} +1 -1
  41. package/dist/{chunk-GJTLWOKJ.js → chunk-HQA3IBLZ.js} +51 -18
  42. package/dist/chunk-HQA3IBLZ.js.map +1 -0
  43. package/dist/{chunk-4BXXAZ75.js → chunk-HQTHWVAK.js} +15 -7
  44. package/dist/chunk-HQTHWVAK.js.map +1 -0
  45. package/dist/{chunk-CCLV5CAA.js → chunk-JGOH7RWL.js} +7 -3
  46. package/dist/chunk-JGOH7RWL.js.map +1 -0
  47. package/dist/{chunk-Y6TGIUGL.js → chunk-LSF5WJ6G.js} +2 -2
  48. package/dist/{chunk-Y6TGIUGL.js.map → chunk-LSF5WJ6G.js.map} +1 -1
  49. package/dist/{chunk-D6HO5QAM.cjs → chunk-M26GEN4C.cjs} +14 -9
  50. package/dist/chunk-M26GEN4C.cjs.map +1 -0
  51. package/dist/{chunk-4P35AVPE.cjs → chunk-MEMYFFOL.cjs} +256 -157
  52. package/dist/chunk-MEMYFFOL.cjs.map +1 -0
  53. package/dist/{chunk-BQ355Z3O.js → chunk-NUZWQA4J.js} +4 -4
  54. package/dist/{chunk-BQ355Z3O.js.map → chunk-NUZWQA4J.js.map} +1 -1
  55. package/dist/{chunk-JIRB5LX4.js → chunk-OHX36YXF.js} +5 -3
  56. package/dist/chunk-OHX36YXF.js.map +1 -0
  57. package/dist/{chunk-PKORY4ZZ.cjs → chunk-OOTLMVNN.cjs} +107 -7
  58. package/dist/chunk-OOTLMVNN.cjs.map +1 -0
  59. package/dist/{chunk-D4M6E4OQ.cjs → chunk-OWZ6QT24.cjs} +16 -8
  60. package/dist/chunk-OWZ6QT24.cjs.map +1 -0
  61. package/dist/{chunk-6OHS6ZQ3.js → chunk-PDJCIONR.js} +8 -8
  62. package/dist/{chunk-6OHS6ZQ3.js.map → chunk-PDJCIONR.js.map} +1 -1
  63. package/dist/{chunk-WU2P7XOU.cjs → chunk-PP4G2TZZ.cjs} +20 -20
  64. package/dist/{chunk-WU2P7XOU.cjs.map → chunk-PP4G2TZZ.cjs.map} +1 -1
  65. package/dist/{chunk-VWAK25TU.js → chunk-SBBWRNZA.js} +10 -7
  66. package/dist/chunk-SBBWRNZA.js.map +1 -0
  67. package/dist/{chunk-TU4YMXOQ.js → chunk-TJIFNVPX.js} +6 -6
  68. package/dist/{chunk-TU4YMXOQ.js.map → chunk-TJIFNVPX.js.map} +1 -1
  69. package/dist/{chunk-V5YNS2QO.cjs → chunk-XJNQHPBJ.cjs} +15 -15
  70. package/dist/{chunk-V5YNS2QO.cjs.map → chunk-XJNQHPBJ.cjs.map} +1 -1
  71. package/dist/{chunk-MVYP55NA.js → chunk-YC6Z75K2.js} +113 -336
  72. package/dist/chunk-YC6Z75K2.js.map +1 -0
  73. package/dist/{chunk-3ZF7IC6Q.cjs → chunk-YZMSJKAK.cjs} +5 -3
  74. package/dist/chunk-YZMSJKAK.cjs.map +1 -0
  75. package/dist/{chunk-L3WDI7HP.cjs → chunk-Z2X5VTYJ.cjs} +65 -65
  76. package/dist/{chunk-L3WDI7HP.cjs.map → chunk-Z2X5VTYJ.cjs.map} +1 -1
  77. package/dist/{chunk-BN5MV2QK.cjs → chunk-Z52OAJ73.cjs} +4 -4
  78. package/dist/{chunk-BN5MV2QK.cjs.map → chunk-Z52OAJ73.cjs.map} +1 -1
  79. package/dist/{chunk-WYPSC6CO.js → chunk-ZBU6P4JV.js} +104 -4
  80. package/dist/chunk-ZBU6P4JV.js.map +1 -0
  81. package/dist/datasets/experiment/index.d.ts.map +1 -1
  82. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  83. package/dist/datasets/index.cjs +17 -17
  84. package/dist/datasets/index.js +2 -2
  85. package/dist/di/index.cjs +4 -4
  86. package/dist/di/index.js +1 -1
  87. package/dist/docs/SKILL.md +1 -1
  88. package/dist/docs/assets/SOURCE_MAP.json +443 -384
  89. package/dist/docs/references/docs-agents-agent-approval.md +61 -31
  90. package/dist/docs/references/docs-agents-supervisor-agents.md +1 -1
  91. package/dist/docs/references/docs-memory-observational-memory.md +9 -0
  92. package/dist/docs/references/docs-memory-semantic-recall.md +17 -1
  93. package/dist/docs/references/docs-workspace-skills.md +7 -5
  94. package/dist/docs/references/reference-agents-agent.md +20 -20
  95. package/dist/docs/references/reference-agents-generate.md +200 -66
  96. package/dist/docs/references/reference-agents-generateLegacy.md +77 -35
  97. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +4 -6
  98. package/dist/docs/references/reference-agents-getDefaultOptions.md +4 -6
  99. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +4 -6
  100. package/dist/docs/references/reference-agents-getDescription.md +1 -1
  101. package/dist/docs/references/reference-agents-getInstructions.md +4 -6
  102. package/dist/docs/references/reference-agents-getLLM.md +6 -8
  103. package/dist/docs/references/reference-agents-getMemory.md +4 -6
  104. package/dist/docs/references/reference-agents-getModel.md +4 -6
  105. package/dist/docs/references/reference-agents-getTools.md +5 -7
  106. package/dist/docs/references/reference-agents-getVoice.md +4 -6
  107. package/dist/docs/references/reference-agents-listAgents.md +4 -6
  108. package/dist/docs/references/reference-agents-listScorers.md +4 -6
  109. package/dist/docs/references/reference-agents-listTools.md +4 -6
  110. package/dist/docs/references/reference-agents-listWorkflows.md +4 -6
  111. package/dist/docs/references/reference-agents-network.md +69 -23
  112. package/dist/docs/references/reference-ai-sdk-chat-route.md +7 -7
  113. package/dist/docs/references/reference-ai-sdk-network-route.md +3 -3
  114. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +9 -9
  115. package/dist/docs/references/reference-ai-sdk-with-mastra.md +12 -12
  116. package/dist/docs/references/reference-ai-sdk-workflow-route.md +3 -3
  117. package/dist/docs/references/reference-auth-auth0.md +6 -6
  118. package/dist/docs/references/reference-auth-clerk.md +5 -5
  119. package/dist/docs/references/reference-auth-firebase.md +7 -7
  120. package/dist/docs/references/reference-auth-jwt.md +1 -1
  121. package/dist/docs/references/reference-auth-supabase.md +4 -4
  122. package/dist/docs/references/reference-auth-workos.md +6 -6
  123. package/dist/docs/references/reference-core-addGateway.md +2 -2
  124. package/dist/docs/references/reference-core-getAgent.md +2 -2
  125. package/dist/docs/references/reference-core-getAgentById.md +2 -2
  126. package/dist/docs/references/reference-core-getDeployer.md +1 -1
  127. package/dist/docs/references/reference-core-getGateway.md +2 -2
  128. package/dist/docs/references/reference-core-getGatewayById.md +2 -2
  129. package/dist/docs/references/reference-core-getLogger.md +1 -1
  130. package/dist/docs/references/reference-core-getMCPServer.md +2 -2
  131. package/dist/docs/references/reference-core-getMCPServerById.md +3 -3
  132. package/dist/docs/references/reference-core-getMemory.md +2 -2
  133. package/dist/docs/references/reference-core-getScorer.md +2 -2
  134. package/dist/docs/references/reference-core-getScorerById.md +2 -2
  135. package/dist/docs/references/reference-core-getServer.md +1 -1
  136. package/dist/docs/references/reference-core-getStorage.md +1 -1
  137. package/dist/docs/references/reference-core-getStoredAgentById.md +18 -20
  138. package/dist/docs/references/reference-core-getTelemetry.md +1 -1
  139. package/dist/docs/references/reference-core-getVector.md +2 -2
  140. package/dist/docs/references/reference-core-getWorkflow.md +3 -3
  141. package/dist/docs/references/reference-core-listAgents.md +1 -1
  142. package/dist/docs/references/reference-core-listGateways.md +1 -1
  143. package/dist/docs/references/reference-core-listLogs.md +9 -11
  144. package/dist/docs/references/reference-core-listLogsByRunId.md +9 -9
  145. package/dist/docs/references/reference-core-listMCPServers.md +1 -1
  146. package/dist/docs/references/reference-core-listMemory.md +1 -1
  147. package/dist/docs/references/reference-core-listScorers.md +1 -1
  148. package/dist/docs/references/reference-core-listStoredAgents.md +9 -11
  149. package/dist/docs/references/reference-core-listVectors.md +1 -1
  150. package/dist/docs/references/reference-core-listWorkflows.md +2 -2
  151. package/dist/docs/references/reference-core-mastra-class.md +17 -17
  152. package/dist/docs/references/reference-core-mastra-model-gateway.md +15 -15
  153. package/dist/docs/references/reference-core-setLogger.md +2 -4
  154. package/dist/docs/references/reference-core-setStorage.md +1 -1
  155. package/dist/docs/references/reference-datasets-addItem.md +20 -4
  156. package/dist/docs/references/reference-datasets-addItems.md +8 -2
  157. package/dist/docs/references/reference-datasets-compareExperiments.md +15 -3
  158. package/dist/docs/references/reference-datasets-create.md +6 -6
  159. package/dist/docs/references/reference-datasets-dataset.md +1 -1
  160. package/dist/docs/references/reference-datasets-delete.md +2 -2
  161. package/dist/docs/references/reference-datasets-deleteExperiment.md +2 -2
  162. package/dist/docs/references/reference-datasets-deleteItem.md +2 -2
  163. package/dist/docs/references/reference-datasets-deleteItems.md +2 -2
  164. package/dist/docs/references/reference-datasets-get.md +2 -2
  165. package/dist/docs/references/reference-datasets-getDetails.md +9 -9
  166. package/dist/docs/references/reference-datasets-getExperiment.md +2 -2
  167. package/dist/docs/references/reference-datasets-getItem.md +3 -3
  168. package/dist/docs/references/reference-datasets-getItemHistory.md +22 -2
  169. package/dist/docs/references/reference-datasets-list.md +7 -3
  170. package/dist/docs/references/reference-datasets-listExperimentResults.md +34 -4
  171. package/dist/docs/references/reference-datasets-listExperiments.md +41 -3
  172. package/dist/docs/references/reference-datasets-listItems.md +18 -6
  173. package/dist/docs/references/reference-datasets-listVersions.md +23 -3
  174. package/dist/docs/references/reference-datasets-startExperiment.md +62 -12
  175. package/dist/docs/references/reference-datasets-startExperimentAsync.md +5 -1
  176. package/dist/docs/references/reference-datasets-update.md +6 -6
  177. package/dist/docs/references/reference-datasets-updateItem.md +5 -5
  178. package/dist/docs/references/reference-evals-answer-relevancy.md +11 -11
  179. package/dist/docs/references/reference-evals-answer-similarity.md +17 -19
  180. package/dist/docs/references/reference-evals-bias.md +10 -10
  181. package/dist/docs/references/reference-evals-completeness.md +3 -3
  182. package/dist/docs/references/reference-evals-content-similarity.md +6 -6
  183. package/dist/docs/references/reference-evals-context-precision.md +4 -4
  184. package/dist/docs/references/reference-evals-create-scorer.md +47 -49
  185. package/dist/docs/references/reference-evals-faithfulness.md +11 -11
  186. package/dist/docs/references/reference-evals-hallucination.md +17 -21
  187. package/dist/docs/references/reference-evals-keyword-coverage.md +4 -4
  188. package/dist/docs/references/reference-evals-mastra-scorer.md +14 -14
  189. package/dist/docs/references/reference-evals-run-evals.md +16 -16
  190. package/dist/docs/references/reference-evals-scorer-utils.md +3 -3
  191. package/dist/docs/references/reference-evals-textual-difference.md +3 -3
  192. package/dist/docs/references/reference-evals-tone-consistency.md +3 -3
  193. package/dist/docs/references/reference-evals-toxicity.md +8 -8
  194. package/dist/docs/references/reference-harness-harness-class.md +34 -42
  195. package/dist/docs/references/reference-logging-pino-logger.md +5 -5
  196. package/dist/docs/references/reference-memory-deleteMessages.md +2 -2
  197. package/dist/docs/references/reference-memory-memory-class.md +12 -14
  198. package/dist/docs/references/reference-memory-observational-memory.md +102 -94
  199. package/dist/docs/references/reference-observability-tracing-configuration.md +27 -10
  200. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +4 -7
  201. package/dist/docs/references/reference-processors-batch-parts-processor.md +8 -10
  202. package/dist/docs/references/reference-processors-language-detector.md +14 -16
  203. package/dist/docs/references/reference-processors-message-history-processor.md +7 -9
  204. package/dist/docs/references/reference-processors-moderation-processor.md +13 -15
  205. package/dist/docs/references/reference-processors-pii-detector.md +14 -16
  206. package/dist/docs/references/reference-processors-processor-interface.md +62 -62
  207. package/dist/docs/references/reference-processors-prompt-injection-detector.md +11 -13
  208. package/dist/docs/references/reference-processors-semantic-recall-processor.md +14 -16
  209. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +12 -14
  210. package/dist/docs/references/reference-processors-token-limiter-processor.md +11 -13
  211. package/dist/docs/references/reference-processors-tool-call-filter.md +5 -7
  212. package/dist/docs/references/reference-processors-tool-search-processor.md +9 -11
  213. package/dist/docs/references/reference-processors-unicode-normalizer.md +8 -10
  214. package/dist/docs/references/reference-processors-working-memory-processor.md +14 -18
  215. package/dist/docs/references/reference-rag-database-config.md +11 -7
  216. package/dist/docs/references/reference-rag-embeddings.md +12 -12
  217. package/dist/docs/references/reference-server-mastra-server.md +10 -10
  218. package/dist/docs/references/reference-server-register-api-route.md +13 -13
  219. package/dist/docs/references/reference-storage-cloudflare-d1.md +5 -5
  220. package/dist/docs/references/reference-storage-composite.md +9 -9
  221. package/dist/docs/references/reference-storage-lance.md +3 -3
  222. package/dist/docs/references/reference-storage-libsql.md +2 -2
  223. package/dist/docs/references/reference-storage-mongodb.md +5 -5
  224. package/dist/docs/references/reference-storage-mssql.md +2 -2
  225. package/dist/docs/references/reference-storage-postgresql.md +25 -25
  226. package/dist/docs/references/reference-storage-upstash.md +3 -3
  227. package/dist/docs/references/reference-streaming-ChunkType.md +251 -59
  228. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +86 -16
  229. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +79 -39
  230. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +18 -8
  231. package/dist/docs/references/reference-streaming-workflows-stream.md +21 -9
  232. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +4 -4
  233. package/dist/docs/references/reference-tools-create-tool.md +25 -21
  234. package/dist/docs/references/reference-tools-graph-rag-tool.md +16 -18
  235. package/dist/docs/references/reference-tools-mcp-client.md +38 -27
  236. package/dist/docs/references/reference-tools-mcp-server.md +45 -45
  237. package/dist/docs/references/reference-tools-vector-query-tool.md +34 -22
  238. package/dist/docs/references/reference-vectors-libsql.md +31 -31
  239. package/dist/docs/references/reference-vectors-mongodb.md +32 -32
  240. package/dist/docs/references/reference-vectors-pg.md +60 -44
  241. package/dist/docs/references/reference-vectors-upstash.md +25 -25
  242. package/dist/docs/references/reference-voice-composite-voice.md +10 -10
  243. package/dist/docs/references/reference-voice-mastra-voice.md +20 -20
  244. package/dist/docs/references/reference-voice-voice.addInstructions.md +1 -1
  245. package/dist/docs/references/reference-voice-voice.addTools.md +1 -1
  246. package/dist/docs/references/reference-voice-voice.connect.md +3 -3
  247. package/dist/docs/references/reference-voice-voice.events.md +11 -11
  248. package/dist/docs/references/reference-voice-voice.listen.md +9 -9
  249. package/dist/docs/references/reference-voice-voice.on.md +2 -2
  250. package/dist/docs/references/reference-voice-voice.speak.md +11 -11
  251. package/dist/docs/references/reference-workflows-run-methods-cancel.md +2 -2
  252. package/dist/docs/references/reference-workflows-run-methods-restart.md +17 -5
  253. package/dist/docs/references/reference-workflows-run-methods-resume.md +23 -9
  254. package/dist/docs/references/reference-workflows-run-methods-start.md +22 -8
  255. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +12 -6
  256. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +29 -13
  257. package/dist/docs/references/reference-workflows-run.md +12 -12
  258. package/dist/docs/references/reference-workflows-step.md +24 -26
  259. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +2 -2
  260. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +1 -1
  261. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +4 -4
  262. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +3 -3
  263. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +3 -3
  264. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +9 -9
  265. package/dist/docs/references/reference-workflows-workflow-methods-map.md +2 -2
  266. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +2 -2
  267. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +2 -2
  268. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +2 -2
  269. package/dist/docs/references/reference-workflows-workflow-methods-then.md +2 -2
  270. package/dist/docs/references/reference-workflows-workflow.md +40 -50
  271. package/dist/docs/references/reference-workspace-filesystem.md +22 -22
  272. package/dist/docs/references/reference-workspace-local-filesystem.md +35 -35
  273. package/dist/docs/references/reference-workspace-local-sandbox.md +26 -26
  274. package/dist/docs/references/reference-workspace-sandbox.md +8 -8
  275. package/dist/docs/references/reference-workspace-workspace-class.md +30 -34
  276. package/dist/editor/types.d.ts +1 -0
  277. package/dist/editor/types.d.ts.map +1 -1
  278. package/dist/evals/index.cjs +20 -20
  279. package/dist/evals/index.js +3 -3
  280. package/dist/evals/scoreTraces/index.cjs +5 -5
  281. package/dist/evals/scoreTraces/index.js +2 -2
  282. package/dist/harness/harness.d.ts.map +1 -1
  283. package/dist/harness/index.cjs +25 -21
  284. package/dist/harness/index.cjs.map +1 -1
  285. package/dist/harness/index.js +15 -11
  286. package/dist/harness/index.js.map +1 -1
  287. package/dist/index.cjs +2 -2
  288. package/dist/index.js +1 -1
  289. package/dist/integration/index.cjs +2 -2
  290. package/dist/integration/index.js +1 -1
  291. package/dist/llm/index.cjs +12 -12
  292. package/dist/llm/index.js +3 -3
  293. package/dist/llm/model/model.d.ts.map +1 -1
  294. package/dist/llm/model/model.loop.d.ts.map +1 -1
  295. package/dist/llm/model/provider-types.generated.d.ts +5 -1
  296. package/dist/loop/index.cjs +14 -14
  297. package/dist/loop/index.js +1 -1
  298. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  299. package/dist/mastra/index.cjs +2 -2
  300. package/dist/mastra/index.js +1 -1
  301. package/dist/memory/index.cjs +14 -14
  302. package/dist/memory/index.js +1 -1
  303. package/dist/models-dev-2FJK72J2.cjs +12 -0
  304. package/dist/{models-dev-UVWCKPA2.cjs.map → models-dev-2FJK72J2.cjs.map} +1 -1
  305. package/dist/models-dev-CMQG6EMO.js +3 -0
  306. package/dist/{models-dev-W3LXZTEB.js.map → models-dev-CMQG6EMO.js.map} +1 -1
  307. package/dist/processor-provider/index.cjs +10 -10
  308. package/dist/processor-provider/index.js +1 -1
  309. package/dist/processors/index.cjs +42 -42
  310. package/dist/processors/index.js +1 -1
  311. package/dist/processors/processors/skills.d.ts +9 -42
  312. package/dist/processors/processors/skills.d.ts.map +1 -1
  313. package/dist/provider-registry-EHOAWHFE.cjs +40 -0
  314. package/dist/{provider-registry-4HLP2JRR.cjs.map → provider-registry-EHOAWHFE.cjs.map} +1 -1
  315. package/dist/provider-registry-LVP6T63V.js +3 -0
  316. package/dist/{provider-registry-K3DWQSMH.js.map → provider-registry-LVP6T63V.js.map} +1 -1
  317. package/dist/provider-registry.json +12 -4
  318. package/dist/relevance/index.cjs +3 -3
  319. package/dist/relevance/index.js +1 -1
  320. package/dist/request-context/index.cjs +4 -4
  321. package/dist/request-context/index.d.ts.map +1 -1
  322. package/dist/request-context/index.js +1 -1
  323. package/dist/storage/base.d.ts +34 -1
  324. package/dist/storage/base.d.ts.map +1 -1
  325. package/dist/storage/constants.cjs +56 -56
  326. package/dist/storage/constants.js +1 -1
  327. package/dist/storage/domains/agents/filesystem.d.ts +28 -0
  328. package/dist/storage/domains/agents/filesystem.d.ts.map +1 -0
  329. package/dist/storage/domains/agents/index.d.ts +1 -0
  330. package/dist/storage/domains/agents/index.d.ts.map +1 -1
  331. package/dist/storage/domains/experiments/inmemory.d.ts.map +1 -1
  332. package/dist/storage/domains/mcp-clients/filesystem.d.ts +28 -0
  333. package/dist/storage/domains/mcp-clients/filesystem.d.ts.map +1 -0
  334. package/dist/storage/domains/mcp-clients/index.d.ts +1 -0
  335. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -1
  336. package/dist/storage/domains/mcp-servers/filesystem.d.ts +28 -0
  337. package/dist/storage/domains/mcp-servers/filesystem.d.ts.map +1 -0
  338. package/dist/storage/domains/mcp-servers/index.d.ts +1 -0
  339. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -1
  340. package/dist/storage/domains/prompt-blocks/filesystem.d.ts +28 -0
  341. package/dist/storage/domains/prompt-blocks/filesystem.d.ts.map +1 -0
  342. package/dist/storage/domains/prompt-blocks/index.d.ts +1 -0
  343. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -1
  344. package/dist/storage/domains/scorer-definitions/filesystem.d.ts +28 -0
  345. package/dist/storage/domains/scorer-definitions/filesystem.d.ts.map +1 -0
  346. package/dist/storage/domains/scorer-definitions/index.d.ts +1 -0
  347. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -1
  348. package/dist/storage/domains/skills/filesystem.d.ts +28 -0
  349. package/dist/storage/domains/skills/filesystem.d.ts.map +1 -0
  350. package/dist/storage/domains/skills/index.d.ts +1 -0
  351. package/dist/storage/domains/skills/index.d.ts.map +1 -1
  352. package/dist/storage/domains/workspaces/filesystem.d.ts +28 -0
  353. package/dist/storage/domains/workspaces/filesystem.d.ts.map +1 -0
  354. package/dist/storage/domains/workspaces/index.d.ts +1 -0
  355. package/dist/storage/domains/workspaces/index.d.ts.map +1 -1
  356. package/dist/storage/filesystem-db.d.ts +82 -0
  357. package/dist/storage/filesystem-db.d.ts.map +1 -0
  358. package/dist/storage/filesystem-versioned.d.ts +148 -0
  359. package/dist/storage/filesystem-versioned.d.ts.map +1 -0
  360. package/dist/storage/filesystem.d.ts +39 -0
  361. package/dist/storage/filesystem.d.ts.map +1 -0
  362. package/dist/storage/git-history.d.ts +68 -0
  363. package/dist/storage/git-history.d.ts.map +1 -0
  364. package/dist/storage/index.cjs +208 -160
  365. package/dist/storage/index.d.ts +4 -0
  366. package/dist/storage/index.d.ts.map +1 -1
  367. package/dist/storage/index.js +2 -2
  368. package/dist/storage/types.d.ts +1 -0
  369. package/dist/storage/types.d.ts.map +1 -1
  370. package/dist/stream/RunOutput.d.ts +1 -1
  371. package/dist/stream/aisdk/v5/output-helpers.d.ts +6 -6
  372. package/dist/stream/base/output.d.ts +3 -3
  373. package/dist/stream/base/schema.d.ts +1 -1
  374. package/dist/stream/index.cjs +11 -11
  375. package/dist/stream/index.js +2 -2
  376. package/dist/test-utils/llm-mock.cjs +4 -4
  377. package/dist/test-utils/llm-mock.js +1 -1
  378. package/dist/tool-loop-agent/index.cjs +4 -4
  379. package/dist/tool-loop-agent/index.js +1 -1
  380. package/dist/tools/index.cjs +6 -6
  381. package/dist/tools/index.js +1 -1
  382. package/dist/tools/is-vercel-tool.cjs +2 -2
  383. package/dist/tools/is-vercel-tool.js +1 -1
  384. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  385. package/dist/tools/tool.d.ts +6 -0
  386. package/dist/tools/tool.d.ts.map +1 -1
  387. package/dist/tools/types.d.ts +27 -0
  388. package/dist/tools/types.d.ts.map +1 -1
  389. package/dist/utils.cjs +23 -23
  390. package/dist/utils.js +1 -1
  391. package/dist/vector/index.cjs +9 -9
  392. package/dist/vector/index.js +2 -2
  393. package/dist/workflows/evented/index.cjs +10 -10
  394. package/dist/workflows/evented/index.js +1 -1
  395. package/dist/workflows/index.cjs +25 -25
  396. package/dist/workflows/index.js +1 -1
  397. package/dist/workspace/index.cjs +70 -66
  398. package/dist/workspace/index.d.ts +1 -0
  399. package/dist/workspace/index.d.ts.map +1 -1
  400. package/dist/workspace/index.js +1 -1
  401. package/dist/workspace/sandbox/execa.d.ts +9 -0
  402. package/dist/workspace/sandbox/execa.d.ts.map +1 -0
  403. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -1
  404. package/dist/workspace/skills/index.d.ts +1 -0
  405. package/dist/workspace/skills/index.d.ts.map +1 -1
  406. package/dist/workspace/skills/tools.d.ts +36 -0
  407. package/dist/workspace/skills/tools.d.ts.map +1 -0
  408. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  409. package/dist/workspace/tools/output-helpers.d.ts +4 -3
  410. package/dist/workspace/tools/output-helpers.d.ts.map +1 -1
  411. package/package.json +9 -9
  412. package/src/llm/model/provider-types.generated.d.ts +5 -1
  413. package/dist/chunk-3ZF7IC6Q.cjs.map +0 -1
  414. package/dist/chunk-4BXXAZ75.js.map +0 -1
  415. package/dist/chunk-4P35AVPE.cjs.map +0 -1
  416. package/dist/chunk-BFV3GSGS.js.map +0 -1
  417. package/dist/chunk-CCLV5CAA.js.map +0 -1
  418. package/dist/chunk-D4M6E4OQ.cjs.map +0 -1
  419. package/dist/chunk-D6HO5QAM.cjs.map +0 -1
  420. package/dist/chunk-G5R2755Q.cjs.map +0 -1
  421. package/dist/chunk-GJTLWOKJ.js.map +0 -1
  422. package/dist/chunk-H5S4PS44.cjs.map +0 -1
  423. package/dist/chunk-IOY7Y5GV.js.map +0 -1
  424. package/dist/chunk-JIRB5LX4.js.map +0 -1
  425. package/dist/chunk-MVYP55NA.js.map +0 -1
  426. package/dist/chunk-PKORY4ZZ.cjs.map +0 -1
  427. package/dist/chunk-QNXY3J6B.cjs.map +0 -1
  428. package/dist/chunk-SEKQJ447.js.map +0 -1
  429. package/dist/chunk-VDKWYUGC.cjs.map +0 -1
  430. package/dist/chunk-VWAK25TU.js.map +0 -1
  431. package/dist/chunk-WYPSC6CO.js.map +0 -1
  432. package/dist/chunk-YIJZBU54.cjs.map +0 -1
  433. package/dist/chunk-ZBESCKPX.cjs.map +0 -1
  434. package/dist/chunk-ZVWVQ6MG.js.map +0 -1
  435. package/dist/models-dev-UVWCKPA2.cjs +0 -12
  436. package/dist/models-dev-W3LXZTEB.js +0 -3
  437. package/dist/provider-registry-4HLP2JRR.cjs +0 -40
  438. package/dist/provider-registry-K3DWQSMH.js +0 -3
@@ -51,37 +51,37 @@ const server = new MCPServer({
51
51
 
52
52
  The constructor accepts an `MCPServerConfig` object with the following properties:
53
53
 
54
- **id:** (`string`): Unique identifier for the server. This ID is preserved when the server is registered with Mastra and can be used to retrieve the server via getMCPServerById().
54
+ **id** (`string`): Unique identifier for the server. This ID is preserved when the server is registered with Mastra and can be used to retrieve the server via getMCPServerById().
55
55
 
56
- **name:** (`string`): A descriptive name for your server (e.g., 'My Weather and Agent Server').
56
+ **name** (`string`): A descriptive name for your server (e.g., 'My Weather and Agent Server').
57
57
 
58
- **version:** (`string`): The semantic version of your server (e.g., '1.0.0').
58
+ **version** (`string`): The semantic version of your server (e.g., '1.0.0').
59
59
 
60
- **tools:** (`ToolsInput`): An object where keys are tool names and values are Mastra tool definitions (created with \`createTool\` or Vercel AI SDK). These tools will be directly exposed.
60
+ **tools** (`ToolsInput`): An object where keys are tool names and values are Mastra tool definitions (created with \`createTool\` or Vercel AI SDK). These tools will be directly exposed.
61
61
 
62
- **agents?:** (`Record<string, Agent>`): An object where keys are agent identifiers and values are Mastra Agent instances. Each agent will be automatically converted into a tool named \`ask\_\<agentIdentifier>\`. The agent \*\*must\*\* have a non-empty \`description\` string property defined in its constructor configuration. This description will be used in the tool's description. If an agent's description is missing or empty, an error will be thrown during MCPServer initialization.
62
+ **agents** (`Record<string, Agent>`): An object where keys are agent identifiers and values are Mastra Agent instances. Each agent will be automatically converted into a tool named \`ask\_\<agentIdentifier>\`. The agent \*\*must\*\* have a non-empty \`description\` string property defined in its constructor configuration. This description will be used in the tool's description. If an agent's description is missing or empty, an error will be thrown during MCPServer initialization.
63
63
 
64
- **workflows?:** (`Record<string, Workflow>`): An object where keys are workflow identifiers and values are Mastra Workflow instances. Each workflow is converted into a tool named \`run\_\<workflowKey>\`. The workflow's \`inputSchema\` becomes the tool's input schema. The workflow \*\*must\*\* have a non-empty \`description\` string property, which is used for the tool's description. If a workflow's description is missing or empty, an error will be thrown. The tool executes the workflow by calling \`workflow\.createRun()\` followed by \`run.start({ inputData: \<tool\_input> })\`. If a tool name derived from an agent or workflow (e.g., \`ask\_myAgent\` or \`run\_myWorkflow\`) collides with an explicitly defined tool name or another derived name, the explicitly defined tool takes precedence, and a warning is logged. Agents/workflows leading to subsequent collisions are skipped.
64
+ **workflows** (`Record<string, Workflow>`): An object where keys are workflow identifiers and values are Mastra Workflow instances. Each workflow is converted into a tool named \`run\_\<workflowKey>\`. The workflow's \`inputSchema\` becomes the tool's input schema. The workflow \*\*must\*\* have a non-empty \`description\` string property, which is used for the tool's description. If a workflow's description is missing or empty, an error will be thrown. The tool executes the workflow by calling \`workflow\.createRun()\` followed by \`run.start({ inputData: \<tool\_input> })\`. If a tool name derived from an agent or workflow (e.g., \`ask\_myAgent\` or \`run\_myWorkflow\`) collides with an explicitly defined tool name or another derived name, the explicitly defined tool takes precedence, and a warning is logged. Agents/workflows leading to subsequent collisions are skipped.
65
65
 
66
- **description?:** (`string`): Optional description of what the MCP server does.
66
+ **description** (`string`): Optional description of what the MCP server does.
67
67
 
68
- **instructions?:** (`string`): Optional instructions describing how to use the server and its features.
68
+ **instructions** (`string`): Optional instructions describing how to use the server and its features.
69
69
 
70
- **repository?:** (`Repository`): Optional repository information for the server's source code.
70
+ **repository** (`Repository`): Optional repository information for the server's source code.
71
71
 
72
- **releaseDate?:** (`string`): Optional release date of this server version (ISO 8601 string). Defaults to the time of instantiation if not provided.
72
+ **releaseDate** (`string`): Optional release date of this server version (ISO 8601 string). Defaults to the time of instantiation if not provided.
73
73
 
74
- **isLatest?:** (`boolean`): Optional flag indicating if this is the latest version. Defaults to true if not provided.
74
+ **isLatest** (`boolean`): Optional flag indicating if this is the latest version. Defaults to true if not provided.
75
75
 
76
- **packageCanonical?:** (`'npm' | 'docker' | 'pypi' | 'crates' | string`): Optional canonical packaging format if the server is distributed as a package (e.g., 'npm', 'docker').
76
+ **packageCanonical** (`'npm' | 'docker' | 'pypi' | 'crates' | string`): Optional canonical packaging format if the server is distributed as a package (e.g., 'npm', 'docker').
77
77
 
78
- **packages?:** (`PackageInfo[]`): Optional list of installable packages for this server.
78
+ **packages** (`PackageInfo[]`): Optional list of installable packages for this server.
79
79
 
80
- **remotes?:** (`RemoteInfo[]`): Optional list of remote access points for this server.
80
+ **remotes** (`RemoteInfo[]`): Optional list of remote access points for this server.
81
81
 
82
- **resources?:** (`MCPServerResources`): An object defining how the server should handle MCP resources. See Resource Handling section for details.
82
+ **resources** (`MCPServerResources`): An object defining how the server should handle MCP resources. See Resource Handling section for details.
83
83
 
84
- **prompts?:** (`MCPServerPrompts`): An object defining how the server should handle MCP prompts. See Prompt Handling section for details.
84
+ **prompts** (`MCPServerPrompts`): An object defining how the server should handle MCP prompts. See Prompt Handling section for details.
85
85
 
86
86
  ## Exposing Agents as Tools
87
87
 
@@ -228,15 +228,15 @@ httpServer.listen(PORT, () => {
228
228
 
229
229
  Here are the details for the values needed by the `startSSE` method:
230
230
 
231
- **url:** (`URL`): The web address the user is requesting.
231
+ **url** (`URL`): The web address the user is requesting.
232
232
 
233
- **ssePath:** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/sse').
233
+ **ssePath** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/sse').
234
234
 
235
- **messagePath:** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
235
+ **messagePath** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
236
236
 
237
- **req:** (`any`): The incoming request object from your web server.
237
+ **req** (`any`): The incoming request object from your web server.
238
238
 
239
- **res:** (`any`): The response object from your web server, used to send data back.
239
+ **res** (`any`): The response object from your web server, used to send data back.
240
240
 
241
241
  ### startHonoSSE()
242
242
 
@@ -280,15 +280,15 @@ httpServer.listen(PORT, () => {
280
280
 
281
281
  Here are the details for the values needed by the `startHonoSSE` method:
282
282
 
283
- **url:** (`URL`): The web address the user is requesting.
283
+ **url** (`URL`): The web address the user is requesting.
284
284
 
285
- **ssePath:** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/hono-sse').
285
+ **ssePath** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/hono-sse').
286
286
 
287
- **messagePath:** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
287
+ **messagePath** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
288
288
 
289
- **req:** (`any`): The incoming request object from your web server.
289
+ **req** (`any`): The incoming request object from your web server.
290
290
 
291
- **res:** (`any`): The response object from your web server, used to send data back.
291
+ **res** (`any`): The response object from your web server, used to send data back.
292
292
 
293
293
  ### startHTTP()
294
294
 
@@ -402,27 +402,27 @@ serve(async req => {
402
402
 
403
403
  Here are the details for the values needed by the `startHTTP` method:
404
404
 
405
- **url:** (`URL`): The web address the user is requesting.
405
+ **url** (`URL`): The web address the user is requesting.
406
406
 
407
- **httpPath:** (`string`): The specific part of the URL where the MCP server will handle HTTP requests (e.g., '/mcp').
407
+ **httpPath** (`string`): The specific part of the URL where the MCP server will handle HTTP requests (e.g., '/mcp').
408
408
 
409
- **req:** (`http.IncomingMessage`): The incoming request object from your web server.
409
+ **req** (`http.IncomingMessage`): The incoming request object from your web server.
410
410
 
411
- **res:** (`http.ServerResponse`): The response object from your web server, used to send data back.
411
+ **res** (`http.ServerResponse`): The response object from your web server, used to send data back.
412
412
 
413
- **options:** (`StreamableHTTPServerTransportOptions`): Optional configuration for the HTTP transport. See the options table below for more details.
413
+ **options** (`StreamableHTTPServerTransportOptions`): Optional configuration for the HTTP transport. See the options table below for more details.
414
414
 
415
415
  The `StreamableHTTPServerTransportOptions` object allows you to customize the behavior of the HTTP transport. Here are the available options:
416
416
 
417
- **serverless:** (`boolean`): If \`true\`, runs in stateless mode without session management. Each request is handled independently with a fresh server instance. Essential for serverless environments (Cloudflare Workers, Supabase Edge Functions, Vercel Edge, etc.) where sessions cannot persist between invocations. Defaults to \`false\`.
417
+ **serverless** (`boolean`): If \`true\`, runs in stateless mode without session management. Each request is handled independently with a fresh server instance. Essential for serverless environments (Cloudflare Workers, Supabase Edge Functions, Vercel Edge, etc.) where sessions cannot persist between invocations. Defaults to \`false\`.
418
418
 
419
- **sessionIdGenerator:** (`(() => string) | undefined`): A function that generates a unique session ID. This should be a cryptographically secure, globally unique string. Return \`undefined\` to disable session management.
419
+ **sessionIdGenerator** (`(() => string) | undefined`): A function that generates a unique session ID. This should be a cryptographically secure, globally unique string. Return \`undefined\` to disable session management.
420
420
 
421
- **onsessioninitialized:** (`(sessionId: string) => void`): A callback that is invoked when a new session is initialized. This is useful for tracking active MCP sessions.
421
+ **onsessioninitialized** (`(sessionId: string) => void`): A callback that is invoked when a new session is initialized. This is useful for tracking active MCP sessions.
422
422
 
423
- **enableJsonResponse:** (`boolean`): If \`true\`, the server will return plain JSON responses instead of using Server-Sent Events (SSE) for streaming. Defaults to \`false\`.
423
+ **enableJsonResponse** (`boolean`): If \`true\`, the server will return plain JSON responses instead of using Server-Sent Events (SSE) for streaming. Defaults to \`false\`.
424
424
 
425
- **eventStore:** (`EventStore`): An event store for message resumability. Providing this enables clients to reconnect and resume message streams.
425
+ **eventStore** (`EventStore`): An event store for message resumability. Providing this enables clients to reconnect and resume message streams.
426
426
 
427
427
  ### close()
428
428
 
@@ -516,11 +516,11 @@ async executeTool(
516
516
  ): Promise<any>
517
517
  ```
518
518
 
519
- **toolId:** (`string`): The ID/name of the tool to execute.
519
+ **toolId** (`string`): The ID/name of the tool to execute.
520
520
 
521
- **args:** (`any`): The arguments to pass to the tool's execute function.
521
+ **args** (`any`): The arguments to pass to the tool's execute function.
522
522
 
523
- **executionContext?:** (`object`): Optional context for the tool execution, like messages or a toolCallId.
523
+ **executionContext** (`object`): Optional context for the tool execution, like messages or a toolCallId.
524
524
 
525
525
  ## Resource Handling
526
526
 
@@ -1073,17 +1073,17 @@ const customMiddleware = createOAuthMiddleware({
1073
1073
 
1074
1074
  ### OAuth Middleware Options
1075
1075
 
1076
- **oauth.resource:** (`string`): The canonical URL of your MCP server. This is returned in Protected Resource Metadata.
1076
+ **oauth.resource** (`string`): The canonical URL of your MCP server. This is returned in Protected Resource Metadata.
1077
1077
 
1078
- **oauth.authorizationServers:** (`string[]`): URLs of authorization servers that can issue tokens for this resource.
1078
+ **oauth.authorizationServers** (`string[]`): URLs of authorization servers that can issue tokens for this resource.
1079
1079
 
1080
- **oauth.scopesSupported?:** (`string[]`): Scopes supported by this MCP server. (Default: `['mcp:read', 'mcp:write']`)
1080
+ **oauth.scopesSupported** (`string[]`): Scopes supported by this MCP server. (Default: `['mcp:read', 'mcp:write']`)
1081
1081
 
1082
- **oauth.resourceName?:** (`string`): Human-readable name for this resource server.
1082
+ **oauth.resourceName** (`string`): Human-readable name for this resource server.
1083
1083
 
1084
- **oauth.validateToken?:** (`(token: string, resource: string) => Promise<TokenValidationResult>`): Function to validate access tokens. If not provided, tokens are accepted without validation (NOT recommended for production).
1084
+ **oauth.validateToken** (`(token: string, resource: string) => Promise<TokenValidationResult>`): Function to validate access tokens. If not provided, tokens are accepted without validation (NOT recommended for production).
1085
1085
 
1086
- **mcpPath?:** (`string`): Path where the MCP endpoint is served. Only requests to this path require authentication. (Default: `'/mcp'`)
1086
+ **mcpPath** (`string`): Path where the MCP endpoint is served. Only requests to this path require authentication. (Default: `'/mcp'`)
1087
1087
 
1088
1088
  ## Authentication Context
1089
1089
 
@@ -19,53 +19,65 @@ const queryTool = createVectorQueryTool({
19
19
 
20
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
21
 
22
- **id?:** (`string`): Custom ID for the tool. By default: 'VectorQuery {vectorStoreName} {indexName} Tool'. (Set at creation only.)
22
+ **id** (`string`): Custom ID for the tool. By default: 'VectorQuery {vectorStoreName} {indexName} Tool'. (Set at creation only.)
23
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.)
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
25
 
26
- **model:** (`EmbeddingModel`): Embedding model to use for vector search. (Set at creation only.)
26
+ **model** (`EmbeddingModel`): Embedding model to use for vector search. (Set at creation only.)
27
27
 
28
- **vectorStoreName:** (`string`): Name of the vector store to query. (Can be set at creation or overridden at runtime.)
28
+ **vectorStoreName** (`string`): Name of the vector store to query. (Can be set at creation or overridden at runtime.)
29
29
 
30
- **indexName:** (`string`): Name of the index within the vector store. (Can be set at creation or overridden at runtime.)
30
+ **indexName** (`string`): Name of the index within the vector store. (Can be set at creation or overridden at runtime.)
31
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`)
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
33
 
34
- **includeVectors?:** (`boolean`): Include the embedding vectors in the results. (Can be set at creation or overridden at runtime.) (Default: `false`)
34
+ **includeVectors** (`boolean`): Include the embedding vectors in the results. (Can be set at creation or overridden at runtime.) (Default: `false`)
35
35
 
36
- **includeSources?:** (`boolean`): Include the full retrieval objects in the results. (Can be set at creation or overridden at runtime.) (Default: `true`)
36
+ **includeSources** (`boolean`): Include the full retrieval objects in the results. (Can be set at creation or overridden at runtime.) (Default: `true`)
37
37
 
38
- **reranker?:** (`RerankConfig`): Options for reranking results. (Can be set at creation or overridden at runtime.)
38
+ **reranker** (`RerankConfig`): Options for reranking results. (Can be set at creation or overridden at runtime.)
39
39
 
40
- **databaseConfig?:** (`DatabaseConfig`): Database-specific configuration options for optimizing queries. (Can be set at creation or overridden at runtime.)
40
+ **reranker.model** (`MastraLanguageModel`): Language model to use for reranking
41
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.
42
+ **reranker.options** (`RerankerOptions`): Options for the reranking process
43
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.
44
+ **reranker.options.weights** (`WeightConfig`): Weights for scoring components (semantic: 0.4, vector: 0.4, position: 0.2)
45
45
 
46
- ### DatabaseConfig
46
+ **reranker.options.topK** (`number`): Number of top results to return
47
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.
48
+ **databaseConfig** (`DatabaseConfig`): Database-specific configuration options for optimizing queries. (Can be set at creation or overridden at runtime.)
49
49
 
50
- **pinecone?:** (`PineconeConfig`): objectnamespace?:stringPinecone namespace for organizing vectorssparseVector?:{ indices: number\[]; values: number\[]; }Sparse vector for hybrid search
50
+ **databaseConfig.pinecone** (`PineconeConfig`): Configuration specific to Pinecone vector store
51
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
52
+ **databaseConfig.pinecone.namespace** (`string`): Pinecone namespace for organizing vectors
53
53
 
54
- **chroma?:** (`ChromaConfig`): objectwhere?:Record\<string, any>Metadata filtering conditionswhereDocument?:Record\<string, any>Document content filtering conditions
54
+ **databaseConfig.pinecone.sparseVector** (`{ indices: number[]; values: number[]; }`): Sparse vector for hybrid search
55
55
 
56
- ### RerankConfig
56
+ **databaseConfig.pgvector** (`PgVectorConfig`): Configuration specific to PostgreSQL with pgvector extension
57
57
 
58
- **model:** (`MastraLanguageModel`): Language model to use for reranking
58
+ **databaseConfig.pgvector.minScore** (`number`): Minimum similarity score threshold for results
59
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
60
+ **databaseConfig.pgvector.ef** (`number`): HNSW search parameter - controls accuracy vs speed tradeoff
61
+
62
+ **databaseConfig.pgvector.probes** (`number`): IVFFlat probe parameter - number of cells to visit during search
63
+
64
+ **databaseConfig.chroma** (`ChromaConfig`): Configuration specific to Chroma vector store
65
+
66
+ **databaseConfig.chroma.where** (`Record<string, any>`): Metadata filtering conditions
67
+
68
+ **databaseConfig.chroma.whereDocument** (`Record<string, any>`): Document content filtering conditions
69
+
70
+ **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.
71
+
72
+ **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.
61
73
 
62
74
  ## Returns
63
75
 
64
76
  The tool returns an object with:
65
77
 
66
- **relevantContext:** (`string`): Combined text from the most relevant document chunks
78
+ **relevantContext** (`string`): Combined text from the most relevant document chunks
67
79
 
68
- **sources:** (`QueryResult[]`): Array of full retrieval result objects. Each object contains all information needed to reference the original document, chunk, and similarity score.
80
+ **sources** (`QueryResult[]`): Array of full retrieval result objects. Each object contains all information needed to reference the original document, chunk, and similarity score.
69
81
 
70
82
  ### QueryResult object structure
71
83
 
@@ -71,13 +71,13 @@ const results = await store.query({
71
71
 
72
72
  ## Constructor Options
73
73
 
74
- **url:** (`string`): libSQL database URL. Use ':memory:' for in-memory database, 'file:dbname.db' for local file, or a libSQL-compatible connection string like 'libsql://your-database.turso.io'.
74
+ **url** (`string`): libSQL database URL. Use ':memory:' for in-memory database, 'file:dbname.db' for local file, or a libSQL-compatible connection string like 'libsql://your-database.turso.io'.
75
75
 
76
- **authToken?:** (`string`): Authentication token for Turso cloud databases
76
+ **authToken** (`string`): Authentication token for Turso cloud databases
77
77
 
78
- **syncUrl?:** (`string`): URL for database replication (Turso specific)
78
+ **syncUrl** (`string`): URL for database replication (Turso specific)
79
79
 
80
- **syncInterval?:** (`number`): Interval in milliseconds for database sync (Turso specific)
80
+ **syncInterval** (`number`): Interval in milliseconds for database sync (Turso specific)
81
81
 
82
82
  ## Methods
83
83
 
@@ -85,45 +85,45 @@ const results = await store.query({
85
85
 
86
86
  Creates a new vector collection. The index name must start with a letter or underscore and can only contain letters, numbers, and underscores. The dimension must be a positive integer.
87
87
 
88
- **indexName:** (`string`): Name of the index to create
88
+ **indexName** (`string`): Name of the index to create
89
89
 
90
- **dimension:** (`number`): Vector dimension size (must match your embedding model)
90
+ **dimension** (`number`): Vector dimension size (must match your embedding model)
91
91
 
92
- **metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search. Note: Currently only cosine similarity is supported by libSQL. (Default: `cosine`)
92
+ **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search. Note: Currently only cosine similarity is supported by libSQL. (Default: `cosine`)
93
93
 
94
94
  ### upsert()
95
95
 
96
96
  Adds or updates vectors and their metadata in the index. Uses a transaction to ensure all vectors are inserted atomically - if any insert fails, the entire operation is rolled back.
97
97
 
98
- **indexName:** (`string`): Name of the index to insert into
98
+ **indexName** (`string`): Name of the index to insert into
99
99
 
100
- **vectors:** (`number[][]`): Array of embedding vectors
100
+ **vectors** (`number[][]`): Array of embedding vectors
101
101
 
102
- **metadata?:** (`Record<string, any>[]`): Metadata for each vector
102
+ **metadata** (`Record<string, any>[]`): Metadata for each vector
103
103
 
104
- **ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
104
+ **ids** (`string[]`): Optional vector IDs (auto-generated if not provided)
105
105
 
106
106
  ### query()
107
107
 
108
108
  Searches for similar vectors with optional metadata filtering.
109
109
 
110
- **indexName:** (`string`): Name of the index to search in
110
+ **indexName** (`string`): Name of the index to search in
111
111
 
112
- **queryVector:** (`number[]`): Query vector to find similar vectors for
112
+ **queryVector** (`number[]`): Query vector to find similar vectors for
113
113
 
114
- **topK?:** (`number`): Number of results to return (Default: `10`)
114
+ **topK** (`number`): Number of results to return (Default: `10`)
115
115
 
116
- **filter?:** (`Filter`): Metadata filters
116
+ **filter** (`Filter`): Metadata filters
117
117
 
118
- **includeVector?:** (`boolean`): Whether to include vector data in results (Default: `false`)
118
+ **includeVector** (`boolean`): Whether to include vector data in results (Default: `false`)
119
119
 
120
- **minScore?:** (`number`): Minimum similarity score threshold (Default: `0`)
120
+ **minScore** (`number`): Minimum similarity score threshold (Default: `0`)
121
121
 
122
122
  ### describeIndex()
123
123
 
124
124
  Gets information about an index.
125
125
 
126
- **indexName:** (`string`): Name of the index to describe
126
+ **indexName** (`string`): Name of the index to describe
127
127
 
128
128
  Returns:
129
129
 
@@ -139,7 +139,7 @@ interface IndexStats {
139
139
 
140
140
  Deletes an index and all its data.
141
141
 
142
- **indexName:** (`string`): Name of the index to delete
142
+ **indexName** (`string`): Name of the index to delete
143
143
 
144
144
  ### listIndexes()
145
145
 
@@ -151,41 +151,41 @@ Returns: `Promise<string[]>`
151
151
 
152
152
  Removes all vectors from an index while keeping the index structure.
153
153
 
154
- **indexName:** (`string`): Name of the index to truncate
154
+ **indexName** (`string`): Name of the index to truncate
155
155
 
156
156
  ### updateVector()
157
157
 
158
158
  Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
159
159
 
160
- **indexName:** (`string`): Name of the index containing the vector
160
+ **indexName** (`string`): Name of the index containing the vector
161
161
 
162
- **id?:** (`string`): ID of the vector entry to update (mutually exclusive with filter)
162
+ **id** (`string`): ID of the vector entry to update (mutually exclusive with filter)
163
163
 
164
- **filter?:** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
164
+ **filter** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
165
165
 
166
- **update:** (`object`): Update data containing vector and/or metadata
166
+ **update** (`object`): Update data containing vector and/or metadata
167
167
 
168
- **update.vector?:** (`number[]`): New vector data to update
168
+ **update.vector** (`number[]`): New vector data to update
169
169
 
170
- **update.metadata?:** (`Record<string, any>`): New metadata to update
170
+ **update.metadata** (`Record<string, any>`): New metadata to update
171
171
 
172
172
  ### deleteVector()
173
173
 
174
174
  Deletes a specific vector entry from an index by its ID.
175
175
 
176
- **indexName:** (`string`): Name of the index containing the vector
176
+ **indexName** (`string`): Name of the index containing the vector
177
177
 
178
- **id:** (`string`): ID of the vector entry to delete
178
+ **id** (`string`): ID of the vector entry to delete
179
179
 
180
180
  ### deleteVectors()
181
181
 
182
182
  Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
183
183
 
184
- **indexName:** (`string`): Name of the index containing the vectors to delete
184
+ **indexName** (`string`): Name of the index containing the vectors to delete
185
185
 
186
- **ids?:** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
186
+ **ids** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
187
187
 
188
- **filter?:** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
188
+ **filter** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
189
189
 
190
190
  ## Response Types
191
191
 
@@ -57,15 +57,15 @@ const store = new MongoDBVector({
57
57
 
58
58
  ## Constructor Options
59
59
 
60
- **id:** (`string`): Unique identifier for this vector store instance
60
+ **id** (`string`): Unique identifier for this vector store instance
61
61
 
62
- **uri:** (`string`): MongoDB connection string
62
+ **uri** (`string`): MongoDB connection string
63
63
 
64
- **dbName:** (`string`): Name of the MongoDB database to use
64
+ **dbName** (`string`): Name of the MongoDB database to use
65
65
 
66
- **options?:** (`MongoClientOptions`): Optional MongoDB client options
66
+ **options** (`MongoClientOptions`): Optional MongoDB client options
67
67
 
68
- **embeddingFieldPath?:** (`string`): Path to the field that stores vector embeddings. Supports nested paths using dot notation (e.g., 'text.contentEmbedding'). (Default: `embedding`)
68
+ **embeddingFieldPath** (`string`): Path to the field that stores vector embeddings. Supports nested paths using dot notation (e.g., 'text.contentEmbedding'). (Default: `embedding`)
69
69
 
70
70
  ## Methods
71
71
 
@@ -73,47 +73,47 @@ const store = new MongoDBVector({
73
73
 
74
74
  Creates a new vector index (collection) in MongoDB.
75
75
 
76
- **indexName:** (`string`): Name of the collection to create
76
+ **indexName** (`string`): Name of the collection to create
77
77
 
78
- **dimension:** (`number`): Vector dimension (must match your embedding model)
78
+ **dimension** (`number`): Vector dimension (must match your embedding model)
79
79
 
80
- **metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
80
+ **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
81
81
 
82
82
  ### upsert()
83
83
 
84
84
  Adds or updates vectors and their metadata in the collection.
85
85
 
86
- **indexName:** (`string`): Name of the collection to insert into
86
+ **indexName** (`string`): Name of the collection to insert into
87
87
 
88
- **vectors:** (`number[][]`): Array of embedding vectors
88
+ **vectors** (`number[][]`): Array of embedding vectors
89
89
 
90
- **metadata?:** (`Record<string, any>[]`): Metadata for each vector
90
+ **metadata** (`Record<string, any>[]`): Metadata for each vector
91
91
 
92
- **ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
92
+ **ids** (`string[]`): Optional vector IDs (auto-generated if not provided)
93
93
 
94
94
  ### query()
95
95
 
96
96
  Searches for similar vectors with optional metadata filtering.
97
97
 
98
- **indexName:** (`string`): Name of the collection to search in
98
+ **indexName** (`string`): Name of the collection to search in
99
99
 
100
- **queryVector:** (`number[]`): Query vector to find similar vectors for
100
+ **queryVector** (`number[]`): Query vector to find similar vectors for
101
101
 
102
- **topK?:** (`number`): Number of results to return (Default: `10`)
102
+ **topK** (`number`): Number of results to return (Default: `10`)
103
103
 
104
- **filter?:** (`Record<string, any>`): Metadata filters (applies to the \`metadata\` field)
104
+ **filter** (`Record<string, any>`): Metadata filters (applies to the \`metadata\` field)
105
105
 
106
- **documentFilter?:** (`Record<string, any>`): Filters on original document fields (not just metadata)
106
+ **documentFilter** (`Record<string, any>`): Filters on original document fields (not just metadata)
107
107
 
108
- **includeVector?:** (`boolean`): Whether to include vector data in results (Default: `false`)
108
+ **includeVector** (`boolean`): Whether to include vector data in results (Default: `false`)
109
109
 
110
- **minScore?:** (`number`): Minimum similarity score threshold (Default: `0`)
110
+ **minScore** (`number`): Minimum similarity score threshold (Default: `0`)
111
111
 
112
112
  ### describeIndex()
113
113
 
114
114
  Returns information about the index (collection).
115
115
 
116
- **indexName:** (`string`): Name of the collection to describe
116
+ **indexName** (`string`): Name of the collection to describe
117
117
 
118
118
  Returns:
119
119
 
@@ -129,7 +129,7 @@ interface IndexStats {
129
129
 
130
130
  Deletes a collection and all its data.
131
131
 
132
- **indexName:** (`string`): Name of the collection to delete
132
+ **indexName** (`string`): Name of the collection to delete
133
133
 
134
134
  ### listIndexes()
135
135
 
@@ -141,35 +141,35 @@ Returns: `Promise<string[]>`
141
141
 
142
142
  Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
143
143
 
144
- **indexName:** (`string`): Name of the collection containing the vector
144
+ **indexName** (`string`): Name of the collection containing the vector
145
145
 
146
- **id?:** (`string`): ID of the vector entry to update (mutually exclusive with filter)
146
+ **id** (`string`): ID of the vector entry to update (mutually exclusive with filter)
147
147
 
148
- **filter?:** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
148
+ **filter** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
149
149
 
150
- **update:** (`object`): Update data containing vector and/or metadata
150
+ **update** (`object`): Update data containing vector and/or metadata
151
151
 
152
- **update.vector?:** (`number[]`): New vector data to update
152
+ **update.vector** (`number[]`): New vector data to update
153
153
 
154
- **update.metadata?:** (`Record<string, any>`): New metadata to update
154
+ **update.metadata** (`Record<string, any>`): New metadata to update
155
155
 
156
156
  ### deleteVector()
157
157
 
158
158
  Deletes a specific vector entry from an index by its ID.
159
159
 
160
- **indexName:** (`string`): Name of the collection containing the vector
160
+ **indexName** (`string`): Name of the collection containing the vector
161
161
 
162
- **id:** (`string`): ID of the vector entry to delete
162
+ **id** (`string`): ID of the vector entry to delete
163
163
 
164
164
  ### deleteVectors()
165
165
 
166
166
  Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
167
167
 
168
- **indexName:** (`string`): Name of the collection containing the vectors to delete
168
+ **indexName** (`string`): Name of the collection containing the vectors to delete
169
169
 
170
- **ids?:** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
170
+ **ids** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
171
171
 
172
- **filter?:** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
172
+ **filter** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
173
173
 
174
174
  ### disconnect()
175
175