Files
cfw-autumn/apps/leaf/tests/evals/harness/tracing/createEvalTrace.ts
2026-06-08 13:41:06 +01:00

27 lines
624 B
TypeScript

import { formatTraceEvent } from "./formatTrace.js";
import type { EvalTrace, EvalTraceEvent, EvalTraceLevel } from "./types.js";
export const createEvalTrace = ({
level = "steps",
}: {
level?: EvalTraceLevel;
} = {}): EvalTrace => {
const events: EvalTraceEvent[] = [];
const printEvent = (event: EvalTraceEvent) => {
if (level === "off") return;
const line = formatTraceEvent(event);
if (line) console.error(line);
};
return {
entries: () => [...events],
event: (event) => {
events.push(event);
printEvent(event);
},
print: () => {
for (const event of events) printEvent(event);
},
};
};