Directories
¶
| Path | Synopsis |
|---|---|
|
Package actions is the only code that changes a mailbox: the executor that applies a rule's actions, and undo.
|
Package actions is the only code that changes a mailbox: the executor that applies a rule's actions, and undo. |
|
Package api serves the HTTP API described in api/openapi.yaml.
|
Package api serves the HTTP API described in api/openapi.yaml. |
|
Package composer holds the two ways a user tries rules out before they act: the rule composer, which turns free text into validated draft rules, and the rule tester, which runs saved or draft rules over recent mail.
|
Package composer holds the two ways a user tries rules out before they act: the rule composer, which turns free text into validated draft rules, and the rule tester, which runs saved or draft rules over recent mail. |
|
Package config loads daemon settings from environment variables and flags.
|
Package config loads daemon settings from environment variables and flags. |
|
Package contacts keeps the index of addresses the user has written to, built from the Sent folder.
|
Package contacts keeps the index of addresses the user has written to, built from the Sent folder. |
|
Package crypto holds envelope encryption for mailbox credentials and password hashing.
|
Package crypto holds envelope encryption for mailbox credentials and password hashing. |
|
Package events is the in-process event hub.
|
Package events is the in-process event hub. |
|
Package learn holds what the daemon learns from its own decisions and the user's corrections: learned sender rules, and the few-shot examples the fallback model is shown.
|
Package learn holds what the daemon learns from its own decisions and the user's corrections: learned sender rules, and the few-shot examples the fallback model is shown. |
|
Package mail defines the Mailbox interface every mail provider implements, and the types and errors shared by its callers.
|
Package mail defines the Mailbox interface every mail provider implements, and the types and errors shared by its callers. |
|
imap
Package imap implements mail.Mailbox over IMAP with go-imap v2.
|
Package imap implements mail.Mailbox over IMAP with go-imap v2. |
|
imap/imaptest
Package imaptest runs go-imap's in-memory IMAP server over TLS for integration tests.
|
Package imaptest runs go-imap's in-memory IMAP server over TLS for integration tests. |
|
mailtest
Package mailtest is an in-memory mail.Mailbox for tests of the packages that sit on top of the connector.
|
Package mailtest is an in-memory mail.Mailbox for tests of the packages that sit on top of the connector. |
|
presets
Package presets holds per-provider connection defaults: host, port, TLS mode, folder-name fallbacks for servers without SPECIAL-USE, and known quirks.
|
Package presets holds per-provider connection defaults: host, port, TLS mode, folder-name fallbacks for servers without SPECIAL-USE, and known quirks. |
|
Package mailer sends email: the summary email.
|
Package mailer sends email: the summary email. |
|
mailertest
Package mailertest is an in-memory mailer.Sender for tests of the packages that send email.
|
Package mailertest is an in-memory mailer.Sender for tests of the packages that send email. |
|
Package message holds the email types shared by the IMAP connector, the rules engine and the model adapters.
|
Package message holds the email types shared by the IMAP connector, the rules engine and the model adapters. |
|
Package models puts every model provider behind two interfaces: Decider (which rule does this email match?) and Generator (free-form structured output).
|
Package models puts every model provider behind two interfaces: Decider (which rule does this email match?) and Generator (free-form structured output). |
|
anthropictest
Package anthropictest is a fake Anthropic API for tests: the Messages API, token counting and List Workspaces, answering as the test sets it up and recording what it was sent.
|
Package anthropictest is a fake Anthropic API for tests: the Messages API, token counting and List Workspaces, answering as the test sets it up and recording what it was sent. |
|
Package pipeline takes one new email from arrival to outcome: ingest (once), fetch and parse, evaluate the rules, ask the decision model when rules with an intent are in play, hand the winning rule's actions to the executor or park the email in Needs review, record it all, and learn.
|
Package pipeline takes one new email from arrival to outcome: ingest (once), fetch and parse, evaluate the rules, ask the decision model when rules with an intent are in play, hand the winning rule's actions to the executor or park the email in Needs review, record it all, and learn. |
|
Package rules holds the rule types, the condition matcher, validation, the evaluation order for one email and YAML import/export.
|
Package rules holds the rule types, the condition matcher, validation, the evaluation order for one email and YAML import/export. |
|
Package settings owns the settings a user changes while the daemon runs: the dry-run switch, the decision models and thresholds, retention, where trashed mail goes, whether the mailbox's own mail is left alone, and the model provider keys.
|
Package settings owns the settings a user changes while the daemon runs: the dry-run switch, the decision models and thresholds, retention, where trashed mail goes, whether the mailbox's own mail is left alone, and the model provider keys. |
|
Package store owns the SQLite database: opening it, migrating it and, later, the repositories.
|
Package store owns the SQLite database: opening it, migrating it and, later, the repositories. |
|
Package summary is the summary email: a daily or weekly email of what MailRules sorted per rule, what it trashed and what waits in Needs review, with links into the web app.
|
Package summary is the summary email: a daily or weekly email of what MailRules sorted per rule, what it trashed and what waits in Needs review, with links into the web app. |
|
Package telemetry sets up logging (and, later, metrics).
|
Package telemetry sets up logging (and, later, metrics). |
|
Package web serves the browser UI that is built into the binary.
|
Package web serves the browser UI that is built into the binary. |
|
Package worker runs one supervisor per mail account: it connects, watches the account's folder and feeds each arrival to the pipeline, strictly in UID order.
|
Package worker runs one supervisor per mail account: it connects, watches the account's folder and feeds each arrival to the pipeline, strictly in UID order. |
Click to show internal directories.
Click to hide internal directories.