@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: "Reference: Completeness | Scorers | Mastra Docs"
2
+ title: "Reference: Completeness Scorer | Scorers | Mastra Docs"
3
3
  description: Documentation for the Completeness Scorer in Mastra, which evaluates how thoroughly LLM outputs cover key elements present in the input.
4
4
  ---
5
5
 
@@ -25,12 +25,14 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
25
25
  {
26
26
  name: "preprocessStepResult",
27
27
  type: "object",
28
- description: "Object with extracted elements and coverage details: { inputElements: string[], outputElements: string[], missingElements: string[], elementCounts: { input: number, output: number } }",
28
+ description:
29
+ "Object with extracted elements and coverage details: { inputElements: string[], outputElements: string[], missingElements: string[], elementCounts: { input: number, output: number } }",
29
30
  },
30
31
  {
31
32
  name: "score",
32
33
  type: "number",
33
- description: "Completeness score (0-1) representing the proportion of input elements covered in the output.",
34
+ description:
35
+ "Completeness score (0-1) representing the proportion of input elements covered in the output.",
34
36
  },
35
37
  ]}
36
38
  />
@@ -109,17 +111,18 @@ A completeness score between 0 and 1:
109
111
 
110
112
  In this example, the response comprehensively addresses all aspects of the query with detailed information covering multiple dimensions.
111
113
 
112
- ```typescript filename="src/example-high-completeness.ts" showLineNumbers copy
114
+ ```typescript title="src/example-high-completeness.ts" showLineNumbers copy
113
115
  import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
114
116
 
115
- const scorer = createCompletenessScorer({ model: 'openai/gpt-4o-mini' });
117
+ const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
116
118
 
117
- const query = "Explain the process of photosynthesis, including the inputs, outputs, and stages involved.";
119
+ const query =
120
+ "Explain the process of photosynthesis, including the inputs, outputs, and stages involved.";
118
121
  const response =
119
122
  "Photosynthesis is the process by which plants convert sunlight into chemical energy. Inputs: Carbon dioxide (CO2) from the air enters through stomata, water (H2O) is absorbed by roots, and sunlight provides energy captured by chlorophyll. The process occurs in two main stages: 1) Light-dependent reactions in the thylakoids convert light energy to ATP and NADPH while splitting water and releasing oxygen. 2) Light-independent reactions (Calvin cycle) in the stroma use ATP, NADPH, and CO2 to produce glucose. Outputs: Glucose (C6H12O6) serves as food for the plant, and oxygen (O2) is released as a byproduct. The overall equation is: 6CO2 + 6H2O + light energy → C6H12O6 + 6O2.";
120
123
 
121
124
  const result = await scorer.run({
122
- input: [{ role: 'user', content: query }],
125
+ input: [{ role: "user", content: query }],
123
126
  output: { text: response },
124
127
  });
125
128
 
@@ -141,17 +144,18 @@ The output receives a high score because it addresses all requested aspects: inp
141
144
 
142
145
  In this example, the response addresses some key points but misses important aspects or lacks sufficient detail.
143
146
 
144
- ```typescript filename="src/example-partial-completeness.ts" showLineNumbers copy
147
+ ```typescript title="src/example-partial-completeness.ts" showLineNumbers copy
145
148
  import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
146
149
 
147
- const scorer = createCompletenessScorer({ model: 'openai/gpt-4o-mini' });
150
+ const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
148
151
 
149
- const query = "What are the benefits and drawbacks of remote work for both employees and employers?";
152
+ const query =
153
+ "What are the benefits and drawbacks of remote work for both employees and employers?";
150
154
  const response =
151
155
  "Remote work offers several benefits for employees including flexible schedules, no commuting time, and better work-life balance. It also reduces costs for office space and utilities for employers. However, remote work can lead to isolation and communication challenges for employees.";
152
156
 
153
157
  const result = await scorer.run({
154
- input: [{ role: 'user', content: query }],
158
+ input: [{ role: "user", content: query }],
155
159
  output: { text: response },
156
160
  });
