"""Genera la seccion del system prompt con los tipos de relacion permitidos."""


def build_relation_schema_prompt(relation_types: list[str]) -> str:
    """Genera texto legible para el LLM describiendo los tipos de relacion permitidos.

    Formatea la lista de tipos de relacion en una seccion del system prompt que
    indica al LLM que relaciones puede extraer entre entidades.

    Args:
        relation_types: Lista de strings con los tipos de relacion permitidos.
                        Ejemplo: ["funds", "employs", "communicates_with"]

    Returns:
        String formateado con la seccion del prompt. Retorna string vacio si
        la lista esta vacia.
    """
    if not relation_types:
        return ""

    joined = ", ".join(relation_types)
    return f"Allowed relation types:\n{joined}"
