tower-rules 0.8.20

TowerRule schema — predicate + trigger + federation types for yah-tower. Zero deps on tower runtime; consumed by the rule engine, desktop UI, tower.simulate, and tests.
Documentation
use serde::{Deserialize, Serialize};
use ts_rs::TS;

/// Wire-format schema version for tower rules.
///
/// Single variant today. When a breaking field rename or removal requires a
/// migration path, a new variant is added here. Rule files older than the
/// running tower version migrate lazily; future-version files are skipped with
/// a warning.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, TS)]
#[ts(export)]
pub enum SchemaVersion {
    V1,
}

impl Default for SchemaVersion {
    fn default() -> Self {
        Self::V1
    }
}