@wirecat/cli-core 0.264.0 → 0.265.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 (239) hide show
  1. package/dist/cli/envelope.d.ts +2 -0
  2. package/dist/cli/envelope.d.ts.map +1 -1
  3. package/dist/cli/envelope.js +2 -2
  4. package/dist/cli/envelope.js.map +1 -1
  5. package/dist/cli/list-query.d.ts +14 -2
  6. package/dist/cli/list-query.d.ts.map +1 -1
  7. package/dist/cli/list-query.js +59 -8
  8. package/dist/cli/list-query.js.map +1 -1
  9. package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
  10. package/dist/cli/messenger/admin-commands.js +34 -46
  11. package/dist/cli/messenger/admin-commands.js.map +1 -1
  12. package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
  13. package/dist/cli/messenger/admin-contacts-command.js +7 -3
  14. package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
  15. package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
  16. package/dist/cli/messenger/admin-folders-command.js +21 -21
  17. package/dist/cli/messenger/admin-folders-command.js.map +1 -1
  18. package/dist/cli/messenger/admin-moderation-command.d.ts.map +1 -1
  19. package/dist/cli/messenger/admin-moderation-command.js +11 -13
  20. package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
  21. package/dist/cli/messenger/chat-answers.d.ts +155 -0
  22. package/dist/cli/messenger/chat-answers.d.ts.map +1 -0
  23. package/dist/cli/messenger/chat-answers.js +243 -0
  24. package/dist/cli/messenger/chat-answers.js.map +1 -0
  25. package/dist/cli/messenger/chat-lists.d.ts +161 -0
  26. package/dist/cli/messenger/chat-lists.d.ts.map +1 -0
  27. package/dist/cli/messenger/chat-lists.js +82 -0
  28. package/dist/cli/messenger/chat-lists.js.map +1 -0
  29. package/dist/cli/messenger/chat-queries.d.ts +14 -0
  30. package/dist/cli/messenger/chat-queries.d.ts.map +1 -0
  31. package/dist/cli/messenger/chat-queries.js +48 -0
  32. package/dist/cli/messenger/chat-queries.js.map +1 -0
  33. package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
  34. package/dist/cli/messenger/chats-bots-command.js +7 -2
  35. package/dist/cli/messenger/chats-bots-command.js.map +1 -1
  36. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  37. package/dist/cli/messenger/chats-command.js +33 -71
  38. package/dist/cli/messenger/chats-command.js.map +1 -1
  39. package/dist/cli/messenger/chats-documents-command.d.ts.map +1 -1
  40. package/dist/cli/messenger/chats-documents-command.js +10 -5
  41. package/dist/cli/messenger/chats-documents-command.js.map +1 -1
  42. package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
  43. package/dist/cli/messenger/chats-members-command.js +38 -64
  44. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  45. package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
  46. package/dist/cli/messenger/chats-read-command.js +4 -2
  47. package/dist/cli/messenger/chats-read-command.js.map +1 -1
  48. package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
  49. package/dist/cli/messenger/chats-stats-command.js +24 -17
  50. package/dist/cli/messenger/chats-stats-command.js.map +1 -1
  51. package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -1
  52. package/dist/cli/messenger/chats-tracking-command.js +11 -17
  53. package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
  54. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  55. package/dist/cli/messenger/contacts-command.js +61 -43
  56. package/dist/cli/messenger/contacts-command.js.map +1 -1
  57. package/dist/cli/messenger/hearing-command.d.ts +1 -1
  58. package/dist/cli/messenger/hearing-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/hearing-command.js +1 -1
  60. package/dist/cli/messenger/hearing-command.js.map +1 -1
  61. package/dist/cli/messenger/history-query.d.ts +18 -0
  62. package/dist/cli/messenger/history-query.d.ts.map +1 -0
  63. package/dist/cli/messenger/history-query.js +63 -0
  64. package/dist/cli/messenger/history-query.js.map +1 -0
  65. package/dist/cli/messenger/list-query.d.ts +13 -0
  66. package/dist/cli/messenger/list-query.d.ts.map +1 -0
  67. package/dist/cli/messenger/list-query.js +23 -0
  68. package/dist/cli/messenger/list-query.js.map +1 -0
  69. package/dist/cli/messenger/message-items.d.ts +31 -0
  70. package/dist/cli/messenger/message-items.d.ts.map +1 -0
  71. package/dist/cli/messenger/message-items.js +95 -0
  72. package/dist/cli/messenger/message-items.js.map +1 -0
  73. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  74. package/dist/cli/messenger/messages-command.js +52 -77
  75. package/dist/cli/messenger/messages-command.js.map +1 -1
  76. package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
  77. package/dist/cli/messenger/messages-comments-command.js +39 -28
  78. package/dist/cli/messenger/messages-comments-command.js.map +1 -1
  79. package/dist/cli/messenger/messages-link-command.d.ts.map +1 -1
  80. package/dist/cli/messenger/messages-link-command.js +16 -14
  81. package/dist/cli/messenger/messages-link-command.js.map +1 -1
  82. package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
  83. package/dist/cli/messenger/messages-scheduled-command.js +23 -26
  84. package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
  85. package/dist/cli/messenger/people-queries.d.ts +6 -0
  86. package/dist/cli/messenger/people-queries.d.ts.map +1 -0
  87. package/dist/cli/messenger/people-queries.js +15 -0
  88. package/dist/cli/messenger/people-queries.js.map +1 -0
  89. package/dist/cli/messenger/polls-command.d.ts.map +1 -1
  90. package/dist/cli/messenger/polls-command.js +29 -23
  91. package/dist/cli/messenger/polls-command.js.map +1 -1
  92. package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
  93. package/dist/cli/messenger/reactions-command.js +6 -2
  94. package/dist/cli/messenger/reactions-command.js.map +1 -1
  95. package/dist/cli/messenger/topics-command.d.ts.map +1 -1
  96. package/dist/cli/messenger/topics-command.js +21 -9
  97. package/dist/cli/messenger/topics-command.js.map +1 -1
  98. package/dist/cli/steps.d.ts.map +1 -1
  99. package/dist/cli/steps.js +24 -0
  100. package/dist/cli/steps.js.map +1 -1
  101. package/dist/entities/attachment.d.ts +6 -0
  102. package/dist/entities/attachment.d.ts.map +1 -1
  103. package/dist/entities/attachment.js +6 -0
  104. package/dist/entities/attachment.js.map +1 -1
  105. package/dist/entities/chat-event.d.ts +28 -0
  106. package/dist/entities/chat-event.d.ts.map +1 -0
  107. package/dist/entities/chat-event.js +19 -0
  108. package/dist/entities/chat-event.js.map +1 -0
  109. package/dist/entities/chat.d.ts +29 -0
  110. package/dist/entities/chat.d.ts.map +1 -1
  111. package/dist/entities/chat.js +15 -0
  112. package/dist/entities/chat.js.map +1 -1
  113. package/dist/entities/contact.d.ts +137 -0
  114. package/dist/entities/contact.d.ts.map +1 -1
  115. package/dist/entities/contact.js +6 -1
  116. package/dist/entities/contact.js.map +1 -1
  117. package/dist/entities/folder.d.ts +31 -0
  118. package/dist/entities/folder.d.ts.map +1 -0
  119. package/dist/entities/folder.js +25 -0
  120. package/dist/entities/folder.js.map +1 -0
  121. package/dist/entities/index.d.ts +364 -1
  122. package/dist/entities/index.d.ts.map +1 -1
  123. package/dist/entities/index.js +17 -1
  124. package/dist/entities/index.js.map +1 -1
  125. package/dist/entities/invite-link.d.ts +17 -0
  126. package/dist/entities/invite-link.d.ts.map +1 -0
  127. package/dist/entities/invite-link.js +18 -0
  128. package/dist/entities/invite-link.js.map +1 -0
  129. package/dist/entities/join-request.d.ts +12 -0
  130. package/dist/entities/join-request.d.ts.map +1 -0
  131. package/dist/entities/join-request.js +13 -0
  132. package/dist/entities/join-request.js.map +1 -0
  133. package/dist/entities/member.d.ts +24 -0
  134. package/dist/entities/member.d.ts.map +1 -0
  135. package/dist/entities/member.js +25 -0
  136. package/dist/entities/member.js.map +1 -0
  137. package/dist/entities/message-link.d.ts +10 -0
  138. package/dist/entities/message-link.d.ts.map +1 -0
  139. package/dist/entities/message-link.js +11 -0
  140. package/dist/entities/message-link.js.map +1 -0
  141. package/dist/entities/message.d.ts +19 -0
  142. package/dist/entities/message.d.ts.map +1 -1
  143. package/dist/entities/message.js +4 -0
  144. package/dist/entities/message.js.map +1 -1
  145. package/dist/entities/poll-vote.d.ts +11 -0
  146. package/dist/entities/poll-vote.d.ts.map +1 -0
  147. package/dist/entities/poll-vote.js +12 -0
  148. package/dist/entities/poll-vote.js.map +1 -0
  149. package/dist/entities/topic.d.ts +14 -0
  150. package/dist/entities/topic.d.ts.map +1 -0
  151. package/dist/entities/topic.js +15 -0
  152. package/dist/entities/topic.js.map +1 -0
  153. package/dist/mcp/instructions.d.ts.map +1 -1
  154. package/dist/mcp/instructions.js +3 -2
  155. package/dist/mcp/instructions.js.map +1 -1
  156. package/dist/mcp/tools/admin.d.ts.map +1 -1
  157. package/dist/mcp/tools/admin.js +41 -39
  158. package/dist/mcp/tools/admin.js.map +1 -1
  159. package/dist/mcp/tools/chats-read.d.ts.map +1 -1
  160. package/dist/mcp/tools/chats-read.js +4 -2
  161. package/dist/mcp/tools/chats-read.js.map +1 -1
  162. package/dist/mcp/tools/chats.d.ts.map +1 -1
  163. package/dist/mcp/tools/chats.js +77 -84
  164. package/dist/mcp/tools/chats.js.map +1 -1
  165. package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
  166. package/dist/mcp/tools/contacts-write.js +4 -2
  167. package/dist/mcp/tools/contacts-write.js.map +1 -1
  168. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  169. package/dist/mcp/tools/contacts.js +55 -30
  170. package/dist/mcp/tools/contacts.js.map +1 -1
  171. package/dist/mcp/tools/folders.d.ts.map +1 -1
  172. package/dist/mcp/tools/folders.js +12 -11
  173. package/dist/mcp/tools/folders.js.map +1 -1
  174. package/dist/mcp/tools/messages.d.ts.map +1 -1
  175. package/dist/mcp/tools/messages.js +74 -59
  176. package/dist/mcp/tools/messages.js.map +1 -1
  177. package/dist/mcp/tools/moderation.d.ts.map +1 -1
  178. package/dist/mcp/tools/moderation.js +5 -3
  179. package/dist/mcp/tools/moderation.js.map +1 -1
  180. package/dist/mcp/tools/polls.d.ts.map +1 -1
  181. package/dist/mcp/tools/polls.js +31 -14
  182. package/dist/mcp/tools/polls.js.map +1 -1
  183. package/dist/mcp/tools/reactions.d.ts.map +1 -1
  184. package/dist/mcp/tools/reactions.js +4 -2
  185. package/dist/mcp/tools/reactions.js.map +1 -1
  186. package/dist/mcp/tools/topics.d.ts.map +1 -1
  187. package/dist/mcp/tools/topics.js +30 -20
  188. package/dist/mcp/tools/topics.js.map +1 -1
  189. package/dist/services/admin.js +2 -2
  190. package/dist/services/admin.js.map +1 -1
  191. package/dist/services/chats.d.ts +6 -20
  192. package/dist/services/chats.d.ts.map +1 -1
  193. package/dist/services/chats.js +6 -43
  194. package/dist/services/chats.js.map +1 -1
  195. package/dist/services/document-pictures.d.ts +26 -0
  196. package/dist/services/document-pictures.d.ts.map +1 -0
  197. package/dist/services/document-pictures.js +37 -0
  198. package/dist/services/document-pictures.js.map +1 -0
  199. package/dist/services/index.d.ts +3 -2
  200. package/dist/services/index.d.ts.map +1 -1
  201. package/dist/services/index.js +2 -1
  202. package/dist/services/index.js.map +1 -1
  203. package/dist/services/messages.d.ts +2 -0
  204. package/dist/services/messages.d.ts.map +1 -1
  205. package/dist/services/messages.js +1 -0
  206. package/dist/services/messages.js.map +1 -1
  207. package/dist/services/notes-search.d.ts +14 -1
  208. package/dist/services/notes-search.d.ts.map +1 -1
  209. package/dist/services/notes-search.js +46 -1
  210. package/dist/services/notes-search.js.map +1 -1
  211. package/dist/services/people.d.ts +1 -1
  212. package/dist/services/people.d.ts.map +1 -1
  213. package/dist/services/people.js +0 -18
  214. package/dist/services/people.js.map +1 -1
  215. package/dist/speech/hearing.d.ts +3 -0
  216. package/dist/speech/hearing.d.ts.map +1 -1
  217. package/dist/speech/hearing.js +16 -0
  218. package/dist/speech/hearing.js.map +1 -1
  219. package/dist/store/sqlite/document-pictures.d.ts +29 -0
  220. package/dist/store/sqlite/document-pictures.d.ts.map +1 -0
  221. package/dist/store/sqlite/document-pictures.js +81 -0
  222. package/dist/store/sqlite/document-pictures.js.map +1 -0
  223. package/dist/store/sqlite/entity-types.d.ts +1 -0
  224. package/dist/store/sqlite/entity-types.d.ts.map +1 -1
  225. package/dist/store/sqlite/entity-types.js +1 -0
  226. package/dist/store/sqlite/entity-types.js.map +1 -1
  227. package/dist/store/sqlite/note-index.d.ts.map +1 -1
  228. package/dist/store/sqlite/note-index.js +3 -0
  229. package/dist/store/sqlite/note-index.js.map +1 -1
  230. package/dist/store/sqlite/note-search.d.ts +2 -1
  231. package/dist/store/sqlite/note-search.d.ts.map +1 -1
  232. package/dist/store/sqlite/note-search.js +2 -0
  233. package/dist/store/sqlite/note-search.js.map +1 -1
  234. package/package.json +1 -1
  235. package/parity.json +10 -77
  236. package/dist/cli/messenger/after.d.ts +0 -20
  237. package/dist/cli/messenger/after.d.ts.map +0 -1
  238. package/dist/cli/messenger/after.js +0 -27
  239. package/dist/cli/messenger/after.js.map +0 -1
