"""AUTOGENERATED CODE - DO NOT EDIT

If you want to customize this structure:
  1. Copy this file to your own module
  2. Remove the 'structure' or 'refines' declaration from the concept in the MTHDS file
     and declare it in inline mode (see https://docs.pipelex.com/latest/building-methods/concepts/define_your_concepts/#basic-concept-definition)
  3. Make sure your custom class is importable and registered

To regenerate: pipelex build structures <target_directory>
"""

from pydantic import Field

from pipelex.core.stuffs.structured_content import StructuredContent
from tests.e2e.pipelex.pipes.pipe_operators.pipe_compose.cv_job_matching_itvw_question import InterviewQuestion


class InterviewSheet(StructuredContent):
    """Generated InterviewSheet class"""

    overall_match_score: float = Field(..., description="Percentage or rating indicating overall fit between candidate and position")
    matching_skills: str = Field(..., description="Skills the candidate has that match the job requirements")
    missing_skills: str = Field(..., description="Required skills the candidate appears to lack")
    experience_alignment: str = Field(..., description="Assessment of how the candidate's experience level matches expectations")
    areas_of_concern: str = Field(..., description="Potential red flags or weaknesses identified")
    areas_to_explore: str = Field(..., description="Topics that warrant further investigation during interview")
    questions: list[InterviewQuestion] = Field(..., description="List of interview questions with their purposes")
