@wirecat/cli-memo 0.22.0 → 0.24.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 (150) hide show
  1. package/README.md +24 -21
  2. package/dist/actions/command.d.ts.map +1 -1
  3. package/dist/actions/command.js +14 -19
  4. package/dist/actions/command.js.map +1 -1
  5. package/dist/agents/command.d.ts.map +1 -1
  6. package/dist/agents/command.js +9 -9
  7. package/dist/agents/command.js.map +1 -1
  8. package/dist/answers/command.js +6 -6
  9. package/dist/answers/command.js.map +1 -1
  10. package/dist/author.d.ts +11 -0
  11. package/dist/author.d.ts.map +1 -0
  12. package/dist/author.js +16 -0
  13. package/dist/author.js.map +1 -0
  14. package/dist/bin/memo.js +4 -2
  15. package/dist/bin/memo.js.map +1 -1
  16. package/dist/config.d.ts +1 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +1 -1
  19. package/dist/config.js.map +1 -1
  20. package/dist/context/command.d.ts.map +1 -1
  21. package/dist/context/command.js +18 -12
  22. package/dist/context/command.js.map +1 -1
  23. package/dist/context/context.d.ts +1 -1
  24. package/dist/context/context.d.ts.map +1 -1
  25. package/dist/context/context.js +2 -2
  26. package/dist/context/context.js.map +1 -1
  27. package/dist/discovery/command.d.ts +2 -0
  28. package/dist/discovery/command.d.ts.map +1 -1
  29. package/dist/discovery/command.js +18 -10
  30. package/dist/discovery/command.js.map +1 -1
  31. package/dist/examples.d.ts +5 -0
  32. package/dist/examples.d.ts.map +1 -0
  33. package/dist/examples.js +128 -0
  34. package/dist/examples.js.map +1 -0
  35. package/dist/facts/command.d.ts.map +1 -1
  36. package/dist/facts/command.js +19 -17
  37. package/dist/facts/command.js.map +1 -1
  38. package/dist/install/postinstall.d.ts +7 -0
  39. package/dist/install/postinstall.d.ts.map +1 -0
  40. package/dist/install/postinstall.js +28 -0
  41. package/dist/install/postinstall.js.map +1 -0
  42. package/dist/knowledge/command.d.ts.map +1 -1
  43. package/dist/knowledge/command.js +109 -74
  44. package/dist/knowledge/command.js.map +1 -1
  45. package/dist/knowledge/key-documents.d.ts +29 -0
  46. package/dist/knowledge/key-documents.d.ts.map +1 -0
  47. package/dist/knowledge/key-documents.js +76 -0
  48. package/dist/knowledge/key-documents.js.map +1 -0
  49. package/dist/knowledge/meeting-projects-command.d.ts +1 -1
  50. package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
  51. package/dist/knowledge/meeting-projects-command.js +7 -20
  52. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  53. package/dist/mail/messages-command.d.ts +4 -0
  54. package/dist/mail/messages-command.d.ts.map +1 -0
  55. package/dist/mail/messages-command.js +32 -0
  56. package/dist/mail/messages-command.js.map +1 -0
  57. package/dist/mcp/command.js +1 -1
  58. package/dist/mcp/command.js.map +1 -1
  59. package/dist/mcp/knowledge.js +3 -3
  60. package/dist/mcp/knowledge.js.map +1 -1
  61. package/dist/mcp/server.d.ts.map +1 -1
  62. package/dist/mcp/server.js +27 -18
  63. package/dist/mcp/server.js.map +1 -1
  64. package/dist/mcp/task-relations.d.ts +3 -3
  65. package/dist/mcp/task-relations.d.ts.map +1 -1
  66. package/dist/mcp/task-relations.js +18 -6
  67. package/dist/mcp/task-relations.js.map +1 -1
  68. package/dist/mcp/vocabulary.d.ts +2 -3
  69. package/dist/mcp/vocabulary.d.ts.map +1 -1
  70. package/dist/mcp/vocabulary.js +23 -18
  71. package/dist/mcp/vocabulary.js.map +1 -1
  72. package/dist/memories/command.d.ts +1 -0
  73. package/dist/memories/command.d.ts.map +1 -1
  74. package/dist/memories/command.js +24 -23
  75. package/dist/memories/command.js.map +1 -1
  76. package/dist/notes/about.d.ts +11 -2
  77. package/dist/notes/about.d.ts.map +1 -1
  78. package/dist/notes/about.js +34 -30
  79. package/dist/notes/about.js.map +1 -1
  80. package/dist/notes/bound.d.ts +3 -0
  81. package/dist/notes/bound.d.ts.map +1 -1
  82. package/dist/notes/bound.js +9 -1
  83. package/dist/notes/bound.js.map +1 -1
  84. package/dist/notes/command.d.ts.map +1 -1
  85. package/dist/notes/command.js +28 -68
  86. package/dist/notes/command.js.map +1 -1
  87. package/dist/notes/folders-command.d.ts.map +1 -1
  88. package/dist/notes/folders-command.js +15 -13
  89. package/dist/notes/folders-command.js.map +1 -1
  90. package/dist/notes/list.d.ts +22 -0
  91. package/dist/notes/list.d.ts.map +1 -0
  92. package/dist/notes/list.js +24 -0
  93. package/dist/notes/list.js.map +1 -0
  94. package/dist/notes/search.d.ts.map +1 -1
  95. package/dist/notes/search.js +2 -2
  96. package/dist/notes/search.js.map +1 -1
  97. package/dist/options.d.ts +2 -0
  98. package/dist/options.d.ts.map +1 -1
  99. package/dist/options.js +2 -0
  100. package/dist/options.js.map +1 -1
  101. package/dist/page.d.ts +12 -0
  102. package/dist/page.d.ts.map +1 -0
  103. package/dist/page.js +10 -0
  104. package/dist/page.js.map +1 -0
  105. package/dist/people/command.js +2 -2
  106. package/dist/program.d.ts +5 -0
  107. package/dist/program.d.ts.map +1 -1
  108. package/dist/program.js +35 -6
  109. package/dist/program.js.map +1 -1
  110. package/dist/records/run.d.ts +2 -0
  111. package/dist/records/run.d.ts.map +1 -1
  112. package/dist/records/run.js +18 -12
  113. package/dist/records/run.js.map +1 -1
  114. package/dist/run/auto.d.ts.map +1 -1
  115. package/dist/run/auto.js +11 -13
  116. package/dist/run/auto.js.map +1 -1
  117. package/dist/run/import.d.ts +2 -2
  118. package/dist/run/import.d.ts.map +1 -1
  119. package/dist/run/import.js +66 -27
  120. package/dist/run/import.js.map +1 -1
  121. package/dist/run/lock.d.ts +1 -1
  122. package/dist/run/lock.d.ts.map +1 -1
  123. package/dist/run/lock.js +1 -1
  124. package/dist/run/lock.js.map +1 -1
  125. package/dist/search/command.d.ts +15 -20
  126. package/dist/search/command.d.ts.map +1 -1
  127. package/dist/search/command.js +96 -47
  128. package/dist/search/command.js.map +1 -1
  129. package/dist/tags/command.d.ts.map +1 -1
  130. package/dist/tags/command.js +25 -18
  131. package/dist/tags/command.js.map +1 -1
  132. package/dist/tasks/command.d.ts.map +1 -1
  133. package/dist/tasks/command.js +21 -14
  134. package/dist/tasks/command.js.map +1 -1
  135. package/dist/tasks/relations-command.d.ts +1 -1
  136. package/dist/tasks/relations-command.d.ts.map +1 -1
  137. package/dist/tasks/relations-command.js +12 -33
  138. package/dist/tasks/relations-command.js.map +1 -1
  139. package/dist/version.d.ts +1 -1
  140. package/dist/version.js +1 -1
  141. package/dist/vocabulary/command.d.ts.map +1 -1
  142. package/dist/vocabulary/command.js +48 -47
  143. package/dist/vocabulary/command.js.map +1 -1
  144. package/install/postinstall.mjs +9 -0
  145. package/package.json +8 -4
  146. package/skills/cli-memo/SKILL.md +49 -0
  147. package/dist/mail/command.d.ts +0 -4
  148. package/dist/mail/command.d.ts.map +0 -1
  149. package/dist/mail/command.js +0 -105
  150. package/dist/mail/command.js.map +0 -1
