Tool calling added.
This commit is contained in:
@@ -296,10 +296,52 @@ AGENT_CONFIGS: dict[str, dict] = {
|
||||
"temperature": adef["temperature"],
|
||||
"max_tokens": adef["max_tokens"],
|
||||
"stateful": adef["stateful"],
|
||||
"tools": list(adef.get("tools") or []),
|
||||
}
|
||||
for name, adef in _agents.items()
|
||||
}
|
||||
|
||||
|
||||
def agent_tools(agent: str) -> list[str]:
|
||||
"""List of tool names assigned to an agent (empty list if none)."""
|
||||
return AGENT_CONFIGS.get(agent, {}).get("tools", [])
|
||||
|
||||
|
||||
def reload_agents_config() -> None:
|
||||
"""
|
||||
Re-read agents.yaml and refresh all derived module-level values.
|
||||
Call after upsert_agent_definition() to pick up changes in the running session.
|
||||
"""
|
||||
global _agents_cfg, _providers, _agents
|
||||
global AGENT_CONFIGS, LEAD_AGENT_NAMES, ACTIVE_PROVIDER
|
||||
global ORCHESTRATOR_AGENT, AUDITOR_AGENT, RECRUITER_AGENT
|
||||
global _roles, _SYSTEM_AGENTS
|
||||
|
||||
with open(_AGENTS_CONFIG_PATH, encoding="utf-8") as fh:
|
||||
_agents_cfg = yaml.safe_load(fh)
|
||||
|
||||
_providers = _agents_cfg.get("providers", {})
|
||||
_agents = _agents_cfg.get("agents", {})
|
||||
|
||||
AGENT_CONFIGS = {
|
||||
name: {
|
||||
"prompt_file": adef["prompt_file"],
|
||||
"temperature": adef["temperature"],
|
||||
"max_tokens": adef["max_tokens"],
|
||||
"stateful": adef["stateful"],
|
||||
"tools": list(adef.get("tools") or []),
|
||||
}
|
||||
for name, adef in _agents.items()
|
||||
}
|
||||
|
||||
_roles = _agents_cfg.get("roles", {})
|
||||
ORCHESTRATOR_AGENT = _roles.get("orchestrator", "")
|
||||
AUDITOR_AGENT = _roles.get("auditor", "")
|
||||
RECRUITER_AGENT = _roles.get("recruiter", "")
|
||||
_SYSTEM_AGENTS = {ORCHESTRATOR_AGENT, AUDITOR_AGENT, RECRUITER_AGENT} - {""}
|
||||
LEAD_AGENT_NAMES = {name for name in _agents if name not in _SYSTEM_AGENTS}
|
||||
ACTIVE_PROVIDER = _agents_cfg.get("default_provider", "none")
|
||||
|
||||
# Agents the orchestrator can dispatch work to.
|
||||
# Everything in agents.yaml that is not a system-role agent.
|
||||
LEAD_AGENT_NAMES: set[str] = {
|
||||
|
||||
Reference in New Issue
Block a user