@wirecat/cli-memo 0.30.0 → 0.32.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 (200) hide show
  1. package/README.md +1 -1
  2. package/dist/actions/command.d.ts.map +1 -1
  3. package/dist/actions/command.js +7 -7
  4. package/dist/actions/command.js.map +1 -1
  5. package/dist/agents/command.js +3 -3
  6. package/dist/agents/command.js.map +1 -1
  7. package/dist/answer.d.ts +23 -0
  8. package/dist/answer.d.ts.map +1 -0
  9. package/dist/answer.js +56 -0
  10. package/dist/answer.js.map +1 -0
  11. package/dist/answers/command.d.ts.map +1 -1
  12. package/dist/answers/command.js +6 -13
  13. package/dist/answers/command.js.map +1 -1
  14. package/dist/bin/memo.js +16 -2
  15. package/dist/bin/memo.js.map +1 -1
  16. package/dist/config.d.ts +8 -4
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +15 -7
  19. package/dist/config.js.map +1 -1
  20. package/dist/context/command.d.ts +1 -1
  21. package/dist/context/command.d.ts.map +1 -1
  22. package/dist/context/command.js +6 -14
  23. package/dist/context/command.js.map +1 -1
  24. package/dist/discovery/command.d.ts +1 -1
  25. package/dist/discovery/command.js +1 -1
  26. package/dist/doctor/command.d.ts +82 -0
  27. package/dist/doctor/command.d.ts.map +1 -0
  28. package/dist/doctor/command.js +148 -0
  29. package/dist/doctor/command.js.map +1 -0
  30. package/dist/effects.d.ts +6 -1
  31. package/dist/effects.d.ts.map +1 -1
  32. package/dist/effects.js +26 -9
  33. package/dist/effects.js.map +1 -1
  34. package/dist/examples.d.ts.map +1 -1
  35. package/dist/examples.js +7 -3
  36. package/dist/examples.js.map +1 -1
  37. package/dist/facts/command.d.ts.map +1 -1
  38. package/dist/facts/command.js +14 -22
  39. package/dist/facts/command.js.map +1 -1
  40. package/dist/facts/fact.d.ts +36 -0
  41. package/dist/facts/fact.d.ts.map +1 -0
  42. package/dist/facts/fact.js +47 -0
  43. package/dist/facts/fact.js.map +1 -0
  44. package/dist/failure.d.ts +5 -7
  45. package/dist/failure.d.ts.map +1 -1
  46. package/dist/failure.js +8 -27
  47. package/dist/failure.js.map +1 -1
  48. package/dist/knowledge/command.d.ts.map +1 -1
  49. package/dist/knowledge/command.js +33 -34
  50. package/dist/knowledge/command.js.map +1 -1
  51. package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
  52. package/dist/knowledge/meeting-projects-command.js +22 -12
  53. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  54. package/dist/list-query.d.ts +18 -0
  55. package/dist/list-query.d.ts.map +1 -0
  56. package/dist/list-query.js +68 -0
  57. package/dist/list-query.js.map +1 -0
  58. package/dist/mail/apply.d.ts.map +1 -1
  59. package/dist/mail/apply.js +1 -0
  60. package/dist/mail/apply.js.map +1 -1
  61. package/dist/mail/command.d.ts.map +1 -1
  62. package/dist/mail/command.js +133 -108
  63. package/dist/mail/command.js.map +1 -1
  64. package/dist/mail/domain-age.d.ts +21 -0
  65. package/dist/mail/domain-age.d.ts.map +1 -0
  66. package/dist/mail/domain-age.js +99 -0
  67. package/dist/mail/domain-age.js.map +1 -0
  68. package/dist/mail/gmail.d.ts +1 -1
  69. package/dist/mail/gmail.d.ts.map +1 -1
  70. package/dist/mail/gmail.js +6 -1
  71. package/dist/mail/gmail.js.map +1 -1
  72. package/dist/mail/headers.d.ts +17 -3
  73. package/dist/mail/headers.d.ts.map +1 -1
  74. package/dist/mail/headers.js +32 -3
  75. package/dist/mail/headers.js.map +1 -1
  76. package/dist/mail/himalaya.d.ts +5 -0
  77. package/dist/mail/himalaya.d.ts.map +1 -1
  78. package/dist/mail/himalaya.js +34 -5
  79. package/dist/mail/himalaya.js.map +1 -1
  80. package/dist/mail/import.d.ts.map +1 -1
  81. package/dist/mail/import.js +4 -0
  82. package/dist/mail/import.js.map +1 -1
  83. package/dist/mail/messages-command.d.ts.map +1 -1
  84. package/dist/mail/messages-command.js +7 -13
  85. package/dist/mail/messages-command.js.map +1 -1
  86. package/dist/mail/probe.d.ts +7 -1
  87. package/dist/mail/probe.d.ts.map +1 -1
  88. package/dist/mail/probe.js +12 -1
  89. package/dist/mail/probe.js.map +1 -1
  90. package/dist/mail/resume.js +1 -1
  91. package/dist/mail/resume.js.map +1 -1
  92. package/dist/mail/rule-store.d.ts +33 -0
  93. package/dist/mail/rule-store.d.ts.map +1 -0
  94. package/dist/mail/rule-store.js +129 -0
  95. package/dist/mail/rule-store.js.map +1 -0
  96. package/dist/mail/rules.d.ts +6 -2
  97. package/dist/mail/rules.d.ts.map +1 -1
  98. package/dist/mail/rules.js +3 -3
  99. package/dist/mail/rules.js.map +1 -1
  100. package/dist/mail/score.d.ts +50 -0
  101. package/dist/mail/score.d.ts.map +1 -0
  102. package/dist/mail/score.js +118 -0
  103. package/dist/mail/score.js.map +1 -0
  104. package/dist/mcp/knowledge.d.ts.map +1 -1
  105. package/dist/mcp/knowledge.js +15 -9
  106. package/dist/mcp/knowledge.js.map +1 -1
  107. package/dist/mcp/server.d.ts.map +1 -1
  108. package/dist/mcp/server.js +30 -36
  109. package/dist/mcp/server.js.map +1 -1
  110. package/dist/mcp/task-relations.d.ts.map +1 -1
  111. package/dist/mcp/task-relations.js +9 -7
  112. package/dist/mcp/task-relations.js.map +1 -1
  113. package/dist/mcp/tool.d.ts +3 -2
  114. package/dist/mcp/tool.d.ts.map +1 -1
  115. package/dist/mcp/tool.js.map +1 -1
  116. package/dist/mcp/vocabulary.d.ts.map +1 -1
  117. package/dist/mcp/vocabulary.js +7 -6
  118. package/dist/mcp/vocabulary.js.map +1 -1
  119. package/dist/memories/command.d.ts.map +1 -1
  120. package/dist/memories/command.js +15 -19
  121. package/dist/memories/command.js.map +1 -1
  122. package/dist/memories/memory.d.ts +31 -0
  123. package/dist/memories/memory.d.ts.map +1 -0
  124. package/dist/memories/memory.js +43 -0
  125. package/dist/memories/memory.js.map +1 -0
  126. package/dist/notes/command.d.ts.map +1 -1
  127. package/dist/notes/command.js +39 -30
  128. package/dist/notes/command.js.map +1 -1
  129. package/dist/notes/embed.d.ts +2 -0
  130. package/dist/notes/embed.d.ts.map +1 -1
  131. package/dist/notes/embed.js +8 -0
  132. package/dist/notes/embed.js.map +1 -1
  133. package/dist/notes/folders-command.d.ts.map +1 -1
  134. package/dist/notes/folders-command.js +19 -26
  135. package/dist/notes/folders-command.js.map +1 -1
  136. package/dist/notes/search.d.ts.map +1 -1
  137. package/dist/notes/search.js +2 -8
  138. package/dist/notes/search.js.map +1 -1
  139. package/dist/output.d.ts +9 -7
  140. package/dist/output.d.ts.map +1 -1
  141. package/dist/output.js +11 -14
  142. package/dist/output.js.map +1 -1
  143. package/dist/page.d.ts +2 -5
  144. package/dist/page.d.ts.map +1 -1
  145. package/dist/page.js +7 -2
  146. package/dist/page.js.map +1 -1
  147. package/dist/people/command.d.ts.map +1 -1
  148. package/dist/people/command.js +3 -7
  149. package/dist/people/command.js.map +1 -1
  150. package/dist/program.d.ts.map +1 -1
  151. package/dist/program.js +6 -0
  152. package/dist/program.js.map +1 -1
  153. package/dist/reasons.d.ts.map +1 -1
  154. package/dist/reasons.js +12 -0
  155. package/dist/reasons.js.map +1 -1
  156. package/dist/run/auto.d.ts +11 -1
  157. package/dist/run/auto.d.ts.map +1 -1
  158. package/dist/run/auto.js +46 -18
  159. package/dist/run/auto.js.map +1 -1
  160. package/dist/run/import.d.ts.map +1 -1
  161. package/dist/run/import.js +15 -17
  162. package/dist/run/import.js.map +1 -1
  163. package/dist/search/answers.d.ts +16 -0
  164. package/dist/search/answers.d.ts.map +1 -0
  165. package/dist/search/answers.js +48 -0
  166. package/dist/search/answers.js.map +1 -0
  167. package/dist/search/command.d.ts.map +1 -1
  168. package/dist/search/command.js +29 -35
  169. package/dist/search/command.js.map +1 -1
  170. package/dist/search/hits.d.ts +8 -0
  171. package/dist/search/hits.d.ts.map +1 -0
  172. package/dist/search/hits.js +68 -0
  173. package/dist/search/hits.js.map +1 -0
  174. package/dist/tags/command.d.ts.map +1 -1
  175. package/dist/tags/command.js +23 -31
  176. package/dist/tags/command.js.map +1 -1
  177. package/dist/tasks/command.d.ts.map +1 -1
  178. package/dist/tasks/command.js +29 -44
  179. package/dist/tasks/command.js.map +1 -1
  180. package/dist/tasks/relations-command.js +4 -4
  181. package/dist/tasks/relations-command.js.map +1 -1
  182. package/dist/terminal.d.ts +4 -0
  183. package/dist/terminal.d.ts.map +1 -0
  184. package/dist/terminal.js +8 -0
  185. package/dist/terminal.js.map +1 -0
  186. package/dist/update.d.ts +26 -0
  187. package/dist/update.d.ts.map +1 -0
  188. package/dist/update.js +67 -0
  189. package/dist/update.js.map +1 -0
  190. package/dist/version.d.ts +1 -1
  191. package/dist/version.js +1 -1
  192. package/dist/vocabulary/command.d.ts.map +1 -1
  193. package/dist/vocabulary/command.js +3 -3
  194. package/dist/vocabulary/command.js.map +1 -1
  195. package/package.json +4 -2
  196. package/skills/cli-memo/SKILL.md +14 -5
  197. package/dist/records/run.d.ts +0 -7
  198. package/dist/records/run.d.ts.map +0 -1
  199. package/dist/records/run.js +0 -24
  200. package/dist/records/run.js.map +0 -1
