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. |
|
docgen
command
Command docgen writes the settings reference, docs/guide/settings.md, from the settings internal/config registers, so the page cannot drift from the daemon.
|
Command docgen writes the settings reference, docs/guide/settings.md, from the settings internal/config registers, so the page cannot drift from the daemon. |
|
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. |
|
publicnet
Package publicnet keeps the hosted build's connections to mail servers on the public internet.
|
Package publicnet keeps the hosted build's connections to mail servers on the public internet. |
|
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 moved notices when the person moves an email MailRules filed out of the folder MailRules put it in, in another mail app: back to the Inbox, or to another folder.
|
Package moved notices when the person moves an email MailRules filed out of the folder MailRules put it in, in another mail app: back to the Inbox, or to another folder. |
|
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 database: opening it, migrating it and the repositories over it.
|
Package store owns the database: opening it, migrating it and the repositories over it. |
|
migrations
Package migrations holds the store's schema migrations, one set per SQL dialect, embedded into the binary and applied by goose.
|
Package migrations holds the store's schema migrations, one set per SQL dialect, embedded into the binary and applied by goose. |
|
pgtest
Package pgtest gives a test its own Postgres database, migrated to the store's current Postgres schema, with connections as the roles the hosted build runs as.
|
Package pgtest gives a test its own Postgres database, migrated to the store's current Postgres schema, with connections as the roles the hosted build runs as. |
|
querycover
command
Command querycover fails when a statement of the store was never run by the tests behind a coverage profile.
|
Command querycover fails when a statement of the store was never run by the tests behind a coverage profile. |
|
storetest
Package storetest gives tests outside the store a fresh, migrated database, so that the backend a test runs against is chosen in one place rather than in every test file: Postgres when MAILRULES_TEST_POSTGRES_DSN is set (see pgtest), SQLite otherwise.
|
Package storetest gives tests outside the store a fresh, migrated database, so that the backend a test runs against is chosen in one place rather than in every test file: Postgres when MAILRULES_TEST_POSTGRES_DSN is set (see pgtest), SQLite otherwise. |
|
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 metrics.
|
Package telemetry sets up logging and metrics. |
|
Package unsubscribe unsubscribes a person from a mailing list with the one-click web link the list's mail carries (RFC 8058): a List-Unsubscribe header that names an https URL, and a List-Unsubscribe-Post header of "List-Unsubscribe=One-Click".
|
Package unsubscribe unsubscribes a person from a mailing list with the one-click web link the list's mail carries (RFC 8058): a List-Unsubscribe header that names an https URL, and a List-Unsubscribe-Post header of "List-Unsubscribe=One-Click". |
|
unsubscribetest
Package unsubscribetest is an in-memory unsubscribe.Unsubscriber for tests of the packages that unsubscribe.
|
Package unsubscribetest is an in-memory unsubscribe.Unsubscriber for tests of the packages that unsubscribe. |
|
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.