from pydantic import BaseModel from typing import Optional, List, Dict from datetime import datetime class UploadResponse(BaseModel): file_id: str contact_count: int message: str class PromptSaveRequest(BaseModel): file_id: str prompts: Dict[str, str] products: List[str] class SequenceResponse(BaseModel): id: int firstName: str lastName: str email: str company: str title: Optional[str] = None product: str subject: str emailContent: str class SmartleadPushRequest(BaseModel): file_id: str campaign_id: str # Required - campaign ID to add leads to dry_run: bool = False class SmartleadRunResponse(BaseModel): run_id: str campaign_id: Optional[str] = None campaign_name: Optional[str] = None steps_count: int total: int added: int skipped: int failed: int errors: List[Dict] = [] status: str