mirror of
https://github.com/RightNow-AI/openfang.git
synced 2026-07-30 15:01:15 +00:00
* feat: heartbeat auto-recovery for crashed agents Extend the heartbeat monitor to detect and automatically recover crashed agents, reducing operator intervention for 24/7 autonomous deployments: - Add RecoveryTracker: per-agent failure count with configurable cooldown - Heartbeat now monitors both Running and Crashed agents - Crashed agents auto-recover up to max_recovery_attempts (default 3) - After exhausting attempts, agents are marked Terminated - Unresponsive Running agents marked Crashed for next-cycle recovery - Increase default timeout from 60s to 180s (browser/LLM tasks need time) - Add HeartbeatStatus.state field for downstream consumers Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: claude code driver — PID tracking and message timeout Add subprocess lifecycle management to prevent hung CLI processes from blocking agents indefinitely: - Track active subprocess PIDs in a concurrent DashMap for external monitoring - Enforce configurable message timeout (default 300s) with automatic process kill - Return proper LlmError::Api on non-zero exit in streaming mode (was silently ignored) - Add with_timeout(), active_pids(), pid_map() public methods Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: /restart endpoint — manual per-agent recovery without daemon bounce POST /api/agents/{id}/restart and /api/agents/{id}/start both: - Cancel any active task via stop_agent_run() - Reset agent state to Running (updates last_active) - Return JSON with previous state and whether a task was cancelled Enables operators to recover individual crashed/stuck agents through the API without restarting the entire daemon. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: ZiLLA Dev <dev@zilla.wtf> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>