@wirecat/cli-memo 0.23.0 → 0.25.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 (232) hide show
  1. package/README.md +24 -21
  2. package/dist/actions/actions.d.ts +1 -1
  3. package/dist/actions/actions.d.ts.map +1 -1
  4. package/dist/actions/command.d.ts.map +1 -1
  5. package/dist/actions/command.js +14 -15
  6. package/dist/actions/command.js.map +1 -1
  7. package/dist/agents/command.d.ts.map +1 -1
  8. package/dist/agents/command.js +3 -2
  9. package/dist/agents/command.js.map +1 -1
  10. package/dist/answers/command.d.ts +1 -1
  11. package/dist/answers/command.d.ts.map +1 -1
  12. package/dist/answers/command.js +8 -8
  13. package/dist/answers/command.js.map +1 -1
  14. package/dist/author.d.ts +11 -0
  15. package/dist/author.d.ts.map +1 -0
  16. package/dist/author.js +16 -0
  17. package/dist/author.js.map +1 -0
  18. package/dist/bin/memo.js +6 -4
  19. package/dist/bin/memo.js.map +1 -1
  20. package/dist/config.d.ts +15 -2
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +15 -2
  23. package/dist/config.js.map +1 -1
  24. package/dist/context/command.d.ts.map +1 -1
  25. package/dist/context/command.js +4 -4
  26. package/dist/context/command.js.map +1 -1
  27. package/dist/context/context.d.ts +3 -3
  28. package/dist/context/context.d.ts.map +1 -1
  29. package/dist/context/context.js +3 -3
  30. package/dist/context/context.js.map +1 -1
  31. package/dist/discovery/command.d.ts +2 -0
  32. package/dist/discovery/command.d.ts.map +1 -1
  33. package/dist/discovery/command.js +18 -10
  34. package/dist/discovery/command.js.map +1 -1
  35. package/dist/examples.d.ts +5 -0
  36. package/dist/examples.d.ts.map +1 -0
  37. package/dist/examples.js +135 -0
  38. package/dist/examples.js.map +1 -0
  39. package/dist/facts/command.d.ts.map +1 -1
  40. package/dist/facts/command.js +19 -18
  41. package/dist/facts/command.js.map +1 -1
  42. package/dist/install/postinstall.d.ts +7 -0
  43. package/dist/install/postinstall.d.ts.map +1 -0
  44. package/dist/install/postinstall.js +28 -0
  45. package/dist/install/postinstall.js.map +1 -0
  46. package/dist/knowledge/command.d.ts.map +1 -1
  47. package/dist/knowledge/command.js +107 -62
  48. package/dist/knowledge/command.js.map +1 -1
  49. package/dist/knowledge/key-documents.d.ts +29 -0
  50. package/dist/knowledge/key-documents.d.ts.map +1 -0
  51. package/dist/knowledge/key-documents.js +76 -0
  52. package/dist/knowledge/key-documents.js.map +1 -0
  53. package/dist/knowledge/meeting-projects-command.js +4 -4
  54. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  55. package/dist/mail/accounts.d.ts +11 -0
  56. package/dist/mail/accounts.d.ts.map +1 -0
  57. package/dist/mail/accounts.js +26 -0
  58. package/dist/mail/accounts.js.map +1 -0
  59. package/dist/mail/command.d.ts +1 -1
  60. package/dist/mail/command.d.ts.map +1 -1
  61. package/dist/mail/command.js +132 -98
  62. package/dist/mail/command.js.map +1 -1
  63. package/dist/mail/gmail.d.ts +7 -2
  64. package/dist/mail/gmail.d.ts.map +1 -1
  65. package/dist/mail/gmail.js +76 -37
  66. package/dist/mail/gmail.js.map +1 -1
  67. package/dist/mail/headers.d.ts +17 -0
  68. package/dist/mail/headers.d.ts.map +1 -0
  69. package/dist/mail/headers.js +28 -0
  70. package/dist/mail/headers.js.map +1 -0
  71. package/dist/mail/himalaya.d.ts +3 -1
  72. package/dist/mail/himalaya.d.ts.map +1 -1
  73. package/dist/mail/himalaya.js +2 -2
  74. package/dist/mail/himalaya.js.map +1 -1
  75. package/dist/mail/import.d.ts +15 -6
  76. package/dist/mail/import.d.ts.map +1 -1
  77. package/dist/mail/import.js +130 -87
  78. package/dist/mail/import.js.map +1 -1
  79. package/dist/mail/mbox.d.ts +9 -0
  80. package/dist/mail/mbox.d.ts.map +1 -0
  81. package/dist/mail/mbox.js +218 -0
  82. package/dist/mail/mbox.js.map +1 -0
  83. package/dist/mail/messages-command.d.ts +4 -0
  84. package/dist/mail/messages-command.d.ts.map +1 -0
  85. package/dist/mail/messages-command.js +32 -0
  86. package/dist/mail/messages-command.js.map +1 -0
  87. package/dist/mail/parse.d.ts +2 -2
  88. package/dist/mail/parse.d.ts.map +1 -1
  89. package/dist/mail/parse.js +27 -63
  90. package/dist/mail/parse.js.map +1 -1
  91. package/dist/mail/probe.d.ts +31 -0
  92. package/dist/mail/probe.d.ts.map +1 -0
  93. package/dist/mail/probe.js +55 -0
  94. package/dist/mail/probe.js.map +1 -0
  95. package/dist/mail/rules.d.ts +18 -0
  96. package/dist/mail/rules.d.ts.map +1 -0
  97. package/dist/mail/rules.js +26 -0
  98. package/dist/mail/rules.js.map +1 -0
  99. package/dist/mail/source.d.ts +20 -0
  100. package/dist/mail/source.d.ts.map +1 -0
  101. package/dist/mail/source.js +99 -0
  102. package/dist/mail/source.js.map +1 -0
  103. package/dist/mcp/command.js +1 -1
  104. package/dist/mcp/command.js.map +1 -1
  105. package/dist/mcp/knowledge.js +4 -4
  106. package/dist/mcp/knowledge.js.map +1 -1
  107. package/dist/mcp/server.js +11 -11
  108. package/dist/mcp/server.js.map +1 -1
  109. package/dist/mcp/task-relations.d.ts +3 -3
  110. package/dist/mcp/task-relations.d.ts.map +1 -1
  111. package/dist/mcp/task-relations.js +17 -8
  112. package/dist/mcp/task-relations.js.map +1 -1
  113. package/dist/mcp/tool.d.ts +1 -1
  114. package/dist/mcp/tool.d.ts.map +1 -1
  115. package/dist/mcp/vocabulary.d.ts +2 -3
  116. package/dist/mcp/vocabulary.d.ts.map +1 -1
  117. package/dist/mcp/vocabulary.js +23 -18
  118. package/dist/mcp/vocabulary.js.map +1 -1
  119. package/dist/memories/command.d.ts +1 -0
  120. package/dist/memories/command.d.ts.map +1 -1
  121. package/dist/memories/command.js +23 -21
  122. package/dist/memories/command.js.map +1 -1
  123. package/dist/memories/memories.d.ts +1 -1
  124. package/dist/memories/memories.d.ts.map +1 -1
  125. package/dist/notes/about.d.ts +12 -3
  126. package/dist/notes/about.d.ts.map +1 -1
  127. package/dist/notes/about.js +35 -31
  128. package/dist/notes/about.js.map +1 -1
  129. package/dist/notes/bound.d.ts +4 -1
  130. package/dist/notes/bound.d.ts.map +1 -1
  131. package/dist/notes/bound.js +9 -1
  132. package/dist/notes/bound.js.map +1 -1
  133. package/dist/notes/command.d.ts.map +1 -1
  134. package/dist/notes/command.js +18 -61
  135. package/dist/notes/command.js.map +1 -1
  136. package/dist/notes/embed.d.ts +1 -1
  137. package/dist/notes/embed.d.ts.map +1 -1
  138. package/dist/notes/embed.js +1 -1
  139. package/dist/notes/embed.js.map +1 -1
  140. package/dist/notes/folders-command.d.ts.map +1 -1
  141. package/dist/notes/folders-command.js +13 -7
  142. package/dist/notes/folders-command.js.map +1 -1
  143. package/dist/notes/import.d.ts +2 -2
  144. package/dist/notes/import.d.ts.map +1 -1
  145. package/dist/notes/import.js +2 -2
  146. package/dist/notes/import.js.map +1 -1
  147. package/dist/notes/internal.d.ts +1 -1
  148. package/dist/notes/internal.d.ts.map +1 -1
  149. package/dist/notes/links.d.ts +1 -1
  150. package/dist/notes/links.d.ts.map +1 -1
  151. package/dist/notes/list.d.ts +22 -0
  152. package/dist/notes/list.d.ts.map +1 -0
  153. package/dist/notes/list.js +24 -0
  154. package/dist/notes/list.js.map +1 -0
  155. package/dist/notes/search.d.ts +3 -3
  156. package/dist/notes/search.d.ts.map +1 -1
  157. package/dist/notes/search.js +3 -3
  158. package/dist/notes/search.js.map +1 -1
  159. package/dist/options.d.ts +2 -0
  160. package/dist/options.d.ts.map +1 -1
  161. package/dist/options.js +2 -0
  162. package/dist/options.js.map +1 -1
  163. package/dist/people/command.js +3 -3
  164. package/dist/people/command.js.map +1 -1
  165. package/dist/people/identity.d.ts +1 -1
  166. package/dist/people/identity.d.ts.map +1 -1
  167. package/dist/people/identity.js +1 -1
  168. package/dist/people/identity.js.map +1 -1
  169. package/dist/people/notes-map.d.ts +1 -1
  170. package/dist/people/notes-map.d.ts.map +1 -1
  171. package/dist/people/subject.d.ts +1 -1
  172. package/dist/people/subject.d.ts.map +1 -1
  173. package/dist/people/subject.js +1 -1
  174. package/dist/people/subject.js.map +1 -1
  175. package/dist/program.d.ts +5 -0
  176. package/dist/program.d.ts.map +1 -1
  177. package/dist/program.js +35 -4
  178. package/dist/program.js.map +1 -1
  179. package/dist/records/run.d.ts +1 -1
  180. package/dist/records/run.d.ts.map +1 -1
  181. package/dist/records/run.js +1 -1
  182. package/dist/records/run.js.map +1 -1
  183. package/dist/run/auto.d.ts.map +1 -1
  184. package/dist/run/auto.js +11 -13
  185. package/dist/run/auto.js.map +1 -1
  186. package/dist/run/import.d.ts +2 -2
  187. package/dist/run/import.d.ts.map +1 -1
  188. package/dist/run/import.js +71 -28
  189. package/dist/run/import.js.map +1 -1
  190. package/dist/run/lock.d.ts +1 -1
  191. package/dist/run/lock.d.ts.map +1 -1
  192. package/dist/run/lock.js +2 -2
  193. package/dist/run/lock.js.map +1 -1
  194. package/dist/search/command.d.ts +16 -21
  195. package/dist/search/command.d.ts.map +1 -1
  196. package/dist/search/command.js +101 -51
  197. package/dist/search/command.js.map +1 -1
  198. package/dist/store/gone.d.ts +1 -1
  199. package/dist/store/gone.d.ts.map +1 -1
  200. package/dist/store/held.d.ts +1 -1
  201. package/dist/store/held.d.ts.map +1 -1
  202. package/dist/store/scope.d.ts +1 -1
  203. package/dist/store/scope.d.ts.map +1 -1
  204. package/dist/store/scope.js +1 -1
  205. package/dist/store/scope.js.map +1 -1
  206. package/dist/store/source-target.d.ts +1 -1
  207. package/dist/store/source-target.d.ts.map +1 -1
  208. package/dist/store/source-target.js +1 -1
  209. package/dist/store/source-target.js.map +1 -1
  210. package/dist/tags/command.d.ts.map +1 -1
  211. package/dist/tags/command.js +19 -9
  212. package/dist/tags/command.js.map +1 -1
  213. package/dist/tasks/command.d.ts.map +1 -1
  214. package/dist/tasks/command.js +19 -9
  215. package/dist/tasks/command.js.map +1 -1
  216. package/dist/tasks/context.d.ts +2 -2
  217. package/dist/tasks/context.d.ts.map +1 -1
  218. package/dist/tasks/context.js +2 -2
  219. package/dist/tasks/context.js.map +1 -1
  220. package/dist/tasks/relations-command.d.ts.map +1 -1
  221. package/dist/tasks/relations-command.js +9 -22
  222. package/dist/tasks/relations-command.js.map +1 -1
  223. package/dist/version.d.ts +1 -1
  224. package/dist/version.js +1 -1
  225. package/dist/vocabulary/command.d.ts.map +1 -1
  226. package/dist/vocabulary/command.js +45 -33
  227. package/dist/vocabulary/command.js.map +1 -1
  228. package/dist/vocabulary/project.d.ts +1 -1
  229. package/dist/vocabulary/project.d.ts.map +1 -1
  230. package/install/postinstall.mjs +9 -0
  231. package/package.json +9 -4
  232. package/skills/cli-memo/SKILL.md +60 -0
