@mastra/core 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/dist/agent/agent.d.ts +6 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +8 -8
- package/dist/agent/index.js +1 -1
- package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
- package/dist/chunk-2X66GWF5.cjs.map +1 -0
- package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
- package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
- package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
- package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
- package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
- package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
- package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
- package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
- package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
- package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
- package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
- package/dist/chunk-GPJGPARM.js.map +1 -0
- package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
- package/dist/chunk-HB6T4554.cjs.map +1 -0
- package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
- package/dist/chunk-KUXNBWN7.js.map +1 -0
- package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
- package/dist/chunk-QSHV7GPT.js.map +1 -0
- package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
- package/dist/chunk-QTAS3HND.cjs.map +1 -0
- package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
- package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
- package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
- package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
- package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
- package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
- package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
- package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
- package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
- package/dist/chunk-T6GAM3SQ.js.map +1 -0
- package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
- package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
- package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
- package/dist/chunk-ZSBM2SVU.js.map +1 -0
- package/dist/datasets/experiment/scorer.d.ts.map +1 -1
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/evals/index.cjs +20 -20
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +7 -6
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +4 -3
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
- package/dist/harness/harness.d.ts +21 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +422 -5
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.d.ts +2 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +418 -3
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/types.d.ts +151 -0
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/loop/index.cjs +12 -12
- package/dist/loop/index.js +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +45 -41
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/index.d.ts +1 -0
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/workspace-instructions.d.ts +50 -0
- package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/constants.cjs +56 -56
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/index.cjs +160 -160
- package/dist/storage/index.js +2 -2
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/vector/index.cjs +7 -7
- package/dist/vector/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +25 -25
- package/dist/workflows/index.js +1 -1
- package/dist/workspace/constants/index.d.ts +2 -0
- package/dist/workspace/constants/index.d.ts.map +1 -1
- package/dist/workspace/errors.d.ts +1 -1
- package/dist/workspace/errors.d.ts.map +1 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
- package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
- package/dist/workspace/filesystem/filesystem.d.ts +5 -1
- package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/index.d.ts +1 -0
- package/dist/workspace/filesystem/index.d.ts.map +1 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
- package/dist/workspace/index.cjs +72 -64
- package/dist/workspace/index.d.ts +3 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/lifecycle.d.ts +1 -9
- package/dist/workspace/lifecycle.d.ts.map +1 -1
- package/dist/workspace/sandbox/index.d.ts +2 -0
- package/dist/workspace/sandbox/index.d.ts.map +1 -1
- package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
- package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
- package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
- package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
- package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
- package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
- package/dist/workspace/sandbox/sandbox.d.ts +38 -2
- package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/types.d.ts +9 -2
- package/dist/workspace/sandbox/types.d.ts.map +1 -1
- package/dist/workspace/sandbox/utils.d.ts +7 -0
- package/dist/workspace/sandbox/utils.d.ts.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts +53 -2
- package/dist/workspace/tools/execute-command.d.ts.map +1 -1
- package/dist/workspace/tools/get-process-output.d.ts +6 -0
- package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
- package/dist/workspace/tools/index.d.ts +4 -1
- package/dist/workspace/tools/index.d.ts.map +1 -1
- package/dist/workspace/tools/kill-process.d.ts +4 -0
- package/dist/workspace/tools/kill-process.d.ts.map +1 -0
- package/dist/workspace/tools/output-helpers.d.ts +21 -0
- package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
- package/dist/workspace/tools/tools.d.ts.map +1 -1
- package/dist/workspace/types.d.ts +31 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/utils.d.ts +11 -0
- package/dist/workspace/utils.d.ts.map +1 -0
- package/dist/workspace/workspace.d.ts +36 -0
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
- package/dist/chunk-5K45E5VE.js.map +0 -1
- package/dist/chunk-AYHSPIT6.cjs.map +0 -1
- package/dist/chunk-DGS2KGDI.js.map +0 -1
- package/dist/chunk-IHDE4CJV.js.map +0 -1
- package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
- package/dist/chunk-MWGGSA5Q.js.map +0 -1
- package/dist/chunk-TVPANHLE.cjs.map +0 -1
- package/dist/chunk-VJWRJWSC.cjs.map +0 -1
- package/dist/chunk-XB3DA67Q.js.map +0 -1
- package/dist/docs/SKILL.md +0 -301
- package/dist/docs/assets/SOURCE_MAP.json +0 -1413
- package/dist/docs/references/docs-agents-adding-voice.md +0 -353
- package/dist/docs/references/docs-agents-agent-approval.md +0 -377
- package/dist/docs/references/docs-agents-agent-memory.md +0 -212
- package/dist/docs/references/docs-agents-guardrails.md +0 -382
- package/dist/docs/references/docs-agents-network-approval.md +0 -275
- package/dist/docs/references/docs-agents-networks.md +0 -290
- package/dist/docs/references/docs-agents-overview.md +0 -309
- package/dist/docs/references/docs-agents-processors.md +0 -632
- package/dist/docs/references/docs-agents-structured-output.md +0 -271
- package/dist/docs/references/docs-agents-using-tools.md +0 -214
- package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
- package/dist/docs/references/docs-evals-overview.md +0 -146
- package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
- package/dist/docs/references/docs-mcp-overview.md +0 -370
- package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
- package/dist/docs/references/docs-memory-memory-processors.md +0 -316
- package/dist/docs/references/docs-memory-observational-memory.md +0 -246
- package/dist/docs/references/docs-memory-overview.md +0 -45
- package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
- package/dist/docs/references/docs-memory-storage.md +0 -261
- package/dist/docs/references/docs-memory-working-memory.md +0 -400
- package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
- package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
- package/dist/docs/references/docs-observability-logging.md +0 -99
- package/dist/docs/references/docs-observability-overview.md +0 -70
- package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
- package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
- package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
- package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
- package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
- package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
- package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
- package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
- package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
- package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
- package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
- package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
- package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
- package/dist/docs/references/docs-rag-graph-rag.md +0 -215
- package/dist/docs/references/docs-rag-overview.md +0 -72
- package/dist/docs/references/docs-rag-retrieval.md +0 -521
- package/dist/docs/references/docs-rag-vector-databases.md +0 -648
- package/dist/docs/references/docs-server-auth-auth0.md +0 -222
- package/dist/docs/references/docs-server-auth-clerk.md +0 -132
- package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
- package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
- package/dist/docs/references/docs-server-auth-firebase.md +0 -272
- package/dist/docs/references/docs-server-auth-jwt.md +0 -110
- package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
- package/dist/docs/references/docs-server-auth-supabase.md +0 -117
- package/dist/docs/references/docs-server-auth-workos.md +0 -190
- package/dist/docs/references/docs-server-custom-adapters.md +0 -374
- package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
- package/dist/docs/references/docs-server-mastra-client.md +0 -243
- package/dist/docs/references/docs-server-mastra-server.md +0 -71
- package/dist/docs/references/docs-server-middleware.md +0 -228
- package/dist/docs/references/docs-server-request-context.md +0 -478
- package/dist/docs/references/docs-streaming-events.md +0 -247
- package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
- package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
- package/dist/docs/references/docs-voice-overview.md +0 -979
- package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
- package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
- package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
- package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
- package/dist/docs/references/docs-workflows-control-flow.md +0 -823
- package/dist/docs/references/docs-workflows-error-handling.md +0 -360
- package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
- package/dist/docs/references/docs-workflows-overview.md +0 -372
- package/dist/docs/references/docs-workflows-snapshots.md +0 -238
- package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
- package/dist/docs/references/docs-workflows-time-travel.md +0 -309
- package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
- package/dist/docs/references/docs-workspace-filesystem.md +0 -162
- package/dist/docs/references/docs-workspace-overview.md +0 -239
- package/dist/docs/references/docs-workspace-sandbox.md +0 -63
- package/dist/docs/references/docs-workspace-search.md +0 -219
- package/dist/docs/references/docs-workspace-skills.md +0 -126
- package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
- package/dist/docs/references/reference-agents-agent.md +0 -142
- package/dist/docs/references/reference-agents-generate.md +0 -174
- package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
- package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
- package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDescription.md +0 -21
- package/dist/docs/references/reference-agents-getInstructions.md +0 -34
- package/dist/docs/references/reference-agents-getLLM.md +0 -37
- package/dist/docs/references/reference-agents-getMemory.md +0 -34
- package/dist/docs/references/reference-agents-getModel.md +0 -34
- package/dist/docs/references/reference-agents-getTools.md +0 -29
- package/dist/docs/references/reference-agents-getVoice.md +0 -34
- package/dist/docs/references/reference-agents-listAgents.md +0 -35
- package/dist/docs/references/reference-agents-listScorers.md +0 -34
- package/dist/docs/references/reference-agents-listTools.md +0 -34
- package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
- package/dist/docs/references/reference-agents-network.md +0 -134
- package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
- package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
- package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
- package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
- package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
- package/dist/docs/references/reference-auth-auth0.md +0 -73
- package/dist/docs/references/reference-auth-clerk.md +0 -36
- package/dist/docs/references/reference-auth-firebase.md +0 -80
- package/dist/docs/references/reference-auth-jwt.md +0 -26
- package/dist/docs/references/reference-auth-supabase.md +0 -33
- package/dist/docs/references/reference-auth-workos.md +0 -84
- package/dist/docs/references/reference-client-js-agents.md +0 -438
- package/dist/docs/references/reference-configuration.md +0 -749
- package/dist/docs/references/reference-core-addGateway.md +0 -42
- package/dist/docs/references/reference-core-getAgent.md +0 -21
- package/dist/docs/references/reference-core-getAgentById.md +0 -21
- package/dist/docs/references/reference-core-getDeployer.md +0 -22
- package/dist/docs/references/reference-core-getGateway.md +0 -38
- package/dist/docs/references/reference-core-getGatewayById.md +0 -41
- package/dist/docs/references/reference-core-getLogger.md +0 -22
- package/dist/docs/references/reference-core-getMCPServer.md +0 -45
- package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
- package/dist/docs/references/reference-core-getMemory.md +0 -50
- package/dist/docs/references/reference-core-getScorer.md +0 -54
- package/dist/docs/references/reference-core-getScorerById.md +0 -54
- package/dist/docs/references/reference-core-getServer.md +0 -22
- package/dist/docs/references/reference-core-getStorage.md +0 -22
- package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
- package/dist/docs/references/reference-core-getTelemetry.md +0 -22
- package/dist/docs/references/reference-core-getVector.md +0 -22
- package/dist/docs/references/reference-core-getWorkflow.md +0 -40
- package/dist/docs/references/reference-core-listAgents.md +0 -21
- package/dist/docs/references/reference-core-listGateways.md +0 -40
- package/dist/docs/references/reference-core-listLogs.md +0 -38
- package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
- package/dist/docs/references/reference-core-listMCPServers.md +0 -51
- package/dist/docs/references/reference-core-listMemory.md +0 -56
- package/dist/docs/references/reference-core-listScorers.md +0 -29
- package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
- package/dist/docs/references/reference-core-listVectors.md +0 -22
- package/dist/docs/references/reference-core-listWorkflows.md +0 -21
- package/dist/docs/references/reference-core-mastra-class.md +0 -66
- package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
- package/dist/docs/references/reference-core-setLogger.md +0 -26
- package/dist/docs/references/reference-core-setStorage.md +0 -27
- package/dist/docs/references/reference-datasets-addItem.md +0 -35
- package/dist/docs/references/reference-datasets-addItems.md +0 -33
- package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
- package/dist/docs/references/reference-datasets-create.md +0 -49
- package/dist/docs/references/reference-datasets-dataset.md +0 -78
- package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
- package/dist/docs/references/reference-datasets-delete.md +0 -23
- package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
- package/dist/docs/references/reference-datasets-get.md +0 -29
- package/dist/docs/references/reference-datasets-getDetails.md +0 -45
- package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
- package/dist/docs/references/reference-datasets-getItem.md +0 -31
- package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
- package/dist/docs/references/reference-datasets-list.md +0 -29
- package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
- package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
- package/dist/docs/references/reference-datasets-listItems.md +0 -44
- package/dist/docs/references/reference-datasets-listVersions.md +0 -31
- package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
- package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
- package/dist/docs/references/reference-datasets-update.md +0 -46
- package/dist/docs/references/reference-datasets-updateItem.md +0 -36
- package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
- package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
- package/dist/docs/references/reference-evals-bias.md +0 -120
- package/dist/docs/references/reference-evals-completeness.md +0 -137
- package/dist/docs/references/reference-evals-content-similarity.md +0 -101
- package/dist/docs/references/reference-evals-context-precision.md +0 -196
- package/dist/docs/references/reference-evals-create-scorer.md +0 -270
- package/dist/docs/references/reference-evals-faithfulness.md +0 -114
- package/dist/docs/references/reference-evals-hallucination.md +0 -220
- package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
- package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
- package/dist/docs/references/reference-evals-run-evals.md +0 -138
- package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
- package/dist/docs/references/reference-evals-textual-difference.md +0 -113
- package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
- package/dist/docs/references/reference-evals-toxicity.md +0 -123
- package/dist/docs/references/reference-harness-harness-class.md +0 -645
- package/dist/docs/references/reference-logging-pino-logger.md +0 -117
- package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
- package/dist/docs/references/reference-memory-memory-class.md +0 -147
- package/dist/docs/references/reference-memory-observational-memory.md +0 -565
- package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
- package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
- package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
- package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
- package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
- package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
- package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
- package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
- package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
- package/dist/docs/references/reference-processors-language-detector.md +0 -81
- package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
- package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
- package/dist/docs/references/reference-processors-pii-detector.md +0 -107
- package/dist/docs/references/reference-processors-processor-interface.md +0 -525
- package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
- package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
- package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
- package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
- package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
- package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
- package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
- package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
- package/dist/docs/references/reference-rag-database-config.md +0 -264
- package/dist/docs/references/reference-rag-embeddings.md +0 -92
- package/dist/docs/references/reference-server-mastra-server.md +0 -298
- package/dist/docs/references/reference-server-register-api-route.md +0 -249
- package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
- package/dist/docs/references/reference-storage-composite.md +0 -235
- package/dist/docs/references/reference-storage-lance.md +0 -131
- package/dist/docs/references/reference-storage-libsql.md +0 -135
- package/dist/docs/references/reference-storage-mongodb.md +0 -262
- package/dist/docs/references/reference-storage-mssql.md +0 -155
- package/dist/docs/references/reference-storage-overview.md +0 -121
- package/dist/docs/references/reference-storage-postgresql.md +0 -529
- package/dist/docs/references/reference-storage-upstash.md +0 -160
- package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
- package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
- package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
- package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
- package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
- package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
- package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
- package/dist/docs/references/reference-templates-overview.md +0 -194
- package/dist/docs/references/reference-tools-create-tool.md +0 -237
- package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
- package/dist/docs/references/reference-tools-mcp-client.md +0 -962
- package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
- package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
- package/dist/docs/references/reference-vectors-libsql.md +0 -305
- package/dist/docs/references/reference-vectors-mongodb.md +0 -295
- package/dist/docs/references/reference-vectors-pg.md +0 -408
- package/dist/docs/references/reference-vectors-upstash.md +0 -294
- package/dist/docs/references/reference-voice-composite-voice.md +0 -121
- package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
- package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
- package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
- package/dist/docs/references/reference-voice-voice.connect.md +0 -94
- package/dist/docs/references/reference-voice-voice.events.md +0 -37
- package/dist/docs/references/reference-voice-voice.listen.md +0 -164
- package/dist/docs/references/reference-voice-voice.on.md +0 -111
- package/dist/docs/references/reference-voice-voice.speak.md +0 -157
- package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
- package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
- package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
- package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
- package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
- package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
- package/dist/docs/references/reference-workflows-run.md +0 -59
- package/dist/docs/references/reference-workflows-step.md +0 -119
- package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
- package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
- package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
- package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
- package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
- package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
- package/dist/docs/references/reference-workflows-workflow.md +0 -157
- package/dist/docs/references/reference-workspace-filesystem.md +0 -202
- package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
- package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
- package/dist/docs/references/reference-workspace-sandbox.md +0 -81
- package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
- package/dist/docs/references/reference.md +0 -276
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
# Scorer Utils
|
|
2
|
-
|
|
3
|
-
Mastra provides utility functions to help extract and process data from scorer run inputs and outputs. These utilities are particularly useful in the `preprocess` step of custom scorers.
|
|
4
|
-
|
|
5
|
-
## Import
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
import {
|
|
9
|
-
getAssistantMessageFromRunOutput,
|
|
10
|
-
getReasoningFromRunOutput,
|
|
11
|
-
getUserMessageFromRunInput,
|
|
12
|
-
getSystemMessagesFromRunInput,
|
|
13
|
-
getCombinedSystemPrompt,
|
|
14
|
-
extractToolCalls,
|
|
15
|
-
extractInputMessages,
|
|
16
|
-
extractAgentResponseMessages,
|
|
17
|
-
} from "@mastra/evals/scorers/utils";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Message Extraction
|
|
21
|
-
|
|
22
|
-
### getAssistantMessageFromRunOutput
|
|
23
|
-
|
|
24
|
-
Extracts the text content from the first assistant message in the run output.
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
const scorer = createScorer({
|
|
28
|
-
id: "my-scorer",
|
|
29
|
-
description: "My scorer",
|
|
30
|
-
type: "agent",
|
|
31
|
-
})
|
|
32
|
-
.preprocess(({ run }) => {
|
|
33
|
-
const response = getAssistantMessageFromRunOutput(run.output);
|
|
34
|
-
return { response };
|
|
35
|
-
})
|
|
36
|
-
.generateScore(({ results }) => {
|
|
37
|
-
return results.preprocessStepResult?.response ? 1 : 0;
|
|
38
|
-
});
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**output?:** (`ScorerRunOutputForAgent`): The scorer run output (array of MastraDBMessage)
|
|
42
|
-
|
|
43
|
-
**Returns:** `string | undefined` - The assistant message text, or undefined if no assistant message is found.
|
|
44
|
-
|
|
45
|
-
### getUserMessageFromRunInput
|
|
46
|
-
|
|
47
|
-
Extracts the text content from the first user message in the run input.
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
.preprocess(({ run }) => {
|
|
51
|
-
const userMessage = getUserMessageFromRunInput(run.input);
|
|
52
|
-
return { userMessage };
|
|
53
|
-
})
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**input?:** (`ScorerRunInputForAgent`): The scorer run input containing input messages
|
|
57
|
-
|
|
58
|
-
**Returns:** `string | undefined` - The user message text, or undefined if no user message is found.
|
|
59
|
-
|
|
60
|
-
### extractInputMessages
|
|
61
|
-
|
|
62
|
-
Extracts text content from all input messages as an array.
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
.preprocess(({ run }) => {
|
|
66
|
-
const allUserMessages = extractInputMessages(run.input);
|
|
67
|
-
return { conversationHistory: allUserMessages.join("\n") };
|
|
68
|
-
})
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**Returns:** `string[]` - Array of text strings from each input message.
|
|
72
|
-
|
|
73
|
-
### extractAgentResponseMessages
|
|
74
|
-
|
|
75
|
-
Extracts text content from all assistant response messages as an array.
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
.preprocess(({ run }) => {
|
|
79
|
-
const allResponses = extractAgentResponseMessages(run.output);
|
|
80
|
-
return { allResponses };
|
|
81
|
-
})
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Returns:** `string[]` - Array of text strings from each assistant message.
|
|
85
|
-
|
|
86
|
-
## Reasoning Extraction
|
|
87
|
-
|
|
88
|
-
### getReasoningFromRunOutput
|
|
89
|
-
|
|
90
|
-
Extracts reasoning text from the run output. This is particularly useful when evaluating responses from reasoning models like `deepseek-reasoner` that produce chain-of-thought reasoning.
|
|
91
|
-
|
|
92
|
-
Reasoning can be stored in two places:
|
|
93
|
-
|
|
94
|
-
1. `content.reasoning` - a string field on the message content
|
|
95
|
-
2. `content.parts` - as parts with `type: 'reasoning'` containing `details`
|
|
96
|
-
|
|
97
|
-
```typescript
|
|
98
|
-
import {
|
|
99
|
-
getReasoningFromRunOutput,
|
|
100
|
-
getAssistantMessageFromRunOutput
|
|
101
|
-
} from "@mastra/evals/scorers/utils";
|
|
102
|
-
|
|
103
|
-
const reasoningQualityScorer = createScorer({
|
|
104
|
-
id: "reasoning-quality",
|
|
105
|
-
name: "Reasoning Quality",
|
|
106
|
-
description: "Evaluates the quality of model reasoning",
|
|
107
|
-
type: "agent",
|
|
108
|
-
})
|
|
109
|
-
.preprocess(({ run }) => {
|
|
110
|
-
const reasoning = getReasoningFromRunOutput(run.output);
|
|
111
|
-
const response = getAssistantMessageFromRunOutput(run.output);
|
|
112
|
-
return { reasoning, response };
|
|
113
|
-
})
|
|
114
|
-
.analyze(({ results }) => {
|
|
115
|
-
const { reasoning } = results.preprocessStepResult || {};
|
|
116
|
-
return {
|
|
117
|
-
hasReasoning: !!reasoning,
|
|
118
|
-
reasoningLength: reasoning?.length || 0,
|
|
119
|
-
hasStepByStep: reasoning?.includes("step") || false,
|
|
120
|
-
};
|
|
121
|
-
})
|
|
122
|
-
.generateScore(({ results }) => {
|
|
123
|
-
const { hasReasoning, reasoningLength } = results.analyzeStepResult || {};
|
|
124
|
-
if (!hasReasoning) return 0;
|
|
125
|
-
// Score based on reasoning length (normalized to 0-1)
|
|
126
|
-
return Math.min(reasoningLength / 500, 1);
|
|
127
|
-
})
|
|
128
|
-
.generateReason(({ results, score }) => {
|
|
129
|
-
const { hasReasoning, reasoningLength } = results.analyzeStepResult || {};
|
|
130
|
-
if (!hasReasoning) {
|
|
131
|
-
return "No reasoning was provided by the model.";
|
|
132
|
-
}
|
|
133
|
-
return `Model provided ${reasoningLength} characters of reasoning. Score: ${score}`;
|
|
134
|
-
});
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**output?:** (`ScorerRunOutputForAgent`): The scorer run output (array of MastraDBMessage)
|
|
138
|
-
|
|
139
|
-
**Returns:** `string | undefined` - The reasoning text, or undefined if no reasoning is present.
|
|
140
|
-
|
|
141
|
-
## System Message Extraction
|
|
142
|
-
|
|
143
|
-
### getSystemMessagesFromRunInput
|
|
144
|
-
|
|
145
|
-
Extracts all system messages from the run input, including both standard system messages and tagged system messages (specialized prompts like memory instructions).
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
.preprocess(({ run }) => {
|
|
149
|
-
const systemMessages = getSystemMessagesFromRunInput(run.input);
|
|
150
|
-
return {
|
|
151
|
-
systemPromptCount: systemMessages.length,
|
|
152
|
-
systemPrompts: systemMessages
|
|
153
|
-
};
|
|
154
|
-
})
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
**Returns:** `string[]` - Array of system message strings.
|
|
158
|
-
|
|
159
|
-
### getCombinedSystemPrompt
|
|
160
|
-
|
|
161
|
-
Combines all system messages into a single prompt string, joined with double newlines.
|
|
162
|
-
|
|
163
|
-
```typescript
|
|
164
|
-
.preprocess(({ run }) => {
|
|
165
|
-
const fullSystemPrompt = getCombinedSystemPrompt(run.input);
|
|
166
|
-
return { fullSystemPrompt };
|
|
167
|
-
})
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
**Returns:** `string` - Combined system prompt string.
|
|
171
|
-
|
|
172
|
-
## Tool Call Extraction
|
|
173
|
-
|
|
174
|
-
### extractToolCalls
|
|
175
|
-
|
|
176
|
-
Extracts information about all tool calls from the run output, including tool names, call IDs, and their positions in the message array.
|
|
177
|
-
|
|
178
|
-
```typescript
|
|
179
|
-
const toolUsageScorer = createScorer({
|
|
180
|
-
id: "tool-usage",
|
|
181
|
-
description: "Evaluates tool usage patterns",
|
|
182
|
-
type: "agent",
|
|
183
|
-
})
|
|
184
|
-
.preprocess(({ run }) => {
|
|
185
|
-
const { tools, toolCallInfos } = extractToolCalls(run.output);
|
|
186
|
-
return {
|
|
187
|
-
toolsUsed: tools,
|
|
188
|
-
toolCount: tools.length,
|
|
189
|
-
toolDetails: toolCallInfos,
|
|
190
|
-
};
|
|
191
|
-
})
|
|
192
|
-
.generateScore(({ results }) => {
|
|
193
|
-
const { toolCount } = results.preprocessStepResult || {};
|
|
194
|
-
// Score based on appropriate tool usage
|
|
195
|
-
return toolCount > 0 ? 1 : 0;
|
|
196
|
-
});
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Returns:**
|
|
200
|
-
|
|
201
|
-
```typescript
|
|
202
|
-
{
|
|
203
|
-
tools: string[]; // Array of tool names
|
|
204
|
-
toolCallInfos: ToolCallInfo[]; // Detailed tool call information
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
Where `ToolCallInfo` is:
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
type ToolCallInfo = {
|
|
212
|
-
toolName: string; // Name of the tool
|
|
213
|
-
toolCallId: string; // Unique call identifier
|
|
214
|
-
messageIndex: number; // Index in the output array
|
|
215
|
-
invocationIndex: number; // Index within message's tool invocations
|
|
216
|
-
};
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## Test Utilities
|
|
220
|
-
|
|
221
|
-
These utilities help create test data for scorer development.
|
|
222
|
-
|
|
223
|
-
### createTestMessage
|
|
224
|
-
|
|
225
|
-
Creates a `MastraDBMessage` object for testing purposes.
|
|
226
|
-
|
|
227
|
-
```typescript
|
|
228
|
-
import { createTestMessage } from "@mastra/evals/scorers/utils";
|
|
229
|
-
|
|
230
|
-
const userMessage = createTestMessage({
|
|
231
|
-
content: "What is the weather?",
|
|
232
|
-
role: "user",
|
|
233
|
-
});
|
|
234
|
-
|
|
235
|
-
const assistantMessage = createTestMessage({
|
|
236
|
-
content: "The weather is sunny.",
|
|
237
|
-
role: "assistant",
|
|
238
|
-
toolInvocations: [
|
|
239
|
-
{
|
|
240
|
-
toolCallId: "call-1",
|
|
241
|
-
toolName: "weatherTool",
|
|
242
|
-
args: { location: "London" },
|
|
243
|
-
result: { temp: 20 },
|
|
244
|
-
state: "result",
|
|
245
|
-
},
|
|
246
|
-
],
|
|
247
|
-
});
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### createAgentTestRun
|
|
251
|
-
|
|
252
|
-
Creates a complete test run object for testing scorers.
|
|
253
|
-
|
|
254
|
-
```typescript
|
|
255
|
-
import { createAgentTestRun, createTestMessage } from "@mastra/evals/scorers/utils";
|
|
256
|
-
|
|
257
|
-
const testRun = createAgentTestRun({
|
|
258
|
-
inputMessages: [
|
|
259
|
-
createTestMessage({ content: "Hello", role: "user" }),
|
|
260
|
-
],
|
|
261
|
-
output: [
|
|
262
|
-
createTestMessage({ content: "Hi there!", role: "assistant" }),
|
|
263
|
-
],
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
// Run your scorer with the test data
|
|
267
|
-
const result = await myScorer.run({
|
|
268
|
-
input: testRun.input,
|
|
269
|
-
output: testRun.output,
|
|
270
|
-
});
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
## Complete Example
|
|
274
|
-
|
|
275
|
-
Here's a complete example showing how to use multiple utilities together:
|
|
276
|
-
|
|
277
|
-
```typescript
|
|
278
|
-
import { createScorer } from "@mastra/core/evals";
|
|
279
|
-
import {
|
|
280
|
-
getAssistantMessageFromRunOutput,
|
|
281
|
-
getReasoningFromRunOutput,
|
|
282
|
-
getUserMessageFromRunInput,
|
|
283
|
-
getCombinedSystemPrompt,
|
|
284
|
-
extractToolCalls,
|
|
285
|
-
} from "@mastra/evals/scorers/utils";
|
|
286
|
-
|
|
287
|
-
const comprehensiveScorer = createScorer({
|
|
288
|
-
id: "comprehensive-analysis",
|
|
289
|
-
name: "Comprehensive Analysis",
|
|
290
|
-
description: "Analyzes all aspects of an agent response",
|
|
291
|
-
type: "agent",
|
|
292
|
-
})
|
|
293
|
-
.preprocess(({ run }) => {
|
|
294
|
-
// Extract all relevant data
|
|
295
|
-
const userMessage = getUserMessageFromRunInput(run.input);
|
|
296
|
-
const response = getAssistantMessageFromRunOutput(run.output);
|
|
297
|
-
const reasoning = getReasoningFromRunOutput(run.output);
|
|
298
|
-
const systemPrompt = getCombinedSystemPrompt(run.input);
|
|
299
|
-
const { tools, toolCallInfos } = extractToolCalls(run.output);
|
|
300
|
-
|
|
301
|
-
return {
|
|
302
|
-
userMessage,
|
|
303
|
-
response,
|
|
304
|
-
reasoning,
|
|
305
|
-
systemPrompt,
|
|
306
|
-
toolsUsed: tools,
|
|
307
|
-
toolCount: tools.length,
|
|
308
|
-
};
|
|
309
|
-
})
|
|
310
|
-
.generateScore(({ results }) => {
|
|
311
|
-
const { response, reasoning, toolCount } = results.preprocessStepResult || {};
|
|
312
|
-
|
|
313
|
-
let score = 0;
|
|
314
|
-
if (response && response.length > 0) score += 0.4;
|
|
315
|
-
if (reasoning) score += 0.3;
|
|
316
|
-
if (toolCount > 0) score += 0.3;
|
|
317
|
-
|
|
318
|
-
return score;
|
|
319
|
-
})
|
|
320
|
-
.generateReason(({ results, score }) => {
|
|
321
|
-
const { response, reasoning, toolCount } = results.preprocessStepResult || {};
|
|
322
|
-
|
|
323
|
-
const parts = [];
|
|
324
|
-
if (response) parts.push("provided a response");
|
|
325
|
-
if (reasoning) parts.push("included reasoning");
|
|
326
|
-
if (toolCount > 0) parts.push(`used ${toolCount} tool(s)`);
|
|
327
|
-
|
|
328
|
-
return `Score: ${score}. The agent ${parts.join(", ")}.`;
|
|
329
|
-
});
|
|
330
|
-
```
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Textual Difference Scorer
|
|
2
|
-
|
|
3
|
-
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.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
The `createTextualDifferenceScorer()` function does not take any options.
|
|
8
|
-
|
|
9
|
-
This function returns an instance of the MastraScorer class. See the [MastraScorer reference](https://mastra.ai/reference/evals/mastra-scorer) for details on the `.run()` method and its input/output.
|
|
10
|
-
|
|
11
|
-
## .run() Returns
|
|
12
|
-
|
|
13
|
-
**runId:** (`string`): The id of the run (optional).
|
|
14
|
-
|
|
15
|
-
**analyzeStepResult:** (`object`): Object with difference metrics: { confidence: number, changes: number, lengthDiff: number }
|
|
16
|
-
|
|
17
|
-
**score:** (`number`): Similarity ratio (0-1) where 1 indicates identical texts.
|
|
18
|
-
|
|
19
|
-
`.run()` returns a result in the following shape:
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
{
|
|
23
|
-
runId: string,
|
|
24
|
-
analyzeStepResult: {
|
|
25
|
-
confidence: number,
|
|
26
|
-
ratio: number,
|
|
27
|
-
changes: number,
|
|
28
|
-
lengthDiff: number
|
|
29
|
-
},
|
|
30
|
-
score: number
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Scoring Details
|
|
35
|
-
|
|
36
|
-
The scorer calculates several measures:
|
|
37
|
-
|
|
38
|
-
- **Similarity Ratio**: Based on sequence matching between texts (0-1)
|
|
39
|
-
- **Changes**: Count of non-matching operations needed
|
|
40
|
-
- **Length Difference**: Normalized difference in text lengths
|
|
41
|
-
- **Confidence**: Inversely proportional to length difference
|
|
42
|
-
|
|
43
|
-
### Scoring Process
|
|
44
|
-
|
|
45
|
-
1. Analyzes textual differences:
|
|
46
|
-
|
|
47
|
-
- Performs sequence matching between input and output
|
|
48
|
-
- Counts the number of change operations required
|
|
49
|
-
- Measures length differences
|
|
50
|
-
|
|
51
|
-
2. Calculates metrics:
|
|
52
|
-
|
|
53
|
-
- Computes similarity ratio
|
|
54
|
-
- Determines confidence score
|
|
55
|
-
- Combines into weighted score
|
|
56
|
-
|
|
57
|
-
Final score: `(similarity_ratio * confidence) * scale`
|
|
58
|
-
|
|
59
|
-
### Score interpretation
|
|
60
|
-
|
|
61
|
-
A textual difference score between 0 and 1:
|
|
62
|
-
|
|
63
|
-
- **1.0**: Identical texts – no differences detected.
|
|
64
|
-
- **0.7–0.9**: Minor differences – few changes needed.
|
|
65
|
-
- **0.4–0.6**: Moderate differences – noticeable changes required.
|
|
66
|
-
- **0.1–0.3**: Major differences – extensive changes needed.
|
|
67
|
-
- **0.0**: Completely different texts.
|
|
68
|
-
|
|
69
|
-
## Example
|
|
70
|
-
|
|
71
|
-
Measure textual differences between expected and actual agent outputs:
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
import { runEvals } from "@mastra/core/evals";
|
|
75
|
-
import { createTextualDifferenceScorer } from "@mastra/evals/scorers/prebuilt";
|
|
76
|
-
import { myAgent } from "./agent";
|
|
77
|
-
|
|
78
|
-
const scorer = createTextualDifferenceScorer();
|
|
79
|
-
|
|
80
|
-
const result = await runEvals({
|
|
81
|
-
data: [
|
|
82
|
-
{
|
|
83
|
-
input: "Summarize the concept of recursion",
|
|
84
|
-
groundTruth:
|
|
85
|
-
"Recursion is when a function calls itself to solve a problem by breaking it into smaller subproblems.",
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
input: "What is the capital of France?",
|
|
89
|
-
groundTruth: "The capital of France is Paris.",
|
|
90
|
-
},
|
|
91
|
-
],
|
|
92
|
-
scorers: [scorer],
|
|
93
|
-
target: myAgent,
|
|
94
|
-
onItemComplete: ({ scorerResults }) => {
|
|
95
|
-
console.log({
|
|
96
|
-
score: scorerResults[scorer.id].score,
|
|
97
|
-
groundTruth: scorerResults[scorer.id].groundTruth,
|
|
98
|
-
});
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
console.log(result.scores);
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
106
|
-
|
|
107
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
108
|
-
|
|
109
|
-
## Related
|
|
110
|
-
|
|
111
|
-
- [Content Similarity Scorer](https://mastra.ai/reference/evals/content-similarity)
|
|
112
|
-
- [Completeness Scorer](https://mastra.ai/reference/evals/completeness)
|
|
113
|
-
- [Keyword Coverage Scorer](https://mastra.ai/reference/evals/keyword-coverage)
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Tone Consistency Scorer
|
|
2
|
-
|
|
3
|
-
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.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
The `createToneScorer()` function does not take any options.
|
|
8
|
-
|
|
9
|
-
This function returns an instance of the MastraScorer class. See the [MastraScorer reference](https://mastra.ai/reference/evals/mastra-scorer) for details on the `.run()` method and its input/output.
|
|
10
|
-
|
|
11
|
-
## .run() Returns
|
|
12
|
-
|
|
13
|
-
**runId:** (`string`): The id of the run (optional).
|
|
14
|
-
|
|
15
|
-
**analyzeStepResult:** (`object`): Object with tone metrics: { responseSentiment: number, referenceSentiment: number, difference: number } (for comparison mode) OR { avgSentiment: number, sentimentVariance: number } (for stability mode)
|
|
16
|
-
|
|
17
|
-
**score:** (`number`): Tone consistency/stability score (0-1).
|
|
18
|
-
|
|
19
|
-
`.run()` returns a result in the following shape:
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
{
|
|
23
|
-
runId: string,
|
|
24
|
-
analyzeStepResult: {
|
|
25
|
-
responseSentiment?: number,
|
|
26
|
-
referenceSentiment?: number,
|
|
27
|
-
difference?: number,
|
|
28
|
-
avgSentiment?: number,
|
|
29
|
-
sentimentVariance?: number,
|
|
30
|
-
},
|
|
31
|
-
score: number
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Scoring Details
|
|
36
|
-
|
|
37
|
-
The scorer evaluates sentiment consistency through tone pattern analysis and mode-specific scoring.
|
|
38
|
-
|
|
39
|
-
### Scoring Process
|
|
40
|
-
|
|
41
|
-
1. Analyzes tone patterns:
|
|
42
|
-
|
|
43
|
-
- Extracts sentiment features
|
|
44
|
-
- Computes sentiment scores
|
|
45
|
-
- Measures tone variations
|
|
46
|
-
|
|
47
|
-
2. Calculates mode-specific score: **Tone Consistency** (input and output):
|
|
48
|
-
|
|
49
|
-
- Compares sentiment between texts
|
|
50
|
-
- Calculates sentiment difference
|
|
51
|
-
- Score = 1 - (sentiment\_difference / max\_difference) **Tone Stability** (single input):
|
|
52
|
-
- Analyzes sentiment across sentences
|
|
53
|
-
- Calculates sentiment variance
|
|
54
|
-
- Score = 1 - (sentiment\_variance / max\_variance)
|
|
55
|
-
|
|
56
|
-
Final score: `mode_specific_score * scale`
|
|
57
|
-
|
|
58
|
-
### Score interpretation
|
|
59
|
-
|
|
60
|
-
(0 to scale, default 0-1)
|
|
61
|
-
|
|
62
|
-
- 1.0: Perfect tone consistency/stability
|
|
63
|
-
- 0.7-0.9: Strong consistency with minor variations
|
|
64
|
-
- 0.4-0.6: Moderate consistency with noticeable shifts
|
|
65
|
-
- 0.1-0.3: Poor consistency with major tone changes
|
|
66
|
-
- 0.0: No consistency - completely different tones
|
|
67
|
-
|
|
68
|
-
### analyzeStepResult
|
|
69
|
-
|
|
70
|
-
Object with tone metrics:
|
|
71
|
-
|
|
72
|
-
- **responseSentiment**: Sentiment score for the response (comparison mode).
|
|
73
|
-
- **referenceSentiment**: Sentiment score for the input/reference (comparison mode).
|
|
74
|
-
- **difference**: Absolute difference between sentiment scores (comparison mode).
|
|
75
|
-
- **avgSentiment**: Average sentiment across sentences (stability mode).
|
|
76
|
-
- **sentimentVariance**: Variance of sentiment across sentences (stability mode).
|
|
77
|
-
|
|
78
|
-
## Example
|
|
79
|
-
|
|
80
|
-
Evaluate tone consistency between related agent responses:
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
import { runEvals } from "@mastra/core/evals";
|
|
84
|
-
import { createToneScorer } from "@mastra/evals/scorers/prebuilt";
|
|
85
|
-
import { myAgent } from "./agent";
|
|
86
|
-
|
|
87
|
-
const scorer = createToneScorer();
|
|
88
|
-
|
|
89
|
-
const result = await runEvals({
|
|
90
|
-
data: [
|
|
91
|
-
{
|
|
92
|
-
input: "How was your experience with our service?",
|
|
93
|
-
groundTruth: "The service was excellent and exceeded expectations!",
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
input: "Tell me about the customer support",
|
|
97
|
-
groundTruth: "The support team was friendly and very helpful.",
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
scorers: [scorer],
|
|
101
|
-
target: myAgent,
|
|
102
|
-
onItemComplete: ({ scorerResults }) => {
|
|
103
|
-
console.log({
|
|
104
|
-
score: scorerResults[scorer.id].score,
|
|
105
|
-
});
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
console.log(result.scores);
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
113
|
-
|
|
114
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
115
|
-
|
|
116
|
-
## Related
|
|
117
|
-
|
|
118
|
-
- [Content Similarity Scorer](https://mastra.ai/reference/evals/content-similarity)
|
|
119
|
-
- [Toxicity Scorer](https://mastra.ai/reference/evals/toxicity)
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# Toxicity Scorer
|
|
2
|
-
|
|
3
|
-
The `createToxicityScorer()` function evaluates whether an LLM's output contains racist, biased, or toxic elements. It uses a judge-based system to analyze responses for various forms of toxicity including personal attacks, mockery, hate speech, dismissive statements, and threats.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
The `createToxicityScorer()` function accepts a single options object with the following properties:
|
|
8
|
-
|
|
9
|
-
**model:** (`LanguageModel`): Configuration for the model used to evaluate toxicity.
|
|
10
|
-
|
|
11
|
-
**scale:** (`number`): Maximum score value (default is 1). (Default: `1`)
|
|
12
|
-
|
|
13
|
-
This function returns an instance of the MastraScorer class. The `.run()` method accepts the same input as other scorers (see the [MastraScorer reference](https://mastra.ai/reference/evals/mastra-scorer)), but the return value includes LLM-specific fields as documented below.
|
|
14
|
-
|
|
15
|
-
## .run() Returns
|
|
16
|
-
|
|
17
|
-
**runId:** (`string`): The id of the run (optional).
|
|
18
|
-
|
|
19
|
-
**analyzeStepResult:** (`object`): Object with verdicts: { verdicts: Array<{ verdict: 'yes' | 'no', reason: string }> }
|
|
20
|
-
|
|
21
|
-
**analyzePrompt:** (`string`): The prompt sent to the LLM for the analyze step (optional).
|
|
22
|
-
|
|
23
|
-
**score:** (`number`): Toxicity score (0 to scale, default 0-1).
|
|
24
|
-
|
|
25
|
-
**reason:** (`string`): Detailed explanation of the toxicity assessment.
|
|
26
|
-
|
|
27
|
-
**generateReasonPrompt:** (`string`): The prompt sent to the LLM for the generateReason step (optional).
|
|
28
|
-
|
|
29
|
-
`.run()` returns a result in the following shape:
|
|
30
|
-
|
|
31
|
-
```typescript
|
|
32
|
-
{
|
|
33
|
-
runId: string,
|
|
34
|
-
analyzeStepResult: {
|
|
35
|
-
verdicts: Array<{ verdict: 'yes' | 'no', reason: string }>
|
|
36
|
-
},
|
|
37
|
-
analyzePrompt: string,
|
|
38
|
-
score: number,
|
|
39
|
-
reason: string,
|
|
40
|
-
reasonPrompt: string
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Scoring Details
|
|
45
|
-
|
|
46
|
-
The scorer evaluates toxicity through multiple aspects:
|
|
47
|
-
|
|
48
|
-
- Personal attacks
|
|
49
|
-
- Mockery or sarcasm
|
|
50
|
-
- Hate speech
|
|
51
|
-
- Dismissive statements
|
|
52
|
-
- Threats or intimidation
|
|
53
|
-
|
|
54
|
-
### Scoring Process
|
|
55
|
-
|
|
56
|
-
1. Analyzes toxic elements:
|
|
57
|
-
|
|
58
|
-
- Identifies personal attacks and mockery
|
|
59
|
-
- Detects hate speech and threats
|
|
60
|
-
- Evaluates dismissive statements
|
|
61
|
-
- Assesses severity levels
|
|
62
|
-
|
|
63
|
-
2. Calculates toxicity score:
|
|
64
|
-
|
|
65
|
-
- Weighs detected elements
|
|
66
|
-
- Combines severity ratings
|
|
67
|
-
- Normalizes to scale
|
|
68
|
-
|
|
69
|
-
Final score: `(toxicity_weighted_sum / max_toxicity) * scale`
|
|
70
|
-
|
|
71
|
-
### Score interpretation
|
|
72
|
-
|
|
73
|
-
A toxicity score between 0 and 1:
|
|
74
|
-
|
|
75
|
-
- **0.8–1.0**: Severe toxicity.
|
|
76
|
-
- **0.4–0.7**: Moderate toxicity.
|
|
77
|
-
- **0.1–0.3**: Mild toxicity.
|
|
78
|
-
- **0.0**: No toxic elements detected.
|
|
79
|
-
|
|
80
|
-
## Example
|
|
81
|
-
|
|
82
|
-
Evaluate agent responses for toxic, biased, or harmful content:
|
|
83
|
-
|
|
84
|
-
```typescript
|
|
85
|
-
import { runEvals } from "@mastra/core/evals";
|
|
86
|
-
import { createToxicityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
87
|
-
import { myAgent } from "./agent";
|
|
88
|
-
|
|
89
|
-
const scorer = createToxicityScorer({ model: "openai/gpt-4o" });
|
|
90
|
-
|
|
91
|
-
const result = await runEvals({
|
|
92
|
-
data: [
|
|
93
|
-
{
|
|
94
|
-
input: "What do you think about the new team member?",
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
input: "How was the meeting discussion?",
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
input: "Can you provide feedback on the project proposal?",
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
scorers: [scorer],
|
|
104
|
-
target: myAgent,
|
|
105
|
-
onItemComplete: ({ scorerResults }) => {
|
|
106
|
-
console.log({
|
|
107
|
-
score: scorerResults[scorer.id].score,
|
|
108
|
-
reason: scorerResults[scorer.id].reason,
|
|
109
|
-
});
|
|
110
|
-
},
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
console.log(result.scores);
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
117
|
-
|
|
118
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
119
|
-
|
|
120
|
-
## Related
|
|
121
|
-
|
|
122
|
-
- [Tone Consistency Scorer](https://mastra.ai/reference/evals/tone-consistency)
|
|
123
|
-
- [Bias Scorer](https://mastra.ai/reference/evals/bias)
|