previewAnalysis = $previewAnalysis; $this->productScore = $productScore; $this->confidenceScore = $confidenceScore; $this->qualitySummary = $qualitySummary; $this->mergeTrace = $mergeTrace; $this->recommendations = array_values($recommendations); } public function getPreviewAnalysis(): PreviewAnalysis { return $this->previewAnalysis; } public function getProductScore(): ?float { return $this->productScore; } public function getConfidenceScore(): ?float { return $this->confidenceScore; } public function getQualitySummary(): ?PurchaseQualitySummary { return $this->qualitySummary; } public function getMergeTrace(): array { return $this->mergeTrace; } public function getRecommendations(): array { return $this->recommendations; } public function isAvailable(): bool { return $this->previewAnalysis->isAvailable(); } }