pub mod discovery;
pub mod documentation;
pub mod error;
pub mod git_dates;
pub mod git_utils;
pub mod manifest;
pub mod module_structure;
pub mod orchestrator;
pub mod parser;
pub mod registry;
pub use discovery::{DiscoveredFile, DiscoveryResult, detect_submodule_paths, discover_files};
pub use documentation::{DocType, DocumentationResult, parse_documentation};
pub use error::ScanError;
pub use git_dates::collect_git_file_dates;
pub use git_utils::{
FreshnessCheck, check_branch_freshness, get_head_commit, record_branch_scan_complete,
};
pub use manifest::{
DeclaredDependency, ManifestAnalysis, ManifestType, analyze_manifests, categorize_dependency,
parse_manifest,
};
pub use module_structure::{ModuleGraph, ModuleInfo, build_module_graph};
pub use orchestrator::{
IncrementalStats, ScanProgress, ScanResult, scan_project, scan_project_with_progress,
};
pub use parser::{Parser, content_hash, parse_file, read_and_parse_file};
pub use registry::{
CACHE_TTL_SECS, PackageMetadata, PackageRegistryClient, Registry, RegistryError,
crates_io::CratesIoClient,
npm::NpmClient,
pypi::PyPIClient,
registry_mapping::{
ClassificationConfidence, ClassificationResult, classify_with_registry,
infer_domain_from_metadata, map_crates_io_category, map_keyword, map_pypi_classifier,
},
};