system-prompts-and-models-o.../salesflow-saas/backend/dealix_gtm_os/agents/supervisor_agent.py
Claude 20277e0afc
feat: Dealix GTM Intelligence OS — multi-agent system
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
2026-04-26 17:16:52 +00:00

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),
}