@mastra/mcp-docs-server 0.13.37 → 0.13.38

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 (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Example: Memory with Upstash | Memory | Mastra Docs"
2
+ title: "Memory with Upstash | Memory | Mastra Docs"
3
3
  description: Example for how to use Mastra's memory system with Upstash Redis storage and vector capabilities.
4
4
  ---
5
5
 
@@ -11,7 +11,7 @@ This example demonstrates how to use Mastra's memory system with Upstash as the
11
11
 
12
12
  This example uses the `openai` model and requires both Upstash Redis and Upstash Vector services. Make sure to add the following to your `.env` file:
13
13
 
14
- ```bash filename=".env" copy
14
+ ```bash title=".env" copy
15
15
  OPENAI_API_KEY=<your-api-key>
16
16
  UPSTASH_REDIS_REST_URL=<your-redis-url>
17
17
  UPSTASH_REDIS_REST_TOKEN=<your-redis-token>
@@ -31,7 +31,7 @@ npm install @mastra/upstash
31
31
 
32
32
  To add Upstash memory to an agent use the `Memory` class and create a new `storage` key using `UpstashStore` and a new `vector` key using `UpstashVector`. The configuration can point to either a remote service or a local setup.
33
33
 
34
- ```typescript filename="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
34
+ ```typescript title="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
35
35
  import { Memory } from "@mastra/memory";
36
36
  import { Agent } from "@mastra/core/agent";
37
37
  import { openai } from "@ai-sdk/openai";
@@ -39,23 +39,21 @@ import { UpstashStore } from "@mastra/upstash";
39
39
 
40
40
  export const upstashAgent = new Agent({
41
41
  name: "upstash-agent",
42
- instructions: "You are an AI agent with the ability to automatically recall memories from previous interactions.",
42
+ instructions:
43
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
43
44
  model: openai("gpt-4o"),
44
45
  memory: new Memory({
45
46
  storage: new UpstashStore({
46
47
  url: process.env.UPSTASH_REDIS_REST_URL!,
47
- token: process.env.UPSTASH_REDIS_REST_TOKEN!
48
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
48
49
  }),
49
50
  options: {
50
- threads: {
51
- generateTitle: true
52
- }
53
- }
54
- })
51
+ generateTitle: true,
52
+ },
53
+ }),
55
54
  });
56
55
  ```
57
56
 
58
-
59
57
  ## Local embeddings with fastembed
60
58
 
61
59
  Embeddings are numeric vectors used by memory’s `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
@@ -68,7 +66,7 @@ npm install @mastra/fastembed
68
66
 
69
67
  Add the following to your agent:
70
68
 
71
- ```typescript filename="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
69
+ ```typescript title="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
72
70
  import { Memory } from "@mastra/memory";
73
71
  import { Agent } from "@mastra/core/agent";
74
72
  import { openai } from "@ai-sdk/openai";
@@ -77,26 +75,27 @@ import { fastembed } from "@mastra/fastembed";
77
75
 
78
76
  export const upstashAgent = new Agent({
79
77
  name: "upstash-agent",
80
- instructions: "You are an AI agent with the ability to automatically recall memories from previous interactions.",
78
+ instructions:
79
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
81
80
  model: openai("gpt-4o"),
82
81
  memory: new Memory({
83
82
  storage: new UpstashStore({
84
83
  url: process.env.UPSTASH_REDIS_REST_URL!,
85
- token: process.env.UPSTASH_REDIS_REST_TOKEN!
84
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
86
85
  }),
87
86
  vector: new UpstashVector({
88
87
  url: process.env.UPSTASH_VECTOR_REST_URL!,
89
- token: process.env.UPSTASH_VECTOR_REST_TOKEN!
88
+ token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
90
89
  }),
91
90
  embedder: fastembed,
92
91
  options: {
93
92
  lastMessages: 10,
94
93
  semanticRecall: {
95
94
  topK: 3,
96
- messageRange: 2
97
- }
98
- }
99
- })
95
+ messageRange: 2,
96
+ },
97
+ },
98
+ }),
100
99
  });
