src/presentation/reply.ps1
# # Copyright (c), Adam Edwards # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. function GetChatReply { [cmdletbinding(positionalbinding=$false)] param( [parameter(mandatory=$true)] [string] $ResponseMessage, [parameter(mandatory=$true)] [string] $UserPrompt, [ScriptBlock] $ReplyBlock, [int32] $MaxReplies ) $nextMax = $MaxReplies $replyParams = @{} if ( $ReplyBlock -and $MaxReplies -ne 0 ) { $reply = Invoke-Command -ScriptBlock $ReplyBlock -ArgumentList $ResponseMessage, $UserPrompt if ( $reply ) { if ( $nextMax -ne -1 ) { $nextMax = $nextMax - 1 } } [PSCustomObject] @{ Reply = $reply NextMax = $nextMax } } } |