Avant ce fix, le frontend VWB ne savait pas qu'un replay Agent V1 (Windows)
était en pause supervisée : le seul polling (App.tsx) interrogeait
/execute/status (exécution locale Linux) et n'avait jamais l'info
safety_checks / pause_message du replay distant.
Côté backend (dag_execute.py) :
- ajout du proxy GET /api/v3/replay/state/<replay_id> qui forward vers
/api/v1/traces/stream/replay/<id> avec Bearer token.
Côté frontend :
- ExecutionControls : nouvelle prop onWindowsReplayStarted, appelée avec
le replay_id retourné par /api/v3/execute-windows.
- App.tsx : nouveau state streamingReplayId + useEffect qui poll
/api/v3/replay/state/<id> toutes les secondes et fusionne status,
pause_message, pause_reason, safety_checks dans appState.execution.
Le PauseDialog existant s'affiche donc automatiquement quand
status = paused_need_help.
Le polling s'arrête quand le replay est completed/error/cancelled.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>