@wirecat/cli-memo 0.31.0 → 0.33.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 (176) hide show
  1. package/README.md +3 -2
  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 -14
  13. package/dist/answers/command.js.map +1 -1
  14. package/dist/bin/memo.js +8 -2
  15. package/dist/bin/memo.js.map +1 -1
  16. package/dist/context/command.d.ts +1 -1
  17. package/dist/context/command.d.ts.map +1 -1
  18. package/dist/context/command.js +6 -15
  19. package/dist/context/command.js.map +1 -1
  20. package/dist/doctor/command.d.ts +2 -1
  21. package/dist/doctor/command.d.ts.map +1 -1
  22. package/dist/doctor/command.js +10 -12
  23. package/dist/doctor/command.js.map +1 -1
  24. package/dist/effects.d.ts +6 -1
  25. package/dist/effects.d.ts.map +1 -1
  26. package/dist/effects.js +27 -9
  27. package/dist/effects.js.map +1 -1
  28. package/dist/examples.d.ts.map +1 -1
  29. package/dist/examples.js +24 -9
  30. package/dist/examples.js.map +1 -1
  31. package/dist/facts/command.d.ts.map +1 -1
  32. package/dist/facts/command.js +14 -22
  33. package/dist/facts/command.js.map +1 -1
  34. package/dist/facts/fact.d.ts +36 -0
  35. package/dist/facts/fact.d.ts.map +1 -0
  36. package/dist/facts/fact.js +47 -0
  37. package/dist/facts/fact.js.map +1 -0
  38. package/dist/failure.d.ts +5 -7
  39. package/dist/failure.d.ts.map +1 -1
  40. package/dist/failure.js +8 -27
  41. package/dist/failure.js.map +1 -1
  42. package/dist/knowledge/command.d.ts.map +1 -1
  43. package/dist/knowledge/command.js +46 -33
  44. package/dist/knowledge/command.js.map +1 -1
  45. package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
  46. package/dist/knowledge/meeting-projects-command.js +22 -12
  47. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  48. package/dist/list-query.d.ts +21 -0
  49. package/dist/list-query.d.ts.map +1 -0
  50. package/dist/list-query.js +69 -0
  51. package/dist/list-query.js.map +1 -0
  52. package/dist/mail/apply.d.ts.map +1 -1
  53. package/dist/mail/apply.js +1 -0
  54. package/dist/mail/apply.js.map +1 -1
  55. package/dist/mail/command.d.ts.map +1 -1
  56. package/dist/mail/command.js +103 -97
  57. package/dist/mail/command.js.map +1 -1
  58. package/dist/mail/import.d.ts.map +1 -1
  59. package/dist/mail/import.js +2 -0
  60. package/dist/mail/import.js.map +1 -1
  61. package/dist/mail/messages-command.d.ts.map +1 -1
  62. package/dist/mail/messages-command.js +7 -14
  63. package/dist/mail/messages-command.js.map +1 -1
  64. package/dist/mail/rule-store.d.ts +33 -0
  65. package/dist/mail/rule-store.d.ts.map +1 -0
  66. package/dist/mail/rule-store.js +129 -0
  67. package/dist/mail/rule-store.js.map +1 -0
  68. package/dist/mail/rules.d.ts +4 -0
  69. package/dist/mail/rules.d.ts.map +1 -1
  70. package/dist/mail/rules.js.map +1 -1
  71. package/dist/mcp/knowledge.d.ts.map +1 -1
  72. package/dist/mcp/knowledge.js +15 -9
  73. package/dist/mcp/knowledge.js.map +1 -1
  74. package/dist/mcp/server.d.ts.map +1 -1
  75. package/dist/mcp/server.js +30 -36
  76. package/dist/mcp/server.js.map +1 -1
  77. package/dist/mcp/task-relations.d.ts.map +1 -1
  78. package/dist/mcp/task-relations.js +9 -7
  79. package/dist/mcp/task-relations.js.map +1 -1
  80. package/dist/mcp/tool.d.ts +3 -2
  81. package/dist/mcp/tool.d.ts.map +1 -1
  82. package/dist/mcp/tool.js.map +1 -1
  83. package/dist/mcp/vocabulary.d.ts.map +1 -1
  84. package/dist/mcp/vocabulary.js +7 -6
  85. package/dist/mcp/vocabulary.js.map +1 -1
  86. package/dist/memories/command.d.ts.map +1 -1
  87. package/dist/memories/command.js +15 -19
  88. package/dist/memories/command.js.map +1 -1
  89. package/dist/memories/memory.d.ts +31 -0
  90. package/dist/memories/memory.d.ts.map +1 -0
  91. package/dist/memories/memory.js +43 -0
  92. package/dist/memories/memory.js.map +1 -0
  93. package/dist/notes/command.d.ts.map +1 -1
  94. package/dist/notes/command.js +71 -53
  95. package/dist/notes/command.js.map +1 -1
  96. package/dist/notes/embed.d.ts +2 -0
  97. package/dist/notes/embed.d.ts.map +1 -1
  98. package/dist/notes/embed.js +8 -0
  99. package/dist/notes/embed.js.map +1 -1
  100. package/dist/notes/folders-command.d.ts.map +1 -1
  101. package/dist/notes/folders-command.js +19 -28
  102. package/dist/notes/folders-command.js.map +1 -1
  103. package/dist/notes/list.d.ts +9 -5
  104. package/dist/notes/list.d.ts.map +1 -1
  105. package/dist/notes/list.js +7 -8
  106. package/dist/notes/list.js.map +1 -1
  107. package/dist/notes/search.d.ts.map +1 -1
  108. package/dist/notes/search.js +2 -8
  109. package/dist/notes/search.js.map +1 -1
  110. package/dist/output.d.ts +4 -14
  111. package/dist/output.d.ts.map +1 -1
  112. package/dist/output.js +9 -56
  113. package/dist/output.js.map +1 -1
  114. package/dist/page.d.ts +2 -5
  115. package/dist/page.d.ts.map +1 -1
  116. package/dist/page.js +7 -2
  117. package/dist/page.js.map +1 -1
  118. package/dist/people/command.d.ts.map +1 -1
  119. package/dist/people/command.js +3 -7
  120. package/dist/people/command.js.map +1 -1
  121. package/dist/program.d.ts.map +1 -1
  122. package/dist/program.js +2 -0
  123. package/dist/program.js.map +1 -1
  124. package/dist/reasons.d.ts.map +1 -1
  125. package/dist/reasons.js +6 -0
  126. package/dist/reasons.js.map +1 -1
  127. package/dist/run/auto.d.ts.map +1 -1
  128. package/dist/run/auto.js +10 -14
  129. package/dist/run/auto.js.map +1 -1
  130. package/dist/run/import.d.ts.map +1 -1
  131. package/dist/run/import.js +12 -14
  132. package/dist/run/import.js.map +1 -1
  133. package/dist/search/answers.d.ts +9 -55
  134. package/dist/search/answers.d.ts.map +1 -1
  135. package/dist/search/answers.js +62 -34
  136. package/dist/search/answers.js.map +1 -1
  137. package/dist/search/command.d.ts +3 -1
  138. package/dist/search/command.d.ts.map +1 -1
  139. package/dist/search/command.js +37 -48
  140. package/dist/search/command.js.map +1 -1
  141. package/dist/search/hits.d.ts +3 -0
  142. package/dist/search/hits.d.ts.map +1 -0
  143. package/dist/search/hits.js +4 -0
  144. package/dist/search/hits.js.map +1 -0
  145. package/dist/store/scope.d.ts.map +1 -1
  146. package/dist/store/scope.js +6 -4
  147. package/dist/store/scope.js.map +1 -1
  148. package/dist/tags/command.d.ts +1 -1
  149. package/dist/tags/command.d.ts.map +1 -1
  150. package/dist/tags/command.js +34 -44
  151. package/dist/tags/command.js.map +1 -1
  152. package/dist/tasks/command.d.ts.map +1 -1
  153. package/dist/tasks/command.js +65 -52
  154. package/dist/tasks/command.js.map +1 -1
  155. package/dist/tasks/relations-command.d.ts.map +1 -1
  156. package/dist/tasks/relations-command.js +6 -8
  157. package/dist/tasks/relations-command.js.map +1 -1
  158. package/dist/tasks/shared.d.ts +8 -0
  159. package/dist/tasks/shared.d.ts.map +1 -0
  160. package/dist/tasks/shared.js +78 -0
  161. package/dist/tasks/shared.js.map +1 -0
  162. package/dist/terminal.d.ts +4 -0
  163. package/dist/terminal.d.ts.map +1 -0
  164. package/dist/terminal.js +8 -0
  165. package/dist/terminal.js.map +1 -0
  166. package/dist/version.d.ts +1 -1
  167. package/dist/version.js +1 -1
  168. package/dist/vocabulary/command.d.ts.map +1 -1
  169. package/dist/vocabulary/command.js +3 -3
  170. package/dist/vocabulary/command.js.map +1 -1
  171. package/package.json +2 -2
  172. package/skills/cli-memo/SKILL.md +7 -3
  173. package/dist/records/run.d.ts +0 -7
  174. package/dist/records/run.d.ts.map +0 -1
  175. package/dist/records/run.js +0 -24
  176. package/dist/records/run.js.map +0 -1