@@ -1,23 +1,15 @@
1
1
  import { CliError, createRenderer } from "@wirecat/cli-base";
2
2
  import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-messaging/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";
6
+ import { answering } from "../records/run.js";
5
7
  import { selectAccount } from "../store/scope.js";
8
+ import { keyDocuments, markKey, projectOf, unmarkKey } from "./key-documents.js";
6
9
  import { meetingProjectsCommand } from "./meeting-projects-command.js";
7
10
  export const knowledgeCommands = (program, streams, env) => {
8
- const execute = async (options, work) => {
9
- const store = await openStore({ env });
10
- try {
11
- const answer = await work(store, await selectAccount(store, options));
12
- if (options.json)
13
- createRenderer({ format: "json", color: false, streams }).result(answer);
14
- else
15
- streams.data(`${JSON.stringify(answer, null, 2)}\n`);
16
- }
17
- finally {
18
- await store.close();
19
- }
20
- };
11
+ const run = answering(streams, env);
12
+ const execute = (options, work) => run(options.json, async (store) => work(store, await selectAccount(store, options)));
21
13
  /** Organisations and relations are the owner's, not an account's. */
22
14
  const owned = async (options, work) => {
23
15
  const store = await openStore({ env });
@@ -33,21 +25,26 @@ export const knowledgeCommands = (program, streams, env) => {
33
25
  }
34
26
  };
35
27
  /** What the store knows around an organization or a project: its relations, the notes about it, its tags. */
36
- const contextOf = async (store, thing, type, id) => ({
37
- [type]: thing ?? null,
38
- relationships: (await store.notes.links({ to: `${type}:${id}` }))
39
- .concat(await store.notes.links({ from: `${type}:${id}` }))
40
- .filter((link) => link.kind !== "about" && link.kind !== "links-to"),
41
- notes: await notesAbout(store, { ref: `${type}:${id}` }),
42
- tags: await store.knowledge.tags(null, { type, id }),
43
- });
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
+ };
44
41
  const organizations = program
