from typing import List, Optional, Dict, Any from pydantic import BaseModel, Field class ProfileData(BaseModel): """Structured LinkedIn profile data""" full_name: Optional[str] = None headline: Optional[str] = None about: Optional[str] = None location: Optional[str] = None # Added based on scraper output profile_url: Optional[str] = None # Added based on scraper output experience: List[Dict[str, Any]] = Field(default_factory=list) education: List[Dict[str, Any]] = Field(default_factory=list) skills: List[str] = Field(default_factory=list) recommendations: List[Dict[str, Any]] = Field(default_factory=list) accomplishments: List[Dict[str, Any]] = Field(default_factory=list) # Added based on scraper output raw_data: Dict[str, Any] = Field(default_factory=dict) class Config: arbitrary_types_allowed = True # Add other core, reusable data models here if needed in the future.