@mastra/core 1.6.0 → 1.7.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 (453) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
  7. package/dist/chunk-2X66GWF5.cjs.map +1 -0
  8. package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
  9. package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
  10. package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
  11. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
  12. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  13. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  14. package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
  15. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
  16. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  17. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  18. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  19. package/dist/chunk-GPJGPARM.js.map +1 -0
  20. package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
  21. package/dist/chunk-HB6T4554.cjs.map +1 -0
  22. package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
  23. package/dist/chunk-KUXNBWN7.js.map +1 -0
  24. package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
  25. package/dist/chunk-QSHV7GPT.js.map +1 -0
  26. package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
  27. package/dist/chunk-QTAS3HND.cjs.map +1 -0
  28. package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
  29. package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
  30. package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
  31. package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
  32. package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
  33. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
  34. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  35. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  36. package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
  37. package/dist/chunk-T6GAM3SQ.js.map +1 -0
  38. package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
  39. package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
  40. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  41. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  42. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  43. package/dist/datasets/index.cjs +17 -17
  44. package/dist/datasets/index.js +2 -2
  45. package/dist/evals/index.cjs +20 -20
  46. package/dist/evals/index.js +3 -3
  47. package/dist/evals/scoreTraces/index.cjs +7 -6
  48. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  49. package/dist/evals/scoreTraces/index.js +4 -3
  50. package/dist/evals/scoreTraces/index.js.map +1 -1
  51. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  52. package/dist/harness/harness.d.ts +21 -1
  53. package/dist/harness/harness.d.ts.map +1 -1
  54. package/dist/harness/index.cjs +422 -5
  55. package/dist/harness/index.cjs.map +1 -1
  56. package/dist/harness/index.d.ts +2 -1
  57. package/dist/harness/index.d.ts.map +1 -1
  58. package/dist/harness/index.js +418 -3
  59. package/dist/harness/index.js.map +1 -1
  60. package/dist/harness/types.d.ts +151 -0
  61. package/dist/harness/types.d.ts.map +1 -1
  62. package/dist/index.cjs +2 -2
  63. package/dist/index.js +1 -1
  64. package/dist/loop/index.cjs +12 -12
  65. package/dist/loop/index.js +1 -1
  66. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  67. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  68. package/dist/mastra/hooks.d.ts.map +1 -1
  69. package/dist/mastra/index.cjs +2 -2
  70. package/dist/mastra/index.js +1 -1
  71. package/dist/memory/index.cjs +14 -14
  72. package/dist/memory/index.js +1 -1
  73. package/dist/processor-provider/index.cjs +10 -10
  74. package/dist/processor-provider/index.js +1 -1
  75. package/dist/processors/index.cjs +45 -41
  76. package/dist/processors/index.js +1 -1
  77. package/dist/processors/processors/index.d.ts +1 -0
  78. package/dist/processors/processors/index.d.ts.map +1 -1
  79. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  80. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  81. package/dist/relevance/index.cjs +3 -3
  82. package/dist/relevance/index.js +1 -1
  83. package/dist/storage/constants.cjs +56 -56
  84. package/dist/storage/constants.d.ts.map +1 -1
  85. package/dist/storage/constants.js +1 -1
  86. package/dist/storage/index.cjs +160 -160
  87. package/dist/storage/index.js +2 -2
  88. package/dist/storage/types.d.ts +2 -0
  89. package/dist/storage/types.d.ts.map +1 -1
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  91. package/dist/stream/base/output.d.ts.map +1 -1
  92. package/dist/stream/index.cjs +8 -8
  93. package/dist/stream/index.js +1 -1
  94. package/dist/tool-loop-agent/index.cjs +4 -4
  95. package/dist/tool-loop-agent/index.js +1 -1
  96. package/dist/vector/index.cjs +7 -7
  97. package/dist/vector/index.js +1 -1
  98. package/dist/workflows/evented/index.cjs +10 -10
  99. package/dist/workflows/evented/index.js +1 -1
  100. package/dist/workflows/index.cjs +25 -25
  101. package/dist/workflows/index.js +1 -1
  102. package/dist/workspace/constants/index.d.ts +2 -0
  103. package/dist/workspace/constants/index.d.ts.map +1 -1
  104. package/dist/workspace/errors.d.ts +1 -1
  105. package/dist/workspace/errors.d.ts.map +1 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  107. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  108. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  109. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  110. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  111. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  112. package/dist/workspace/filesystem/index.d.ts +1 -0
  113. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  115. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  116. package/dist/workspace/index.cjs +72 -64
  117. package/dist/workspace/index.d.ts +3 -2
  118. package/dist/workspace/index.d.ts.map +1 -1
  119. package/dist/workspace/index.js +1 -1
  120. package/dist/workspace/lifecycle.d.ts +1 -9
  121. package/dist/workspace/lifecycle.d.ts.map +1 -1
  122. package/dist/workspace/sandbox/index.d.ts +2 -0
  123. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  124. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  125. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  126. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  127. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  129. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  131. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  133. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  135. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  136. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  137. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  139. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  141. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  143. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  144. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  145. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  146. package/dist/workspace/sandbox/types.d.ts +9 -2
  147. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  148. package/dist/workspace/sandbox/utils.d.ts +7 -0
  149. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  150. package/dist/workspace/tools/execute-command.d.ts +53 -2
  151. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  152. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  153. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  154. package/dist/workspace/tools/index.d.ts +4 -1
  155. package/dist/workspace/tools/index.d.ts.map +1 -1
  156. package/dist/workspace/tools/kill-process.d.ts +4 -0
  157. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  158. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  159. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  160. package/dist/workspace/tools/tools.d.ts.map +1 -1
  161. package/dist/workspace/types.d.ts +31 -0
  162. package/dist/workspace/types.d.ts.map +1 -1
  163. package/dist/workspace/utils.d.ts +11 -0
  164. package/dist/workspace/utils.d.ts.map +1 -0
  165. package/dist/workspace/workspace.d.ts +36 -0
  166. package/dist/workspace/workspace.d.ts.map +1 -1
  167. package/package.json +7 -7
  168. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  169. package/dist/chunk-5K45E5VE.js.map +0 -1
  170. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  171. package/dist/chunk-DGS2KGDI.js.map +0 -1
  172. package/dist/chunk-IHDE4CJV.js.map +0 -1
  173. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  174. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  175. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  176. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  177. package/dist/chunk-XB3DA67Q.js.map +0 -1
  178. package/dist/docs/SKILL.md +0 -301
  179. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  180. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  181. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  182. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  183. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  184. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  185. package/dist/docs/references/docs-agents-networks.md +0 -290
  186. package/dist/docs/references/docs-agents-overview.md +0 -309
  187. package/dist/docs/references/docs-agents-processors.md +0 -632
  188. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  189. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  190. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  191. package/dist/docs/references/docs-evals-overview.md +0 -146
  192. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  193. package/dist/docs/references/docs-mcp-overview.md +0 -370
  194. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  195. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  196. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  197. package/dist/docs/references/docs-memory-overview.md +0 -45
  198. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  199. package/dist/docs/references/docs-memory-storage.md +0 -261
  200. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  201. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  202. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  203. package/dist/docs/references/docs-observability-logging.md +0 -99
  204. package/dist/docs/references/docs-observability-overview.md +0 -70
  205. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  206. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  207. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  208. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  209. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  210. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  211. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  212. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  213. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  214. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  215. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  216. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  217. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  218. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  219. package/dist/docs/references/docs-rag-overview.md +0 -72
  220. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  221. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  222. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  223. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  224. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  225. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  226. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  227. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  228. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  229. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  230. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  231. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  232. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  233. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  234. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  235. package/dist/docs/references/docs-server-middleware.md +0 -228
  236. package/dist/docs/references/docs-server-request-context.md +0 -478
  237. package/dist/docs/references/docs-streaming-events.md +0 -247
  238. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  239. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  240. package/dist/docs/references/docs-voice-overview.md +0 -979
  241. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  242. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  243. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  244. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  245. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  246. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  247. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  248. package/dist/docs/references/docs-workflows-overview.md +0 -372
  249. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  250. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  251. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  252. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  253. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  254. package/dist/docs/references/docs-workspace-overview.md +0 -239
  255. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  256. package/dist/docs/references/docs-workspace-search.md +0 -219
  257. package/dist/docs/references/docs-workspace-skills.md +0 -126
  258. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  259. package/dist/docs/references/reference-agents-agent.md +0 -142
  260. package/dist/docs/references/reference-agents-generate.md +0 -174
  261. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  262. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  263. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  264. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  265. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  266. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  267. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  268. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  269. package/dist/docs/references/reference-agents-getModel.md +0 -34
  270. package/dist/docs/references/reference-agents-getTools.md +0 -29
  271. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  272. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  273. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  274. package/dist/docs/references/reference-agents-listTools.md +0 -34
  275. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  276. package/dist/docs/references/reference-agents-network.md +0 -134
  277. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  278. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  279. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  280. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  281. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  282. package/dist/docs/references/reference-auth-auth0.md +0 -73
  283. package/dist/docs/references/reference-auth-clerk.md +0 -36
  284. package/dist/docs/references/reference-auth-firebase.md +0 -80
  285. package/dist/docs/references/reference-auth-jwt.md +0 -26
  286. package/dist/docs/references/reference-auth-supabase.md +0 -33
  287. package/dist/docs/references/reference-auth-workos.md +0 -84
  288. package/dist/docs/references/reference-client-js-agents.md +0 -438
  289. package/dist/docs/references/reference-configuration.md +0 -749
  290. package/dist/docs/references/reference-core-addGateway.md +0 -42
  291. package/dist/docs/references/reference-core-getAgent.md +0 -21
  292. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  293. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  294. package/dist/docs/references/reference-core-getGateway.md +0 -38
  295. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  296. package/dist/docs/references/reference-core-getLogger.md +0 -22
  297. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  298. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  299. package/dist/docs/references/reference-core-getMemory.md +0 -50
  300. package/dist/docs/references/reference-core-getScorer.md +0 -54
  301. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  302. package/dist/docs/references/reference-core-getServer.md +0 -22
  303. package/dist/docs/references/reference-core-getStorage.md +0 -22
  304. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  305. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  306. package/dist/docs/references/reference-core-getVector.md +0 -22
  307. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  308. package/dist/docs/references/reference-core-listAgents.md +0 -21
  309. package/dist/docs/references/reference-core-listGateways.md +0 -40
  310. package/dist/docs/references/reference-core-listLogs.md +0 -38
  311. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  312. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  313. package/dist/docs/references/reference-core-listMemory.md +0 -56
  314. package/dist/docs/references/reference-core-listScorers.md +0 -29
  315. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  316. package/dist/docs/references/reference-core-listVectors.md +0 -22
  317. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  318. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  319. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  320. package/dist/docs/references/reference-core-setLogger.md +0 -26
  321. package/dist/docs/references/reference-core-setStorage.md +0 -27
  322. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  323. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  324. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  325. package/dist/docs/references/reference-datasets-create.md +0 -49
  326. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  327. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  328. package/dist/docs/references/reference-datasets-delete.md +0 -23
  329. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  331. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  332. package/dist/docs/references/reference-datasets-get.md +0 -29
  333. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  334. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  335. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  336. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  337. package/dist/docs/references/reference-datasets-list.md +0 -29
  338. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  339. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  340. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  341. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  342. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  343. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  344. package/dist/docs/references/reference-datasets-update.md +0 -46
  345. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  346. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  347. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  348. package/dist/docs/references/reference-evals-bias.md +0 -120
  349. package/dist/docs/references/reference-evals-completeness.md +0 -137
  350. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  351. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  352. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  353. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  354. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  355. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  356. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  357. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  358. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  359. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  360. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  361. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  362. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  363. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  364. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  365. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  366. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  367. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  368. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  369. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  370. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  371. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  372. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  373. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  374. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  375. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  376. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  377. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  378. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  379. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  380. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  381. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  382. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  383. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  384. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  385. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  386. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  387. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  388. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  389. package/dist/docs/references/reference-rag-database-config.md +0 -264
  390. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  391. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  392. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  393. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  394. package/dist/docs/references/reference-storage-composite.md +0 -235
  395. package/dist/docs/references/reference-storage-lance.md +0 -131
  396. package/dist/docs/references/reference-storage-libsql.md +0 -135
  397. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  398. package/dist/docs/references/reference-storage-mssql.md +0 -155
  399. package/dist/docs/references/reference-storage-overview.md +0 -121
  400. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  401. package/dist/docs/references/reference-storage-upstash.md +0 -160
  402. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  403. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  404. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  405. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  406. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  407. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  408. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  409. package/dist/docs/references/reference-templates-overview.md +0 -194
  410. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  411. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  412. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  413. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  414. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  415. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  416. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  417. package/dist/docs/references/reference-vectors-pg.md +0 -408
  418. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  419. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  420. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  421. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  422. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  423. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  424. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  425. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  426. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  427. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  428. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  429. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  430. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  431. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  432. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  433. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  434. package/dist/docs/references/reference-workflows-run.md +0 -59
  435. package/dist/docs/references/reference-workflows-step.md +0 -119
  436. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  437. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  438. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  439. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  441. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  442. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  443. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  446. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  447. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  448. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  449. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  450. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  451. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  452. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  453. package/dist/docs/references/reference.md +0 -276
