@leemour/max-cli 0.13.0 → 0.15.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 (210) hide show
  1. package/README.md +92 -14
  2. package/dist/bot/auth.d.ts +23 -0
  3. package/dist/bot/auth.d.ts.map +1 -0
  4. package/dist/bot/auth.js +36 -0
  5. package/dist/bot/auth.js.map +1 -0
  6. package/dist/bot/client.d.ts +20 -0
  7. package/dist/bot/client.d.ts.map +1 -0
  8. package/dist/bot/client.js +91 -0
  9. package/dist/bot/client.js.map +1 -0
  10. package/dist/bot/generated/manifest.d.ts +3 -0
  11. package/dist/bot/generated/manifest.d.ts.map +1 -0
  12. package/dist/bot/generated/manifest.js +1232 -0
  13. package/dist/bot/generated/manifest.js.map +1 -0
  14. package/dist/bot/generated/schemas.d.ts +271 -0
  15. package/dist/bot/generated/schemas.d.ts.map +1 -0
  16. package/dist/bot/generated/schemas.js +869 -0
  17. package/dist/bot/generated/schemas.js.map +1 -0
  18. package/dist/bot/generated/types.d.ts +1088 -0
  19. package/dist/bot/generated/types.d.ts.map +1 -0
  20. package/dist/bot/generated/types.js +5 -0
  21. package/dist/bot/generated/types.js.map +1 -0
  22. package/dist/bot/input.d.ts +10 -0
  23. package/dist/bot/input.d.ts.map +1 -0
  24. package/dist/bot/input.js +88 -0
  25. package/dist/bot/input.js.map +1 -0
  26. package/dist/bot/keep.d.ts +25 -0
  27. package/dist/bot/keep.d.ts.map +1 -0
  28. package/dist/bot/keep.js +96 -0
  29. package/dist/bot/keep.js.map +1 -0
  30. package/dist/bot/map.d.ts +11 -0
  31. package/dist/bot/map.d.ts.map +1 -0
  32. package/dist/bot/map.js +76 -0
  33. package/dist/bot/map.js.map +1 -0
  34. package/dist/bot/permissions.d.ts +14 -0
  35. package/dist/bot/permissions.d.ts.map +1 -0
  36. package/dist/bot/permissions.js +53 -0
  37. package/dist/bot/permissions.js.map +1 -0
  38. package/dist/bot/registry.d.ts +30 -0
  39. package/dist/bot/registry.d.ts.map +1 -0
  40. package/dist/bot/registry.js +85 -0
  41. package/dist/bot/registry.js.map +1 -0
  42. package/dist/bot/russian-trusted-root.d.ts +8 -0
  43. package/dist/bot/russian-trusted-root.d.ts.map +1 -0
  44. package/dist/bot/russian-trusted-root.js +41 -0
  45. package/dist/bot/russian-trusted-root.js.map +1 -0
  46. package/dist/bot/transport.d.ts +41 -0
  47. package/dist/bot/transport.d.ts.map +1 -0
  48. package/dist/bot/transport.js +200 -0
  49. package/dist/bot/transport.js.map +1 -0
  50. package/dist/bot/uploads.d.ts +34 -0
  51. package/dist/bot/uploads.d.ts.map +1 -0
  52. package/dist/bot/uploads.js +122 -0
  53. package/dist/bot/uploads.js.map +1 -0
  54. package/dist/client.d.ts +39 -3
  55. package/dist/client.d.ts.map +1 -1
  56. package/dist/client.js +168 -23
  57. package/dist/client.js.map +1 -1
  58. package/dist/commands/bot-comments.d.ts +4 -0
  59. package/dist/commands/bot-comments.d.ts.map +1 -0
  60. package/dist/commands/bot-comments.js +97 -0
  61. package/dist/commands/bot-comments.js.map +1 -0
  62. package/dist/commands/bot-context.d.ts +27 -0
  63. package/dist/commands/bot-context.d.ts.map +1 -0
  64. package/dist/commands/bot-context.js +82 -0
  65. package/dist/commands/bot-context.js.map +1 -0
  66. package/dist/commands/bot-members.d.ts +12 -0
  67. package/dist/commands/bot-members.d.ts.map +1 -0
  68. package/dist/commands/bot-members.js +136 -0
  69. package/dist/commands/bot-members.js.map +1 -0
  70. package/dist/commands/bot-reads.d.ts +7 -0
  71. package/dist/commands/bot-reads.d.ts.map +1 -0
  72. package/dist/commands/bot-reads.js +145 -0
  73. package/dist/commands/bot-reads.js.map +1 -0
  74. package/dist/commands/bot-sends.d.ts +17 -0
  75. package/dist/commands/bot-sends.d.ts.map +1 -0
  76. package/dist/commands/bot-sends.js +270 -0
  77. package/dist/commands/bot-sends.js.map +1 -0
  78. package/dist/commands/bot-setup.d.ts +5 -0
  79. package/dist/commands/bot-setup.d.ts.map +1 -0
  80. package/dist/commands/bot-setup.js +107 -0
  81. package/dist/commands/bot-setup.js.map +1 -0
  82. package/dist/commands/bot-updates.d.ts +3 -0
  83. package/dist/commands/bot-updates.d.ts.map +1 -0
  84. package/dist/commands/bot-updates.js +182 -0
  85. package/dist/commands/bot-updates.js.map +1 -0
  86. package/dist/commands/bot.d.ts +3 -0
  87. package/dist/commands/bot.d.ts.map +1 -0
  88. package/dist/commands/bot.js +160 -0
  89. package/dist/commands/bot.js.map +1 -0
  90. package/dist/commands/chats.d.ts.map +1 -1
  91. package/dist/commands/chats.js +79 -2
  92. package/dist/commands/chats.js.map +1 -1
  93. package/dist/commands/check.d.ts +8 -0
  94. package/dist/commands/check.d.ts.map +1 -0
  95. package/dist/commands/check.js +64 -0
  96. package/dist/commands/check.js.map +1 -0
  97. package/dist/commands/context.d.ts +15 -1
  98. package/dist/commands/context.d.ts.map +1 -1
  99. package/dist/commands/context.js +5 -1
  100. package/dist/commands/context.js.map +1 -1
  101. package/dist/commands/hearing.d.ts +25 -0
  102. package/dist/commands/hearing.d.ts.map +1 -0
  103. package/dist/commands/hearing.js +41 -0
  104. package/dist/commands/hearing.js.map +1 -0
  105. package/dist/commands/inbox.d.ts.map +1 -1
  106. package/dist/commands/inbox.js +19 -3
  107. package/dist/commands/inbox.js.map +1 -1
  108. package/dist/commands/mcp.d.ts +1 -0
  109. package/dist/commands/mcp.d.ts.map +1 -1
  110. package/dist/commands/mcp.js +7 -4
  111. package/dist/commands/mcp.js.map +1 -1
  112. package/dist/commands/messages.d.ts.map +1 -1
  113. package/dist/commands/messages.js +21 -5
  114. package/dist/commands/messages.js.map +1 -1
  115. package/dist/commands/paging.d.ts +3 -1
  116. package/dist/commands/paging.d.ts.map +1 -1
  117. package/dist/commands/paging.js +4 -1
  118. package/dist/commands/paging.js.map +1 -1
  119. package/dist/commands/review.d.ts.map +1 -1
  120. package/dist/commands/review.js +22 -8
  121. package/dist/commands/review.js.map +1 -1
  122. package/dist/commands/rules.d.ts +7 -0
  123. package/dist/commands/rules.d.ts.map +1 -0
  124. package/dist/commands/rules.js +69 -0
  125. package/dist/commands/rules.js.map +1 -0
  126. package/dist/domain/map.d.ts +6 -1
  127. package/dist/domain/map.d.ts.map +1 -1
  128. package/dist/domain/map.js +34 -1
  129. package/dist/domain/map.js.map +1 -1
  130. package/dist/domain/models.d.ts +55 -0
  131. package/dist/domain/models.d.ts.map +1 -1
  132. package/dist/domain/models.js.map +1 -1
  133. package/dist/generated/client.generated.d.ts +1 -0
  134. package/dist/generated/client.generated.d.ts.map +1 -1
  135. package/dist/generated/client.generated.js +1 -0
  136. package/dist/generated/client.generated.js.map +1 -1
  137. package/dist/generated/opcodes.generated.d.ts +1 -0
  138. package/dist/generated/opcodes.generated.d.ts.map +1 -1
  139. package/dist/generated/opcodes.generated.js +1 -0
  140. package/dist/generated/opcodes.generated.js.map +1 -1
  141. package/dist/generated/operations.generated.d.ts +16 -1
  142. package/dist/generated/operations.generated.d.ts.map +1 -1
  143. package/dist/generated/operations.generated.js +2 -1
  144. package/dist/generated/operations.generated.js.map +1 -1
  145. package/dist/mcp/instructions.d.ts +2 -1
  146. package/dist/mcp/instructions.d.ts.map +1 -1
  147. package/dist/mcp/instructions.js +2 -1
  148. package/dist/mcp/instructions.js.map +1 -1
  149. package/dist/mcp/server.d.ts +2 -1
  150. package/dist/mcp/server.d.ts.map +1 -1
  151. package/dist/mcp/server.js +4 -1
  152. package/dist/mcp/server.js.map +1 -1
  153. package/dist/mcp/tools.d.ts +5 -1
  154. package/dist/mcp/tools.d.ts.map +1 -1
  155. package/dist/mcp/tools.js +160 -13
  156. package/dist/mcp/tools.js.map +1 -1
  157. package/dist/moderation/check.d.ts +98 -0
  158. package/dist/moderation/check.d.ts.map +1 -0
  159. package/dist/moderation/check.js +306 -0
  160. package/dist/moderation/check.js.map +1 -0
  161. package/dist/moderation/rules.d.ts +56 -0
  162. package/dist/moderation/rules.d.ts.map +1 -0
  163. package/dist/moderation/rules.js +138 -0
  164. package/dist/moderation/rules.js.map +1 -0
  165. package/dist/program.d.ts.map +1 -1
  166. package/dist/program.js +18 -3
  167. package/dist/program.js.map +1 -1
  168. package/dist/protocol/connection.d.ts.map +1 -1
  169. package/dist/protocol/connection.js +12 -1
  170. package/dist/protocol/connection.js.map +1 -1
  171. package/dist/review.d.ts +32 -5
  172. package/dist/review.d.ts.map +1 -1
  173. package/dist/review.js +82 -45
  174. package/dist/review.js.map +1 -1
  175. package/dist/sends/journal.d.ts +1 -1
  176. package/dist/sends/journal.d.ts.map +1 -1
  177. package/dist/session/store.d.ts +2 -0
  178. package/dist/session/store.d.ts.map +1 -1
  179. package/dist/session/store.js +2 -0
  180. package/dist/session/store.js.map +1 -1
  181. package/dist/spec/index.d.ts.map +1 -1
  182. package/dist/spec/index.js +2 -1
  183. package/dist/spec/index.js.map +1 -1
  184. package/dist/spec/operations/chats.d.ts +4 -1
  185. package/dist/spec/operations/chats.d.ts.map +1 -1
  186. package/dist/spec/operations/chats.js +10 -4
  187. package/dist/spec/operations/chats.js.map +1 -1
  188. package/dist/spec/operations/messages.d.ts.map +1 -1
  189. package/dist/spec/operations/messages.js +9 -4
  190. package/dist/spec/operations/messages.js.map +1 -1
  191. package/dist/spec/operations/uploads.d.ts +13 -0
  192. package/dist/spec/operations/uploads.d.ts.map +1 -1
  193. package/dist/spec/operations/uploads.js +21 -0
  194. package/dist/spec/operations/uploads.js.map +1 -1
  195. package/dist/transcribe/index.d.ts +36 -1
  196. package/dist/transcribe/index.d.ts.map +1 -1
  197. package/dist/transcribe/index.js +91 -14
  198. package/dist/transcribe/index.js.map +1 -1
  199. package/dist/upload.d.ts +3 -0
  200. package/dist/upload.d.ts.map +1 -1
  201. package/dist/upload.js +13 -7
  202. package/dist/upload.js.map +1 -1
  203. package/dist/version.d.ts +1 -1
  204. package/dist/version.js +1 -1
  205. package/dist/voice.d.ts +9 -0
  206. package/dist/voice.d.ts.map +1 -0
  207. package/dist/voice.js +36 -0
  208. package/dist/voice.js.map +1 -0
  209. package/package.json +17 -6
  210. package/skills/max-cli/SKILL.md +23 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/commands/bot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAqD3C,eAAO,MAAM,UAAU,QAAO,OAmH7B,CAAA"}