157
161
 
@@ -173,17 +177,18 @@ The output receives a moderate score because it covers employee benefits and som
173
177
 
174
178
  In this example, the response only partially addresses the query and misses several important aspects.
175
179
 
176
- ```typescript filename="src/example-low-completeness.ts" showLineNumbers copy
180
+ ```typescript title="src/example-low-completeness.ts" showLineNumbers copy
177
181
  import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
178
182
 
179
- const scorer = createCompletenessScorer({ model: 'openai/gpt-4o-mini' });
183
+ const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
180
184
 
181
- const query = "Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.";
185
+ const query =
186
+ "Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.";
182
187
  const response =
183
188
  "Renewable energy sources like solar and wind are becoming cheaper. They're better for the environment than fossil fuels.";
184
189
 
185
190
  const result = await scorer.run({
186
- input: [{ role: 'user', content: query }],
191
+ input: [{ role: "user", content: query }],
187
192
  output: { text: response },
188
193
  });
189
194
 
@@ -206,4 +211,4 @@ The output receives a low score because it only briefly mentions cost and enviro
206
211
  - [Answer Relevancy Scorer](./answer-relevancy)
207
212
  - [Content Similarity Scorer](./content-similarity)
208
213
  - [Textual Difference Scorer](./textual-difference)
209
- - [Keyword Coverage Scorer](./keyword-coverage)
214
+ - [Keyword Coverage Scorer](./keyword-coverage)
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: Content Similarity | Scorers | Mastra Docs"
2
+ title: "Reference: Content Similarity Scorer | Scorers | Mastra Docs"
3
3
  description: Documentation for the Content Similarity Scorer in Mastra, which measures textual similarity between strings and provides a matching score.
4
4
  ---
5
5
 
@@ -44,7 +44,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
44
44
  {
45
45
  name: "preprocessStepResult",
46
46
  type: "object",
47
- description: "Object with processed input and output: { processedInput: string, processedOutput: string }",
47
+ description:
48
+ "Object with processed input and output: { processedInput: string, processedOutput: string }",
48
49
  },
49
50
  {
50
51
  name: "analyzeStepResult",
@@ -54,7 +55,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
54
55
  {
55
56
  name: "score",
56
57
  type: "number",
57
- description: "Similarity score (0-1) where 1 indicates perfect similarity.",
58
+ description:
59
+ "Similarity score (0-1) where 1 indicates perfect similarity.",
58
60
  },
59
61
  ]}
60
62
  />
@@ -82,7 +84,7 @@ Final score: `similarity_value * scale`
82
84
 
83
85
  In this example, the response closely resembles the query in both structure and meaning. Minor differences in tense and phrasing do not significantly affect the overall similarity.
84
86
 
85
- ```typescript filename="src/example-high-similarity.ts" showLineNumbers copy
87
+ ```typescript title="src/example-high-similarity.ts" showLineNumbers copy
86
88
  import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
87
89
 
88
90
  const scorer = createContentSimilarityScorer();
@@ -91,7 +93,7 @@ const query = "The quick brown fox jumps over the lazy dog.";
91
93
  const response = "A quick brown fox jumped over a lazy dog.";
92
94
 
93
95
  const result = await scorer.run({
94
- input: [{ role: 'user', content: query }],
96
+ input: [{ role: "user", content: query }],
95
97
  output: { text: response },
96
98
  });
97
99
 
@@ -115,7 +117,7 @@ The output receives a high score because the response preserves the intent and c
115
117
 
116
118
  In this example, the response shares some conceptual overlap with the query but diverges in structure and wording. Key elements remain present, but the phrasing introduces moderate variation.
117
119
 
118
- ```typescript filename="src/example-moderate-similarity.ts" showLineNumbers copy
120
+ ```typescript title="src/example-moderate-similarity.ts" showLineNumbers copy
119
121
  import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
120
122
 
121
123
  const scorer = createContentSimilarityScorer();
@@ -124,7 +126,7 @@ const query = "A brown fox quickly leaps across a sleeping dog.";
124
126
  const response = "The quick brown fox jumps over the lazy dog.";
