@wirecat/cli-memo 0.41.0 → 0.43.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 +7 -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/json-fields.d.ts +2 -1
- package/dist/json-fields.d.ts.map +1 -1
- package/dist/json-fields.js +3 -3
- package/dist/json-fields.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/program.d.ts.map +1 -1
- package/dist/program.js +44 -1
- package/dist/program.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/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/skills/cli-memo/SKILL.md +8 -2
package/dist/mail/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/mail/import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/mail/import.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/parse.d.ts
CHANGED
|
@@ -17,6 +17,9 @@ export interface ParsedMail {
|
|
|
17
17
|
text: string;
|
|
18
18
|
}
|
|
19
19
|
export declare const MAX_BODY_CHARS = 1000000;
|
|
20
|
+
export declare const htmlToText: (html: string) => string;
|
|
21
|
+
/** Some senders put their HTML in the text/plain part; its first tag gives it away. */
|
|
22
|
+
export declare const looksLikeHtml: (text: string) => boolean;
|
|
20
23
|
/** A raw RFC 5322 message, as IMAP's `BODY[]` holds it. */
|
|
21
24
|
export declare const parseMail: (raw: Uint8Array, maxBodyChars?: number) => Promise<ParsedMail>;
|
|
22
25
|
//# sourceMappingURL=parse.d.ts.map
|
package/dist/mail/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/mail/parse.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,EAAE,EAAE,OAAO,EAAE,CAAA;IACb,EAAE,EAAE,OAAO,EAAE,CAAA;IACb,GAAG,EAAE,OAAO,EAAE,CAAA;IACd,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;IAC1F,IAAI,EAAE,MAAM,CAAA;CACb;AAGD,eAAO,MAAM,cAAc,UAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/mail/parse.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,EAAE,EAAE,OAAO,EAAE,CAAA;IACb,EAAE,EAAE,OAAO,EAAE,CAAA;IACb,GAAG,EAAE,OAAO,EAAE,CAAA;IACd,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;IAC1F,IAAI,EAAE,MAAM,CAAA;CACb;AAGD,eAAO,MAAM,cAAc,UAAY,CAAA;AA0CvC,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAO/B,CAAA;AAEX,uFAAuF;AACvF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,OACsC,CAAA;AASnF,2DAA2D;AAC3D,eAAO,MAAM,SAAS,QAAe,UAAU,4BAAkC,OAAO,CAAC,UAAU,CAuBlG,CAAA"}
|
package/dist/mail/parse.js
CHANGED
|
@@ -35,13 +35,17 @@ const stripTags = (html) => {
|
|
|
35
35
|
const end = html.lastIndexOf(">") + 1;
|
|
36
36
|
return html.slice(0, end).replace(/<[^>]+>/g, "") + html.slice(end);
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
// Comments go first: a tag inside one, like a commented-out link, would leave its text and a stray `-->` behind.
|
|
39
|
+
const dropComments = (html) => html.replace(/<!--[\s\S]*?(-->|$)/g, "");
|
|
40
|
+
export const htmlToText = (html) => stripTags(dropHidden(dropComments(html)).replace(/<br\s*\/?>|<\/(p|div|li|tr|h\d)>/gi, "\n"))
|
|
39
41
|
// One pass, so `&lt;` stays the text `<` instead of being decoded twice into `<`.
|
|
40
42
|
.replace(/&(nbsp|amp|lt|gt|quot|#39);/g, (_entity, name) => ENTITIES[name])
|
|
41
43
|
// From the start of a run only: `[ \t]+\n` alone rescans a long run of spaces from each of them.
|
|
42
44
|
.replace(/(?<![ \t])[ \t]+\n/g, "\n")
|
|
43
45
|
.replace(/\n{3,}/g, "\n\n")
|
|
44
46
|
.trim();
|
|
47
|
+
/** Some senders put their HTML in the text/plain part; its first tag gives it away. */
|
|
48
|
+
export const looksLikeHtml = (text) => /^\s*<(!doctype\s+html|html|head|body|table|div|center|meta|style)\b/i.test(text);
|
|
45
49
|
const bytesOf = (content) => typeof content === "string"
|
|
46
50
|
? new TextEncoder().encode(content)
|
|
47
51
|
: content instanceof Uint8Array
|
|
@@ -56,7 +60,8 @@ export const parseMail = async (raw, maxBodyChars = MAX_BODY_CHARS) => {
|
|
|
56
60
|
catch (error) {
|
|
57
61
|
throw new CliError("invalid_response", `unreadable email: ${error instanceof Error ? error.message : error}`);
|
|
58
62
|
}
|
|
59
|
-
const
|
|
63
|
+
const plain = email.text?.trim() ?? "";
|
|
64
|
+
const text = plain && !looksLikeHtml(plain) ? plain : htmlToText(email.html ?? plain);
|
|
60
65
|
return {
|
|
61
66
|
subject: email.subject ?? null,
|
|
62
67
|
from: addresses(email.from === undefined ? [] : [email.from])[0] ?? null,
|
package/dist/mail/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/mail/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,UAAU,EAAE,EAAiC,MAAM,aAAa,CAAA;AAiBvE,4GAA4G;AAC5G,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAA;AAEvC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAa,EAAE,CACrD,IAAI;KACD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5G,MAAM,WAAW,GAAG,mBAAmB,CAAA;AACvC,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;AACrE,MAAM,QAAQ,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AAEzG,qGAAqG;AACrG,mGAAmG;AACnG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAY,CAAC,WAAW,EAA+B,CAAA;QAC3E,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QACrD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAChC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,sHAAsH;AACtH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/mail/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,UAAU,EAAE,EAAiC,MAAM,aAAa,CAAA;AAiBvE,4GAA4G;AAC5G,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAA;AAEvC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAa,EAAE,CACrD,IAAI;KACD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5G,MAAM,WAAW,GAAG,mBAAmB,CAAA;AACvC,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;AACrE,MAAM,QAAQ,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AAEzG,qGAAqG;AACrG,mGAAmG;AACnG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAY,CAAC,WAAW,EAA+B,CAAA;QAC3E,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QACrD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAChC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,sHAAsH;AACtH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,iHAAiH;AACjH,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;AAEvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IAC3F,yFAAyF;KACxF,OAAO,CAAC,8BAA8B,EAAE,CAAC,OAAO,EAAE,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAW,CAAC;IAC7F,iGAAiG;KAChG,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC;KACpC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;KAC1B,IAAI,EAAE,CAAA;AAEX,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CACrD,sEAAsE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEnF,MAAM,OAAO,GAAG,CAAC,OAA0C,EAAc,EAAE,CACzE,OAAO,OAAO,KAAK,QAAQ;IACzB,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IACnC,CAAC,CAAC,OAAO,YAAY,UAAU;QAC7B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;AAE/B,2DAA2D;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,YAAY,GAAG,cAAc,EAAuB,EAAE;IACrG,IAAI,KAAmD,CAAA;IACvD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/G,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACtC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAA;IACrF,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;QACxE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7D,EAAE;YACF,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;KAC1D,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { MailFacts } from "./rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* Kinds of mail every mailbox gets, matched by who sends them and how, not by a list of the owner's senders. Mail
|
|
4
|
+
* from someone the owner wrote to never matches a preset, so a real conversation is never caught by one.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PRESETS: {
|
|
7
|
+
readonly social: {
|
|
8
|
+
readonly about: "notifications from social networks";
|
|
9
|
+
readonly domains: readonly ["facebookmail.com", "facebook.com", "linkedin.com", "twitter.com", "x.com", "instagram.com", "vk.com", "ok.ru", "quora.com", "redditmail.com", "pinterest.com", "tiktok.com", "meetup.com", "tumblr.com", "youtube.com"];
|
|
10
|
+
};
|
|
11
|
+
readonly newsletters: {
|
|
12
|
+
readonly about: "mailing lists with an unsubscribe link: List-Id and List-Unsubscribe, or a newsletter service";
|
|
13
|
+
readonly domains: readonly ["substack.com", "mcsv.net", "mailchimpapp.net", "sendinblue.com", "beehiiv.com", "convertkit.com"];
|
|
14
|
+
};
|
|
15
|
+
readonly developer: {
|
|
16
|
+
readonly about: "code hosting, CI, package and error-tracker notifications";
|
|
17
|
+
readonly domains: readonly ["github.com", "gitlab.com", "bitbucket.org", "atlassian.net", "circleci.com", "travis-ci.com", "rollbar.com", "sentry.io", "vercel.com", "netlify.com", "npmjs.com", "docker.com", "heroku.com", "codecov.io", "libraries.io"];
|
|
18
|
+
};
|
|
19
|
+
readonly shopping: {
|
|
20
|
+
readonly about: "shops and promotions, and what Gmail files under Promotions";
|
|
21
|
+
readonly domains: readonly ["aliexpress.com", "aliexpress.ru", "ebay.com", "ozon.ru", "wildberries.ru", "steampowered.com", "booking.com", "zalando.com", "etsy.com", "ikea.com"];
|
|
22
|
+
};
|
|
23
|
+
readonly alerts: {
|
|
24
|
+
readonly about: "monitoring and uptime alerts";
|
|
25
|
+
readonly domains: readonly ["uptimerobot.com", "pingdom.com", "statuscake.com", "pagerduty.com", "opsgenie.com", "newrelic.com", "datadoghq.com", "betteruptime.com", "healthchecks.io"];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export type PresetName = keyof typeof PRESETS;
|
|
29
|
+
export declare const PRESET_NAMES: PresetName[];
|
|
30
|
+
export declare const presetMatches: (name: PresetName, facts: MailFacts) => boolean;
|
|
31
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/mail/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C;;;GAGG;AACH,eAAO,MAAM,OAAO;aAClB,MAAM;iBACJ,KAAK,EAAE,oCAAoC;iBAC3C,OAAO,YACL,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,EACb,OAAO,EACP,eAAe,EACf,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa;;aAGjB,WAAW;iBACT,KAAK,EAAE,+FAA+F;iBACtG,OAAO,YAAG,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB;;aAE7G,SAAS;iBACP,KAAK,EAAE,2DAA2D;iBAClE,OAAO,YACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc;;aAGlB,QAAQ;iBACN,KAAK,EAAE,6DAA6D;iBACpE,OAAO,YACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU;;aAGd,MAAM;iBACJ,KAAK,EAAE,8BAA8B;iBACrC,OAAO,YACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB;;CAGb,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,eAAO,MAAM,YAAY,EAA2B,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,aAAa,SAAU,UAAU,SAAS,SAAS,KAAG,OASlE,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { registrableOf } from "./score.js";
|
|
2
|
+
/**
|
|
3
|
+
* Kinds of mail every mailbox gets, matched by who sends them and how, not by a list of the owner's senders. Mail
|
|
4
|
+
* from someone the owner wrote to never matches a preset, so a real conversation is never caught by one.
|
|
5
|
+
*/
|
|
6
|
+
export const PRESETS = {
|
|
7
|
+
social: {
|
|
8
|
+
about: "notifications from social networks",
|
|
9
|
+
domains: [
|
|
10
|
+
"facebookmail.com",
|
|
11
|
+
"facebook.com",
|
|
12
|
+
"linkedin.com",
|
|
13
|
+
"twitter.com",
|
|
14
|
+
"x.com",
|
|
15
|
+
"instagram.com",
|
|
16
|
+
"vk.com",
|
|
17
|
+
"ok.ru",
|
|
18
|
+
"quora.com",
|
|
19
|
+
"redditmail.com",
|
|
20
|
+
"pinterest.com",
|
|
21
|
+
"tiktok.com",
|
|
22
|
+
"meetup.com",
|
|
23
|
+
"tumblr.com",
|
|
24
|
+
"youtube.com",
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
newsletters: {
|
|
28
|
+
about: "mailing lists with an unsubscribe link: List-Id and List-Unsubscribe, or a newsletter service",
|
|
29
|
+
domains: ["substack.com", "mcsv.net", "mailchimpapp.net", "sendinblue.com", "beehiiv.com", "convertkit.com"],
|
|
30
|
+
},
|
|
31
|
+
developer: {
|
|
32
|
+
about: "code hosting, CI, package and error-tracker notifications",
|
|
33
|
+
domains: [
|
|
34
|
+
"github.com",
|
|
35
|
+
"gitlab.com",
|
|
36
|
+
"bitbucket.org",
|
|
37
|
+
"atlassian.net",
|
|
38
|
+
"circleci.com",
|
|
39
|
+
"travis-ci.com",
|
|
40
|
+
"rollbar.com",
|
|
41
|
+
"sentry.io",
|
|
42
|
+
"vercel.com",
|
|
43
|
+
"netlify.com",
|
|
44
|
+
"npmjs.com",
|
|
45
|
+
"docker.com",
|
|
46
|
+
"heroku.com",
|
|
47
|
+
"codecov.io",
|
|
48
|
+
"libraries.io",
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
shopping: {
|
|
52
|
+
about: "shops and promotions, and what Gmail files under Promotions",
|
|
53
|
+
domains: [
|
|
54
|
+
"aliexpress.com",
|
|
55
|
+
"aliexpress.ru",
|
|
56
|
+
"ebay.com",
|
|
57
|
+
"ozon.ru",
|
|
58
|
+
"wildberries.ru",
|
|
59
|
+
"steampowered.com",
|
|
60
|
+
"booking.com",
|
|
61
|
+
"zalando.com",
|
|
62
|
+
"etsy.com",
|
|
63
|
+
"ikea.com",
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
alerts: {
|
|
67
|
+
about: "monitoring and uptime alerts",
|
|
68
|
+
domains: [
|
|
69
|
+
"uptimerobot.com",
|
|
70
|
+
"pingdom.com",
|
|
71
|
+
"statuscake.com",
|
|
72
|
+
"pagerduty.com",
|
|
73
|
+
"opsgenie.com",
|
|
74
|
+
"newrelic.com",
|
|
75
|
+
"datadoghq.com",
|
|
76
|
+
"betteruptime.com",
|
|
77
|
+
"healthchecks.io",
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
export const PRESET_NAMES = Object.keys(PRESETS);
|
|
82
|
+
export const presetMatches = (name, facts) => {
|
|
83
|
+
const { headers } = facts;
|
|
84
|
+
const sender = headers?.from;
|
|
85
|
+
if (sender === undefined || facts.replied)
|
|
86
|
+
return false;
|
|
87
|
+
const domain = registrableOf(sender);
|
|
88
|
+
if (PRESETS[name].domains.includes(domain))
|
|
89
|
+
return true;
|
|
90
|
+
if (name === "newsletters")
|
|
91
|
+
return headers?.listId !== undefined && headers.bulk;
|
|
92
|
+
if (name === "shopping")
|
|
93
|
+
return facts.labels?.includes("Promotions") ?? false;
|
|
94
|
+
return false;
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/mail/presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE;YACP,kBAAkB;YAClB,cAAc;YACd,cAAc;YACd,aAAa;YACb,OAAO;YACP,eAAe;YACf,QAAQ;YACR,OAAO;YACP,WAAW;YACX,gBAAgB;YAChB,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,aAAa;SACd;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE,+FAA+F;QACtG,OAAO,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,CAAC;KAC7G;IACD,SAAS,EAAE;QACT,KAAK,EAAE,2DAA2D;QAClE,OAAO,EAAE;YACP,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,eAAe;YACf,cAAc;YACd,eAAe;YACf,aAAa;YACb,WAAW;YACX,YAAY;YACZ,aAAa;YACb,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,cAAc;SACf;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,6DAA6D;QACpE,OAAO,EAAE;YACP,gBAAgB;YAChB,eAAe;YACf,UAAU;YACV,SAAS;YACT,gBAAgB;YAChB,kBAAkB;YAClB,aAAa;YACb,aAAa;YACb,UAAU;YACV,UAAU;SACX;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE;YACP,iBAAiB;YACjB,aAAa;YACb,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,cAAc;YACd,eAAe;YACf,kBAAkB;YAClB,iBAAiB;SAClB;KACF;CACO,CAAA;AAIV,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAiB,CAAA;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,KAAgB,EAAW,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACzB,MAAM,MAAM,GAAG,OAAO,EAAE,IAAI,CAAA;IAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC,OAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9E,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;IAChF,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAA;IAC7E,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/dist/mail/probe.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PresetName } from "./presets.js";
|
|
1
2
|
import { type DomainAge, type Signal } from "./score.js";
|
|
2
3
|
import type { Listed } from "./source.js";
|
|
3
4
|
export declare const SUGGEST_RULE: string;
|
|
@@ -29,7 +30,19 @@ export interface Probe {
|
|
|
29
30
|
withoutHeaders: number;
|
|
30
31
|
groups: number;
|
|
31
32
|
items: ProbeGroup[];
|
|
33
|
+
/** How much mail each built-in preset would match: proposals the owner may turn into rules. */
|
|
34
|
+
presets: {
|
|
35
|
+
preset: PresetName;
|
|
36
|
+
emails: number;
|
|
37
|
+
groups: number;
|
|
38
|
+
bytes: number;
|
|
39
|
+
}[];
|
|
32
40
|
}
|
|
41
|
+
/** A list's mail is one group whoever sends it; other mail is grouped by sender. */
|
|
42
|
+
export declare const groupKey: (headers: {
|
|
43
|
+
from?: string;
|
|
44
|
+
listId?: string;
|
|
45
|
+
}) => string;
|
|
33
46
|
/** Groups mail by List-Id when it has one, else by sender address; largest groups first. */
|
|
34
47
|
export declare const probeMail: (items: Listed[], limit: number, ages?: ReadonlyMap<string, DomainAge>) => Probe;
|
|
35
48
|
/** The sender domains of the groups worth asking a registry about: not a big mailbox provider, never replied to. */
|
package/dist/mail/probe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/mail/probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAiB,KAAK,MAAM,EAAc,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,YAAY,QAEsE,CAAA;AAE/F,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2GAA2G;IAC3G,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,UAAU,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/mail/probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAiB,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAiB,KAAK,MAAM,EAAc,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,YAAY,QAEsE,CAAA;AAE/F,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2GAA2G;IAC3G,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,+FAA+F;IAC/F,OAAO,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACjF;AAMD,oFAAoF;AACpF,eAAO,MAAM,QAAQ,YAAa;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MACW,CAAA;AAElF,4FAA4F;AAC5F,eAAO,MAAM,SAAS,UAAW,MAAM,EAAE,SAAS,MAAM,SAAQ,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,KAAe,KA2D5G,CAAA;AAED,oHAAoH;AACpH,eAAO,MAAM,YAAY,WAAY,UAAU,EAAE,QAAQ,WAAW,CAAC,MAAM,CAAC,KAAG,MAAM,EAQpF,CAAA"}
|
package/dist/mail/probe.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { PRESET_NAMES, presetMatches } from "./presets.js";
|
|
1
2
|
import { registrableOf, scoreGroup } from "./score.js";
|
|
2
3
|
export const SUGGEST_RULE = "suggest is skip when a group has at least 20 emails, at least 80% of them list or bulk mail " +
|
|
3
4
|
"(List-Id, List-Unsubscribe or Precedence: bulk) and the owner never sent mail to its sender";
|
|
4
5
|
const share = (part, whole) => Math.round((part / whole) * 100) / 100;
|
|
5
6
|
const isSent = (item) => item.labels?.includes("Sent") || /(^|\/)sent\b/i.test(item.folder ?? "");
|
|
7
|
+
/** A list's mail is one group whoever sends it; other mail is grouped by sender. */
|
|
8
|
+
export const groupKey = (headers) => headers.listId === undefined ? `from:${headers.from}` : `list:${headers.listId}`;
|
|
6
9
|
/** Groups mail by List-Id when it has one, else by sender address; largest groups first. */
|
|
7
10
|
export const probeMail = (items, limit, ages = new Map()) => {
|
|
8
11
|
const sent = items.filter(isSent);
|
|
@@ -17,7 +20,7 @@ export const probeMail = (items, limit, ages = new Map()) => {
|
|
|
17
20
|
withoutHeaders++;
|
|
18
21
|
continue;
|
|
19
22
|
}
|
|
20
|
-
const key = headers
|
|
23
|
+
const key = groupKey(headers);
|
|
21
24
|
const group = groups.get(key);
|
|
22
25
|
if (group)
|
|
23
26
|
group.push(item);
|
|
@@ -44,6 +47,18 @@ export const probeMail = (items, limit, ages = new Map()) => {
|
|
|
44
47
|
...scoreGroup(group, { replied, bulk, ages }),
|
|
45
48
|
};
|
|
46
49
|
});
|
|
50
|
+
const presets = PRESET_NAMES.map((preset) => {
|
|
51
|
+
const hit = [...groups.values()].filter((group) => {
|
|
52
|
+
const replied = group.some((item) => item.headers?.from !== undefined && recipients.has(item.headers.from));
|
|
53
|
+
return presetMatches(preset, { ...group[0], replied });
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
preset,
|
|
57
|
+
emails: hit.reduce((sum, group) => sum + group.length, 0),
|
|
58
|
+
groups: hit.length,
|
|
59
|
+
bytes: hit.reduce((sum, group) => sum + group.reduce((total, item) => total + (item.size ?? 0), 0), 0),
|
|
60
|
+
};
|
|
61
|
+
}).filter(({ emails }) => emails > 0);
|
|
47
62
|
all.sort((a, b) => b.emails - a.emails || b.bytes - a.bytes);
|
|
48
63
|
return {
|
|
49
64
|
emails: items.length,
|
|
@@ -52,6 +67,7 @@ export const probeMail = (items, limit, ages = new Map()) => {
|
|
|
52
67
|
withoutHeaders,
|
|
53
68
|
groups: all.length,
|
|
54
69
|
items: all.slice(0, limit),
|
|
70
|
+
presets,
|
|
55
71
|
};
|
|
56
72
|
};
|
|
57
73
|
/** The sender domains of the groups worth asking a registry about: not a big mailbox provider, never replied to. */
|
package/dist/mail/probe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/mail/probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAe,UAAU,EAAE,MAAM,YAAY,CAAA;AAGnF,MAAM,CAAC,MAAM,YAAY,GACvB,8FAA8F;IAC9F,6FAA6F,CAAA;
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/mail/probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MessageStore } from "@wirecat/cli-core/store";
|
|
2
|
+
/**
|
|
3
|
+
* Once per account: email text saved before memo read an HTML text/plain part as HTML is converted in place, from
|
|
4
|
+
* what the store holds. Runs inside sync, so it holds the import lock like any other write.
|
|
5
|
+
*/
|
|
6
|
+
export declare const repairHtmlText: (store: MessageStore, address: string, now?: number) => Promise<number | undefined>;
|
|
7
|
+
//# sourceMappingURL=repair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/mail/repair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAOvE;;;GAGG;AACH,eAAO,MAAM,cAAc,UAClB,YAAY,WACV,MAAM,mBAEd,OAAO,CAAC,MAAM,GAAG,SAAS,CA8B5B,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { htmlToText, looksLikeHtml } from "./parse.js";
|
|
2
|
+
import { ENVELOPE } from "./rules.js";
|
|
3
|
+
const REPAIRED = "mail_text_repair";
|
|
4
|
+
const VERSION = "html-text-1";
|
|
5
|
+
/**
|
|
6
|
+
* Once per account: email text saved before memo read an HTML text/plain part as HTML is converted in place, from
|
|
7
|
+
* what the store holds. Runs inside sync, so it holds the import lock like any other write.
|
|
8
|
+
*/
|
|
9
|
+
export const repairHtmlText = async (store, address, now = Date.now()) => {
|
|
10
|
+
const key = { provider: "email", account: address.toLowerCase() };
|
|
11
|
+
if ((await store.syncState(key, REPAIRED))?.value === VERSION)
|
|
12
|
+
return undefined;
|
|
13
|
+
const stored = await store.storedAccount(key).catch(() => null);
|
|
14
|
+
if (stored === null)
|
|
15
|
+
return undefined;
|
|
16
|
+
let repaired = 0;
|
|
17
|
+
for (const { externalId, deleted, mailboxes } of await store.mail.emailRefs({ accountId: stored.id })) {
|
|
18
|
+
if (deleted || mailboxes.some(({ kind }) => kind === ENVELOPE))
|
|
19
|
+
continue;
|
|
20
|
+
const email = await store.mail.email(stored.id, externalId);
|
|
21
|
+
if (email === null || !email.bodyText || !looksLikeHtml(email.bodyText))
|
|
22
|
+
continue;
|
|
23
|
+
const [placed] = await store.mail.inThreads(stored.id, [externalId]);
|
|
24
|
+
if (placed === undefined)
|
|
25
|
+
continue;
|
|
26
|
+
await store.mail.saveThread({
|
|
27
|
+
accountId: stored.id,
|
|
28
|
+
externalId: placed.threadExternalId,
|
|
29
|
+
now,
|
|
30
|
+
emails: [
|
|
31
|
+
{
|
|
32
|
+
externalId,
|
|
33
|
+
subject: email.subject,
|
|
34
|
+
from: email.fromAddress === null ? null : { address: email.fromAddress, name: email.fromName },
|
|
35
|
+
sentAt: email.sentAt,
|
|
36
|
+
bodyText: htmlToText(email.bodyText),
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
repaired++;
|
|
41
|
+
}
|
|
42
|
+
await store.setSyncState(key, REPAIRED, VERSION);
|
|
43
|
+
return repaired;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/mail/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AACnC,MAAM,OAAO,GAAG,aAAa,CAAA;AAE7B;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,KAAmB,EACnB,OAAe,EACf,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EACa,EAAE;IAC/B,MAAM,GAAG,GAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAA;IAC7E,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IAC/E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC/D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtG,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAE,SAAQ;QACxE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACjF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;QACpE,IAAI,MAAM,KAAK,SAAS;YAAE,SAAQ;QAClC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,UAAU,EAAE,MAAM,CAAC,gBAAgB;YACnC,GAAG;YACH,MAAM,EAAE;gBACN;oBACE,UAAU;oBACV,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;oBAC9F,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;iBACrC;aACF;SACF,CAAC,CAAA;QACF,QAAQ,EAAE,CAAA;IACZ,CAAC;IACD,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAChD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MailAction, MailRuleMatch } from "./rules.js";
|
|
2
|
+
export declare const FILTER_HELP: string;
|
|
3
|
+
/** `from:` as Gmail reads it: one address, a whole domain (`shop.example`, `@shop.example`), or a word it contains. */
|
|
4
|
+
export declare const senderMatch: (value: string) => MailRuleMatch;
|
|
5
|
+
export declare const isAddress: (value: string) => boolean;
|
|
6
|
+
/** The conditions of a rule's --filter query. */
|
|
7
|
+
export declare const filterMatch: (query: string) => MailRuleMatch;
|
|
8
|
+
export declare const ACTION_HELP: string;
|
|
9
|
+
/** `envelope,tag:promo` → the store action, protection and tags. */
|
|
10
|
+
export declare const actionsOf: (value: string) => {
|
|
11
|
+
action: MailAction;
|
|
12
|
+
protect: boolean;
|
|
13
|
+
tags: string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=rule-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-query.d.ts","sourceRoot":"","sources":["../../src/mail/rule-query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,WAAW,QAEwD,CAAA;AAMhF,uHAAuH;AACvH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,aAI3C,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,YAAwB,CAAA;AAS/D,iDAAiD;AACjD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,aAmD3C,CAAA;AAED,eAAO,MAAM,WAAW,QAGoF,CAAA;AAI5G,oEAAoE;AACpE,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAY/F,CAAA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
export const FILTER_HELP = "from:<address, domain or word>, to:<address>, subject:<word> (or a bare word), older:<n>d, larger:<size> (5MB, 300KB), has:attachment, label:<name> " +
|
|
3
|
+
'(label:"Two words"), is:unread, is:bulk, score:<n> (at least); all must hold';
|
|
4
|
+
const bad = (why) => new CliError("validation_error", `--filter: ${why}`);
|
|
5
|
+
const ADDRESS = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
6
|
+
/** `from:` as Gmail reads it: one address, a whole domain (`shop.example`, `@shop.example`), or a word it contains. */
|
|
7
|
+
export const senderMatch = (value) => {
|
|
8
|
+
if (ADDRESS.test(value))
|
|
9
|
+
return { from: value.toLowerCase() };
|
|
10
|
+
const domain = value.replace(/^@/, "");
|
|
11
|
+
return /^[a-z0-9-]+(\.[a-z0-9-]+)+$/i.test(domain) ? { domain: domain.toLowerCase() } : { from_contains: value };
|
|
12
|
+
};
|
|
13
|
+
export const isAddress = (value) => ADDRESS.test(value);
|
|
14
|
+
const bytesOf = (value) => {
|
|
15
|
+
const match = /^(\d+(?:\.\d+)?)(b|kb|mb|gb)?$/i.exec(value);
|
|
16
|
+
if (match === null)
|
|
17
|
+
throw bad(`larger:${value} is not a size like 5MB, 300KB or 2048`);
|
|
18
|
+
const unit = { b: 1, kb: 1024, mb: 1024 ** 2, gb: 1024 ** 3 }[(match[2] ?? "b").toLowerCase()];
|
|
19
|
+
return Math.round(Number(match[1]) * unit);
|
|
20
|
+
};
|
|
21
|
+
/** The conditions of a rule's --filter query. */
|
|
22
|
+
export const filterMatch = (query) => {
|
|
23
|
+
const words = [];
|
|
24
|
+
const match = {};
|
|
25
|
+
for (const [, field, quoted, plain, word] of query.matchAll(/(\w+):(?:"([^"]*)"|(\S+))|(\S+)/g)) {
|
|
26
|
+
const value = quoted ?? plain ?? "";
|
|
27
|
+
if (word !== undefined) {
|
|
28
|
+
words.push(word);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
switch (field?.toLowerCase()) {
|
|
32
|
+
case "from":
|
|
33
|
+
Object.assign(match, senderMatch(value));
|
|
34
|
+
break;
|
|
35
|
+
case "to":
|
|
36
|
+
if (!ADDRESS.test(value))
|
|
37
|
+
throw bad(`to:${value} needs one address, like to:me@example.com`);
|
|
38
|
+
match.to = value.toLowerCase();
|
|
39
|
+
break;
|
|
40
|
+
case "subject":
|
|
41
|
+
words.push(...value.split(/\s+/).filter(Boolean));
|
|
42
|
+
break;
|
|
43
|
+
case "older": {
|
|
44
|
+
const days = /^(\d+)d$/i.exec(value)?.[1];
|
|
45
|
+
if (days === undefined)
|
|
46
|
+
throw bad(`older:${value} needs days, like older:365d`);
|
|
47
|
+
match.older_than_days = Number(days);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case "larger":
|
|
51
|
+
match.larger_than_bytes = bytesOf(value);
|
|
52
|
+
break;
|
|
53
|
+
case "has":
|
|
54
|
+
if (!/^attachments?$/i.test(value))
|
|
55
|
+
throw bad(`has:${value}; only has:attachment is known`);
|
|
56
|
+
match.has_attachments = true;
|
|
57
|
+
break;
|
|
58
|
+
case "label":
|
|
59
|
+
match.label = value;
|
|
60
|
+
break;
|
|
61
|
+
case "is":
|
|
62
|
+
if (/^unread$/i.test(value))
|
|
63
|
+
match.unread = true;
|
|
64
|
+
else if (/^bulk$/i.test(value))
|
|
65
|
+
match.bulk = true;
|
|
66
|
+
else
|
|
67
|
+
throw bad(`is:${value}; is:unread and is:bulk are known`);
|
|
68
|
+
break;
|
|
69
|
+
case "score":
|
|
70
|
+
if (!/^-?\d+$/.test(value))
|
|
71
|
+
throw bad(`score:${value} needs a whole number`);
|
|
72
|
+
match.score_at_least = Number(value);
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
throw bad(`${field}: is not a field; use ${FILTER_HELP}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (words.length)
|
|
79
|
+
match.subject = words.join(" ");
|
|
80
|
+
return match;
|
|
81
|
+
};
|
|
82
|
+
export const ACTION_HELP = "one of skip (never read or store), envelope (store only sender, date, size and labels: counted, out of search, " +
|
|
83
|
+
"cleanable later), keep (store in full even when a skip or envelope rule matches) or protect (keep, and no " +
|
|
84
|
+
"cleanup may ever cut, archive or trash it); add tag:<name> to also tag the mail, e.g. envelope,tag:promo";
|
|
85
|
+
const ACTIONS = ["skip", "envelope", "keep", "protect"];
|
|
86
|
+
/** `envelope,tag:promo` → the store action, protection and tags. */
|
|
87
|
+
export const actionsOf = (value) => {
|
|
88
|
+
const parts = value
|
|
89
|
+
.split(",")
|
|
90
|
+
.map((part) => part.trim())
|
|
91
|
+
.filter(Boolean);
|
|
92
|
+
const tags = parts.filter((part) => part.startsWith("tag:")).map((part) => part.slice(4).trim());
|
|
93
|
+
const actions = parts.filter((part) => !part.startsWith("tag:"));
|
|
94
|
+
if (tags.some((tag) => tag === ""))
|
|
95
|
+
throw new CliError("validation_error", "--do: tag: needs a name, e.g. tag:promo");
|
|
96
|
+
if (actions.length !== 1 || !ACTIONS.includes(actions[0]))
|
|
97
|
+
throw new CliError("validation_error", `--do: choose ${ACTIONS.join(", ")}, plus any tag:<name>`);
|
|
98
|
+
const action = actions[0];
|
|
99
|
+
return { action: action === "protect" ? "keep" : action, protect: action === "protect", tags };
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=rule-query.js.map
|