From d6927e44c1f587fcddcba042a7e6e121053950b2 Mon Sep 17 00:00:00 2001 From: Neil Jobbins <3514122+TheRealNeil@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:50:27 -0800 Subject: [PATCH] Cast message to MessageType before creating StreamChunk in stream_broadcaster --- lib/active_agent/concerns/streaming.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/active_agent/concerns/streaming.rb b/lib/active_agent/concerns/streaming.rb index a605e093..194060f0 100644 --- a/lib/active_agent/concerns/streaming.rb +++ b/lib/active_agent/concerns/streaming.rb @@ -268,7 +268,8 @@ def _stream_define_callback_wrapper_proc(callback_name, method_proc) # @return [Proc] callback proc that accepts (message, delta, type) def stream_broadcaster proc do |message, delta, type| - self.stream_chunk = StreamChunk.new(message, delta) + cast_message = message.is_a?(Hash) ? Providers::Common::Messages::Types::MessageType.new.cast(message) : message + self.stream_chunk = StreamChunk.new(cast_message, delta) run_callbacks(:stream_open) if type == :open run_callbacks(:stream)