import type { TelemetryLevel } from "./types.js"; import type { TelemetryConsentReference } from "./telemetry-consent.js"; import type { TelemetryRedactionReport } from "./telemetry-redaction.js"; export interface TelemetryExportRecord { schemaVersion: 1; recordType: "workflow-task" | "eval-dataset-item"; taskId: string; taskTitle: string; taskStatus: string; ownerRole: string; selectedRoles: string[]; selectedSkills: string[]; sourceGroups: string[]; providerMetadata: Array<{ role: string; provider: string; model: string; promptId: string; responseId: string; inputTokens: number; outputTokens: number; estimatedCostUsd: number; }>; qualityOutcome: { reviews: number; evidence: number; gatesPassed: number; gatesBlocked: number; }; promptSummary?: string; promptSample?: string; expectedBehavior?: string; qualityLabels?: string[]; consent: TelemetryConsentReference; redaction: TelemetryRedactionReport; } export interface TelemetryExportSummary { dryRun: boolean; level: TelemetryLevel; file?: string; recordCount: number; redaction: TelemetryRedactionReport; } export interface TelemetrySubmissionAudit { endpoint: string; file: string; fileHash: string; consent: TelemetryConsentReference; submittedAt: string; result: "recorded" | "failed"; message: string; }