@@ -1,9 +1,11 @@
1
1
  import { CliError, createRenderer } from "@wirecat/cli-base";
2
- import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-messaging/store";
2
+ import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-core/store";
3
+ import { authorOf, byOption } from "../author.js";
3
4
  import { notesAbout } from "../notes/about.js";
4
5
  import { accountOptions, oneOf, positive } from "../options.js";
5
6
  import { answering } from "../records/run.js";
6
7
  import { selectAccount } from "../store/scope.js";
8
+ import { keyDocuments, markKey, projectOf, unmarkKey } from "./key-documents.js";
7
9
  import { meetingProjectsCommand } from "./meeting-projects-command.js";
8
10
  export const knowledgeCommands = (program, streams, env) => {
9
11
  const run = answering(streams, env);
@@ -23,21 +25,26 @@ export const knowledgeCommands = (program, streams, env) => {
23
25
  }
24
26
  };
25
27
  /** What the store knows around an organization or a project: its relations, the notes about it, its tags. */
26
- const contextOf = async (store, thing, type, id) => ({
27
- [type]: thing ?? null,
28
- relationships: (await store.notes.links({ to: `${type}:${id}` }))
29
- .concat(await store.notes.links({ from: `${type}:${id}` }))
30
- .filter((link) => link.kind !== "about" && link.kind !== "links-to"),
31
- notes: await notesAbout(store, { ref: `${type}:${id}` }),
32
- tags: await store.knowledge.tags(null, { type, id }),
33
- });
28
+ const contextOf = async (store, thing, type, reference) => {
29
+ if (thing === undefined)
30
+ throw new CliError("not_found", `no ${type} ${reference}; memo ${type}s list shows them`);
31
+ const { id } = thing;
32
+ return {
33
+ [type]: thing,
34
+ relationships: (await store.notes.links({ to: `${type}:${id}` }))
35
+ .concat(await store.notes.links({ from: `${type}:${id}` }))
36
+ .filter((link) => link.kind !== "about" && link.kind !== "links-to" && link.role !== "key"),
37
+ notes: await notesAbout(store, { ref: `${type}:${id}` }),
38
+ tags: await store.knowledge.tags(null, { type, id }),
39
+ };
40
+ };
34
41
  const organizations = program
