Extension contracts
Resolve and record a bounded source through typed package actions:
<?php
declare(strict_types=1);
use Capell\Referer\Actions\RecordRefererCountAction;use Capell\Referer\Actions\ResolveReferralSourceAction;
$source = ResolveReferralSourceAction::run($request, $site);
if ($source !== null) { RecordRefererCountAction::run($site, $source);}Callers must pass the already-resolved frontend Site; the recording action
does not resolve a site, enqueue request data, or write raw referral values.