mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-25 08:26:22 +02:00
48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
from src.utils.common import common_logger
|
|
logger = common_logger
|
|
|
|
def get_external_tools(tool_configs):
|
|
logger.debug("Getting external tools")
|
|
tools = [tool["name"] for tool in tool_configs]
|
|
logger.debug(f"Found {len(tools)} external tools")
|
|
return tools
|
|
|
|
def get_agent_by_name(agent_name, agents):
|
|
agent = next((a for a in agents if getattr(a, "name", None) == agent_name), None)
|
|
if not agent:
|
|
logger.error(f"Agent with name {agent_name} not found")
|
|
raise ValueError(f"Agent with name {agent_name} not found")
|
|
return agent
|
|
|
|
def get_agent_config_by_name(agent_name, agent_configs):
|
|
agent_config = next((ac for ac in agent_configs if ac.get("name") == agent_name), None)
|
|
if not agent_config:
|
|
logger.error(f"Agent config with name {agent_name} not found")
|
|
raise ValueError(f"Agent config with name {agent_name} not found")
|
|
return agent_config
|
|
|
|
def pop_agent_config_by_type(agent_configs, agent_type):
|
|
agent_config = next((ac for ac in agent_configs if ac.get("type") == agent_type), None)
|
|
if agent_config:
|
|
agent_configs.remove(agent_config)
|
|
return agent_config, agent_configs
|
|
|
|
def get_agent_by_type(agents, agent_type):
|
|
return next((a for a in agents if a.type == agent_type), None)
|
|
|
|
def get_prompt_by_type(prompt_configs, prompt_type):
|
|
return next((pc.get("prompt") for pc in prompt_configs if pc.get("type") == prompt_type), None)
|
|
|
|
def get_agent_data_by_name(agent_name, agent_data):
|
|
for data in agent_data:
|
|
name = data.get("name", "")
|
|
if name == agent_name:
|
|
return data
|
|
|
|
return None
|
|
|
|
def get_tool_config_by_name(tool_configs, tool_name):
|
|
return next((tc for tc in tool_configs if tc.get("name", "") == tool_name), None)
|
|
|
|
def get_tool_config_by_type(tool_configs, tool_type):
|
|
return next((tc for tc in tool_configs if tc.get("type", "") == tool_type), None)
|