45
42
  .command("organizations")
46
- .description("Companies, teams, families and communities of yours");
43
+ .description("companies, teams, families and communities of yours");
47
44
  organizations
48
45
  .command("add")
49
- .description("Add an organization of yours: a company, team, family or community")
50
- .argument("<name>")
46
+ .description("add an organization of yours: a company, team, family or community")
47
+ .argument("<name>", "the organization's name")
51
48
  .requiredOption("--kind <kind>", ORGANIZATION_KINDS.join(", "), oneOf(ORGANIZATION_KINDS))
52
49
  .option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
53
50
  .option("--json", "print JSON")
@@ -58,88 +55,126 @@ export const knowledgeCommands = (program, streams, env) => {
58
55
  })));
59
56
  organizations
60
57
  .command("list")
61
- .description("Your organizations")
58
+ .description("your organizations")
62
59
  .option("--json", "print JSON")
63
60
  .action((options) => owned(options, (store) => store.knowledge.organizations()));
64
61
  organizations
65
62
  .command("context")
66
- .description("One organization: its relationships, the notes about or linking it, and its tags")
67
- .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>")
68
66
  .option("--json", "print JSON")
69
- .action((id, options) => owned(options, async (store) => contextOf(store, (await store.knowledge.organizations()).find((organization) => organization.id === id), "organization", id)));
70
- 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");
71
72
  meetingProjectsCommand(projects, streams, env);
72
73
  projects
73
74
  .command("add")
74
- .description("Add a project of yours, with a short key its tasks use")
75
- .argument("<name>")
75
+ .description("add a project of yours, with a short key its tasks use")
76
+ .argument("<name>", "the project's name")
76
77
  .option("--key <key>", "3–4 letters and digits; made from the name when left out")
77
78
  .option("--type <type>", PROJECT_TYPES.join(", "), oneOf(PROJECT_TYPES))
78
- .option("--organization <reference>", "organization:<id> it belongs to")
79
+ .option("--organization <organization>", "the organization it belongs to: its id or organization:<id>")
79
80
  .option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
80
81
  .option("--json", "print JSON")
