@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
package/README.md CHANGED
@@ -346,7 +346,7 @@ More: [security](https://github.com/WireCatLabs/cli-memo/blob/main/docs/security
346
346
  reported, not read.
347
347
  - Search by meaning embeds at most 600 chunks a run; the next run continues.
348
348
  - `memo sync --mail` reads 200 new messages per account a run by default (`--limit`) and keeps up to 1,000,000
349
- characters of a body and 200,000 of an attachment's text (`mail.maxBodyChars`, `mail.maxAttachmentChars`).
349
+ characters of a body and 200,000 of an attachment's text (`mail.max_body_chars`, `mail.max_attachment_chars`).
350
350
  - Searches return at most 100 results; `tags list` shows 100 labels unless `--limit` says more.
351
351
  - Tags are 1–32 letters a–z, digits or hyphens.
352
352
 
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/actions/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAuD3F,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/actions/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA+D3F,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { approveAsTask } from "@wirecat/cli-core/services";
2
2
  import { PROPOSAL_STATUSES } from "@wirecat/cli-core/store";
3
+ import { answers, itemAnswer } from "../answer.js";
3
4
  import { authorOf, byOption } from "../author.js";
4
5
  import { oneOf, positive } from "../options.js";
5
6
  import { pageOf } from "../page.js";
6
- import { answering } from "../records/run.js";
7
7
  import { propose } from "./actions.js";
8
8
  export const actionsCommand = (program, streams, env) => {
9
- const run = answering(streams, env);
9
+ const { run } = answers(program, streams, env);
10
10
  const actions = program
11
11
  .command("actions")
12
12
  .description("what an agent proposes to do; confirming one makes it your task, nothing is sent");
@@ -18,31 +18,31 @@ export const actionsCommand = (program, streams, env) => {
18
18
  .option("--target <ref>", "what it acts on: msg:, chat:, contact:, person:, task:, …")
19
19
  .option("--payload <json>", "what to do, as JSON, such as the reply's text")
20
20
  .option("--json", "print JSON; --json=id,title keeps only those fields")
21
- .action((kind, { asOwner, ...options }) => run(options.json, (store) => propose(store, { ...options, kind }, authorOf(env, asOwner))));
21
+ .action((kind, { asOwner, ...options }) => run(options.json, async (store) => itemAnswer(await propose(store, { ...options, kind }, authorOf(env, asOwner)))));
22
22
  actions
23
23
  .command("list")
24
24
  .description("proposed actions, newest first")
25
25
  .option("--status <status>", PROPOSAL_STATUSES.join(", "), oneOf(PROPOSAL_STATUSES))
26
26
  .option("--limit <n>", "most actions, up to 500", positive, 100)
27
27
  .option("--json", "print JSON; --json=id,title keeps only those fields")
28
- .action((options) => run(options.json, (store) => pageOf(options.limit, (limit) => store.proposedActions.list({ limit, ...(options.status === undefined ? {} : { status: options.status }) }))));
28
+ .action((options) => run(options.json, (store) => pageOf("actions list", options.limit, (limit) => store.proposedActions.list({ limit, ...(options.status === undefined ? {} : { status: options.status }) }))));
29
29
  actions
30
30
  .command("show")
31
31
  .description("one proposed action, with its payload")
32
32
  .argument("<id>", "the action's id, as actions list gives it")
33
33
  .option("--json", "print JSON; --json=id,title keeps only those fields")
34
- .action((id, options) => run(options.json, (store) => store.proposedActions.get(id)));
34
+ .action((id, options) => run(options.json, async (store) => itemAnswer(await store.proposedActions.get(id))));
35
35
  actions
36
36
  .command("confirm")
37
37
  .description("confirm it: it becomes a task in the account that would act; nothing is sent")
38
38
  .argument("<id>", "the action's id, as actions list gives it")
39
39
  .option("--json", "print JSON; --json=id,title keeps only those fields")
40
- .action((id, options) => run(options.json, (store) => approveAsTask(store, id)));
40
+ .action((id, options) => run(options.json, async (store) => itemAnswer(await approveAsTask(store, id))));
41
41
  actions
42
42
  .command("reject")
43
43
  .description("reject it; nothing is done")
44
44
  .argument("<id>", "the action's id, as actions list gives it")
45
45
  .option("--json", "print JSON; --json=id,title keeps only those fields")
46
- .action((id, options) => run(options.json, (store) => store.proposedActions.reject(id)));
46
+ .action((id, options) => run(options.json, async (store) => itemAnswer(await store.proposedActions.reject(id))));
47
47
  };
48
48
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/actions/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/actions/command.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
+ import { answers } from "../answer.js";
1
2
  import { positive } from "../options.js";
2
3
  import { pageOf } from "../page.js";
3
- import { answering } from "../records/run.js";
4
4
  export const agentsCommand = (program, streams, env) => {
5
- const run = answering(streams, env);
5
+ const { run } = answers(program, streams, env);
6
6
  program
7
7
  .command("agents")
8
8
  .description("what agents did through the MCP servers that share the store")
@@ -13,7 +13,7 @@ export const agentsCommand = (program, streams, env) => {
13
13
  .option("--agent <name>", "only this agent, such as tg-mcp or memo-mcp")
14
14
  .option("--limit <n>", "most rows, up to 500", positive, 100)
15
15
  .option("--json", "print JSON; --json=id,title keeps only those fields")
16
- .action((options) => run(options.json, (store) => pageOf(options.limit, (limit) => store.agentActions.list({
16
+ .action((options) => run(options.json, (store) => pageOf("agents log", options.limit, (limit) => store.agentActions.list({
17
17
  ...(options.tool === undefined ? {} : { tool: options.tool }),
18
18
  ...(options.agent === undefined ? {} : { agent: options.agent }),
19
19
  limit,
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/agents/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAQ,EAAE;IAChG,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACnC,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,qEAAqE,CAAC;SAC9E,WAAW,CAAC,gGAAgG,CAAC;SAC7G,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,OAAyE,EAAE,EAAE,CACpF,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,KAAK;KACN,CAAC,CACH,CACF,CACF,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/agents/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAQ,EAAE;IAChG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC9C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,qEAAqE,CAAC;SAC9E,WAAW,CAAC,gGAAgG,CAAC;SAC7G,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,OAAyE,EAAE,EAAE,CACpF,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,KAAK;KACN,CAAC,CACH,CACF,CACF,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import { type Body, itemOf, type ListInput } from "@wirecat/cli-core/cli";
3
+ import { type MessageStore } from "@wirecat/cli-core/store";
4
+ import type { Command } from "commander";
5
+ export declare const itemAnswer: <T>(value: T, extra?: Parameters<typeof itemOf>[1]) => import("@wirecat/cli-core/cli").ItemBody<unknown>;
6
+ /**
7
+ * A list. One that takes neither `--cursor` nor `--page` shows more only by a higher `--limit`, so it names no
8
+ * next page and no `page.next` step: both would point at a flag the command does not have.
9
+ */
10
+ export declare const listAnswer: <T>(command: string, input: ListInput<T>) => import("@wirecat/cli-core/cli").ListBody<unknown>;
11
+ export declare const wholeList: (command: string, items: unknown[]) => import("@wirecat/cli-core/cli").ListBody<unknown>;
12
+ export declare const withStore: <T>(env: NodeJS.ProcessEnv, work: (store: MessageStore) => Promise<T>) => Promise<T>;
13
+ /** The answer is judged by the command that ran — whether it may be partial — so the root remembers it. */
14
+ export declare const trackAnswers: (program: Command) => void;
15
+ /**
16
+ * Prints answers through cli-core's renderer: the whole envelope for `--json`, otherwise `text`, or the item or
17
+ * items as indented JSON where a command has no text view.
18
+ */
19
+ export declare const answers: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => {
20
+ print: (json: boolean | undefined, body: Body, text?: string) => void;
21
+ run: (json: boolean | undefined, work: (store: MessageStore) => Promise<Body>) => Promise<void>;
22
+ };
23
+ //# sourceMappingURL=answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer.d.ts","sourceRoot":"","sources":["../src/answer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,EAAE,KAAK,SAAS,EAAgC,MAAM,uBAAuB,CAAA;AACnH,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,yBAAyB,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,CAAC,UAAU,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,sDAAoC,CAAA;AAEhH;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,MAAM,SAAS,SAAS,CAAC,CAAC,CAAC,sDAQjE,CAAA;AAED,eAAO,MAAM,SAAS,YAAa,MAAM,SAAS,OAAO,EAAE,sDACwB,CAAA;AAEnF,eAAO,MAAM,SAAS,GAAU,CAAC,OAAO,MAAM,CAAC,UAAU,QAAQ,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAO/G,CAAA;AAID,2GAA2G;AAC3G,eAAO,MAAM,YAAY,YAAa,OAAO,KAAG,IAK/C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU;kBAC3D,OAAO,GAAG,SAAS,QAAQ,IAAI,SAAS,MAAM,KAAG,IAAI;gBAYtD,OAAO,GAAG,SAAS,QAAQ,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC;CAGtF,CAAA"}
package/dist/answer.js ADDED
@@ -0,0 +1,56 @@
1
+ import { createRenderer } from "@wirecat/cli-base";
2
+ import { currentRun, itemOf, listOf, renderAnswer, rootOf } from "@wirecat/cli-core/cli";
3
+ import { openStore } from "@wirecat/cli-core/store";
4
+ import { snakeKeys } from "./output.js";
5
+ export const itemAnswer = (value, extra) => itemOf(snakeKeys(value), extra);
6
+ /**
7
+ * A list. One that takes neither `--cursor` nor `--page` shows more only by a higher `--limit`, so it names no
8
+ * next page and no `page.next` step: both would point at a flag the command does not have.
9
+ */
10
+ export const listAnswer = (command, input) => {
11
+ const body = listOf(command, { ...input, items: snakeKeys(input.items) });
12
+ if (input.cursor !== undefined || input.page !== undefined)
13
+ return body;
14
+ if (body.page.mode === "page")
15
+ delete body.page.next_page;
16
+ const next = body.next?.filter(({ step }) => step !== "page.next") ?? [];
17
+ if (next.length > 0)
18
+ body.next = next;
19
+ else
20
+ delete body.next;
21
+ return body;
22
+ };
23
+ export const wholeList = (command, items) => listAnswer(command, { items, limit: Math.max(1, items.length), has_more: false });
24
+ export const withStore = async (env, work) => {
25
+ const store = await openStore({ env });
26
+ try {
27
+ return await work(store);
28
+ }
29
+ finally {
30
+ await store.close();
31
+ }
32
+ };
33
+ const running = new WeakMap();
34
+ /** The answer is judged by the command that ran — whether it may be partial — so the root remembers it. */
35
+ export const trackAnswers = (program) => {
36
+ currentRun();
37
+ program.hook("preAction", (root, leaf) => {
38
+ running.set(root, leaf);
39
+ });
40
+ };
41
+ /**
42
+ * Prints answers through cli-core's renderer: the whole envelope for `--json`, otherwise `text`, or the item or
43
+ * items as indented JSON where a command has no text view.
44
+ */
45
+ export const answers = (program, streams, env) => {
46
+ const print = (json, body, text) => {
47
+ const format = json ? "json" : "pretty";
48
+ const root = rootOf(program);
49
+ renderAnswer(running.get(root) ?? root, { renderer: createRenderer({ format, color: false, streams }), format, streams }, body, () => `${text ?? JSON.stringify("items" in body ? body.items : body.item, null, 2)}\n`);
50
+ };
51
+ return {
52
+ print,
53
+ run: async (json, work) => print(json, await withStore(env, work)),
54
+ };
55
+ };
56
+ //# sourceMappingURL=answer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer.js","sourceRoot":"","sources":["../src/answer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/answers/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAgB,MAAM,0BAA0B,CAAA;AAE5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,EAAE,KAAK,YAAY,EAAiC,MAAM,sBAAsB,CAAA;AAGvF,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAAA;CAC/C;AACD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACpD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,cAAc,aACf,MAAM,YACN,YAAY,EAAE,WACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE;;;;QAuD9F,QAAQ;QAAmB,IAAI;;;;;;;EAO3C,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA0EpF,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/answers/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAgB,MAAM,0BAA0B,CAAA;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,EAAE,KAAK,YAAY,EAAiC,MAAM,sBAAsB,CAAA;AAGvF,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAAA;CAC/C;AACD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACpD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,cAAc,aACf,MAAM,YACN,YAAY,EAAE,WACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE;;;;QAuD9F,QAAQ;QAAmB,IAAI;;;;;;;EAO3C,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SAuEpF,CAAA"}
@@ -1,8 +1,7 @@
1
- import { CliError, createRenderer } from "@wirecat/cli-base";
1
+ import { CliError } from "@wirecat/cli-base";
2
2
  import { modelGateway } from "@wirecat/cli-core/models";
3
- import { openStore } from "@wirecat/cli-core/store";
3
+ import { answers, itemAnswer, withStore } from "../answer.js";
4
4
  import { positive } from "../options.js";
5
- import { snakeKeys } from "../output.js";
6
5
  import { searchAccounts, unifiedSearch } from "../search/command.js";
7
6
  export const answerEvidence = async (question, evidence, options) => {
8
7
  const result = await modelGateway({
@@ -56,6 +55,7 @@ export const answerEvidence = async (question, evidence, options) => {
56
55
  };
57
56
  };
58
57
  export const askCommand = (program, streams, env) => {
58
+ const { print } = answers(program, streams, env);
59
59
  program
60
60
  .command("ask")
61
61
  .description("prepare cited evidence for your agent, or explicitly call a configured model")
@@ -69,8 +69,7 @@ export const askCommand = (program, streams, env) => {
69
69
  .option("--allow-remote", "explicitly consent to sending this evidence to the configured model")
70
70
  .option("--json", "print JSON; --json=id,title keeps only those fields")
71
71
  .action(async (question, options) => {
72
- const store = await openStore({ env });
73
- try {
72
+ await withStore(env, async (store) => {
74
73
  const found = await unifiedSearch(store, options.query ?? question, {
75
74
  ...(await searchAccounts(store, options)),
76
75
  limit: options.limit,
@@ -105,14 +104,8 @@ export const askCommand = (program, streams, env) => {
105
104
  })),
106
105
  };
107
106
  }
108
- if (options.json)
109
- createRenderer({ format: "json", color: false, streams }).result(snakeKeys(answer));
110
- else
111
- streams.data(`${JSON.stringify(snakeKeys(answer), null, 2)}\n`);
112
- }
113
- finally {
114
- await store.close();
115
- }
107
+ print(options.json, itemAnswer(answer));
108
+ });
116
109
  });
117
110
  };
118
111
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/answers/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/answers/command.ts"],"names":[],"mappings":"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"}
package/dist/bin/memo.js CHANGED
@@ -4,7 +4,7 @@ import { migrateFolders } from "@wirecat/cli-core/background";
4
4
  import { ensureSqlite } from "@wirecat/cli-core/sqlite-runtime";
5
5
  import { CommanderError } from "commander";
6
6
  import { APP } from "../app.js";
7
- import { interactiveOf, reportFailure, throwParseFailures } from "../failure.js";
7
+ import { interactiveOf } from "../terminal.js";
8
8
  const args = process.argv.slice(2);
9
9
  const tty = process.stdout.isTTY === true;
10
10
  const release = catchCrashes({ cli: APP.command, interactive: interactiveOf(args, tty), reasons: APP.errors.reasons });
@@ -15,23 +15,37 @@ try {
15
15
  await ensureSqlite();
16
16
  // A static import would load the store's SQLite before ensureSqlite could swap it.
17
17
  const { createProgram, refuseJoinedPath } = await import("../program.js");
18
+ const { throwParseFailures } = await import("../failure.js");
18
19
  // `memo auto status` says it in full; everywhere else one line, until a timer run passes again.
19
20
  if (args[0] !== "auto") {
20
21
  const notice = (await import("../run/auto.js")).autoNotice(process.env);
21
22
  if (notice)
22
23
  processStreams.diagnostic(notice);
23
24
  }
25
+ const { followInstall } = await import("../run/auto.js");
26
+ const { updateNotice } = await import("../update.js");
27
+ const notice = updateNotice(args);
24
28
  program = createProgram();
25
29
  throwParseFailures(program);
26
30
  refuseJoinedPath(program, args);
27
31
  await program.parseAsync(process.argv);
32
+ // After the command, so a broken systemctl never stands between the owner and the answer.
33
+ await followInstall(process.env).catch(() => undefined);
34
+ const line = await notice;
35
+ if (line && !process.exitCode)
36
+ processStreams.diagnostic(line);
28
37
  }
29
38
  catch (error) {
30
39
  // Help and the version were printed already; only their exit code is left to give.
31
40
  if (error instanceof CommanderError && (error.exitCode === 0 || error.code.startsWith("commander.help")))
32
41
  process.exitCode = error.exitCode;
33
42
  else
34
- process.exitCode = await reportFailure(error, { args, program, streams: processStreams, tty });
43
+ process.exitCode = (await import("../failure.js")).reportFailure(error, {
44
+ args,
45
+ program,
46
+ streams: processStreams,
47
+ tty,
48
+ });
35
49
  }
36
50
  finally {
37
51
  release();
@@ -1 +1 @@
1
- {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/bin/memo.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAgB,cAAc,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEhF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAA;AACzC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AACtH,IAAI,OAA4B,CAAA;AAChC,IAAI,CAAC;IACH,6FAA6F;IAC7F,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,YAAY,EAAE,CAAA;IACpB,mFAAmF;IACnF,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IACzE,gGAAgG;IAChG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACvE,IAAI,MAAM;YAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,GAAG,aAAa,EAAE,CAAA;IACzB,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC/B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,mFAAmF;IACnF,IAAI,KAAK,YAAY,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtG,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;;QAC9B,OAAO,CAAC,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAA;AACrG,CAAC;QAAS,CAAC;IACT,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/bin/memo.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAgB,cAAc,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAA;AACzC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AACtH,IAAI,OAA4B,CAAA;AAChC,IAAI,CAAC;IACH,6FAA6F;IAC7F,cAAc,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,YAAY,EAAE,CAAA;IACpB,mFAAmF;IACnF,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAC5D,gGAAgG;IAChG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACvE,IAAI,MAAM;YAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,GAAG,aAAa,EAAE,CAAA;IACzB,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC/B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,0FAA0F;IAC1F,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAA;IACzB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAChE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,mFAAmF;IACnF,IAAI,KAAK,YAAY,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtG,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;;QAEjC,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE;YACtE,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,cAAc;YACvB,GAAG;SACJ,CAAC,CAAA;AACN,CAAC;QAAS,CAAC;IACT,OAAO,EAAE,CAAA;AACX,CAAC"}
package/dist/config.d.ts CHANGED
@@ -19,7 +19,11 @@ declare const ConfigSchema: v.ObjectSchema<{
19
19
  readonly auto: v.OptionalSchema<v.ObjectSchema<{
20
20
  readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
21
21
  readonly every: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
22
+ /** MEMO_CONFIG_DIR, MESSAGING_STORE… as they were at `memo auto start`, passed to every timer run. */
23
+ readonly places: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
22
24
  }, undefined>, undefined>;
25
+ /** `false` stops the once-a-day check for a newer memo. */
26
+ readonly update_check: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
23
27
  readonly mail: v.OptionalSchema<v.ObjectSchema<{
24
28
  readonly accounts: v.ArraySchema<v.ObjectSchema<{
25
29
  readonly name: v.StringSchema<undefined>;
@@ -34,17 +38,17 @@ declare const ConfigSchema: v.ObjectSchema<{
34
38
  readonly match: v.ObjectSchema<{
35
39
  readonly from: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
36
40
  readonly domain: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
37
- readonly listId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
41
+ readonly list_id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
38
42
  }, undefined>;
39
43
  readonly action: v.PicklistSchema<["skip", "envelope", "keep"], undefined>;
40
44
  readonly reason: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
41
- readonly decidedAt: v.StringSchema<undefined>;
45
+ readonly decided_at: v.StringSchema<undefined>;
42
46
  }, undefined>, undefined>, undefined>;
43
47
  }, undefined>, undefined>;
44
48
  /** The most characters of an email body kept; 1,000,000 by default. */
45
- readonly maxBodyChars: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
49
+ readonly max_body_chars: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
46
50
  /** The most characters of one attachment's extracted text kept; 200,000 by default. */
47
- readonly maxAttachmentChars: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
51
+ readonly max_attachment_chars: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
48
52
  }, undefined>, undefined>;
49
53
  }, undefined>;
50
54
  export type Config = v.InferOutput<typeof ConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,QAAA,MAAM,YAAY;;QAGZ,4FAA4F;;;;;;;QAY5F,qFAAqF;;QAErF,6FAA6F;;;;;;;;;;;;;;YAazF,8GAA8G;;;;;YAK9G,8GAA8G;;;;;;;;;;;;QAiBlH,uEAAuE;;QAEvE,uFAAuF;;;aAI3F,CAAA;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,UAAU,SAAS,MAAM,CAAC,UAAU,KAAiB,MACiB,CAAA;AAEnF,eAAO,MAAM,UAAU,SAAS,MAAM,CAAC,UAAU,KAAiB,MACP,CAAA;AAE3D,oEAAoE;AACpE,eAAO,MAAM,YAAY,WAAY,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MAIvG,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,QAAA,MAAM,YAAY;;QAGZ,4FAA4F;;;;;;;QAY5F,qFAAqF;;QAErF,6FAA6F;;;;;;;;;QAU7F,sGAAsG;;;IAI1G,2DAA2D;;;;;;YAQnD,8GAA8G;;;;;YAK9G,8GAA8G;;;;;;;;;;;;QAiBlH,uEAAuE;;QAEvE,uFAAuF;;;aAI3F,CAAA;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,UAAU,SAAS,MAAM,CAAC,UAAU,KAAiB,MACiB,CAAA;AAEnF,eAAO,MAAM,UAAU,SAAS,MAAM,CAAC,UAAU,KAAiB,MACF,CAAA;AAEhE,oEAAoE;AACpE,eAAO,MAAM,YAAY,WAAY,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MAIvG,CAAA"}
package/dist/config.js CHANGED
@@ -1,4 +1,5 @@
1
- import { configFilePath, loadConfigFile, resolvePaths, saveConfigFile } from "@wirecat/cli-base";
1
+ import { configFilePath, resolvePaths, saveConfigFile } from "@wirecat/cli-base";
2
+ import { loadSnakeCaseConfig } from "@wirecat/cli-core/cli";
2
3
  import * as v from "valibot";
3
4
  import { DIALECTS } from "./notes/dialects/index.js";
4
5
  const ConfigSchema = v.object({
@@ -18,7 +19,14 @@ const ConfigSchema = v.object({
18
19
  /** Where `memo notes export` and `--export` write internal notes when no folder is given. */
19
20
  export: v.optional(v.object({ dir: v.pipe(v.string(), v.minLength(1)), format: v.optional(v.picklist(DIALECTS)) })),
20
21
  })),
21
- auto: v.optional(v.object({ enabled: v.optional(v.boolean()), every: v.optional(v.string()) })),
22
+ auto: v.optional(v.object({
23
+ enabled: v.optional(v.boolean()),
24
+ every: v.optional(v.string()),
25
+ /** MEMO_CONFIG_DIR, MESSAGING_STORE… as they were at `memo auto start`, passed to every timer run. */
26
+ places: v.optional(v.record(v.string(), v.string())),
27
+ })),
28
+ /** `false` stops the once-a-day check for a newer memo. */
29
+ update_check: v.optional(v.boolean()),
22
30
  mail: v.optional(v.object({
23
31
  accounts: v.array(v.object({
24
32
  name: v.string(),
@@ -33,21 +41,21 @@ const ConfigSchema = v.object({
33
41
  match: v.object({
34
42
  from: v.optional(v.string()),
35
43
  domain: v.optional(v.string()),
36
- listId: v.optional(v.string()),
44
+ list_id: v.optional(v.string()),
37
45
  }),
38
46
  action: v.picklist(["skip", "envelope", "keep"]),
39
47
  reason: v.optional(v.string()),
40
- decidedAt: v.string(),
48
+ decided_at: v.string(),
41
49
  }))),
42
50
  })),
43
51
  /** The most characters of an email body kept; 1,000,000 by default. */
44
- maxBodyChars: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
52
+ max_body_chars: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
45
53
  /** The most characters of one attachment's extracted text kept; 200,000 by default. */
46
- maxAttachmentChars: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
54
+ max_attachment_chars: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
47
55
  })),
48
56
  });
49
57
  export const configPath = (env = process.env) => configFilePath(resolvePaths({ appName: "cli-memo", prefix: "MEMO", env }).config);
50
- export const loadConfig = (env = process.env) => loadConfigFile(configPath(env), ConfigSchema, () => ({}));
58
+ export const loadConfig = (env = process.env) => loadSnakeCaseConfig(configPath(env), ConfigSchema, () => ({}));
51
59
  /** Changes one part of the config and keeps the rest as written. */
52
60
  export const updateConfig = (change, env = process.env) => {
53
61
  const next = change(loadConfig(env));
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-base";
1
+ import type { Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  import { type MemoContext } from "./context.js";
4
4
  export declare const contextText: ({ messages, notes, notRead, tasks, yourNotes }: MemoContext) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/context/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,cAAc,CAAA;AAc5D,eAAO,MAAM,WAAW,mDAAoD,WAAW,KAAG,MAyCzF,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAyB3F,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/context/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,cAAc,CAAA;AAc5D,eAAO,MAAM,WAAW,mDAAoD,WAAW,KAAG,MAyCzF,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAsB3F,CAAA"}
@@ -1,8 +1,6 @@
1
- import { createRenderer } from "@wirecat/cli-base";
2
- import { openStore } from "@wirecat/cli-core/store";
1
+ import { answers, itemAnswer, withStore } from "../answer.js";
3
2
  import { boundFolders } from "../notes/bound.js";
4
3
  import { positive } from "../options.js";
5
- import { snakeKeys } from "../output.js";
6
4
  import { importNotesMap } from "../people/notes-map.js";
7
5
  import { memoContext } from "./context.js";
8
6
  const MAX_TEXT = 160;
@@ -52,6 +50,7 @@ export const contextText = ({ messages, notes, notRead, tasks, yourNotes }) => {
52
50
  ].join("\n");
53
51
  };
54
52
  export const contextCommand = (program, streams, env) => {
53
+ const { print } = answers(program, streams, env);
55
54
  program
56
55
  .command("context")
57
56
  .description("messages, mail and notes about a person, each with a link to its source")
@@ -60,21 +59,14 @@ export const contextCommand = (program, streams, env) => {
60
59
  .option("--json", "print JSON; --json=id,title keeps only those fields")
61
60
  .option("--account <account>", "the stored account to read; required when the store holds several of that messenger")
62
61
  .action(async (person, options) => {
63
- const store = await openStore({ env });
64
- try {
62
+ const answer = await withStore(env, async (store) => {
65
63
  await importNotesMap(store, env, await boundFolders(store, env, { strict: false }));
66
- const answer = await memoContext(store, person, {
64
+ return memoContext(store, person, {
67
65
  limit: options.limit,
68
66
  ...(options.account === undefined ? {} : { account: options.account }),
69
67
  });
70
- if (options.json)
71
- createRenderer({ format: "json", color: false, streams }).result(snakeKeys(answer));
72
- else
73
- streams.data(`${contextText(answer)}\n`);
74
- }
75
- finally {
76
- await store.close();
77
- }
68
+ });
69
+ print(options.json, itemAnswer(answer), contextText(answer));
78
70
  });
79
71
  };
80
72
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/context/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/context/command.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  /** The major version of the JSON memo's commands print; raise it when a field is removed or renamed. */
4
- export declare const CONTRACT = 3;
4
+ export declare const CONTRACT = 4;
5
5
  export declare const commandsCommand: (program: Command, streams: Streams) => void;
6
6
  //# sourceMappingURL=command.d.ts.map
@@ -2,7 +2,7 @@ import { CliError, createRenderer } from "@wirecat/cli-base";
2
2
  import { commandsDocument, flatten } from "@wirecat/cli-base/commands";
3
3
  import { VERSION } from "../version.js";
4
4
  /** The major version of the JSON memo's commands print; raise it when a field is removed or renamed. */
5
- export const CONTRACT = 3;
5
+ export const CONTRACT = 4;
6
6
  export const commandsCommand = (program, streams) => {
7
7
  program
8
8
  .command("commands")