@@ -0,0 +1,160 @@
1
+ import { CliError } from "@leemour/cli-core";
2
+ import { annotate } from "@leemour/cli-core/commands";
3
+ import { Command, Option } from "commander";
4
+ import { BotTokenStore } from "../bot/auth.js";
5
+ import { botOperations } from "../bot/client.js";
6
+ import { checkBody, checkParameter, flagOf, optionKey, readBody } from "../bot/input.js";
7
+ import { registryProfiles } from "../bot/registry.js";
8
+ import { plainJson } from "../bot/transport.js";
9
+ import { configuredProfiles } from "../config.js";
10
+ import { callbacksCommand, commentsCommand } from "./bot-comments.js";
11
+ import { assertAllowed, botContext } from "./bot-context.js";
12
+ import { adminsCommand, membersCommand } from "./bot-members.js";
13
+ import { chatsCommand, messagesCommand } from "./bot-reads.js";
14
+ import { guardedCall, recipientsCommand, sendsCommand } from "./bot-sends.js";
15
+ import { menuCommand, uploadsCommand, webhooksCommand } from "./bot-setup.js";
16
+ import { updatesCommand } from "./bot-updates.js";
17
+ import { environmentOf } from "./context.js";
18
+ const apiCommand = (operation) => {
19
+ const binding = operation.binding.kind === "http" ? `${operation.binding.method} ${operation.binding.path}` : operation.id;
20
+ const command = new Command(operation.command).description(`${operation.summary ?? operation.id} — ${operation.effect} (${binding})`);
21
+ for (const parameter of operation.parameters) {
22
+ const option = new Option(`--${flagOf(parameter.name)} <value>`, parameter.description?.split("\n")[0] ?? parameter.name);
23
+ command.addOption(parameter.required ? option.makeOptionMandatory() : option);
24
+ }
25
+ if (operation.request) {
26
+ command.option("--body <json>", "the request body as JSON; - reads it from stdin");
27
+ command.option("--body-file <path>", "the request body from a JSON file; - is stdin");
28
+ }
29
+ annotate(command, { origin: "generated", operationId: operation.id, mutates: operation.effect !== "read" });
30
+ return command.action(async function () {
31
+ const options = this.opts();
32
+ const input = { path: {}, query: {} };
33
+ for (const parameter of operation.parameters) {
34
+ const raw = options[optionKey(parameter.name)];
35
+ if (raw === undefined)
36
+ continue;
37
+ const problem = checkParameter(parameter.name, parameter.schema, raw);
38
+ if (problem)
39
+ throw new CliError("validation_error", problem);
40
+ if (parameter.in === "path")
41
+ input.path[parameter.name] = raw;
42
+ else if (parameter.in === "query")
43
+ input.query[parameter.name] = raw;
44
+ }
45
+ const context = botContext(this);
46
+ if (operation.effect !== "read")
47
+ assertAllowed(operation, context.settings);
48
+ const body = checkBody(operation, readBody(options));
49
+ const call = body === undefined ? input : { ...input, body };
50
+ context.renderer.result(plainJson(await guardedCall(context, operation, call)));
51
+ });
52
+ };
53
+ export const botCommand = () => {
54
+ const command = new Command("bot").description("a MAX bot, through the official Bot API and a bot token — not your personal account");
55
+ const auth = new Command("auth").description("the bot token this profile uses");
56
+ auth
57
+ .command("set")
58
+ .description("check a bot token with MAX, then keep it — typed at a hidden prompt or piped on stdin")
59
+ .action(async function () {
60
+ const { store, client, ask, renderer, settings, streams } = botContext(this);
61
+ const token = (await ask("Bot token: ", { secret: true })).trim();
62
+ if (!token)
63
+ throw new CliError("validation_error", "no token given");
64
+ const bot = await client(token).me();
65
+ const source = store.write(token);
66
+ botContext(this).registry.touch();
67
+ if (process.env.MAX_BOT_TOKEN) {
68
+ streams.diagnostic("MAX_BOT_TOKEN is set, and it wins over the token just kept until it is unset");
69
+ }
70
+ renderer.result({
71
+ profile: settings.profile,
72
+ stored: source,
73
+ bot: bot.first_name,
74
+ id: bot.user_id,
75
+ username: bot.username,
76
+ });
77
+ });
78
+ auth
79
+ .command("show")
80
+ .description("where this profile's bot token comes from, and which bot it is")
81
+ .action(async function () {
82
+ const { store, authenticated, renderer, settings } = botContext(this);
83
+ const source = store.read()?.source;
84
+ const bot = await authenticated().me();
85
+ renderer.result({
86
+ profile: settings.profile,
87
+ source,
88
+ bot: bot.first_name,
89
+ id: bot.user_id,
90
+ username: bot.username,
91
+ });
92
+ });
93
+ auth
94
+ .command("remove")
95
+ .description("forget this profile's bot token")
96
+ .action(function () {
97
+ const { store, renderer, settings } = botContext(this);
98
+ renderer.result({ profile: settings.profile, removed: store.remove() });
99
+ });
100
+ command.addCommand(auth);
101
+ command
102
+ .command("me")
103
+ .description("the bot this profile's token belongs to: name, id, description, commands")
104
+ .action(async function () {
105
+ const { authenticated, renderer } = botContext(this);
106
+ renderer.result(await authenticated().me());
107
+ });
108
+ command
109
+ .command("list")
110
+ .description("every name on this machine that has a bot token; --check asks MAX which bot each is")
111
+ .option("--check", "ask MAX who each bot is")
112
+ .action(async function () {
113
+ const { renderer, streams } = botContext(this);
114
+ const check = this.opts().check === true;
115
+ const environment = environmentOf(this);
116
+ const names = [...new Set(["default", ...configuredProfiles(), ...registryProfiles()])].sort();
117
+ if (process.env.MAX_BOT_TOKEN)
118
+ streams.diagnostic("MAX_BOT_TOKEN is set, so every name uses that one token");
119
+ const rows = [];
120
+ for (const name of names) {
121
+ const store = environment.botStore?.(name) ?? new BotTokenStore({ profile: name });
122
+ const stored = store.read();
123
+ if (!stored)
124
+ continue;
125
+ const row = { name, token: stored.source };
126
+ if (check) {
127
+ try {
128
+ const bot = await botContext(this).client(stored.token).me();
129
+ Object.assign(row, { bot: bot.username ?? bot.first_name, id: bot.user_id });
130
+ }
131
+ catch (error) {
132
+ row.problem = error.code ?? "failed";
133
+ }
134
+ }
135
+ rows.push(row);
136
+ }
137
+ renderer.result(rows);
138
+ });
139
+ command.addCommand(messagesCommand());
140
+ command.addCommand(chatsCommand());
141
+ command.addCommand(recipientsCommand());
142
+ command.addCommand(sendsCommand());
143
+ for (const more of [
144
+ membersCommand(),
145
+ adminsCommand(),
146
+ commentsCommand(),
147
+ callbacksCommand(),
148
+ menuCommand(),
149
+ uploadsCommand(),
150
+ webhooksCommand(),
151
+ updatesCommand(),
152
+ ])
153
+ command.addCommand(more);
154
+ const api = new Command("api").description("every operation of the official Bot API, generated from its schema — docs/dev/bot-api-coverage.md");
155
+ for (const operation of botOperations)
156
+ api.addCommand(apiCommand(operation));
157
+ command.addCommand(api);
158
+ return command;
159
+ };
160
+ //# sourceMappingURL=bot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../src/commands/bot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/commands/chats.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,eAAO,MAAM,YAAY,QAAO,OA4L/B,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/commands/chats.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,eAAO,MAAM,YAAY,QAAO,OA+Q/B,CAAA"}
@@ -2,10 +2,12 @@ import { CliError } from "@leemour/cli-core";
2
2
  import { annotate } from "@leemour/cli-core/commands";
