@mastra/core 1.7.0 → 1.8.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 (498) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/dist/agent/agent-legacy.d.ts +15 -0
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent.d.ts +7 -0
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.types.d.ts +311 -2
  7. package/dist/agent/agent.types.d.ts.map +1 -1
  8. package/dist/agent/index.cjs +13 -13
  9. package/dist/agent/index.d.ts +3 -1
  10. package/dist/agent/index.d.ts.map +1 -1
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +18 -18
  13. package/dist/agent/message-list/index.js +1 -1
  14. package/dist/agent/message-list/merge/MessageMerger.d.ts.map +1 -1
  15. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  18. package/dist/{chunk-A72NTLFT.cjs → chunk-2IO5Q7OZ.cjs} +7 -7
  19. package/dist/{chunk-A72NTLFT.cjs.map → chunk-2IO5Q7OZ.cjs.map} +1 -1
  20. package/dist/{chunk-DFCRXDVK.js → chunk-2KHPZJNU.js} +10 -8
  21. package/dist/chunk-2KHPZJNU.js.map +1 -0
  22. package/dist/{chunk-R4N65TLG.js → chunk-2R5MQMSA.js} +35 -16
  23. package/dist/chunk-2R5MQMSA.js.map +1 -0
  24. package/dist/{chunk-ZSBM2SVU.js → chunk-4H5F6AFP.js} +1064 -226
  25. package/dist/chunk-4H5F6AFP.js.map +1 -0
  26. package/dist/{chunk-BQHWJLXU.js → chunk-63G75DJE.js} +9 -3
  27. package/dist/chunk-63G75DJE.js.map +1 -0
  28. package/dist/{chunk-SBOHDNIZ.cjs → chunk-6GSWC5ZA.cjs} +2 -2
  29. package/dist/{chunk-SBOHDNIZ.cjs.map → chunk-6GSWC5ZA.cjs.map} +1 -1
  30. package/dist/{chunk-QTAS3HND.cjs → chunk-6Q2UD3XF.cjs} +21 -14
  31. package/dist/chunk-6Q2UD3XF.cjs.map +1 -0
  32. package/dist/{chunk-GPJGPARM.js → chunk-DTPR3JAM.js} +2 -2
  33. package/dist/{chunk-GPJGPARM.js.map → chunk-DTPR3JAM.js.map} +1 -1
  34. package/dist/{chunk-NN26FSKL.js → chunk-FHJ2KIU5.js} +3 -3
  35. package/dist/{chunk-NN26FSKL.js.map → chunk-FHJ2KIU5.js.map} +1 -1
  36. package/dist/{chunk-RABITNTG.cjs → chunk-HWG7NPJA.cjs} +55 -55
  37. package/dist/{chunk-RABITNTG.cjs.map → chunk-HWG7NPJA.cjs.map} +1 -1
  38. package/dist/{chunk-HB6T4554.cjs → chunk-KH3G65IS.cjs} +10 -8
  39. package/dist/chunk-KH3G65IS.cjs.map +1 -0
  40. package/dist/{chunk-YQG7NBPR.cjs → chunk-KZ4IKNPN.cjs} +25 -23
  41. package/dist/chunk-KZ4IKNPN.cjs.map +1 -0
  42. package/dist/{chunk-6DUTLERJ.js → chunk-MRV5NCPC.js} +3 -3
  43. package/dist/{chunk-6DUTLERJ.js.map → chunk-MRV5NCPC.js.map} +1 -1
  44. package/dist/{chunk-O7PZ4VOO.cjs → chunk-N3ROEJG4.cjs} +12 -10
  45. package/dist/chunk-N3ROEJG4.cjs.map +1 -0
  46. package/dist/{chunk-7EXW4AAG.js → chunk-NXKI2L4X.js} +6 -4
  47. package/dist/chunk-NXKI2L4X.js.map +1 -0
  48. package/dist/{chunk-QWTB53GS.js → chunk-OSEPGSLN.js} +6 -6
  49. package/dist/{chunk-QWTB53GS.js.map → chunk-OSEPGSLN.js.map} +1 -1
  50. package/dist/{chunk-6OXW5E2O.js → chunk-PI7ONENO.js} +4 -4
  51. package/dist/{chunk-6OXW5E2O.js.map → chunk-PI7ONENO.js.map} +1 -1
  52. package/dist/{chunk-KUXNBWN7.js → chunk-Q4MV4XKX.js} +8 -6
  53. package/dist/chunk-Q4MV4XKX.js.map +1 -0
  54. package/dist/{chunk-7UAJ6LMR.cjs → chunk-QKQGKEN7.cjs} +1078 -241
  55. package/dist/chunk-QKQGKEN7.cjs.map +1 -0
  56. package/dist/{chunk-IC5OUWKJ.js → chunk-SP7P6Z4L.js} +19 -2
  57. package/dist/chunk-SP7P6Z4L.js.map +1 -0
  58. package/dist/{chunk-QDH6MVJ7.cjs → chunk-TGUDI64A.cjs} +14 -14
  59. package/dist/{chunk-QDH6MVJ7.cjs.map → chunk-TGUDI64A.cjs.map} +1 -1
  60. package/dist/{chunk-EAZ6YDCQ.cjs → chunk-U3HBG2GU.cjs} +9 -2
  61. package/dist/chunk-U3HBG2GU.cjs.map +1 -0
  62. package/dist/{chunk-6QBN6MZY.cjs → chunk-VAKB5EXJ.cjs} +42 -23
  63. package/dist/chunk-VAKB5EXJ.cjs.map +1 -0
  64. package/dist/{chunk-QSHV7GPT.js → chunk-VBPU6CLZ.js} +3808 -3026
  65. package/dist/chunk-VBPU6CLZ.js.map +1 -0
  66. package/dist/{chunk-2X66GWF5.cjs → chunk-VTVCMIAI.cjs} +3905 -3121
  67. package/dist/chunk-VTVCMIAI.cjs.map +1 -0
  68. package/dist/{chunk-PHHJLGZU.cjs → chunk-XNWF6CYR.cjs} +6 -6
  69. package/dist/{chunk-PHHJLGZU.cjs.map → chunk-XNWF6CYR.cjs.map} +1 -1
  70. package/dist/{chunk-T6GAM3SQ.js → chunk-ZRPTWYWJ.js} +18 -11
  71. package/dist/chunk-ZRPTWYWJ.js.map +1 -0
  72. package/dist/{chunk-DB7U2C5B.cjs → chunk-ZXOWG32X.cjs} +19 -2
  73. package/dist/chunk-ZXOWG32X.cjs.map +1 -0
  74. package/dist/datasets/experiment/index.d.ts.map +1 -1
  75. package/dist/datasets/experiment/scorer.d.ts +1 -1
  76. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  77. package/dist/datasets/index.cjs +17 -17
  78. package/dist/datasets/index.js +2 -2
  79. package/dist/docs/SKILL.md +300 -0
  80. package/dist/docs/assets/SOURCE_MAP.json +1423 -0
  81. package/dist/docs/references/docs-agents-adding-voice.md +349 -0
  82. package/dist/docs/references/docs-agents-agent-approval.md +558 -0
  83. package/dist/docs/references/docs-agents-agent-memory.md +209 -0
  84. package/dist/docs/references/docs-agents-guardrails.md +374 -0
  85. package/dist/docs/references/docs-agents-network-approval.md +275 -0
  86. package/dist/docs/references/docs-agents-networks.md +299 -0
  87. package/dist/docs/references/docs-agents-overview.md +304 -0
  88. package/dist/docs/references/docs-agents-processors.md +622 -0
  89. package/dist/docs/references/docs-agents-structured-output.md +273 -0
  90. package/dist/docs/references/docs-agents-supervisor-agents.md +304 -0
  91. package/dist/docs/references/docs-agents-using-tools.md +214 -0
  92. package/dist/docs/references/docs-evals-custom-scorers.md +519 -0
  93. package/dist/docs/references/docs-evals-overview.md +141 -0
  94. package/dist/docs/references/docs-evals-running-in-ci.md +124 -0
  95. package/dist/docs/references/docs-memory-memory-processors.md +314 -0
  96. package/dist/docs/references/docs-memory-observational-memory.md +248 -0
  97. package/dist/docs/references/docs-memory-overview.md +45 -0
  98. package/dist/docs/references/docs-memory-semantic-recall.md +272 -0
  99. package/dist/docs/references/docs-memory-storage.md +261 -0
  100. package/dist/docs/references/docs-memory-working-memory.md +400 -0
  101. package/dist/docs/references/docs-observability-datasets-overview.md +198 -0
  102. package/dist/docs/references/docs-observability-datasets-running-experiments.md +274 -0
  103. package/dist/docs/references/docs-observability-logging.md +99 -0
  104. package/dist/docs/references/docs-observability-overview.md +70 -0
  105. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +209 -0
  106. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +272 -0
  107. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +111 -0
  108. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +127 -0
  109. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +187 -0
  110. package/dist/docs/references/docs-observability-tracing-exporters-default.md +209 -0
  111. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +100 -0
  112. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +213 -0
  113. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +198 -0
  114. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +476 -0
  115. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +148 -0
  116. package/dist/docs/references/docs-observability-tracing-overview.md +1112 -0
  117. package/dist/docs/references/docs-rag-chunking-and-embedding.md +183 -0
  118. package/dist/docs/references/docs-rag-graph-rag.md +215 -0
  119. package/dist/docs/references/docs-rag-overview.md +72 -0
  120. package/dist/docs/references/docs-rag-retrieval.md +515 -0
  121. package/dist/docs/references/docs-rag-vector-databases.md +645 -0
  122. package/dist/docs/references/docs-server-auth-auth0.md +220 -0
  123. package/dist/docs/references/docs-server-auth-clerk.md +132 -0
  124. package/dist/docs/references/docs-server-auth-composite-auth.md +234 -0
  125. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +513 -0
  126. package/dist/docs/references/docs-server-auth-firebase.md +272 -0
  127. package/dist/docs/references/docs-server-auth-jwt.md +110 -0
  128. package/dist/docs/references/docs-server-auth-simple-auth.md +180 -0
  129. package/dist/docs/references/docs-server-auth-supabase.md +117 -0
  130. package/dist/docs/references/docs-server-auth-workos.md +186 -0
  131. package/dist/docs/references/docs-server-custom-adapters.md +378 -0
  132. package/dist/docs/references/docs-server-custom-api-routes.md +267 -0
  133. package/dist/docs/references/docs-server-mastra-client.md +243 -0
  134. package/dist/docs/references/docs-server-mastra-server.md +71 -0
  135. package/dist/docs/references/docs-server-middleware.md +225 -0
  136. package/dist/docs/references/docs-server-request-context.md +471 -0
  137. package/dist/docs/references/docs-streaming-events.md +237 -0
  138. package/dist/docs/references/docs-streaming-tool-streaming.md +175 -0
  139. package/dist/docs/references/docs-streaming-workflow-streaming.md +109 -0
  140. package/dist/docs/references/docs-voice-overview.md +959 -0
  141. package/dist/docs/references/docs-voice-speech-to-speech.md +102 -0
  142. package/dist/docs/references/docs-voice-speech-to-text.md +79 -0
  143. package/dist/docs/references/docs-voice-text-to-speech.md +83 -0
  144. package/dist/docs/references/docs-workflows-agents-and-tools.md +166 -0
  145. package/dist/docs/references/docs-workflows-control-flow.md +822 -0
  146. package/dist/docs/references/docs-workflows-error-handling.md +360 -0
  147. package/dist/docs/references/docs-workflows-human-in-the-loop.md +215 -0
  148. package/dist/docs/references/docs-workflows-overview.md +370 -0
  149. package/dist/docs/references/docs-workflows-snapshots.md +238 -0
  150. package/dist/docs/references/docs-workflows-suspend-and-resume.md +205 -0
  151. package/dist/docs/references/docs-workflows-time-travel.md +309 -0
  152. package/dist/docs/references/docs-workflows-workflow-state.md +181 -0
  153. package/dist/docs/references/docs-workspace-filesystem.md +164 -0
  154. package/dist/docs/references/docs-workspace-overview.md +239 -0
  155. package/dist/docs/references/docs-workspace-sandbox.md +63 -0
  156. package/dist/docs/references/docs-workspace-search.md +243 -0
  157. package/dist/docs/references/docs-workspace-skills.md +169 -0
  158. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +140 -0
  159. package/dist/docs/references/reference-agents-agent.md +141 -0
  160. package/dist/docs/references/reference-agents-generate.md +186 -0
  161. package/dist/docs/references/reference-agents-generateLegacy.md +173 -0
  162. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
  163. package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
  164. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
  165. package/dist/docs/references/reference-agents-getDescription.md +21 -0
  166. package/dist/docs/references/reference-agents-getInstructions.md +34 -0
  167. package/dist/docs/references/reference-agents-getLLM.md +37 -0
  168. package/dist/docs/references/reference-agents-getMemory.md +34 -0
  169. package/dist/docs/references/reference-agents-getModel.md +34 -0
  170. package/dist/docs/references/reference-agents-getTools.md +29 -0
  171. package/dist/docs/references/reference-agents-getVoice.md +34 -0
  172. package/dist/docs/references/reference-agents-listAgents.md +35 -0
  173. package/dist/docs/references/reference-agents-listScorers.md +34 -0
  174. package/dist/docs/references/reference-agents-listTools.md +34 -0
  175. package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
  176. package/dist/docs/references/reference-agents-network.md +133 -0
  177. package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
  178. package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
  179. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +231 -0
  180. package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
  181. package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
  182. package/dist/docs/references/reference-auth-auth0.md +73 -0
  183. package/dist/docs/references/reference-auth-clerk.md +36 -0
  184. package/dist/docs/references/reference-auth-firebase.md +80 -0
  185. package/dist/docs/references/reference-auth-jwt.md +26 -0
  186. package/dist/docs/references/reference-auth-supabase.md +33 -0
  187. package/dist/docs/references/reference-auth-workos.md +84 -0
  188. package/dist/docs/references/reference-client-js-agents.md +437 -0
  189. package/dist/docs/references/reference-configuration.md +752 -0
  190. package/dist/docs/references/reference-core-addGateway.md +42 -0
  191. package/dist/docs/references/reference-core-getAgent.md +21 -0
  192. package/dist/docs/references/reference-core-getAgentById.md +21 -0
  193. package/dist/docs/references/reference-core-getDeployer.md +22 -0
  194. package/dist/docs/references/reference-core-getGateway.md +38 -0
  195. package/dist/docs/references/reference-core-getGatewayById.md +41 -0
  196. package/dist/docs/references/reference-core-getLogger.md +22 -0
  197. package/dist/docs/references/reference-core-getMCPServer.md +47 -0
  198. package/dist/docs/references/reference-core-getMCPServerById.md +55 -0
  199. package/dist/docs/references/reference-core-getMemory.md +50 -0
  200. package/dist/docs/references/reference-core-getScorer.md +54 -0
  201. package/dist/docs/references/reference-core-getScorerById.md +54 -0
  202. package/dist/docs/references/reference-core-getServer.md +22 -0
  203. package/dist/docs/references/reference-core-getStorage.md +22 -0
  204. package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
  205. package/dist/docs/references/reference-core-getTelemetry.md +22 -0
  206. package/dist/docs/references/reference-core-getVector.md +22 -0
  207. package/dist/docs/references/reference-core-getWorkflow.md +42 -0
  208. package/dist/docs/references/reference-core-listAgents.md +21 -0
  209. package/dist/docs/references/reference-core-listGateways.md +40 -0
  210. package/dist/docs/references/reference-core-listLogs.md +38 -0
  211. package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
  212. package/dist/docs/references/reference-core-listMCPServers.md +55 -0
  213. package/dist/docs/references/reference-core-listMemory.md +56 -0
  214. package/dist/docs/references/reference-core-listScorers.md +29 -0
  215. package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
  216. package/dist/docs/references/reference-core-listVectors.md +22 -0
  217. package/dist/docs/references/reference-core-listWorkflows.md +21 -0
  218. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  219. package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
  220. package/dist/docs/references/reference-core-setLogger.md +26 -0
  221. package/dist/docs/references/reference-core-setStorage.md +27 -0
  222. package/dist/docs/references/reference-datasets-addItem.md +37 -0
  223. package/dist/docs/references/reference-datasets-addItems.md +35 -0
  224. package/dist/docs/references/reference-datasets-compareExperiments.md +52 -0
  225. package/dist/docs/references/reference-datasets-create.md +51 -0
  226. package/dist/docs/references/reference-datasets-dataset.md +82 -0
  227. package/dist/docs/references/reference-datasets-datasets-manager.md +94 -0
  228. package/dist/docs/references/reference-datasets-delete.md +25 -0
  229. package/dist/docs/references/reference-datasets-deleteExperiment.md +27 -0
  230. package/dist/docs/references/reference-datasets-deleteItem.md +27 -0
  231. package/dist/docs/references/reference-datasets-deleteItems.md +29 -0
  232. package/dist/docs/references/reference-datasets-get.md +31 -0
  233. package/dist/docs/references/reference-datasets-getDetails.md +47 -0
  234. package/dist/docs/references/reference-datasets-getExperiment.md +30 -0
  235. package/dist/docs/references/reference-datasets-getItem.md +33 -0
  236. package/dist/docs/references/reference-datasets-getItemHistory.md +31 -0
  237. package/dist/docs/references/reference-datasets-list.md +31 -0
  238. package/dist/docs/references/reference-datasets-listExperimentResults.md +39 -0
  239. package/dist/docs/references/reference-datasets-listExperiments.md +33 -0
  240. package/dist/docs/references/reference-datasets-listItems.md +46 -0
  241. package/dist/docs/references/reference-datasets-listVersions.md +33 -0
  242. package/dist/docs/references/reference-datasets-startExperiment.md +62 -0
  243. package/dist/docs/references/reference-datasets-startExperimentAsync.md +43 -0
  244. package/dist/docs/references/reference-datasets-update.md +48 -0
  245. package/dist/docs/references/reference-datasets-updateItem.md +38 -0
  246. package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
  247. package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
  248. package/dist/docs/references/reference-evals-bias.md +120 -0
  249. package/dist/docs/references/reference-evals-completeness.md +136 -0
  250. package/dist/docs/references/reference-evals-content-similarity.md +101 -0
  251. package/dist/docs/references/reference-evals-context-precision.md +196 -0
  252. package/dist/docs/references/reference-evals-create-scorer.md +270 -0
  253. package/dist/docs/references/reference-evals-faithfulness.md +114 -0
  254. package/dist/docs/references/reference-evals-hallucination.md +213 -0
  255. package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
  256. package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
  257. package/dist/docs/references/reference-evals-run-evals.md +179 -0
  258. package/dist/docs/references/reference-evals-scorer-utils.md +326 -0
  259. package/dist/docs/references/reference-evals-textual-difference.md +113 -0
  260. package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
  261. package/dist/docs/references/reference-evals-toxicity.md +123 -0
  262. package/dist/docs/references/reference-harness-harness-class.md +708 -0
  263. package/dist/docs/references/reference-logging-pino-logger.md +117 -0
  264. package/dist/docs/references/reference-memory-deleteMessages.md +38 -0
  265. package/dist/docs/references/reference-memory-memory-class.md +147 -0
  266. package/dist/docs/references/reference-memory-observational-memory.md +565 -0
  267. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
  268. package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
  269. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
  270. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
  271. package/dist/docs/references/reference-observability-tracing-instances.md +107 -0
  272. package/dist/docs/references/reference-observability-tracing-interfaces.md +743 -0
  273. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
  274. package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
  275. package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
  276. package/dist/docs/references/reference-processors-language-detector.md +82 -0
  277. package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
  278. package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
  279. package/dist/docs/references/reference-processors-pii-detector.md +108 -0
  280. package/dist/docs/references/reference-processors-processor-interface.md +521 -0
  281. package/dist/docs/references/reference-processors-prompt-injection-detector.md +72 -0
  282. package/dist/docs/references/reference-processors-semantic-recall-processor.md +117 -0
  283. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
  284. package/dist/docs/references/reference-processors-token-limiter-processor.md +115 -0
  285. package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
  286. package/dist/docs/references/reference-processors-tool-search-processor.md +111 -0
  287. package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
  288. package/dist/docs/references/reference-processors-working-memory-processor.md +152 -0
  289. package/dist/docs/references/reference-rag-database-config.md +261 -0
  290. package/dist/docs/references/reference-rag-embeddings.md +92 -0
  291. package/dist/docs/references/reference-server-mastra-server.md +298 -0
  292. package/dist/docs/references/reference-server-register-api-route.md +249 -0
  293. package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
  294. package/dist/docs/references/reference-storage-composite.md +235 -0
  295. package/dist/docs/references/reference-storage-lance.md +131 -0
  296. package/dist/docs/references/reference-storage-libsql.md +135 -0
  297. package/dist/docs/references/reference-storage-mongodb.md +262 -0
  298. package/dist/docs/references/reference-storage-mssql.md +157 -0
  299. package/dist/docs/references/reference-storage-overview.md +121 -0
  300. package/dist/docs/references/reference-storage-postgresql.md +526 -0
  301. package/dist/docs/references/reference-storage-upstash.md +160 -0
  302. package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
  303. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
  304. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
  305. package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
  306. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
  307. package/dist/docs/references/reference-streaming-workflows-stream.md +88 -0
  308. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
  309. package/dist/docs/references/reference-templates-overview.md +194 -0
  310. package/dist/docs/references/reference-tools-create-tool.md +237 -0
  311. package/dist/docs/references/reference-tools-graph-rag-tool.md +182 -0
  312. package/dist/docs/references/reference-tools-mcp-client.md +954 -0
  313. package/dist/docs/references/reference-tools-mcp-server.md +1271 -0
  314. package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
  315. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  316. package/dist/docs/references/reference-vectors-mongodb.md +295 -0
  317. package/dist/docs/references/reference-vectors-pg.md +408 -0
  318. package/dist/docs/references/reference-vectors-upstash.md +294 -0
  319. package/dist/docs/references/reference-voice-composite-voice.md +121 -0
  320. package/dist/docs/references/reference-voice-mastra-voice.md +311 -0
  321. package/dist/docs/references/reference-voice-voice.addInstructions.md +55 -0
  322. package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
  323. package/dist/docs/references/reference-voice-voice.connect.md +94 -0
  324. package/dist/docs/references/reference-voice-voice.events.md +37 -0
  325. package/dist/docs/references/reference-voice-voice.listen.md +164 -0
  326. package/dist/docs/references/reference-voice-voice.on.md +111 -0
  327. package/dist/docs/references/reference-voice-voice.speak.md +157 -0
  328. package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
  329. package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
  330. package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
  331. package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
  332. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
  333. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
  334. package/dist/docs/references/reference-workflows-run.md +59 -0
  335. package/dist/docs/references/reference-workflows-step.md +119 -0
  336. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
  337. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
  338. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
  339. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
  340. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
  341. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +118 -0
  342. package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
  343. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
  344. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
  345. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
  346. package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
  347. package/dist/docs/references/reference-workflows-workflow.md +157 -0
  348. package/dist/docs/references/reference-workspace-filesystem.md +255 -0
  349. package/dist/docs/references/reference-workspace-local-filesystem.md +343 -0
  350. package/dist/docs/references/reference-workspace-local-sandbox.md +301 -0
  351. package/dist/docs/references/reference-workspace-sandbox.md +87 -0
  352. package/dist/docs/references/reference-workspace-workspace-class.md +244 -0
  353. package/dist/docs/references/reference.md +277 -0
  354. package/dist/evals/index.cjs +20 -20
  355. package/dist/evals/index.js +3 -3
  356. package/dist/evals/run/index.d.ts +9 -2
  357. package/dist/evals/run/index.d.ts.map +1 -1
  358. package/dist/evals/scoreTraces/index.cjs +5 -5
  359. package/dist/evals/scoreTraces/index.js +2 -2
  360. package/dist/harness/harness.d.ts +6 -0
  361. package/dist/harness/harness.d.ts.map +1 -1
  362. package/dist/harness/index.cjs +28 -13
  363. package/dist/harness/index.cjs.map +1 -1
  364. package/dist/harness/index.js +20 -5
  365. package/dist/harness/index.js.map +1 -1
  366. package/dist/index.cjs +2 -2
  367. package/dist/index.js +1 -1
  368. package/dist/integration/index.cjs +2 -2
  369. package/dist/integration/index.js +1 -1
  370. package/dist/llm/index.cjs +6 -6
  371. package/dist/llm/index.js +1 -1
  372. package/dist/llm/model/embedding-router.d.ts.map +1 -1
  373. package/dist/llm/model/model.loop.d.ts +1 -1
  374. package/dist/llm/model/model.loop.d.ts.map +1 -1
  375. package/dist/loop/index.cjs +20 -12
  376. package/dist/loop/index.js +1 -1
  377. package/dist/loop/network/index.d.ts.map +1 -1
  378. package/dist/loop/network/validation.d.ts +51 -0
  379. package/dist/loop/network/validation.d.ts.map +1 -1
  380. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  381. package/dist/loop/test-utils/options.d.ts.map +1 -1
  382. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  383. package/dist/loop/types.d.ts +15 -0
  384. package/dist/loop/types.d.ts.map +1 -1
  385. package/dist/loop/workflows/agentic-execution/index.d.ts +3 -0
  386. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  387. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts +126 -0
  388. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts.map +1 -0
  389. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +3 -1
  390. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  391. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +1 -0
  392. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  393. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  394. package/dist/loop/workflows/agentic-loop/index.d.ts +3 -0
  395. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  396. package/dist/loop/workflows/schema.d.ts +3 -0
  397. package/dist/loop/workflows/schema.d.ts.map +1 -1
  398. package/dist/mastra/index.cjs +2 -2
  399. package/dist/mastra/index.d.ts +9 -5
  400. package/dist/mastra/index.d.ts.map +1 -1
  401. package/dist/mastra/index.js +1 -1
  402. package/dist/memory/index.cjs +14 -14
  403. package/dist/memory/index.js +1 -1
  404. package/dist/processor-provider/index.cjs +10 -10
  405. package/dist/processor-provider/index.js +1 -1
  406. package/dist/processors/index.cjs +42 -42
  407. package/dist/processors/index.js +1 -1
  408. package/dist/processors/processors/skills.d.ts.map +1 -1
  409. package/dist/relevance/index.cjs +3 -3
  410. package/dist/relevance/index.js +1 -1
  411. package/dist/storage/constants.cjs +56 -56
  412. package/dist/storage/constants.js +1 -1
  413. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  414. package/dist/storage/index.cjs +160 -160
  415. package/dist/storage/index.js +2 -2
  416. package/dist/storage/types.d.ts +2 -3
  417. package/dist/storage/types.d.ts.map +1 -1
  418. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  419. package/dist/stream/base/output.d.ts +1 -0
  420. package/dist/stream/base/output.d.ts.map +1 -1
  421. package/dist/stream/index.cjs +11 -11
  422. package/dist/stream/index.js +2 -2
  423. package/dist/stream/types.d.ts +27 -1
  424. package/dist/stream/types.d.ts.map +1 -1
  425. package/dist/test-utils/llm-mock.cjs +4 -4
  426. package/dist/test-utils/llm-mock.js +1 -1
  427. package/dist/tool-loop-agent/index.cjs +4 -4
  428. package/dist/tool-loop-agent/index.js +1 -1
  429. package/dist/tools/index.cjs +9 -5
  430. package/dist/tools/index.d.ts +1 -1
  431. package/dist/tools/index.d.ts.map +1 -1
  432. package/dist/tools/index.js +1 -1
  433. package/dist/tools/is-vercel-tool.cjs +2 -2
  434. package/dist/tools/is-vercel-tool.js +1 -1
  435. package/dist/tools/toolchecks.d.ts +10 -0
  436. package/dist/tools/toolchecks.d.ts.map +1 -1
  437. package/dist/utils.cjs +23 -23
  438. package/dist/utils.js +1 -1
  439. package/dist/vector/index.cjs +7 -7
  440. package/dist/vector/index.js +1 -1
  441. package/dist/vector/types.d.ts +9 -1
  442. package/dist/vector/types.d.ts.map +1 -1
  443. package/dist/workflows/evented/index.cjs +10 -10
  444. package/dist/workflows/evented/index.js +1 -1
  445. package/dist/workflows/index.cjs +25 -25
  446. package/dist/workflows/index.js +1 -1
  447. package/dist/workflows/types.d.ts +14 -1
  448. package/dist/workflows/types.d.ts.map +1 -1
  449. package/dist/workflows/workflow.d.ts +3 -17
  450. package/dist/workflows/workflow.d.ts.map +1 -1
  451. package/dist/workspace/filesystem/composite-filesystem.d.ts +5 -0
  452. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  453. package/dist/workspace/filesystem/filesystem.d.ts +12 -0
  454. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  455. package/dist/workspace/filesystem/fs-utils.d.ts +12 -0
  456. package/dist/workspace/filesystem/fs-utils.d.ts.map +1 -1
  457. package/dist/workspace/filesystem/local-filesystem.d.ts +6 -0
  458. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  459. package/dist/workspace/index.cjs +66 -66
  460. package/dist/workspace/index.js +1 -1
  461. package/dist/workspace/lsp/client.d.ts +76 -0
  462. package/dist/workspace/lsp/client.d.ts.map +1 -0
  463. package/dist/workspace/lsp/index.d.ts +6 -0
  464. package/dist/workspace/lsp/index.d.ts.map +1 -0
  465. package/dist/workspace/lsp/language.d.ts +16 -0
  466. package/dist/workspace/lsp/language.d.ts.map +1 -0
  467. package/dist/workspace/lsp/manager.d.ts +72 -0
  468. package/dist/workspace/lsp/manager.d.ts.map +1 -0
  469. package/dist/workspace/lsp/servers.d.ts +43 -0
  470. package/dist/workspace/lsp/servers.d.ts.map +1 -0
  471. package/dist/workspace/lsp/types.d.ts +45 -0
  472. package/dist/workspace/lsp/types.d.ts.map +1 -0
  473. package/dist/workspace/tools/ast-edit.d.ts.map +1 -1
  474. package/dist/workspace/tools/edit-file.d.ts.map +1 -1
  475. package/dist/workspace/tools/helpers.d.ts +13 -0
  476. package/dist/workspace/tools/helpers.d.ts.map +1 -1
  477. package/dist/workspace/tools/write-file.d.ts.map +1 -1
  478. package/dist/workspace/workspace.d.ts +33 -0
  479. package/dist/workspace/workspace.d.ts.map +1 -1
  480. package/package.json +10 -8
  481. package/dist/chunk-2X66GWF5.cjs.map +0 -1
  482. package/dist/chunk-6QBN6MZY.cjs.map +0 -1
  483. package/dist/chunk-7EXW4AAG.js.map +0 -1
  484. package/dist/chunk-7UAJ6LMR.cjs.map +0 -1
  485. package/dist/chunk-BQHWJLXU.js.map +0 -1
  486. package/dist/chunk-DB7U2C5B.cjs.map +0 -1
  487. package/dist/chunk-DFCRXDVK.js.map +0 -1
  488. package/dist/chunk-EAZ6YDCQ.cjs.map +0 -1
  489. package/dist/chunk-HB6T4554.cjs.map +0 -1
  490. package/dist/chunk-IC5OUWKJ.js.map +0 -1
  491. package/dist/chunk-KUXNBWN7.js.map +0 -1
  492. package/dist/chunk-O7PZ4VOO.cjs.map +0 -1
  493. package/dist/chunk-QSHV7GPT.js.map +0 -1
  494. package/dist/chunk-QTAS3HND.cjs.map +0 -1
  495. package/dist/chunk-R4N65TLG.js.map +0 -1
  496. package/dist/chunk-T6GAM3SQ.js.map +0 -1
  497. package/dist/chunk-YQG7NBPR.cjs.map +0 -1
  498. package/dist/chunk-ZSBM2SVU.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ # Mastra.getWorkflow()
