@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: Tool Call Accuracy | Scorers | Mastra Docs"
2
+ title: "Reference: Tool Call Accuracy Scorers | Scorers | Mastra Docs"
3
3
  description: Documentation for the Tool Call Accuracy Scorers in Mastra, which evaluate whether LLM outputs call the correct tools from available options.
4
4
  ---
5
5
 
@@ -39,20 +39,23 @@ The `createToolCallAccuracyScorerCode()` function from `@mastra/evals/scorers/co
39
39
  {
40
40
  name: "expectedTool",
41
41
  type: "string",
42
- description: "The name of the tool that should be called for the given task. Ignored when expectedToolOrder is provided.",
42
+ description:
43
+ "The name of the tool that should be called for the given task. Ignored when expectedToolOrder is provided.",
43
44
  required: false,
44
45
  },
45
46
  {
46
47
  name: "strictMode",
47
48
  type: "boolean",
48
- description: "Controls evaluation strictness. For single tool mode: only exact single tool calls accepted. For order checking mode: tools must match exactly with no extra tools allowed.",
49
+ description:
50
+ "Controls evaluation strictness. For single tool mode: only exact single tool calls accepted. For order checking mode: tools must match exactly with no extra tools allowed.",
49
51
  required: false,
50
52
  default: "false",
51
53
  },
52
54
  {
53
55
  name: "expectedToolOrder",
54
56
  type: "string[]",
55
- description: "Array of tool names in the expected calling order. When provided, enables order checking mode and ignores expectedTool parameter.",
57
+ description:
58
+ "Array of tool names in the expected calling order. When provided, enables order checking mode and ignores expectedTool parameter.",
56
59
  required: false,
57
60
  },
58
61
  ]}
@@ -88,22 +91,22 @@ When `expectedToolOrder` is provided, the scorer validates tool calling sequence
88
91
 
89
92
  ```typescript showLineNumbers copy
90
93
  // Standard mode - passes if expected tool is called
