@mastra/core 1.6.0 → 1.7.0-alpha.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 (452) hide show
  1. package/CHANGELOG.md +117 -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-IHDE4CJV.js → chunk-6NRSTTAS.js} +80 -11
  7. package/dist/chunk-6NRSTTAS.js.map +1 -0
  8. package/dist/{chunk-4WG5K4CK.js → chunk-6RTFK6XW.js} +7 -7
  9. package/dist/{chunk-4WG5K4CK.js.map → chunk-6RTFK6XW.js.map} +1 -1
  10. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  11. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  12. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  13. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  14. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  15. package/dist/chunk-GPJGPARM.js.map +1 -0
  16. package/dist/{chunk-VJWRJWSC.cjs → chunk-HYU6AULN.cjs} +85 -15
  17. package/dist/chunk-HYU6AULN.cjs.map +1 -0
  18. package/dist/{chunk-DGS2KGDI.js → chunk-HZ33YLNC.js} +6 -5
  19. package/dist/chunk-HZ33YLNC.js.map +1 -0
  20. package/dist/{chunk-3U3XFMGJ.cjs → chunk-N435UBEN.cjs} +13 -8
  21. package/dist/chunk-N435UBEN.cjs.map +1 -0
  22. package/dist/{chunk-5VQPSWPG.cjs → chunk-NAUBU4SI.cjs} +48 -48
  23. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-NAUBU4SI.cjs.map} +1 -1
  24. package/dist/{chunk-MWGGSA5Q.js → chunk-NHYSIYTD.js} +10 -5
  25. package/dist/chunk-NHYSIYTD.js.map +1 -0
  26. package/dist/{chunk-RZNHRIM7.cjs → chunk-OL4P6TXG.cjs} +5 -5
  27. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-OL4P6TXG.cjs.map} +1 -1
  28. package/dist/{chunk-XWZAKKFT.cjs → chunk-S3JIVN4S.cjs} +14 -14
  29. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-S3JIVN4S.cjs.map} +1 -1
  30. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  31. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  32. package/dist/{chunk-LNKS4TJ6.cjs → chunk-T4KRCLC3.cjs} +8 -7
  33. package/dist/chunk-T4KRCLC3.cjs.map +1 -0
  34. package/dist/{chunk-RHKNKJNM.js → chunk-WBVBORCZ.js} +4 -4
  35. package/dist/{chunk-RHKNKJNM.js.map → chunk-WBVBORCZ.js.map} +1 -1
  36. package/dist/{chunk-YM6245EM.js → chunk-WR5RUKVK.js} +3 -3
  37. package/dist/{chunk-YM6245EM.js.map → chunk-WR5RUKVK.js.map} +1 -1
  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/index.cjs +8 -8
  92. package/dist/stream/index.js +1 -1
  93. package/dist/tool-loop-agent/index.cjs +4 -4
  94. package/dist/tool-loop-agent/index.js +1 -1
  95. package/dist/vector/index.cjs +7 -7
  96. package/dist/vector/index.js +1 -1
  97. package/dist/workflows/evented/index.cjs +10 -10
  98. package/dist/workflows/evented/index.js +1 -1
  99. package/dist/workflows/index.cjs +25 -25
  100. package/dist/workflows/index.js +1 -1
  101. package/dist/workspace/constants/index.d.ts +2 -0
  102. package/dist/workspace/constants/index.d.ts.map +1 -1
  103. package/dist/workspace/errors.d.ts +1 -1
  104. package/dist/workspace/errors.d.ts.map +1 -1
  105. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  107. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  108. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  109. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  110. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  111. package/dist/workspace/filesystem/index.d.ts +1 -0
  112. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  113. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  115. package/dist/workspace/index.cjs +72 -64
  116. package/dist/workspace/index.d.ts +3 -2
  117. package/dist/workspace/index.d.ts.map +1 -1
  118. package/dist/workspace/index.js +1 -1
  119. package/dist/workspace/lifecycle.d.ts +1 -9
  120. package/dist/workspace/lifecycle.d.ts.map +1 -1
  121. package/dist/workspace/sandbox/index.d.ts +2 -0
  122. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  123. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  124. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  125. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  126. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  127. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  129. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  131. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  133. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  135. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  136. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  137. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  139. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  141. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  143. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  144. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  145. package/dist/workspace/sandbox/types.d.ts +9 -2
  146. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  147. package/dist/workspace/sandbox/utils.d.ts +7 -0
  148. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  149. package/dist/workspace/tools/execute-command.d.ts +53 -2
  150. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  151. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  152. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  153. package/dist/workspace/tools/index.d.ts +4 -1
  154. package/dist/workspace/tools/index.d.ts.map +1 -1
  155. package/dist/workspace/tools/kill-process.d.ts +4 -0
  156. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  157. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  158. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  159. package/dist/workspace/tools/tools.d.ts.map +1 -1
  160. package/dist/workspace/types.d.ts +31 -0
  161. package/dist/workspace/types.d.ts.map +1 -1
  162. package/dist/workspace/utils.d.ts +11 -0
  163. package/dist/workspace/utils.d.ts.map +1 -0
  164. package/dist/workspace/workspace.d.ts +36 -0
  165. package/dist/workspace/workspace.d.ts.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  168. package/dist/chunk-5K45E5VE.js.map +0 -1
  169. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  170. package/dist/chunk-DGS2KGDI.js.map +0 -1
  171. package/dist/chunk-IHDE4CJV.js.map +0 -1
  172. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  173. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  174. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  175. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  176. package/dist/chunk-XB3DA67Q.js.map +0 -1
  177. package/dist/docs/SKILL.md +0 -301
  178. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  179. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  180. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  181. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  182. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  183. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  184. package/dist/docs/references/docs-agents-networks.md +0 -290
  185. package/dist/docs/references/docs-agents-overview.md +0 -309
  186. package/dist/docs/references/docs-agents-processors.md +0 -632
  187. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  188. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  189. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  190. package/dist/docs/references/docs-evals-overview.md +0 -146
  191. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  192. package/dist/docs/references/docs-mcp-overview.md +0 -370
  193. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  194. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  195. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  196. package/dist/docs/references/docs-memory-overview.md +0 -45
  197. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  198. package/dist/docs/references/docs-memory-storage.md +0 -261
  199. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  200. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  201. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  202. package/dist/docs/references/docs-observability-logging.md +0 -99
  203. package/dist/docs/references/docs-observability-overview.md +0 -70
  204. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  205. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  206. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  207. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  208. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  209. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  210. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  211. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  212. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  213. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  214. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  215. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  216. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  217. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  218. package/dist/docs/references/docs-rag-overview.md +0 -72
  219. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  220. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  221. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  222. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  223. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  224. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  225. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  226. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  227. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  228. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  229. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  230. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  231. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  232. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  233. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  234. package/dist/docs/references/docs-server-middleware.md +0 -228
  235. package/dist/docs/references/docs-server-request-context.md +0 -478
  236. package/dist/docs/references/docs-streaming-events.md +0 -247
  237. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  238. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  239. package/dist/docs/references/docs-voice-overview.md +0 -979
  240. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  241. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  242. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  243. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  244. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  245. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  246. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  247. package/dist/docs/references/docs-workflows-overview.md +0 -372
  248. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  249. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  250. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  251. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  252. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  253. package/dist/docs/references/docs-workspace-overview.md +0 -239
  254. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  255. package/dist/docs/references/docs-workspace-search.md +0 -219
  256. package/dist/docs/references/docs-workspace-skills.md +0 -126
  257. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  258. package/dist/docs/references/reference-agents-agent.md +0 -142
  259. package/dist/docs/references/reference-agents-generate.md +0 -174
  260. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  261. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  262. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  263. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  264. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  265. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  266. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  267. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  268. package/dist/docs/references/reference-agents-getModel.md +0 -34
  269. package/dist/docs/references/reference-agents-getTools.md +0 -29
  270. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  271. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  272. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  273. package/dist/docs/references/reference-agents-listTools.md +0 -34
  274. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  275. package/dist/docs/references/reference-agents-network.md +0 -134
  276. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  277. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  278. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  279. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  280. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  281. package/dist/docs/references/reference-auth-auth0.md +0 -73
  282. package/dist/docs/references/reference-auth-clerk.md +0 -36
  283. package/dist/docs/references/reference-auth-firebase.md +0 -80
  284. package/dist/docs/references/reference-auth-jwt.md +0 -26
  285. package/dist/docs/references/reference-auth-supabase.md +0 -33
  286. package/dist/docs/references/reference-auth-workos.md +0 -84
  287. package/dist/docs/references/reference-client-js-agents.md +0 -438
  288. package/dist/docs/references/reference-configuration.md +0 -749
  289. package/dist/docs/references/reference-core-addGateway.md +0 -42
  290. package/dist/docs/references/reference-core-getAgent.md +0 -21
  291. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  292. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  293. package/dist/docs/references/reference-core-getGateway.md +0 -38
  294. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  295. package/dist/docs/references/reference-core-getLogger.md +0 -22
  296. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  297. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  298. package/dist/docs/references/reference-core-getMemory.md +0 -50
  299. package/dist/docs/references/reference-core-getScorer.md +0 -54
  300. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  301. package/dist/docs/references/reference-core-getServer.md +0 -22
  302. package/dist/docs/references/reference-core-getStorage.md +0 -22
  303. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  304. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  305. package/dist/docs/references/reference-core-getVector.md +0 -22
  306. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  307. package/dist/docs/references/reference-core-listAgents.md +0 -21
  308. package/dist/docs/references/reference-core-listGateways.md +0 -40
  309. package/dist/docs/references/reference-core-listLogs.md +0 -38
  310. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  311. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  312. package/dist/docs/references/reference-core-listMemory.md +0 -56
  313. package/dist/docs/references/reference-core-listScorers.md +0 -29
  314. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  315. package/dist/docs/references/reference-core-listVectors.md +0 -22
  316. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  317. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  318. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  319. package/dist/docs/references/reference-core-setLogger.md +0 -26
  320. package/dist/docs/references/reference-core-setStorage.md +0 -27
  321. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  322. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  323. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  324. package/dist/docs/references/reference-datasets-create.md +0 -49
  325. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  326. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  327. package/dist/docs/references/reference-datasets-delete.md +0 -23
  328. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  329. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  331. package/dist/docs/references/reference-datasets-get.md +0 -29
  332. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  333. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  334. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  335. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  336. package/dist/docs/references/reference-datasets-list.md +0 -29
  337. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  338. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  339. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  340. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  341. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  342. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  343. package/dist/docs/references/reference-datasets-update.md +0 -46
  344. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  345. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  346. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  347. package/dist/docs/references/reference-evals-bias.md +0 -120
  348. package/dist/docs/references/reference-evals-completeness.md +0 -137
  349. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  350. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  351. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  352. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  353. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  354. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  355. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  356. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  357. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  358. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  359. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  360. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  361. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  362. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  363. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  364. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  365. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  366. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  367. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  368. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  369. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  370. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  371. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  372. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  373. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  374. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  375. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  376. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  377. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  378. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  379. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  380. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  381. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  382. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  383. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  384. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  385. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  386. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  387. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  388. package/dist/docs/references/reference-rag-database-config.md +0 -264
  389. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  390. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  391. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  392. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  393. package/dist/docs/references/reference-storage-composite.md +0 -235
  394. package/dist/docs/references/reference-storage-lance.md +0 -131
  395. package/dist/docs/references/reference-storage-libsql.md +0 -135
  396. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  397. package/dist/docs/references/reference-storage-mssql.md +0 -155
  398. package/dist/docs/references/reference-storage-overview.md +0 -121
  399. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  400. package/dist/docs/references/reference-storage-upstash.md +0 -160
  401. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  402. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  403. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  404. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  405. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  406. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  407. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  408. package/dist/docs/references/reference-templates-overview.md +0 -194
  409. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  410. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  411. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  412. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  413. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  414. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  415. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  416. package/dist/docs/references/reference-vectors-pg.md +0 -408
  417. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  418. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  419. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  420. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  421. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  422. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  423. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  424. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  425. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  426. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  427. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  428. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  429. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  430. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  431. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  432. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  433. package/dist/docs/references/reference-workflows-run.md +0 -59
  434. package/dist/docs/references/reference-workflows-step.md +0 -119
  435. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  436. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  437. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  438. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  439. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  441. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  442. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  443. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  446. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  447. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  448. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  449. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  450. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  451. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  452. 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