private/functions/Resolve-PowerStubFileCommand.ps1

# Get-Command has no LiteralPath parameter and may prefer a wildcard lookalike.
# Accept only a CommandInfo for the file already selected by literal discovery.
function Resolve-PowerStubFileCommand {
    param([Parameter(Mandatory)][string]$Path)

    $comparison = if ($IsWindows) { [StringComparison]::OrdinalIgnoreCase } else { [StringComparison]::Ordinal }
    $resolved = Get-Command -Name $Path -CommandType ExternalScript,Application -All -ErrorAction SilentlyContinue |
        Where-Object { $_.Path -and $_.Path.Equals($Path, $comparison) } |
        Select-Object -First 1
    if ($resolved) { return $resolved }

    $pattern = Get-PowerStubFilePattern -Path $Path
    Get-Command -Name $pattern -CommandType ExternalScript,Application -All -ErrorAction SilentlyContinue |
        Where-Object { $_.Path -and $_.Path.Equals($Path, $comparison) } |
        Select-Object -First 1
}