use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum CapabilityFailureKind {
Timeout,
Unavailable,
RejectedByPolicy,
InvalidOutput,
PartialReversible,
FallbackToNative,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct CapabilityFailure {
pub kind: CapabilityFailureKind,
pub capability_id: String,
pub task_id: String,
pub detail: Option<String>,
pub fallback_available: bool,
}