Octa.psm1

#Requires -Version 5.1

# FR-009: refuse to run on anything but Windows 11, naming the detected OS.
$osInfo = Get-CimInstance -ClassName Win32_OperatingSystem
$buildNumber = [int]$osInfo.BuildNumber
if ($buildNumber -lt 22000) {
    throw "Octa requires Windows 11 (build 22000 or later). Detected: $($osInfo.Caption) (build $buildNumber)."
}

$root = $PSScriptRoot

foreach ($folder in 'private', 'categories', 'public') {
    $path = Join-Path $root $folder
    if (Test-Path $path) {
        Get-ChildItem -Path $path -Filter '*.ps1' | ForEach-Object {
            . $_.FullName
        }
    }
}