35
42
  .command("organizations")
36
- .description("Companies, teams, families and communities of yours");
43
+ .description("companies, teams, families and communities of yours");
37
44
  organizations
38
45
  .command("add")
39
- .description("Add an organization of yours: a company, team, family or community")
40
- .argument("<name>")
46
+ .description("add an organization of yours: a company, team, family or community")
47
+ .argument("<name>", "the organization's name")
41
48
  .requiredOption("--kind <kind>", ORGANIZATION_KINDS.join(", "), oneOf(ORGANIZATION_KINDS))
42
49
  .option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
43
50
  .option("--json", "print JSON")
@@ -48,88 +55,126 @@ export const knowledgeCommands = (program, streams, env) => {
48
55
  })));
49
56
  organizations
50
57
  .command("list")
51
- .description("Your organizations")
58
+ .description("your organizations")
52
59
  .option("--json", "print JSON")
53
60
  .action((options) => owned(options, (store) => store.knowledge.organizations()));
54
61
  organizations
55
62
  .command("context")
56
- .description("One organization: its relationships, the notes about or linking it, and its tags")
57
- .argument("<id>")
63
+ .description("one organization by its id or organization:<id>: its relationships, the notes about or linking it, and its tags")
64
+ .summary("one organization: its relationships, notes and tags")
65
+ .argument("<organization>", "its id or organization:<id>")
58
66
  .option("--json", "print JSON")
59
- .action((id, options) => owned(options, async (store) => contextOf(store, (await store.knowledge.organizations()).find((organization) => organization.id === id), "organization", id)));
60
- const projects = program.command("projects").description("Projects of yours, each with a short key");
67
+ .action((reference, options) => owned(options, async (store) => {
68
+ const wanted = reference.replace(/^organization:/, "");
69
+ return contextOf(store, (await store.knowledge.organizations()).find((organization) => organization.id === wanted), "organization", reference);
70
+ }));
71
+ const projects = program.command("projects").description("projects of yours, each with a short key");
61
72
  meetingProjectsCommand(projects, streams, env);
