@mastra/mcp-docs-server 1.0.0-beta.0 → 1.0.0-beta.10
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%2Fchangeset-cli.md +1 -15
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +396 -196
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +251 -51
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +251 -51
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
- package/.docs/organized/changelogs/create-mastra.md +201 -1
- package/.docs/organized/changelogs/mastra.md +201 -1
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-elements.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
- package/.docs/organized/code-examples/assistant-ui.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
- package/.docs/organized/code-examples/fireworks-r1.md +1 -1
- package/.docs/organized/code-examples/heads-up-game.md +1 -1
- package/.docs/organized/code-examples/mcp-configuration.md +0 -3
- package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
- package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +2 -2
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/organized/code-examples/server-express-adapter.md +87 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
- package/.docs/organized/code-examples/stock-price-tool.md +1 -21
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +56 -10
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/agent-memory.mdx +2 -2
- package/.docs/raw/agents/guardrails.mdx +27 -24
- package/.docs/raw/agents/networks.mdx +3 -3
- package/.docs/raw/agents/overview.mdx +19 -168
- package/.docs/raw/agents/processors.mdx +279 -0
- package/.docs/raw/agents/structured-output.mdx +224 -0
- package/.docs/raw/agents/using-tools.mdx +14 -14
- package/.docs/raw/auth/auth0.mdx +2 -2
- package/.docs/raw/auth/clerk.mdx +2 -2
- package/.docs/raw/auth/firebase.mdx +2 -2
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +2 -2
- package/.docs/raw/auth/supabase.mdx +2 -2
- package/.docs/raw/auth/workos.mdx +2 -2
- package/.docs/raw/community/contributing-templates.mdx +1 -1
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
- package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
- package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
- package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
- package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
- package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
- package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
- package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
- package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +4 -4
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +4 -4
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +46 -15
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +2 -2
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
- package/.docs/raw/deployment/monorepo.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -7
- package/.docs/raw/deployment/web-framework.mdx +6 -6
- package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
- package/.docs/raw/evals/custom-scorers.mdx +4 -6
- package/.docs/raw/evals/overview.mdx +6 -7
- package/.docs/raw/evals/running-in-ci.mdx +2 -4
- package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +15 -89
- package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +8 -6
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
- package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +72 -20
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +28 -30
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
- package/.docs/raw/guides/getting-started/next-js.mdx +276 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +28 -30
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +12 -12
- package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
- package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +3 -3
- package/.docs/raw/guides/guide/research-assistant.mdx +8 -18
- package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
- package/.docs/raw/guides/guide/web-search.mdx +12 -10
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +56 -6
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +29 -5
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +3 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +59 -37
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +70 -5
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +13 -13
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +175 -2
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +4 -4
- package/.docs/raw/mcp/overview.mdx +358 -0
- package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
- package/.docs/raw/memory/conversation-history.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -80
- package/.docs/raw/memory/overview.mdx +3 -3
- package/.docs/raw/memory/semantic-recall.mdx +10 -10
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +5 -10
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
- package/.docs/raw/memory/storage/memory-with-pg.mdx +5 -10
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +5 -10
- package/.docs/raw/memory/threads-and-resources.mdx +4 -4
- package/.docs/raw/memory/working-memory.mdx +16 -8
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +8 -8
- package/.docs/raw/observability/overview.mdx +5 -6
- package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +39 -3
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +22 -3
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +4 -4
- package/.docs/raw/observability/tracing/exporters/default.mdx +6 -6
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +86 -3
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +15 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +128 -30
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
- package/.docs/raw/observability/tracing/overview.mdx +100 -29
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +2 -3
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +5 -4
- package/.docs/raw/rag/retrieval.mdx +44 -39
- package/.docs/raw/rag/vector-databases.mdx +94 -3
- package/.docs/raw/reference/agents/agent.mdx +10 -14
- package/.docs/raw/reference/agents/generate.mdx +67 -99
- package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +1 -1
- package/.docs/raw/reference/agents/getModel.mdx +1 -1
- package/.docs/raw/reference/agents/getTools.mdx +69 -0
- package/.docs/raw/reference/agents/getVoice.mdx +1 -1
- package/.docs/raw/reference/agents/listAgents.mdx +1 -1
- package/.docs/raw/reference/agents/listScorers.mdx +1 -1
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +33 -72
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
- package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
- package/.docs/raw/reference/auth/auth0.mdx +1 -1
- package/.docs/raw/reference/auth/clerk.mdx +1 -1
- package/.docs/raw/reference/auth/firebase.mdx +1 -1
- package/.docs/raw/reference/auth/jwt.mdx +1 -1
- package/.docs/raw/reference/auth/supabase.mdx +1 -1
- package/.docs/raw/reference/auth/workos.mdx +1 -1
- package/.docs/raw/reference/cli/create-mastra.mdx +11 -11
- package/.docs/raw/reference/cli/mastra.mdx +25 -12
- package/.docs/raw/reference/client-js/agents.mdx +252 -68
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
- package/.docs/raw/reference/client-js/memory.mdx +48 -2
- package/.docs/raw/reference/client-js/observability.mdx +1 -1
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +93 -64
- package/.docs/raw/reference/core/addGateway.mdx +59 -0
- 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 +1 -1
- package/.docs/raw/reference/core/getGateway.mdx +59 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -3
- package/.docs/raw/reference/core/getMCPServer.mdx +4 -4
- package/.docs/raw/reference/core/getMCPServerById.mdx +5 -5
- package/.docs/raw/reference/core/getMemory.mdx +73 -0
- package/.docs/raw/reference/core/getScorer.mdx +1 -1
- package/.docs/raw/reference/core/getScorerById.mdx +1 -1
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +1 -1
- package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -3
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listGateways.mdx +53 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -3
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -3
- package/.docs/raw/reference/core/listMCPServers.mdx +5 -5
- package/.docs/raw/reference/core/listMemory.mdx +70 -0
- package/.docs/raw/reference/core/listScorers.mdx +1 -1
- package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/mastra-class.mdx +17 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -3
- package/.docs/raw/reference/core/setStorage.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +3 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
- package/.docs/raw/reference/deployer/deployer.mdx +1 -1
- package/.docs/raw/reference/deployer/netlify.mdx +2 -3
- package/.docs/raw/reference/deployer/vercel.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
- package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
- package/.docs/raw/reference/evals/bias.mdx +30 -88
- package/.docs/raw/reference/evals/completeness.mdx +32 -91
- package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
- package/.docs/raw/reference/evals/context-precision.mdx +29 -131
- package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
- package/.docs/raw/reference/evals/create-scorer.mdx +59 -50
- package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
- package/.docs/raw/reference/evals/hallucination.mdx +29 -104
- package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
- package/.docs/raw/reference/evals/mastra-scorer.mdx +3 -1
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
- package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
- package/.docs/raw/reference/evals/run-evals.mdx +1 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
- package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
- package/.docs/raw/reference/evals/toxicity.mdx +30 -93
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +1 -1
- package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
- package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
- package/.docs/raw/reference/memory/memory-class.mdx +6 -8
- package/.docs/raw/reference/memory/query.mdx +1 -1
- package/.docs/raw/reference/memory/recall.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +12 -16
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +31 -2
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +8 -12
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +36 -11
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/spans.mdx +7 -11
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +10 -4
- package/.docs/raw/reference/processors/language-detector.mdx +19 -6
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +21 -8
- package/.docs/raw/reference/processors/pii-detector.mdx +21 -8
- package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +19 -6
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +12 -7
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +11 -5
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +10 -4
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +6 -6
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
- package/.docs/raw/reference/rag/rerank.mdx +2 -3
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
- package/.docs/raw/reference/server/create-route.mdx +328 -0
- package/.docs/raw/reference/server/express-adapter.mdx +260 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
- package/.docs/raw/reference/server/mastra-server.mdx +345 -0
- package/.docs/raw/reference/server/routes.mdx +250 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +39 -2
- package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
- package/.docs/raw/reference/storage/lance.mdx +35 -2
- package/.docs/raw/reference/storage/libsql.mdx +39 -2
- package/.docs/raw/reference/storage/mongodb.mdx +41 -2
- package/.docs/raw/reference/storage/mssql.mdx +39 -2
- package/.docs/raw/reference/storage/postgresql.mdx +39 -2
- package/.docs/raw/reference/storage/upstash.mdx +2 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
- package/.docs/raw/reference/templates/overview.mdx +3 -6
- package/.docs/raw/reference/tools/client.mdx +2 -3
- package/.docs/raw/reference/tools/create-tool.mdx +135 -4
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
- package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
- package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
- package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +82 -2
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/couchbase.mdx +33 -20
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/vectors/lance.mdx +39 -23
- package/.docs/raw/reference/vectors/libsql.mdx +37 -4
- package/.docs/raw/reference/vectors/mongodb.mdx +43 -4
- package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
- package/.docs/raw/reference/vectors/pg.mdx +44 -37
- package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
- package/.docs/raw/reference/vectors/s3vectors.mdx +2 -2
- package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -1
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +96 -81
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/google.mdx +160 -21
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
- package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
- package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
- package/.docs/raw/reference/voice/voice.close.mdx +2 -2
- package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
- package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
- package/.docs/raw/reference/voice/voice.off.mdx +2 -2
- package/.docs/raw/reference/voice/voice.on.mdx +2 -2
- package/.docs/raw/reference/voice/voice.send.mdx +2 -2
- package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
- package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
- package/.docs/raw/reference/workflows/run.mdx +28 -6
- package/.docs/raw/reference/workflows/step.mdx +65 -1
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
- 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 +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
- 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 +21 -2
- package/.docs/raw/server-db/custom-adapters.mdx +386 -0
- package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
- package/.docs/raw/server-db/mastra-client.mdx +7 -8
- package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
- package/.docs/raw/server-db/middleware.mdx +31 -31
- package/.docs/raw/server-db/request-context.mdx +3 -4
- package/.docs/raw/server-db/server-adapters.mdx +312 -0
- package/.docs/raw/server-db/storage.mdx +12 -1
- package/.docs/raw/streaming/events.mdx +1 -1
- package/.docs/raw/streaming/overview.mdx +27 -16
- package/.docs/raw/streaming/tool-streaming.mdx +58 -19
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
- package/.docs/raw/tools-mcp/mcp-overview.mdx +5 -7
- package/.docs/raw/tools-mcp/overview.mdx +1 -1
- package/.docs/raw/voice/overview.mdx +88 -41
- package/.docs/raw/voice/speech-to-speech.mdx +5 -5
- package/.docs/raw/voice/speech-to-text.mdx +3 -4
- package/.docs/raw/voice/text-to-speech.mdx +3 -4
- package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
- package/.docs/raw/workflows/control-flow.mdx +186 -1
- package/.docs/raw/workflows/error-handling.mdx +5 -4
- package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
- package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
- package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +67 -47
- package/.docs/raw/workflows/snapshots.mdx +5 -3
- package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +190 -0
- package/CHANGELOG.md +88 -0
- package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
- package/dist/prepare-docs/package-changes.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +17 -19
- package/package.json +11 -15
- package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
- package/.docs/raw/getting-started/templates.mdx +0 -73
- package/.docs/raw/mastra-cloud/observability.mdx +0 -51
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: createScorer | Evals
|
|
2
|
+
title: "Reference: createScorer | Evals"
|
|
3
3
|
description: Documentation for creating custom scorers in Mastra, allowing users to define their own evaluation logic using either JavaScript functions or LLM-based prompts.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -12,8 +12,11 @@ Mastra provides a unified `createScorer` factory that allows you to define custo
|
|
|
12
12
|
Use the `createScorer` factory to define your scorer with a name, description, and optional judge configuration. Then chain step methods to build your evaluation pipeline. You must provide at least a `generateScore` step.
|
|
13
13
|
|
|
14
14
|
```typescript
|
|
15
|
+
import { createScorer } from "@mastra/core/evals";
|
|
16
|
+
|
|
15
17
|
const scorer = createScorer({
|
|
16
|
-
|
|
18
|
+
id: "my-custom-scorer",
|
|
19
|
+
name: "My Custom Scorer", // Optional, defaults to id
|
|
17
20
|
description: "Evaluates responses based on custom criteria",
|
|
18
21
|
type: "agent", // Optional: for agent evaluation with automatic typing
|
|
19
22
|
judge: {
|
|
@@ -39,29 +42,35 @@ const scorer = createScorer({
|
|
|
39
42
|
|
|
40
43
|
<PropertiesTable
|
|
41
44
|
content={[
|
|
45
|
+
{
|
|
46
|
+
name: "id",
|
|
47
|
+
type: "string",
|
|
48
|
+
isOptional: false,
|
|
49
|
+
description: "Unique identifier for the scorer. Used as the name if `name` is not provided.",
|
|
50
|
+
},
|
|
42
51
|
{
|
|
43
52
|
name: "name",
|
|
44
53
|
type: "string",
|
|
45
|
-
|
|
46
|
-
description: "Name of the scorer.",
|
|
54
|
+
isOptional: true,
|
|
55
|
+
description: "Name of the scorer. Defaults to `id` if not provided.",
|
|
47
56
|
},
|
|
48
57
|
{
|
|
49
58
|
name: "description",
|
|
50
59
|
type: "string",
|
|
51
|
-
|
|
60
|
+
isOptional: false,
|
|
52
61
|
description: "Description of what the scorer does.",
|
|
53
62
|
},
|
|
54
63
|
{
|
|
55
64
|
name: "judge",
|
|
56
65
|
type: "object",
|
|
57
|
-
|
|
66
|
+
isOptional: true,
|
|
58
67
|
description:
|
|
59
68
|
"Optional judge configuration for LLM-based steps. See Judge Object section below.",
|
|
60
69
|
},
|
|
61
70
|
{
|
|
62
71
|
name: "type",
|
|
63
72
|
type: "string",
|
|
64
|
-
|
|
73
|
+
isOptional: true,
|
|
65
74
|
description:
|
|
66
75
|
"Type specification for input/output. Use 'agent' for automatic agent types. For custom types, use the generic approach instead.",
|
|
67
76
|
},
|
|
@@ -77,13 +86,13 @@ This function returns a scorer builder that you can chain step methods onto. See
|
|
|
77
86
|
{
|
|
78
87
|
name: "model",
|
|
79
88
|
type: "LanguageModel",
|
|
80
|
-
|
|
89
|
+
isOptional: false,
|
|
81
90
|
description: "The LLM model instance to use for evaluation.",
|
|
82
91
|
},
|
|
83
92
|
{
|
|
84
93
|
name: "instructions",
|
|
85
94
|
type: "string",
|
|
86
|
-
|
|
95
|
+
isOptional: false,
|
|
87
96
|
description: "System prompt/instructions for the LLM.",
|
|
88
97
|
},
|
|
89
98
|
]}
|
|
@@ -98,7 +107,7 @@ You can specify input/output types when creating scorers for better type inferen
|
|
|
98
107
|
For evaluating agents, use `type: 'agent'` to automatically get the correct types for agent input/output:
|
|
99
108
|
|
|
100
109
|
```typescript
|
|
101
|
-
import { createScorer } from "@mastra/core/
|
|
110
|
+
import { createScorer } from "@mastra/core/evals";
|
|
102
111
|
|
|
103
112
|
// Agent scorer with automatic typing
|
|
104
113
|
const agentScorer = createScorer({
|
|
@@ -123,7 +132,7 @@ const agentScorer = createScorer({
|
|
|
123
132
|
For custom input/output types, use the generic approach:
|
|
124
133
|
|
|
125
134
|
```typescript
|
|
126
|
-
import { createScorer } from "@mastra/core/
|
|
135
|
+
import { createScorer } from "@mastra/core/evals";
|
|
127
136
|
|
|
128
137
|
type CustomInput = { query: string; context: string[] };
|
|
129
138
|
type CustomOutput = { answer: string; confidence: number };
|
|
@@ -185,34 +194,34 @@ Function: `({ run, results }) => any`
|
|
|
185
194
|
{
|
|
186
195
|
name: "run.input",
|
|
187
196
|
type: "any",
|
|
188
|
-
|
|
197
|
+
isOptional: false,
|
|
189
198
|
description:
|
|
190
199
|
"Input records provided to the scorer. If the scorer is added to an agent, this will be an array of user messages, e.g. `[{ role: 'user', content: 'hello world' }]`. If the scorer is used in a workflow, this will be the input of the workflow.",
|
|
191
200
|
},
|
|
192
201
|
{
|
|
193
202
|
name: "run.output",
|
|
194
203
|
type: "any",
|
|
195
|
-
|
|
204
|
+
isOptional: false,
|
|
196
205
|
description:
|
|
197
206
|
"Output record provided to the scorer. For agents, this is usually the agent's response. For workflows, this is the workflow's output.",
|
|
198
207
|
},
|
|
199
208
|
{
|
|
200
209
|
name: "run.runId",
|
|
201
210
|
type: "string",
|
|
202
|
-
|
|
211
|
+
isOptional: false,
|
|
203
212
|
description: "Unique identifier for this scoring run.",
|
|
204
213
|
},
|
|
205
214
|
{
|
|
206
215
|
name: "run.requestContext",
|
|
207
216
|
type: "object",
|
|
208
|
-
|
|
217
|
+
isOptional: true,
|
|
209
218
|
description:
|
|
210
219
|
"Request Context from the agent or workflow step being evaluated (optional).",
|
|
211
220
|
},
|
|
212
221
|
{
|
|
213
222
|
name: "results",
|
|
214
223
|
type: "object",
|
|
215
|
-
|
|
224
|
+
isOptional: false,
|
|
216
225
|
description: "Empty object (no previous steps).",
|
|
217
226
|
},
|
|
218
227
|
]}
|
|
@@ -228,26 +237,26 @@ The method can return any value. The returned value will be available to subsequ
|
|
|
228
237
|
{
|
|
229
238
|
name: "description",
|
|
230
239
|
type: "string",
|
|
231
|
-
|
|
240
|
+
isOptional: false,
|
|
232
241
|
description: "Description of what this preprocessing step does.",
|
|
233
242
|
},
|
|
234
243
|
{
|
|
235
244
|
name: "outputSchema",
|
|
236
245
|
type: "ZodSchema",
|
|
237
|
-
|
|
246
|
+
isOptional: false,
|
|
238
247
|
description: "Zod schema for the expected output of the preprocess step.",
|
|
239
248
|
},
|
|
240
249
|
{
|
|
241
250
|
name: "createPrompt",
|
|
242
251
|
type: "function",
|
|
243
|
-
|
|
252
|
+
isOptional: false,
|
|
244
253
|
description:
|
|
245
254
|
"Function: ({ run, results }) => string. Returns the prompt for the LLM.",
|
|
246
255
|
},
|
|
247
256
|
{
|
|
248
257
|
name: "judge",
|
|
249
258
|
type: "object",
|
|
250
|
-
|
|
259
|
+
isOptional: true,
|
|
251
260
|
description:
|
|
252
261
|
"(Optional) LLM judge for this step (can override main judge). See Judge Object section.",
|
|
253
262
|
},
|
|
@@ -266,34 +275,34 @@ Function: `({ run, results }) => any`
|
|
|
266
275
|
{
|
|
267
276
|
name: "run.input",
|
|
268
277
|
type: "any",
|
|
269
|
-
|
|
278
|
+
isOptional: false,
|
|
270
279
|
description:
|
|
271
280
|
"Input records provided to the scorer. If the scorer is added to an agent, this will be an array of user messages, e.g. `[{ role: 'user', content: 'hello world' }]`. If the scorer is used in a workflow, this will be the input of the workflow.",
|
|
272
281
|
},
|
|
273
282
|
{
|
|
274
283
|
name: "run.output",
|
|
275
284
|
type: "any",
|
|
276
|
-
|
|
285
|
+
isOptional: false,
|
|
277
286
|
description:
|
|
278
287
|
"Output record provided to the scorer. For agents, this is usually the agent's response. For workflows, this is the workflow's output.",
|
|
279
288
|
},
|
|
280
289
|
{
|
|
281
290
|
name: "run.runId",
|
|
282
291
|
type: "string",
|
|
283
|
-
|
|
292
|
+
isOptional: false,
|
|
284
293
|
description: "Unique identifier for this scoring run.",
|
|
285
294
|
},
|
|
286
295
|
{
|
|
287
296
|
name: "run.requestContext",
|
|
288
297
|
type: "object",
|
|
289
|
-
|
|
298
|
+
isOptional: true,
|
|
290
299
|
description:
|
|
291
300
|
"Request Context from the agent or workflow step being evaluated (optional).",
|
|
292
301
|
},
|
|
293
302
|
{
|
|
294
303
|
name: "results.preprocessStepResult",
|
|
295
304
|
type: "any",
|
|
296
|
-
|
|
305
|
+
isOptional: true,
|
|
297
306
|
description: "Result from preprocess step, if defined (optional).",
|
|
298
307
|
},
|
|
299
308
|
]}
|
|
@@ -309,26 +318,26 @@ The method can return any value. The returned value will be available to subsequ
|
|
|
309
318
|
{
|
|
310
319
|
name: "description",
|
|
311
320
|
type: "string",
|
|
312
|
-
|
|
321
|
+
isOptional: false,
|
|
313
322
|
description: "Description of what this analysis step does.",
|
|
314
323
|
},
|
|
315
324
|
{
|
|
316
325
|
name: "outputSchema",
|
|
317
326
|
type: "ZodSchema",
|
|
318
|
-
|
|
327
|
+
isOptional: false,
|
|
319
328
|
description: "Zod schema for the expected output of the analyze step.",
|
|
320
329
|
},
|
|
321
330
|
{
|
|
322
331
|
name: "createPrompt",
|
|
323
332
|
type: "function",
|
|
324
|
-
|
|
333
|
+
isOptional: false,
|
|
325
334
|
description:
|
|
326
335
|
"Function: ({ run, results }) => string. Returns the prompt for the LLM.",
|
|
327
336
|
},
|
|
328
337
|
{
|
|
329
338
|
name: "judge",
|
|
330
339
|
type: "object",
|
|
331
|
-
|
|
340
|
+
isOptional: true,
|
|
332
341
|
description:
|
|
333
342
|
"(Optional) LLM judge for this step (can override main judge). See Judge Object section.",
|
|
334
343
|
},
|
|
@@ -347,40 +356,40 @@ Function: `({ run, results }) => number`
|
|
|
347
356
|
{
|
|
348
357
|
name: "run.input",
|
|
349
358
|
type: "any",
|
|
350
|
-
|
|
359
|
+
isOptional: false,
|
|
351
360
|
description:
|
|
352
361
|
"Input records provided to the scorer. If the scorer is added to an agent, this will be an array of user messages, e.g. `[{ role: 'user', content: 'hello world' }]`. If the scorer is used in a workflow, this will be the input of the workflow.",
|
|
353
362
|
},
|
|
354
363
|
{
|
|
355
364
|
name: "run.output",
|
|
356
365
|
type: "any",
|
|
357
|
-
|
|
366
|
+
isOptional: false,
|
|
358
367
|
description:
|
|
359
368
|
"Output record provided to the scorer. For agents, this is usually the agent's response. For workflows, this is the workflow's output.",
|
|
360
369
|
},
|
|
361
370
|
{
|
|
362
371
|
name: "run.runId",
|
|
363
372
|
type: "string",
|
|
364
|
-
|
|
373
|
+
isOptional: false,
|
|
365
374
|
description: "Unique identifier for this scoring run.",
|
|
366
375
|
},
|
|
367
376
|
{
|
|
368
377
|
name: "run.requestContext",
|
|
369
378
|
type: "object",
|
|
370
|
-
|
|
379
|
+
isOptional: true,
|
|
371
380
|
description:
|
|
372
381
|
"Request Context from the agent or workflow step being evaluated (optional).",
|
|
373
382
|
},
|
|
374
383
|
{
|
|
375
384
|
name: "results.preprocessStepResult",
|
|
376
385
|
type: "any",
|
|
377
|
-
|
|
386
|
+
isOptional: true,
|
|
378
387
|
description: "Result from preprocess step, if defined (optional).",
|
|
379
388
|
},
|
|
380
389
|
{
|
|
381
390
|
name: "results.analyzeStepResult",
|
|
382
391
|
type: "any",
|
|
383
|
-
|
|
392
|
+
isOptional: true,
|
|
384
393
|
description: "Result from analyze step, if defined (optional).",
|
|
385
394
|
},
|
|
386
395
|
]}
|
|
@@ -396,27 +405,27 @@ The method must return a numerical score.
|
|
|
396
405
|
{
|
|
397
406
|
name: "description",
|
|
398
407
|
type: "string",
|
|
399
|
-
|
|
408
|
+
isOptional: false,
|
|
400
409
|
description: "Description of what this scoring step does.",
|
|
401
410
|
},
|
|
402
411
|
{
|
|
403
412
|
name: "outputSchema",
|
|
404
413
|
type: "ZodSchema",
|
|
405
|
-
|
|
414
|
+
isOptional: false,
|
|
406
415
|
description:
|
|
407
416
|
"Zod schema for the expected output of the generateScore step.",
|
|
408
417
|
},
|
|
409
418
|
{
|
|
410
419
|
name: "createPrompt",
|
|
411
420
|
type: "function",
|
|
412
|
-
|
|
421
|
+
isOptional: false,
|
|
413
422
|
description:
|
|
414
423
|
"Function: ({ run, results }) => string. Returns the prompt for the LLM.",
|
|
415
424
|
},
|
|
416
425
|
{
|
|
417
426
|
name: "judge",
|
|
418
427
|
type: "object",
|
|
419
|
-
|
|
428
|
+
isOptional: true,
|
|
420
429
|
description:
|
|
421
430
|
"(Optional) LLM judge for this step (can override main judge). See Judge Object section.",
|
|
422
431
|
},
|
|
@@ -430,7 +439,7 @@ When using prompt object mode, you must also provide a `calculateScore` function
|
|
|
430
439
|
{
|
|
431
440
|
name: "calculateScore",
|
|
432
441
|
type: "function",
|
|
433
|
-
|
|
442
|
+
isOptional: false,
|
|
434
443
|
description:
|
|
435
444
|
"Function: ({ run, results, analyzeStepResult }) => number. Converts the LLM's structured output into a numerical score.",
|
|
436
445
|
},
|
|
@@ -449,46 +458,46 @@ Function: `({ run, results, score }) => string`
|
|
|
449
458
|
{
|
|
450
459
|
name: "run.input",
|
|
451
460
|
type: "any",
|
|
452
|
-
|
|
461
|
+
isOptional: false,
|
|
453
462
|
description:
|
|
454
463
|
"Input records provided to the scorer. If the scorer is added to an agent, this will be an array of user messages, e.g. `[{ role: 'user', content: 'hello world' }]`. If the scorer is used in a workflow, this will be the input of the workflow.",
|
|
455
464
|
},
|
|
456
465
|
{
|
|
457
466
|
name: "run.output",
|
|
458
467
|
type: "any",
|
|
459
|
-
|
|
468
|
+
isOptional: false,
|
|
460
469
|
description:
|
|
461
470
|
"Output record provided to the scorer. For agents, this is usually the agent's response. For workflows, this is the workflow's output.",
|
|
462
471
|
},
|
|
463
472
|
{
|
|
464
473
|
name: "run.runId",
|
|
465
474
|
type: "string",
|
|
466
|
-
|
|
475
|
+
isOptional: false,
|
|
467
476
|
description: "Unique identifier for this scoring run.",
|
|
468
477
|
},
|
|
469
478
|
{
|
|
470
479
|
name: "run.requestContext",
|
|
471
480
|
type: "object",
|
|
472
|
-
|
|
481
|
+
isOptional: true,
|
|
473
482
|
description:
|
|
474
483
|
"Request Context from the agent or workflow step being evaluated (optional).",
|
|
475
484
|
},
|
|
476
485
|
{
|
|
477
486
|
name: "results.preprocessStepResult",
|
|
478
487
|
type: "any",
|
|
479
|
-
|
|
488
|
+
isOptional: true,
|
|
480
489
|
description: "Result from preprocess step, if defined (optional).",
|
|
481
490
|
},
|
|
482
491
|
{
|
|
483
492
|
name: "results.analyzeStepResult",
|
|
484
493
|
type: "any",
|
|
485
|
-
|
|
494
|
+
isOptional: true,
|
|
486
495
|
description: "Result from analyze step, if defined (optional).",
|
|
487
496
|
},
|
|
488
497
|
{
|
|
489
498
|
name: "score",
|
|
490
499
|
type: "number",
|
|
491
|
-
|
|
500
|
+
isOptional: false,
|
|
492
501
|
description: "Score computed by the generateScore step.",
|
|
493
502
|
},
|
|
494
503
|
]}
|
|
@@ -504,20 +513,20 @@ The method must return a string explaining the score.
|
|
|
504
513
|
{
|
|
505
514
|
name: "description",
|
|
506
515
|
type: "string",
|
|
507
|
-
|
|
516
|
+
isOptional: false,
|
|
508
517
|
description: "Description of what this reasoning step does.",
|
|
509
518
|
},
|
|
510
519
|
{
|
|
511
520
|
name: "createPrompt",
|
|
512
521
|
type: "function",
|
|
513
|
-
|
|
522
|
+
isOptional: false,
|
|
514
523
|
description:
|
|
515
524
|
"Function: ({ run, results, score }) => string. Returns the prompt for the LLM.",
|
|
516
525
|
},
|
|
517
526
|
{
|
|
518
527
|
name: "judge",
|
|
519
528
|
type: "object",
|
|
520
|
-
|
|
529
|
+
isOptional: true,
|
|
521
530
|
description:
|
|
522
531
|
"(Optional) LLM judge for this step (can override main judge). See Judge Object section.",
|
|
523
532
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Faithfulness Scorer | Evals
|
|
2
|
+
title: "Reference: Faithfulness Scorer | Evals"
|
|
3
3
|
description: Documentation for the Faithfulness Scorer in Mastra, which evaluates the factual accuracy of LLM outputs compared to the provided context.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -122,118 +122,45 @@ A faithfulness score between 0 and 1:
|
|
|
122
122
|
- **0.1–0.3**: Most of the content is inaccurate or unsupported.
|
|
123
123
|
- **0.0**: All claims are false or contradict the context.
|
|
124
124
|
|
|
125
|
-
##
|
|
125
|
+
## Example
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
Evaluate agent responses for faithfulness to provided context:
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
```typescript title="src/example-high-faithfulness.ts" showLineNumbers copy
|
|
132
|
-
import { createFaithfulnessScorer } from "@mastra/evals/scorers/prebuilt";
|
|
133
|
-
|
|
134
|
-
const scorer = createFaithfulnessScorer({ model: 'openai/gpt-4o-mini', options: {
|
|
135
|
-
context: [
|
|
136
|
-
"The Tesla Model 3 was launched in 2017.",
|
|
137
|
-
"It has a range of up to 358 miles.",
|
|
138
|
-
"The base model accelerates 0-60 mph in 5.8 seconds."
|
|
139
|
-
]
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
const query = "Tell me about the Tesla Model 3.";
|
|
143
|
-
const response = "The Tesla Model 3 was introduced in 2017. It can travel up to 358 miles on a single charge and the base version goes from 0 to 60 mph in 5.8 seconds.";
|
|
144
|
-
|
|
145
|
-
const result = await scorer.run({
|
|
146
|
-
input: [{ role: 'user', content: query }],
|
|
147
|
-
output: { text: response },
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
console.log(result);
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
#### High faithfulness output
|
|
154
|
-
|
|
155
|
-
The output receives a score of 1 because all the information it provides can be directly traced to the context. There are no missing or contradictory facts.
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
{
|
|
159
|
-
score: 1,
|
|
160
|
-
reason: 'The score is 1 because all claims made in the output are supported by the provided context.'
|
|
161
|
-
}
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Mixed faithfulness example
|
|
165
|
-
|
|
166
|
-
In this example, there are a mix of supported and unsupported claims. Some parts of the response are backed by the context, while others introduce new information not found in the source material.
|
|
167
|
-
|
|
168
|
-
```typescript title="src/example-mixed-faithfulness.ts" showLineNumbers copy
|
|
169
|
-
import { createFaithfulnessScorer } from "@mastra/evals/scorers/prebuilt";
|
|
170
|
-
|
|
171
|
-
const scorer = createFaithfulnessScorer({ model: 'openai/gpt-4o-mini', options: {
|
|
172
|
-
context: [
|
|
173
|
-
"Python was created by Guido van Rossum.",
|
|
174
|
-
"The first version was released in 1991.",
|
|
175
|
-
"Python emphasizes code readability."
|
|
176
|
-
]
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
const query = "What can you tell me about Python?";
|
|
180
|
-
const response = "Python was created by Guido van Rossum and released in 1991. It is the most popular programming language today and is used by millions of developers worldwide.";
|
|
181
|
-
|
|
182
|
-
const result = await scorer.run({
|
|
183
|
-
input: [{ role: 'user', content: query }],
|
|
184
|
-
output: { text: response },
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
console.log(result);
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
#### Mixed faithfulness output
|
|
191
|
-
|
|
192
|
-
The score is lower because only a portion of the response is verifiable. While some claims match the context, others are unconfirmed or out of scope, reducing the overall faithfulness.
|
|
193
|
-
|
|
194
|
-
```typescript
|
|
195
|
-
{
|
|
196
|
-
score: 0.5,
|
|
197
|
-
reason: "The score is 0.5 because while two claims are supported by the context (Python was created by Guido van Rossum and Python was released in 1991), the other two claims regarding Python's popularity and usage cannot be verified as they are not mentioned in the context."
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### Low faithfulness example
|
|
202
|
-
|
|
203
|
-
In this example, the response directly contradicts the context. None of the claims are supported, and several conflict with the facts provided.
|
|
204
|
-
|
|
205
|
-
```typescript title="src/example-low-faithfulness.ts" showLineNumbers copy
|
|
129
|
+
```typescript title="src/example-faithfulness.ts" showLineNumbers copy
|
|
130
|
+
import { runEvals } from "@mastra/core/evals";
|
|
206
131
|
import { createFaithfulnessScorer } from "@mastra/evals/scorers/prebuilt";
|
|
132
|
+
import { myAgent } from "./agent";
|
|
207
133
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
"It has a thin atmosphere of mostly carbon dioxide.",
|
|
212
|
-
"Two small moons orbit Mars: Phobos and Deimos."
|
|
213
|
-
]
|
|
134
|
+
// Context is typically populated from agent tool calls or RAG retrieval
|
|
135
|
+
const scorer = createFaithfulnessScorer({
|
|
136
|
+
model: "openai/gpt-4o",
|
|
214
137
|
});
|
|
215
138
|
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
139
|
+
const result = await runEvals({
|
|
140
|
+
data: [
|
|
141
|
+
{
|
|
142
|
+
input: "Tell me about the Tesla Model 3.",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
input: "What are the key features of this electric vehicle?",
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
scorers: [scorer],
|
|
149
|
+
target: myAgent,
|
|
150
|
+
onItemComplete: ({ scorerResults }) => {
|
|
151
|
+
console.log({
|
|
152
|
+
score: scorerResults[scorer.id].score,
|
|
153
|
+
reason: scorerResults[scorer.id].reason,
|
|
154
|
+
});
|
|
155
|
+
},
|
|
222
156
|
});
|
|
223
157
|
|
|
224
|
-
console.log(result);
|
|
158
|
+
console.log(result.scores);
|
|
225
159
|
```
|
|
226
160
|
|
|
227
|
-
|
|
161
|
+
For more details on `runEvals`, see the [runEvals reference](/reference/v1/evals/run-evals).
|
|
228
162
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
```typescript
|
|
232
|
-
{
|
|
233
|
-
score: 0,
|
|
234
|
-
reason: "The score is 0 because all claims made in the output contradict the provided context. The output states that Mars is the third planet from the Sun, while the context clearly states it is the fourth. Additionally, it claims that Mars has a thick atmosphere rich in oxygen and nitrogen, contradicting the context's description of a thin atmosphere mostly composed of carbon dioxide. Finally, the output mentions that Mars is orbited by three large moons, while the context specifies that it has only two small moons, Phobos and Deimos. Therefore, there are no supported claims, leading to a score of 0."
|
|
235
|
-
}
|
|
236
|
-
```
|
|
163
|
+
To add this scorer to an agent, see the [Scorers overview](/docs/v1/evals/overview#adding-scorers-to-agents) guide.
|
|
237
164
|
|
|
238
165
|
## Related
|
|
239
166
|
|