a49a9d79b3
When a persistent Docker container is removed out-of-band or a Vercel sandbox hits a terminal state, the backend silently recreates it and retries. The model then keeps assuming background processes and non-persisted files from earlier commands still exist. Backends now call _mark_recreated() after a successful recovery; BaseEnvironment.execute() folds the one-shot flag into the result as environment_recreated, and finalize_foreground_result() attaches a model-facing warning field explaining what may have been lost. Ported from lobehub/lobehub#19329 (sandbox recreation surfacing), adapted to hermes environment backends and tool-result JSON.