@leemour/cli-messaging 0.149.0 → 0.150.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 (170) hide show
  1. package/README.md +19 -0
  2. package/THIRD_PARTY_NOTICES +8 -0
  3. package/dist/botcheck/check.d.ts +64 -0
  4. package/dist/botcheck/check.d.ts.map +1 -0
  5. package/dist/botcheck/check.js +84 -0
  6. package/dist/botcheck/check.js.map +1 -0
  7. package/dist/botcheck/reasons.d.ts +15 -0
  8. package/dist/botcheck/reasons.d.ts.map +1 -0
  9. package/dist/botcheck/reasons.js +29 -0
  10. package/dist/botcheck/reasons.js.map +1 -0
  11. package/dist/botcheck/registries.d.ts +38 -0
  12. package/dist/botcheck/registries.d.ts.map +1 -0
  13. package/dist/botcheck/registries.js +98 -0
  14. package/dist/botcheck/registries.js.map +1 -0
  15. package/dist/botcheck/service.d.ts +16 -0
  16. package/dist/botcheck/service.d.ts.map +1 -0
  17. package/dist/botcheck/service.js +94 -0
  18. package/dist/botcheck/service.js.map +1 -0
  19. package/dist/charts/chat.d.ts +10 -0
  20. package/dist/charts/chat.d.ts.map +1 -0
  21. package/dist/charts/chat.js +72 -0
  22. package/dist/charts/chat.js.map +1 -0
  23. package/dist/charts/echarts-option.d.ts +4 -0
  24. package/dist/charts/echarts-option.d.ts.map +1 -0
  25. package/dist/charts/echarts-option.js +51 -0
  26. package/dist/charts/echarts-option.js.map +1 -0
  27. package/dist/charts/echarts.d.ts +3 -0
  28. package/dist/charts/echarts.d.ts.map +1 -0
  29. package/dist/charts/echarts.js +26 -0
  30. package/dist/charts/echarts.js.map +1 -0
  31. package/dist/charts/index.d.ts +4 -0
  32. package/dist/charts/index.d.ts.map +1 -0
  33. package/dist/charts/index.js +4 -0
  34. package/dist/charts/index.js.map +1 -0
  35. package/dist/charts/model.d.ts +34 -0
  36. package/dist/charts/model.d.ts.map +1 -0
  37. package/dist/charts/model.js +3 -0
  38. package/dist/charts/model.js.map +1 -0
  39. package/dist/charts/render.d.ts +3 -0
  40. package/dist/charts/render.d.ts.map +1 -0
  41. package/dist/charts/render.js +2 -0
  42. package/dist/charts/render.js.map +1 -0
  43. package/dist/cli/index.d.ts +6 -1
  44. package/dist/cli/index.d.ts.map +1 -1
  45. package/dist/cli/index.js +5 -0
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/cli/messenger/chats-command.d.ts.map +1 -1
  48. package/dist/cli/messenger/chats-command.js +2 -0
  49. package/dist/cli/messenger/chats-command.js.map +1 -1
  50. package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
  51. package/dist/cli/messenger/chats-members-command.js +67 -3
  52. package/dist/cli/messenger/chats-members-command.js.map +1 -1
  53. package/dist/cli/messenger/chats-tracking-command.d.ts +5 -0
  54. package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -0
  55. package/dist/cli/messenger/chats-tracking-command.js +53 -0
  56. package/dist/cli/messenger/chats-tracking-command.js.map +1 -0
  57. package/dist/cli/messenger/contacts-command.d.ts +0 -1
  58. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  59. package/dist/cli/messenger/contacts-command.js +68 -2
  60. package/dist/cli/messenger/contacts-command.js.map +1 -1
  61. package/dist/cli/messenger/port.d.ts +22 -2
  62. package/dist/cli/messenger/port.d.ts.map +1 -1
  63. package/dist/cli/messenger/port.js.map +1 -1
  64. package/dist/cli/messenger/review.d.ts +2 -1
  65. package/dist/cli/messenger/review.d.ts.map +1 -1
  66. package/dist/cli/messenger/review.js +4 -1
  67. package/dist/cli/messenger/review.js.map +1 -1
  68. package/dist/cli/messenger/serve-command.d.ts.map +1 -1
  69. package/dist/cli/messenger/serve-command.js +47 -3
  70. package/dist/cli/messenger/serve-command.js.map +1 -1
  71. package/dist/cli/messenger/serve-members.d.ts +26 -0
  72. package/dist/cli/messenger/serve-members.d.ts.map +1 -0
  73. package/dist/cli/messenger/serve-members.js +47 -0
  74. package/dist/cli/messenger/serve-members.js.map +1 -0
  75. package/dist/cli/messenger/stats-command.d.ts +5 -0
  76. package/dist/cli/messenger/stats-command.d.ts.map +1 -0
  77. package/dist/cli/messenger/stats-command.js +59 -0
  78. package/dist/cli/messenger/stats-command.js.map +1 -0
  79. package/dist/cli/registry-keys.d.ts +8 -0
  80. package/dist/cli/registry-keys.d.ts.map +1 -0
  81. package/dist/cli/registry-keys.js +19 -0
  82. package/dist/cli/registry-keys.js.map +1 -0
  83. package/dist/domain/models.d.ts +65 -0
  84. package/dist/domain/models.d.ts.map +1 -1
  85. package/dist/mcp/tools/chats.d.ts.map +1 -1
  86. package/dist/mcp/tools/chats.js +47 -4
  87. package/dist/mcp/tools/chats.js.map +1 -1
  88. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  89. package/dist/mcp/tools/contacts.js +58 -5
  90. package/dist/mcp/tools/contacts.js.map +1 -1
  91. package/dist/mcp/tools/stats.d.ts +4 -0
  92. package/dist/mcp/tools/stats.d.ts.map +1 -0
  93. package/dist/mcp/tools/stats.js +34 -0
  94. package/dist/mcp/tools/stats.js.map +1 -0
  95. package/dist/mcp/tools.d.ts.map +1 -1
  96. package/dist/mcp/tools.js +2 -0
  97. package/dist/mcp/tools.js.map +1 -1
  98. package/dist/sends/permissions.js +1 -1
  99. package/dist/sends/permissions.js.map +1 -1
  100. package/dist/services/chat-stats.d.ts +3 -1
  101. package/dist/services/chat-stats.d.ts.map +1 -1
  102. package/dist/services/chat-stats.js.map +1 -1
  103. package/dist/services/chats.d.ts +47 -0
  104. package/dist/services/chats.d.ts.map +1 -1
  105. package/dist/services/chats.js +102 -18
  106. package/dist/services/chats.js.map +1 -1
  107. package/dist/services/deps.d.ts +10 -0
  108. package/dist/services/deps.d.ts.map +1 -1
  109. package/dist/services/deps.js +20 -0
  110. package/dist/services/deps.js.map +1 -1
  111. package/dist/services/inbox.d.ts +6 -20
  112. package/dist/services/inbox.d.ts.map +1 -1
  113. package/dist/services/inbox.js +16 -40
  114. package/dist/services/inbox.js.map +1 -1
  115. package/dist/services/index.d.ts +5 -1
  116. package/dist/services/index.d.ts.map +1 -1
  117. package/dist/services/index.js +4 -1
  118. package/dist/services/index.js.map +1 -1
  119. package/dist/services/member-history.d.ts +23 -0
  120. package/dist/services/member-history.d.ts.map +1 -0
  121. package/dist/services/member-history.js +37 -0
  122. package/dist/services/member-history.js.map +1 -0
  123. package/dist/services/members-audit.d.ts +5 -1
  124. package/dist/services/members-audit.d.ts.map +1 -1
  125. package/dist/services/members-audit.js +1 -16
  126. package/dist/services/members-audit.js.map +1 -1
  127. package/dist/services/people.d.ts +17 -3
  128. package/dist/services/people.d.ts.map +1 -1
  129. package/dist/services/people.js +35 -1
  130. package/dist/services/people.js.map +1 -1
  131. package/dist/services/person-context.d.ts +42 -0
  132. package/dist/services/person-context.d.ts.map +1 -1
  133. package/dist/services/person-context.js +48 -0
  134. package/dist/services/person-context.js.map +1 -1
  135. package/dist/services/person-profile.d.ts +10 -0
  136. package/dist/services/person-profile.d.ts.map +1 -0
  137. package/dist/services/person-profile.js +64 -0
  138. package/dist/services/person-profile.js.map +1 -0
  139. package/dist/services/questions.d.ts +19 -0
  140. package/dist/services/questions.d.ts.map +1 -0
  141. package/dist/services/questions.js +39 -0
  142. package/dist/services/questions.js.map +1 -0
  143. package/dist/services/task-rules.d.ts +27 -0
  144. package/dist/services/task-rules.d.ts.map +1 -0
  145. package/dist/services/task-rules.js +79 -0
  146. package/dist/services/task-rules.js.map +1 -0
  147. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  148. package/dist/store/sqlite/manifest.js +1 -0
  149. package/dist/store/sqlite/manifest.js.map +1 -1
  150. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  151. package/dist/store/sqlite/migrations.generated.js +8 -0
  152. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  153. package/dist/store/sqlite/reads.d.ts +3 -1
  154. package/dist/store/sqlite/reads.d.ts.map +1 -1
  155. package/dist/store/sqlite/reads.js +28 -0
  156. package/dist/store/sqlite/reads.js.map +1 -1
  157. package/dist/store/sqlite/schema.d.ts +219 -0
  158. package/dist/store/sqlite/schema.d.ts.map +1 -1
  159. package/dist/store/sqlite/schema.js +22 -0
  160. package/dist/store/sqlite/schema.js.map +1 -1
  161. package/dist/store/sqlite/tasks.d.ts +8 -0
  162. package/dist/store/sqlite/tasks.d.ts.map +1 -0
  163. package/dist/store/sqlite/tasks.js +101 -0
  164. package/dist/store/sqlite/tasks.js.map +1 -0
  165. package/dist/store/store.d.ts +16 -1
  166. package/dist/store/store.d.ts.map +1 -1
  167. package/dist/store/store.js +6 -0
  168. package/dist/store/store.js.map +1 -1
  169. package/package.json +8 -2
  170. package/parity.json +441 -373
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-members.js","sourceRoot":"","sources":["../../../src/cli/messenger/serve-members.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAA;AAUhC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,cAAc,EACxB,OAAO,GAAG,MAAM,GAOjB,EAAiB,EAAE;IAClB,IAAI,KAAiC,CAAA;IACrC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;IAEtC,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACnD,KAAK,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,IAAI,OAAO;gBAAE,OAAM;YACnB,IAAI,SAAS,EAAE,GAAG,KAAK,KAAK;gBAAE,SAAQ;YACtC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;gBACnC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;gBAChB,IAAI,CAAC,cAAc,MAAM,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,KAAK,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACjG,CAAA;QACD,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO;gBAAE,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;KAC7B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Command } from "commander";
2
+ import { chartRenderer } from "../../charts/render.js";
3
+ import { type Messenger } from "./context.js";
4
+ export declare const statsCommand: (messenger: Messenger, loadRenderer?: typeof chartRenderer) => Command;
5
+ //# sourceMappingURL=stats-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/stats-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,eAAO,MAAM,YAAY,cAAe,SAAS,0CAAiC,OA+DjF,CAAA"}
@@ -0,0 +1,59 @@
1
+ import { writeFileSync } from "node:fs";
2
+ import { extname, resolve } from "node:path";
3
+ import { CliError } from "@leemour/cli-core";
4
+ import { Command } from "commander";
5
+ import { chartKindOf, chartPeriodOf, chatChart } from "../../charts/chat.js";
6
+ import { CHART_SIZE } from "../../charts/model.js";
7
+ import { chartRenderer } from "../../charts/render.js";
8
+ import { timezoneOf } from "../../search/lucene/dates.js";
9
+ import { EVENTS_DAYS } from "../../services/chats.js";
10
+ import { momentOf } from "../../services/moment.js";
11
+ import { messengerContext } from "./context.js";
12
+ export const statsCommand = (messenger, loadRenderer = chartRenderer) => {
13
+ const stats = new Command("stats").description("charts from the account's statistics");
14
+ stats
15
+ .command("charts")
16
+ .description("a chart's data from a chat's statistics, and optionally a dark SVG image")
17
+ .argument("<chat>", messenger.chatArgument)
18
+ .option("--chart-kind <messages|active|membership>", "what to draw: messages, active authors, or joins and leaves", chartKindOf, "messages")
19
+ .option("--by <day|week>", "one point per calendar day or week (weeks start on Monday)", chartPeriodOf, "day")
20
+ .option("--since-time <time>", `ISO 8601, or 2h / 1d ago; ${EVENTS_DAYS} days ago if not given`)
21
+ .option("--timezone <zone>", "the IANA timezone for calendar days")
22
+ .option("--output <file>", "write a dark SVG image to a new .svg file")
23
+ .action(async function (chat) {
24
+ const context = messengerContext(this, messenger);
25
+ const { chartKind, by, sinceTime, timezone: given, output, } = this.opts();
26
+ if (context.format === "jsonl")
27
+ throw new CliError("validation_error", "charts return one JSON object — use --json, not --jsonl");
28
+ if (output !== undefined && (output === "-" || extname(output).toLowerCase() !== ".svg")) {
29
+ throw new CliError("validation_error", "--output takes a .svg file; image output to stdout is unavailable");
30
+ }
31
+ const timezone = timezoneOf(given);
32
+ const found = await context.withServices((services) => services.chats.stats(chat, {
33
+ by,
34
+ timezone,
35
+ ...(sinceTime === undefined ? {} : { since: momentOf(sinceTime, "--since-time") }),
36
+ }));
37
+ const chart = chatChart(found, { kind: chartKind, by, timezone });
38
+ let chartFile;
39
+ if (output !== undefined) {
40
+ const rendered = await (await loadRenderer()).render(chart, CHART_SIZE);
41
+ const path = resolve(output);
42
+ try {
43
+ writeFileSync(path, rendered.bytes, { flag: "wx", mode: 0o600 });
44
+ }
45
+ catch (error) {
46
+ if (error.code === "EEXIST")
47
+ throw new CliError("validation_error", `${path} exists — a chart never overwrites a file`);
48
+ throw error;
49
+ }
50
+ chartFile = { path, format: rendered.format, width: rendered.width, height: rendered.height };
51
+ context.renderer.note(`chart written to ${path}`);
52
+ }
53
+ if (chart.partial)
54
+ context.renderer.note("partial data — the chart shows lower bounds");
55
+ context.renderer.result({ chart, ...(chartFile === undefined ? {} : { chartFile }) });
56
+ });
57
+ return stats;
58
+ };
59
+ //# sourceMappingURL=stats-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/stats-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type AppIdentity } from "./app.js";
2
+ /**
3
+ * Combot's key for CAS, where the owner keeps one: the keyring account `registries:cas` under the
4
+ * app's own service, `<PREFIX>_CAS_API_KEY`, or a 0600 file — as the AI providers' keys are. CAS
5
+ * answers without one for now; never printed, never in an error.
6
+ */
7
+ export declare const casKey: (app: AppIdentity, env?: NodeJS.ProcessEnv) => string | undefined;
8
+ //# sourceMappingURL=registry-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-keys.d.ts","sourceRoot":"","sources":["../../src/cli/registry-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,UAAU,CAAA;AAEpD;;;;GAIG;AACH,eAAO,MAAM,MAAM,QAAS,WAAW,QAAO,MAAM,CAAC,UAAU,KAAiB,MAAM,GAAG,SAUxF,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { Credentials, pathsAreOverridden, resolvePaths } from "@leemour/cli-core";
2
+ import { envName } from "./app.js";
3
+ /**
4
+ * Combot's key for CAS, where the owner keeps one: the keyring account `registries:cas` under the
5
+ * app's own service, `<PREFIX>_CAS_API_KEY`, or a 0600 file — as the AI providers' keys are. CAS
6
+ * answers without one for now; never printed, never in an error.
7
+ */
8
+ export const casKey = (app, env = process.env) => {
9
+ const where = { appName: app.appName, prefix: app.envPrefix, env };
10
+ return new Credentials({
11
+ configDir: resolvePaths(where).config,
12
+ service: app.appName,
13
+ envVar: envName(app, "CAS_API_KEY"),
14
+ isolated: pathsAreOverridden(where),
15
+ env,
16
+ warn: (message) => process.stderr.write(`${message}\n`),
17
+ }).read("registries:cas")?.secret;
18
+ };
19
+ //# sourceMappingURL=registry-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-keys.js","sourceRoot":"","sources":["../../src/cli/registry-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAoB,OAAO,EAAE,MAAM,UAAU,CAAA;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAgB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAsB,EAAE;IACnG,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAA;IAClE,OAAO,IAAI,WAAW,CAAC;QACrB,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM;QACrC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC;QACnC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACnC,GAAG;QACH,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC;KACxD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;AACnC,CAAC,CAAA"}
@@ -277,6 +277,11 @@ export interface Review {
277
277
  };
