@mastra/mcp-docs-server 1.1.5 → 1.1.6

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 (556) hide show
  1. package/.docs/docs/agents/adding-voice.md +349 -0
  2. package/.docs/docs/agents/agent-approval.md +558 -0
  3. package/.docs/docs/agents/agent-memory.md +209 -0
  4. package/.docs/docs/agents/guardrails.md +374 -0
  5. package/.docs/docs/agents/network-approval.md +275 -0
  6. package/.docs/docs/agents/networks.md +299 -0
  7. package/.docs/docs/agents/overview.md +304 -0
  8. package/.docs/docs/agents/processors.md +622 -0
  9. package/.docs/docs/agents/structured-output.md +273 -0
  10. package/.docs/docs/agents/supervisor-agents.md +304 -0
  11. package/.docs/docs/agents/using-tools.md +214 -0
  12. package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
  13. package/.docs/docs/build-with-ai/skills.md +35 -0
  14. package/.docs/docs/community/contributing-templates.md +3 -0
  15. package/.docs/docs/community/discord.md +9 -0
  16. package/.docs/docs/community/licensing.md +66 -0
  17. package/.docs/docs/deployment/cloud-providers.md +15 -0
  18. package/.docs/docs/deployment/mastra-server.md +122 -0
  19. package/.docs/docs/deployment/monorepo.md +142 -0
  20. package/.docs/docs/deployment/overview.md +62 -0
  21. package/.docs/docs/deployment/studio.md +239 -0
  22. package/.docs/docs/deployment/web-framework.md +52 -0
  23. package/.docs/docs/deployment/workflow-runners.md +9 -0
  24. package/.docs/docs/evals/built-in-scorers.md +47 -0
  25. package/.docs/docs/evals/custom-scorers.md +519 -0
  26. package/.docs/docs/evals/overview.md +141 -0
  27. package/.docs/docs/evals/running-in-ci.md +124 -0
  28. package/.docs/docs/getting-started/build-with-ai.md +68 -0
  29. package/.docs/docs/getting-started/manual-install.md +226 -0
  30. package/.docs/docs/getting-started/project-structure.md +60 -0
  31. package/.docs/docs/getting-started/start.md +28 -0
  32. package/.docs/docs/getting-started/studio.md +101 -0
  33. package/.docs/docs/index.md +43 -0
  34. package/.docs/docs/mastra-cloud/deployment.md +77 -0
  35. package/.docs/docs/mastra-cloud/observability.md +38 -0
  36. package/.docs/docs/mastra-cloud/overview.md +23 -0
  37. package/.docs/docs/mastra-cloud/setup.md +42 -0
  38. package/.docs/docs/mastra-cloud/studio.md +24 -0
  39. package/.docs/docs/mastra-code/configuration.md +299 -0
  40. package/.docs/docs/mastra-code/customization.md +228 -0
  41. package/.docs/docs/mastra-code/modes.md +104 -0
  42. package/.docs/docs/mastra-code/overview.md +135 -0
  43. package/.docs/docs/mastra-code/tools.md +229 -0
  44. package/.docs/docs/mcp/overview.md +373 -0
  45. package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
  46. package/.docs/docs/memory/memory-processors.md +314 -0
  47. package/.docs/docs/memory/message-history.md +260 -0
  48. package/.docs/docs/memory/observational-memory.md +248 -0
  49. package/.docs/docs/memory/overview.md +45 -0
  50. package/.docs/docs/memory/semantic-recall.md +272 -0
  51. package/.docs/docs/memory/storage.md +261 -0
  52. package/.docs/docs/memory/working-memory.md +400 -0
  53. package/.docs/docs/observability/datasets/overview.md +198 -0
  54. package/.docs/docs/observability/datasets/running-experiments.md +274 -0
  55. package/.docs/docs/observability/logging.md +99 -0
  56. package/.docs/docs/observability/overview.md +70 -0
  57. package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
  58. package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
  59. package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
  60. package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
  61. package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
  62. package/.docs/docs/observability/tracing/exporters/default.md +209 -0
  63. package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
  64. package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
  65. package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
  66. package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
  67. package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
  68. package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
  69. package/.docs/docs/observability/tracing/overview.md +1112 -0
  70. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
  71. package/.docs/docs/rag/chunking-and-embedding.md +183 -0
  72. package/.docs/docs/rag/graph-rag.md +215 -0
  73. package/.docs/docs/rag/overview.md +72 -0
  74. package/.docs/docs/rag/retrieval.md +515 -0
  75. package/.docs/docs/rag/vector-databases.md +645 -0
  76. package/.docs/docs/server/auth/auth0.md +220 -0
  77. package/.docs/docs/server/auth/better-auth.md +203 -0
  78. package/.docs/docs/server/auth/clerk.md +132 -0
  79. package/.docs/docs/server/auth/composite-auth.md +234 -0
  80. package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
  81. package/.docs/docs/server/auth/firebase.md +272 -0
  82. package/.docs/docs/server/auth/jwt.md +110 -0
  83. package/.docs/docs/server/auth/simple-auth.md +180 -0
  84. package/.docs/docs/server/auth/supabase.md +117 -0
  85. package/.docs/docs/server/auth/workos.md +186 -0
  86. package/.docs/docs/server/auth.md +38 -0
  87. package/.docs/docs/server/custom-adapters.md +378 -0
  88. package/.docs/docs/server/custom-api-routes.md +267 -0
  89. package/.docs/docs/server/mastra-client.md +243 -0
  90. package/.docs/docs/server/mastra-server.md +71 -0
  91. package/.docs/docs/server/middleware.md +225 -0
  92. package/.docs/docs/server/request-context.md +471 -0
  93. package/.docs/docs/server/server-adapters.md +547 -0
  94. package/.docs/docs/streaming/events.md +237 -0
  95. package/.docs/docs/streaming/overview.md +175 -0
  96. package/.docs/docs/streaming/tool-streaming.md +175 -0
  97. package/.docs/docs/streaming/workflow-streaming.md +109 -0
  98. package/.docs/docs/voice/overview.md +959 -0
  99. package/.docs/docs/voice/speech-to-speech.md +102 -0
  100. package/.docs/docs/voice/speech-to-text.md +79 -0
  101. package/.docs/docs/voice/text-to-speech.md +83 -0
  102. package/.docs/docs/workflows/agents-and-tools.md +166 -0
  103. package/.docs/docs/workflows/control-flow.md +822 -0
  104. package/.docs/docs/workflows/error-handling.md +360 -0
  105. package/.docs/docs/workflows/human-in-the-loop.md +215 -0
  106. package/.docs/docs/workflows/overview.md +370 -0
  107. package/.docs/docs/workflows/snapshots.md +238 -0
  108. package/.docs/docs/workflows/suspend-and-resume.md +205 -0
  109. package/.docs/docs/workflows/time-travel.md +309 -0
  110. package/.docs/docs/workflows/workflow-state.md +181 -0
  111. package/.docs/docs/workspace/filesystem.md +164 -0
  112. package/.docs/docs/workspace/overview.md +239 -0
  113. package/.docs/docs/workspace/sandbox.md +63 -0
  114. package/.docs/docs/workspace/search.md +243 -0
  115. package/.docs/docs/workspace/skills.md +169 -0
  116. package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
  117. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
  118. package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
  119. package/.docs/guides/build-your-ui/copilotkit.md +289 -0
  120. package/.docs/guides/deployment/amazon-ec2.md +130 -0
  121. package/.docs/guides/deployment/aws-lambda.md +248 -0
  122. package/.docs/guides/deployment/azure-app-services.md +114 -0
  123. package/.docs/guides/deployment/cloudflare.md +99 -0
  124. package/.docs/guides/deployment/digital-ocean.md +168 -0
  125. package/.docs/guides/deployment/inngest.md +682 -0
  126. package/.docs/guides/deployment/netlify.md +77 -0
  127. package/.docs/guides/deployment/vercel.md +101 -0
  128. package/.docs/guides/getting-started/astro.md +398 -0
  129. package/.docs/guides/getting-started/electron.md +504 -0
  130. package/.docs/guides/getting-started/express.md +251 -0
  131. package/.docs/guides/getting-started/hono.md +190 -0
  132. package/.docs/guides/getting-started/next-js.md +347 -0
  133. package/.docs/guides/getting-started/nuxt.md +497 -0
  134. package/.docs/guides/getting-started/quickstart.md +67 -0
  135. package/.docs/guides/getting-started/sveltekit.md +296 -0
  136. package/.docs/guides/getting-started/vite-react.md +425 -0
  137. package/.docs/guides/guide/ai-recruiter.md +226 -0
  138. package/.docs/guides/guide/chef-michel.md +211 -0
  139. package/.docs/guides/guide/code-review-bot.md +226 -0
  140. package/.docs/guides/guide/dev-assistant.md +307 -0
  141. package/.docs/guides/guide/docs-manager.md +238 -0
  142. package/.docs/guides/guide/github-actions-pr-description.md +236 -0
  143. package/.docs/guides/guide/notes-mcp-server.md +416 -0
  144. package/.docs/guides/guide/research-assistant.md +348 -0
  145. package/.docs/guides/guide/research-coordinator.md +416 -0
  146. package/.docs/guides/guide/stock-agent.md +132 -0
  147. package/.docs/guides/guide/web-search.md +320 -0
  148. package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
  149. package/.docs/guides/index.md +3 -0
  150. package/.docs/guides/migrations/agentnetwork.md +97 -0
  151. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
  152. package/.docs/guides/migrations/network-to-supervisor.md +261 -0
  153. package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
  154. package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
  155. package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
  156. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
  157. package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
  158. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
  159. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
  160. package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
  161. package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
  162. package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
  163. package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
  164. package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
  165. package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
  166. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
  167. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
  168. package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
  169. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
  170. package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
  171. package/.docs/models/embeddings.md +161 -0
  172. package/.docs/models/gateways/azure-openai.md +128 -0
  173. package/.docs/models/gateways/custom-gateways.md +545 -0
  174. package/.docs/models/gateways/netlify.md +88 -0
  175. package/.docs/models/gateways/openrouter.md +219 -0
  176. package/.docs/models/gateways/vercel.md +225 -0
  177. package/.docs/models/gateways.md +14 -0
  178. package/.docs/models/index.md +286 -0
  179. package/.docs/models/providers/302ai.md +134 -0
  180. package/.docs/models/providers/abacus.md +125 -0
  181. package/.docs/models/providers/agentrouter.md +90 -0
  182. package/.docs/models/providers/aihubmix.md +107 -0
  183. package/.docs/models/providers/alibaba-cn.md +135 -0
  184. package/.docs/models/providers/alibaba.md +111 -0
  185. package/.docs/models/providers/amazon-bedrock.md +33 -0
  186. package/.docs/models/providers/anthropic.md +153 -0
  187. package/.docs/models/providers/azure.md +33 -0
  188. package/.docs/models/providers/bailing.md +72 -0
  189. package/.docs/models/providers/baseten.md +77 -0
  190. package/.docs/models/providers/berget.md +78 -0
  191. package/.docs/models/providers/cerebras.md +101 -0
  192. package/.docs/models/providers/chutes.md +136 -0
  193. package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
  194. package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
  195. package/.docs/models/providers/cohere.md +33 -0
  196. package/.docs/models/providers/cortecs.md +91 -0
  197. package/.docs/models/providers/deepinfra.md +112 -0
  198. package/.docs/models/providers/deepseek.md +88 -0
  199. package/.docs/models/providers/fastrouter.md +84 -0
  200. package/.docs/models/providers/fireworks-ai.md +89 -0
  201. package/.docs/models/providers/firmware.md +85 -0
  202. package/.docs/models/providers/friendli.md +78 -0
  203. package/.docs/models/providers/github-models.md +125 -0
  204. package/.docs/models/providers/google-vertex.md +33 -0
  205. package/.docs/models/providers/google.md +159 -0
  206. package/.docs/models/providers/groq.md +107 -0
  207. package/.docs/models/providers/helicone.md +161 -0
  208. package/.docs/models/providers/huggingface.md +90 -0
  209. package/.docs/models/providers/iflowcn.md +84 -0
  210. package/.docs/models/providers/inception.md +72 -0
  211. package/.docs/models/providers/inference.md +79 -0
  212. package/.docs/models/providers/io-intelligence.md +87 -0
  213. package/.docs/models/providers/io-net.md +87 -0
  214. package/.docs/models/providers/jiekou.md +131 -0
  215. package/.docs/models/providers/kilo.md +333 -0
  216. package/.docs/models/providers/kimi-for-coding.md +100 -0
  217. package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
  218. package/.docs/models/providers/llama.md +77 -0
  219. package/.docs/models/providers/lmstudio.md +73 -0
  220. package/.docs/models/providers/lucidquery.md +72 -0
  221. package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
  222. package/.docs/models/providers/minimax-cn.md +102 -0
  223. package/.docs/models/providers/minimax-coding-plan.md +102 -0
  224. package/.docs/models/providers/minimax.md +104 -0
  225. package/.docs/models/providers/mistral.md +124 -0
  226. package/.docs/models/providers/moark.md +72 -0
  227. package/.docs/models/providers/modelscope.md +77 -0
  228. package/.docs/models/providers/moonshotai-cn.md +76 -0
  229. package/.docs/models/providers/moonshotai.md +76 -0
  230. package/.docs/models/providers/morph.md +73 -0
  231. package/.docs/models/providers/nano-gpt.md +103 -0
  232. package/.docs/models/providers/nebius.md +116 -0
  233. package/.docs/models/providers/nova.md +72 -0
  234. package/.docs/models/providers/novita-ai.md +154 -0
  235. package/.docs/models/providers/nvidia.md +141 -0
  236. package/.docs/models/providers/ollama-cloud.md +103 -0
  237. package/.docs/models/providers/ollama.md +33 -0
  238. package/.docs/models/providers/openai.md +193 -0
  239. package/.docs/models/providers/opencode.md +100 -0
  240. package/.docs/models/providers/ovhcloud.md +83 -0
  241. package/.docs/models/providers/perplexity.md +100 -0
  242. package/.docs/models/providers/poe.md +183 -0
  243. package/.docs/models/providers/privatemode-ai.md +75 -0
  244. package/.docs/models/providers/requesty.md +90 -0
  245. package/.docs/models/providers/scaleway.md +84 -0
  246. package/.docs/models/providers/siliconflow-cn.md +138 -0
  247. package/.docs/models/providers/siliconflow.md +140 -0
  248. package/.docs/models/providers/stackit.md +78 -0
  249. package/.docs/models/providers/stepfun.md +73 -0
  250. package/.docs/models/providers/submodel.md +79 -0
  251. package/.docs/models/providers/synthetic.md +96 -0
  252. package/.docs/models/providers/togetherai.md +115 -0
  253. package/.docs/models/providers/upstage.md +73 -0
  254. package/.docs/models/providers/venice.md +95 -0
  255. package/.docs/models/providers/vivgrid.md +106 -0
  256. package/.docs/models/providers/vultr.md +75 -0
  257. package/.docs/models/providers/wandb.md +80 -0
  258. package/.docs/models/providers/xai.md +141 -0
  259. package/.docs/models/providers/xiaomi.md +71 -0
  260. package/.docs/models/providers/zai-coding-plan.md +80 -0
  261. package/.docs/models/providers/zai.md +79 -0
  262. package/.docs/models/providers/zenmux.md +161 -0
  263. package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
  264. package/.docs/models/providers/zhipuai.md +79 -0
  265. package/.docs/models/providers.md +81 -0
  266. package/.docs/reference/agents/agent.md +141 -0
  267. package/.docs/reference/agents/generate.md +186 -0
  268. package/.docs/reference/agents/generateLegacy.md +173 -0
  269. package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
  270. package/.docs/reference/agents/getDefaultOptions.md +34 -0
  271. package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
  272. package/.docs/reference/agents/getDescription.md +21 -0
  273. package/.docs/reference/agents/getInstructions.md +34 -0
  274. package/.docs/reference/agents/getLLM.md +37 -0
  275. package/.docs/reference/agents/getMemory.md +34 -0
  276. package/.docs/reference/agents/getModel.md +34 -0
  277. package/.docs/reference/agents/getTools.md +29 -0
  278. package/.docs/reference/agents/getVoice.md +34 -0
  279. package/.docs/reference/agents/listAgents.md +35 -0
  280. package/.docs/reference/agents/listScorers.md +34 -0
  281. package/.docs/reference/agents/listTools.md +34 -0
  282. package/.docs/reference/agents/listWorkflows.md +34 -0
  283. package/.docs/reference/agents/network.md +133 -0
  284. package/.docs/reference/ai-sdk/chat-route.md +82 -0
  285. package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
  286. package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
  287. package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
  288. package/.docs/reference/ai-sdk/network-route.md +74 -0
  289. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
  290. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
  291. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
  292. package/.docs/reference/ai-sdk/with-mastra.md +59 -0
  293. package/.docs/reference/ai-sdk/workflow-route.md +79 -0
  294. package/.docs/reference/auth/auth0.md +73 -0
  295. package/.docs/reference/auth/better-auth.md +71 -0
  296. package/.docs/reference/auth/clerk.md +36 -0
  297. package/.docs/reference/auth/firebase.md +80 -0
  298. package/.docs/reference/auth/jwt.md +26 -0
  299. package/.docs/reference/auth/supabase.md +33 -0
  300. package/.docs/reference/auth/workos.md +84 -0
  301. package/.docs/reference/cli/create-mastra.md +137 -0
  302. package/.docs/reference/cli/mastra.md +336 -0
  303. package/.docs/reference/client-js/agents.md +437 -0
  304. package/.docs/reference/client-js/error-handling.md +16 -0
  305. package/.docs/reference/client-js/logs.md +24 -0
  306. package/.docs/reference/client-js/mastra-client.md +63 -0
  307. package/.docs/reference/client-js/memory.md +221 -0
  308. package/.docs/reference/client-js/observability.md +72 -0
  309. package/.docs/reference/client-js/telemetry.md +20 -0
  310. package/.docs/reference/client-js/tools.md +44 -0
  311. package/.docs/reference/client-js/vectors.md +79 -0
  312. package/.docs/reference/client-js/workflows.md +199 -0
  313. package/.docs/reference/configuration.md +752 -0
  314. package/.docs/reference/core/addGateway.md +42 -0
  315. package/.docs/reference/core/getAgent.md +21 -0
  316. package/.docs/reference/core/getAgentById.md +21 -0
  317. package/.docs/reference/core/getDeployer.md +22 -0
  318. package/.docs/reference/core/getGateway.md +38 -0
  319. package/.docs/reference/core/getGatewayById.md +41 -0
  320. package/.docs/reference/core/getLogger.md +22 -0
  321. package/.docs/reference/core/getMCPServer.md +47 -0
  322. package/.docs/reference/core/getMCPServerById.md +55 -0
  323. package/.docs/reference/core/getMemory.md +50 -0
  324. package/.docs/reference/core/getScorer.md +54 -0
  325. package/.docs/reference/core/getScorerById.md +54 -0
  326. package/.docs/reference/core/getServer.md +22 -0
  327. package/.docs/reference/core/getStorage.md +22 -0
  328. package/.docs/reference/core/getStoredAgentById.md +89 -0
  329. package/.docs/reference/core/getTelemetry.md +22 -0
  330. package/.docs/reference/core/getVector.md +22 -0
  331. package/.docs/reference/core/getWorkflow.md +42 -0
  332. package/.docs/reference/core/listAgents.md +21 -0
  333. package/.docs/reference/core/listGateways.md +40 -0
  334. package/.docs/reference/core/listLogs.md +38 -0
  335. package/.docs/reference/core/listLogsByRunId.md +36 -0
  336. package/.docs/reference/core/listMCPServers.md +55 -0
  337. package/.docs/reference/core/listMemory.md +56 -0
  338. package/.docs/reference/core/listScorers.md +29 -0
  339. package/.docs/reference/core/listStoredAgents.md +93 -0
  340. package/.docs/reference/core/listVectors.md +22 -0
  341. package/.docs/reference/core/listWorkflows.md +21 -0
  342. package/.docs/reference/core/mastra-class.md +66 -0
  343. package/.docs/reference/core/mastra-model-gateway.md +153 -0
  344. package/.docs/reference/core/setLogger.md +26 -0
  345. package/.docs/reference/core/setStorage.md +27 -0
  346. package/.docs/reference/datasets/addItem.md +37 -0
  347. package/.docs/reference/datasets/addItems.md +35 -0
  348. package/.docs/reference/datasets/compareExperiments.md +52 -0
  349. package/.docs/reference/datasets/create.md +51 -0
  350. package/.docs/reference/datasets/dataset.md +82 -0
  351. package/.docs/reference/datasets/datasets-manager.md +94 -0
  352. package/.docs/reference/datasets/delete.md +25 -0
  353. package/.docs/reference/datasets/deleteExperiment.md +27 -0
  354. package/.docs/reference/datasets/deleteItem.md +27 -0
  355. package/.docs/reference/datasets/deleteItems.md +29 -0
  356. package/.docs/reference/datasets/get.md +31 -0
  357. package/.docs/reference/datasets/getDetails.md +47 -0
  358. package/.docs/reference/datasets/getExperiment.md +30 -0
  359. package/.docs/reference/datasets/getItem.md +33 -0
  360. package/.docs/reference/datasets/getItemHistory.md +31 -0
  361. package/.docs/reference/datasets/list.md +31 -0
  362. package/.docs/reference/datasets/listExperimentResults.md +39 -0
  363. package/.docs/reference/datasets/listExperiments.md +33 -0
  364. package/.docs/reference/datasets/listItems.md +46 -0
  365. package/.docs/reference/datasets/listVersions.md +33 -0
  366. package/.docs/reference/datasets/startExperiment.md +62 -0
  367. package/.docs/reference/datasets/startExperimentAsync.md +43 -0
  368. package/.docs/reference/datasets/update.md +48 -0
  369. package/.docs/reference/datasets/updateItem.md +38 -0
  370. package/.docs/reference/deployer/cloudflare.md +79 -0
  371. package/.docs/reference/deployer/netlify.md +80 -0
  372. package/.docs/reference/deployer/vercel.md +91 -0
  373. package/.docs/reference/deployer.md +100 -0
  374. package/.docs/reference/evals/answer-relevancy.md +105 -0
  375. package/.docs/reference/evals/answer-similarity.md +99 -0
  376. package/.docs/reference/evals/bias.md +120 -0
  377. package/.docs/reference/evals/completeness.md +136 -0
  378. package/.docs/reference/evals/content-similarity.md +101 -0
  379. package/.docs/reference/evals/context-precision.md +196 -0
  380. package/.docs/reference/evals/context-relevance.md +531 -0
  381. package/.docs/reference/evals/create-scorer.md +270 -0
  382. package/.docs/reference/evals/faithfulness.md +114 -0
  383. package/.docs/reference/evals/hallucination.md +213 -0
  384. package/.docs/reference/evals/keyword-coverage.md +128 -0
  385. package/.docs/reference/evals/mastra-scorer.md +123 -0
  386. package/.docs/reference/evals/noise-sensitivity.md +675 -0
  387. package/.docs/reference/evals/prompt-alignment.md +614 -0
  388. package/.docs/reference/evals/run-evals.md +179 -0
  389. package/.docs/reference/evals/scorer-utils.md +326 -0
  390. package/.docs/reference/evals/textual-difference.md +113 -0
  391. package/.docs/reference/evals/tone-consistency.md +119 -0
  392. package/.docs/reference/evals/tool-call-accuracy.md +533 -0
  393. package/.docs/reference/evals/toxicity.md +123 -0
  394. package/.docs/reference/harness/harness-class.md +708 -0
  395. package/.docs/reference/index.md +277 -0
  396. package/.docs/reference/logging/pino-logger.md +117 -0
  397. package/.docs/reference/mastra-code/createMastraCode.md +108 -0
  398. package/.docs/reference/memory/clone-utilities.md +199 -0
  399. package/.docs/reference/memory/cloneThread.md +130 -0
  400. package/.docs/reference/memory/createThread.md +68 -0
  401. package/.docs/reference/memory/deleteMessages.md +38 -0
  402. package/.docs/reference/memory/getThreadById.md +24 -0
  403. package/.docs/reference/memory/listThreads.md +145 -0
  404. package/.docs/reference/memory/memory-class.md +147 -0
  405. package/.docs/reference/memory/observational-memory.md +565 -0
  406. package/.docs/reference/memory/recall.md +91 -0
  407. package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
  408. package/.docs/reference/observability/tracing/configuration.md +178 -0
  409. package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
  410. package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
  411. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
  412. package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
  413. package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
  414. package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
  415. package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
  416. package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
  417. package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
  418. package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
  419. package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
  420. package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
  421. package/.docs/reference/observability/tracing/instances.md +107 -0
  422. package/.docs/reference/observability/tracing/interfaces.md +743 -0
  423. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
  424. package/.docs/reference/observability/tracing/spans.md +224 -0
  425. package/.docs/reference/processors/batch-parts-processor.md +61 -0
  426. package/.docs/reference/processors/language-detector.md +82 -0
  427. package/.docs/reference/processors/message-history-processor.md +85 -0
  428. package/.docs/reference/processors/moderation-processor.md +104 -0
  429. package/.docs/reference/processors/pii-detector.md +108 -0
  430. package/.docs/reference/processors/processor-interface.md +521 -0
  431. package/.docs/reference/processors/prompt-injection-detector.md +72 -0
  432. package/.docs/reference/processors/semantic-recall-processor.md +117 -0
  433. package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
  434. package/.docs/reference/processors/token-limiter-processor.md +115 -0
  435. package/.docs/reference/processors/tool-call-filter.md +85 -0
  436. package/.docs/reference/processors/tool-search-processor.md +111 -0
  437. package/.docs/reference/processors/unicode-normalizer.md +62 -0
  438. package/.docs/reference/processors/working-memory-processor.md +152 -0
  439. package/.docs/reference/rag/chunk.md +221 -0
  440. package/.docs/reference/rag/database-config.md +261 -0
  441. package/.docs/reference/rag/document.md +114 -0
  442. package/.docs/reference/rag/embeddings.md +92 -0
  443. package/.docs/reference/rag/extract-params.md +168 -0
  444. package/.docs/reference/rag/graph-rag.md +111 -0
  445. package/.docs/reference/rag/metadata-filters.md +216 -0
  446. package/.docs/reference/rag/rerank.md +75 -0
  447. package/.docs/reference/rag/rerankWithScorer.md +80 -0
  448. package/.docs/reference/server/create-route.md +262 -0
  449. package/.docs/reference/server/express-adapter.md +176 -0
  450. package/.docs/reference/server/fastify-adapter.md +90 -0
  451. package/.docs/reference/server/hono-adapter.md +162 -0
  452. package/.docs/reference/server/koa-adapter.md +127 -0
  453. package/.docs/reference/server/mastra-server.md +298 -0
  454. package/.docs/reference/server/register-api-route.md +249 -0
  455. package/.docs/reference/server/routes.md +306 -0
  456. package/.docs/reference/storage/cloudflare-d1.md +218 -0
  457. package/.docs/reference/storage/cloudflare.md +88 -0
  458. package/.docs/reference/storage/composite.md +235 -0
  459. package/.docs/reference/storage/convex.md +161 -0
  460. package/.docs/reference/storage/dynamodb.md +282 -0
  461. package/.docs/reference/storage/lance.md +131 -0
  462. package/.docs/reference/storage/libsql.md +135 -0
  463. package/.docs/reference/storage/mongodb.md +262 -0
  464. package/.docs/reference/storage/mssql.md +157 -0
  465. package/.docs/reference/storage/overview.md +121 -0
  466. package/.docs/reference/storage/postgresql.md +526 -0
  467. package/.docs/reference/storage/upstash.md +160 -0
  468. package/.docs/reference/streaming/ChunkType.md +292 -0
  469. package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
  470. package/.docs/reference/streaming/agents/stream.md +221 -0
  471. package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
  472. package/.docs/reference/streaming/workflows/observeStream.md +42 -0
  473. package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
  474. package/.docs/reference/streaming/workflows/stream.md +88 -0
  475. package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
  476. package/.docs/reference/templates/overview.md +194 -0
  477. package/.docs/reference/tools/create-tool.md +237 -0
  478. package/.docs/reference/tools/document-chunker-tool.md +89 -0
  479. package/.docs/reference/tools/graph-rag-tool.md +182 -0
  480. package/.docs/reference/tools/mcp-client.md +954 -0
  481. package/.docs/reference/tools/mcp-server.md +1271 -0
  482. package/.docs/reference/tools/vector-query-tool.md +459 -0
  483. package/.docs/reference/vectors/astra.md +121 -0
  484. package/.docs/reference/vectors/chroma.md +264 -0
  485. package/.docs/reference/vectors/convex.md +300 -0
  486. package/.docs/reference/vectors/couchbase.md +226 -0
  487. package/.docs/reference/vectors/duckdb.md +318 -0
  488. package/.docs/reference/vectors/elasticsearch.md +189 -0
  489. package/.docs/reference/vectors/lance.md +220 -0
  490. package/.docs/reference/vectors/libsql.md +305 -0
  491. package/.docs/reference/vectors/mongodb.md +295 -0
  492. package/.docs/reference/vectors/opensearch.md +99 -0
  493. package/.docs/reference/vectors/pg.md +408 -0
  494. package/.docs/reference/vectors/pinecone.md +168 -0
  495. package/.docs/reference/vectors/qdrant.md +222 -0
  496. package/.docs/reference/vectors/s3vectors.md +277 -0
  497. package/.docs/reference/vectors/turbopuffer.md +157 -0
  498. package/.docs/reference/vectors/upstash.md +294 -0
  499. package/.docs/reference/vectors/vectorize.md +147 -0
  500. package/.docs/reference/voice/azure.md +148 -0
  501. package/.docs/reference/voice/cloudflare.md +83 -0
  502. package/.docs/reference/voice/composite-voice.md +121 -0
  503. package/.docs/reference/voice/deepgram.md +79 -0
  504. package/.docs/reference/voice/elevenlabs.md +98 -0
  505. package/.docs/reference/voice/google-gemini-live.md +378 -0
  506. package/.docs/reference/voice/google.md +228 -0
  507. package/.docs/reference/voice/mastra-voice.md +311 -0
  508. package/.docs/reference/voice/murf.md +122 -0
  509. package/.docs/reference/voice/openai-realtime.md +203 -0
  510. package/.docs/reference/voice/openai.md +88 -0
  511. package/.docs/reference/voice/playai.md +80 -0
  512. package/.docs/reference/voice/sarvam.md +126 -0
  513. package/.docs/reference/voice/speechify.md +75 -0
  514. package/.docs/reference/voice/voice.addInstructions.md +55 -0
  515. package/.docs/reference/voice/voice.addTools.md +67 -0
  516. package/.docs/reference/voice/voice.answer.md +54 -0
  517. package/.docs/reference/voice/voice.close.md +51 -0
  518. package/.docs/reference/voice/voice.connect.md +94 -0
  519. package/.docs/reference/voice/voice.events.md +37 -0
  520. package/.docs/reference/voice/voice.getSpeakers.md +129 -0
  521. package/.docs/reference/voice/voice.listen.md +164 -0
  522. package/.docs/reference/voice/voice.off.md +54 -0
  523. package/.docs/reference/voice/voice.on.md +111 -0
  524. package/.docs/reference/voice/voice.send.md +65 -0
  525. package/.docs/reference/voice/voice.speak.md +157 -0
  526. package/.docs/reference/voice/voice.updateConfig.md +60 -0
  527. package/.docs/reference/workflows/run-methods/cancel.md +86 -0
  528. package/.docs/reference/workflows/run-methods/restart.md +33 -0
  529. package/.docs/reference/workflows/run-methods/resume.md +59 -0
  530. package/.docs/reference/workflows/run-methods/start.md +58 -0
  531. package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
  532. package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
  533. package/.docs/reference/workflows/run.md +59 -0
  534. package/.docs/reference/workflows/step.md +119 -0
  535. package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
  536. package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
  537. package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
  538. package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
  539. package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
  540. package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
  541. package/.docs/reference/workflows/workflow-methods/map.md +93 -0
  542. package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
  543. package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
  544. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
  545. package/.docs/reference/workflows/workflow-methods/then.md +21 -0
  546. package/.docs/reference/workflows/workflow.md +157 -0
  547. package/.docs/reference/workspace/e2b-sandbox.md +289 -0
  548. package/.docs/reference/workspace/filesystem.md +255 -0
  549. package/.docs/reference/workspace/gcs-filesystem.md +174 -0
  550. package/.docs/reference/workspace/local-filesystem.md +343 -0
  551. package/.docs/reference/workspace/local-sandbox.md +301 -0
  552. package/.docs/reference/workspace/s3-filesystem.md +175 -0
  553. package/.docs/reference/workspace/sandbox.md +87 -0
  554. package/.docs/reference/workspace/workspace-class.md +244 -0
  555. package/CHANGELOG.md +16 -0
  556. package/package.json +6 -6
