diff --git a/letta/agents/helpers.py b/letta/agents/helpers.py index 02336d89..d8952c3f 100644 --- a/letta/agents/helpers.py +++ b/letta/agents/helpers.py @@ -192,7 +192,9 @@ async def _prepare_in_context_messages_no_persist_async( "Please send a regular message to interact with the agent." ) validate_approval_tool_call_ids(current_in_context_messages[-1], input_messages[0]) - new_in_context_messages = create_approval_response_message_from_input(agent_state=agent_state, input_message=input_messages[0]) + new_in_context_messages = create_approval_response_message_from_input( + agent_state=agent_state, input_message=input_messages[0], run_id=run_id + ) else: # User is trying to send a regular message if current_in_context_messages[-1].role == "approval": diff --git a/letta/server/rest_api/utils.py b/letta/server/rest_api/utils.py index efd5f06c..c9cfffb4 100644 --- a/letta/server/rest_api/utils.py +++ b/letta/server/rest_api/utils.py @@ -169,7 +169,9 @@ def create_input_messages(input_messages: List[MessageCreate], agent_id: str, ti return messages -def create_approval_response_message_from_input(agent_state: AgentState, input_message: ApprovalCreate) -> List[Message]: +def create_approval_response_message_from_input( + agent_state: AgentState, input_message: ApprovalCreate, run_id: Optional[str] = None +) -> List[Message]: def maybe_convert_tool_return_message(maybe_tool_return: LettaToolReturn): if isinstance(maybe_tool_return, LettaToolReturn): packaged_function_response = package_function_response( @@ -193,6 +195,7 @@ def create_approval_response_message_from_input(agent_state: AgentState, input_m approve=input_message.approve, denial_reason=input_message.reason, approvals=[maybe_convert_tool_return_message(approval) for approval in input_message.approvals], + run_id=run_id, ) ]