@mastra/mcp-docs-server 0.13.39 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +1 -0
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +36 -36
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +0 -10
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +40 -40
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +4 -14
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +223 -223
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +7 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +214 -214
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +74 -74
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +209 -209
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +191 -191
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +34 -34
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +5 -13
- package/.docs/organized/changelogs/%40mastra%2Flance.md +182 -182
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +58 -58
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +65 -65
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +228 -228
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +197 -197
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +217 -217
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Frag.md +61 -61
- package/.docs/organized/changelogs/%40mastra%2Freact.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -17
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -30
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +21 -21
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +20 -20
- package/.docs/organized/changelogs/create-mastra.md +33 -33
- package/.docs/organized/changelogs/mastra.md +86 -86
- package/.docs/organized/code-examples/a2a.md +4 -2
- package/.docs/organized/code-examples/agui.md +12 -9
- package/.docs/organized/code-examples/ai-sdk-useChat.md +12 -18
- package/.docs/organized/code-examples/ai-sdk-v5.md +4 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +5 -4
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +4 -3
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +4 -3
- package/.docs/organized/code-examples/client-side-tools.md +1 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +8 -177
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +10 -7
- package/.docs/organized/code-examples/mcp-configuration.md +5 -3
- package/.docs/organized/code-examples/mcp-registry-registry.md +3 -2
- package/.docs/organized/code-examples/memory-per-resource-example.md +4 -2
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -0
- package/.docs/organized/code-examples/memory-with-context.md +2 -1
- package/.docs/organized/code-examples/memory-with-libsql.md +4 -2
- package/.docs/organized/code-examples/memory-with-mongodb.md +4 -2
- package/.docs/organized/code-examples/memory-with-pg.md +4 -2
- package/.docs/organized/code-examples/memory-with-processors.md +13 -8
- package/.docs/organized/code-examples/memory-with-upstash.md +5 -3
- package/.docs/organized/code-examples/openapi-spec-writer.md +32 -41
- package/.docs/organized/code-examples/quick-start.md +5 -32
- package/.docs/organized/code-examples/stock-price-tool.md +6 -5
- package/.docs/organized/code-examples/weather-agent.md +21 -16
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +3 -2
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +9 -12
- package/.docs/organized/code-examples/workflow-with-memory.md +16 -15
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +2 -2
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +3 -2
- package/.docs/raw/agents/adding-voice.mdx +27 -22
- package/.docs/raw/agents/agent-memory.mdx +23 -15
- package/.docs/raw/agents/guardrails.mdx +33 -12
- package/.docs/raw/agents/networks.mdx +8 -4
- package/.docs/raw/agents/overview.mdx +21 -15
- package/.docs/raw/agents/using-tools.mdx +11 -8
- package/.docs/raw/auth/auth0.mdx +8 -8
- package/.docs/raw/auth/clerk.mdx +6 -6
- package/.docs/raw/auth/firebase.mdx +8 -8
- package/.docs/raw/auth/index.mdx +6 -6
- package/.docs/raw/auth/jwt.mdx +6 -6
- package/.docs/raw/auth/supabase.mdx +7 -7
- package/.docs/raw/auth/workos.mdx +8 -8
- package/.docs/raw/community/contributing-templates.mdx +3 -3
- package/.docs/raw/community/discord.mdx +1 -1
- package/.docs/raw/course/01-first-agent/08-exporting-your-agent.md +2 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +2 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -0
- package/.docs/raw/course/03-agent-memory/10-storage-configuration.md +2 -3
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +2 -0
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -0
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -0
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +1 -0
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -0
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +1 -0
- package/.docs/raw/course/04-workflows/08-running-workflows-programmatically.md +2 -2
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +7 -5
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +4 -4
- package/.docs/raw/deployment/cloud-providers/index.mdx +11 -8
- package/.docs/raw/deployment/monorepo.mdx +2 -2
- package/.docs/raw/deployment/overview.mdx +2 -2
- package/.docs/raw/deployment/server-deployment.mdx +2 -10
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +4 -4
- package/.docs/raw/deployment/serverless-platforms/index.mdx +10 -7
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +4 -4
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +4 -4
- package/.docs/raw/deployment/web-framework.mdx +8 -8
- package/.docs/raw/{scorers → evals}/custom-scorers.mdx +6 -6
- package/.docs/raw/evals/off-the-shelf-scorers.mdx +50 -0
- package/.docs/raw/{scorers → evals}/overview.mdx +8 -8
- package/.docs/raw/evals/running-in-ci.mdx +113 -0
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +22 -21
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +8 -8
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +3 -0
- package/.docs/raw/frameworks/servers/express.mdx +10 -9
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +6 -6
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +3 -3
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +4 -4
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +2 -2
- package/.docs/raw/getting-started/installation.mdx +13 -12
- package/.docs/raw/getting-started/mcp-docs-server.mdx +1 -1
- package/.docs/raw/getting-started/project-structure.mdx +4 -4
- package/.docs/raw/getting-started/studio.mdx +8 -8
- package/.docs/raw/getting-started/templates.mdx +1 -1
- package/.docs/raw/guides/guide/ai-recruiter.mdx +264 -0
- package/.docs/raw/guides/guide/chef-michel.mdx +271 -0
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +450 -0
- package/.docs/raw/guides/guide/research-assistant.mdx +389 -0
- package/.docs/raw/guides/guide/stock-agent.mdx +185 -0
- package/.docs/raw/guides/guide/web-search.mdx +291 -0
- package/.docs/raw/guides/index.mdx +43 -0
- package/.docs/raw/guides/migrations/agentnetwork.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/_template.mdx +50 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +265 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +48 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +153 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +230 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +171 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +241 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +83 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +62 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +270 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +115 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +280 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +23 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +39 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +178 -0
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +367 -0
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/{observability/logging.mdx → logging.mdx} +4 -4
- package/.docs/raw/mastra-cloud/dashboard.mdx +2 -2
- package/.docs/raw/mastra-cloud/observability.mdx +6 -6
- package/.docs/raw/mastra-cloud/overview.mdx +2 -2
- package/.docs/raw/mastra-cloud/setting-up.mdx +4 -4
- package/.docs/raw/memory/conversation-history.mdx +1 -0
- package/.docs/raw/memory/memory-processors.mdx +4 -3
- package/.docs/raw/memory/overview.mdx +9 -5
- package/.docs/raw/memory/semantic-recall.mdx +12 -7
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +10 -5
- package/.docs/raw/memory/storage/memory-with-pg.mdx +9 -4
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +9 -4
- package/.docs/raw/memory/threads-and-resources.mdx +11 -13
- package/.docs/raw/memory/working-memory.mdx +30 -14
- package/.docs/raw/observability/overview.mdx +13 -30
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/arize.mdx +10 -18
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/cloud.mdx +11 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/default.mdx +16 -20
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/otel.mdx +9 -18
- package/.docs/raw/observability/{ai-tracing → tracing}/overview.mdx +107 -142
- package/.docs/raw/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +14 -13
- package/.docs/raw/rag/chunking-and-embedding.mdx +5 -5
- package/.docs/raw/rag/overview.mdx +3 -13
- package/.docs/raw/rag/retrieval.mdx +24 -12
- package/.docs/raw/rag/vector-databases.mdx +7 -1
- package/.docs/raw/reference/agents/agent.mdx +33 -28
- package/.docs/raw/reference/agents/generate.mdx +10 -10
- package/.docs/raw/reference/agents/generateLegacy.mdx +8 -8
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +21 -15
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +69 -0
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +22 -16
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +8 -8
- package/.docs/raw/reference/agents/getLLM.mdx +9 -9
- package/.docs/raw/reference/agents/getMemory.mdx +9 -9
- package/.docs/raw/reference/agents/getModel.mdx +10 -10
- package/.docs/raw/reference/agents/getVoice.mdx +8 -8
- package/.docs/raw/reference/agents/listAgents.mdx +9 -9
- package/.docs/raw/reference/agents/listScorers.mdx +7 -7
- package/.docs/raw/reference/agents/listTools.mdx +7 -7
- package/.docs/raw/reference/agents/listWorkflows.mdx +7 -7
- package/.docs/raw/reference/agents/network.mdx +11 -10
- package/.docs/raw/reference/auth/auth0.mdx +4 -4
- package/.docs/raw/reference/auth/clerk.mdx +4 -4
- package/.docs/raw/reference/auth/firebase.mdx +6 -6
- package/.docs/raw/reference/auth/jwt.mdx +4 -4
- package/.docs/raw/reference/auth/supabase.mdx +4 -4
- package/.docs/raw/reference/auth/workos.mdx +4 -4
- package/.docs/raw/reference/cli/mastra.mdx +7 -7
- package/.docs/raw/reference/client-js/agents.mdx +6 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +7 -7
- package/.docs/raw/reference/client-js/memory.mdx +24 -16
- package/.docs/raw/reference/client-js/observability.mdx +11 -11
- package/.docs/raw/reference/client-js/workflows.mdx +6 -34
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +2 -2
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +31 -15
- package/.docs/raw/reference/core/getMCPServerById.mdx +81 -0
- package/.docs/raw/reference/core/getScorer.mdx +3 -3
- package/.docs/raw/reference/core/getScorerById.mdx +79 -0
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getTelemetry.mdx +2 -2
- package/.docs/raw/reference/core/getVector.mdx +2 -2
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +2 -2
- package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
- package/.docs/raw/reference/core/listMCPServers.mdx +65 -0
- package/.docs/raw/reference/core/listScorers.mdx +3 -3
- package/.docs/raw/reference/core/listVectors.mdx +36 -0
- package/.docs/raw/reference/core/listWorkflows.mdx +6 -6
- package/.docs/raw/reference/core/mastra-class.mdx +3 -2
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +3 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +2 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -6
- package/.docs/raw/reference/deployer/netlify.mdx +2 -2
- package/.docs/raw/reference/deployer/vercel.mdx +3 -3
- package/.docs/raw/reference/evals/answer-relevancy.mdx +164 -126
- package/.docs/raw/reference/{scorers → evals}/answer-similarity.mdx +27 -27
- package/.docs/raw/reference/evals/bias.mdx +149 -115
- package/.docs/raw/reference/evals/completeness.mdx +148 -117
- package/.docs/raw/reference/evals/content-similarity.mdx +126 -113
- package/.docs/raw/reference/evals/context-precision.mdx +290 -133
- package/.docs/raw/reference/{scorers → evals}/context-relevance.mdx +6 -6
- package/.docs/raw/reference/{scorers → evals}/create-scorer.mdx +11 -11
- package/.docs/raw/reference/evals/faithfulness.mdx +163 -121
- package/.docs/raw/reference/evals/hallucination.mdx +159 -132
- package/.docs/raw/reference/evals/keyword-coverage.mdx +169 -125
- package/.docs/raw/reference/{scorers → evals}/mastra-scorer.mdx +5 -5
- package/.docs/raw/reference/{scorers → evals}/noise-sensitivity.mdx +9 -9
- package/.docs/raw/reference/evals/prompt-alignment.mdx +604 -182
- package/.docs/raw/reference/{scorers/run-experiment.mdx → evals/run-evals.mdx} +17 -18
- package/.docs/raw/reference/evals/textual-difference.mdx +149 -117
- package/.docs/raw/reference/evals/tone-consistency.mdx +149 -125
- package/.docs/raw/reference/{scorers → evals}/tool-call-accuracy.mdx +8 -6
- package/.docs/raw/reference/evals/toxicity.mdx +152 -96
- package/.docs/raw/reference/{observability/logging → logging}/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +5 -5
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -7
- package/.docs/raw/reference/memory/getThreadById.mdx +4 -4
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +110 -0
- package/.docs/raw/reference/memory/memory-class.mdx +13 -9
- package/.docs/raw/reference/memory/query.mdx +58 -57
- package/.docs/raw/reference/memory/recall.mdx +185 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +245 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/arize.mdx +13 -13
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +11 -8
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/cloud-exporter.mdx +21 -19
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/console-exporter.mdx +49 -17
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/default-exporter.mdx +42 -41
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/otel.mdx +5 -5
- package/.docs/raw/reference/observability/tracing/instances.mdx +168 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/interfaces.mdx +115 -89
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/reference/observability/{ai-tracing/span.mdx → tracing/spans.mdx} +59 -41
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
- package/.docs/raw/reference/processors/language-detector.mdx +1 -1
- package/.docs/raw/reference/processors/moderation-processor.mdx +1 -1
- package/.docs/raw/reference/processors/pii-detector.mdx +1 -1
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +1 -1
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +1 -1
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +1 -1
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
- package/.docs/raw/reference/rag/chunk.mdx +1 -8
- package/.docs/raw/reference/rag/database-config.mdx +7 -7
- package/.docs/raw/reference/rag/metadata-filters.mdx +14 -11
- package/.docs/raw/reference/storage/libsql.mdx +2 -0
- package/.docs/raw/reference/storage/mssql.mdx +5 -0
- package/.docs/raw/reference/storage/postgresql.mdx +6 -0
- package/.docs/raw/reference/storage/upstash.mdx +1 -0
- package/.docs/raw/reference/streaming/agents/stream.mdx +12 -12
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +8 -8
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +6 -6
- package/.docs/raw/reference/streaming/workflows/stream.mdx +10 -10
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +11 -11
- package/.docs/raw/reference/templates/overview.mdx +2 -2
- package/.docs/raw/reference/tools/create-tool.mdx +52 -35
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +15 -15
- package/.docs/raw/reference/tools/mcp-client.mdx +1 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +119 -35
- package/.docs/raw/reference/tools/vector-query-tool.mdx +27 -26
- package/.docs/raw/reference/vectors/libsql.mdx +1 -0
- package/.docs/raw/reference/vectors/pg.mdx +3 -0
- package/.docs/raw/reference/vectors/upstash.mdx +1 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -4
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +14 -14
- package/.docs/raw/reference/workflows/run-methods/start.mdx +17 -17
- package/.docs/raw/reference/workflows/run.mdx +1 -8
- package/.docs/raw/reference/workflows/step.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -13
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +5 -0
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +1 -1
- package/.docs/raw/server-db/custom-api-routes.mdx +2 -2
- package/.docs/raw/server-db/mastra-client.mdx +19 -18
- package/.docs/raw/server-db/middleware.mdx +7 -7
- package/.docs/raw/server-db/production-server.mdx +4 -4
- package/.docs/raw/server-db/{runtime-context.mdx → request-context.mdx} +46 -45
- package/.docs/raw/server-db/storage.mdx +29 -21
- package/.docs/raw/streaming/events.mdx +3 -3
- package/.docs/raw/streaming/overview.mdx +5 -5
- package/.docs/raw/streaming/tool-streaming.mdx +18 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +1 -1
- package/.docs/raw/tools-mcp/advanced-usage.mdx +5 -4
- package/.docs/raw/tools-mcp/mcp-overview.mdx +32 -19
- package/.docs/raw/tools-mcp/overview.mdx +11 -11
- package/.docs/raw/voice/overview.mdx +63 -43
- package/.docs/raw/voice/speech-to-speech.mdx +5 -3
- package/.docs/raw/voice/speech-to-text.mdx +9 -8
- package/.docs/raw/voice/text-to-speech.mdx +12 -11
- package/.docs/raw/workflows/agents-and-tools.mdx +9 -5
- package/.docs/raw/workflows/control-flow.mdx +3 -3
- package/.docs/raw/workflows/error-handling.mdx +2 -21
- package/.docs/raw/workflows/human-in-the-loop.mdx +7 -4
- package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
- package/.docs/raw/workflows/input-data-mapping.mdx +107 -0
- package/.docs/raw/workflows/overview.mdx +17 -16
- package/.docs/raw/workflows/snapshots.mdx +13 -11
- package/.docs/raw/workflows/suspend-and-resume.mdx +23 -15
- package/CHANGELOG.md +52 -57
- package/README.md +11 -2
- package/dist/{chunk-TUAHUTTB.js → chunk-5NJC7NRO.js} +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/prompts/migration.d.ts +6 -0
- package/dist/prompts/migration.d.ts.map +1 -0
- package/dist/stdio.js +402 -30
- package/dist/tools/migration.d.ts +40 -0
- package/dist/tools/migration.d.ts.map +1 -0
- package/package.json +8 -12
- package/.docs/organized/changelogs/%40mastra%2Fcloud.md +0 -302
- package/.docs/raw/observability/nextjs-tracing.mdx +0 -109
- package/.docs/raw/observability/otel-tracing.mdx +0 -189
- package/.docs/raw/reference/agents/getScorers.mdx +0 -69
- package/.docs/raw/reference/agents/getTools.mdx +0 -69
- package/.docs/raw/reference/agents/getWorkflows.mdx +0 -69
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +0 -143
- package/.docs/raw/reference/core/getAgents.mdx +0 -35
- package/.docs/raw/reference/core/getLogs.mdx +0 -96
- package/.docs/raw/reference/core/getLogsByRunId.mdx +0 -87
- package/.docs/raw/reference/core/getMCPServers.mdx +0 -36
- package/.docs/raw/reference/core/getMemory.mdx +0 -36
- package/.docs/raw/reference/core/getScorerByName.mdx +0 -78
- package/.docs/raw/reference/core/getScorers.mdx +0 -43
- package/.docs/raw/reference/core/getVectors.mdx +0 -36
- package/.docs/raw/reference/core/getWorkflows.mdx +0 -45
- package/.docs/raw/reference/evals/context-position.mdx +0 -197
- package/.docs/raw/reference/evals/context-relevancy.mdx +0 -196
- package/.docs/raw/reference/evals/contextual-recall.mdx +0 -196
- package/.docs/raw/reference/evals/summarization.mdx +0 -212
- package/.docs/raw/reference/legacyWorkflows/after.mdx +0 -89
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +0 -79
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +0 -33
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +0 -76
- package/.docs/raw/reference/legacyWorkflows/else.mdx +0 -68
- package/.docs/raw/reference/legacyWorkflows/events.mdx +0 -305
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +0 -110
- package/.docs/raw/reference/legacyWorkflows/if.mdx +0 -108
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +0 -158
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +0 -133
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +0 -207
- package/.docs/raw/reference/legacyWorkflows/start.mdx +0 -87
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +0 -100
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +0 -137
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +0 -93
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +0 -69
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +0 -196
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +0 -70
- package/.docs/raw/reference/legacyWorkflows/then.mdx +0 -72
- package/.docs/raw/reference/legacyWorkflows/until.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +0 -124
- package/.docs/raw/reference/legacyWorkflows/while.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +0 -234
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +0 -79
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +0 -110
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +0 -185
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +0 -238
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +0 -117
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +0 -81
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +0 -121
- package/.docs/raw/reference/observability/otel-tracing/providers/braintrust.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +0 -20
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +0 -73
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +0 -41
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +0 -84
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +0 -48
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +0 -43
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +0 -40
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +0 -227
- package/.docs/raw/reference/scorers/bias.mdx +0 -228
- package/.docs/raw/reference/scorers/completeness.mdx +0 -214
- package/.docs/raw/reference/scorers/content-similarity.mdx +0 -197
- package/.docs/raw/reference/scorers/context-precision.mdx +0 -352
- package/.docs/raw/reference/scorers/faithfulness.mdx +0 -241
- package/.docs/raw/reference/scorers/hallucination.mdx +0 -252
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +0 -229
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +0 -668
- package/.docs/raw/reference/scorers/textual-difference.mdx +0 -203
- package/.docs/raw/reference/scorers/tone-consistency.mdx +0 -211
- package/.docs/raw/reference/scorers/toxicity.mdx +0 -228
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +0 -73
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +0 -24
- package/.docs/raw/scorers/evals-old-api/overview.mdx +0 -106
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +0 -85
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +0 -58
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +0 -50
- package/.docs/raw/workflows-legacy/control-flow.mdx +0 -774
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +0 -239
- package/.docs/raw/workflows-legacy/error-handling.mdx +0 -187
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +0 -360
- package/.docs/raw/workflows-legacy/overview.mdx +0 -182
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +0 -156
- package/.docs/raw/workflows-legacy/steps.mdx +0 -115
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +0 -406
- package/.docs/raw/workflows-legacy/variables.mdx +0 -318
|
@@ -1,94 +1,68 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference:
|
|
3
|
-
description: Documentation for the Keyword Coverage
|
|
2
|
+
title: "Reference: Keyword Coverage Scorer | Evals | Mastra Docs"
|
|
3
|
+
description: Documentation for the Keyword Coverage Scorer in Mastra, which evaluates how well LLM outputs cover important keywords from the input.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Keyword Coverage Scorer
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
This documentation refers to the legacy evals API. For the latest scorer features, see [Scorers](/docs/scorers/overview).
|
|
10
|
-
:::
|
|
8
|
+
The `createKeywordCoverageScorer()` function evaluates how well an LLM's output covers the important keywords from the input. It analyzes keyword presence and matches while ignoring common words and stop words.
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
## Parameters
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
The `createKeywordCoverageScorer()` function does not take any options.
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
import { KeywordCoverageMetric } from "@mastra/evals/nlp";
|
|
18
|
-
|
|
19
|
-
const metric = new KeywordCoverageMetric();
|
|
20
|
-
|
|
21
|
-
const result = await metric.measure(
|
|
22
|
-
"What are the key features of Python programming language?",
|
|
23
|
-
"Python is a high-level programming language known for its simple syntax and extensive libraries.",
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
console.log(result.score); // Coverage score from 0-1
|
|
27
|
-
console.log(result.info); // Object containing detailed metrics about keyword coverage
|
|
28
|
-
```
|
|
14
|
+
This function returns an instance of the MastraScorer class. See the [MastraScorer reference](./mastra-scorer) for details on the `.run()` method and its input/output.
|
|
29
15
|
|
|
30
|
-
##
|
|
16
|
+
## .run() Returns
|
|
31
17
|
|
|
32
18
|
<PropertiesTable
|
|
33
19
|
content={[
|
|
34
20
|
{
|
|
35
|
-
name: "
|
|
21
|
+
name: "runId",
|
|
36
22
|
type: "string",
|
|
37
|
-
description: "The
|
|
38
|
-
isOptional: false,
|
|
23
|
+
description: "The id of the run (optional).",
|
|
39
24
|
},
|
|
40
25
|
{
|
|
41
|
-
name: "
|
|
42
|
-
type: "
|
|
43
|
-
description:
|
|
44
|
-
|
|
26
|
+
name: "preprocessStepResult",
|
|
27
|
+
type: "object",
|
|
28
|
+
description:
|
|
29
|
+
"Object with extracted keywords: { referenceKeywords: Set<string>, responseKeywords: Set<string> }",
|
|
45
30
|
},
|
|
46
|
-
]}
|
|
47
|
-
/>
|
|
48
|
-
|
|
49
|
-
## Returns
|
|
50
|
-
|
|
51
|
-
<PropertiesTable
|
|
52
|
-
content={[
|
|
53
31
|
{
|
|
54
|
-
name: "
|
|
55
|
-
type: "
|
|
32
|
+
name: "analyzeStepResult",
|
|
33
|
+
type: "object",
|
|
56
34
|
description:
|
|
57
|
-
"
|
|
35
|
+
"Object with keyword coverage: { totalKeywords: number, matchedKeywords: number }",
|
|
58
36
|
},
|
|
59
37
|
{
|
|
60
|
-
name: "
|
|
61
|
-
type: "
|
|
62
|
-
description:
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
type: "number",
|
|
66
|
-
parameters: [
|
|
67
|
-
{
|
|
68
|
-
name: "matchedKeywords",
|
|
69
|
-
type: "number",
|
|
70
|
-
description: "Number of keywords found in the output",
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: "number",
|
|
76
|
-
parameters: [
|
|
77
|
-
{
|
|
78
|
-
name: "totalKeywords",
|
|
79
|
-
type: "number",
|
|
80
|
-
description: "Total number of keywords from the input",
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
},
|
|
84
|
-
],
|
|
38
|
+
name: "score",
|
|
39
|
+
type: "number",
|
|
40
|
+
description:
|
|
41
|
+
"Coverage score (0-1) representing the proportion of matched keywords.",
|
|
85
42
|
},
|
|
86
43
|
]}
|
|
87
44
|
/>
|
|
88
45
|
|
|
46
|
+
`.run()` returns a result in the following shape:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
{
|
|
50
|
+
runId: string,
|
|
51
|
+
extractStepResult: {
|
|
52
|
+
referenceKeywords: Set<string>,
|
|
53
|
+
responseKeywords: Set<string>
|
|
54
|
+
},
|
|
55
|
+
analyzeStepResult: {
|
|
56
|
+
totalKeywords: number,
|
|
57
|
+
matchedKeywords: number
|
|
58
|
+
},
|
|
59
|
+
score: number
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
89
63
|
## Scoring Details
|
|
90
64
|
|
|
91
|
-
The
|
|
65
|
+
The scorer evaluates keyword coverage by matching keywords with the following features:
|
|
92
66
|
|
|
93
67
|
- Common word and stop word filtering (e.g., "the", "a", "and")
|
|
94
68
|
- Case-insensitive matching
|
|
@@ -101,7 +75,6 @@ The metric evaluates keyword coverage by matching keywords with the following fe
|
|
|
101
75
|
- Filters out common words and stop words
|
|
102
76
|
- Normalizes case and word forms
|
|
103
77
|
- Handles special terms and compounds
|
|
104
|
-
|
|
105
78
|
2. Calculates keyword coverage:
|
|
106
79
|
- Matches keywords between texts
|
|
107
80
|
- Counts successful matches
|
|
@@ -111,75 +84,146 @@ Final score: `(matched_keywords / total_keywords) * scale`
|
|
|
111
84
|
|
|
112
85
|
### Score interpretation
|
|
113
86
|
|
|
114
|
-
|
|
87
|
+
A coverage score between 0 and 1:
|
|
88
|
+
|
|
89
|
+
- **1.0**: Complete coverage – all keywords present.
|
|
90
|
+
- **0.7–0.9**: High coverage – most keywords included.
|
|
91
|
+
- **0.4–0.6**: Partial coverage – some keywords present.
|
|
92
|
+
- **0.1–0.3**: Low coverage – few keywords matched.
|
|
93
|
+
- **0.0**: No coverage – no keywords found.
|
|
94
|
+
|
|
95
|
+
### Special Cases
|
|
96
|
+
|
|
97
|
+
The scorer handles several special cases:
|
|
98
|
+
|
|
99
|
+
- Empty input/output: Returns score of 1.0 if both empty, 0.0 if only one is empty
|
|
100
|
+
- Single word: Treated as a single keyword
|
|
101
|
+
- Technical terms: Preserves compound technical terms (e.g., "React.js", "machine learning")
|
|
102
|
+
- Case differences: "JavaScript" matches "javascript"
|
|
103
|
+
- Common words: Ignored in scoring to focus on meaningful keywords
|
|
104
|
+
|
|
105
|
+
## Examples
|
|
106
|
+
|
|
107
|
+
### Full coverage example
|
|
108
|
+
|
|
109
|
+
In this example, the response fully reflects the key terms from the input. All required keywords are present, resulting in complete coverage with no omissions.
|
|
110
|
+
|
|
111
|
+
```typescript title="src/example-full-keyword-coverage.ts" showLineNumbers copy
|
|
112
|
+
import { createKeywordCoverageScorer } from "@mastra/evals/scorers/prebuilt";
|
|
115
113
|
|
|
116
|
-
|
|
117
|
-
- 0.7-0.9: Good coverage with most keywords present
|
|
118
|
-
- 0.4-0.6: Moderate coverage with some keywords missing
|
|
119
|
-
- 0.1-0.3: Poor coverage with many keywords missing
|
|
120
|
-
- 0.0: No keyword matches
|
|
114
|
+
const scorer = createKeywordCoverageScorer();
|
|
121
115
|
|
|
122
|
-
|
|
116
|
+
const input = "JavaScript frameworks like React and Vue";
|
|
117
|
+
const output =
|
|
118
|
+
"Popular JavaScript frameworks include React and Vue for web development";
|
|
119
|
+
|
|
120
|
+
const result = await scorer.run({
|
|
121
|
+
input: [{ role: "user", content: input }],
|
|
122
|
+
output: { role: "assistant", text: output },
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
console.log("Score:", result.score);
|
|
126
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Full coverage output
|
|
130
|
+
|
|
131
|
+
A score of 1 indicates that all expected keywords were found in the response. The `analyzeStepResult` field confirms that the number of matched keywords equals the total number extracted from the input.
|
|
123
132
|
|
|
124
133
|
```typescript
|
|
125
|
-
|
|
134
|
+
{
|
|
135
|
+
score: 1,
|
|
136
|
+
analyzeStepResult: {
|
|
137
|
+
totalKeywords: 4,
|
|
138
|
+
matchedKeywords: 4
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
126
142
|
|
|
127
|
-
|
|
143
|
+
### Partial coverage example
|
|
144
|
+
|
|
145
|
+
In this example, the response includes some, but not all, of the important keywords from the input. The score reflects partial coverage, with key terms either missing or only partially matched.
|
|
146
|
+
|
|
147
|
+
```typescript title="src/example-partial-keyword-coverage.ts" showLineNumbers copy
|
|
148
|
+
import { createKeywordCoverageScorer } from "@mastra/evals/scorers/prebuilt";
|
|
149
|
+
|
|
150
|
+
const scorer = createKeywordCoverageScorer();
|
|
128
151
|
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
// }
|
|
140
|
-
// }
|
|
141
|
-
|
|
142
|
-
// Partial coverage example
|
|
143
|
-
const result2 = await metric.measure(
|
|
144
|
-
"Python features include easy syntax, dynamic typing, and extensive libraries",
|
|
145
|
-
"Python has simple syntax and many libraries",
|
|
146
|
-
);
|
|
147
|
-
// {
|
|
148
|
-
// score: 0.67,
|
|
149
|
-
// info: {
|
|
150
|
-
// matchedKeywords: 4,
|
|
151
|
-
// totalKeywords: 6
|
|
152
|
-
// }
|
|
153
|
-
// }
|
|
154
|
-
|
|
155
|
-
// Technical terms example
|
|
156
|
-
const result3 = await metric.measure(
|
|
157
|
-
"Discuss React.js component lifecycle and state management",
|
|
158
|
-
"React components have lifecycle methods and manage state",
|
|
159
|
-
);
|
|
160
|
-
// {
|
|
161
|
-
// score: 1.0,
|
|
162
|
-
// info: {
|
|
163
|
-
// matchedKeywords: 4,
|
|
164
|
-
// totalKeywords: 4
|
|
165
|
-
// }
|
|
166
|
-
// }
|
|
152
|
+
const input = "TypeScript offers interfaces, generics, and type inference";
|
|
153
|
+
const output = "TypeScript provides type inference and some advanced features";
|
|
154
|
+
|
|
155
|
+
const result = await scorer.run({
|
|
156
|
+
input: [{ role: "user", content: input }],
|
|
157
|
+
output: { role: "assistant", text: output },
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
console.log("Score:", result.score);
|
|
161
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
167
162
|
```
|
|
168
163
|
|
|
169
|
-
|
|
164
|
+
#### Partial coverage output
|
|
170
165
|
|
|
171
|
-
The
|
|
166
|
+
A score of 0.5 indicates that only half of the expected keywords were found in the response. The `analyzeStepResult` field shows how many terms were matched compared to the total identified in the input.
|
|
172
167
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
168
|
+
```typescript
|
|
169
|
+
{
|
|
170
|
+
score: 0.5,
|
|
171
|
+
analyzeStepResult: {
|
|
172
|
+
totalKeywords: 6,
|
|
173
|
+
matchedKeywords: 3
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Minimal coverage example
|
|
179
|
+
|
|
180
|
+
In this example, the response includes very few of the important keywords from the input. The score reflects minimal coverage, with most key terms missing or unaccounted for.
|
|
181
|
+
|
|
182
|
+
```typescript title="src/example-minimal-keyword-coverage.ts" showLineNumbers copy
|
|
183
|
+
import { createKeywordCoverageScorer } from "@mastra/evals/scorers/prebuilt";
|
|
184
|
+
|
|
185
|
+
const scorer = createKeywordCoverageScorer();
|
|
186
|
+
|
|
187
|
+
const input =
|
|
188
|
+
"Machine learning models require data preprocessing, feature engineering, and hyperparameter tuning";
|
|
189
|
+
const output = "Data preparation is important for models";
|
|
190
|
+
|
|
191
|
+
const result = await scorer.run({
|
|
192
|
+
input: [{ role: "user", content: input }],
|
|
193
|
+
output: { role: "assistant", text: output },
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
console.log("Score:", result.score);
|
|
197
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Minimal coverage output
|
|
201
|
+
|
|
202
|
+
A low score indicates that only a small number of the expected keywords were present in the response. The `analyzeStepResult` field highlights the gap between total and matched keywords, signaling insufficient coverage.
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
{
|
|
206
|
+
score: 0.2,
|
|
207
|
+
analyzeStepResult: {
|
|
208
|
+
totalKeywords: 10,
|
|
209
|
+
matchedKeywords: 2
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Metric configuration
|
|
215
|
+
|
|
216
|
+
You can create a `KeywordCoverageMetric` instance with default settings. No additional configuration is required.
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
const metric = new KeywordCoverageMetric();
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
> See [KeywordCoverageScorer](/reference/v1/evals/keyword-coverage) for a full list of configuration options.
|
|
178
223
|
|
|
179
224
|
## Related
|
|
180
225
|
|
|
181
|
-
- [Completeness
|
|
182
|
-
- [Content Similarity
|
|
183
|
-
- [Answer Relevancy
|
|
184
|
-
- [Textual Difference
|
|
185
|
-
- [Context Relevancy Metric](./context-relevancy)
|
|
226
|
+
- [Completeness Scorer](./completeness)
|
|
227
|
+
- [Content Similarity Scorer](./content-similarity)
|
|
228
|
+
- [Answer Relevancy Scorer](./answer-relevancy)
|
|
229
|
+
- [Textual Difference Scorer](./textual-difference)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: MastraScorer |
|
|
2
|
+
title: "Reference: MastraScorer | Evals | Mastra Docs"
|
|
3
3
|
description: Documentation for the MastraScorer base class in Mastra, which provides the foundation for all custom and built-in scorers.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -34,7 +34,7 @@ const result = await scorer.run({
|
|
|
34
34
|
input: "What is machine learning?",
|
|
35
35
|
output: "Machine learning is a subset of artificial intelligence...",
|
|
36
36
|
runId: "optional-run-id",
|
|
37
|
-
|
|
37
|
+
requestContext: {
|
|
38
38
|
/* optional context */
|
|
39
39
|
},
|
|
40
40
|
});
|
|
@@ -65,18 +65,18 @@ const result = await scorer.run({
|
|
|
65
65
|
description: "Optional unique identifier for this scoring run.",
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
name: "
|
|
68
|
+
name: "requestContext",
|
|
69
69
|
type: "any",
|
|
70
70
|
required: false,
|
|
71
71
|
description:
|
|
72
|
-
"Optional
|
|
72
|
+
"Optional request context from the agent or workflow step being evaluated.",
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "groundTruth",
|
|
76
76
|
type: "any",
|
|
77
77
|
required: false,
|
|
78
78
|
description:
|
|
79
|
-
"Optional expected or reference output for comparison during scoring. Automatically passed when using
|
|
79
|
+
"Optional expected or reference output for comparison during scoring. Automatically passed when using runEvals.",
|
|
80
80
|
},
|
|
81
81
|
]}
|
|
82
82
|
/>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Noise Sensitivity Scorer
|
|
2
|
+
title: "Reference: Noise Sensitivity Scorer | Evals | Mastra Docs"
|
|
3
3
|
description: Documentation for the Noise Sensitivity Scorer in Mastra. A CI/testing scorer that evaluates agent robustness by comparing responses between clean and noisy inputs in controlled test environments.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
import PropertiesTable from "@site/src/components/PropertiesTable";
|
|
7
7
|
|
|
8
|
-
# Noise Sensitivity Scorer
|
|
8
|
+
# Noise Sensitivity Scorer
|
|
9
9
|
|
|
10
10
|
The `createNoiseSensitivityScorerLLM()` function creates a **CI/testing scorer** that evaluates how robust an agent is when exposed to irrelevant, distracting, or misleading information. Unlike live scorers that evaluate single production runs, this scorer requires predetermined test data including both baseline responses and noisy variations.
|
|
11
11
|
|
|
@@ -160,7 +160,7 @@ To use this scorer effectively, you need to prepare:
|
|
|
160
160
|
|
|
161
161
|
```typescript
|
|
162
162
|
import { describe, it, expect } from "vitest";
|
|
163
|
-
import { createNoiseSensitivityScorerLLM } from "@mastra/evals/scorers/
|
|
163
|
+
import { createNoiseSensitivityScorerLLM } from "@mastra/evals/scorers/prebuilt";
|
|
164
164
|
import { myAgent } from "./agents";
|
|
165
165
|
|
|
166
166
|
describe("Agent Noise Resistance Tests", () => {
|
|
@@ -352,7 +352,7 @@ Based on noise sensitivity results:
|
|
|
352
352
|
|
|
353
353
|
```typescript title="agent-noise.test.ts"
|
|
354
354
|
import { describe, it, expect, beforeAll } from "vitest";
|
|
355
|
-
import { createNoiseSensitivityScorerLLM } from "@mastra/evals/scorers/
|
|
355
|
+
import { createNoiseSensitivityScorerLLM } from "@mastra/evals/scorers/prebuilt";
|
|
356
356
|
import { myAgent } from "./agents";
|
|
357
357
|
|
|
358
358
|
// Test data preparation
|
|
@@ -467,7 +467,7 @@ console.log(result);
|
|
|
467
467
|
This example shows an agent partially distracted by irrelevant requests:
|
|
468
468
|
|
|
469
469
|
```typescript
|
|
470
|
-
import { createNoiseSensitivityScorerLLM } from "@mastra/evals";
|
|
470
|
+
import { createNoiseSensitivityScorerLLM } from "@mastra/evals/scorers/prebuilt";
|
|
471
471
|
|
|
472
472
|
const scorer = createNoiseSensitivityScorerLLM({
|
|
473
473
|
model: "openai/gpt-4o-mini",
|
|
@@ -811,7 +811,7 @@ jobs:
|
|
|
811
811
|
|
|
812
812
|
## Related
|
|
813
813
|
|
|
814
|
-
- [
|
|
815
|
-
- [Hallucination Scorer](/reference/
|
|
816
|
-
- [Answer Relevancy Scorer](/reference/
|
|
817
|
-
- [Custom Scorers](/docs/
|
|
814
|
+
- [Scorers Overview](/docs/v1/evals/overview) - Setting up scorer pipelines
|
|
815
|
+
- [Hallucination Scorer](/reference/v1/evals/hallucination) - Evaluates fabricated content
|
|
816
|
+
- [Answer Relevancy Scorer](/reference/v1/evals/answer-relevancy) - Measures response focus
|
|
817
|
+
- [Custom Scorers](/docs/v1/evals/custom-scorers) - Creating your own evaluation metrics
|