@@ -123,7 +123,9 @@ def _merge_message_content(left: Any, right: Any) -> str | list[dict[str, Any]]:
123123 def _to_blocks (value : Any ) -> list [dict [str , Any ]]:
124124 if isinstance (value , list ):
125125 return [
126- item if isinstance (item , dict ) else {"type" : "text" , "text" : str (item )}
126+ item
127+ if isinstance (item , dict )
128+ else {"type" : "text" , "text" : str (item )}
127129 for item in value
128130 ]
129131 if value is None :
@@ -213,7 +215,11 @@ async def _drain_injections(self, spec: AgentRunSpec) -> list[dict[str, Any]]:
213215 return []
214216 injected_messages : list [dict [str , Any ]] = []
215217 for item in items :
216- if isinstance (item , dict ) and item .get ("role" ) == "user" and "content" in item :
218+ if (
219+ isinstance (item , dict )
220+ and item .get ("role" ) == "user"
221+ and "content" in item
222+ ):
217223 injected_messages .append (item )
218224 continue
219225 text = getattr (item , "content" , str (item ))
@@ -248,12 +254,18 @@ async def run(self, spec: AgentRunSpec) -> AgentRunResult:
248254 for iteration in range (spec .max_iterations ):
249255 try :
250256 messages_for_model = self ._drop_orphan_tool_results (messages )
251- messages_for_model = self ._backfill_missing_tool_results (messages_for_model )
257+ messages_for_model = self ._backfill_missing_tool_results (
258+ messages_for_model
259+ )
252260 messages_for_model = self ._microcompact (messages_for_model )
253- messages_for_model = self ._apply_tool_result_budget (spec , messages_for_model )
261+ messages_for_model = self ._apply_tool_result_budget (
262+ spec , messages_for_model
263+ )
254264 messages_for_model = self ._snip_history (spec , messages_for_model )
255265 messages_for_model = self ._drop_orphan_tool_results (messages_for_model )
256- messages_for_model = self ._backfill_missing_tool_results (messages_for_model )
266+ messages_for_model = self ._backfill_missing_tool_results (
267+ messages_for_model
268+ )
257269 except Exception as exc :
258270 logger .warning (
259271 "Context governance failed on turn {} for {}: {}; applying minimal repair" ,
@@ -263,12 +275,16 @@ async def run(self, spec: AgentRunSpec) -> AgentRunResult:
263275 )
264276 try :
265277 messages_for_model = self ._drop_orphan_tool_results (messages )
266- messages_for_model = self ._backfill_missing_tool_results (messages_for_model )
278+ messages_for_model = self ._backfill_missing_tool_results (
279+ messages_for_model
280+ )
267281 except Exception :
268282 messages_for_model = messages
269283 context = AgentHookContext (iteration = iteration , messages = messages )
270284 await hook .before_iteration (context )
271- response = await self ._request_model (spec , messages_for_model , hook , context )
285+ response = await self ._request_model (
286+ spec , messages_for_model , hook , context
287+ )
272288 raw_usage = self ._usage_dict (response .usage )
273289 context .response = response
274290 context .usage = dict (raw_usage )
@@ -335,7 +351,10 @@ async def run(self, spec: AgentRunSpec) -> AgentRunResult:
335351 context .error = error
336352 context .stop_reason = stop_reason
337353 await hook .after_iteration (context )
338- should_continue , injection_cycles = await self ._try_drain_injections (
354+ (
355+ should_continue ,
356+ injection_cycles ,
357+ ) = await self ._try_drain_injections (
339358 spec ,
340359 messages ,
341360 None ,
@@ -401,7 +420,9 @@ async def run(self, spec: AgentRunSpec) -> AgentRunResult:
401420 )
402421 if hook .wants_streaming ():
403422 await hook .on_stream_end (context , resuming = False )
404- response = await self ._request_finalization_retry (spec , messages_for_model )
423+ response = await self ._request_finalization_retry (
424+ spec , messages_for_model
425+ )
405426 retry_usage = self ._usage_dict (response .usage )
406427 self ._accumulate_usage (usage , retry_usage )
407428 raw_usage = self ._merge_usage (raw_usage , retry_usage )
@@ -529,7 +550,10 @@ async def run(self, spec: AgentRunSpec) -> AgentRunResult:
529550 template = spec .max_iterations_message or _DEFAULT_MAX_ITERATIONS_MESSAGE
530551 final_content = template .format (max_iterations = spec .max_iterations )
531552 self ._append_final_message (messages , final_content )
532- drained_after_max_iterations , injection_cycles = await self ._try_drain_injections (
553+ (
554+ drained_after_max_iterations ,
555+ injection_cycles ,
556+ ) = await self ._try_drain_injections (
533557 spec ,
534558 messages ,
535559 None ,
@@ -775,7 +799,9 @@ async def _emit_checkpoint(
775799 await callback (payload )
776800
777801 @staticmethod
778- def _append_final_message (messages : list [dict [str , Any ]], content : str | None ) -> None :
802+ def _append_final_message (
803+ messages : list [dict [str , Any ]], content : str | None
804+ ) -> None :
779805 if not content :
780806 return
781807 if (
@@ -873,7 +899,9 @@ def _backfill_missing_tool_results(
873899 if tid :
874900 fulfilled .add (str (tid ))
875901
876- missing = [(ai , cid , name ) for ai , cid , name in declared if cid not in fulfilled ]
902+ missing = [
903+ (ai , cid , name ) for ai , cid , name in declared if cid not in fulfilled
904+ ]
877905 if not missing :
878906 return messages
879907
@@ -905,7 +933,9 @@ def _microcompact(messages: list[dict[str, Any]]) -> list[dict[str, Any]]:
905933 if len (compactable_indices ) <= _MICROCOMPACT_KEEP_RECENT :
906934 return messages
907935
908- stale = compactable_indices [: len (compactable_indices ) - _MICROCOMPACT_KEEP_RECENT ]
936+ stale = compactable_indices [
937+ : len (compactable_indices ) - _MICROCOMPACT_KEEP_RECENT
938+ ]
909939 updated : list [dict [str , Any ]] | None = None
910940 for idx in stale :
911941 msg = messages [idx ]
@@ -949,7 +979,9 @@ def _snip_history(
949979 if not messages or not spec .context_window_tokens :
950980 return messages
951981
952- provider_max_tokens = getattr (getattr (self .provider , "generation" , None ), "max_tokens" , 4096 )
982+ provider_max_tokens = getattr (
983+ getattr (self .provider , "generation" , None ), "max_tokens" , 4096
984+ )
953985 max_output = (
954986 spec .max_tokens
955987 if isinstance (spec .max_tokens , int )
0 commit comments