3
3
  import { Command } from "commander";
4
4
  import { openProfileCache } from "../cache/index.js";
5
- import { ADMIN_RIGHTS } from "../client.js";
5
+ import { ADMIN_RIGHTS, EVENTS_DAYS } from "../client.js";
6
+ import { checkCommand } from "./check.js";
6
7
  import { forCommand } from "./context.js";
7
8
  import { foldersCommand } from "./folders.js";
8
9
  import { renderPage, window, withPaging } from "./paging.js";
10
+ import { rulesCommand } from "./rules.js";
9
11
  export const chatsCommand = () => {
10
12
  const command = new Command("chats").description("the chats this account is in");
11
13
  withPaging(command.command("list").description("the chats this account is in"))
@@ -51,6 +53,45 @@ export const chatsCommand = () => {
51
53
  }
52
54
  });
53
55
  });
56
+ command
57
+ .command("events")
58
+ .argument("<chat>", "chat id, or part of a chat name")
59
+ .option("--since <id-or-time>", `from this message id or ISO 8601 time; ${EVENTS_DAYS} days ago if not given`)
60
+ .option("--event <names>", "only these, comma-separated, as MAX names them: new, add, remove, pin…")
61
+ .description("who joined, left, was added or removed, and by whom — from the chat's service messages")
62
+ .action(async function (chat) {
63
+ const options = this.optsWithGlobals();
64
+ const { renderer, settings, format, createClient, run } = forCommand(this);
65
+ const cache = await openProfileCache(settings.profile, { onProblem: (message) => renderer.note(message) });
66
+ const only = options.event === undefined
67
+ ? undefined
68
+ : new Set(String(options.event)
69
+ .split(",")
70
+ .map((e) => e.trim()));
71
+ await run("chats events", async (events) => {
72
+ const client = createClient({ events, ...(cache ? { cache } : {}) });
73
+ try {
74
+ const found = await client.chats.events(chat, options.since === undefined ? {} : { since: client.messages.moment(String(options.since), "--since") });
75
+ const kept = only ? { ...found, events: found.events.filter((one) => only.has(one.event)) } : found;
76
+ if (format !== "pretty")
77
+ renderer.result(kept);
78
+ else {
79
+ renderer.stream(kept.events.map((one) => ({
80
+ time: one.timestamp,
81
+ event: one.event,
82
+ by: one.by.name ?? one.by.id,
83
+ people: one.people.map((person) => person.name ?? person.id).join(", "),
84
+ })));
85
+ }
86
+ if (kept.more)
87
+ renderer.note(`more history than one run reads — run again with --since after the last one`);
88
+ }
89
+ finally {
90
+ await client.close();
91
+ cache?.close();
92
+ }
93
+ });
94
+ });
54
95
  command
