#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AttentionKind {
Notify,
Stopped,
Budget,
Conflicted,
Mail,
Held,
Refused,
Truncated,
Flagged,
}
impl AttentionKind {
pub(crate) fn says(self) -> &'static str {
match self {
Self::Notify => "raised a notify mark",
Self::Stopped => "came to rest — your turn",
Self::Budget => "exhausted its budget",
Self::Conflicted => "has a conflicted branch",
Self::Mail => "has mail queued and no driver taking it",
Self::Held => "parked a tool invocation for your answer",
Self::Refused => "was refused at the provider — sign a provider in on this workspace",
Self::Truncated => {
"was cut off at its output cap — nothing was committed; raise the role's \
max_output_tokens in providers.yaml, or ask for less in one step"
}
Self::Flagged => "was flagged for a look, with a reason",
}
}
}