From cc7e623d74584dd2c4cab7486905190d98324b12 Mon Sep 17 00:00:00 2001 From: Jordan Ramos Date: Sun, 1 Mar 2026 18:48:24 -0700 Subject: [PATCH] Add detailed AssistantMessage content inspection **Problem**: tool_calls=0 in both successful and failed requests, despite 16-31 turns of Agent SDK work. Tool tracking code finds no tool_use blocks. **Debug addition**: Log content structure for first 10 AssistantMessages: - Content type (str vs list) - If list: number of blocks and types of first 3 blocks - Will show if content contains tool_use blocks or different structure **Expected**: Should see "list with X blocks: [ToolUseBlock, TextBlock, ...]" **If broken**: Will see empty lists or unexpected structure Co-Authored-By: Claude Sonnet 4.5 --- llm_interface.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/llm_interface.py b/llm_interface.py index 91978b2..a62b738 100644 --- a/llm_interface.py +++ b/llm_interface.py @@ -594,6 +594,15 @@ class LLMInterface: logger.info(f"[LLM] Message #{message_count}: {msg_type}") if isinstance(message, AssistantMessage) and hasattr(message, 'content'): + # DEBUG: Log content structure for first few messages + if message_count <= 10: + content_type = type(message.content).__name__ + if isinstance(message.content, list): + block_types = [type(b).__name__ if hasattr(b, 'type') else str(type(b)) for b in message.content[:3]] + logger.info(f"[LLM] Message #{message_count} content: list with {len(message.content)} blocks: {block_types}") + else: + logger.info(f"[LLM] Message #{message_count} content: {content_type}") + if isinstance(message.content, str): assistant_messages.append(message.content) elif isinstance(message.content, list):