101
100
  ```
102
101
 
@@ -104,7 +103,7 @@ export const upstashAgent = new Agent({
104
103
 
105
104
  Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
106
105
 
107
- ```typescript filename="src/test-upstash-agent.ts" showLineNumbers copy
106
+ ```typescript title="src/test-upstash-agent.ts" showLineNumbers copy
108
107
  import "dotenv/config";
109
108
 
110
109
  import { mastra } from "./mastra";
@@ -117,8 +116,8 @@ const agent = mastra.getAgent("upstashAgent");
117
116
  const message = await agent.stream("My name is Mastra", {
118
117
  memory: {
119
118
  thread: threadId,
120
- resource: resourceId
121
- }
119
+ resource: resourceId,
120
+ },
122
121
  });
123
122
 
124
123
  await message.textStream.pipeTo(new WritableStream());
@@ -126,15 +125,15 @@ await message.textStream.pipeTo(new WritableStream());
126
125
  const stream = await agent.stream("What's my name?", {
127
126
  memory: {
128
127
  thread: threadId,
129
- resource: resourceId
128
+ resource: resourceId,
130
129
  },
131
130
  memoryOptions: {
132
131
  lastMessages: 5,
133
132
  semanticRecall: {
134
133
  topK: 3,
135
- messageRange: 2
136
- }
137
- }
134
+ messageRange: 2,
135
+ },
136
+ },
138
137
  });
139
138
 
140
139
  for await (const chunk of stream.textStream) {
@@ -144,4 +143,4 @@ for await (const chunk of stream.textStream) {
144
143
 
145
144
  ## Related
146
145
 
147
- - [Calling Agents](../agents/calling-agents.mdx)
146
+ - [Calling Agents](/examples/agents/calling-agents)
@@ -1,10 +1,8 @@
1
1
  ---
2
- title: "Memory Threads and Resources | Memory | Mastra Docs"
2
+ title: "Memory threads and resources | Memory | Mastra Docs"
3
3
  description: "Learn how Mastra's memory system works with working memory, conversation history, and semantic recall."
4
4
  ---
5
5
 
6
- import { Callout } from "nextra/components";
7
-
8
6
  # Memory threads and resources
9
7
 
10
8
  Mastra organizes memory into threads, which are records that group related interactions, using two identifiers:
@@ -12,26 +10,28 @@ Mastra organizes memory into threads, which are records that group related inter
12
10
  1. **`thread`**: A globally unique ID representing the conversation (e.g., `support_123`). Must be unique across all resources.
13
11
  2. **`resource`**: The user or entity that owns the thread (e.g., `user_123`, `org_456`).
14
12
 
15
- The `resource` is especially important for [resource-scoped memory](./working-memory.mdx#resource-scoped-memory), which allows memory to persist across all threads associated with the same user or entity.
13
+ The `resource` is especially important for [resource-scoped memory](./working-memory#resource-scoped-memory), which allows memory to persist across all threads associated with the same user or entity.
16
14
 
17
15
  ```typescript {4} showLineNumbers
18
16
  const stream = await agent.stream("message for agent", {
19
17
  memory: {
20
18
  thread: "user-123",
21
- resource: "test-123"
22
- }
19
+ resource: "test-123",
20
+ },
23
21
  });
24
22
  ```
25
23
 
26
- <Callout type="warning">
24
+ :::warning
25
+
27
26
  Even with memory configured, agents won’t store or recall information unless both `thread` and `resource` are provided.
28
- </Callout>
27
+
28
+ :::
29
29
 
30
30
  > Mastra Playground sets `thread` and `resource` IDs automatically. In your own application, you must provide them manually as part of each `.generate()` or `.stream()` call.
31
31
 
32
32
  ### Thread title generation
33
33
 
34
- Mastra can automatically generate descriptive thread titles based on the user's first message. Enable this by setting `generateTitle` to `true`. This improves organization and makes it easier to display conversations in your UI.
34
+ Mastra can automatically generate descriptive thread titles based on the user's first message. Enable it by setting `generateTitle` to `true`. This improves organization and makes it easier to display conversations in your UI.
35
35
 
36
36
  ```typescript {3-7} showLineNumbers
