from typing import TypedDict, Optional, List, Dict, Any

class EngineeringState(TypedDict):
    user_request: str
    repo_path: str
    sandbox_path: Optional[str]
    selected_executor: Optional[str]
    plan: List[str]
    code_result: Dict[str, Any]
    test_result: Dict[str, Any]
    report: str
    status: str
    attempts: int
