use std::collections::HashMap;
use crate::rules::registry::SourceSpan;
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DiscoveredModel {
pub name: String,
pub module_path: String,
pub schema: serde_json::Value,
pub source_map: HashMap<String, SourceSpan>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DiscoverResponse {
pub models: Vec<DiscoveredModel>,
#[serde(default)]
pub warnings: Vec<DiscoveryWarning>,
#[serde(default)]
pub provider_hint: Option<String>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DiscoveryWarning {
pub model: String,
pub message: String,
}