{ "module": "mail_intake.models", "content": { "path": "mail_intake.models", "docstring": "Domain models for Mail Intake.\n\nThis package defines the **canonical, provider-agnostic data models**\nused throughout the Mail Intake ingestion pipeline.\n\nModels in this package:\n- Represent fully parsed and normalized mail data\n- Are safe to persist, serialize, and index\n- Contain no provider-specific payloads or API semantics\n- Serve as stable inputs for downstream processing and analysis\n\nThese models form the core internal data contract of the library.", "objects": { "MailIntakeMessage": { "name": "MailIntakeMessage", "kind": "class", "path": "mail_intake.models.MailIntakeMessage", "signature": "", "docstring": "Canonical internal representation of a single email message.\n\nThis model represents a fully parsed and normalized email message.\nIt is intentionally provider-agnostic and suitable for persistence,\nindexing, and downstream processing.\n\nNo provider-specific identifiers, payloads, or API semantics\nshould appear in this model.", "members": { "message_id": { "name": "message_id", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.message_id", "signature": "", "docstring": "Provider-specific message identifier." }, "thread_id": { "name": "thread_id", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.thread_id", "signature": "", "docstring": "Provider-specific thread identifier to which this message belongs." }, "timestamp": { "name": "timestamp", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.timestamp", "signature": "", "docstring": "Message timestamp as a timezone-naive UTC datetime." }, "from_email": { "name": "from_email", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.from_email", "signature": "", "docstring": "Sender email address." }, "from_name": { "name": "from_name", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.from_name", "signature": "", "docstring": "Optional human-readable sender name." }, "subject": { "name": "subject", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.subject", "signature": "", "docstring": "Raw subject line of the message." }, "body_text": { "name": "body_text", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.body_text", "signature": "", "docstring": "Extracted plain-text body content of the message." }, "snippet": { "name": "snippet", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.snippet", "signature": "", "docstring": "Short provider-supplied preview snippet of the message." }, "raw_headers": { "name": "raw_headers", "kind": "attribute", "path": "mail_intake.models.MailIntakeMessage.raw_headers", "signature": "", "docstring": "Normalized mapping of message headers (header name → value)." } } }, "MailIntakeThread": { "name": "MailIntakeThread", "kind": "class", "path": "mail_intake.models.MailIntakeThread", "signature": "", "docstring": "Canonical internal representation of an email thread.\n\nA thread groups multiple related messages under a single subject\nand participant set. It is designed to support reasoning over\nconversational context such as job applications, interviews,\nfollow-ups, and ongoing discussions.\n\nThis model is provider-agnostic and safe to persist.", "members": { "thread_id": { "name": "thread_id", "kind": "attribute", "path": "mail_intake.models.MailIntakeThread.thread_id", "signature": "", "docstring": "Provider-specific thread identifier." }, "normalized_subject": { "name": "normalized_subject", "kind": "attribute", "path": "mail_intake.models.MailIntakeThread.normalized_subject", "signature": "", "docstring": "Normalized subject line used to group related messages." }, "participants": { "name": "participants", "kind": "attribute", "path": "mail_intake.models.MailIntakeThread.participants", "signature": "", "docstring": "Set of unique participant email addresses observed in the thread." }, "messages": { "name": "messages", "kind": "attribute", "path": "mail_intake.models.MailIntakeThread.messages", "signature": "", "docstring": "Ordered list of messages belonging to this thread." }, "last_activity_at": { "name": "last_activity_at", "kind": "attribute", "path": "mail_intake.models.MailIntakeThread.last_activity_at", "signature": "", "docstring": "Timestamp of the most recent message in the thread." }, "add_message": { "name": "add_message", "kind": "function", "path": "mail_intake.models.MailIntakeThread.add_message", "signature": "", "docstring": "Add a message to the thread and update derived fields.\n\nThis method:\n- Appends the message to the thread\n- Tracks unique participants\n- Updates the last activity timestamp\n\nArgs:\n message: Parsed mail message to add to the thread." } } }, "message": { "name": "message", "kind": "module", "path": "mail_intake.models.message", "signature": null, "docstring": "Message domain models for Mail Intake.\n\nThis module defines the **canonical, provider-agnostic representation**\nof an individual email message as used internally by the Mail Intake\ningestion pipeline.\n\nModels in this module are safe to persist and must not contain any\nprovider-specific fields or semantics.", "members": { "dataclass": { "name": "dataclass", "kind": "alias", "path": "mail_intake.models.message.dataclass", "signature": "", "docstring": null }, "datetime": { "name": "datetime", "kind": "alias", "path": "mail_intake.models.message.datetime", "signature": "", "docstring": null }, "Optional": { "name": "Optional", "kind": "alias", "path": "mail_intake.models.message.Optional", "signature": "", "docstring": null }, "Dict": { "name": "Dict", "kind": "alias", "path": "mail_intake.models.message.Dict", "signature": "", "docstring": null }, "MailIntakeMessage": { "name": "MailIntakeMessage", "kind": "class", "path": "mail_intake.models.message.MailIntakeMessage", "signature": "", "docstring": "Canonical internal representation of a single email message.\n\nThis model represents a fully parsed and normalized email message.\nIt is intentionally provider-agnostic and suitable for persistence,\nindexing, and downstream processing.\n\nNo provider-specific identifiers, payloads, or API semantics\nshould appear in this model.", "members": { "message_id": { "name": "message_id", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.message_id", "signature": null, "docstring": "Provider-specific message identifier." }, "thread_id": { "name": "thread_id", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.thread_id", "signature": null, "docstring": "Provider-specific thread identifier to which this message belongs." }, "timestamp": { "name": "timestamp", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.timestamp", "signature": null, "docstring": "Message timestamp as a timezone-naive UTC datetime." }, "from_email": { "name": "from_email", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.from_email", "signature": null, "docstring": "Sender email address." }, "from_name": { "name": "from_name", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.from_name", "signature": null, "docstring": "Optional human-readable sender name." }, "subject": { "name": "subject", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.subject", "signature": null, "docstring": "Raw subject line of the message." }, "body_text": { "name": "body_text", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.body_text", "signature": null, "docstring": "Extracted plain-text body content of the message." }, "snippet": { "name": "snippet", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.snippet", "signature": null, "docstring": "Short provider-supplied preview snippet of the message." }, "raw_headers": { "name": "raw_headers", "kind": "attribute", "path": "mail_intake.models.message.MailIntakeMessage.raw_headers", "signature": null, "docstring": "Normalized mapping of message headers (header name → value)." } } } } }, "thread": { "name": "thread", "kind": "module", "path": "mail_intake.models.thread", "signature": null, "docstring": "Thread domain models for Mail Intake.\n\nThis module defines the **canonical, provider-agnostic representation**\nof an email thread as used internally by the Mail Intake ingestion pipeline.\n\nThreads group related messages and serve as the primary unit of reasoning\nfor higher-level correspondence workflows.", "members": { "dataclass": { "name": "dataclass", "kind": "alias", "path": "mail_intake.models.thread.dataclass", "signature": "", "docstring": null }, "field": { "name": "field", "kind": "alias", "path": "mail_intake.models.thread.field", "signature": "", "docstring": null }, "datetime": { "name": "datetime", "kind": "alias", "path": "mail_intake.models.thread.datetime", "signature": "", "docstring": null }, "List": { "name": "List", "kind": "alias", "path": "mail_intake.models.thread.List", "signature": "", "docstring": null }, "Set": { "name": "Set", "kind": "alias", "path": "mail_intake.models.thread.Set", "signature": "", "docstring": null }, "MailIntakeMessage": { "name": "MailIntakeMessage", "kind": "class", "path": "mail_intake.models.thread.MailIntakeMessage", "signature": "", "docstring": "Canonical internal representation of a single email message.\n\nThis model represents a fully parsed and normalized email message.\nIt is intentionally provider-agnostic and suitable for persistence,\nindexing, and downstream processing.\n\nNo provider-specific identifiers, payloads, or API semantics\nshould appear in this model.", "members": { "message_id": { "name": "message_id", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.message_id", "signature": "", "docstring": "Provider-specific message identifier." }, "thread_id": { "name": "thread_id", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.thread_id", "signature": "", "docstring": "Provider-specific thread identifier to which this message belongs." }, "timestamp": { "name": "timestamp", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.timestamp", "signature": "", "docstring": "Message timestamp as a timezone-naive UTC datetime." }, "from_email": { "name": "from_email", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.from_email", "signature": "", "docstring": "Sender email address." }, "from_name": { "name": "from_name", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.from_name", "signature": "", "docstring": "Optional human-readable sender name." }, "subject": { "name": "subject", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.subject", "signature": "", "docstring": "Raw subject line of the message." }, "body_text": { "name": "body_text", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.body_text", "signature": "", "docstring": "Extracted plain-text body content of the message." }, "snippet": { "name": "snippet", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.snippet", "signature": "", "docstring": "Short provider-supplied preview snippet of the message." }, "raw_headers": { "name": "raw_headers", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeMessage.raw_headers", "signature": "", "docstring": "Normalized mapping of message headers (header name → value)." } } }, "MailIntakeThread": { "name": "MailIntakeThread", "kind": "class", "path": "mail_intake.models.thread.MailIntakeThread", "signature": "", "docstring": "Canonical internal representation of an email thread.\n\nA thread groups multiple related messages under a single subject\nand participant set. It is designed to support reasoning over\nconversational context such as job applications, interviews,\nfollow-ups, and ongoing discussions.\n\nThis model is provider-agnostic and safe to persist.", "members": { "thread_id": { "name": "thread_id", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeThread.thread_id", "signature": null, "docstring": "Provider-specific thread identifier." }, "normalized_subject": { "name": "normalized_subject", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeThread.normalized_subject", "signature": null, "docstring": "Normalized subject line used to group related messages." }, "participants": { "name": "participants", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeThread.participants", "signature": null, "docstring": "Set of unique participant email addresses observed in the thread." }, "messages": { "name": "messages", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeThread.messages", "signature": null, "docstring": "Ordered list of messages belonging to this thread." }, "last_activity_at": { "name": "last_activity_at", "kind": "attribute", "path": "mail_intake.models.thread.MailIntakeThread.last_activity_at", "signature": null, "docstring": "Timestamp of the most recent message in the thread." }, "add_message": { "name": "add_message", "kind": "function", "path": "mail_intake.models.thread.MailIntakeThread.add_message", "signature": "", "docstring": "Add a message to the thread and update derived fields.\n\nThis method:\n- Appends the message to the thread\n- Tracks unique participants\n- Updates the last activity timestamp\n\nArgs:\n message: Parsed mail message to add to the thread." } } }, "Optional": { "name": "Optional", "kind": "alias", "path": "mail_intake.models.thread.Optional", "signature": "", "docstring": null } } } } } }