UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

1 lines • 67.8 kB
{"version":3,"sources":["../src/mastra/hooks.ts","../src/evals/run/scorerAccumulator.ts","../src/evals/run/index.ts"],"names":["EntityType","MastraError","saveScorePayloadSchema","Workflow","resolveObservabilityContext","isSupportedLanguageModel","extractTrajectoryFromTrace","extractTrajectory","extractWorkflowTrajectory"],"mappings":"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","file":"chunk-CCTAEUR3.cjs","sourcesContent":["import { ErrorCategory, ErrorDomain, MastraError } from '../error';\nimport { saveScorePayloadSchema } from '../evals';\nimport type { ScoringHookInput } from '../evals/types';\nimport type { Mastra } from '../mastra';\nimport { EntityType } from '../observability';\nimport type { MastraStorage } from '../storage';\n\nfunction toScorerTargetEntityType(entityType: string): EntityType | undefined {\n switch (entityType) {\n case 'AGENT':\n return EntityType.AGENT;\n case 'WORKFLOW':\n return EntityType.WORKFLOW_RUN;\n default:\n return undefined;\n }\n}\n\nexport function createOnScorerHook(mastra: Mastra) {\n return async (hookData: ScoringHookInput) => {\n const storage = mastra.getStorage();\n\n if (!storage) {\n mastra.getLogger()?.warn('Storage not found, skipping score validation and saving');\n return;\n }\n\n const entityId = hookData.entity.id as string;\n const entityType = hookData.entityType;\n const scorer = hookData.scorer;\n const scorerId = scorer.id as string;\n\n if (!scorerId) {\n mastra.getLogger()?.warn('Scorer ID not found, skipping score validation and saving');\n return;\n }\n\n try {\n const scorerToUse = await findScorer(mastra, entityId, entityType, scorerId);\n\n if (!scorerToUse) {\n throw new MastraError({\n id: 'MASTRA_SCORER_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Scorer with ID ${scorerId} not found`,\n });\n }\n\n let input = hookData.input;\n let output = hookData.output;\n\n const { structuredOutput, ...rest } = hookData;\n\n const currentSpan = hookData.tracingContext?.currentSpan;\n const traceId = currentSpan?.isValid ? currentSpan.traceId : undefined;\n const spanId = currentSpan?.isValid ? currentSpan.id : undefined;\n const targetCorrelationContext = currentSpan?.isValid ? currentSpan.getCorrelationContext?.() : undefined;\n const targetMetadata = currentSpan?.isValid && currentSpan.metadata ? { ...currentSpan.metadata } : undefined;\n const runResult = (await scorerToUse.scorer.run({\n ...rest,\n input,\n output,\n scoreSource: 'live',\n targetScope: 'span',\n targetEntityType: toScorerTargetEntityType(entityType),\n targetTraceId: traceId,\n targetSpanId: spanId,\n targetCorrelationContext,\n targetMetadata,\n } as any)) as Record<string, unknown>;\n\n const payload = {\n ...rest,\n ...runResult,\n entityId,\n scorerId: scorerId,\n spanId,\n traceId,\n scorer: {\n ...rest.scorer,\n hasJudge: !!scorerToUse.scorer.judge,\n },\n metadata: {\n structuredOutput: !!structuredOutput,\n },\n };\n // Legacy score-store emission. This path is being deprecated.\n // ScoreEvent emission already happens inside MastraScorer.run() (see\n // packages/core/src/evals/base.ts). The hook must not republish or every\n // exporter would receive the same score twice.\n await validateAndSaveScore(storage, payload);\n } catch (error) {\n const mastraError = new MastraError(\n {\n id: 'MASTRA_SCORER_FAILED_TO_RUN_HOOK',\n domain: ErrorDomain.SCORER,\n category: ErrorCategory.USER,\n details: {\n scorerId,\n entityId,\n entityType,\n },\n },\n error,\n );\n\n mastra.getLogger()?.trackException(mastraError);\n }\n };\n}\n\n/**\n * @deprecated Legacy scores-store path. New score emission should use `mastra.observability.addScore()`.\n */\nexport async function validateAndSaveScore(storage: MastraStorage, payload: unknown) {\n const scoresStore = await storage.getStore('scores');\n if (!scoresStore) {\n throw new MastraError({\n id: 'MASTRA_SCORES_STORAGE_NOT_AVAILABLE',\n domain: ErrorDomain.STORAGE,\n category: ErrorCategory.SYSTEM,\n text: 'Scores storage domain is not available',\n });\n }\n const payloadToSave = saveScorePayloadSchema.parse(payload);\n await scoresStore.saveScore(payloadToSave);\n}\n\nasync function findScorer(mastra: Mastra, entityId: string, entityType: string, scorerId: string) {\n let scorerToUse;\n if (entityType === 'AGENT') {\n // Try code-defined agents first\n try {\n const agent = mastra.getAgentById(entityId);\n const scorers = await agent.listScorers();\n for (const [_, scorer] of Object.entries(scorers)) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n } catch {\n // Agent not found in code-defined agents, try stored agents via editor\n try {\n const storedAgent = (await mastra.getEditor()?.agent.getById(entityId)) ?? null;\n if (storedAgent) {\n const scorers = await storedAgent.listScorers();\n for (const [_, scorer] of Object.entries(scorers) as [string, any][]) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n }\n } catch {\n // Stored agent also not found, will fall back to mastra-registered scorer\n }\n }\n } else if (entityType === 'WORKFLOW') {\n const scorers = await mastra.getWorkflowById(entityId).listScorers();\n for (const [_, scorer] of Object.entries(scorers)) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n }\n\n // Fallback to mastra-registered scorer\n if (!scorerToUse) {\n const mastraRegisteredScorer = mastra.getScorerById(scorerId);\n scorerToUse = mastraRegisteredScorer ? { scorer: mastraRegisteredScorer } : undefined;\n }\n\n return scorerToUse;\n}\n","export class ScoreAccumulator {\n private flatScores: Record<string, number[]> = {};\n private workflowScores: Record<string, number[]> = {};\n private stepScores: Record<string, Record<string, number[]>> = {};\n private agentScores: Record<string, number[]> = {};\n private trajectoryScores: Record<string, number[]> = {};\n\n addScores(scorerResults: Record<string, any>) {\n const isWorkflowScores = 'steps' in scorerResults || 'workflow' in scorerResults;\n const isAgentScores = 'agent' in scorerResults;\n const hasTrajectory = 'trajectory' in scorerResults;\n\n // Routing priority: workflow configs take precedence (they may also include\n // trajectory scores), then agent configs (agent or trajectory-only), then\n // flat scores for simple scorer arrays.\n if (isWorkflowScores) {\n this.addWorkflowScores(scorerResults);\n } else if (isAgentScores || hasTrajectory) {\n this.addAgentScores(scorerResults);\n } else {\n this.addFlatScores(scorerResults);\n }\n }\n\n private addFlatScores(scorerResults: Record<string, any>) {\n for (const [scorerName, result] of Object.entries(scorerResults)) {\n if (!this.flatScores[scorerName]) {\n this.flatScores[scorerName] = [];\n }\n this.flatScores[scorerName].push((result as { score: number }).score);\n }\n }\n\n private addWorkflowScores(scorerResults: Record<string, any>) {\n if ('workflow' in scorerResults && scorerResults.workflow) {\n for (const [scorerName, result] of Object.entries(scorerResults.workflow)) {\n if (!this.workflowScores[scorerName]) {\n this.workflowScores[scorerName] = [];\n }\n this.workflowScores[scorerName].push((result as { score: number }).score);\n }\n }\n\n if ('steps' in scorerResults && scorerResults.steps) {\n for (const [stepId, stepResults] of Object.entries(scorerResults.steps)) {\n if (!this.stepScores[stepId]) {\n this.stepScores[stepId] = {};\n }\n for (const [scorerName, result] of Object.entries(stepResults as Record<string, any>)) {\n if (!this.stepScores[stepId][scorerName]) {\n this.stepScores[stepId][scorerName] = [];\n }\n this.stepScores[stepId][scorerName].push((result as { score: number }).score);\n }\n }\n }\n\n // Trajectory scores can come from workflow scorer configs too\n if ('trajectory' in scorerResults && scorerResults.trajectory) {\n for (const [scorerName, result] of Object.entries(scorerResults.trajectory)) {\n if (!this.trajectoryScores[scorerName]) {\n this.trajectoryScores[scorerName] = [];\n }\n this.trajectoryScores[scorerName].push((result as { score: number }).score);\n }\n }\n }\n\n private addAgentScores(scorerResults: Record<string, any>) {\n if ('agent' in scorerResults && scorerResults.agent) {\n for (const [scorerName, result] of Object.entries(scorerResults.agent)) {\n if (!this.agentScores[scorerName]) {\n this.agentScores[scorerName] = [];\n }\n this.agentScores[scorerName].push((result as { score: number }).score);\n }\n }\n\n if ('trajectory' in scorerResults && scorerResults.trajectory) {\n for (const [scorerName, result] of Object.entries(scorerResults.trajectory)) {\n if (!this.trajectoryScores[scorerName]) {\n this.trajectoryScores[scorerName] = [];\n }\n this.trajectoryScores[scorerName].push((result as { score: number }).score);\n }\n }\n }\n\n addStepScores(stepScorerResults: Record<string, Record<string, any>>) {\n for (const [stepId, stepResults] of Object.entries(stepScorerResults)) {\n if (!this.stepScores[stepId]) {\n this.stepScores[stepId] = {};\n }\n for (const [scorerName, result] of Object.entries(stepResults)) {\n if (!this.stepScores[stepId][scorerName]) {\n this.stepScores[stepId][scorerName] = [];\n }\n this.stepScores[stepId][scorerName].push((result as { score: number }).score);\n }\n }\n }\n\n getAverageScores(): Record<string, any> {\n const result: Record<string, any> = {};\n\n for (const [scorerName, scoreArray] of Object.entries(this.flatScores)) {\n result[scorerName] = this.getAverageScore(scoreArray);\n }\n\n // Add workflow scores\n if (Object.keys(this.workflowScores).length > 0) {\n result.workflow = {};\n for (const [scorerName, scoreArray] of Object.entries(this.workflowScores)) {\n result.workflow[scorerName] = this.getAverageScore(scoreArray);\n }\n }\n\n if (Object.keys(this.stepScores).length > 0) {\n result.steps = {};\n for (const [stepId, stepScorers] of Object.entries(this.stepScores)) {\n result.steps[stepId] = {};\n for (const [scorerName, scoreArray] of Object.entries(stepScorers)) {\n result.steps[stepId][scorerName] = this.getAverageScore(scoreArray);\n }\n }\n }\n\n // Add agent scores\n if (Object.keys(this.agentScores).length > 0) {\n result.agent = {};\n for (const [scorerName, scoreArray] of Object.entries(this.agentScores)) {\n result.agent[scorerName] = this.getAverageScore(scoreArray);\n }\n }\n\n // Add trajectory scores\n if (Object.keys(this.trajectoryScores).length > 0) {\n result.trajectory = {};\n for (const [scorerName, scoreArray] of Object.entries(this.trajectoryScores)) {\n result.trajectory[scorerName] = this.getAverageScore(scoreArray);\n }\n }\n\n return result;\n }\n\n private getAverageScore(scoreArray: number[]): number {\n if (scoreArray.length > 0) {\n return scoreArray.reduce((a, b) => a + b, 0) / scoreArray.length;\n } else {\n return 0;\n }\n }\n}\n","import type { CoreMessage } from '@internal/ai-sdk-v4';\nimport type { Agent, AgentExecutionOptions, AiMessageType, UIMessageWithMetadata } from '../../agent';\nimport { isSupportedLanguageModel } from '../../agent';\nimport { MastraError } from '../../error';\nimport { validateAndSaveScore } from '../../mastra/hooks';\nimport type { ObservabilityContext } from '../../observability';\nimport { EntityType, resolveObservabilityContext } from '../../observability';\nimport type { RequestContext } from '../../request-context';\nimport type { MastraCompositeStore } from '../../storage';\nimport type { WorkflowResult, WorkflowRunStartOptions, StepResult } from '../../workflows/types';\nimport type { AnyWorkflow } from '../../workflows/workflow';\nimport { Workflow } from '../../workflows/workflow';\nimport type { MastraScorer } from '../base';\nimport { extractTrajectory, extractTrajectoryFromTrace, extractWorkflowTrajectory } from '../types';\nimport { ScoreAccumulator } from './scorerAccumulator';\n\ntype WorkflowRunOptions = WorkflowRunStartOptions & {\n initialState?: any;\n};\n\ntype RunEvalsDataItem<TTarget = unknown> = {\n input: TTarget extends Workflow<any, any>\n ? any\n : TTarget extends Agent\n ? string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[]\n : unknown;\n groundTruth?: any;\n expectedTrajectory?: any;\n requestContext?: RequestContext;\n startOptions?: WorkflowRunOptions;\n} & Partial<ObservabilityContext>;\n\nexport type WorkflowScorerConfig = {\n /** Scorers that evaluate the overall workflow input/output */\n workflow?: MastraScorer<any, any, any, any>[];\n /** Scorers that evaluate individual workflow steps by step ID */\n steps?: Record<string, MastraScorer<any, any, any, any>[]>;\n /** Scorers that evaluate the workflow's step execution trajectory */\n trajectory?: MastraScorer<any, any, any, any>[];\n};\n\nexport type AgentScorerConfig = {\n /** Scorers that evaluate the full agent input/output */\n agent?: MastraScorer<any, any, any, any>[];\n /** Scorers that evaluate the agent's tool call trajectory */\n trajectory?: MastraScorer<any, any, any, any>[];\n};\n\ntype RunEvalsResult = {\n scores: Record<string, any>;\n summary: {\n totalItems: number;\n };\n};\n\n// Agent with scorers array\nexport function runEvals<TAgent extends Agent>(config: {\n data: RunEvalsDataItem<TAgent>[];\n scorers: MastraScorer<any, any, any, any>[];\n target: TAgent;\n targetOptions?: Omit<AgentExecutionOptions<any>, 'scorers' | 'returnScorerData' | 'requestContext'>;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TAgent>;\n targetResult: Awaited<ReturnType<Agent['generate']>>;\n scorerResults: Record<string, any>; // Flat structure: { scorerName: result }\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\n// Workflow with scorers array\nexport function runEvals<TWorkflow extends AnyWorkflow>(config: {\n data: RunEvalsDataItem<TWorkflow>[];\n scorers: MastraScorer<any, any, any, any>[];\n target: TWorkflow;\n targetOptions?: WorkflowRunOptions;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TWorkflow>;\n targetResult: WorkflowResult<any, any, any, any>;\n scorerResults: Record<string, any>; // Flat structure: { scorerName: result }\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\n// Workflow with workflow configuration\nexport function runEvals<TWorkflow extends AnyWorkflow>(config: {\n data: RunEvalsDataItem<TWorkflow>[];\n scorers: WorkflowScorerConfig;\n target: TWorkflow;\n targetOptions?: WorkflowRunOptions;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TWorkflow>;\n targetResult: WorkflowResult<any, any, any, any>;\n scorerResults: {\n workflow?: Record<string, any>;\n steps?: Record<string, Record<string, any>>;\n trajectory?: Record<string, any>;\n };\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\n// Agent with agent scorer configuration (agent-level + trajectory scorers)\nexport function runEvals<TAgent extends Agent>(config: {\n data: RunEvalsDataItem<TAgent>[];\n scorers: AgentScorerConfig;\n target: TAgent;\n targetOptions?: Omit<AgentExecutionOptions<any>, 'scorers' | 'returnScorerData' | 'requestContext'>;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TAgent>;\n targetResult: Awaited<ReturnType<Agent['generate']>>;\n scorerResults: {\n agent?: Record<string, any>;\n trajectory?: Record<string, any>;\n };\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\nexport async function runEvals(config: {\n data: RunEvalsDataItem<any>[];\n scorers: MastraScorer<any, any, any, any>[] | WorkflowScorerConfig | AgentScorerConfig;\n target: Agent | Workflow;\n targetOptions?:\n | Omit<AgentExecutionOptions<any>, 'scorers' | 'returnScorerData' | 'requestContext'>\n | WorkflowRunOptions;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<any>;\n targetResult: any;\n scorerResults: any;\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult> {\n const { data, scorers, target, targetOptions, onItemComplete, concurrency = 1 } = config;\n\n validateEvalsInputs(data, scorers, target);\n\n let totalItems = 0;\n const scoreAccumulator = new ScoreAccumulator();\n\n // Get storage from target's Mastra instance if available\n // Agent uses getMastraInstance(), Workflow uses .mastra getter\n const mastra = (target as any).getMastraInstance?.() || (target as any).mastra;\n const storage = mastra?.getStorage();\n\n const pMap = (await import('p-map')).default;\n await pMap(\n data,\n async (item: RunEvalsDataItem<any>) => {\n const targetResult = await executeTarget(target, item, targetOptions);\n const scorerResults = await runScorers(scorers, targetResult, item, storage);\n scoreAccumulator.addScores(scorerResults);\n\n // Save scores to storage if available\n if (storage) {\n await saveScoresToStorage({\n storage,\n scorerResults,\n target,\n item,\n mastra,\n });\n }\n\n if (onItemComplete) {\n await onItemComplete({\n item,\n targetResult: targetResult as any,\n scorerResults: scorerResults as any,\n });\n }\n\n totalItems++;\n },\n { concurrency },\n );\n\n return {\n scores: scoreAccumulator.getAverageScores(),\n summary: {\n totalItems,\n },\n };\n}\n\nfunction isWorkflow(target: Agent | Workflow): target is Workflow {\n return target instanceof Workflow;\n}\n\nfunction isWorkflowScorerConfig(scorers: any): scorers is WorkflowScorerConfig {\n return (\n typeof scorers === 'object' &&\n !Array.isArray(scorers) &&\n ('workflow' in scorers || 'steps' in scorers || ('trajectory' in scorers && !('agent' in scorers)))\n );\n}\n\nfunction isAgentScorerConfig(scorers: any): scorers is AgentScorerConfig {\n return (\n typeof scorers === 'object' &&\n !Array.isArray(scorers) &&\n ('agent' in scorers || ('trajectory' in scorers && !('workflow' in scorers) && !('steps' in scorers)))\n );\n}\n\nfunction validateEvalsInputs(\n data: RunEvalsDataItem<any>[],\n scorers: MastraScorer<any, any, any, any>[] | WorkflowScorerConfig | AgentScorerConfig,\n target: Agent | Workflow,\n): void {\n if (data.length === 0) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_FAILED_NO_DATA_PROVIDED',\n category: 'USER',\n text: 'Failed to run experiment: Data array is empty',\n });\n }\n\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n if (!item || typeof item !== 'object' || !('input' in item)) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'INVALID_DATA_ITEM',\n category: 'USER',\n text: `Invalid data item at index ${i}: must have 'input' properties`,\n });\n }\n }\n\n // Validate scorers\n if (Array.isArray(scorers)) {\n if (scorers.length === 0) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'NO_SCORERS_PROVIDED',\n category: 'USER',\n text: 'At least one scorer must be provided',\n });\n }\n } else if (isWorkflow(target) && isWorkflowScorerConfig(scorers)) {\n const hasScorers =\n (scorers.workflow && scorers.workflow.length > 0) ||\n (scorers.steps && Object.keys(scorers.steps).length > 0) ||\n (scorers.trajectory && scorers.trajectory.length > 0);\n\n if (!hasScorers) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'NO_SCORERS_PROVIDED',\n category: 'USER',\n text: 'At least one workflow, step, or trajectory scorer must be provided',\n });\n }\n } else if (!isWorkflow(target) && isAgentScorerConfig(scorers)) {\n const hasScorers =\n (scorers.agent && scorers.agent.length > 0) || (scorers.trajectory && scorers.trajectory.length > 0);\n\n if (!hasScorers) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'NO_SCORERS_PROVIDED',\n category: 'USER',\n text: 'At least one agent or trajectory scorer must be provided',\n });\n }\n } else if (!isWorkflow(target) && !Array.isArray(scorers) && !isAgentScorerConfig(scorers)) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'INVALID_AGENT_SCORERS',\n category: 'USER',\n text: 'Agent scorers must be an array of scorers or an AgentScorerConfig',\n });\n }\n}\n\nasync function executeTarget(\n target: Agent | Workflow,\n item: RunEvalsDataItem<any>,\n targetOptions?:\n | Omit<AgentExecutionOptions<any>, 'scorers' | 'returnScorerData' | 'requestContext'>\n | WorkflowRunOptions,\n) {\n try {\n if (isWorkflow(target)) {\n return await executeWorkflow(target, item, targetOptions as WorkflowRunOptions);\n } else {\n return await executeAgent(\n target,\n item,\n targetOptions as Omit<AgentExecutionOptions<any>, 'scorers' | 'returnScorerData' | 'requestContext'>,\n );\n }\n } catch (error) {\n throw new MastraError(\n {\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_TARGET_FAILED_TO_GENERATE_RESULT',\n category: 'USER',\n text: 'Failed to run experiment: Error generating result from target',\n details: {\n item: JSON.stringify(item),\n },\n },\n error,\n );\n }\n}\n\nasync function executeWorkflow(target: Workflow, item: RunEvalsDataItem<any>, targetOptions?: WorkflowRunOptions) {\n const observabilityContext = resolveObservabilityContext(item);\n const run = await target.createRun({ disableScorers: true });\n const workflowResult = await run.start({\n ...targetOptions,\n ...item.startOptions,\n inputData: item.input,\n requestContext: item.requestContext,\n ...observabilityContext,\n });\n\n return {\n traceId: workflowResult.traceId,\n spanId: workflowResult.spanId,\n entityType: EntityType.WORKFLOW_RUN,\n scoringData: {\n input: item.input,\n output: workflowResult.status === 'success' ? workflowResult.result : undefined,\n stepResults: workflowResult.ste