from typing import List, Optional from pydantic import BaseModel class CodeRequest(BaseModel): code: str language: str task_type: str # "explain" 或 "fix" depth: str = "detailed" class CodeExplanation(BaseModel): explanation: str line_by_line: Optional[List[dict]] = None key_concepts: Optional[List[str]] = None suggestions: Optional[List[str]] = None class BugFix(BaseModel): original_code: str fixed_code: str problems_found: List[str] fixes_applied: List[str] explanation: str class CodeResponse(BaseModel): success: bool task_type: str result: CodeExplanation | BugFix error: Optional[str] = None class ChatMessage(BaseModel): role: str content: str