62
73
  projects
63
74
  .command("add")
64
- .description("Add a project of yours, with a short key its tasks use")
65
- .argument("<name>")
75
+ .description("add a project of yours, with a short key its tasks use")
76
+ .argument("<name>", "the project's name")
66
77
  .option("--key <key>", "3–4 letters and digits; made from the name when left out")
67
78
  .option("--type <type>", PROJECT_TYPES.join(", "), oneOf(PROJECT_TYPES))
68
- .option("--organization <reference>", "organization:<id> it belongs to")
79
+ .option("--organization <organization>", "the organization it belongs to: its id or organization:<id>")
69
80
  .option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
70
81
  .option("--json", "print JSON")
71
82
  .action((name, options) => owned(options, (store) => store.knowledge.addProject({
72
83
  name,
73
84
  ...(options.key === undefined ? {} : { key: options.key }),
74
85
  ...(options.type === undefined ? {} : { type: options.type }),
75
- ...(options.organization === undefined ? {} : { organization: options.organization }),
86
+ ...(options.organization === undefined
87
+ ? {}
88
+ : { organization: `organization:${options.organization.replace(/^organization:/, "")}` }),
76
89
  ...(options.scope === undefined ? {} : { scope: options.scope }),
77
90
  })));
78
91
  projects
79
92
  .command("list")
80
- .description("Your projects")
93
+ .description("your projects")
81
94
  .option("--json", "print JSON")
82
95
  .action((options) => owned(options, (store) => store.knowledge.projects()));
83
96
  projects
84
97
  .command("context")
85
- .description("One project by its id, key or project:<id>: its relationships, the notes about or linking it, and its tags")
86
- .argument("<project>")
98
+ .description("one project by its id, key or project:<id>: its key documents first, then its relationships, the notes " +
99
+ "about or linking it, and its tags. Start work on a project here")
100
+ .summary("one project: key documents, relationships, notes and tags; start work here")
101
+ .argument("<project>", "its id, key or project:<id>")
87
102
  .option("--json", "print JSON")
88
103
  .action((reference, options) => owned(options, async (store) => {
89
- const wanted = reference.replace(/^project:/, "");
90
- const project = (await store.knowledge.projects()).find((candidate) => candidate.id === wanted || candidate.key?.toLowerCase() === wanted.toLowerCase());
91
- return contextOf(store, project, "project", project?.id ?? wanted);
104
+ const project = await projectOf(store, reference);
105
+ return {
106
+ keyDocuments: await keyDocuments(store, project),
107
+ ...(await contextOf(store, project, "project", reference)),
108
+ };
92
109
  }));
110
+ const keys = projects
111
+ .command("key-documents")
112
+ .description("the notes, files and messages to read first about a project, each with why");
113
+ byOption(keys
114
+ .command("add")
115
+ .description("mark a note:, document: or msg: reference as a key document of the project")
116
+ .argument("<project>", "id, key or project:<id>")
117
+ .argument("<reference>", "note:, document: or msg: reference")
118
+ .requiredOption("--reason <text>", "why it is key, in a few words")
119
+ .option("--json", "print JSON")).action((project, reference, options) => owned(options, async (store) => markKey(store, await projectOf(store, project), reference, options.reason, authorOf(env, options.asOwner))));
120
+ keys
121
+ .command("remove")
122
+ .description("unmark a key document; the note, file or message stays")
123
+ .argument("<project>", "id, key or project:<id>")
124
+ .argument("<reference>", "the key document's note:, document: or msg: reference")
125
+ .option("--json", "print JSON")
126
+ .action((project, reference, options) => owned(options, async (store) => unmarkKey(store, await projectOf(store, project), reference)));
127
+ keys
128
+ .command("list")
129
+ .description("a project's key documents: why, who marked each and whether it is still there")
130
+ .argument("<project>", "id, key or project:<id>")
131
+ .option("--json", "print JSON")
132
+ .action((project, options) => owned(options, async (store) => ({ items: await keyDocuments(store, await projectOf(store, project)) })));
93
133
  const relations = program
94
134
  .command("relationships")
95
- .description("Explicit relations between people, organizations and projects; this never links identities");
96
- relations
135
+ .description("relations between people, organizations and projects; never between identities");
136
+ byOption(relations
97
137
  .command("add")
98
- .description("State that a person, organization or project belongs to or relates to another")
99
- .argument("<from>")
100
- .argument("<to>")
138
+ .description("state that a person, organization or project belongs to or relates to another; an agent's waits for you to confirm it")
139
+ .summary("state that a person, organization or project belongs or relates to another"))
140
+ .argument("<from>", "the person:, organization: or project: that belongs or relates")
141
+ .argument("<to>", "the person:, organization: or project: it belongs or relates to")
101
142
  .option("--json", "print JSON")
102
143
  .option("--kind <kind>", "member-of or related-to", "member-of")
103
- .option("--role <role>")
104
- .option("--evidence <text>")
105
- .action((from, to, options) => owned(options, (store) => store.knowledge.relate(null, {
106
- from,
107
- to,
108
- kind: options.kind,
109
- ...(options.role === undefined ? {} : { role: options.role }),
110
- ...(options.evidence === undefined ? {} : { evidence: options.evidence }),
111
- })));
144
+ .option("--role <role>", "the role it has there, in a few words, such as cto")
145
+ .option("--reason <text>", "why you think so, in a sentence")
146
+ .action((from, to, options) => {
147
+ const author = authorOf(env, options.asOwner);
148
+ return owned(options, (store) => store.knowledge.relate(null, {
149
+ from,
150
+ to,
151
+ kind: options.kind,
152
+ ...(author === "owner" ? {} : { confirmed: false, provenance: `agent:${author.bot}` }),
153
+ ...(options.role === undefined ? {} : { role: options.role }),
154
+ ...(options.reason === undefined ? {} : { evidence: options.reason }),
155
+ }));
156
+ });
112
157
  relations
