from enum import StrEnum class AnalysisStatus(StrEnum): DISCOVERING = "discovering" COLLECTING = "collecting" ANALYZING = "analyzing" PLANNING = "planning" COMPLETED = "completed" FAILED = "failed" class TaskStatus(StrEnum): START = "start" PROCESSING = "processing" DONE = "done" class Severity(StrEnum): CRITICAL = "critical" WARNING = "warning" GOOD = "good" EXCELLENT = "excellent" UNKNOWN = "unknown" class ChannelStatus(StrEnum): ACTIVE = "active" INACTIVE = "inactive" UNKNOWN = "unknown" NOT_FOUND = "not_found" class DataSource(StrEnum): REGISTRY = "registry" SCRAPE = "scrape" class SourceType(StrEnum): MAINPAGE = "mainpage" INSTAGRAM = "instagram" FACEBOOK = "facebook" NAVER_BLOG = "naver_blog" YOUTUBE = "youtube" TIKTOK = "tiktok" GANGNAM_UNNI = "gangnam_unni" KAKAOTALK = "kakaotalk" NAVER_CAFE = "naver_cafe" # 부가 수집/분석 (HTML/CSS 재크롤 + Vision 로고 매칭) — 한 raw_info entry 에 brandAssets/channelLogos 같이 보관. BRANDING = "branding" class Language(StrEnum): KR = "KR" EN = "EN" WW = "WW" class VideoType(StrEnum): SHORT = "Short" LONG = "Long" class AnnotationType(StrEnum): HIGHLIGHT = "highlight" ARROW = "arrow" TEXT = "text"