/** * CsvDataLogger.ts — CSV-backed implementation of IDataLogger. * * Writes one row per EvalResult to a dated CSV file at: * /results-YYYY-MM-DD.csv * * Default output directory: career-vivid/eval/ * * Features: * - Append-safe: if the file already exists from an earlier run today, new * rows are appended (so re-runs don't overwrite history). * - Header auto-detection: headers are written only on file creation. * - Sync write: each log() call flushes immediately (no data loss on crash). * - Summary row: logSummary() appends a blank-then-summary row at the end. */ import type { IDataLogger } from "./IDataLogger.js"; import type { EvalResult, RunSummary } from "../types.js"; export interface CsvDataLoggerOptions { /** * Directory to write CSV files into. * Defaults to /career-vivid/eval/ */ outputDir?: string; } export declare class CsvDataLogger implements IDataLogger { private readonly csvPath; private readonly outputDir; private headerWritten; constructor(options?: CsvDataLoggerOptions); /** Full path to the CSV file being written to. */ get filePath(): string; log(result: EvalResult): Promise; flush(): Promise; close(): Promise; logSummary(summary: RunSummary): Promise; } //# sourceMappingURL=CsvDataLogger.d.ts.map