@@ -40,10 +40,12 @@ def remove_blank_messages_content_text(messages: Messages) -> Messages:
4040 # only modify assistant messages
4141 if "role" in message and message ["role" ] != "assistant" :
4242 continue
43-
4443 if "content" in message :
4544 content = message ["content" ]
4645 has_tool_use = any ("toolUse" in item for item in content )
46+ if len (content ) == 0 :
47+ content .append ({"text" : "[blank text]" })
48+ continue
4749
4850 if has_tool_use :
4951 # Remove blank 'text' items for assistant messages
@@ -57,6 +59,7 @@ def remove_blank_messages_content_text(messages: Messages) -> Messages:
5759 if "text" in item and not item ["text" ].strip ():
5860 replaced_blank_message_content_text = True
5961 item ["text" ] = "[blank text]"
62+
6063
6164 if removed_blank_message_content_text :
6265 logger .debug ("removed blank message context text" )
@@ -272,7 +275,7 @@ async def process_stream(chunks: AsyncIterable[StreamEvent]) -> AsyncGenerator[d
272275
273276 async for chunk in chunks :
274277 yield {"callback" : {"event" : chunk }}
275-
278+ print ( "====chunk" , chunk )
276279 if "messageStart" in chunk :
277280 state ["message" ] = handle_message_start (chunk ["messageStart" ], state ["message" ])
278281 elif "contentBlockStart" in chunk :
@@ -312,7 +315,6 @@ async def stream_messages(
312315 logger .debug ("model=<%s> | streaming messages" , model )
313316
314317 messages = remove_blank_messages_content_text (messages )
315-
316318 chunks = model .stream (messages , tool_specs if tool_specs else None , system_prompt )
317319
318320 async for event in process_stream (chunks ):
0 commit comments