use serde::Deserialize;
use serde::Serialize;
pub type RawPayloadId = String;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RawPayloadRef {
pub raw_payload_id: RawPayloadId,
pub kind: RawPayloadKind,
pub path: String,
}
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
#[serde(rename_all = "snake_case", tag = "type", content = "value")]
pub enum RawPayloadKind {
InferenceRequest,
InferenceResponse,
CompactionRequest,
CompactionCheckpoint,
CompactionResponse,
ToolInvocation,
ToolResult,
ToolRuntimeEvent,
TerminalRuntimeEvent,
ProtocolEvent,
SessionMetadata,
AgentResult,
}