from pydantic import BaseModel, Field, ConfigDict
from typing import List

class ScriptDraft(BaseModel):
    model_config = ConfigDict(extra='allow')
    
    outline: List[str] = Field(description="从小说提取的关键情节大纲")
    content: str = Field(description="完整的标准剧本内容")


class ScriptAudit(BaseModel):
    model_config = ConfigDict(extra='allow')
    
    missing_info: List[str] = Field(description="遗漏的关键信息列表")
    tone_check: str = Field(description="基调一致/不一致及评价")
    fidelity_score: int = Field(description="剧本还原度评分 (0-100)")
    critique: str = Field(description="整体修改建议")
