export interface RunMeta { name: string; agent?: string; projectRoot?: string; mode?: string; } export interface StepMeta { name: string; } export interface StepEnd { duration: number; } export interface RunEnd { steps: number; tools: number; errors: number; tokens: number; } export interface ToolCallEvent { tool: string; runId: string; stepId: string; input: unknown; output: unknown; duration: number; success: boolean; tokens?: number; resultCount?: number; resultSizeBytes?: number; error?: string; } export interface LlmCallEvent { runId: string; stepId: string; model: string; prompt?: string; response?: string; duration: number; tokens?: number; } export interface FreeEvent { runId: string; level: "debug" | "info" | "warn" | "error"; message: string; data?: Record; } export declare class LogWriter { private logRoot; private tracesDir; private sessionsDir; private errorsPath; private metricsPath; private sessionDate; private sessionFd; private sessionFileSize; private activeSpans; private noop; constructor(projectRoot: string); private ensureDirs; private openSessionFile; private cleanupStaleFiles; startRun(meta: RunMeta): string; startStep(runId: string, meta: StepMeta): string; endStep(stepId: string, summary: StepEnd): void; endRun(runId: string, summary: RunEnd): void; toolCall(event: ToolCallEvent): void; llmCall(event: LlmCallEvent): void; event(event: FreeEvent): void; flush(): void; close(): void; private writeSpan; private writeSessionEvent; private writeError; private writeLine; private findRunId; private tryParse; private truncate; private redact; } export declare function getLogWriter(projectRoot?: string): LogWriter; //# sourceMappingURL=log-writer.d.ts.map