91
- const lenientScorer = createCodeScorer({
92
- expectedTool: 'search-tool',
93
- strictMode: false
94
+ const lenientScorer = createCodeScorer({
95
+ expectedTool: "search-tool",
96
+ strictMode: false,
94
97
  });
95
98
 
96
99
  // Strict mode - only passes if exactly one tool is called
97
- const strictScorer = createCodeScorer({
98
- expectedTool: 'search-tool',
99
- strictMode: true
100
+ const strictScorer = createCodeScorer({
101
+ expectedTool: "search-tool",
102
+ strictMode: true,
100
103
  });
101
104
 
102
105
  // Order checking with strict mode
103
106
  const strictOrderScorer = createCodeScorer({
104
- expectedTool: 'step1-tool',
105
- expectedToolOrder: ['step1-tool', 'step2-tool', 'step3-tool'],
106
- strictMode: true // no extra tools allowed
107
+ expectedTool: "step1-tool",
108
+ expectedToolOrder: ["step1-tool", "step2-tool", "step3-tool"],
109
+ strictMode: true, // no extra tools allowed
107
110
  });
108
111
  ```
109
112
 
@@ -132,35 +135,35 @@ The code-based scorer provides deterministic, binary scoring (0 or 1) based on e
132
135
 
133
136
  ### Correct tool selection
134
137
 
135
- ```typescript filename="src/example-correct-tool.ts" showLineNumbers copy
136
- const scorer = createToolCallAccuracyScorerCode({
137
- expectedTool: 'weather-tool'
138
+ ```typescript title="src/example-correct-tool.ts" showLineNumbers copy
139
+ const scorer = createToolCallAccuracyScorerCode({
140
+ expectedTool: "weather-tool",
138
141
  });
139
142
 
140
143
  // Simulate LLM input and output with tool call
141
144
  const inputMessages = [
142
- createUIMessage({
143
- content: 'What is the weather like in New York today?',
144
- role: 'user',
145
- id: 'input-1'
146
- })
145
+ createUIMessage({
146
+ content: "What is the weather like in New York today?",
147
+ role: "user",
148
+ id: "input-1",
149
+ }),
147
150
  ];
148
151
 
149
152
  const output = [
150
153
  createUIMessage({
151
- content: 'Let me check the weather for you.',
152
- role: 'assistant',
153
- id: 'output-1',
154
+ content: "Let me check the weather for you.",
155
+ role: "assistant",
156
+ id: "output-1",
154
157
  toolInvocations: [
155
158
  createToolInvocation({
156
- toolCallId: 'call-123',
157
- toolName: 'weather-tool',
158
- args: { location: 'New York' },
159
- result: { temperature: '72°F', condition: 'sunny' },
160
- state: 'result'
161
- })
162
- ]
163
- })
159
+ toolCallId: "call-123",
160
+ toolName: "weather-tool",
161
+ args: { location: "New York" },
162
+ result: { temperature: "72°F", condition: "sunny" },
163
+ state: "result",
164
+ }),
165
+ ],
166
+ }),
164
167
  ];
165
168
 
166
169
  const run = createAgentTestRun({ inputMessages, output });
@@ -174,35 +177,35 @@ console.log(result.preprocessStepResult?.correctToolCalled); // true
174
177
 
175
178
  Only passes if exactly one tool is called:
176
179
 
177
- ```typescript filename="src/example-strict-mode.ts" showLineNumbers copy
178
- const strictScorer = createToolCallAccuracyScorerCode({
179
- expectedTool: 'weather-tool',
180
- strictMode: true
180
+ ```typescript title="src/example-strict-mode.ts" showLineNumbers copy
181
+ const strictScorer = createToolCallAccuracyScorerCode({
182
+ expectedTool: "weather-tool",
183
+ strictMode: true,
181
184
  });
182
185
 
183
186
  // Multiple tools called - fails in strict mode
184
187
  const output = [
185
188
  createUIMessage({
186
- content: 'Let me help you with that.',
187
- role: 'assistant',
188
- id: 'output-1',
189
+ content: "Let me help you with that.",
190
+ role: "assistant",
191
+ id: "output-1",
189
192
  toolInvocations: [
190
193
  createToolInvocation({
191
- toolCallId: 'call-1',
192
- toolName: 'search-tool',
194
+ toolCallId: "call-1",
195
+ toolName: "search-tool",
193
196
  args: {},
194
197
  result: {},
195
- state: 'result',
198
+ state: "result",
196
199
  }),
197
200
  createToolInvocation({
198
- toolCallId: 'call-2',
199
- toolName: 'weather-tool',
200
- args: { location: 'New York' },
201
- result: { temperature: '20°C' },
202
- state: 'result',
203
- })
204
- ]
205
- })
201
+ toolCallId: "call-2",
202
+ toolName: "weather-tool",
203
+ args: { location: "New York" },
204
+ result: { temperature: "20°C" },
205
+ state: "result",
206
+ }),
207
+ ],
208
+ }),
206
209
  ];
207
210
 
208
211
  const result = await strictScorer.run(run);
@@ -213,35 +216,35 @@ console.log(result.score); // 0 - fails because multiple tools were called
213
216
 
214
217
  Validates that tools are called in a specific sequence:
215
218
 
216
- ```typescript filename="src/example-order-validation.ts" showLineNumbers copy
219
+ ```typescript title="src/example-order-validation.ts" showLineNumbers copy
217
220
  const orderScorer = createToolCallAccuracyScorerCode({
218
- expectedTool: 'auth-tool', // ignored when order is specified
219
- expectedToolOrder: ['auth-tool', 'fetch-tool'],
220
- strictMode: true // no extra tools allowed
221
+ expectedTool: "auth-tool", // ignored when order is specified
222
+ expectedToolOrder: ["auth-tool", "fetch-tool"],
223
+ strictMode: true, // no extra tools allowed
221
224
  });
222
225
 
223
226
  const output = [
224
227
  createUIMessage({
225
- content: 'I will authenticate and fetch the data.',
226
- role: 'assistant',
227
- id: 'output-1',
228
+ content: "I will authenticate and fetch the data.",
229
+ role: "assistant",
230
+ id: "output-1",
228
231
  toolInvocations: [
229
232
  createToolInvocation({
230
- toolCallId: 'call-1',
231
- toolName: 'auth-tool',
232
- args: { token: 'abc123' },
233
+ toolCallId: "call-1",
234
+ toolName: "auth-tool",
235
+ args: { token: "abc123" },
233
236
  result: { authenticated: true },
234
- state: 'result'
237
+ state: "result",
235
238
  }),
236
239
  createToolInvocation({
237
- toolCallId: 'call-2',
238
- toolName: 'fetch-tool',
239
- args: { endpoint: '/data' },
240
- result: { data: ['item1'] },
241
- state: 'result'
242
- })
243
- ]
244
- })
240
+ toolCallId: "call-2",
241
+ toolName: "fetch-tool",
242
+ args: { endpoint: "/data" },
243
+ result: { data: ["item1"] },
244
+ state: "result",
245
+ }),
246
+ ],
247
+ }),
245
248
  ];
246
249
 
247
250
  const result = await orderScorer.run(run);
@@ -252,42 +255,42 @@ console.log(result.score); // 1 - correct order
252
255
 
253
256
  Allows extra tools as long as expected tools maintain relative order:
254
257
 
255
- ```typescript filename="src/example-flexible-order.ts" showLineNumbers copy
258
+ ```typescript title="src/example-flexible-order.ts" showLineNumbers copy
256
259
  const flexibleOrderScorer = createToolCallAccuracyScorerCode({
257
- expectedTool: 'auth-tool',
258
- expectedToolOrder: ['auth-tool', 'fetch-tool'],
259
- strictMode: false // allows extra tools
260
+ expectedTool: "auth-tool",
261
+ expectedToolOrder: ["auth-tool", "fetch-tool"],
262
+ strictMode: false, // allows extra tools
260
263
  });
261
264
 
262
265
  const output = [
263
266
  createUIMessage({
264
- content: 'Performing comprehensive operation.',
265
- role: 'assistant',
266
- id: 'output-1',
267
+ content: "Performing comprehensive operation.",
268
+ role: "assistant",
269
+ id: "output-1",
267
270
  toolInvocations: [
268
271
  createToolInvocation({
269
- toolCallId: 'call-1',
270
- toolName: 'auth-tool',
271
- args: { token: 'abc123' },
272
+ toolCallId: "call-1",
273
+ toolName: "auth-tool",
274
+ args: { token: "abc123" },
272
275
  result: { authenticated: true },
273
- state: 'result'
276
+ state: "result",
274
277
  }),
275
278
  createToolInvocation({
276
- toolCallId: 'call-2',
277
- toolName: 'log-tool', // Extra tool - OK in flexible mode
278
- args: { message: 'Starting fetch' },
279
+ toolCallId: "call-2",
280
+ toolName: "log-tool", // Extra tool - OK in flexible mode
281
+ args: { message: "Starting fetch" },
279
282
  result: { logged: true },
280
- state: 'result'
283
+ state: "result",
281
284
  }),
282
285
  createToolInvocation({
283
- toolCallId: 'call-3',
284
- toolName: 'fetch-tool',
285
- args: { endpoint: '/data' },
286
- result: { data: ['item1'] },
287
- state: 'result'
288
- })
289
- ]
290
- })
286
+ toolCallId: "call-3",
287
+ toolName: "fetch-tool",
288
+ args: { endpoint: "/data" },
289
+ result: { data: ["item1"] },
290
+ state: "result",
291
+ }),
292
+ ],
293
+ }),
291
294
  ];
292
295
 
293
296
  const result = await flexibleOrderScorer.run(run);
@@ -311,7 +314,8 @@ The `createToolCallAccuracyScorerLLM()` function from `@mastra/evals/scorers/llm
311
314
  {
312
315
  name: "availableTools",
313
316
  type: "Array<{name: string, description: string}>",
314
- description: "List of available tools with their descriptions for context",
317
+ description:
318
+ "List of available tools with their descriptions for context",
315
319
  required: true,
316
320
  },
317
321
  ]}
@@ -383,48 +387,48 @@ The LLM-based scorer uses AI to evaluate whether tool selections are appropriate
383
387
 
384
388
  ### Basic LLM evaluation
385
389
 
386
- ```typescript filename="src/example-llm-basic.ts" showLineNumbers copy
390
+ ```typescript title="src/example-llm-basic.ts" showLineNumbers copy
387
391
  const llmScorer = createToolCallAccuracyScorerLLM({
388
- model: 'openai/gpt-4o-mini',
392
+ model: "openai/gpt-4o-mini",
389
393
  availableTools: [
390
- {
391
- name: 'weather-tool',
392
- description: 'Get current weather information for any location'
394
+ {
395
+ name: "weather-tool",
396
+ description: "Get current weather information for any location",
393
397
  },
394
- {
395
- name: 'calendar-tool',
396
- description: 'Check calendar events and scheduling'
398
+ {
399
+ name: "calendar-tool",
400
+ description: "Check calendar events and scheduling",
397
401
  },
398
- {
399
- name: 'search-tool',
400
- description: 'Search the web for general information'
401
- }
402
- ]
402
+ {
403
+ name: "search-tool",
404
+ description: "Search the web for general information",
405
+ },
406
+ ],
403
407
  });
404
408
 
405
409
  const inputMessages = [
406
- createUIMessage({
407
- content: 'What is the weather like in San Francisco today?',
408
- role: 'user',
409
- id: 'input-1'
410
- })
410
+ createUIMessage({
411
+ content: "What is the weather like in San Francisco today?",
412
+ role: "user",
413
+ id: "input-1",
414
+ }),
411
415
  ];
412
416
 
413
417
  const output = [
414
418
  createUIMessage({
415
- content: 'Let me check the current weather for you.',
416
- role: 'assistant',
417
- id: 'output-1',
419
+ content: "Let me check the current weather for you.",
420
+ role: "assistant",
421
+ id: "output-1",
418
422
  toolInvocations: [
419
423
  createToolInvocation({
420
- toolCallId: 'call-123',
421
- toolName: 'weather-tool',
422
- args: { location: 'San Francisco', date: 'today' },
423
- result: { temperature: '68°F', condition: 'foggy' },
424
- state: 'result'
425
- })
426
- ]
427
- })
424
+ toolCallId: "call-123",
425
+ toolName: "weather-tool",
426
+ args: { location: "San Francisco", date: "today" },
427
+ result: { temperature: "68°F", condition: "foggy" },
428
+ state: "result",
429
+ }),
430
+ ],
431
+ }),
428
432
  ];
429
433
 
430
434
  const run = createAgentTestRun({ inputMessages, output });
@@ -436,30 +440,30 @@ console.log(result.reason); // "The agent correctly used the weather-tool to add
436
440
 
437
441
  ### Handling inappropriate tool usage
438
442
 
439
- ```typescript filename="src/example-llm-inappropriate.ts" showLineNumbers copy
443
+ ```typescript title="src/example-llm-inappropriate.ts" showLineNumbers copy
440
444
  const inputMessages = [
441
- createUIMessage({
442
- content: 'What is the weather in Tokyo?',
443
- role: 'user',
444
- id: 'input-1'
445
- })
445
+ createUIMessage({
446
+ content: "What is the weather in Tokyo?",
447
+ role: "user",
448
+ id: "input-1",
449
+ }),
446
450
  ];
447
451
 
448
452
  const inappropriateOutput = [
449
453
  createUIMessage({
450
- content: 'Let me search for that information.',
451
- role: 'assistant',
452
- id: 'output-1',
454
+ content: "Let me search for that information.",
455
+ role: "assistant",
456
+ id: "output-1",
453
457
  toolInvocations: [
454
458
  createToolInvocation({
455
- toolCallId: 'call-456',
456
- toolName: 'search-tool', // Less appropriate than weather-tool
457
- args: { query: 'Tokyo weather' },
458
- result: { results: ['Tokyo weather data...'] },
459
- state: 'result'
460
- })
461
- ]
462
- })
459
+ toolCallId: "call-456",
460
+ toolName: "search-tool", // Less appropriate than weather-tool
461
+ args: { query: "Tokyo weather" },
462
+ result: { results: ["Tokyo weather data..."] },
463
+ state: "result",
464
+ }),
465
+ ],
466
+ }),
463
467
  ];