125
127
 
126
128
  const result = await scorer.run({
127
- input: [{ role: 'user', content: query }],
129
+ input: [{ role: "user", content: query }],
128
130
  output: { text: response },
129
131
  });
130
132
 
@@ -148,7 +150,7 @@ The output receives a mid-range score because the response captures the general
148
150
 
149
151
  In this example, the response and query are unrelated in meaning, despite having a similar grammatical structure. There is little to no shared content overlap.
150
152
 
151
- ```typescript filename="src/example-low-similarity.ts" showLineNumbers copy
153
+ ```typescript title="src/example-low-similarity.ts" showLineNumbers copy
152
154
  import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
153
155
 
154
156
  const scorer = createContentSimilarityScorer();
@@ -157,7 +159,7 @@ const query = "The cat sleeps on the windowsill.";
157
159
  const response = "The quick brown fox jumps over the lazy dog.";
158
160
 
159
161
  const result = await scorer.run({
160
- input: [{ role: 'user', content: query }],
162
+ input: [{ role: "user", content: query }],
161
163
  output: { text: response },
162
164
  });
163
165
 
@@ -192,4 +194,4 @@ A similarity score between 0 and 1:
192
194
  - [Completeness Scorer](./completeness)
193
195
  - [Textual Difference Scorer](./textual-difference)
194
196
  - [Answer Relevancy Scorer](./answer-relevancy)
195
- - [Keyword Coverage Scorer](./keyword-coverage)
197
+ - [Keyword Coverage Scorer](./keyword-coverage)
@@ -3,7 +3,7 @@ title: "Reference: Context Precision Scorer | Scorers | Mastra Docs"
3
3
  description: Documentation for the Context Precision Scorer in Mastra. Evaluates the relevance and precision of retrieved context for generating expected outputs using Mean Average Precision.
4
4
  ---
5
5
 
6
- import { PropertiesTable } from "@/components/properties-table";
6
+ import PropertiesTable from "@site/src/components/PropertiesTable";
7
7
 
8
8
  # Context Precision Scorer
9
9
 
@@ -14,6 +14,7 @@ It is especially useful for these use cases:
14
14
  **RAG System Evaluation**
15
15
 
16
16
  Ideal for evaluating retrieved context in RAG pipelines where:
17
+
17
18
  - Context ordering matters for model performance
18
19
  - You need to measure retrieval quality beyond simple relevance
19
20
  - Early relevant context is more valuable than later relevant context
@@ -21,8 +22,9 @@ Ideal for evaluating retrieved context in RAG pipelines where:
21
22
  **Context Window Optimization**
22
23
 
23
24
  Use when optimizing context selection for:
25
+
24
26
  - Limited context windows
25
- - Token budget constraints
27
+ - Token budget constraints
26
28
  - Multi-step reasoning tasks
27
29
 
28
30
  ## Parameters
@@ -50,7 +52,8 @@ Use when optimizing context selection for:
50
52
  {
51
53
  name: "contextExtractor",
52
54
  type: "(input, output) => string[]",
53
- description: "Function to dynamically extract context from the run input and output",
55
+ description:
56
+ "Function to dynamically extract context from the run input and output",
54
57
  required: false,
55
58
  },
56
59
  {
@@ -64,7 +67,6 @@ Use when optimizing context selection for:
64
67
  ]}
65
68
  />
66
69
 
67
-
68
70
  **Note**: Either `context` or `contextExtractor` must be provided. If both are provided, `contextExtractor` takes precedence.
69
71
 
70
72
  ## .run() Returns
@@ -74,12 +76,14 @@ Use when optimizing context selection for:
74
76
  {
75
77
  name: "score",
76
78
  type: "number",
77
- description: "Mean Average Precision score between 0 and scale (default 0-1)",
79
+ description:
80
+ "Mean Average Precision score between 0 and scale (default 0-1)",
78
81
  },
