use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "snake_case")]
pub enum SkillInstallSourceType {
#[default]
Github,
Url,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct InstalledSkillSourceRecord {
pub source_type: SkillInstallSourceType,
pub locator: String,
#[serde(default)]
pub tag: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct InstalledSkillRecord {
pub skill_id: String,
pub version: String,
pub managed: bool,
pub source: InstalledSkillSourceRecord,
pub installed_at_unix_ms: u128,
}