55
96
  .command("inspect")
56
97
  .argument("<link>", "an invite link, https://max.ru/join/…, or a public one, https://max.ru/<name>")
@@ -85,7 +126,28 @@ export const chatsCommand = () => {
85
126
  .action(async function (title, people) {
86
127
  await withClient(this, "chats create", (client) => client.chats.create(title, people));
87
128
  });
88
- const members = command.command("members").description("add people to a group or channel, or remove them");
129
+ const members = command.command("members").description("who is in a group or channel; add or remove people");
130
+ members
131
+ .command("list")
132
+ .argument("<chat>", "chat id, or part of a chat name")
133
+ .description("everyone in a group or channel, from MAX: when their account was made and when they were last seen")
134
+ .action(async function (chat) {
135
+ const { renderer, createClient, run } = forCommand(this);
136
+ await run("chats members list", async (events) => {
137
+ const client = createClient({ events });
138
+ try {
139
+ const found = await client.chats.members.list(chat);
140
+ renderer.stream(found.members);
141
+ if (!found.complete)
142
+ renderer.note(`only the first ${found.members.length} members were read`);
143
+ if (!found.rolesKnown)
144
+ renderer.note("who is owner or admin is not known: the login did not carry this group");
145
+ }
146
+ finally {
147
+ await client.close();
148
+ }
149
+ });
150
+ });
89
151
  annotate(members.command("add"), { mutates: true })
90
152
  .argument("<chat>", "chat id, or part of a chat name")
91
153
  .argument("<person...>", "an id, or part of a name")
@@ -163,6 +225,19 @@ export const chatsCommand = () => {
163
225
  await withClient(this, "chats requests decline", (client) => client.chats.requests.decline(chat, people));
164
226
  });
