@echo off
title MP Manager Launcher (Perfil Persistente Bucefalo)
echo ===================================================
echo   MP Manager - Modo Perfil Persistente Bucefalo
echo ===================================================
echo.

cd /d "%~dp0"

python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo [ERROR] No se detecto Python instalado en el sistema o no esta en el PATH.
    echo Por favor, instala Python 3.10+ y marcalo en el PATH al instalar.
    pause
    exit /b 1
)

:: Pre-vuelo: rechazar si ya hay otra instancia, advertir si el puerto 8000
:: lo tiene otro proyecto.
python runtime_control.py preflight
set "PRE=%errorlevel%"
if "%PRE%"=="1" (
    echo.
    echo [SISTEMA] No se relanza. Usa restart.bat para reiniciar el modo persistente.
    timeout /t 5 >nul
    exit /b 1
)

:: Setear el directorio del perfil persistente para Playwright. Todos los scripts que abren
:: el navegador (ghl_browser_workflow_manager.py, ghl_browser_session_generator.py) usaran
:: este perfil en lugar de la sesion shared (generated\browser\session.json).
set "GHL_BROWSER_PROFILE_DIR=%~dp0generated\browser\profile"
echo [SISTEMA] GHL_BROWSER_PROFILE_DIR=%GHL_BROWSER_PROFILE_DIR%

if not exist "%GHL_BROWSER_PROFILE_DIR%" (
    echo.
    echo [ADVERTENCIA] El perfil aun no existe.
    echo La primera vez que arranques tendras que generar la sesion:
    echo    1. Ve a la pestana Workflows y dale a "Renovar sesion Bucefalo".
    echo    2. Inicia sesion + MFA en la ventana del navegador.
    echo    3. La sesion se persistira automaticamente en este directorio.
    echo.
)

echo [SISTEMA] Iniciando servidor FastAPI con perfil persistente activo...
:: Dejar huella del modo activo para que restart.bat sepa c?mo relanzar.
if not exist "generated\runtime" mkdir "generated\runtime"
> generated\runtime\last_mode echo persistent

start "MP Manager Server (Perfil Persistente)" cmd /k "set GHL_BROWSER_PROFILE_DIR=%GHL_BROWSER_PROFILE_DIR% && python ""%~dp0main.py"""

echo.
echo ===================================================
echo   Servidor iniciado en modo perfil persistente.
echo   Para detenerlo, ejecuta 'stop.bat'.
echo.
echo   NOTA: en este modo no puedes correr dos scripts
echo   de Playwright al mismo tiempo contra el mismo
echo   perfil (Chrome bloquea el dir).
echo ===================================================
timeout /t 5 >nul
exit