@@ -0,0 +1,198 @@
1
+ # Datasets Overview
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ Datasets are collections of test cases that you run experiments against to measure how well your agents and workflows perform. Each mutation creates a new version, so you can reproduce past experiments exactly. Pair datasets with [scorers](https://mastra.ai/docs/evals/overview) to track quality across prompts, models, or code changes.
6
+
7
+ ## Usage
8
+
9
+ ### Configure storage
10
+
11
+ Configure storage in your Mastra instance. Datasets require a storage adapter that provides the `datasets` domain:
12
+
13
+ ```typescript
14
+ import { Mastra } from '@mastra/core'
15
+ import { LibSQLStore } from '@mastra/libsql'
16
+
17
+ export const mastra = new Mastra({
18
+ storage: new LibSQLStore({
19
+ id: 'my-store',
20
+ url: 'file:./mastra.db',
21
+ }),
22
+ })
23
+ ```
24
+
25
+ ### Accessing the datasets API
26
+
27
+ All dataset operations are available through `mastra.datasets`:
28
+
29
+ ```typescript
30
+ const datasets = mastra.datasets
31
+
32
+ // Create a dataset
33
+ const dataset = await datasets.create({ name: 'my-dataset' })
34
+
35
+ // Retrieve an existing dataset
36
+ const existing = await datasets.get({ id: 'dataset-id' })
37
+
38
+ // List all datasets
39
+ const { datasets: all } = await datasets.list()
40
+ ```
41
+
42
+ > **Info:** Visit the [`DatasetsManager` reference](https://mastra.ai/reference/datasets/datasets-manager) for the full list of methods.
43
+
44
+ ## Creating a dataset
45
+
46
+ Call [`create()`](https://mastra.ai/reference/datasets/create) with a name and optional description:
47
+
48
+ ```typescript
49
+ import { mastra } from '../index'
50
+
51
+ const dataset = await mastra.datasets.create({
52
+ name: 'translation-pairs',
53
+ description: 'English to Spanish translation test cases',
54
+ })
55
+
56
+ console.log(dataset.id) // auto-generated UUID
57
+ ```
58
+
59
+ ### Defining schemas
60
+
61
+ You can enforce the shape of `input` and `groundTruth` by passing Zod schemas. Mastra converts them to JSON Schema at creation time:
62
+
63
+ ```typescript
64
+ import { z } from 'zod'
65
+ import { mastra } from '../index'
66
+
67
+ const dataset = await mastra.datasets.create({
68
+ name: 'translation-pairs',
69
+ inputSchema: z.object({
70
+ text: z.string(),
71
+ sourceLang: z.string(),
72
+ targetLang: z.string(),
73
+ }),
74
+ groundTruthSchema: z.object({
75
+ translation: z.string(),
76
+ }),
77
+ })
78
+ ```
79
+
80
+ Items that don't match the schema are rejected at insert time.
81
+
82
+ ## Adding items
83
+
84
+ Use [`addItem()`](https://mastra.ai/reference/datasets/addItem) for a single item or [`addItems()`](https://mastra.ai/reference/datasets/addItems) to insert in bulk:
85
+
86
+ ```typescript
87
+ // Single item
88
+ await dataset.addItem({
89
+ input: { text: 'Hello', sourceLang: 'en', targetLang: 'es' },
90
+ groundTruth: { translation: 'Hola' },
91
+ })
92
+
93
+ // Bulk insert
94
+ await dataset.addItems({
95
+ items: [
96
+ {
97
+ input: { text: 'Goodbye', sourceLang: 'en', targetLang: 'es' },
98
+ groundTruth: { translation: 'Adiós' },
99
+ },
100
+ {
101
+ input: { text: 'Thank you', sourceLang: 'en', targetLang: 'es' },
102
+ groundTruth: { translation: 'Gracias' },
103
+ },
104
+ ],
105
+ })
106
+ ```
107
+
108
+ ## Updating and deleting items
109
+
110
+ [`updateItem()`](https://mastra.ai/reference/datasets/updateItem), [`deleteItem()`](https://mastra.ai/reference/datasets/deleteItem), and [`deleteItems()`](https://mastra.ai/reference/datasets/deleteItems) let you modify or remove existing items by `itemId`:
111
+
112
+ ```typescript
113
+ await dataset.updateItem({
114
+ itemId: 'item-abc-123',
115
+ groundTruth: { translation: '¡Hola!' },
116
+ })
117
+
118
+ await dataset.deleteItem({ itemId: 'item-abc-123' })
119
+
120
+ await dataset.deleteItems({ itemIds: ['item-1', 'item-2'] })
121
+ ```
122
+
123
+ ## Listing and searching items
124
+
125
+ [`listItems()`](https://mastra.ai/reference/datasets/listItems) supports pagination and full-text search:
126
+
127
+ ```typescript
128
+ // Paginated list
129
+ const { items, pagination } = await dataset.listItems({
130
+ page: 0,
131
+ perPage: 50,
132
+ })
133
+
134
+ // Full-text search
135
+ const { items: matches } = await dataset.listItems({
136
+ search: 'Hello',
137
+ })
138
+
139
+ // List items at a specific version
140
+ const v2Items = await dataset.listItems({ version: 2 })
141
+ ```
142
+
143
+ ## Versioning
144
+
145
+ Every mutation to a dataset's items (add, update, or delete) bumps the dataset version. This lets you pin experiments to a specific snapshot of the data.
146
+
147
+ ### Listing versions
148
+
149
+ Use [`listVersions()`](https://mastra.ai/reference/datasets/listVersions) to see the paginated history of versions:
150
+
151
+ ```typescript
152
+ const { versions, pagination } = await dataset.listVersions()
153
+
154
+ for (const v of versions) {
155
+ console.log(`Version ${v.version} — created ${v.createdAt}`)
156
+ }
157
+ ```
158
+
159
+ ### Viewing item history
160
+
161
+ See how a specific item changed across versions by calling [`getItemHistory()`](https://mastra.ai/reference/datasets/getItemHistory) with the `itemId`:
162
+
163
+ ```typescript
164
+ const history = await dataset.getItemHistory({ itemId: 'item-abc-123' })
165
+
166
+ for (const row of history) {
167
+ console.log(`Version ${row.datasetVersion}`, row.input, row.groundTruth)
168
+ }
169
+ ```
170
+
171
+ ### Pinning to a version
172
+
173
+ Fetch the exact items that existed at a past version:
174
+
175
+ ```typescript
176
+ const items = await dataset.listItems({ version: 2 })
177
+ ```
178
+
179
+ You can also pin experiments to a version, see [running experiments](https://mastra.ai/docs/observability/datasets/running-experiments).
180
+
181
+ > **Info:** Visit the [`Dataset` reference](https://mastra.ai/reference/datasets/dataset) for the full list of methods and parameters.
182
+
183
+ ## Studio
184
+
185
+ You can also manage datasets in [Mastra Studio](https://mastra.ai/docs/getting-started/studio). After opening Studio, select **Datasets** from the sidebar to see all your available datasets or create a new one.
186
+
187
+ To get started, select **Create Dataset** and set a name, description, and optional schemas. After confirming, you'll see the dataset details page with two tabs: **Items** and [**Experiments**](https://mastra.ai/docs/observability/datasets/running-experiments).
188
+
189
+ In the **Items** view you can add, update, and delete items, and view version history. Select **Add Item** to insert a new item with JSON editors for input and ground truth. From this view you can also import items in bulk from a CSV or JSON file. When importing, map each column to the corresponding dataset field.
190
+
191
+ Select **Versions** to see the full history of changes to the dataset. After selecting **Compare Versions**, choose any two versions and select **Compare** to see a side-by-side diff of all items that were added, changed, or removed between those versions.
192
+
193
+ ## Related
194
+
195
+ - [Running experiments](https://mastra.ai/docs/observability/datasets/running-experiments)
196
+ - [Scorers overview](https://mastra.ai/docs/evals/overview)
197
+ - [DatasetsManager reference](https://mastra.ai/reference/datasets/datasets-manager)
198
+ - [Dataset reference](https://mastra.ai/reference/datasets/dataset)
@@ -0,0 +1,274 @@
1
+ # Running Experiments
2
+
3
+ **Added in:** `@mastra/core@1.4.0`
4
+
5
+ An experiment runs every item in a dataset through a target (an agent, a workflow, or a scorer) and then optionally scores the outputs. Use a scorer as the target when you want to evaluate an LLM judge itself. Results are persisted to storage so you can compare runs across different prompts, models, or code changes.
6
+
7
+ ## Basic experiment
8
+
9
+ Call [`startExperiment()`](https://mastra.ai/reference/datasets/startExperiment) with a target and scorers:
10
+
11
+ ```typescript
12
+ import { mastra } from '../index'
13
+
14
+ const dataset = await mastra.datasets.get({ id: 'translation-dataset-id' })
15
+
16
+ const summary = await dataset.startExperiment({
17
+ name: 'gpt-5.1-baseline',
18
+ targetType: 'agent',
19
+ targetId: 'translation-agent',
20
+ scorers: ['accuracy', 'fluency'],
21
+ })
22
+
23
+ console.log(summary.status) // 'completed' | 'failed'
24
+ console.log(summary.succeededCount) // number of items that ran successfully
25
+ console.log(summary.failedCount) // number of items that failed
26
+ ```
27
+
28
+ `startExperiment()` blocks until all items finish. For fire-and-forget execution, see [async experiments](#async-experiments).
29
+
30
+ ## Experiment targets
31
+
32
+ You can point an experiment at a registered agent, workflow, or scorer.
33
+
34
+ ### Registered agent
35
+
36
+ Point to an agent registered on your Mastra instance:
37
+
38
+ ```typescript
39
+ const summary = await dataset.startExperiment({
40
+ name: 'agent-v2-eval',
41
+ targetType: 'agent',
42
+ targetId: 'translation-agent',
43
+ scorers: ['accuracy'],
44
+ })
45
+ ```
46
+
47
+ Each item's `input` is passed directly to `agent.generate()`, so it must be a `string`, `string[]`, or `CoreMessage[]`.
48
+
49
+ ### Registered workflow
50
+
51
+ Point to a workflow registered on your Mastra instance:
52
+
53
+ ```typescript
54
+ const summary = await dataset.startExperiment({
55
+ name: 'workflow-eval',
56
+ targetType: 'workflow',
57
+ targetId: 'translation-workflow',
58
+ scorers: ['accuracy'],
59
+ })
60
+ ```
61
+
62
+ The workflow receives each item's `input` as its trigger data.
63
+
64
+ ### Registered scorer
65
+
66
+ Point to a scorer to evaluate an LLM judge against ground truth:
67
+
68
+ ```typescript
69
+ const summary = await dataset.startExperiment({
70
+ name: 'judge-accuracy-eval',
71
+ targetType: 'scorer',
72
+ targetId: 'accuracy',
73
+ })
74
+ ```
75
+
76
+ The scorer receives each item's `input` and `groundTruth`. LLM-based judges can drift over time as underlying models change, so it's important to periodically realign them against known-good labels. A dataset gives you a stable benchmark to detect that drift.
77
+
78
+ ## Scoring results
79
+
80
+ Scorers automatically run after each item's target execution. Pass scorer instances or registered scorer IDs:
81
+
82
+ **Scorer IDs**:
83
+
84
+ ```typescript
85
+ // Reference scorers registered on the Mastra instance
86
+ const summary = await dataset.startExperiment({
87
+ name: 'with-registered-scorers',
88
+ targetType: 'agent',
89
+ targetId: 'translation-agent',
90
+ scorers: ['accuracy', 'fluency'],
91
+ })
92
+ ```
93
+
94
+ **Scorer instances**:
95
+
96
+ ```typescript
97
+ import { createAnswerRelevancyScorer } from '@mastra/evals/scorers/prebuilt'
98
+
99
+ const relevancy = createAnswerRelevancyScorer({ model: 'openai/gpt-4.1-nano' })
100
+
101
+ const summary = await dataset.startExperiment({
102
+ name: 'with-scorer-instances',
103
+ targetType: 'agent',
104
+ targetId: 'translation-agent',
105
+ scorers: [relevancy],
106
+ })
107
+ ```
108
+
109
+ Each item's results include per-scorer scores:
110
+
111
+ ```typescript
112
+ for (const item of summary.results) {
113
+ console.log(item.itemId, item.output)
114
+ for (const score of item.scores) {
115
+ console.log(` ${score.scorerName}: ${score.score} — ${score.reason}`)
116
+ }
117
+ }
118
+ ```
119
+
120
+ > **Info:** Visit the [Scorers overview](https://mastra.ai/docs/evals/overview) for details on available and custom scorers.
121
+
122
+ ## Async experiments
123
+
124
+ `startExperiment()` blocks until every item completes. For long-running datasets, use [`startExperimentAsync()`](https://mastra.ai/reference/datasets/startExperimentAsync) to start the experiment in the background:
125
+
126
+ ```typescript
127
+ const { experimentId, status } = await dataset.startExperimentAsync({
128
+ name: 'large-dataset-run',
129
+ targetType: 'agent',
130
+ targetId: 'translation-agent',
131
+ scorers: ['accuracy'],
132
+ })
133
+
134
+ console.log(experimentId) // UUID
135
+ console.log(status) // 'pending'
136
+ ```
137
+
138
+ Poll for completion using [`getExperiment()`](https://mastra.ai/reference/datasets/getExperiment):
139
+
140
+ ```typescript
141
+ let experiment = await dataset.getExperiment({ experimentId })
142
+
143
+ while (experiment.status === 'pending' || experiment.status === 'running') {
144
+ await new Promise(resolve => setTimeout(resolve, 5000))
145
+ experiment = await dataset.getExperiment({ experimentId })
146
+ }
147
+
148
+ console.log(experiment.status) // 'completed' | 'failed'
149
+ ```
150
+
151
+ ## Configuration options
152
+
153
+ ### Concurrency
154
+
155
+ Control how many items run in parallel (default: 5):
156
+
157
+ ```typescript
158
+ const summary = await dataset.startExperiment({
159
+ targetType: 'agent',
160
+ targetId: 'translation-agent',
161
+ maxConcurrency: 10,
162
+ })
163
+ ```
164
+
165
+ ### Timeouts and retries
166
+
167
+ Set a per-item timeout (in milliseconds) and retry count:
168
+
169
+ ```typescript
170
+ const summary = await dataset.startExperiment({
171
+ targetType: 'agent',
172
+ targetId: 'translation-agent',
173
+ itemTimeout: 30_000, // 30 seconds per item
174
+ maxRetries: 2, // retry failed items up to 2 times
175
+ })
176
+ ```
177
+
178
+ Retries use exponential backoff. Abort errors are never retried.
179
+
180
+ ### Aborting an experiment
181
+
182
+ Pass an `AbortSignal` to cancel a running experiment:
183
+
184
+ ```typescript
185
+ const controller = new AbortController()
186
+
187
+ // Cancel after 60 seconds
188
+ setTimeout(() => controller.abort(), 60_000)
189
+
190
+ const summary = await dataset.startExperiment({
191
+ targetType: 'agent',
192
+ targetId: 'translation-agent',
193
+ signal: controller.signal,
194
+ })
195
+ ```
196
+
197
+ Remaining items are marked as skipped in the summary.
198
+
199
+ ### Pinning a dataset version
200
+
201
+ Run against a specific snapshot of the dataset:
202
+
203
+ ```typescript
204
+ const summary = await dataset.startExperiment({
205
+ targetType: 'agent',
206
+ targetId: 'translation-agent',
207
+ version: 3, // use items from dataset version 3
208
+ })
209
+ ```
210
+
211
+ ## Viewing results
212
+
213
+ ### Listing experiments
214
+
215
+ ```typescript
216
+ const { experiments, pagination } = await dataset.listExperiments({
217
+ page: 0,
218
+ perPage: 10,
219
+ })
220
+
221
+ for (const exp of experiments) {
222
+ console.log(`${exp.name} — ${exp.status} (${exp.succeededCount}/${exp.totalItems})`)
223
+ }
224
+ ```
225
+
226
+ ### Experiment details
227
+
228
+ ```typescript
229
+ const experiment = await dataset.getExperiment({
230
+ experimentId: 'exp-abc-123',
231
+ })
232
+
233
+ console.log(experiment.status)
234
+ console.log(experiment.startedAt)
235
+ console.log(experiment.completedAt)
236
+ ```
237
+
238
+ ### Item-level results
239
+
240
+ ```typescript
241
+ const { results, pagination } = await dataset.listExperimentResults({
242
+ experimentId: 'exp-abc-123',
243
+ page: 0,
244
+ perPage: 50,
245
+ })
246
+
247
+ for (const result of results) {
248
+ console.log(result.itemId, result.output, result.error)
249
+ }
250
+ ```
251
+
252
+ ## Understanding the summary
253
+
254
+ `startExperiment()` returns an `ExperimentSummary` with counts and per-item results:
255
+
256
+ - `completedWithErrors` is `true` when the experiment finished but some items failed.
257
+ - Items cancelled via `signal` appear in `skippedCount`.
258
+
259
+ > **Info:** Visit the [`startExperiment` reference](https://mastra.ai/reference/datasets/startExperiment) for the full parameter and return type documentation.
260
+
261
+ ## Studio
262
+
263
+ You can also run experiments in [Mastra Studio](https://mastra.ai/docs/getting-started/studio). After you've added a dataset item, open it and select **Run Experiment** and configure the target, scorers, and options.
264
+
265
+ After running an experiment, the **Experiments** tab shows all runs for that dataset (with status, counts, and timestamps). Select an experiment to see per-item results, scores, and execution traces.
266
+
267
+ In the **Experiments** tab, select **Compare** and choose two or more experiments to compare their scores and results side by side.
268
+
269
+ ## Related
270
+
271
+ - [Datasets overview](https://mastra.ai/docs/observability/datasets/overview)
272
+ - [Scorers overview](https://mastra.ai/docs/evals/overview)
273
+ - [`startExperiment` reference](https://mastra.ai/reference/datasets/startExperiment)
274
+ - [`listExperimentResults` reference](https://mastra.ai/reference/datasets/listExperimentResults)
@@ -0,0 +1,99 @@
1
+ # Logging
2
+
3
+ Mastra's logging system captures function execution, input data, and output responses in a structured format.
4
+
5
+ When deploying to Mastra Cloud, logs are shown on the [Logs](https://mastra.ai/docs/mastra-cloud/observability) page. In self-hosted or custom environments, logs can be directed to files or external services depending on the configured transports.
6
+
7
+ ## Configuring logs with PinoLogger
8
+
9
+ When [initializing a new Mastra project](https://mastra.ai/guides/getting-started/quickstart) using the CLI, `PinoLogger` is included by default.
10
+
11
+ ```typescript
12
+ import { Mastra } from '@mastra/core/mastra'
13
+ import { PinoLogger } from '@mastra/loggers'
14
+
15
+ export const mastra = new Mastra({
16
+ logger: new PinoLogger({
17
+ name: 'Mastra',
18
+ level: 'info',
19
+ }),
20
+ })
21
+ ```
22
+
23
+ > **Info:** Visit [PinoLogger](https://mastra.ai/reference/logging/pino-logger) for all available configuration options.
24
+
25
+ ## Customizing logs
26
+
27
+ Mastra provides access to a logger instance via the `mastra.getLogger()` method, available inside both workflow steps and tools. The logger supports standard severity levels: `debug`, `info`, `warn`, and `error`.
28
+
29
+ ### Logging from workflow steps
30
+
31
+ Within a workflow step, access the logger via the `mastra` parameter inside the `execute` function. This allows you to log messages relevant to the step’s execution.
32
+
33
+ ```typescript
34
+ import { createWorkflow, createStep } from "@mastra/core/workflows";
35
+ import { z } from "zod";
36
+
37
+ const step1 = createStep({
38
+ execute: async ({ mastra }) => {
39
+ const logger = mastra.getLogger();
40
+ logger.info("workflow info log");
41
+
42
+ return {
43
+ output: ""
44
+ };
45
+ }
46
+ });
47
+
48
+ export const testWorkflow = createWorkflow({...})
49
+ .then(step1)
50
+ .commit();
51
+ ```
52
+
53
+ ### Logging from tools
54
+
55
+ Similarly, tools have access to the logger instance via the `mastra` parameter. Use this to log tool specific activity during execution.
56
+
57
+ ```typescript
58
+ import { createTool } from '@mastra/core/tools'
59
+ import { z } from 'zod'
60
+
61
+ export const testTool = createTool({
62
+ execute: async (inputData, context) => {
63
+ const logger = context?.mastra.getLogger()
64
+ logger?.info('tool info log')
65
+
66
+ return {
67
+ output: '',
68
+ }
69
+ },
70
+ })
71
+ ```
72
+
73
+ ### Logging with additional data
74
+
75
+ Logger methods accept an optional second argument for additional data. This can be any value, such as an object, string, or number.
76
+
77
+ In this example, the log message includes an object with a key of `agent` and a value of the `testAgent` instance.
78
+
79
+ ```typescript
80
+ import { createWorkflow, createStep } from "@mastra/core/workflows";
81
+ import { z } from "zod";
82
+
83
+ const step1 = createStep({
84
+ execute: async ({ mastra }) => {
85
+ const testAgent = mastra.getAgent("testAgent");
86
+ const logger = mastra.getLogger();
87
+
88
+ logger.info("workflow info log", { agent: testAgent });
89
+
90
+ return {
91
+ output: ""
92
+ };
93
+ }
94
+ });
95
+
96
+ export const testWorkflow = createWorkflow({...})
97
+ .then(step1)
98
+ .commit();
99
+ ```
@@ -0,0 +1,70 @@
1
+ # Observability Overview
2
+
3
+ Mastra provides observability features for AI applications. Monitor LLM operations, trace agent decisions, and debug complex workflows with tools that understand AI-specific patterns.
4
+
5
+ ## Key Features
6
+
7
+ ### Tracing
8
+
9
+ Specialized tracing for AI operations that captures:
10
+
11
+ - **Model interactions**: Token usage, latency, prompts, and completions
12
+ - **Agent execution**: Decision paths, tool calls, and memory operations
13
+ - **Workflow steps**: Branching logic, parallel execution, and step outputs
14
+ - **Automatic instrumentation**: Tracing with decorators
15
+
16
+ ## Storage Requirements
17
+
18
+ The `DefaultExporter` persists traces to your configured storage backend. Not all storage providers support observability—for the full list, see [Storage Provider Support](https://mastra.ai/docs/observability/tracing/exporters/default).
19
+
20
+ For production environments with high traffic, we recommend using **ClickHouse** for the observability domain via [composite storage](https://mastra.ai/reference/storage/composite). See [Production Recommendations](https://mastra.ai/docs/observability/tracing/exporters/default) for details.
21
+
22
+ ## Quick Start
23
+
24
+ Configure Observability in your Mastra instance:
25
+
26
+ ```typescript
27
+ import { Mastra } from '@mastra/core'
28
+ import { PinoLogger } from '@mastra/loggers'
29
+ import { LibSQLStore } from '@mastra/libsql'
30
+ import {
31
+ Observability,
32
+ DefaultExporter,
33
+ CloudExporter,
34
+ SensitiveDataFilter,
35
+ } from '@mastra/observability'
36
+
37
+ export const mastra = new Mastra({
38
+ logger: new PinoLogger(),
39
+ storage: new LibSQLStore({
40
+ id: 'mastra-storage',
41
+ url: 'file:./mastra.db', // Storage is required for tracing
42
+ }),
43
+ observability: new Observability({
44
+ configs: {
45
+ default: {
46
+ serviceName: 'mastra',
47
+ exporters: [
48
+ new DefaultExporter(), // Persists traces to storage for Mastra Studio
49
+ new CloudExporter(), // Sends traces to Mastra Cloud (if MASTRA_CLOUD_ACCESS_TOKEN is set)
50
+ ],
51
+ spanOutputProcessors: [
52
+ new SensitiveDataFilter(), // Redacts sensitive data like passwords, tokens, keys
53
+ ],
54
+ },
55
+ },
56
+ }),
57
+ })
58
+ ```
59
+
60
+ > **Serverless environments:** The `file:./mastra.db` storage URL uses the local filesystem, which doesn't work in serverless environments like Vercel, AWS Lambda, or Cloudflare Workers. For serverless deployments, use external storage. See the [Vercel deployment guide](https://mastra.ai/guides/deployment/vercel) for a complete example.
61
+
62
+ With this basic setup, you will see Traces and Logs in both Studio and in Mastra Cloud.
63
+
64
+ We also support various external tracing providers like MLflow, Langfuse, Braintrust, and any OpenTelemetry-compatible platform (Datadog, New Relic, SigNoz, etc.). See more about this in the [Tracing](https://mastra.ai/docs/observability/tracing/overview) documentation.
65
+
66
+ ## What's Next?
67
+
68
+ - **[Set up Tracing](https://mastra.ai/docs/observability/tracing/overview)**: Configure tracing for your application
69
+ - **[Configure Logging](https://mastra.ai/docs/observability/logging)**: Add structured logging
70
+ - **[API Reference](https://mastra.ai/reference/observability/tracing/instances)**: Detailed configuration options