@echo off
chcp 65001 >nul
set PYTHONUTF8=1
cd /d "%~dp0"
echo ================================================
echo    天璇 增量更新工具
echo ================================================
echo.

:: Auto-detect update package
set ZIP_FILE=%1
if "%ZIP_FILE%"=="" (
    for /f "delims=" %%f in ('dir /b tianxuan_update_*.zip 2^>nul') do set ZIP_FILE=%%f
)
if "%ZIP_FILE%"=="" (
    echo [ERROR] 未找到任何 tianxuan_update_*.zip 文件
    echo 请将更新包（tianxuan_update_*.zip）放到本目录后重试
    pause
    exit /b 1
)
if not exist "%ZIP_FILE%" (
    echo [ERROR] 找不到更新包: %ZIP_FILE%
    pause
    exit /b 1
)

echo 更新包: %ZIP_FILE%
echo.

:: Check portable Python exists
if not exist "runtime\python\python.exe" (
    echo [ERROR] 找不到便携 Python 运行时
    echo 请确保 runtime\python\python.exe 存在
    pause
    exit /b 1
)

:: Run the update script
echo 正在应用更新，请勿关闭此窗口...
echo.
runtime\python\python.exe scripts\apply_update.py "%ZIP_FILE%"
if %ERRORLEVEL% neq 0 (
    echo.
    echo [ERROR] 更新失败！错误代码: %ERRORLEVEL%
    echo 请运行 rollback.bat 回滚到更新前的状态
    pause
    exit /b %ERRORLEVEL%
)

echo.
echo ================================================
echo    ✅ 更新完成！
echo ================================================
echo.
echo 请关闭此窗口，然后重新双击 run.bat 启动新版本
echo.
pause
