1919 AssistantMessage ,
2020 Model ,
2121 Provider ,
22- ThinkingLevel ,
22+ StreamOptions ,
2323 ToolCall ,
2424 ToolResultMessage ,
2525)
@@ -45,9 +45,8 @@ async def run_agent_loop(
4545 should_stop_after_turn : Callable | None = None ,
4646 get_steering_messages : Callable | None = None ,
4747 get_follow_up_messages : Callable | None = None ,
48- thinking : ThinkingLevel = "off" ,
48+ stream_options : StreamOptions | None = None ,
4949 tool_execution : str = "parallel" ,
50- signal : asyncio .Event | None = None ,
5150 system_prompt : str | None = None ,
5251) -> list [Any ]:
5352 new_messages : list [Any ] = list (prompts )
@@ -77,9 +76,8 @@ async def run_agent_loop(
7776 should_stop_after_turn = should_stop_after_turn ,
7877 get_steering_messages = get_steering_messages ,
7978 get_follow_up_messages = get_follow_up_messages ,
80- thinking = thinking ,
79+ stream_options = stream_options ,
8180 tool_execution = tool_execution ,
82- signal = signal ,
8381 emit = emit ,
8482 )
8583 return new_messages
@@ -98,9 +96,8 @@ async def run_agent_loop_continue(
9896 should_stop_after_turn : Callable | None = None ,
9997 get_steering_messages : Callable | None = None ,
10098 get_follow_up_messages : Callable | None = None ,
101- thinking : ThinkingLevel = "off" ,
99+ stream_options : StreamOptions | None = None ,
102100 tool_execution : str = "parallel" ,
103- signal : asyncio .Event | None = None ,
104101 system_prompt : str | None = None ,
105102) -> list [Any ]:
106103 if not context .messages :
@@ -130,9 +127,8 @@ async def run_agent_loop_continue(
130127 should_stop_after_turn = should_stop_after_turn ,
131128 get_steering_messages = get_steering_messages ,
132129 get_follow_up_messages = get_follow_up_messages ,
133- thinking = thinking ,
130+ stream_options = stream_options ,
134131 tool_execution = tool_execution ,
135- signal = signal ,
136132 emit = emit ,
137133 )
138134 return new_messages
@@ -151,11 +147,11 @@ async def _run_loop(
151147 should_stop_after_turn : Callable | None ,
152148 get_steering_messages : Callable | None ,
153149 get_follow_up_messages : Callable | None ,
154- thinking : ThinkingLevel ,
150+ stream_options : StreamOptions | None ,
155151 tool_execution : str ,
156- signal : asyncio .Event | None ,
157152 emit : Callable ,
158153) -> None :
154+ opts = stream_options or StreamOptions ()
159155 first_turn = True
160156
161157 while True :
@@ -173,8 +169,7 @@ async def _run_loop(
173169 model ,
174170 convert_to_llm ,
175171 transform_context ,
176- thinking ,
177- signal ,
172+ opts ,
178173 emit ,
179174 )
180175 new_messages .append (message )
@@ -195,7 +190,7 @@ async def _run_loop(
195190 tool_execution = tool_execution ,
196191 before_tool_call = before_tool_call ,
197192 after_tool_call = after_tool_call ,
198- signal = signal ,
193+ signal = opts . signal ,
199194 emit = emit ,
200195 )
201196 tool_results = batch .messages
@@ -251,13 +246,12 @@ async def _stream_assistant_response(
251246 model : Model ,
252247 convert_to_llm : Callable ,
253248 transform_context : Callable | None ,
254- thinking : ThinkingLevel ,
255- signal : asyncio .Event | None ,
249+ options : StreamOptions ,
256250 emit : Callable ,
257251) -> AssistantMessage :
258252 messages = context .messages
259253 if transform_context :
260- messages = await transform_context (messages , signal = signal )
254+ messages = await transform_context (messages , signal = options . signal )
261255
262256 llm_messages = convert_to_llm (messages )
263257 if asyncio .iscoroutine (llm_messages ):
@@ -272,8 +266,7 @@ async def _stream_assistant_response(
272266 llm_messages ,
273267 system_prompt = context .system_prompt ,
274268 tools = tools_defs ,
275- thinking = thinking ,
276- signal = signal ,
269+ options = options ,
277270 )
278271
279272 partial_message : AssistantMessage | None = None
0 commit comments