@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- 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 +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- 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-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- 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 +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- 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 +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- 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 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -10,23 +10,23 @@ The `runExperiment` function enables batch evaluation of agents and workflows by
|
|
|
10
10
|
## Usage Example
|
|
11
11
|
|
|
12
12
|
```typescript
|
|
13
|
-
import { runExperiment } from
|
|
14
|
-
import { myAgent } from
|
|
15
|
-
import { myScorer1, myScorer2 } from
|
|
13
|
+
import { runExperiment } from "@mastra/core/scores";
|
|
14
|
+
import { myAgent } from "./agents/my-agent";
|
|
15
|
+
import { myScorer1, myScorer2 } from "./scorers";
|
|
16
16
|
|
|
17
17
|
const result = await runExperiment({
|
|
18
18
|
target: myAgent,
|
|
19
19
|
data: [
|
|
20
20
|
{ input: "What is machine learning?" },
|
|
21
21
|
{ input: "Explain neural networks" },
|
|
22
|
-
{ input: "How does AI work?" }
|
|
22
|
+
{ input: "How does AI work?" },
|
|
23
23
|
],
|
|
24
24
|
scorers: [myScorer1, myScorer2],
|
|
25
25
|
concurrency: 2,
|
|
26
26
|
onItemComplete: ({ item, targetResult, scorerResults }) => {
|
|
27
27
|
console.log(`Completed: ${item.input}`);
|
|
28
28
|
console.log(`Scores:`, scorerResults);
|
|
29
|
-
}
|
|
29
|
+
},
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
console.log(`Average scores:`, result.scores);
|
|
@@ -46,13 +46,15 @@ console.log(`Processed ${result.summary.totalItems} items`);
|
|
|
46
46
|
{
|
|
47
47
|
name: "data",
|
|
48
48
|
type: "RunExperimentDataItem[]",
|
|
49
|
-
description:
|
|
49
|
+
description:
|
|
50
|
+
"Array of test cases with input data and optional ground truth.",
|
|
50
51
|
isOptional: false,
|
|
51
52
|
},
|
|
52
53
|
{
|
|
53
54
|
name: "scorers",
|
|
54
55
|
type: "MastraScorer[] | WorkflowScorerConfig",
|
|
55
|
-
description:
|
|
56
|
+
description:
|
|
57
|
+
"Array of scorers for agents, or configuration object for workflows specifying scorers for the workflow and individual steps.",
|
|
56
58
|
isOptional: false,
|
|
57
59
|
},
|
|
58
60
|
{
|
|
@@ -65,7 +67,8 @@ console.log(`Processed ${result.summary.totalItems} items`);
|
|
|
65
67
|
{
|
|
66
68
|
name: "onItemComplete",
|
|
67
69
|
type: "function",
|
|
68
|
-
description:
|
|
70
|
+
description:
|
|
71
|
+
"Callback function called after each test case completes. Receives item, target result, and scorer results.",
|
|
69
72
|
isOptional: true,
|
|
70
73
|
},
|
|
71
74
|
]}
|
|
@@ -78,13 +81,15 @@ console.log(`Processed ${result.summary.totalItems} items`);
|
|
|
78
81
|
{
|
|
79
82
|
name: "input",
|
|
80
83
|
type: "string | string[] | CoreMessage[] | any",
|
|
81
|
-
description:
|
|
84
|
+
description:
|
|
85
|
+
"Input data for the target. For agents: messages or strings. For workflows: workflow input data.",
|
|
82
86
|
isOptional: false,
|
|
83
87
|
},
|
|
84
88
|
{
|
|
85
89
|
name: "groundTruth",
|
|
86
90
|
type: "any",
|
|
87
|
-
description:
|
|
91
|
+
description:
|
|
92
|
+
"Expected or reference output for comparison during scoring.",
|
|
88
93
|
isOptional: true,
|
|
89
94
|
},
|
|
90
95
|
{
|
|
@@ -117,7 +122,8 @@ For workflows, you can specify scorers at different levels using `WorkflowScorer
|
|
|
117
122
|
{
|
|
118
123
|
name: "steps",
|
|
119
124
|
type: "Record<string, MastraScorer[]>",
|
|
120
|
-
description:
|
|
125
|
+
description:
|
|
126
|
+
"Object mapping step IDs to arrays of scorers for evaluating individual step outputs.",
|
|
121
127
|
isOptional: true,
|
|
122
128
|
},
|
|
123
129
|
]}
|
|
@@ -130,7 +136,8 @@ For workflows, you can specify scorers at different levels using `WorkflowScorer
|
|
|
130
136
|
{
|
|
131
137
|
name: "scores",
|
|
132
138
|
type: "Record<string, any>",
|
|
133
|
-
description:
|
|
139
|
+
description:
|
|
140
|
+
"Average scores across all test cases, organized by scorer name.",
|
|
134
141
|
},
|
|
135
142
|
{
|
|
136
143
|
name: "summary",
|
|
@@ -150,33 +157,35 @@ For workflows, you can specify scorers at different levels using `WorkflowScorer
|
|
|
150
157
|
### Agent Evaluation
|
|
151
158
|
|
|
152
159
|
```typescript
|
|
153
|
-
import { runExperiment } from
|
|
154
|
-
import { createScorer } from
|
|
160
|
+
import { runExperiment } from "@mastra/core/scores";
|
|
161
|
+
import { createScorer } from "@mastra/core/scores";
|
|
155
162
|
|
|
156
163
|
const myScorer = createScorer({
|
|
157
|
-
name:
|
|
164
|
+
name: "My Scorer",
|
|
158
165
|
description: "Check if Agent's response contains ground truth",
|
|
159
|
-
type:
|
|
166
|
+
type: "agent",
|
|
160
167
|
}).generateScore(({ run }) => {
|
|
161
|
-
const response = run.output[0]?.content ||
|
|
162
|
-
const expectedResponse = run.groundTruth
|
|
163
|
-
return response.includes(expectedResponse) ? 1 : 0
|
|
168
|
+
const response = run.output[0]?.content || "";
|
|
169
|
+
const expectedResponse = run.groundTruth;
|
|
170
|
+
return response.includes(expectedResponse) ? 1 : 0;
|
|
164
171
|
});
|
|
165
172
|
|
|
166
173
|
const result = await runExperiment({
|
|
167
174
|
target: chatAgent,
|
|
168
175
|
data: [
|
|
169
|
-
{
|
|
176
|
+
{
|
|
170
177
|
input: "What is AI?",
|
|
171
|
-
groundTruth:
|
|
178
|
+
groundTruth:
|
|
179
|
+
"AI is a field of computer science that creates intelligent machines.",
|
|
172
180
|
},
|
|
173
181
|
{
|
|
174
182
|
input: "How does machine learning work?",
|
|
175
|
-
groundTruth:
|
|
176
|
-
|
|
183
|
+
groundTruth:
|
|
184
|
+
"Machine learning uses algorithms to learn patterns from data.",
|
|
185
|
+
},
|
|
177
186
|
],
|
|
178
187
|
scorers: [relevancyScorer],
|
|
179
|
-
concurrency: 3
|
|
188
|
+
concurrency: 3,
|
|
180
189
|
});
|
|
181
190
|
```
|
|
182
191
|
|
|
@@ -187,24 +196,24 @@ const workflowResult = await runExperiment({
|
|
|
187
196
|
target: myWorkflow,
|
|
188
197
|
data: [
|
|
189
198
|
{ input: { query: "Process this data", priority: "high" } },
|
|
190
|
-
{ input: { query: "Another task", priority: "low" } }
|
|
199
|
+
{ input: { query: "Another task", priority: "low" } },
|
|
191
200
|
],
|
|
192
201
|
scorers: {
|
|
193
202
|
workflow: [outputQualityScorer],
|
|
194
203
|
steps: {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
204
|
+
"validation-step": [validationScorer],
|
|
205
|
+
"processing-step": [processingScorer],
|
|
206
|
+
},
|
|
198
207
|
},
|
|
199
208
|
onItemComplete: ({ item, targetResult, scorerResults }) => {
|
|
200
209
|
console.log(`Workflow completed for: ${item.input.query}`);
|
|
201
210
|
if (scorerResults.workflow) {
|
|
202
|
-
console.log(
|
|
211
|
+
console.log("Workflow scores:", scorerResults.workflow);
|
|
203
212
|
}
|
|
204
213
|
if (scorerResults.steps) {
|
|
205
|
-
console.log(
|
|
214
|
+
console.log("Step scores:", scorerResults.steps);
|
|
206
215
|
}
|
|
207
|
-
}
|
|
216
|
+
},
|
|
208
217
|
});
|
|
209
218
|
```
|
|
210
219
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Textual Difference | Scorers | Mastra Docs"
|
|
2
|
+
title: "Reference: Textual Difference Scorer | Scorers | Mastra Docs"
|
|
3
3
|
description: Documentation for the Textual Difference Scorer in Mastra, which measures textual differences between strings using sequence matching.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -7,8 +7,6 @@ description: Documentation for the Textual Difference Scorer in Mastra, which me
|
|
|
7
7
|
|
|
8
8
|
The `createTextualDifferenceScorer()` function uses sequence matching to measure the textual differences between two strings. It provides detailed information about changes, including the number of operations needed to transform one text into another.
|
|
9
9
|
|
|
10
|
-
For a usage example, see the [Textual Difference Examples](/examples/scorers/textual-difference).
|
|
11
|
-
|
|
12
10
|
## Parameters
|
|
13
11
|
|
|
14
12
|
The `createTextualDifferenceScorer()` function does not take any options.
|
|
@@ -27,7 +25,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
|
|
|
27
25
|
{
|
|
28
26
|
name: "analyzeStepResult",
|
|
29
27
|
type: "object",
|
|
30
|
-
description:
|
|
28
|
+
description:
|
|
29
|
+
"Object with difference metrics: { confidence: number, changes: number, lengthDiff: number }",
|
|
31
30
|
},
|
|
32
31
|
{
|
|
33
32
|
name: "score",
|
|
@@ -90,21 +89,21 @@ A textual difference score between 0 and 1:
|
|
|
90
89
|
|
|
91
90
|
In this example, the texts are exactly the same. The scorer identifies complete similarity with a perfect score and no detected changes.
|
|
92
91
|
|
|
93
|
-
```typescript
|
|
92
|
+
```typescript title="src/example-no-differences.ts" showLineNumbers copy
|
|
94
93
|
import { createTextualDifferenceScorer } from "@mastra/evals/scorers/code";
|
|
95
94
|
|
|
96
95
|
const scorer = createTextualDifferenceScorer();
|
|
97
96
|
|
|
98
|
-
const input =
|
|
99
|
-
const output =
|
|
97
|
+
const input = "The quick brown fox jumps over the lazy dog";
|
|
98
|
+
const output = "The quick brown fox jumps over the lazy dog";
|
|
100
99
|
|
|
101
100
|
const result = await scorer.run({
|
|
102
|
-
input: [{ role:
|
|
103
|
-
output: { role:
|
|
101
|
+
input: [{ role: "user", content: input }],
|
|
102
|
+
output: { role: "assistant", text: output },
|
|
104
103
|
});
|
|
105
104
|
|
|
106
|
-
console.log(
|
|
107
|
-
console.log(
|
|
105
|
+
console.log("Score:", result.score);
|
|
106
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
108
107
|
```
|
|
109
108
|
|
|
110
109
|
#### No differences output
|
|
@@ -127,21 +126,21 @@ The scorer returns a high score, indicating the texts are identical. The detaile
|
|
|
127
126
|
|
|
128
127
|
In this example, the texts have small variations. The scorer detects these minor differences and returns a moderate similarity score.
|
|
129
128
|
|
|
130
|
-
```typescript
|
|
129
|
+
```typescript title="src/example-minor-differences.ts" showLineNumbers copy
|
|
131
130
|
import { createTextualDifferenceScorer } from "@mastra/evals/scorers/code";
|
|
132
131
|
|
|
133
132
|
const scorer = createTextualDifferenceScorer();
|
|
134
133
|
|
|
135
|
-
const input =
|
|
136
|
-
const output =
|
|
134
|
+
const input = "Hello world! How are you?";
|
|
135
|
+
const output = "Hello there! How is it going?";
|
|
137
136
|
|
|
138
137
|
const result = await scorer.run({
|
|
139
|
-
input: [{ role:
|
|
140
|
-
output: { role:
|
|
138
|
+
input: [{ role: "user", content: input }],
|
|
139
|
+
output: { role: "assistant", text: output },
|
|
141
140
|
});
|
|
142
141
|
|
|
143
|
-
console.log(
|
|
144
|
-
console.log(
|
|
142
|
+
console.log("Score:", result.score);
|
|
143
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
145
144
|
```
|
|
146
145
|
|
|
147
146
|
#### Minor differences output
|
|
@@ -164,21 +163,21 @@ The scorer returns a moderate score reflecting the small variations between the
|
|
|
164
163
|
|
|
165
164
|
In this example, the texts differ significantly. The scorer detects extensive changes and returns a low similarity score.
|
|
166
165
|
|
|
167
|
-
```typescript
|
|
166
|
+
```typescript title="src/example-major-differences.ts" showLineNumbers copy
|
|
168
167
|
import { createTextualDifferenceScorer } from "@mastra/evals/scorers/code";
|
|
169
168
|
|
|
170
169
|
const scorer = createTextualDifferenceScorer();
|
|
171
170
|
|
|
172
|
-
const input =
|
|
173
|
-
const output =
|
|
171
|
+
const input = "Python is a high-level programming language";
|
|
172
|
+
const output = "JavaScript is used for web development";
|
|
174
173
|
|
|
175
174
|
const result = await scorer.run({
|
|
176
|
-
input: [{ role:
|
|
177
|
-
output: { role:
|
|
175
|
+
input: [{ role: "user", content: input }],
|
|
176
|
+
output: { role: "assistant", text: output },
|
|
178
177
|
});
|
|
179
178
|
|
|
180
|
-
console.log(
|
|
181
|
-
console.log(
|
|
179
|
+
console.log("Score:", result.score);
|
|
180
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
182
181
|
```
|
|
183
182
|
|
|
184
183
|
#### Major differences output
|
|
@@ -201,4 +200,4 @@ The scorer returns a low score due to significant differences between the texts.
|
|
|
201
200
|
|
|
202
201
|
- [Content Similarity Scorer](./content-similarity)
|
|
203
202
|
- [Completeness Scorer](./completeness)
|
|
204
|
-
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
203
|
+
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Tone Consistency | Scorers | Mastra Docs"
|
|
2
|
+
title: "Reference: Tone Consistency Scorer | Scorers | Mastra Docs"
|
|
3
3
|
description: Documentation for the Tone Consistency Scorer in Mastra, which evaluates emotional tone and sentiment consistency in text.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -7,8 +7,6 @@ description: Documentation for the Tone Consistency Scorer in Mastra, which eval
|
|
|
7
7
|
|
|
8
8
|
The `createToneScorer()` function evaluates the text's emotional tone and sentiment consistency. It can operate in two modes: comparing tone between input/output pairs or analyzing tone stability within a single text.
|
|
9
9
|
|
|
10
|
-
For a usage example, see the [Tone Consistency Examples](/examples/scorers/tone-consistency).
|
|
11
|
-
|
|
12
10
|
## Parameters
|
|
13
11
|
|
|
14
12
|
The `createToneScorer()` function does not take any options.
|
|
@@ -27,7 +25,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
|
|
|
27
25
|
{
|
|
28
26
|
name: "analyzeStepResult",
|
|
29
27
|
type: "object",
|
|
30
|
-
description:
|
|
28
|
+
description:
|
|
29
|
+
"Object with tone metrics: { responseSentiment: number, referenceSentiment: number, difference: number } (for comparison mode) OR { avgSentiment: number, sentimentVariance: number } (for stability mode)",
|
|
31
30
|
},
|
|
32
31
|
{
|
|
33
32
|
name: "score",
|
|
@@ -68,7 +67,7 @@ The scorer evaluates sentiment consistency through tone pattern analysis and mod
|
|
|
68
67
|
- Compares sentiment between texts
|
|
69
68
|
- Calculates sentiment difference
|
|
70
69
|
- Score = 1 - (sentiment_difference / max_difference)
|
|
71
|
-
|
|
70
|
+
**Tone Stability** (single input):
|
|
72
71
|
- Analyzes sentiment across sentences
|
|
73
72
|
- Calculates sentiment variance
|
|
74
73
|
- Score = 1 - (sentiment_variance / max_variance)
|
|
@@ -86,7 +85,9 @@ Final score: `mode_specific_score * scale`
|
|
|
86
85
|
- 0.0: No consistency - completely different tones
|
|
87
86
|
|
|
88
87
|
### analyzeStepResult
|
|
88
|
+
|
|
89
89
|
Object with tone metrics:
|
|
90
|
+
|
|
90
91
|
- **responseSentiment**: Sentiment score for the response (comparison mode).
|
|
91
92
|
- **referenceSentiment**: Sentiment score for the input/reference (comparison mode).
|
|
92
93
|
- **difference**: Absolute difference between sentiment scores (comparison mode).
|
|
@@ -99,21 +100,21 @@ Object with tone metrics:
|
|
|
99
100
|
|
|
100
101
|
In this example, the texts exhibit a similar positive sentiment. The scorer measures the consistency between the tones, resulting in a high score.
|
|
101
102
|
|
|
102
|
-
```typescript
|
|
103
|
+
```typescript title="src/example-positive-tone.ts" showLineNumbers copy
|
|
103
104
|
import { createToneScorer } from "@mastra/evals/scorers/code";
|
|
104
105
|
|
|
105
106
|
const scorer = createToneScorer();
|
|
106
107
|
|
|
107
|
-
const input =
|
|
108
|
-
const output =
|
|
108
|
+
const input = "This product is fantastic and amazing!";
|
|
109
|
+
const output = "The product is excellent and wonderful!";
|
|
109
110
|
|
|
110
111
|
const result = await scorer.run({
|
|
111
|
-
input: [{ role:
|
|
112
|
-
output: { role:
|
|
112
|
+
input: [{ role: "user", content: input }],
|
|
113
|
+
output: { role: "assistant", text: output },
|
|
113
114
|
});
|
|
114
115
|
|
|
115
|
-
console.log(
|
|
116
|
-
console.log(
|
|
116
|
+
console.log("Score:", result.score);
|
|
117
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
117
118
|
```
|
|
118
119
|
|
|
119
120
|
#### Positive tone output
|
|
@@ -135,21 +136,21 @@ The scorer returns a high score reflecting strong sentiment alignment. The `anal
|
|
|
135
136
|
|
|
136
137
|
In this example, the text’s internal tone consistency is analyzed by passing an empty response. This signals the scorer to evaluate sentiment stability within the single input text, resulting in a score reflecting how uniform the tone is throughout.
|
|
137
138
|
|
|
138
|
-
```typescript
|
|
139
|
+
```typescript title="src/example-stable-tone.ts" showLineNumbers copy
|
|
139
140
|
import { createToneScorer } from "@mastra/evals/scorers/code";
|
|
140
141
|
|
|
141
142
|
const scorer = createToneScorer();
|
|
142
143
|
|
|
143
|
-
const input =
|
|
144
|
-
const output =
|
|
144
|
+
const input = "Great service! Friendly staff. Perfect atmosphere.";
|
|
145
|
+
const output = "";
|
|
145
146
|
|
|
146
147
|
const result = await scorer.run({
|
|
147
|
-
input: [{ role:
|
|
148
|
-
output: { role:
|
|
148
|
+
input: [{ role: "user", content: input }],
|
|
149
|
+
output: { role: "assistant", text: output },
|
|
149
150
|
});
|
|
150
151
|
|
|
151
|
-
console.log(
|
|
152
|
-
console.log(
|
|
152
|
+
console.log("Score:", result.score);
|
|
153
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
153
154
|
```
|
|
154
155
|
|
|
155
156
|
#### Stable tone output
|
|
@@ -170,21 +171,23 @@ The scorer returns a high score indicating consistent sentiment throughout the i
|
|
|
170
171
|
|
|
171
172
|
In this example, the input and response have different emotional tones. The scorer picks up on these variations and gives a lower consistency score.
|
|
172
173
|
|
|
173
|
-
```typescript
|
|
174
|
+
```typescript title="src/example-mixed-tone.ts" showLineNumbers copy
|
|
174
175
|
import { createToneScorer } from "@mastra/evals/scorers/code";
|
|
175
176
|
|
|
176
177
|
const scorer = createToneScorer();
|
|
177
178
|
|
|
178
|
-
const input =
|
|
179
|
-
|
|
179
|
+
const input =
|
|
180
|
+
"The interface is frustrating and confusing, though it has potential.";
|
|
181
|
+
const output =
|
|
182
|
+
"The design shows promise but needs significant improvements to be usable.";
|
|
180
183
|
|
|
181
184
|
const result = await scorer.run({
|
|
182
|
-
input: [{ role:
|
|
183
|
-
output: { role:
|
|
185
|
+
input: [{ role: "user", content: input }],
|
|
186
|
+
output: { role: "assistant", text: output },
|
|
184
187
|
});
|
|
185
188
|
|
|
186
|
-
console.log(
|
|
187
|
-
console.log(
|
|
189
|
+
console.log("Score:", result.score);
|
|
190
|
+
console.log("AnalyzeStepResult:", result.analyzeStepResult);
|
|
188
191
|
```
|
|
189
192
|
|
|
190
193
|
#### Mixed tone output
|