CoolFace
Apppublic

luli331/oppy_google

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes
tools.py36 linesDownload Raw Back to backend
1from backend.mock_data import MOCK_EMAILS, MOCK_EVENTS, MOCK_SEARCH2 3 4def read_emails(project_id: str) -> str:5    """Read recent emails for a project. Returns sender, subject, body, and days since last reply."""6    emails = MOCK_EMAILS.get(project_id, [])7    if not emails:8        return f"No emails found for project {project_id}."9    lines = []10    for e in emails:11        silence = f"{e['days_since_reply']} days ago" if e["days_since_reply"] is not None else "N/A (newsletter)"12        lines.append(13            f"From: {e['from']}\n"14            f"Subject: {e['subject']}\n"15            f"Body: {e['body']}\n"16            f"Last reply: {silence}"17        )18    return "\n---\n".join(lines)19 20 21def get_events(project_id: str) -> str:22    """Get upcoming calendar events for a project. Shows title, time, and whether a prep block exists."""23    events = MOCK_EVENTS.get(project_id, [])24    if not events:25        return f"No upcoming events for project {project_id}."26    lines = []27    for ev in events:28        prep = "YES" if ev["prep_block"] else "NO"29        lines.append(f"{ev['title']} at {ev['time']} (prep block: {prep})")30    return "\n".join(lines)31 32 33def search_web(project_id: str) -> str:34    """Search for recent external signals relevant to a project (news, funding, announcements)."""35    return MOCK_SEARCH.get(project_id, "No relevant external signals found.")36