@leemour/cli-messaging 0.49.0 → 0.51.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 (60) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts +2 -1
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +1 -0
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/messenger/archive-commands.d.ts.map +1 -1
  7. package/dist/cli/messenger/archive-commands.js +1 -1
  8. package/dist/cli/messenger/archive-commands.js.map +1 -1
  9. package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
  10. package/dist/cli/messenger/backfill-command.js +1 -1
  11. package/dist/cli/messenger/backfill-command.js.map +1 -1
  12. package/dist/cli/messenger/context.d.ts +5 -0
  13. package/dist/cli/messenger/context.d.ts.map +1 -1
  14. package/dist/cli/messenger/context.js +43 -4
  15. package/dist/cli/messenger/context.js.map +1 -1
  16. package/dist/cli/messenger/messages-command.d.ts +1 -3
  17. package/dist/cli/messenger/messages-command.d.ts.map +1 -1
  18. package/dist/cli/messenger/messages-command.js +8 -35
  19. package/dist/cli/messenger/messages-command.js.map +1 -1
  20. package/dist/cli/messenger/messages-delete-command.d.ts +2 -7
  21. package/dist/cli/messenger/messages-delete-command.d.ts.map +1 -1
  22. package/dist/cli/messenger/messages-delete-command.js.map +1 -1
  23. package/dist/cli/messenger/polls-command.d.ts +29 -0
  24. package/dist/cli/messenger/polls-command.d.ts.map +1 -0
  25. package/dist/cli/messenger/polls-command.js +98 -0
  26. package/dist/cli/messenger/polls-command.js.map +1 -0
  27. package/dist/cli/messenger/port.d.ts +18 -1
  28. package/dist/cli/messenger/port.d.ts.map +1 -1
  29. package/dist/cli/messenger/port.js.map +1 -1
  30. package/dist/domain/models.d.ts +20 -0
  31. package/dist/domain/models.d.ts.map +1 -1
  32. package/dist/mcp/tools/messages.d.ts.map +1 -1
  33. package/dist/mcp/tools/messages.js +13 -15
  34. package/dist/mcp/tools/messages.js.map +1 -1
  35. package/dist/mcp/tools/polls.d.ts +6 -0
  36. package/dist/mcp/tools/polls.d.ts.map +1 -0
  37. package/dist/mcp/tools/polls.js +73 -0
  38. package/dist/mcp/tools/polls.js.map +1 -0
  39. package/dist/mcp/tools.d.ts.map +1 -1
  40. package/dist/mcp/tools.js +3 -0
  41. package/dist/mcp/tools.js.map +1 -1
  42. package/dist/services/deps.d.ts +24 -0
  43. package/dist/services/deps.d.ts.map +1 -0
  44. package/dist/services/deps.js +30 -0
  45. package/dist/services/deps.js.map +1 -0
  46. package/dist/services/index.d.ts +11 -0
  47. package/dist/services/index.d.ts.map +1 -0
  48. package/dist/services/index.js +5 -0
  49. package/dist/services/index.js.map +1 -0
  50. package/dist/services/messages.d.ts +31 -0
  51. package/dist/services/messages.d.ts.map +1 -0
  52. package/dist/services/messages.js +52 -0
  53. package/dist/services/messages.js.map +1 -0
  54. package/dist/speech/hearing.d.ts.map +1 -1
  55. package/dist/speech/hearing.js +9 -0
  56. package/dist/speech/hearing.js.map +1 -1
  57. package/dist/speech/recognize.d.ts.map +1 -1
  58. package/dist/speech/recognize.js +3 -1
  59. package/dist/speech/recognize.js.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +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;AACnC,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAEtF;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAyFnD,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,WAAW,UACf,SAAS,cACJ,gBAAgB,8BACA;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,EAAE,EAAE,CAAA;CAAE,KAC3E,OAAO,CAAC,IAAI,CAId,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,UAChB,SAAS,cACJ,gBAAgB,qBACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KACnD,OAAO,CAAC,IAAI,CAId,CAAA;AAED,oHAAoH;AACpH,eAAO,MAAM,iBAAiB,UACrB,SAAS,cACJ,gBAAgB,kCACI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAChG,OAAO,CAAC,IAAI,CAWd,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { CliError } from "@leemour/cli-core";
