|  | @@ -379,7 +379,7 @@ class CotAgentRunner(BaseAgentRunner, ABC):
 | 
	
		
			
				|  |  |              organize historic prompt messages
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          result: list[PromptMessage] = []
 | 
	
		
			
				|  |  | -        scratchpad: list[AgentScratchpadUnit] = []
 | 
	
		
			
				|  |  | +        scratchpads: list[AgentScratchpadUnit] = []
 | 
	
		
			
				|  |  |          current_scratchpad: AgentScratchpadUnit = None
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.history_prompt_messages = AgentHistoryPromptTransform(
 | 
	
	
		
			
				|  | @@ -391,13 +391,15 @@ class CotAgentRunner(BaseAgentRunner, ABC):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          for message in self.history_prompt_messages:
 | 
	
		
			
				|  |  |              if isinstance(message, AssistantPromptMessage):
 | 
	
		
			
				|  |  | -                current_scratchpad = AgentScratchpadUnit(
 | 
	
		
			
				|  |  | -                    agent_response=message.content,
 | 
	
		
			
				|  |  | -                    thought=message.content or 'I am thinking about how to help you',
 | 
	
		
			
				|  |  | -                    action_str='',
 | 
	
		
			
				|  |  | -                    action=None,
 | 
	
		
			
				|  |  | -                    observation=None,
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | +                if not current_scratchpad:
 | 
	
		
			
				|  |  | +                    current_scratchpad = AgentScratchpadUnit(
 | 
	
		
			
				|  |  | +                        agent_response=message.content,
 | 
	
		
			
				|  |  | +                        thought=message.content or 'I am thinking about how to help you',
 | 
	
		
			
				|  |  | +                        action_str='',
 | 
	
		
			
				|  |  | +                        action=None,
 | 
	
		
			
				|  |  | +                        observation=None,
 | 
	
		
			
				|  |  | +                    )
 | 
	
		
			
				|  |  | +                    scratchpads.append(current_scratchpad)
 | 
	
		
			
				|  |  |                  if message.tool_calls:
 | 
	
		
			
				|  |  |                      try:
 | 
	
		
			
				|  |  |                          current_scratchpad.action = AgentScratchpadUnit.Action(
 | 
	
	
		
			
				|  | @@ -409,24 +411,23 @@ class CotAgentRunner(BaseAgentRunner, ABC):
 | 
	
		
			
				|  |  |                          )
 | 
	
		
			
				|  |  |                      except:
 | 
	
		
			
				|  |  |                          pass
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  | -                scratchpad.append(current_scratchpad)
 | 
	
		
			
				|  |  |              elif isinstance(message, ToolPromptMessage):
 | 
	
		
			
				|  |  |                  if current_scratchpad:
 | 
	
		
			
				|  |  |                      current_scratchpad.observation = message.content
 | 
	
		
			
				|  |  |              elif isinstance(message, UserPromptMessage):
 | 
	
		
			
				|  |  | -                result.append(message)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                if scratchpad:
 | 
	
		
			
				|  |  | +                if scratchpads:
 | 
	
		
			
				|  |  |                      result.append(AssistantPromptMessage(
 | 
	
		
			
				|  |  | -                        content=self._format_assistant_message(scratchpad)
 | 
	
		
			
				|  |  | +                        content=self._format_assistant_message(scratchpads)
 | 
	
		
			
				|  |  |                      ))
 | 
	
		
			
				|  |  | +                    scratchpads = []
 | 
	
		
			
				|  |  | +                    current_scratchpad = None
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                result.append(message)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                scratchpad = []
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if scratchpad:
 | 
	
		
			
				|  |  | +        if scratchpads:
 | 
	
		
			
				|  |  |              result.append(AssistantPromptMessage(
 | 
	
		
			
				|  |  | -                content=self._format_assistant_message(scratchpad)
 | 
	
		
			
				|  |  | +                content=self._format_assistant_message(scratchpads)
 | 
	
		
			
				|  |  |              ))
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  |          return result
 |