SYMBOL INDEX (64 symbols across 6 files) FILE: src/gmail_crew_ai/crew.py class GmailCrewAi (line 16) | class GmailCrewAi(): method fetch_emails (line 22) | def fetch_emails(self, inputs: Dict[str, Any]) -> Dict[str, Any]: method categorizer (line 69) | def categorizer(self) -> Agent: method organizer (line 78) | def organizer(self) -> Agent: method response_generator (line 87) | def response_generator(self) -> Agent: method notifier (line 96) | def notifier(self) -> Agent: method cleaner (line 105) | def cleaner(self) -> Agent: method categorization_task (line 114) | def categorization_task(self) -> Task: method organization_task (line 122) | def organization_task(self) -> Task: method response_task (line 130) | def response_task(self) -> Task: method notification_task (line 138) | def notification_task(self) -> Task: method cleanup_task (line 146) | def cleanup_task(self) -> Task: method crew (line 154) | def crew(self) -> Crew: method _debug_callback (line 163) | def _debug_callback(self, event_type, payload): method _validate_categorization_output (line 193) | def _validate_categorization_output(self, output): FILE: src/gmail_crew_ai/main.py function run (line 17) | def run(): FILE: src/gmail_crew_ai/models.py class EmailDetails (line 5) | class EmailDetails(BaseModel): method from_email_tuple (line 19) | def from_email_tuple(cls, email_tuple): class CategorizedEmail (line 49) | class CategorizedEmail(BaseModel): class OrganizedEmail (line 62) | class OrganizedEmail(BaseModel): class EmailResponse (line 70) | class EmailResponse(BaseModel): class SlackNotification (line 79) | class SlackNotification(BaseModel): class EmailCleanupInfo (line 93) | class EmailCleanupInfo(BaseModel): class SimpleCategorizedEmail (line 102) | class SimpleCategorizedEmail(BaseModel): method from_email_tuple (line 115) | def from_email_tuple(cls, email_tuple): FILE: src/gmail_crew_ai/tools/date_tools.py class DateCalculationSchema (line 7) | class DateCalculationSchema(BaseModel): class DateCalculationTool (line 13) | class DateCalculationTool(BaseTool): method _run (line 19) | def _run(self, email_date: str, reference_date: Optional[str] = None) ... FILE: src/gmail_crew_ai/tools/gmail_tools.py function decode_header_safe (line 16) | def decode_header_safe(header): function clean_email_body (line 38) | def clean_email_body(email_body: str) -> str: class GmailToolBase (line 53) | class GmailToolBase(BaseTool): class Config (line 56) | class Config: method __init__ (line 62) | def __init__(self, description: str = ""): method _connect (line 70) | def _connect(self): method _disconnect (line 82) | def _disconnect(self, mail): method _get_thread_messages (line 91) | def _get_thread_messages(self, mail: imaplib.IMAP4_SSL, msg) -> List[s... method _extract_body (line 117) | def _extract_body(self, msg) -> str: class GetUnreadEmailsSchema (line 141) | class GetUnreadEmailsSchema(BaseModel): class GetUnreadEmailsTool (line 149) | class GetUnreadEmailsTool(GmailToolBase): method _run (line 155) | def _run(self, limit: Optional[int] = 5) -> List[Tuple[str, str, str, ... method _parse_email_date (line 235) | def _parse_email_date(self, date_str: str) -> str: class SaveDraftSchema (line 257) | class SaveDraftSchema(BaseModel): class SaveDraftTool (line 264) | class SaveDraftTool(BaseTool): method _format_body (line 270) | def _format_body(self, body: str) -> str: method _connect (line 281) | def _connect(self): method _disconnect (line 296) | def _disconnect(self, mail): method _check_drafts_folder (line 303) | def _check_drafts_folder(self, mail): method _verify_draft_saved (line 316) | def _verify_draft_saved(self, mail, subject, recipient): method _run (line 354) | def _run(self, subject: str, body: str, recipient: str, thread_info: O... class GmailOrganizeSchema (line 449) | class GmailOrganizeSchema(BaseModel): class GmailOrganizeTool (line 457) | class GmailOrganizeTool(GmailToolBase): method _run (line 463) | def _run(self, email_id: str, category: str, priority: str, should_sta... class GmailDeleteSchema (line 507) | class GmailDeleteSchema(BaseModel): class GmailDeleteTool (line 512) | class GmailDeleteTool(BaseTool): method _run (line 517) | def _run(self, email_id: str, reason: str) -> str: class EmptyTrashTool (line 558) | class EmptyTrashTool(BaseTool): method _connect (line 563) | def _connect(self): method _disconnect (line 578) | def _disconnect(self, mail): method _run (line 585) | def _run(self) -> str: FILE: src/gmail_crew_ai/tools/slack_tool.py class SlackNotificationSchema (line 8) | class SlackNotificationSchema(BaseModel): class SlackNotificationTool (line 20) | class SlackNotificationTool(BaseTool): class Config (line 26) | class Config: method __init__ (line 29) | def __init__(self): method _run (line 35) | def _run(self, subject: str, sender: str, category: str,