81
82
  .action((name, options) => owned(options, (store) => store.knowledge.addProject({
82
83
  name,
83
84
  ...(options.key === undefined ? {} : { key: options.key }),
84
85
  ...(options.type === undefined ? {} : { type: options.type }),
85
- ...(options.organization === undefined ? {} : { organization: options.organization }),
86
+ ...(options.organization === undefined
87
+ ? {}
88
+ : { organization: `organization:${options.organization.replace(/^organization:/, "")}` }),
86
89
  ...(options.scope === undefined ? {} : { scope: options.scope }),
87
90
  })));
88
91
  projects
89
92
  .command("list")
90
- .description("Your projects")
93
+ .description("your projects")
91
94
  .option("--json", "print JSON")
92
95
  .action((options) => owned(options, (store) => store.knowledge.projects()));
93
96
  projects
94
97
  .command("context")
95
- .description("One project by its id, key or project:<id>: its relationships, the notes about or linking it, and its tags")
96
- .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>")
97
102
  .option("--json", "print JSON")
98
103
  .action((reference, options) => owned(options, async (store) => {
99
- const wanted = reference.replace(/^project:/, "");
100
- const project = (await store.knowledge.projects()).find((candidate) => candidate.id === wanted || candidate.key?.toLowerCase() === wanted.toLowerCase());
101
- 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
+ };
102
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)) })));
103
133
  const relations = program
104
134
  .command("relationships")
105
- .description("Explicit relations between people, organizations and projects; this never links identities");
106
- relations
135
+ .description("relations between people, organizations and projects; never between identities");
136
+ byOption(relations
107
137
  .command("add")
108
- .description("State that a person, organization or project belongs to or relates to another")
109
- .argument("<from>")
110
- .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")
111
142
  .option("--json", "print JSON")
112
143
  .option("--kind <kind>", "member-of or related-to", "member-of")
113
- .option("--role <role>")
114
- .option("--evidence <text>")
115
- .action((from, to, options) => owned(options, (store) => store.knowledge.relate(null, {
116
- from,
117
- to,
118
- kind: options.kind,
119
- ...(options.role === undefined ? {} : { role: options.role }),
120
- ...(options.evidence === undefined ? {} : { evidence: options.evidence }),
121
- })));
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
+ });
122
157
  relations
123
158
  .command("list")
124
- .description("Relationships, all or those of one reference")
125
- .option("--reference <reference>")
159
+ .description("relationships, all or those of one reference")
160
+ .option("--reference <reference>", "only those of this person:, organization: or project:")
126
161
  .option("--json", "print JSON")
127
162
  .action((options) => owned(options, (store) => store.knowledge.relations(null, options.reference)));
128
163
  relations
129
164
  .command("remove")
130
- .description("Remove a relationship")
131
- .argument("<id>")
165
+ .description("remove a relationship")
166
+ .argument("<id>", "the relationship's id, as relationships list gives it")
132
167
  .option("--json", "print JSON")
133
168
  .action((id, options) => owned(options, (store) => store.knowledge.removeRelation(null, id)));
134
169
  relations
135
170
  .command("confirm")
136
- .description("Accept a suggested relationship")
137
- .argument("<id>")
171
+ .description("confirm a suggested relationship")
172
+ .argument("<id>", "the relationship's id, as relationships list gives it")
138
173
  .option("--json", "print JSON")
139
174
  .action((id, options) => owned(options, (store) => store.knowledge.confirmRelation(null, id)));
