KlippyCLI.psm1
|
#Requires -Version 7.0 <# .SYNOPSIS KlippyCLI - PowerShell module for managing Klipper/Moonraker 3D printers. .DESCRIPTION Provides cmdlets for interacting with Klipper 3D printers via the Moonraker API. Supports multi-printer configuration, print management, file operations, and real-time monitoring. .NOTES Author: Carlos Perez (carlos_perez@darkoperator.com) Project: https://github.com/darkoperator/KlippyCLI #> # Module-scoped variables $script:KlippyRegistryPath = $null $script:KlippyDefaultTimeout = 30 $script:KlippyDefaultRetryCount = 3 # Get the module root path $script:ModuleRoot = $PSScriptRoot # Dot-source private functions $privateFunctions = @(Get-ChildItem -Path "$PSScriptRoot/functions/private" -Filter '*.ps1' -ErrorAction SilentlyContinue) foreach ($function in $privateFunctions) { try { . $function.FullName } catch { Write-Error "Failed to import private function '$($function.FullName)': $_" } } # Dot-source public functions $publicFunctions = @(Get-ChildItem -Path "$PSScriptRoot/functions/public" -Filter '*.ps1' -ErrorAction SilentlyContinue) foreach ($function in $publicFunctions) { try { . $function.FullName } catch { Write-Error "Failed to import public function '$($function.FullName)': $_" } } # Export only public functions (handled by manifest, but explicit for clarity) $publicFunctionNames = $publicFunctions | ForEach-Object { $_.BaseName } if ($publicFunctionNames) { Export-ModuleMember -Function $publicFunctionNames } |