from dataclasses import dataclass from pathlib import Path from typing import Dict, List, Optional from rule_structure import AssetRule, FileRule, SourceRule from configuration import Configuration @dataclass class AssetProcessingContext: source_rule: SourceRule asset_rule: AssetRule workspace_path: Path engine_temp_dir: Path output_base_path: Path effective_supplier: Optional[str] asset_metadata: Dict processed_maps_details: Dict[str, Dict[str, Dict]] merged_maps_details: Dict[str, Dict[str, Dict]] files_to_process: List[FileRule] loaded_data_cache: Dict config_obj: Configuration status_flags: Dict incrementing_value: Optional[str] sha5_value: Optional[str]