@wirecat/cli-memo 0.24.0 → 0.26.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.
Files changed (194) hide show
  1. package/README.md +2 -2
  2. package/dist/actions/actions.d.ts +1 -1
  3. package/dist/actions/actions.d.ts.map +1 -1
  4. package/dist/actions/command.js +2 -2
  5. package/dist/actions/command.js.map +1 -1
  6. package/dist/answers/command.d.ts +1 -1
  7. package/dist/answers/command.d.ts.map +1 -1
  8. package/dist/answers/command.js +2 -2
  9. package/dist/answers/command.js.map +1 -1
  10. package/dist/app.d.ts +10 -1
  11. package/dist/app.d.ts.map +1 -1
  12. package/dist/app.js +3 -1
  13. package/dist/app.js.map +1 -1
  14. package/dist/author.d.ts +1 -1
  15. package/dist/author.d.ts.map +1 -1
  16. package/dist/bin/memo.js +25 -12
  17. package/dist/bin/memo.js.map +1 -1
  18. package/dist/config.d.ts +14 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +14 -1
  21. package/dist/config.js.map +1 -1
  22. package/dist/context/command.js +1 -1
  23. package/dist/context/command.js.map +1 -1
  24. package/dist/context/context.d.ts +3 -3
  25. package/dist/context/context.d.ts.map +1 -1
  26. package/dist/context/context.js +2 -2
  27. package/dist/context/context.js.map +1 -1
  28. package/dist/discovery/command.d.ts +1 -1
  29. package/dist/discovery/command.js +2 -2
  30. package/dist/discovery/command.js.map +1 -1
  31. package/dist/examples.d.ts.map +1 -1
  32. package/dist/examples.js +8 -0
  33. package/dist/examples.js.map +1 -1
  34. package/dist/facts/command.js +1 -1
  35. package/dist/facts/command.js.map +1 -1
  36. package/dist/failure.d.ts +65 -0
  37. package/dist/failure.d.ts.map +1 -0
  38. package/dist/failure.js +73 -0
  39. package/dist/failure.js.map +1 -0
  40. package/dist/knowledge/command.js +1 -1
  41. package/dist/knowledge/command.js.map +1 -1
  42. package/dist/knowledge/key-documents.d.ts +1 -1
  43. package/dist/knowledge/key-documents.d.ts.map +1 -1
  44. package/dist/knowledge/key-documents.js +1 -1
  45. package/dist/knowledge/key-documents.js.map +1 -1
  46. package/dist/mail/accounts.d.ts +11 -0
  47. package/dist/mail/accounts.d.ts.map +1 -0
  48. package/dist/mail/accounts.js +26 -0
  49. package/dist/mail/accounts.js.map +1 -0
  50. package/dist/mail/command.d.ts +4 -0
  51. package/dist/mail/command.d.ts.map +1 -0
  52. package/dist/mail/command.js +185 -0
  53. package/dist/mail/command.js.map +1 -0
  54. package/dist/mail/gmail.d.ts +7 -2
  55. package/dist/mail/gmail.d.ts.map +1 -1
  56. package/dist/mail/gmail.js +76 -37
  57. package/dist/mail/gmail.js.map +1 -1
  58. package/dist/mail/headers.d.ts +23 -0
  59. package/dist/mail/headers.d.ts.map +1 -0
  60. package/dist/mail/headers.js +42 -0
  61. package/dist/mail/headers.js.map +1 -0
  62. package/dist/mail/himalaya.d.ts +3 -1
  63. package/dist/mail/himalaya.d.ts.map +1 -1
  64. package/dist/mail/himalaya.js +2 -2
  65. package/dist/mail/himalaya.js.map +1 -1
  66. package/dist/mail/import.d.ts +17 -6
  67. package/dist/mail/import.d.ts.map +1 -1
  68. package/dist/mail/import.js +184 -78
  69. package/dist/mail/import.js.map +1 -1
  70. package/dist/mail/mbox.d.ts +9 -0
  71. package/dist/mail/mbox.d.ts.map +1 -0
  72. package/dist/mail/mbox.js +218 -0
  73. package/dist/mail/mbox.js.map +1 -0
  74. package/dist/mail/messages-command.js +3 -3
  75. package/dist/mail/messages-command.js.map +1 -1
  76. package/dist/mail/parse.d.ts +2 -2
  77. package/dist/mail/parse.d.ts.map +1 -1
  78. package/dist/mail/parse.js +27 -63
  79. package/dist/mail/parse.js.map +1 -1
  80. package/dist/mail/probe.d.ts +31 -0
  81. package/dist/mail/probe.d.ts.map +1 -0
  82. package/dist/mail/probe.js +55 -0
  83. package/dist/mail/probe.js.map +1 -0
  84. package/dist/mail/rules.d.ts +35 -0
  85. package/dist/mail/rules.d.ts.map +1 -0
  86. package/dist/mail/rules.js +45 -0
  87. package/dist/mail/rules.js.map +1 -0
  88. package/dist/mail/source.d.ts +20 -0
  89. package/dist/mail/source.d.ts.map +1 -0
  90. package/dist/mail/source.js +99 -0
  91. package/dist/mail/source.js.map +1 -0
  92. package/dist/mcp/knowledge.js +2 -2
  93. package/dist/mcp/knowledge.js.map +1 -1
  94. package/dist/mcp/server.d.ts.map +1 -1
  95. package/dist/mcp/server.js +21 -17
  96. package/dist/mcp/server.js.map +1 -1
  97. package/dist/mcp/tool.d.ts +1 -1
  98. package/dist/mcp/tool.d.ts.map +1 -1
  99. package/dist/memories/command.js +1 -1
  100. package/dist/memories/command.js.map +1 -1
  101. package/dist/memories/memories.d.ts +1 -1
  102. package/dist/memories/memories.d.ts.map +1 -1
  103. package/dist/notes/about.d.ts +1 -1
  104. package/dist/notes/about.d.ts.map +1 -1
  105. package/dist/notes/about.js +1 -1
  106. package/dist/notes/about.js.map +1 -1
  107. package/dist/notes/bound.d.ts +1 -1
  108. package/dist/notes/bound.d.ts.map +1 -1
  109. package/dist/notes/command.js +1 -1
  110. package/dist/notes/command.js.map +1 -1
  111. package/dist/notes/embed.d.ts +1 -1
  112. package/dist/notes/embed.d.ts.map +1 -1
  113. package/dist/notes/embed.js +9 -7
  114. package/dist/notes/embed.js.map +1 -1
  115. package/dist/notes/folders-command.js +1 -1
  116. package/dist/notes/folders-command.js.map +1 -1
  117. package/dist/notes/import.d.ts +2 -2
  118. package/dist/notes/import.d.ts.map +1 -1
  119. package/dist/notes/import.js +2 -2
  120. package/dist/notes/import.js.map +1 -1
  121. package/dist/notes/internal.d.ts +1 -1
  122. package/dist/notes/internal.d.ts.map +1 -1
  123. package/dist/notes/links.d.ts +1 -1
  124. package/dist/notes/links.d.ts.map +1 -1
  125. package/dist/notes/list.d.ts +1 -1
  126. package/dist/notes/list.d.ts.map +1 -1
  127. package/dist/notes/search.d.ts +3 -3
  128. package/dist/notes/search.d.ts.map +1 -1
  129. package/dist/notes/search.js +1 -1
  130. package/dist/notes/search.js.map +1 -1
  131. package/dist/people/command.js +1 -1
  132. package/dist/people/command.js.map +1 -1
  133. package/dist/people/identity.d.ts +1 -1
  134. package/dist/people/identity.d.ts.map +1 -1
  135. package/dist/people/identity.js +1 -1
  136. package/dist/people/identity.js.map +1 -1
  137. package/dist/people/notes-map.d.ts +1 -1
  138. package/dist/people/notes-map.d.ts.map +1 -1
  139. package/dist/people/subject.d.ts +1 -1
  140. package/dist/people/subject.d.ts.map +1 -1
  141. package/dist/people/subject.js +1 -1
  142. package/dist/people/subject.js.map +1 -1
  143. package/dist/program.d.ts.map +1 -1
  144. package/dist/program.js +4 -1
  145. package/dist/program.js.map +1 -1
  146. package/dist/reasons.d.ts +4 -0
  147. package/dist/reasons.d.ts.map +1 -0
  148. package/dist/reasons.js +11 -0
  149. package/dist/reasons.js.map +1 -0
  150. package/dist/records/run.d.ts +1 -1
  151. package/dist/records/run.d.ts.map +1 -1
  152. package/dist/records/run.js +1 -1
  153. package/dist/records/run.js.map +1 -1
  154. package/dist/run/import.d.ts +2 -0
  155. package/dist/run/import.d.ts.map +1 -1
  156. package/dist/run/import.js +42 -20
  157. package/dist/run/import.js.map +1 -1
  158. package/dist/run/lock.d.ts.map +1 -1
  159. package/dist/run/lock.js +5 -2
  160. package/dist/run/lock.js.map +1 -1
  161. package/dist/search/command.d.ts +2 -2
  162. package/dist/search/command.d.ts.map +1 -1
  163. package/dist/search/command.js +7 -6
  164. package/dist/search/command.js.map +1 -1
  165. package/dist/store/gone.d.ts +1 -1
  166. package/dist/store/gone.d.ts.map +1 -1
  167. package/dist/store/held.d.ts +1 -1
  168. package/dist/store/held.d.ts.map +1 -1
  169. package/dist/store/scope.d.ts +1 -1
  170. package/dist/store/scope.d.ts.map +1 -1
  171. package/dist/store/scope.js +1 -1
  172. package/dist/store/scope.js.map +1 -1
  173. package/dist/store/source-target.d.ts +1 -1
  174. package/dist/store/source-target.d.ts.map +1 -1
  175. package/dist/store/source-target.js +1 -1
  176. package/dist/store/source-target.js.map +1 -1
  177. package/dist/tags/command.js +2 -2
  178. package/dist/tags/command.js.map +1 -1
  179. package/dist/tasks/command.js +3 -3
  180. package/dist/tasks/command.js.map +1 -1
  181. package/dist/tasks/context.d.ts +2 -2
  182. package/dist/tasks/context.d.ts.map +1 -1
  183. package/dist/tasks/context.js +2 -2
  184. package/dist/tasks/context.js.map +1 -1
  185. package/dist/tasks/relations-command.js +1 -1
  186. package/dist/tasks/relations-command.js.map +1 -1
  187. package/dist/version.d.ts +1 -1
  188. package/dist/version.js +1 -1
  189. package/dist/vocabulary/command.js +1 -1
  190. package/dist/vocabulary/command.js.map +1 -1
  191. package/dist/vocabulary/project.d.ts +1 -1
  192. package/dist/vocabulary/project.d.ts.map +1 -1
  193. package/package.json +4 -3
  194. package/skills/cli-memo/SKILL.md +13 -0
