@@ -241,7 +241,7 @@ async def reset(
241241 self .tool_result_overflow_dir = tool_result_overflow_dir
242242 self .read_tool = read_tool
243243 self ._tool_result_token_counter = EstimateTokenCounter ()
244- self .request_context_manager_config = ContextConfig (
244+ self .context_config = ContextConfig (
245245 # <=0 disables token-based guarding.
246246 max_context_tokens = provider .provider_config .get ("max_context_tokens" , 0 ),
247247 # Enforce max turns before token-based guarding.
@@ -253,9 +253,7 @@ async def reset(
253253 custom_token_counter = self .custom_token_counter ,
254254 custom_compressor = self .custom_compressor ,
255255 )
256- self .request_context_manager = ContextManager (
257- self .request_context_manager_config
258- )
256+ self .context_manager = ContextManager (self .context_config )
259257
260258 self .provider = provider
261259 self .fallback_providers : list [Provider ] = []
@@ -458,11 +456,8 @@ async def _iter_llm_responses(
458456 self , * , include_model : bool = True
459457 ) -> T .AsyncGenerator [LLMResponse , None ]:
460458 """Yields chunks *and* a final LLMResponse."""
461- messages_for_provider = getattr (
462- self , "_provider_messages" , self .run_context .messages
463- )
464459 payload = {
465- "contexts" : self ._sanitize_contexts_for_provider (messages_for_provider ),
460+ "contexts" : self ._sanitize_contexts_for_provider (self . run_context . messages ),
466461 "func_tool" : self ._func_tool_for_provider (),
467462 "session_id" : self .req .session_id ,
468463 "extra_user_content_parts" : self .req .extra_user_content_parts , # list[ContentPart]
@@ -583,7 +578,8 @@ def _sanitize_contexts_for_provider(
583578 self ,
584579 contexts : list [Message ] | list [dict [str , T .Any ]],
585580 ) -> list [Message ] | list [dict [str , T .Any ]]:
586- if not self ._should_fix_modalities_for_provider ():
581+ modalities = self .provider .provider_config .get ("modalities" , None )
582+ if not modalities : # Unconfigured (None or empty list) defaults to support all modalities
587583 return contexts
588584 sanitized_contexts , stats = sanitize_contexts_by_modalities (
589585 contexts ,
@@ -592,12 +588,6 @@ def _sanitize_contexts_for_provider(
592588 log_context_sanitize_stats (stats )
593589 return sanitized_contexts
594590
595- def _should_fix_modalities_for_provider (self ) -> bool :
596- modalities = self .provider .provider_config .get ("modalities" , None )
597- return (
598- isinstance (modalities , list ) and modalities
599- ) # Empty list is treated as unconfigured
600-
601591 def _func_tool_for_provider (self ) -> ToolSet | None :
602592 if not self .req .func_tool :
603593 return None
@@ -714,7 +704,7 @@ async def step(self):
714704 # memory layer.
715705 token_usage = self .req .conversation .token_usage if self .req .conversation else 0
716706 self ._simple_print_message_role ("[BefCompact]" )
717- self ._provider_messages = await self .request_context_manager .process (
707+ self .run_context . messages = await self .context_manager .process (
718708 self .run_context .messages , trusted_token_usage = token_usage
719709 )
720710 self ._simple_print_message_role ("[AftCompact]" )
0 commit comments