from enum import Enum from typing import List, Optional from pydantic import BaseModel from app.models.resume import ResumeData from app.models.score import ATSScore from app.models.analysis import BulletAnalysis, SafetyScan, KeywordPlacement class Intensity(str, Enum): CONSERVATIVE = "conservative" MODERATE = "moderate" AGGRESSIVE = "aggressive" class Change(BaseModel): type: str # "added", "modified", "reordered" location: str # e.g., "experience[0].bullets[2]" before: str = "" after: str = "" class CustomizationResult(BaseModel): original: ResumeData customized: ResumeData changes: List[Change] = [] original_score: ATSScore customized_score: ATSScore # Enhanced analysis fields bullet_analysis: List[BulletAnalysis] = [] safety_scan: Optional[SafetyScan] = None keyword_quality: List[KeywordPlacement] = []