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
+