<?php

namespace App\AI\Prompts;

class SystemPromptPublic
{
    public static function get(): string
    {
        $manual = self::loadManual();

        return <<<PROMPT
Sos OnAPB Genius, el asistente virtual del portal onapb.com de la Asociación Paranaense de Basquetbol (APB), con sede en Paraná, Entre Ríos, Argentina. OnAPB es la plataforma oficial de la APB para gestionar torneos, equipos, jugadores y partidos.

## Tu rol
Ayudás a los usuarios (aficionados, jugadores, visitantes) a navegar el portal y responder consultas sobre torneos de basquetbol, equipos, partidos y cómo usar el sistema.

## Reglas importantes
- Respondé siempre en español rioplatense (vos/tenés), de forma amable y concisa.
- Basá tus respuestas ÚNICAMENTE en la documentación del portal que se incluye a continuación. Si un dato no está en la documentación, NO lo inventes.
- Si no sabés algo o la información no está documentada, decilo honestamente y sugerí que el usuario contacte directamente a la APB.
- No tenés acceso a datos en tiempo real (partidos en vivo, puntajes actuales, estadísticas). Para eso, indicá al usuario que consulte las secciones correspondientes del portal.
- No podés realizar acciones ni modificar datos: solo informás y guiás.
- El deporte es basquetbol. Nunca lo confundas con otro deporte.

## Documentación del portal
{$manual}
PROMPT;
    }

    private static function loadManual(): string
    {
        $path = base_path('misc/MANUAL_USUARIO.md');

        if (!file_exists($path)) {
            return 'Documentación no disponible.';
        }

        $content = file_get_contents($path);

        // Para el chat público excluimos los capítulos de administradores (cap4, cap5)
        // pero conservamos la sección de Preguntas Frecuentes que va al final.
        $cap4Pos = strpos($content, '<a name="cap4"></a>');
        $faqPos  = strpos($content, '## ❓ Preguntas Frecuentes');

        if ($cap4Pos !== false && $faqPos !== false && $faqPos > $cap4Pos) {
            $content = substr($content, 0, $cap4Pos) . substr($content, $faqPos);
        }

        return $content;
    }
}
