@mastra/core 1.2.0 → 1.2.1-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 (406) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +30 -17
  3. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +10 -7
  4. package/dist/agent/index.cjs +13 -13
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/{chunk-VBOO4F4D.cjs → chunk-2DMSFLJY.cjs} +5 -5
  9. package/dist/{chunk-VBOO4F4D.cjs.map → chunk-2DMSFLJY.cjs.map} +1 -1
  10. package/dist/{chunk-ARQG4ZSD.cjs → chunk-5SOS47PH.cjs} +37 -37
  11. package/dist/chunk-5SOS47PH.cjs.map +1 -0
  12. package/dist/{chunk-NRMSZFAU.js → chunk-5YVR7B4R.js} +5 -5
  13. package/dist/{chunk-NRMSZFAU.js.map → chunk-5YVR7B4R.js.map} +1 -1
  14. package/dist/{chunk-G5NRZOPO.cjs → chunk-7MDVYPWX.cjs} +4 -4
  15. package/dist/{chunk-G5NRZOPO.cjs.map → chunk-7MDVYPWX.cjs.map} +1 -1
  16. package/dist/{chunk-AP3Z4EAP.cjs → chunk-A5QFWX67.cjs} +53 -53
  17. package/dist/{chunk-AP3Z4EAP.cjs.map → chunk-A5QFWX67.cjs.map} +1 -1
  18. package/dist/{chunk-4XLGMCCQ.js → chunk-AUF6U2BL.js} +3 -3
  19. package/dist/{chunk-4XLGMCCQ.js.map → chunk-AUF6U2BL.js.map} +1 -1
  20. package/dist/{chunk-POKH6N2J.cjs → chunk-AXN5P2GE.cjs} +4 -4
  21. package/dist/{chunk-POKH6N2J.cjs.map → chunk-AXN5P2GE.cjs.map} +1 -1
  22. package/dist/{chunk-YL6ETQ5I.cjs → chunk-B4M33FCS.cjs} +9 -9
  23. package/dist/{chunk-YL6ETQ5I.cjs.map → chunk-B4M33FCS.cjs.map} +1 -1
  24. package/dist/{chunk-DG6C6ZTL.cjs → chunk-CC3OOESY.cjs} +44 -43
  25. package/dist/chunk-CC3OOESY.cjs.map +1 -0
  26. package/dist/{chunk-NYC6PYZF.js → chunk-E3VFKTIA.js} +36 -4
  27. package/dist/chunk-E3VFKTIA.js.map +1 -0
  28. package/dist/{chunk-3LRUJTH3.cjs → chunk-GVLPTDJA.cjs} +50 -13
  29. package/dist/chunk-GVLPTDJA.cjs.map +1 -0
  30. package/dist/{chunk-SS4AZHZW.cjs → chunk-HU2ONA2W.cjs} +9 -9
  31. package/dist/{chunk-SS4AZHZW.cjs.map → chunk-HU2ONA2W.cjs.map} +1 -1
  32. package/dist/chunk-HVG7MWNT.js +439 -0
  33. package/dist/chunk-HVG7MWNT.js.map +1 -0
  34. package/dist/chunk-JCEP2VPF.cjs +441 -0
  35. package/dist/chunk-JCEP2VPF.cjs.map +1 -0
  36. package/dist/{chunk-PPAJGWVW.js → chunk-MSWXEOZC.js} +3 -3
  37. package/dist/{chunk-PPAJGWVW.js.map → chunk-MSWXEOZC.js.map} +1 -1
  38. package/dist/{chunk-AQHO4OC2.cjs → chunk-QOFI2WBM.cjs} +6 -6
  39. package/dist/{chunk-AQHO4OC2.cjs.map → chunk-QOFI2WBM.cjs.map} +1 -1
  40. package/dist/{chunk-EY3WXGUD.js → chunk-RXD5EGQF.js} +43 -6
  41. package/dist/chunk-RXD5EGQF.js.map +1 -0
  42. package/dist/{chunk-XC7WIZBL.js → chunk-S6BH5HHY.js} +4 -3
  43. package/dist/chunk-S6BH5HHY.js.map +1 -0
  44. package/dist/{chunk-IPXNR6RQ.js → chunk-V2MLGA7T.js} +1884 -998
  45. package/dist/chunk-V2MLGA7T.js.map +1 -0
  46. package/dist/{chunk-Z4PGSIZ5.cjs → chunk-VTE2OBKS.cjs} +1890 -1004
  47. package/dist/chunk-VTE2OBKS.cjs.map +1 -0
  48. package/dist/{chunk-ZODRDMZ7.js → chunk-VX7UA3SO.js} +3 -3
  49. package/dist/{chunk-ZODRDMZ7.js.map → chunk-VX7UA3SO.js.map} +1 -1
  50. package/dist/{chunk-5HDIPOLV.js → chunk-WFUNLRQX.js} +6 -6
  51. package/dist/chunk-WFUNLRQX.js.map +1 -0
  52. package/dist/{chunk-V3LENMEW.js → chunk-X5ORARLG.js} +4 -4
  53. package/dist/{chunk-V3LENMEW.js.map → chunk-X5ORARLG.js.map} +1 -1
  54. package/dist/{chunk-Z2OKCLGV.cjs → chunk-XCPEEIHI.cjs} +41 -8
  55. package/dist/chunk-XCPEEIHI.cjs.map +1 -0
  56. package/dist/{chunk-57O4TPB3.js → chunk-Z6NRYYOH.js} +3 -3
  57. package/dist/{chunk-57O4TPB3.js.map → chunk-Z6NRYYOH.js.map} +1 -1
  58. package/dist/{chunk-RUMXBL6P.js → chunk-ZWM2CAIM.js} +5 -5
  59. package/dist/{chunk-RUMXBL6P.js.map → chunk-ZWM2CAIM.js.map} +1 -1
  60. package/dist/docs/SKILL.md +270 -64
  61. package/dist/docs/{SOURCE_MAP.json → assets/SOURCE_MAP.json} +156 -152
  62. package/dist/docs/{agents/10-adding-voice.md → references/docs-agents-adding-voice.md} +6 -5
  63. package/dist/docs/{agents/08-agent-approval.md → references/docs-agents-agent-approval.md} +19 -19
  64. package/dist/docs/{agents/03-agent-memory.md → references/docs-agents-agent-memory.md} +57 -55
  65. package/dist/docs/{agents/07-guardrails.md → references/docs-agents-guardrails.md} +21 -39
  66. package/dist/docs/{agents/09-network-approval.md → references/docs-agents-network-approval.md} +12 -11
  67. package/dist/docs/{agents/05-networks.md → references/docs-agents-networks.md} +7 -9
  68. package/dist/docs/{agents/01-overview.md → references/docs-agents-overview.md} +54 -72
  69. package/dist/docs/{agents/06-processors.md → references/docs-agents-processors.md} +29 -24
  70. package/dist/docs/{agents/04-structured-output.md → references/docs-agents-structured-output.md} +13 -22
  71. package/dist/docs/{agents/02-using-tools.md → references/docs-agents-using-tools.md} +12 -13
  72. package/dist/docs/{evals/02-custom-scorers.md → references/docs-evals-custom-scorers.md} +5 -7
  73. package/dist/docs/{evals/01-overview.md → references/docs-evals-overview.md} +26 -17
  74. package/dist/docs/{evals/03-running-in-ci.md → references/docs-evals-running-in-ci.md} +2 -4
  75. package/dist/docs/{mcp/01-overview.md → references/docs-mcp-overview.md} +135 -140
  76. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +95 -0
  77. package/dist/docs/{memory/05-memory-processors.md → references/docs-memory-memory-processors.md} +6 -8
  78. package/dist/docs/references/docs-memory-observational-memory.md +166 -0
  79. package/dist/docs/{memory/01-overview.md → references/docs-memory-overview.md} +8 -8
  80. package/dist/docs/{memory/04-semantic-recall.md → references/docs-memory-semantic-recall.md} +33 -17
  81. package/dist/docs/{memory/02-storage.md → references/docs-memory-storage.md} +29 -39
  82. package/dist/docs/{memory/03-working-memory.md → references/docs-memory-working-memory.md} +16 -27
  83. package/dist/docs/{observability/02-logging.md → references/docs-observability-logging.md} +6 -10
  84. package/dist/docs/{observability/01-overview.md → references/docs-observability-overview.md} +4 -10
  85. package/dist/docs/{observability/04-otel.md → references/docs-observability-tracing-bridges-otel.md} +31 -14
  86. package/dist/docs/{observability/07-arize.md → references/docs-observability-tracing-exporters-arize.md} +38 -22
  87. package/dist/docs/{observability/08-braintrust.md → references/docs-observability-tracing-exporters-braintrust.md} +24 -6
  88. package/dist/docs/{observability/06-cloud.md → references/docs-observability-tracing-exporters-cloud.md} +7 -7
  89. package/dist/docs/{observability/09-datadog.md → references/docs-observability-tracing-exporters-datadog.md} +26 -8
  90. package/dist/docs/{observability/05-default.md → references/docs-observability-tracing-exporters-default.md} +11 -14
  91. package/dist/docs/{observability/10-laminar.md → references/docs-observability-tracing-exporters-laminar.md} +24 -6
  92. package/dist/docs/{observability/11-langfuse.md → references/docs-observability-tracing-exporters-langfuse.md} +31 -12
  93. package/dist/docs/{observability/12-langsmith.md → references/docs-observability-tracing-exporters-langsmith.md} +29 -11
  94. package/dist/docs/{observability/13-otel.md → references/docs-observability-tracing-exporters-otel.md} +107 -63
  95. package/dist/docs/{observability/14-posthog.md → references/docs-observability-tracing-exporters-posthog.md} +24 -6
  96. package/dist/docs/{observability/03-overview.md → references/docs-observability-tracing-overview.md} +45 -53
  97. package/dist/docs/{rag/02-chunking-and-embedding.md → references/docs-rag-chunking-and-embedding.md} +5 -11
  98. package/dist/docs/{rag/05-graph-rag.md → references/docs-rag-graph-rag.md} +0 -2
  99. package/dist/docs/{rag/01-overview.md → references/docs-rag-overview.md} +2 -7
  100. package/dist/docs/{rag/04-retrieval.md → references/docs-rag-retrieval.md} +26 -53
  101. package/dist/docs/{rag/03-vector-databases.md → references/docs-rag-vector-databases.md} +198 -202
  102. package/dist/docs/{server/13-auth0.md → references/docs-server-auth-auth0.md} +68 -79
  103. package/dist/docs/{server/09-clerk.md → references/docs-server-auth-clerk.md} +41 -52
  104. package/dist/docs/{server/14-composite-auth.md → references/docs-server-auth-composite-auth.md} +1 -3
  105. package/dist/docs/{server/15-custom-auth-provider.md → references/docs-server-auth-custom-auth-provider.md} +13 -15
  106. package/dist/docs/{server/11-firebase.md → references/docs-server-auth-firebase.md} +83 -97
  107. package/dist/docs/{server/08-jwt.md → references/docs-server-auth-jwt.md} +46 -35
  108. package/dist/docs/{server/07-simple-auth.md → references/docs-server-auth-simple-auth.md} +10 -11
  109. package/dist/docs/{server/10-supabase.md → references/docs-server-auth-supabase.md} +33 -44
  110. package/dist/docs/{server/12-workos.md → references/docs-server-auth-workos.md} +45 -56
  111. package/dist/docs/{server/02-custom-adapters.md → references/docs-server-custom-adapters.md} +25 -31
  112. package/dist/docs/{server/05-custom-api-routes.md → references/docs-server-custom-api-routes.md} +7 -7
  113. package/dist/docs/{server/06-mastra-client.md → references/docs-server-mastra-client.md} +32 -20
  114. package/dist/docs/{server/01-mastra-server.md → references/docs-server-mastra-server.md} +5 -11
  115. package/dist/docs/{server/03-middleware.md → references/docs-server-middleware.md} +8 -15
  116. package/dist/docs/{server/04-request-context.md → references/docs-server-request-context.md} +29 -43
  117. package/dist/docs/{streaming/01-events.md → references/docs-streaming-events.md} +9 -16
  118. package/dist/docs/{streaming/02-tool-streaming.md → references/docs-streaming-tool-streaming.md} +6 -11
  119. package/dist/docs/{streaming/03-workflow-streaming.md → references/docs-streaming-workflow-streaming.md} +2 -6
  120. package/dist/docs/{tools-mcp/03-advanced-usage.md → references/docs-tools-mcp-advanced-usage.md} +23 -5
  121. package/dist/docs/{tools-mcp/01-mcp-overview.md → references/docs-tools-mcp-mcp-overview.md} +141 -146
  122. package/dist/docs/{tools-mcp/02-overview.md → references/docs-tools-mcp-overview.md} +4 -12
  123. package/dist/docs/{voice/01-overview.md → references/docs-voice-overview.md} +37 -81
  124. package/dist/docs/{voice/04-speech-to-speech.md → references/docs-voice-speech-to-speech.md} +1 -4
  125. package/dist/docs/{voice/03-speech-to-text.md → references/docs-voice-speech-to-text.md} +8 -11
  126. package/dist/docs/{voice/02-text-to-speech.md → references/docs-voice-text-to-speech.md} +12 -15
  127. package/dist/docs/{workflows/04-agents-and-tools.md → references/docs-workflows-agents-and-tools.md} +11 -21
  128. package/dist/docs/{workflows/03-control-flow.md → references/docs-workflows-control-flow.md} +58 -56
  129. package/dist/docs/{workflows/09-error-handling.md → references/docs-workflows-error-handling.md} +13 -15
  130. package/dist/docs/{workflows/07-human-in-the-loop.md → references/docs-workflows-human-in-the-loop.md} +11 -12
  131. package/dist/docs/{workflows/10-input-data-mapping.md → references/docs-workflows-input-data-mapping.md} +12 -14
  132. package/dist/docs/{workflows/01-overview.md → references/docs-workflows-overview.md} +31 -52
  133. package/dist/docs/{workflows/05-snapshots.md → references/docs-workflows-snapshots.md} +3 -5
  134. package/dist/docs/{workflows/06-suspend-and-resume.md → references/docs-workflows-suspend-and-resume.md} +12 -12
  135. package/dist/docs/{workflows/08-time-travel.md → references/docs-workflows-time-travel.md} +2 -5
  136. package/dist/docs/{workflows/02-workflow-state.md → references/docs-workflows-workflow-state.md} +4 -6
  137. package/dist/docs/{workspace/02-filesystem.md → references/docs-workspace-filesystem.md} +3 -8
  138. package/dist/docs/{workspace/01-overview.md → references/docs-workspace-overview.md} +10 -16
  139. package/dist/docs/{workspace/03-sandbox.md → references/docs-workspace-sandbox.md} +2 -4
  140. package/dist/docs/{workspace/05-search.md → references/docs-workspace-search.md} +20 -22
  141. package/dist/docs/{workspace/04-skills.md → references/docs-workspace-skills.md} +6 -9
  142. package/dist/docs/{guides/01-ai-sdk.md → references/guides-agent-frameworks-ai-sdk.md} +25 -9
  143. package/dist/docs/references/reference-agents-agent.md +142 -0
  144. package/dist/docs/references/reference-agents-generate.md +174 -0
  145. package/dist/docs/references/reference-agents-generateLegacy.md +176 -0
  146. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
  147. package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
  148. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
  149. package/dist/docs/references/reference-agents-getDescription.md +21 -0
  150. package/dist/docs/references/reference-agents-getInstructions.md +34 -0
  151. package/dist/docs/references/reference-agents-getLLM.md +37 -0
  152. package/dist/docs/references/reference-agents-getMemory.md +34 -0
  153. package/dist/docs/references/reference-agents-getModel.md +34 -0
  154. package/dist/docs/references/reference-agents-getTools.md +34 -0
  155. package/dist/docs/references/reference-agents-getVoice.md +34 -0
  156. package/dist/docs/references/reference-agents-listAgents.md +35 -0
  157. package/dist/docs/references/reference-agents-listScorers.md +34 -0
  158. package/dist/docs/references/reference-agents-listTools.md +34 -0
  159. package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
  160. package/dist/docs/references/reference-agents-network.md +136 -0
  161. package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
  162. package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
  163. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +232 -0
  164. package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
  165. package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
  166. package/dist/docs/references/reference-auth-auth0.md +73 -0
  167. package/dist/docs/references/reference-auth-clerk.md +36 -0
  168. package/dist/docs/references/reference-auth-firebase.md +80 -0
  169. package/dist/docs/references/reference-auth-jwt.md +26 -0
  170. package/dist/docs/references/reference-auth-supabase.md +33 -0
  171. package/dist/docs/references/reference-auth-workos.md +84 -0
  172. package/dist/docs/{cli/01-reference.md → references/reference-cli-mastra.md} +14 -28
  173. package/dist/docs/{client-js/01-reference.md → references/reference-client-js-agents.md} +3 -12
  174. package/dist/docs/{configuration.mdx/01-reference.md → references/reference-configuration.md} +71 -91
  175. package/dist/docs/references/reference-core-addGateway.md +42 -0
  176. package/dist/docs/references/reference-core-getAgent.md +21 -0
  177. package/dist/docs/references/reference-core-getAgentById.md +21 -0
  178. package/dist/docs/references/reference-core-getDeployer.md +22 -0
  179. package/dist/docs/references/reference-core-getGateway.md +38 -0
  180. package/dist/docs/references/reference-core-getGatewayById.md +41 -0
  181. package/dist/docs/references/reference-core-getLogger.md +22 -0
  182. package/dist/docs/references/reference-core-getMCPServer.md +45 -0
  183. package/dist/docs/references/reference-core-getMCPServerById.md +53 -0
  184. package/dist/docs/references/reference-core-getMemory.md +50 -0
  185. package/dist/docs/references/reference-core-getScorer.md +54 -0
  186. package/dist/docs/references/reference-core-getScorerById.md +54 -0
  187. package/dist/docs/references/reference-core-getServer.md +22 -0
  188. package/dist/docs/references/reference-core-getStorage.md +22 -0
  189. package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
  190. package/dist/docs/references/reference-core-getTelemetry.md +22 -0
  191. package/dist/docs/references/reference-core-getVector.md +22 -0
  192. package/dist/docs/references/reference-core-getWorkflow.md +40 -0
  193. package/dist/docs/references/reference-core-listAgents.md +21 -0
  194. package/dist/docs/references/reference-core-listGateways.md +40 -0
  195. package/dist/docs/references/reference-core-listLogs.md +38 -0
  196. package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
  197. package/dist/docs/references/reference-core-listMCPServers.md +51 -0
  198. package/dist/docs/references/reference-core-listMemory.md +56 -0
  199. package/dist/docs/references/reference-core-listScorers.md +29 -0
  200. package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
  201. package/dist/docs/references/reference-core-listVectors.md +22 -0
  202. package/dist/docs/references/reference-core-listWorkflows.md +21 -0
  203. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  204. package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
  205. package/dist/docs/references/reference-core-setLogger.md +26 -0
  206. package/dist/docs/references/reference-core-setStorage.md +27 -0
  207. package/dist/docs/references/reference-deployer-cloudflare.md +56 -0
  208. package/dist/docs/references/reference-deployer-netlify.md +14 -0
  209. package/dist/docs/references/reference-deployer-vercel.md +39 -0
  210. package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
  211. package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
  212. package/dist/docs/references/reference-evals-bias.md +120 -0
  213. package/dist/docs/references/reference-evals-completeness.md +137 -0
  214. package/dist/docs/references/reference-evals-content-similarity.md +101 -0
  215. package/dist/docs/references/reference-evals-context-precision.md +196 -0
  216. package/dist/docs/references/reference-evals-create-scorer.md +270 -0
  217. package/dist/docs/references/reference-evals-faithfulness.md +114 -0
  218. package/dist/docs/references/reference-evals-hallucination.md +220 -0
  219. package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
  220. package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
  221. package/dist/docs/references/reference-evals-run-evals.md +138 -0
  222. package/dist/docs/references/reference-evals-scorer-utils.md +330 -0
  223. package/dist/docs/references/reference-evals-textual-difference.md +113 -0
  224. package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
  225. package/dist/docs/references/reference-evals-toxicity.md +123 -0
  226. package/dist/docs/{logging/01-reference.md → references/reference-logging-pino-logger.md} +16 -15
  227. package/dist/docs/references/reference-memory-deleteMessages.md +40 -0
  228. package/dist/docs/{memory/06-reference.md → references/reference-memory-memory-class.md} +28 -55
  229. package/dist/docs/references/reference-memory-observational-memory.md +217 -0
  230. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
  231. package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
  232. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
  233. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
  234. package/dist/docs/references/reference-observability-tracing-instances.md +109 -0
  235. package/dist/docs/references/reference-observability-tracing-interfaces.md +749 -0
  236. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
  237. package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
  238. package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
  239. package/dist/docs/references/reference-processors-language-detector.md +81 -0
  240. package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
  241. package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
  242. package/dist/docs/references/reference-processors-pii-detector.md +107 -0
  243. package/dist/docs/references/reference-processors-processor-interface.md +521 -0
  244. package/dist/docs/references/reference-processors-prompt-injection-detector.md +71 -0
  245. package/dist/docs/references/reference-processors-semantic-recall-processor.md +123 -0
  246. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
  247. package/dist/docs/references/reference-processors-token-limiter-processor.md +113 -0
  248. package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
  249. package/dist/docs/references/reference-processors-tool-search-processor.md +113 -0
  250. package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
  251. package/dist/docs/references/reference-processors-working-memory-processor.md +154 -0
  252. package/dist/docs/references/reference-rag-database-config.md +264 -0
  253. package/dist/docs/references/reference-rag-embeddings.md +92 -0
  254. package/dist/docs/references/reference-server-mastra-server.md +298 -0
  255. package/dist/docs/references/reference-server-register-api-route.md +249 -0
  256. package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
  257. package/dist/docs/references/reference-storage-composite.md +235 -0
  258. package/dist/docs/references/reference-storage-lance.md +131 -0
  259. package/dist/docs/references/reference-storage-libsql.md +135 -0
  260. package/dist/docs/references/reference-storage-mongodb.md +262 -0
  261. package/dist/docs/references/reference-storage-mssql.md +155 -0
  262. package/dist/docs/references/reference-storage-overview.md +121 -0
  263. package/dist/docs/references/reference-storage-postgresql.md +529 -0
  264. package/dist/docs/references/reference-storage-upstash.md +160 -0
  265. package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
  266. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
  267. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
  268. package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
  269. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
  270. package/dist/docs/references/reference-streaming-workflows-stream.md +87 -0
  271. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
  272. package/dist/docs/{templates/01-reference.md → references/reference-templates-overview.md} +8 -17
  273. package/dist/docs/references/reference-tools-client.md +228 -0
  274. package/dist/docs/references/reference-tools-create-tool.md +237 -0
  275. package/dist/docs/references/reference-tools-graph-rag-tool.md +185 -0
  276. package/dist/docs/references/reference-tools-mcp-client.md +964 -0
  277. package/dist/docs/references/reference-tools-mcp-server.md +1275 -0
  278. package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
  279. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  280. package/dist/docs/references/reference-vectors-mongodb.md +295 -0
  281. package/dist/docs/references/reference-vectors-pg.md +408 -0
  282. package/dist/docs/references/reference-vectors-upstash.md +294 -0
  283. package/dist/docs/references/reference-voice-composite-voice.md +121 -0
  284. package/dist/docs/references/reference-voice-mastra-voice.md +313 -0
  285. package/dist/docs/references/reference-voice-voice.addInstructions.md +56 -0
  286. package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
  287. package/dist/docs/references/reference-voice-voice.connect.md +94 -0
  288. package/dist/docs/references/reference-voice-voice.events.md +37 -0
  289. package/dist/docs/references/reference-voice-voice.listen.md +164 -0
  290. package/dist/docs/references/reference-voice-voice.on.md +111 -0
  291. package/dist/docs/references/reference-voice-voice.speak.md +157 -0
  292. package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
  293. package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
  294. package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
  295. package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
  296. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
  297. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
  298. package/dist/docs/references/reference-workflows-run.md +59 -0
  299. package/dist/docs/references/reference-workflows-step.md +117 -0
  300. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
  301. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
  302. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
  303. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
  304. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
  305. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +88 -0
  306. package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
  307. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
  308. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
  309. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
  310. package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
  311. package/dist/docs/references/reference-workflows-workflow.md +157 -0
  312. package/dist/docs/references/reference-workspace-filesystem.md +200 -0
  313. package/dist/docs/references/reference-workspace-local-filesystem.md +300 -0
  314. package/dist/docs/references/reference-workspace-local-sandbox.md +283 -0
  315. package/dist/docs/references/reference-workspace-sandbox.md +79 -0
  316. package/dist/docs/references/reference-workspace-workspace-class.md +247 -0
  317. package/dist/docs/references/reference.md +243 -0
  318. package/dist/evals/index.cjs +5 -5
  319. package/dist/evals/index.js +2 -2
  320. package/dist/evals/scoreTraces/index.cjs +3 -3
  321. package/dist/evals/scoreTraces/index.js +1 -1
  322. package/dist/index.cjs +4 -4
  323. package/dist/index.js +2 -2
  324. package/dist/llm/index.cjs +9 -5
  325. package/dist/llm/index.d.ts +1 -1
  326. package/dist/llm/index.d.ts.map +1 -1
  327. package/dist/llm/index.js +1 -1
  328. package/dist/llm/model/index.d.ts +1 -1
  329. package/dist/llm/model/index.d.ts.map +1 -1
  330. package/dist/loop/index.cjs +12 -12
  331. package/dist/loop/index.js +1 -1
  332. package/dist/mastra/index.cjs +2 -2
  333. package/dist/mastra/index.d.ts +17 -0
  334. package/dist/mastra/index.d.ts.map +1 -1
  335. package/dist/mastra/index.js +1 -1
  336. package/dist/memory/index.cjs +14 -14
  337. package/dist/memory/index.js +1 -1
  338. package/dist/memory/types.d.ts +3 -2
  339. package/dist/memory/types.d.ts.map +1 -1
  340. package/dist/processors/index.cjs +41 -41
  341. package/dist/processors/index.js +1 -1
  342. package/dist/relevance/index.cjs +3 -3
  343. package/dist/relevance/index.js +1 -1
  344. package/dist/storage/index.cjs +33 -33
  345. package/dist/storage/index.js +1 -1
  346. package/dist/stream/index.cjs +11 -11
  347. package/dist/stream/index.js +2 -2
  348. package/dist/test-utils/llm-mock.cjs +12 -12
  349. package/dist/test-utils/llm-mock.js +3 -3
  350. package/dist/{token-6GSAFR2W-TOUJCAPY.js → token-APYSY3BW-QJCV2XQG.js} +11 -11
  351. package/dist/token-APYSY3BW-QJCV2XQG.js.map +1 -0
  352. package/dist/{token-6GSAFR2W-GERJXNN5.cjs → token-APYSY3BW-UBKUGJQP.cjs} +14 -14
  353. package/dist/token-APYSY3BW-UBKUGJQP.cjs.map +1 -0
  354. package/dist/token-util-RMHT2CPJ-S2YMG7N3.js +8 -0
  355. package/dist/token-util-RMHT2CPJ-S2YMG7N3.js.map +1 -0
  356. package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs +10 -0
  357. package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs.map +1 -0
  358. package/dist/tool-loop-agent/index.cjs +4 -4
  359. package/dist/tool-loop-agent/index.js +1 -1
  360. package/dist/vector/index.cjs +11 -11
  361. package/dist/vector/index.js +3 -3
  362. package/dist/workflows/evented/index.cjs +10 -10
  363. package/dist/workflows/evented/index.js +1 -1
  364. package/dist/workflows/index.cjs +25 -25
  365. package/dist/workflows/index.js +1 -1
  366. package/package.json +4 -5
  367. package/dist/chunk-3LRUJTH3.cjs.map +0 -1
  368. package/dist/chunk-5HDIPOLV.js.map +0 -1
  369. package/dist/chunk-ARQG4ZSD.cjs.map +0 -1
  370. package/dist/chunk-DG6C6ZTL.cjs.map +0 -1
  371. package/dist/chunk-EY3WXGUD.js.map +0 -1
  372. package/dist/chunk-IPXNR6RQ.js.map +0 -1
  373. package/dist/chunk-NYC6PYZF.js.map +0 -1
  374. package/dist/chunk-X5HU5YVN.js +0 -250
  375. package/dist/chunk-X5HU5YVN.js.map +0 -1
  376. package/dist/chunk-XC7WIZBL.js.map +0 -1
  377. package/dist/chunk-Z2OKCLGV.cjs.map +0 -1
  378. package/dist/chunk-Z4PGSIZ5.cjs.map +0 -1
  379. package/dist/chunk-ZZF2IKZJ.cjs +0 -252
  380. package/dist/chunk-ZZF2IKZJ.cjs.map +0 -1
  381. package/dist/docs/README.md +0 -57
  382. package/dist/docs/agents/11-reference.md +0 -854
  383. package/dist/docs/ai-sdk/01-reference.md +0 -490
  384. package/dist/docs/auth/01-reference.md +0 -308
  385. package/dist/docs/core/01-reference.md +0 -1283
  386. package/dist/docs/deployer/01-reference.md +0 -128
  387. package/dist/docs/evals/04-reference.md +0 -2137
  388. package/dist/docs/index.mdx/01-reference.md +0 -14
  389. package/dist/docs/mcp/02-publishing-mcp-server.md +0 -111
  390. package/dist/docs/observability/15-reference.md +0 -1831
  391. package/dist/docs/processors/01-reference.md +0 -1418
  392. package/dist/docs/rag/06-reference.md +0 -342
  393. package/dist/docs/server/16-reference.md +0 -513
  394. package/dist/docs/storage/01-reference.md +0 -2022
  395. package/dist/docs/streaming/04-reference.md +0 -724
  396. package/dist/docs/tools/01-reference.md +0 -3136
  397. package/dist/docs/vectors/01-reference.md +0 -942
  398. package/dist/docs/voice/05-reference.md +0 -1043
  399. package/dist/docs/workflows/11-reference.md +0 -1044
  400. package/dist/docs/workspace/06-reference.md +0 -946
  401. package/dist/token-6GSAFR2W-GERJXNN5.cjs.map +0 -1
  402. package/dist/token-6GSAFR2W-TOUJCAPY.js.map +0 -1
  403. package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs +0 -10
  404. package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs.map +0 -1
  405. package/dist/token-util-NEHG7TUY-TZ426VZB.js +0 -8
  406. package/dist/token-util-NEHG7TUY-TZ426VZB.js.map +0 -1
