@wirecat/cli-core 0.336.0 → 0.338.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 (125) hide show
  1. package/dist/cli/effects.d.ts +16 -7
  2. package/dist/cli/effects.d.ts.map +1 -1
  3. package/dist/cli/effects.js +31 -13
  4. package/dist/cli/effects.js.map +1 -1
  5. package/dist/cli/index.d.ts +1 -1
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +1 -1
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/messenger/archive-commands.js +3 -3
  10. package/dist/cli/messenger/archive-commands.js.map +1 -1
  11. package/dist/cli/messenger/backfill-command.js +4 -4
  12. package/dist/cli/messenger/backfill-command.js.map +1 -1
  13. package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
  14. package/dist/cli/messenger/chats-stats-command.js +5 -3
  15. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  16. package/dist/cli/messenger/context.d.ts +2 -2
  17. package/dist/cli/messenger/context.d.ts.map +1 -1
  18. package/dist/cli/messenger/context.js +5 -2
  19. package/dist/cli/messenger/context.js.map +1 -1
  20. package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
  21. package/dist/cli/messenger/conversations-command.js +2 -2
  22. package/dist/cli/messenger/conversations-command.js.map +1 -1
  23. package/dist/cli/messenger/doctor-command.js +2 -2
  24. package/dist/cli/messenger/doctor-command.js.map +1 -1
  25. package/dist/cli/messenger/images-command.d.ts.map +1 -1
  26. package/dist/cli/messenger/images-command.js +3 -2
  27. package/dist/cli/messenger/images-command.js.map +1 -1
  28. package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
  29. package/dist/cli/messenger/mentions-command.js +3 -3
  30. package/dist/cli/messenger/mentions-command.js.map +1 -1
  31. package/dist/cli/messenger/private-people-command.js +5 -5
  32. package/dist/cli/messenger/private-people-command.js.map +1 -1
  33. package/dist/cli/messenger/searches-command.js +4 -4
  34. package/dist/cli/messenger/searches-command.js.map +1 -1
  35. package/dist/cli/messenger/server-command.d.ts.map +1 -1
  36. package/dist/cli/messenger/server-command.js +4 -4
  37. package/dist/cli/messenger/server-command.js.map +1 -1
  38. package/dist/cli/messenger/stats-answers.d.ts +2 -0
  39. package/dist/cli/messenger/stats-answers.d.ts.map +1 -1
  40. package/dist/cli/messenger/stats-answers.js +15 -7
  41. package/dist/cli/messenger/stats-answers.js.map +1 -1
  42. package/dist/cli/messenger/stats-command.js +2 -2
  43. package/dist/cli/messenger/stats-command.js.map +1 -1
  44. package/dist/cli/messenger/store-maintenance-command.js +9 -9
  45. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  46. package/dist/cli/messenger/stored.d.ts +7 -1
  47. package/dist/cli/messenger/stored.d.ts.map +1 -1
  48. package/dist/cli/messenger/stored.js +116 -18
  49. package/dist/cli/messenger/stored.js.map +1 -1
  50. package/dist/cli/messenger/tags-command.js +2 -2
  51. package/dist/cli/messenger/tags-command.js.map +1 -1
  52. package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
  53. package/dist/cli/messenger/tasks-command.js +31 -22
  54. package/dist/cli/messenger/tasks-command.js.map +1 -1
  55. package/dist/cli/program.js +2 -2
  56. package/dist/cli/program.js.map +1 -1
  57. package/dist/cli/upgrade-command.d.ts +1 -1
  58. package/dist/cli/upgrade-command.d.ts.map +1 -1
  59. package/dist/cli/upgrade-command.js +5 -1
  60. package/dist/cli/upgrade-command.js.map +1 -1
  61. package/dist/entities/chat-stats.d.ts +5 -1
  62. package/dist/entities/chat-stats.d.ts.map +1 -1
  63. package/dist/entities/chat-stats.js +5 -1
  64. package/dist/entities/chat-stats.js.map +1 -1
  65. package/dist/errors/reasons.d.ts.map +1 -1
  66. package/dist/errors/reasons.js +1 -0
  67. package/dist/errors/reasons.js.map +1 -1
  68. package/dist/mcp/tool.d.ts +1 -1
  69. package/dist/mcp/tool.d.ts.map +1 -1
  70. package/dist/mcp/tool.js +1 -1
  71. package/dist/mcp/tool.js.map +1 -1
  72. package/dist/mcp/tools/attachments.d.ts.map +1 -1
  73. package/dist/mcp/tools/attachments.js +1 -0
  74. package/dist/mcp/tools/attachments.js.map +1 -1
  75. package/dist/mcp/tools/chats-state.d.ts +5 -0
  76. package/dist/mcp/tools/chats-state.d.ts.map +1 -0
  77. package/dist/mcp/tools/chats-state.js +58 -0
  78. package/dist/mcp/tools/chats-state.js.map +1 -0
  79. package/dist/mcp/tools/chats.js +2 -1
  80. package/dist/mcp/tools/chats.js.map +1 -1
  81. package/dist/mcp/tools/conversations.d.ts.map +1 -1
  82. package/dist/mcp/tools/conversations.js +2 -0
  83. package/dist/mcp/tools/conversations.js.map +1 -1
  84. package/dist/mcp/tools/private-people.d.ts.map +1 -1
  85. package/dist/mcp/tools/private-people.js +2 -0
  86. package/dist/mcp/tools/private-people.js.map +1 -1
  87. package/dist/mcp/tools/tags.d.ts.map +1 -1
  88. package/dist/mcp/tools/tags.js +1 -0
  89. package/dist/mcp/tools/tags.js.map +1 -1
  90. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  91. package/dist/mcp/tools/tasks.js +4 -1
  92. package/dist/mcp/tools/tasks.js.map +1 -1
  93. package/dist/mcp/tools.d.ts.map +1 -1
  94. package/dist/mcp/tools.js +2 -0
  95. package/dist/mcp/tools.js.map +1 -1
  96. package/dist/ports/traits.d.ts +2 -1
  97. package/dist/ports/traits.d.ts.map +1 -1
  98. package/dist/ports/traits.js.map +1 -1
  99. package/dist/sends/file-lock.d.ts +1 -1
  100. package/dist/sends/file-lock.d.ts.map +1 -1
  101. package/dist/sends/file-lock.js +5 -4
  102. package/dist/sends/file-lock.js.map +1 -1
  103. package/dist/sends/recipients.d.ts +2 -1
  104. package/dist/sends/recipients.d.ts.map +1 -1
  105. package/dist/sends/recipients.js +52 -32
  106. package/dist/sends/recipients.js.map +1 -1
  107. package/dist/services/chat-stats.d.ts +9 -1
  108. package/dist/services/chat-stats.d.ts.map +1 -1
  109. package/dist/services/chat-stats.js.map +1 -1
  110. package/dist/services/chats.d.ts.map +1 -1
  111. package/dist/services/chats.js +10 -6
  112. package/dist/services/chats.js.map +1 -1
  113. package/dist/services/tasks.d.ts +2 -0
  114. package/dist/services/tasks.d.ts.map +1 -1
  115. package/dist/services/tasks.js +2 -2
  116. package/dist/services/tasks.js.map +1 -1
  117. package/dist/store/sqlite/task-pairs.d.ts.map +1 -1
  118. package/dist/store/sqlite/task-pairs.js +10 -0
  119. package/dist/store/sqlite/task-pairs.js.map +1 -1
  120. package/dist/store/sqlite/work-tasks.d.ts +1 -1
  121. package/dist/store/sqlite/work-tasks.d.ts.map +1 -1
  122. package/dist/store/sqlite/work-tasks.js +6 -4
  123. package/dist/store/sqlite/work-tasks.js.map +1 -1
  124. package/package.json +1 -1
  125. package/skills/follow-ups/SKILL.md +6 -3