140
175
  accountOptions(relations
141
176
  .command("suggest")
142
- .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"))
143
178
  .option("--limit <n>", "most suggestions, at most 100", positive, 20)
144
179
  .action((options) => execute(options, async (store, key) => {
145
180
  if (key.provider !== "email" || options.limit > 100)
@@ -182,13 +217,13 @@ export const knowledgeCommands = (program, streams, env) => {
182
217
  }));
183
218
  const reminders = program
184
219
  .command("reminders")
185
- .description("Durable local reminders; poll leases a delivery and ack confirms it");
186
- accountOptions(reminders.command("schedule").description("Schedule a reminder for an open task").argument("<task>"))
187
- .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")
188
223
  .option("--timezone <zone>", "IANA timezone", "UTC")
189
- .action((task, options) => execute(options, (store, key) => store.knowledge.schedule(key, task, options.at, options.timezone)));
190
- accountOptions(reminders.command("list").description("Pending reminders of one account")).action((options) => execute(options, (store, key) => store.knowledge.reminders(key)));
191
- 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"))
192
227
  .option("--limit <n>", "most due reminders, at most 500", positive, 100)
193
228
  .action((options) => execute(options, async (store, key) => (await store.knowledge.claimReminders(key, { limit: options.limit })).map((reminder) => ({
194
229
  ...reminder,
@@ -197,13 +232,13 @@ export const knowledgeCommands = (program, streams, env) => {
197
232
  }))));
198
233
  accountOptions(reminders
199
234
  .command("ack")
200
- .description("Confirm that a handed-out reminder was shown")
201
- .argument("<id>")
202
- .argument("<receipt>")).action((id, receipt, options) => execute(options, (store, key) => store.knowledge.acknowledgeReminder(key, id, receipt)));
203
- accountOptions(reminders.command("cancel").description("Cancel a reminder").argument("<id>")).action((id, options) => execute(options, (store, key) => store.knowledge.cancelReminder(key, id)));
204
- accountOptions(reminders.command("snooze").description("Move a reminder to a later time").argument("<id>"))
205
- .requiredOption("--at <timestamp>")
206
- .requiredOption("--revision <n>", "current revision", positive)
207
- .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)));
208
243
  };
