diff --git a/app/services/llm_formatter/conversation_llm_formatter.rb b/app/services/llm_formatter/conversation_llm_formatter.rb index 8654e0adf..4e0bd7013 100644 --- a/app/services/llm_formatter/conversation_llm_formatter.rb +++ b/app/services/llm_formatter/conversation_llm_formatter.rb @@ -39,7 +39,14 @@ class LlmFormatter::ConversationLlmFormatter < LlmFormatter::DefaultLlmFormatter end def format_message(message) - sender = message.message_type == 'incoming' ? 'User' : 'Support agent' + sender = case message.sender_type + when 'User' + 'Support Agent' + when 'Contact' + 'User' + else + 'Bot' + end sender = "[Private Note] #{sender}" if message.private? "#{sender}: #{message.content}\n" end diff --git a/spec/factories/messages.rb b/spec/factories/messages.rb index b2ae41c5e..99a2c7cd8 100644 --- a/spec/factories/messages.rb +++ b/spec/factories/messages.rb @@ -27,6 +27,13 @@ FactoryBot.define do end end + trait :bot_message do + message_type { 'outgoing' } + after(:build) do |message| + message.sender = nil + end + end + after(:build) do |message| message.sender ||= message.outgoing? ? create(:user, account: message.account) : create(:contact, account: message.account) message.inbox ||= message.conversation&.inbox || create(:inbox, account: message.account) diff --git a/spec/services/llm_formatter/conversation_llm_formatter_spec.rb b/spec/services/llm_formatter/conversation_llm_formatter_spec.rb index 49fcc1a18..b79ee6d79 100644 --- a/spec/services/llm_formatter/conversation_llm_formatter_spec.rb +++ b/spec/services/llm_formatter/conversation_llm_formatter_spec.rb @@ -28,6 +28,14 @@ RSpec.describe LlmFormatter::ConversationLlmFormatter do content: 'Hello, I need help' ) + create( + :message, + :bot_message, + conversation: conversation, + message_type: 'outgoing', + content: 'Thanks for reaching out, an agent will reach out to you soon' + ) + create( :message, conversation: conversation, @@ -40,7 +48,8 @@ RSpec.describe LlmFormatter::ConversationLlmFormatter do "Channel: #{conversation.inbox.channel.name}", 'Message History:', 'User: Hello, I need help', - 'Support agent: How can I assist you today?', + 'Bot: Thanks for reaching out, an agent will reach out to you soon', + 'Support Agent: How can I assist you today?', '' ].join("\n")