@@ -0,0 +1,82 @@
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import type { Command } from "commander";
3
+ /** Something a person should do, with the command that does it. */
4
+ interface Problem {
5
+ what: string;
6
+ fix: string;
7
+ }
8
+ /** Everything memo needs, read from this computer only: no mail server, no messenger, no npm. */
9
+ export declare const diagnose: (env: NodeJS.ProcessEnv) => Promise<{
10
+ memo: {
11
+ version: string;
12
+ node: string;
13
+ installed_by: import("@wirecat/cli-base/update").Installer;
14
+ };
15
+ config: {
16
+ path: string;
17
+ exists: boolean;
18
+ };
19
+ state: string;
20
+ cache: string;
21
+ store: {
22
+ path: string;
23
+ exists: boolean;
24
+ error?: undefined;
25
+ } | {
26
+ path: string;
27
+ exists: boolean;
28
+ schema: number;
29
+ speaks: number;
30
+ writable: boolean;
31
+ chats?: number | undefined;
32
+ messages?: number | undefined;
33
+ } | {
34
+ path: string;
35
+ exists: boolean;
36
+ error: string;
37
+ };
38
+ notes: {
39
+ path: string;
40
+ exists: boolean;
41
+ bound: boolean;
42
+ }[];
43
+ mail: {
44
+ accounts: {
45
+ name: string;
46
+ address: string;
47
+ mode: "gmail" | "imap" | "mbox";
48
+ path?: string | null | undefined;
49
+ exists?: boolean | undefined;
50
+ /** Rules still in config.json; the next mail command moves them into the store. */
51
+ rules_in_config: number;
52
+ }[];
53
+ himalaya: string | null;
54
+ };
55
+ search_model: {
56
+ name: string;
57
+ path: string;
58
+ present: boolean;
59
+ };
60
+ timer: {
61
+ enabled: boolean;
62
+ every: string;
63
+ unit: string | null;
64
+ runs: string[];
65
+ failing: {
66
+ since: string;
67
+ runs: number;
68
+ reason: string | null;
69
+ } | null;
70
+ };
71
+ skills: {
72
+ target: "agents" | "claude";
73
+ path: string;
74
+ version: string | null;
75
+ }[];
76
+ problems: Problem[];
77
+ }>;
78
+ type Diagnosis = Awaited<ReturnType<typeof diagnose>>;
79
+ export declare const doctorText: (d: Diagnosis) => string;
80
+ export declare const doctorCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
81
+ export {};
82
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/doctor/command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAI9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,mEAAmE;AACnE,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAsBD,iGAAiG;AACjG,eAAO,MAAM,QAAQ,QAAe,MAAM,CAAC,UAAU;;;;;;;QA4EvC,IAAI;QAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA9CvC,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDtF,CAAA;AAED,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAA;AAIrD,eAAO,MAAM,UAAU,MAAO,SAAS,KAAG,MA6B5B,CAAA;AAEd,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAgB1F,CAAA"}
@@ -0,0 +1,148 @@
1
+ import { execFile } from "node:child_process";
2
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { resolvePaths } from "@wirecat/cli-base";
6
+ import { SKILL_TARGETS, skillPath, skillVersion } from "@wirecat/cli-base/skill";
7
+ import { storeSummary } from "@wirecat/cli-core/cli";
8
+ import { sharedModelsDirectory } from "@wirecat/cli-core/speech";
9
+ import { answers, itemAnswer } from "../answer.js";
10
+ import { APP } from "../app.js";
11
+ import { configPath, loadConfig } from "../config.js";
12
+ import { noteFolders } from "../notes/folders.js";
13
+ import { autoState, lastAutoRun } from "../run/auto.js";
14
+ import { installer } from "../update.js";
15
+ import { VERSION } from "../version.js";
16
+ const TEXT_MODEL = "e5-small";
17
+ const himalayaVersion = (env) => new Promise((done) => execFile(env.MEMO_HIMALAYA ?? "himalaya", ["--version"], { env, timeout: 3000 }, (error, stdout) => done(error === null ? stdout.trim().split(/\r?\n/)[0] || "unknown" : null)));
18
+ const unitPaths = (unit) => [...(/^ExecStart=(.*)$/m.exec(unit)?.[1] ?? "").matchAll(/"((?:[^"\\]|\\.)*)"/g)]
19
+ .map(([, path]) => path?.replace(/\\(["\\])/g, "$1") ?? "")
20
+ .filter((path) => path.startsWith("/"));
21
+ const readConfig = (env) => {
22
+ try {
23
+ return { config: loadConfig(env) };
24
+ }
25
+ catch (error) {
26
+ return { config: {}, error: error instanceof Error ? error.message : String(error) };
27
+ }
28
+ };
29
+ /** Everything memo needs, read from this computer only: no mail server, no messenger, no npm. */
30
+ export const diagnose = async (env) => {
31
+ const problems = [];
32
+ const paths = resolvePaths({ appName: APP.appName, prefix: APP.envPrefix, env });
33
+ const { config, error: configError } = readConfig(env);
34
+ if (configError)
35
+ problems.push({ what: `the config cannot be read: ${configError}`, fix: `fix ${configPath(env)}` });
36
+ const store = await storeSummary(env);
37
+ if ("error" in store && store.error)
38
+ problems.push({ what: `the store cannot be read: ${store.error}`, fix: "" });
39
+ if ("writable" in store && store.writable === false)
40
+ problems.push({ what: "the store is from a newer version than this memo", fix: "memo upgrade" });
41
+ const folders = noteFolders(config.notes).map(({ path, id }) => ({
42
+ path,
43
+ exists: existsSync(path),
44
+ bound: id !== null,
45
+ }));
46
+ for (const folder of folders) {
47
+ if (!folder.exists)
48
+ problems.push({ what: `the notes folder ${folder.path} is missing`, fix: "memo folders" });
49
+ else if (!folder.bound)
50
+ problems.push({
51
+ what: `the notes folder ${folder.path} has no folder id`,
52
+ fix: `memo folders add "${folder.path}"`,
53
+ });
54
+ }
55
+ const accounts = (config.mail?.accounts ?? []).map(({ name, address, mode, path, rules }) => ({
56
+ name,
57
+ address,
58
+ mode: mode ?? "gmail",
59
+ ...(mode === "mbox" ? { path: path ?? null, exists: path !== undefined && existsSync(path) } : {}),
60
+ /** Rules still in config.json; the next mail command moves them into the store. */
61
+ rules_in_config: rules?.length ?? 0,
62
+ }));
63
+ const imap = accounts.some(({ mode }) => mode !== "mbox");
64
+ const himalaya = imap ? await himalayaVersion(env) : null;
65
+ if (imap && himalaya === null)
66
+ problems.push({ what: "himalaya is not on PATH, so mail cannot be read", fix: "install Himalaya (docs/mail.md)" });
67
+ for (const account of accounts)
68
+ if ("exists" in account && !account.exists)
69
+ problems.push({ what: `the mbox file of mail account ${account.name} is missing`, fix: "check mail.accounts" });
70
+ const modelDir = join(sharedModelsDirectory("text", env), TEXT_MODEL);
71
+ const model = existsSync(modelDir) && readdirSync(modelDir).length > 0;
72
+ const state = autoState(config);
73
+ const unitFile = join(env.XDG_CONFIG_HOME ?? join(env.HOME ?? homedir(), ".config"), "systemd", "user", "memo-import.service");
74
+ const unit = existsSync(unitFile) ? readFileSync(unitFile, "utf8") : undefined;
75
+ const runs = unit ? unitPaths(unit) : [];
76
+ const missing = runs.filter((path) => !existsSync(path));
77
+ const last = lastAutoRun(env);
78
+ const failing = last && last.exitCode !== 0
79
+ ? { since: last.failingSince ?? last.at, runs: last.failures ?? 1, reason: last.reason ?? null }
80
+ : null;
81
+ if (state.enabled && !unit)
82
+ problems.push({ what: "the timer is on in the config but not installed", fix: "memo auto start" });
83
+ if (missing.length > 0)
84
+ problems.push({ what: `the timer runs a program that is gone: ${missing.join(", ")}`, fix: "memo auto start" });
85
+ if (failing)
86
+ problems.push({ what: `the timer has failed ${failing.runs} runs since ${failing.since}`, fix: "memo auto status" });
87
+ const skills = SKILL_TARGETS.map((target) => {
88
+ const path = skillPath(target, APP.appName, env);
89
+ const version = existsSync(path) ? (skillVersion(readFileSync(path, "utf8")) ?? "unknown") : null;
90
+ return { target, path, version };
91
+ });
92
+ if (skills.some(({ version }) => version !== null && version !== VERSION))
93
+ problems.push({ what: "an installed skill is from another memo version", fix: "memo skill install --for all" });
94
+ return {
95
+ memo: { version: VERSION, node: process.version, installed_by: installer() },
96
+ config: { path: configPath(env), exists: existsSync(configPath(env)) },
97
+ state: paths.state,
98
+ cache: paths.cache,
99
+ store,
100
+ notes: folders,
101
+ mail: { accounts, himalaya },
102
+ search_model: { name: TEXT_MODEL, path: modelDir, present: model },
103
+ timer: { enabled: state.enabled, every: state.every, unit: unit ? unitFile : null, runs, failing },
104
+ skills,
105
+ problems,
106
+ };
107
+ };
108
+ const yes = (value) => (value ? "yes" : "no");
109
+ export const doctorText = (d) => [
110
+ `memo ${d.memo.version} on Node ${d.memo.node}, installed by ${d.memo.installed_by}`,
111
+ `config ${d.config.path}${d.config.exists ? "" : " (none yet)"}`,
112
+ `state ${d.state}`,
113
+ `cache ${d.cache}`,
114
+ `store ${d.store.path}${!d.store.exists
115
+ ? " (none yet; the first memo sync makes it)"
116
+ : "schema" in d.store
117
+ ? ` (schema ${d.store.schema}, memo speaks ${d.store.speaks})`
118
+ : ""}`,
119
+ ...d.notes.map((f) => `notes ${f.path} — exists ${yes(f.exists)}, folder id ${yes(f.bound)}`),
120
+ ...d.mail.accounts.map((a) => `mail ${a.name} <${a.address}> ${a.mode}` +
121
+ (a.rules_in_config
122
+ ? `, ${a.rules_in_config} rules in the config, moved into the store by the next mail command`
123
+ : "")),
124
+ ...(d.mail.accounts.some(({ mode }) => mode !== "mbox") ? [`himalaya ${d.mail.himalaya ?? "not found"}`] : []),
125
+ `search ${d.search_model.name} ${d.search_model.present ? "present" : "not downloaded — search is by words"}`,
126
+ `timer ${d.timer.enabled ? `on, every ${d.timer.every}` : "off"}`,
127
+ ...d.skills.map((s) => `skill ${s.path} ${s.version === null ? "(not installed)" : `(${s.version})`}`),
128
+ "",
129
+ ...(d.problems.length === 0
130
+ ? ["nothing needs attention"]
131
+ : d.problems.map(({ what, fix }) => `! ${what}${fix ? ` — ${fix}` : ""}`)),
132
+ ].join("\n");
133
+ export const doctorCommand = (program, streams, env) => {
134
+ const { print } = answers(program, streams, env);
135
+ program
136
+ .command("doctor")
137
+ .description("where memo keeps its files and what needs attention; connects to nothing")
138
+ .option("--json", "print JSON; --json=id,title keeps only those fields")
139
+ .addHelpText("after", "\nReads this computer only: the config, the store, the notes folders, Himalaya, the search model, the timer " +
140
+ "and the agent skill. Exits 1 when something needs attention, each with the command that fixes it.")
141
+ .action(async (options) => {
142
+ const diagnosis = await diagnose(env);
143
+ print(options.json, itemAnswer(diagnosis), doctorText(diagnosis));
144
+ if (diagnosis.problems.length > 0)
145
+ process.exitCode = 1;
146
+ });
147
+ };
148
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/doctor/command.ts"],"names":[],"mappings":"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"}
package/dist/effects.d.ts CHANGED
@@ -1,6 +1,11 @@
1
+ import { type CommandOutput } from "@wirecat/cli-base/commands";
1
2
  import type { Effects } from "@wirecat/cli-base/standards";
2
3
  import type { Command } from "commander";
3
4
  export declare const EFFECTS: Readonly<Record<string, Effects>>;
4
- /** Puts each leaf's effects in `commands --json`, where retries, steps and MCP hints are judged from them. */
5
+ /** The cli-core entity each answer's items are, so `--json=<field>` is checked and the CLIs compare. */
6
+ export declare const OUTPUTS: Readonly<Record<string, CommandOutput>>;
7
+ /**
8
+ * Puts each leaf's effects and answer in `commands --json`, where retries, steps and MCP hints are judged from them.
9
+ */
5
10
  export declare const addEffects: (program: Command) => void;
6
11
  //# sourceMappingURL=effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyFrD,CAAA;AAED,8GAA8G;AAC9G,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,IAK7C,CAAA"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6FrD,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAc3D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,OAAO,KAAG,IAM7C,CAAA"}
package/dist/effects.js CHANGED
@@ -1,11 +1,6 @@
1
1
  import { annotate } from "@wirecat/cli-base/commands";
2
+ import { FETCH, LOCAL_READ, LOCAL_WRITE, NO_EFFECTS, REMOTE_READ } from "@wirecat/cli-core/cli";
2
3
  import { leaves } from "./examples.js";
3
- // cli-core's FETCH, LOCAL_READ… spelled out: importing its CLI module would cost every memo command ~70 ms.
4
- const REMOTE_READ = { remote: "read", local: "read" };
5
- const FETCH = { remote: "read", local: "write" };
6
- const LOCAL_READ = { remote: "none", local: "read" };
7
- const LOCAL_WRITE = { remote: "none", local: "write" };
8
- const NO_EFFECTS = { remote: "none", local: "none" };
9
4
  // memo's remote side is the mail server and a configured model; it only ever reads there. Notes folders and the
10
5
  // store are this machine. A command missing here counts as a write: never retried, never run as an unasked step.
11
6
  export const EFFECTS = {
@@ -26,6 +21,8 @@ export const EFFECTS = {
26
21
  "mail rules add": LOCAL_WRITE,
27
22
  "mail rules remove": LOCAL_WRITE,
28
23
  "mail rules apply": LOCAL_WRITE,
24
+ "mail rules export": LOCAL_READ,
25
+ "mail rules import": LOCAL_WRITE,
29
26
  note: LOCAL_WRITE,
30
27
  "tags add": LOCAL_WRITE,
31
28
  "tags remove": LOCAL_WRITE,
@@ -94,16 +91,36 @@ export const EFFECTS = {
94
91
  "auto start": LOCAL_WRITE,
95
92
  "auto stop": LOCAL_WRITE,
96
93
  "auto status": LOCAL_READ,
94
+ doctor: LOCAL_READ,
95
+ upgrade: FETCH,
97
96
  commands: NO_EFFECTS,
98
97
  "skill show": NO_EFFECTS,
99
98
  "skill install": LOCAL_WRITE,
100
99
  };
101
- /** Puts each leaf's effects in `commands --json`, where retries, steps and MCP hints are judged from them. */
100
+ /** The cli-core entity each answer's items are, so `--json=<field>` is checked and the CLIs compare. */
101
+ export const OUTPUTS = {
102
+ "search all": { entity: "hit" },
103
+ "search messages": { entity: "message", view: "hit" },
104
+ "search mail": { entity: "message", view: "hit" },
105
+ "search notes": { entity: "note", view: "hit" },
106
+ "search memories": { entity: "memory" },
107
+ "facts add": { entity: "fact" },
108
+ "facts show": { entity: "fact" },
109
+ "facts confirm": { entity: "fact" },
110
+ "facts reverse": { entity: "fact" },
111
+ "memories add": { entity: "memory" },
112
+ "memories show": { entity: "memory" },
113
+ "memories confirm": { entity: "memory" },
114
+ "memories stale": { entity: "memory" },
115
+ };
116
+ /**
117
+ * Puts each leaf's effects and answer in `commands --json`, where retries, steps and MCP hints are judged from them.
118
+ */
102
119
  export const addEffects = (program) => {
103
120
  for (const [path, command] of leaves(program)) {
104
121
  const effects = EFFECTS[path];
105
- if (effects)
106
- annotate(command, { effects });
122
+ const output = OUTPUTS[path];
123
+ annotate(command, { ...(effects ? { effects } : {}), ...(output ? { output } : {}) });
107
124
  }
108
125
  };
109
126
  //# sourceMappingURL=effects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.js","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAyHhE,CAAA;AAED,eAAO,MAAM,MAAM,YAAa,OAAO,SAAQ,MAAM,EAAE,KAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAI5E,CAAA;AAEJ,qFAAqF;AACrF,eAAO,MAAM,WAAW,YAAa,OAAO,KAAG,IAO9C,CAAA"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA6HhE,CAAA;AAED,eAAO,MAAM,MAAM,YAAa,OAAO,SAAQ,MAAM,EAAE,KAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAI5E,CAAA;AAEJ,qFAAqF;AACrF,eAAO,MAAM,WAAW,YAAa,OAAO,KAAG,IAO9C,CAAA"}
package/dist/examples.js CHANGED
@@ -28,6 +28,8 @@ export const EXAMPLES = {
28
28
  ],
29
29
  "mail rules remove": ["memo mail rules remove personal --domain news.example"],
30
30
  "mail rules apply": ["memo mail rules apply personal", "memo mail rules apply personal --yes --json"],
31
+ "mail rules export": ["memo mail rules export personal"],
32
+ "mail rules import": ["memo mail rules import personal rules.json"],
31
33
  note: ["memo note telegram:'Kai Sample' People/Kai.md", "memo note telegram:'Kai Sample' --clear"],
32
34
  "tags add": ["memo tags add follow-up --note note:12", "memo tags add harbour --project HRB"],
33
35
  "tags remove": ["memo tags remove follow-up --note note:12"],
@@ -80,14 +82,14 @@ export const EXAMPLES = {
80
82
  "vocabulary aliases add": ["memo vocabulary aliases add project:2 Harbor --expected 3f9a"],
81
83
  "vocabulary aliases remove": ["memo vocabulary aliases remove project:2 5 --expected 3f9a"],
82
84
  "memories add": ["memo memories add 'Kai prefers Friday meetings' --kind preference --scope work --evidence note:12"],
83
- "memories list": ["memo memories list --status proposed"],
85
+ "memories list": ["memo memories list status:proposed kind:preference"],
84
86
  "memories show": ["memo memories show memory:4"],
85
87
  "memories confirm": ["memo memories confirm memory:4"],
86
88
  "memories stale": ["memo memories stale memory:4"],
87
89
  "facts add": [
88
- "memo facts add 'We moved the launch to spring' --type decision --evidence 'msg:telegram/1/77/42' --project HRB",
90
+ "memo facts add 'We moved the launch to spring' --kind decision --evidence 'msg:telegram/1/77/42' --project HRB",
89
91
  ],
90
- "facts list": ["memo facts list --type decision --project HRB"],
92
+ "facts list": ["memo facts list kind:decision project:HRB"],
91
93
  "facts show": ["memo facts show fact:4"],
92
94
  "facts confirm": ["memo facts confirm fact:4"],
93
95
  "facts reverse": ["memo facts reverse fact:4"],
@@ -117,6 +119,8 @@ export const EXAMPLES = {
117
119
  "auto start": ["memo auto start --every 10m"],
118
120
  "auto stop": ["memo auto stop"],
119
121
  "auto status": ["memo auto status --json"],
122
+ doctor: ["memo doctor", "memo doctor --json"],
123
+ upgrade: ["memo upgrade --check", "memo upgrade"],
120
124
  commands: ["memo commands --json", "memo commands tags add --json"],
121
125
  "skill show": ["memo skill show"],
122
126
  "skill install": ["memo skill install --for all"],
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/facts/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA4BxC,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAoEzF,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/facts/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBxC,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAmEzF,CAAA"}
@@ -1,15 +1,16 @@
1
- import { FACT_STATUSES, FACT_TYPES, MEMORY_SCOPES } from "@wirecat/cli-core/store";
1
+ import { FACT_TYPES, MEMORY_SCOPES } from "@wirecat/cli-core/store";
2
+ import { answers, itemAnswer } from "../answer.js";
2
3
  import { authorOf, byOption } from "../author.js";
4
+ import { withQuery } from "../list-query.js";
3
5
  import { oneOf, positive } from "../options.js";
4
- import { pageOf } from "../page.js";
5
- import { answering } from "../records/run.js";
6
6
  import { canonicalProject } from "../vocabulary/project.js";
7
+ import { FACT_QUERY, factItem, listFacts } from "./fact.js";
7
8
  export const factsCommand = (program, streams, env) => {
8
- const run = answering(streams, env);
9
+ const { run } = answers(program, streams, env);
9
10
  const facts = program.command("facts").description("what happened — said, asked, decided, promised — with evidence");
10
11
  byOption(facts.command("add").description("record a fact; an agent's waits as proposed until you confirm it"))
11
12
  .argument("<statement...>", "what happened, in one sentence")
12
- .requiredOption("--type <type>", FACT_TYPES.join(", "), oneOf(FACT_TYPES))
13
+ .requiredOption("--kind <kind>", FACT_TYPES.join(", "), oneOf(FACT_TYPES))
13
14
  .option("--evidence <ref...>", "what shows it: msg:, note:, meeting:, person: or another reference")
14
15
  .option("--project <project>", "the project it belongs to: its key or project:<id>")
15
16
  .option("--subject <ref>", "what it is about, as a reference")
@@ -17,8 +18,8 @@ export const factsCommand = (program, streams, env) => {
17
18
  .option("--scope <scope>", MEMORY_SCOPES.join(" or "), oneOf(MEMORY_SCOPES))
18
19
  .option("--supersedes <ref>", "a decision only: the decision this one replaces")
19
20
  .option("--json", "print JSON; --json=id,title keeps only those fields")
20
- .action((words, options) => run(options.json, async (store) => store.facts.add({
21
- type: options.type,
21
+ .action((words, options) => run(options.json, async (store) => itemAnswer(factItem(await store.facts.add({
22
+ type: options.kind,
22
23
  statement: words.join(" "),
23
24
  by: authorOf(env, options.asOwner),
24
25
  ...(options.evidence === undefined ? {} : { evidence: options.evidence }),
@@ -27,37 +28,28 @@ export const factsCommand = (program, streams, env) => {
27
28
  ...(options.occurred === undefined ? {} : { occurredAt: options.occurred }),
28
29
  ...(options.scope === undefined ? {} : { scope: options.scope }),
29
30
  ...(options.supersedes === undefined ? {} : { supersedes: options.supersedes }),
30
- })));
31
- facts
32
- .command("list")
33
- .description("facts, latest first")
34
- .option("--type <type>", FACT_TYPES.join(", "), oneOf(FACT_TYPES))
35
- .option("--status <status>", FACT_STATUSES.join(", "), oneOf(FACT_STATUSES))
36
- .option("--project <project>", "only this project's: its key or project:<id>")
37
- .option("--subject <ref>", "only facts about this reference")
31
+ })))));
32
+ withQuery(facts.command("list").description("facts, latest first"), FACT_QUERY)
38
33
  .option("--limit <n>", "most facts, up to 500", positive, 100)
39
34
  .option("--json", "print JSON; --json=id,title keeps only those fields")
40
- .action(({ json, ...filters }) => run(json, async (store) => {
41
- const project = filters.project === undefined ? undefined : await canonicalProject(store, filters.project);
42
- return pageOf(filters.limit, (limit) => store.facts.list({ ...filters, ...(project === undefined ? {} : { project }), limit }));
43
- }));
35
+ .action((words, { json, limit }) => run(json, (store) => listFacts(store, words, limit)));
44
36
  facts
45
37
  .command("show")
46
38
  .description("one fact with its evidence")
47
39
  .argument("<ref>", "fact:<id>")
48
40
  .option("--json", "print JSON; --json=id,title keeps only those fields")
49
- .action((ref, options) => run(options.json, (store) => store.facts.get(ref)));
41
+ .action((ref, options) => run(options.json, async (store) => itemAnswer(factItem(await store.facts.get(ref)))));
50
42
  facts
51
43
  .command("confirm")
52
44
  .description("stand behind a fact an agent proposed; a decision it supersedes stops holding")
53
45
  .argument("<ref>", "fact:<id>")
54
46
  .option("--json", "print JSON; --json=id,title keeps only those fields")
55
- .action((ref, options) => run(options.json, (store) => store.facts.accept(ref)));
47
+ .action((ref, options) => run(options.json, async (store) => itemAnswer(factItem(await store.facts.accept(ref)))));
56
48
  facts
57
49
  .command("reverse")
58
50
  .description("an accepted decision no longer holds, and nothing replaced it")
59
51
  .argument("<ref>", "fact:<id>")
60
52
  .option("--json", "print JSON; --json=id,title keeps only those fields")
61
- .action((ref, options) => run(options.json, (store) => store.facts.reverse(ref)));
53
+ .action((ref, options) => run(options.json, async (store) => itemAnswer(factItem(await store.facts.reverse(ref)))));
62
54
  };
63
55
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/facts/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/facts/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type Fact, type MessageStore } from "@wirecat/cli-core/store";
2
+ export declare const FACT_QUERY: {
3
+ readonly entity: "fact";
4
+ readonly backend: "native";
5
+ readonly fields: readonly [import("@wirecat/cli-base/query").FieldSpec, import("@wirecat/cli-base/query").FieldSpec, import("@wirecat/cli-base/query").FieldSpec, import("@wirecat/cli-base/query").FieldSpec];
6
+ };
7
+ /** A fact under cli-core's `fact` entity names; `confirmed_by` is memo's own beyond it. */
8
+ export declare const factItem: ({ type, statement, source, confirmedBy, ...fact }: Fact) => {
9
+ ref: string;
10
+ id: string;
11
+ kind: "decision" | "fact" | "promise" | "question" | "statement";
12
+ text: string;
13
+ status: "accepted" | "proposed" | "reversed" | "superseded";
14
+ project: string | null;
15
+ subject: string | null;
16
+ occurredAt: string | null;
17
+ supersedes: string | null;
18
+ author: {
19
+ type: "bot" | "person";
20
+ id: string;
21
+ name: string | null;
22
+ };
23
+ model: string | null;
24
+ scope: "personal" | "work" | null;
25
+ origin: string;
26
+ evidence: string[];
27
+ createdAt: string;
28
+ updatedAt: string;
29
+ confirmedBy: {
30
+ type: "bot" | "person";
31
+ id: string;
32
+ } | null;
33
+ };
34
+ /** Facts the store filters by the query's terms; CLI and MCP list through it. */
35
+ export declare const listFacts: (store: MessageStore, query: readonly string[] | string | undefined, limit?: number) => Promise<import("@wirecat/cli-core/cli").ListBody<unknown>>;
36
+ //# sourceMappingURL=fact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fact.d.ts","sourceRoot":"","sources":["../../src/facts/fact.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAKjG,eAAO,MAAM,UAAU;qBACb,MAAM;sBACL,QAAQ;;CAOe,CAAA;AAElC,2FAA2F;AAC3F,eAAO,MAAM,QAAQ,sDAAuD,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9E,CAAA;AAEF,iFAAiF;AACjF,eAAO,MAAM,SAAS,UAAiB,YAAY,SAAS,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,UAAU,MAAM,+DAYjH,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { FACT_STATUSES, FACT_TYPES } from "@wirecat/cli-core/store";
2
+ import { queryField, queryTerms } from "../list-query.js";
3
+ import { pageOf } from "../page.js";
4
+ import { canonicalProject } from "../vocabulary/project.js";
5
+ export const FACT_QUERY = {
6
+ entity: "fact",
7
+ backend: "native",
8
+ fields: [
9
+ queryField("kind", "enum", "kind:decision", FACT_TYPES),
10
+ queryField("status", "enum", "status:proposed", FACT_STATUSES),
11
+ queryField("project", "kw", "project:SYH"),
12
+ queryField("subject", "ref", 'subject:"person:42"'),
13
+ ],
14
+ };
15
+ /** A fact under cli-core's `fact` entity names; `confirmed_by` is memo's own beyond it. */
16
+ export const factItem = ({ type, statement, source, confirmedBy, ...fact }) => ({
17
+ ref: fact.ref,
18
+ id: fact.id,
19
+ kind: type,
20
+ text: statement,
21
+ status: fact.status,
22
+ project: fact.project,
23
+ subject: fact.subject,
24
+ occurredAt: fact.occurredAt,
25
+ supersedes: fact.supersedes,
26
+ author: fact.author,
27
+ model: fact.model,
28
+ scope: fact.scope,
29
+ origin: source,
30
+ evidence: fact.evidence,
31
+ createdAt: fact.createdAt,
32
+ updatedAt: fact.updatedAt,
33
+ confirmedBy,
34
+ });
35
+ /** Facts the store filters by the query's terms; CLI and MCP list through it. */
36
+ export const listFacts = async (store, query, limit) => {
37
+ const terms = queryTerms(query, FACT_QUERY, "facts list");
38
+ const project = terms.get("project");
39
+ const filters = {
40
+ ...(terms.has("kind") ? { type: terms.get("kind") } : {}),
41
+ ...(terms.has("status") ? { status: terms.get("status") } : {}),
42
+ ...(project === undefined ? {} : { project: await canonicalProject(store, project) }),
43
+ ...(terms.has("subject") ? { subject: terms.get("subject") } : {}),
44
+ };
45
+ return pageOf("facts list", limit, async (most) => (await store.facts.list({ ...filters, limit: most })).map(factItem));
46
+ };
47
+ //# sourceMappingURL=fact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fact.js","sourceRoot":"","sources":["../../src/facts/fact.ts"],"names":[],"mappings":"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"}