209
244
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Author, Link, MessageStore, Project } from "@wirecat/cli-messaging/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,8BAA8B,CAAA;AAGvF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,gHAAgH;AAChH,eAAO,MAAM,SAAS,UAAiB,YAAY,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CAOvF,CAAA;AAwCD,eAAO,MAAM,YAAY,UAAiB,YAAY,WAAW,OAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CACZ,CAAA;AAEpF,eAAO,MAAM,OAAO,UACX,YAAY,WACV,OAAO,OACX,MAAM,UACH,MAAM,UACN,MAAM,KACb,OAAO,CAAC,WAAW,CAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,UAAiB,YAAY,WAAW,OAAO,OAAO,MAAM;;;;EAKjF,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,EAGvG,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { parseLocator } from "@wirecat/cli-messaging";
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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"}
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-base";
1
+ import type { Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  export declare const meetingProjectsCommand: (projects: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
4
  //# sourceMappingURL=meeting-projects-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-projects-command.d.ts","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcxC,eAAO,MAAM,sBAAsB,aAAc,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA8DjG,CAAA"}
1
+ {"version":3,"file":"meeting-projects-command.d.ts","sourceRoot":"","sources":["../../src/knowledge/meeting-projects-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAexC,eAAO,MAAM,sBAAsB,aAAc,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SAqDjG,CAAA"}
@@ -1,30 +1,17 @@
1
- import { createRenderer } from "@wirecat/cli-base";
2
- import { openStore } from "@wirecat/cli-messaging/store";
3
1
  import { positive } from "../options.js";
2
+ import { answering } from "../records/run.js";
4
3
  import { canonicalProject } from "../vocabulary/project.js";
5
4
  export const meetingProjectsCommand = (projects, streams, env) => {
6
- const group = projects.command("meetings").description("Explicit account-scoped project membership");
5
+ const group = projects.command("meetings").description("explicit account-scoped project membership");
7
6
  const options = (command) => command
8
7
  .requiredOption("--provider <provider>", "meeting provider")
9
8
  .requiredOption("--account <account>", "exact stored meeting account")
10
9
  .option("--json", "print JSON");
11
- const execute = async (project, options, work) => {
12
- const store = await openStore({ env });
13
- try {
14
- const reference = await canonicalProject(store, project);
15
- const answer = await work(store, reference.slice(8));
16
- if (options.json)
17
- createRenderer({ format: "json", color: false, streams }).result(answer);
18
- else
19
- streams.data(`${JSON.stringify(answer, null, 2)}\n`);
20
- }
21
- finally {
22
- await store.close();
23
- }
24
- };
10
+ const run = answering(streams, env);
11
+ const execute = (project, options, work) => run(options.json, async (store) => work(store, (await canonicalProject(store, project)).slice(8)));
25
12
  options(group
26
13
  .command("list")
27
- .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")
28
15
  .argument("<project>", "project reference, key or explicit alias"))
29
16
  .option("--proposed", "show proposed memberships instead of confirmed ones")
30
17
  .option("--limit <n>", "meetings per page", positive)
@@ -37,8 +24,8 @@ export const meetingProjectsCommand = (projects, streams, env) => {
37
24
  })));
38
25
  options(group
39
26
  .command("link")
40
- .description("Link a stored meeting to a project, or confirm a proposed link")
41
- .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")
42
29
  .argument("<meeting-id>", "positive stored meeting id"))
43
30
  .option("--expected <fingerprint>", "required when confirming an existing proposal")
44
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,4 @@
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import type { Command } from "commander";
3
+ export declare const messagesCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
+ //# sourceMappingURL=messages-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-command.d.ts","sourceRoot":"","sources":["../../src/mail/messages-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,eAAO,MAAM,eAAe,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAwB5F,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { parseLocator, resolveOutput } from "@wirecat/cli-messaging";
3
+ import { readMail } from "@wirecat/cli-messaging/services";
4
+ import { openStore } from "@wirecat/cli-messaging/store";
5
+ import { whole } from "../options.js";
6
+ import { found } from "../search/command.js";
7
+ export const messagesCommand = (program, streams, env) => {
8
+ const messages = program.command("messages").description("stored emails; tg and max read messenger messages");
9
+ messages
10
+ .command("show")
11
+ .description("one stored email, whole, and the emails of its thread around it")
12
+ .argument("<message>", "the email's msg:email/… reference, as search answers give it")
13
+ .option("--before-n <n>", "also this many earlier emails of its thread", whole, 0)
14
+ .option("--after-n <n>", "also this many later emails of its thread", whole, 0)
15
+ .option("--json", "print JSON")
16
+ .action(async (reference, options) => {
17
+ if (parseLocator(reference).provider !== "email")
18
+ throw new CliError("validation_error", `${reference} is not an email; tg and max show messenger messages`);
19
+ const store = await openStore({ env });
20
+ try {
21
+ const emails = await readMail(store, reference, { before: options.beforeN, after: options.afterN });
22
+ if (options.json)
23
+ resolveOutput({ json: true, streams }).renderer.result(options.beforeN || options.afterN ? { items: emails } : emails[0]);
24
+ else
25
+ streams.data(`${emails.map((email) => found(email, "full")).join("\n\n")}\n`);
26
+ }
27
+ finally {
28
+ await store.close();
29
+ }
30
+ });
31
+ };
32
+ //# sourceMappingURL=messages-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-command.js","sourceRoot":"","sources":["../../src/mail/messages-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAQ,EAAE;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAA;IAC7G,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iEAAiE,CAAC;SAC9E,QAAQ,CAAC,WAAW,EAAE,8DAA8D,CAAC;SACrF,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,EAAE,KAAK,EAAE,CAAC,CAAC;SACjF,MAAM,CAAC,eAAe,EAAE,2CAA2C,EAAE,KAAK,EAAE,CAAC,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC9B,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA4D,EAAE,EAAE;QAChG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,OAAO;YAC9C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,SAAS,sDAAsD,CAAC,CAAA;QAC5G,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YACnG,IAAI,OAAO,CAAC,IAAI;gBACd,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CACpD,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAClE,CAAA;;gBACE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpF,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { createMemoServer } from "./server.js";
3
3
  export const mcpCommand = (program, streams, env) => {
4
4
  program
5
5
  .command("mcp")
6
- .description("Serve memories, proposed actions and the agent log to an agent over MCP, on stdin and stdout")
6
+ .description("serve memories, proposed actions and the agent log over MCP on stdin and stdout")
7
7
  .action(async () => {
8
8
  serveStdio(() => createMemoServer(env), { onerror: (error) => streams.diagnostic(`mcp: ${error.message}`) });
9
9
  await new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/mcp/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAQ,EAAE;IAC7F,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,8FAA8F,CAAC;SAC3G,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5G,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/mcp/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,GAAsB,EAAQ,EAAE;IAC7F,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5G,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}