use super::*;
use crate::agents::registry::AgentRegistry;
use crate::services::hallucination_detector::{
ClaimExtractor, CodeFactDatabase, HallucinationDetector, ValidationStatus,
};
use serde_json::json;
use std::path::PathBuf;
use std::sync::Arc;
pub struct ValidateDocumentationTool {
_registry: Arc<AgentRegistry>,
}
impl ValidateDocumentationTool {
#[provable_contracts_macros::contract("pmat-core.yaml", equation = "check_compliance")]
pub fn new(registry: Arc<AgentRegistry>) -> Self {
Self {
_registry: registry,
}
}
}
pub struct CheckClaimTool {
_registry: Arc<AgentRegistry>,
}
impl CheckClaimTool {
#[provable_contracts_macros::contract("pmat-core.yaml", equation = "check_compliance")]
pub fn new(registry: Arc<AgentRegistry>) -> Self {
Self {
_registry: registry,
}
}
}
include!("hallucination_detection_tools_validate.rs");
include!("hallucination_detection_tools_check.rs");
include!("hallucination_detection_tools_tests.rs");