MCPcopy Create free account
hub / github.com/SkyworkAI/DeepResearchAgent / build

Method build

src/agent/context.py:394–431  ·  view source on GitHub ↗

Create an agent instance and store it. Args: agent_config: Agent configuration Returns: AgentConfig: Agent configuration with instance

(self, agent_config: AgentConfig)

Source from the content-addressed store, hash-verified

392 logger.warning(f"| ⚠️ Failed to add agent {agent_config.name} to FAISS index: {e}")
393
394 async def build(self, agent_config: AgentConfig) -> AgentConfig:
395 """Create an agent instance and store it.
396
397 Args:
398 agent_config: Agent configuration
399
400 Returns:
401 AgentConfig: Agent configuration with instance
402 """
403 if agent_config.name in self._agent_configs:
404 existing_config = self._agent_configs[agent_config.name]
405 if existing_config.instance is not None:
406 return existing_config
407
408 # Create new agent instance
409 try:
410 # cls should already be loaded (either from registry or from code in _load_from_code)
411 if agent_config.cls is None:
412 raise ValueError(f"Cannot create agent {agent_config.name}: no class provided. Class should be loaded during initialization.")
413
414 # Instantiate agent instance
415 agent_instance = agent_config.cls(**agent_config.config) if agent_config.config else agent_config.cls()
416
417 # Initialize agent if it has an initialize method
418 if hasattr(agent_instance, "initialize"):
419 await agent_instance.initialize()
420
421 agent_config.instance = agent_instance
422
423 # Store agent metadata
424 self._agent_configs[agent_config.name] = agent_config
425
426 logger.info(f"| 🔧 Agent {agent_config.name} created and stored")
427
428 return agent_config
429 except Exception as e:
430 logger.error(f"| ❌ Failed to create agent {agent_config.name}: {e}")
431 raise
432
433 async def register(
434 self,

Callers 3

initializeMethod · 0.95
load_from_jsonMethod · 0.95
restoreMethod · 0.95

Calls 3

initializeMethod · 0.45
infoMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected