> $ops the previewed server fix's ops */ public function __construct(private readonly Transport $inner, private readonly array $ops) { } public function routes(): array { $routes = $this->inner->routes(); foreach ($this->ops as $op) { if (is_string($op['route'] ?? null)) { $routes[] = $op['route']; } } $routes = array_values(array_unique($routes)); sort($routes, SORT_STRING); return $routes; } public function evaluate(string $routeId, array $envelope, float $budgetSec): ?Verdict { $mine = array_values(array_filter( $this->ops, static fn (array $op): bool => ($op['route'] ?? null) === $routeId, )); if ($mine === []) { return $this->inner->evaluate($routeId, $envelope, $budgetSec); } return VerdictEngine::evaluate($mine, $envelope['body'] ?? null); } public function files(float $budgetSec): ?array { return $this->inner->files($budgetSec); } public function fileFetch(string $patchId, float $budgetSec): ?array { return $this->inner->fileFetch($patchId, $budgetSec); } }