79
82
  {
80
83
  name: "reason",
81
84
  type: "string",
82
- description: "Human-readable explanation of the context precision evaluation",
85
+ description:
86
+ "Human-readable explanation of the context precision evaluation",
83
87
  },
84
88
  ]}
85
89
  />
@@ -109,7 +113,7 @@ Where:
109
113
  ### Score Interpretation
110
114
 
111
115
  - **0.9-1.0**: Excellent precision - all relevant context early in sequence
112
- - **0.7-0.8**: Good precision - most relevant context well-positioned
116
+ - **0.7-0.8**: Good precision - most relevant context well-positioned
113
117
  - **0.4-0.6**: Moderate precision - relevant context mixed with irrelevant
114
118
  - **0.1-0.3**: Poor precision - little relevant context or poorly positioned
115
119
  - **0.0**: No relevant context found
@@ -117,6 +121,7 @@ Where:
117
121
  ### Reason analysis
118
122
 
119
123
  The reason field explains:
124
+
120
125
  - Which context pieces were deemed relevant/irrelevant
121
126
  - How positioning affected the MAP calculation
122
127
  - Specific relevance criteria used in evaluation
@@ -124,6 +129,7 @@ The reason field explains:
124
129
  ### Optimization insights
125
130
 
126
131
  Use results to:
132
+
127
133
  - **Improve retrieval**: Filter out irrelevant context before ranking
128
134
  - **Optimize ranking**: Ensure relevant context appears early
129
135
  - **Tune chunk size**: Balance context detail vs. relevance precision
@@ -134,7 +140,7 @@ Use results to:
134
140
  Given context: `[relevant, irrelevant, relevant, irrelevant]`
135
141
 
136
142
  - Position 0: Relevant → Precision = 1/1 = 1.0
137
- - Position 1: Skip (irrelevant)
143
+ - Position 1: Skip (irrelevant)
138
144
  - Position 2: Relevant → Precision = 2/3 = 0.67
139
145
  - Position 3: Skip (irrelevant)
140
146
 
@@ -146,15 +152,15 @@ MAP = (1.0 + 0.67) / 2 = 0.835 ≈ **0.83**
146
152
 
147
153
  ```typescript
148
154
  const scorer = createContextPrecisionScorer({
149
- model: 'openai/gpt-4o-mini',
155
+ model: "openai/gpt-4o-mini",
150
156
  options: {
151
157
  contextExtractor: (input, output) => {
152
158
  // Extract context dynamically based on the query
153
- const query = input?.inputMessages?.[0]?.content || '';
154
-
159
+ const query = input?.inputMessages?.[0]?.content || "";
160
+
155
161
  // Example: Retrieve from a vector database
156
162
  const searchResults = vectorDB.search(query, { limit: 10 });
157
- return searchResults.map(result => result.content);
163
+ return searchResults.map((result) => result.content);
158
164
  },
159
165
  scale: 1,
160
166
  },
@@ -165,15 +171,15 @@ const scorer = createContextPrecisionScorer({
165
171
 
166
172
  ```typescript
