From f54c62eacc731e247e04d43c37da4caba8f98412 Mon Sep 17 00:00:00 2001 From: cthomas Date: Thu, 29 May 2025 18:05:27 -0700 Subject: [PATCH] fix: pass in env vars to new agent loop (#2535) --- letta/agents/letta_agent.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/letta/agents/letta_agent.py b/letta/agents/letta_agent.py index 7b86afc5..28a3293b 100644 --- a/letta/agents/letta_agent.py +++ b/letta/agents/letta_agent.py @@ -114,7 +114,7 @@ class LettaAgent(BaseAgent): @trace_method async def step(self, input_messages: List[MessageCreate], max_steps: int = 10, use_assistant_message: bool = True) -> LettaResponse: agent_state = await self.agent_manager.get_agent_by_id_async( - agent_id=self.agent_id, include_relationships=["tools", "memory"], actor=self.actor + agent_id=self.agent_id, include_relationships=["tools", "memory", "tool_exec_environment_variables"], actor=self.actor ) _, new_in_context_messages, usage = await self._step(agent_state=agent_state, input_messages=input_messages, max_steps=max_steps) return _create_letta_response( @@ -124,7 +124,7 @@ class LettaAgent(BaseAgent): @trace_method async def step_stream_no_tokens(self, input_messages: List[MessageCreate], max_steps: int = 10, use_assistant_message: bool = True): agent_state = await self.agent_manager.get_agent_by_id_async( - agent_id=self.agent_id, include_relationships=["tools", "memory"], actor=self.actor + agent_id=self.agent_id, include_relationships=["tools", "memory", "tool_exec_environment_variables"], actor=self.actor ) current_in_context_messages, new_in_context_messages = await _prepare_in_context_messages_async( input_messages, agent_state, self.message_manager, self.actor @@ -335,7 +335,7 @@ class LettaAgent(BaseAgent): 4. Processes the response """ agent_state = await self.agent_manager.get_agent_by_id_async( - agent_id=self.agent_id, include_relationships=["tools", "memory"], actor=self.actor + agent_id=self.agent_id, include_relationships=["tools", "memory", "tool_exec_environment_variables"], actor=self.actor ) current_in_context_messages, new_in_context_messages = await _prepare_in_context_messages_no_persist_async( input_messages, agent_state, self.message_manager, self.actor @@ -849,12 +849,14 @@ class LettaAgent(BaseAgent): ) # TODO: This temp. Move this logic and code to executors + sandbox_env_vars = {var.key: var.value for var in agent_state.tool_exec_environment_variables} tool_execution_manager = ToolExecutionManager( agent_state=agent_state, message_manager=self.message_manager, agent_manager=self.agent_manager, block_manager=self.block_manager, passage_manager=self.passage_manager, + sandbox_env_vars=sandbox_env_vars, actor=self.actor, ) # TODO: Integrate sandbox result