LocalPilot.psm1

# LocalPilot.psm1
# Zero-Cloud Local Workstation Provisioning, Machine-as-Code & Self-Healing Remediation Engine
# Author: Matthew Bubb (thebubbsy / OnYaChamp.com)

$PublicFunctions = Get-ChildItem -Path (Join-Path -Path $PSScriptRoot -ChildPath 'Public\*.ps1') -ErrorAction SilentlyContinue
$PrivateFunctions = Get-ChildItem -Path (Join-Path -Path $PSScriptRoot -ChildPath 'Private\*.ps1') -ErrorAction SilentlyContinue

foreach ($file in @($PrivateFunctions; $PublicFunctions)) {
    if ($file) {
        try {
            . $file.FullName
        }
        catch {
            Write-Error "Failed to import function from '$($file.FullName)': $_"
        }
    }
}

# Export aliases
Set-Alias -Name 'Start-LocalPilot' -Value 'Invoke-LocalPilot' -Description 'Alias for Invoke-LocalPilot'
Set-Alias -Name 'Test-EndpointDrift' -Value 'Invoke-LocalRemediation' -Description 'Alias for Invoke-LocalRemediation'

Export-ModuleMember -Function @(
    'Get-LocalPilotRecipe',
    'Invoke-LocalPilot',
    'New-WorkstationBirthCertificate',
    'Invoke-LocalRemediation',
    'Register-LocalRemediation'
) -Alias @(
    'Start-LocalPilot',
    'Test-EndpointDrift'
)