From 97fc9b0d5885b1cc21c3aada5763af4116a8d819 Mon Sep 17 00:00:00 2001 From: Kayvan Sylvan Date: Wed, 25 Jun 2025 16:24:47 -0700 Subject: [PATCH] feat: allow combining user messages and attachments with patterns - Allow user messages and attachments with patterns. - Append user message to session regardless of pattern. - Refactor chat request builder for improved clarity. --- cli/flags.go | 15 +++++++-------- core/chatter.go | 2 ++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/cli/flags.go b/cli/flags.go index e4f0ac6b..39bb39ce 100644 --- a/cli/flags.go +++ b/cli/flags.go @@ -279,14 +279,7 @@ func (o *Flags) BuildChatRequest(Meta string) (ret *common.ChatRequest, err erro } var message *goopenai.ChatCompletionMessage - if len(o.Attachments) == 0 { - if o.Message != "" { - message = &goopenai.ChatCompletionMessage{ - Role: goopenai.ChatMessageRoleUser, - Content: strings.TrimSpace(o.Message), - } - } - } else { + if len(o.Attachments) > 0 { message = &goopenai.ChatCompletionMessage{ Role: goopenai.ChatMessageRoleUser, } @@ -323,7 +316,13 @@ func (o *Flags) BuildChatRequest(Meta string) (ret *common.ChatRequest, err erro }, }) } + } else if o.Message != "" { + message = &goopenai.ChatCompletionMessage{ + Role: goopenai.ChatMessageRoleUser, + Content: strings.TrimSpace(o.Message), + } } + ret.Message = message if o.Language != "" { diff --git a/core/chatter.go b/core/chatter.go index 19083f7f..34a2d72e 100644 --- a/core/chatter.go +++ b/core/chatter.go @@ -227,6 +227,8 @@ func (o *Chatter) BuildSession(request *common.ChatRequest, raw bool) (session * // So, we only append the direct user message if NO pattern was used. if request.PatternName == "" && request.Message != nil { session.Append(request.Message) + } else if request.Message != nil { + session.Append(request.Message) } }