@@ -1,5 +1,6 @@
1
1
  import type { Id } from "../../domain/models.js";
2
2
  import { type MessengerAdapter } from "../../ports/messenger.js";
3
+ import type { MessengerTraits } from "../../ports/traits.js";
3
4
  import type { EventSink } from "../../runs/events.js";
4
5
  import type { AccountKey, DeletionScope, MessageStore } from "../../store/store.js";
5
6
  export interface Saving {
@@ -18,6 +19,11 @@ export interface Saving {
18
19
  };
19
20
  /** After a re-key is saved: what outside the store spells the chat id follows it. */
20
21
  rekeyed?: (from: Id, to: Id) => void;
22
+ /**
23
+ * Set for a messenger whose history is pushed into the store (`history: "store"`): chat and person names, and the
24
+ * titles `watch` leaves out, are answered from the store first. Its server has no directory to ask.
25
+ */
26
+ namesFromStore?: Pick<MessengerTraits, "savedChatId">;
21
27
  }
22
28
  /**
23
29
  * The adapter, with what each read answers written to the store. **A failed write never fails the
@@ -27,5 +33,5 @@ export interface Saving {
27
33
  * would erase what `chats list` stored. Nor are `chat` and `contact`: a card's member list is not
28
34
  * known to be whole, and `saveMembers` replaces the list.
29
35
  */
