restore agent.system.tool.call_sub.py dynamic loader

Alessandro committed Mar 30, 2026 at 22:10 UTC f4fd91260d2a2b32675225f17ffba3669010e867
1 file changed +34
prompts/agent.system.tool.call_sub.py new
+34
@@ -0,0 +1,34 @@
1 +import json
2 +from typing import Any, TYPE_CHECKING
3 +from helpers.files import VariablesPlugin
4 +from helpers import files, projects, subagents
5 +from helpers.print_style import PrintStyle
6 +
7 +if TYPE_CHECKING:
8 + from agent import Agent
9 +
10 +
11 +class CallSubordinate(VariablesPlugin):
12 + def get_variables(
13 + self, file: str, backup_dirs: list[str] | None = None, **kwargs
14 + ) -> dict[str, Any]:
15 +
16 + # current agent instance
17 + agent: Agent | None = kwargs.get("_agent", None)
18 + # current project
19 + project = projects.get_context_project_name(agent.context) if agent else None
20 + # available agents in project (or global)
21 + agents = subagents.get_available_agents_dict(project)
22 +
23 + if agents:
24 + profiles = {}
25 + for name, subagent in agents.items():
26 + profiles[name] = {
27 + "title": subagent.title,
28 + "description": subagent.description,
29 + "context": subagent.context,
30 + }
31 + return {"agent_profiles": profiles}
32 + else:
33 + return {"agent_profiles": None}
34 +