vv-agent 0.4.8

VectorVein agent runtime, SDK, CLI, tools, and workspace backends
Documentation
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct ValidationDiagnostics {
    pub errors: Vec<String>,
    pub warnings: Vec<String>,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(super) enum IssueSeverity {
    Error,
    Warning,
}

pub(super) fn append_issue(
    diagnostics: &mut ValidationDiagnostics,
    message: impl Into<String>,
    severity: IssueSeverity,
) {
    match severity {
        IssueSeverity::Error => diagnostics.errors.push(message.into()),
        IssueSeverity::Warning => diagnostics.warnings.push(message.into()),
    }
}

pub(super) fn merge_diagnostics(base: &mut ValidationDiagnostics, incoming: ValidationDiagnostics) {
    base.errors.extend(incoming.errors);
    base.warnings.extend(incoming.warnings);
}