278
278
  /** With saved points: each chat read whole, and the time its next check starts from. */
279
279
  checked?: Record<Id, string>;
280
+ /** Tasks the review opened and closed in the store, by the rules; absent when the store was not open. */
281
+ tasks?: {
282
+ added: number;
283
+ closed: number;
284
+ };
280
285
  }
281
286
  /** One change to who is in a chat, or to the chat itself, read from a service message. */
282
287
  export interface ChatEvent {
@@ -384,6 +389,66 @@ export interface ChatCard extends Chat {
384
389
  export interface PersonCard extends Contact {
385
390
  chats: Pick<Chat, "id" | "title" | "kind" | "lastMessageAt">[];
386
391
  }
392
+ /**
393
+ * When they were last seen: a time, or the bucket their privacy leaves — `hidden` only when the
394
+ * messenger says nothing at all. Telegram answers `recently`, `week` or `month` instead of a time.
395
+ */
396
+ export type Seen = "online" | "recently" | "week" | "month" | "hidden" | (string & {});
397
+ export type PersonFlag = "bot" | "verified" | "premium" | "scam" | "fake" | "restricted" | "deleted" | "support";
398
+ /**
399
+ * When the account was made, and how that is known: `telegram` — Telegram's own month, sent only
400
+ * when they first write to the owner; `max` — MAX's own time; `estimate` — guessed from the id,
401
+ * weak. Never shown without its source.
402
+ */
403
+ export interface Registered {
404
+ at: string;
405
+ source: "telegram" | "max" | "estimate";
406
+ /** How fine `at` is: Telegram tells a month, an estimate a month at best. */
407
+ precision: "day" | "month";
408
+ }
409
+ /** Everything the messenger itself says about one person, as `contacts profile` reads it. */
410
+ export interface ProfileFacts {
411
+ id: Id;
412
+ name: string | null;
413
+ /** Every public handle, without `@`, the main one first. */
414
+ usernames: string[];
415
+ bio: string | null;
416
+ /** `DD.MM` or `DD.MM.YYYY`, where they show it. */
417
+ birthday?: string | null;
418
+ /** Only where the messenger shows it to the owner. */
419
+ phone?: string | null;
420
+ /** Only the flags the messenger answered; a missing one is not known. */
421
+ flags: Partial<Record<PersonFlag, boolean>>;
422
+ /** Absent where the messenger does not say. */
423
+ seen?: Seen;
424
+ /** In the owner's address book. */
425
+ contact?: boolean;
426
+ /** And the owner in theirs. */
427
+ mutualContact?: boolean;
428
+ /** The messenger's own count of groups shared with them. */
429
+ commonChatsCount?: number | null;
430
+ registered?: Registered | null;
431
+ /** A photo of their own; one the owner set for them does not count. */
432
+ hasPhoto?: boolean;
433
+ /** The chats shared with them, as the messenger lists them, newest first. */
434
+ chats: Pick<Chat, "id" | "title" | "kind" | "lastMessageAt">[];
435
+ }
436
+ /** One chat shared with a person, and what the store holds of their messages there. */
437
+ export interface SharedChatActivity {
438
+ id: Id;
439
+ title: string | null;
440
+ kind: ChatKind;
441
+ /** Their messages stored; a floor unless `complete`. */
442
+ theirMessages: number;
443
+ firstAt: string | null;
444
+ lastAt: string | null;
445
+ /** The store holds the whole chat, so the count is the real one. */
446
+ complete: boolean;
447
+ }
448
+ /** `contacts profile`: the person, and their activity in every chat shared with them. */
449
+ export interface PersonProfile extends Omit<ProfileFacts, "chats"> {
450
+ chats: SharedChatActivity[];
451
+ }
387
452
  /**
388
453
  * One page of a listing, and **the same shape whether it came from the provider or from the
389
454
  * store** — where rows come from is the exit code's business and the diagnostics', never the
@@ -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":"chats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAO/D,OAAO,EAAE,KAAK,OAAO,EAAqD,MAAM,YAAY,CAAA;AAE5F,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA4HvE,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAAqD,MAAM,YAAY,CAAA;AAE5F,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAmLvE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as v from "valibot";
2
2
  import { listed } from "../../cli/paging.js";
3
+ import { casKey } from "../../cli/registry-keys.js";
3
4
  import { checkedFilter } from "../../services/chats.js";
4
5
  import { EVENTS_DAYS, onlineDeps, servicesFor, storedDeps } from "../../services/index.js";
5
6
  import { momentOf } from "../../services/moment.js";
@@ -85,17 +86,59 @@ export const chatsTools = (messenger) => {
85
86
  "Reasons: bot, scam, fake, deleted, no_photo, no_username, odd_name, never_wrote, link_first, burst_join, " +
86
87
  "mass_invited. A score is a hint, never a verdict; the owner and admins are left out. Reads the member list " +
87
88
  "a page at a time (budget pages); unknown names the signals the messenger gave nothing for; more says some " +
88
- "members were not read. Removes nobody — that is chats_moderate, with the owner's confirmation.",
89
+ "members were not read. With deep, the top members also get the full contacts_check — and their ids are " +
90
+ "sent to the public ban lists — one person a second. Removes nobody — that is chats_moderate, with the " +
91
+ "owner's confirmation.",
89
92
  input: v.object({
90
93
  chat,
91
94
  budget: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.description("pages of members to read"))),
92
95
  min_score: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
96
+ deep: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(50), v.description("check the top n in full"))),
93
97
  }),
94
98
  annotations: READ,
95
- online: (adapter, args, { guard }) => chats(adapter, guard).audit(args.chat, {
96
- ...(args.budget === undefined ? {} : { budget: args.budget }),
97
- ...(args.min_score === undefined ? {} : { minScore: args.min_score }),
99
+ online: (adapter, args, { guard, env }) => {
100
+ const key = args.deep === undefined ? undefined : casKey(messenger.app, env);
101
+ return chats(adapter, guard).audit(args.chat, {
102
+ ...(args.budget === undefined ? {} : { budget: args.budget }),
103
+ ...(args.min_score === undefined ? {} : { minScore: args.min_score }),
104
+ ...(args.deep === undefined ? {} : { deep: args.deep }),
105
+ ...(key ? { registry: { casKey: key } } : {}),
106
+ });
107
+ },
108
+ }),
109
+ chats_members_history: tool({
110
+ title: "Who joined, left or changed their profile",
111
+ description: "A group's member history as the local store recorded it with chats members fetch, oldest first: " +
112
+ "{ chatId, items: [{ at, event: joined | left | changed, id, name, username, invitedBy?, before? }] }. " +
113
+ "before is the profile seen until then. A leave is recorded only from a member list read whole. Reads the " +
114
+ "local store only; empty until the owner fetches or tracks the chat.",
115
+ input: v.object({
116
+ chat,
117
+ since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
98
118
  }),
119
+ annotations: { ...READ, openWorldHint: false },
120
+ stored: async (store, account, args, defaults) => {
121
+ const { chatId, events } = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.memberHistory(args.chat, args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") });
122
+ return { chatId, items: events };
123
+ },
124
+ }),
125
+ chats_tracking_list: tool({
126
+ title: "Chats whose members are recorded daily",
127
+ description: "The chats whose member lists serve fetches daily into the local store: [{ chatId, title, trackedAt, " +
128
+ "lastCount: { day, participants, listed, complete } | null }]. Reads the local store only. The owner adds " +
129
+ "one with the CLI: chats members fetch <chat> --track, or chats tracking add.",
130
+ input: v.object({}),
131
+ annotations: { ...READ, openWorldHint: false },
132
+ stored: async (store, account) => ({ items: await store.trackedChats(account) }),
133
+ }),
134
+ chats_tracking_show: tool({
135
+ title: "A chat's member count per day",
136
+ description: "Whether a chat's members are recorded daily, and its member count per day for the last 30 days: " +
137
+ "{ chatId, trackedAt | null, counts: [{ day, participants, listed, complete }] }. complete is false for a " +
138
+ "day whose member list was not read whole. Reads the local store only.",
139
+ input: v.object({ chat }),
140
+ annotations: { ...READ, openWorldHint: false },
141
+ stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.trackedChat(args.chat),
99
142
  }),
100
143
  chats_inspect: tool({
101
144
  title: "What a link leads to",
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM/D,OAAO,EAAE,KAAK,OAAO,EAA6C,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoE1E,CAAA"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAA6C,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAiI1E,CAAA"}
@@ -1,6 +1,10 @@
1
+ import { CliError } from "@leemour/cli-core";
1
2
  import * as v from "valibot";
3
+ import { REGISTRIES } from "../../botcheck/registries.js";
4
+ import { casKey } from "../../cli/registry-keys.js";
2
5
  import { onlineDeps, phoneOf, servicesFor, storedDeps } from "../../services/index.js";
3
6
  import { momentOf } from "../../services/moment.js";
7
+ import { maskedAccount } from "../../services/people.js";
4
8
  import { CONTEXT_BYTES, CONTEXT_MESSAGES } from "../../services/person-context.js";
5
9
  import { envelope, limit, page, paging, READ, tool } from "../tool.js";
6
10
  export const contactsTools = (messenger) => {
@@ -43,23 +47,72 @@ export const contactsTools = (messenger) => {
43
47
  annotations: READ,
44
48
  served: (services, args) => services.people.show(args.person),
45
49
  }),
50
+ contacts_profile: tool({
51
+ title: "Profile of a person",
52
+ description: "What the messenger says about one person — { id, name, usernames, bio, birthday?, phone? (last four " +
53
+ "digits), flags { bot, verified, premium, scam, fake, restricted, deleted, support }, seen (online, recently, " +
54
+ "week, month, hidden or a time), contact?, mutualContact?, commonChatsCount?, registered? { at, source: " +
55
+ "telegram | max | estimate, precision }, hasPhoto? } — and chats: for each chat shared with them, " +
56
+ "theirMessages stored, firstAt, lastAt and complete (false: the count is a floor). Reading tells them nothing.",
57
+ input: v.object({
58
+ person: v.pipe(v.string(), v.minLength(1), v.description("person id, @username, or part of a name")),
59
+ }),
60
+ annotations: READ,
61
+ served: async (services, args) => maskedAccount(await services.people.profile(args.person)),
62
+ }),
46
63
  contacts_context: tool({
47
64
  title: "What is known about a person",
48
65
  description: "Everything the local store holds about one person, in every messenger linked to them: person { uid, " +
49
66
  "identities }, shared chats, last { fromThem, fromMe, fromThemAnywhere }, recent { direct, groups }, " +
50
67
  "mentions — each message with a locator. complete is false when a shared chat is not stored whole; notRead " +
51
- "names it and why. Reads the store only; marks nothing read. Never assumes two people with one name are one.",
68
+ "names it and why. Reads the store only; marks nothing read. Never assumes two people with one name are one. " +
69
+ "With chats: instead, { person, chats: [{ chat, messages, complete, more }] } — their newest messages in each " +
70
+ "chat named, oldest first, as { at, text } unless detail asks for ids and locators (1) or everything (2).",
52
71
  input: v.object({
53
72
  person: v.pipe(v.string(), v.minLength(1), v.description("person id, @username, or part of a name")),
54
73
  limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100), v.description("at most this many per list"))),
55
74
  since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
75
+ chats: v.optional(v.pipe(v.array(v.pipe(v.string(), v.minLength(1))), v.minLength(1), v.description("chats by id or name: their newest messages in each"))),
76
+ detail: v.optional(v.pipe(v.picklist([0, 1, 2]), v.description("with chats: 1 adds ids and locators, 2 everything"))),
56
77
  }),
57
78
  annotations: { ...READ, openWorldHint: false },
58
- stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).people.context(args.person, {
59
- messages: args.limit ?? CONTEXT_MESSAGES,
60
- bytes: CONTEXT_BYTES,
61
- ...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
79
+ stored: (store, account, args, defaults) => {
80
+ const people = servicesFor(storedDeps(messenger, store, account, defaults.guard)).people;
81
+ if (args.chats !== undefined) {
82
+ if (args.since_time !== undefined)
83
+ throw new CliError("validation_error", "since_time is not used with chats");
84
+ return people.messagesIn(args.person, {
85
+ chats: args.chats,
86
+ ...(args.limit === undefined ? {} : { limit: args.limit }),
87
+ ...(args.detail === undefined ? {} : { detail: args.detail }),
88
+ });
89
+ }
90
+ return people.context(args.person, {
91
+ messages: args.limit ?? CONTEXT_MESSAGES,
92
+ bytes: CONTEXT_BYTES,
93
+ ...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
94
+ });
95
+ },
96
+ }),
97
+ contacts_check: tool({
98
+ title: "Does a person look like a bot",
99
+ description: "Scores one person as a possible bot, fake or spammer: the messenger's own marks, their profile, what they " +
100
+ "wrote in the store, and the public ban lists " +
101
+ `${Object.values(REGISTRIES)
102
+ .map(({ title, docs }) => `${title} (${docs})`)
103
+ .join(", ")} — **the person's id is sent to each of them** unless registries is false. Returns { person, ` +
104
+ "score, reasons: [{ reason, weight, source, detail }], registries: [{ name, answer: listed|clean|unknown, " +
105
+ "checkedAt, detail }], unknown, notes }. A hint, never a verdict; changes nothing.",
106
+ input: v.object({
107
+ person: v.pipe(v.string(), v.minLength(1), v.description("person id, @username, or part of a name")),
108
+ registries: v.optional(v.pipe(v.boolean(), v.description("false: ask no ban list; nothing leaves this machine"))),
62
109
  }),
110
+ annotations: READ,
111
+ served: (services, args, defaults) => {
112
+ const registries = args.registries !== false;
113
+ const key = registries ? casKey(messenger.app, defaults.env) : undefined;
114
+ return services.botcheck.person(args.person, { registries, ...(key ? { registry: { casKey: key } } : {}) });
115
+ },
63
116
  }),
64
117
  };
65
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Messenger } from "../../cli/messenger/context.js";
2
+ import { type AnyTool } from "../tool.js";
3
+ export declare const statsTools: (messenger: Messenger) => Record<string, AnyTool>;
4
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA0BtE,CAAA"}
@@ -0,0 +1,34 @@
1
+ import * as v from "valibot";
2
+ import { chatChart } from "../../charts/chat.js";
3
+ import { CHART_KINDS } from "../../charts/model.js";
4
+ import { timezoneOf } from "../../search/lucene/dates.js";
5
+ import { servicesFor, storedDeps } from "../../services/index.js";
6
+ import { momentOf } from "../../services/moment.js";
7
+ import { chatOf, READ, tool } from "../tool.js";
8
+ export const statsTools = (messenger) => ({
9
+ stats_charts: tool({
10
+ title: "A chart from a chat's statistics",
11
+ description: "A neutral chart description as JSON: messages or active authors per day or week, from the local store. " +
12
+ "Missing dates are gaps, and partial marks lower bounds. Membership needs online events and is unavailable here. " +
13
+ "No image file is written and no messenger connection is opened.",
14
+ input: v.object({
15
+ chat: chatOf(messenger),
16
+ chart_kind: v.optional(v.picklist(CHART_KINDS)),
17
+ by: v.optional(v.picklist(["day", "week"])),
18
+ since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
19
+ timezone: v.optional(v.pipe(v.string(), v.description("the IANA timezone for calendar days"))),
20
+ }),
21
+ annotations: { ...READ, openWorldHint: false },
22
+ stored: async (store, account, args, defaults) => {
23
+ const timezone = timezoneOf(args.timezone);
24
+ const by = args.by ?? "day";
25
+ const stats = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.stats(args.chat, {
26
+ by,
27
+ timezone,
28
+ ...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
29
+ });
30
+ return { chart: chatChart(stats, { kind: args.chart_kind ?? "messages", by, timezone }) };
31
+ },
32
+ }),
33
+ });
34
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAgB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC5E,YAAY,EAAE,IAAI,CAAC;QACjB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,yGAAyG;YACzG,kHAAkH;YAClH,iEAAiE;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC,CAAC;SAC/F,CAAC;QACF,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAA;YAC3B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5G,EAAE;gBACF,QAAQ;gBACR,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;aAC7F,CAAC,CAAA;YACF,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;QAC3F,CAAC;KACF,CAAC;CACH,CAAC,CAAA"}
@@ -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;AAyBxC;;;GAGG;AACH,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAYrE,CAAA;AAEF,sFAAsF;AACtF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAA8B,CAAA;AAEzG,8EAA8E;AAC9E,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAkC,CAAA;AAE3G,oFAAoF;AACpF,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAUrE,CAAA;AAEF,qHAAqH;AACrH,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAItE,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;AA0BxC;;;GAGG;AACH,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAarE,CAAA;AAEF,sFAAsF;AACtF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAA8B,CAAA;AAEzG,8EAA8E;AAC9E,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAkC,CAAA;AAE3G,oFAAoF;AACpF,eAAO,MAAM,SAAS,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAUrE,CAAA;AAEF,qHAAqH;AACrH,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAItE,CAAA"}
package/dist/mcp/tools.js CHANGED
@@ -19,6 +19,7 @@ import { pollReadTools, pollWriteTools } from "./tools/polls.js";
19
19
  import { reactionTools } from "./tools/reactions.js";
20
20
  import { reviewTools } from "./tools/review.js";
21
21
  import { searchesTools } from "./tools/searches.js";
22
+ import { statsTools } from "./tools/stats.js";
22
23
  import { tagsTools } from "./tools/tags.js";
23
24
  import { topicsTools, topicWriteTools } from "./tools/topics.js";
24
25
  /**
@@ -31,6 +32,7 @@ export const readTools = (messenger) => ({
31
32
  ...topicsTools(messenger),
32
33
  ...accountTools(messenger),
33
34
  ...chatsTools(messenger),
35
+ ...statsTools(messenger),
34
36
  ...contactsTools(messenger),
35
37
  ...messagesTools(messenger),
36
38
  ...conversationsTools(messenger),
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -281,7 +281,7 @@ const HOUSEKEEPING = new Set([
281
281
  const BOT_HOUSEKEEPING = new Set(["auth", "list", "sends", "recipients", "mcp"]);
282
282
  const STORE_MAINTENANCE = new Set(["info", "check", "migrate", "backup", "restore", "repair", "copies"]);
283
283
  /** Commands outside `messages` that print what people wrote, so `deny messages` reaches them too. */
284
- const SHOW_MESSAGES = new Set(["inbox", "review", "watch", "serve", "store", "conversations"]);
284
+ const SHOW_MESSAGES = new Set(["stats", "inbox", "review", "watch", "serve", "store", "conversations"]);
285
285
  /**
286
286
  * The key a command path is checked against: `null` for housekeeping, which no level stops, and
287
287
  * `undefined` for a path this package does not know — a CLI's own command, which its CLI maps.