use super::*;
pub(super) fn sequence(event: &s::StreamEvent) -> Option<i64> {
Some(match event {
s::StreamEvent::Keepalive | s::StreamEvent::Unknown => return None,
s::StreamEvent::Metadata(v) => return v.sequence_number,
s::StreamEvent::Created(v) => v.sequence_number,
s::StreamEvent::Queued(v) => v.sequence_number,
s::StreamEvent::InProgress(v) => v.sequence_number,
s::StreamEvent::Completed(v) => v.sequence_number,
s::StreamEvent::Failed(v) => v.sequence_number,
s::StreamEvent::Incomplete(v) => v.sequence_number,
s::StreamEvent::OutputItemAdded(v) => v.sequence_number,
s::StreamEvent::OutputItemDone(v) => v.sequence_number,
s::StreamEvent::ContentPartAdded(v) => v.sequence_number,
s::StreamEvent::ContentPartDone(v) => v.sequence_number,
s::StreamEvent::OutputTextDelta(v) => v.sequence_number,
s::StreamEvent::OutputTextDone(v) => v.sequence_number,
s::StreamEvent::OutputTextAnnotationAdded(v) => v.sequence_number,
s::StreamEvent::RefusalDelta(v) => v.sequence_number,
s::StreamEvent::RefusalDone(v) => v.sequence_number,
s::StreamEvent::ReasoningTextDelta(v) => v.sequence_number,
s::StreamEvent::ReasoningTextDone(v) => v.sequence_number,
s::StreamEvent::ReasoningSummaryPartAdded(v) => v.sequence_number,
s::StreamEvent::ReasoningSummaryPartDone(v) => v.sequence_number,
s::StreamEvent::ReasoningSummaryTextDelta(v) => v.sequence_number,
s::StreamEvent::ReasoningSummaryTextDone(v) => v.sequence_number,
s::StreamEvent::FunctionCallArgumentsDelta(v) => v.sequence_number,
s::StreamEvent::FunctionCallArgumentsDone(v) => v.sequence_number,
s::StreamEvent::CustomToolInputDelta(v) => v.sequence_number,
s::StreamEvent::CustomToolInputDone(v) => v.sequence_number,
s::StreamEvent::CodeInterpreterCodeDelta(v) => v.sequence_number,
s::StreamEvent::CodeInterpreterCodeDone(v) => v.sequence_number,
s::StreamEvent::AudioDelta(v) => v.sequence_number,
s::StreamEvent::AudioDone(v) => v.sequence_number,
s::StreamEvent::AudioTranscriptDelta(v) => v.sequence_number,
s::StreamEvent::AudioTranscriptDone(v) => v.sequence_number,
s::StreamEvent::ImagePartial(v) => v.sequence_number,
s::StreamEvent::ImageCall(v) => v.sequence_number,
s::StreamEvent::ImageGenerating(v) => v.sequence_number,
s::StreamEvent::ImageCompleted(v) => v.sequence_number,
s::StreamEvent::CodeInterpreterInProgress(v) => v.sequence_number,
s::StreamEvent::CodeInterpreterInterpreting(v) => v.sequence_number,
s::StreamEvent::CodeInterpreterCompleted(v) => v.sequence_number,
s::StreamEvent::FileSearchInProgress(v) => v.sequence_number,
s::StreamEvent::FileSearchSearching(v) => v.sequence_number,
s::StreamEvent::FileSearchCompleted(v) => v.sequence_number,
s::StreamEvent::WebSearchInProgress(v) => v.sequence_number,
s::StreamEvent::WebSearchSearching(v) => v.sequence_number,
s::StreamEvent::WebSearchCompleted(v) => v.sequence_number,
s::StreamEvent::McpArgumentsDelta(v) => v.sequence_number,
s::StreamEvent::McpArgumentsDone(v) => v.sequence_number,
s::StreamEvent::McpInProgress(v) => v.sequence_number,
s::StreamEvent::McpCompleted(v) => v.sequence_number,
s::StreamEvent::McpFailed(v) => v.sequence_number,
s::StreamEvent::McpListToolsInProgress(v) => v.sequence_number,
s::StreamEvent::McpListToolsCompleted(v) => v.sequence_number,
s::StreamEvent::McpListToolsFailed(v) => v.sequence_number,
s::StreamEvent::Error(v) => v.sequence_number(),
})
}