@mastra/core 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
  7. package/dist/chunk-2X66GWF5.cjs.map +1 -0
  8. package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
  9. package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
  10. package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
  11. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
  12. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  13. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  14. package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
  15. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
  16. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  17. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  18. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  19. package/dist/chunk-GPJGPARM.js.map +1 -0
  20. package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
  21. package/dist/chunk-HB6T4554.cjs.map +1 -0
  22. package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
  23. package/dist/chunk-KUXNBWN7.js.map +1 -0
  24. package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
  25. package/dist/chunk-QSHV7GPT.js.map +1 -0
  26. package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
  27. package/dist/chunk-QTAS3HND.cjs.map +1 -0
  28. package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
  29. package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
  30. package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
  31. package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
  32. package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
  33. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
  34. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  35. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  36. package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
  37. package/dist/chunk-T6GAM3SQ.js.map +1 -0
  38. package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
  39. package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
  40. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  41. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  42. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  43. package/dist/datasets/index.cjs +17 -17
  44. package/dist/datasets/index.js +2 -2
  45. package/dist/evals/index.cjs +20 -20
  46. package/dist/evals/index.js +3 -3
  47. package/dist/evals/scoreTraces/index.cjs +7 -6
  48. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  49. package/dist/evals/scoreTraces/index.js +4 -3
  50. package/dist/evals/scoreTraces/index.js.map +1 -1
  51. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  52. package/dist/harness/harness.d.ts +21 -1
  53. package/dist/harness/harness.d.ts.map +1 -1
  54. package/dist/harness/index.cjs +422 -5
  55. package/dist/harness/index.cjs.map +1 -1
  56. package/dist/harness/index.d.ts +2 -1
  57. package/dist/harness/index.d.ts.map +1 -1
  58. package/dist/harness/index.js +418 -3
  59. package/dist/harness/index.js.map +1 -1
  60. package/dist/harness/types.d.ts +151 -0
  61. package/dist/harness/types.d.ts.map +1 -1
  62. package/dist/index.cjs +2 -2
  63. package/dist/index.js +1 -1
  64. package/dist/loop/index.cjs +12 -12
  65. package/dist/loop/index.js +1 -1
  66. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  67. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  68. package/dist/mastra/hooks.d.ts.map +1 -1
  69. package/dist/mastra/index.cjs +2 -2
  70. package/dist/mastra/index.js +1 -1
  71. package/dist/memory/index.cjs +14 -14
  72. package/dist/memory/index.js +1 -1
  73. package/dist/processor-provider/index.cjs +10 -10
  74. package/dist/processor-provider/index.js +1 -1
  75. package/dist/processors/index.cjs +45 -41
  76. package/dist/processors/index.js +1 -1
  77. package/dist/processors/processors/index.d.ts +1 -0
  78. package/dist/processors/processors/index.d.ts.map +1 -1
  79. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  80. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  81. package/dist/relevance/index.cjs +3 -3
  82. package/dist/relevance/index.js +1 -1
  83. package/dist/storage/constants.cjs +56 -56
  84. package/dist/storage/constants.d.ts.map +1 -1
  85. package/dist/storage/constants.js +1 -1
  86. package/dist/storage/index.cjs +160 -160
  87. package/dist/storage/index.js +2 -2
  88. package/dist/storage/types.d.ts +2 -0
  89. package/dist/storage/types.d.ts.map +1 -1
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  91. package/dist/stream/base/output.d.ts.map +1 -1
  92. package/dist/stream/index.cjs +8 -8
  93. package/dist/stream/index.js +1 -1
  94. package/dist/tool-loop-agent/index.cjs +4 -4
  95. package/dist/tool-loop-agent/index.js +1 -1
  96. package/dist/vector/index.cjs +7 -7
  97. package/dist/vector/index.js +1 -1
  98. package/dist/workflows/evented/index.cjs +10 -10
  99. package/dist/workflows/evented/index.js +1 -1
  100. package/dist/workflows/index.cjs +25 -25
  101. package/dist/workflows/index.js +1 -1
  102. package/dist/workspace/constants/index.d.ts +2 -0
  103. package/dist/workspace/constants/index.d.ts.map +1 -1
  104. package/dist/workspace/errors.d.ts +1 -1
  105. package/dist/workspace/errors.d.ts.map +1 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  107. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  108. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  109. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  110. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  111. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  112. package/dist/workspace/filesystem/index.d.ts +1 -0
  113. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  115. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  116. package/dist/workspace/index.cjs +72 -64
  117. package/dist/workspace/index.d.ts +3 -2
  118. package/dist/workspace/index.d.ts.map +1 -1
  119. package/dist/workspace/index.js +1 -1
  120. package/dist/workspace/lifecycle.d.ts +1 -9
  121. package/dist/workspace/lifecycle.d.ts.map +1 -1
  122. package/dist/workspace/sandbox/index.d.ts +2 -0
  123. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  124. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  125. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  126. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  127. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  129. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  131. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  133. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  135. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  136. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  137. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  139. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  141. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  143. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  144. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  145. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  146. package/dist/workspace/sandbox/types.d.ts +9 -2
  147. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  148. package/dist/workspace/sandbox/utils.d.ts +7 -0
  149. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  150. package/dist/workspace/tools/execute-command.d.ts +53 -2
  151. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  152. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  153. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  154. package/dist/workspace/tools/index.d.ts +4 -1
  155. package/dist/workspace/tools/index.d.ts.map +1 -1
  156. package/dist/workspace/tools/kill-process.d.ts +4 -0
  157. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  158. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  159. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  160. package/dist/workspace/tools/tools.d.ts.map +1 -1
  161. package/dist/workspace/types.d.ts +31 -0
  162. package/dist/workspace/types.d.ts.map +1 -1
  163. package/dist/workspace/utils.d.ts +11 -0
  164. package/dist/workspace/utils.d.ts.map +1 -0
  165. package/dist/workspace/workspace.d.ts +36 -0
  166. package/dist/workspace/workspace.d.ts.map +1 -1
  167. package/package.json +7 -7
  168. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  169. package/dist/chunk-5K45E5VE.js.map +0 -1
  170. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  171. package/dist/chunk-DGS2KGDI.js.map +0 -1
  172. package/dist/chunk-IHDE4CJV.js.map +0 -1
  173. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  174. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  175. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  176. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  177. package/dist/chunk-XB3DA67Q.js.map +0 -1
  178. package/dist/docs/SKILL.md +0 -301
  179. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  180. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  181. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  182. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  183. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  184. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  185. package/dist/docs/references/docs-agents-networks.md +0 -290
  186. package/dist/docs/references/docs-agents-overview.md +0 -309
  187. package/dist/docs/references/docs-agents-processors.md +0 -632
  188. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  189. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  190. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  191. package/dist/docs/references/docs-evals-overview.md +0 -146
  192. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  193. package/dist/docs/references/docs-mcp-overview.md +0 -370
  194. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  195. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  196. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  197. package/dist/docs/references/docs-memory-overview.md +0 -45
  198. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  199. package/dist/docs/references/docs-memory-storage.md +0 -261
  200. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  201. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  202. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  203. package/dist/docs/references/docs-observability-logging.md +0 -99
  204. package/dist/docs/references/docs-observability-overview.md +0 -70
  205. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  206. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  207. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  208. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  209. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  210. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  211. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  212. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  213. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  214. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  215. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  216. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  217. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  218. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  219. package/dist/docs/references/docs-rag-overview.md +0 -72
  220. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  221. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  222. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  223. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  224. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  225. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  226. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  227. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  228. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  229. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  230. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  231. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  232. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  233. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  234. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  235. package/dist/docs/references/docs-server-middleware.md +0 -228
  236. package/dist/docs/references/docs-server-request-context.md +0 -478
  237. package/dist/docs/references/docs-streaming-events.md +0 -247
  238. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  239. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  240. package/dist/docs/references/docs-voice-overview.md +0 -979
  241. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  242. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  243. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  244. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  245. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  246. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  247. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  248. package/dist/docs/references/docs-workflows-overview.md +0 -372
  249. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  250. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  251. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  252. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  253. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  254. package/dist/docs/references/docs-workspace-overview.md +0 -239
  255. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  256. package/dist/docs/references/docs-workspace-search.md +0 -219
  257. package/dist/docs/references/docs-workspace-skills.md +0 -126
  258. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  259. package/dist/docs/references/reference-agents-agent.md +0 -142
  260. package/dist/docs/references/reference-agents-generate.md +0 -174
  261. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  262. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  263. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  264. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  265. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  266. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  267. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  268. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  269. package/dist/docs/references/reference-agents-getModel.md +0 -34
  270. package/dist/docs/references/reference-agents-getTools.md +0 -29
  271. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  272. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  273. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  274. package/dist/docs/references/reference-agents-listTools.md +0 -34
  275. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  276. package/dist/docs/references/reference-agents-network.md +0 -134
  277. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  278. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  279. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  280. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  281. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  282. package/dist/docs/references/reference-auth-auth0.md +0 -73
  283. package/dist/docs/references/reference-auth-clerk.md +0 -36
  284. package/dist/docs/references/reference-auth-firebase.md +0 -80
  285. package/dist/docs/references/reference-auth-jwt.md +0 -26
  286. package/dist/docs/references/reference-auth-supabase.md +0 -33
  287. package/dist/docs/references/reference-auth-workos.md +0 -84
  288. package/dist/docs/references/reference-client-js-agents.md +0 -438
  289. package/dist/docs/references/reference-configuration.md +0 -749
  290. package/dist/docs/references/reference-core-addGateway.md +0 -42
  291. package/dist/docs/references/reference-core-getAgent.md +0 -21
  292. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  293. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  294. package/dist/docs/references/reference-core-getGateway.md +0 -38
  295. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  296. package/dist/docs/references/reference-core-getLogger.md +0 -22
  297. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  298. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  299. package/dist/docs/references/reference-core-getMemory.md +0 -50
  300. package/dist/docs/references/reference-core-getScorer.md +0 -54
  301. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  302. package/dist/docs/references/reference-core-getServer.md +0 -22
  303. package/dist/docs/references/reference-core-getStorage.md +0 -22
  304. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  305. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  306. package/dist/docs/references/reference-core-getVector.md +0 -22
  307. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  308. package/dist/docs/references/reference-core-listAgents.md +0 -21
  309. package/dist/docs/references/reference-core-listGateways.md +0 -40
  310. package/dist/docs/references/reference-core-listLogs.md +0 -38
  311. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  312. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  313. package/dist/docs/references/reference-core-listMemory.md +0 -56
  314. package/dist/docs/references/reference-core-listScorers.md +0 -29
  315. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  316. package/dist/docs/references/reference-core-listVectors.md +0 -22
  317. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  318. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  319. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  320. package/dist/docs/references/reference-core-setLogger.md +0 -26
  321. package/dist/docs/references/reference-core-setStorage.md +0 -27
  322. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  323. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  324. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  325. package/dist/docs/references/reference-datasets-create.md +0 -49
  326. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  327. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  328. package/dist/docs/references/reference-datasets-delete.md +0 -23
  329. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  331. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  332. package/dist/docs/references/reference-datasets-get.md +0 -29
  333. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  334. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  335. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  336. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  337. package/dist/docs/references/reference-datasets-list.md +0 -29
  338. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  339. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  340. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  341. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  342. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  343. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  344. package/dist/docs/references/reference-datasets-update.md +0 -46
  345. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  346. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  347. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  348. package/dist/docs/references/reference-evals-bias.md +0 -120
  349. package/dist/docs/references/reference-evals-completeness.md +0 -137
  350. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  351. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  352. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  353. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  354. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  355. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  356. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  357. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  358. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  359. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  360. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  361. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  362. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  363. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  364. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  365. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  366. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  367. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  368. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  369. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  370. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  371. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  372. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  373. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  374. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  375. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  376. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  377. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  378. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  379. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  380. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  381. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  382. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  383. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  384. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  385. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  386. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  387. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  388. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  389. package/dist/docs/references/reference-rag-database-config.md +0 -264
  390. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  391. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  392. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  393. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  394. package/dist/docs/references/reference-storage-composite.md +0 -235
  395. package/dist/docs/references/reference-storage-lance.md +0 -131
  396. package/dist/docs/references/reference-storage-libsql.md +0 -135
  397. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  398. package/dist/docs/references/reference-storage-mssql.md +0 -155
  399. package/dist/docs/references/reference-storage-overview.md +0 -121
  400. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  401. package/dist/docs/references/reference-storage-upstash.md +0 -160
  402. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  403. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  404. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  405. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  406. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  407. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  408. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  409. package/dist/docs/references/reference-templates-overview.md +0 -194
  410. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  411. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  412. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  413. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  414. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  415. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  416. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  417. package/dist/docs/references/reference-vectors-pg.md +0 -408
  418. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  419. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  420. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  421. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  422. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  423. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  424. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  425. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  426. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  427. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  428. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  429. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  430. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  431. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  432. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  433. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  434. package/dist/docs/references/reference-workflows-run.md +0 -59
  435. package/dist/docs/references/reference-workflows-step.md +0 -119
  436. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  437. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  438. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  439. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  441. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  442. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  443. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  446. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  447. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  448. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  449. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  450. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  451. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  452. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  453. package/dist/docs/references/reference.md +0 -276
