@mastra/core 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/dist/agent/agent-legacy.d.ts +15 -0
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent.d.ts +7 -0
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.types.d.ts +311 -2
  7. package/dist/agent/agent.types.d.ts.map +1 -1
  8. package/dist/agent/index.cjs +13 -13
  9. package/dist/agent/index.d.ts +3 -1
  10. package/dist/agent/index.d.ts.map +1 -1
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +18 -18
  13. package/dist/agent/message-list/index.js +1 -1
  14. package/dist/agent/message-list/merge/MessageMerger.d.ts.map +1 -1
  15. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  18. package/dist/{chunk-A72NTLFT.cjs → chunk-2IO5Q7OZ.cjs} +7 -7
  19. package/dist/{chunk-A72NTLFT.cjs.map → chunk-2IO5Q7OZ.cjs.map} +1 -1
  20. package/dist/{chunk-DFCRXDVK.js → chunk-2KHPZJNU.js} +10 -8
  21. package/dist/chunk-2KHPZJNU.js.map +1 -0
  22. package/dist/{chunk-R4N65TLG.js → chunk-2R5MQMSA.js} +35 -16
  23. package/dist/chunk-2R5MQMSA.js.map +1 -0
  24. package/dist/{chunk-ZSBM2SVU.js → chunk-4H5F6AFP.js} +1064 -226
  25. package/dist/chunk-4H5F6AFP.js.map +1 -0
  26. package/dist/{chunk-BQHWJLXU.js → chunk-63G75DJE.js} +9 -3
  27. package/dist/chunk-63G75DJE.js.map +1 -0
  28. package/dist/{chunk-SBOHDNIZ.cjs → chunk-6GSWC5ZA.cjs} +2 -2
  29. package/dist/{chunk-SBOHDNIZ.cjs.map → chunk-6GSWC5ZA.cjs.map} +1 -1
  30. package/dist/{chunk-QTAS3HND.cjs → chunk-6Q2UD3XF.cjs} +21 -14
  31. package/dist/chunk-6Q2UD3XF.cjs.map +1 -0
  32. package/dist/{chunk-GPJGPARM.js → chunk-DTPR3JAM.js} +2 -2
  33. package/dist/{chunk-GPJGPARM.js.map → chunk-DTPR3JAM.js.map} +1 -1
  34. package/dist/{chunk-NN26FSKL.js → chunk-FHJ2KIU5.js} +3 -3
  35. package/dist/{chunk-NN26FSKL.js.map → chunk-FHJ2KIU5.js.map} +1 -1
  36. package/dist/{chunk-RABITNTG.cjs → chunk-HWG7NPJA.cjs} +55 -55
  37. package/dist/{chunk-RABITNTG.cjs.map → chunk-HWG7NPJA.cjs.map} +1 -1
  38. package/dist/{chunk-HB6T4554.cjs → chunk-KH3G65IS.cjs} +10 -8
  39. package/dist/chunk-KH3G65IS.cjs.map +1 -0
  40. package/dist/{chunk-YQG7NBPR.cjs → chunk-KZ4IKNPN.cjs} +25 -23
  41. package/dist/chunk-KZ4IKNPN.cjs.map +1 -0
  42. package/dist/{chunk-6DUTLERJ.js → chunk-MRV5NCPC.js} +3 -3
  43. package/dist/{chunk-6DUTLERJ.js.map → chunk-MRV5NCPC.js.map} +1 -1
  44. package/dist/{chunk-O7PZ4VOO.cjs → chunk-N3ROEJG4.cjs} +12 -10
  45. package/dist/chunk-N3ROEJG4.cjs.map +1 -0
  46. package/dist/{chunk-7EXW4AAG.js → chunk-NXKI2L4X.js} +6 -4
  47. package/dist/chunk-NXKI2L4X.js.map +1 -0
  48. package/dist/{chunk-QWTB53GS.js → chunk-OSEPGSLN.js} +6 -6
  49. package/dist/{chunk-QWTB53GS.js.map → chunk-OSEPGSLN.js.map} +1 -1
  50. package/dist/{chunk-6OXW5E2O.js → chunk-PI7ONENO.js} +4 -4
  51. package/dist/{chunk-6OXW5E2O.js.map → chunk-PI7ONENO.js.map} +1 -1
  52. package/dist/{chunk-KUXNBWN7.js → chunk-Q4MV4XKX.js} +8 -6
  53. package/dist/chunk-Q4MV4XKX.js.map +1 -0
  54. package/dist/{chunk-7UAJ6LMR.cjs → chunk-QKQGKEN7.cjs} +1078 -241
  55. package/dist/chunk-QKQGKEN7.cjs.map +1 -0
  56. package/dist/{chunk-IC5OUWKJ.js → chunk-SP7P6Z4L.js} +19 -2
  57. package/dist/chunk-SP7P6Z4L.js.map +1 -0
  58. package/dist/{chunk-QDH6MVJ7.cjs → chunk-TGUDI64A.cjs} +14 -14
  59. package/dist/{chunk-QDH6MVJ7.cjs.map → chunk-TGUDI64A.cjs.map} +1 -1
  60. package/dist/{chunk-EAZ6YDCQ.cjs → chunk-U3HBG2GU.cjs} +9 -2
  61. package/dist/chunk-U3HBG2GU.cjs.map +1 -0
  62. package/dist/{chunk-6QBN6MZY.cjs → chunk-VAKB5EXJ.cjs} +42 -23
  63. package/dist/chunk-VAKB5EXJ.cjs.map +1 -0
  64. package/dist/{chunk-QSHV7GPT.js → chunk-VBPU6CLZ.js} +3808 -3026
  65. package/dist/chunk-VBPU6CLZ.js.map +1 -0
  66. package/dist/{chunk-2X66GWF5.cjs → chunk-VTVCMIAI.cjs} +3905 -3121
  67. package/dist/chunk-VTVCMIAI.cjs.map +1 -0
  68. package/dist/{chunk-PHHJLGZU.cjs → chunk-XNWF6CYR.cjs} +6 -6
  69. package/dist/{chunk-PHHJLGZU.cjs.map → chunk-XNWF6CYR.cjs.map} +1 -1
  70. package/dist/{chunk-T6GAM3SQ.js → chunk-ZRPTWYWJ.js} +18 -11
  71. package/dist/chunk-ZRPTWYWJ.js.map +1 -0
  72. package/dist/{chunk-DB7U2C5B.cjs → chunk-ZXOWG32X.cjs} +19 -2
  73. package/dist/chunk-ZXOWG32X.cjs.map +1 -0
  74. package/dist/datasets/experiment/index.d.ts.map +1 -1
  75. package/dist/datasets/experiment/scorer.d.ts +1 -1
  76. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  77. package/dist/datasets/index.cjs +17 -17
  78. package/dist/datasets/index.js +2 -2
  79. package/dist/docs/SKILL.md +300 -0
  80. package/dist/docs/assets/SOURCE_MAP.json +1423 -0
  81. package/dist/docs/references/docs-agents-adding-voice.md +349 -0
  82. package/dist/docs/references/docs-agents-agent-approval.md +558 -0
  83. package/dist/docs/references/docs-agents-agent-memory.md +209 -0
  84. package/dist/docs/references/docs-agents-guardrails.md +374 -0
  85. package/dist/docs/references/docs-agents-network-approval.md +275 -0
  86. package/dist/docs/references/docs-agents-networks.md +299 -0
  87. package/dist/docs/references/docs-agents-overview.md +304 -0
  88. package/dist/docs/references/docs-agents-processors.md +622 -0
  89. package/dist/docs/references/docs-agents-structured-output.md +273 -0
  90. package/dist/docs/references/docs-agents-supervisor-agents.md +304 -0
  91. package/dist/docs/references/docs-agents-using-tools.md +214 -0
  92. package/dist/docs/references/docs-evals-custom-scorers.md +519 -0
  93. package/dist/docs/references/docs-evals-overview.md +141 -0
  94. package/dist/docs/references/docs-evals-running-in-ci.md +124 -0
  95. package/dist/docs/references/docs-memory-memory-processors.md +314 -0
  96. package/dist/docs/references/docs-memory-observational-memory.md +248 -0
  97. package/dist/docs/references/docs-memory-overview.md +45 -0
  98. package/dist/docs/references/docs-memory-semantic-recall.md +272 -0
  99. package/dist/docs/references/docs-memory-storage.md +261 -0
  100. package/dist/docs/references/docs-memory-working-memory.md +400 -0
  101. package/dist/docs/references/docs-observability-datasets-overview.md +198 -0
  102. package/dist/docs/references/docs-observability-datasets-running-experiments.md +274 -0
  103. package/dist/docs/references/docs-observability-logging.md +99 -0
  104. package/dist/docs/references/docs-observability-overview.md +70 -0
  105. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +209 -0
  106. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +272 -0
  107. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +111 -0
  108. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +127 -0
  109. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +187 -0
  110. package/dist/docs/references/docs-observability-tracing-exporters-default.md +209 -0
  111. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +100 -0
  112. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +213 -0
  113. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +198 -0
  114. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +476 -0
  115. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +148 -0
  116. package/dist/docs/references/docs-observability-tracing-overview.md +1112 -0
  117. package/dist/docs/references/docs-rag-chunking-and-embedding.md +183 -0
  118. package/dist/docs/references/docs-rag-graph-rag.md +215 -0
  119. package/dist/docs/references/docs-rag-overview.md +72 -0
  120. package/dist/docs/references/docs-rag-retrieval.md +515 -0
  121. package/dist/docs/references/docs-rag-vector-databases.md +645 -0
  122. package/dist/docs/references/docs-server-auth-auth0.md +220 -0
  123. package/dist/docs/references/docs-server-auth-clerk.md +132 -0
  124. package/dist/docs/references/docs-server-auth-composite-auth.md +234 -0
  125. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +513 -0
  126. package/dist/docs/references/docs-server-auth-firebase.md +272 -0
  127. package/dist/docs/references/docs-server-auth-jwt.md +110 -0
  128. package/dist/docs/references/docs-server-auth-simple-auth.md +180 -0
  129. package/dist/docs/references/docs-server-auth-supabase.md +117 -0
  130. package/dist/docs/references/docs-server-auth-workos.md +186 -0
  131. package/dist/docs/references/docs-server-custom-adapters.md +378 -0
  132. package/dist/docs/references/docs-server-custom-api-routes.md +267 -0
  133. package/dist/docs/references/docs-server-mastra-client.md +243 -0
  134. package/dist/docs/references/docs-server-mastra-server.md +71 -0
  135. package/dist/docs/references/docs-server-middleware.md +225 -0
  136. package/dist/docs/references/docs-server-request-context.md +471 -0
  137. package/dist/docs/references/docs-streaming-events.md +237 -0
  138. package/dist/docs/references/docs-streaming-tool-streaming.md +175 -0
  139. package/dist/docs/references/docs-streaming-workflow-streaming.md +109 -0
  140. package/dist/docs/references/docs-voice-overview.md +959 -0
  141. package/dist/docs/references/docs-voice-speech-to-speech.md +102 -0
  142. package/dist/docs/references/docs-voice-speech-to-text.md +79 -0
  143. package/dist/docs/references/docs-voice-text-to-speech.md +83 -0
  144. package/dist/docs/references/docs-workflows-agents-and-tools.md +166 -0
  145. package/dist/docs/references/docs-workflows-control-flow.md +822 -0
  146. package/dist/docs/references/docs-workflows-error-handling.md +360 -0
  147. package/dist/docs/references/docs-workflows-human-in-the-loop.md +215 -0
  148. package/dist/docs/references/docs-workflows-overview.md +370 -0
  149. package/dist/docs/references/docs-workflows-snapshots.md +238 -0
  150. package/dist/docs/references/docs-workflows-suspend-and-resume.md +205 -0
  151. package/dist/docs/references/docs-workflows-time-travel.md +309 -0
  152. package/dist/docs/references/docs-workflows-workflow-state.md +181 -0
  153. package/dist/docs/references/docs-workspace-filesystem.md +164 -0
  154. package/dist/docs/references/docs-workspace-overview.md +239 -0
  155. package/dist/docs/references/docs-workspace-sandbox.md +63 -0
  156. package/dist/docs/references/docs-workspace-search.md +243 -0
  157. package/dist/docs/references/docs-workspace-skills.md +169 -0
  158. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +140 -0
  159. package/dist/docs/references/reference-agents-agent.md +141 -0
  160. package/dist/docs/references/reference-agents-generate.md +186 -0
  161. package/dist/docs/references/reference-agents-generateLegacy.md +173 -0
  162. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
  163. package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
  164. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
  165. package/dist/docs/references/reference-agents-getDescription.md +21 -0
  166. package/dist/docs/references/reference-agents-getInstructions.md +34 -0
  167. package/dist/docs/references/reference-agents-getLLM.md +37 -0
  168. package/dist/docs/references/reference-agents-getMemory.md +34 -0
  169. package/dist/docs/references/reference-agents-getModel.md +34 -0
  170. package/dist/docs/references/reference-agents-getTools.md +29 -0
  171. package/dist/docs/references/reference-agents-getVoice.md +34 -0
  172. package/dist/docs/references/reference-agents-listAgents.md +35 -0
  173. package/dist/docs/references/reference-agents-listScorers.md +34 -0
  174. package/dist/docs/references/reference-agents-listTools.md +34 -0
  175. package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
  176. package/dist/docs/references/reference-agents-network.md +133 -0
  177. package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
  178. package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
  179. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +231 -0
  180. package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
  181. package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
  182. package/dist/docs/references/reference-auth-auth0.md +73 -0
  183. package/dist/docs/references/reference-auth-clerk.md +36 -0
  184. package/dist/docs/references/reference-auth-firebase.md +80 -0
  185. package/dist/docs/references/reference-auth-jwt.md +26 -0
  186. package/dist/docs/references/reference-auth-supabase.md +33 -0
  187. package/dist/docs/references/reference-auth-workos.md +84 -0
  188. package/dist/docs/references/reference-client-js-agents.md +437 -0
  189. package/dist/docs/references/reference-configuration.md +752 -0
  190. package/dist/docs/references/reference-core-addGateway.md +42 -0
  191. package/dist/docs/references/reference-core-getAgent.md +21 -0
  192. package/dist/docs/references/reference-core-getAgentById.md +21 -0
  193. package/dist/docs/references/reference-core-getDeployer.md +22 -0
  194. package/dist/docs/references/reference-core-getGateway.md +38 -0
  195. package/dist/docs/references/reference-core-getGatewayById.md +41 -0
  196. package/dist/docs/references/reference-core-getLogger.md +22 -0
  197. package/dist/docs/references/reference-core-getMCPServer.md +47 -0
  198. package/dist/docs/references/reference-core-getMCPServerById.md +55 -0
  199. package/dist/docs/references/reference-core-getMemory.md +50 -0
  200. package/dist/docs/references/reference-core-getScorer.md +54 -0
  201. package/dist/docs/references/reference-core-getScorerById.md +54 -0
  202. package/dist/docs/references/reference-core-getServer.md +22 -0
  203. package/dist/docs/references/reference-core-getStorage.md +22 -0
  204. package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
  205. package/dist/docs/references/reference-core-getTelemetry.md +22 -0
  206. package/dist/docs/references/reference-core-getVector.md +22 -0
  207. package/dist/docs/references/reference-core-getWorkflow.md +42 -0
  208. package/dist/docs/references/reference-core-listAgents.md +21 -0
  209. package/dist/docs/references/reference-core-listGateways.md +40 -0
  210. package/dist/docs/references/reference-core-listLogs.md +38 -0
  211. package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
  212. package/dist/docs/references/reference-core-listMCPServers.md +55 -0
  213. package/dist/docs/references/reference-core-listMemory.md +56 -0
  214. package/dist/docs/references/reference-core-listScorers.md +29 -0
  215. package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
  216. package/dist/docs/references/reference-core-listVectors.md +22 -0
  217. package/dist/docs/references/reference-core-listWorkflows.md +21 -0
  218. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  219. package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
  220. package/dist/docs/references/reference-core-setLogger.md +26 -0
  221. package/dist/docs/references/reference-core-setStorage.md +27 -0
  222. package/dist/docs/references/reference-datasets-addItem.md +37 -0
  223. package/dist/docs/references/reference-datasets-addItems.md +35 -0
  224. package/dist/docs/references/reference-datasets-compareExperiments.md +52 -0
  225. package/dist/docs/references/reference-datasets-create.md +51 -0
  226. package/dist/docs/references/reference-datasets-dataset.md +82 -0
  227. package/dist/docs/references/reference-datasets-datasets-manager.md +94 -0
  228. package/dist/docs/references/reference-datasets-delete.md +25 -0
  229. package/dist/docs/references/reference-datasets-deleteExperiment.md +27 -0
  230. package/dist/docs/references/reference-datasets-deleteItem.md +27 -0
  231. package/dist/docs/references/reference-datasets-deleteItems.md +29 -0
  232. package/dist/docs/references/reference-datasets-get.md +31 -0
  233. package/dist/docs/references/reference-datasets-getDetails.md +47 -0
  234. package/dist/docs/references/reference-datasets-getExperiment.md +30 -0
  235. package/dist/docs/references/reference-datasets-getItem.md +33 -0
  236. package/dist/docs/references/reference-datasets-getItemHistory.md +31 -0
  237. package/dist/docs/references/reference-datasets-list.md +31 -0
  238. package/dist/docs/references/reference-datasets-listExperimentResults.md +39 -0
  239. package/dist/docs/references/reference-datasets-listExperiments.md +33 -0
  240. package/dist/docs/references/reference-datasets-listItems.md +46 -0
  241. package/dist/docs/references/reference-datasets-listVersions.md +33 -0
  242. package/dist/docs/references/reference-datasets-startExperiment.md +62 -0
  243. package/dist/docs/references/reference-datasets-startExperimentAsync.md +43 -0
  244. package/dist/docs/references/reference-datasets-update.md +48 -0
  245. package/dist/docs/references/reference-datasets-updateItem.md +38 -0
  246. package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
  247. package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
  248. package/dist/docs/references/reference-evals-bias.md +120 -0
  249. package/dist/docs/references/reference-evals-completeness.md +136 -0
  250. package/dist/docs/references/reference-evals-content-similarity.md +101 -0
  251. package/dist/docs/references/reference-evals-context-precision.md +196 -0
  252. package/dist/docs/references/reference-evals-create-scorer.md +270 -0
  253. package/dist/docs/references/reference-evals-faithfulness.md +114 -0
  254. package/dist/docs/references/reference-evals-hallucination.md +213 -0
  255. package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
  256. package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
  257. package/dist/docs/references/reference-evals-run-evals.md +179 -0
  258. package/dist/docs/references/reference-evals-scorer-utils.md +326 -0
  259. package/dist/docs/references/reference-evals-textual-difference.md +113 -0
  260. package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
  261. package/dist/docs/references/reference-evals-toxicity.md +123 -0
  262. package/dist/docs/references/reference-harness-harness-class.md +708 -0
  263. package/dist/docs/references/reference-logging-pino-logger.md +117 -0
  264. package/dist/docs/references/reference-memory-deleteMessages.md +38 -0
  265. package/dist/docs/references/reference-memory-memory-class.md +147 -0
  266. package/dist/docs/references/reference-memory-observational-memory.md +565 -0
  267. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
  268. package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
  269. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
  270. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
  271. package/dist/docs/references/reference-observability-tracing-instances.md +107 -0
  272. package/dist/docs/references/reference-observability-tracing-interfaces.md +743 -0
  273. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
  274. package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
  275. package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
  276. package/dist/docs/references/reference-processors-language-detector.md +82 -0
  277. package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
  278. package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
  279. package/dist/docs/references/reference-processors-pii-detector.md +108 -0
  280. package/dist/docs/references/reference-processors-processor-interface.md +521 -0
  281. package/dist/docs/references/reference-processors-prompt-injection-detector.md +72 -0
  282. package/dist/docs/references/reference-processors-semantic-recall-processor.md +117 -0
  283. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
  284. package/dist/docs/references/reference-processors-token-limiter-processor.md +115 -0
  285. package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
  286. package/dist/docs/references/reference-processors-tool-search-processor.md +111 -0
  287. package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
  288. package/dist/docs/references/reference-processors-working-memory-processor.md +152 -0
  289. package/dist/docs/references/reference-rag-database-config.md +261 -0
  290. package/dist/docs/references/reference-rag-embeddings.md +92 -0
  291. package/dist/docs/references/reference-server-mastra-server.md +298 -0
  292. package/dist/docs/references/reference-server-register-api-route.md +249 -0
  293. package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
  294. package/dist/docs/references/reference-storage-composite.md +235 -0
  295. package/dist/docs/references/reference-storage-lance.md +131 -0
  296. package/dist/docs/references/reference-storage-libsql.md +135 -0
  297. package/dist/docs/references/reference-storage-mongodb.md +262 -0
  298. package/dist/docs/references/reference-storage-mssql.md +157 -0
  299. package/dist/docs/references/reference-storage-overview.md +121 -0
  300. package/dist/docs/references/reference-storage-postgresql.md +526 -0
  301. package/dist/docs/references/reference-storage-upstash.md +160 -0
  302. package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
  303. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
  304. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
  305. package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
  306. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
  307. package/dist/docs/references/reference-streaming-workflows-stream.md +88 -0
  308. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
  309. package/dist/docs/references/reference-templates-overview.md +194 -0
  310. package/dist/docs/references/reference-tools-create-tool.md +237 -0
  311. package/dist/docs/references/reference-tools-graph-rag-tool.md +182 -0
  312. package/dist/docs/references/reference-tools-mcp-client.md +954 -0
  313. package/dist/docs/references/reference-tools-mcp-server.md +1271 -0
  314. package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
  315. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  316. package/dist/docs/references/reference-vectors-mongodb.md +295 -0
  317. package/dist/docs/references/reference-vectors-pg.md +408 -0
  318. package/dist/docs/references/reference-vectors-upstash.md +294 -0
  319. package/dist/docs/references/reference-voice-composite-voice.md +121 -0
  320. package/dist/docs/references/reference-voice-mastra-voice.md +311 -0
  321. package/dist/docs/references/reference-voice-voice.addInstructions.md +55 -0
  322. package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
  323. package/dist/docs/references/reference-voice-voice.connect.md +94 -0
  324. package/dist/docs/references/reference-voice-voice.events.md +37 -0
  325. package/dist/docs/references/reference-voice-voice.listen.md +164 -0
  326. package/dist/docs/references/reference-voice-voice.on.md +111 -0
  327. package/dist/docs/references/reference-voice-voice.speak.md +157 -0
  328. package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
  329. package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
  330. package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
  331. package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
  332. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
  333. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
  334. package/dist/docs/references/reference-workflows-run.md +59 -0
  335. package/dist/docs/references/reference-workflows-step.md +119 -0
  336. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
  337. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
  338. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
  339. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
  340. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
  341. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +118 -0
  342. package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
  343. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
  344. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
  345. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
  346. package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
  347. package/dist/docs/references/reference-workflows-workflow.md +157 -0
  348. package/dist/docs/references/reference-workspace-filesystem.md +255 -0
  349. package/dist/docs/references/reference-workspace-local-filesystem.md +343 -0
  350. package/dist/docs/references/reference-workspace-local-sandbox.md +301 -0
  351. package/dist/docs/references/reference-workspace-sandbox.md +87 -0
  352. package/dist/docs/references/reference-workspace-workspace-class.md +244 -0
  353. package/dist/docs/references/reference.md +277 -0
  354. package/dist/evals/index.cjs +20 -20
  355. package/dist/evals/index.js +3 -3
  356. package/dist/evals/run/index.d.ts +9 -2
  357. package/dist/evals/run/index.d.ts.map +1 -1
  358. package/dist/evals/scoreTraces/index.cjs +5 -5
  359. package/dist/evals/scoreTraces/index.js +2 -2
  360. package/dist/harness/harness.d.ts +6 -0
  361. package/dist/harness/harness.d.ts.map +1 -1
  362. package/dist/harness/index.cjs +28 -13
  363. package/dist/harness/index.cjs.map +1 -1
  364. package/dist/harness/index.js +20 -5
  365. package/dist/harness/index.js.map +1 -1
  366. package/dist/index.cjs +2 -2
  367. package/dist/index.js +1 -1
  368. package/dist/integration/index.cjs +2 -2
  369. package/dist/integration/index.js +1 -1
  370. package/dist/llm/index.cjs +6 -6
  371. package/dist/llm/index.js +1 -1
  372. package/dist/llm/model/embedding-router.d.ts.map +1 -1
  373. package/dist/llm/model/model.loop.d.ts +1 -1
  374. package/dist/llm/model/model.loop.d.ts.map +1 -1
  375. package/dist/loop/index.cjs +20 -12
  376. package/dist/loop/index.js +1 -1
  377. package/dist/loop/network/index.d.ts.map +1 -1
  378. package/dist/loop/network/validation.d.ts +51 -0
  379. package/dist/loop/network/validation.d.ts.map +1 -1
  380. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  381. package/dist/loop/test-utils/options.d.ts.map +1 -1
  382. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  383. package/dist/loop/types.d.ts +15 -0
  384. package/dist/loop/types.d.ts.map +1 -1
  385. package/dist/loop/workflows/agentic-execution/index.d.ts +3 -0
  386. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  387. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts +126 -0
  388. package/dist/loop/workflows/agentic-execution/is-task-complete-step.d.ts.map +1 -0
  389. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +3 -1
  390. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  391. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +1 -0
  392. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  393. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  394. package/dist/loop/workflows/agentic-loop/index.d.ts +3 -0
  395. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  396. package/dist/loop/workflows/schema.d.ts +3 -0
  397. package/dist/loop/workflows/schema.d.ts.map +1 -1
  398. package/dist/mastra/index.cjs +2 -2
  399. package/dist/mastra/index.d.ts +9 -5
  400. package/dist/mastra/index.d.ts.map +1 -1
  401. package/dist/mastra/index.js +1 -1
  402. package/dist/memory/index.cjs +14 -14
  403. package/dist/memory/index.js +1 -1
  404. package/dist/processor-provider/index.cjs +10 -10
  405. package/dist/processor-provider/index.js +1 -1
  406. package/dist/processors/index.cjs +42 -42
  407. package/dist/processors/index.js +1 -1
  408. package/dist/processors/processors/skills.d.ts.map +1 -1
  409. package/dist/relevance/index.cjs +3 -3
  410. package/dist/relevance/index.js +1 -1
  411. package/dist/storage/constants.cjs +56 -56
  412. package/dist/storage/constants.js +1 -1
  413. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  414. package/dist/storage/index.cjs +160 -160
  415. package/dist/storage/index.js +2 -2
  416. package/dist/storage/types.d.ts +2 -3
  417. package/dist/storage/types.d.ts.map +1 -1
  418. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  419. package/dist/stream/base/output.d.ts +1 -0
  420. package/dist/stream/base/output.d.ts.map +1 -1
  421. package/dist/stream/index.cjs +11 -11
  422. package/dist/stream/index.js +2 -2
  423. package/dist/stream/types.d.ts +27 -1
  424. package/dist/stream/types.d.ts.map +1 -1
  425. package/dist/test-utils/llm-mock.cjs +4 -4
  426. package/dist/test-utils/llm-mock.js +1 -1
  427. package/dist/tool-loop-agent/index.cjs +4 -4
  428. package/dist/tool-loop-agent/index.js +1 -1
  429. package/dist/tools/index.cjs +9 -5
  430. package/dist/tools/index.d.ts +1 -1
  431. package/dist/tools/index.d.ts.map +1 -1
  432. package/dist/tools/index.js +1 -1
  433. package/dist/tools/is-vercel-tool.cjs +2 -2
  434. package/dist/tools/is-vercel-tool.js +1 -1
  435. package/dist/tools/toolchecks.d.ts +10 -0
  436. package/dist/tools/toolchecks.d.ts.map +1 -1
  437. package/dist/utils.cjs +23 -23
  438. package/dist/utils.js +1 -1
  439. package/dist/vector/index.cjs +7 -7
  440. package/dist/vector/index.js +1 -1
  441. package/dist/vector/types.d.ts +9 -1
  442. package/dist/vector/types.d.ts.map +1 -1
  443. package/dist/workflows/evented/index.cjs +10 -10
  444. package/dist/workflows/evented/index.js +1 -1
  445. package/dist/workflows/index.cjs +25 -25
  446. package/dist/workflows/index.js +1 -1
  447. package/dist/workflows/types.d.ts +14 -1
  448. package/dist/workflows/types.d.ts.map +1 -1
  449. package/dist/workflows/workflow.d.ts +3 -17
  450. package/dist/workflows/workflow.d.ts.map +1 -1
  451. package/dist/workspace/filesystem/composite-filesystem.d.ts +5 -0
  452. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  453. package/dist/workspace/filesystem/filesystem.d.ts +12 -0
  454. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  455. package/dist/workspace/filesystem/fs-utils.d.ts +12 -0
  456. package/dist/workspace/filesystem/fs-utils.d.ts.map +1 -1
  457. package/dist/workspace/filesystem/local-filesystem.d.ts +6 -0
  458. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  459. package/dist/workspace/index.cjs +66 -66
  460. package/dist/workspace/index.js +1 -1
  461. package/dist/workspace/lsp/client.d.ts +76 -0
  462. package/dist/workspace/lsp/client.d.ts.map +1 -0
  463. package/dist/workspace/lsp/index.d.ts +6 -0
  464. package/dist/workspace/lsp/index.d.ts.map +1 -0
  465. package/dist/workspace/lsp/language.d.ts +16 -0
  466. package/dist/workspace/lsp/language.d.ts.map +1 -0
  467. package/dist/workspace/lsp/manager.d.ts +72 -0
  468. package/dist/workspace/lsp/manager.d.ts.map +1 -0
  469. package/dist/workspace/lsp/servers.d.ts +43 -0
  470. package/dist/workspace/lsp/servers.d.ts.map +1 -0
  471. package/dist/workspace/lsp/types.d.ts +45 -0
  472. package/dist/workspace/lsp/types.d.ts.map +1 -0
  473. package/dist/workspace/tools/ast-edit.d.ts.map +1 -1
  474. package/dist/workspace/tools/edit-file.d.ts.map +1 -1
  475. package/dist/workspace/tools/helpers.d.ts +13 -0
  476. package/dist/workspace/tools/helpers.d.ts.map +1 -1
  477. package/dist/workspace/tools/write-file.d.ts.map +1 -1
  478. package/dist/workspace/workspace.d.ts +33 -0
  479. package/dist/workspace/workspace.d.ts.map +1 -1
  480. package/package.json +10 -8
  481. package/dist/chunk-2X66GWF5.cjs.map +0 -1
  482. package/dist/chunk-6QBN6MZY.cjs.map +0 -1
  483. package/dist/chunk-7EXW4AAG.js.map +0 -1
  484. package/dist/chunk-7UAJ6LMR.cjs.map +0 -1
  485. package/dist/chunk-BQHWJLXU.js.map +0 -1
  486. package/dist/chunk-DB7U2C5B.cjs.map +0 -1
  487. package/dist/chunk-DFCRXDVK.js.map +0 -1
  488. package/dist/chunk-EAZ6YDCQ.cjs.map +0 -1
  489. package/dist/chunk-HB6T4554.cjs.map +0 -1
  490. package/dist/chunk-IC5OUWKJ.js.map +0 -1
  491. package/dist/chunk-KUXNBWN7.js.map +0 -1
  492. package/dist/chunk-O7PZ4VOO.cjs.map +0 -1
  493. package/dist/chunk-QSHV7GPT.js.map +0 -1
  494. package/dist/chunk-QTAS3HND.cjs.map +0 -1
  495. package/dist/chunk-R4N65TLG.js.map +0 -1
  496. package/dist/chunk-T6GAM3SQ.js.map +0 -1
  497. package/dist/chunk-YQG7NBPR.cjs.map +0 -1
  498. package/dist/chunk-ZSBM2SVU.js.map +0 -1
