rollout-trace/src/payload.rs
49 lines
//! References to heavyweight trace payloads stored outside the reduced graph.use serde::Deserialize;use serde::Serialize;/// Stable identifier for one raw payload inside a rollout bundle.pub type RawPayloadId = String;/// Reference to a raw request/response/log payload.////// `RolloutTrace` stores these references so normal timeline and conversation/// rendering does not require the browser or reducer output to inline every/// upstream request, tool response, or terminal log.#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]pub struct RawPayloadRef { pub raw_payload_id: RawPayloadId, /// Payload role. This lets details UI choose syntax highlighting and labels /// without opening the payload file first. pub kind: RawPayloadKind, /// Path relative to the trace bundle root. /// /// The writer always materializes payloads as bundle-local files. Keeping /// this as a plain path avoids exposing storage modes we do not produce. pub path: String,}/// Coarse role of a raw payload.#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]#[serde(rename_all = "snake_case", tag = "type", content = "value")]pub enum RawPayloadKind { InferenceRequest, /// Full upstream inference response or non-delta response stream summary. InferenceResponse, CompactionRequest, /// Trace-only checkpoint captured when processed replacement history is installed. CompactionCheckpoint, CompactionResponse, ToolInvocation, ToolResult, /// Raw runtime/protocol observation for an executing tool. ToolRuntimeEvent, /// Raw terminal runtime event or stream shard. TerminalRuntimeEvent, ProtocolEvent, /// One-shot metadata captured when a Codex session/thread starts. SessionMetadata, /// Runtime notification payload carried when a child agent reports back to its parent. AgentResult,}