@wirecat/cli-memo 0.62.0 → 0.64.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/README.md +5 -5
- package/dist/actions/command.d.ts.map +1 -1
- package/dist/actions/command.js +7 -5
- package/dist/actions/command.js.map +1 -1
- package/dist/answers/command.d.ts.map +1 -1
- package/dist/answers/command.js +9 -5
- package/dist/answers/command.js.map +1 -1
- package/dist/context/command.d.ts +1 -1
- package/dist/context/command.d.ts.map +1 -1
- package/dist/context/command.js +13 -5
- package/dist/context/command.js.map +1 -1
- package/dist/doctor/command.d.ts +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +27 -35
- package/dist/examples.js.map +1 -1
- package/dist/findings/command.d.ts.map +1 -1
- package/dist/findings/command.js +17 -12
- package/dist/findings/command.js.map +1 -1
- package/dist/knowledge/command.d.ts.map +1 -1
- package/dist/knowledge/command.js +28 -15
- package/dist/knowledge/command.js.map +1 -1
- package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
- package/dist/knowledge/meeting-projects-command.js +20 -13
- package/dist/knowledge/meeting-projects-command.js.map +1 -1
- package/dist/mail/score.d.ts +11 -3
- package/dist/mail/score.d.ts.map +1 -1
- package/dist/mail/score.js +25 -8
- package/dist/mail/score.js.map +1 -1
- package/dist/mail/sender-scores.d.ts +15 -3
- package/dist/mail/sender-scores.d.ts.map +1 -1
- package/dist/mail/sender-scores.js +57 -8
- package/dist/mail/sender-scores.js.map +1 -1
- package/dist/notes/command.d.ts.map +1 -1
- package/dist/notes/command.js +8 -7
- package/dist/notes/command.js.map +1 -1
- package/dist/options.d.ts +4 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +5 -4
- package/dist/options.js.map +1 -1
- package/dist/run/import.d.ts.map +1 -1
- package/dist/run/import.js +23 -9
- package/dist/run/import.js.map +1 -1
- package/dist/search/answers.d.ts.map +1 -1
- package/dist/search/answers.js +2 -3
- package/dist/search/answers.js.map +1 -1
- package/dist/search/command.d.ts.map +1 -1
- package/dist/search/command.js +5 -0
- package/dist/search/command.js.map +1 -1
- package/dist/search/search.d.ts +9 -4
- package/dist/search/search.d.ts.map +1 -1
- package/dist/search/search.js +45 -11
- package/dist/search/search.js.map +1 -1
- package/dist/store/scope.d.ts +3 -0
- package/dist/store/scope.d.ts.map +1 -1
- package/dist/store/scope.js +8 -2
- package/dist/store/scope.js.map +1 -1
- package/dist/store/source-list.d.ts +39 -5
- package/dist/store/source-list.d.ts.map +1 -1
- package/dist/store/source-list.js +110 -2
- package/dist/store/source-list.js.map +1 -1
- package/dist/tags/command.d.ts.map +1 -1
- package/dist/tags/command.js +24 -24
- package/dist/tags/command.js.map +1 -1
- package/dist/tasks/command.d.ts.map +1 -1
- package/dist/tasks/command.js +12 -8
- package/dist/tasks/command.js.map +1 -1
- package/dist/tasks/list.d.ts +2 -2
- package/dist/tasks/list.d.ts.map +1 -1
- package/dist/tasks/list.js +15 -7
- package/dist/tasks/list.js.map +1 -1
- package/dist/tasks/shared.d.ts +1 -1
- package/dist/tasks/shared.d.ts.map +1 -1
- package/dist/tasks/shared.js +31 -23
- package/dist/tasks/shared.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 +6 -5
|
@@ -5,8 +5,8 @@ import { ORGANIZATION_KINDS, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-core/st
|
|
|
5
5
|
import { answers, itemAnswer, listAnswer, wholeList } from "../answer.js";
|
|
6
6
|
import { authorOf, byOption } from "../author.js";
|
|
7
7
|
import { notesAbout } from "../notes/about.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { oneOf, positive, readScope, writeScope } from "../options.js";
|
|
9
|
+
import { ACCOUNTS_HELP, accountName, theAccount, theAccounts, writeAccount, } from "../store/source-list.js";
|
|
10
10
|
import { keyDocuments, markKey, projectOf, unmarkKey } from "./key-documents.js";
|
|
11
11
|
import { meetingProjectsCommand } from "./meeting-projects-command.js";
|
|
12
12
|
const RELATIONSHIP_QUERY = {
|
|
@@ -20,7 +20,9 @@ const RELATIONSHIP_QUERY = {
|
|
|
20
20
|
};
|
|
21
21
|
export const knowledgeCommands = (program, streams, env) => {
|
|
22
22
|
const { run } = answers(program, streams, env);
|
|
23
|
-
const
|
|
23
|
+
const warn = (text) => streams.diagnostic(text);
|
|
24
|
+
const execute = (options, work) => run(options.json, async (store) => work(store, await theAccount(store, env, options, warn)));
|
|
25
|
+
const act = (options, work) => run(options.json, async (store) => work(store, await writeAccount(store, env, options, warn)));
|
|
24
26
|
/** Organisations and relations are the owner's, not an account's. */
|
|
25
27
|
const owned = (options, work) => run(options.json, async (store) => itemAnswer(await work(store)));
|
|
26
28
|
const ownedList = (command, options, work) => run(options.json, async (store) => wholeList(command, await work(store)));
|
|
@@ -157,7 +159,7 @@ export const knowledgeCommands = (program, streams, env) => {
|
|
|
157
159
|
.argument("<id>", "the relationship's id, as relationships list gives it")
|
|
158
160
|
.option("--json", "print JSON; --json=id,title keeps only those fields")
|
|
159
161
|
.action((id, options) => owned(options, (store) => store.knowledge.confirmRelation(null, id)));
|
|
160
|
-
|
|
162
|
+
readScope(annotate(relations.command("suggest"), { effects: LOCAL_READ }).description("suggest relationships between email contacts of one domain; you confirm each"))
|
|
161
163
|
.option("--limit <n>", "most suggestions, at most 100", positive, 20)
|
|
162
164
|
.action((options) => execute(options, async (store, key) => {
|
|
163
165
|
if (key.provider !== "email" || options.limit > 100)
|
|
@@ -205,16 +207,27 @@ export const knowledgeCommands = (program, streams, env) => {
|
|
|
205
207
|
const reminders = program
|
|
206
208
|
.command("reminders")
|
|
207
209
|
.description("durable local reminders; poll hands one out and ack confirms it was shown");
|
|
208
|
-
|
|
210
|
+
writeScope(annotate(reminders.command("add"), { effects: LOCAL_WRITE })
|
|
209
211
|
.description("add a reminder for an open task")
|
|
210
212
|
.argument("<task>", "the task's id"))
|
|
211
213
|
.requiredOption("--at-time <time>", "when to remind: an ISO 8601 time with its UTC offset")
|
|
212
214
|
.option("--timezone <zone>", "IANA timezone", "UTC")
|
|
213
|
-
.action((task, options) =>
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
.action((task, options) => act(options, async (store, key) => itemAnswer(await store.knowledge.schedule(key, task, options.atTime, options.timezone))));
|
|
216
|
+
readScope(annotate(reminders.command("list"), { effects: LOCAL_READ }).description("pending reminders of the accounts --source names, soonest first"), ACCOUNTS_HELP).action((options) => run(options.json, async (store) => {
|
|
217
|
+
const keys = await theAccounts(store, env, options, warn);
|
|
218
|
+
const items = (await Promise.all(keys.map(async (key) => (await store.knowledge.reminders(key)).map((reminder) => ({ ...reminder, account: accountName(key) })))))
|
|
219
|
+
.flat()
|
|
220
|
+
.sort((a, b) => a.dueAt.localeCompare(b.dueAt));
|
|
221
|
+
return listAnswer("reminders list", {
|
|
222
|
+
items,
|
|
223
|
+
limit: Math.max(1, items.length),
|
|
224
|
+
has_more: false,
|
|
225
|
+
meta: { accounts: keys.map(accountName) },
|
|
226
|
+
});
|
|
227
|
+
}));
|
|
228
|
+
writeScope(annotate(reminders.command("poll"), { effects: LOCAL_WRITE }).description("hand out due reminders, each with a receipt to acknowledge"))
|
|
216
229
|
.option("--limit <n>", "most due reminders, at most 500", positive, 100)
|
|
217
|
-
.action((options) =>
|
|
230
|
+
.action((options) => act(options, async (store, key) => {
|
|
218
231
|
const claimed = await store.knowledge.claimReminders(key, { limit: options.limit });
|
|
219
232
|
return listAnswer("reminders poll", {
|
|
220
233
|
items: claimed.map((reminder) => ({
|
|
@@ -226,18 +239,18 @@ export const knowledgeCommands = (program, streams, env) => {
|
|
|
226
239
|
has_more: claimed.length >= options.limit,
|
|
227
240
|
});
|
|
228
241
|
}));
|
|
229
|
-
|
|
242
|
+
writeScope(annotate(reminders.command("ack"), { effects: LOCAL_WRITE })
|
|
230
243
|
.description("confirm that a handed-out reminder was shown")
|
|
231
244
|
.argument("<id>", "the reminder's id")
|
|
232
|
-
.argument("<receipt>", "the receipt reminders poll handed out with it")).action((id, receipt, options) =>
|
|
233
|
-
|
|
245
|
+
.argument("<receipt>", "the receipt reminders poll handed out with it")).action((id, receipt, options) => act(options, async (store, key) => itemAnswer(await store.knowledge.acknowledgeReminder(key, id, receipt))));
|
|
246
|
+
writeScope(annotate(reminders.command("cancel"), { effects: LOCAL_WRITE })
|
|
234
247
|
.description("cancel a reminder")
|
|
235
|
-
.argument("<id>", "the reminder's id")).action((id, options) =>
|
|
236
|
-
|
|
248
|
+
.argument("<id>", "the reminder's id")).action((id, options) => act(options, async (store, key) => itemAnswer(await store.knowledge.cancelReminder(key, id))));
|
|
249
|
+
writeScope(annotate(reminders.command("update"), { effects: LOCAL_WRITE })
|
|
237
250
|
.description("move a reminder to another time")
|
|
238
251
|
.argument("<id>", "the reminder's id"))
|
|
239
252
|
.requiredOption("--at-time <time>", "the new time: an ISO 8601 time with its UTC offset")
|
|
240
253
|
.requiredOption("--revision <n>", "the reminder's current revision, as reminders list gives it", positive)
|
|
241
|
-
.action((id, options) =>
|
|
254
|
+
.action((id, options) => act(options, async (store, key) => itemAnswer(await store.knowledge.snoozeReminder(key, id, options.atTime, options.revision))));
|
|
242
255
|
};
|
|
243
256
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meeting-projects-command.d.ts","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"meeting-projects-command.d.ts","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6BxC,eAAO,MAAM,sBAAsB,aAAc,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA0EjG,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { annotate } from "@wirecat/cli-base/commands";
|
|
|
2
2
|
import { LOCAL_READ, LOCAL_WRITE, queryTerms, termField, withQuery } from "@wirecat/cli-core/cli";
|
|
3
3
|
import { answers, itemAnswer, listAnswer } from "../answer.js";
|
|
4
4
|
import { positive } from "../options.js";
|
|
5
|
+
import { accountName, MEETING_ACCOUNT_HELP, MEETING_WRITE_HELP, sourceOptions, theAccount, writeAccount, writeOptions, } from "../store/source-list.js";
|
|
5
6
|
import { canonicalProject } from "../vocabulary/project.js";
|
|
6
7
|
const MEETING_PROJECTS_QUERY = {
|
|
7
8
|
entity: "meeting_project",
|
|
@@ -11,21 +12,27 @@ const MEETING_PROJECTS_QUERY = {
|
|
|
11
12
|
};
|
|
12
13
|
export const meetingProjectsCommand = (projects, streams, env) => {
|
|
13
14
|
const group = projects.command("meetings").description("explicit account-scoped project membership");
|
|
14
|
-
const options = (command) => command
|
|
15
|
-
.requiredOption("--provider <provider>", "meeting provider")
|
|
16
|
-
.requiredOption("--account <account>", "exact stored meeting account")
|
|
17
|
-
.option("--json", "print JSON; --json=id,title keeps only those fields");
|
|
15
|
+
const options = (command) => sourceOptions(command, MEETING_ACCOUNT_HELP).option("--json", "print JSON; --json=id,title keeps only those fields");
|
|
18
16
|
const { run } = answers(projects, streams, env);
|
|
19
|
-
const
|
|
17
|
+
const warn = (text) => streams.diagnostic(text);
|
|
18
|
+
const execute = (project, options, work, writes = false) => run(options.json, async (store) => {
|
|
19
|
+
const key = await (writes ? writeAccount : theAccount)(store, env, options, warn);
|
|
20
|
+
return work(store, (await canonicalProject(store, project)).slice(8), key);
|
|
21
|
+
});
|
|
20
22
|
withQuery(options(annotate(group.command("list"), { effects: LOCAL_READ, output: { entity: "meeting_project" } })
|
|
21
23
|
.description("meetings linked to a project in one account, or with confirmed:false proposed")
|
|
22
24
|
.argument("<project>", "project reference, key or explicit alias")), MEETING_PROJECTS_QUERY)
|
|
23
25
|
.option("--limit <n>", "meetings per page, at most 500", positive, 50)
|
|
24
26
|
.option("--page <n>", "which page, from 1", positive)
|
|
25
|
-
.action((project, words, given) => execute(project, given, async (store, projectId) => {
|
|
27
|
+
.action((project, words, given) => execute(project, given, async (store, projectId, key) => {
|
|
26
28
|
const confirmed = queryTerms(words, MEETING_PROJECTS_QUERY, "projects meetings list").get("confirmed");
|
|
27
29
|
const page = given.page ?? 1;
|
|
28
|
-
const found = await store.knowledge.meetingProjects(
|
|
30
|
+
const found = await store.knowledge.meetingProjects(key, {
|
|
31
|
+
projectId,
|
|
32
|
+
confirmed: confirmed === "true",
|
|
33
|
+
limit: given.limit,
|
|
34
|
+
offset: (page - 1) * given.limit,
|
|
35
|
+
});
|
|
29
36
|
return listAnswer("projects meetings list", {
|
|
30
37
|
items: found.items,
|
|
31
38
|
limit: given.limit,
|
|
@@ -33,22 +40,22 @@ export const meetingProjectsCommand = (projects, streams, env) => {
|
|
|
33
40
|
page,
|
|
34
41
|
args: {
|
|
35
42
|
project,
|
|
36
|
-
|
|
37
|
-
account: given.account,
|
|
43
|
+
source: accountName(key),
|
|
38
44
|
...(words.length === 0 ? {} : { query: words.join(" ") }),
|
|
39
45
|
},
|
|
40
46
|
});
|
|
41
47
|
}));
|
|
42
|
-
|
|
48
|
+
writeOptions(annotate(group.command("link"), { effects: LOCAL_WRITE })
|
|
43
49
|
.description("link a stored meeting to a project, or confirm a proposed link")
|
|
44
50
|
.argument("<project>", "project reference, key or explicit alias")
|
|
45
|
-
.argument("<meeting-id>", "positive stored meeting id"))
|
|
51
|
+
.argument("<meeting-id>", "positive stored meeting id"), MEETING_WRITE_HELP)
|
|
52
|
+
.option("--json", "print JSON; --json=id,title keeps only those fields")
|
|
46
53
|
.option("--fingerprint <hash>", "required when confirming an existing proposal")
|
|
47
54
|
.option("--reason <text>", "why the reviewed meeting belongs to this project")
|
|
48
|
-
.action((project, meeting, given) => execute(project, given, async (store, projectId) => itemAnswer(await store.knowledge.linkMeetingProject(
|
|
55
|
+
.action((project, meeting, given) => execute(project, given, async (store, projectId, key) => itemAnswer(await store.knowledge.linkMeetingProject(key, meeting, projectId, {
|
|
49
56
|
by: "owner",
|
|
50
57
|
...(given.fingerprint === undefined ? {} : { expectedFingerprint: given.fingerprint }),
|
|
51
58
|
...(given.reason === undefined ? {} : { provenance: given.reason }),
|
|
52
|
-
}))));
|
|
59
|
+
})), true));
|
|
53
60
|
};
|
|
54
61
|
//# sourceMappingURL=meeting-projects-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meeting-projects-command.js","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAa,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAG5G,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"meeting-projects-command.js","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/score.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export declare const WEIGHTS: {
|
|
|
7
7
|
readonly spam_folder: 4;
|
|
8
8
|
readonly dmarc_fail: 3;
|
|
9
9
|
readonly brand_spoof: 3;
|
|
10
|
-
readonly young_domain:
|
|
11
|
-
readonly reply_to_elsewhere:
|
|
10
|
+
readonly young_domain: 5;
|
|
11
|
+
readonly reply_to_elsewhere: 1;
|
|
12
12
|
readonly never_opened: 2;
|
|
13
13
|
readonly dkim_not_passed: 2;
|
|
14
14
|
readonly disposable_domain: 2;
|
|
@@ -16,6 +16,11 @@ export declare const WEIGHTS: {
|
|
|
16
16
|
readonly replied: -5;
|
|
17
17
|
};
|
|
18
18
|
export type Signal = keyof typeof WEIGHTS;
|
|
19
|
+
/**
|
|
20
|
+
* The signs of a forged or fraudulent sender, as opposed to how the owner treats ordinary bulk mail. A failed DMARC
|
|
21
|
+
* check is one only beside another: alone it marks real senders with a broken setup or a forwarding path.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FRAUD_SIGNALS: readonly Signal[];
|
|
19
24
|
export declare const SCORE_RULE: string;
|
|
20
25
|
/**
|
|
21
26
|
* DMARC failures before this date are not counted: senders then often published a policy their own mail did not yet
|
|
@@ -42,7 +47,10 @@ export declare const FREE_MAIL: Set<string>;
|
|
|
42
47
|
* LinkedIn's own domain is LinkedIn passing a page on; "PayPal via Desk" from anywhere else is still judged whole.
|
|
43
48
|
*/
|
|
44
49
|
export declare const spoofedBrand: (name: string | undefined, address: string | undefined) => string | undefined;
|
|
45
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Under YOUNG_DAYS old at `at`; false when the age is not known, and when the registration came after `at`: the
|
|
52
|
+
* domain lapsed and someone registered it again later, which says nothing about the mail that came before.
|
|
53
|
+
*/
|
|
46
54
|
export declare const youngAt: (age: DomainAge | undefined, at: string) => boolean;
|
|
47
55
|
export interface Scored {
|
|
48
56
|
score: number;
|
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,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;;;GAGG;AACH,eAAO,MAAM,WAAW,6BAA6B,CAAA;AAErD,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;AAsCF;;;GAGG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,GAAG,SAAS,WAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAW7F,CAAA;AAID
|
|
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;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAuE,CAAA;AAElH,eAAO,MAAM,UAAU,QAI4B,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,WAAW,6BAA6B,CAAA;AAErD,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;AAsCF;;;GAGG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,GAAG,SAAS,WAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAW7F,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,OAAO,QAAS,SAAS,GAAG,SAAS,MAAM,MAAM,KAAG,OAIhE,CAAA;AAED,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,MAoCF,CAAA"}
|
package/dist/mail/score.js
CHANGED
|
@@ -8,17 +8,22 @@ export const WEIGHTS = {
|
|
|
8
8
|
spam_folder: 4,
|
|
9
9
|
dmarc_fail: 3,
|
|
10
10
|
brand_spoof: 3,
|
|
11
|
-
young_domain:
|
|
12
|
-
reply_to_elsewhere:
|
|
11
|
+
young_domain: 5,
|
|
12
|
+
reply_to_elsewhere: 1,
|
|
13
13
|
never_opened: 2,
|
|
14
14
|
dkim_not_passed: 2,
|
|
15
15
|
disposable_domain: 2,
|
|
16
16
|
bulk_never_replied: 1,
|
|
17
17
|
replied: -5,
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The signs of a forged or fraudulent sender, as opposed to how the owner treats ordinary bulk mail. A failed DMARC
|
|
21
|
+
* check is one only beside another: alone it marks real senders with a broken setup or a forwarding path.
|
|
22
|
+
*/
|
|
23
|
+
export const FRAUD_SIGNALS = ["dmarc_fail", "brand_spoof", "young_domain", "disposable_domain"];
|
|
24
|
+
export const SCORE_RULE = "score adds: in Gmail's Spam +4, Gmail's DMARC check failed +3 (only beside another sign of fraud), a brand in the display name sent from another " +
|
|
25
|
+
"domain +3, the domain under 180 days old when the mail came +5 (only with looked-up ages), Reply-To on another " +
|
|
26
|
+
"domain +1, none of its mail ever opened +2, Gmail's DKIM check not passed +2, a throwaway-mail domain +2, bulk mail " +
|
|
22
27
|
"never replied to +1, replied to by the owner -5";
|
|
23
28
|
/**
|
|
24
29
|
* DMARC failures before this date are not counted: senders then often published a policy their own mail did not yet
|
|
@@ -111,8 +116,16 @@ export const spoofedBrand = (name, address) => {
|
|
|
111
116
|
return Object.entries(BRANDS).find(([brand, owned]) => named(brand, name) && !owned.includes(label))?.[0];
|
|
112
117
|
};
|
|
113
118
|
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
114
|
-
/**
|
|
115
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Under YOUNG_DAYS old at `at`; false when the age is not known, and when the registration came after `at`: the
|
|
121
|
+
* domain lapsed and someone registered it again later, which says nothing about the mail that came before.
|
|
122
|
+
*/
|
|
123
|
+
export const youngAt = (age, at) => {
|
|
124
|
+
if (age?.created === undefined)
|
|
125
|
+
return false;
|
|
126
|
+
const old = Date.parse(at) - Date.parse(age.created);
|
|
127
|
+
return old >= 0 && old < YOUNG_DAYS * DAY_MS;
|
|
128
|
+
};
|
|
116
129
|
const most = (items, test) => items.filter((item) => test(item)).length * 2 >= items.length;
|
|
117
130
|
/**
|
|
118
131
|
* A sender group's score from the facts its emails carry. A sign counts when it holds for at least half the group's
|
|
@@ -153,6 +166,10 @@ export const scoreGroup = (items, context) => {
|
|
|
153
166
|
signals.push("bulk_never_replied");
|
|
154
167
|
if (context.replied)
|
|
155
168
|
signals.push("replied");
|
|
156
|
-
|
|
169
|
+
const kept = signals.includes("dmarc_fail") &&
|
|
170
|
+
!signals.some((signal) => signal !== "dmarc_fail" && FRAUD_SIGNALS.includes(signal))
|
|
171
|
+
? signals.filter((signal) => signal !== "dmarc_fail")
|
|
172
|
+
: signals;
|
|
173
|
+
return { score: kept.reduce((sum, signal) => sum + WEIGHTS[signal], 0), signals: kept };
|
|
157
174
|
};
|
|
158
175
|
//# sourceMappingURL=score.js.map
|
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,YAAY,EAAE,CAAC;IACf,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC;CACH,CAAA;AAIV,MAAM,CAAC,MAAM,UAAU,GACrB
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import type { MessageStore } from "@wirecat/cli-core/store";
|
|
2
|
+
import { type LookupResult } from "./domain-age.js";
|
|
3
|
+
import { type MailRule } from "./rules.js";
|
|
2
4
|
/** Raised when the weights or the signals change, so every sender is scored again on the next sync. */
|
|
3
|
-
export declare const SCORE_VERSION =
|
|
5
|
+
export declare const SCORE_VERSION = 4;
|
|
6
|
+
/** Signs of fraud adding up to this rank a sender's mail lower in search. */
|
|
7
|
+
export declare const DEMOTE_AT = 3;
|
|
4
8
|
/**
|
|
5
9
|
* Scores every sender of the account from the mail the store holds, as `memo mail inspect` scores a listing, and
|
|
6
10
|
* keeps the scores in the store, where search shows them. At most once a day, or at once after SCORE_VERSION
|
|
7
|
-
* changes. A sender in several groups (its own mail and a list) keeps the highest score.
|
|
11
|
+
* changes. A sender in several groups (its own mail and a list) keeps the highest score. Domains not yet aged are
|
|
12
|
+
* looked up first, for senders heard from in the last two years.
|
|
8
13
|
*/
|
|
9
|
-
export declare const scoreSenders: (store: MessageStore, address: string, env: NodeJS.ProcessEnv, now?: number) => Promise<
|
|
14
|
+
export declare const scoreSenders: (store: MessageStore, address: string, env: NodeJS.ProcessEnv, now?: number, lookUp?: (env: NodeJS.ProcessEnv, domains: readonly string[]) => Promise<LookupResult>, rules?: readonly MailRule[]) => Promise<{
|
|
15
|
+
scored: number;
|
|
16
|
+
looked: number;
|
|
17
|
+
failed: number;
|
|
18
|
+
demoted: number;
|
|
19
|
+
} | undefined>;
|
|
20
|
+
/** Every mail account's senders whose mail search ranks lower, as the last scoring left them. */
|
|
21
|
+
export declare const demotedSenders: (store: MessageStore) => Promise<Set<string>>;
|
|
10
22
|
//# sourceMappingURL=sender-scores.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sender-scores.d.ts","sourceRoot":"","sources":["../../src/mail/sender-scores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,YAAY,EAAe,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"sender-scores.d.ts","sourceRoot":"","sources":["../../src/mail/sender-scores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,YAAY,EAAe,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAa,KAAK,YAAY,EAAc,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKlD,uGAAuG;AACvG,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,6EAA6E;AAC7E,eAAO,MAAM,SAAS,IAAI,CAAA;AAK1B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,UAChB,YAAY,WACV,MAAM,OACV,MAAM,CAAC,UAAU,yBAEd,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,UAC9E,SAAS,QAAQ,EAAE,KACzB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA4EzF,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,cAAc,UAAiB,YAAY,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAS7E,CAAA"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import { knownAges } from "./domain-age.js";
|
|
2
|
-
import { groupKey, probeMail } from "./probe.js";
|
|
1
|
+
import { knownAges, lookUpAges } from "./domain-age.js";
|
|
2
|
+
import { domainsToAge, groupKey, probeMail } from "./probe.js";
|
|
3
|
+
import { decide } from "./rules.js";
|
|
4
|
+
import { FRAUD_SIGNALS, FREE_MAIL, registrableOf, WEIGHTS } from "./score.js";
|
|
3
5
|
import { listedOf } from "./trash.js";
|
|
4
6
|
const SCORED = "mail_sender_scores";
|
|
5
7
|
/** Raised when the weights or the signals change, so every sender is scored again on the next sync. */
|
|
6
|
-
export const SCORE_VERSION =
|
|
8
|
+
export const SCORE_VERSION = 4;
|
|
9
|
+
/** Signs of fraud adding up to this rank a sender's mail lower in search. */
|
|
10
|
+
export const DEMOTE_AT = 3;
|
|
7
11
|
const DAY = 86_400_000;
|
|
12
|
+
/** Only senders heard from this recently are looked up: an older sender's domain may have lapsed or changed hands. */
|
|
13
|
+
const RECENT = 2 * 365 * DAY;
|
|
8
14
|
/**
|
|
9
15
|
* Scores every sender of the account from the mail the store holds, as `memo mail inspect` scores a listing, and
|
|
10
16
|
* keeps the scores in the store, where search shows them. At most once a day, or at once after SCORE_VERSION
|
|
11
|
-
* changes. A sender in several groups (its own mail and a list) keeps the highest score.
|
|
17
|
+
* changes. A sender in several groups (its own mail and a list) keeps the highest score. Domains not yet aged are
|
|
18
|
+
* looked up first, for senders heard from in the last two years.
|
|
12
19
|
*/
|
|
13
|
-
export const scoreSenders = async (store, address, env, now = Date.now()) => {
|
|
20
|
+
export const scoreSenders = async (store, address, env, now = Date.now(), lookUp = lookUpAges, rules = []) => {
|
|
14
21
|
const key = { provider: "email", account: address.toLowerCase() };
|
|
15
22
|
const last = (await store.sync.syncState(key, SCORED))?.value;
|
|
16
23
|
const done = last === undefined ? undefined : JSON.parse(last);
|
|
@@ -25,6 +32,21 @@ export const scoreSenders = async (store, address, env, now = Date.now()) => {
|
|
|
25
32
|
? { ...item, labels: [...(item.labels ?? []), "Sent"] }
|
|
26
33
|
: item;
|
|
27
34
|
});
|
|
35
|
+
// Each registry learns only its own domains' names; big mailbox providers and senders the owner wrote to are never asked.
|
|
36
|
+
const latest = new Map();
|
|
37
|
+
for (const item of items) {
|
|
38
|
+
if (item.headers === undefined)
|
|
39
|
+
continue;
|
|
40
|
+
const key = groupKey(item.headers);
|
|
41
|
+
if ((latest.get(key) ?? "") < item.receivedAt)
|
|
42
|
+
latest.set(key, item.receivedAt);
|
|
43
|
+
}
|
|
44
|
+
const since = new Date(now - RECENT).toISOString();
|
|
45
|
+
const recent = probeMail(items, Number.MAX_SAFE_INTEGER).items.filter((group) => (latest.get(groupKey({
|
|
46
|
+
...(group.from === null ? {} : { from: group.from }),
|
|
47
|
+
...(group.listId === null ? {} : { listId: group.listId }),
|
|
48
|
+
})) ?? "") >= since);
|
|
49
|
+
const lookups = await lookUp(env, domainsToAge(recent, FREE_MAIL)).catch(() => ({ looked: 0, failed: 1 }));
|
|
28
50
|
const groups = new Map(probeMail(items, Number.MAX_SAFE_INTEGER, knownAges(env)).items.map((group) => [
|
|
29
51
|
groupKey({
|
|
30
52
|
...(group.from === null ? {} : { from: group.from }),
|
|
@@ -32,6 +54,12 @@ export const scoreSenders = async (store, address, env, now = Date.now()) => {
|
|
|
32
54
|
}),
|
|
33
55
|
group,
|
|
34
56
|
]));
|
|
57
|
+
// The owner's own: a domain they wrote to anyone at, their own mailbox's domain, or a sender a protect rule keeps.
|
|
58
|
+
const trusted = new Set([address, ...items.filter((item) => item.labels?.includes("Sent")).flatMap((item) => item.headers?.to ?? [])]
|
|
59
|
+
.map((to) => registrableOf(to))
|
|
60
|
+
.filter((domain) => !FREE_MAIL.has(domain)));
|
|
61
|
+
const protectedSenders = new Set(items.filter((item) => decide(rules, item)?.protected).flatMap((item) => item.headers?.from?.toLowerCase() ?? []));
|
|
62
|
+
const fraud = (signals) => signals.reduce((sum, signal) => sum + (FRAUD_SIGNALS.includes(signal) ? WEIGHTS[signal] : 0), 0);
|
|
35
63
|
const scores = new Map();
|
|
36
64
|
for (const item of items) {
|
|
37
65
|
const from = item.headers?.from?.toLowerCase();
|
|
@@ -40,10 +68,31 @@ export const scoreSenders = async (store, address, env, now = Date.now()) => {
|
|
|
40
68
|
continue;
|
|
41
69
|
const held = scores.get(from);
|
|
42
70
|
if (held === undefined || group.score > held.score)
|
|
43
|
-
scores.set(from, {
|
|
71
|
+
scores.set(from, {
|
|
72
|
+
address: from,
|
|
73
|
+
score: group.score,
|
|
74
|
+
signals: group.signals,
|
|
75
|
+
demoted: fraud(group.signals) >= DEMOTE_AT &&
|
|
76
|
+
!group.signals.includes("replied") &&
|
|
77
|
+
!trusted.has(registrableOf(from)) &&
|
|
78
|
+
!protectedSenders.has(from),
|
|
79
|
+
});
|
|
44
80
|
}
|
|
81
|
+
const demoted = [...scores.values()].filter((score) => score.demoted).map(({ address }) => address);
|
|
45
82
|
const written = await store.mail.setSenderScores(stored.id, [...scores.values()], now);
|
|
46
|
-
await store.sync.setSyncState(key, SCORED, JSON.stringify({ version: SCORE_VERSION, at: now }));
|
|
47
|
-
return written;
|
|
83
|
+
await store.sync.setSyncState(key, SCORED, JSON.stringify({ version: SCORE_VERSION, at: now, demoted }));
|
|
84
|
+
return { scored: written, ...lookups, demoted: demoted.length };
|
|
85
|
+
};
|
|
86
|
+
/** Every mail account's senders whose mail search ranks lower, as the last scoring left them. */
|
|
87
|
+
export const demotedSenders = async (store) => {
|
|
88
|
+
const senders = new Set();
|
|
89
|
+
for (const account of await store.accounts.accounts()) {
|
|
90
|
+
if (account.provider !== "email")
|
|
91
|
+
continue;
|
|
92
|
+
const value = (await store.sync.syncState(account, SCORED))?.value;
|
|
93
|
+
for (const sender of value === undefined ? [] : (JSON.parse(value).demoted ?? []))
|
|
94
|
+
senders.add(sender);
|
|
95
|
+
}
|
|
96
|
+
return senders;
|
|
48
97
|
};
|
|
49
98
|
//# sourceMappingURL=sender-scores.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sender-scores.js","sourceRoot":"","sources":["../../src/mail/sender-scores.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"sender-scores.js","sourceRoot":"","sources":["../../src/mail/sender-scores.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/notes/command.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK1D,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/notes/command.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK1D,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAsD9D,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA0NzF,CAAA"}
|