import { type FingerprintContextV3 } from "../canonical.js"; import type { EventV3, SpanSummaryV3 } from "../contract.js"; export type CommandSignalV3 = "command.started" | "command.output_observed" | "command.completed"; export interface CommandProducerContextV3 { root_id: `root_${string}`; instance_id: `inst_${string}`; session_id: `sid_${string}`; generation_id: `gen_${string}`; turn_id: `tid_${string}`; attestation_id: `att_${string}`; producer_id: `prd_${string}`; boot_id: `boot_${string}`; sequence: number; build_id: `build_${string}`; platform: "linux" | "windows" | "macos" | "unknown"; bridge?: "codex-wsl"; span_id: `span_${string}`; parent_span_id?: `span_${string}`; caused_by?: `evt_${string}`[]; event_id?: `evt_${string}`; observed_at?: string; recorded_at?: string; monotonic_ns?: string; clock_id?: `clk_${string}`; fingerprintContext: FingerprintContextV3; attribution_method: "session_env" | "heartbeat_match" | "explicit_argument"; terminal_span?: SpanSummaryV3; } export interface CommandObservationV3 { native_command_id: string; native_observation_id?: string; executable?: string; executable_class?: string; argv?: readonly string[]; intent?: string; intent_kind?: string; sensitive_argument_count?: number; stream?: "stdout" | "stderr" | "combined"; output?: unknown; output_bytes?: number; output_lines?: number; outcome?: "succeeded" | "failed" | "cancelled" | "timed_out" | "interrupted" | "unknown"; exit_code?: number; signal?: string; duration_ms?: number; error_class?: string; } /** Translate one session-tee observation without retaining command, intent, or output literals. */ export declare function normalizeCommandEventV3(signal: CommandSignalV3, observation: CommandObservationV3, context: CommandProducerContextV3): EventV3 | null; //# sourceMappingURL=command.d.ts.map