167
173
  const scorer = createContextPrecisionScorer({
168
- model: 'openai/gpt-4o-mini',
174
+ model: "openai/gpt-4o-mini",
169
175
  options: {
170
176
  context: [
171
177
  // Simulate retrieved documents from vector database
172
- 'Document 1: Highly relevant content...',
173
- 'Document 2: Somewhat related content...',
174
- 'Document 3: Tangentially related...',
175
- 'Document 4: Not relevant...',
176
- 'Document 5: Highly relevant content...',
178
+ "Document 1: Highly relevant content...",
179
+ "Document 2: Somewhat related content...",
180
+ "Document 3: Tangentially related...",
181
+ "Document 4: Not relevant...",
182
+ "Document 5: Highly relevant content...",
177
183
  // ... up to dozens of context pieces
178
184
  ],
179
185
  },
@@ -187,15 +193,15 @@ const scorer = createContextPrecisionScorer({
187
193
  This example shows perfect context precision where all relevant context appears early:
188
194
 
189
195
  ```typescript
190
- import { createContextPrecisionScorer } from '@mastra/evals';
196
+ import { createContextPrecisionScorer } from "@mastra/evals";
191
197
 
192
198
  const scorer = createContextPrecisionScorer({
193
- model: 'openai/gpt-4o-mini',
199
+ model: "openai/gpt-4o-mini",
194
200
  options: {
195
201
  context: [
196
- 'Photosynthesis is the process by which plants convert sunlight, carbon dioxide, and water into glucose and oxygen.',
197
- 'The process occurs in the chloroplasts of plant cells, specifically in the thylakoids.',
198
- 'Light-dependent reactions happen in the thylakoid membranes, while the Calvin cycle occurs in the stroma.',
202
+ "Photosynthesis is the process by which plants convert sunlight, carbon dioxide, and water into glucose and oxygen.",
203
+ "The process occurs in the chloroplasts of plant cells, specifically in the thylakoids.",
204
+ "Light-dependent reactions happen in the thylakoid membranes, while the Calvin cycle occurs in the stroma.",
199
205
  ],
200
206
  scale: 1,
201
207
  },
@@ -205,17 +211,18 @@ const result = await scorer.run({
205
211
  input: {
206
212
  inputMessages: [
207
213
  {
208
- id: '1',
209
- role: 'user',
210
- content: 'How does photosynthesis work in plants?',
214
+ id: "1",
215
+ role: "user",
216
+ content: "How does photosynthesis work in plants?",
211
217
  },
212
218
  ],
213
219
  },
214
220
  output: [
215
221
  {
216
- id: '2',
217
- role: 'assistant',
218
- content: 'Photosynthesis is the process where plants convert sunlight, CO2, and water into glucose and oxygen using chloroplasts.',
222
+ id: "2",
223
+ role: "assistant",
224
+ content:
225
+ "Photosynthesis is the process where plants convert sunlight, CO2, and water into glucose and oxygen using chloroplasts.",
219
226
  },
220
227
  ],
221
228
  });
@@ -233,17 +240,17 @@ console.log(result);
233
240
  This example shows moderate precision with both relevant and irrelevant context:
234
241
 
235
242
  ```typescript
236
- import { createContextPrecisionScorer } from '@mastra/evals';
243
+ import { createContextPrecisionScorer } from "@mastra/evals";
237
244
 
238
245
  const scorer = createContextPrecisionScorer({
239
- model: 'openai/gpt-4o-mini',
246
+ model: "openai/gpt-4o-mini",
240
247
  options: {
241
248
  context: [
242
- 'Regular exercise improves cardiovascular health by strengthening the heart muscle.',
243
- 'A balanced diet should include fruits, vegetables, and whole grains.',
244
- 'Physical activity releases endorphins which improve mood and reduce stress.',
245
- 'The average person should drink 8 glasses of water per day.',
246
- 'Exercise also helps maintain healthy body weight and muscle mass.',
249
+ "Regular exercise improves cardiovascular health by strengthening the heart muscle.",
250
+ "A balanced diet should include fruits, vegetables, and whole grains.",
251
+ "Physical activity releases endorphins which improve mood and reduce stress.",
252
+ "The average person should drink 8 glasses of water per day.",
253
+ "Exercise also helps maintain healthy body weight and muscle mass.",
247
254
  ],
248
255
  scale: 1,
249
256
  },
@@ -253,17 +260,18 @@ const result = await scorer.run({
253
260
  input: {
254
261
  inputMessages: [
255
262
  {
256
- id: '1',
257
- role: 'user',
258
- content: 'What are the mental and physical benefits of exercise?',
263
+ id: "1",
264
+ role: "user",
265
+ content: "What are the mental and physical benefits of exercise?",
259
266
  },
260
267
  ],
261
268
  },
262
269
  output: [
263
270
  {
264
- id: '2',
265
- role: 'assistant',
266
- content: 'Exercise provides cardiovascular benefits, improves mood through endorphin release, and helps maintain healthy body composition.',
271
+ id: "2",
272
+ role: "assistant",
273
+ content:
274
+ "Exercise provides cardiovascular benefits, improves mood through endorphin release, and helps maintain healthy body composition.",
267
275
  },
268
276
  ],
269
277
  });
@@ -276,22 +284,22 @@ console.log(result);
276
284
  // }
277
285
  ```
278
286
 
279
- ### Low precision example
287
+ ### Low precision example
280
288
 
281
289
  This example shows poor context precision with mostly irrelevant context:
282
290
 
283
291
  ```typescript
284
- import { createContextPrecisionScorer } from '@mastra/evals';
292
+ import { createContextPrecisionScorer } from "@mastra/evals";
285
293
 
286
294
  const scorer = createContextPrecisionScorer({
287
- model: 'openai/gpt-4o-mini',
295
+ model: "openai/gpt-4o-mini",
288
296
  options: {
289
297
  context: [
290
- 'The weather forecast shows sunny skies this weekend.',
291
- 'Coffee is one of the world\'s most popular beverages.',
292
- 'Machine learning requires large amounts of training data.',
293
- 'Cats typically sleep 12-16 hours per day.',
294
- 'The capital of France is Paris.',
298
+ "The weather forecast shows sunny skies this weekend.",
299
+ "Coffee is one of the world's most popular beverages.",
300
+ "Machine learning requires large amounts of training data.",
301
+ "Cats typically sleep 12-16 hours per day.",
302
+ "The capital of France is Paris.",
295
303
  ],
296
304
  scale: 1,
297
305
  },
@@ -301,17 +309,18 @@ const result = await scorer.run({
301
309
  input: {
302
310
  inputMessages: [
303
311
  {
304
- id: '1',
305
- role: 'user',
306
- content: 'How does photosynthesis work?',
312
+ id: "1",
313
+ role: "user",
314
+ content: "How does photosynthesis work?",
307
315
  },
308
316
  ],
309
317
  },
310
318
  output: [
311
319
  {
312
- id: '2',
313
- role: 'assistant',
314
- content: 'Photosynthesis is the process by which plants convert sunlight into energy using chlorophyll.',
320
+ id: "2",
321
+ role: "assistant",
322
+ content:
323
+ "Photosynthesis is the process by which plants convert sunlight into energy using chlorophyll.",
315
324
  },
316
325
  ],
317
326
  });
@@ -328,16 +337,16 @@ console.log(result);
328
337
 
329
338
  Choose the right scorer for your needs:
330
339
 
331
- | Use Case | Context Relevance | Context Precision |
332
- |----------|-------------------|-------------------|
333
- | **RAG evaluation** | When usage matters | When ranking matters |
334
- | **Context quality** | Nuanced levels | Binary relevance |
335
- | **Missing detection** | ✓ Identifies gaps | ✗ Not evaluated |
336
- | **Usage tracking** | ✓ Tracks utilization | ✗ Not considered |
337
- | **Position sensitivity** | ✗ Position agnostic | ✓ Rewards early placement |
340
+ | Use Case | Context Relevance | Context Precision |
341
+ | ------------------------ | -------------------- | ------------------------- |
342
+ | **RAG evaluation** | When usage matters | When ranking matters |
343
+ | **Context quality** | Nuanced levels | Binary relevance |
344
+ | **Missing detection** | ✓ Identifies gaps | ✗ Not evaluated |
345
+ | **Usage tracking** | ✓ Tracks utilization | ✗ Not considered |
346
+ | **Position sensitivity** | ✗ Position agnostic | ✓ Rewards early placement |
338
347
 
339
348
  ## Related
340
349
 
341
350
  - [Answer Relevancy Scorer](/reference/scorers/answer-relevancy) - Evaluates if answers address the question
342
351
  - [Faithfulness Scorer](/reference/scorers/faithfulness) - Measures answer groundedness in context
343
- - [Custom Scorers](/docs/scorers/custom-scorers) - Creating your own evaluation metrics
352
+ - [Custom Scorers](/docs/scorers/custom-scorers) - Creating your own evaluation metrics