systemprompt-content 0.2.2

Markdown content management, sources, and event tracking for systemprompt.io AI governance dashboards. Governed publishing pipeline for the MCP governance platform.
Documentation
#[derive(Debug, thiserror::Error)]
pub enum ContentValidationError {
    #[error("Missing required field: {field}")]
    MissingField { field: String },

    #[error(
        "Missing organization config: '{field}' in content.yaml under \
         metadata.structured_data.organization"
    )]
    MissingOrgConfig { field: String },

    #[error(
        "Missing article config: '{field}' in content.yaml under metadata.structured_data.article"
    )]
    MissingArticleConfig { field: String },

    #[error("Invalid content: {message}")]
    InvalidContent { message: String },

    #[error("Missing branding config: '{field}' in web.yaml under branding")]
    MissingBrandingConfig { field: String },
}

impl ContentValidationError {
    pub fn missing_field(field: impl Into<String>) -> Self {
        Self::MissingField {
            field: field.into(),
        }
    }

    pub fn missing_org_config(field: impl Into<String>) -> Self {
        Self::MissingOrgConfig {
            field: field.into(),
        }
    }

    pub fn missing_article_config(field: impl Into<String>) -> Self {
        Self::MissingArticleConfig {
            field: field.into(),
        }
    }

    pub fn invalid_content(message: impl Into<String>) -> Self {
        Self::InvalidContent {
            message: message.into(),
        }
    }

    pub fn missing_branding_config(field: impl Into<String>) -> Self {
        Self::MissingBrandingConfig {
            field: field.into(),
        }
    }
}