@@ -1,18 +1,22 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
+ import { annotate } from "@wirecat/cli-base/commands";
2
3
  import { Command } from "commander";
3
4
  import { isLocator, parseLocator } from "../../domain/locator.js";
4
5
  import { SAVE_HELP } from "../../meetings/index.js";
5
6
  import { renderMessages } from "../../render/messages.js";
6
7
  import { renderThreadLinks } from "../../render/thread-context.js";
7
8
  import { readMail } from "../../services/mail-search.js";
8
- import { modelWith } from "../../speech/hearing.js";
9
- import { listed, positiveCount } from "../paging.js";
10
- import { listStart } from "./after.js";
9
+ import { modelWith, spoken } from "../../speech/hearing.js";
10
+ import { itemOf, listOf, renderAnswer } from "../envelope.js";
11
+ import { positiveCount } from "../paging.js";
11
12
  import { syncCommand } from "./backfill-command.js";
12
13
  import { messengerContext } from "./context.js";
13
14
  import { linksCommand } from "./conversations-command.js";
14
15
  import { downloadSubcommand } from "./download-command.js";
15
- import { heardItems, hearForCommand, hearingFields, MODEL_OPTION, spokenItems, TRANSCRIBE_OPTION, } from "./hearing-command.js";
16
+ import { heardItems, hearForCommand, hearingMissing, MODEL_OPTION, spokenItems, TRANSCRIBE_OPTION, } from "./hearing-command.js";
17
+ import { cursorOf, HISTORY_QUERY, historyWindow } from "./history-query.js";
18
+ import { queryHelp } from "./list-query.js";
19
+ import { messageItem, messageItems, viewOf } from "./message-items.js";
16
20
  import { commentsCommand } from "./messages-comments-command.js";