165
227
  const link = command.command("link").description("a group's invite link");
228
+ link
229
+ .command("show")
230
+ .argument("<chat>", "chat id, or part of a chat name")
231
+ .description("the invite link, if you may see it")
232
+ .action(async function (chat) {
233
+ await withClient(this, "chats link show", async (client) => {
234
+ const { id, title, link: current } = await client.chats.settings(chat);
235
+ if (current === null) {
236
+ throw new CliError("not_found", `${title ?? id} shows you no invite link — only admins, or members when the group allows it`);
237
+ }
238
+ return { chatId: id, title, link: current };
239
+ });
240
+ });
166
241
  annotate(link.command("reset"), { mutates: true })
167
242
  .argument("<chat>", "chat id, or part of a chat name")
168
243
  .description("replace the invite link; the old one stops working")
@@ -170,6 +245,8 @@ export const chatsCommand = () => {
170
245
  await withClient(this, "chats link reset", (client) => client.chats.resetLink(chat));
171
246
  });
172
247
  command.addCommand(foldersCommand());
248
+ command.addCommand(rulesCommand());
249
+ command.addCommand(checkCommand());
173
250
  return command;
174
251
  };
175
252
  const withClient = async (command, label, act) => {
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/commands/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/commands/chats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "commander";
2
+ /**
3
+ * **The one command that acts on a group's rules** (`NEED-306`): what the owner types is the
4
+ * consent for what the rules name, within each action's consent level (`NEED-308`). Nothing
5
+ * watches groups in the background.
6
+ */
7
+ export declare const checkCommand: () => Command;
8
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,OA0C1B,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { CliError } from "@leemour/cli-core";
2
+ import { annotate } from "@leemour/cli-core/commands";
3
+ import { Command } from "commander";
4
+ import { openProfileCache } from "../cache/index.js";
5
+ import { describe, finish, MAX_ACTIONS, personal, prepare } from "../moderation/check.js";
6
+ import { forCommand } from "./context.js";
7
+ /**
8
+ * **The one command that acts on a group's rules** (`NEED-306`): what the owner types is the
9
+ * consent for what the rules name, within each action's consent level (`NEED-308`). Nothing
10
+ * watches groups in the background.
11
+ */
12
+ export const checkCommand = () => annotate(new Command("check"), { mutates: true })
13
+ .argument("<chat>", "chat id, or part of a chat name")
14
+ .option("--since <id-or-time>", "judge what came after this message id or ISO 8601 time; the saved point stays")
15
+ .option("--dry-run", "judge and plan; do nothing")
16
+ .option("--allow-dangerous", "do what a rule at consent level flag asks: delete messages, remove people")
17
+ .option("--max-actions <n>", `at most this many actions in one check; ${MAX_ACTIONS} if not given`)
18
+ .description("judge a group's new messages, members and join requests by its rules, and act as they allow")
19
+ .action(async function (chat) {
20
+ const options = this.optsWithGlobals();
21
+ const { renderer, settings, format, store, interactive, ask, createClient, run } = forCommand(this);
22
+ if (options.offline === true)
23
+ throw new CliError("validation_error", "`check` asks MAX what is new");
24
+ const maxActions = options.maxActions === undefined ? MAX_ACTIONS : Number(options.maxActions);
25
+ if (!Number.isInteger(maxActions) || maxActions < 0) {
26
+ throw new CliError("validation_error", `--max-actions takes a whole number — got ${String(options.maxActions)}`);
27
+ }
28
+ const cache = await openProfileCache(settings.profile, { onProblem: (message) => renderer.note(message) });
29
+ await run("chats check", async (events) => {
30
+ const client = createClient({ events, ...(cache ? { cache } : {}) });
31
+ try {
32
+ const prepared = await prepare(client, {
33
+ store,
34
+ profile: settings.profile,
35
+ chat,
36
+ ...(options.since === undefined ? {} : { since: client.messages.moment(String(options.since), "--since") }),
37
+ });
38
+ const { rows, notes } = await finish(personal(client), store, prepared, {
39
+ allowDangerous: options.allowDangerous === true,
40
+ dryRun: options.dryRun === true,
41
+ maxActions,
42
+ ...(interactive
43
+ ? { confirm: async (finding) => /^y(es)?$/i.test((await ask(`${describe(finding)}? [y/N] `)).trim()) }
44
+ : {}),
45
+ });
46
+ renderer.stream(format === "pretty" ? rows.map(pretty) : rows);
47
+ for (const note of notes)
48
+ renderer.note(note);
49
+ }
50
+ finally {
51
+ await client.close();
52
+ cache?.close();
53
+ }
54
+ });
55
+ });
56
+ const pretty = (row) => ({
57
+ what: row.kind,
58
+ who: row.personName ?? row.personId,
59
+ rule: row.rule,
60
+ action: row.action,
61
+ outcome: row.outcome,
62
+ ...(row.reason ? { why: row.reason } : {}),
63
+ });
64
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- import type { Renderer, RenderFormat, Streams } from "@leemour/cli-core";
1
+ import type { Renderer, RenderFormat, RetryConfig, Streams } from "@leemour/cli-core";
2
+ import type { FetchLike } from "@leemour/cli-core/http";
2
3
  import type { Command } from "commander";
4
+ import type { BotTokenStore } from "../bot/auth.js";
5
+ import type { ChatRegistry } from "../bot/registry.js";
3
6
  import { MaxClient, type MaxClientOptions } from "../client.js";
4
7
  import { type GlobalFlags, type Settings } from "../config.js";
5
8
  import { type Closeable } from "../deadline.js";
6
9
  import { type Reach } from "../download.js";
7
10
  import { type BrowserDoors } from "../session/browser.js";
8
11
  import { SessionStore } from "../session/store.js";
12
+ import type { HearAllOptions } from "../transcribe/index.js";
9
13
  import type { UpdateEnvironment } from "../update.js";
10
14
  /**
11
15
  * What a command writes to and talks through, when it is not the real terminal, keyring and MAX.
@@ -21,10 +25,18 @@ export interface Environment {
21
25
  browser?: BrowserDoors;
22
26
  /** Where a download may go; a test serving files from this machine allows it. */
23
27
  reach?: Reach;
28
+ /** A stand-in speech model, so a test hears without one. */
29
+ recognizer?: HearAllOptions["open"];
24
30
  ask?: Ask;
25
31
  interactive?: boolean;
26
32
  columns?: number;
27
33
  update?: UpdateEnvironment;
34
+ /** The bot token store over a memory keyring, and a local stand-in for the Bot API. */
35
+ botStore?: (profile: string) => BotTokenStore;
36
+ botFetch?: FetchLike;
37
+ botUrl?: string;
38
+ botRetry?: RetryConfig;
39
+ botRegistry?: (profile: string) => ChatRegistry;
28
40
  }
