@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,31 @@
1
+ # dataset.getItemHistory()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Retrieves the full SCD-2 (Slowly Changing Dimension Type 2) history of a specific item across all dataset versions.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ const history = await dataset.getItemHistory({ itemId: 'item-id' })
19
+
20
+ for (const row of history) {
21
+ console.log(`Version ${row.datasetVersion}: ${row.isDeleted ? 'deleted' : 'active'}`)
22
+ }
23
+ ```
24
+
25
+ ## Parameters
26
+
27
+ **itemId:** (`string`): ID of the item to retrieve history for.
28
+
29
+ ## Returns
30
+
31
+ **result:** (`Promise<DatasetItemRow[]>`): DatasetItemRowid:stringUnique row identifier.datasetId:stringID of the parent dataset.datasetVersion:numberDataset version for this row\.validTo:number | nullVersion at which this row was superseded, or \`null\` if still current.isDeleted:booleanWhether this row represents a deletion.input:unknownInput data at this version.groundTruth?:unknownGround truth at this version.metadata?:Record\<string, unknown>Metadata at this version.createdAt:DateWhen this row was created.updatedAt:DateWhen this row was last updated.
@@ -0,0 +1,31 @@
1
+ # DatasetsManager.list()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Lists all datasets with pagination.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const { datasets, pagination } = await mastra.datasets.list({ page: 0, perPage: 10 })
17
+
18
+ for (const ds of datasets) {
19
+ console.log(`${ds.id}: ${ds.name} (v${ds.version})`)
20
+ }
21
+ ```
22
+
23
+ ## Parameters
24
+
25
+ **page?:** (`number`): Page number. Defaults to \`0\`.
26
+
27
+ **perPage?:** (`number`): Number of datasets per page. Defaults to \`20\`.
28
+
29
+ ## Returns
30
+
31
+ **result:** (`Promise<object>`): objectdatasets:DatasetRecord\[]Array of dataset records. See dataset.getDetails() for the record shape.pagination:PaginationInfoPagination metadata with \`total\`, \`page\`, \`perPage\`, and \`hasMore\`.
@@ -0,0 +1,39 @@
1
+ # dataset.listExperimentResults()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Lists individual item results for a specific experiment with pagination.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ const { results, pagination } = await dataset.listExperimentResults({
19
+ experimentId: 'exp-id',
20
+ page: 0,
21
+ perPage: 50,
22
+ })
23
+
24
+ for (const result of results) {
25
+ console.log(`Item ${result.itemId}: ${result.error ? 'FAILED' : 'OK'}`)
26
+ }
27
+ ```
28
+
29
+ ## Parameters
30
+
31
+ **experimentId:** (`string`): ID of the experiment to list results for.
32
+
33
+ **page?:** (`number`): Page number. Defaults to \`0\`.
34
+
35
+ **perPage?:** (`number`): Number of results per page. Defaults to \`20\`.
36
+
37
+ ## Returns
38
+
39
+ **result:** (`Promise<object>`): objectresults:ExperimentResult\[]Array of item-level results.ExperimentResultid:stringUnique result ID.experimentId:stringID of the parent experiment.itemId:stringID of the dataset item.itemDatasetVersion:number | nullDataset version of the item when executed.input:unknownInput data passed to the target.output:unknown | nullOutput from the target.groundTruth:unknown | nullExpected output.error:{ message: string; stack?: string; code?: string } | nullStructured error if execution failed.startedAt:DateWhen execution started.completedAt:DateWhen execution completed.retryCount:numberNumber of retry attempts.traceId:string | nullTrace ID for observability.createdAt:DateWhen the result record was created.pagination:PaginationInfoPagination metadata with \`total\`, \`page\`, \`perPage\`, and \`hasMore\`.
@@ -0,0 +1,33 @@
1
+ # dataset.listExperiments()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Lists all experiments (runs) for this dataset with pagination.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ const { experiments, pagination } = await dataset.listExperiments({ page: 0, perPage: 10 })
19
+
20
+ for (const exp of experiments) {
21
+ console.log(`${exp.id}: ${exp.status} (${exp.succeededCount}/${exp.totalItems})`)
22
+ }
23
+ ```
24
+
25
+ ## Parameters
26
+
27
+ **page?:** (`number`): Page number. Defaults to \`0\`.
28
+
29
+ **perPage?:** (`number`): Number of experiments per page. Defaults to \`20\`.
30
+
31
+ ## Returns
32
+
33
+ **result:** (`Promise<object>`): objectexperiments:Experiment\[]Array of experiment records.Experimentid:stringUnique experiment ID.name?:stringDisplay name.description?:stringDescription.metadata?:Record\<string, unknown>Arbitrary metadata.datasetId:stringID of the parent dataset.datasetVersion:number | nullDataset version used for the experiment.targetType:'agent' | 'workflow' | 'scorer' | 'processor'Type of target used.targetId:stringID of the target used.status:'pending' | 'running' | 'completed' | 'failed'Current status of the experiment.totalItems:numberTotal number of items.succeededCount:numberNumber of successful items.failedCount:numberNumber of failed items.skippedCount:numberNumber of skipped items.startedAt:Date | nullWhen the experiment started.completedAt:Date | nullWhen the experiment completed.createdAt:DateWhen the experiment record was created.updatedAt:DateWhen the experiment record was last updated.pagination:PaginationInfoPagination metadata with \`total\`, \`page\`, \`perPage\`, and \`hasMore\`.
@@ -0,0 +1,46 @@
1
+ # dataset.listItems()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Lists items in the dataset. When a `version` is specified, returns all items at that version. Otherwise, returns paginated items from the latest version.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ // Paginated list (default: page 0, 20 per page)
19
+ const result = await dataset.listItems()
20
+
21
+ // List with search
22
+ const filtered = await dataset.listItems({ search: 'TypeScript', page: 0, perPage: 10 })
23
+
24
+ // List all items at a specific version
25
+ const versionedItems = await dataset.listItems({ version: 2 })
26
+ ```
27
+
28
+ ## Parameters
29
+
30
+ **version?:** (`number`): Dataset version to list items at. When set, returns all items at that version (no pagination).
31
+
32
+ **page?:** (`number`): Page number for pagination. Defaults to \`0\`.
33
+
34
+ **perPage?:** (`number`): Number of items per page. Defaults to \`20\`.
35
+
36
+ **search?:** (`string`): Search string to filter items.
37
+
38
+ ## Returns
39
+
40
+ When `version` is specified:
41
+
42
+ **result:** (`Promise<DatasetItem[]>`): Array of all items at the specified dataset version.
43
+
44
+ When `version` is not specified:
45
+
46
+ **result:** (`Promise<object>`): objectitems:DatasetItem\[]Array of items for the current page.pagination:objectPagination metadata.objecttotal:numberTotal number of items.page:numberCurrent page number.perPage:number | falseItems per page, or \`false\` if unpaginated.hasMore:booleanWhether more pages are available.
@@ -0,0 +1,33 @@
1
+ # dataset.listVersions()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Lists all versions of the dataset with pagination.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ const { versions, pagination } = await dataset.listVersions({ page: 0, perPage: 10 })
19
+
20
+ for (const version of versions) {
21
+ console.log(`Version ${version.version} created at ${version.createdAt}`)
22
+ }
23
+ ```
24
+
25
+ ## Parameters
26
+
27
+ **page?:** (`number`): Page number. Defaults to \`0\`.
28
+
29
+ **perPage?:** (`number`): Number of versions per page. Defaults to \`20\`.
30
+
31
+ ## Returns
32
+
33
+ **result:** (`Promise<object>`): objectversions:DatasetVersion\[]Array of version records.DatasetVersionid:stringUnique identifier of the version record.datasetId:stringID of the parent dataset.version:numberVersion number.createdAt:DateWhen this version was created.pagination:objectPagination metadata.objecttotal:numberTotal number of versions.page:numberCurrent page number.perPage:number | falseVersions per page, or \`false\` if unpaginated.hasMore:booleanWhether more pages are available.
@@ -0,0 +1,62 @@
1
+ # dataset.startExperiment()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Runs an experiment on the dataset and waits for completion. Executes all items against a target (agent, workflow, or scorer) with optional scoring.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ // Run against a registered agent with scorers
19
+ const summary = await dataset.startExperiment({
20
+ targetType: 'agent',
21
+ targetId: 'my-agent',
22
+ scorers: ['accuracy', 'relevancy'],
23
+ maxConcurrency: 10,
24
+ })
25
+
26
+ console.log(`${summary.succeededCount}/${summary.totalItems} succeeded`)
27
+ console.log(`Status: ${summary.status}`)
28
+ ```
29
+
30
+ ## Parameters
31
+
32
+ **targetType?:** (`'agent' | 'workflow' | 'scorer'`): Type of registered target to run items against. Use with \`targetId\`.
33
+
34
+ **targetId?:** (`string`): ID of the registered target. Use with \`targetType\`.
35
+
36
+ **scorers?:** (`(MastraScorer | string)[]`): Scorers to evaluate each result. Pass \`MastraScorer\` instances or registered scorer IDs.
37
+
38
+ **name?:** (`string`): Display name for the experiment.
39
+
40
+ **description?:** (`string`): Description of the experiment.
41
+
42
+ **metadata?:** (`Record<string, unknown>`): Arbitrary metadata for the experiment.
43
+
44
+ **version?:** (`number`): Pin to a specific dataset version. Defaults to the latest version.
45
+
46
+ **maxConcurrency?:** (`number`): Maximum concurrent item executions. Defaults to \`5\`.
47
+
48
+ **signal?:** (`AbortSignal`): AbortSignal for cancelling the experiment.
49
+
50
+ **itemTimeout?:** (`number`): Per-item execution timeout in milliseconds.
51
+
52
+ **maxRetries?:** (`number`): Maximum retries per item on failure. Defaults to \`0\` (no retries). Abort errors are never retried.
53
+
54
+ ## Returns
55
+
56
+ **result:** (`Promise<ExperimentSummary>`): ExperimentSummaryexperimentId:stringUnique ID of the experiment.status:'pending' | 'running' | 'completed' | 'failed'Final status of the experiment.totalItems:numberTotal number of items in the dataset.succeededCount:numberNumber of items that succeeded.failedCount:numberNumber of items that failed.skippedCount:numberNumber of items skipped (e.g., due to abort).completedWithErrors:boolean\`true\` if the run completed but some items failed.startedAt:DateWhen the experiment started.completedAt:DateWhen the experiment completed.results:ItemWithScores\[]All item results with their scores.ItemWithScoresitemId:stringID of the dataset item.itemVersion:numberDataset version of the item when executed.input:unknownInput data passed to the target.output:unknown | nullOutput from the target, or \`null\` if failed.groundTruth:unknown | nullExpected output from the dataset item.error:{ message: string; stack?: string; code?: string } | nullStructured error if execution failed.startedAt:DateWhen item execution started.completedAt:DateWhen item execution completed.retryCount:numberNumber of retry attempts.scores:ScorerResult\[]Results from all scorers for this item.ScorerResultscorerId:stringID of the scorer.scorerName:stringDisplay name of the scorer.score:number | nullComputed score, or \`null\` if the scorer failed.reason:string | nullReason/explanation for the score.error:string | nullError message if the scorer failed.
57
+
58
+ ## Related
59
+
60
+ - [dataset.startExperimentAsync()](https://mastra.ai/reference/datasets/startExperimentAsync)
61
+ - [dataset.listExperiments()](https://mastra.ai/reference/datasets/listExperiments)
62
+ - [DatasetsManager.compareExperiments()](https://mastra.ai/reference/datasets/compareExperiments)
@@ -0,0 +1,43 @@
1
+ # dataset.startExperimentAsync()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Starts an experiment asynchronously (fire-and-forget). Returns immediately with the experiment ID and a `'pending'` status. The experiment runs in the background.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ // Start experiment without waiting
19
+ const { experimentId, status } = await dataset.startExperimentAsync({
20
+ targetType: 'agent',
21
+ targetId: 'my-agent',
22
+ scorers: ['accuracy'],
23
+ })
24
+
25
+ console.log(`Experiment ${experimentId} started with status: ${status}`)
26
+
27
+ // Check progress later
28
+ const experiment = await dataset.getExperiment({ experimentId })
29
+ console.log(`Current status: ${experiment.status}`)
30
+ ```
31
+
32
+ ## Parameters
33
+
34
+ Takes the same `StartExperimentConfig` as [`dataset.startExperiment()`](https://mastra.ai/reference/datasets/startExperiment).
35
+
36
+ ## Returns
37
+
38
+ **result:** (`Promise<object>`): objectexperimentId:stringUnique ID of the created experiment.status:'pending'Always \`'pending'\` since the experiment hasn't started executing yet.
39
+
40
+ ## Related
41
+
42
+ - [dataset.startExperiment()](https://mastra.ai/reference/datasets/startExperiment)
43
+ - [dataset.getExperiment()](https://mastra.ai/reference/datasets/getExperiment)
@@ -0,0 +1,48 @@
1
+ # dataset.update()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Updates dataset metadata, name, description, and/or schemas. Zod schemas are automatically converted to JSON Schema.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+ import { z } from 'zod'
12
+
13
+ const mastra = new Mastra({
14
+ /* storage config */
15
+ })
16
+
17
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
18
+
19
+ // Update with plain metadata
20
+ const updated = await dataset.update({
21
+ name: 'Updated QA pairs',
22
+ description: 'Revised evaluation set',
23
+ })
24
+
25
+ // Update with Zod schema (auto-converted to JSON Schema)
26
+ const updated2 = await dataset.update({
27
+ inputSchema: z.object({
28
+ question: z.string(),
29
+ context: z.string().optional(),
30
+ }),
31
+ })
32
+ ```
33
+
34
+ ## Parameters
35
+
36
+ **name?:** (`string`): New display name.
37
+
38
+ **description?:** (`string`): New description.
39
+
40
+ **metadata?:** (`Record<string, unknown>`): Updated metadata.
41
+
42
+ **inputSchema?:** (`unknown`): JSON Schema or Zod schema for item inputs.
43
+
44
+ **groundTruthSchema?:** (`unknown`): JSON Schema or Zod schema for item ground truths.
45
+
46
+ ## Returns
47
+
48
+ **result:** (`Promise<DatasetRecord>`): The updated dataset record. See dataset.getDetails() for the full shape.
@@ -0,0 +1,38 @@
1
+ # dataset.updateItem()
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Updates an existing item in the dataset. Only the provided fields are updated. Updating an item creates a new version.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { Mastra } from '@mastra/core'
11
+
12
+ const mastra = new Mastra({
13
+ /* storage config */
14
+ })
15
+
16
+ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
17
+
18
+ const updated = await dataset.updateItem({
19
+ itemId: 'item-id',
20
+ input: { question: 'What is TypeScript?' },
21
+ groundTruth: { answer: 'A typed superset of JavaScript' },
22
+ metadata: { reviewed: true },
23
+ })
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ **itemId:** (`string`): ID of the item to update.
29
+
30
+ **input?:** (`unknown`): Updated input data.
31
+
32
+ **groundTruth?:** (`unknown`): Updated ground truth.
33
+
34
+ **metadata?:** (`Record<string, unknown>`): Updated metadata.
35
+
36
+ ## Returns
37
+
38
+ **result:** (`Promise<DatasetItem>`): The updated dataset item. See dataset.addItem() for the item shape.
@@ -0,0 +1,105 @@
1
+ # Answer Relevancy Scorer
2
+
3
+ The `createAnswerRelevancyScorer()` function accepts a single options object with the following properties:
4
+
5
+ ## Parameters
6
+
7
+ **model:** (`LanguageModel`): Configuration for the model used to evaluate relevancy.
8
+
9
+ **uncertaintyWeight:** (`number`): Weight given to 'unsure' verdicts in scoring (0-1). (Default: `0.3`)
10
+
11
+ **scale:** (`number`): Maximum score value. (Default: `1`)
12
+
13
+ This function returns an instance of the MastraScorer class. The `.run()` method accepts the same input as other scorers (see the [MastraScorer reference](https://mastra.ai/reference/evals/mastra-scorer)), but the return value includes LLM-specific fields as documented below.
14
+
15
+ ## .run() Returns
16
+
17
+ **runId:** (`string`): The id of the run (optional).
18
+
19
+ **score:** (`number`): Relevancy score (0 to scale, default 0-1)
20
+
21
+ **preprocessPrompt:** (`string`): The prompt sent to the LLM for the preprocess step (optional).
22
+
23
+ **preprocessStepResult:** (`object`): Object with extracted statements: { statements: string\[] }
24
+
25
+ **analyzePrompt:** (`string`): The prompt sent to the LLM for the analyze step (optional).
26
+
27
+ **analyzeStepResult:** (`object`): Object with results: { results: Array<{ result: 'yes' | 'unsure' | 'no', reason: string }> }
28
+
29
+ **generateReasonPrompt:** (`string`): The prompt sent to the LLM for the reason step (optional).
30
+
31
+ **reason:** (`string`): Explanation of the score.
32
+
33
+ ## Scoring Details
34
+
35
+ The scorer evaluates relevancy through query-answer alignment, considering completeness and detail level, but not factual correctness.
36
+
37
+ ### Scoring Process
38
+
39
+ 1. **Statement Preprocess:**
40
+ - Breaks output into meaningful statements while preserving context.
41
+
42
+ 2. **Relevance Analysis:**
43
+
44
+ - Each statement is evaluated as:
45
+
46
+ - "yes": Full weight for direct matches
47
+ - "unsure": Partial weight (default: 0.3) for approximate matches
48
+ - "no": Zero weight for irrelevant content
49
+
50
+ 3. **Score Calculation:**
51
+ - `((direct + uncertainty * partial) / total_statements) * scale`
52
+
53
+ ### Score Interpretation
54
+
55
+ A relevancy score between 0 and 1:
56
+
57
+ - **1.0**: The response fully answers the query with relevant and focused information.
58
+ - **0.7–0.9**: The response mostly answers the query but may include minor unrelated content.
59
+ - **0.4–0.6**: The response partially answers the query, mixing relevant and unrelated information.
60
+ - **0.1–0.3**: The response includes minimal relevant content and largely misses the intent of the query.
61
+ - **0.0**: The response is entirely unrelated and does not answer the query.
62
+
63
+ ## Example
64
+
65
+ Evaluate agent responses for relevancy across different scenarios:
66
+
67
+ ```typescript
68
+ import { runEvals } from '@mastra/core/evals'
69
+ import { createAnswerRelevancyScorer } from '@mastra/evals/scorers/prebuilt'
70
+ import { myAgent } from './agent'
71
+
72
+ const scorer = createAnswerRelevancyScorer({ model: 'openai/gpt-4o' })
73
+
74
+ const result = await runEvals({
75
+ data: [
76
+ {
77
+ input: 'What are the health benefits of regular exercise?',
78
+ },
79
+ {
80
+ input: 'What should a healthy breakfast include?',
81
+ },
82
+ {
83
+ input: 'What are the benefits of meditation?',
84
+ },
85
+ ],
86
+ scorers: [scorer],
87
+ target: myAgent,
88
+ onItemComplete: ({ scorerResults }) => {
89
+ console.log({
90
+ score: scorerResults[scorer.id].score,
91
+ reason: scorerResults[scorer.id].reason,
92
+ })
93
+ },
94
+ })
95
+
96
+ console.log(result.scores)
97
+ ```
98
+
99
+ For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
100
+
101
+ To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
102
+
103
+ ## Related
104
+
105
+ - [Faithfulness Scorer](https://mastra.ai/reference/evals/faithfulness)
@@ -0,0 +1,99 @@
1
+ # Answer Similarity Scorer
2
+
3
+ The `createAnswerSimilarityScorer()` function creates a scorer that evaluates how similar an agent's output is to a ground truth answer. This scorer is specifically designed for CI/CD testing scenarios where you have expected answers and want to ensure consistency over time.
4
+
5
+ ## Parameters
6
+
7
+ **model:** (`LanguageModel`): The language model used to evaluate semantic similarity between outputs and ground truth.
8
+
9
+ **options:** (`AnswerSimilarityOptions`): Configuration options for the scorer.
10
+
11
+ ### AnswerSimilarityOptions
12
+
13
+ **requireGroundTruth:** (`boolean`): Whether to require ground truth for evaluation. If false, missing ground truth returns score 0. (Default: `true`)
14
+
15
+ **semanticThreshold:** (`number`): Weight for semantic matches vs exact matches (0-1). (Default: `0.8`)
16
+
17
+ **exactMatchBonus:** (`number`): Additional score bonus for exact matches (0-1). (Default: `0.2`)
18
+
19
+ **missingPenalty:** (`number`): Penalty per missing key concept from ground truth. (Default: `0.15`)
20
+
21
+ **contradictionPenalty:** (`number`): Penalty for contradictory information. High value ensures wrong answers score near 0. (Default: `1.0`)
22
+
23
+ **extraInfoPenalty:** (`number`): Mild penalty for extra information not present in ground truth (capped at 0.2). (Default: `0.05`)
24
+
25
+ **scale:** (`number`): Score scaling factor. (Default: `1`)
26
+
27
+ This function returns an instance of the MastraScorer class. The `.run()` method accepts the same input as other scorers (see the [MastraScorer reference](https://mastra.ai/reference/evals/mastra-scorer)), but **requires ground truth** to be provided in the run object.
28
+
29
+ ## .run() Returns
30
+
31
+ **runId:** (`string`): The id of the run (optional).
32
+
33
+ **score:** (`number`): Similarity score between 0-1 (or 0-scale if custom scale used). Higher scores indicate better similarity to ground truth.
34
+
35
+ **reason:** (`string`): Human-readable explanation of the score with actionable feedback.
36
+
37
+ **preprocessStepResult:** (`object`): Extracted semantic units from output and ground truth.
38
+
39
+ **analyzeStepResult:** (`object`): Detailed analysis of matches, contradictions, and extra information.
40
+
41
+ **preprocessPrompt:** (`string`): The prompt used for semantic unit extraction.
42
+
43
+ **analyzePrompt:** (`string`): The prompt used for similarity analysis.
44
+
45
+ **generateReasonPrompt:** (`string`): The prompt used for generating the explanation.
46
+
47
+ ## Scoring Details
48
+
49
+ The scorer uses a multi-step process:
50
+
51
+ 1. **Extract**: Breaks down output and ground truth into semantic units
52
+ 2. **Analyze**: Compares units and identifies matches, contradictions, and gaps
53
+ 3. **Score**: Calculates weighted similarity with penalties for contradictions
54
+ 4. **Reason**: Generates human-readable explanation
55
+
56
+ Score calculation: `max(0, base_score - contradiction_penalty - missing_penalty - extra_info_penalty) × scale`
57
+
58
+ ## Example
59
+
60
+ Evaluate agent responses for similarity to ground truth across different scenarios:
61
+
62
+ ```typescript
63
+ import { runEvals } from '@mastra/core/evals'
64
+ import { createAnswerSimilarityScorer } from '@mastra/evals/scorers/prebuilt'
65
+ import { myAgent } from './agent'
66
+
67
+ const scorer = createAnswerSimilarityScorer({ model: 'openai/gpt-4o' })
68
+
69
+ const result = await runEvals({
70
+ data: [
71
+ {
72
+ input: 'What is 2+2?',
73
+ groundTruth: '4',
74
+ },
75
+ {
76
+ input: 'What is the capital of France?',
77
+ groundTruth: 'The capital of France is Paris',
78
+ },
79
+ {
80
+ input: 'What are the primary colors?',
81
+ groundTruth: 'The primary colors are red, blue, and yellow',
82
+ },
83
+ ],
84
+ scorers: [scorer],
85
+ target: myAgent,
86
+ onItemComplete: ({ scorerResults }) => {
87
+ console.log({
88
+ score: scorerResults[scorer.id].score,
89
+ reason: scorerResults[scorer.id].reason,
90
+ })
91
+ },
92
+ })
93
+
94
+ console.log(result.scores)
95
+ ```
96
+
97
+ For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
98
+
99
+ To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.