2
+ import { annotate } from "@leemour/cli-core/commands";
3
+ import { Command } from "commander";
4
+ import { guardedWrite } from "../../sends/guarded.js";
5
+ import { newSendId } from "../../sends/send-id.js";
6
+ import { messengerContext } from "./context.js";
7
+ import { capability } from "./port.js";
8
+ /**
9
+ * `polls show|vote|close|create`. An answer is named by its id, as `polls show` prints it — never by
10
+ * position, which changes nothing for a person and everything for a vote.
11
+ */
12
+ export const pollsCommand = (messenger) => {
13
+ const polls = new Command("polls").description("read a poll, vote in it, close your own, create one");
14
+ polls
15
+ .command("show")
16
+ .description("a poll and its answer ids, as the message carries it now")
17
+ .argument("<chat>", messenger.chatArgument)
18
+ .argument("<message>", "the id of the message that carries the poll")
19
+ .action(async function (chat, message) {
20
+ const context = messengerContext(this, messenger);
21
+ context.renderer.result(await context.withMessenger(async (connection) => {
22
+ const poll = capability(connection, "poll", "read a poll");
23
+ return poll((await connection.resolve(chat)).id, message.trim());
24
+ }));
25
+ });
26
+ annotate(polls.command("vote"), { mutates: true })
27
+ .description("vote in a poll, or take your vote back; the others see it unless the poll is anonymous")
28
+ .argument("<chat>", messenger.chatArgument)
29
+ .argument("<message>", "the id of the message that carries the poll")
30
+ .argument("[answers...]", "answer ids, as `polls show` prints them")
31
+ .option("--retract", "take your vote back")
32
+ .action(async function (chat, message, answers) {
33
+ const context = messengerContext(this, messenger);
34
+ const { retract } = this.opts();
35
+ if (retract && answers.length > 0) {
36
+ throw new CliError("validation_error", "`--retract` takes no answers: it removes the vote you have");
37
+ }
38
+ if (!retract && answers.length === 0) {
39
+ throw new CliError("validation_error", "name at least one answer id (`polls show` prints them), or pass --retract");
40
+ }
41
+ context.renderer.result(await context.withMessenger((connection) => guardedVote(context.guard, connection, {
42
+ chat,
43
+ message: message.trim(),
44
+ answers: answers.map((a) => a.trim()),
45
+ })));
46
+ });
47
+ annotate(polls.command("close"), { mutates: true })
48
+ .description("close your own poll; nobody can vote after that, and it cannot be reopened")
49
+ .argument("<chat>", messenger.chatArgument)
50
+ .argument("<message>", "the id of your own message that carries the poll")
51
+ .action(async function (chat, message) {
52
+ const context = messengerContext(this, messenger);
53
+ context.renderer.result(await context.withMessenger((connection) => guardedClose(context.guard, connection, { chat, message: message.trim() })));
54
+ });
55
+ annotate(polls.command("create"), { mutates: true })
56
+ .description("send a poll to a chat, as a message of its own; public unless --anonymous")
57
+ .argument("<chat>", messenger.chatArgument)
58
+ .argument("<question>", "the question")
59
+ .argument("<answers...>", "two answers or more")
60
+ .option("--multiple", "people may pick several answers")
61
+ .option("--anonymous", "nobody sees who voted for what")
62
+ .option("--silent", "send without a notification")
63
+ .option("--send-id <id>", "repeat a create whose outcome was unknown, without risking a second poll")
64
+ .action(async function (chat, question, answers) {
65
+ const context = messengerContext(this, messenger);
66
+ const { multiple, anonymous, silent, sendId } = this.opts();
67
+ const sent = await context.withMessenger((connection) => guardedCreatePoll(context.guard, connection, {
68
+ chat,
69
+ poll: { question, answers, multiple: multiple === true, anonymous: anonymous === true },
70
+ silent: silent === true,
71
+ ...(sendId === undefined ? {} : { sendId }),
72
+ }));
73
+ context.renderer.result({ sendId: sent.sendId, message: sent.message });
74
+ });
75
+ return polls;
76
+ };
77
+ /** A vote is shown to the others like a reaction, and counts toward nothing. */
78
+ export const guardedVote = async (guard, connection, { chat, message, answers }) => {
79
+ const vote = capability(connection, "vote", "vote in a poll");
80
+ const { id: chatId } = await connection.resolve(chat);
81
+ return guardedWrite(guard, { chatId, kind: "reaction", messageId: message }, () => vote(chatId, message, answers));
82
+ };
83
+ /** Closing changes the owner's own message for everyone in the chat, like an edit. */
84
+ export const guardedClose = async (guard, connection, { chat, message }) => {
85
+ const close = capability(connection, "closePoll", "close a poll");
86
+ const { id: chatId } = await connection.resolve(chat);
87
+ return guardedWrite(guard, { chatId, kind: "edit", messageId: message }, () => close(chatId, message));
88
+ };
89
+ /** A new poll is a new message: the recipient list and the hourly limit apply, and a send id makes a retry safe. */
90
+ export const guardedCreatePoll = async (guard, connection, { chat, poll, silent, sendId }) => {
91
+ if (poll.answers.length < 2)
92
+ throw new CliError("validation_error", "a poll needs two answers or more");
93
+ const create = capability(connection, "createPoll", "create a poll");
94
+ const { id: chatId } = await connection.resolve(chat);
95
+ const id = sendId ?? newSendId();
96
+ return guardedWrite(guard, { chatId, kind: "message", sendId: id, length: poll.question.length }, () => create(chatId, poll, { sendId: id, ...(silent ? { silent } : {}) }), (done) => ({ messageId: done.message.id }));
97
+ };
98
+ //# sourceMappingURL=polls-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polls-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/polls-command.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Markup } from "../../domain/markdown.js";
2
- import type { Account, AccountSession, Chat, ChatCard, ChatEvents, GroupMember, Id, LinkTarget, Member, Message, MessageEvent, Page, PersonCard, Topic, WindowedMessage } from "../../domain/models.js";
2
+ import type { Account, AccountSession, Chat, ChatCard, ChatEvents, GroupMember, Id, LinkTarget, Member, Message, MessageEvent, Page, PersonCard, Poll, Topic, WindowedMessage } from "../../domain/models.js";
3
3
  import type { Upload } from "../../sends/upload.js";