@@ -0,0 +1,198 @@
1
+ # LangSmith Exporter
2
+
3
+ [LangSmith](https://smith.langchain.com/) is LangChain's platform for monitoring and evaluating LLM applications. The LangSmith exporter sends your traces to LangSmith, providing insights into model performance, debugging capabilities, and evaluation workflows.
4
+
5
+ ## Installation
6
+
7
+ **npm**:
8
+
9
+ ```bash
10
+ npm install @mastra/langsmith@latest
11
+ ```
12
+
13
+ **pnpm**:
14
+
15
+ ```bash
16
+ pnpm add @mastra/langsmith@latest
17
+ ```
18
+
19
+ **Yarn**:
20
+
21
+ ```bash
22
+ yarn add @mastra/langsmith@latest
23
+ ```
24
+
25
+ **Bun**:
26
+
27
+ ```bash
28
+ bun add @mastra/langsmith@latest
29
+ ```
30
+
31
+ ## Configuration
32
+
33
+ ### Prerequisites
34
+
35
+ 1. **LangSmith Account**: Sign up at [smith.langchain.com](https://smith.langchain.com)
36
+ 2. **API Key**: Generate an API key in LangSmith Settings → API Keys
37
+ 3. **Environment Variables**: Set your credentials
38
+
39
+ ```bash
40
+ # Required
41
+ LANGSMITH_API_KEY=ls-xxxxxxxxxxxx
42
+
43
+ # Optional
44
+ LANGCHAIN_PROJECT=my-project # Default project for traces
45
+ LANGSMITH_BASE_URL=https://api.smith.langchain.com # For self-hosted
46
+ ```
47
+
48
+ ### Zero-Config Setup
49
+
50
+ With environment variables set, use the exporter with no configuration:
51
+
52
+ ```typescript
53
+ import { Mastra } from '@mastra/core'
54
+ import { Observability } from '@mastra/observability'
55
+ import { LangSmithExporter } from '@mastra/langsmith'
56
+
57
+ export const mastra = new Mastra({
58
+ observability: new Observability({
59
+ configs: {
60
+ langsmith: {
61
+ serviceName: 'my-service',
62
+ exporters: [new LangSmithExporter()],
63
+ },
64
+ },
65
+ }),
66
+ })
67
+ ```
68
+
69
+ ### Explicit Configuration
70
+
71
+ You can also pass credentials directly (takes precedence over environment variables):
72
+
73
+ ```typescript
74
+ import { Mastra } from '@mastra/core'
75
+ import { Observability } from '@mastra/observability'
76
+ import { LangSmithExporter } from '@mastra/langsmith'
77
+
78
+ export const mastra = new Mastra({
79
+ observability: new Observability({
80
+ configs: {
81
+ langsmith: {
82
+ serviceName: 'my-service',
83
+ exporters: [
84
+ new LangSmithExporter({
85
+ apiKey: process.env.LANGSMITH_API_KEY,
86
+ }),
87
+ ],
88
+ },
89
+ },
90
+ }),
91
+ })
92
+ ```
93
+
94
+ ## Configuration Options
95
+
96
+ ### Complete Configuration
97
+
98
+ ```typescript
99
+ new LangSmithExporter({
100
+ // Required credentials
101
+ apiKey: process.env.LANGSMITH_API_KEY!,
102
+
103
+ // Optional settings
104
+ apiUrl: process.env.LANGSMITH_BASE_URL, // Default: https://api.smith.langchain.com
105
+ projectName: 'my-project', // Project to send traces to (overrides LANGCHAIN_PROJECT env var)
106
+ callerOptions: {
107
+ // HTTP client options
108
+ timeout: 30000, // Request timeout in ms
109
+ maxRetries: 3, // Retry attempts
110
+ },
111
+ logLevel: 'info', // Diagnostic logging: debug | info | warn | error
112
+
113
+ // LangSmith-specific options
114
+ hideInputs: false, // Hide input data in UI
115
+ hideOutputs: false, // Hide output data in UI
116
+ })
117
+ ```
118
+
119
+ ### Environment Variables
120
+
121
+ | Variable | Description |
122
+ | -------------------- | ----------------------------------------------------------------- |
123
+ | `LANGSMITH_API_KEY` | Your LangSmith API key (required) |
124
+ | `LANGCHAIN_PROJECT` | Default project name for traces (optional, defaults to "default") |
125
+ | `LANGSMITH_BASE_URL` | API URL for self-hosted instances (optional) |
126
+
127
+ The `projectName` config option takes precedence over the `LANGCHAIN_PROJECT` environment variable, allowing you to programmatically route traces to different projects.
128
+
129
+ ## Dynamic Configuration
130
+
131
+ You can dynamically override LangSmith settings per-span using `withLangsmithMetadata`. This is useful for routing traces to different projects based on runtime conditions (e.g., customer, environment, or feature).
132
+
133
+ ### Using the Helper
134
+
135
+ Use `withLangsmithMetadata` with `buildTracingOptions` to set LangSmith-specific options:
136
+
137
+ ```typescript
138
+ import { Agent } from '@mastra/core/agent'
139
+ import { buildTracingOptions } from '@mastra/observability'
140
+ import { withLangsmithMetadata } from '@mastra/langsmith'
141
+
142
+ export const supportAgent = new Agent({
143
+ id: 'support-agent',
144
+ name: 'support-agent',
145
+ instructions: 'You are a helpful support agent.',
146
+ model: 'openai/gpt-4o',
147
+ defaultOptions: {
148
+ tracingOptions: buildTracingOptions(withLangsmithMetadata({ projectName: 'customer-support' })),
149
+ },
150
+ })
151
+ ```
152
+
153
+ ### Dynamic Project Routing
154
+
155
+ Use `requestContext` to route traces to different projects based on runtime conditions.
156
+
157
+ ```typescript
158
+ import { Agent } from '@mastra/core/agent'
159
+ import { buildTracingOptions } from '@mastra/observability'
160
+ import { withLangsmithMetadata } from '@mastra/langsmith'
161
+
162
+ export const supportAgent = new Agent({
163
+ id: 'support-agent',
164
+ name: 'support-agent',
165
+ instructions: 'You are a helpful support agent.',
166
+ model: 'openai/gpt-4o',
167
+ defaultOptions: ({ requestContext }) => {
168
+ const userTier = requestContext?.get('user-tier') as string
169
+ const userId = requestContext?.get('user-id') as string
170
+
171
+ return {
172
+ tracingOptions: buildTracingOptions(
173
+ withLangsmithMetadata({
174
+ projectName: userTier === 'enterprise' ? 'enterprise-traces' : 'standard-traces',
175
+ sessionId: userId,
176
+ }),
177
+ ),
178
+ }
179
+ },
180
+ })
181
+ ```
182
+
183
+ ### Available Fields
184
+
185
+ The `withLangsmithMetadata` helper accepts these fields:
186
+
187
+ | Field | Type | Description |
188
+ | ------------- | ------ | ----------------------------------- |
189
+ | `projectName` | string | Override the project for this trace |
190
+ | `sessionId` | string | Group related traces by session |
191
+ | `sessionName` | string | Display name for the session |
192
+
193
+ All fields are optional. The helper merges with any existing metadata, so you can call it multiple times or combine with other tracing options.
194
+
195
+ ## Related
196
+
197
+ - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
198
+ - [LangSmith Documentation](https://docs.smith.langchain.com/)
@@ -0,0 +1,476 @@
1
+ # OpenTelemetry Exporter
2
+
3
+ The OpenTelemetry (OTEL) exporter sends your traces to any OTEL-compatible observability platform using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, SigNoz, MLflow, Dash0, Traceloop, Laminar, and more.
4
+
5
+ > **Looking for bidirectional OTEL integration?:** If you have existing OpenTelemetry instrumentation and want Mastra traces to inherit context from active OTEL spans, see the [OpenTelemetry Bridge](https://mastra.ai/docs/observability/tracing/bridges/otel) instead.
6
+
7
+ ## Installation
8
+
9
+ Each provider requires specific protocol packages. Install the base exporter plus the protocol package for your provider:
10
+
11
+ ### For HTTP/Protobuf Providers (SigNoz, New Relic, Laminar, MLflow)
12
+
13
+ **npm**:
14
+
15
+ ```bash
16
+ npm install @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
17
+ ```
18
+
19
+ **pnpm**:
20
+
21
+ ```bash
22
+ pnpm add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
23
+ ```
24
+
25
+ **Yarn**:
26
+
27
+ ```bash
28
+ yarn add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
29
+ ```
30
+
31
+ **Bun**:
32
+
33
+ ```bash
34
+ bun add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
35
+ ```
36
+
37
+ ### For gRPC Providers (Dash0, Datadog)
38
+
39
+ **npm**:
40
+
41
+ ```bash
42
+ npm install @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
43
+ ```
44
+
45
+ **pnpm**:
46
+
47
+ ```bash
48
+ pnpm add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
49
+ ```
50
+
51
+ **Yarn**:
52
+
53
+ ```bash
54
+ yarn add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
55
+ ```
56
+
57
+ **Bun**:
58
+
59
+ ```bash
60
+ bun add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
61
+ ```
62
+
63
+ ### For HTTP/JSON Providers (Traceloop)
64
+
65
+ **npm**:
66
+
67
+ ```bash
68
+ npm install @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-http
69
+ ```
70
+
71
+ **pnpm**:
72
+
73
+ ```bash
74
+ pnpm add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-http
75
+ ```
76
+
77
+ **Yarn**:
78
+
79
+ ```bash
80
+ yarn add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-http
81
+ ```
82
+
83
+ **Bun**:
84
+
85
+ ```bash
86
+ bun add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-http
87
+ ```
88
+
89
+ ## Environment Variables
90
+
91
+ All providers support zero-config setup via environment variables. Set the appropriate variables and the exporter will automatically use them:
92
+
93
+ | Provider | Environment Variables |
94
+ | --------- | ------------------------------------------------------------------------------------------- |
95
+ | Dash0 | `DASH0_API_KEY` (required), `DASH0_ENDPOINT` (required), `DASH0_DATASET` (optional) |
96
+ | SigNoz | `SIGNOZ_API_KEY` (required), `SIGNOZ_REGION` (optional), `SIGNOZ_ENDPOINT` (optional) |
97
+ | New Relic | `NEW_RELIC_LICENSE_KEY` (required), `NEW_RELIC_ENDPOINT` (optional) |
98
+ | Traceloop | `TRACELOOP_API_KEY` (required), `TRACELOOP_DESTINATION_ID`, `TRACELOOP_ENDPOINT` (optional) |
99
+ | Laminar | `LMNR_PROJECT_API_KEY` (required), `LAMINAR_ENDPOINT` (optional) |
100
+
101
+ ## Provider Configurations
102
+
103
+ ### MLflow
104
+
105
+ [MLflow](https://mlflow.org/docs/latest/genai/tracing/integrations/listing/mastra) supports native Mastra tracing through its OTLP endpoint at `/v1/traces`. Use the `custom` provider with HTTP/Protobuf and include the experiment header so traces land in the correct MLflow experiment:
106
+
107
+ ```typescript
108
+ new OtelExporter({
109
+ provider: {
110
+ custom: {
111
+ endpoint: `${process.env.MLFLOW_TRACKING_URI}/v1/traces`,
112
+ protocol: 'http/protobuf',
113
+ headers: {
114
+ 'x-mlflow-experiment-id': process.env.MLFLOW_EXPERIMENT_ID,
115
+ },
116
+ },
117
+ },
118
+ })
119
+ ```
120
+
121
+ ### Dash0
122
+
123
+ [Dash0](https://www.dash0.com/) provides real-time observability with automatic insights.
124
+
125
+ #### Zero-Config Setup
126
+
127
+ Set environment variables and use the exporter with an empty config:
128
+
129
+ ```bash
130
+ # Required
131
+ DASH0_API_KEY=your-api-key
132
+ DASH0_ENDPOINT=ingress.us-west-2.aws.dash0.com:4317
133
+
134
+ # Optional
135
+ DASH0_DATASET=production
136
+ ```
137
+
138
+ ```typescript
139
+ import { Mastra } from '@mastra/core'
140
+ import { Observability } from '@mastra/observability'
141
+ import { OtelExporter } from '@mastra/otel-exporter'
142
+
143
+ export const mastra = new Mastra({
144
+ observability: new Observability({
145
+ configs: {
146
+ otel: {
147
+ serviceName: 'my-service',
148
+ exporters: [new OtelExporter({ provider: { dash0: {} } })],
149
+ },
150
+ },
151
+ }),
152
+ })
153
+ ```
154
+
155
+ #### Explicit Configuration
156
+
157
+ ```typescript
158
+ import { Mastra } from '@mastra/core'
159
+ import { Observability } from '@mastra/observability'
160
+ import { OtelExporter } from '@mastra/otel-exporter'
161
+
162
+ export const mastra = new Mastra({
163
+ observability: new Observability({
164
+ configs: {
165
+ otel: {
166
+ serviceName: 'my-service',
167
+ exporters: [
168
+ new OtelExporter({
169
+ provider: {
170
+ dash0: {
171
+ apiKey: process.env.DASH0_API_KEY,
172
+ endpoint: process.env.DASH0_ENDPOINT, // e.g., 'ingress.us-west-2.aws.dash0.com:4317'
173
+ dataset: 'production', // Optional dataset name
174
+ },
175
+ },
176
+ resourceAttributes: {
177
+ // Optional OpenTelemetry Resource Attributes for the trace
178
+ ['deployment.environment']: 'dev',
179
+ },
180
+ }),
181
+ ],
182
+ },
183
+ },
184
+ }),
185
+ })
186
+ ```
187
+
188
+ > **Info:** Get your Dash0 endpoint from your dashboard. It should be in the format `ingress.{region}.aws.dash0.com:4317`.
189
+
190
+ ### SigNoz
191
+
192
+ [SigNoz](https://signoz.io/) is an open-source APM alternative with built-in Tracing support.
193
+
194
+ #### Zero-Config Setup
195
+
196
+ ```bash
197
+ # Required
198
+ SIGNOZ_API_KEY=your-api-key
199
+
200
+ # Optional
201
+ SIGNOZ_REGION=us # 'us' | 'eu' | 'in'
202
+ SIGNOZ_ENDPOINT=https://my-signoz.example.com # For self-hosted
203
+ ```
204
+
205
+ ```typescript
206
+ new OtelExporter({ provider: { signoz: {} } })
207
+ ```
208
+
209
+ #### Explicit Configuration
210
+
211
+ ```typescript
212
+ new OtelExporter({
213
+ provider: {
214
+ signoz: {
215
+ apiKey: process.env.SIGNOZ_API_KEY,
216
+ region: 'us', // 'us' | 'eu' | 'in'
217
+ // endpoint: 'https://my-signoz.example.com', // For self-hosted
218
+ },
219
+ },
220
+ })
221
+ ```
222
+
223
+ ### New Relic
224
+
225
+ [New Relic](https://newrelic.com/) provides comprehensive observability with AI monitoring capabilities.
226
+
227
+ #### Zero-Config Setup
228
+
229
+ ```bash
230
+ # Required
231
+ NEW_RELIC_LICENSE_KEY=your-license-key
232
+
233
+ # Optional
234
+ NEW_RELIC_ENDPOINT=https://otlp.eu01.nr-data.net # For EU region
235
+ ```
236
+
237
+ ```typescript
238
+ new OtelExporter({ provider: { newrelic: {} } })
239
+ ```
240
+
241
+ #### Explicit Configuration
242
+
243
+ ```typescript
244
+ new OtelExporter({
245
+ provider: {
246
+ newrelic: {
247
+ apiKey: process.env.NEW_RELIC_LICENSE_KEY,
248
+ // endpoint: 'https://otlp.eu01.nr-data.net', // For EU region
249
+ },
250
+ },
251
+ })
252
+ ```
253
+
254
+ ### Traceloop
255
+
256
+ [Traceloop](https://www.traceloop.com/) specializes in LLM observability with automatic prompt tracking.
257
+
258
+ #### Zero-Config Setup
259
+
260
+ ```bash
261
+ # Required
262
+ TRACELOOP_API_KEY=your-api-key
263
+
264
+ # Optional
265
+ TRACELOOP_DESTINATION_ID=my-destination
266
+ TRACELOOP_ENDPOINT=https://custom.traceloop.com
267
+ ```
268
+
269
+ ```typescript
270
+ new OtelExporter({ provider: { traceloop: {} } })
271
+ ```
272
+
273
+ #### Explicit Configuration
274
+
275
+ ```typescript
276
+ new OtelExporter({
277
+ provider: {
278
+ traceloop: {
279
+ apiKey: process.env.TRACELOOP_API_KEY,
280
+ destinationId: 'my-destination', // Optional
281
+ },
282
+ },
283
+ })
284
+ ```
285
+
286
+ ### Laminar
287
+
288
+ [Laminar](https://laminar.sh/) provides specialized LLM observability and analytics.
289
+
290
+ #### Zero-Config Setup
291
+
292
+ ```bash
293
+ # Required
294
+ LMNR_PROJECT_API_KEY=your-api-key
295
+
296
+ # Optional
297
+ LAMINAR_ENDPOINT=https://api.lmnr.ai/v1/traces
298
+ ```
299
+
300
+ ```typescript
301
+ new OtelExporter({ provider: { laminar: {} } })
302
+ ```
303
+
304
+ #### Explicit Configuration
305
+
306
+ ```typescript
307
+ new OtelExporter({
308
+ provider: {
309
+ laminar: {
310
+ apiKey: process.env.LMNR_PROJECT_API_KEY,
311
+ },
312
+ },
313
+ })
314
+ ```
315
+
316
+ > **Laminar-Native Exporter:** For Laminar-specific features like native span paths, metadata, and tags rendering in the Laminar dashboard, consider using the dedicated [`@mastra/laminar`](https://mastra.ai/docs/observability/tracing/exporters/laminar) exporter instead. It provides optimized integration with Laminar's platform.
317
+
318
+ ### Datadog
319
+
320
+ [Datadog](https://www.datadoghq.com/) APM provides application performance monitoring with distributed tracing. To send traces to Datadog via OTLP, you need the Datadog Agent running with OTLP ingestion enabled.
321
+
322
+ Datadog uses gRPC for OTLP ingestion, which requires explicit imports and [bundler configuration](https://mastra.ai/reference/configuration) to work correctly:
323
+
324
+ ```typescript
325
+ // Explicitly import gRPC dependencies for the bundler
326
+ import '@grpc/grpc-js'
327
+ import '@opentelemetry/exporter-trace-otlp-grpc'
328
+ import { Mastra } from '@mastra/core'
329
+ import { Observability } from '@mastra/observability'
330
+ import { OtelExporter, type ExportProtocol } from '@mastra/otel-exporter'
331
+
332
+ export const mastra = new Mastra({
333
+ // Add grpc-js to externals so it's handled at runtime
334
+ bundler: {
335
+ externals: ['@grpc/grpc-js'],
336
+ },
337
+ observability: new Observability({
338
+ configs: {
339
+ default: {
340
+ serviceName: 'my-service',
341
+ exporters: [
342
+ new OtelExporter({
343
+ provider: {
344
+ custom: {
345
+ endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4317',
346
+ protocol: (process.env.OTEL_EXPORTER_OTLP_PROTOCOL || 'grpc') as ExportProtocol,
347
+ headers: {},
348
+ },
349
+ },
350
+ }),
351
+ ],
352
+ },
353
+ },
354
+ }),
355
+ })
356
+ ```
357
+
358
+ > **Info:** The Datadog Agent must be configured with OTLP ingestion enabled. Add the following to your `datadog.yaml`:
359
+ >
360
+ > ```yaml
361
+ > otlp_config:
362
+ > receiver:
363
+ > protocols:
364
+ > grpc:
365
+ > endpoint: 0.0.0.0:4317
366
+ > ```
367
+ >
368
+ > The default OTLP endpoint is `http://localhost:4317` when running the Datadog Agent locally.
369
+
370
+ > **Warning:** The explicit imports of `@grpc/grpc-js` and `@opentelemetry/exporter-trace-otlp-grpc` at the top of the file, along with the [`bundler.externals`](https://mastra.ai/reference/configuration) configuration, are required for the gRPC transport to work correctly. Without these, you may encounter connection issues.
371
+
372
+ > **Datadog-Native Exporter:** For Datadog-specific features like automatic span type mapping, LLM span categorization, and simplified setup without gRPC configuration, consider using the dedicated [`@mastra/datadog`](https://mastra.ai/docs/observability/tracing/exporters/datadog) exporter instead. It provides optimized integration with Datadog's APM platform.
373
+
374
+ ### Custom/Generic OTEL Endpoints
375
+
376
+ For other OTEL-compatible platforms or custom collectors:
377
+
378
+ ```typescript
379
+ new OtelExporter({
380
+ provider: {
381
+ custom: {
382
+ endpoint: 'https://your-collector.example.com/v1/traces',
383
+ protocol: 'http/protobuf', // 'http/json' | 'http/protobuf' | 'grpc'
384
+ headers: {
385
+ 'x-api-key': process.env.API_KEY,
386
+ },
387
+ },
388
+ },
389
+ })
390
+ ```
391
+
392
+ ## Configuration Options
393
+
394
+ ### Complete Configuration
395
+
396
+ ```typescript
397
+ new OtelExporter({
398
+ // Provider configuration (required)
399
+ provider: {
400
+ // Use one of: dash0, signoz, newrelic, traceloop, laminar, custom
401
+ },
402
+
403
+ // Export configuration
404
+ timeout: 30000, // Export timeout in milliseconds
405
+ batchSize: 100, // Number of spans per batch
406
+
407
+ // Debug options
408
+ logLevel: 'info', // 'debug' | 'info' | 'warn' | 'error'
409
+ })
410
+ ```
411
+
412
+ ## OpenTelemetry Semantic Conventions
413
+
414
+ The exporter follows [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai), ensuring compatibility with observability platforms:
415
+
416
+ ### Span Naming
417
+
418
+ - **LLM Operations**: `chat {model}`
419
+ - **Tool Execution**: `execute_tool {tool_name}`
420
+ - **Agent Runs**: `invoke_agent {agent_id}`
421
+ - **Workflow Runs**: `invoke_workflow {workflow_id}`
422
+
423
+ ### Key Attributes
424
+
425
+ - `gen_ai.operation.name` - Operation type (chat, tool.execute, etc.)
426
+ - `gen_ai.provider.name` - AI provider (openai, anthropic, etc.)
427
+ - `gen_ai.request.model` - Model identifier
428
+ - `gen_ai.input.messages` - Chat history provided to the model
429
+ - `gen_ai.output.messages` - Messages returned by the model
430
+ - `gen_ai.usage.input_tokens` - Number of input tokens
431
+ - `gen_ai.usage.output_tokens` - Number of output tokens
432
+ - `gen_ai.request.temperature` - Sampling temperature
433
+ - `gen_ai.response.finish_reasons` - Completion reasons
434
+
435
+ ## Protocol Selection Guide
436
+
437
+ Choose the right protocol package based on your provider:
438
+
439
+ | Provider | Protocol | Required Package |
440
+ | --------- | ------------- | ------------------------------------------ |
441
+ | Dash0 | gRPC | `@opentelemetry/exporter-trace-otlp-grpc` |
442
+ | Datadog | gRPC | `@opentelemetry/exporter-trace-otlp-grpc` |
443
+ | SigNoz | HTTP/Protobuf | `@opentelemetry/exporter-trace-otlp-proto` |
444
+ | New Relic | HTTP/Protobuf | `@opentelemetry/exporter-trace-otlp-proto` |
445
+ | Traceloop | HTTP/JSON | `@opentelemetry/exporter-trace-otlp-http` |
446
+ | Laminar | HTTP/Protobuf | `@opentelemetry/exporter-trace-otlp-proto` |
447
+ | Custom | Varies | Depends on your collector |
448
+
449
+ > **Warning:** Make sure to install the correct protocol package for your provider. The exporter will provide a helpful error message if the wrong package is installed.
450
+
451
+ ## Troubleshooting
452
+
453
+ ### Missing Dependency Error
454
+
455
+ If you see an error like:
456
+
457
+ ```text
458
+ HTTP/Protobuf exporter is not installed (required for signoz).
459
+ To use HTTP/Protobuf export, install the required package:
460
+ npm install @opentelemetry/exporter-trace-otlp-proto
461
+ ```
462
+
463
+ Install the suggested package for your provider.
464
+
465
+ ### Common Issues
466
+
467
+ 1. **Wrong protocol package**: Verify you installed the correct exporter for your provider
468
+ 2. **Invalid endpoint**: Check endpoint format matches provider requirements
469
+ 3. **Authentication failures**: Verify API keys and headers are correct
470
+
471
+ ## Related
472
+
473
+ - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
474
+ - [OpenTelemetry Bridge](https://mastra.ai/docs/observability/tracing/bridges/otel)
475
+ - [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai)
476
+ - [OTEL Exporter Reference](https://mastra.ai/reference/observability/tracing/exporters/otel)