@@ -1,266 +0,0 @@
1
- # Running Experiments
2
-
3
- **Added in:** `@mastra/core@1.4.0`
4
-
5
- An experiment runs every item in a dataset through a target (an agent, a workflow, or a scorer) and then optionally scores the outputs. Use a scorer as the target when you want to evaluate an LLM judge itself. Results are persisted to storage so you can compare runs across different prompts, models, or code changes.
6
-
7
- ## Basic experiment
8
-
9
- Call [`startExperiment()`](https://mastra.ai/reference/datasets/startExperiment) with a target and scorers:
10
-
11
- ```typescript
12
- import { mastra } from "../index";
13
-
14
- const dataset = await mastra.datasets.get({ id: "translation-dataset-id" });
15
-
16
- const summary = await dataset.startExperiment({
17
- name: "gpt-5.1-baseline",
18
- targetType: "agent",
19
- targetId: "translation-agent",
20
- scorers: ["accuracy", "fluency"],
21
- });
22
-
23
- console.log(summary.status); // 'completed' | 'failed'
24
- console.log(summary.succeededCount); // number of items that ran successfully
25
- console.log(summary.failedCount); // number of items that failed
26
- ```
27
-
28
- `startExperiment()` blocks until all items finish. For fire-and-forget execution, see [async experiments](#async-experiments).
29
-
30
- ## Experiment targets
31
-
32
- You can point an experiment at a registered agent, workflow, or scorer.
33
-
34
- ### Registered agent
35
-
36
- Point to an agent registered on your Mastra instance:
37
-
38
- ```typescript
39
- const summary = await dataset.startExperiment({
40
- name: "agent-v2-eval",
41
- targetType: "agent",
42
- targetId: "translation-agent",
43
- scorers: ["accuracy"],
44
- });
45
- ```
46
-
47
- Each item's `input` is passed directly to `agent.generate()`, so it must be a `string`, `string[]`, or `CoreMessage[]`.
48
-
49
- ### Registered workflow
50
-
51
- Point to a workflow registered on your Mastra instance:
52
-
53
- ```typescript
54
- const summary = await dataset.startExperiment({
55
- name: "workflow-eval",
56
- targetType: "workflow",
57
- targetId: "translation-workflow",
58
- scorers: ["accuracy"],
59
- });
60
- ```
61
-
62
- The workflow receives each item's `input` as its trigger data.
63
-
64
- ### Registered scorer
65
-
66
- Point to a scorer to evaluate an LLM judge against ground truth:
67
-
68
- ```typescript
69
- const summary = await dataset.startExperiment({
70
- name: "judge-accuracy-eval",
71
- targetType: "scorer",
72
- targetId: "accuracy",
73
- });
74
- ```
75
-
76
- The scorer receives each item's `input` and `groundTruth`. LLM-based judges can drift over time as underlying models change, so it's important to periodically realign them against known-good labels. A dataset gives you a stable benchmark to detect that drift.
77
-
78
- ## Scoring results
79
-
80
- Scorers automatically run after each item's target execution. Pass scorer instances or registered scorer IDs:
81
-
82
- **Scorer IDs**:
83
-
84
- ```typescript
85
- // Reference scorers registered on the Mastra instance
86
- const summary = await dataset.startExperiment({
87
- name: "with-registered-scorers",
88
- targetType: "agent",
89
- targetId: "translation-agent",
90
- scorers: ["accuracy", "fluency"],
91
- });
92
- ```
93
-
94
- **Scorer instances**:
95
-
96
- ```typescript
97
- import { createAnswerRelevancyScorer } from "@mastra/evals/scorers/prebuilt";
98
-
99
- const relevancy = createAnswerRelevancyScorer({ model: "openai/gpt-4.1-nano" });
100
-
101
- const summary = await dataset.startExperiment({
102
- name: "with-scorer-instances",
103
- targetType: "agent",
104
- targetId: "translation-agent",
105
- scorers: [relevancy],
106
- });
107
- ```
108
-
109
- Each item's results include per-scorer scores:
110
-
111
- ```typescript
112
- for (const item of summary.results) {
113
- console.log(item.itemId, item.output);
114
- for (const score of item.scores) {
115
- console.log(` ${score.scorerName}: ${score.score} — ${score.reason}`);
116
- }
117
- }
118
- ```
119
-
120
- > **Info:** Visit the [Scorers overview](https://mastra.ai/docs/evals/overview) for details on available and custom scorers.
121
-
122
- ## Async experiments
123
-
124
- `startExperiment()` blocks until every item completes. For long-running datasets, use [`startExperimentAsync()`](https://mastra.ai/reference/datasets/startExperimentAsync) to start the experiment in the background:
125
-
126
- ```typescript
127
- const { experimentId, status } = await dataset.startExperimentAsync({
128
- name: "large-dataset-run",
129
- targetType: "agent",
130
- targetId: "translation-agent",
131
- scorers: ["accuracy"],
132
- });
133
-
134
- console.log(experimentId); // UUID
135
- console.log(status); // 'pending'
136
- ```
137
-
138
- Poll for completion using [`getExperiment()`](https://mastra.ai/reference/datasets/getExperiment):
139
-
140
- ```typescript
141
- let experiment = await dataset.getExperiment({ experimentId });
142
-
143
- while (experiment.status === "pending" || experiment.status === "running") {
144
- await new Promise(resolve => setTimeout(resolve, 5000));
145
- experiment = await dataset.getExperiment({ experimentId });
146
- }
147
-
148
- console.log(experiment.status); // 'completed' | 'failed'
149
- ```
150
-
151
- ## Configuration options
152
-
153
- ### Concurrency
154
-
155
- Control how many items run in parallel (default: 5):
156
-
157
- ```typescript
158
- const summary = await dataset.startExperiment({
159
- targetType: "agent",
160
- targetId: "translation-agent",
161
- maxConcurrency: 10,
162
- });
163
- ```
164
-
165
- ### Timeouts and retries
166
-
167
- Set a per-item timeout (in milliseconds) and retry count:
168
-
169
- ```typescript
170
- const summary = await dataset.startExperiment({
171
- targetType: "agent",
172
- targetId: "translation-agent",
173
- itemTimeout: 30_000, // 30 seconds per item
174
- maxRetries: 2, // retry failed items up to 2 times
175
- });
176
- ```
177
-
178
- Retries use exponential backoff. Abort errors are never retried.
179
-
180
- ### Aborting an experiment
181
-
182
- Pass an `AbortSignal` to cancel a running experiment:
183
-
184
- ```typescript
185
- const controller = new AbortController();
186
-
187
- // Cancel after 60 seconds
188
- setTimeout(() => controller.abort(), 60_000);
189
-
190
- const summary = await dataset.startExperiment({
191
- targetType: "agent",
192
- targetId: "translation-agent",
193
- signal: controller.signal,
194
- });
195
- ```
196
-
197
- Remaining items are marked as skipped in the summary.
198
-
199
- ### Pinning a dataset version
200
-
201
- Run against a specific snapshot of the dataset:
202
-
203
- ```typescript
204
- const summary = await dataset.startExperiment({
205
- targetType: "agent",
206
- targetId: "translation-agent",
207
- version: 3, // use items from dataset version 3
208
- });
209
- ```
210
-
211
- ## Viewing results
212
-
213
- ### Listing experiments
214
-
215
- ```typescript
216
- const { experiments, pagination } = await dataset.listExperiments({
217
- page: 0,
218
- perPage: 10,
219
- });
220
-
221
- for (const exp of experiments) {
222
- console.log(`${exp.name} — ${exp.status} (${exp.succeededCount}/${exp.totalItems})`);
223
- }
224
- ```
225
-
226
- ### Experiment details
227
-
228
- ```typescript
229
- const experiment = await dataset.getExperiment({
230
- experimentId: "exp-abc-123",
231
- });
232
-
233
- console.log(experiment.status);
234
- console.log(experiment.startedAt);
235
- console.log(experiment.completedAt);
236
- ```
237
-
238
- ### Item-level results
239
-
240
- ```typescript
241
- const { results, pagination } = await dataset.listExperimentResults({
242
- experimentId: "exp-abc-123",
243
- page: 0,
244
- perPage: 50,
245
- });
246
-
247
- for (const result of results) {
248
- console.log(result.itemId, result.output, result.error);
249
- }
250
- ```
251
-
252
- ## Understanding the summary
253
-
254
- `startExperiment()` returns an `ExperimentSummary` with counts and per-item results:
255
-
256
- - `completedWithErrors` is `true` when the experiment finished but some items failed.
257
- - Items cancelled via `signal` appear in `skippedCount`.
258
-
259
- > **Info:** Visit the [`startExperiment` reference](https://mastra.ai/reference/datasets/startExperiment) for the full parameter and return type documentation.
260
-
261
- ## Related
262
-
263
- - [Datasets overview](https://mastra.ai/docs/observability/datasets/overview)
264
- - [Scorers overview](https://mastra.ai/docs/evals/overview)
265
- - [`startExperiment` reference](https://mastra.ai/reference/datasets/startExperiment)
266
- - [`listExperimentResults` reference](https://mastra.ai/reference/datasets/listExperimentResults)
@@ -1,99 +0,0 @@
1
- # Logging
2
-
3
- Mastra's logging system captures function execution, input data, and output responses in a structured format.
4
-
5
- When deploying to Mastra Cloud, logs are shown on the [Logs](https://mastra.ai/docs/mastra-cloud/observability) page. In self-hosted or custom environments, logs can be directed to files or external services depending on the configured transports.
6
-
7
- ## Configuring logs with PinoLogger
8
-
9
- When [initializing a new Mastra project](https://mastra.ai/guides/getting-started/quickstart) using the CLI, `PinoLogger` is included by default.
10
-
11
- ```typescript
12
- import { Mastra } from "@mastra/core/mastra";
13
- import { PinoLogger } from "@mastra/loggers";
14
-
15
- export const mastra = new Mastra({
16
- logger: new PinoLogger({
17
- name: "Mastra",
18
- level: "info",
19
- }),
20
- });
21
- ```
22
-
23
- > **Info:** Visit [PinoLogger](https://mastra.ai/reference/logging/pino-logger) for all available configuration options.
24
-
25
- ## Customizing logs
26
-
27
- Mastra provides access to a logger instance via the `mastra.getLogger()` method, available inside both workflow steps and tools. The logger supports standard severity levels: `debug`, `info`, `warn`, and `error`.
28
-
29
- ### Logging from workflow steps
30
-
31
- Within a workflow step, access the logger via the `mastra` parameter inside the `execute` function. This allows you to log messages relevant to the step’s execution.
32
-
33
- ```typescript
34
- import { createWorkflow, createStep } from "@mastra/core/workflows";
35
- import { z } from "zod";
36
-
37
- const step1 = createStep({
38
- execute: async ({ mastra }) => {
39
- const logger = mastra.getLogger();
40
- logger.info("workflow info log");
41
-
42
- return {
43
- output: ""
44
- };
45
- }
46
- });
47
-
48
- export const testWorkflow = createWorkflow({...})
49
- .then(step1)
50
- .commit();
51
- ```
52
-
53
- ### Logging from tools
54
-
55
- Similarly, tools have access to the logger instance via the `mastra` parameter. Use this to log tool specific activity during execution.
56
-
57
- ```typescript
58
- import { createTool } from "@mastra/core/tools";
59
- import { z } from "zod";
60
-
61
- export const testTool = createTool({
62
- execute: async (inputData, context) => {
63
- const logger = context?.mastra.getLogger();
64
- logger?.info("tool info log");
65
-
66
- return {
67
- output: "",
68
- };
69
- },
70
- });
71
- ```
72
-
73
- ### Logging with additional data
74
-
75
- Logger methods accept an optional second argument for additional data. This can be any value, such as an object, string, or number.
76
-
77
- In this example, the log message includes an object with a key of `agent` and a value of the `testAgent` instance.
78
-
79
- ```typescript
80
- import { createWorkflow, createStep } from "@mastra/core/workflows";
81
- import { z } from "zod";
82
-
83
- const step1 = createStep({
84
- execute: async ({ mastra }) => {
85
- const testAgent = mastra.getAgent("testAgent");
86
- const logger = mastra.getLogger();
87
-
88
- logger.info("workflow info log", { agent: testAgent });
89
-
90
- return {
91
- output: ""
92
- };
93
- }
94
- });
95
-
96
- export const testWorkflow = createWorkflow({...})
97
- .then(step1)
98
- .commit();
99
- ```
@@ -1,70 +0,0 @@
1
- # Observability Overview
2
-
3
- Mastra provides observability features for AI applications. Monitor LLM operations, trace agent decisions, and debug complex workflows with tools that understand AI-specific patterns.
4
-
5
- ## Key Features
6
-
7
- ### Tracing
8
-
9
- Specialized tracing for AI operations that captures:
10
-
11
- - **Model interactions**: Token usage, latency, prompts, and completions
12
- - **Agent execution**: Decision paths, tool calls, and memory operations
13
- - **Workflow steps**: Branching logic, parallel execution, and step outputs
14
- - **Automatic instrumentation**: Tracing with decorators
15
-
16
- ## Storage Requirements
17
-
18
- The `DefaultExporter` persists traces to your configured storage backend. Not all storage providers support observability—for the full list, see [Storage Provider Support](https://mastra.ai/docs/observability/tracing/exporters/default).
19
-
20
- For production environments with high traffic, we recommend using **ClickHouse** for the observability domain via [composite storage](https://mastra.ai/reference/storage/composite). See [Production Recommendations](https://mastra.ai/docs/observability/tracing/exporters/default) for details.
21
-
22
- ## Quick Start
23
-
24
- Configure Observability in your Mastra instance:
25
-
26
- ```typescript
27
- import { Mastra } from "@mastra/core";
28
- import { PinoLogger } from "@mastra/loggers";
29
- import { LibSQLStore } from "@mastra/libsql";
30
- import {
31
- Observability,
32
- DefaultExporter,
33
- CloudExporter,
34
- SensitiveDataFilter,
35
- } from "@mastra/observability";
36
-
37
- export const mastra = new Mastra({
38
- logger: new PinoLogger(),
39
- storage: new LibSQLStore({
40
- id: 'mastra-storage',
41
- url: "file:./mastra.db", // Storage is required for tracing
42
- }),
43
- observability: new Observability({
44
- configs: {
45
- default: {
46
- serviceName: "mastra",
47
- exporters: [
48
- new DefaultExporter(), // Persists traces to storage for Mastra Studio
49
- new CloudExporter(), // Sends traces to Mastra Cloud (if MASTRA_CLOUD_ACCESS_TOKEN is set)
50
- ],
51
- spanOutputProcessors: [
52
- new SensitiveDataFilter(), // Redacts sensitive data like passwords, tokens, keys
53
- ],
54
- },
55
- },
56
- }),
57
- });
58
- ```
59
-
60
- > **Serverless environments:** The `file:./mastra.db` storage URL uses the local filesystem, which doesn't work in serverless environments like Vercel, AWS Lambda, or Cloudflare Workers. For serverless deployments, use external storage. See the [Vercel deployment guide](https://mastra.ai/guides/deployment/vercel) for a complete example.
61
-
62
- With this basic setup, you will see Traces and Logs in both Studio and in Mastra Cloud.
63
-
64
- We also support various external tracing providers like MLflow, Langfuse, Braintrust, and any OpenTelemetry-compatible platform (Datadog, New Relic, SigNoz, etc.). See more about this in the [Tracing](https://mastra.ai/docs/observability/tracing/overview) documentation.
65
-
66
- ## What's Next?
67
-
68
- - **[Set up Tracing](https://mastra.ai/docs/observability/tracing/overview)**: Configure tracing for your application
69
- - **[Configure Logging](https://mastra.ai/docs/observability/logging)**: Add structured logging
70
- - **[API Reference](https://mastra.ai/reference/observability/tracing/instances)**: Detailed configuration options
@@ -1,209 +0,0 @@
1
- # OpenTelemetry Bridge
2
-
3
- > **Warning:** The OpenTelemetry Bridge is currently **experimental**. APIs and configuration options may change in future releases.
4
-
5
- The OpenTelemetry (OTEL) Bridge enables bidirectional integration between Mastra's tracing system and existing OpenTelemetry infrastructure. Unlike exporters that send trace data to external platforms, the bridge creates native OTEL spans that participate in your distributed tracing context.
6
-
7
- > **Looking to send traces without existing OTEL infrastructure?:** If you don't have existing OpenTelemetry instrumentation, the [OpenTelemetry Exporter](https://mastra.ai/docs/observability/tracing/exporters/otel) may be simpler — it sends traces directly without requiring an OTEL SDK setup.
8
-
9
- ## When to Use the Bridge
10
-
11
- Use the OtelBridge when you:
12
-
13
- - Have existing OTEL instrumentation in your application (HTTP servers, database clients, etc.)
14
- - Want Mastra operations to appear as child spans of your existing OTEL traces
15
- - Need OTEL-instrumented code inside Mastra tools to maintain proper parent-child relationships
16
- - Are building a distributed system where trace context must propagate across services
17
-
18
- ## How It Works
19
-
20
- The OtelBridge provides two-way integration:
21
-
22
- **From OTEL to Mastra:**
23
-
24
- - Reads from OTEL ambient context (AsyncLocalStorage) automatically
25
- - Inherits trace ID and parent span ID from active OTEL spans
26
- - Respects OTEL sampling decisions — if a trace is not sampled, Mastra won't create spans for it
27
- - No manual trace ID passing required when OTEL auto-instrumentation is active
28
-
29
- **From Mastra to OTEL:**
30
-
31
- - Creates native OTEL spans for Mastra operations (agents, LLM calls, tools, workflows)
32
- - Maintains proper parent-child relationships in distributed traces
33
- - Allows OTEL-instrumented code (HTTP clients, database calls) within Mastra operations to nest correctly
34
-
35
- ## Installation
36
-
37
- **npm**:
38
-
39
- ```bash
40
- npm install @mastra/otel-bridge
41
- ```
42
-
43
- **pnpm**:
44
-
45
- ```bash
46
- pnpm add @mastra/otel-bridge
47
- ```
48
-
49
- **Yarn**:
50
-
51
- ```bash
52
- yarn add @mastra/otel-bridge
53
- ```
54
-
55
- **Bun**:
56
-
57
- ```bash
58
- bun add @mastra/otel-bridge
59
- ```
60
-
61
- The bridge works with your existing OpenTelemetry setup. Depending on your configuration, you may also need some of these packages:
62
-
63
- - `@opentelemetry/sdk-node` - Core Node.js SDK for OTEL
64
- - `@opentelemetry/auto-instrumentations-node` - Auto-instrumentation for common libraries
65
- - `@opentelemetry/exporter-trace-otlp-proto` - OTLP exporter (Protobuf over HTTP)
66
- - `@opentelemetry/exporter-trace-otlp-http` - OTLP exporter (JSON over HTTP)
67
- - `@opentelemetry/exporter-trace-otlp-grpc` - OTLP exporter (gRPC)
68
- - `@opentelemetry/sdk-trace-base` - Base tracing SDK (for BatchSpanProcessor, etc.)
69
- - `@opentelemetry/core` - Core utilities (for W3CTraceContextPropagator, etc.)
70
-
71
- ## Configuration
72
-
73
- Using the OtelBridge requires two steps:
74
-
75
- 1. Configure OpenTelemetry instrumentation in your application
76
- 2. Add the OtelBridge to your Mastra observability config
77
-
78
- ### Step 1: OpenTelemetry Instrumentation
79
-
80
- Create an instrumentation file that initializes OTEL. This must run before your application code:
81
-
82
- ```typescript
83
- import { NodeSDK } from "@opentelemetry/sdk-node";
84
- import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
85
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
86
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
87
- import { W3CTraceContextPropagator } from "@opentelemetry/core";
88
-
89
- const sdk = new NodeSDK({
90
- serviceName: "my-service",
91
- spanProcessors: [
92
- new BatchSpanProcessor(
93
- new OTLPTraceExporter({
94
- url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || "http://localhost:4318/v1/traces",
95
- })
96
- ),
97
- ],
98
- instrumentations: [getNodeAutoInstrumentations()],
99
- textMapPropagator: new W3CTraceContextPropagator(),
100
- });
101
-
102
- sdk.start();
103
-
104
- export { sdk };
105
- ```
106
-
107
- ### Step 2: Mastra Configuration
108
-
109
- Add the OtelBridge to your Mastra observability config:
110
-
111
- ```typescript
112
- import { Mastra } from "@mastra/core";
113
- import { Observability } from "@mastra/observability";
114
- import { OtelBridge } from "@mastra/otel-bridge";
115
-
116
- export const mastra = new Mastra({
117
- observability: new Observability({
118
- configs: {
119
- default: {
120
- serviceName: "my-service",
121
- bridge: new OtelBridge(),
122
- },
123
- },
124
- }),
125
- agents: {
126
- /* your agents */
127
- },
128
- });
129
- ```
130
-
131
- No Mastra exporters are required when using the bridge — traces are sent via your OTEL SDK configuration. You can optionally add Mastra exporters if you want to send traces to additional destinations.
132
-
133
- ### Running Your Application
134
-
135
- Use the `--import` flag to ensure instrumentation loads before your application:
136
-
137
- ```bash
138
- tsx --import ./instrumentation.ts ./src/index.ts
139
- ```
140
-
141
- ## Semantic Conventions
142
-
143
- The OtelBridge exports Mastra spans using [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai). This includes standardized span names (`chat {model}`, `execute_tool {tool_name}`, etc.) and attributes (`gen_ai.usage.input_tokens`, `gen_ai.request.model`, etc.).
144
-
145
- For details on span naming and attributes, see the [OpenTelemetry Exporter semantic conventions](https://mastra.ai/docs/observability/tracing/exporters/otel).
146
-
147
- ## Trace Hierarchy
148
-
149
- With the OtelBridge, your traces maintain proper hierarchy across OTEL and Mastra boundaries:
150
-
151
- ```text
152
- HTTP POST /api/chat (from Hono middleware)
153
- └── agent.assistant (from Mastra via OtelBridge)
154
- ├── chat gpt-4o (LLM call)
155
- ├── tool.execute search (tool execution)
156
- │ └── HTTP GET api.example.com (from OTEL auto-instrumentation)
157
- └── chat gpt-4o (follow-up LLM call)
158
- ```
159
-
160
- ## Multi-Service Distributed Tracing
161
-
162
- The OtelBridge enables trace propagation across service boundaries. When Service A calls Service B via HTTP, trace context propagates automatically:
163
-
164
- ```text
165
- Service A: HTTP POST /api/process
166
- └── HTTP POST service-b/api/analyze (outgoing call)
167
-
168
- Service B: HTTP POST /api/analyze (incoming call - same trace!)
169
- └── agent.analyzer (Mastra agent inherits trace context)
170
- └── chat gpt-4o
171
- ```
172
-
173
- Both services must have:
174
-
175
- 1. OTEL instrumentation configured
176
- 2. W3C Trace Context propagator enabled
177
- 3. Mastra with OtelBridge configured
178
-
179
- ## Using Tags
180
-
181
- Tags help you categorize and filter traces in your OTEL backend. Add tags when executing agents or workflows:
182
-
183
- ```typescript
184
- const result = await agent.generate("Hello", {
185
- tracingOptions: {
186
- tags: ["production", "experiment-v2", "user-request"],
187
- },
188
- });
189
- ```
190
-
191
- Tags are exported as a JSON string in the `mastra.tags` span attribute for broad backend compatibility. Common use cases include:
192
-
193
- - Environment labels: `"production"`, `"staging"`
194
- - Experiment tracking: `"experiment-v1"`, `"control-group"`
195
- - Priority levels: `"priority-high"`, `"batch-job"`
196
-
197
- ## Troubleshooting
198
-
199
- If traces aren't appearing or connecting as expected:
200
-
201
- - Verify OTEL SDK is initialized before Mastra (use `--import` flag or import at top of entry point)
202
- - Ensure the OtelBridge is added to your observability config
203
- - Check that your OTEL backend is running and accessible
204
-
205
- ## Related
206
-
207
- - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
208
- - [OpenTelemetry Exporter](https://mastra.ai/docs/observability/tracing/exporters/otel) - For sending traces to OTEL backends
209
- - [OtelBridge Reference](https://mastra.ai/reference/observability/tracing/bridges/otel) - API documentation