|null */ public static function report(OperationRun $run): ?array { $context = is_array($run->context) ? $run->context : []; $report = $context['verification_report'] ?? null; if (! is_array($report)) { return null; } $report = VerificationReportSanitizer::sanitizeReport($report); if (! VerificationReportSchema::isValidReport($report)) { return null; } return $report; } public static function previousReportId(array $report): ?int { $previousReportId = $report['previous_report_id'] ?? null; if (is_int($previousReportId) && $previousReportId > 0) { return $previousReportId; } if (is_string($previousReportId) && ctype_digit(trim($previousReportId))) { return (int) trim($previousReportId); } return null; } public static function fingerprint(array $report): ?string { $fingerprint = $report['fingerprint'] ?? null; if (is_string($fingerprint)) { $fingerprint = strtolower(trim($fingerprint)); if (preg_match('/^[a-f0-9]{64}$/', $fingerprint)) { return $fingerprint; } } return VerificationReportFingerprint::forReport($report); } public static function previousRun(OperationRun $run, array $report): ?OperationRun { $previousReportId = self::previousReportId($report); if ($previousReportId === null) { return null; } $previous = OperationRun::query() ->whereKey($previousReportId) ->where('tenant_id', (int) $run->tenant_id) ->where('workspace_id', (int) $run->workspace_id) ->first(); return $previous instanceof OperationRun ? $previous : null; } public static function shouldRenderForRun(OperationRun $run): bool { $context = is_array($run->context) ? $run->context : []; if (array_key_exists('verification_report', $context)) { return true; } return in_array((string) $run->type, ['provider.connection.check'], true); } }