17
21
  import { deleteCommand } from "./messages-delete-command.js";
18
22
  import { editCommand } from "./messages-edit-command.js";
@@ -29,103 +33,81 @@ import { transcribeSubcommand } from "./transcribe-command.js";
29
33
  export const messagesCommand = (messenger) => {
30
34
  const messages = new Command("messages").description("read and send messages");
31
35
  messages.addCommand(evidenceCommand(messenger));
32
- messages
36
+ const list = messages
33
37
  .command("list")
34
38
  .description("a chat's messages, oldest to newest")
35
39
  .addHelpText("after", SAVE_HELP)
40
+ .addHelpText("after", queryHelp(HISTORY_QUERY))
36
41
  .argument("<chat>", messenger.chatArgument)
42
+ .argument("[query...]", "where to start and which topic: id<42, date>2026-10-01, topic:12")
37
43
  .option("--limit <n>", "how many", positiveCount("--limit"))
38
- .option("--before-id <id>", "only messages older than this message id")
39
- .option("--before-time <time>", "only messages older than this ISO 8601 time, or 2h / 1d ago")
40
- .option("--after-id <id>", "only messages newer than this message id")
41
- .option("--after-time <time>", "only messages newer than this ISO 8601 time, or 2h / 1d ago")
42
- .option("--topic <id>", "only this forum topic; read back from its newest message or --before-id")
44
+ .option("--cursor <cursor>", "go on from where the last page stopped; page.next gives it")
43
45
  .option(...TRANSCRIBE_OPTION)
44
46
  .option(...MODEL_OPTION)
45
47
  .option("--mark-read", "also mark the chat read up to the newest message shown; the other person sees it")
46
- .action(async function (chat) {
48
+ .action(async function (chat, query) {
47
49
  const context = messengerContext(this, messenger);
48
- const { beforeId, beforeTime, afterId, afterTime, topic, transcribe, model, markRead } = this.opts();
49
- const start = listStart({ beforeId, beforeTime, afterId, afterTime });
50
+ const { cursor, transcribe, model, markRead } = this.opts();
51
+ const window = historyWindow(query, cursor, "messages list");
50
52
  const hearWith = modelWith(transcribe, model);
51
- if (markRead && topic !== undefined) {
53
+ if (markRead && window.threadId !== undefined) {
52
54
  throw new CliError("validation_error", "--mark-read marks the whole chat; use `chats mark-read --topic` for one");
53
55
  }
54
56
  if (markRead && context.settings.offline) {
55
57
  throw new CliError("validation_error", "--mark-read tells the messenger; not with --offline");
56
58
  }
57
59
  const { limit } = context.settings;
58
- const { page, hearing, marked } = await context.withServices(async (services, connect) => {
59
- const page = await services.messages.list(chat, {
60
- limit,
61
- ...start,
62
- ...(topic === undefined ? {} : { threadId: topic }),
63
- });
60
+ const { page, hearing, marked, reader } = await context.withServices(async (services, connect) => {
61
+ const page = await services.messages.list(chat, { limit, ...window });
62
+ const reader = await services.messages.reader();
64
63
  const newest = page.items.at(-1);
65
64
  const marked = markRead && newest ? await services.chats.markRead({ chat, until: newest.id }) : undefined;
66
65
  const hearing = await hearForCommand(context, messenger, page.items, transcribe === true, hearWith, connect);
67
- return { page, hearing, marked };
66
+ return { page, hearing, marked, reader };
68
67
  });
69
68
  if (marked)
70
- context.renderer.note(`marked read up to ${marked.until}`);
71
- const next = (items) => start.after === undefined
72
- ? `older messages: --before-id ${items[0]?.id}`
73
- : `newer messages: --after-id ${items.at(-1)?.id}`;
74
- if (context.format === "pretty") {
75
- // Straight to stdout: the pretty renderer keeps every string to one line, and a feed is many.
76
- context.streams.data(renderMessages(spokenItems(page.items, hearing), {
77
- color: context.color,
78
- verbosity: context.settings.detail,
79
- senderColors: context.settings.senderColors,
80
- profile: context.profile,
81
- provider: messenger.provider,
82
- locale: messenger.app.locale,
83
- }));
84
- if (page.hasMore)
85
- context.renderer.note(next(page.items));
86
- return;
87
- }
88
- if (context.format === "jsonl") {
89
- context.renderer.stream(heardItems(page.items, hearing));
90
- if (page.hasMore)
91
- context.renderer.note(next(page.items));
92
- return;
93
- }
94
- context.renderer.result({
95
- items: heardItems(page.items, hearing),
96
- page: 1,
69
+ context.renderer.note(`marked read up to ${marked.until} (operation ${marked.operationId})`);
70
+ const next = page.hasMore
71
+ ? cursorOf(window, { first: page.items[0]?.id, last: page.items.at(-1)?.id })
72
+ : undefined;
73
+ renderAnswer(this, context, listOf("messages list", {
74
+ items: messageItems(heardItems(page.items, hearing), reader),
97
75
  limit,
98
- hasMore: page.hasMore,
99
- ...hearingFields(hearing, transcribe === true),
100
- ...(marked ? { markedRead: { operationId: marked.operationId, until: marked.until } } : {}),
101
- });
76
+ has_more: page.hasMore,
77
+ ...(next === undefined ? {} : { cursor: next }),
78
+ args: { chat, ...(query.length > 0 ? { query: query.join(" ") } : {}) },
79
+ missing: hearingMissing(hearing, transcribe === true),
80
+ }), () => renderMessages(spokenItems(page.items, hearing), viewOf(context, messenger)));
102
81
  });
82
+ annotate(list, { output: { entity: "message" }, query: HISTORY_QUERY });
103
83
  const readWindow = async (command, chat, message, window) => {
104
84
  const context = messengerContext(command, messenger);
105
85
  const target = targetOf(messenger, chat, message);
106
- const found = await context.withServices((services) => services.messages.around(isLocator(chat) ? chat : target.chat, isLocator(chat) ? undefined : target.message, window));
86
+ const { found, reader } = await context.withServices(async (services) => ({
87
+ found: await services.messages.around(isLocator(chat) ? chat : target.chat, isLocator(chat) ? undefined : target.message, window),
88
+ reader: await services.messages.reader(),
89
+ }));
107
90
  const hearing = await hearForCommand(context, messenger, found, false);
108
- printWindow(context, context.format === "pretty" ? spokenItems(found, hearing) : heardItems(found, hearing), window);
91
+ printWindow(command, context, heardItems(found, hearing), reader, window);
109
92
  };
110
93
  const readMailWindow = async (command, locator, window) => {
111
94
  const context = messengerContext(command, messenger);
112
- printWindow(context, await context.withStore((store) => readMail(store, locator, window)), window);
95
+ const found = await context.withStore((store) => readMail(store, locator, window));
96
+ printWindow(command, context, found, parseLocator(locator), window);
113
97
  };
114
- const printWindow = (context, found, window) => {
115
- if (context.format === "pretty") {
116
- context.streams.data(renderMessages(found, {
117
- color: context.color,
118
- verbosity: context.settings.detail,
119
- senderColors: context.settings.senderColors,
120
- profile: context.profile,
121
- provider: messenger.provider,
122
- locale: messenger.app.locale,
123
- }));
98
+ const printWindow = (command, context, found, reader, window) => {
99
+ const view = () => renderMessages(found.map(spoken), viewOf(context, messenger));
100
+ if (window.before === 0 && window.after === 0) {
101
+ const one = found.find((item) => item.anchor) ?? found[0];
102
+ if (!one)
103
+ throw new CliError("not_found", "no such message");
104
+ return renderAnswer(command, context, itemOf(messageItem(one, reader)), view);
124
105
  }
125
- else if (context.format === "jsonl")
126
- context.renderer.stream(found);
127
- else
128
- context.renderer.result(window.before === 0 && window.after === 0 ? found[0] : listed(found));
106
+ renderAnswer(command, context, listOf("messages context", {
107
+ items: messageItems(found, reader),
108
+ limit: window.before + window.after + 1,
109
+ has_more: false,
110
+ }), view);
129
111
  };
130
112
  messages.addCommand(sendCommand(messenger));
131
113
  messages
@@ -165,14 +147,7 @@ export const messagesCommand = (messenger) => {
165
147
  if (found.stopped.length)
166
148
  context.renderer.note(`thread context stopped: ${found.stopped.join(", ")}`);
167
149
  if (context.format === "pretty") {
168
- context.streams.data(renderMessages(found.items, {
169
- color: context.color,
170
- verbosity: context.settings.detail,
171
- senderColors: context.settings.senderColors,
172
- profile: context.profile,
173
- provider: messenger.provider,
174
- locale: messenger.app.locale,
175
- }));
150
+ context.streams.data(renderMessages(found.items, viewOf(context, messenger)));
176
151
  const links = renderThreadLinks(found);
177
152
  if (links)
178
153
  context.streams.data(`\n${links}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"messages-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-comments-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-comments-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OA6BjD,CAAA"}
1
+ {"version":3,"file":"messages-comments-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-comments-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAK/D,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OAsCtD,CAAA"}
@@ -1,34 +1,45 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { annotate } from "@wirecat/cli-base/commands";
1
3
  import { Command } from "commander";
2
4
  import { renderMessages } from "../../render/messages.js";
5
+ import { listOf, renderAnswer } from "../envelope.js";
3
6
  import { positiveCount } from "../paging.js";
4
7
  import { messengerContext } from "./context.js";
5
- export const commentsCommand = (messenger) => new Command("comments")
6
- .description("the comments under a channel post, oldest to newest; they live in its discussion group")
7
- .argument("<chat>", `the channel: ${messenger.chatArgument}`)
8
- .argument("<post>", "the post's message id in the channel")
9
- .option("--limit <n>", "how many", positiveCount("--limit"))
10
- .option("--before-id <id>", "only comments older than this comment id")
11
- .action(async function (chat, post) {
12
- const context = messengerContext(this, messenger);
13
- const { beforeId } = this.opts();
14
- const { limit } = context.settings;
15
- const found = await context.withServices((services) => services.messages.comments(chat, post, { limit, ...(beforeId === undefined ? {} : { before: beforeId }) }));
16
- const more = `older comments: --before-id ${found.items[0]?.id}`;
17
- if (context.format === "pretty") {
18
- context.streams.data(renderMessages(found.items, {
19
- color: context.color,
20
- verbosity: context.settings.detail,
21
- senderColors: context.settings.senderColors,
22
- profile: context.profile,
23
- provider: messenger.provider,
24
- locale: messenger.app.locale,
8
+ import { COMMENTS_QUERY, cursorOf, historyWindow } from "./history-query.js";
9
+ import { queryHelp } from "./list-query.js";
10
+ import { messageItems, viewOf } from "./message-items.js";
11
+ export const commentsCommand = (messenger) => {
12
+ const command = new Command("comments")
13
+ .description("the comments under a channel post, oldest to newest; they live in its discussion group")
14
+ .addHelpText("after", queryHelp(COMMENTS_QUERY))
15
+ .argument("<chat>", `the channel: ${messenger.chatArgument}`)
16
+ .argument("<post>", "the post's message id in the channel")
17
+ .argument("[query...]", "where to start: id<42")
18
+ .option("--limit <n>", "how many", positiveCount("--limit"))
19
+ .option("--cursor <cursor>", "go on from where the last page stopped; page.next gives it")
20
+ .action(async function (chat, post, query) {
21
+ const context = messengerContext(this, messenger);
22
+ const { cursor } = this.opts();
23
+ const window = historyWindow(query, cursor, "messages comments", COMMENTS_QUERY);
24
+ if (window.after !== undefined || window.beforeTime !== undefined)
25
+ throw new CliError("validation_error", "comments are read back from the newest: id< only");
26
+ const { limit } = context.settings;
27
+ const { found, reader } = await context.withServices(async (services) => ({
28
+ found: await services.messages.comments(chat, post, {
29
+ limit,
30
+ ...(window.before === undefined ? {} : { before: window.before }),
31
+ }),
32
+ reader: await services.messages.reader(),
25
33
  }));
26
- }
27
- else if (context.format === "jsonl")
28
- context.renderer.stream(found.items);
29
- else
30
- context.renderer.result({ discussion: found.discussion, items: found.items, hasMore: found.hasMore });
31
- if (found.hasMore)
32
- context.renderer.note(more);
33
- });
34
+ const next = found.hasMore ? cursorOf(window, { first: found.items[0]?.id }) : undefined;
35
+ renderAnswer(this, context, listOf("messages comments", {
36
+ items: messageItems(found.items, reader),
37
+ limit,
38
+ has_more: found.hasMore,
39
+ ...(next === undefined ? {} : { cursor: next }),
40
+ args: { chat, post, ...(query.length > 0 ? { query: query.join(" ") } : {}) },
41
+ }), () => renderMessages(found.items, viewOf(context, messenger)));
42
+ });
43
+ return annotate(command, { output: { entity: "message" }, query: COMMENTS_QUERY });
44
+ };
34
45
  //# sourceMappingURL=messages-comments-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-comments-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-comments-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAW,EAAE,CAC/D,IAAI,OAAO,CAAC,UAAU,CAAC;KACpB,WAAW,CAAC,wFAAwF,CAAC;KACrG,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,SAAS,CAAC,YAAY,EAAE,CAAC;KAC5D,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;KAC1D,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;KAC3D,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;KACtE,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,IAAY;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,EAAyB,CAAA;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAC3G,CAAA;IACD,MAAM,IAAI,GAAG,+BAA+B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAA;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,IAAI,CAClB,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;;QACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1G,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"messages-comments-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-comments-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-link-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-link-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,kBAAkB,cAAe,SAAS,KAAG,OAcpD,CAAA"}
1
+ {"version":3,"file":"messages-link-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-link-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,kBAAkB,cAAe,SAAS,KAAG,OAezD,CAAA"}
@@ -1,17 +1,19 @@
1
+ import { annotate } from "@wirecat/cli-base/commands";
1
2
  import { Command } from "commander";
3
+ import { itemOf, renderAnswer } from "../envelope.js";
2
4
  import { messengerContext } from "./context.js";
3
- export const messageLinkCommand = (messenger) => new Command("link")
4
- .description("a message permalink when supported, and its account-scoped locator")
5
- .argument("<chat>", `${messenger.chatArgument}; or a msg: locator, with no message id after it`)
6
- .argument("[message]", "the message id")
7
- .action(async function (chat, message) {
8
- const context = messengerContext(this, messenger);
9
- const result = await context.withServices((services) => services.messages.link(chat, message));
10
- if (context.format === "pretty") {
11
- context.renderer.result(result.url ?? result.locator);
12
- context.renderer.note(result.url ? `link access: ${result.access}; a link grants no membership` : `no permalink: ${result.reason}`);
13
- }
14
- else
15
- context.renderer.result(result);
16
- });
5
+ export const messageLinkCommand = (messenger) => {
6
+ const command = new Command("link")
7
+ .description("a message permalink when supported, and its account-scoped locator")
8
+ .argument("<chat>", `${messenger.chatArgument}; or a msg: locator, with no message id after it`)
9
+ .argument("[message]", "the message id")
10
+ .action(async function (chat, message) {
11
+ const context = messengerContext(this, messenger);
12
+ const { locator, ...link } = await context.withServices((services) => services.messages.link(chat, message));
13
+ if (context.format === "pretty")
14
+ context.renderer.note(link.url ? `link access: ${link.access}; a link grants no membership` : `no permalink: ${link.reason}`);
15
+ renderAnswer(this, context, itemOf({ ref: locator, ...link }), () => `${link.url ?? locator}\n`);
16
+ });
17
+ return annotate(command, { output: { entity: "message_link" } });
18
+ };
17
19
  //# sourceMappingURL=messages-link-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-link-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-link-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAoB,EAAW,EAAE,CAClE,IAAI,OAAO,CAAC,MAAM,CAAC;KAChB,WAAW,CAAC,oEAAoE,CAAC;KACjF,QAAQ,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,YAAY,kDAAkD,CAAC;KAC/F,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,OAA2B;IAC9E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;QACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAC7G,CAAA;IACH,CAAC;;QAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"messages-link-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-link-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAoB,EAAW,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAChC,WAAW,CAAC,oEAAoE,CAAC;SACjF,QAAQ,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,YAAY,kDAAkD,CAAC;SAC/F,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,OAA2B;QAC9E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5G,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,CACvG,CAAA;QACH,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,CAAA;IAClG,CAAC,CAAC,CAAA;IACJ,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages-scheduled-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAG/D,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,cAAe,SAAS,KAAG,OA6BlD,CAAA"}
1
+ {"version":3,"file":"messages-scheduled-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,cAAe,SAAS,KAAG,OA2BvD,CAAA"}
@@ -1,32 +1,29 @@
1
+ import { annotate } from "@wirecat/cli-base/commands";
1
2
  import { Command } from "commander";
2
3
  import { renderMessages } from "../../render/messages.js";
3
- import { listed } from "../paging.js";
4
+ import { listOf, renderAnswer } from "../envelope.js";
4
5
  import { messengerContext } from "./context.js";
6
+ import { messageItems, selfOf, viewOf } from "./message-items.js";
5
7
  import { capability } from "./port.js";
6
8
  /** Where to look after a scheduled send ended without an answer: repeating it would schedule a second one. */
7
- export const scheduledCommand = (messenger) => new Command("scheduled")
8
- .description("messages waiting to be sent later in a chat, soonest first; cancel one in the app")
9
- .argument("<chat>", messenger.chatArgument)
10
- .action(async function (chat) {
11
- const context = messengerContext(this, messenger);
12
- const items = await context.withMessenger((connection) => capability(connection, "scheduled", "list scheduled messages")(chat));
13
- if (context.format === "pretty") {
14
- if (items.length === 0)
15
- context.renderer.note("nothing scheduled");
16
- else
17
- context.streams.data(renderMessages(items.map((one) => ({ ...one, timestamp: one.scheduledFor ?? one.timestamp })), {
18
- color: context.color,
19
- verbosity: context.settings.detail,
20
- senderColors: context.settings.senderColors,
21
- profile: context.profile,
22
- provider: messenger.provider,
23
- locale: messenger.app.locale,
24
- }));
25
- return;
26
- }
27
- if (context.format === "jsonl")
28
- context.renderer.stream(items);
29
- else
30
- context.renderer.result(listed(items));
31
- });
9
+ export const scheduledCommand = (messenger) => {
10
+ const command = new Command("scheduled")
11
+ .description("messages waiting to be sent later in a chat, soonest first; cancel one in the app")
12
+ .argument("<chat>", messenger.chatArgument)
13
+ .action(async function (chat) {
14
+ const context = messengerContext(this, messenger);
15
+ const { items, reader } = await context.withMessenger(async (connection) => ({
16
+ items: await capability(connection, "scheduled", "list scheduled messages")(chat),
17
+ reader: selfOf(messenger, connection),
18
+ }));
19
+ if (context.format === "pretty" && items.length === 0)
20
+ return context.renderer.note("nothing scheduled");
21
+ renderAnswer(this, context, listOf("messages scheduled", {
22
+ items: messageItems(items, reader),
23
+ limit: Math.max(items.length, 1),
24
+ has_more: false,
25
+ }), () => renderMessages(items.map((one) => ({ ...one, timestamp: one.scheduledFor ?? one.timestamp })), viewOf(context, messenger)));
26
+ });
27
+ return annotate(command, { output: { entity: "message" } });
28
+ };
32
29
  //# sourceMappingURL=messages-scheduled-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-scheduled-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,8GAA8G;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAW,EAAE,CAChE,IAAI,OAAO,CAAC,WAAW,CAAC;KACrB,WAAW,CAAC,mFAAmF,CAAC;KAChG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;KAC1C,MAAM,CAAC,KAAK,WAA0B,IAAY;IACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACvD,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,CACrE,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;;YAEhE,OAAO,CAAC,OAAO,CAAC,IAAI,CAClB,cAAc,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAC9E;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;aAC7B,CACF,CACF,CAAA;QACH,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;;QACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"messages-scheduled-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/messages-scheduled-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,8GAA8G;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;SACrC,WAAW,CAAC,mFAAmF,CAAC;SAChG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;SAC1C,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3E,KAAK,EAAE,MAAM,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC;YACjF,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;SACtC,CAAC,CAAC,CAAA;QACH,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACxG,YAAY,CACV,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,oBAAoB,EAAE;YAC3B,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,KAAK;SAChB,CAAC,EACF,GAAG,EAAE,CACH,cAAc,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAC9E,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAC3B,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IACJ,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { QueryRegistry } from "@wirecat/cli-base/query";
2
+ /** The store matches `name:` against the name, the local alias and the @username at once; nothing else is filtered. */
3
+ export declare const CONTACTS_QUERY: QueryRegistry;
4
+ /** The messenger keeps the voters of one answer; one answer id at a time. */
5
+ export declare const VOTERS_QUERY: QueryRegistry;
6
+ //# sourceMappingURL=people-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"people-queries.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/people-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAI5D,uHAAuH;AACvH,eAAO,MAAM,cAAc,EAAE,aAI5B,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { queryFieldsOf } from "@wirecat/cli-base/query";
2
+ import { contact, pollVote } from "../../entities/index.js";
3
+ /** The store matches `name:` against the name, the local alias and the @username at once; nothing else is filtered. */
4
+ export const CONTACTS_QUERY = {
5
+ entity: "contact",
6
+ backend: "native",
7
+ fields: queryFieldsOf(contact, { native: ["name"], text: ["name"], examples: { name: "name:ana*" } }),
8
+ };
9
+ /** The messenger keeps the voters of one answer; one answer id at a time. */
10
+ export const VOTERS_QUERY = {
11
+ entity: "poll_vote",
12
+ backend: "native",
13
+ fields: queryFieldsOf(pollVote, { native: ["answers"], examples: { answers: "answers:0" } }),
14
+ };
15
+ //# sourceMappingURL=people-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"people-queries.js","sourceRoot":"","sources":["../../../src/cli/messenger/people-queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE3D,uHAAuH;AACvH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;CACtG,CAAA;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;CAC7F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"polls-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/polls-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAI/D;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAmKnD,CAAA"}
1
+ {"version":3,"file":"polls-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/polls-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAenC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAK/D;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAuLnD,CAAA"}