Private/Utilities/Resolve-ApplicableArchitecture.ps1

function Resolve-ApplicableArchitecture {
    <#
    .SYNOPSIS
        Resolves a requirement architecture value to a Graph payload value.
    .DESCRIPTION
        Returns `$null` for empty values or `All`; returns supported values unchanged.
    .PARAMETER Architecture
        Architecture value from configuration.
    .OUTPUTS
        string
    #>

    [CmdletBinding()]
    [OutputType([string])]
    param(
        [Parameter()]
        [string]$Architecture
    )

    if ([string]::IsNullOrWhiteSpace($Architecture) -or $Architecture -eq 'All') {
        return $null
    }

    $architectureMap = @{
        'x64'   = 'x64'
        'x86'   = 'x86'
        'arm64' = 'arm64'
    }

    if ($architectureMap.ContainsKey($Architecture)) {
        return $architectureMap[$Architecture]
    }

    return $null
}