@@ -1,21 +1,12 @@
1
- # Logging API Reference
2
-
3
- > API reference for logging - 1 entries
4
-
5
-
6
- ---
7
-
8
- ## Reference: PinoLogger
9
-
10
- > Documentation for PinoLogger, which provides methods to record events at various severity levels.
1
+ # PinoLogger
11
2
 
12
3
  A Logger instance is created using `new PinoLogger()` and provides methods to record events at various severity levels.
13
4
 
14
- When deploying to Mastra Cloud, logs are displayed on the [Logs](https://mastra.ai/docs/mastra-cloud/observability#logs) page. In self-hosted or custom environments, logs can be directed to files or external services depending on the configured transports.
5
+ When deploying to Mastra Cloud, logs are displayed 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.
15
6
 
16
7
  ## Usage example
17
8
 
18
- ```typescript title="src/mastra/index.ts"
9
+ ```typescript
19
10
  import { Mastra } from "@mastra/core";
20
11
  import { PinoLogger } from "@mastra/loggers";
21
12
 
@@ -29,11 +20,21 @@ export const mastra = new Mastra({
29
20
 
30
21
  ## Parameters
31
22
 
23
+ **name:** (`string`): A label used to group and identify logs from this logger.
24
+
25
+ **level:** (`"debug" | "info" | "warn" | "error"`): Sets the minimum log level. Messages below this level are ignored.
26
+
27
+ **transports:** (`Record<string, LoggerTransport>`): A map of transport instances used to persist logs.
28
+
29
+ **overrideDefaultTransports?:** (`boolean`): If true, disables the default console transport.
30
+
31
+ **formatters?:** (`pino.LoggerOptions['formatters']`): Custom Pino formatters for log serialization.
32
+
32
33
  ## File transport (structured logs)
33
34
 
34
35
  Writes structured logs to a file using the `FileTransport`. The logger accepts a plain message as the first argument and structured metadata as the second argument. These are internally converted to a `BaseLogMessage` and persisted to the configured file path.
35
36
 
36
- ```typescript title="src/mastra/loggers/file-transport.ts"
37
+ ```typescript
37
38
  import { FileTransport } from "@mastra/loggers/file";
38
39
  import { PinoLogger } from "@mastra/loggers/pino";
39
40
 
@@ -57,7 +58,7 @@ fileLogger.warn("Low disk space", {
57
58
 
58
59
  Streams structured logs to a remote Redis list using the `UpstashTransport`. The logger accepts a string message and a structured metadata object. This enables centralized logging for distributed environments, supporting filtering by `destinationPath`, `type`, and `runId`.
59
60
 
60
- ```typescript title="src/mastra/loggers/upstash-transport.ts"
61
+ ```typescript
61
62
  import { UpstashTransport } from "@mastra/loggers/upstash";
62
63
  import { PinoLogger } from "@mastra/loggers/pino";
63
64
 
@@ -92,7 +93,7 @@ You can create custom transports using the `createCustomTransport` utility to in
92
93
 
93
94
  Creates a custom transport using `createCustomTransport` and integrates it with a third-party logging stream such as `pino-sentry-transport`. This allows forwarding logs to an external system like Sentry for advanced monitoring and observability.
94
95
 
95
- ```typescript title="src/mastra/loggers/sentry-transport.ts"
96
+ ```typescript
96
97
  import { createCustomTransport } from "@mastra/core/loggers";
97
98
  import { PinoLogger } from "@mastra/loggers/pino";
98
99
  import pinoSentry from "pino-sentry-transport";
@@ -0,0 +1,40 @@
1
+ # Memory.deleteMessages()
2
+
3
+ The `.deleteMessages()` method deletes multiple messages by their IDs.
4
+
5
+ ## Usage Example
6
+
7
+ ```typescript
8
+ await memory?.deleteMessages(["671ae63f-3a91-4082-a907-fe7de78e10ec"]);
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ **messageIds:** (`string[]`): Array of message IDs to delete
14
+
15
+ ## Returns
16
+
17
+ **void:** (`Promise<void>`): A promise that resolves when all messages are deleted
18
+
19
+ ## Extended usage example
20
+
21
+ ```typescript
22
+ import { mastra } from "./mastra";
23
+ import { MastraDBMessage } from "@mastra/core";
24
+
25
+ const agent = mastra.getAgent("agent");
26
+ const memory = await agent.getMemory();
27
+
28
+ const { messages } = await memory!.recall({ threadId: "thread-123" });
29
+
30
+ const messageIds = messages.map(
31
+ (message: MastraDBMessage) => message.id,
32
+ );
33
+ await memory?.deleteMessages([...messageIds]);
34
+ ```
35
+
36
+ ## Related
37
+
38
+ - [Memory Class Reference](https://mastra.ai/reference/memory/memory-class)
39
+ - [recall](https://mastra.ai/reference/memory/recall)
40
+ - [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
@@ -1,60 +1,10 @@
1
- # Memory API Reference
2
-
3
- > API reference for memory - 2 entries
4
-
5
-
6
- ---
7
-
8
- ## Reference: Memory.deleteMessages()
9
-
10
- > Documentation for the `Memory.deleteMessages()` method in Mastra, which deletes multiple messages by their IDs.
11
-
12
- The `.deleteMessages()` method deletes multiple messages by their IDs.
13
-
14
- ## Usage Example
15
-
16
- ```typescript
17
- await memory?.deleteMessages(["671ae63f-3a91-4082-a907-fe7de78e10ec"]);
18
- ```
19
-
20
- ## Parameters
21
-
22
- ## Returns
23
-
24
- ## Extended usage example
25
-
26
- ```typescript title="src/test-memory.ts"
27
- import { mastra } from "./mastra";
28
- import { MastraDBMessage } from "@mastra/core";
29
-
30
- const agent = mastra.getAgent("agent");
31
- const memory = await agent.getMemory();
32
-
33
- const { messages } = await memory!.recall({ threadId: "thread-123" });
34
-
35
- const messageIds = messages.map(
36
- (message: MastraDBMessage) => message.id,
37
- );
38
- await memory?.deleteMessages([...messageIds]);
39
- ```
40
-
41
- ## Related
42
-
43
- - [Memory Class Reference](https://mastra.ai/reference/memory/memory-class)
44
- - [recall](https://mastra.ai/reference/memory/recall)
45
- - [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
46
-
47
- ---
48
-
49
- ## Reference: Memory Class
50
-
51
- > Documentation for the `Memory` class in Mastra, which provides a robust system for managing conversation history and thread-based message storage.
1
+ # Memory Class
52
2
 
53
3
  The `Memory` class provides a robust system for managing conversation history and thread-based message storage in Mastra. It enables persistent storage of conversations, semantic search capabilities, and efficient message retrieval. You must configure a storage provider for conversation history, and if you enable semantic recall you will also need to provide a vector store and embedder.
54
4
 
55
5
  ## Usage example
56
6
 
57
- ```typescript title="src/mastra/agents/test-agent.ts"
7
+ ```typescript
58
8
  import { Memory } from "@mastra/memory";
59
9
  import { Agent } from "@mastra/core/agent";
60
10
 
@@ -72,17 +22,39 @@ export const agent = new Agent({
72
22
  });
73
23
  ```
74
24
 
75
- > To enable `workingMemory` on an agent, you’ll need a storage provider configured on your main Mastra instance. See [Mastra class](../core/mastra-class) for more information.
25
+ > To enable `workingMemory` on an agent, you’ll need a storage provider configured on your main Mastra instance. See [Mastra class](https://mastra.ai/reference/core/mastra-class) for more information.
76
26
 
77
27
  ## Constructor parameters
78
28
 
29
+ **storage?:** (`MastraCompositeStore`): Storage implementation for persisting memory data. Defaults to \`new DefaultStorage({ config: { url: "file:memory.db" } })\` if not provided.
30
+
31
+ **vector?:** (`MastraVector | false`): Vector store for semantic search capabilities. Set to \`false\` to disable vector operations.
32
+
33
+ **embedder?:** (`EmbeddingModel<string> | EmbeddingModelV2<string>`): Embedder instance for vector embeddings. Required when semantic recall is enabled.
34
+
35
+ **options?:** (`MemoryConfig`): Memory configuration options.
36
+
79
37
  ### Options parameters
80
38
 
39
+ **lastMessages?:** (`number | false`): Number of most recent messages to retrieve. Set to false to disable. (Default: `10`)
40
+
41
+ **readOnly?:** (`boolean`): When true, prevents memory from saving new messages and provides working memory as read-only context (without the updateWorkingMemory tool). Useful for read-only operations like previews, internal routing agents, or sub agents that should reference but not modify memory. (Default: `false`)
42
+
43
+ **semanticRecall?:** (`boolean | { topK: number; messageRange: number | { before: number; after: number }; scope?: 'thread' | 'resource' }`): Enable semantic search in message history. Can be a boolean or an object with configuration options. When enabled, requires both vector store and embedder to be configured. Default topK is 4, default messageRange is {before: 1, after: 1}. (Default: `false`)
44
+
45
+ **workingMemory?:** (`WorkingMemory`): Configuration for working memory feature. Can be \`{ enabled: boolean; template?: string; schema?: ZodObject\<any> | JSONSchema7; scope?: 'thread' | 'resource' }\` or \`{ enabled: boolean }\` to disable. (Default: `{ enabled: false, template: '# User Information\n- **First Name**:\n- **Last Name**:\n...' }`)
46
+
47
+ **observationalMemory?:** (`boolean | ObservationalMemoryOptions`): Enable Observational Memory for long-context agentic memory. Set to \`true\` for defaults, or pass a config object to customize token budgets, models, and scope. See \[Observational Memory reference]\(/reference/memory/observational-memory) for configuration details. (Default: `false`)
48
+
49
+ **generateTitle?:** (`boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> }`): Controls automatic thread title generation from the user's first message. Can be a boolean or an object with custom model and instructions. (Default: `false`)
50
+
81
51
  ## Returns
82
52
 
53
+ **memory:** (`Memory`): A new Memory instance with the specified configuration.
54
+
83
55
  ## Extended usage example
84
56
 
85
- ```typescript title="src/mastra/agents/test-agent.ts"
57
+ ```typescript
86
58
  import { Memory } from "@mastra/memory";
87
59
  import { Agent } from "@mastra/core/agent";
88
60
  import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
@@ -118,7 +90,7 @@ export const agent = new Agent({
118
90
 
119
91
  ## PostgreSQL with index configuration
120
92
 
121
- ```typescript title="src/mastra/agents/pg-agent.ts"
93
+ ```typescript
122
94
  import { Memory } from "@mastra/memory";
123
95
  import { Agent } from "@mastra/core/agent";
124
96
  import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
@@ -164,6 +136,7 @@ export const agent = new Agent({
164
136
  - [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
165
137
  - [Semantic Recall](https://mastra.ai/docs/memory/semantic-recall)
166
138
  - [Working Memory](https://mastra.ai/docs/memory/working-memory)
139
+ - [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
167
140
  - [Memory Processors](https://mastra.ai/docs/memory/memory-processors)
168
141
  - [createThread](https://mastra.ai/reference/memory/createThread)
169
142
  - [recall](https://mastra.ai/reference/memory/recall)
@@ -0,0 +1,217 @@
1
+ # Observational Memory
2
+
3
+ Observational Memory (OM) is Mastra's memory system for long-context agentic memory. Two background agents — an **Observer** that watches conversations and creates observations, and a **Reflector** that restructures observations by combining related items, reflecting on overarching patterns, and condensing where possible — maintain an observation log that replaces raw message history as it grows.
4
+
5
+ ## Usage
6
+
7
+ ```typescript
8
+ import { Memory } from "@mastra/memory";
9
+ import { Agent } from "@mastra/core/agent";
10
+
11
+ export const agent = new Agent({
12
+ name: "my-agent",
13
+ instructions: "You are a helpful assistant.",
14
+ model: "openai/gpt-5-mini",
15
+ memory: new Memory({
16
+ options: {
17
+ observationalMemory: true,
18
+ },
19
+ }),
20
+ });
21
+ ```
22
+
23
+ ## Configuration
24
+
25
+ The `observationalMemory` option accepts `true`, `false`, or a configuration object.
26
+
27
+ Setting `observationalMemory: true` enables it with all defaults. Setting `observationalMemory: false` or omitting it disables it.
28
+
29
+ **enabled?:** (`boolean`): Enable or disable Observational Memory. When omitted from a config object, defaults to \`true\`. Only \`enabled: false\` explicitly disables it. (Default: `true`)
30
+
31
+ **model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for both the Observer and Reflector agents. Sets the model for both at once. Cannot be used together with \`observation.model\` or \`reflection.model\` — an error will be thrown if both are set. (Default: `'google/gemini-2.5-flash'`)
32
+
33
+ **scope?:** (`'resource' | 'thread'`): Memory scope for observations. \`'thread'\` keeps observations per-thread. \`'resource'\` shares observations across all threads for a resource, enabling cross-conversation memory. (Default: `'thread'`)
34
+
35
+ **shareTokenBudget?:** (`boolean`): Share the token budget between messages and observations. When enabled, the total budget is \`observation.messageTokens + reflection.observationTokens\`. Messages can use more space when observations are small, and vice versa. This maximizes context usage through flexible allocation. (Default: `false`)
36
+
37
+ **observation?:** (`ObservationalMemoryObservationConfig`): Configuration for the observation step. Controls when the Observer agent runs and how it behaves.
38
+
39
+ **reflection?:** (`ObservationalMemoryReflectionConfig`): Configuration for the reflection step. Controls when the Reflector agent runs and how it behaves.
40
+
41
+ ### Observation config
42
+
43
+ **model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Observer agent. Cannot be set if a top-level \`model\` is also provided. (Default: `'google/gemini-2.5-flash'`)
44
+
45
+ **messageTokens?:** (`number`): Token count of unobserved messages that triggers observation. When unobserved message tokens exceed this threshold, the Observer agent is called. (Default: `30000`)
46
+
47
+ **maxTokensPerBatch?:** (`number`): Maximum tokens per batch when observing multiple threads in resource scope. Threads are chunked into batches of this size and processed in parallel. Lower values mean more parallelism but more API calls. (Default: `10000`)
48
+
49
+ **modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Observer agent. (Default: `{ temperature: 0.3, maxOutputTokens: 100_000 }`)
50
+
51
+ ### Reflection config
52
+
53
+ **model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Reflector agent. Cannot be set if a top-level \`model\` is also provided. (Default: `'google/gemini-2.5-flash'`)
54
+
55
+ **observationTokens?:** (`number`): Token count of observations that triggers reflection. When observation tokens exceed this threshold, the Reflector agent is called to condense them. (Default: `40000`)
56
+
57
+ **modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Reflector agent. (Default: `{ temperature: 0, maxOutputTokens: 100_000 }`)
58
+
59
+ ### Model settings
60
+
61
+ **temperature?:** (`number`): Temperature for generation. Lower values produce more consistent output. (Default: `0.3`)
62
+
63
+ **maxOutputTokens?:** (`number`): Maximum output tokens. Set high to prevent truncation of observations. (Default: `100000`)
64
+
65
+ ## Examples
66
+
67
+ ### Resource scope with custom thresholds
68
+
69
+ ```typescript
70
+ import { Memory } from "@mastra/memory";
71
+ import { Agent } from "@mastra/core/agent";
72
+
73
+ export const agent = new Agent({
74
+ name: "my-agent",
75
+ instructions: "You are a helpful assistant.",
76
+ model: "openai/gpt-5-mini",
77
+ memory: new Memory({
78
+ options: {
79
+ observationalMemory: {
80
+ scope: "resource",
81
+ observation: {
82
+ messageTokens: 20_000,
83
+ },
84
+ reflection: {
85
+ observationTokens: 60_000,
86
+ },
87
+ },
88
+ },
89
+ }),
90
+ });
91
+ ```
92
+
93
+ ### Shared token budget
94
+
95
+ ```typescript
96
+ import { Memory } from "@mastra/memory";
97
+ import { Agent } from "@mastra/core/agent";
98
+
99
+ export const agent = new Agent({
100
+ name: "my-agent",
101
+ instructions: "You are a helpful assistant.",
102
+ model: "openai/gpt-5-mini",
103
+ memory: new Memory({
104
+ options: {
105
+ observationalMemory: {
106
+ shareTokenBudget: true,
107
+ observation: {
108
+ messageTokens: 20_000,
109
+ },
110
+ reflection: {
111
+ observationTokens: 80_000,
112
+ },
113
+ },
114
+ },
115
+ }),
116
+ });
117
+ ```
118
+
119
+ When `shareTokenBudget` is enabled, the total budget is `observation.messageTokens + reflection.observationTokens` (100k in this example). If observations only use 30k tokens, messages can expand to use up to 70k. If messages are short, observations have more room before triggering reflection.
120
+
121
+ ### Custom model
122
+
123
+ ```typescript
124
+ import { Memory } from "@mastra/memory";
125
+ import { Agent } from "@mastra/core/agent";
126
+
127
+ export const agent = new Agent({
128
+ name: "my-agent",
129
+ instructions: "You are a helpful assistant.",
130
+ model: "openai/gpt-5-mini",
131
+ memory: new Memory({
132
+ options: {
133
+ observationalMemory: {
134
+ model: "openai/gpt-4o-mini",
135
+ },
136
+ },
137
+ }),
138
+ });
139
+ ```
140
+
141
+ ### Different models per agent
142
+
143
+ ```typescript
144
+ import { Memory } from "@mastra/memory";
145
+ import { Agent } from "@mastra/core/agent";
146
+
147
+ export const agent = new Agent({
148
+ name: "my-agent",
149
+ instructions: "You are a helpful assistant.",
150
+ model: "openai/gpt-5-mini",
151
+ memory: new Memory({
152
+ options: {
153
+ observationalMemory: {
154
+ observation: {
155
+ model: "google/gemini-2.5-flash",
156
+ },
157
+ reflection: {
158
+ model: "openai/gpt-4o-mini",
159
+ },
160
+ },
161
+ },
162
+ }),
163
+ });
164
+ ```
165
+
166
+ ## Standalone usage
167
+
168
+ Most users should use the `Memory` class above. Using `ObservationalMemory` directly is mainly useful for benchmarking, experimentation, or when you need to control processor ordering with other processors (like [guardrails](https://mastra.ai/docs/agents/guardrails)).
169
+
170
+ ```typescript
171
+ import { ObservationalMemory } from "@mastra/memory/processors";
172
+ import { Agent } from "@mastra/core/agent";
173
+ import { LibSQLStore } from "@mastra/libsql";
174
+
175
+ const storage = new LibSQLStore({
176
+ id: "my-storage",
177
+ url: "file:./memory.db",
178
+ });
179
+
180
+ const om = new ObservationalMemory({
181
+ storage: storage.stores.memory,
182
+ model: "google/gemini-2.5-flash",
183
+ scope: "resource",
184
+ observation: {
185
+ messageTokens: 20_000,
186
+ },
187
+ reflection: {
188
+ observationTokens: 60_000,
189
+ },
190
+ });
191
+
192
+ export const agent = new Agent({
193
+ name: "my-agent",
194
+ instructions: "You are a helpful assistant.",
195
+ model: "openai/gpt-5-mini",
196
+ inputProcessors: [om],
197
+ outputProcessors: [om],
198
+ });
199
+ ```
200
+
201
+ ### Standalone config
202
+
203
+ The standalone `ObservationalMemory` class accepts all the same options as the `observationalMemory` config object above, plus the following:
204
+
205
+ **storage:** (`MemoryStorage`): Storage adapter for persisting observations. Must be a MemoryStorage instance (from \`MastraStorage.stores.memory\`).
206
+
207
+ **onDebugEvent?:** (`(event: ObservationDebugEvent) => void`): Debug callback for observation events. Called whenever observation-related events occur. Useful for debugging and understanding the observation flow.
208
+
209
+ **obscureThreadIds?:** (`boolean`): When enabled, thread IDs are hashed before being included in observation context. This prevents the LLM from recognizing patterns in thread identifiers. Automatically enabled when using resource scope through the Memory class. (Default: `false`)
210
+
211
+ ### Related
212
+
213
+ - [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
214
+ - [Memory Overview](https://mastra.ai/docs/memory/overview)
215
+ - [Memory Class](https://mastra.ai/reference/memory/memory-class)
216
+ - [Memory Processors](https://mastra.ai/docs/memory/memory-processors)
217
+ - [Processors](https://mastra.ai/docs/agents/processors)
@@ -0,0 +1,131 @@
1
+ # OtelBridge
2
+
3
+ > **Warning:** The OpenTelemetry Bridge is currently **experimental**. APIs and configuration options may change in future releases.
4
+
5
+ Enables bidirectional integration between Mastra tracing and OpenTelemetry infrastructure. Creates native OTEL spans for Mastra operations and inherits context from active OTEL spans.
6
+
7
+ ## Constructor
8
+
9
+ ```typescript
10
+ new OtelBridge()
11
+ ```
12
+
13
+ ## Methods
14
+
15
+ ### executeInContext
16
+
17
+ ```typescript
18
+ executeInContext<T>(spanId: string, fn: () => Promise<T>): Promise<T>
19
+ ```
20
+
21
+ Executes an async function within the OTEL context of a Mastra span. OTEL-instrumented code running inside the function will have correct parent relationships.
22
+
23
+ **Returns:** `Promise<T>` - The result of the function execution.
24
+
25
+ ### executeInContextSync
26
+
27
+ ```typescript
28
+ executeInContextSync<T>(spanId: string, fn: () => T): T
29
+ ```
30
+
31
+ Executes a synchronous function within the OTEL context of a Mastra span.
32
+
33
+ **Returns:** `T` - The result of the function execution.
34
+
35
+ ### shutdown
36
+
37
+ ```typescript
38
+ async shutdown(): Promise<void>
39
+ ```
40
+
41
+ Shuts down the bridge and cleans up resources. Ends any spans that were not properly closed.
42
+
43
+ ## Usage Examples
44
+
45
+ ### Basic Usage
46
+
47
+ ```typescript
48
+ import { Mastra } from "@mastra/core";
49
+ import { Observability } from "@mastra/observability";
50
+ import { OtelBridge } from "@mastra/otel-bridge";
51
+
52
+ const mastra = new Mastra({
53
+ observability: new Observability({
54
+ configs: {
55
+ default: {
56
+ serviceName: "my-service",
57
+ bridge: new OtelBridge(),
58
+ },
59
+ },
60
+ }),
61
+ agents: { myAgent },
62
+ });
63
+ ```
64
+
65
+ ### Combined with Exporters
66
+
67
+ The bridge can be used alongside exporters. The bridge handles OTEL context, while exporters send data to additional destinations:
68
+
69
+ ```typescript
70
+ import { Mastra } from "@mastra/core";
71
+ import { Observability, DefaultExporter } from "@mastra/observability";
72
+ import { OtelBridge } from "@mastra/otel-bridge";
73
+ import { LangfuseExporter } from "@mastra/langfuse";
74
+
75
+ const mastra = new Mastra({
76
+ observability: new Observability({
77
+ configs: {
78
+ default: {
79
+ serviceName: "my-service",
80
+ bridge: new OtelBridge(), // Handles OTEL context
81
+ exporters: [
82
+ new DefaultExporter(), // Studio access
83
+ new LangfuseExporter({
84
+ // Additional destination
85
+ publicKey: process.env.LANGFUSE_PUBLIC_KEY,
86
+ secretKey: process.env.LANGFUSE_SECRET_KEY,
87
+ }),
88
+ ],
89
+ },
90
+ },
91
+ }),
92
+ });
93
+ ```
94
+
95
+ ## OpenTelemetry Setup Requirements
96
+
97
+ The OtelBridge requires an active OpenTelemetry SDK to function. The bridge reads from OTEL's ambient context.
98
+
99
+ See the [OtelBridge Guide](https://mastra.ai/docs/observability/tracing/bridges/otel) for complete setup instructions, including how to configure OTEL instrumentation and run your application.
100
+
101
+ ## Tags Support
102
+
103
+ The OtelBridge supports trace tagging for categorization and filtering. Tags are only applied to root spans and are included as the `mastra.tags` attribute on native OTEL spans.
104
+
105
+ ### Usage
106
+
107
+ ```typescript
108
+ const result = await agent.generate("Hello", {
109
+ tracingOptions: {
110
+ tags: ["production", "experiment-v2", "user-request"],
111
+ },
112
+ });
113
+ ```
114
+
115
+ ### How Tags Are Stored
116
+
117
+ Tags are stored as a JSON-stringified array in the `mastra.tags` span attribute:
118
+
119
+ ```json
120
+ {
121
+ "mastra.tags": "[\"production\",\"experiment-v2\",\"user-request\"]"
122
+ }
123
+ ```
124
+
125
+ This format ensures compatibility with all OTEL-compatible backends and collectors.
126
+
127
+ ## Related
128
+
129
+ - [OtelBridge Guide](https://mastra.ai/docs/observability/tracing/bridges/otel) - Setup guide with examples
130
+ - [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview) - General tracing concepts
131
+ - [OtelExporter Reference](https://mastra.ai/reference/observability/tracing/exporters/otel) - OTEL exporter for sending traces