use crate::domain::generated::{StreamResponse, stream_response};
use crate::port::StreamItem;
pub fn stream_response_to_item(resp: StreamResponse) -> Option<StreamItem> {
match resp.payload {
Some(stream_response::Payload::Task(task)) => Some(StreamItem::Task(*task)),
Some(stream_response::Payload::StatusUpdate(update)) => {
Some(StreamItem::StatusUpdate((*update).into()))
}
Some(stream_response::Payload::ArtifactUpdate(update)) => {
Some(StreamItem::ArtifactUpdate((*update).into()))
}
_ => None,
}
}