pub mod builtin;
pub mod python_checker;
pub mod rhai_checker;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CheckInput {
pub result: serde_json::Value,
#[serde(default)]
pub expected: serde_json::Value,
#[serde(default)]
pub context: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CheckOutput {
pub pass: bool,
#[serde(default)]
pub message: String,
}
pub trait Checker: Send + Sync {
fn check(&self, input: &CheckInput) -> CheckOutput;
}