37
37
  export const testAgent = new Agent({
@@ -41,11 +41,11 @@ export const testAgent = new Agent({
41
41
  generateTitle: true,
42
42
  }
43
43
  },
44
- })
44
+ }),
45
45
  });
46
46
  ```
47
47
 
48
- > Title generation runs asynchronously after the agent responds and does not affect response time. See the [full configuration reference](../../reference/memory/Memory.mdx#thread-title-generation) for details and examples.
48
+ > Title generation runs asynchronously after the agent responds and does not affect response time. See the [full configuration reference](/reference/memory/memory-class) for details and examples.
49
49
 
50
50
  #### Optimizing title generation
51
51
 
@@ -59,11 +59,12 @@ export const testAgent = new Agent({
59
59
  threads: {
60
60
  generateTitle: {
61
61
  model: openai("gpt-4.1-nano"),
62
- instructions: "Generate a concise title based on the user's first message",
62
+ instructions:
63
+ "Generate a concise title based on the user's first message",
63
64
  },
64
65
  },
65
- }
66
- })
66
+ },
67
+ }),
67
68
  });
68
69
  ```
69
70
 
@@ -80,15 +81,17 @@ export const testAgent = new Agent({
80
81
  generateTitle: {
81
82
  model: ({ runtimeContext }) => {
82
83
  const userTier = runtimeContext.get("userTier");
83
- return userTier === "premium" ? openai("gpt-4.1") : openai("gpt-4.1-nano");
84
+ return userTier === "premium"
85
+ ? openai("gpt-4.1")
86
+ : openai("gpt-4.1-nano");
84
87
  },
85
88
  instructions: ({ runtimeContext }) => {
86
89
  const language = runtimeContext.get("userLanguage") || "English";
87
90
  return `Generate a concise, engaging title in ${language} based on the user's first message.`;
88
- }
89
- }
90
- }
91
- }
92
- })
91
+ },
92
+ },
93
+ },
94
+ },
95
+ }),
93
96
  });
94
97
  ```
@@ -3,23 +3,23 @@ title: "Working Memory | Memory | Mastra Docs"
3
3
  description: "Learn how to configure working memory in Mastra to store persistent user data, preferences."
4
4
  ---
5
5
 
6
- import YouTube from "@/components/youtube";
6
+ import Youtube from "@site/src/components/YouTube-player";
7
7
 
8
8
  # Working Memory
9
9
 
10
- While [conversation history](/docs/memory/overview#conversation-history) and [semantic recall](./semantic-recall.mdx) help agents remember conversations, working memory allows them to maintain persistent information about users across interactions.
10
+ While [conversation history](/docs/memory/conversation-history) and [semantic recall](./semantic-recall) help agents remember conversations, working memory allows them to maintain persistent information about users across interactions.
11
11
 
12
12
  Think of it as the agent's active thoughts or scratchpad – the key information they keep available about the user or task. It's similar to how a person would naturally remember someone's name, preferences, or important details during a conversation.
13
13
 
14
14
  This is useful for maintaining ongoing state that's always relevant and should always be available to the agent.
15
15
 
16
16
  Working memory can persist at two different scopes:
17
+
17
18
  - **Thread-scoped** (default): Memory is isolated per conversation thread
18
19
  - **Resource-scoped**: Memory persists across all conversation threads for the same user
19
20
 
20
21
  **Important:** Switching between scopes means the agent won't see memory from the other scope - thread-scoped memory is completely separate from resource-scoped memory.
21
22
 
22
-
23
23
  ## Quick Start
24
24
 
25
25
  Here's a minimal example of setting up an agent with working memory:
@@ -90,13 +90,11 @@ const memory = new Memory({
90
90
  options: {
91
91
  workingMemory: {
92
92
  enabled: true,
93
- scope: 'resource', // Memory persists across all user threads
93
+ scope: "thread", // Memory is isolated per thread
94
94
  template: `# User Profile
95
95
  - **Name**:
96
- - **Location**:
97
96
  - **Interests**:
98
- - **Preferences**:
99
- - **Long-term Goals**:
97
+ - **Current Goal**:
100
98
  `,
101
99
  },
102
100
  },
@@ -104,27 +102,17 @@ const memory = new Memory({
104
102
  ```
105
103
 
106
104
  **Use cases:**
