"""
Configuration for the voice agent.
"""

from pipecat.transcriptions.language import Language

# ---------------------------------------------------------------------------
# Supported languages – used by STT (Soniox) and TTS (ElevenLabs)
# Aligned with ElevenLabs Multilingual v2 (29 languages). Only languages
# supported by both Soniox and Multilingual v2 are included here.
# ---------------------------------------------------------------------------

SUPPORTED_LANGUAGES = [
    Language.EN,   # English (USA, UK, Australia, Canada)
    Language.HI,   # Hindi
    Language.AR,   # Arabic (Saudi Arabia, UAE)
    Language.ID,   # Indonesian
    Language.MS,   # Malay
    Language.FIL,  # Filipino (Philippines) – Soniox uses "tl" for Tagalog
]

# Map Soniox detected language codes -> pipecat Language enum
# Soniox uses ISO 639-1 codes: https://soniox.com/docs/stt/concepts/supported-languages
SONIOX_CODE_TO_LANGUAGE: dict[str, Language] = {
    "en": Language.EN,
    "hi": Language.HI,
    "ar": Language.AR,
    "id": Language.ID,
    "ms": Language.MS,
    "tl": Language.FIL,  # Tagalog/Filipino (Philippines)
}

# Human-readable names
LANGUAGE_NAMES: dict[Language, str] = {
    Language.EN: "English",
    Language.HI: "Hindi",
    Language.AR: "Arabic",
    Language.ID: "Indonesian",
    Language.MS: "Malay",
    Language.FIL: "Filipino",
}

# ---------------------------------------------------------------------------
# LLM (Groq)
# ---------------------------------------------------------------------------
GROQ_MODEL = "openai/gpt-oss-20b"

# Default language fallback
DEFAULT_LANGUAGE = Language.HI