@@ -0,0 +1,73 @@
1
+ import { CliError, errorObjectOf, errorRecordOf, exitCodeOfError, mcpErrorResult, renderError, } from "@wirecat/cli-base";
2
+ import { CommanderError } from "commander";
3
+ import { ValiError } from "valibot";
4
+ import { APP } from "./app.js";
5
+ import { REASONS } from "./reasons.js";
6
+ let shared;
7
+ // cli-core's CLI module costs every memo command ~70 ms to load, so only a failure loads it.
8
+ const contextOf = async () => {
9
+ if (shared)
10
+ return shared;
11
+ try {
12
+ shared = (await import("@wirecat/cli-core/cli")).failureContext(APP.errors);
13
+ }
14
+ catch {
15
+ return { reasons: REASONS };
16
+ }
17
+ return shared;
18
+ };
19
+ const recognisable = (error) => {
20
+ if (error instanceof CommanderError)
21
+ return new CliError("validation_error", error.message.replace(/^error: /, ""), { reason: "input.invalid" });
22
+ if (error instanceof ValiError) {
23
+ const [issue] = error.issues;
24
+ const param = issue?.path?.map((item) => String(item.key)).join(".");
25
+ return new CliError("validation_error", issue?.message ?? "the input is not valid", {
26
+ reason: "input.invalid",
27
+ ...(param ? { param } : {}),
28
+ });
29
+ }
30
+ return error;
31
+ };
32
+ export const errorObject = async (error) => errorObjectOf(recognisable(error), await contextOf());
33
+ /** The same object as `--json` prints on stderr, as MCP's `isError` answer. */
34
+ export const mcpFailure = async (error) => mcpErrorResult(await errorObject(error));
35
+ const MACHINE_FLAGS = new Set(["--json", "--jsonl"]);
36
+ const optionsOf = (args) => {
37
+ const end = args.indexOf("--");
38
+ return end < 0 ? args : args.slice(0, end);
39
+ };
40
+ /** A person at a terminal who did not ask for machine output. */
41
+ export const interactiveOf = (args, tty) => tty && !optionsOf(args).some((flag) => MACHINE_FLAGS.has(flag));
42
+ const commandOf = (program, args) => {
43
+ const path = [];
44
+ let at = program;
45
+ for (const arg of args) {
46
+ if (arg.startsWith("-"))
47
+ continue;
48
+ const child = at?.commands.find((command) => command.name() === arg);
49
+ if (!child)
50
+ break;
51
+ path.push(child.name());
52
+ at = child;
53
+ }
54
+ return path.join(" ") || "memo";
55
+ };
56
+ /** Parse failures reach the handler as `CommanderError` instead of Commander's own text and exit. */
57
+ export const throwParseFailures = (program) => {
58
+ program.exitOverride().configureOutput({ outputError: () => undefined });
59
+ for (const command of program.commands)
60
+ throwParseFailures(command);
61
+ };
62
+ /** One error object on stderr, `✗ message` at a terminal; returns the exit code. */
63
+ export const reportFailure = async (error, { args, program, streams, tty }) => {
64
+ const failure = recognisable(error);
65
+ const object = errorObjectOf(failure, await contextOf());
66
+ const flags = optionsOf(args);
67
+ const record = flags.includes("--debug")
68
+ ? errorRecordOf(failure, object, { command: commandOf(program, flags), service: APP.command, version: APP.version })
69
+ : undefined;
70
+ streams.diagnostic(renderError(object, { cli: APP.command, interactive: interactiveOf(args, tty), ...(record ? { record } : {}) }));
71
+ return exitCodeOfError(object);
72
+ };
73
+ //# sourceMappingURL=failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CliError, createRenderer } from "@wirecat/cli-base";
2
- import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-messaging/store";
2
+ import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-core/store";
3
3
  import { authorOf, byOption } from "../author.js";
