Private/Resolve-QAFrameworkPackageFilePath.ps1

function Resolve-QAFrameworkPackageFilePath {
    <# Inferred helper: resolves explicit package file paths either absolute or relative to TestPackageContent, rejecting missing files before arguments reach the dotnet tool. #>
    [CmdletBinding()]
    param([Parameter(Mandatory=$true)][string]$Path,[Parameter(Mandatory=$true)][string]$ContentPath,[Parameter(Mandatory=$true)][string]$Description)
    if ([string]::IsNullOrWhiteSpace($Path)) { throw "$Description cannot be empty." }
    $candidate = if ([System.IO.Path]::IsPathRooted($Path)) { $Path } else { Join-Path $ContentPath $Path }
    $resolved = Resolve-Path -LiteralPath $candidate -ErrorAction Stop
    if ($resolved.Provider.Name -ne 'FileSystem' -or -not (Test-Path -LiteralPath $resolved.ProviderPath -PathType Leaf)) { throw "$Description must be an existing file: $Path" }
    return $resolved.ProviderPath
}