integrationResult = $integrationResult; $this->productScore = $productScore !== null ? max(0.0, min(1.0, $productScore)) : null; $this->confidenceScore = $confidenceScore !== null ? max(0.0, min(1.0, $confidenceScore)) : null; $this->qualitySummary = $qualitySummary; $this->mergeSummary = $mergeSummary; $this->recommendations = array_values($recommendations); } public function getIntegrationResult(): IntegrationResult { return $this->integrationResult; } public function getProductScore(): ?float { return $this->productScore; } public function getConfidenceScore(): ?float { return $this->confidenceScore; } public function getQualitySummary(): ?PreviewQualitySummary { return $this->qualitySummary; } public function getMergeSummary(): array { return $this->mergeSummary; } public function getRecommendations(): array { return $this->recommendations; } public function isAvailable(): bool { return $this->integrationResult->isEnabled() && ($this->productScore !== null || $this->confidenceScore !== null || $this->qualitySummary !== null); } }