@@ -1,565 +0,0 @@
1
- # Observational Memory
2
-
3
- **Added in:** `@mastra/memory@1.1.0`
4
-
5
- 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.
6
-
7
- ## Usage
8
-
9
- ```typescript
10
- import { Memory } from "@mastra/memory";
11
- import { Agent } from "@mastra/core/agent";
12
-
13
- export const agent = new Agent({
14
- name: "my-agent",
15
- instructions: "You are a helpful assistant.",
16
- model: "openai/gpt-5-mini",
17
- memory: new Memory({
18
- options: {
19
- observationalMemory: true,
20
- },
21
- }),
22
- });
23
- ```
24
-
25
- ## Configuration
26
-
27
- The `observationalMemory` option accepts `true`, a configuration object, or `false`. Setting `true` enables OM with `google/gemini-2.5-flash` as the default model. When passing a config object, a `model` must be explicitly set — either at the top level, or on `observation.model` and/or `reflection.model`.
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. When using \`observationalMemory: true\`, defaults to \`google/gemini-2.5-flash\`. When passing a config object, this or \`observation.model\`/\`reflection.model\` must be set. Use \`"default"\` to explicitly use the default model (\`google/gemini-2.5-flash\`). (Default: `'google/gemini-2.5-flash' (when using observationalMemory: true)`)
32
-
33
- **scope?:** (`'resource' | 'thread'`): Memory scope for observations. \`'thread'\` keeps observations per-thread. \`'resource'\` (experimental) 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. \*\*Note:\*\* \`shareTokenBudget\` is not yet compatible with async buffering. You must set \`observation: { bufferTokens: false }\` when using this option (this is a temporary limitation). (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. If neither this nor the top-level \`model\` is set, falls back to \`reflection.model\`.
44
-
45
- **instruction?:** (`string`): Custom instruction appended to the Observer's system prompt. Use this to customize what the Observer focuses on, such as domain-specific preferences or priorities.
46
-
47
- **messageTokens?:** (`number`): Token count of unobserved messages that triggers observation. When unobserved message tokens exceed this threshold, the Observer agent is called. (Default: `30000`)
48
-
49
- **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`)
50
-
51
- **modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Observer agent. (Default: `{ temperature: 0.3, maxOutputTokens: 100_000 }`)
52
-
53
- **bufferTokens?:** (`number | false`): Token interval for async background observation buffering. Can be an absolute token count (e.g. \`5000\`) or a fraction of \`messageTokens\` (e.g. \`0.25\` = buffer every 25% of threshold). When set, observations run in the background at this interval, storing results in a buffer. When the main \`messageTokens\` threshold is reached, buffered observations activate instantly without a blocking LLM call. Must resolve to less than \`messageTokens\`. Set to \`false\` to explicitly disable all async buffering (both observation and reflection). (Default: `0.2`)
54
-
55
- **bufferActivation?:** (`number`): Ratio (0-1) controlling how much of the message window to retain after activation. For example, \`0.8\` means activate enough to keep only 20% of \`messageTokens\` remaining. Higher values remove more message history per activation. (Default: `0.8`)
56
-
57
- **blockAfter?:** (`number`): Token threshold above which synchronous (blocking) observation is forced. Between \`messageTokens\` and \`blockAfter\`, only async buffering/activation is used. Above \`blockAfter\`, a synchronous observation runs as a last resort. Accepts a multiplier (1 < value < 2, multiplied by \`messageTokens\`) or an absolute token count (≥ 2, must be greater than \`messageTokens\`). Only relevant when \`bufferTokens\` is set. Defaults to \`1.2\` when async buffering is enabled. (Default: `1.2 (when bufferTokens is set)`)
58
-
59
- ### Reflection config
60
-
61
- **model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Reflector agent. Cannot be set if a top-level \`model\` is also provided. If neither this nor the top-level \`model\` is set, falls back to \`observation.model\`.
62
-
63
- **instruction?:** (`string`): Custom instruction appended to the Reflector's system prompt. Use this to customize how the Reflector consolidates observations, such as prioritizing certain types of information.
64
-
65
- **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`)
66
-
67
- **modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Reflector agent. (Default: `{ temperature: 0, maxOutputTokens: 100_000 }`)
68
-
69
- **bufferActivation?:** (`number`): Ratio (0-1) controlling when async reflection buffering starts. When observation tokens reach \`observationTokens \* bufferActivation\`, reflection runs in the background. On activation at the full threshold, the buffered reflection replaces the observations it covers, preserving any new observations appended after that range. (Default: `0.5`)
70
-
71
- **blockAfter?:** (`number`): Token threshold above which synchronous (blocking) reflection is forced. Between \`observationTokens\` and \`blockAfter\`, only async buffering/activation is used. Above \`blockAfter\`, a synchronous reflection runs as a last resort. Accepts a multiplier (1 < value < 2, multiplied by \`observationTokens\`) or an absolute token count (≥ 2, must be greater than \`observationTokens\`). Only relevant when \`bufferActivation\` is set. Defaults to \`1.2\` when async reflection is enabled. (Default: `1.2 (when bufferActivation is set)`)
72
-
73
- ### Model settings
74
-
75
- **temperature?:** (`number`): Temperature for generation. Lower values produce more consistent output. (Default: `0.3`)
76
-
77
- **maxOutputTokens?:** (`number`): Maximum output tokens. Set high to prevent truncation of observations. (Default: `100000`)
78
-
79
- ## Examples
80
-
81
- ### Resource scope with custom thresholds (experimental)
82
-
83
- ```typescript
84
- import { Memory } from "@mastra/memory";
85
- import { Agent } from "@mastra/core/agent";
86
-
87
- export const agent = new Agent({
88
- name: "my-agent",
89
- instructions: "You are a helpful assistant.",
90
- model: "openai/gpt-5-mini",
91
- memory: new Memory({
92
- options: {
93
- observationalMemory: {
94
- model: "google/gemini-2.5-flash",
95
- scope: "resource",
96
- observation: {
97
- messageTokens: 20_000,
98
- },
99
- reflection: {
100
- observationTokens: 60_000,
101
- },
102
- },
103
- },
104
- }),
105
- });
106
- ```
107
-
108
- ### Shared token budget
109
-
110
- ```typescript
111
- import { Memory } from "@mastra/memory";
112
- import { Agent } from "@mastra/core/agent";
113
-
114
- export const agent = new Agent({
115
- name: "my-agent",
116
- instructions: "You are a helpful assistant.",
117
- model: "openai/gpt-5-mini",
118
- memory: new Memory({
119
- options: {
120
- observationalMemory: {
121
- shareTokenBudget: true,
122
- observation: {
123
- messageTokens: 20_000,
124
- bufferTokens: false, // required when using shareTokenBudget (temporary limitation)
125
- },
126
- reflection: {
127
- observationTokens: 80_000,
128
- },
129
- },
130
- },
131
- }),
132
- });
133
- ```
134
-
135
- 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.
136
-
137
- ### Custom model
138
-
139
- ```typescript
140
- import { Memory } from "@mastra/memory";
141
- import { Agent } from "@mastra/core/agent";
142
-
143
- export const agent = new Agent({
144
- name: "my-agent",
145
- instructions: "You are a helpful assistant.",
146
- model: "openai/gpt-5-mini",
147
- memory: new Memory({
148
- options: {
149
- observationalMemory: {
150
- model: "openai/gpt-4o-mini",
151
- },
152
- },
153
- }),
154
- });
155
- ```
156
-
157
- ### Different models per agent
158
-
159
- ```typescript
160
- import { Memory } from "@mastra/memory";
161
- import { Agent } from "@mastra/core/agent";
162
-
163
- export const agent = new Agent({
164
- name: "my-agent",
165
- instructions: "You are a helpful assistant.",
166
- model: "openai/gpt-5-mini",
167
- memory: new Memory({
168
- options: {
169
- observationalMemory: {
170
- observation: {
171
- model: "google/gemini-2.5-flash",
172
- },
173
- reflection: {
174
- model: "openai/gpt-4o-mini",
175
- },
176
- },
177
- },
178
- }),
179
- });
180
- ```
181
-
182
- ### Custom instructions
183
-
184
- Customize what the Observer and Reflector focus on by providing custom instructions:
185
-
186
- ```typescript
187
- import { Memory } from "@mastra/memory";
188
- import { Agent } from "@mastra/core/agent";
189
-
190
- export const agent = new Agent({
191
- name: "health-assistant",
192
- instructions: "You are a health and wellness assistant.",
193
- model: "openai/gpt-5-mini",
194
- memory: new Memory({
195
- options: {
196
- observationalMemory: {
197
- model: "google/gemini-2.5-flash",
198
- observation: {
199
- // Focus observations on health-related preferences and goals
200
- instruction:
201
- "Prioritize capturing user health goals, dietary restrictions, exercise preferences, and medical considerations. Avoid capturing general chit-chat.",
202
- },
203
- reflection: {
204
- // Guide reflection to consolidate health patterns
205
- instruction:
206
- "When consolidating, group related health information together. Preserve specific metrics, dates, and medical details.",
207
- },
208
- },
209
- },
210
- }),
211
- });
212
- ```
213
-
214
- ### Async buffering
215
-
216
- Async buffering is **enabled by default**. It pre-computes observations in the background as the conversation grows — when the `messageTokens` threshold is reached, buffered observations activate instantly with no blocking LLM call.
217
-
218
- The lifecycle is: **buffer → activate → remove messages → repeat**. Background Observer calls run at `bufferTokens` intervals, each producing a chunk of observations. At threshold, chunks activate: observations move into the log, raw messages are removed from context. The `blockAfter` threshold forces a synchronous fallback if buffering can't keep up.
219
-
220
- Default settings:
221
-
222
- - `observation.bufferTokens: 0.2` — buffer every 20% of `messageTokens` (e.g. every \~6k tokens with a 30k threshold)
223
- - `observation.bufferActivation: 0.8` — on activation, remove enough messages to keep only 20% of the threshold remaining
224
- - Buffered observations include continuation hints (`suggestedResponse`, `currentTask`) that survive activation to maintain conversational continuity
225
- - `reflection.bufferActivation: 0.5` — start background reflection at 50% of observation threshold
226
-
227
- To customize:
228
-
229
- ```typescript
230
- import { Memory } from "@mastra/memory";
231
- import { Agent } from "@mastra/core/agent";
232
-
233
- export const agent = new Agent({
234
- name: "my-agent",
235
- instructions: "You are a helpful assistant.",
236
- model: "openai/gpt-5-mini",
237
- memory: new Memory({
238
- options: {
239
- observationalMemory: {
240
- model: "google/gemini-2.5-flash",
241
- observation: {
242
- messageTokens: 30_000,
243
- // Buffer every 5k tokens (runs in background)
244
- bufferTokens: 5_000,
245
- // Activate to retain 30% of threshold
246
- bufferActivation: 0.7,
247
- // Force synchronous observation at 1.5x threshold
248
- blockAfter: 1.5,
249
- },
250
- reflection: {
251
- observationTokens: 60_000,
252
- // Start background reflection at 50% of threshold
253
- bufferActivation: 0.5,
254
- // Force synchronous reflection at 1.2x threshold
255
- blockAfter: 1.2,
256
- },
257
- },
258
- },
259
- }),
260
- });
261
- ```
262
-
263
- To disable async buffering entirely:
264
-
265
- ```typescript
266
- observationalMemory: {
267
- model: "google/gemini-2.5-flash",
268
- observation: {
269
- bufferTokens: false,
270
- },
271
- }
272
- ```
273
-
274
- Setting `bufferTokens: false` disables both observation and reflection async buffering. Observations and reflections will run synchronously when their thresholds are reached.
275
-
276
- > **Note:** Async buffering is not supported with `scope: 'resource'` and is automatically disabled in resource scope.
277
-
278
- ## Streaming data parts
279
-
280
- Observational Memory emits typed data parts during agent execution that clients can use for real-time UI feedback. These are streamed alongside the agent's response.
281
-
282
- ### `data-om-status`
283
-
284
- Emitted once per agent loop step, before model generation. Provides a snapshot of the current memory state, including token usage for both context windows and the state of any async buffered content.
285
-
286
- ```typescript
287
- interface DataOmStatusPart {
288
- type: 'data-om-status';
289
- data: {
290
- windows: {
291
- active: {
292
- /** Unobserved message tokens and the threshold that triggers observation */
293
- messages: { tokens: number; threshold: number };
294
- /** Observation tokens and the threshold that triggers reflection */
295
- observations: { tokens: number; threshold: number };
296
- };
297
- buffered: {
298
- observations: {
299
- /** Number of buffered chunks staged for activation */
300
- chunks: number;
301
- /** Total message tokens across all buffered chunks */
302
- messageTokens: number;
303
- /** Projected message tokens that would be removed if activation happened now (based on bufferActivation ratio and chunk boundaries) */
304
- projectedMessageRemoval: number;
305
- /** Observation tokens that will be added on activation */
306
- observationTokens: number;
307
- /** idle: no buffering in progress. running: background observer is working. complete: chunks are ready for activation. */
308
- status: 'idle' | 'running' | 'complete';
309
- };
310
- reflection: {
311
- /** Observation tokens that were fed into the reflector (pre-compression size) */
312
- inputObservationTokens: number;
313
- /** Observation tokens the reflection will produce on activation (post-compression size) */
314
- observationTokens: number;
315
- /** idle: no reflection buffered. running: background reflector is working. complete: reflection is ready for activation. */
316
- status: 'idle' | 'running' | 'complete';
317
- };
318
- };
319
- };
320
- recordId: string;
321
- threadId: string;
322
- stepNumber: number;
323
- /** Increments each time the Reflector creates a new generation */
324
- generationCount: number;
325
- };
326
- }
327
- ```
328
-
329
- `buffered.reflection.inputObservationTokens` is the size of the observations that were sent to the Reflector. `buffered.reflection.observationTokens` is the compressed result — the size of what will replace those observations when the reflection activates. A client can use these two values to show a compression ratio.
330
-
331
- Clients can derive percentages and post-activation estimates from the raw values:
332
-
333
- ```typescript
334
- // Message window usage %
335
- const msgPercent = status.windows.active.messages.tokens
336
- / status.windows.active.messages.threshold;
337
-
338
- // Observation window usage %
339
- const obsPercent = status.windows.active.observations.tokens
340
- / status.windows.active.observations.threshold;
341
-
342
- // Projected message tokens after buffered observations activate
343
- // Uses projectedMessageRemoval which accounts for bufferActivation ratio and chunk boundaries
344
- const postActivation = status.windows.active.messages.tokens
345
- - status.windows.buffered.observations.projectedMessageRemoval;
346
-
347
- // Reflection compression ratio (when buffered reflection exists)
348
- const { inputObservationTokens, observationTokens } = status.windows.buffered.reflection;
349
- if (inputObservationTokens > 0) {
350
- const compressionRatio = observationTokens / inputObservationTokens;
351
- }
352
- ```
353
-
354
- ### `data-om-observation-start`
355
-
356
- Emitted when the Observer or Reflector agent begins processing.
357
-
358
- **cycleId:** (`string`): Unique ID for this cycle — shared between start/end/failed markers.
359
-
360
- **operationType:** (`'observation' | 'reflection'`): Whether this is an observation or reflection operation.
361
-
362
- **startedAt:** (`string`): ISO timestamp when processing started.
363
-
364
- **tokensToObserve:** (`number`): Message tokens (input) being processed in this batch.
365
-
366
- **recordId:** (`string`): The OM record ID.
367
-
368
- **threadId:** (`string`): This thread's ID.
369
-
370
- **threadIds:** (`string[]`): All thread IDs in this batch (for resource-scoped).
371
-
372
- **config:** (`ObservationMarkerConfig`): Snapshot of \`messageTokens\`, \`observationTokens\`, and \`scope\` at observation time.
373
-
374
- ### `data-om-observation-end`
375
-
376
- Emitted when observation or reflection completes successfully.
377
-
378
- **cycleId:** (`string`): Matches the corresponding \`start\` marker.
379
-
380
- **operationType:** (`'observation' | 'reflection'`): Type of operation that completed.
381
-
382
- **completedAt:** (`string`): ISO timestamp when processing completed.
383
-
384
- **durationMs:** (`number`): Duration in milliseconds.
385
-
386
- **tokensObserved:** (`number`): Message tokens (input) that were processed.
387
-
388
- **observationTokens:** (`number`): Resulting observation tokens (output) after the Observer compressed them.
389
-
390
- **observations?:** (`string`): The generated observations text.
391
-
392
- **currentTask?:** (`string`): Current task extracted by the Observer.
393
-
394
- **suggestedResponse?:** (`string`): Suggested response extracted by the Observer.
395
-
396
- **recordId:** (`string`): The OM record ID.
397
-
398
- **threadId:** (`string`): This thread's ID.
399
-
400
- ### `data-om-observation-failed`
401
-
402
- Emitted when observation or reflection fails. The system falls back to synchronous processing.
403
-
404
- **cycleId:** (`string`): Matches the corresponding \`start\` marker.
405
-
406
- **operationType:** (`'observation' | 'reflection'`): Type of operation that failed.
407
-
408
- **failedAt:** (`string`): ISO timestamp when the failure occurred.
409
-
410
- **durationMs:** (`number`): Duration until failure in milliseconds.
411
-
412
- **tokensAttempted:** (`number`): Message tokens (input) that were attempted.
413
-
414
- **error:** (`string`): Error message.
415
-
416
- **observations?:** (`string`): Any partial content available for display.
417
-
418
- **recordId:** (`string`): The OM record ID.
419
-
420
- **threadId:** (`string`): This thread's ID.
421
-
422
- ### `data-om-buffering-start`
423
-
424
- Emitted when async buffering begins in the background. Buffering pre-computes observations or reflections before the main threshold is reached.
425
-
426
- **cycleId:** (`string`): Unique ID for this buffering cycle.
427
-
428
- **operationType:** (`'observation' | 'reflection'`): Type of operation being buffered.
429
-
430
- **startedAt:** (`string`): ISO timestamp when buffering started.
431
-
432
- **tokensToBuffer:** (`number`): Message tokens (input) being buffered in this cycle.
433
-
434
- **recordId:** (`string`): The OM record ID.
435
-
436
- **threadId:** (`string`): This thread's ID.
437
-
438
- **threadIds:** (`string[]`): All thread IDs being buffered (for resource-scoped).
439
-
440
- **config:** (`ObservationMarkerConfig`): Snapshot of config at buffering time.
441
-
442
- ### `data-om-buffering-end`
443
-
444
- Emitted when async buffering completes. The content is stored but not yet activated in the main context.
445
-
446
- **cycleId:** (`string`): Matches the corresponding \`buffering-start\` marker.
447
-
448
- **operationType:** (`'observation' | 'reflection'`): Type of operation that was buffered.
449
-
450
- **completedAt:** (`string`): ISO timestamp when buffering completed.
451
-
452
- **durationMs:** (`number`): Duration in milliseconds.
453
-
454
- **tokensBuffered:** (`number`): Message tokens (input) that were buffered.
455
-
456
- **bufferedTokens:** (`number`): Observation tokens (output) after the Observer compressed them.
457
-
458
- **observations?:** (`string`): The buffered content.
459
-
460
- **recordId:** (`string`): The OM record ID.
461
-
462
- **threadId:** (`string`): This thread's ID.
463
-
464
- ### `data-om-buffering-failed`
465
-
466
- Emitted when async buffering fails. The system falls back to synchronous processing when the threshold is reached.
467
-
468
- **cycleId:** (`string`): Matches the corresponding \`buffering-start\` marker.
469
-
470
- **operationType:** (`'observation' | 'reflection'`): Type of operation that failed.
471
-
472
- **failedAt:** (`string`): ISO timestamp when the failure occurred.
473
-
474
- **durationMs:** (`number`): Duration until failure in milliseconds.
475
-
476
- **tokensAttempted:** (`number`): Message tokens (input) that were attempted to buffer.
477
-
478
- **error:** (`string`): Error message.
479
-
480
- **observations?:** (`string`): Any partial content.
481
-
482
- **recordId:** (`string`): The OM record ID.
483
-
484
- **threadId:** (`string`): This thread's ID.
485
-
486
- ### `data-om-activation`
487
-
488
- Emitted when buffered observations or reflections are activated (moved into the active context window). This is an instant operation — no LLM call is involved.
489
-
490
- **cycleId:** (`string`): Unique ID for this activation event.
491
-
492
- **operationType:** (`'observation' | 'reflection'`): Type of content activated.
493
-
494
- **activatedAt:** (`string`): ISO timestamp when activation occurred.
495
-
496
- **chunksActivated:** (`number`): Number of buffered chunks activated.
497
-
498
- **tokensActivated:** (`number`): Message tokens (input) from activated chunks. For observation activation, these are removed from the message window. For reflection activation, this is the observation tokens that were compressed.
499
-
500
- **observationTokens:** (`number`): Resulting observation tokens after activation.
501
-
502
- **messagesActivated:** (`number`): Number of messages that were observed via activation.
503
-
504
- **generationCount:** (`number`): Current reflection generation count.
505
-
506
- **observations?:** (`string`): The activated observations text.
507
-
508
- **recordId:** (`string`): The OM record ID.
509
-
510
- **threadId:** (`string`): This thread's ID.
511
-
512
- **config:** (`ObservationMarkerConfig`): Snapshot of config at activation time.
513
-
514
- ## Standalone usage
515
-
516
- 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)).
517
-
518
- ```typescript
519
- import { ObservationalMemory } from "@mastra/memory/processors";
520
- import { Agent } from "@mastra/core/agent";
521
- import { LibSQLStore } from "@mastra/libsql";
522
-
523
- const storage = new LibSQLStore({
524
- id: "my-storage",
525
- url: "file:./memory.db",
526
- });
527
-
528
- const om = new ObservationalMemory({
529
- storage: storage.stores.memory,
530
- model: "google/gemini-2.5-flash",
531
- scope: "resource",
532
- observation: {
533
- messageTokens: 20_000,
534
- },
535
- reflection: {
536
- observationTokens: 60_000,
537
- },
538
- });
539
-
540
- export const agent = new Agent({
541
- name: "my-agent",
542
- instructions: "You are a helpful assistant.",
543
- model: "openai/gpt-5-mini",
544
- inputProcessors: [om],
545
- outputProcessors: [om],
546
- });
547
- ```
548
-
549
- ### Standalone config
550
-
551
- The standalone `ObservationalMemory` class accepts all the same options as the `observationalMemory` config object above, plus the following:
552
-
553
- **storage:** (`MemoryStorage`): Storage adapter for persisting observations. Must be a MemoryStorage instance (from \`MastraStorage.stores.memory\`).
554
-
555
- **onDebugEvent?:** (`(event: ObservationDebugEvent) => void`): Debug callback for observation events. Called whenever observation-related events occur. Useful for debugging and understanding the observation flow.
556
-
557
- **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`)
558
-
559
- ### Related
560
-
561
- - [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
562
- - [Memory Overview](https://mastra.ai/docs/memory/overview)
563
- - [Memory Class](https://mastra.ai/reference/memory/memory-class)
564
- - [Memory Processors](https://mastra.ai/docs/memory/memory-processors)
565
- - [Processors](https://mastra.ai/docs/agents/processors)
@@ -1,131 +0,0 @@
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