@@ -81,14 +81,13 @@ async def run_agent(
8181 tools : list [Tool ] | None = None ,
8282 output_type : type [Any ] | AgentOutputSchemaBase | None = None ,
8383 tool_use_behavior : (
84- Literal ["run_llm_again" , "stop_on_first_tool" ]
85- | StopAtTools
86- | ToolsToFinalOutputFunction
84+ Literal ["run_llm_again" , "stop_on_first_tool" ] | StopAtTools | ToolsToFinalOutputFunction
8785 ) = "run_llm_again" ,
8886 mcp_timeout_seconds : int | None = None ,
8987 input_guardrails : list [InputGuardrail ] | None = None ,
9088 output_guardrails : list [OutputGuardrail ] | None = None ,
9189 max_turns : int | None = None ,
90+ previous_response_id : str | None = None ,
9291 ) -> SerializableRunResult | RunResult :
9392 """
9493 Run an agent without streaming or TaskMessage creation.
@@ -116,6 +115,7 @@ async def run_agent(
116115 input_guardrails: Optional list of input guardrails to run on initial user input.
117116 output_guardrails: Optional list of output guardrails to run on final agent output.
118117 max_turns: Maximum number of turns the agent can take. Uses Runner's default if None.
118+ previous_response_id: Optional previous response ID for conversation continuity.
119119
120120 Returns:
121121 Union[SerializableRunResult, RunResult]: SerializableRunResult when in Temporal, RunResult otherwise.
@@ -139,6 +139,7 @@ async def run_agent(
139139 input_guardrails = input_guardrails ,
140140 output_guardrails = output_guardrails ,
141141 max_turns = max_turns ,
142+ previous_response_id = previous_response_id ,
142143 )
143144 return await ActivityHelpers .execute_activity (
144145 activity_name = OpenAIActivityName .RUN_AGENT ,
@@ -167,6 +168,7 @@ async def run_agent(
167168 input_guardrails = input_guardrails ,
168169 output_guardrails = output_guardrails ,
169170 max_turns = max_turns ,
171+ previous_response_id = previous_response_id ,
170172 )
171173
172174 async def run_agent_auto_send (
@@ -188,14 +190,13 @@ async def run_agent_auto_send(
188190 tools : list [Tool ] | None = None ,
189191 output_type : type [Any ] | AgentOutputSchemaBase | None = None ,
190192 tool_use_behavior : (
191- Literal ["run_llm_again" , "stop_on_first_tool" ]
192- | StopAtTools
193- | ToolsToFinalOutputFunction
193+ Literal ["run_llm_again" , "stop_on_first_tool" ] | StopAtTools | ToolsToFinalOutputFunction
194194 ) = "run_llm_again" ,
195195 mcp_timeout_seconds : int | None = None ,
196196 input_guardrails : list [InputGuardrail ] | None = None ,
197197 output_guardrails : list [OutputGuardrail ] | None = None ,
198198 max_turns : int | None = None ,
199+ previous_response_id : str | None = None ,
199200 ) -> SerializableRunResult | RunResult :
200201 """
201202 Run an agent with automatic TaskMessage creation.
@@ -222,6 +223,7 @@ async def run_agent_auto_send(
222223 input_guardrails: Optional list of input guardrails to run on initial user input.
223224 output_guardrails: Optional list of output guardrails to run on final agent output.
224225 max_turns: Maximum number of turns the agent can take. Uses Runner's default if None.
226+ previous_response_id: Optional previous response ID for conversation continuity.
225227
226228 Returns:
227229 Union[SerializableRunResult, RunResult]: SerializableRunResult when in Temporal, RunResult otherwise.
@@ -246,6 +248,7 @@ async def run_agent_auto_send(
246248 input_guardrails = input_guardrails ,
247249 output_guardrails = output_guardrails ,
248250 max_turns = max_turns ,
251+ previous_response_id = previous_response_id ,
249252 )
250253 return await ActivityHelpers .execute_activity (
251254 activity_name = OpenAIActivityName .RUN_AGENT_AUTO_SEND ,
@@ -275,6 +278,7 @@ async def run_agent_auto_send(
275278 input_guardrails = input_guardrails ,
276279 output_guardrails = output_guardrails ,
277280 max_turns = max_turns ,
281+ previous_response_id = previous_response_id ,
278282 )
279283
280284 async def run_agent_streamed (
@@ -292,14 +296,13 @@ async def run_agent_streamed(
292296 tools : list [Tool ] | None = None ,
293297 output_type : type [Any ] | AgentOutputSchemaBase | None = None ,
294298 tool_use_behavior : (
295- Literal ["run_llm_again" , "stop_on_first_tool" ]
296- | StopAtTools
297- | ToolsToFinalOutputFunction
299+ Literal ["run_llm_again" , "stop_on_first_tool" ] | StopAtTools | ToolsToFinalOutputFunction
298300 ) = "run_llm_again" ,
299301 mcp_timeout_seconds : int | None = None ,
300302 input_guardrails : list [InputGuardrail ] | None = None ,
301303 output_guardrails : list [OutputGuardrail ] | None = None ,
302304 max_turns : int | None = None ,
305+ previous_response_id : str | None = None ,
303306 ) -> RunResultStreaming :
304307 """
305308 Run an agent with streaming enabled but no TaskMessage creation.
@@ -330,6 +333,7 @@ async def run_agent_streamed(
330333 input_guardrails: Optional list of input guardrails to run on initial user input.
331334 output_guardrails: Optional list of output guardrails to run on final agent output.
332335 max_turns: Maximum number of turns the agent can take. Uses Runner's default if None.
336+ previous_response_id: Optional previous response ID for conversation continuity.
333337
334338 Returns:
335339 RunResultStreaming: The result of the agent run with streaming.
@@ -363,6 +367,7 @@ async def run_agent_streamed(
363367 input_guardrails = input_guardrails ,
364368 output_guardrails = output_guardrails ,
365369 max_turns = max_turns ,
370+ previous_response_id = previous_response_id ,
366371 )
367372
368373 async def run_agent_streamed_auto_send (
@@ -384,14 +389,13 @@ async def run_agent_streamed_auto_send(
384389 tools : list [Tool ] | None = None ,
385390 output_type : type [Any ] | AgentOutputSchemaBase | None = None ,
386391 tool_use_behavior : (
387- Literal ["run_llm_again" , "stop_on_first_tool" ]
388- | StopAtTools
389- | ToolsToFinalOutputFunction
392+ Literal ["run_llm_again" , "stop_on_first_tool" ] | StopAtTools | ToolsToFinalOutputFunction
390393 ) = "run_llm_again" ,
391394 mcp_timeout_seconds : int | None = None ,
392395 input_guardrails : list [InputGuardrail ] | None = None ,
393396 output_guardrails : list [OutputGuardrail ] | None = None ,
394397 max_turns : int | None = None ,
398+ previous_response_id : str | None = None ,
395399 ) -> SerializableRunResultStreaming | RunResultStreaming :
396400 """
397401 Run an agent with streaming enabled and automatic TaskMessage creation.
@@ -418,6 +422,7 @@ async def run_agent_streamed_auto_send(
418422 tool_use_behavior: Optional tool use behavior.
419423 mcp_timeout_seconds: Optional param to set the timeout threshold for the MCP servers. Defaults to 5 seconds.
420424 max_turns: Maximum number of turns the agent can take. Uses Runner's default if None.
425+ previous_response_id: Optional previous response ID for conversation continuity.
421426
422427 Returns:
423428 Union[SerializableRunResultStreaming, RunResultStreaming]: SerializableRunResultStreaming when in Temporal, RunResultStreaming otherwise.
@@ -441,7 +446,7 @@ async def run_agent_streamed_auto_send(
441446 mcp_timeout_seconds = mcp_timeout_seconds ,
442447 input_guardrails = input_guardrails ,
443448 output_guardrails = output_guardrails ,
444- max_turns = max_turns
449+ max_turns = max_turns ,
445450 )
446451 return await ActivityHelpers .execute_activity (
447452 activity_name = OpenAIActivityName .RUN_AGENT_STREAMED_AUTO_SEND ,
@@ -471,4 +476,5 @@ async def run_agent_streamed_auto_send(
471476 input_guardrails = input_guardrails ,
472477 output_guardrails = output_guardrails ,
473478 max_turns = max_turns ,
479+ previous_response_id = previous_response_id ,
474480 )
0 commit comments