"""
Skills 配置请求/响应模型
"""
from pydantic import BaseModel
from typing import List, Dict, Optional, Any
from app.models.project import TaskType, SkillAssignment, TaskSkillConfig, EpisodeSkillOverride


class ProjectSkillConfigUpdate(BaseModel):
    """项目 Skills 配置更新"""
    defaultTaskSkills: List[TaskSkillConfig]
    episodeSkillOverrides: Dict[int, EpisodeSkillOverride]


class SkillConfigResponse(BaseModel):
    """Skills 配置响应"""
    defaultTaskSkills: List[TaskSkillConfig]
    episodeSkillOverrides: Dict[int, EpisodeSkillOverride]


class EpisodeSkillConfigUpdate(BaseModel):
    """单集 Skills 配置更新"""
    episode_number: int
    task_configs: List[TaskSkillConfig]
    use_project_default: bool = True