107
- - Personal assistants that remember user preferences
108
- - Customer service bots that maintain customer context
109
- - Educational applications that track student progress
110
-
111
- ### Usage with Agents
112
-
113
- When using resource-scoped memory, make sure to pass the `resourceId` parameter:
114
105
 
115
- ```typescript
116
- // Resource-scoped memory requires resourceId
117
- const response = await agent.generate("Hello!", {
118
- threadId: "conversation-123",
119
- resourceId: "user-alice-456" // Same user across different threads
120
- });
121
- ```
106
+ - Different conversations about separate topics
107
+ - Temporary or session-specific information
108
+ - Workflows where each thread needs working memory but threads are ephemeral and not related to each other
122
109
 
123
110
  ## Storage Adapter Support
124
111
 
125
112
  Resource-scoped working memory requires specific storage adapters that support the `mastra_resources` table:
126
113
 
127
114
  ### ✅ Supported Storage Adapters
115
+
128
116
  - **LibSQL** (`@mastra/libsql`)
129
117
  - **PostgreSQL** (`@mastra/pg`)
130
118
  - **Upstash** (`@mastra/upstash`)
@@ -222,18 +210,20 @@ Working memory can also be defined using a structured schema instead of a Markdo
222
210
  ### Example: Schema-Based Working Memory
223
211
 
224
212
  ```typescript
225
- import { z } from 'zod';
226
- import { Memory } from '@mastra/memory';
213
+ import { z } from "zod";
214
+ import { Memory } from "@mastra/memory";
227
215
 
228
216
  const userProfileSchema = z.object({
229
217
  name: z.string().optional(),
230
218
  location: z.string().optional(),
231
219
  timezone: z.string().optional(),
232
- preferences: z.object({
233
- communicationStyle: z.string().optional(),
234
- projectGoal: z.string().optional(),
235
- deadlines: z.array(z.string()).optional(),
236
- }).optional(),
220
+ preferences: z
221
+ .object({
222
+ communicationStyle: z.string().optional(),
223
+ projectGoal: z.string().optional(),
224
+ deadlines: z.array(z.string()).optional(),
225
+ })
226
+ .optional(),
237
227
  });
238
228
 
239
229
  const memory = new Memory({
@@ -311,7 +301,7 @@ While agents typically update working memory through the `updateWorkingMemory` t
311
301
 
312
302
  When creating a thread, you can provide initial working memory through the metadata's `workingMemory` key:
313
303
 
314
- ```typescript filename="src/app/medical-consultation.ts" showLineNumbers copy
304
+ ```typescript title="src/app/medical-consultation.ts" showLineNumbers copy
315
305
  // Create a thread with initial working memory
316
306
  const thread = await memory.createThread({
317
307
  threadId: "thread-123",
@@ -324,14 +314,14 @@ const thread = await memory.createThread({
324
314
  - Allergies: Penicillin
325
315
  - Current Medications: None
326
316
  - Medical History: Hypertension (controlled)
327
- `
328
- }
317
+ `,
318
+ },
329
319
  });
330
320
 
331
321
  // The agent will now have access to this information in all messages
332
322
  await agent.generate("What's my blood type?", {
333
323
  threadId: thread.id,
334
- resourceId: "user-456"
324
+ resourceId: "user-456",
335
325
  });
336
326
  // Response: "Your blood type is O+."
337
327
  ```
