Private/ConvertTo-InvokePayload.ps1
|
function ConvertTo-InvokePayload { <# .SYNOPSIS Internal helper — converts cmdlet parameters into the request body for /api/invoke or Foundry Responses API. #> [CmdletBinding()] param( [Parameter(Mandatory)] [string]$Message, [string]$AgentName, [string]$Model, [string]$Instructions, [string[]]$Tools, [string]$ConversationId, [int]$MaxOutputTokens, [double]$Temperature, [bool]$AutoApprove = $true ) $body = @{ message = $Message } # Agent Reference mode if ($AgentName) { $body.agentName = $AgentName } # Direct mode if ($Model) { $body.model = $Model if ($Instructions) { $body.instructions = $Instructions } if ($Tools -and $Tools.Count -gt 0) { $body.tools = @($Tools) } } # Optional fields if ($ConversationId) { $body.conversationId = $ConversationId } if ($MaxOutputTokens -gt 0) { $body.maxOutputTokens = $MaxOutputTokens } if ($PSBoundParameters.ContainsKey('Temperature')) { $body.temperature = $Temperature } if (-not $AutoApprove) { $body.autoApprove = $false } return $body } |