@echo off
setlocal
set "BASE=C:\ProgramData\EVA\WorkspaceAgent"
set "SCRIPT=%BASE%\eva-home-monitor.ps1"
set "TMP=%TEMP%\eva-home-monitor-016.ps1"
set "TASK=EVA Workspace HOME Monitor"
set "URL=https://home.nikolskoe3.ru/downloads/eva-home-monitor.ps1?v=0.1.6"
set "SHA=fe4b754cc0ff38a1e5bd6331be4e0f8fb1202f8a1985893d1cb9a1149a33451b"

net session >nul 2>&1
if errorlevel 1 (
  echo ERROR: Run as Administrator.
  pause
  exit /b 1
)

curl.exe --ssl-no-revoke --connect-timeout 10 --max-time 45 -fL "%URL%" -o "%TMP%"
if errorlevel 1 (
  echo ERROR: download failed.
  pause
  exit /b 2
)

for /f "usebackq delims=" %%H in (`powershell.exe -NoProfile -NonInteractive -Command "(Get-FileHash -LiteralPath '%TMP%' -Algorithm SHA256).Hash.ToLowerInvariant()"`) do set "ACTUAL=%%H"
if /i not "%ACTUAL%"=="%SHA%" (
  echo ERROR: SHA256 mismatch.
  echo EXPECTED=%SHA%
  echo ACTUAL=%ACTUAL%
  pause
  exit /b 3
)

schtasks.exe /End /TN "%TASK%" >nul 2>&1
timeout /t 2 /nobreak >nul
copy /y "%TMP%" "%SCRIPT%" >nul
if errorlevel 1 (
  echo ERROR: cannot replace monitor script.
  pause
  exit /b 4
)

schtasks.exe /Run /TN "%TASK%" >nul
if errorlevel 1 (
  echo ERROR: cannot start monitor task.
  pause
  exit /b 5
)

echo.
echo HOME Monitor repaired to 0.1.6.
echo Refresh EVA Workspace in 10-15 seconds.
pause