113
158
  .command("list")
114
- .description("Relationships, all or those of one reference")
115
- .option("--reference <reference>")
159
+ .description("relationships, all or those of one reference")
160
+ .option("--reference <reference>", "only those of this person:, organization: or project:")
116
161
  .option("--json", "print JSON")
117
162
  .action((options) => owned(options, (store) => store.knowledge.relations(null, options.reference)));
118
163
  relations
119
164
  .command("remove")
120
- .description("Remove a relationship")
121
- .argument("<id>")
165
+ .description("remove a relationship")
166
+ .argument("<id>", "the relationship's id, as relationships list gives it")
122
167
  .option("--json", "print JSON")
123
168
  .action((id, options) => owned(options, (store) => store.knowledge.removeRelation(null, id)));
124
169
  relations
125
170
  .command("confirm")
126
- .description("Accept a suggested relationship")
127
- .argument("<id>")
171
+ .description("confirm a suggested relationship")
172
+ .argument("<id>", "the relationship's id, as relationships list gives it")
128
173
  .option("--json", "print JSON")
129
174
  .action((id, options) => owned(options, (store) => store.knowledge.confirmRelation(null, id)));
130
175
  accountOptions(relations
131
176
  .command("suggest")
132
- .description("Store weak shared-domain suggestions for direct email contacts; confirmation is explicit"))
177
+ .description("suggest relationships between email contacts of one domain; you confirm each"))
133
178
  .option("--limit <n>", "most suggestions, at most 100", positive, 20)
134
179
  .action((options) => execute(options, async (store, key) => {
135
180
  if (key.provider !== "email" || options.limit > 100)
@@ -172,13 +217,13 @@ export const knowledgeCommands = (program, streams, env) => {
172
217
  }));
173
218
  const reminders = program
174
219
  .command("reminders")
175
- .description("Durable local reminders; poll leases a delivery and ack confirms it");
176
- accountOptions(reminders.command("schedule").description("Schedule a reminder for an open task").argument("<task>"))
177
- .requiredOption("--at <timestamp>", "ISO timestamp with UTC offset")
220
+ .description("durable local reminders; poll hands one out and ack confirms it was shown");
221
+ accountOptions(reminders.command("add").description("add a reminder for an open task").argument("<task>", "the task's id"))
222
+ .requiredOption("--at-time <time>", "when to remind: an ISO 8601 time with its UTC offset")
178
223
  .option("--timezone <zone>", "IANA timezone", "UTC")
179
- .action((task, options) => execute(options, (store, key) => store.knowledge.schedule(key, task, options.at, options.timezone)));
180
- accountOptions(reminders.command("list").description("Pending reminders of one account")).action((options) => execute(options, (store, key) => store.knowledge.reminders(key)));
181
- accountOptions(reminders.command("poll").description("Hand out due reminders, each with a receipt to acknowledge"))
224
+ .action((task, options) => execute(options, (store, key) => store.knowledge.schedule(key, task, options.atTime, options.timezone)));
225
+ accountOptions(reminders.command("list").description("pending reminders of one account")).action((options) => execute(options, (store, key) => store.knowledge.reminders(key)));
226
+ accountOptions(reminders.command("poll").description("hand out due reminders, each with a receipt to acknowledge"))
182
227
  .option("--limit <n>", "most due reminders, at most 500", positive, 100)
183
228
  .action((options) => execute(options, async (store, key) => (await store.knowledge.claimReminders(key, { limit: options.limit })).map((reminder) => ({
184
229
  ...reminder,
@@ -187,13 +232,13 @@ export const knowledgeCommands = (program, streams, env) => {
187
232
  }))));
188
233
  accountOptions(reminders
189
234
  .command("ack")
190
- .description("Confirm that a handed-out reminder was shown")
191
- .argument("<id>")
192
- .argument("<receipt>")).action((id, receipt, options) => execute(options, (store, key) => store.knowledge.acknowledgeReminder(key, id, receipt)));
193
- accountOptions(reminders.command("cancel").description("Cancel a reminder").argument("<id>")).action((id, options) => execute(options, (store, key) => store.knowledge.cancelReminder(key, id)));
194
- accountOptions(reminders.command("snooze").description("Move a reminder to a later time").argument("<id>"))
195
- .requiredOption("--at <timestamp>")
196
- .requiredOption("--revision <n>", "current revision", positive)
197
- .action((id, options) => execute(options, (store, key) => store.knowledge.snoozeReminder(key, id, options.at, options.revision)));
235
+ .description("confirm that a handed-out reminder was shown")
236
+ .argument("<id>", "the reminder's id")
237
+ .argument("<receipt>", "the receipt reminders poll handed out with it")).action((id, receipt, options) => execute(options, (store, key) => store.knowledge.acknowledgeReminder(key, id, receipt)));
238
+ accountOptions(reminders.command("cancel").description("cancel a reminder").argument("<id>", "the reminder's id")).action((id, options) => execute(options, (store, key) => store.knowledge.cancelReminder(key, id)));
239
+ accountOptions(reminders.command("update").description("move a reminder to another time").argument("<id>", "the reminder's id"))
240
+ .requiredOption("--at-time <time>", "the new time: an ISO 8601 time with its UTC offset")
241
+ .requiredOption("--revision <n>", "the reminder's current revision, as reminders list gives it", positive)
242
+ .action((id, options) => execute(options, (store, key) => store.knowledge.snoozeReminder(key, id, options.atTime, options.revision)));
198
243
  };
