From f237717ce42374fc4fc0327f31be4bbb9a44f595 Mon Sep 17 00:00:00 2001 From: Charles Packer Date: Mon, 25 Nov 2024 10:44:14 -0800 Subject: [PATCH] fix: do a pre-validation validation on the inputs assigned to `agent_state.message_ids` (#2098) --- letta/agent.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/letta/agent.py b/letta/agent.py index 72e8c654..32dd6ad9 100644 --- a/letta/agent.py +++ b/letta/agent.py @@ -1325,6 +1325,12 @@ class Agent(BaseAgent): def update_state(self) -> AgentState: message_ids = [msg.id for msg in self._messages] + + # Assert that these are all strings + if any(not isinstance(m_id, str) for m_id in message_ids): + warnings.warn(f"Non-string message IDs found in agent state: {message_ids}") + message_ids = [m_id for m_id in message_ids if isinstance(m_id, str)] + assert isinstance(self.memory, Memory), f"Memory is not a Memory object: {type(self.memory)}" # override any fields that may have been updated