@@ -1,17 +1,19 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { parseLocator } from "@wirecat/cli-core";
3
- import { closedStateOf, storeOnlyDeps, taskStateOf, tasksService } from "@wirecat/cli-core/services";
4
- import { openStore, TASK_ROLES, TASK_TYPES, WORK_TASK_TYPES, } from "@wirecat/cli-core/store";
3
+ import { closedStateOf, storeOnlyDeps, tasksService } from "@wirecat/cli-core/services";
4
+ import { TASK_ROLES, TASK_TYPES, WORK_TASK_TYPES, } from "@wirecat/cli-core/store";
5
5
  import { InvalidArgumentError } from "commander";
6
+ import { answers, itemAnswer, listAnswer, withStore } from "../answer.js";
6
7
  import { APP } from "../app.js";
8
+ import { queryField, queryTerms, withQuery } from "../list-query.js";
7
9
  import { isNoteReference } from "../notes/about.js";
8
10
  import { accountOptions, oneOf, positive } from "../options.js";
9
- import { printing } from "../records/run.js";
10
11
  import { heldMessage } from "../store/held.js";
11
12
  import { selectAccount } from "../store/scope.js";
12
13
  import { canonicalProject } from "../vocabulary/project.js";
13
14
  import { taskPage } from "./context.js";