2
+
3
+ The `.getWorkflow()` method is used to retrieve a workflow by its registration key. This method provides full TypeScript type inference for workflow input and output schemas.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ // Retrieve workflow by its registration key (recommended for type inference)
9
+ const workflow = mastra.getWorkflow('testWorkflow')
10
+ const run = await workflow.createRun()
11
+
12
+ // TypeScript will properly infer the input schema type
13
+ await run.startAsync({
14
+ inputData: {
15
+ /* properly typed */
16
+ },
17
+ })
18
+ ```
19
+
20
+ ## Type inference
21
+
22
+ For best TypeScript support, use `getWorkflow()` with the workflow's **registration key** (the key used when adding the workflow to Mastra). This provides full type inference for:
23
+
24
+ - Input data schemas
25
+ - Output data schemas
26
+ - Step results
27
+
28
+ If you need to retrieve a workflow by its `id` property instead of its registration key, you can use `getWorkflowById()`, but note that type inference will not be as precise.
29
+
30
+ ## Parameters
31
+
32
+ **id:** (`TWorkflowId extends keyof TWorkflows`): The ID of the workflow to retrieve. Must be a valid workflow ID that exists in the Mastra configuration.
33
+
34
+ **options:** (`{ serialized?: boolean }`): Optional configuration object. When \`serialized\` is true, returns only the workflow name instead of the full workflow instance.
35
+
36
+ ## Returns
37
+
38
+ **workflow:** (`TWorkflows[TWorkflowId]`): The workflow instance with the specified ID. Throws an error if the workflow is not found.
39
+
40
+ ## Related
41
+
42
+ - [Workflows overview](https://mastra.ai/docs/workflows/overview)
@@ -0,0 +1,21 @@
1
+ # Mastra.listAgents()
2
+
3
+ The `.listAgents()` method is used to retrieve all agents that have been configured in the Mastra instance.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ mastra.listAgents()
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ This method does not accept any parameters.
14
+
15
+ ## Returns
16
+
17
+ **agents:** (`TAgents`): A record of all configured agents, where keys are agent names and values are agent instances.
18
+
19
+ ## Related
20
+
21
+ - [Agents overview](https://mastra.ai/docs/agents/overview)
@@ -0,0 +1,40 @@
1
+ # Mastra.listGateways()
2
+
3
+ Returns a record of all registered gateways, indexed by their registration keys.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { Mastra } from '@mastra/core'
9
+
10
+ const mastra = new Mastra({
11
+ gateways: {
12
+ myGateway: new MyCustomGateway(),
13
+ anotherGateway: new AnotherGateway(),
14
+ },
15
+ })
16
+
17
+ const gateways = mastra.listGateways()
18
+ console.log(Object.keys(gateways)) // ['myGateway', 'anotherGateway']
19
+
20
+ // Iterate over all gateways
21
+ for (const [key, gateway] of Object.entries(gateways)) {
22
+ console.log(`${key}: ${gateway.name}`)
23
+ }
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ None.
29
+
30
+ ## Returns
31
+
32
+ **gateways:** (`Record<string, MastraModelGateway>`): A record of gateway instances indexed by registration key
33
+
34
+ ## Related
35
+
36
+ - [Mastra.getGateway()](https://mastra.ai/reference/core/getGateway) - Get gateway by registration key
37
+ - [Mastra.getGatewayById()](https://mastra.ai/reference/core/getGatewayById) - Get gateway by ID
38
+ - [Mastra.addGateway()](https://mastra.ai/reference/core/addGateway) - Add a gateway
39
+ - [MastraModelGateway](https://mastra.ai/reference/core/mastra-model-gateway) - Gateway base class
40
+ - [Custom Gateways Guide](https://mastra.ai/models/gateways/custom-gateways) - Creating custom gateways
@@ -0,0 +1,38 @@
1
+ # Mastra.listLogs()
2
+
3
+ The `.listLogs()` method is used to retrieve all logs for a specific transport ID. This method requires a configured logger that supports the `listLogs` operation.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ mastra.listLogs('456')
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **transportId:** (`string`): The transport ID to retrieve logs from.
14
+
15
+ **options:** (`object`): Optional parameters for filtering and pagination. See Options section below for details.
16
+
17
+ ### Options
18
+
19
+ **fromDate:** (`Date`): Optional start date for filtering logs. e.g., new Date('2024-01-01').
20
+
21
+ **toDate:** (`Date`): Optional end date for filtering logs. e.g., new Date('2024-01-31').
22
+
23
+ **logLevel:** (`LogLevel`): Optional log level to filter by.
24
+
25
+ **filters:** (`Record<string, any>`): Optional additional filters to apply to the log query.
26
+
27
+ **page:** (`number`): Optional page number for pagination.
28
+
29
+ **perPage:** (`number`): Optional number of logs per page for pagination.
30
+
31
+ ## Returns
32
+
33
+ **logs:** (`Promise<any>`): A promise that resolves to the logs for the specified transport ID.
34
+
35
+ ## Related
36
+
37
+ - [Logging overview](https://mastra.ai/docs/observability/logging)
38
+ - [Logger reference](https://mastra.ai/reference/logging/pino-logger)
@@ -0,0 +1,36 @@
1
+ # Mastra.listLogsByRunId()
2
+
3
+ The `.listLogsByRunId()` method is used to retrieve logs for a specific run ID and transport ID. This method requires a configured logger that supports the `listLogsByRunId` operation.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ mastra.listLogsByRunId({ runId: '123', transportId: '456' })
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **runId:** (`string`): The run ID to retrieve logs for.
14
+
15
+ **transportId:** (`string`): The transport ID to retrieve logs from.
16
+
17
+ **fromDate:** (`Date`): Optional start date for filtering logs. e.g., new Date('2024-01-01').
18
+
19
+ **toDate:** (`Date`): Optional end date for filtering logs. e.g., new Date('2024-01-31').
20
+
21
+ **logLevel:** (`LogLevel`): Optional log level to filter by.
22
+
23
+ **filters:** (`Record<string, any>`): Optional additional filters to apply to the log query.
24
+
25
+ **page:** (`number`): Optional page number for pagination.
26
+
27
+ **perPage:** (`number`): Optional number of logs per page for pagination.
28
+
29
+ ## Returns
30
+
31
+ **logs:** (`Promise<any>`): A promise that resolves to the logs for the specified run ID and transport ID.
32
+
33
+ ## Related
34
+
35
+ - [Logging overview](https://mastra.ai/docs/observability/logging)
36
+ - [Logger reference](https://mastra.ai/reference/logging/pino-logger)
@@ -0,0 +1,55 @@
1
+ # Mastra.listMCPServers()
2
+
3
+ The `.listMCPServers()` method is used to retrieve all MCP server instances that have been registered in the Mastra instance. The returned record uses registry keys (the keys from the `mcpServers` configuration) as keys.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ // Register MCP servers
9
+ const server1 = new MCPServer({
10
+ id: 'server-one',
11
+ name: 'Server One',
12
+ version: '1.0.0',
13
+ tools: {
14
+ /* ... */
15
+ },
16
+ })
17
+
18
+ const server2 = new MCPServer({
19
+ id: 'server-two',
20
+ name: 'Server Two',
21
+ version: '1.0.0',
22
+ tools: {
23
+ /* ... */
24
+ },
25
+ })
26
+
27
+ export const mastra = new Mastra({
28
+ mcpServers: {
29
+ firstServer: server1, // Registry key: 'firstServer'
30
+ secondServer: server2, // Registry key: 'secondServer'
31
+ },
32
+ })
33
+
34
+ // List all registered servers
35
+ const servers = mastra.listMCPServers()
36
+ // Returns: { firstServer: MCPServerBase, secondServer: MCPServerBase }
37
+ ```
38
+
39
+ ## Parameters
40
+
41
+ This method does not accept any parameters.
42
+
43
+ ## Returns
44
+
45
+ **servers:** (`Record<string, MCPServerBase> | undefined`): A record of all registered MCP server instances, where keys are the registry keys (from mcpServers configuration) and values are MCPServerBase instances, or undefined if no servers are registered.
46
+
47
+ ## Related Methods
48
+
49
+ - [Mastra.getMCPServer()](https://mastra.ai/reference/core/getMCPServer) - Retrieve an MCP server by its registry key
50
+ - [Mastra.getMCPServerById()](https://mastra.ai/reference/core/getMCPServerById) - Retrieve an MCP server by its intrinsic `id` property
51
+
52
+ ## See Also
53
+
54
+ - [MCP overview](https://mastra.ai/docs/mcp/overview)
55
+ - [MCP server reference](https://mastra.ai/reference/tools/mcp-server)
@@ -0,0 +1,56 @@
1
+ # Mastra.listMemory()
2
+
3
+ The `.listMemory()` method returns all memory instances registered with the Mastra instance.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ const memoryInstances = mastra.listMemory()
9
+
10
+ for (const [key, memory] of Object.entries(memoryInstances)) {
11
+ console.log(`Memory "${key}": ${memory.id}`)
12
+ }
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ This method takes no parameters.
18
+
19
+ ## Returns
20
+
21
+ **memory:** (`Record<string, MastraMemory>`): An object containing all registered memory instances, keyed by their registry keys.
22
+
23
+ ## Example: Checking Registered Memory
24
+
25
+ ```typescript
26
+ import { Mastra } from '@mastra/core'
27
+ import { Memory } from '@mastra/memory'
28
+ import { LibSQLStore } from '@mastra/libsql'
29
+
30
+ const conversationMemory = new Memory({
31
+ id: 'conversation-memory',
32
+ storage: new LibSQLStore({ id: 'conversation-store', url: ':memory:' }),
33
+ })
34
+
35
+ const analyticsMemory = new Memory({
36
+ id: 'analytics-memory',
37
+ storage: new LibSQLStore({ id: 'analytics-store', url: ':memory:' }),
38
+ })
39
+
40
+ const mastra = new Mastra({
41
+ memory: {
42
+ conversationMemory,
43
+ analyticsMemory,
44
+ },
45
+ })
46
+
47
+ // List all registered memory instances
48
+ const allMemory = mastra.listMemory()
49
+ console.log(Object.keys(allMemory)) // ["conversationMemory", "analyticsMemory"]
50
+ ```
51
+
52
+ ## Related
53
+
54
+ - [Mastra.getMemory()](https://mastra.ai/reference/core/getMemory)
55
+ - [Memory overview](https://mastra.ai/docs/memory/overview)
56
+ - [Agent Memory](https://mastra.ai/docs/agents/agent-memory)
@@ -0,0 +1,29 @@
1
+ # listScorers()
2
+
3
+ The `listScorers()` method returns all scorers that have been registered with the Mastra instance. Scorers are used for evaluating AI outputs and can override default scorers during agent generation or workflow execution.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ import { mastra } from './mastra'
9
+
10
+ // Get all registered scorers
11
+ const allScorers = mastra.listScorers()
12
+
13
+ // Access a specific scorer
14
+ const myScorer = allScorers.relevancyScorer
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ This method takes no parameters.
20
+
21
+ ## Returns
22
+
23
+ **scorers:** (`Record<string, MastraScorer> | undefined`): An object containing all registered scorers, where keys are scorer names and values are MastraScorer instances. Returns undefined if no scorers are registered.
24
+
25
+ ## Related
26
+
27
+ - [getScorer()](https://mastra.ai/reference/core/getScorer) - Get a specific scorer by key
28
+ - [getScorerById()](https://mastra.ai/reference/core/getScorerById) - Get a scorer by its id property
29
+ - [Scorers Overview](https://mastra.ai/docs/evals/overview) - Learn about creating and using scorers
@@ -0,0 +1,93 @@
1
+ # Mastra.listStoredAgents()
2
+
3
+ The `.listStoredAgents()` method retrieves a paginated list of agent configurations from storage. By default, it returns executable `Agent` instances, but can also return raw storage data.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ // Get Agent instances from storage
9
+ const { agents, total, hasMore } = await mastra.listStoredAgents()
10
+
11
+ for (const agent of agents) {
12
+ console.log(agent.id, agent.name)
13
+ // Each agent is ready to use
14
+ // const response = await agent.generate("Hello");
15
+ }
16
+ ```
17
+
18
+ ```typescript
19
+ // Get paginated results with raw storage data
20
+ const result = await mastra.listStoredAgents({
21
+ page: 0,
22
+ perPage: 10,
23
+ raw: true,
24
+ })
25
+
26
+ console.log(`Showing ${result.agents.length} of ${result.total} agents`)
27
+ console.log(`Has more: ${result.hasMore}`)
28
+
29
+ for (const config of result.agents) {
30
+ console.log(config.id, config.name, config.createdAt)
31
+ }
32
+ ```
33
+
34
+ ## Parameters
35
+
36
+ **args?:** (`object`): Optional configuration object for pagination and output format.
37
+
38
+ ### Args Options
39
+
40
+ **page?:** (`number`): Zero-indexed page number for pagination. (Default: `0`)
41
+
42
+ **perPage?:** (`number | false`): Number of items per page. Set to \`false\` to fetch all records without pagination. (Default: `100`)
43
+
44
+ **raw?:** (`boolean`): When \`true\`, returns raw \`StorageAgentType\` objects instead of \`Agent\` instances. (Default: `false`)
45
+
46
+ ## Returns
47
+
48
+ **agents:** (`Agent[] | StorageAgentType[]`): Array of \`Agent\` instances by default, or \`StorageAgentType\` objects when \`raw: true\`.
49
+
50
+ **total:** (`number`): Total number of stored agents across all pages.
51
+
52
+ **page:** (`number`): Current page number (zero-indexed).
53
+
54
+ **perPage:** (`number | false`): Number of items per page, or \`false\` if fetching all.
55
+
56
+ **hasMore:** (`boolean`): Whether there are more pages available.
57
+
58
+ ## Primitive Resolution
59
+
60
+ When creating `Agent` instances (default behavior), each stored agent's configuration is resolved against registered primitives:
61
+
62
+ - **Tools**: Resolved from `tools` registered in Mastra config
63
+ - **Workflows**: Resolved from `workflows` registered in Mastra config
64
+ - **Subagents**: Resolved from `agents` registered in Mastra config
65
+ - **Memory**: Resolved from `memory` registered in Mastra config
66
+ - **Scorers**: Resolved from `scorers` registered in Mastra config
67
+
68
+ If a referenced primitive is not found, a warning is logged but the agent is still created.
69
+
70
+ ## Example: Iterating Through All Stored Agents
71
+
72
+ ```typescript
73
+ async function getAllStoredAgents(mastra: Mastra) {
74
+ const allAgents: Agent[] = []
75
+ let page = 0
76
+ let hasMore = true
77
+
78
+ while (hasMore) {
79
+ const result = await mastra.listStoredAgents({ page, perPage: 50 })
80
+ allAgents.push(...result.agents)
81
+ hasMore = result.hasMore
82
+ page++
83
+ }
84
+
85
+ return allAgents
86
+ }
87
+ ```
88
+
89
+ ## Related
90
+
91
+ - [Mastra.getStoredAgentById()](https://mastra.ai/reference/core/getStoredAgentById)
92
+ - [Storage overview](https://mastra.ai/reference/storage/overview)
93
+ - [Agents overview](https://mastra.ai/docs/agents/overview)
@@ -0,0 +1,22 @@
1
+ # Mastra.listVectors()
2
+
3
+ The `.listVectors()` method is used to retrieve all vector stores that have been configured in the Mastra instance.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ mastra.listVectors()
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ This method does not accept any parameters.
14
+
15
+ ## Returns
16
+
17
+ **vectors:** (`TVectors`): A record of all configured vector stores, where keys are vector store names and values are vector store instances.
18
+
19
+ ## Related
20
+
21
+ - [Vector stores overview](https://mastra.ai/docs/rag/vector-databases)
22
+ - [RAG overview](https://mastra.ai/docs/rag/overview)
@@ -0,0 +1,21 @@
1
+ # Mastra.listWorkflows()
2
+
3
+ The `.listWorkflows()` method is used to retrieve all workflows that have been configured in the Mastra instance. The method accepts an optional options object.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ mastra.listWorkflows()
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **options:** (`{ serialized?: boolean }`): Optional configuration object. When \`serialized\` is true, returns simplified workflow objects with only the name property instead of full workflow instances.
14
+
15
+ ## Returns
16
+
17
+ **workflows:** (`Record<string, Workflow>`): A record of all configured workflows, where keys are workflow IDs and values are workflow instances (or simplified objects if serialized is true).
18
+
19
+ ## Related
20
+
21
+ - [Workflows overview](https://mastra.ai/docs/workflows/overview)
@@ -0,0 +1,66 @@
1
+ # Mastra Class
2
+
3
+ The `Mastra` class is the central orchestrator in any Mastra application, managing agents, workflows, storage, logging, observability, and more. Typically, you create a single instance of `Mastra` to coordinate your application.
4
+
5
+ Think of `Mastra` as a top-level registry where you register agents, workflows, tools, and other components that need to be accessible throughout your application.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+ import { PinoLogger } from '@mastra/loggers'
12
+ import { LibSQLStore } from '@mastra/libsql'
13
+ import { weatherWorkflow } from './workflows/weather-workflow'
14
+ import { weatherAgent } from './agents/weather-agent'
15
+
16
+ export const mastra = new Mastra({
17
+ workflows: { weatherWorkflow },
18
+ agents: { weatherAgent },
19
+ storage: new LibSQLStore({
20
+ id: 'mastra-storage',
21
+ url: ':memory:',
22
+ }),
23
+ logger: new PinoLogger({
24
+ name: 'Mastra',
25
+ level: 'info',
26
+ }),
27
+ })
28
+ ```
29
+
30
+ ## Constructor parameters
31
+
32
+ Visit the [Configuration reference](https://mastra.ai/reference/configuration) for detailed documentation on all available configuration options.
33
+
34
+ **agents?:** (`Record<string, Agent>`): Agent instances to register, keyed by name (Default: `{}`)
35
+
36
+ **tools?:** (`Record<string, ToolApi>`): Custom tools to register. Structured as a key-value pair, with keys being the tool name and values being the tool function. (Default: `{}`)
37
+
38
+ **storage?:** (`MastraCompositeStore`): Storage engine instance for persisting data
39
+
40
+ **vectors?:** (`Record<string, MastraVector>`): Vector store instance, used for semantic search and vector-based tools (eg Pinecone, PgVector or Qdrant)
41
+
42
+ **logger?:** (`Logger`): Logger instance created with new PinoLogger() (Default: `Console logger with INFO level`)
43
+
44
+ **idGenerator?:** (`() => string`): Custom ID generator function. Used by agents, workflows, memory, and other components to generate unique identifiers.
45
+
46
+ **workflows?:** (`Record<string, Workflow>`): Workflows to register. Structured as a key-value pair, with keys being the workflow name and values being the workflow instance. (Default: `{}`)
47
+
48
+ **tts?:** (`Record<string, MastraVoice>`): Text-to-speech providers for voice synthesis
49
+
50
+ **observability?:** (`ObservabilityEntrypoint`): Observability configuration for tracing and monitoring
51
+
52
+ **deployer?:** (`MastraDeployer`): An instance of a MastraDeployer for managing deployments.
53
+
54
+ **server?:** (`ServerConfig`): Server configuration including port, host, timeout, API routes, middleware, CORS settings, and build options for Swagger UI, API request logging, and OpenAPI docs.
55
+
56
+ **mcpServers?:** (`Record<string, MCPServerBase>`): An object where keys are registry keys (used for getMCPServer()) and values are instances of MCPServer or classes extending MCPServerBase. Each MCPServer must have an id property. Servers can be retrieved by registry key using getMCPServer() or by their intrinsic id using getMCPServerById().
57
+
58
+ **bundler?:** (`BundlerConfig`): Configuration for the asset bundler with options for externals, sourcemap, and transpilePackages.
59
+
60
+ **scorers?:** (`Record<string, Scorer>`): Scorers for evaluating agent responses and workflow outputs (Default: `{}`)
61
+
62
+ **processors?:** (`Record<string, Processor>`): Input/output processors for transforming agent inputs and outputs (Default: `{}`)
63
+
64
+ **gateways?:** (`Record<string, MastraModelGateway>`): Custom model gateways to register for accessing AI models through alternative providers or private deployments. Structured as a key-value pair, with keys being the registry key (used for getGateway()) and values being gateway instances. (Default: `{}`)
65
+
66
+ **memory?:** (`Record<string, MastraMemory>`): Memory instances to register. These can be referenced by stored agents and resolved at runtime. Structured as a key-value pair, with keys being the registry key and values being memory instances. (Default: `{}`)
@@ -0,0 +1,153 @@
1
+ # MastraModelGateway
2
+
3
+ Abstract base class for implementing custom model gateways. Gateways handle provider-specific logic for accessing language models, including provider configuration, authentication, URL construction, and model instantiation.
4
+
5
+ ## Class Overview
6
+
7
+ ```typescript
8
+ import { MastraModelGateway, type ProviderConfig } from '@mastra/core/llm'
9
+ import { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5'
10
+ import type { LanguageModelV2 } from '@ai-sdk/provider-v5'
11
+
12
+ class MyCustomGateway extends MastraModelGateway {
13
+ readonly id = 'custom'
14
+ readonly name = 'My Custom Gateway'
15
+
16
+ async fetchProviders(): Promise<Record<string, ProviderConfig>> {
17
+ return {
18
+ 'my-provider': {
19
+ name: 'My Provider',
20
+ models: ['model-1', 'model-2'],
21
+ apiKeyEnvVar: 'MY_API_KEY',
22
+ gateway: this.id,
23
+ },
24
+ }
25
+ }
26
+
27
+ buildUrl(modelId: string, envVars?: Record<string, string>): string {
28
+ return 'https://api.my-provider.com/v1'
29
+ }
30
+
31
+ async getApiKey(modelId: string): Promise<string> {
32
+ const apiKey = process.env.MY_API_KEY
33
+ if (!apiKey) throw new Error('MY_API_KEY not set')
34
+ return apiKey
35
+ }
36
+
37
+ async resolveLanguageModel({
38
+ modelId,
39
+ providerId,
40
+ apiKey,
41
+ }: {
42
+ modelId: string
43
+ providerId: string
44
+ apiKey: string
45
+ }): Promise<LanguageModelV2> {
46
+ const baseURL = this.buildUrl(`${providerId}/${modelId}`)
47
+ return createOpenAICompatible({
48
+ name: providerId,
49
+ apiKey,
50
+ baseURL,
51
+ }).chatModel(modelId)
52
+ }
53
+ }
54
+ ```
55
+
56
+ ## Required Properties
57
+
58
+ **id:** (`string`): Unique identifier for the gateway. This ID is used as the prefix for all providers from this gateway (e.g., "netlify/anthropic"). Exception: models.dev is a provider registry and doesn't use a prefix.
59
+
60
+ **name:** (`string`): Human-readable name for the gateway.
61
+
62
+ ## Required Methods
63
+
64
+ ### fetchProviders()
65
+
66
+ Fetches provider configurations from the gateway.
67
+
68
+ **Returns:** `Promise<Record<string, ProviderConfig>>`
69
+
70
+ **ProviderConfig Structure:**
71
+
72
+ **name:** (`string`): Display name of the provider
73
+
74
+ **models:** (`string[]`): Array of available model IDs
75
+
76
+ **apiKeyEnvVar:** (`string | string[]`): Environment variable(s) for API key
77
+
78
+ **gateway:** (`string`): Gateway identifier
79
+
80
+ **url?:** (`string`): Optional base API URL
81
+
82
+ **apiKeyHeader?:** (`string`): Optional custom auth header name
83
+
84
+ **docUrl?:** (`string`): Optional documentation URL
85
+
86
+ ### buildUrl()
87
+
88
+ Builds the API URL for a specific model/provider combination.
89
+
90
+ **Parameters:**
91
+
92
+ **modelId:** (`string`): Full model ID (e.g., "custom/my-provider/model-1")
93
+
94
+ **envVars?:** (`Record<string, string>`): Optional environment variables
95
+
96
+ **Returns:** `string | undefined | Promise<string | undefined>`
97
+
98
+ ### getApiKey()
99
+
100
+ Retrieves the API key for authentication.
101
+
102
+ **Parameters:**
103
+
104
+ **modelId:** (`string`): Full model ID
105
+
106
+ **Returns:** `Promise<string>`
107
+
108
+ ### resolveLanguageModel()
109
+
110
+ Creates a language model instance.
111
+
112
+ **Parameters:**
113
+
114
+ **modelId:** (`string`): The model ID
115
+
116
+ **providerId:** (`string`): The provider ID
117
+
118
+ **apiKey:** (`string`): The API key for authentication
119
+
120
+ **Returns:** `Promise<LanguageModelV2> | LanguageModelV2`
121
+
122
+ ## Instance Methods
123
+
124
+ ### getId()
125
+
126
+ Returns the gateway's unique identifier.
127
+
128
+ **Returns:** `string` - The gateway's `id` property
129
+
130
+ ## Model ID Format
131
+
132
+ For true gateways, the gateway ID is used as a prefix and models are accessed using this format:
133
+
134
+ ```text
135
+ [gateway-id]/[provider]/[model]
136
+ ```
137
+
138
+ Examples:
139
+
140
+ - Gateway with `id = 'custom'`: `'custom/my-provider/model-1'`
141
+
142
+ ## Built-in Implementations
143
+
144
+ - **NetlifyGateway** - Netlify AI Gateway integration
145
+ - **ModelsDevGateway** - Registry of OpenAI-compatible providers
146
+
147
+ ## Related
148
+
149
+ - [Custom Gateways Guide](https://mastra.ai/models/gateways/custom-gateways) - Complete guide to creating custom gateways
150
+ - [Mastra.addGateway()](https://mastra.ai/reference/core/addGateway) - Add a gateway to Mastra
151
+ - [Mastra.getGateway()](https://mastra.ai/reference/core/getGateway) - Get gateway by registration key
152
+ - [Mastra.getGatewayById()](https://mastra.ai/reference/core/getGatewayById) - Get gateway by ID
153
+ - [Mastra.listGateways()](https://mastra.ai/reference/core/listGateways) - List all gateways