private/New-OllamaArgument.ps1
| 
                                function New-OllamaArgument { [CmdletBinding()] param( [string]$TargetFile, [string]$Message, [string]$Model, [bool]$UsePermissionBypass, [ValidateSet('low', 'medium', 'high')] [string]$ReasoningEffort ) Write-PSFMessage -Level Verbose -Message "Building Ollama arguments..." $arguments = @('run') # Add verbose flag if requested if ($PSCmdlet.MyInvocation.BoundParameters['Verbose']) { Write-PSFMessage -Level Verbose -Message "Adding verbose flag" $arguments += '-v' } # Use model from parameter or default if ($Model) { Write-PSFMessage -Level Verbose -Message "Using model: $Model" $arguments += $Model } else { Write-PSFMessage -Level Verbose -Message "Using default model: llama3.1" $arguments += 'llama3.1' } # Build the prompt message if ($TargetFile) { Write-PSFMessage -Level Verbose -Message "Target file: $TargetFile" # Read the file content to include in the prompt try { $fileContent = Get-Content -Path $TargetFile -Raw -ErrorAction Stop if ($Message) { $fullMessage = "$Message`n`nFile content:`n`n$fileContent" } else { $fullMessage = "Analyze and improve this file:`n`n$fileContent" } } catch { Write-PSFMessage -Level Warning -Message "Could not read target file: $_" $fullMessage = $Message } } elseif ($Message) { Write-PSFMessage -Level Verbose -Message "Using provided message" $fullMessage = $Message } else { Write-PSFMessage -Level Warning -Message "No message or target file provided" $fullMessage = "" } # Add the prompt message if ($fullMessage) { Write-PSFMessage -Level Verbose -Message "Adding prompt message" $arguments += $fullMessage } Write-PSFMessage -Level Verbose -Message "Ollama arguments built: $($arguments -join ' ')" return $arguments }  |