14
15
  import { taskRelationsCommand } from "./relations-command.js";
16
+ import { sharedTaskCommands } from "./shared.js";
15
17
  const priorityOf = (value) => {
16
18
  const number = Number(value);
17
19
  if (!Number.isInteger(number) || number < 0 || number > 4)
@@ -34,10 +36,28 @@ const assignAll = async (store, id, people) => {
34
36
  for (const person of people ?? [])
35
37
  await store.tasks.assign(id, { to: personRef(person), role: "assignee" }, "owner");
36
38
  };
39
+ /** The store filters by state, and a project's tasks by kind too; the rows are memo's, not cli-core's task entity. */
40
+ const TASKS_LIST_QUERY = {
41
+ entity: "task",
42
+ backend: "native",
43
+ fields: [
44
+ queryField("state", "enum", "state:done", { values: ["open", "done", "dismissed"] }),
45
+ queryField("kind", "enum", "kind:bug", { values: TASK_TYPES }),
46
+ queryField("source", "ref", 'source:"msg:telegram/1/7/1"', {
47
+ relation: "tasks from this message, note or document; an account's tasks only",
48
+ }),
49
+ ],
50
+ defaults: ["state:open"],
51
+ };
52
+ const tasksPage = (page, limit) => listAnswer("tasks list", {
53
+ items: page.items.map((task) => ({ ref: `task:${task.id}`, ...task })),
54
+ limit,
55
+ has_more: page.hasMore,
56
+ });
37
57
  export const tasksCommand = (program, streams, env) => {
38
58
  const group = program.command("tasks").description("open work linked to stored messages, documents and emails");
39
59
  taskRelationsCommand(group, streams, env);
40
- const print = printing(streams);
60
+ const { print } = answers(program, streams, env);
41
61
  fieldOptions(accountOptions(group.command("add")))
42
62
  .description("add a task from a message, note or document, or one of your own in a project")
43
63
  .argument("[source]", "msg: source locator, note:<id> or document:<id>; leave out for a task in a project")
@@ -45,8 +65,7 @@ export const tasksCommand = (program, streams, env) => {
45
65
  .option("--project <project>", "a task without a source: the project's key or project:<id>")
46
66
  .option("--assignee <person...>", "who does it: a person's UID")
47
67
  .action(async (source, options) => {
48
- const store = await openStore({ env });
49
- try {
68
+ await withStore(env, async (store) => {
50
69
  if (source === undefined) {
51
70
  if (options.project === undefined || options.title === undefined)
52
71
  throw new CliError("validation_error", "a task without a source needs --project and --title");
@@ -60,7 +79,7 @@ export const tasksCommand = (program, streams, env) => {
60
79
  ...fieldsOf(options),
61
80
  }, "owner");
62
81
  await assignAll(store, task.id, options.assignee);
63
- print(options.json, await store.tasks.details(task.id));
82
+ print(options.json, itemAnswer(await store.tasks.details(task.id)));
64
83
  return;
65
84
  }
66
85
  if (options.project !== undefined)
@@ -84,72 +103,73 @@ export const tasksCommand = (program, streams, env) => {
84
103
  const answer = await tasksService(storeOnlyDeps(store, key, { app: APP, env })).add(source, type, "owner");
85
104
  const fields = fieldsOf(options);
86
105
  if (Object.keys(fields).length === 0 && !options.assignee?.length) {
87
- print(options.json, answer);
106
+ print(options.json, itemAnswer(answer));
88
107
  return;
89
108
  }
90
109
  await store.tasks.edit(answer.task.id, fields, "owner");
91
110
  await assignAll(store, answer.task.id, options.assignee);
92
- print(options.json, { ...answer, details: await store.tasks.details(answer.task.id) });
93
- }
94
- finally {
95
- await store.close();
96
- }
111
+ print(options.json, itemAnswer({ ...answer, details: await store.tasks.details(answer.task.id) }));
112
+ });
97
113
  });
98
- accountOptions(group.command("list").description("tasks of one account or one project, open by default"))
99
- .option("--state <state>", "open, done or dismissed", taskStateOf, "open")
114
+ withQuery(accountOptions(group.command("list").description("tasks of one account or one project, open by default")), TASKS_LIST_QUERY, { answersEntity: false })
100
115
  .option("--project <project>", "a project's tasks, by its key or project:<id>, instead of an account's")
101
116
  .option("--ready", "with --project: only open tasks whose prerequisites are done; this claims none")
102
117
  .option("--limit <n>", "most tasks", positive, 100)
103
- .action(async (options) => {
104
- if (options.ready && (options.project === undefined || options.state !== "open"))
105
- throw new CliError("validation_error", "--ready lists a project's open tasks: give --project, not --state");
106
- const store = await openStore({ env });
107
- try {
118
+ .action(async (words, options) => {
119
+ const terms = queryTerms(words, TASKS_LIST_QUERY, "tasks list");
120
+ const state = terms.get("state");
121
+ const kind = terms.get("kind");
122
+ const source = terms.get("source");
123
+ if (options.ready && (options.project === undefined || words.length > 0))
124
+ throw new CliError("validation_error", "--ready lists a project's open tasks: give --project and no query");
125
+ if (kind !== undefined && options.project === undefined)
126
+ throw new CliError("validation_error", "kind: narrows a project's tasks: give --project");
127
+ if (source !== undefined && options.project !== undefined)
128
+ throw new CliError("validation_error", "source: narrows an account's tasks: give --provider, not --project");
129
+ await withStore(env, async (store) => {
108
130
  if (options.ready && options.project !== undefined) {
109
131
  const page = await store.tasks.readyTasks(await canonicalProject(store, options.project), {
110
132
  limit: options.limit,
111
133
  });
112
- print(options.json, { ...page, items: page.items.map((task) => ({ ref: `task:${task.id}`, ...task })) });
134
+ print(options.json, tasksPage(page, options.limit));
113
135
  return;
114
136
  }
115
137
  if (options.project !== undefined) {
116
138
  const items = await store.tasks.find({
117
139
  project: await canonicalProject(store, options.project),
118
- status: options.state,
140
+ status: state,
141
+ ...(kind === undefined ? {} : { type: kind }),
119
142
  limit: options.limit + 1,
120
143
  });
121
- print(options.json, { items: items.slice(0, options.limit), hasMore: items.length > options.limit });
144
+ print(options.json, tasksPage({ items: items.slice(0, options.limit), hasMore: items.length > options.limit }, options.limit));
122
145
  return;
123
146
  }
124
147
  const key = await selectAccount(store, options);
125
- const page = await taskPage(store, key, { state: options.state, limit: options.limit });
126
- print(options.json, { ...page, items: page.items.map((task) => ({ ref: `task:${task.id}`, ...task })) });
127
- }
128
- finally {
129
- await store.close();
130
- }
148
+ const page = await taskPage(store, key, {
149
+ state,
150
+ limit: options.limit,
151
+ ...(source === undefined ? {} : { sources: [source] }),
152
+ });
153
+ print(options.json, tasksPage(page, options.limit));
154
+ });
131
155
  });
132
156
  accountOptions(group.command("close").description("close a task as done or dismissed").argument("<id>", "the task's id"))
133
157
  .option("--as <state>", "done or dismissed", closedStateOf, "done")
134
158
  .option("--reason <text>", "why it is closed")
135
159
  .action(async (id, options) => {
136
- const store = await openStore({ env });
137
- try {
160
+ await withStore(env, async (store) => {
138
161
  if ((await store.tasks.get(id)) === undefined) {
139
162
  const reason = options.reason === undefined ? {} : { reason: options.reason };
140
- print(options.json, await store.tasks.edit(id, { status: options.as, ...reason }, "owner"));
163
+ print(options.json, itemAnswer(await store.tasks.edit(id, { status: options.as, ...reason }, "owner")));
141
164
  return;
142
165
  }
143
166
  const key = await selectAccount(store, options);
144
- print(options.json, await tasksService(storeOnlyDeps(store, key, { app: APP, env })).close(id, {
167
+ print(options.json, itemAnswer(await tasksService(storeOnlyDeps(store, key, { app: APP, env })).close(id, {
145
168
  as: options.as,
146
169
  by: "owner",
147
170
  ...(options.reason === undefined ? {} : { reason: options.reason }),
148
- }));
149
- }
150
- finally {
151
- await store.close();
152
- }
171
+ })));
172
+ });
153
173
  });
154
174
  fieldOptions(group.command("update").description("change a task's title, priority, parent or description"))
155
175
  .argument("<id>", "the task's id or key")
@@ -158,13 +178,9 @@ export const tasksCommand = (program, streams, env) => {
158
178
  const fields = fieldsOf(options);
159
179
  if (Object.keys(fields).length === 0)
160
180
  throw new CliError("validation_error", "give --title, --priority, --parent or --description");
161
- const store = await openStore({ env });
162
- try {
163
- print(options.json, await store.tasks.edit(id, fields, "owner"));
164
- }
165
- finally {
166
- await store.close();
167
- }
181
+ await withStore(env, async (store) => {
182
+ print(options.json, itemAnswer(await store.tasks.edit(id, fields, "owner")));
183
+ });
168
184
  });
169
185
  group
170
186
  .command("assign")
@@ -174,13 +190,10 @@ export const tasksCommand = (program, streams, env) => {
174
190
  .option("--role <role>", TASK_ROLES.join(", "), oneOf(TASK_ROLES), "assignee")
175
191
  .option("--json", "print JSON; --json=id,title keeps only those fields")
176
192
  .action(async (id, person, options) => {
177
- const store = await openStore({ env });
178
- try {
179
- print(options.json, await store.tasks.assign(id, { to: personRef(person), role: options.role }, "owner"));
180
- }
181
- finally {
182
- await store.close();
183
- }
193
+ await withStore(env, async (store) => {
194
+ print(options.json, itemAnswer(await store.tasks.assign(id, { to: personRef(person), role: options.role }, "owner")));
195
+ });
184
196
  });
197
+ sharedTaskCommands(program, group, streams, env);
185
198
  };
186
199
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tasks/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tasks/command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations-command.d.ts","sourceRoot":"","sources":["../../src/tasks/relations-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,eAAO,MAAM,oBAAoB,UAAW,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SAkC5F,CAAA"}
1
+ {"version":3,"file":"relations-command.d.ts","sourceRoot":"","sources":["../../src/tasks/relations-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,eAAO,MAAM,oBAAoB,UAAW,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA8B5F,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { TASK_RELATION_KINDS } from "@wirecat/cli-core/store";
2
+ import { answers, itemAnswer, wholeList } from "../answer.js";
2
3
  import { oneOf } from "../options.js";
3
- import { answering } from "../records/run.js";
4
4
  export const taskRelationsCommand = (tasks, streams, env) => {
5
- const run = answering(streams, env);
6
- const execute = (options, work) => run(options.json, work);
7
- for (const operation of ["link", "unlink"]) {
5
+ const { run } = answers(tasks, streams, env);
6
+ const execute = (options, work) => run(options.json, async (store) => itemAnswer(await work(store)));
7
+ for (const operation of ["unlink"]) {
8
8
  tasks
9
9
  .command(operation)
10
10
  .description(`${operation} reviewed project task relationships`)
@@ -12,16 +12,14 @@ export const taskRelationsCommand = (tasks, streams, env) => {
12
12
  .argument("<other-task>", "the task it relates to: task:<id> or its id")
13
13
  .requiredOption("--kind <kind>", TASK_RELATION_KINDS.join(", "), oneOf(TASK_RELATION_KINDS))
14
14
  .option("--json", "print JSON; --json=id,title keeps only those fields")
15
- .action((task, other, options) => execute(options, (store) => operation === "link"
16
- ? store.tasks.linkTask(task, other, options.kind, "owner")
17
- : store.tasks.unlinkTask(task, other, options.kind, "owner")));
15
+ .action((task, other, options) => execute(options, (store) => store.tasks.unlinkTask(task, other, options.kind, "owner")));
18
16
  }
19
17
  tasks
20
18
  .command("relations")
21
19
  .description("a task's links to other tasks")
22
20
  .argument("<task>", "the task: task:<id> or its id")
23
21
  .option("--json", "print JSON; --json=id,title keeps only those fields")
24
- .action((task, options) => execute(options, async (store) => ({ items: await store.tasks.taskRelations(task) })));
22
+ .action((task, options) => run(options.json, async (store) => wholeList("tasks relations", await store.tasks.taskRelations(task))));
25
23
  tasks
26
24
  .command("status")
27
25
  .description("whether a task can start, and what it still waits for")
@@ -1 +1 @@
1
- {"version":3,"file":"relations-command.js","sourceRoot":"","sources":["../../src/tasks/relations-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,mBAAmB,EAAyB,MAAM,yBAAyB,CAAA;AAEvG,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAE,GAAsB,EAAE,EAAE;IAC/F,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAE,IAA+C,EAAE,EAAE,CAC/F,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzB,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAU,EAAE,CAAC;QACpD,KAAK;aACF,OAAO,CAAC,SAAS,CAAC;aAClB,WAAW,CAAC,GAAG,SAAS,sCAAsC,CAAC;aAC/D,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;aACnD,QAAQ,CAAC,cAAc,EAAE,6CAA6C,CAAC;aACvE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;aAC3F,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;aACvE,MAAM,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,OAAmD,EAAE,EAAE,CAC3F,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,SAAS,KAAK,MAAM;YAClB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAC/D,CACF,CAAA;IACL,CAAC;IACD,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE,CACpD,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACtF,CAAA;IACH,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uDAAuD,CAAC;SACpE,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACxH,CAAC,CAAA"}
1
+ {"version":3,"file":"relations-command.js","sourceRoot":"","sources":["../../src/tasks/relations-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,mBAAmB,EAAyB,MAAM,yBAAyB,CAAA;AAEvG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAE,GAAsB,EAAE,EAAE;IAC/F,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAE,IAA+C,EAAE,EAAE,CAC/F,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnE,KAAK,MAAM,SAAS,IAAI,CAAC,QAAQ,CAAU,EAAE,CAAC;QAC5C,KAAK;aACF,OAAO,CAAC,SAAS,CAAC;aAClB,WAAW,CAAC,GAAG,SAAS,sCAAsC,CAAC;aAC/D,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;aACnD,QAAQ,CAAC,cAAc,EAAE,6CAA6C,CAAC;aACvE,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;aAC3F,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;aACvE,MAAM,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,OAAmD,EAAE,EAAE,CAC3F,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACxF,CAAA;IACL,CAAC;IACD,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE,CACpD,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CACxG,CAAA;IACH,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uDAAuD,CAAC;SACpE,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,CAAC,IAAY,EAAE,OAA2B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACxH,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import { Command } from "commander";
3
+ /**
4
+ * `tasks agenda|plan|show|link` and `stats tasks show` are cli-core's builders, the ones tg and max have, mounted
5
+ * with memo's own `--provider --account` (`Messenger.accountOf`).
6
+ */
7
+ export declare const sharedTaskCommands: (program: Command, tasks: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
8
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tasks/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoEnC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAAS,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SAc5G,CAAA"}
@@ -0,0 +1,78 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { provide, settingsFor, tasksCommand, tasksStatsCommand } from "@wirecat/cli-core/cli";
3
+ import { openStore } from "@wirecat/cli-core/store";
4
+ import { Command } from "commander";
5
+ import { APP } from "../app.js";
6
+ const SHARED = ["agenda", "plan", "show", "link"];
7
+ /** `task:15`, a bare id or a project key: a `tasks link` target that needs no messenger account. */
8
+ const TASKISH = /^(task:.+|\d+|[A-Z][A-Z0-9]*-\d+)$/;
9
+ /** memo's own sources in the store: every other provider is a messenger a source tool syncs. */
10
+ const NOT_MESSENGERS = new Set(["email", "notes"]);
11
+ // memo's config file is not a messenger profile's, and cli-core's schema refuses its keys: the builders get
12
+ // the defaults, from a config folder of a name nothing writes.
13
+ const settings = settingsFor({ ...APP, appName: "cli-memo-tasks", envPrefix: "MEMO_TASKS" });
14
+ const flagged = (command) => command.opts();
15
+ const messenger = {
16
+ app: APP,
17
+ provider: "memo",
18
+ chatArgument: "a stored chat, by its id or title",
19
+ resolveSettings: (flags, options) => settings.resolveSettings(flags, { ...options, needsProfile: false }),
20
+ connect: async () => {
21
+ throw new CliError("validation_error", "memo reads no messenger: these commands answer from the store");
22
+ },
23
+ accountOf: (command) => {
24
+ const { provider, account } = flagged(command);
25
+ return provider && account ? { provider, account } : undefined;
26
+ },
27
+ };
28
+ /**
29
+ * Never one picked for the owner: a command that names no account fails, listing the ones the store holds.
30
+ * `tasks link` between two project tasks needs none: project tasks belong to no messenger account.
31
+ */
32
+ const requireAccount = (env) => async (_, command) => {
33
+ const { provider, account } = flagged(command);
34
+ if (provider && account)
35
+ return;
36
+ const [, ...targets] = command.args;
37
+ const chats = command.opts().chat ?? [];
38
+ if (command.name() === "link" &&
39
+ targets.length > 0 &&
40
+ chats.length === 0 &&
41
+ targets.every((one) => TASKISH.test(one)))
42
+ return;
43
+ const store = await openStore({ env });
44
+ try {
45
+ const listed = (await store.accounts())
46
+ .filter((key) => !NOT_MESSENGERS.has(key.provider))
47
+ .map((key) => `--provider ${key.provider} --account ${key.account}`)
48
+ .join("; ");
49
+ throw new CliError("validation_error", `give --provider and --account — the stored messenger accounts: ${listed || "none yet"}`);
50
+ }
51
+ finally {
52
+ await store.close();
53
+ }
54
+ };
55
+ const scoped = (command, env) => command
56
+ .option("--provider <provider>", "the messenger account's provider: telegram, max")
57
+ .option("--account <account>", "the messenger account, as the store holds it")
58
+ .option("--json", "print JSON")
59
+ .hook("preAction", requireAccount(env));
60
+ /**
61
+ * `tasks agenda|plan|show|link` and `stats tasks show` are cli-core's builders, the ones tg and max have, mounted
62
+ * with memo's own `--provider --account` (`Messenger.accountOf`).
63
+ */
64
+ export const sharedTaskCommands = (program, tasks, streams, env) => {
65
+ provide(program, { streams, env });
66
+ const built = tasksCommand(messenger);
67
+ for (const name of SHARED) {
68
+ const command = built.commands.find((one) => one.name() === name);
69
+ if (!command)
70
+ throw new Error(`cli-core's tasks builder has no ${name}`);
71
+ tasks.addCommand(scoped(command, env));
72
+ }
73
+ program
74
+ .command("stats")
75
+ .description("statistics about what the store holds")
76
+ .addCommand(new Command("tasks").description("task statistics").addCommand(scoped(tasksStatsCommand(messenger), env)));
77
+ };
78
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tasks/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const optionsOf: (args: readonly string[]) => readonly string[];
2
+ /** A person at a terminal who did not ask for machine output. */
3
+ export declare const interactiveOf: (args: readonly string[], tty: boolean) => boolean;
4
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,SAAU,SAAS,MAAM,EAAE,sBAGhD,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,aAAa,SAAU,SAAS,MAAM,EAAE,OAAO,OAAO,YACF,CAAA"}
@@ -0,0 +1,8 @@
1
+ const MACHINE_FLAGS = new Set(["--json", "--jsonl"]);
2
+ export const optionsOf = (args) => {
3
+ const end = args.indexOf("--");
4
+ return end < 0 ? args : args.slice(0, end);
5
+ };
6
+ /** A person at a terminal who did not ask for machine output. */
7
+ export const interactiveOf = (args, tty) => tty && !optionsOf(args).some((flag) => MACHINE_FLAGS.has(flag));
8
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAE,GAAY,EAAE,EAAE,CACrE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.31.0";
1
+ export declare const VERSION = "0.33.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.31.0";
1
+ export const VERSION = "0.33.0";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAwH9F,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAyH9F,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { answers, itemAnswer } from "../answer.js";
2
3
  import { oneOf, positive } from "../options.js";
3
- import { answering } from "../records/run.js";
4
4
  const kinds = ["project", "tag", "topic"];
5
5
  const targetOf = (reference) => {
6
6
  const match = reference.match(/^(project|tag|topic):([1-9]\d*)$/);
@@ -12,8 +12,8 @@ export const vocabularyCommand = (program, streams, env) => {
12
12
  const vocabulary = program
13
13
  .command("vocabulary")
14
14
  .description("canonical projects, tags and topics with explicit aliases");
15
- const run = answering(streams, env);
16
- const execute = (options, work) => run(options.json, work);
15
+ const { run } = answers(program, streams, env);
16
+ const execute = (options, work) => run(options.json, async (store) => itemAnswer(await work(store)));
17
17
  const readOptions = (command) => command
18
18
  .option("--kind <kind>", "project, tag or topic", oneOf(kinds))
19
19
  .option("--scope <scope>", "personal or work projects", oneOf(["personal", "work"]))
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/cli-memo",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "Context about people across messengers, notes and mail, from a local store",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Viacheslav Ptsarev",
@@ -48,7 +48,7 @@
48
48
  "@modelcontextprotocol/server": "2.1.0",
49
49
  "@valibot/to-json-schema": "1.8.0",
50
50
  "@wirecat/cli-base": "0.28.2",
51
- "@wirecat/cli-core": "0.279.0",
51
+ "@wirecat/cli-core": "0.281.0",
52
52
  "commander": "15.0.0",
53
53
  "disposable-email-domains-js": "1.26.0",
54
54
  "postal-mime": "4.0.0",
@@ -19,8 +19,11 @@ anything. Add `--json` and read the answer, not the text meant for people.
19
19
  `memo search messages 'content:invoice'` with `tg search messages 'content:invoice'`, a plain word
20
20
  with a plain word.
21
21
  3. **Every answer is `item` (one thing) or `items` with `page` (a list), plus `meta`.** References:
22
- `search messages` and `search mail`: `items[].locator`; `search all` and `search notes`:
23
- `items[].ref`. Pass a reference back unchanged. `missing` says what was not searched and why.
22
+ every search's `items[].ref`. Pass a reference back unchanged. A search names its fields, so
23
+ `--json=ref,excerpt` keeps those and refuses one it does not have. `missing` says what was not searched and why.
24
+ A list narrows by field:value terms after its arguments, not by flags: `memo facts list kind:decision
25
+ status:proposed`; its `--help` names the fields.
26
+ Who a note links to: `memo context <person>`.
24
27
  4. **Start work on a project with `memo projects context <key>`.** Its key documents come first:
25
28
  read them before anything else. Mark one with
26
29
  `memo projects key-documents add <key> <reference> --reason '<why>'`.
@@ -49,7 +52,8 @@ anything. Add `--json` and read the answer, not the text meant for people.
49
52
  `memo mail rules add … --skip` or `--envelope` unasked. A skipped email is never imported. An envelope
50
53
  email is stored without its text and is never a search hit; `memo mail rules list` counts it. Mail
51
54
  already stored stays until `memo mail rules apply <account> --yes` cuts it; run it without `--yes`
52
- first and show the owner what it would cut.
55
+ first and show the owner what it would cut. Rules live in the store, not in `config.json`: never edit
56
+ them there; `memo mail rules export|import` moves them as a file. A protected rule is never cut.
53
57
  13. **Old years come from a Google Takeout mbox**, an account with `"mode": "mbox"` and the Gmail
54
58
  address; it syncs only when named, and reads the whole file each run, so give a large `--limit`:
55
59
  `memo sync --account <name> --since-time 2000-01-01 --limit 5000`.
@@ -1,7 +0,0 @@
1
- import { type Streams } from "@wirecat/cli-base";
2
- import { type MessageStore } from "@wirecat/cli-core/store";
3
- /** Prints an answer as JSON in the envelope, or for a person as `text`, or as indented JSON where it has no text view. */
4
- export declare const printing: (streams: Streams) => (json: boolean | undefined, answer: unknown, text?: string) => void;
5
- /** Opens the store for one command, prints its answer as JSON or as indented text, and closes the store. */
6
- export declare const answering: (streams: Streams, env: NodeJS.ProcessEnv) => (json: boolean | undefined, work: (store: MessageStore) => Promise<unknown>) => Promise<void>;
7
- //# sourceMappingURL=run.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,yBAAyB,CAAA;AAGtE,0HAA0H;AAC1H,eAAO,MAAM,QAAQ,YACT,OAAO,YACV,OAAO,GAAG,SAAS,UAAU,OAAO,SAAS,MAAM,KAAG,IAG5D,CAAA;AAEH,4GAA4G;AAC5G,eAAO,MAAM,SAAS,YAAa,OAAO,OAAO,MAAM,CAAC,UAAU,YAE5C,OAAO,GAAG,SAAS,QAAQ,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAQxG,CAAA"}
@@ -1,24 +0,0 @@
1
- import { createRenderer } from "@wirecat/cli-base";
2
- import { openStore } from "@wirecat/cli-core/store";
3
- import { answerOf, processStart, snakeKeys } from "../output.js";
4
- /** Prints an answer as JSON in the envelope, or for a person as `text`, or as indented JSON where it has no text view. */
5
- export const printing = (streams) => (json, answer, text) => {
6
- if (json)
7
- createRenderer({ format: "json", color: false, streams }).result(answerOf(answer, processStart()));
8
- else
9
- streams.data(`${text ?? JSON.stringify(snakeKeys(answer), null, 2)}\n`);
10
- };
11
- /** Opens the store for one command, prints its answer as JSON or as indented text, and closes the store. */
12
- export const answering = (streams, env) => {
13
- const print = printing(streams);
14
- return async (json, work) => {
15
- const store = await openStore({ env });
16
- try {
17
- print(json, await work(store));
18
- }
19
- finally {
20
- await store.close();
21
- }
22
- };
23
- };
24
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/records/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAqB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEhE,0HAA0H;AAC1H,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,IAAyB,EAAE,MAAe,EAAE,IAAa,EAAQ,EAAE;IAClE,IAAI,IAAI;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;;QACvG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9E,CAAC,CAAA;AAEH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,GAAsB,EAAE,EAAE;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,OAAO,KAAK,EAAE,IAAyB,EAAE,IAA+C,EAAiB,EAAE;QACzG,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}