464
468
 
465
469
  const run = createAgentTestRun({ inputMessages, output: inappropriateOutput });
@@ -473,12 +477,12 @@ console.log(result.reason); // "The agent used search-tool when weather-tool wou
473
477
 
474
478
  The LLM scorer recognizes when agents appropriately ask for clarification:
475
479
 
476
- ```typescript filename="src/example-llm-clarification.ts" showLineNumbers copy
480
+ ```typescript title="src/example-llm-clarification.ts" showLineNumbers copy
477
481
  const vagueInput = [
478
- createUIMessage({
479
- content: 'I need help with something',
480
- role: 'user',
481
- id: 'input-1'
482
+ createUIMessage({
483
+ content: 'I need help with something',
484
+ role: 'user',
485
+ id: 'input-1'
482
486
  })
483
487
  ];
484
488
 
@@ -491,9 +495,9 @@ const clarificationOutput = [
491
495
  })
492
496
  ];
493
497
 
494
- const run = createAgentTestRun({
495
- inputMessages: vagueInput,
496
- output: clarificationOutput
498
+ const run = createAgentTestRun({
499
+ inputMessages: vagueInput,
500
+ output: clarificationOutput
497
501
  });
498
502
  const result = await llmScorer.run(run);
499
503
 
@@ -505,58 +509,58 @@ console.log(result.reason); // "The agent appropriately asked for clarification
505
509
 
506
510
  Here's an example using both scorers on the same data:
507
511
 
508
- ```typescript filename="src/example-comparison.ts" showLineNumbers copy
509
- import { createToolCallAccuracyScorerCode as createCodeScorer } from '@mastra/evals/scorers/code';
510
- import { createToolCallAccuracyScorerLLM as createLLMScorer } from '@mastra/evals/scorers/llm';
512
+ ```typescript title="src/example-comparison.ts" showLineNumbers copy
513
+ import { createToolCallAccuracyScorerCode as createCodeScorer } from "@mastra/evals/scorers/code";
514
+ import { createToolCallAccuracyScorerLLM as createLLMScorer } from "@mastra/evals/scorers/llm";
511
515
 
512
516
  // Setup both scorers
513
517
  const codeScorer = createCodeScorer({
514
- expectedTool: 'weather-tool',
515
- strictMode: false
518
+ expectedTool: "weather-tool",
519
+ strictMode: false,
516
520
  });
517
521
 
518
522
  const llmScorer = createLLMScorer({
519
- model: 'openai/gpt-4o-mini',
523
+ model: "openai/gpt-4o-mini",
520
524
  availableTools: [
521
- { name: 'weather-tool', description: 'Get weather information' },
522
- { name: 'search-tool', description: 'Search the web' }
523
- ]
525
+ { name: "weather-tool", description: "Get weather information" },
526
+ { name: "search-tool", description: "Search the web" },
527
+ ],
524
528
  });
525
529
 
526
530
  // Test data
527
531
  const run = createAgentTestRun({
528
532
  inputMessages: [
529
- createUIMessage({
530
- content: 'What is the weather?',
531
- role: 'user',
532
- id: 'input-1'
533
- })
533
+ createUIMessage({
534
+ content: "What is the weather?",
535
+ role: "user",
536
+ id: "input-1",
537
+ }),
534
538
  ],
535
539
  output: [
536
540
  createUIMessage({
537
- content: 'Let me find that information.',
538
- role: 'assistant',
539
- id: 'output-1',
541
+ content: "Let me find that information.",
542
+ role: "assistant",
543
+ id: "output-1",
540
544
  toolInvocations: [
541
545
  createToolInvocation({
542
- toolCallId: 'call-1',
543
- toolName: 'search-tool',
544
- args: { query: 'weather' },
545
- result: { results: ['weather data'] },
546
- state: 'result'
547
- })
548
- ]
549
- })
550
- ]
546
+ toolCallId: "call-1",
547
+ toolName: "search-tool",
548
+ args: { query: "weather" },
549
+ result: { results: ["weather data"] },
550
+ state: "result",
551
+ }),
552
+ ],
553
+ }),
554
+ ],
551
555
  });
552
556
 
553
557
  // Run both scorers
554
558
  const codeResult = await codeScorer.run(run);
555
559
  const llmResult = await llmScorer.run(run);
556
560
 
557
- console.log('Code Scorer:', codeResult.score); // 0 - wrong tool
558
- console.log('LLM Scorer:', llmResult.score); // 0.3 - partially appropriate
559
- console.log('LLM Reason:', llmResult.reason); // Explains why search-tool is less appropriate
561
+ console.log("Code Scorer:", codeResult.score); // 0 - wrong tool
562
+ console.log("LLM Scorer:", llmResult.score); // 0.3 - partially appropriate
563
+ console.log("LLM Reason:", llmResult.reason); // Explains why search-tool is less appropriate
560
564
  ```
561
565
 
562
566
  ## Related