@mastra/core
Version:
Mastra is the Typescript framework for building AI agents and assistants. It’s used by some of the largest companies in the world to build internal AI automation tooling and customer-facing agents.
75 lines (71 loc) • 1.61 kB
JavaScript
;
var chunkTSNDVBUU_cjs = require('./chunk-TSNDVBUU.cjs');
var chunkC73WLCY3_cjs = require('./chunk-C73WLCY3.cjs');
// src/eval/metric.ts
var Metric = class {
};
// src/eval/evaluation.ts
async function evaluate({
agentName,
input,
metric,
output,
runId,
globalRunId,
testInfo,
instructions
}) {
const runIdToUse = runId || crypto.randomUUID();
let metricResult;
let metricName = metric.constructor.name;
try {
metricResult = await metric.measure(input.toString(), output);
} catch (e) {
throw new chunkC73WLCY3_cjs.MastraError(
{
id: "EVAL_METRIC_MEASURE_EXECUTION_FAILED",
domain: "EVAL" /* EVAL */,
category: "USER" /* USER */,
details: {
agentName,
metricName,
globalRunId
}
},
e
);
}
const traceObject = {
input: input.toString(),
output,
result: metricResult,
agentName,
metricName,
instructions,
globalRunId,
runId: runIdToUse,
testInfo
};
try {
chunkTSNDVBUU_cjs.executeHook("onEvaluation" /* ON_EVALUATION */, traceObject);
} catch (e) {
throw new chunkC73WLCY3_cjs.MastraError(
{
id: "EVAL_HOOK_EXECUTION_FAILED",
domain: "EVAL" /* EVAL */,
category: "USER" /* USER */,
details: {
agentName,
metricName,
globalRunId
}
},
e
);
}
return { ...metricResult, output };
}
exports.Metric = Metric;
exports.evaluate = evaluate;
//# sourceMappingURL=chunk-SW7WPHZ2.cjs.map
//# sourceMappingURL=chunk-SW7WPHZ2.cjs.map