From e094c2bf325d8001f982d9f8aac4e67657befe77 Mon Sep 17 00:00:00 2001 From: gokul-312 Date: Tue, 9 Dec 2025 18:52:30 +0530 Subject: [PATCH] Handle message when the role is developer when using OpenAI provider with instructions --- lib/active_agent/providers/common/messages/_types.rb | 2 +- test/providers/common/messages/types_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/active_agent/providers/common/messages/_types.rb b/lib/active_agent/providers/common/messages/_types.rb index 5c93623a..08724b3e 100644 --- a/lib/active_agent/providers/common/messages/_types.rb +++ b/lib/active_agent/providers/common/messages/_types.rb @@ -37,7 +37,7 @@ def cast_message(value) role = hash[:role]&.to_s case role - when "system" + when "system", "developer" nil # System messages are dropped in common format, replaced by Instructions when "user", nil # Handle both standard format and format with `text` key diff --git a/test/providers/common/messages/types_test.rb b/test/providers/common/messages/types_test.rb index 495b2b6f..a42af8c1 100644 --- a/test/providers/common/messages/types_test.rb +++ b/test/providers/common/messages/types_test.rb @@ -31,6 +31,12 @@ class TypesTest < ActiveSupport::TestCase assert_nil result end + test "MessageType drops developer messages" do + message_type = create_message_type + result = message_type.cast({ role: "developer", content: "Developer prompt" }) + assert_nil result + end + test "MessagesType casts array of Hash messages to Message objects" do messages_type = create_messages_type messages = [