mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
8 agents + 4 models + 4 configs + CLI dry-run + 3 docs. Tested on agency/real_estate/clinic/saas — all pass. Safety: LinkedIn scraping PROHIBITED, WhatsApp blast PROHIBITED. https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
36 lines
1.6 KiB
Python
36 lines
1.6 KiB
Python
from dealix_gtm_os.agents.base_agent import BaseAgent
|
|
from dealix_gtm_os.agents.company_research_agent import CompanyResearchAgent
|
|
from dealix_gtm_os.agents.scoring_agent import ScoringAgent
|
|
from dealix_gtm_os.agents.channel_strategy_agent import ChannelStrategyAgent
|
|
from dealix_gtm_os.agents.compliance_agent import ComplianceAgent
|
|
from dealix_gtm_os.agents.message_generation_agent import MessageGenerationAgent
|
|
|
|
class SupervisorAgent(BaseAgent):
|
|
name = "supervisor"
|
|
description = "Orchestrates all GTM agents into a complete pipeline"
|
|
|
|
def __init__(self):
|
|
self.research = CompanyResearchAgent()
|
|
self.scoring = ScoringAgent()
|
|
self.channel = ChannelStrategyAgent()
|
|
self.compliance = ComplianceAgent()
|
|
self.message = MessageGenerationAgent()
|
|
|
|
async def run(self, input_data: dict) -> dict:
|
|
intel = await self.research.run(input_data)
|
|
score = await self.scoring.run({**input_data, **intel})
|
|
channel_plan = await self.channel.run(intel)
|
|
compliance = await self.compliance.run({"channel": channel_plan["primary_channel"], "action": "send_message"})
|
|
msg_input = {**intel, "channel": channel_plan["primary_channel"]}
|
|
message = await self.message.run(msg_input)
|
|
return {
|
|
"company": input_data.get("name", "Unknown"),
|
|
"intelligence": intel,
|
|
"score": score,
|
|
"channel_plan": channel_plan,
|
|
"compliance": compliance,
|
|
"message": message,
|
|
"next_action": "send" if compliance["allowed"] else "manual_review",
|
|
"approval_required": message.get("approval_required", True),
|
|
}
|