"""Schemas — Cultural sensitivity / localized AI interview content (SOW i18n)."""

from typing import Any
from uuid import UUID

from pydantic import BaseModel, Field

from app.schemas.common import StubMeta


class CulturalAdaptRequest(BaseModel):
    """POST /api/v1/cultural-sensitivity/adapt"""

    correlation_id: UUID | None = None
    target_language: str = Field(..., min_length=2, max_length=10)
    region: str | None = None
    content_type: str = Field(
        default="interview_questions",
        description="interview_questions | feedback | prep_plan | job_description",
    )
    content: str | None = None
    questions: list[dict[str, Any]] = Field(default_factory=list)
    cultural_sensitivity: bool = True
    options: dict[str, Any] = Field(default_factory=dict)


class CulturalAdaptResponse(StubMeta):
    correlation_id: UUID | None = None
    target_language: str
    region: str | None = None
    adapted_content: str | None = None
    adapted_questions: list[dict[str, Any]] = Field(default_factory=list)
    notes: list[str] = Field(default_factory=list)
