"""복합업무 임시팀 공유 상수 (Single Source of Truth)

dispatch.py와 team_prompts.py에서 공통으로 사용하는 composite 관련 상수.
"""

from typing import Dict, List

COMPOSITE_ALLOWED_TEAMS: frozenset = frozenset({"marketing", "design", "consulting", "publishing"})
MAX_COMPOSITE_TEAMS: int = 3

HANDOFF_REQUIRED_FIELDS: Dict[frozenset, List[str]] = {
    frozenset({"marketing", "design"}): [
        "플랫폼",
        "사이즈/형식",
        "톤앤매너",
        "CTA 문구",
        "타겟 오디언스",
    ],
    frozenset({"consulting", "publishing"}): [
        "대상 독자",
        "법적 검토 여부",
        "인용 출처",
        "데이터 정확성",
    ],
    frozenset({"marketing", "publishing"}): [
        "톤앤매너",
        "타겟 오디언스",
        "키워드",
        "SEO 메타",
    ],
    frozenset({"marketing", "consulting"}): [
        "타겟 고객",
        "상품 정보",
        "규제 사항",
        "CTA 문구",
    ],
}

DEFAULT_HANDOFF_FIELDS: List[str] = ["핵심 결정사항", "산출물 파일 경로", "다음 Phase 요구사항"]
