"""Pydantic models for code draft generation.""" from __future__ import annotations from .shared import Any, BaseModel, Dict, Field, List, Optional class CodeDraftRequest(BaseModel): """Code draft generation request.""" signal_id: str signal_content: str strategic_analysis: Dict[str, Any] target_files: List[str] project_root: str = "." class FileInfo(BaseModel): """Target file metadata and optional content.""" path: str language: str exists: bool content: Optional[str] = None lines_count: int = 0 class GeneratedFile(BaseModel): """Generated file payload.""" path: str content: str language: str diff: str is_new: bool review_points: List[str] = [] class CodeDraftResponse(BaseModel): """Code draft generation response.""" success: bool files: List[GeneratedFile] summary: str confidence: float = Field(default=0.0, ge=0.0, le=1.0) warnings: List[str] = Field(default_factory=list) review_points: List[str] = Field(default_factory=list) estimated_complexity: str = "low" generation_time: float = 0.0 metadata: Dict[str, Any] = Field(default_factory=dict) __all__ = [ "CodeDraftRequest", "FileInfo", "GeneratedFile", "CodeDraftResponse", ]