First Version
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
@echo off
|
||||
REM Supervisor loop for personal-agent (Windows).
|
||||
REM
|
||||
REM - Runs `cargo run`.
|
||||
REM - If the app exits with 255 (Rust's exit(-1)), rebuild and rerun.
|
||||
REM - If the app exits with 0 (graceful shutdown, e.g. Ctrl+C), stop.
|
||||
REM - Any other exit code is treated as an error and stops the loop.
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
cd /d "%~dp0"
|
||||
|
||||
REM ── Python venv setup (optional) ─────────────────────────────────────────────
|
||||
set VENV_DIR=.venv
|
||||
set REQUIREMENTS=requirements.txt
|
||||
|
||||
if not exist "%VENV_DIR%\Scripts\python3.exe" (
|
||||
where uv >nul 2>nul
|
||||
if !ERRORLEVEL! equ 0 (
|
||||
echo [run.bat] Setting up Python venv with uv ...
|
||||
call uv venv "%VENV_DIR%" && call uv pip install -r "%REQUIREMENTS%"
|
||||
if !ERRORLEVEL! equ 0 ( echo [run.bat] Python venv ready. ) else ( echo [run.bat] Warning: Python venv setup failed )
|
||||
) else (
|
||||
where python3 >nul 2>nul
|
||||
if !ERRORLEVEL! equ 0 (
|
||||
echo [run.bat] Setting up Python venv ...
|
||||
call python3 -m venv "%VENV_DIR%" && call "%VENV_DIR%\Scripts\pip" install -r "%REQUIREMENTS%"
|
||||
if !ERRORLEVEL! equ 0 ( echo [run.bat] Python venv ready. ) else ( echo [run.bat] Warning: Python venv setup failed )
|
||||
) else (
|
||||
echo [run.bat] Warning: python3 not found -- Python MCP servers will be unavailable.
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
REM Prepend venv to PATH if available
|
||||
if exist "%VENV_DIR%\Scripts\python3.exe" (
|
||||
set "PATH=%CD%\%VENV_DIR%\Scripts;%PATH%"
|
||||
)
|
||||
|
||||
set "TS_RS_EXPERIMENT=this_is_unstable_software"
|
||||
|
||||
:loop
|
||||
echo [run.bat] Starting ...
|
||||
set RUSTFLAGS=-A warnings
|
||||
cargo run
|
||||
set code=!ERRORLEVEL!
|
||||
|
||||
if "!code!"=="0" (
|
||||
echo [run.bat] App exited cleanly. Stopping.
|
||||
exit /b 0
|
||||
)
|
||||
if "!code!"=="255" (
|
||||
echo [run.bat] App requested restart (exit -1). Rebuilding ...
|
||||
goto loop
|
||||
)
|
||||
|
||||
echo [run.bat] App exited with code !code!. Stopping.
|
||||
exit /b !code!
|
||||
Reference in New Issue
Block a user