Classes/Commands/CompressionCommand.psm1
using module .\BaseCommand.psm1 using module ..\Dialog.psm1 using module "..\..\Private\OutHelper.psm1" # compress and reset the dialog to a message describing the context class CompressionCommand : BaseCommand { [string]$RegEx = "^z$" [Dialog] Handle([Dialog]$dialog) { $dialog.ClearQuestion() [OutHelper]::Info("Preparing context from $($dialog.GetWordCount()) words.") $prompt = "Describe the context and topics of our dialog starting with the phrase: The context of our dialog is. Please use bullets for the topics." $dialog.AddMessage("user", $prompt) $answer = $this.ChatApi.GetAnswer($dialog.Messages).Content if($null -ne $answer) { [OutHelper]::Gpt($answer) $dialog.ClearMessages() $dialog.AddMessage("assistant", $answer) } return $dialog } [string[]] GetHelp() { return @( "z → Compresses the dialog into a single statement that provides context. Removes all other messages." ) } } |