@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,137 +0,0 @@
|
|
|
1
|
-
# Completeness Scorer
|
|
2
|
-
|
|
3
|
-
The `createCompletenessScorer()` function evaluates how thoroughly an LLM's output covers the key elements present in the input. It analyzes nouns, verbs, topics, and terms to determine coverage and provides a detailed completeness score.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
The `createCompletenessScorer()` 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
|
-
**preprocessStepResult:** (`object`): Object with extracted elements and coverage details: { inputElements: string\[], outputElements: string\[], missingElements: string\[], elementCounts: { input: number, output: number } }
|
|
16
|
-
|
|
17
|
-
**score:** (`number`): Completeness score (0-1) representing the proportion of input elements covered in the output.
|
|
18
|
-
|
|
19
|
-
The `.run()` method returns a result in the following shape:
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
{
|
|
23
|
-
runId: string,
|
|
24
|
-
extractStepResult: {
|
|
25
|
-
inputElements: string[],
|
|
26
|
-
outputElements: string[],
|
|
27
|
-
missingElements: string[],
|
|
28
|
-
elementCounts: { input: number, output: number }
|
|
29
|
-
},
|
|
30
|
-
score: number
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Element Extraction Details
|
|
35
|
-
|
|
36
|
-
The scorer extracts and analyzes several types of elements:
|
|
37
|
-
|
|
38
|
-
- Nouns: Key objects, concepts, and entities
|
|
39
|
-
- Verbs: Actions and states (converted to infinitive form)
|
|
40
|
-
- Topics: Main subjects and themes
|
|
41
|
-
- Terms: Individual significant words
|
|
42
|
-
|
|
43
|
-
The extraction process includes:
|
|
44
|
-
|
|
45
|
-
- Normalization of text (removing diacritics, converting to lowercase)
|
|
46
|
-
- Splitting camelCase words
|
|
47
|
-
- Handling of word boundaries
|
|
48
|
-
- Special handling of short words (3 characters or less)
|
|
49
|
-
- Deduplication of elements
|
|
50
|
-
|
|
51
|
-
### extractStepResult
|
|
52
|
-
|
|
53
|
-
From the `.run()` method, you can get the `extractStepResult` object with the following properties:
|
|
54
|
-
|
|
55
|
-
- **inputElements**: Key elements found in the input (e.g., nouns, verbs, topics, terms).
|
|
56
|
-
- **outputElements**: Key elements found in the output.
|
|
57
|
-
- **missingElements**: Input elements not found in the output.
|
|
58
|
-
- **elementCounts**: The number of elements in the input and output.
|
|
59
|
-
|
|
60
|
-
## Scoring Details
|
|
61
|
-
|
|
62
|
-
The scorer evaluates completeness through linguistic element coverage analysis.
|
|
63
|
-
|
|
64
|
-
### Scoring Process
|
|
65
|
-
|
|
66
|
-
1. Extracts key elements:
|
|
67
|
-
|
|
68
|
-
- Nouns and named entities
|
|
69
|
-
- Action verbs
|
|
70
|
-
- Topic-specific terms
|
|
71
|
-
- Normalized word forms
|
|
72
|
-
|
|
73
|
-
2. Calculates coverage of input elements:
|
|
74
|
-
|
|
75
|
-
- Exact matches for short terms (≤3 chars)
|
|
76
|
-
- Substantial overlap (>60%) for longer terms
|
|
77
|
-
|
|
78
|
-
Final score: `(covered_elements / total_input_elements) * scale`
|
|
79
|
-
|
|
80
|
-
### Score interpretation
|
|
81
|
-
|
|
82
|
-
A completeness score between 0 and 1:
|
|
83
|
-
|
|
84
|
-
- **1.0**: Thoroughly addresses all aspects of the query with comprehensive detail.
|
|
85
|
-
- **0.7–0.9**: Covers most important aspects with good detail, minor gaps.
|
|
86
|
-
- **0.4–0.6**: Addresses some key points but missing important aspects or lacking detail.
|
|
87
|
-
- **0.1–0.3**: Only partially addresses the query with significant gaps.
|
|
88
|
-
- **0.0**: Fails to address the query or provides irrelevant information.
|
|
89
|
-
|
|
90
|
-
## Example
|
|
91
|
-
|
|
92
|
-
Evaluate agent responses for completeness across different query complexities:
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
import { runEvals } from "@mastra/core/evals";
|
|
96
|
-
import { createCompletenessScorer } from "@mastra/evals/scorers/prebuilt";
|
|
97
|
-
import { myAgent } from "./agent";
|
|
98
|
-
|
|
99
|
-
const scorer = createCompletenessScorer();
|
|
100
|
-
|
|
101
|
-
const result = await runEvals({
|
|
102
|
-
data: [
|
|
103
|
-
{
|
|
104
|
-
input:
|
|
105
|
-
"Explain the process of photosynthesis, including the inputs, outputs, and stages involved.",
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
input:
|
|
109
|
-
"What are the benefits and drawbacks of remote work for both employees and employers?",
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
input:
|
|
113
|
-
"Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.",
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
scorers: [scorer],
|
|
117
|
-
target: myAgent,
|
|
118
|
-
onItemComplete: ({ scorerResults }) => {
|
|
119
|
-
console.log({
|
|
120
|
-
score: scorerResults[scorer.id].score,
|
|
121
|
-
});
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
console.log(result.scores);
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
129
|
-
|
|
130
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
131
|
-
|
|
132
|
-
## Related
|
|
133
|
-
|
|
134
|
-
- [Answer Relevancy Scorer](https://mastra.ai/reference/evals/answer-relevancy)
|
|
135
|
-
- [Content Similarity Scorer](https://mastra.ai/reference/evals/content-similarity)
|
|
136
|
-
- [Textual Difference Scorer](https://mastra.ai/reference/evals/textual-difference)
|
|
137
|
-
- [Keyword Coverage Scorer](https://mastra.ai/reference/evals/keyword-coverage)
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Content Similarity Scorer
|
|
2
|
-
|
|
3
|
-
The `createContentSimilarityScorer()` function measures the textual similarity between two strings, providing a score that indicates how closely they match. It supports configurable options for case sensitivity and whitespace handling.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
The `createContentSimilarityScorer()` function accepts a single options object with the following properties:
|
|
8
|
-
|
|
9
|
-
**ignoreCase:** (`boolean`): Whether to ignore case differences when comparing strings. (Default: `true`)
|
|
10
|
-
|
|
11
|
-
**ignoreWhitespace:** (`boolean`): Whether to normalize whitespace when comparing strings. (Default: `true`)
|
|
12
|
-
|
|
13
|
-
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.
|
|
14
|
-
|
|
15
|
-
## .run() Returns
|
|
16
|
-
|
|
17
|
-
**runId:** (`string`): The id of the run (optional).
|
|
18
|
-
|
|
19
|
-
**preprocessStepResult:** (`object`): Object with processed input and output: { processedInput: string, processedOutput: string }
|
|
20
|
-
|
|
21
|
-
**analyzeStepResult:** (`object`): Object with similarity: { similarity: number }
|
|
22
|
-
|
|
23
|
-
**score:** (`number`): Similarity score (0-1) where 1 indicates perfect similarity.
|
|
24
|
-
|
|
25
|
-
## Scoring Details
|
|
26
|
-
|
|
27
|
-
The scorer evaluates textual similarity through character-level matching and configurable text normalization.
|
|
28
|
-
|
|
29
|
-
### Scoring Process
|
|
30
|
-
|
|
31
|
-
1. Normalizes text:
|
|
32
|
-
|
|
33
|
-
- Case normalization (if ignoreCase: true)
|
|
34
|
-
- Whitespace normalization (if ignoreWhitespace: true)
|
|
35
|
-
|
|
36
|
-
2. Compares processed strings using string-similarity algorithm:
|
|
37
|
-
|
|
38
|
-
- Analyzes character sequences
|
|
39
|
-
- Aligns word boundaries
|
|
40
|
-
- Considers relative positions
|
|
41
|
-
- Accounts for length differences
|
|
42
|
-
|
|
43
|
-
Final score: `similarity_value * scale`
|
|
44
|
-
|
|
45
|
-
## Example
|
|
46
|
-
|
|
47
|
-
Evaluate textual similarity between expected and actual agent outputs:
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
import { runEvals } from "@mastra/core/evals";
|
|
51
|
-
import { createContentSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
52
|
-
import { myAgent } from "./agent";
|
|
53
|
-
|
|
54
|
-
const scorer = createContentSimilarityScorer();
|
|
55
|
-
|
|
56
|
-
const result = await runEvals({
|
|
57
|
-
data: [
|
|
58
|
-
{
|
|
59
|
-
input: "Summarize the benefits of TypeScript",
|
|
60
|
-
groundTruth:
|
|
61
|
-
"TypeScript provides static typing, better tooling support, and improved code maintainability.",
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
input: "What is machine learning?",
|
|
65
|
-
groundTruth:
|
|
66
|
-
"Machine learning is a subset of AI that enables systems to learn from data without explicit programming.",
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
scorers: [scorer],
|
|
70
|
-
target: myAgent,
|
|
71
|
-
onItemComplete: ({ scorerResults }) => {
|
|
72
|
-
console.log({
|
|
73
|
-
score: scorerResults[scorer.id].score,
|
|
74
|
-
groundTruth: scorerResults[scorer.id].groundTruth,
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
console.log(result.scores);
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
83
|
-
|
|
84
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
85
|
-
|
|
86
|
-
### Score interpretation
|
|
87
|
-
|
|
88
|
-
A similarity score between 0 and 1:
|
|
89
|
-
|
|
90
|
-
- **1.0**: Perfect match – content is nearly identical.
|
|
91
|
-
- **0.7–0.9**: High similarity – minor differences in word choice or structure.
|
|
92
|
-
- **0.4–0.6**: Moderate similarity – general overlap with noticeable variation.
|
|
93
|
-
- **0.1–0.3**: Low similarity – few common elements or shared meaning.
|
|
94
|
-
- **0.0**: No similarity – completely different content.
|
|
95
|
-
|
|
96
|
-
## Related
|
|
97
|
-
|
|
98
|
-
- [Completeness Scorer](https://mastra.ai/reference/evals/completeness)
|
|
99
|
-
- [Textual Difference Scorer](https://mastra.ai/reference/evals/textual-difference)
|
|
100
|
-
- [Answer Relevancy Scorer](https://mastra.ai/reference/evals/answer-relevancy)
|
|
101
|
-
- [Keyword Coverage Scorer](https://mastra.ai/reference/evals/keyword-coverage)
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
# Context Precision Scorer
|
|
2
|
-
|
|
3
|
-
The `createContextPrecisionScorer()` function creates a scorer that evaluates how relevant and well-positioned retrieved context pieces are for generating expected outputs. It uses **Mean Average Precision (MAP)** to reward systems that place relevant context earlier in the sequence.
|
|
4
|
-
|
|
5
|
-
It is especially useful for these use cases:
|
|
6
|
-
|
|
7
|
-
**RAG System Evaluation**
|
|
8
|
-
|
|
9
|
-
Ideal for evaluating retrieved context in RAG pipelines where:
|
|
10
|
-
|
|
11
|
-
- Context ordering matters for model performance
|
|
12
|
-
- You need to measure retrieval quality beyond simple relevance
|
|
13
|
-
- Early relevant context is more valuable than later relevant context
|
|
14
|
-
|
|
15
|
-
**Context Window Optimization**
|
|
16
|
-
|
|
17
|
-
Use when optimizing context selection for:
|
|
18
|
-
|
|
19
|
-
- Limited context windows
|
|
20
|
-
- Token budget constraints
|
|
21
|
-
- Multi-step reasoning tasks
|
|
22
|
-
|
|
23
|
-
## Parameters
|
|
24
|
-
|
|
25
|
-
**model:** (`MastraModelConfig`): The language model to use for evaluating context relevance
|
|
26
|
-
|
|
27
|
-
**options:** (`ContextPrecisionMetricOptions`): Configuration options for the scorer
|
|
28
|
-
|
|
29
|
-
**Note**: Either `context` or `contextExtractor` must be provided. If both are provided, `contextExtractor` takes precedence.
|
|
30
|
-
|
|
31
|
-
## .run() Returns
|
|
32
|
-
|
|
33
|
-
**score:** (`number`): Mean Average Precision score between 0 and scale (default 0-1)
|
|
34
|
-
|
|
35
|
-
**reason:** (`string`): Human-readable explanation of the context precision evaluation
|
|
36
|
-
|
|
37
|
-
## Scoring Details
|
|
38
|
-
|
|
39
|
-
### Mean Average Precision (MAP)
|
|
40
|
-
|
|
41
|
-
Context Precision uses **Mean Average Precision** to evaluate both relevance and positioning:
|
|
42
|
-
|
|
43
|
-
1. **Context Evaluation**: Each context piece is classified as relevant or irrelevant for generating the expected output
|
|
44
|
-
2. **Precision Calculation**: For each relevant context at position `i`, precision = `relevant_items_so_far / (i + 1)`
|
|
45
|
-
3. **Average Precision**: Sum all precision values and divide by total relevant items
|
|
46
|
-
4. **Final Score**: Multiply by scale factor and round to 2 decimals
|
|
47
|
-
|
|
48
|
-
### Scoring Formula
|
|
49
|
-
|
|
50
|
-
```text
|
|
51
|
-
MAP = (Σ Precision@k) / R
|
|
52
|
-
|
|
53
|
-
Where:
|
|
54
|
-
- Precision@k = (relevant items in positions 1...k) / k
|
|
55
|
-
- R = total number of relevant items
|
|
56
|
-
- Only calculated at positions where relevant items appear
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Score Interpretation
|
|
60
|
-
|
|
61
|
-
- **0.9-1.0**: Excellent precision - all relevant context early in sequence
|
|
62
|
-
- **0.7-0.8**: Good precision - most relevant context well-positioned
|
|
63
|
-
- **0.4-0.6**: Moderate precision - relevant context mixed with irrelevant
|
|
64
|
-
- **0.1-0.3**: Poor precision - little relevant context or poorly positioned
|
|
65
|
-
- **0.0**: No relevant context found
|
|
66
|
-
|
|
67
|
-
### Reason analysis
|
|
68
|
-
|
|
69
|
-
The reason field explains:
|
|
70
|
-
|
|
71
|
-
- Which context pieces were deemed relevant/irrelevant
|
|
72
|
-
- How positioning affected the MAP calculation
|
|
73
|
-
- Specific relevance criteria used in evaluation
|
|
74
|
-
|
|
75
|
-
### Optimization insights
|
|
76
|
-
|
|
77
|
-
Use results to:
|
|
78
|
-
|
|
79
|
-
- **Improve retrieval**: Filter out irrelevant context before ranking
|
|
80
|
-
- **Optimize ranking**: Ensure relevant context appears early
|
|
81
|
-
- **Tune chunk size**: Balance context detail vs. relevance precision
|
|
82
|
-
- **Evaluate embeddings**: Test different embedding models for better retrieval
|
|
83
|
-
|
|
84
|
-
### Example Calculation
|
|
85
|
-
|
|
86
|
-
Given context: `[relevant, irrelevant, relevant, irrelevant]`
|
|
87
|
-
|
|
88
|
-
- Position 0: Relevant → Precision = 1/1 = 1.0
|
|
89
|
-
- Position 1: Skip (irrelevant)
|
|
90
|
-
- Position 2: Relevant → Precision = 2/3 = 0.67
|
|
91
|
-
- Position 3: Skip (irrelevant)
|
|
92
|
-
|
|
93
|
-
MAP = (1.0 + 0.67) / 2 = 0.835 ≈ **0.83**
|
|
94
|
-
|
|
95
|
-
## Scorer configuration
|
|
96
|
-
|
|
97
|
-
### Dynamic context extraction
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
const scorer = createContextPrecisionScorer({
|
|
101
|
-
model: "openai/gpt-5.1",
|
|
102
|
-
options: {
|
|
103
|
-
contextExtractor: (input, output) => {
|
|
104
|
-
// Extract context dynamically based on the query
|
|
105
|
-
const query = input?.inputMessages?.[0]?.content || "";
|
|
106
|
-
|
|
107
|
-
// Example: Retrieve from a vector database
|
|
108
|
-
const searchResults = vectorDB.search(query, { limit: 10 });
|
|
109
|
-
return searchResults.map((result) => result.content);
|
|
110
|
-
},
|
|
111
|
-
scale: 1,
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Large context evaluation
|
|
117
|
-
|
|
118
|
-
```typescript
|
|
119
|
-
const scorer = createContextPrecisionScorer({
|
|
120
|
-
model: "openai/gpt-5.1",
|
|
121
|
-
options: {
|
|
122
|
-
context: [
|
|
123
|
-
// Simulate retrieved documents from vector database
|
|
124
|
-
"Document 1: Highly relevant content...",
|
|
125
|
-
"Document 2: Somewhat related content...",
|
|
126
|
-
"Document 3: Tangentially related...",
|
|
127
|
-
"Document 4: Not relevant...",
|
|
128
|
-
"Document 5: Highly relevant content...",
|
|
129
|
-
// ... up to dozens of context pieces
|
|
130
|
-
],
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Example
|
|
136
|
-
|
|
137
|
-
Evaluate RAG system context retrieval precision for different queries:
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
import { runEvals } from "@mastra/core/evals";
|
|
141
|
-
import { createContextPrecisionScorer } from "@mastra/evals/scorers/prebuilt";
|
|
142
|
-
import { myAgent } from "./agent";
|
|
143
|
-
|
|
144
|
-
const scorer = createContextPrecisionScorer({
|
|
145
|
-
model: "openai/gpt-4o",
|
|
146
|
-
options: {
|
|
147
|
-
contextExtractor: (input, output) => {
|
|
148
|
-
// Extract context from agent's retrieved documents
|
|
149
|
-
return output.metadata?.retrievedContext || [];
|
|
150
|
-
},
|
|
151
|
-
},
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
const result = await runEvals({
|
|
155
|
-
data: [
|
|
156
|
-
{
|
|
157
|
-
input: "How does photosynthesis work in plants?",
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
input: "What are the mental and physical benefits of exercise?",
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
scorers: [scorer],
|
|
164
|
-
target: myAgent,
|
|
165
|
-
onItemComplete: ({ scorerResults }) => {
|
|
166
|
-
console.log({
|
|
167
|
-
score: scorerResults[scorer.id].score,
|
|
168
|
-
reason: scorerResults[scorer.id].reason,
|
|
169
|
-
});
|
|
170
|
-
},
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
console.log(result.scores);
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
For more details on `runEvals`, see the [runEvals reference](https://mastra.ai/reference/evals/run-evals).
|
|
177
|
-
|
|
178
|
-
To add this scorer to an agent, see the [Scorers overview](https://mastra.ai/docs/evals/overview) guide.
|
|
179
|
-
|
|
180
|
-
## Comparison with Context Relevance
|
|
181
|
-
|
|
182
|
-
Choose the right scorer for your needs:
|
|
183
|
-
|
|
184
|
-
| Use Case | Context Relevance | Context Precision |
|
|
185
|
-
| ------------------------ | -------------------- | ------------------------- |
|
|
186
|
-
| **RAG evaluation** | When usage matters | When ranking matters |
|
|
187
|
-
| **Context quality** | Nuanced levels | Binary relevance |
|
|
188
|
-
| **Missing detection** | ✓ Identifies gaps | ✗ Not evaluated |
|
|
189
|
-
| **Usage tracking** | ✓ Tracks utilization | ✗ Not considered |
|
|
190
|
-
| **Position sensitivity** | ✗ Position agnostic | ✓ Rewards early placement |
|
|
191
|
-
|
|
192
|
-
## Related
|
|
193
|
-
|
|
194
|
-
- [Answer Relevancy Scorer](https://mastra.ai/reference/evals/answer-relevancy) - Evaluates if answers address the question
|
|
195
|
-
- [Faithfulness Scorer](https://mastra.ai/reference/evals/faithfulness) - Measures answer groundedness in context
|
|
196
|
-
- [Custom Scorers](https://mastra.ai/docs/evals/custom-scorers) - Creating your own evaluation metrics
|