export declare const RUN_TELEMETRY_SCHEMA_VERSION: 1; export type RunTelemetrySchemaVersion = typeof RUN_TELEMETRY_SCHEMA_VERSION; export type RunDisposition = "pass" | "fail" | "degraded"; export type RunFailureClass = "execution_failure" | "verification_failure" | "policy_failure" | "safety_failure" | "patch_failure" | "provider_failure" | "unknown_failure"; export type QualityDimensionStatus = "available" | "missing" | "degraded"; export type TelemetrySource = "actual_usage" | "estimated_usage" | "unknown"; export type TelemetryReasonCode = "usage_missing" | "cost_missing" | "provider_usage_not_exposed" | "pricing_unavailable" | "phase_not_model_invoking" | "not_applicable" | "unknown"; export type SafetyTelemetryCategory = "tool" | "patch" | "critic" | "policy"; export type SafetyTelemetryDisposition = "retryable" | "non_retryable"; export interface SafetyTelemetryEventData { schema_version: RunTelemetrySchemaVersion; run_id: string; phase: string; category: SafetyTelemetryCategory; code: string; disposition: SafetyTelemetryDisposition; message: string; source?: string; tool?: string; failure_class?: RunFailureClass; reason_codes?: string[]; details?: Record; } export interface RunArtifactReference { phase: string; kind: string; path?: string | null; status: "present" | "missing"; reason_code?: string; } export interface PhaseUsageTelemetry { input_tokens?: number; output_tokens?: number; total_tokens?: number; } export interface PhaseCostTelemetry { usd?: number; source: TelemetrySource; pricing_source?: string; reason_code?: TelemetryReasonCode; } export interface PhaseTelemetryRecord { schema_version: RunTelemetrySchemaVersion; run_id: string; phase: string; provider?: string; model?: string; duration_ms?: number; usage?: PhaseUsageTelemetry; cost?: PhaseCostTelemetry; missing_usage_reason?: TelemetryReasonCode; missing_cost_reason?: TelemetryReasonCode; metadata?: Record; } export interface PhaseTelemetryInput { run_id?: string; phase?: string; provider?: string; model?: string; duration_ms?: number; usage?: PhaseUsageTelemetry; cost?: PhaseCostTelemetry; missing_usage_reason?: TelemetryReasonCode; missing_cost_reason?: TelemetryReasonCode; metadata?: Record; } export interface RunQualityDimensions { plan: QualityDimensionStatus; retrieval: QualityDimensionStatus; patch: QualityDimensionStatus; verification: QualityDimensionStatus; final_disposition: QualityDimensionStatus; } export interface RunFinalDisposition { status: RunDisposition; failure_class?: RunFailureClass; reason_codes: string[]; stage?: string; retryable?: boolean | null; } export interface RunSummaryEventData extends Record { schema_version: RunTelemetrySchemaVersion; run_id: string; runId: string; durationMs: number; touchedFiles: string[]; quality_dimensions: RunQualityDimensions; final_disposition: RunFinalDisposition; artifact_references: RunArtifactReference[]; phase_telemetry: PhaseTelemetryRecord[]; missing_artifacts: string[]; } export interface RunSummaryInput extends Record { schema_version?: number; run_id?: string; runId?: string; durationMs?: number; touchedFiles?: string[]; quality_dimensions?: Partial; final_disposition?: Partial; artifact_references?: RunArtifactReference[]; phase_telemetry?: PhaseTelemetryInput[]; missing_artifacts?: string[]; } export declare class RunTelemetryValidationError extends Error { readonly code: string; constructor(code: string, message: string); } export declare const stableSortValue: (value: unknown) => unknown; export declare const normalizeFailureClass: (value: unknown) => RunFailureClass | undefined; export declare const normalizePhaseTelemetryRecord: (input: PhaseTelemetryInput) => PhaseTelemetryRecord; export declare const normalizeRunSummaryData: (input: RunSummaryInput, fallbackRunId?: string) => RunSummaryEventData; export declare const normalizeSafetyTelemetryEventData: (input: Omit & { schema_version?: number; }, fallbackRunId?: string) => SafetyTelemetryEventData; export declare const normalizeRunEventPayload: (type: string, data: Record, fallbackRunId?: string) => Record; //# sourceMappingURL=RunTelemetryTypes.d.ts.map