@wirecat/cli-memo 0.40.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/doctor/command.d.ts +1 -1
- package/dist/effects.d.ts.map +1 -1
- package/dist/effects.js +1 -0
- package/dist/effects.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +8 -4
- package/dist/examples.js.map +1 -1
- package/dist/mail/apply.d.ts +7 -0
- package/dist/mail/apply.d.ts.map +1 -1
- package/dist/mail/apply.js +27 -4
- package/dist/mail/apply.js.map +1 -1
- package/dist/mail/bulk.d.ts +8 -0
- package/dist/mail/bulk.d.ts.map +1 -0
- package/dist/mail/bulk.js +4 -0
- package/dist/mail/bulk.js.map +1 -0
- package/dist/mail/command.d.ts.map +1 -1
- package/dist/mail/command.js +123 -44
- package/dist/mail/command.js.map +1 -1
- package/dist/mail/facts.d.ts +10 -0
- package/dist/mail/facts.d.ts.map +1 -0
- package/dist/mail/facts.js +23 -0
- package/dist/mail/facts.js.map +1 -0
- package/dist/mail/filters.d.ts +11 -0
- package/dist/mail/filters.d.ts.map +1 -0
- package/dist/mail/filters.js +150 -0
- package/dist/mail/filters.js.map +1 -0
- package/dist/mail/headers.d.ts +3 -1
- package/dist/mail/headers.d.ts.map +1 -1
- package/dist/mail/headers.js +2 -1
- package/dist/mail/headers.js.map +1 -1
- package/dist/mail/import.d.ts +5 -0
- package/dist/mail/import.d.ts.map +1 -1
- package/dist/mail/import.js +25 -4
- package/dist/mail/import.js.map +1 -1
- package/dist/mail/parse.d.ts +3 -0
- package/dist/mail/parse.d.ts.map +1 -1
- package/dist/mail/parse.js +7 -2
- package/dist/mail/parse.js.map +1 -1
- package/dist/mail/presets.d.ts +31 -0
- package/dist/mail/presets.d.ts.map +1 -0
- package/dist/mail/presets.js +96 -0
- package/dist/mail/presets.js.map +1 -0
- package/dist/mail/probe.d.ts +13 -0
- package/dist/mail/probe.d.ts.map +1 -1
- package/dist/mail/probe.js +17 -1
- package/dist/mail/probe.js.map +1 -1
- package/dist/mail/repair.d.ts +7 -0
- package/dist/mail/repair.d.ts.map +1 -0
- package/dist/mail/repair.js +45 -0
- package/dist/mail/repair.js.map +1 -0
- package/dist/mail/rule-query.d.ts +15 -0
- package/dist/mail/rule-query.d.ts.map +1 -0
- package/dist/mail/rule-query.js +101 -0
- package/dist/mail/rule-query.js.map +1 -0
- package/dist/mail/rule-store.d.ts +3 -5
- package/dist/mail/rule-store.d.ts.map +1 -1
- package/dist/mail/rule-store.js +47 -17
- package/dist/mail/rule-store.js.map +1 -1
- package/dist/mail/rule-tags.d.ts +41 -0
- package/dist/mail/rule-tags.d.ts.map +1 -0
- package/dist/mail/rule-tags.js +88 -0
- package/dist/mail/rule-tags.js.map +1 -0
- package/dist/mail/rules.d.ts +51 -6
- package/dist/mail/rules.d.ts.map +1 -1
- package/dist/mail/rules.js +86 -22
- package/dist/mail/rules.js.map +1 -1
- package/dist/mail/score.d.ts +2 -0
- package/dist/mail/score.d.ts.map +1 -1
- package/dist/mail/score.js +11 -1
- package/dist/mail/score.js.map +1 -1
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +6 -0
- package/dist/reasons.js.map +1 -1
- package/dist/run/import.d.ts.map +1 -1
- package/dist/run/import.js +4 -0
- package/dist/run/import.js.map +1 -1
- package/dist/search/command.d.ts.map +1 -1
- package/dist/search/command.js +12 -3
- package/dist/search/command.js.map +1 -1
- package/dist/store/source-target.js +1 -1
- package/dist/store/source-target.js.map +1 -1
- package/dist/tags/command.js +1 -1
- package/dist/tags/command.js.map +1 -1
- package/dist/tasks/command.js +4 -4
- package/dist/tasks/command.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/skills/cli-memo/SKILL.md +8 -2
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AccountKey, MessageStore } from "@wirecat/cli-core/store";
|
|
2
|
+
import type { MailRule } from "./rules.js";
|
|
3
|
+
type MessageRef = {
|
|
4
|
+
type: "message";
|
|
5
|
+
chatId: string;
|
|
6
|
+
messageId: string;
|
|
7
|
+
};
|
|
8
|
+
export interface TagOutcome {
|
|
9
|
+
/** A rule's tag the store refused as too close to an existing label, put on mail as that label instead. */
|
|
10
|
+
reused: {
|
|
11
|
+
tag: string;
|
|
12
|
+
as: string;
|
|
13
|
+
}[];
|
|
14
|
+
/** A rule's tag the store refused with nothing to reuse: the mail is stored, untagged. */
|
|
15
|
+
skipped: {
|
|
16
|
+
tag: string;
|
|
17
|
+
reason: string;
|
|
18
|
+
emails: number;
|
|
19
|
+
}[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Tags mail for confirmed rules. A label the store refuses never fails the import: the label it points to is
|
|
23
|
+
* reused, and a tag with nothing to reuse is skipped and counted.
|
|
24
|
+
*/
|
|
25
|
+
export declare const ruleTagger: (store: MessageStore, key: AccountKey) => {
|
|
26
|
+
tag: (ref: MessageRef, tags: readonly string[]) => Promise<void>;
|
|
27
|
+
outcome: () => TagOutcome;
|
|
28
|
+
};
|
|
29
|
+
/** Writes what a run learned back into the rules, so the next run tags with the reused label and skips the rest. */
|
|
30
|
+
export declare const settleRuleTags: (store: MessageStore, accountId: number, rules: readonly MailRule[], outcome: TagOutcome) => Promise<void>;
|
|
31
|
+
/** Proposed tags matched to labels that already exist, before any is created: `reuse` exact, `similar` closest. */
|
|
32
|
+
export declare const mapProposedTags: (store: MessageStore, rules: readonly MailRule[]) => Promise<{
|
|
33
|
+
rules: MailRule[];
|
|
34
|
+
mapping: {
|
|
35
|
+
tag: string;
|
|
36
|
+
as: string;
|
|
37
|
+
why: "reuse" | "similar";
|
|
38
|
+
}[];
|
|
39
|
+
}>;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=rule-tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-tags.d.ts","sourceRoot":"","sources":["../../src/mail/rule-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB,2GAA2G;IAC3G,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACrC,0FAA0F;IAC1F,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC3D;AAYD;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,YAAY,OAAO,UAAU;IA4B3D,GAAG,QAAc,UAAU,QAAQ,SAAS,MAAM,EAAE;IAGpD,OAAO,QAAM,UAAU;CAK1B,CAAA;AAED,oHAAoH;AACpH,eAAO,MAAM,cAAc,UAClB,YAAY,aACR,MAAM,SACV,SAAS,QAAQ,EAAE,WACjB,UAAU,KAClB,OAAO,CAAC,IAAI,CAcd,CAAA;AAED,mHAAmH;AACnH,eAAO,MAAM,eAAe,UACnB,YAAY,SACZ,SAAS,QAAQ,EAAE,KACzB,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,EAAE,CAAA;CAAE,CAqBjG,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ruleInput } from "./rule-store.js";
|
|
2
|
+
const reuseOf = (error) => {
|
|
3
|
+
const { details } = error;
|
|
4
|
+
return details?.reason === "tag-review.required" ? details.candidates?.[0]?.name : undefined;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Tags mail for confirmed rules. A label the store refuses never fails the import: the label it points to is
|
|
8
|
+
* reused, and a tag with nothing to reuse is skipped and counted.
|
|
9
|
+
*/
|
|
10
|
+
export const ruleTagger = (store, key) => {
|
|
11
|
+
const resolved = new Map();
|
|
12
|
+
const reasons = new Map();
|
|
13
|
+
const skippedEmails = new Map();
|
|
14
|
+
const add = async (ref, tag) => {
|
|
15
|
+
const known = resolved.get(tag);
|
|
16
|
+
if (known === null) {
|
|
17
|
+
skippedEmails.set(tag, (skippedEmails.get(tag) ?? 0) + 1);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const name = known ?? tag;
|
|
21
|
+
try {
|
|
22
|
+
await store.addTags(key, ref, [name]);
|
|
23
|
+
if (known === undefined)
|
|
24
|
+
resolved.set(tag, name);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const reuse = known === undefined ? reuseOf(error) : undefined;
|
|
28
|
+
if (reuse !== undefined) {
|
|
29
|
+
resolved.set(tag, reuse);
|
|
30
|
+
return add(ref, tag);
|
|
31
|
+
}
|
|
32
|
+
resolved.set(tag, null);
|
|
33
|
+
reasons.set(tag, error.message ?? String(error));
|
|
34
|
+
skippedEmails.set(tag, (skippedEmails.get(tag) ?? 0) + 1);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
tag: async (ref, tags) => {
|
|
39
|
+
for (const tag of tags)
|
|
40
|
+
await add(ref, tag);
|
|
41
|
+
},
|
|
42
|
+
outcome: () => ({
|
|
43
|
+
reused: [...resolved].flatMap(([tag, as]) => (as !== null && as !== tag ? [{ tag, as }] : [])),
|
|
44
|
+
skipped: [...reasons].map(([tag, reason]) => ({ tag, reason, emails: skippedEmails.get(tag) ?? 0 })),
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
/** Writes what a run learned back into the rules, so the next run tags with the reused label and skips the rest. */
|
|
49
|
+
export const settleRuleTags = async (store, accountId, rules, outcome) => {
|
|
50
|
+
if (outcome.reused.length === 0 && outcome.skipped.length === 0)
|
|
51
|
+
return;
|
|
52
|
+
const as = new Map(outcome.reused.map(({ tag, as }) => [tag, as]));
|
|
53
|
+
const skipped = new Map(outcome.skipped.map(({ tag, reason }) => [tag, reason]));
|
|
54
|
+
for (const rule of rules) {
|
|
55
|
+
if (rule.id === undefined || !rule.tags?.some((tag) => as.has(tag) || skipped.has(tag)))
|
|
56
|
+
continue;
|
|
57
|
+
const tags = [...new Set(rule.tags.filter((tag) => !skipped.has(tag)).map((tag) => as.get(tag) ?? tag))];
|
|
58
|
+
const tagsSkipped = { ...rule.tags_skipped };
|
|
59
|
+
for (const tag of rule.tags) {
|
|
60
|
+
const why = skipped.get(tag);
|
|
61
|
+
if (why !== undefined)
|
|
62
|
+
tagsSkipped[tag] = why;
|
|
63
|
+
}
|
|
64
|
+
await store.mail.rules.upsert(accountId, ruleInput({ ...rule, tags, tags_skipped: tagsSkipped }), Date.now());
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/** Proposed tags matched to labels that already exist, before any is created: `reuse` exact, `similar` closest. */
|
|
68
|
+
export const mapProposedTags = async (store, rules) => {
|
|
69
|
+
const mapping = [];
|
|
70
|
+
for (const tag of new Set(rules.flatMap(({ tags }) => tags ?? []))) {
|
|
71
|
+
const plan = await store.knowledge.tagPreflight(tag).catch(() => undefined);
|
|
72
|
+
const as = plan?.disposition === "reuse"
|
|
73
|
+
? plan.existing?.name
|
|
74
|
+
: plan?.disposition === "review"
|
|
75
|
+
? plan.suggestions[0]?.entry.name
|
|
76
|
+
: undefined;
|
|
77
|
+
if (as !== undefined && as !== tag)
|
|
78
|
+
mapping.push({ tag, as, why: plan?.disposition === "reuse" ? "reuse" : "similar" });
|
|
79
|
+
}
|
|
80
|
+
if (mapping.length === 0)
|
|
81
|
+
return { rules: [...rules], mapping };
|
|
82
|
+
const as = new Map(mapping.map(({ tag, as }) => [tag, as]));
|
|
83
|
+
return {
|
|
84
|
+
rules: rules.map((rule) => rule.tags?.length ? { ...rule, tags: [...new Set(rule.tags.map((tag) => as.get(tag) ?? tag))] } : rule),
|
|
85
|
+
mapping,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=rule-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-tags.js","sourceRoot":"","sources":["../../src/mail/rule-tags.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/rules.d.ts
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
import type { MailHeaders } from "./headers.js";
|
|
2
|
+
import { type PresetName } from "./presets.js";
|
|
3
|
+
/** All given conditions must hold; a rule with none matches nothing. */
|
|
2
4
|
export interface MailRuleMatch {
|
|
3
5
|
from?: string;
|
|
6
|
+
/** A word the sender's address or display name contains, any case: Gmail's `from:smith`. */
|
|
7
|
+
from_contains?: string;
|
|
4
8
|
domain?: string;
|
|
9
|
+
/** One recipient address in To or Cc. */
|
|
10
|
+
to?: string;
|
|
5
11
|
list_id?: string;
|
|
12
|
+
/** Words that must all appear in the subject, any case. */
|
|
13
|
+
subject?: string;
|
|
14
|
+
older_than_days?: number;
|
|
15
|
+
larger_than_bytes?: number;
|
|
16
|
+
/** Sent as `multipart/mixed`, the way mail with attachments is. */
|
|
17
|
+
has_attachments?: boolean;
|
|
18
|
+
/** A Gmail label, by its plain name: `Promotions`, `Inbox`, or one the owner made. */
|
|
19
|
+
label?: string;
|
|
20
|
+
unread?: boolean;
|
|
21
|
+
/** List-Id, List-Unsubscribe or `Precedence: bulk`. */
|
|
22
|
+
bulk?: boolean;
|
|
23
|
+
/** The sender's score (memo mail probe) is at least this. */
|
|
24
|
+
score_at_least?: number;
|
|
25
|
+
/** A built-in kind of mail, see presets.ts. */
|
|
26
|
+
preset?: PresetName;
|
|
6
27
|
}
|
|
7
28
|
export type MailAction = "skip" | "envelope" | "keep";
|
|
8
29
|
export interface MailRule {
|
|
@@ -11,18 +32,42 @@ export interface MailRule {
|
|
|
11
32
|
match: MailRuleMatch;
|
|
12
33
|
/** skip: never read or stored · envelope: stored without its text, so it can be counted and cleaned later. */
|
|
13
34
|
action: MailAction;
|
|
35
|
+
/** memo tags put on every email the rule matches, with any action. */
|
|
36
|
+
tags?: string[];
|
|
37
|
+
/** Tags the store refused with no label to reuse, and why; the mail is stored untagged. */
|
|
38
|
+
tags_skipped?: Record<string, string>;
|
|
14
39
|
reason?: string;
|
|
15
|
-
/**
|
|
40
|
+
/** Stored in full, and no cleanup may cut, archive or trash it, whatever other rules or presets say. */
|
|
16
41
|
protected?: boolean;
|
|
42
|
+
/** owner, preset:<name>, probe or gmail-filter. */
|
|
43
|
+
source?: string;
|
|
17
44
|
decided_at: string;
|
|
18
45
|
}
|
|
19
|
-
/**
|
|
20
|
-
export
|
|
46
|
+
/** What is known of one email when a rule decides it: its headers at list time, and what the listing says. */
|
|
47
|
+
export interface MailFacts {
|
|
48
|
+
headers?: MailHeaders;
|
|
49
|
+
receivedAt?: string;
|
|
50
|
+
size?: number;
|
|
51
|
+
labels?: string[];
|
|
52
|
+
seen?: boolean;
|
|
53
|
+
/** The sender group's score, when a rule asks for one. */
|
|
54
|
+
score?: number;
|
|
55
|
+
/** The owner wrote to this sender. */
|
|
56
|
+
replied?: boolean;
|
|
57
|
+
}
|
|
58
|
+
/** Unknown facts never match: a rule about size skips an email whose size the listing did not give. */
|
|
59
|
+
export declare const matches: (match: MailRuleMatch, facts: MailFacts, now?: number) => boolean;
|
|
21
60
|
/**
|
|
22
|
-
* The rule that decides an email
|
|
23
|
-
*
|
|
61
|
+
* The rule that decides an email. A protected rule wins over everything and keeps the mail whole; then keep wins
|
|
62
|
+
* over envelope, envelope over skip, so a keep for one sender overrides a skip of its domain and mail both record
|
|
63
|
+
* and drop rules match is recorded, since a record can be cleaned later. An explicit rule wins over a preset.
|
|
24
64
|
*/
|
|
25
|
-
export declare const decide: (rules: readonly MailRule[],
|
|
65
|
+
export declare const decide: (rules: readonly MailRule[], facts: MailFacts | undefined) => MailRule | undefined;
|
|
66
|
+
/** The tags of every rule that matches, whichever rule decides the action. */
|
|
67
|
+
export declare const tagsOf: (rules: readonly MailRule[], facts: MailFacts) => string[];
|
|
68
|
+
export declare const conditionKeys: (match: MailRuleMatch) => (keyof MailRuleMatch)[];
|
|
69
|
+
/** A short, stable name of a match: `domain shop.example`, or `subject invoice, larger_than_bytes 1000`. */
|
|
70
|
+
export declare const describeMatch: (match: MailRuleMatch) => string;
|
|
26
71
|
/** Where the store keeps the emails one envelope rule recorded: a mailbox of its own, per rule. */
|
|
27
72
|
export declare const envelopeBox: (match: MailRuleMatch) => {
|
|
28
73
|
externalId: string;
|
package/dist/mail/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/mail/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/mail/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,cAAc,CAAA;AAE7D,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAErD,MAAM,WAAW,QAAQ;IACvB,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,aAAa,CAAA;IACpB,8GAA8G;IAC9G,MAAM,EAAE,UAAU,CAAA;IAClB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wGAAwG;IACxG,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,8GAA8G;AAC9G,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAgBD,uGAAuG;AACvG,eAAO,MAAM,OAAO,UAAW,aAAa,SAAS,SAAS,mBAAqB,OA0ClF,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,MAAM,UAAW,SAAS,QAAQ,EAAE,SAAS,SAAS,GAAG,SAAS,KAAG,QAAQ,GAAG,SAK5F,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,MAAM,UAAW,SAAS,QAAQ,EAAE,SAAS,SAAS,KAAG,MAAM,EAI3E,CAAA;AAKD,eAAO,MAAM,aAAa,UAAW,aAAa,4BACgD,CAAA;AAElG,4GAA4G;AAC5G,eAAO,MAAM,aAAa,UAAW,aAAa,KAAG,MAGtC,CAAA;AAEf,mGAAmG;AACnG,eAAO,MAAM,WAAW,UAAW,aAAa;;;;CAW/C,CAAA;AAED,eAAO,MAAM,QAAQ,aAAa,CAAA;AAUlC,eAAO,MAAM,SAAS,MAAO,aAAa,KAAK,aAAa,KAAG,OAA0C,CAAA;AAEzG,eAAO,MAAM,aAAa,eAAgB,MAAM;;;;CAG/C,CAAA"}
|
package/dist/mail/rules.js
CHANGED
|
@@ -1,33 +1,95 @@
|
|
|
1
|
+
import { presetMatches } from "./presets.js";
|
|
2
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
1
3
|
const domainOf = (address) => address.slice(address.lastIndexOf("@") + 1);
|
|
2
4
|
/** A domain also matches its subdomains: bulk mail often comes from `mail.` or `news.` of the same domain. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (from === undefined && domain === undefined && listId === undefined)
|
|
5
|
+
const domainMatches = (wanted, sender) => {
|
|
6
|
+
if (sender === undefined)
|
|
6
7
|
return false;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const host = domainOf(sender);
|
|
9
|
+
const domain = wanted.toLowerCase();
|
|
10
|
+
return host === domain || host.endsWith(`.${domain}`);
|
|
11
|
+
};
|
|
12
|
+
const words = (text) => text.toLowerCase().split(/\s+/).filter(Boolean);
|
|
13
|
+
/** Unknown facts never match: a rule about size skips an email whose size the listing did not give. */
|
|
14
|
+
export const matches = (match, facts, now = Date.now()) => {
|
|
15
|
+
const conditions = Object.entries(match).filter(([, value]) => value !== undefined);
|
|
16
|
+
if (conditions.length === 0)
|
|
17
|
+
return false;
|
|
18
|
+
const { headers } = facts;
|
|
19
|
+
return conditions.every(([key, value]) => {
|
|
20
|
+
switch (key) {
|
|
21
|
+
case "from":
|
|
22
|
+
return headers?.from === String(value).toLowerCase();
|
|
23
|
+
case "from_contains": {
|
|
24
|
+
const word = String(value).toLowerCase();
|
|
25
|
+
return [headers?.from, headers?.fromName?.toLowerCase()].some((part) => part?.includes(word) ?? false);
|
|
26
|
+
}
|
|
27
|
+
case "domain":
|
|
28
|
+
return domainMatches(String(value), headers?.from);
|
|
29
|
+
case "to":
|
|
30
|
+
return headers?.to.includes(String(value).toLowerCase()) ?? false;
|
|
31
|
+
case "list_id":
|
|
32
|
+
return headers?.listId === String(value).toLowerCase();
|
|
33
|
+
case "subject": {
|
|
34
|
+
const subject = headers?.subject?.toLowerCase();
|
|
35
|
+
return subject !== undefined && words(String(value)).every((word) => subject.includes(word));
|
|
36
|
+
}
|
|
37
|
+
case "older_than_days":
|
|
38
|
+
return facts.receivedAt !== undefined && now - Date.parse(facts.receivedAt) > Number(value) * DAY_MS;
|
|
39
|
+
case "larger_than_bytes":
|
|
40
|
+
return facts.size !== undefined && facts.size > Number(value);
|
|
41
|
+
case "has_attachments":
|
|
42
|
+
return headers !== undefined && (headers.attachments === true) === value;
|
|
43
|
+
case "label":
|
|
44
|
+
return facts.labels?.some((label) => label.toLowerCase() === String(value).toLowerCase()) ?? false;
|
|
45
|
+
case "unread":
|
|
46
|
+
return facts.seen !== undefined && !facts.seen === value;
|
|
47
|
+
case "bulk":
|
|
48
|
+
return headers !== undefined && headers.bulk === value;
|
|
49
|
+
case "score_at_least":
|
|
50
|
+
return facts.score !== undefined && facts.score >= Number(value);
|
|
51
|
+
case "preset":
|
|
52
|
+
return presetMatches(value, facts);
|
|
53
|
+
default:
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
13
57
|
};
|
|
14
58
|
const RANK = { keep: 0, envelope: 1, skip: 2 };
|
|
59
|
+
const strength = (rule) => (rule.protected ? 0 : 10) + RANK[rule.action] + (rule.source?.startsWith("preset:") ? 5 : 0);
|
|
15
60
|
/**
|
|
16
|
-
* The rule that decides an email
|
|
17
|
-
*
|
|
61
|
+
* The rule that decides an email. A protected rule wins over everything and keeps the mail whole; then keep wins
|
|
62
|
+
* over envelope, envelope over skip, so a keep for one sender overrides a skip of its domain and mail both record
|
|
63
|
+
* and drop rules match is recorded, since a record can be cleaned later. An explicit rule wins over a preset.
|
|
18
64
|
*/
|
|
19
|
-
export const decide = (rules,
|
|
20
|
-
if (headers === undefined)
|
|
65
|
+
export const decide = (rules, facts) => {
|
|
66
|
+
if (facts?.headers === undefined)
|
|
21
67
|
return undefined;
|
|
22
|
-
|
|
68
|
+
const now = Date.now();
|
|
69
|
+
const hit = rules.filter((rule) => matches(rule.match, facts, now)).sort((a, b) => strength(a) - strength(b))[0];
|
|
70
|
+
return hit?.protected ? { ...hit, action: "keep" } : hit;
|
|
71
|
+
};
|
|
72
|
+
/** The tags of every rule that matches, whichever rule decides the action. */
|
|
73
|
+
export const tagsOf = (rules, facts) => {
|
|
74
|
+
if (facts.headers === undefined)
|
|
75
|
+
return [];
|
|
76
|
+
const now = Date.now();
|
|
77
|
+
return [...new Set(rules.flatMap((rule) => (rule.tags?.length && matches(rule.match, facts, now) ? rule.tags : [])))];
|
|
23
78
|
};
|
|
79
|
+
/** The only conditions an envelope mailbox can be named by: one sender, domain or list. */
|
|
80
|
+
const SINGLE = ["from", "domain", "list_id"];
|
|
81
|
+
export const conditionKeys = (match) => Object.keys(match).filter((key) => match[key] !== undefined).sort();
|
|
82
|
+
/** A short, stable name of a match: `domain shop.example`, or `subject invoice, larger_than_bytes 1000`. */
|
|
83
|
+
export const describeMatch = (match) => conditionKeys(match)
|
|
84
|
+
.map((key) => `${key === "list_id" ? "list-id" : key.replace(/_/g, "-")} ${String(match[key])}`)
|
|
85
|
+
.join(", ");
|
|
24
86
|
/** Where the store keeps the emails one envelope rule recorded: a mailbox of its own, per rule. */
|
|
25
87
|
export const envelopeBox = (match) => {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
88
|
+
const keys = conditionKeys(match);
|
|
89
|
+
const single = keys.length === 1 && SINGLE.includes(keys[0]);
|
|
90
|
+
const [kind, value] = single
|
|
91
|
+
? [keys[0] === "list_id" ? "list-id" : String(keys[0]), String(match[keys[0]])]
|
|
92
|
+
: ["rule", describeMatch(match)];
|
|
31
93
|
return {
|
|
32
94
|
externalId: `memo:envelope:${kind}:${value.toLowerCase()}`,
|
|
33
95
|
name: `envelope: ${kind} ${value}`,
|
|
@@ -35,9 +97,11 @@ export const envelopeBox = (match) => {
|
|
|
35
97
|
};
|
|
36
98
|
};
|
|
37
99
|
export const ENVELOPE = "envelope";
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
100
|
+
const normalized = (match) => JSON.stringify(conditionKeys(match).map((key) => {
|
|
101
|
+
const value = match[key];
|
|
102
|
+
return [key, typeof value === "string" ? value.toLowerCase() : value];
|
|
103
|
+
}));
|
|
104
|
+
export const sameMatch = (a, b) => normalized(a) === normalized(b);
|
|
41
105
|
export const envelopeBoxOf = (externalId) => {
|
|
42
106
|
const [, , kind, ...value] = externalId.split(":");
|
|
43
107
|
return { externalId, name: `envelope: ${kind} ${value.join(":")}`, kind: ENVELOPE };
|
package/dist/mail/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/mail/rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/mail/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/score.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export declare const WEIGHTS: {
|
|
|
9
9
|
readonly brand_spoof: 3;
|
|
10
10
|
readonly young_domain: 3;
|
|
11
11
|
readonly reply_to_elsewhere: 2;
|
|
12
|
+
readonly never_opened: 2;
|
|
13
|
+
readonly dkim_not_passed: 2;
|
|
12
14
|
readonly disposable_domain: 2;
|
|
13
15
|
readonly bulk_never_replied: 1;
|
|
14
16
|
readonly replied: -5;
|
package/dist/mail/score.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO;aAClB,WAAW,EAAE,CAAC;aACd,UAAU,EAAE,CAAC;aACb,WAAW,EAAE,CAAC;aACd,YAAY,EAAE,CAAC;aACf,kBAAkB,EAAE,CAAC;aACrB,iBAAiB,EAAE,CAAC;aACpB,kBAAkB,EAAE,CAAC;aACrB,OAAO,EAAE,CAAC,CAAC;CACH,CAAA;AAEV,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,OAAO,CAAA;AAEzC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO;aAClB,WAAW,EAAE,CAAC;aACd,UAAU,EAAE,CAAC;aACb,WAAW,EAAE,CAAC;aACd,YAAY,EAAE,CAAC;aACf,kBAAkB,EAAE,CAAC;aACrB,YAAY,EAAE,CAAC;aACf,eAAe,EAAE,CAAC;aAClB,iBAAiB,EAAE,CAAC;aACpB,kBAAkB,EAAE,CAAC;aACrB,OAAO,EAAE,CAAC,CAAC;CACH,CAAA;AAEV,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,OAAO,CAAA;AAEzC,eAAO,MAAM,UAAU,QAI4B,CAAA;AAEnD,iGAAiG;AACjG,eAAO,MAAM,UAAU,MAAM,CAAA;AAE7B,iHAAiH;AACjH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,2FAA2F;AAC3F,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAG/C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,aAwBpB,CAAA;AAuBF,yFAAyF;AACzF,eAAO,MAAM,YAAY,SAAU,MAAM,GAAG,SAAS,WAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAM7F,CAAA;AAID,qEAAqE;AACrE,eAAO,MAAM,OAAO,QAAS,SAAS,GAAG,SAAS,MAAM,MAAM,KAAG,OAC6B,CAAA;AAE9F,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAKD;;;GAGG;AACH,eAAO,MAAM,UAAU,UACd,MAAM,EAAE,WACN;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAAE,KAChF,MA2BF,CAAA"}
|
package/dist/mail/score.js
CHANGED
|
@@ -10,13 +10,16 @@ export const WEIGHTS = {
|
|
|
10
10
|
brand_spoof: 3,
|
|
11
11
|
young_domain: 3,
|
|
12
12
|
reply_to_elsewhere: 2,
|
|
13
|
+
never_opened: 2,
|
|
14
|
+
dkim_not_passed: 2,
|
|
13
15
|
disposable_domain: 2,
|
|
14
16
|
bulk_never_replied: 1,
|
|
15
17
|
replied: -5,
|
|
16
18
|
};
|
|
17
19
|
export const SCORE_RULE = "score adds: in Gmail's Spam +4, Gmail's DMARC check failed +3, a brand in the display name sent from another " +
|
|
18
20
|
"domain +3, the domain under 180 days old when the mail came +3 (only with looked-up ages), Reply-To on another " +
|
|
19
|
-
"domain +2,
|
|
21
|
+
"domain +2, none of its mail ever opened +2, Gmail's DKIM check not passed +2, a throwaway-mail domain +2, bulk mail " +
|
|
22
|
+
"never replied to +1, replied to by the owner -5";
|
|
20
23
|
/** A domain registered too recently to trust: under this many days old when the mail arrived. */
|
|
21
24
|
export const YOUNG_DAYS = 180;
|
|
22
25
|
/** The part of a host a person registers: `mail.news.example.co.uk` is `example.co.uk`. */
|
|
@@ -107,6 +110,13 @@ export const scoreGroup = (items, context) => {
|
|
|
107
110
|
return from !== undefined && replyTo !== undefined && registrableOf(replyTo) !== registrableOf(from);
|
|
108
111
|
}))
|
|
109
112
|
signals.push("reply_to_elsewhere");
|
|
113
|
+
const known = items.filter((item) => item.seen !== undefined);
|
|
114
|
+
if (known.length && known.every((item) => !item.seen))
|
|
115
|
+
signals.push("never_opened");
|
|
116
|
+
// Gmail's stamp without a dkim= verdict means the mail carried no signature: that counts as not passed.
|
|
117
|
+
const stamped = items.filter((item) => item.headers?.auth !== undefined);
|
|
118
|
+
if (stamped.length && most(stamped, (item) => item.headers?.auth?.dkim !== "pass"))
|
|
119
|
+
signals.push("dkim_not_passed");
|
|
110
120
|
if (domain !== undefined && isDisposableEmailDomain(domain))
|
|
111
121
|
signals.push("disposable_domain");
|
|
112
122
|
if (context.bulk >= 0.8 && !context.replied)
|
package/dist/mail/score.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC;CACH,CAAA;AAIV,MAAM,CAAC,MAAM,UAAU,GACrB,+GAA+G;IAC/G,iHAAiH;IACjH,
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"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"}
|
package/dist/reasons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasons.d.ts","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE7E,mGAAmG;AACnG,eAAO,MAAM,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"reasons.d.ts","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE7E,mGAAmG;AACnG,eAAO,MAAM,OAAO,EAAE,WAAW,EAuE/B,CAAA"}
|
package/dist/reasons.js
CHANGED
|
@@ -33,6 +33,12 @@ export const REASONS = defineReasons([
|
|
|
33
33
|
message: "the rules file is not one memo mail rules export wrote",
|
|
34
34
|
details: [],
|
|
35
35
|
},
|
|
36
|
+
{
|
|
37
|
+
reason: "mail.filters-file-invalid",
|
|
38
|
+
code: "validation_error",
|
|
39
|
+
message: "the file is not a list of Gmail filters",
|
|
40
|
+
details: [],
|
|
41
|
+
},
|
|
36
42
|
{
|
|
37
43
|
reason: "mail.source-failed",
|
|
38
44
|
code: "provider_error",
|
package/dist/reasons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasons.js","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAA;AAE7E,mGAAmG;AACnG,MAAM,CAAC,MAAM,OAAO,GAAkB,aAAa,CAAC;IAClD;QACE,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,sEAAsE;QAC/E,OAAO,EAAE,CAAC,KAAK,CAAC;KACjB;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,gGAAgG;QACzG,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChH;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,CAAC,SAAS,CAAC;KACrB;IACD,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mCAAmC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/G;QACE,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC;KAChD;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,6EAA6E;QACtF,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,gDAAgD;QACzD,OAAO,EAAE,EAAE;KACZ;IACD,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/G;QACE,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,iEAAiE;QAC1E,OAAO,EAAE,EAAE;KACZ;IACD,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE;CACtG,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"reasons.js","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAA;AAE7E,mGAAmG;AACnG,MAAM,CAAC,MAAM,OAAO,GAAkB,aAAa,CAAC;IAClD;QACE,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,sEAAsE;QAC/E,OAAO,EAAE,CAAC,KAAK,CAAC;KACjB;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,gGAAgG;QACzG,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChH;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,CAAC,SAAS,CAAC;KACrB;IACD,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mCAAmC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/G;QACE,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC;KAChD;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,6EAA6E;QACtF,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,gDAAgD;QACzD,OAAO,EAAE,EAAE;KACZ;IACD,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/G;QACE,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,iEAAiE;QAC1E,OAAO,EAAE,EAAE;KACZ;IACD,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE;CACtG,CAAC,CAAA"}
|
package/dist/run/import.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/run/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA0B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGxF,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,WAAW,CAAA;AAKtE,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/run/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA0B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGxF,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,WAAW,CAAA;AAKtE,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,mBAAmB,CAAA;AAIjE,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AA4BlE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,iEAAiE;IACjE,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,kDAAkD;IAClD,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChF,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAwED,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA0KxF,CAAA"}
|
package/dist/run/import.js
CHANGED
|
@@ -7,6 +7,7 @@ import { loadConfig } from "../config.js";
|
|
|
7
7
|
import { errorObject } from "../failure.js";
|
|
8
8
|
import { mailAccounts, mailSource } from "../mail/accounts.js";
|
|
9
9
|
import { importMail } from "../mail/import.js";
|
|
10
|
+
import { repairHtmlText } from "../mail/repair.js";
|
|
10
11
|
import { rulesOf } from "../mail/rule-store.js";
|
|
11
12
|
import { boundFolders, unboundReason } from "../notes/bound.js";
|
|
12
13
|
import { embedNoteChunks } from "../notes/embed.js";
|
|
@@ -160,6 +161,9 @@ export const syncCommand = (program, streams, env) => {
|
|
|
160
161
|
}
|
|
161
162
|
for (const account of accounts)
|
|
162
163
|
await attempt(`mail ${account.name}`, async () => {
|
|
164
|
+
const repaired = await repairHtmlText(store, account.address);
|
|
165
|
+
if (repaired)
|
|
166
|
+
streams.diagnostic(`mail ${account.name}: ${repaired} emails' HTML text read again as text`);
|
|
163
167
|
run.mail.push(await importMail({
|
|
164
168
|
store,
|
|
165
169
|
source: mailSource(account, env),
|
package/dist/run/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/run/import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/run/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAItE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAKjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAQ,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAItE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAKjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAQ,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAY9D,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAUD,eAAO,MAAM,aAAa,UACjB,YAAY,SACZ,MAAM,WACJ;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KACnG,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAwHA,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,cAAc,UAClB,YAAY,WACV,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KACxC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAMhD,CAAA;AAmBD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AASpC;;;GAGG;AACH,eAAO,MAAM,KAAK,SAAU,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,SAAS,KAAG,MAqBpF,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,EAAE,CAAA;IACzF,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,UACpB,YAAY,OACd,MAAM,CAAC,UAAU,0CACkB,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE,KACjF,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAqD3C,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,UAAU,UACd,YAAY,QACb,UAAU,GAAG,MAAM,6CACkB,UAAU,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,yBAwB7E,CAAA;AAeD,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SAmMvF,CAAA"}
|