4
4
  import { notesAbout } from "../notes/about.js";
5
5
  import { accountOptions, oneOf, positive } from "../options.js";
@@ -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,4 +1,4 @@
1
- import type { Author, Link, MessageStore, Project } from "@wirecat/cli-messaging/store";
1
+ import type { Author, Link, MessageStore, Project } from "@wirecat/cli-core/store";
2
2
  export interface KeyDocument {
3
3
  ref: string;
4
4
  title: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"key-documents.d.ts","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAGvF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,gHAAgH;AAChH,eAAO,MAAM,SAAS,UAAiB,YAAY,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAOvF,CAAA;AAwCD,eAAO,MAAM,YAAY,UAAiB,YAAY,WAAW,OAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CACZ,CAAA;AAEpF,eAAO,MAAM,OAAO,UACX,YAAY,WACV,OAAO,OACX,MAAM,UACH,MAAM,UACN,MAAM,KACb,OAAO,CAAC,WAAW,CAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,UAAiB,YAAY,WAAW,OAAO,OAAO,MAAM;;;;EAKjF,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,EAGvG,CAAA"}
1
+ {"version":3,"file":"key-documents.d.ts","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGlF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,gHAAgH;AAChH,eAAO,MAAM,SAAS,UAAiB,YAAY,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAOvF,CAAA;AAwCD,eAAO,MAAM,YAAY,UAAiB,YAAY,WAAW,OAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CACZ,CAAA;AAEpF,eAAO,MAAM,OAAO,UACX,YAAY,WACV,OAAO,OACX,MAAM,UACH,MAAM,UACN,MAAM,KACb,OAAO,CAAC,WAAW,CAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,UAAiB,YAAY,WAAW,OAAO,OAAO,MAAM;;;;EAKjF,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,EAGvG,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
- import { parseLocator } from "@wirecat/cli-messaging";
2
+ import { parseLocator } from "@wirecat/cli-core";
3
3
  import { heldMessage } from "../store/held.js";
4
4
  const KEYABLE = /^(note|document|msg):/;
5
5
  /** A project by its id, `project:<id>` or key; one the store does not hold is an error, not an empty answer. */
@@ -1 +1 @@
1
- {"version":3,"file":"key-documents.js","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-documents.js","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Config } from "../config.js";
2
+ import { type MailSource } from "./source.js";
3
+ export type MailAccountConfig = NonNullable<Config["mail"]>["accounts"][number];
4
+ /** The accounts named, by name or address; none named means every account. */
5
+ export declare const mailAccounts: (accounts: MailAccountConfig[], names: string[] | undefined) => MailAccountConfig[];
6
+ export declare const mailFolders: (account: {
7
+ mode?: string;
8
+ folders?: string[];
9
+ }) => string[];
10
+ export declare const mailSource: (account: MailAccountConfig, env: NodeJS.ProcessEnv) => MailSource;
11
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/mail/accounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,8EAA8E;AAC9E,eAAO,MAAM,YAAY,aAAc,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,KAAG,iBAAiB,EAU1G,CAAA;AAED,eAAO,MAAM,WAAW,YAAa;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,MAAM,EACN,CAAA;AAE7E,eAAO,MAAM,UAAU,YAAa,iBAAiB,OAAO,MAAM,CAAC,UAAU,KAAG,UAK/E,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { homedir } from "node:os";
2
+ import { CliError } from "@wirecat/cli-base";
3
+ import { himalaya } from "./himalaya.js";
4
+ import { mboxSource } from "./mbox.js";
5
+ import { himalayaSource } from "./source.js";
6
+ /** The accounts named, by name or address; none named means every account. */
7
+ export const mailAccounts = (accounts, names) => {
8
+ if (names === undefined)
9
+ return accounts;
10
+ return names.map((name) => {
11
+ const found = accounts.find((account) => account.name === name || account.address.toLowerCase() === name.toLowerCase());
12
+ if (found)
13
+ return found;
14
+ const choices = accounts.map((account) => account.name).join(", ") || "none";
15
+ throw new CliError("not_found", `no mail account "${name}" in mail.accounts — it holds ${choices}`);
16
+ });
17
+ };
18
+ export const mailFolders = (account) => account.folders ?? [account.mode === "imap" ? "INBOX" : "[Gmail]/All Mail"];
19
+ export const mailSource = (account, env) => {
20
+ if (account.mode !== "mbox")
21
+ return himalayaSource(himalaya(env), account);
22
+ if (account.path === undefined)
23
+ throw new CliError("validation_error", `mail account "${account.name}" is mode mbox but names no path`);
24
+ return mboxSource(account.path.replace(/^~(?=\/|$)/, env.HOME ?? homedir()));
25
+ };
26
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/mail/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAA;AAI7D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAA6B,EAAE,KAA2B,EAAuB,EAAE;IAC9G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAC3F,CAAA;QACD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAA;QAC5E,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,IAAI,iCAAiC,OAAO,EAAE,CAAC,CAAA;IACrG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAA8C,EAAY,EAAE,CACtF,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAE,GAAsB,EAAc,EAAE;IAC3F,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAC5B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,OAAO,CAAC,IAAI,kCAAkC,CAAC,CAAA;IACzG,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAA;AAC9E,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import type { Command } from "commander";
3
+ export declare const mailCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/mail/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA4GxC,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAqHxF,CAAA"}
@@ -0,0 +1,185 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { openStore } from "@wirecat/cli-core/store";
3
+ import { loadConfig, updateConfig } from "../config.js";
4
+ import { positive } from "../options.js";
5
+ import { printing } from "../records/run.js";
6
+ import { mailAccounts, mailFolders, mailSource } from "./accounts.js";
7
+ import { probeMail, SUGGEST_RULE } from "./probe.js";
8
+ import { envelopeBox, sameMatch } from "./rules.js";
9
+ const accountOf = (config, name) => mailAccounts(config.mail?.accounts ?? [], [name])[0];
10
+ const matchOf = ({ from, domain, listId }) => {
11
+ const given = [from, domain, listId].filter((value) => value !== undefined);
12
+ if (given.length !== 1)
13
+ throw new CliError("validation_error", "give exactly one of --from, --domain, --list-id");
14
+ return from !== undefined ? { from } : domain !== undefined ? { domain } : { listId: listId };
15
+ };
16
+ const describe = (match) => match.from !== undefined
17
+ ? `from ${match.from}`
18
+ : match.domain !== undefined
19
+ ? `domain ${match.domain}`
20
+ : `list-id ${match.listId}`;
21
+ const ruleLine = (rule) => [
22
+ rule.action.padEnd(8),
23
+ describe(rule.match),
24
+ rule.decidedAt.slice(0, 10),
25
+ rule.recorded === undefined ? "" : `${rule.recorded.emails} emails, ${megabytes(rule.recorded.bytes)} MB`,
26
+ rule.reason ?? "",
27
+ ]
28
+ .filter(Boolean)
29
+ .join(" ")
30
+ .trimEnd();
31
+ const PAGE = 1000;
32
+ /** What each envelope rule has recorded so far, read from the store; nothing is fetched from the mailbox. */
33
+ const recordedBy = async (store, address, rule) => {
34
+ const account = await store.storedAccount({ provider: "email", account: address.toLowerCase() }).catch(() => null);
35
+ const recorded = { emails: 0, bytes: 0 };
36
+ if (account === null)
37
+ return recorded;
38
+ const mailbox = envelopeBox(rule.match).externalId;
39
+ for (let offset = 0;; offset += PAGE) {
40
+ const page = await store.mail.emails({ accountId: account.id, mailbox, limit: PAGE, offset });
41
+ for (const email of page) {
42
+ recorded.emails++;
43
+ recorded.bytes += email.size ?? 0;
44
+ }
45
+ if (page.length < PAGE)
46
+ return recorded;
47
+ }
48
+ };
49
+ const changeRules = (env, name, change) => {
50
+ let changed = [];
51
+ updateConfig((config) => {
52
+ const account = accountOf(config, name);
53
+ changed = change(account.rules ?? []);
54
+ const accounts = (config.mail?.accounts ?? []).map((each) => each === account ? { ...each, rules: changed } : each);
55
+ return { ...config, mail: { ...config.mail, accounts } };
56
+ }, env);
57
+ return changed;
58
+ };
59
+ const megabytes = (bytes) => (bytes / 1024 / 1024).toFixed(1);
60
+ const percent = (value) => (value === null ? "?" : `${Math.round(value * 100)}%`);
61
+ const probeText = (probe) => {
62
+ const rows = probe.items.map((group) => [
63
+ String(group.emails),
64
+ megabytes(group.bytes),
65
+ percent(group.unread),
66
+ percent(group.bulk),
67
+ group.firstYear === group.lastYear ? String(group.firstYear) : `${group.firstYear}-${group.lastYear}`,
68
+ group.replied ? "yes" : "no",
69
+ group.suggest ?? "",
70
+ group.listId === null ? (group.from ?? "") : `${group.listId} (${group.from ?? "?"})`,
71
+ ]);
72
+ const header = ["emails", "MB", "unread", "bulk", "years", "replied", "suggest", "sender or list"];
73
+ const widths = header.map((title, column) => Math.max(title.length, ...rows.map((row) => row[column]?.length ?? 0)));
74
+ const line = (row) => row
75
+ .map((cell, column) => (column < 2 ? cell.padStart(widths[column] ?? 0) : cell.padEnd(widths[column] ?? 0)))
76
+ .join(" ")
77
+ .trimEnd();
78
+ return [
79
+ `${probe.emails} emails, ${megabytes(probe.bytes)} MB, ${probe.groups} groups; ${probe.sent} sent, ` +
80
+ `${probe.withoutHeaders} without readable headers; ${probe.seconds}s`,
81
+ line(header),
82
+ ...rows.map(line),
83
+ ].join("\n");
84
+ };
85
+ export const mailCommand = (program, streams, env) => {
86
+ const print = printing(streams);
87
+ const mail = program.command("mail").description("look at a mail account before importing it, and the owner's rules");
88
+ mail
89
+ .command("probe")
90
+ .description("group an account's mail by sender and list, to decide what to keep or skip")
91
+ .argument("<account>", "the account's name in mail.accounts, or its address")
92
+ .option("--since-time <time>", "only mail from this time, ISO 8601 or 30d ago (default: all mail)")
93
+ .option("--limit-groups <n>", "show this many of the largest groups", positive, 50)
94
+ .option("--json", "print JSON")
95
+ .addHelpText("after", "\nRead-only and headers only: about 300 bytes per email (From, To, Cc, List-Id, List-Unsubscribe, " +
96
+ "Precedence), against Gmail's daily download limit. An mbox account reads the whole file once.\n\n" +
97
+ `Each group's ${SUGGEST_RULE}. The owner decides; add a rule with memo mail rules add.`)
98
+ .action(async (name, options) => {
99
+ const account = accountOf(loadConfig(env), name);
100
+ const since = new Date(options.sinceTime === undefined
101
+ ? 0
102
+ : (await import("@wirecat/cli-core/cli")).momentOf(options.sinceTime, "--since-time"));
103
+ const started = Date.now();
104
+ const source = mailSource(account, env);
105
+ const listed = new Map();
106
+ for (const folder of mailFolders(account))
107
+ for (const item of await source.list(since, folder, { headers: true }))
108
+ listed.set(item.messageId, item);
109
+ const probe = { ...probeMail([...listed.values()], options.limitGroups), seconds: 0 };
110
+ probe.seconds = Math.round((Date.now() - started) / 100) / 10;
111
+ print(options.json, probe, probeText(probe));
112
+ });
113
+ const rules = mail
114
+ .command("rules")
115
+ .description("the owner's decisions on which mail to skip or keep, by sender, domain or list");
116
+ rules
117
+ .command("list")
118
+ .description("one account's rules")
119
+ .argument("<account>", "the account's name in mail.accounts, or its address")
120
+ .option("--json", "print JSON")
121
+ .addHelpText("after", "\nAn envelope rule shows how many emails it recorded and their size at the source.")
122
+ .action(async (name, options) => {
123
+ const account = accountOf(loadConfig(env), name);
124
+ const rules = account.rules ?? [];
125
+ const store = rules.some(({ action }) => action === "envelope") ? await openStore({ env }) : undefined;
126
+ try {
127
+ const items = [];
128
+ for (const rule of rules)
129
+ items.push(store !== undefined && rule.action === "envelope"
130
+ ? { ...rule, recorded: await recordedBy(store, account.address, rule) }
131
+ : rule);
132
+ print(options.json, { items }, items.map(ruleLine).join("\n") || "no rules");
133
+ }
134
+ finally {
135
+ await store?.close();
136
+ }
137
+ });
138
+ rules
139
+ .command("add")
140
+ .description("skip, record or keep mail by sender, domain or list; a repeat replaces its rule")
141
+ .argument("<account>", "the account's name in mail.accounts, or its address")
142
+ .option("--from <address>", "one sender address")
143
+ .option("--domain <domain>", "a sender domain, and its subdomains")
144
+ .option("--list-id <id>", "a mailing list, by its List-Id")
145
+ .option("--skip", "never read or store this mail")
146
+ .option("--envelope", "store only sender, date, size and labels: counted, out of search, cleanable later")
147
+ .option("--keep", "import this mail even when a skip or envelope rule matches it")
148
+ .option("--reason <text>", "why, for the owner later")
149
+ .option("--json", "print JSON")
150
+ .addHelpText("after", "\nA keep wins over an envelope, an envelope over a skip, so --keep --from one sender overrides " +
151
+ "--skip --domain of its domain. A skipped email is never read or stored by memo sync. An envelope " +
152
+ "email costs no more from the mailbox than a skipped one; its subject is kept in its metadata, not in " +
153
+ "search. Changing an envelope rule to keep, or removing it, reads those emails in full on the next sync. " +
154
+ "Mail already stored in full stays.")
155
+ .action((name, options) => {
156
+ const match = matchOf(options);
157
+ const actions = ["skip", "envelope", "keep"].filter((action) => options[action]);
158
+ if (actions.length !== 1)
159
+ throw new CliError("validation_error", "give exactly one of --skip, --envelope, --keep");
160
+ const rule = {
161
+ match,
162
+ action: actions[0],
163
+ ...(options.reason === undefined ? {} : { reason: options.reason }),
164
+ decidedAt: new Date().toISOString(),
165
+ };
166
+ changeRules(env, name, (current) => [...current.filter((each) => !sameMatch(each.match, match)), rule]);
167
+ print(options.json, rule, ruleLine(rule));
168
+ });
169
+ rules
170
+ .command("remove")
171
+ .description("drop the rule for a sender, domain or list")
172
+ .argument("<account>", "the account's name in mail.accounts, or its address")
173
+ .option("--from <address>", "one sender address")
174
+ .option("--domain <domain>", "a sender domain")
175
+ .option("--list-id <id>", "a mailing list, by its List-Id")
176
+ .option("--json", "print JSON")
177
+ .action((name, options) => {
178
+ const match = matchOf(options);
179
+ if (!(accountOf(loadConfig(env), name).rules ?? []).some((rule) => sameMatch(rule.match, match)))
180
+ throw new CliError("not_found", `no rule for ${describe(match)}; memo mail rules list ${name} shows them`);
181
+ const left = changeRules(env, name, (current) => current.filter((rule) => !sameMatch(rule.match, match)));
182
+ print(options.json, { removed: match, items: left }, `removed the rule for ${describe(match)}`);
183
+ });
184
+ };
185
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/mail/command.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type MailHeaders } from "./headers.js";
1
2
  import type { Himalaya } from "./himalaya.js";
2
3
  export interface Listed {
3
4
  uid: string;
@@ -6,21 +7,25 @@ export interface Listed {
6
7
  threadId: string;
7
8
  receivedAt: string;
8
9
  folder?: string;
9
- scopeFolder?: string;
10
10
  /** Gmail labels, plain names; absent when the answer could not be read, so nothing is changed. */
11
11
  labels?: string[];
12
12
  seen?: boolean;
13
13
  flagged?: boolean;
14
+ /** RFC822.SIZE in bytes, to size fetch batches. */
15
+ size?: number;
16
+ /** Read only when asked for; absent when not asked or unreadable, so no rule applies to it. */
17
+ headers?: MailHeaders;
14
18
  }
15
19
  /** IMAP's modified UTF-7 (RFC 3501 §5.1.3): `&` opens base64 of UTF-16BE, `,` stands for `/`, `-` closes. */
16
20
  export declare const decodeMailboxName: (name: string) => string;
21
+ export declare const systemLabel: (name: string) => string;
17
22
  /** A label as people read it: `\\Important` and `Important` are one label, and names are decoded. */
18
23
  export declare const labelName: (raw: string) => string;
19
24
  /**
20
25
  * Every message in All Mail received since `since`, read with EXAMINE so nothing can change a flag.
21
26
  * All Mail rather than INBOX: an archived message leaves INBOX but is not deleted.
22
27
  */
23
- export declare const listAllMail: (run: Himalaya, account: string, since: Date, folder?: string) => Promise<Listed[]>;
28
+ export declare const listAllMail: (run: Himalaya, account: string, since: Date, folder?: string, headers?: boolean) => Promise<Listed[]>;
24
29
  /** Message-ID is stable across folders; absent headers fall back to a UIDVALIDITY-scoped identity. */
25
30
  export declare const listImapMail: (run: Himalaya, account: string, since: Date, folder: string) => Promise<Listed[]>;
26
31
  //# sourceMappingURL=gmail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../src/mail/gmail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kGAAkG;IAClG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAcD,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAO7C,CAAA;AA2BJ,qGAAqG;AACrG,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAGvC,CAAA;AAkCD;;;GAGG;AACH,eAAO,MAAM,WAAW,QACjB,QAAQ,WACJ,MAAM,SACR,IAAI,sBAEV,OAAO,CAAC,MAAM,EAAE,CAwDlB,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,YAAY,QAAe,QAAQ,WAAW,MAAM,SAAS,IAAI,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CA2DhH,CAAA"}
1
+ {"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../src/mail/gmail.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kGAAkG;IAClG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+FAA+F;IAC/F,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAcD,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAO7C,CAAA;AA2BJ,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAmD,CAAA;AAE9F,qGAAqG;AACrG,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAGvC,CAAA;AAmDD;;;GAGG;AACH,eAAO,MAAM,WAAW,QACjB,QAAQ,WACJ,MAAM,SACR,IAAI,yCAGV,OAAO,CAAC,MAAM,EAAE,CA6ElB,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,YAAY,QAAe,QAAQ,WAAW,MAAM,SAAS,IAAI,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CA8DhH,CAAA"}