From bcfc94846d54fe1fd12f3edd51118bcdaef01a69 Mon Sep 17 00:00:00 2001 From: jnjpng Date: Tue, 14 Oct 2025 16:00:15 -0700 Subject: [PATCH] fix: include run_id and step_id in temporal agent workflow [LET-5387] (#5429) * base * update * fix: temporal agent workflow usage statistics [LET-5516] (#5436) * base * clean up comment * remove import --------- Co-authored-by: Letta Bot --------- Co-authored-by: Letta Bot --- letta/agents/helpers.py | 4 +++- letta/server/rest_api/utils.py | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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, ) ]