"""
CVE Extractor core module.

Provides core APIs for CVE data download, filtering, extraction,
and analysis without UI dependencies.
"""

# Analyzer
from .analyzer import analyze_distribution

# Downloader
from .downloader import download_and_extract_cve_data

# Extractor
from .extractor import extract_cves_to_csv

# Filter
from .filter import load_cves_from_directory

# GitHub Analysis
from .github import (
    extract_github_patch,
    resolve_pre_patch_commit,
    verify_patch_code_type,
)

# Models
from .models import (
    CommitPatch,
    ComparePatch,
    CVERecord,
    FilePatch,
    GitHubPatch,
    PRPatch,
)

__all__ = [
    # Models
    "CVERecord",
    "GitHubPatch",
    "CommitPatch",
    "FilePatch",
    "PRPatch",
    "ComparePatch",
    # Downloader
    "download_and_extract_cve_data",
    # Filter
    "load_cves_from_directory",
    # GitHub Analysis
    "extract_github_patch",
    "verify_patch_code_type",
    "resolve_pre_patch_commit",
    # Extractor
    "extract_cves_to_csv",
    # Analyzer
    "analyze_distribution",
]