30
- export declare const stored: (messenger: MessengerAdapter, { account, store, warn, events, pending, deletedWithoutChat, profile, rekeyed }: Saving) => MessengerAdapter;
36
+ export declare const stored: (messenger: MessengerAdapter, { account, store, warn, events, pending, deletedWithoutChat, profile, rekeyed, namesFromStore }: Saving) => MessengerAdapter;
31
37
  //# sourceMappingURL=stored.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stored.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/stored.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,EAAE,EAAmC,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAiC,KAAK,gBAAgB,EAAkB,MAAM,0BAA0B,CAAA;AAE/G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnF,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,UAAU,CAAA;IACnB,0GAA0G;IAC1G,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAA;IAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,oGAAoG;IACpG,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,aAAa,CAAA;IAClC,8GAA8G;IAC9G,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,qFAAqF;IACrF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,CAAA;CACrC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,cACN,gBAAgB,mFACsD,MAAM,KACtF,gBAiQF,CAAA"}
1
+ {"version":3,"file":"stored.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/stored.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,EAAE,EAAmC,MAAM,wBAAwB,CAAA;AAClG,OAAO,EAAiC,KAAK,gBAAgB,EAAkB,MAAM,0BAA0B,CAAA;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnF,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,UAAU,CAAA;IACnB,0GAA0G;IAC1G,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAA;IAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,MAAM,EAAE,SAAS,CAAA;IACjB,oGAAoG;IACpG,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,aAAa,CAAA;IAClC,8GAA8G;IAC9G,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,qFAAqF;IACrF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,CAAA;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;CACtD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,cACN,gBAAgB,mGACsE,MAAM,KACtG,gBA2SF,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { capability, throughWrapper } from "../../ports/messenger.js";
3
3
  import { isId, pickPerson } from "../../resolve.js";
4
+ import { codeOf } from "../../sends/guarded.js";
5
+ import { chatIdIn } from "../../services/message-resolution.js";
4
6
  /**
5
7
  * The adapter, with what each read answers written to the store. **A failed write never fails the
6
8
  * read** — the answer is already here, and it is what was asked for.
@@ -9,7 +11,7 @@ import { isId, pickPerson } from "../../resolve.js";
9
11
  * would erase what `chats list` stored. Nor are `chat` and `contact`: a card's member list is not
10
12
  * known to be whole, and `saveMembers` replaces the list.
11
13
  */
12
- export const stored = (messenger, { account, store, warn, events, pending, deletedWithoutChat, profile, rekeyed }) => {
14
+ export const stored = (messenger, { account, store, warn, events, pending, deletedWithoutChat, profile, rekeyed, namesFromStore }) => {
13
15
  let warned = false;
14
16
  let recorded = profile === undefined;
15
17
  const attempt = async (operation, write) => {
@@ -37,7 +39,16 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
37
39
  pending?.add(saving);
38
40
  return saving.finally(() => pending?.delete(saving));
39
41
  };
40
- const { chats, history, around } = messenger;
42
+ const { chats, history, around, people } = messenger;
43
+ const titles = new Map();
44
+ const storedPeople = async () => {
45
+ try {
46
+ return await (await store())?.people.people(account.provider, { account: account.account });
47
+ }
48
+ catch {
49
+ return undefined;
50
+ }
51
+ };
41
52
  // A method not listed here saves nothing and passes through; a lane that should save adds its line.
42
53
  return throughWrapper(messenger, {
43
54
  ...(messenger.forumState
@@ -69,7 +80,7 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
69
80
  : {}),
70
81
  self: () => messenger.self(),
71
82
  resolve: async (reference) => {
72
- if (isId(reference))
83
+ if (isId(reference) && !namesFromStore)
73
84
  return messenger.resolve(reference);
74
85
  let accountId;
75
86
  try {
@@ -80,7 +91,10 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
80
91
  }
81
92
  const scoped = { provider: account.provider, account: accountId };
82
93
  const opened = await store().catch(() => undefined);
83
- if (opened) {
94
+ if (!opened)
95
+ return messenger.resolve(reference);
96
+ const { id, held } = namesFromStore ? await storedChat(opened, scoped, namesFromStore, reference) : {};
97
+ if (!isId(reference)) {
84
98
  const people = await opened.people.people(scoped.provider, { account: scoped.account });
85
99
  const wanted = reference.trim().toLowerCase();
86
100
  if (people.all().some((person) => person.alias?.toLowerCase().includes(wanted))) {
@@ -89,23 +103,44 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
89
103
  if (chats.length !== 1 || !chats[0])
90
104
  throw new CliError("validation_error", "the alias has no unique stored direct chat; use a chat id");
91
105
  let remote;
92
- try {
93
- remote = await messenger.resolve(reference);
94
- }
95
- catch (error) {
96
- if (!(error instanceof CliError) || error.code !== "not_found")
97
- throw error;
98
- }
106
+ if (namesFromStore)
107
+ remote = held;
108
+ else
109
+ try {
110
+ remote = await messenger.resolve(reference);
111
+ }
112
+ catch (error) {
113
+ if (!(error instanceof CliError) || error.code !== "not_found")
114
+ throw error;
115
+ }
99
116
  if (remote && remote.id !== chats[0].id)
100
117
  throw new CliError("validation_error", "the local alias also names another messenger chat; use a chat id", {
101
118
  candidates: [{ id: chats[0].id }, { id: remote.id }],
102
119
  });
103
- return remote ?? messenger.resolve(chats[0].id);
120
+ return remote ?? (namesFromStore ? chats[0] : messenger.resolve(chats[0].id));
104
121
  }
105
122
  }
106
- return messenger.resolve(reference);
123
+ return held ?? messenger.resolve(id ?? reference);
107
124
  },
108
125
  chat: (reference) => messenger.chat(reference),
126
+ ...(people && namesFromStore
127
+ ? {
128
+ people: async (references) => {
129
+ const known = await storedPeople();
130
+ const found = references.map((reference) => (known ? personIn(known, reference) : undefined));
131
+ const asked = references.filter((_, at) => found[at] === undefined);
132
+ const answered = asked.length === 0 ? [] : await people.call(messenger, asked);
133
+ const ids = [];
134
+ for (const id of found) {
135
+ const one = id ?? answered.shift();
136
+ if (one === undefined)
137
+ throw new CliError("not_found", "the messenger found fewer people than it was asked");
138
+ ids.push(one);
139
+ }
140
+ return ids;
141
+ },
142
+ }
143
+ : {}),
109
144
  logout: () => messenger.logout(),
110
145
  close: () => messenger.close(),
111
146
  me: async () => {
@@ -157,11 +192,15 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
157
192
  : {}),
158
193
  ...(messenger.watch
159
194
  ? {
160
- watch: (onEvent, signal, onReady) => messenger.watch?.((event) => {
161
- const seenAt = Date.now();
162
- void save("messages.watch", (opened) => keep(opened, account, event, seenAt, deletedWithoutChat));
163
- onEvent(event);
164
- }, signal, onReady) ?? Promise.resolve(),
195
+ watch: async (onEvent, signal, onReady) => {
196
+ if (namesFromStore)
197
+ await rememberTitles(store, account, titles);
198
+ return (messenger.watch?.((event) => {
199
+ const seenAt = Date.now();
200
+ void save("messages.watch", (opened) => keep(opened, account, event, seenAt, deletedWithoutChat));
201
+ onEvent(namesFromStore ? titled(event, titles) : event);
202
+ }, signal, onReady) ?? Promise.resolve());
203
+ },
165
204
  }
166
205
  : {}),
167
206
  ...(messenger.feed
@@ -170,6 +209,17 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
170
209
  // In order: a batch's messages may belong to chats only an earlier batch named.
171
210
  let previous = Promise.resolve();
172
211
  return (messenger.feed?.((batch) => {
212
+ if (namesFromStore) {
213
+ for (const { from, to } of batch.rekeys ?? []) {
214
+ const title = titles.get(from);
215
+ titles.delete(from);
216
+ if (title && !titles.has(to))
217
+ titles.set(to, title);
218
+ }
219
+ for (const chat of batch.chats ?? [])
220
+ if (chat.title)
221
+ titles.set(chat.id, chat.title);
222
+ }
173
223
  // Each re-key apart: one refused leaves the chat split, never the batch's history unsaved.
174
224
  const saving = previous.then(async () => {
175
225
  for (const { from, to } of batch.rekeys ?? [])
@@ -249,6 +299,54 @@ export const stored = (messenger, { account, store, warn, events, pending, delet
249
299
  },
250
300
  });
251
301
  };
302
+ /**
303
+ * The chat id a name or id names, as the store reads it, and the stored chat when there is one. Neither when the
304
+ * store knows no such name; an error when several stored chats match it.
305
+ */
306
+ const storedChat = async (store, account, traits, reference) => {
307
+ const bound = store.forAccount(account);
308
+ const id = await chatIdIn(traits, reference, bound).catch((error) => {
309
+ if (codeOf(error) === "not_found")
310
+ return undefined;
311
+ throw error;
312
+ });
313
+ if (id === undefined)
314
+ return {};
315
+ const held = (await bound.chats.chats({})).items.find((chat) => chat.id === id);
316
+ return held ? { id, held } : { id };
317
+ };
318
+ const personIn = (people, reference) => {
319
+ try {
320
+ return pickPerson(reference, people).id;
321
+ }
322
+ catch (error) {
323
+ if (codeOf(error) === "not_found")
324
+ return undefined;
325
+ throw error;
326
+ }
327
+ };
328
+ /** Read once when `watch` starts: a store read per event would let a later event overtake an earlier one. */
329
+ const rememberTitles = async (store, account, titles) => {
330
+ try {
331
+ const opened = await store();
332
+ for (const chat of (await opened?.forAccount(account).chats.chats({}))?.items ?? [])
333
+ if (chat.title && !titles.has(chat.id))
334
+ titles.set(chat.id, chat.title);
335
+ }
336
+ catch { }
337
+ };
338
+ const titled = (event, titles) => {
339
+ if (event.event === "message" || event.event === "edit") {
340
+ const title = event.message.chatTitle ?? titles.get(event.message.chatId);
341
+ return title ? { ...event, message: { ...event.message, chatTitle: title } } : event;
342
+ }
343
+ if (event.event === "chat_event" && event.change.event === "title" && event.change.title)
344
+ titles.set(event.chatId, event.change.title);
345
+ if (event.chatTitle !== null || event.chatId === null)
346
+ return event;
347
+ const title = titles.get(event.chatId);
348
+ return title ? { ...event, chatTitle: title } : event;
349
+ };
252
350
  /**
253
351
  * A pushed batch as the store keeps it. No `markChatsLeft`: a push names some chats, never all of them.
254
352
  * No `seenAt`: a pushed snapshot may be older than a deletion this store already holds. A chat's votes go in the
@@ -1 +1 @@
1
- {"version":3,"file":"stored.js","sourceRoot":"","sources":["../../../src/cli/messenger/stored.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stored.js","sourceRoot":"","sources":["../../../src/cli/messenger/stored.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
3
  import { Command } from "commander";
4
4
  import { TAGGING_QUERY } from "../../services/tags.js";
5
- import { changesStore, LOCAL_READ, LOCAL_WRITE } from "../effects.js";
5
+ import { LOCAL_READ, LOCAL_WRITE } from "../effects.js";
6
6
  import { itemOf, renderAnswer, snakeKeys } from "../envelope.js";
7
7
  import { listQuery, pagedList, pageOf, typedQuery, withQuery } from "../list-query.js";
8
8
  import { positiveCount } from "../paging.js";
@@ -52,7 +52,7 @@ export const tagsCommand = (messenger) => {
52
52
  if (done.unchanged.length && context.format === "pretty")
53
53
  context.renderer.note(`already there: ${done.unchanged.join(", ")}`);
54
54
  });
55
- targetOptions(changesStore(annotate(tags.command("remove"), { effects: LOCAL_WRITE })).description("take tags off one chat, person, message or task"), messenger, "untag")
55
+ targetOptions(annotate(tags.command("remove"), { effects: LOCAL_WRITE }).description("take tags off one chat, person, message or task"), messenger, "untag")
56
56
  .option("--source <manual|auto>", "remove only this ownership claim", sourceOf)
57
57
  .action(async function (given) {
58
58
  const context = messengerContext(this, messenger);
@@ -1 +1 @@
1
- {"version":3,"file":"tags-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/tags-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/tags-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/tasks-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0BnC,OAAO,EAAE,KAAK,SAAS,EAAsC,MAAM,cAAc,CAAA;AA6JjF,6GAA6G;AAC7G,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OA4fnD,CAAA;AAED,eAAO,MAAM,iBAAiB,cAAe,SAAS,KAAG,OAkCxD,CAAA"}
1
+ {"version":3,"file":"tasks-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/tasks-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BnC,OAAO,EAAE,KAAK,SAAS,EAAsC,MAAM,cAAc,CAAA;AA6JjF,6GAA6G;AAC7G,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAohBnD,CAAA;AAED,eAAO,MAAM,iBAAiB,cAAe,SAAS,KAAG,OAkCxD,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
3
  import { Command } from "commander";
4
+ import { readOnlyLockOf, readOnlyRefusal } from "../../ports/app.js";
4
5
  import { AGENDA_QUERY, agendaItem } from "../../services/agenda.js";
5
6
  import { storedChatId } from "../../services/message-resolution.js";
6
7
  import { aheadOf, momentOf } from "../../services/moment.js";
@@ -9,7 +10,7 @@ import { ARRIVAL_WINDOW, applyTaskRulesToChats } from "../../services/task-rules
9
10
  import { CLAIM_LEASE_MS, closedStateOf, TASK_PAIR_QUERY, TASK_QUERY, taskLinkKindOf, taskTypeOf, } from "../../services/tasks.js";
10
11
  import { authorOf, holderOf as holderIn } from "../author.js";
11
12
  import { environmentOf } from "../context.js";
12
- import { LOCAL_READ, LOCAL_WRITE } from "../effects.js";
13
+ import { destroysNothing, LOCAL_READ, LOCAL_WRITE } from "../effects.js";
13
14
  import { itemOf, listOf, renderAnswer, snakeKeys } from "../envelope.js";
14
15
  import { listQuery, pagedList, pageOf, queryTerms, typedQuery, withQuery } from "../list-query.js";
15
16
  import { positiveCount } from "../paging.js";
@@ -124,6 +125,8 @@ const planFrom = (options) => {
124
125
  /** What waits on the owner — kept in the local store by `src/tasks/`; nothing here reaches the messenger. */
125
126
  export const tasksCommand = (messenger) => {
126
127
  const tool = messenger.app.command;
128
+ /** Under the read-only lock an unattended agent writes, so the task's history and pair decisions name it, not the owner. */
129
+ const writerOf = (command) => readOnlyLockOf(messenger.app, environmentOf(command).env ?? process.env) ? "agent" : "owner";
127
130
  const tasks = new Command("tasks").description("what waits on you — unanswered questions, mentions, requests, promises — kept in the local store; review and serve add them");
128
131
  withQuery(annotate(tasks.command("list"), { effects: LOCAL_READ }).description("tasks, oldest first, with their message or note source"), TASK_QUERY)
129
132
  .option("--limit <n>", "how many", positiveCount("--limit"))
@@ -141,7 +144,7 @@ export const tasksCommand = (messenger) => {
141
144
  if (found.items.length === 0 && context.format === "pretty")
142
145
  context.renderer.note("no tasks — review and serve add them as questions arrive");
143
146
  });
144
- planOptions(annotate(tasks.command("add"), { effects: LOCAL_WRITE })
147
+ planOptions(destroysNothing(annotate(tasks.command("add"), { effects: LOCAL_WRITE }))
145
148
  .description("add a task for a stored message or note — a promise, a request")
146
149
  .argument("<message>", "a message locator, msg:<provider>/<account>/<chat>/<message>, or note:<id>")
147
150
  .requiredOption("--type <type>", "the task's type: question, request, mention or promise", taskTypeOf)
@@ -171,7 +174,7 @@ export const tasksCommand = (messenger) => {
171
174
  else if (followUpOf && context.format === "pretty")
172
175
  context.renderer.note(`${task.key ?? task.id} follows up ${followUpOf.key} (${followUpOf.status}), which stays closed: linked follow-up-of`);
173
176
  });
174
- planOptions(annotate(tasks.command("plan"), { effects: LOCAL_WRITE })
177
+ planOptions(destroysNothing(annotate(tasks.command("plan"), { effects: LOCAL_WRITE }))
175
178
  .summary("set a task's title, description, due date, next check, category and assignee")
176
179
  .description("set a task's title, description, due date, next check, category and assignee; nothing reaches the messenger")
177
180
  .argument("<task>", "the task's id or key, as tasks list shows it")
@@ -181,10 +184,10 @@ export const tasksCommand = (messenger) => {
181
184
  const plan = planFrom(this.opts());
182
185
  if (Object.keys(plan).length === 0)
183
186
  throw new CliError("validation_error", "give at least one of --title, --description, --due, --remind-time, --category");
184
- const planned = await context.withServices((services) => services.tasks.plan(id, plan, "owner"));
187
+ const planned = await context.withServices((services) => services.tasks.plan(id, plan, writerOf(this)));
185
188
  renderAnswer(this, context, itemOf(snakeKeys(planned)), () => `${card(planned)}\n`);
186
189
  });
187
- annotate(tasks.command("link"), { effects: LOCAL_WRITE })
190
+ destroysNothing(annotate(tasks.command("link"), { effects: LOCAL_WRITE }))
188
191
  .description("link a task to messages, chats, people or URLs — or to another task: task:<id>")
189
192
  .argument("<task>", "the task's id or key, as tasks list shows it")
190
193
  .argument("[targets...]", "msg: locators, person:<id>, document:<id>, note:<id>, a URL; or task:<id>, which links two project tasks")
@@ -257,28 +260,28 @@ export const tasksCommand = (messenger) => {
257
260
  const decided = (decision, permission) => async function (dup, task) {
258
261
  const context = messengerContext(this, messenger);
259
262
  refuseLocalWrite(context, messenger.app.command, permission);
260
- const pair = await context.withServices((services) => services.tasks.decideDuplicate(dup, task, decision, "owner"));
263
+ const pair = await context.withServices((services) => services.tasks.decideDuplicate(dup, task, decision, writerOf(this)));
261
264
  renderAnswer(this, context, itemOf(snakeKeys(pair)), () => `${pair.decision} ${pairLine(pair)}\n`);
262
265
  };
263
- annotate(duplicates.command("reject"), {
266
+ destroysNothing(annotate(duplicates.command("reject"), {
264
267
  effects: LOCAL_WRITE,
265
268
  examples: [`${tool} tasks duplicates reject PR-14 PR-12`],
266
- })
269
+ }))
267
270
  .summary("two tasks are not the same job: the pair is never offered again")
268
271
  .description("two tasks are not the same job: the pair leaves the list and is never offered again")
269
272
  .argument("<dup>", "the task listed as the duplicate, by its id or key")
270
273
  .argument("<task>", "the task it was paired with")
271
274
  .action(decided("rejected", "tasks.duplicates.reject"));
272
- annotate(duplicates.command("defer"), {
275
+ destroysNothing(annotate(duplicates.command("defer"), {
273
276
  effects: LOCAL_WRITE,
274
277
  examples: [`${tool} tasks duplicates defer PR-14 PR-12`],
275
- })
278
+ }))
276
279
  .summary("the fields and the text cannot tell: leave the pair to the owner")
277
280
  .description("the fields and the text cannot tell: leave the pair to the owner, who lists it with decision:unsure")
278
281
  .argument("<dup>", "the task listed as the duplicate, by its id or key")
279
282
  .argument("<task>", "the task it was paired with")
280
283
  .action(decided("unsure", "tasks.duplicates.defer"));
281
- annotate(tasks.command("merge"), { effects: LOCAL_WRITE, examples: [`${tool} tasks merge PR-14 --into PR-12`] })
284
+ destroysNothing(annotate(tasks.command("merge"), { effects: LOCAL_WRITE, examples: [`${tool} tasks merge PR-14 --into PR-12`] }))
282
285
  .summary("one job seen twice: fold the duplicate into the task that stays")
283
286
  .description("one job seen twice: link every message of the duplicate to the task and close the duplicate dismissed, " +
284
287
  "duplicate-of the task; nothing is deleted, and tasks unmerge undoes it")
@@ -288,18 +291,18 @@ export const tasksCommand = (messenger) => {
288
291
  const context = messengerContext(this, messenger);
289
292
  refuseLocalWrite(context, messenger.app.command, "tasks.merge");
290
293
  const { into } = this.opts();
291
- const merged = await context.withServices((services) => services.tasks.merge(dup, into, "owner"));
294
+ const merged = await context.withServices((services) => services.tasks.merge(dup, into, writerOf(this)));
292
295
  renderAnswer(this, context, itemOf(snakeKeys(merged)), () => `${dup} merged into ${merged.task.key}; ${merged.linked} message(s) linked${toReview(merged.review)}\n` +
293
296
  `${card(merged.task)}\n`);
294
297
  });
295
- annotate(tasks.command("unmerge"), { effects: LOCAL_WRITE, examples: [`${tool} tasks unmerge PR-14`] })
298
+ destroysNothing(annotate(tasks.command("unmerge"), { effects: LOCAL_WRITE, examples: [`${tool} tasks unmerge PR-14`] }))
296
299
  .summary("undo a merge: reopen the task and remove its duplicate-of relation")
297
300
  .description("undo a merge: reopen the task and remove its duplicate-of relation; messages the merge linked stay linked")
298
301
  .argument("<dup>", "the merged task, by its id or key")
299
302
  .action(async function (dup) {
300
303
  const context = messengerContext(this, messenger);
301
304
  refuseLocalWrite(context, messenger.app.command, "tasks.unmerge");
302
- const unmerged = await context.withServices((services) => services.tasks.unmerge(dup, "owner"));
305
+ const unmerged = await context.withServices((services) => services.tasks.unmerge(dup, writerOf(this)));
303
306
  renderAnswer(this, context, itemOf(snakeKeys(unmerged)), () => `${card(unmerged.task)}\n`);
304
307
  });
305
308
  withQuery(annotate(tasks.command("agenda"), { effects: LOCAL_READ })
@@ -345,10 +348,10 @@ export const tasksCommand = (messenger) => {
345
348
  "",
346
349
  ].join("\n"));
347
350
  });
348
- annotate(tasks.command("scan"), {
351
+ destroysNothing(annotate(tasks.command("scan"), {
349
352
  effects: LOCAL_WRITE,
350
353
  examples: [`${tool} tasks scan <chat>`, `${tool} tasks scan <chat> --last 300 --yes`],
351
- })
354
+ }))
352
355
  .summary("build tasks from a chat's stored history: unanswered questions and mentions")
353
356
  .description("the task rules over a chat's newest stored messages: in a one-to-one chat a question you did not answer, in a " +
354
357
  "group only a question in reply to you and a mention of you, open a task, and your answer closes one; a " +
@@ -370,7 +373,7 @@ export const tasksCommand = (messenger) => {
370
373
  }, { name: "tasks scan" });
371
374
  renderAnswer(this, context, listOf("tasks scan", { items: passes.map(snakeKeys), limit: passes.length, has_more: false }), () => `${passes.map((pass) => applyText(pass, yes, tool)).join("\n")}\n`);
372
375
  });
373
- annotate(tasks.command("claim"), { effects: LOCAL_WRITE, examples: [`${tool} tasks claim PR-12 --lease 2h`] })
376
+ destroysNothing(annotate(tasks.command("claim"), { effects: LOCAL_WRITE, examples: [`${tool} tasks claim PR-12 --lease 2h`] }))
374
377
  .description("take an open task so no other agent works it at once; the claim lapses by itself")
375
378
  .argument("<task>", "the task's id or key, as tasks list shows it")
376
379
  .option("--lease <duration>", "how long the claim lasts: 30m, 2h (default 30m); claiming again extends it", durationOf("--lease"))
@@ -382,7 +385,7 @@ export const tasksCommand = (messenger) => {
382
385
  const claimed = await context.withServices((services) => services.tasks.claim(id, holderOf(this), lease));
383
386
  renderAnswer(this, context, itemOf(snakeKeys(claimed)), () => `${card(claimed)}\n`);
384
387
  });
385
- annotate(tasks.command("release"), { effects: LOCAL_WRITE, examples: [`${tool} tasks release PR-12`] })
388
+ destroysNothing(annotate(tasks.command("release"), { effects: LOCAL_WRITE, examples: [`${tool} tasks release PR-12`] }))
386
389
  .description("give back a task you claimed, before the claim lapses; the owner may release any")
387
390
  .argument("<task>", "the task's id or key, as tasks list shows it")
388
391
  .option("--holder <name>", HOLDER_HELP)
@@ -392,13 +395,13 @@ export const tasksCommand = (messenger) => {
392
395
  const released = await context.withServices((services) => services.tasks.release(id, holderOf(this)));
393
396
  renderAnswer(this, context, itemOf(snakeKeys(released)), () => `${card(released)}\n`);
394
397
  });
395
- annotate(tasks.command("close"), {
398
+ destroysNothing(annotate(tasks.command("close"), {
396
399
  effects: LOCAL_WRITE,
397
400
  examples: [
398
401
  `${tool} tasks close Q-15 --as done --certainty 0.9 --reason answered-in-chat`,
399
402
  `${tool} tasks close Q-15`,
400
403
  ],
401
- })
404
+ }))
402
405
  .summary("close a task: done, or dismissed when it needs no answer; an agent's unsure close waits on the owner")
403
406
  .description("close a task: done, or dismissed when it needs no answer. An agent (AI_AGENT or CLAUDECODE set) states its " +
404
407
  "--certainty; below config task_agent_close_min, or with task_agent_close off, the task stays open and the " +
@@ -413,10 +416,16 @@ export const tasksCommand = (messenger) => {
413
416
  const context = messengerContext(this, messenger);
414
417
  refuseLocalWrite(context, messenger.app.command, "tasks.close");
415
418
  const { as, reason, certainty, asOwner } = this.opts();
416
- const author = authorOf(environmentOf(this).env ?? process.env, asOwner);
419
+ const env = environmentOf(this).env ?? process.env;
420
+ const lock = readOnlyLockOf(messenger.app, env);
421
+ if (lock && asOwner)
422
+ throw readOnlyRefusal(lock, "close a task as the owner");
423
+ const author = authorOf(env, asOwner);
424
+ const byAgent = author !== "owner" || lock !== undefined;
417
425
  const closed = await context.withServices((services) => services.tasks.close(id, {
418
- by: author === "owner" ? "owner" : "agent",
426
+ by: byAgent ? "agent" : "owner",
419
427
  ...(author === "owner" ? {} : { agent: author }),
428
+ ...(lock ? { suggestOnly: true } : {}),
420
429
  ...(as === undefined ? {} : { as }),
421
430
  ...(reason === undefined ? {} : { reason }),
422
431
  ...(certainty === undefined ? {} : { certainty }),