import type { PhaseArtifactError, PhaseArtifactV1, VerificationReport } from "../cognitive/Types.js"; import { type PhaseTelemetryInput, type RunSummaryInput, type SafetyTelemetryEventData } from "./RunTelemetryTypes.js"; export type { SafetyTelemetryEventData, RunSummaryEventData, RunFinalDisposition, RunFailureClass, RunDisposition, RunQualityDimensions, RunArtifactReference, TelemetryReasonCode, SafetyTelemetryCategory, SafetyTelemetryDisposition, RunTelemetryValidationError, PhaseTelemetryRecord, PhaseTelemetryInput, PhaseUsageTelemetry, PhaseCostTelemetry, } from "./RunTelemetryTypes.js"; export interface RunLogEvent { type: string; timestamp: string; data: Record; } export type InvestigationGateStatus = "not_checked" | "pass" | "fail"; export interface InvestigationGateSummary { status: InvestigationGateStatus; reason?: string; missing?: string[]; required?: Record; observed?: Record; score?: number; threshold?: number; } export interface InvestigationTelemetry extends Record { phase: "research"; status: "skipped" | "completed"; duration_ms: number; tool_usage: Record; tool_usage_totals: { ok: number; failed: number; skipped: number; total: number; }; evidence_gate: InvestigationGateSummary; quota: InvestigationGateSummary; budget: InvestigationGateSummary & { required_cycles?: number; cycles?: number; required_ms?: number; elapsed_ms?: number; }; warnings?: string[]; summary?: string; } export interface InvestigationTelemetryEvent extends RunLogEvent { type: "investigation_telemetry"; data: InvestigationTelemetry; } export declare const buildPhaseArtifact: (params: { runId: string; phase: string; kind: string; payload: unknown; startedAtMs?: number; endedAtMs?: number; error?: PhaseArtifactError; }) => PhaseArtifactV1; export declare class RunLogger { readonly logPath: string; readonly logDir: string; readonly runId: string; constructor(workspaceRoot: string, logDir: string, runId: string); log(type: string, data: Record): Promise; logSafetyEvent(data: Omit): Promise; logPhaseTelemetry(data: PhaseTelemetryInput): Promise; logRunSummary(data: RunSummaryInput): Promise; logVerificationReport(report: VerificationReport): Promise; writePhaseArtifact(phase: string, kind: string, payload: unknown): Promise; } //# sourceMappingURL=RunLogger.d.ts.map