actions, true); } public function hasAnyLeakDetection(): bool { return $this->hasAction(GuardAction::CRITICAL_LEAK_DETECTED) || $this->hasAction(GuardAction::HIGH_LEAK_DETECTED) || $this->hasAction(GuardAction::MEDIUM_LEAK_DETECTED) || $this->hasAction(GuardAction::LOW_LEAK_DETECTED); } public function requiresImmediateAction(): bool { return $this->hasAction(GuardAction::EMERGENCY_CLEANUP) || $this->hasAction(GuardAction::CRITICAL_LEAK_DETECTED); } public function toArray(): array { return [ 'memory_status' => $this->memoryStatus->toArray(), 'actions' => array_map(fn ($action) => $action->value, $this->actions), 'check_number' => $this->checkNumber, 'emergency_mode' => $this->emergencyMode, ]; } }