Skip to content

compileConfig

compileConfig(config): CompiledRules

Defined in: src/config/compile.ts:49

object[] = ...

{ accountCategory: string; accountDomains: string[]; automatedNamePattern: string; brandNamePattern: string; personalCategory: string; personalDomains: string[]; personalProviderDomains: string[]; personalProviderPattern: string; personalReplyExclusionPattern: string; relayDomains: string[]; } = detectionSchema

string = ...

string[] = ...

string = ...

regex source, case-insensitive, matched against the from ADDRESS

string = ...

regex source, case-insensitive, matched against address + display name

string = ...

string[] = ...

the user’s own domains — anything sent from them files as personal

string[] = ...

string = ...

regex source, case-insensitive: freemail providers (needs-action heuristic)

string = ...

regex source, case-insensitive: senders excluded from the needs-reply bonus

string[] = ...

string[] = ...

exact sender addresses that must never be swept (checked twice)

{ exclusionKeywords?: object[]; highKeywords?: object[]; label: string; languages: ("en" | "de")[]; personalNeedsReplyBonus: number; threshold: number; unreadBonus: number; windowDays: number; } = needsActionSchema

object[] = ...

when present, REPLACES the language packs entirely

object[] = ...

when present, REPLACES the language packs entirely

string = ...

("en" | "de")[] = ...

built-in keyword packs to enable — English-only by default

number = ...

number = ...

number = ...

number = ...

how far back to scan

{ batchDelayMs: number; batchSize: number; maxItems?: number; progressEvery: number; stallBackoffMs: number; stallLimit: number; } = opsSchema

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

{ baseUrl?: string; type: "jmap" | "mcp"; } = ...

string = ...

override endpoints (testing / self-hosted JMAP)

"jmap" | "mcp" = ...

({ address: string; category: string; kind: "sender"; } | { category: string; domain: string; kind: "domain"; } | { category: string; kind: "name"; onlyForDomains?: string[]; pattern: string; })[] = ...

{ after?: string; targetLabel: string; textHeuristic: string; } = sweepSchema

string = ...

string = ...

string = ...

full-text heuristic identifying bulk mail

CompiledRules