@wirecat/cli-memo 0.30.0 → 0.31.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 +1 -1
- package/dist/answers/command.d.ts.map +1 -1
- package/dist/answers/command.js +3 -2
- package/dist/answers/command.js.map +1 -1
- package/dist/bin/memo.js +8 -0
- package/dist/bin/memo.js.map +1 -1
- package/dist/config.d.ts +8 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -7
- package/dist/config.js.map +1 -1
- package/dist/context/command.d.ts.map +1 -1
- package/dist/context/command.js +3 -2
- package/dist/context/command.js.map +1 -1
- package/dist/discovery/command.d.ts +1 -1
- package/dist/discovery/command.js +1 -1
- package/dist/doctor/command.d.ts +81 -0
- package/dist/doctor/command.d.ts.map +1 -0
- package/dist/doctor/command.js +150 -0
- package/dist/doctor/command.js.map +1 -0
- package/dist/effects.d.ts.map +1 -1
- package/dist/effects.js +2 -0
- package/dist/effects.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +2 -0
- package/dist/examples.js.map +1 -1
- package/dist/knowledge/command.d.ts.map +1 -1
- package/dist/knowledge/command.js +4 -8
- package/dist/knowledge/command.js.map +1 -1
- package/dist/mail/command.d.ts.map +1 -1
- package/dist/mail/command.js +31 -12
- package/dist/mail/command.js.map +1 -1
- package/dist/mail/domain-age.d.ts +21 -0
- package/dist/mail/domain-age.d.ts.map +1 -0
- package/dist/mail/domain-age.js +99 -0
- package/dist/mail/domain-age.js.map +1 -0
- package/dist/mail/gmail.d.ts +1 -1
- package/dist/mail/gmail.d.ts.map +1 -1
- package/dist/mail/gmail.js +6 -1
- package/dist/mail/gmail.js.map +1 -1
- package/dist/mail/headers.d.ts +17 -3
- package/dist/mail/headers.d.ts.map +1 -1
- package/dist/mail/headers.js +32 -3
- package/dist/mail/headers.js.map +1 -1
- package/dist/mail/himalaya.d.ts +5 -0
- package/dist/mail/himalaya.d.ts.map +1 -1
- package/dist/mail/himalaya.js +34 -5
- package/dist/mail/himalaya.js.map +1 -1
- package/dist/mail/import.d.ts.map +1 -1
- package/dist/mail/import.js +2 -0
- package/dist/mail/import.js.map +1 -1
- package/dist/mail/messages-command.d.ts.map +1 -1
- package/dist/mail/messages-command.js +3 -2
- package/dist/mail/messages-command.js.map +1 -1
- package/dist/mail/probe.d.ts +7 -1
- package/dist/mail/probe.d.ts.map +1 -1
- package/dist/mail/probe.js +12 -1
- package/dist/mail/probe.js.map +1 -1
- package/dist/mail/resume.js +1 -1
- package/dist/mail/resume.js.map +1 -1
- package/dist/mail/rules.d.ts +2 -2
- package/dist/mail/rules.d.ts.map +1 -1
- package/dist/mail/rules.js +3 -3
- package/dist/mail/rules.js.map +1 -1
- package/dist/mail/score.d.ts +50 -0
- package/dist/mail/score.d.ts.map +1 -0
- package/dist/mail/score.js +118 -0
- package/dist/mail/score.js.map +1 -0
- package/dist/notes/folders-command.d.ts.map +1 -1
- package/dist/notes/folders-command.js +3 -1
- package/dist/notes/folders-command.js.map +1 -1
- package/dist/notes/search.js +1 -1
- package/dist/notes/search.js.map +1 -1
- package/dist/output.d.ts +9 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +35 -3
- package/dist/output.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +4 -0
- 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/records/run.d.ts +1 -1
- package/dist/records/run.d.ts.map +1 -1
- package/dist/records/run.js +3 -3
- package/dist/records/run.js.map +1 -1
- package/dist/run/auto.d.ts +11 -1
- package/dist/run/auto.d.ts.map +1 -1
- package/dist/run/auto.js +39 -7
- package/dist/run/auto.js.map +1 -1
- package/dist/run/import.js +3 -3
- package/dist/run/import.js.map +1 -1
- package/dist/search/answers.d.ts +61 -0
- package/dist/search/answers.d.ts.map +1 -0
- package/dist/search/answers.js +39 -0
- package/dist/search/answers.js.map +1 -0
- package/dist/search/command.d.ts.map +1 -1
- package/dist/search/command.js +9 -5
- package/dist/search/command.js.map +1 -1
- package/dist/tags/command.d.ts.map +1 -1
- package/dist/tags/command.js +9 -1
- package/dist/tags/command.js.map +1 -1
- package/dist/update.d.ts +26 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +67 -0
- package/dist/update.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -2
- package/skills/cli-memo/SKILL.md +9 -4
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { isDisposableEmailDomain } from "disposable-email-domains-js";
|
|
2
|
+
import { getDomain } from "tldts";
|
|
3
|
+
/**
|
|
4
|
+
* How much each sign of spam, a scam or a robot adds to a sender's score. Gmail filters spam before it reaches
|
|
5
|
+
* All Mail, so these mostly find what got through: spoofed senders, scams and robots no rule covers yet.
|
|
6
|
+
*/
|
|
7
|
+
export const WEIGHTS = {
|
|
8
|
+
spam_folder: 4,
|
|
9
|
+
dmarc_fail: 3,
|
|
10
|
+
brand_spoof: 3,
|
|
11
|
+
young_domain: 3,
|
|
12
|
+
reply_to_elsewhere: 2,
|
|
13
|
+
disposable_domain: 2,
|
|
14
|
+
bulk_never_replied: 1,
|
|
15
|
+
replied: -5,
|
|
16
|
+
};
|
|
17
|
+
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
|
+
"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, a throwaway-mail domain +2, bulk mail never replied to +1, replied to by the owner -5";
|
|
20
|
+
/** A domain registered too recently to trust: under this many days old when the mail arrived. */
|
|
21
|
+
export const YOUNG_DAYS = 180;
|
|
22
|
+
/** The part of a host a person registers: `mail.news.example.co.uk` is `example.co.uk`. */
|
|
23
|
+
export const registrableOf = (address) => {
|
|
24
|
+
const host = address.slice(address.lastIndexOf("@") + 1).toLowerCase();
|
|
25
|
+
return getDomain(host) ?? host;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The big mailbox providers. Their domains are years old and say nothing about the sender, so they are never
|
|
29
|
+
* looked up; a brand display name sent from one of them is the classic scam.
|
|
30
|
+
*/
|
|
31
|
+
export const FREE_MAIL = new Set([
|
|
32
|
+
"gmail.com",
|
|
33
|
+
"googlemail.com",
|
|
34
|
+
"yahoo.com",
|
|
35
|
+
"outlook.com",
|
|
36
|
+
"hotmail.com",
|
|
37
|
+
"live.com",
|
|
38
|
+
"msn.com",
|
|
39
|
+
"icloud.com",
|
|
40
|
+
"me.com",
|
|
41
|
+
"aol.com",
|
|
42
|
+
"proton.me",
|
|
43
|
+
"protonmail.com",
|
|
44
|
+
"gmx.com",
|
|
45
|
+
"gmx.de",
|
|
46
|
+
"mail.com",
|
|
47
|
+
"yandex.ru",
|
|
48
|
+
"ya.ru",
|
|
49
|
+
"mail.ru",
|
|
50
|
+
"bk.ru",
|
|
51
|
+
"inbox.ru",
|
|
52
|
+
"list.ru",
|
|
53
|
+
"rambler.ru",
|
|
54
|
+
"zoho.com",
|
|
55
|
+
]);
|
|
56
|
+
/** A brand and the first labels of the domains it really sends from. */
|
|
57
|
+
const BRANDS = {
|
|
58
|
+
paypal: ["paypal"],
|
|
59
|
+
apple: ["apple", "icloud"],
|
|
60
|
+
microsoft: ["microsoft", "outlook", "office", "office365", "live", "hotmail", "azure"],
|
|
61
|
+
google: ["google", "gmail", "youtube", "googlemail"],
|
|
62
|
+
amazon: ["amazon", "amazonaws", "aws"],
|
|
63
|
+
netflix: ["netflix"],
|
|
64
|
+
facebook: ["facebook", "facebookmail", "meta", "fb"],
|
|
65
|
+
instagram: ["instagram", "facebookmail"],
|
|
66
|
+
whatsapp: ["whatsapp"],
|
|
67
|
+
linkedin: ["linkedin"],
|
|
68
|
+
dhl: ["dhl"],
|
|
69
|
+
fedex: ["fedex"],
|
|
70
|
+
docusign: ["docusign"],
|
|
71
|
+
dropbox: ["dropbox"],
|
|
72
|
+
binance: ["binance"],
|
|
73
|
+
coinbase: ["coinbase"],
|
|
74
|
+
revolut: ["revolut"],
|
|
75
|
+
};
|
|
76
|
+
/** The brand a display name claims while the address belongs to someone else, if any. */
|
|
77
|
+
export const spoofedBrand = (name, address) => {
|
|
78
|
+
if (name === undefined || address === undefined)
|
|
79
|
+
return undefined;
|
|
80
|
+
const label = registrableOf(address).split(".")[0] ?? "";
|
|
81
|
+
return Object.entries(BRANDS).find(([brand, owned]) => new RegExp(`\\b${brand}\\b`, "i").test(name) && !owned.includes(label))?.[0];
|
|
82
|
+
};
|
|
83
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
84
|
+
/** Under YOUNG_DAYS old at `at`; false when the age is not known. */
|
|
85
|
+
export const youngAt = (age, at) => age?.created !== undefined && Date.parse(at) - Date.parse(age.created) < YOUNG_DAYS * DAY_MS;
|
|
86
|
+
const most = (items, test) => items.filter((item) => test(item)).length * 2 >= items.length;
|
|
87
|
+
/**
|
|
88
|
+
* A sender group's score from the facts its emails carry. A sign counts when it holds for at least half the group's
|
|
89
|
+
* emails, so one odd email does not mark a sender; a spoofed brand counts on any one.
|
|
90
|
+
*/
|
|
91
|
+
export const scoreGroup = (items, context) => {
|
|
92
|
+
const signals = [];
|
|
93
|
+
const judged = items.filter((item) => item.headers?.auth?.dmarc !== undefined);
|
|
94
|
+
if (most(items, (item) => item.labels?.includes("Spam")))
|
|
95
|
+
signals.push("spam_folder");
|
|
96
|
+
if (judged.length && most(judged, (item) => item.headers?.auth?.dmarc === "fail"))
|
|
97
|
+
signals.push("dmarc_fail");
|
|
98
|
+
if (items.some((item) => spoofedBrand(item.headers?.fromName, item.headers?.from) !== undefined))
|
|
99
|
+
signals.push("brand_spoof");
|
|
100
|
+
const sender = items.find((item) => item.headers?.from !== undefined)?.headers?.from;
|
|
101
|
+
const domain = sender === undefined ? undefined : registrableOf(sender);
|
|
102
|
+
const first = items.reduce((a, b) => (a.receivedAt < b.receivedAt ? a : b));
|
|
103
|
+
if (domain !== undefined && youngAt(context.ages.get(domain), first.receivedAt))
|
|
104
|
+
signals.push("young_domain");
|
|
105
|
+
if (most(items, (item) => {
|
|
106
|
+
const { from, replyTo } = item.headers ?? {};
|
|
107
|
+
return from !== undefined && replyTo !== undefined && registrableOf(replyTo) !== registrableOf(from);
|
|
108
|
+
}))
|
|
109
|
+
signals.push("reply_to_elsewhere");
|
|
110
|
+
if (domain !== undefined && isDisposableEmailDomain(domain))
|
|
111
|
+
signals.push("disposable_domain");
|
|
112
|
+
if (context.bulk >= 0.8 && !context.replied)
|
|
113
|
+
signals.push("bulk_never_replied");
|
|
114
|
+
if (context.replied)
|
|
115
|
+
signals.push("replied");
|
|
116
|
+
return { score: signals.reduce((sum, signal) => sum + WEIGHTS[signal], 0), signals };
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=score.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/mail/score.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders-command.d.ts","sourceRoot":"","sources":["../../src/notes/folders-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AA2B9D,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,
|
|
1
|
+
{"version":3,"file":"folders-command.d.ts","sourceRoot":"","sources":["../../src/notes/folders-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AA2B9D,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAgG3F,CAAA"}
|
|
@@ -104,7 +104,9 @@ export const foldersCommand = (program, streams, env) => {
|
|
|
104
104
|
.map(({ id, name, format }) => ({ id, name, format, ...(keptByDrive(name) ? { keptBy: "drive" } : {}) }));
|
|
105
105
|
return { items: here, elsewhere };
|
|
106
106
|
});
|
|
107
|
-
print(options.json,
|
|
107
|
+
print(options.json,
|
|
108
|
+
// A folder the store knows from another computer has no path here.
|
|
109
|
+
[...answer.items, ...answer.elsewhere.map((folder) => ({ ...folder, path: null }))], [
|
|
108
110
|
...answer.items.map(line),
|
|
109
111
|
...answer.elsewhere.map(({ id, name, keptBy }) => keptBy
|
|
110
112
|
? `${id} kept by drive (${name})`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders-command.js","sourceRoot":"","sources":["../../src/notes/folders-command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"folders-command.js","sourceRoot":"","sources":["../../src/notes/folders-command.ts"],"names":[],"mappings":"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"}
|
package/dist/notes/search.js
CHANGED
|
@@ -8,7 +8,7 @@ export const searchText = (result) => [
|
|
|
8
8
|
]
|
|
9
9
|
: []),
|
|
10
10
|
...result.hits.map((hit) => `${"key" in hit ? "key " : ""}${hit.path ?? hit.ref}${hit.found_by.includes("words") ? "" : " (by meaning)"}\n ${hit.excerpt}`),
|
|
11
|
-
...(result.has_more ? ["More notes match; raise --limit or
|
|
11
|
+
...(result.has_more ? ["More notes match; raise --limit or continue with --offset."] : []),
|
|
12
12
|
...(result.linked.length === 0
|
|
13
13
|
? []
|
|
14
14
|
: [
|
package/dist/notes/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/notes/search.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAU,EAAE,CACxD;IACE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC;YACE,MAAM,CAAC,GAAG,KAAK,SAAS;gBACtB,CAAC,CAAC,kBAAkB,MAAM,CAAC,KAAK,4CAA4C;gBAC5E,CAAC,CAAC,kBAAkB,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,KAAK,IAAI;SAC9D;QACH,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,OAAO,GAAG,CAAC,OAAO,EAAE,CACpI;IACD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/notes/search.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAU,EAAE,CACxD;IACE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC;YACE,MAAM,CAAC,GAAG,KAAK,SAAS;gBACtB,CAAC,CAAC,kBAAkB,MAAM,CAAC,KAAK,4CAA4C;gBAC5E,CAAC,CAAC,kBAAkB,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,KAAK,IAAI;SAC9D;QACH,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,OAAO,GAAG,CAAC,OAAO,EAAE,CACpI;IACD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,EAAE;YACF,yBAAyB;YACzB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAClB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,2BAA2B,MAAM,KAAK,GAAG,CAChG;SACF,CAAC;CACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
package/dist/output.d.ts
CHANGED
|
@@ -6,4 +6,13 @@ export declare const snakeKeys: (value: unknown) => unknown;
|
|
|
6
6
|
export declare const metaOf: (startedAt: number, extra?: Omit<Meta, "run_id" | "duration_ms" | "complete"> & Partial<Pick<Meta, "complete">>) => Meta;
|
|
7
7
|
/** Prints JSON at cli-core's detail level, which picks a hit's fields by their camelCase names, then snake_case. */
|
|
8
8
|
export declare const printAtDetail: (streams: Streams, value: unknown, level?: "brief" | "default" | "full") => void;
|
|
9
|
+
/**
|
|
10
|
+
* Any answer in the standard's envelope. An array, or a page of only `items` and `hasMore`, is a list; anything
|
|
11
|
+
* else is one item, so a list that carries more than its page keeps all of it.
|
|
12
|
+
*/
|
|
13
|
+
export declare const envelopeOf: (value: unknown, startedAt: number, extra?: Parameters<typeof metaOf>[1]) => object;
|
|
14
|
+
/** {@link envelopeOf} with every key snake_case. */
|
|
15
|
+
export declare const answerOf: (value: unknown, startedAt: number, extra?: Parameters<typeof metaOf>[1]) => unknown;
|
|
16
|
+
/** When this process started: a command that prints through a shared printer times its answer from here. */
|
|
17
|
+
export declare const processStart: () => number;
|
|
9
18
|
//# sourceMappingURL=output.d.ts.map
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAWvD,yGAAyG;AACzG,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,OAM1C,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,MAAM,cACN,MAAM,UACV,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,KACzF,IAKD,CAAA;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAWvD,yGAAyG;AACzG,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,OAM1C,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,MAAM,cACN,MAAM,UACV,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,KACzF,IAKD,CAAA;AAYF,oHAAoH;AACpH,eAAO,MAAM,aAAa,YAAa,OAAO,SAAS,OAAO,UAAU,OAAO,GAAG,SAAS,GAAG,MAAM,KAAG,IAMtG,CAAA;AAOD;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,aAAa,MAAM,UAAS,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAQ,MAcxG,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,QAAQ,UAAW,OAAO,aAAa,MAAM,UAAS,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAQ,OACvD,CAAA;AAEhD,4GAA4G;AAC5G,eAAO,MAAM,YAAY,QAAO,MAAgC,CAAA"}
|
package/dist/output.js
CHANGED
|
@@ -20,14 +20,46 @@ export const metaOf = (startedAt, extra = {}) => ({
|
|
|
20
20
|
complete: true,
|
|
21
21
|
...extra,
|
|
22
22
|
});
|
|
23
|
-
|
|
24
|
-
export const printAtDetail = (streams, value, level) => {
|
|
23
|
+
const atLevel = (streams, value, level) => {
|
|
25
24
|
let picked = "";
|
|
26
25
|
resolveOutput({
|
|
27
26
|
json: true,
|
|
28
27
|
streams: { ...streams, data: (chunk) => (picked += chunk) },
|
|
29
28
|
...(level === undefined ? {} : { hitDetail: level }),
|
|
30
29
|
}).renderer.result(value);
|
|
31
|
-
|
|
30
|
+
return JSON.parse(picked);
|
|
31
|
+
};
|
|
32
|
+
/** Prints JSON at cli-core's detail level, which picks a hit's fields by their camelCase names, then snake_case. */
|
|
33
|
+
export const printAtDetail = (streams, value, level) => {
|
|
34
|
+
const body = isRecord(value) && "item" in value
|
|
35
|
+
? { ...value, item: atLevel(streams, value.item, level) }
|
|
36
|
+
: atLevel(streams, value, level);
|
|
37
|
+
createRenderer({ format: "json", color: false, streams }).result(snakeKeys(body));
|
|
38
|
+
};
|
|
39
|
+
const isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && !(value instanceof Date);
|
|
40
|
+
const PAGE_KEYS = new Set(["items", "hasMore", "has_more"]);
|
|
41
|
+
/**
|
|
42
|
+
* Any answer in the standard's envelope. An array, or a page of only `items` and `hasMore`, is a list; anything
|
|
43
|
+
* else is one item, so a list that carries more than its page keeps all of it.
|
|
44
|
+
*/
|
|
45
|
+
export const envelopeOf = (value, startedAt, extra = {}) => {
|
|
46
|
+
const meta = metaOf(startedAt, extra);
|
|
47
|
+
const rows = Array.isArray(value)
|
|
48
|
+
? { items: value }
|
|
49
|
+
: isRecord(value) && Array.isArray(value.items) && Object.keys(value).every((key) => PAGE_KEYS.has(key))
|
|
50
|
+
? value
|
|
51
|
+
: undefined;
|
|
52
|
+
if (rows === undefined)
|
|
53
|
+
return { item: value, meta };
|
|
54
|
+
const items = rows.items;
|
|
55
|
+
return {
|
|
56
|
+
items,
|
|
57
|
+
page: { mode: "page", limit: Math.max(1, items.length), has_more: rows.hasMore === true || rows.has_more === true },
|
|
58
|
+
meta,
|
|
59
|
+
};
|
|
32
60
|
};
|
|
61
|
+
/** {@link envelopeOf} with every key snake_case. */
|
|
62
|
+
export const answerOf = (value, startedAt, extra = {}) => snakeKeys(envelopeOf(value, startedAt, extra));
|
|
63
|
+
/** When this process started: a command that prints through a shared printer times its answer from here. */
|
|
64
|
+
export const processStart = () => performance.timeOrigin;
|
|
33
65
|
//# sourceMappingURL=output.js.map
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,2GAA2G;AAC3G,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;AAEhF,MAAM,UAAU,GAAG,qBAAqB,CAAA;AAExC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CACvC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAEvF,yGAAyG;AACzG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACtF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CACxG,CAAA;AACH,CAAC,CAAA;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,SAAiB,EACjB,KAAK,GAAwF,EAAE,EACzF,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,UAAU,EAAE;IACpB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,QAAQ,EAAE,IAAI;IACd,GAAG,KAAK;CACT,CAAC,CAAA;AAEF,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6BnC,eAAO,MAAM,aAAa,4BAGvB;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB,KAAQ,OA0CR,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAAa,OAAO,QAAQ,SAAS,MAAM,EAAE,KAAG,IAgB5E,CAAA"}
|
package/dist/program.js
CHANGED
|
@@ -7,6 +7,7 @@ import { askCommand } from "./answers/command.js";
|
|
|
7
7
|
import { APP } from "./app.js";
|
|
8
8
|
import { contextCommand } from "./context/command.js";
|
|
9
9
|
import { commandsCommand } from "./discovery/command.js";
|
|
10
|
+
import { doctorCommand } from "./doctor/command.js";
|
|
10
11
|
import { addEffects } from "./effects.js";
|
|
11
12
|
import { addExamples } from "./examples.js";
|
|
12
13
|
import { factsCommand } from "./facts/command.js";
|
|
@@ -24,6 +25,7 @@ import { syncCommand } from "./run/import.js";
|
|
|
24
25
|
import { searchCommand } from "./search/command.js";
|
|
25
26
|
import { tagsCommand } from "./tags/command.js";
|
|
26
27
|
import { tasksCommand } from "./tasks/command.js";
|
|
28
|
+
import { upgradeCommand } from "./update.js";
|
|
27
29
|
import { VERSION } from "./version.js";
|
|
28
30
|
import { vocabularyCommand } from "./vocabulary/command.js";
|
|
29
31
|
export const createProgram = ({ streams: raw = processStreams, env = process.env, } = {}) => {
|
|
@@ -52,6 +54,8 @@ export const createProgram = ({ streams: raw = processStreams, env = process.env
|
|
|
52
54
|
askCommand(program, streams, env);
|
|
53
55
|
syncCommand(program, streams, env);
|
|
54
56
|
autoCommand(program, streams, env);
|
|
57
|
+
doctorCommand(program, streams, env);
|
|
58
|
+
program.addCommand(upgradeCommand(streams));
|
|
55
59
|
commandsCommand(program, streams);
|
|
56
60
|
program.addCommand(skillCommand(APP, new URL("../skills/cli-memo/SKILL.md", import.meta.url), () => ({
|
|
57
61
|
renderer: createRenderer({ format: "pretty", color: false, streams }),
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.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,EA2D/B,CAAA"}
|
package/dist/reasons.js
CHANGED
|
@@ -31,6 +31,12 @@ export const REASONS = defineReasons([
|
|
|
31
31
|
reason: "mail.source-failed",
|
|
32
32
|
code: "provider_error",
|
|
33
33
|
message: "the mail program failed",
|
|
34
|
+
details: ["exit_code", "signal", "stderr_tail"],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
reason: "mail.throttled",
|
|
38
|
+
code: "rate_limited",
|
|
39
|
+
message: "Gmail is limiting this account's IMAP traffic; try again in an hour or more",
|
|
34
40
|
details: [],
|
|
35
41
|
},
|
|
36
42
|
{
|
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,6CAA6C;QACtD,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,oBAAoB;QAC5B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,yBAAyB;QAClC,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,6CAA6C;QACtD,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,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/records/run.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Streams } from "@wirecat/cli-base";
|
|
2
2
|
import { type MessageStore } from "@wirecat/cli-core/store";
|
|
3
|
-
/** Prints an answer as JSON, or for a person as `text`, or as indented JSON where
|
|
3
|
+
/** Prints an answer as JSON in the envelope, or for a person as `text`, or as indented JSON where it has no text view. */
|
|
4
4
|
export declare const printing: (streams: Streams) => (json: boolean | undefined, answer: unknown, text?: string) => void;
|
|
5
5
|
/** Opens the store for one command, prints its answer as JSON or as indented text, and closes the store. */
|
|
6
6
|
export declare const answering: (streams: Streams, env: NodeJS.ProcessEnv) => (json: boolean | undefined, work: (store: MessageStore) => Promise<unknown>) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,yBAAyB,CAAA;AAGtE,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,yBAAyB,CAAA;AAGtE,0HAA0H;AAC1H,eAAO,MAAM,QAAQ,YACT,OAAO,YACV,OAAO,GAAG,SAAS,UAAU,OAAO,SAAS,MAAM,KAAG,IAG5D,CAAA;AAEH,4GAA4G;AAC5G,eAAO,MAAM,SAAS,YAAa,OAAO,OAAO,MAAM,CAAC,UAAU,YAE5C,OAAO,GAAG,SAAS,QAAQ,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAQxG,CAAA"}
|
package/dist/records/run.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRenderer } from "@wirecat/cli-base";
|
|
2
2
|
import { openStore } from "@wirecat/cli-core/store";
|
|
3
|
-
import { snakeKeys } from "../output.js";
|
|
4
|
-
/** Prints an answer as JSON, or for a person as `text`, or as indented JSON where
|
|
3
|
+
import { answerOf, processStart, snakeKeys } from "../output.js";
|
|
4
|
+
/** Prints an answer as JSON in the envelope, or for a person as `text`, or as indented JSON where it has no text view. */
|
|
5
5
|
export const printing = (streams) => (json, answer, text) => {
|
|
6
6
|
if (json)
|
|
7
|
-
createRenderer({ format: "json", color: false, streams }).result(
|
|
7
|
+
createRenderer({ format: "json", color: false, streams }).result(answerOf(answer, processStart()));
|
|
8
8
|
else
|
|
9
9
|
streams.data(`${text ?? JSON.stringify(snakeKeys(answer), null, 2)}\n`);
|
|
10
10
|
};
|
package/dist/records/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAqB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAqB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEhE,0HAA0H;AAC1H,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,IAAyB,EAAE,MAAe,EAAE,IAAa,EAAQ,EAAE;IAClE,IAAI,IAAI;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;;QACvG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9E,CAAC,CAAA;AAEH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,GAAsB,EAAE,EAAE;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,OAAO,KAAK,EAAE,IAAyB,EAAE,IAA+C,EAAiB,EAAE;QACzG,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/dist/run/auto.d.ts
CHANGED
|
@@ -9,11 +9,15 @@ export declare const recordAutoRun: (env: NodeJS.ProcessEnv, at: number, reason:
|
|
|
9
9
|
export declare const autoNotice: (env: NodeJS.ProcessEnv) => string | undefined;
|
|
10
10
|
/** `5m`, `90s`, `1h` → systemd's `5min`, `90s`, `1h`; under a minute is refused. */
|
|
11
11
|
export declare const interval: (value: string) => string;
|
|
12
|
-
|
|
12
|
+
/** The variables that move memo's folders and the store; the timer runs with the ones set at `memo auto start`. */
|
|
13
|
+
export declare const PLACE_VARIABLES: readonly ["MEMO_CONFIG_DIR", "MEMO_STATE_DIR", "MEMO_CACHE_DIR", "MESSAGING_STORE", "WIRECAT_STATE_DIR"];
|
|
14
|
+
export declare const placesOf: (env: NodeJS.ProcessEnv) => Record<string, string>;
|
|
15
|
+
export declare const serviceUnit: (env: NodeJS.ProcessEnv, places?: Record<string, string>) => string;
|
|
13
16
|
export declare const timerUnit: (every: string) => string;
|
|
14
17
|
export interface AutoState {
|
|
15
18
|
enabled: boolean;
|
|
16
19
|
every: string;
|
|
20
|
+
places: Record<string, string>;
|
|
17
21
|
}
|
|
18
22
|
export declare const autoState: (config: Config) => AutoState;
|
|
19
23
|
/**
|
|
@@ -21,5 +25,11 @@ export declare const autoState: (config: Config) => AutoState;
|
|
|
21
25
|
* hand edit of `auto` takes effect at the next timer run, which calls this first.
|
|
22
26
|
*/
|
|
23
27
|
export declare const applyAuto: (env: NodeJS.ProcessEnv, state: AutoState) => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* The timer runs the memo that last ran here: after `nvm use` and an install under the new Node, the
|
|
30
|
+
* first memo command points the unit at it, so removing the old Node does not leave the timer broken.
|
|
31
|
+
* Only an installed memo moves it — a checkout or `npx` would point it at a folder that goes away.
|
|
32
|
+
*/
|
|
33
|
+
export declare const followInstall: (env: NodeJS.ProcessEnv, scriptPath?: string) => Promise<void>;
|
|
24
34
|
export declare const autoCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
|
|
25
35
|
//# sourceMappingURL=auto.d.ts.map
|
package/dist/run/auto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/run/auto.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/run/auto.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAExF,OAAO,EAAiB,KAAK,OAAO,EAAa,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,cAAc,CAAA;AAGpE,eAAO,MAAM,aAAa,OAAO,CAAA;AAMjC,eAAO,MAAM,WAAW,QAAS,MAAM,CAAC,UAAU,KAAG,OAAO,GAAG,SAM9D,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,QAAS,MAAM,CAAC,UAAU,MAAM,MAAM,UAAU,MAAM,GAAG,SAAS,KAAG,IAQ9F,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU,KAAG,MAAM,GAAG,SAG6B,CAAA;AAE1F,oFAAoF;AACpF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAKxC,CAAA;AAWD,mHAAmH;AACnH,eAAO,MAAM,eAAe,YAC1B,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,CACX,CAAA;AAEV,eAAO,MAAM,QAAQ,QAAS,MAAM,CAAC,UAAU,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CACwB,CAAA;AAE/F,eAAO,MAAM,WAAW,QAAS,MAAM,CAAC,UAAU,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAQ,MAc5E,CAAA;AAEd,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAa5B,CAAA;AAiBd,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,SAIzC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAe,MAAM,CAAC,UAAU,SAAS,SAAS,KAAG,OAAO,CAAC,IAAI,CAwBtF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAe,MAAM,CAAC,UAAU,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAM7F,CAAA;AAOD,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAwExF,CAAA"}
|
package/dist/run/auto.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
-
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { dirname, join, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { CliError, createRenderer, resolvePaths } from "@wirecat/cli-base";
|
|
7
|
+
import { installerOf } from "@wirecat/cli-base/update";
|
|
7
8
|
import { failingNotice, recordRun } from "@wirecat/cli-core/background";
|
|
8
9
|
import { InvalidArgumentError } from "commander";
|
|
9
10
|
import { loadConfig, updateConfig } from "../config.js";
|
|
10
|
-
import {
|
|
11
|
+
import { answerOf } from "../output.js";
|
|
11
12
|
export const DEFAULT_EVERY = "5m";
|
|
12
13
|
const UNIT = "memo-import";
|
|
13
14
|
const lastRunPath = (env) => join(resolvePaths({ appName: "cli-memo", prefix: "MEMO", env }).state, "auto", "last.json");
|
|
@@ -45,7 +46,16 @@ const systemdSpan = (every) => every.replace(/m$/, "min");
|
|
|
45
46
|
const unitDir = (env) => join(env.XDG_CONFIG_HOME ?? join(env.HOME ?? homedir(), ".config"), "systemd", "user");
|
|
46
47
|
const quote = (arg) => `"${arg.replace(/(["\\])/g, "\\$1")}"`;
|
|
47
48
|
const memoBin = () => resolve(dirname(fileURLToPath(import.meta.url)), "../bin/memo.js");
|
|
48
|
-
|
|
49
|
+
/** The variables that move memo's folders and the store; the timer runs with the ones set at `memo auto start`. */
|
|
50
|
+
export const PLACE_VARIABLES = [
|
|
51
|
+
"MEMO_CONFIG_DIR",
|
|
52
|
+
"MEMO_STATE_DIR",
|
|
53
|
+
"MEMO_CACHE_DIR",
|
|
54
|
+
"MESSAGING_STORE",
|
|
55
|
+
"WIRECAT_STATE_DIR",
|
|
56
|
+
];
|
|
57
|
+
export const placesOf = (env) => Object.fromEntries(PLACE_VARIABLES.flatMap((name) => (env[name] ? [[name, env[name]]] : [])));
|
|
58
|
+
export const serviceUnit = (env, places = {}) => [
|
|
49
59
|
"[Unit]",
|
|
50
60
|
"Description=memo: sync notes and mail into the shared store",
|
|
51
61
|
"",
|
|
@@ -53,7 +63,9 @@ export const serviceUnit = (env) => [
|
|
|
53
63
|
"Type=oneshot",
|
|
54
64
|
`ExecStart=${[process.execPath, memoBin(), "sync"].map(quote).join(" ")}`,
|
|
55
65
|
// Himalaya and the keyring helper it calls are found on the PATH memo was set up with.
|
|
56
|
-
`Environment=${
|
|
66
|
+
`Environment=${[`PATH=${env.PATH ?? ""}`, ...Object.entries(places).map(([name, value]) => `${name}=${value}`)]
|
|
67
|
+
.map(quote)
|
|
68
|
+
.join(" ")} MEMO_AUTO=1`,
|
|
57
69
|
"Nice=10",
|
|
58
70
|
"",
|
|
59
71
|
].join("\n");
|
|
@@ -78,6 +90,7 @@ const systemctl = (env) => (...args) => new Promise((done, fail) => execFile(env
|
|
|
78
90
|
export const autoState = (config) => ({
|
|
79
91
|
enabled: config.auto?.enabled ?? false,
|
|
80
92
|
every: config.auto?.every ?? DEFAULT_EVERY,
|
|
93
|
+
places: config.auto?.places ?? {},
|
|
81
94
|
});
|
|
82
95
|
/**
|
|
83
96
|
* Makes the timer match the config: on with its interval, or gone. The config is the one source, so a
|
|
@@ -97,7 +110,7 @@ export const applyAuto = async (env, state) => {
|
|
|
97
110
|
await run("daemon-reload");
|
|
98
111
|
return;
|
|
99
112
|
}
|
|
100
|
-
const wanted = { [servicePath]: serviceUnit(env), [timerPath]: timerUnit(state.every) };
|
|
113
|
+
const wanted = { [servicePath]: serviceUnit(env, state.places), [timerPath]: timerUnit(state.every) };
|
|
101
114
|
const stale = Object.entries(wanted).filter(([path, text]) => !existsSync(path) || readFileSync(path, "utf8") !== text);
|
|
102
115
|
if (stale.length === 0)
|
|
103
116
|
return;
|
|
@@ -110,6 +123,21 @@ export const applyAuto = async (env, state) => {
|
|
|
110
123
|
if (stale.some(([path]) => path === timerPath))
|
|
111
124
|
await run("restart", `${UNIT}.timer`);
|
|
112
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* The timer runs the memo that last ran here: after `nvm use` and an install under the new Node, the
|
|
128
|
+
* first memo command points the unit at it, so removing the old Node does not leave the timer broken.
|
|
129
|
+
* Only an installed memo moves it — a checkout or `npx` would point it at a folder that goes away.
|
|
130
|
+
*/
|
|
131
|
+
export const followInstall = async (env, scriptPath) => {
|
|
132
|
+
if (env.MEMO_AUTO === "1")
|
|
133
|
+
return;
|
|
134
|
+
scriptPath ??= realpathSync(memoBin());
|
|
135
|
+
if (!["npm", "pnpm", "bun"].includes(installerOf(scriptPath)))
|
|
136
|
+
return;
|
|
137
|
+
const state = autoState(loadConfig(env));
|
|
138
|
+
if (state.enabled)
|
|
139
|
+
await applyAuto(env, state);
|
|
140
|
+
};
|
|
113
141
|
const failingOf = (last) => last && last.exitCode !== 0
|
|
114
142
|
? { since: last.failingSince ?? last.at, runs: last.failures ?? 1, reason: last.reason ?? null }
|
|
115
143
|
: null;
|
|
@@ -121,7 +149,10 @@ export const autoCommand = (program, streams, env) => {
|
|
|
121
149
|
.description("sync every --every (default auto.every, else 5m), starting a minute from now")
|
|
122
150
|
.option("--every <interval>", "how often: 5m, 90s, 1h — a minute or more", interval)
|
|
123
151
|
.action(async (options) => {
|
|
124
|
-
const config = updateConfig((current) => ({
|
|
152
|
+
const config = updateConfig((current) => ({
|
|
153
|
+
...current,
|
|
154
|
+
auto: { enabled: true, every: options.every ?? autoState(current).every, places: placesOf(env) },
|
|
155
|
+
}), env);
|
|
125
156
|
await applyAuto(env, autoState(config));
|
|
126
157
|
streams.data(`memo sync runs every ${autoState(config).every}.\n`);
|
|
127
158
|
});
|
|
@@ -138,6 +169,7 @@ export const autoCommand = (program, streams, env) => {
|
|
|
138
169
|
.description("whether the timer is on, its interval, its next run and how the last one ended")
|
|
139
170
|
.option("--json", "print JSON; --json=id,title keeps only those fields")
|
|
140
171
|
.action(async (options) => {
|
|
172
|
+
const startedAt = Date.now();
|
|
141
173
|
const state = autoState(loadConfig(env));
|
|
142
174
|
const show = async (unit, properties) => Object.fromEntries((await run("show", unit, "--property", properties).catch(() => ""))
|
|
143
175
|
.split("\n")
|
|
@@ -157,7 +189,7 @@ export const autoCommand = (program, streams, env) => {
|
|
|
157
189
|
failing: failingOf(lastAutoRun(env)),
|
|
158
190
|
};
|
|
159
191
|
if (options.json)
|
|
160
|
-
createRenderer({ format: "json", color: false, streams }).result(
|
|
192
|
+
createRenderer({ format: "json", color: false, streams }).result(answerOf(status, startedAt));
|
|
161
193
|
else
|
|
162
194
|
streams.data(`${status.enabled ? `on, every ${status.every}` : "off"} — timer ${status.timer}` +
|
|
163
195
|
(status.next ? `, next ${status.next}` : "") +
|
package/dist/run/auto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/run/auto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/run/auto.ts"],"names":[],"mappings":"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"}
|