@echo off
title MP Manager Launcher
echo ===================================================
echo   MP Manager - Iniciando Servidor Monte Providencia
echo ===================================================
echo.

cd /d "%~dp0"

:: ----------------------------------------------------------------------
:: 1. Verificar Python
:: ----------------------------------------------------------------------
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo [ERROR] No se detecto Python en el PATH. Instala Python 3.10+ y reintenta.
    pause
    exit /b 1
)

:: ----------------------------------------------------------------------
:: 2. Pre-vuelo: comprobar si ya hay MP Manager corriendo, si el puerto 8000
::    esta ocupado por otro proyecto, o si hay registros stale que limpiar.
:: ----------------------------------------------------------------------
python runtime_control.py preflight
set "PRE=%errorlevel%"

if "%PRE%"=="1" (
    echo.
    echo [SISTEMA] No se relanza. Si quieres reiniciar usa restart.bat.
    timeout /t 5 >nul
    exit /b 1
)

if "%PRE%"=="2" (
    echo.
    echo [SISTEMA] Continuando: MP Manager buscara el siguiente puerto libre.
    echo.
)

:: ----------------------------------------------------------------------
:: 3. Dejar huella del modo activo para que restart.bat sepa como relanzar.
:: ----------------------------------------------------------------------
if not exist "generated\runtime" mkdir "generated\runtime"
> generated\runtime\last_mode echo normal

:: ----------------------------------------------------------------------
:: 4. Lanzar el servidor en una ventana secundaria. main.py escribira
::    server_info.json con el puerto real una vez levantado, y abrira el
::    navegador con un cache-bust para evitar pestanas viejas de otros
::    proyectos.
:: ----------------------------------------------------------------------
echo [SISTEMA] Iniciando servidor FastAPI...
:: Lanzar con path absoluto a main.py para que la linea de comando del proceso
:: contenga la ruta del proyecto. Eso permite a stop.bat distinguir esta
:: instancia de otros proyectos Python que pudieran estar en el mismo puerto.
start "MP Manager Server" python "%~dp0main.py"

echo.
echo ===================================================
echo   El servidor se esta iniciando en segundo plano.
echo   La ventana del navegador se abrira sola en el
echo   puerto correspondiente (8000 o el siguiente libre).
echo.
echo   Para detener: stop.bat
echo   Para reiniciar: restart.bat
echo ===================================================
timeout /t 5 >nul
exit /b 0
