impl ClaudeParser {
const fn is_control_event(event: &ClaudeEvent) -> bool {
match event {
ClaudeEvent::StreamEvent { event } => matches!(
event,
StreamInnerEvent::MessageStart { .. }
| StreamInnerEvent::ContentBlockStart { .. }
| StreamInnerEvent::ContentBlockStop { .. }
| StreamInnerEvent::MessageDelta { .. }
| StreamInnerEvent::MessageStop
| StreamInnerEvent::Ping
),
_ => false,
}
}
const fn is_partial_event(event: &ClaudeEvent) -> bool {
match event {
ClaudeEvent::StreamEvent { event } => matches!(
event,
StreamInnerEvent::ContentBlockDelta { .. } | StreamInnerEvent::TextDelta { .. }
),
_ => false,
}
}
}