system-prompts-and-models-o.../salesflow-saas/backend/dealix_gtm_os/agents/partnership_strategist_agent.py
Claude 18a0d95e3e
feat: Full Company OS — 9 new agents + scoring engine + compliance engine + evals
New agents: partnership_strategist, negotiation (10 objections), crm_revenue (16 statuses),
learning, web_search, enrichment, campaign_orchestrator, competitor_intelligence, content_strategy

New engines:
- scoring/scoring_engine.py: unified scoring with 9 sector defaults
- compliance/compliance_engine.py: channel policy + daily limits + stop words

Evals: 10/10 PASS (100%)
- Agency → email + agency_partner 
- Real estate → email + direct_customer 
- Clinic → whatsapp_warm 
- Ecommerce → email 
- Website agency → linkedin_manual + implementation_partner 
- Consulting → linkedin_manual + referral_partner 
- All: compliance=allowed, opt-out present, no prohibited actions

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-26 17:20:36 +00:00

26 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from dealix_gtm_os.agents.base_agent import BaseAgent
from dealix_gtm_os.models.opportunity import OpportunityType
PARTNERSHIP_MAP = {
"agency": [OpportunityType.AGENCY_PARTNER, OpportunityType.CO_SELLING_PARTNER, OpportunityType.REFERRAL_PARTNER],
"website_agency": [OpportunityType.IMPLEMENTATION_PARTNER, OpportunityType.AGENCY_PARTNER],
"consulting": [OpportunityType.REFERRAL_PARTNER, OpportunityType.IMPLEMENTATION_PARTNER],
"saas": [OpportunityType.INTEGRATION_PARTNER, OpportunityType.DIRECT_CUSTOMER],
}
class PartnershipStrategistAgent(BaseAgent):
name = "partnership_strategist"
description = "Classifies partnership opportunities"
async def run(self, input_data: dict) -> dict:
sector = input_data.get("sector", "").lower().replace(" ", "_")
types = PARTNERSHIP_MAP.get(sector, [OpportunityType.DIRECT_CUSTOMER])
primary = types[0] if types else OpportunityType.DIRECT_CUSTOMER
return {
"opportunity_types": [t.value for t in types],
"primary_type": primary.value,
"partner_potential": "high" if len(types) > 1 else "low",
"recommended_model": "agency_addon" if primary == OpportunityType.AGENCY_PARTNER else "pilot",
"negotiation_angle": "خدمة جديدة تبيعونها" if primary == OpportunityType.AGENCY_PARTNER else "حل لمشكلة الـleads",
}