199
244
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAGL,kBAAkB,EAElB,SAAS,EACT,aAAa,EAEb,MAAM,GACP,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAEtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAE,EAAE;IAC9F,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,CACd,OAA0C,EAC1C,IAA+F,EAC/F,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACzF,qEAAqE;IACrE,MAAM,KAAK,GAAG,KAAK,EAAE,OAA2B,EAAE,IAA+C,EAAE,EAAE;QACnG,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YAChC,IAAI,OAAO,CAAC,IAAI;gBAAE,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;gBACrF,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IACD,6GAA6G;IAC7G,MAAM,SAAS,GAAG,KAAK,EACrB,KAAmB,EACnB,KAAkC,EAClC,IAAgC,EAChC,EAAU,EACV,EAAE,CAAC,CAAC;QACJ,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI;QACrB,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aAC9D,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;QACtE,KAAK,EAAE,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;QACxD,IAAI,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACrD,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,OAAO;SAC1B,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qDAAqD,CAAC,CAAA;IACrE,aAAa;SACV,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,CAAC;SAClB,cAAc,CAAC,eAAe,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAY,EAAE,OAAsF,EAAE,EAAE,CAC/G,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACjE,CAAC,CACH,CACF,CAAA;IACH,aAAa;SACV,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IACtG,aAAa;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,QAAQ,CAAC,MAAM,CAAC;SAChB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7B,SAAS,CACP,KAAK,EACL,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EACtF,cAAc,EACd,EAAE,CACH,CACF,CACF,CAAA;IACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAA;IACpG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC9C,QAAQ;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wDAAwD,CAAC;SACrE,QAAQ,CAAC,QAAQ,CAAC;SAClB,MAAM,CAAC,aAAa,EAAE,0DAA0D,CAAC;SACjF,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;SACvE,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CACL,CACE,IAAY,EACZ,OAMC,EACD,EAAE,CACF,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;QACzB,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1D,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,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACjE,CAAC,CACH,CACJ,CAAA;IACH,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACjG,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,4GAA4G,CAC7G;SACA,QAAQ,CAAC,WAAW,CAAC;SACrB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,SAAiB,EAAE,OAA2B,EAAE,EAAE,CACzD,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACrD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAChG,CAAA;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,MAAM,CAAC,CAAA;IACpE,CAAC,CAAC,CACH,CAAA;IACH,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,4FAA4F,CAAC,CAAA;IAC5G,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+EAA+E,CAAC;SAC5F,QAAQ,CAAC,QAAQ,CAAC;SAClB,QAAQ,CAAC,MAAM,CAAC;SAChB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,WAAW,CAAC;SAC/D,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,mBAAmB,CAAC;SAC3B,MAAM,CACL,CACE,IAAY,EACZ,EAAU,EACV,OAA8F,EAC9F,EAAE,CACF,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3B,IAAI;QACJ,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,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,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;KAC1E,CAAC,CACH,CACJ,CAAA;IACH,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,yBAAyB,CAAC;SACjC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,OAA+C,EAAE,EAAE,CAC1D,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAC9E,CAAA;IACH,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uBAAuB,CAAC;SACpC,QAAQ,CAAC,MAAM,CAAC;SAChB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACpE,CAAA;IACH,SAAS;SACN,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,MAAM,CAAC;SAChB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACrE,CAAA;IACH,cAAc,CACZ,SAAS;SACN,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,0FAA0F,CAAC,CAC3G;SACE,MAAM,CAAC,aAAa,EAAE,+BAA+B,EAAE,QAAQ,EAAE,EAAE,CAAC;SACpE,MAAM,CAAC,CAAC,OAAyD,EAAE,EAAE,CACpE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,GAAG;YACjD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,sDAAsD,CAAC,CAAA;QAChG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;QACpF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;YACnB,WAAW;YACX,aAAa;YACb,aAAa;YACb,WAAW;YACX,YAAY;YACZ,WAAW;YACX,gBAAgB;SACjB,CAAC,CAAA;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;YACtD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YAC/E,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7F,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO;YACpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;gBAC7C,KAAK,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC1D,IAAI,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK;wBACrC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;oBAChF,WAAW,CAAC,IAAI,CACd,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE;wBAChC,IAAI,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC9B,EAAE,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE;wBAC7B,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,uBAAuB,MAAM,+CAA+C;wBACtF,UAAU,EAAE,sCAAsC;qBACnD,CAAC,CACH,CAAA;gBACH,CAAC;QACL,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;IAC5F,CAAC,CAAC,CACH,CAAA;IACH,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,qEAAqE,CAAC,CAAA;IACrF,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjH,cAAc,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,CAAC,IAAY,EAAE,OAAwE,EAAE,EAAE,CACjG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACpG,CAAA;IACH,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM,CAC9F,CAAC,OAA0C,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CACjH,CAAA;IACD,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAAC;SAChH,MAAM,CAAC,aAAa,EAAE,iCAAiC,EAAE,QAAQ,EAAE,GAAG,CAAC;SACvE,MAAM,CAAC,CAAC,OAAyD,EAAE,EAAE,CACpE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACpC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvF,GAAG,QAAQ;QACX,UAAU,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACjD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC,CACJ,CACF,CAAA;IACH,cAAc,CACZ,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,8CAA8C,CAAC;SAC3D,QAAQ,CAAC,MAAM,CAAC;SAChB,QAAQ,CAAC,WAAW,CAAC,CACzB,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,OAAe,EAAE,OAA0C,EAAE,EAAE,CACnF,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CACxF,CAAA;IACD,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAClG,CAAC,EAAU,EAAE,OAA0C,EAAE,EAAE,CACzD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAC5E,CAAA;IACD,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACxG,cAAc,CAAC,kBAAkB,CAAC;SAClC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,CAAC;SAC9D,MAAM,CAAC,CAAC,EAAU,EAAE,OAAwE,EAAE,EAAE,CAC/F,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxG,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Author, Link, MessageStore, Project } from "@wirecat/cli-core/store";
2
+ export interface KeyDocument {
3
+ ref: string;
4
+ title: string | null;
5
+ path: string | null;
6
+ reason: string | null;
7
+ /** False when the note, file or message is gone from the store; the mark stays until removed. */
8
+ available: boolean;
9
+ confirmed: boolean;
10
+ origin: Link["origin"];
11
+ provenance: string | null;
12
+ markedAt: string;
13
+ }
14
+ /** A project by its id, `project:<id>` or key; one the store does not hold is an error, not an empty answer. */
15
+ export declare const projectOf: (store: MessageStore, reference: string) => Promise<Project>;
16
+ export declare const keyDocuments: (store: MessageStore, project: Project) => Promise<KeyDocument[]>;
17
+ export declare const markKey: (store: MessageStore, project: Project, ref: string, reason: string, author: Author) => Promise<KeyDocument>;
18
+ export declare const unmarkKey: (store: MessageStore, project: Project, ref: string) => Promise<{
19
+ ref: string;
20
+ project: string;
21
+ removed: boolean;
22
+ }>;
23
+ /** The project's key items first, labelled `key`, in their own order; nothing else is dropped. */
24
+ export declare const keyFirst: <T extends {
25
+ ref: string;
26
+ }>(items: T[], keys: Set<string>) => (T & {
27
+ key?: true;
28
+ })[];
29
+ //# sourceMappingURL=key-documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-documents.d.ts","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGlF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,gHAAgH;AAChH,eAAO,MAAM,SAAS,UAAiB,YAAY,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAOvF,CAAA;AAwCD,eAAO,MAAM,YAAY,UAAiB,YAAY,WAAW,OAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CACZ,CAAA;AAEpF,eAAO,MAAM,OAAO,UACX,YAAY,WACV,OAAO,OACX,MAAM,UACH,MAAM,UACN,MAAM,KACb,OAAO,CAAC,WAAW,CAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,UAAiB,YAAY,WAAW,OAAO,OAAO,MAAM;;;;EAKjF,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,EAGvG,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { parseLocator } from "@wirecat/cli-core";
3
+ import { heldMessage } from "../store/held.js";
4
+ const KEYABLE = /^(note|document|msg):/;
5
+ /** A project by its id, `project:<id>` or key; one the store does not hold is an error, not an empty answer. */
6
+ export const projectOf = async (store, reference) => {
7
+ const wanted = reference.replace(/^project:/, "");
8
+ const project = (await store.knowledge.projects()).find((candidate) => candidate.id === wanted || candidate.key?.toLowerCase() === wanted.toLowerCase());
9
+ if (!project)
10
+ throw new CliError("not_found", `no project ${reference}; memo projects list shows them`);
11
+ return project;
12
+ };
13
+ /** A key mark is a `related-to` link from the source to the project, with the role `key` and the reason. */
14
+ const isKey = (link) => link.kind === "related-to" && link.role === "key";
15
+ const firstLine = (text) => text
16
+ .trim()
17
+ .split("\n")[0]
18
+ ?.replace(/^#+\s*/, "")
19
+ .slice(0, 120) || null;
20
+ const sourceOf = async (store, ref) => {
21
+ if (ref.startsWith("msg:")) {
22
+ const { provider, account, chat, message } = parseLocator(ref);
23
+ const held = await heldMessage(store, { provider, account }, message, chat);
24
+ return held && { title: firstLine(held.text), path: null };
25
+ }
26
+ const note = await store.notes.note(ref).catch(() => undefined);
27
+ return note && note.deletedAt === null ? { title: note.title ?? firstLine(note.text), path: note.path } : undefined;
28
+ };
29
+ const describe = async (store, link) => {
30
+ const source = await sourceOf(store, link.from);
31
+ return {
32
+ ref: link.from,
33
+ title: source?.title ?? null,
34
+ path: source?.path ?? null,
35
+ reason: link.evidence,
36
+ available: source !== undefined,
37
+ confirmed: link.confirmed,
38
+ origin: link.origin,
39
+ provenance: link.provenance,
40
+ markedAt: link.createdAt,
41
+ };
42
+ };
43
+ const keyLinks = async (store, project) => (await store.notes.links({ to: project.ref })).filter(isKey);
44
+ export const keyDocuments = async (store, project) => Promise.all((await keyLinks(store, project)).map((link) => describe(store, link)));
45
+ export const markKey = async (store, project, ref, reason, author) => {
46
+ if (!KEYABLE.test(ref))
47
+ throw new CliError("validation_error", "a key document is a note:, document: or msg: reference");
48
+ if ((await sourceOf(store, ref)) === undefined)
49
+ throw new CliError("not_found", `the store holds no ${ref}`);
50
+ const link = await store.notes.addLink({
51
+ from: ref,
52
+ to: project.ref,
53
+ kind: "related-to",
54
+ role: "key",
55
+ evidence: reason,
56
+ ...(author === "owner"
57
+ ? { origin: "owner" }
58
+ : { origin: "suggested", confirmed: false, provenance: `agent:${author.bot}` }),
59
+ });
60
+ if (!isKey(link))
61
+ throw new CliError("validation_error", `${ref} already relates to ${project.ref} as something else; memo relationships remove ${link.id} first`);
62
+ return describe(store, link);
63
+ };
64
+ export const unmarkKey = async (store, project, ref) => {
65
+ const link = (await keyLinks(store, project)).find((one) => one.from === ref);
66
+ if (!link)
67
+ throw new CliError("not_found", `${ref} is not a key document of ${project.ref}`);
68
+ await store.notes.removeLink(link.id);
69
+ return { ref, project: project.ref, removed: true };
70
+ };
71
+ /** The project's key items first, labelled `key`, in their own order; nothing else is dropped. */
72
+ export const keyFirst = (items, keys) => [
73
+ ...items.filter((item) => keys.has(item.ref)).map((item) => ({ ...item, key: true })),
74
+ ...items.filter((item) => !keys.has(item.ref)),
75
+ ];
76
+ //# sourceMappingURL=key-documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-documents.js","sourceRoot":"","sources":["../../src/knowledge/key-documents.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { positive } from "../options.js";
2
2
  import { answering } from "../records/run.js";
3
3
  import { canonicalProject } from "../vocabulary/project.js";
4
4
  export const meetingProjectsCommand = (projects, streams, env) => {
5
- const group = projects.command("meetings").description("Explicit account-scoped project membership");
5
+ const group = projects.command("meetings").description("explicit account-scoped project membership");
6
6
  const options = (command) => command
7
7
  .requiredOption("--provider <provider>", "meeting provider")
8
8
  .requiredOption("--account <account>", "exact stored meeting account")
@@ -11,7 +11,7 @@ export const meetingProjectsCommand = (projects, streams, env) => {
11
11
  const execute = (project, options, work) => run(options.json, async (store) => work(store, (await canonicalProject(store, project)).slice(8)));
12
12
  options(group
13
13
  .command("list")
14
- .description("Meetings linked to a project in one account, or proposed links")
14
+ .description("meetings linked to a project in one account, or proposed links")
15
15
  .argument("<project>", "project reference, key or explicit alias"))
16
16
  .option("--proposed", "show proposed memberships instead of confirmed ones")
17
17
  .option("--limit <n>", "meetings per page", positive)
@@ -24,8 +24,8 @@ export const meetingProjectsCommand = (projects, streams, env) => {
24
24
  })));