@@ -340,7 +330,7 @@ await agent.generate("What's my blood type?", {
340
330
 
341
331
  You can also update an existing thread's working memory:
342
332
 
343
- ```typescript filename="src/app/medical-consultation.ts" showLineNumbers copy
333
+ ```typescript title="src/app/medical-consultation.ts" showLineNumbers copy
344
334
  // Update thread metadata to add/modify working memory
345
335
  await memory.updateThread({
346
336
  id: "thread-123",
@@ -353,8 +343,8 @@ await memory.updateThread({
353
343
  - Allergies: Penicillin, Ibuprofen // Updated
354
344
  - Current Medications: Lisinopril 10mg daily // Added
355
345
  - Medical History: Hypertension (controlled)
356
- `
357
- }
346
+ `,
347
+ },
358
348
  });
359
349
  ```
360
350
 
@@ -362,17 +352,16 @@ await memory.updateThread({
362
352
 
363
353
  Alternatively, use the `updateWorkingMemory` method directly:
364
354
 
365
- ```typescript filename="src/app/medical-consultation.ts" showLineNumbers copy
355
+ ```typescript title="src/app/medical-consultation.ts" showLineNumbers copy
366
356
  await memory.updateWorkingMemory({
367
357
  threadId: "thread-123",
368
358
  resourceId: "user-456", // Required for resource-scoped memory
369
- workingMemory: "Updated memory content..."
359
+ workingMemory: "Updated memory content...",
370
360
  });
371
361
  ```
372
362
 
373
363
  ## Examples
374
364
 
375
- - [Basic working memory](/examples/memory/working-memory-basic)
376
365
  - [Working memory with template](/examples/memory/working-memory-template)
377
366
  - [Working memory with schema](/examples/memory/working-memory-schema)
378
367
  - [Per-resource working memory](https://github.com/mastra-ai/mastra/tree/main/examples/memory-per-resource-example) - Complete example showing resource-scoped memory persistence
@@ -3,8 +3,6 @@ title: "Arize Exporter | AI Tracing | Observability | Mastra Docs"
3
3
  description: "Send AI traces to Arize Phoenix or Arize AX using OpenTelemetry and OpenInference"
4
4
  ---
5
5
 
6
- import { Callout } from "nextra/components";
7
-
8
6
  # Arize Exporter
9
7
 
10
8
  [Arize](https://arize.com/) provides observability platforms for AI applications through [Phoenix](https://phoenix.arize.com/) (open-source) and [Arize AX](https://arize.com/generative-ai/) (enterprise). The Arize exporter sends AI traces using OpenTelemetry and [OpenInference](https://github.com/Arize-ai/openinference/tree/main/spec) semantic conventions, compatible with any OpenTelemetry platform that supports OpenInference.
@@ -12,6 +10,7 @@ import { Callout } from "nextra/components";
12
10
  ## When to Use Arize
13
11
 
14
12
  Arize is ideal when you need:
13
+
15
14
  - **OpenInference standards** - Industry-standard semantic conventions for AI traces
16
15
  - **Flexible deployment** - Self-hosted Phoenix or managed Arize AX
17
16
  - **OpenTelemetry compatibility** - Works with any OTLP-compatible platform
@@ -37,7 +36,7 @@ Phoenix is an open-source observability platform that can be self-hosted or used
37
36
  3. **API Key**: Optional for unauthenticated instances, required for Phoenix Cloud
38
37
  4. **Environment Variables**: Set your configuration
39
38
 
40
- ```bash filename=".env"
39
+ ```bash title=".env"
41
40
  PHOENIX_ENDPOINT=http://localhost:6006/v1/traces # Or your Phoenix Cloud URL
42
41
  PHOENIX_API_KEY=your-api-key # Optional for local instances
43
42
  PHOENIX_PROJECT_NAME=mastra-service # Optional, defaults to 'mastra-service'
@@ -45,7 +44,7 @@ PHOENIX_PROJECT_NAME=mastra-service # Optional, defaults to 'mastra-service'
45
44
 
46
45
  #### Basic Setup
47
46
 
48
- ```typescript filename="src/mastra/index.ts"
47
+ ```typescript title="src/mastra/index.ts"
49
48
  import { Mastra } from "@mastra/core";
50
49
  import { ArizeExporter } from "@mastra/arize";
51
50
 
@@ -53,7 +52,7 @@ export const mastra = new Mastra({
53
52
  observability: {
54
53
  configs: {
55
54
  arize: {
56
- serviceName: process.env.PHOENIX_PROJECT_NAME || 'mastra-service',
55
+ serviceName: process.env.PHOENIX_PROJECT_NAME || "mastra-service",
57
56
  exporters: [
58
57
  new ArizeExporter({
59
58
  endpoint: process.env.PHOENIX_ENDPOINT!,
@@ -67,7 +66,8 @@ export const mastra = new Mastra({
67
66
  });
68
67
  ```
69
68
 
70
- <Callout type="info">
69
+ :::info
70
+
71
71
  **Quick Start with Docker**
72
72
 
73
73
  Test locally with an in-memory Phoenix instance:
@@ -79,7 +79,8 @@ docker run --pull=always -d --name arize-phoenix -p 6006:6006 \
79
79
  ```
80
80
 
81
81
  Set `PHOENIX_ENDPOINT=http://localhost:6006/v1/traces` and run your Mastra agent to see traces at [localhost:6006](http://localhost:6006).
82
- </Callout>
82
+
83
+ :::
83
84
 
84
85
  ### Arize AX Setup
85
86
 
@@ -92,7 +93,7 @@ Arize AX is an enterprise observability platform with advanced features for prod
92
93
  3. **API Key**: Generate in Arize AX settings
93
94
  4. **Environment Variables**: Set your credentials
94
95
 
95
- ```bash filename=".env"
96
+ ```bash title=".env"
96
97
  ARIZE_SPACE_ID=your-space-id
97
98
  ARIZE_API_KEY=your-api-key
98
99
  ARIZE_PROJECT_NAME=mastra-service # Optional
@@ -100,7 +101,7 @@ ARIZE_PROJECT_NAME=mastra-service # Optional
100
101
 
101
102
  #### Basic Setup
102
103
 
103
- ```typescript filename="src/mastra/index.ts"
104
+ ```typescript title="src/mastra/index.ts"
104
105
  import { Mastra } from "@mastra/core";
105
106
  import { ArizeExporter } from "@mastra/arize";
106
107
 
@@ -108,7 +109,7 @@ export const mastra = new Mastra({
108
109
  observability: {
109
110
  configs: {
110
111
  arize: {
111
- serviceName: process.env.ARIZE_PROJECT_NAME || 'mastra-service',
112
+ serviceName: process.env.ARIZE_PROJECT_NAME || "mastra-service",
112
113
  exporters: [
113
114
  new ArizeExporter({
114
115
  apiKey: process.env.ARIZE_API_KEY!,
@@ -131,31 +132,31 @@ The Arize exporter supports advanced configuration for fine-tuning OpenTelemetry
131
132
  ```typescript
132
133
  new ArizeExporter({
133
134
  // Phoenix Configuration
134
- endpoint: 'https://your-collector.example.com/v1/traces', // Required for Phoenix
135
+ endpoint: "https://your-collector.example.com/v1/traces", // Required for Phoenix
135
136
 
136
137
  // Arize AX Configuration
137
- spaceId: 'your-space-id', // Required for Arize AX
138
+ spaceId: "your-space-id", // Required for Arize AX
138
139
 
139
140
  // Shared Configuration
140
- apiKey: 'your-api-key', // Required for authenticated endpoints
141
- projectName: 'mastra-service', // Optional project name
141
+ apiKey: "your-api-key", // Required for authenticated endpoints
142
+ projectName: "mastra-service", // Optional project name
142
143
 
143
144
  // Optional OTLP settings
144
145
  headers: {
145
- 'x-custom-header': 'value', // Additional headers for OTLP requests
146
+ "x-custom-header": "value", // Additional headers for OTLP requests
146
147
  },
147
148
 
148
149
  // Debug and performance tuning
149
- logLevel: 'debug', // Logging: debug | info | warn | error
150
- batchSize: 512, // Batch size before exporting spans
151
- timeout: 30000, // Timeout in ms before exporting spans
150
+ logLevel: "debug", // Logging: debug | info | warn | error
151
+ batchSize: 512, // Batch size before exporting spans
152
+ timeout: 30000, // Timeout in ms before exporting spans
152
153
 
153
154
  // Custom resource attributes
154
155
  resourceAttributes: {
155
- 'deployment.environment': process.env.NODE_ENV,
156
- 'service.version': process.env.APP_VERSION,
156
+ "deployment.environment": process.env.NODE_ENV,
157
+ "service.version": process.env.APP_VERSION,
157
158
  },
158
- })
159
+ });
159
160
  ```
160
161
 
161
162
  ### Batch Processing Options
@@ -168,9 +169,9 @@ new ArizeExporter({
168
169
  apiKey: process.env.PHOENIX_API_KEY,
169
170
 
170
171
  // Batch processing configuration
171
- batchSize: 512, // Number of spans to batch (default: 512)
172
- timeout: 30000, // Max time in ms to wait before export (default: 30000)
173
- })
172
+ batchSize: 512, // Number of spans to batch (default: 512)
173
+ timeout: 30000, // Max time in ms to wait before export (default: 30000)
174
+ });
174
175
  ```
175
176
 
176
177
  ### Resource Attributes
@@ -181,12 +182,12 @@ Add custom attributes to all exported spans:
181
182
  new ArizeExporter({
182
183
  endpoint: process.env.PHOENIX_ENDPOINT!,
183
184
  resourceAttributes: {
184
- 'deployment.environment': process.env.NODE_ENV,
185
- 'service.namespace': 'production',
186
- 'service.instance.id': process.env.HOSTNAME,
187
- 'custom.attribute': 'value',
185
+ "deployment.environment": process.env.NODE_ENV,
186
+ "service.namespace": "production",
187
+ "service.instance.id": process.env.HOSTNAME,
188
+ "custom.attribute": "value",
188
189
  },
189
- })
190
+ });
190
191
  ```
191
192
 
192
193
  ## OpenInference Semantic Conventions
@@ -3,8 +3,6 @@ title: "Braintrust Exporter | AI Tracing | Observability | Mastra Docs"
3
3
  description: "Send AI traces to Braintrust for evaluation and monitoring"
4
4
  ---
5
5
 
6
- import { Callout } from "nextra/components";
7
-
8
6
  # Braintrust Exporter
9
7
 
10
8
  [Braintrust](https://www.braintrust.dev/) is an evaluation and monitoring platform that helps you measure and improve LLM application quality. The Braintrust exporter sends your AI traces to Braintrust, enabling systematic evaluation, scoring, and experimentation.
@@ -12,6 +10,7 @@ import { Callout } from "nextra/components";
12
10
  ## When to Use Braintrust
13
11
 
14
12
  Braintrust excels at:
13
+
15
14
  - **Evaluation workflows** - Systematic quality measurement
16
15
  - **Experiment tracking** - Compare model versions and prompts
17
16
  - **Dataset management** - Curate test cases and golden datasets
@@ -33,14 +32,14 @@ npm install @mastra/braintrust
33
32
  3. **API Key**: Generate in Braintrust Settings → API Keys
34
33
  4. **Environment Variables**: Set your credentials:
35
34
 
36
- ```bash filename=".env"
35
+ ```bash title=".env"
37
36
  BRAINTRUST_API_KEY=sk-xxxxxxxxxxxxxxxx
38
37
  BRAINTRUST_PROJECT_NAME=my-project # Optional, defaults to 'mastra-tracing'
39
38
  ```
40
39
 
41
40
  ### Basic Setup
42
41
 
43
- ```typescript filename="src/mastra/index.ts"
42
+ ```typescript title="src/mastra/index.ts"
44
43
  import { Mastra } from "@mastra/core";
45
44
  import { BraintrustExporter } from "@mastra/braintrust";
46
45
 
@@ -48,7 +47,7 @@ export const mastra = new Mastra({
48
47
  observability: {
49
48
  configs: {
50
49
  braintrust: {
51
- serviceName: 'my-service',
50
+ serviceName: "my-service",
52
51
  exporters: [
53
52
  new BraintrustExporter({
54
53
  apiKey: process.env.BRAINTRUST_API_KEY,
@@ -69,10 +68,10 @@ new BraintrustExporter({
69
68
  apiKey: process.env.BRAINTRUST_API_KEY!,
70
69
 
71
70
  // Optional settings
72
- projectName: 'my-project', // Default: 'mastra-tracing'
73
- endpoint: 'https://api.braintrust.dev', // Custom endpoint if needed
74
- logLevel: 'info', // Diagnostic logging: debug | info | warn | error
75
- })
71
+ projectName: "my-project", // Default: 'mastra-tracing'
72
+ endpoint: "https://api.braintrust.dev", // Custom endpoint if needed
73
+ logLevel: "info", // Diagnostic logging: debug | info | warn | error
74
+ });
76
75
  ```
77
76
 
78
77
  ## Related