4
4
  /** One attachment's bytes, fetched over the adapter's connection when `bytes` is read — so read it before the command closes. */
5
5
  export interface RemoteFile {
@@ -41,6 +41,13 @@ export type After = {
41
41
  } | {
42
42
  time: number;
43
43
  };
44
+ /** What `polls create` asks for. */
45
+ export interface NewPoll {
46
+ question: string;
47
+ answers: string[];
48
+ multiple: boolean;
49
+ anonymous: boolean;
50
+ }
44
51
  export interface Sent {
45
52
  message: Message;
46
53
  /** The send's identity. Repeat it after an unknown outcome, never a new one. */
@@ -105,6 +112,16 @@ export interface MessengerAdapter {
105
112
  delete?(chatId: Id, messageIds: Id[], options: {
106
113
  forEveryone: boolean;
107
114
  }): Promise<void>;
115
+ /** The poll one message carries; a message without one is `not_found`. */
116
+ poll?(chatId: Id, messageId: Id): Promise<Poll>;
117
+ /** The owner's vote, by answer ids; none takes it back. An id the poll does not have is refused. */
118
+ vote?(chatId: Id, messageId: Id, answerIds: Id[]): Promise<Poll>;
119
+ /** Only the owner's own poll; it cannot be reopened. */
120
+ closePoll?(chatId: Id, messageId: Id): Promise<Poll>;
121
+ createPoll?(chatId: Id, poll: NewPoll, options: {
122
+ sendId: string;
123
+ silent?: boolean;
124
+ }): Promise<Sent>;
108
125
  /**
109
126
  * New messages and changes to messages as they arrive, until `signal` aborts. `onReady` once it is
110
127
  * actually listening — a caller that sends on "listening" must not race the connection. Only on a
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AA+I5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAuB,EACvB,OAAyB,EACzB,IAAI,GAA6E,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAChF,EAAE,CACpB,IAAI,KAAK,CAAC,OAAO,EAAE;IACjB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAA6B,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAA6B,CAAY,CAAA;QAC7D,OAAO,OAAO,KAAK,KAAK,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAE,KAA+C,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK;CAC9C,CAAC,CAAA;AAEJ,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyB,EACzB,MAAS,EACT,IAAY,EACsB,EAAE;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACxG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAqC,CAAA;AAChE,CAAC,CAAA"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../src/cli/messenger/port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AA+J5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAuB,EACvB,OAAyB,EACzB,IAAI,GAA6E,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAChF,EAAE,CACpB,IAAI,KAAK,CAAC,OAAO,EAAE;IACjB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAA6B,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAA6B,CAAY,CAAA;QAC7D,OAAO,OAAO,KAAK,KAAK,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAE,KAA+C,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IACD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK;CAC9C,CAAC,CAAA;AAEJ,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyB,EACzB,MAAS,EACT,IAAY,EACsB,EAAE;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACxG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAqC,CAAA;AAChE,CAAC,CAAA"}
@@ -70,6 +70,26 @@ export interface Deletion {
70
70
  deleted: Id[];
71
71
  forEveryone: boolean;
72
72
  }
73
+ /** One answer of a poll. `id` is the provider's own, not a position: a vote names it. */
74
+ export interface PollAnswer {
75
+ id: Id;
76
+ text: string;
77
+ /** `null` until the owner has voted or the poll is closed — the provider does not say before. */
78
+ voters: number | null;
79
+ chosen: boolean;
80
+ }
81
+ /** A poll as the message that carries it has it now. */
82
+ export interface Poll {
83
+ chatId: Id;
84
+ messageId: Id;
85
+ question: string;
86
+ answers: PollAnswer[];
87
+ closed: boolean;
88
+ multiple: boolean;
89
+ /** Nobody sees who voted for what. */
90
+ anonymous: boolean;
91
+ voters: number | null;
92
+ }
73
93
  /** A chat marked read up to `messageId`, inclusive. `unread` is what the provider says is left, or `null`. */
74
94
  export interface ReadMark {
75
95
  chatId: Id;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/domain/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/domain/models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAA8C,MAAM,YAAY,CAAA;AAErF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAsG1E,CAAA"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAA8C,MAAM,YAAY,CAAA;AAErF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA+F1E,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import * as v from "valibot";
2
2
  import { afterOf, oneDirection } from "../../cli/messenger/after.js";
3
- import { storedChatId } from "../../cli/messenger/messages-command.js";
4
3
  import { capability } from "../../cli/messenger/port.js";
4
+ import { messagesService, onlineDeps, storedDeps } from "../../services/index.js";
5
5
  import { heard, hearForTool } from "../../speech/hearing.js";
6
6
  import { chatOf, limit, message, nameOf, READ, tool } from "../tool.js";
7
7
  export const messagesTools = (messenger) => {
@@ -24,15 +24,11 @@ export const messagesTools = (messenger) => {
24
24
  online: async (adapter, args, defaults) => {
25
25
  const size = args.limit ?? defaults.limit;
26
26
  oneDirection(args.before, args.after);
27
- const found = args.after === undefined
28
- ? await adapter.history(args.chat, {
29
- limit: size,
30
- ...(args.before === undefined ? {} : { before: args.before }),
31
- })
32
- : await capability(adapter, "historyAfter", "read forward from a message")(args.chat, {
33
- limit: size,
34
- after: afterOf(args.after, "after"),
35
- });
27
+ const found = await messagesService(onlineDeps(messenger, adapter, defaults.guard)).list(args.chat, {
28
+ limit: size,
29
+ ...(args.before === undefined ? {} : { before: args.before }),
30
+ ...(args.after === undefined ? {} : { after: afterOf(args.after, "after") }),
31
+ });
36
32
  const hearing = await hearForTool(messenger, adapter, found.items, args.transcribe === true, defaults);
37
33
  return {
38
34
  items: heard(found.items, hearing),
@@ -53,8 +49,11 @@ export const messagesTools = (messenger) => {
53
49
  after: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(100))),
54
50
  }),
55
51
  annotations: READ,
56
- online: async (adapter, args) => ({
57
- items: await adapter.around(args.chat, args.message, { before: args.before ?? 0, after: args.after ?? 0 }),
52
+ online: async (adapter, args, defaults) => ({
53
+ items: await messagesService(onlineDeps(messenger, adapter, defaults.guard)).around(args.chat, args.message, {
54
+ before: args.before ?? 0,
55
+ after: args.after ?? 0,
56
+ }),
58
57
  }),
59
58
  }),
60
59
  messages_scheduled: tool({
@@ -80,11 +79,10 @@ export const messagesTools = (messenger) => {
80
79
  annotations: { ...READ, openWorldHint: false },
81
80
  stored: async (store, account, args, defaults) => {
82
81
  const size = args.limit ?? defaults.limit;
83
- const found = await store.find({
82
+ const found = await messagesService(storedDeps(messenger, store, account, defaults.guard)).search({
84
83
  text: args.text,
85
- account,
86
84
  limit: size,
87
- ...(args.chat === undefined ? {} : { chatId: await storedChatId(messenger, args.chat, store, account) }),
85
+ ...(args.chat === undefined ? {} : { chat: args.chat }),
88
86
  });
89
87
  return { items: found.items, limit: size, hasMore: found.hasMore };
90
88
  },
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/mcp/tools/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/mcp/tools/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Messenger } from "../../cli/messenger/context.js";
2
+ import { type AnyTool } from "../tool.js";
3
+ export declare const pollReadTools: (messenger: Messenger) => Record<string, AnyTool>;
4
+ /** Offered with `--allow-send`, each under the permission its guard kind names. */
5
+ export declare const pollWriteTools: (messenger: Messenger) => Record<string, AnyTool>;
6
+ //# sourceMappingURL=polls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polls.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/polls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,YAAY,CAAA;AAItF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAWzE,CAAA;AAEF,mFAAmF;AACnF,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwD3E,CAAA"}
@@ -0,0 +1,73 @@
1
+ import * as v from "valibot";
2
+ import { guardedClose, guardedCreatePoll, guardedVote } from "../../cli/messenger/polls-command.js";
3
+ import { capability } from "../../cli/messenger/port.js";
4
+ import { APPROVE, chatOf, message, READ, tool, WRITE } from "../tool.js";
5
+ const answerId = v.pipe(v.string(), v.minLength(1), v.description("an answer id, as polls_show gives it"));
6
+ export const pollReadTools = (messenger) => ({
7
+ polls_show: tool({
8
+ title: "Show a poll",
9
+ description: "A poll as the message carries it now: its question, and each answer with the id a vote names.",
10
+ input: v.object({ chat: chatOf(messenger), message }),
11
+ annotations: { ...READ, idempotentHint: true },
12
+ online: async (adapter, args) => {
13
+ const poll = capability(adapter, "poll", "read a poll");
14
+ return poll((await adapter.resolve(args.chat)).id, args.message);
15
+ },
16
+ }),
17
+ });
18
+ /** Offered with `--allow-send`, each under the permission its guard kind names. */
19
+ export const pollWriteTools = (messenger) => {
20
+ const chat = chatOf(messenger);
21
+ return {
22
+ polls_vote: tool({
23
+ title: "Vote in a poll",
24
+ description: "Vote as the owner, by answer ids from polls_show; an empty list takes the vote back. The others see it " +
25
+ "unless the poll is anonymous. Only when the owner asked for this vote.",
26
+ input: v.object({ chat, message, answers: v.array(answerId) }),
27
+ annotations: WRITE,
28
+ _meta: APPROVE,
29
+ permission: "reaction",
30
+ online: (adapter, args, { guard }) => guardedVote(guard, adapter, { chat: args.chat, message: args.message, answers: args.answers }),
31
+ }),
32
+ polls_close: tool({
33
+ title: "Close a poll",
34
+ description: "Close the owner's own poll; it cannot be reopened. Only when the owner asked for it.",
35
+ input: v.object({ chat, message }),
36
+ annotations: WRITE,
37
+ _meta: APPROVE,
38
+ permission: "edit",
39
+ online: (adapter, args, { guard }) => guardedClose(guard, adapter, { chat: args.chat, message: args.message }),
40
+ }),
41
+ polls_create: tool({
42
+ title: "Create a poll",
43
+ description: "Send a poll as the owner: public unless anonymous is true. Only when the owner asked for this exact poll " +
44
+ "in this exact chat. On outcome_unknown, retry with the send_id it returns, never a new one.",
45
+ input: v.object({
46
+ chat,
47
+ text: v.pipe(v.string(), v.minLength(1), v.description("the question")),
48
+ answers: v.pipe(v.array(v.pipe(v.string(), v.minLength(1))), v.minLength(2)),
49
+ multiple: v.optional(v.boolean()),
50
+ anonymous: v.optional(v.boolean()),
51
+ send_id: v.optional(v.pipe(v.string(), v.minLength(1), v.description("from an earlier outcome_unknown"))),
52
+ }),
53
+ annotations: WRITE,
54
+ _meta: APPROVE,
55
+ permission: "send",
56
+ online: async (adapter, args, { guard }) => {
57
+ const sent = await guardedCreatePoll(guard, adapter, {
58
+ chat: args.chat,
59
+ poll: {
60
+ question: args.text,
61
+ answers: args.answers,
62
+ multiple: args.multiple === true,
63
+ anonymous: args.anonymous === true,
64
+ },
65
+ silent: false,
66
+ ...(args.send_id === undefined ? {} : { sendId: args.send_id }),
67
+ });
68
+ return { sendId: sent.sendId, message: sent.message };
69
+ },
70
+ }),
71
+ };
72
+ };
73
+ //# sourceMappingURL=polls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polls.js","sourceRoot":"","sources":["../../../src/mcp/tools/polls.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBxC;;;GAGG;AACH,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAUrE,CAAA;AAEF,0GAA0G;AAC1G,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAA8B,CAAA;AAEzG,kHAAkH;AAClH,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAkC,CAAA;AAE3G,wCAAwC;AACxC,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAIrE,CAAA"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBxC;;;GAGG;AACH,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAWrE,CAAA;AAEF,0GAA0G;AAC1G,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAA8B,CAAA;AAEzG,kHAAkH;AAClH,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAkC,CAAA;AAE3G,wCAAwC;AACxC,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAKrE,CAAA"}
package/dist/mcp/tools.js CHANGED
@@ -9,6 +9,7 @@ import { messageDeleteTools } from "./tools/messages-delete.js";
9
9
  import { messagesPhotoTools } from "./tools/messages-photo.js";
10
10
  import { messageSendTools } from "./tools/messages-send.js";
11
11
  import { messagesTranscribeTools } from "./tools/messages-transcribe.js";
12
+ import { pollReadTools, pollWriteTools } from "./tools/polls.js";
12
13
  import { reactionTools } from "./tools/reactions.js";
13
14
  import { reviewTools } from "./tools/review.js";
14
15
  import { topicsTools } from "./tools/topics.js";
@@ -24,6 +25,7 @@ export const readTools = (messenger) => ({
24
25
  ...chatsTools(messenger),
25
26
  ...contactsTools(messenger),
26
27
  ...messagesTools(messenger),
28
+ ...pollReadTools(messenger),
27
29
  ...messagesPhotoTools(messenger),
28
30
  ...messagesTranscribeTools(messenger),
29
31
  });
@@ -36,5 +38,6 @@ export const sendTools = (messenger) => ({
36
38
  ...messageSendTools(messenger),
37
39
  ...messageActionTools(messenger),
38
40
  ...reactionTools(messenger),
41
+ ...pollWriteTools(messenger),
39
42
  });
40
43
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC3E,GAAG,UAAU,CAAC,SAAS,CAAC;IACxB,GAAG,WAAW,CAAC,SAAS,CAAC;IACzB,GAAG,WAAW,CAAC,SAAS,CAAC;IACzB,GAAG,YAAY,CAAC,SAAS,CAAC;IAC1B,GAAG,UAAU,CAAC,SAAS,CAAC;IACxB,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAChC,GAAG,uBAAuB,CAAC,SAAS,CAAC;CACtC,CAAC,CAAA;AAEF,0GAA0G;AAC1G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;AAEzG,kHAAkH;AAClH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;AAE3G,wCAAwC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC3E,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC9B,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAChC,GAAG,aAAa,CAAC,SAAS,CAAC;CAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC3E,GAAG,UAAU,CAAC,SAAS,CAAC;IACxB,GAAG,WAAW,CAAC,SAAS,CAAC;IACzB,GAAG,WAAW,CAAC,SAAS,CAAC;IACzB,GAAG,YAAY,CAAC,SAAS,CAAC;IAC1B,GAAG,UAAU,CAAC,SAAS,CAAC;IACxB,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAChC,GAAG,uBAAuB,CAAC,SAAS,CAAC;CACtC,CAAC,CAAA;AAEF,0GAA0G;AAC1G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;AAEzG,kHAAkH;AAClH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;AAE3G,wCAAwC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC3E,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC9B,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAChC,GAAG,aAAa,CAAC,SAAS,CAAC;IAC3B,GAAG,cAAc,CAAC,SAAS,CAAC;CAC7B,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { Messenger } from "../cli/messenger/context.js";
2
+ import type { MessengerAdapter } from "../cli/messenger/port.js";
3
+ import type { SendGuard } from "../sends/guard.js";
4
+ import type { AccountKey, MessageStore } from "../store/store.js";
5
+ /**
6
+ * What a service works with. Each part is opened on first use, so a read from the store never
7
+ * connects and a command that never touches the store never opens it. Whoever built the deps closes
8
+ * what they opened.
9
+ */
10
+ export interface ServiceDeps {
11
+ messenger: Messenger;
12
+ offline: boolean;
13
+ account: () => Promise<AccountKey>;
14
+ /** Already saving what its reads answer, and recording each call as a run event. */
15
+ connection: () => Promise<MessengerAdapter>;
16
+ store: () => Promise<MessageStore>;
17
+ guard: SendGuard;
18
+ }
19
+ export declare const OFFLINE = "--offline answers only from what is kept locally: `chats list`, `messages list|show|context` and `contacts list`";
20
+ /** Over a connection that is already open — an MCP session holds one for minutes. */
21
+ export declare const onlineDeps: (messenger: Messenger, adapter: MessengerAdapter, guard: SendGuard) => ServiceDeps;
22
+ /** Over the local store alone, for `--offline` and the tools that never ask the messenger. */
23
+ export declare const storedDeps: (messenger: Messenger, store: MessageStore, account: AccountKey, guard: SendGuard) => ServiceDeps;
24
+ //# sourceMappingURL=deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,oFAAoF;IACpF,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,eAAO,MAAM,OAAO,qHACgG,CAAA;AAEpH,qFAAqF;AACrF,eAAO,MAAM,UAAU,cAAe,SAAS,WAAW,gBAAgB,SAAS,SAAS,KAAG,WAa7F,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,cACV,SAAS,SACb,YAAY,WACV,UAAU,SACZ,SAAS,KACf,WASD,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { CliError } from "@leemour/cli-core";
2
+ export const OFFLINE = "--offline answers only from what is kept locally: `chats list`, `messages list|show|context` and `contacts list`";
3
+ /** Over a connection that is already open — an MCP session holds one for minutes. */
4
+ export const onlineDeps = (messenger, adapter, guard) => ({
5
+ messenger,
6
+ offline: false,
7
+ guard,
8
+ connection: async () => adapter,
9
+ account: async () => {
10
+ const self = adapter.self();
11
+ if (self === null)
12
+ throw new CliError("authentication_error", "the connection does not know whose account it is");
13
+ return { provider: messenger.provider, account: self };
14
+ },
15
+ store: async () => {
16
+ throw new CliError("validation_error", "this answer comes from the messenger, not from the local store");
17
+ },
18
+ });
19
+ /** Over the local store alone, for `--offline` and the tools that never ask the messenger. */
20
+ export const storedDeps = (messenger, store, account, guard) => ({
21
+ messenger,
22
+ offline: true,
23
+ guard,
24
+ account: async () => account,
25
+ store: async () => store,
26
+ connection: async () => {
27
+ throw new CliError("validation_error", OFFLINE);
28
+ },
29
+ });
30
+ //# sourceMappingURL=deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAqB5C,MAAM,CAAC,MAAM,OAAO,GAClB,kHAAkH,CAAA;AAEpH,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAAE,OAAyB,EAAE,KAAgB,EAAe,EAAE,CAAC,CAAC;IAC7G,SAAS;IACT,OAAO,EAAE,KAAK;IACd,KAAK;IACL,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,kDAAkD,CAAC,CAAA;QACjH,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxD,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,gEAAgE,CAAC,CAAA;IAC1G,CAAC;CACF,CAAC,CAAA;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAoB,EACpB,KAAmB,EACnB,OAAmB,EACnB,KAAgB,EACH,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,EAAE,IAAI;IACb,KAAK;IACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;IAC5B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { ServiceDeps } from "./deps.js";
2
+ import { type MessagesService } from "./messages.js";
3
+ export type { ServiceDeps } from "./deps.js";
4
+ export { OFFLINE, onlineDeps, storedDeps } from "./deps.js";
5
+ export type { AroundWindow, ListWindow, MessagesService, SearchQuery } from "./messages.js";
6
+ export { messagesService, storedChatId } from "./messages.js";
7
+ export interface Services {
8
+ messages: MessagesService;
9
+ }
10
+ export declare const servicesFor: (deps: ServiceDeps) => Services;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAA;AAErE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,eAAe,CAAA;CAC1B;AAED,eAAO,MAAM,WAAW,SAAU,WAAW,KAAG,QAAiD,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { messagesService } from "./messages.js";
2
+ export { OFFLINE, onlineDeps, storedDeps } from "./deps.js";
3
+ export { messagesService, storedChatId } from "./messages.js";
4
+ export const servicesFor = (deps) => ({ messages: messagesService(deps) });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,eAAe,EAAE,MAAM,eAAe,CAAA;AAGrE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAM7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAY,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { Messenger } from "../cli/messenger/context.js";
2
+ import { type After } from "../cli/messenger/port.js";
3
+ import type { Message, Page, WindowedMessage } from "../domain/models.js";
4
+ import type { AccountKey, MessageStore, StoredHit } from "../store/store.js";
5
+ import type { ServiceDeps } from "./deps.js";
6
+ export interface ListWindow {
7
+ limit: number;
8
+ before?: string;
9
+ /** Read forward from this message or moment, parsed by the caller in its own words (`afterOf`). */
10
+ after?: After;
11
+ }
12
+ export interface AroundWindow {
13
+ before: number;
14
+ after: number;
15
+ }
16
+ export interface SearchQuery {
17
+ text?: string;
18
+ pattern?: RegExp;
19
+ chat?: string;
20
+ limit: number;
21
+ }
22
+ export interface MessagesService {
23
+ list(chat: string, window: ListWindow): Promise<Page<Message>>;
24
+ around(chat: string, message: string, window: AroundWindow): Promise<WindowedMessage[]>;
25
+ /** From the local store only; never asks the messenger. */
26
+ search(query: SearchQuery): Promise<Page<StoredHit>>;
27
+ }
28
+ export declare const messagesService: (deps: ServiceDeps) => MessagesService;
29
+ /** A chat as typed, found among the stored chats the way an adapter finds it among its own. */
30
+ export declare const storedChatId: (messenger: Messenger, reference: string, store: MessageStore, account: AccountKey) => Promise<string>;
31
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/services/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mGAAmG;IACnG,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACvF,2DAA2D;IAC3D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,eAAe,SAAU,WAAW,KAAG,eAwCnD,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,YAAY,cACZ,SAAS,aACT,MAAM,SACV,YAAY,WACV,UAAU,KAClB,OAAO,CAAC,MAAM,CAchB,CAAA"}