"""
Web Sentinel Source Code Security Scanner

Point d'entrée principal pour l'analyse statique de code source (SAST).
"""

from .source_code.scanner import SourceCodeScanner
from ..model import Finding, ScanRequest
from typing import Iterable


def evaluate_source_code(request: ScanRequest) -> Iterable[Finding]:
    """
    Point d'entrée principal pour l'analyse de sécurité du code source.
    
    Args:
        request: Requête de scan contenant les paramètres SAST
        
    Returns:
        Iterable[Finding]: Liste des vulnérabilités détectées
    """
    scanner = SourceCodeScanner()
    return scanner.scan_request(request)