Add run-scoped skill and prompt asset management
This commit is contained in:
@@ -226,6 +226,44 @@ class TradingPipeline:
|
||||
"settlement_result": settlement_result,
|
||||
}
|
||||
|
||||
def reload_runtime_assets(self) -> Dict[str, Any]:
|
||||
"""Reload prompt assets, bootstrap config, and active skills for all agents."""
|
||||
from backend.agents.skills_manager import SkillsManager
|
||||
from backend.agents.toolkit_factory import load_agent_profiles
|
||||
|
||||
config_name = getattr(self.pm, "config", {}).get("config_name", "default")
|
||||
skills_manager = SkillsManager()
|
||||
profiles = load_agent_profiles()
|
||||
active_skill_map = skills_manager.prepare_active_skills(
|
||||
config_name=config_name,
|
||||
agent_defaults={
|
||||
agent_id: profile.get("skills", [])
|
||||
for agent_id, profile in profiles.items()
|
||||
},
|
||||
)
|
||||
|
||||
for analyst in self.analysts:
|
||||
analyst.reload_runtime_assets(
|
||||
active_skill_dirs=active_skill_map.get(analyst.name, []),
|
||||
)
|
||||
|
||||
self.risk_manager.reload_runtime_assets(
|
||||
active_skill_dirs=active_skill_map.get("risk_manager", []),
|
||||
)
|
||||
self.pm.reload_runtime_assets(
|
||||
active_skill_dirs=active_skill_map.get("portfolio_manager", []),
|
||||
)
|
||||
|
||||
return {
|
||||
"config_name": config_name,
|
||||
"reloaded_agents": [agent.name for agent in self.analysts]
|
||||
+ ["risk_manager", "portfolio_manager"],
|
||||
"active_skills": {
|
||||
agent_id: [path.name for path in paths]
|
||||
for agent_id, paths in active_skill_map.items()
|
||||
},
|
||||
}
|
||||
|
||||
async def _clear_all_agent_memory(self):
|
||||
"""Clear short-term memory for all agents"""
|
||||
for analyst in self.analysts:
|
||||
|
||||
Reference in New Issue
Block a user