use myko::prelude::*;
use myko_macros::myko_item;
/// A cluster the operator may fire a capture on, mirrored into the cell by the
/// bridge so the browser never queries Pulse Cluster directly.
#[myko_item]
pub struct FrameCaptureTargetSummary {
/// Cluster name, also the entity id.
pub cluster_name: String,
/// Live generation/revision string as observed by the bridge.
#[serde(default)]
pub generation: String,
/// Whether the cluster is currently in a state that can accept a capture.
#[serde(default)]
pub capturable: bool,
/// Short reason shown when not capturable (e.g. "stopped", "locked").
#[serde(default)]
pub status: String,
#[serde(default)]
pub updated_at_ms: u64,
}