private/New-AiderArgument.ps1
| 
                                function New-AiderArgument { [CmdletBinding()] param( [string]$TargetFile, [string]$Message, [string]$Model, [string]$EditMode, [string[]]$ContextFiles, [bool]$UsePermissionBypass, [ValidateSet('low', 'medium', 'high')] [string]$ReasoningEffort ) Write-PSFMessage -Level Verbose -Message "Building Aider arguments..." $arguments = @('--message', $Message) Write-PSFMessage -Level Verbose -Message "Message: $Message" if ($UsePermissionBypass) { Write-PSFMessage -Level Verbose -Message "Adding permission bypass flag" $arguments += '--yes-always' } if ($PSCmdlet.MyInvocation.BoundParameters['Verbose'] -or $PSCmdlet.MyInvocation.BoundParameters['Debug']) { Write-PSFMessage -Level Verbose -Message "Adding verbose flag" $arguments += '--verbose' } if ($Model) { Write-PSFMessage -Level Verbose -Message "Using model: $Model" $arguments += '--model', $Model } if ($ReasoningEffort) { Write-PSFMessage -Level Verbose -Message "Using reasoning effort: $ReasoningEffort" $arguments += '--reasoning-effort', $ReasoningEffort } if ($EditMode) { Write-PSFMessage -Level Verbose -Message "Edit mode: $EditMode" $editFlag = $script:ToolDefinitions['Aider'].EditModeMap[$EditMode] if ($editFlag) { $arguments += $editFlag # Add array elements (flag and value) } } Write-PSFMessage -Level Verbose -Message "Adding no-auto-commits, cache-prompts, and no-pretty flags" $arguments += '--no-auto-commits' $arguments += '--cache-prompts' $arguments += '--no-pretty' if ($TargetFile) { Write-PSFMessage -Level Verbose -Message "Target file: $TargetFile" $arguments += '--file', $TargetFile } if ($ContextFiles) { Write-PSFMessage -Level Verbose -Message "Adding $($ContextFiles.Count) context file(s)" foreach ($ctx in $ContextFiles) { Write-PSFMessage -Level Verbose -Message "Context file: $ctx" $arguments += '--read', $ctx } } Write-PSFMessage -Level Verbose -Message "Aider arguments built: $($arguments -join ' ')" return $arguments }  |