Initial commit: prospecting agent loop MVP
Closed-loop account-intelligence system: harvest -> relevance filter vs. Capability Library -> synthesize -> score -> deliver -> feedback. - 40-capability Broadcom + VMware library - Live Exa.ai news connector with hard free-plan request ceilings - Provider-agnostic LLM layer (Gemini/Anthropic) with offline mock fallback - LLM confidence wired into composite scoring + low-confidence floor - 7-account pilot list Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
21
sales-agent/src/connectors/__init__.py
Normal file
21
sales-agent/src/connectors/__init__.py
Normal file
@@ -0,0 +1,21 @@
|
||||
"""Source connectors. v1 reads placeholder fixtures; swap for real APIs later.
|
||||
|
||||
Production mapping (from the design):
|
||||
linkedin -> Proxycurl + Apify
|
||||
news -> Exa.ai + NewsAPI
|
||||
jobs -> JSearch (RapidAPI) / Adzuna
|
||||
crm -> Salesforce / HubSpot REST
|
||||
sec -> SEC EDGAR
|
||||
"""
|
||||
import json
|
||||
from functools import lru_cache
|
||||
from .. import config
|
||||
|
||||
|
||||
@lru_cache(maxsize=1)
|
||||
def _fixtures() -> dict:
|
||||
return json.loads((config.DATA_DIR / "fixtures.json").read_text())
|
||||
|
||||
|
||||
def account_fixture(account_id: str) -> dict:
|
||||
return _fixtures().get(account_id, {})
|
||||
Reference in New Issue
Block a user