diff --git a/letta/agents/letta_agent_v2.py b/letta/agents/letta_agent_v2.py index 41662074..7fab6cb0 100644 --- a/letta/agents/letta_agent_v2.py +++ b/letta/agents/letta_agent_v2.py @@ -308,6 +308,10 @@ class LettaAgentV2(BaseAgentV2): input_messages_to_persist = [] + if self.stop_reason is None: + # terminated due to hitting max_steps + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.max_steps.value) + if not self.agent_state.message_buffer_autoclear: await self.summarize_conversation_history( in_context_messages=in_context_messages, @@ -327,6 +331,8 @@ class LettaAgentV2(BaseAgentV2): use_assistant_message=use_assistant_message, reverse=False, ) + if not self.stop_reason: + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.end_turn.value) result = LettaResponse(messages=letta_messages, stop_reason=self.stop_reason, usage=self.usage) if self.job_update_metadata is None: self.job_update_metadata = {} diff --git a/letta/agents/letta_agent_v3.py b/letta/agents/letta_agent_v3.py index 2f407894..3b38c2c6 100644 --- a/letta/agents/letta_agent_v3.py +++ b/letta/agents/letta_agent_v3.py @@ -288,6 +288,9 @@ class LettaAgentV3(LettaAgentV2): input_messages_to_persist = [] + if self.stop_reason is None: + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.max_steps.value) + if not self.agent_state.message_buffer_autoclear: if self.last_step_usage: await self.summarize_conversation_history(