File size: 3,269 Bytes
47b4127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
from typing import Dict, Optional

from .schemas import CompanySeedInput, SamplesResponse, VisitorSignalInput


VISITOR_SAMPLES = [
    VisitorSignalInput(
        visitor_id="001",
        ip_address="34.201.11.45",
        pages_visited=["/pricing", "/ai-sales-agent", "/case-studies"],
        time_on_site_seconds=222,
        visits_this_week=3,
        referral_source="linkedin",
        device_type="desktop",
        location_hint="Austin, TX",
        visit_timestamps=["2026-03-11T09:10:00Z", "2026-03-13T18:20:00Z", "2026-03-14T07:42:00Z"],
    ),
    VisitorSignalInput(
        visitor_id="002",
        ip_address="18.220.41.18",
        pages_visited=["/product/lead-enrichment", "/docs", "/integrations/salesforce"],
        time_on_site_seconds=310,
        visits_this_week=2,
        referral_source="google",
        device_type="laptop",
        location_hint="Boston, MA",
        visit_timestamps=["2026-03-12T14:10:00Z", "2026-03-14T04:35:00Z"],
    ),
    VisitorSignalInput(
        visitor_id="003",
        ip_address="13.89.23.11",
        pages_visited=["/blog/account-intelligence", "/case-studies", "/pricing"],
        time_on_site_seconds=164,
        visits_this_week=1,
        referral_source="newsletter",
        device_type="mobile",
        location_hint="Redmond, WA, US",
        visit_timestamps=["2026-03-14T03:05:00Z"],
    ),
]

COMPANY_LIST_SAMPLES = [
    [
        CompanySeedInput(company_name="Apollo.io"),
        CompanySeedInput(company_name="HubSpot"),
        CompanySeedInput(company_name="Notion"),
        CompanySeedInput(company_name="Rippling"),
        CompanySeedInput(company_name="Clay"),
    ],
    [
        CompanySeedInput(company_name="BrightPath Lending"),
        CompanySeedInput(company_name="Summit Realty Group"),
        CompanySeedInput(company_name="Rocket Mortgage"),
        CompanySeedInput(company_name="Redfin"),
        CompanySeedInput(company_name="Compass Real Estate"),
    ],
]

SEEDED_IP_MAPPINGS: Dict[str, Dict[str, object]] = {
    # "34.201.": {
    #     "company_name": "Apollo.io",
    #     "domain": "apollo.io",
    #     "confidence": 0.93,
    #     "reason": "Seeded hackathon visitor mapping for high-intent SaaS traffic.",
    # },
    # "18.220.": {
    #     "company_name": "HubSpot",
    #     "domain": "hubspot.com",
    #     "confidence": 0.9,
    #     "reason": "Seeded hackathon visitor mapping for marketing software traffic.",
    # },
    # "52.44.": {
    #     "company_name": "Rippling",
    #     "domain": "rippling.com",
    #     "confidence": 0.88,
    #     "reason": "Seeded hackathon visitor mapping for modern ops software traffic.",
    # },
    # "13.89.": {
    #     "company_name": "Microsoft Corporation",
    #     "domain": "microsoft.com",
    #     "confidence": 0.88,
    #     "reason": "Seeded hackathon visitor mapping for modern ops software traffic.",
    # },
}


def resolve_seeded_company(ip_address: str) -> Optional[Dict[str, object]]:
    for prefix, payload in SEEDED_IP_MAPPINGS.items():
        if ip_address.startswith(prefix):
            return payload
    return None


def get_samples() -> SamplesResponse:
    return SamplesResponse(visitor_signals=VISITOR_SAMPLES, company_lists=COMPANY_LIST_SAMPLES)