25
25
  options(group
26
26
  .command("link")
27
- .description("Link a stored meeting to a project, or confirm a proposed link")
28
- .argument("<project>")
27
+ .description("link a stored meeting to a project, or confirm a proposed link")
28
+ .argument("<project>", "project reference, key or explicit alias")
29
29
  .argument("<meeting-id>", "positive stored meeting id"))
30
30
  .option("--expected <fingerprint>", "required when confirming an existing proposal")
31
31
  .option("--provenance <text>", "why the reviewed meeting belongs to this project")
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-projects-command.js","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meeting-projects-command.js","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Config } from "../config.js";
2
+ import { type MailSource } from "./source.js";
3
+ export type MailAccountConfig = NonNullable<Config["mail"]>["accounts"][number];
4
+ /** The accounts named, by name or address; none named means every account. */
5
+ export declare const mailAccounts: (accounts: MailAccountConfig[], names: string[] | undefined) => MailAccountConfig[];
6
+ export declare const mailFolders: (account: {
7
+ mode?: string;
8
+ folders?: string[];
9
+ }) => string[];
10
+ export declare const mailSource: (account: MailAccountConfig, env: NodeJS.ProcessEnv) => MailSource;
11
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/mail/accounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,8EAA8E;AAC9E,eAAO,MAAM,YAAY,aAAc,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,KAAG,iBAAiB,EAU1G,CAAA;AAED,eAAO,MAAM,WAAW,YAAa;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,MAAM,EACN,CAAA;AAE7E,eAAO,MAAM,UAAU,YAAa,iBAAiB,OAAO,MAAM,CAAC,UAAU,KAAG,UAK/E,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { homedir } from "node:os";
2
+ import { CliError } from "@wirecat/cli-base";
3
+ import { himalaya } from "./himalaya.js";
4
+ import { mboxSource } from "./mbox.js";
5
+ import { himalayaSource } from "./source.js";
6
+ /** The accounts named, by name or address; none named means every account. */
7
+ export const mailAccounts = (accounts, names) => {
8
+ if (names === undefined)
9
+ return accounts;
10
+ return names.map((name) => {
11
+ const found = accounts.find((account) => account.name === name || account.address.toLowerCase() === name.toLowerCase());
12
+ if (found)
13
+ return found;
14
+ const choices = accounts.map((account) => account.name).join(", ") || "none";
15
+ throw new CliError("not_found", `no mail account "${name}" in mail.accounts — it holds ${choices}`);
16
+ });
17
+ };
18
+ export const mailFolders = (account) => account.folders ?? [account.mode === "imap" ? "INBOX" : "[Gmail]/All Mail"];
19
+ export const mailSource = (account, env) => {
20
+ if (account.mode !== "mbox")
21
+ return himalayaSource(himalaya(env), account);
22
+ if (account.path === undefined)
23
+ throw new CliError("validation_error", `mail account "${account.name}" is mode mbox but names no path`);
24
+ return mboxSource(account.path.replace(/^~(?=\/|$)/, env.HOME ?? homedir()));
25
+ };
26
+ //# sourceMappingURL=accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/mail/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAA;AAI7D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAA6B,EAAE,KAA2B,EAAuB,EAAE;IAC9G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAC3F,CAAA;QACD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAA;QAC5E,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,IAAI,iCAAiC,OAAO,EAAE,CAAC,CAAA;IACrG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAA8C,EAAY,EAAE,CACtF,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAE,GAAsB,EAAc,EAAE;IAC3F,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAC5B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,OAAO,CAAC,IAAI,kCAAkC,CAAC,CAAA;IACzG,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAA;AAC9E,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { type Streams } from "@wirecat/cli-base";
2
- import { type Command } from "commander";
2
+ import type { Command } from "commander";
3
3
  export declare const mailCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
4
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/mail/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAI1E,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AA0C9D,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA0FxF,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/mail/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA4ExC,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA+FxF,CAAA"}