Skip to main content

vv_agent/skills/validator/
diagnostics.rs

1#[derive(Debug, Clone, Default, PartialEq, Eq)]
2pub struct ValidationDiagnostics {
3    pub errors: Vec<String>,
4    pub warnings: Vec<String>,
5}
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub(super) enum IssueSeverity {
9    Error,
10    Warning,
11}
12
13pub(super) fn append_issue(
14    diagnostics: &mut ValidationDiagnostics,
15    message: impl Into<String>,
16    severity: IssueSeverity,
17) {
18    match severity {
19        IssueSeverity::Error => diagnostics.errors.push(message.into()),
20        IssueSeverity::Warning => diagnostics.warnings.push(message.into()),
21    }
22}
23
24pub(super) fn merge_diagnostics(base: &mut ValidationDiagnostics, incoming: ValidationDiagnostics) {
25    base.errors.extend(incoming.errors);
26    base.warnings.extend(incoming.warnings);
27}