29
41
  /** One line from the person at the terminal; `secret` keeps it off the screen. */
30
42
  export type Ask = (prompt: string, options?: {
@@ -70,6 +82,8 @@ export interface CommandContext {
70
82
  track: (closeable: Closeable) => void;
71
83
  browser: BrowserDoors;
72
84
  reach: Reach;
85
+ /** How voice messages are fetched and heard: through `reach`, and by the downloaded model. */
86
+ hearing: Pick<HearAllOptions, "fetchAudio" | "open">;
73
87
  ask: Ask;
74
88
  /** Whether a person is there to scan a code or type one: both stdin and stderr are a terminal. */
75
89
  interactive: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { existsSync } from "node:fs";
2
2
  import { MaxClient } from "../client.js";
3
3
  import { resolveSettings } from "../config.js";
4
4
  import { withDeadline } from "../deadline.js";
5
- import { publicOnly } from "../download.js";
5
+ import { fetchBytes, publicOnly } from "../download.js";
6
6
  import { resolveOutput } from "../output.js";
7
7
  import { rootOf } from "../profile.js";
8
8
  import { recorded } from "../runs/recording.js";
@@ -94,6 +94,10 @@ export const contextFor = (flags, environment = {}) => {
94
94
  },
95
95
  browser: environment.browser ?? realBrowser,
96
96
  reach: environment.reach ?? publicOnly,
97
+ hearing: {
98
+ fetchAudio: (link) => fetchBytes(link, environment.reach ?? publicOnly),
99
+ ...(environment.recognizer ? { open: environment.recognizer } : {}),
100
+ },
97
101
  ask: environment.ask ?? ((prompt, { secret = false } = {}) => readSecret(prompt, { echo: !secret })),
98
102
  interactive: environment.interactive ?? (process.stdin.isTTY === true && process.stderr.isTTY === true),
99
103
  columns: environment.columns ?? process.stderr.columns,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { CacheStore } from "../cache/index.js";
2
+ import type { MaxClient } from "../client.js";
3
+ import type { Message } from "../domain/models.js";
4
+ import { type Heard } from "../transcribe/index.js";
5
+ import type { CommandContext } from "./context.js";
6
+ export interface HearingRequest {
7
+ transcribe: boolean;
8
+ model: string;
9
+ offline: boolean;
10
+ cache: CacheStore | undefined;
11
+ }
12
+ /** `--transcribe` and `--model`, spelled once for every command that shows messages. */
13
+ export declare const hearingOptions: {
14
+ readonly transcribe: readonly ["--transcribe", "hear voice messages not heard yet, on this machine; slow, the model must be downloaded"];
15
+ readonly model: readonly ["--model <id>", "which downloaded speech model hears them; `max models audio list` shows them"];
16
+ };
17
+ /**
18
+ * Kept transcripts always — they are free and already on this machine; new ones only with
19
+ * `--transcribe`. Called when nothing after it needs MAX: it closes the connection before the model
20
+ * runs. What could not be heard is a note, never a failure.
21
+ */
22
+ export declare const hearMessages: (context: CommandContext, client: MaxClient, messages: readonly Message[], { transcribe, model, offline, cache }: HearingRequest) => Promise<Heard>;
23
+ /** What `--json` adds when `--transcribe` was asked for. */
24
+ export declare const hearingFields: (heard: Heard, transcribe: boolean) => {};
25
+ //# sourceMappingURL=hearing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hearing.d.ts","sourceRoot":"","sources":["../../src/commands/hearing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,KAAK,EAAiC,MAAM,wBAAwB,CAAA;AAGlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAA;CAC9B;AAED,wFAAwF;AACxF,eAAO,MAAM,cAAc;aACzB,UAAU,YACR,cAAc,EACd,wFAAwF;aAE1F,KAAK,YAAG,cAAc,EAAE,8EAA8E;CAC9F,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,YAAY,YACd,cAAc,UACf,SAAS,YACP,SAAS,OAAO,EAAE,yCACW,cAAc,KACpD,OAAO,CAAC,KAAK,CAmBf,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,aAAa,UAAW,KAAK,cAAc,OAAO,OAGvD,CAAA"}