import type { BusEvent } from './types.js'; export interface RoleStats { messagesSent: number; toolsAllowed: number; toolsDenied: number; tokens: number; costUsd: number; crashed: boolean; } export interface RunSummary { org: string; run: string; startedAt: number | null; endedAt: number | null; durationMs: number | null; events: number; messages: number; xorgMessages: number; assets: string[]; crashes: string[]; /** Roles terminated by our own stop signal (exit 143), not real crashes. */ cutShort: string[]; outcome: { status: string; summary: string; by: string; } | null; roles: Record; totalTokens: number; totalCostUsd: number; } /** Aggregate one run's bus events into a summary. */ export declare function summarizeRun(events: BusEvent[]): RunSummary; /** run directories for an org, newest first (by name — run-YYYYMMDDHHMMSS-xxxx sorts naturally). */ export declare function listRunDirs(cwd: string, org: string): string[]; export declare function readRunEvents(cwd: string, org: string, run: string): BusEvent[]; /** history.jsonl — one RunSummary line per completed run, appended by the daemon at stopOrg. */ export declare function historyFile(cwd: string, org: string): string; export declare function readHistory(cwd: string, org: string): RunSummary[]; /** One bus event as a compact human-readable log line. */ export declare function formatEvent(e: BusEvent): string; //# sourceMappingURL=reporting.d.ts.map