@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,144 @@
1
+ # SensitiveDataFilter
2
+
3
+ A SpanOutputProcessor that redacts sensitive information from span fields.
4
+
5
+ ## Constructor
6
+
7
+ ```typescript
8
+ new SensitiveDataFilter(options?: SensitiveDataFilterOptions)
9
+ ```
10
+
11
+ ## SensitiveDataFilterOptions
12
+
13
+ ```typescript
14
+ interface SensitiveDataFilterOptions {
15
+ /**
16
+ * List of sensitive field names to redact.
17
+ * Matching is case-insensitive and normalizes separators
18
+ * (api-key, api_key, Api Key → apikey).
19
+ * Defaults include: password, token, secret, key, apikey, auth,
20
+ * authorization, bearer, bearertoken, jwt, credential,
21
+ * clientsecret, privatekey, refresh, ssn.
22
+ */
23
+ sensitiveFields?: string[]
24
+
25
+ /**
26
+ * The token used for full redaction.
27
+ * Default: "[REDACTED]"
28
+ */
29
+ redactionToken?: string
30
+
31
+ /**
32
+ * Style of redaction to use:
33
+ * - "full": always replace with redactionToken
34
+ * - "partial": show 3 characters from the start and end, redact the middle
35
+ * Default: "full"
36
+ */
37
+ redactionStyle?: RedactionStyle
38
+ }
39
+ ```
40
+
41
+ ## RedactionStyle
42
+
43
+ ```typescript
44
+ type RedactionStyle = 'full' | 'partial'
45
+ ```
46
+
47
+ ## Methods
48
+
49
+ ### process
50
+
51
+ ```typescript
52
+ process(span: AnySpan): AnySpan
53
+ ```
54
+
55
+ Process a span by filtering sensitive data across its key fields: attributes, metadata, input, output, and errorInfo.
56
+
57
+ **Returns:** A new span with sensitive values redacted.
58
+
59
+ ### shutdown
60
+
61
+ ```typescript
62
+ async shutdown(): Promise<void>
63
+ ```
64
+
65
+ No cleanup needed for this processor.
66
+
67
+ ## Properties
68
+
69
+ ```typescript
70
+ readonly name = 'sensitive-data-filter';
71
+ ```
72
+
73
+ ## Default Sensitive Fields
74
+
75
+ When no custom fields are provided:
76
+
77
+ ```typescript
78
+ [
79
+ 'password',
80
+ 'token',
81
+ 'secret',
82
+ 'key',
83
+ 'apikey',
84
+ 'auth',
85
+ 'authorization',
86
+ 'bearer',
87
+ 'bearertoken',
88
+ 'jwt',
89
+ 'credential',
90
+ 'clientsecret',
91
+ 'privatekey',
92
+ 'refresh',
93
+ 'ssn',
94
+ ]
95
+ ```
96
+
97
+ ## Processing Behavior
98
+
99
+ ### Field Matching
100
+
101
+ - **Case-insensitive**: `APIKey`, `apikey`, `ApiKey` all match
102
+
103
+ - **Separator-agnostic**: `api-key`, `api_key`, `apiKey` are treated identically
104
+
105
+ - **Exact matching**: After normalization, fields must match exactly
106
+
107
+ - `token` matches `token`, `Token`, `TOKEN`
108
+ - `token` does NOT match `promptTokens` or `tokenCount`
109
+
110
+ ### Redaction Styles
111
+
112
+ #### Full Redaction (default)
113
+
114
+ All matched values replaced with redactionToken.
115
+
116
+ #### Partial Redaction
117
+
118
+ - Shows first 3 and last 3 characters
119
+ - Values ≤ 6 characters are fully redacted
120
+ - Non-string values are converted to strings before partial redaction
121
+
122
+ ### Error Handling
123
+
124
+ If filtering a field fails, the field is replaced with:
125
+
126
+ ```typescript
127
+ {
128
+ error: {
129
+ processor: 'sensitive-data-filter'
130
+ }
131
+ }
132
+ ```
133
+
134
+ ### Processed Fields
135
+
136
+ The filter recursively processes:
137
+
138
+ - `span.attributes` - Span metadata and properties
139
+ - `span.metadata` - Custom metadata
140
+ - `span.input` - Input data
141
+ - `span.output` - Output data
142
+ - `span.errorInfo` - Error information
143
+
144
+ Handles nested objects, arrays, and circular references safely.
@@ -0,0 +1,224 @@
1
+ # Spans
2
+
3
+ ## BaseSpan
4
+
5
+ Base interface for all span types.
6
+
7
+ ```typescript
8
+ interface BaseSpan<TType extends SpanType> {
9
+ /** Unique span identifier */
10
+ id: string
11
+
12
+ /** OpenTelemetry-compatible trace ID (32 hex chars) */
13
+ traceId: string
14
+
15
+ /** Name of the span */
16
+ name: string
17
+
18
+ /** Type of the span */
19
+ type: TType
20
+
21
+ /** When span started */
22
+ startTime: Date
23
+
24
+ /** When span ended */
25
+ endTime?: Date
26
+
27
+ /** Type-specific attributes */
28
+ attributes?: SpanTypeMap[TType]
29
+
30
+ /** User-defined metadata */
31
+ metadata?: Record<string, any>
32
+
33
+ /** Input passed at the start of the span */
34
+ input?: any
35
+
36
+ /** Output generated at the end of the span */
37
+ output?: any
38
+
39
+ /** Error information if span failed */
40
+ errorInfo?: {
41
+ message: string
42
+ id?: string
43
+ domain?: string
44
+ category?: string
45
+ details?: Record<string, any>
46
+ }
47
+
48
+ /** Is an event span? (occurs at startTime, has no endTime) */
49
+ isEvent: boolean
50
+ }
51
+ ```
52
+
53
+ ## Span
54
+
55
+ Span interface, used internally for tracing. Extends BaseSpan with lifecycle methods and properties.
56
+
57
+ ```typescript
58
+ interface Span<TType extends SpanType> extends BaseSpan<TType> {
59
+ /** Is an internal span? (spans internal to the operation of mastra) */
60
+ isInternal: boolean
61
+
62
+ /** Parent span reference (undefined for root spans) */
63
+ parent?: AnySpan
64
+
65
+ /** Pointer to the ObservabilityInstance instance */
66
+ observabilityInstance: ObservabilityInstance
67
+ }
68
+ ```
69
+
70
+ ### Properties
71
+
72
+ ```typescript
73
+ /** Returns TRUE if the span is the root span of a trace */
74
+ get isRootSpan(): boolean
75
+
76
+ /** Returns TRUE if the span is a valid span (not a NO-OP Span) */
77
+ get isValid(): boolean
78
+
79
+ /** Get the closest parent spanId that isn't an internal span */
80
+ getParentSpanId(includeInternalSpans?: boolean): string | undefined
81
+
82
+ /** Returns a lightweight span ready for export */
83
+ exportSpan(includeInternalSpans?: boolean): ExportedSpan<TType> | undefined
84
+ ```
85
+
86
+ ### Methods
87
+
88
+ #### end
89
+
90
+ ```typescript
91
+ end(options?: EndSpanOptions<TType>): void
92
+ ```
93
+
94
+ Ends the span and triggers export to configured exporters. Sets the `endTime` and optionally updates `output`, `metadata`, and `attributes`.
95
+
96
+ #### error
97
+
98
+ ```typescript
99
+ error(options: ErrorSpanOptions<TType>): void
100
+ ```
101
+
102
+ Records an error on the span. Sets the `errorInfo` field and can optionally end the span.
103
+
104
+ #### update
105
+
106
+ ```typescript
107
+ update(options: UpdateSpanOptions<TType>): void
108
+ ```
109
+
110
+ Updates span data while it's still active. Can modify `input`, `output`, `metadata`, and `attributes`.
111
+
112
+ #### createChildSpan
113
+
114
+ ```typescript
115
+ createChildSpan<TChildType extends SpanType>(
116
+ options: ChildSpanOptions<TChildType>
117
+ ): Span<TChildType>
118
+ ```
119
+
120
+ Creates a child span under this span. Child spans track sub-operations and inherit the trace context.
121
+
122
+ #### createEventSpan
123
+
124
+ ```typescript
125
+ createEventSpan<TChildType extends SpanType>(
126
+ options: ChildEventOptions<TChildType>
127
+ ): Span<TChildType>
128
+ ```
129
+
130
+ Creates an event span under this span. Event spans represent point-in-time occurrences with no duration.
131
+
132
+ ## ExportedSpan
133
+
134
+ Exported Span interface, used for tracing exporters. A lightweight version of Span without methods or circular references.
135
+
136
+ ```typescript
137
+ interface ExportedSpan<TType extends SpanType> extends BaseSpan<TType> {
138
+ /** Parent span id reference (undefined for root spans) */
139
+ parentSpanId?: string
140
+
141
+ /** TRUE if the span is the root span of a trace */
142
+ isRootSpan: boolean
143
+ }
144
+ ```
145
+
146
+ ## Span Lifecycle Events
147
+
148
+ Events emitted during the span lifecycle.
149
+
150
+ ### TracingEventType
151
+
152
+ ```typescript
153
+ enum TracingEventType {
154
+ /** Emitted when a span is created and started */
155
+ SPAN_STARTED = 'span_started',
156
+
157
+ /** Emitted when a span is updated via update() */
158
+ SPAN_UPDATED = 'span_updated',
159
+
160
+ /** Emitted when a span is ended via end() or error() */
161
+ SPAN_ENDED = 'span_ended',
162
+ }
163
+ ```
164
+
165
+ ### TracingEvent
166
+
167
+ ```typescript
168
+ type TracingEvent =
169
+ | { type: 'span_started'; exportedSpan: AnyExportedSpan }
170
+ | { type: 'span_updated'; exportedSpan: AnyExportedSpan }
171
+ | { type: 'span_ended'; exportedSpan: AnyExportedSpan }
172
+ ```
173
+
174
+ Exporters receive these events to process and send trace data to observability platforms.
175
+
176
+ ## Union Types
177
+
178
+ ### AnySpan
179
+
180
+ ```typescript
181
+ type AnySpan = Span<keyof SpanTypeMap>
182
+ ```
183
+
184
+ Union type for cases that need to handle any span type.
185
+
186
+ ### AnyExportedSpan
187
+
188
+ ```typescript
189
+ type AnyExportedSpan = ExportedSpan<keyof SpanTypeMap>
190
+ ```
191
+
192
+ Union type for cases that need to handle any exported span type.
193
+
194
+ ## NO-OP Spans
195
+
196
+ When tracing is disabled (sampling returns false), NO-OP spans are returned:
197
+
198
+ ### NoOpSpan
199
+
200
+ ```typescript
201
+ class NoOpSpan<TType extends SpanType> extends BaseSpan<TType>
202
+ ```
203
+
204
+ A span that performs no operations. All methods are no-ops:
205
+
206
+ - `id` returns `'no-op'`
207
+ - `traceId` returns `'no-op-trace'`
208
+ - `isValid` returns `false`
209
+ - `end()`, `error()`, `update()` do nothing
210
+ - `createChildSpan()` returns another NO-OP span
211
+
212
+ ## See Also
213
+
214
+ ### Documentation
215
+
216
+ - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview) - Concepts and usage
217
+ - [Creating Child Spans](https://mastra.ai/docs/observability/tracing/overview) - Practical examples
218
+ - [Retrieving Trace IDs](https://mastra.ai/docs/observability/tracing/overview) - Using trace IDs
219
+
220
+ ### Reference
221
+
222
+ - [Tracing Classes](https://mastra.ai/reference/observability/tracing/instances) - Core tracing classes
223
+ - [Interfaces](https://mastra.ai/reference/observability/tracing/interfaces) - Complete type reference
224
+ - [Configuration](https://mastra.ai/reference/observability/tracing/configuration) - Configuration options
@@ -0,0 +1,61 @@
1
+ # BatchPartsProcessor
2
+
3
+ The `BatchPartsProcessor` is an **output processor** that batches multiple stream parts together to reduce the frequency of emissions during streaming. This processor is useful for reducing network overhead, improving user experience by consolidating small text chunks, and optimizing streaming performance by controlling when parts are emitted to the client.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { BatchPartsProcessor } from '@mastra/core/processors'
9
+
10
+ const processor = new BatchPartsProcessor({
11
+ batchSize: 5,
12
+ maxWaitTime: 100,
13
+ emitOnNonText: true,
14
+ })
15
+ ```
16
+
17
+ ## Constructor parameters
18
+
19
+ **options?:** (`Options`): Configuration options for batching stream parts
20
+
21
+ ### Options
22
+
23
+ **batchSize?:** (`number`): Number of parts to batch together before emitting
24
+
25
+ **maxWaitTime?:** (`number`): Maximum time to wait before emitting a batch (in milliseconds). If set, will emit the current batch even if it hasn't reached batchSize
26
+
27
+ **emitOnNonText?:** (`boolean`): Whether to emit immediately when a non-text part is encountered
28
+
29
+ ## Returns
30
+
31
+ **id:** (`string`): Processor identifier set to 'batch-parts'
32
+
33
+ **name?:** (`string`): Optional processor display name
34
+
35
+ **processOutputStream:** (`(args: { part: ChunkType; streamParts: ChunkType[]; state: Record<string, any>; abort: (reason?: string) => never }) => Promise<ChunkType | null>`): Processes streaming output parts to batch them together
36
+
37
+ **flush:** (`(state?: BatchPartsState) => ChunkType | null`): Force flush any remaining batched parts when the stream ends
38
+
39
+ ## Extended usage example
40
+
41
+ ```typescript
42
+ import { Agent } from '@mastra/core/agent'
43
+ import { BatchPartsProcessor } from '@mastra/core/processors'
44
+
45
+ export const agent = new Agent({
46
+ name: 'batched-agent',
47
+ instructions: 'You are a helpful assistant',
48
+ model: 'openai/gpt-5.1',
49
+ outputProcessors: [
50
+ new BatchPartsProcessor({
51
+ batchSize: 5,
52
+ maxWaitTime: 100,
53
+ emitOnNonText: true,
54
+ }),
55
+ ],
56
+ })
57
+ ```
58
+
59
+ ## Related
60
+
61
+ - [Guardrails](https://mastra.ai/docs/agents/guardrails)
@@ -0,0 +1,82 @@
1
+ # LanguageDetector
2
+
3
+ The `LanguageDetector` is an **input processor** that identifies the language of input text and optionally translates it to a target language for consistent processing. This processor helps maintain language consistency by detecting the language of incoming messages and providing flexible strategies for handling multilingual content, including automatic translation to ensure all content is processed in the target language.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { LanguageDetector } from '@mastra/core/processors'
9
+
10
+ const processor = new LanguageDetector({
11
+ model: 'openrouter/openai/gpt-oss-safeguard-20b',
12
+ targetLanguages: ['English', 'en'],
13
+ threshold: 0.8,
14
+ strategy: 'translate',
15
+ })
16
+ ```
17
+
18
+ ## Constructor parameters
19
+
20
+ **options:** (`Options`): Configuration options for language detection and translation
21
+
22
+ ### Options
23
+
24
+ **model:** (`MastraModelConfig`): Model configuration for the detection/translation agent
25
+
26
+ **targetLanguages?:** (`string[]`): Target language(s) for the project. If content is detected in a different language, it may be translated. Can be language name ('English') or ISO code ('en')
27
+
28
+ **threshold?:** (`number`): Confidence threshold for language detection (0-1). Only process when detection confidence exceeds this threshold
29
+
30
+ **strategy?:** (`'detect' | 'translate' | 'block' | 'warn'`): Strategy when non-target language is detected: 'detect' only detects language, 'translate' automatically translates to target language, 'block' rejects content not in target language, 'warn' logs warning but allows through
31
+
32
+ **preserveOriginal?:** (`boolean`): Whether to preserve original content in message metadata. Useful for audit trails and debugging
33
+
34
+ **instructions?:** (`string`): Custom detection instructions for the agent. If not provided, uses default instructions
35
+
36
+ **minTextLength?:** (`number`): Minimum text length to perform detection. Short text is often unreliable for language detection
37
+
38
+ **includeDetectionDetails?:** (`boolean`): Whether to include detailed detection info in logs
39
+
40
+ **translationQuality?:** (`'speed' | 'quality' | 'balanced'`): Translation quality preference: 'speed' prioritizes fast translation, 'quality' prioritizes accuracy, 'balanced' balances between speed and quality
41
+
42
+ **providerOptions?:** (`ProviderOptions`): Provider-specific options passed to the internal detection agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
43
+
44
+ ## Returns
45
+
46
+ **id:** (`string`): Processor identifier set to 'language-detector'
47
+
48
+ **name?:** (`string`): Optional processor display name
49
+
50
+ **processInput:** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraDBMessage[]>`): Processes input messages to detect language and optionally translate content before sending to LLM
51
+
52
+ ## Extended usage example
53
+
54
+ ```typescript
55
+ import { Agent } from '@mastra/core/agent'
56
+ import { LanguageDetector } from '@mastra/core/processors'
57
+
58
+ export const agent = new Agent({
59
+ id: 'multilingual-agent',
60
+ name: 'multilingual-agent',
61
+ instructions: 'You are a helpful assistant',
62
+ model: 'openai/gpt-5.1',
63
+ inputProcessors: [
64
+ new LanguageDetector({
65
+ model: 'openrouter/openai/gpt-oss-safeguard-20b',
66
+ targetLanguages: ['English', 'en'],
67
+ threshold: 0.8,
68
+ strategy: 'translate',
69
+ preserveOriginal: true,
70
+ instructions:
71
+ 'Detect language and translate non-English content to English while preserving original intent',
72
+ minTextLength: 10,
73
+ includeDetectionDetails: true,
74
+ translationQuality: 'quality',
75
+ }),
76
+ ],
77
+ })
78
+ ```
79
+
80
+ ## Related
81
+
82
+ - [Guardrails](https://mastra.ai/docs/agents/guardrails)
@@ -0,0 +1,85 @@
1
+ # MessageHistory
2
+
3
+ The `MessageHistory` is a **hybrid processor** that handles both retrieval and persistence of message history. On input, it fetches historical messages from storage and prepends them to the conversation. On output, it persists new messages to storage.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { MessageHistory } from '@mastra/core/processors'
9
+
10
+ const processor = new MessageHistory({
11
+ storage: memoryStorage,
12
+ lastMessages: 50,
13
+ })
14
+ ```
15
+
16
+ ## Constructor parameters
17
+
18
+ **options:** (`MessageHistoryOptions`): Configuration options for the message history processor
19
+
20
+ ### Options
21
+
22
+ **storage:** (`MemoryStorage`): Storage instance for retrieving and persisting messages
23
+
24
+ **lastMessages?:** (`number`): Maximum number of historical messages to retrieve. If not specified, retrieves all messages
25
+
26
+ ## Returns
27
+
28
+ **id:** (`string`): Processor identifier set to 'message-history'
29
+
30
+ **name:** (`string`): Processor display name set to 'MessageHistory'
31
+
32
+ **processInput:** (`(args: { messages: MastraDBMessage[]; messageList: MessageList; abort: (reason?: string) => never; tracingContext?: TracingContext; requestContext?: RequestContext }) => Promise<MessageList | MastraDBMessage[]>`): Fetches historical messages from storage and adds them to the message list
33
+
34
+ **processOutputResult:** (`(args: { messages: MastraDBMessage[]; messageList: MessageList; abort: (reason?: string) => never; tracingContext?: TracingContext; requestContext?: RequestContext }) => Promise<MessageList>`): Persists new messages (user input and assistant response) to storage, excluding system messages
35
+
36
+ ## Extended usage example
37
+
38
+ ```typescript
39
+ import { Agent } from '@mastra/core/agent'
40
+ import { MessageHistory } from '@mastra/core/processors'
41
+ import { PostgresStorage } from '@mastra/pg'
42
+
43
+ const storage = new PostgresStorage({
44
+ connectionString: process.env.DATABASE_URL,
45
+ })
46
+
47
+ export const agent = new Agent({
48
+ name: 'memory-agent',
49
+ instructions: 'You are a helpful assistant with conversation memory',
50
+ model: 'openai:gpt-4o',
51
+ inputProcessors: [
52
+ new MessageHistory({
53
+ storage,
54
+ lastMessages: 100,
55
+ }),
56
+ ],
57
+ outputProcessors: [
58
+ new MessageHistory({
59
+ storage,
60
+ }),
61
+ ],
62
+ })
63
+ ```
64
+
65
+ ## Behavior
66
+
67
+ ### Input processing
68
+
69
+ 1. Retrieves `threadId` from the request context
70
+ 2. Fetches historical messages from storage (ordered by creation date, descending)
71
+ 3. Filters out system messages (they should not be stored in the database)
72
+ 4. Merges historical messages with incoming messages, avoiding duplicates by ID
73
+ 5. Adds historical messages with `source: 'memory'` tag
74
+
75
+ ### Output processing
76
+
77
+ 1. Retrieves `threadId` from the request context
78
+ 2. Skips persistence if `readOnly` is set in memory config
79
+ 3. Filters out incomplete tool calls from messages
80
+ 4. Persists new user input and assistant response messages to storage
81
+ 5. Updates the thread's `updatedAt` timestamp
82
+
83
+ ## Related
84
+
85
+ - [Guardrails](https://mastra.ai/docs/agents/guardrails)
@@ -0,0 +1,104 @@
1
+ # ModerationProcessor
2
+
3
+ The `ModerationProcessor` is a **hybrid processor** that can be used for both input and output processing to provide content moderation using an LLM to detect inappropriate content across multiple categories. This processor helps maintain content safety by evaluating messages against configurable moderation categories with flexible strategies for handling flagged content.
4
+
5
+ ## Usage example
6
+
7
+ ```typescript
8
+ import { ModerationProcessor } from '@mastra/core/processors'
9
+
10
+ const processor = new ModerationProcessor({
11
+ model: 'openrouter/openai/gpt-oss-safeguard-20b',
12
+ threshold: 0.7,
13
+ strategy: 'block',
14
+ categories: ['hate', 'harassment', 'violence'],
15
+ })
16
+ ```
17
+
18
+ ## Constructor parameters
19
+
20
+ **options:** (`Options`): Configuration options for content moderation
21
+
22
+ ### Options
23
+
24
+ **model:** (`MastraModelConfig`): Model configuration for the moderation agent
25
+
26
+ **categories?:** (`string[]`): Categories to check for moderation. If not specified, uses default OpenAI categories
27
+
28
+ **threshold?:** (`number`): Confidence threshold for flagging (0-1). Content is flagged if any category score exceeds this threshold
29
+
30
+ **strategy?:** (`'block' | 'warn' | 'filter'`): Strategy when content is flagged: 'block' rejects with error, 'warn' logs warning but allows through, 'filter' removes flagged messages
31
+
32
+ **instructions?:** (`string`): Custom moderation instructions for the agent. If not provided, uses default instructions based on categories
33
+
34
+ **includeScores?:** (`boolean`): Whether to include confidence scores in logs. Useful for tuning thresholds and debugging
35
+
36
+ **chunkWindow?:** (`number`): Number of previous chunks to include for context when moderating stream chunks. If set to 1, includes the previous part, etc.
37
+
38
+ **providerOptions?:** (`ProviderOptions`): Provider-specific options passed to the internal moderation agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
39
+
40
+ ## Returns
41
+
42
+ **id:** (`string`): Processor identifier set to 'moderation'
43
+
44
+ **name?:** (`string`): Optional processor display name
45
+
46
+ **processInput:** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraDBMessage[]>`): Processes input messages to moderate content before sending to LLM
47
+
48
+ **processOutputStream:** (`(args: { part: ChunkType; streamParts: ChunkType[]; state: Record<string, any>; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<ChunkType | null | undefined>`): Processes streaming output parts to moderate content during streaming
49
+
50
+ ## Extended usage example
51
+
52
+ ### Input processing
53
+
54
+ ```typescript
55
+ import { Agent } from '@mastra/core/agent'
56
+ import { ModerationProcessor } from '@mastra/core/processors'
57
+
58
+ export const agent = new Agent({
59
+ name: 'moderated-agent',
60
+ instructions: 'You are a helpful assistant',
61
+ model: 'openai/gpt-5.1',
62
+ inputProcessors: [
63
+ new ModerationProcessor({
64
+ model: 'openrouter/openai/gpt-oss-safeguard-20b',
65
+ categories: ['hate', 'harassment', 'violence'],
66
+ threshold: 0.7,
67
+ strategy: 'block',
68
+ instructions: 'Detect and flag inappropriate content in user messages',
69
+ includeScores: true,
70
+ }),
71
+ ],
72
+ })
73
+ ```
74
+
75
+ ### Output processing with batching
76
+
77
+ When using `ModerationProcessor` as an output processor, it's recommended to combine it with `BatchPartsProcessor` to optimize performance. The `BatchPartsProcessor` batches stream chunks together before passing them to the moderator, reducing the number of LLM calls required for moderation.
78
+
79
+ ```typescript
80
+ import { Agent } from '@mastra/core/agent'
81
+ import { BatchPartsProcessor, ModerationProcessor } from '@mastra/core/processors'
82
+
83
+ export const agent = new Agent({
84
+ name: 'output-moderated-agent',
85
+ instructions: 'You are a helpful assistant',
86
+ model: 'openai/gpt-5.1',
87
+ outputProcessors: [
88
+ // Batch stream parts first to reduce LLM calls
89
+ new BatchPartsProcessor({
90
+ batchSize: 10,
91
+ }),
92
+ // Then apply moderation on batched content
93
+ new ModerationProcessor({
94
+ model: 'openrouter/openai/gpt-oss-safeguard-20b',
95
+ strategy: 'filter',
96
+ chunkWindow: 1,
97
+ }),
98
+ ],
99
+ })
100
+ ```
101
+
102
+ ## Related
103
+
104
+ - [Guardrails](https://mastra.ai/docs/agents/guardrails)