@@ -289,18 +289,22 @@ def __init__(
289289 config_loader = AgentConfigLoader ()
290290 configured_agent = config_loader .load_agent (agent_config )
291291
292+ # There is an odd mypy type discrepancy in this file for some reason
293+ # There is a mismatch between src.strands.* and strands.*
294+ # type/ignore annotations allow type checking to pass
295+
292296 # Override config values with any explicitly provided parameters
293297 if model is not None :
294298 configured_agent .model = (
295- BedrockModel () if not model else BedrockModel (model_id = model ) if isinstance (model , str ) else model
299+ BedrockModel () if not model else BedrockModel (model_id = model ) if isinstance (model , str ) else model # type: ignore
296300 )
297301 if messages is not None :
298302 configured_agent .messages = messages
299303 if tools is not None :
300304 # Need to reinitialize tool registry with new tools
301- configured_agent .tool_registry = ToolRegistry ()
305+ configured_agent .tool_registry = ToolRegistry () # type: ignore
302306 configured_agent .tool_registry .process_tools (tools )
303- configured_agent .tool_registry .initialize_tools (load_tools_from_directory )
307+ configured_agent .tool_registry .initialize_tools (load_tools_from_directory ) # type: ignore
304308 if system_prompt is not None :
305309 configured_agent .system_prompt = system_prompt
306310 if not isinstance (callback_handler , _DefaultCallbackHandlerSentinel ):
@@ -309,7 +313,7 @@ def __init__(
309313 else :
310314 configured_agent .callback_handler = callback_handler
311315 if conversation_manager is not None :
312- configured_agent .conversation_manager = conversation_manager
316+ configured_agent .conversation_manager = conversation_manager # type: ignore
313317 if trace_attributes is not None :
314318 configured_agent .trace_attributes = {}
315319 for k , v in trace_attributes .items ():
@@ -325,17 +329,17 @@ def __init__(
325329 configured_agent .description = description
326330 if state is not None :
327331 if isinstance (state , dict ):
328- configured_agent .state = AgentState (state )
332+ configured_agent .state = AgentState (state ) # type: ignore
329333 elif isinstance (state , AgentState ):
330- configured_agent .state = state
334+ configured_agent .state = state # type: ignore
331335 else :
332336 raise ValueError ("state must be an AgentState object or a dict" )
333337 if hooks is not None :
334338 for hook in hooks :
335- configured_agent .hooks .add_hook (hook )
339+ configured_agent .hooks .add_hook (hook ) # type: ignore
336340 if session_manager is not None :
337- configured_agent ._session_manager = session_manager
338- configured_agent .hooks .add_hook (session_manager )
341+ configured_agent ._session_manager = session_manager # type: ignore
342+ configured_agent .hooks .add_hook (session_manager ) # type: ignore
339343
340344 # Override record_direct_tool_call and load_tools_from_directory only if explicitly provided
341345 if record_direct_tool_call is not None :
@@ -344,9 +348,9 @@ def __init__(
344348 configured_agent .load_tools_from_directory = load_tools_from_directory
345349 if load_tools_from_directory :
346350 if hasattr (configured_agent , "tool_watcher" ):
347- configured_agent .tool_watcher = ToolWatcher (tool_registry = configured_agent .tool_registry )
351+ configured_agent .tool_watcher = ToolWatcher (tool_registry = configured_agent .tool_registry ) # type: ignore
348352 else :
349- configured_agent .tool_watcher = ToolWatcher (tool_registry = configured_agent .tool_registry )
353+ configured_agent .tool_watcher = ToolWatcher (tool_registry = configured_agent .tool_registry ) # type: ignore
350354
351355 # Copy all attributes from configured agent to self
352356 self .__dict__ .update (configured_agent .__dict__ )
@@ -455,10 +459,10 @@ def _load_config(self, config: Union[str, Path, Dict[str, Any]]) -> Dict[str, An
455459
456460 if suffix in [".yaml" , ".yml" ]:
457461 with open (config_path , "r" , encoding = "utf-8" ) as f :
458- return yaml .safe_load (f )
462+ return dict [ str , Any ]( yaml .safe_load (f ) )
459463 elif suffix == ".json" :
460464 with open (config_path , "r" , encoding = "utf-8" ) as f :
461- return json .load (f )
465+ return dict [ str , Any ]( json .load (f ) )
462466 else :
463467 raise ValueError (f"Unsupported config file format: { suffix } . Supported formats: .yaml, .yml, .json" )
464468
0 commit comments