@leemour/max-cli 0.7.0 → 0.8.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 (160) hide show
  1. package/README.md +198 -79
  2. package/dist/cache/schema.d.ts +13 -8
  3. package/dist/cache/schema.d.ts.map +1 -1
  4. package/dist/cache/schema.js +84 -23
  5. package/dist/cache/schema.js.map +1 -1
  6. package/dist/cache/store.d.ts +15 -0
  7. package/dist/cache/store.d.ts.map +1 -1
  8. package/dist/cache/store.js +32 -3
  9. package/dist/cache/store.js.map +1 -1
  10. package/dist/client.d.ts +28 -1
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +110 -5
  13. package/dist/client.js.map +1 -1
  14. package/dist/commands/chats.d.ts.map +1 -1
  15. package/dist/commands/chats.js +8 -0
  16. package/dist/commands/chats.js.map +1 -1
  17. package/dist/commands/config.d.ts.map +1 -1
  18. package/dist/commands/config.js +6 -2
  19. package/dist/commands/config.js.map +1 -1
  20. package/dist/commands/context.d.ts +14 -2
  21. package/dist/commands/context.d.ts.map +1 -1
  22. package/dist/commands/context.js +18 -19
  23. package/dist/commands/context.js.map +1 -1
  24. package/dist/commands/export.d.ts +3 -0
  25. package/dist/commands/export.d.ts.map +1 -0
  26. package/dist/commands/export.js +83 -0
  27. package/dist/commands/export.js.map +1 -0
  28. package/dist/commands/mcp.d.ts.map +1 -1
  29. package/dist/commands/mcp.js +9 -2
  30. package/dist/commands/mcp.js.map +1 -1
  31. package/dist/commands/messages.d.ts.map +1 -1
  32. package/dist/commands/messages.js +126 -3
  33. package/dist/commands/messages.js.map +1 -1
  34. package/dist/commands/models.d.ts +7 -0
  35. package/dist/commands/models.d.ts.map +1 -0
  36. package/dist/commands/models.js +47 -0
  37. package/dist/commands/models.js.map +1 -0
  38. package/dist/commands/serve.d.ts.map +1 -1
  39. package/dist/commands/serve.js +50 -2
  40. package/dist/commands/serve.js.map +1 -1
  41. package/dist/commands/session.d.ts.map +1 -1
  42. package/dist/commands/session.js +13 -3
  43. package/dist/commands/session.js.map +1 -1
  44. package/dist/commands/watch.d.ts.map +1 -1
  45. package/dist/commands/watch.js +12 -16
  46. package/dist/commands/watch.js.map +1 -1
  47. package/dist/config.d.ts +18 -2
  48. package/dist/config.d.ts.map +1 -1
  49. package/dist/config.js +58 -4
  50. package/dist/config.js.map +1 -1
  51. package/dist/domain/map.d.ts.map +1 -1
  52. package/dist/domain/map.js +5 -0
  53. package/dist/domain/map.js.map +1 -1
  54. package/dist/domain/models.d.ts +14 -0
  55. package/dist/domain/models.d.ts.map +1 -1
  56. package/dist/domain/models.js.map +1 -1
  57. package/dist/download.d.ts +2 -0
  58. package/dist/download.d.ts.map +1 -1
  59. package/dist/download.js +11 -0
  60. package/dist/download.js.map +1 -1
  61. package/dist/export.d.ts +26 -0
  62. package/dist/export.d.ts.map +1 -0
  63. package/dist/export.js +75 -0
  64. package/dist/export.js.map +1 -0
  65. package/dist/generated/client.generated.d.ts +2 -0
  66. package/dist/generated/client.generated.d.ts.map +1 -1
  67. package/dist/generated/client.generated.js +2 -0
  68. package/dist/generated/client.generated.js.map +1 -1
  69. package/dist/generated/opcodes.generated.d.ts +0 -9
  70. package/dist/generated/opcodes.generated.d.ts.map +1 -1
  71. package/dist/generated/opcodes.generated.js +0 -9
  72. package/dist/generated/opcodes.generated.js.map +1 -1
  73. package/dist/generated/operations.generated.d.ts +18 -1
  74. package/dist/generated/operations.generated.d.ts.map +1 -1
  75. package/dist/generated/operations.generated.js +4 -2
  76. package/dist/generated/operations.generated.js.map +1 -1
  77. package/dist/mcp/confirm.d.ts +7 -0
  78. package/dist/mcp/confirm.d.ts.map +1 -1
  79. package/dist/mcp/confirm.js +16 -7
  80. package/dist/mcp/confirm.js.map +1 -1
  81. package/dist/mcp/instructions.d.ts +5 -1
  82. package/dist/mcp/instructions.d.ts.map +1 -1
  83. package/dist/mcp/instructions.js +16 -2
  84. package/dist/mcp/instructions.js.map +1 -1
  85. package/dist/mcp/server.d.ts +3 -1
  86. package/dist/mcp/server.d.ts.map +1 -1
  87. package/dist/mcp/server.js +22 -3
  88. package/dist/mcp/server.js.map +1 -1
  89. package/dist/mcp/session.d.ts +1 -1
  90. package/dist/mcp/session.d.ts.map +1 -1
  91. package/dist/mcp/session.js +1 -1
  92. package/dist/mcp/session.js.map +1 -1
  93. package/dist/mcp/tools.d.ts +8 -1
  94. package/dist/mcp/tools.d.ts.map +1 -1
  95. package/dist/mcp/tools.js +87 -10
  96. package/dist/mcp/tools.js.map +1 -1
  97. package/dist/program.d.ts.map +1 -1
  98. package/dist/program.js +6 -2
  99. package/dist/program.js.map +1 -1
  100. package/dist/sends/guard.d.ts +7 -3
  101. package/dist/sends/guard.d.ts.map +1 -1
  102. package/dist/sends/guard.js +32 -11
  103. package/dist/sends/guard.js.map +1 -1
  104. package/dist/sends/journal.d.ts +6 -1
  105. package/dist/sends/journal.d.ts.map +1 -1
  106. package/dist/sends/journal.js.map +1 -1
  107. package/dist/sends/permissions.d.ts +11 -0
  108. package/dist/sends/permissions.d.ts.map +1 -0
  109. package/dist/sends/permissions.js +47 -0
  110. package/dist/sends/permissions.js.map +1 -0
  111. package/dist/server/server-connection.d.ts +25 -15
  112. package/dist/server/server-connection.d.ts.map +1 -1
  113. package/dist/server/server-connection.js +69 -63
  114. package/dist/server/server-connection.js.map +1 -1
  115. package/dist/server/server.d.ts +7 -0
  116. package/dist/server/server.d.ts.map +1 -1
  117. package/dist/server/server.js +82 -19
  118. package/dist/server/server.js.map +1 -1
  119. package/dist/server/start.d.ts +17 -1
  120. package/dist/server/start.d.ts.map +1 -1
  121. package/dist/server/start.js +46 -7
  122. package/dist/server/start.js.map +1 -1
  123. package/dist/session/adopt.d.ts.map +1 -1
  124. package/dist/session/adopt.js +4 -0
  125. package/dist/session/adopt.js.map +1 -1
  126. package/dist/session/handshake.d.ts +1 -1
  127. package/dist/spec/index.js +4 -4
  128. package/dist/spec/index.js.map +1 -1
  129. package/dist/spec/operations/chats.d.ts +12 -2
  130. package/dist/spec/operations/chats.d.ts.map +1 -1
  131. package/dist/spec/operations/chats.js +32 -5
  132. package/dist/spec/operations/chats.js.map +1 -1
  133. package/dist/spec/operations/messages.d.ts +13 -1
  134. package/dist/spec/operations/messages.d.ts.map +1 -1
  135. package/dist/spec/operations/messages.js +18 -4
  136. package/dist/spec/operations/messages.js.map +1 -1
  137. package/dist/transcribe/index.d.ts +34 -0
  138. package/dist/transcribe/index.d.ts.map +1 -0
  139. package/dist/transcribe/index.js +43 -0
  140. package/dist/transcribe/index.js.map +1 -0
  141. package/dist/transcribe/install.d.ts +18 -0
  142. package/dist/transcribe/install.d.ts.map +1 -0
  143. package/dist/transcribe/install.js +67 -0
  144. package/dist/transcribe/install.js.map +1 -0
  145. package/dist/transcribe/models.d.ts +32 -0
  146. package/dist/transcribe/models.d.ts.map +1 -0
  147. package/dist/transcribe/models.js +124 -0
  148. package/dist/transcribe/models.js.map +1 -0
  149. package/dist/transcribe/speech.d.ts +25 -0
  150. package/dist/transcribe/speech.d.ts.map +1 -0
  151. package/dist/transcribe/speech.js +105 -0
  152. package/dist/transcribe/speech.js.map +1 -0
  153. package/dist/update.d.ts +1 -11
  154. package/dist/update.d.ts.map +1 -1
  155. package/dist/update.js +14 -42
  156. package/dist/update.js.map +1 -1
  157. package/dist/version.d.ts +1 -1
  158. package/dist/version.js +1 -1
  159. package/package.json +8 -3
  160. package/skills/max-cli/SKILL.md +19 -3
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
@@ -117,13 +117,15 @@ export const openStore = ({ database, now = () => Date.now() }) => {
117
117
  }
118
118
  };
119
119
  /**
120
- * SQLite has no nested transactions and this is the only writer that needs one, so a plain
121
- * `BEGIN` is enough. The rollback is what item 4 of the plan turns on: a marker saved over rows
120
+ * SQLite has no nested transactions and this is the only writer that needs one. `IMMEDIATE`
121
+ * takes the write lock before the first read: a plain `BEGIN` reads a snapshot, and once another
122
+ * command commits, the upgrade to writer fails at once without `busy_timeout` ever waiting
123
+ * (`MAX-46`). The rollback is what item 4 of the plan turns on: a marker saved over rows
122
124
  * that were never written makes the next login ask for changes since data we do not have, and
123
125
  * nothing downstream ever notices.
124
126
  */
125
127
  const inTransaction = (body) => {
126
- database.exec("BEGIN");
128
+ database.exec("BEGIN IMMEDIATE");
127
129
  try {
128
130
  body();
129
131
  database.exec("COMMIT");
@@ -342,6 +344,25 @@ export const openStore = ({ database, now = () => Date.now() }) => {
342
344
  invalidate: (chatId) => {
343
345
  database.prepare("DELETE FROM fetched WHERE kind = ?").run(`messages:${chatId}`);
344
346
  },
347
+ forget: (chatId, messageIds) => {
348
+ const remove = database.prepare("DELETE FROM messages WHERE chat_id = ? AND id = ?");
349
+ for (const messageId of messageIds)
350
+ remove.run(chatId, messageId);
351
+ database.prepare("DELETE FROM fetched WHERE kind = ?").run(`messages:${chatId}`);
352
+ },
353
+ transcript: (chatId, messageId) => {
354
+ const row = database
355
+ .prepare("SELECT transcript, transcript_model FROM messages WHERE chat_id = ? AND id = ?")
356
+ .get(chatId, messageId);
357
+ return typeof row?.transcript === "string"
358
+ ? { text: row.transcript, model: String(row.transcript_model) }
359
+ : undefined;
360
+ },
361
+ keepTranscript: (chatId, messageId, text, model) => {
362
+ database
363
+ .prepare("UPDATE messages SET transcript = ?, transcript_model = ? WHERE chat_id = ? AND id = ?")
364
+ .run(text, model, chatId, messageId);
365
+ },
345
366
  search: ({ query, chatId, limit, offset }) => {
346
367
  const values = [phrase(query)];
347
368
  let sql = `SELECT m.*, c.title AS chat_title FROM messages_fts f
@@ -381,6 +402,14 @@ export const openStore = ({ database, now = () => Date.now() }) => {
381
402
  .all(chatId, time, after);
382
403
  return [...earlier.reverse(), ...later].map(toMessage);
383
404
  },
405
+ all: (chatId, since = 0) => database
406
+ .prepare("SELECT * FROM messages WHERE chat_id = ? AND time >= ? ORDER BY time ASC")
407
+ .all(chatId, since)
408
+ .map(toMessage),
409
+ ranges: (chatId) => database
410
+ .prepare("SELECT from_time, to_time FROM ranges WHERE chat_id = ? ORDER BY from_time ASC")
411
+ .all(chatId)
412
+ .map((row) => ({ from: Number(row.from_time), to: Number(row.to_time) })),
384
413
  },
385
414
  claim: (chatId, anchor, holder, forMs) => {
386
415
  const at = now();
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { CacheStore, PersonOrder, SyncSummary } from "./cache/store.js";
2
- import type { AccountSession, AttachmentLink, Chat, ChatCard, ChatKind, Contact, ContactImport, Folder, GroupCard, GroupSettings, Id, Inbox, Message, MessageHit, Page, PersonCard, Pin, Profile, Reactions, WindowedMessage } from "./domain/models.js";
2
+ import type { AccountSession, AttachmentLink, Chat, ChatCard, ChatKind, Contact, ContactImport, Deletion, Folder, GroupCard, GroupSettings, Id, Inbox, Message, MessageHit, Page, PersonCard, Pin, Profile, Reactions, ReadMark, WindowedMessage } from "./domain/models.js";
3
3
  import { type Wire } from "./protocol/connection.js";
4
4
  import { type Payload } from "./protocol/frame.js";
5
5
  import { type DiagnosticEvent } from "./runs/events.js";
@@ -110,6 +110,12 @@ export declare class MaxClient {
110
110
  /** What a link leads to, without joining it. */
111
111
  inspect: (link: string) => Promise<GroupCard>;
112
112
  join: (link: string) => Promise<GroupCard>;
113
+ /**
114
+ * Marks a chat read up to `messageId`, or up to its newest message. The one call here that
115
+ * sends `CHAT_MARK`; nothing that reads does (REQUIREMENTS §19). The other person sees it, so it
116
+ * passes the send guard like a pin, and is not retried.
117
+ */
118
+ markRead: (chatId: Id, messageId?: Id) => Promise<ReadMark>;
113
119
  leave: (reference: string) => Promise<ChatChange>;
114
120
  /**
115
121
  * Not retried, unlike a message: a second attempt with a new `cid` is a second group, and
@@ -206,6 +212,11 @@ export declare class MaxClient {
206
212
  limit?: number;
207
213
  offset?: number;
208
214
  }) => Promise<Page<MessageHit>>;
215
+ /**
216
+ * The chat's queue of scheduled messages, soonest first. Read-only: cancelling is `MSG_DELETE`,
217
+ * which nothing here sends. Never cached — the queue empties by itself as messages go out.
218
+ */
219
+ scheduled: (chatId: Id) => Promise<Message[]>;
209
220
  /**
210
221
  * **Paged backwards through time, not by page number.** MAX's history is already anchored —
211
222
  * it takes a moment and answers with what came before it — so `--before` is exact where a page
@@ -271,6 +282,10 @@ export declare class MaxClient {
271
282
  * server remembers a `cid`; the two probes were seconds apart. If the retry also fails the
272
283
  * answer is `outcome_unknown` — never failed, never sent — and it names the `cid`, because
273
284
  * `max messages send … --cid <n>` can then repeat the attempt without risking a second message.
285
+ *
286
+ * **`at` queues it on MAX** (epoch ms), which sends it then even with this machine off. That is
287
+ * never retried: deduplication by `cid` was measured for ordinary messages only, and a second
288
+ * copy would surface later, where nobody is watching. The guard counts it now, when it is queued.
274
289
  */
275
290
  send: (chatId: Id, text: string, options?: {
276
291
  cid?: number;
@@ -278,6 +293,7 @@ export declare class MaxClient {
278
293
  replyTo?: Id;
279
294
  markdown?: boolean;
280
295
  files?: string[];
296
+ at?: number;
281
297
  }) => Promise<Message>;
282
298
  /** Puts one emoji reaction on a message; it replaces the one you had. */
283
299
  react: (chatId: Id, messageId: Id, emoji: string) => Promise<Reactions>;
@@ -303,6 +319,15 @@ export declare class MaxClient {
303
319
  cid?: number;
304
320
  notify?: boolean;
305
321
  }) => Promise<Message>;
322
+ /**
323
+ * Deletes messages — for this account only, or with `forEveryone` for everyone in the chat. The
324
+ * owner's word is the command's `--allow-dangerous`; here it is the guard, and each message
325
+ * counts toward the hourly limit (`MAX-47`). Whose message it is, MAX decides: an admin may
326
+ * delete somebody else's in a group. Not retried, like an edit.
327
+ */
328
+ delete: (chatId: Id, messageIds: Id[], { forEveryone }?: {
329
+ forEveryone?: boolean | undefined;
330
+ }) => Promise<Deletion>;
306
331
  /**
307
332
  * Pins one message in a chat, or with `null` unpins whatever is pinned — `pinMessageId: 0` is
308
333
  * how the web client unpins. No notification unless asked (`NEED-196`). Not retried.
@@ -432,6 +457,8 @@ export interface PageRequest {
432
457
  * `undefined` for anything that is not a message id.
433
458
  */
434
459
  export declare const timeOfMessageId: (id: Id) => number | undefined;
460
+ /** Bounded so that deleting a long history is many spread-out calls, never one sweep (`MAX-47`). */
461
+ export declare const DELETE_AT_ONCE = 10;
435
462
  export interface ProfileChange {
436
463
  firstName?: string;
437
464
  lastName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -201,6 +201,29 @@ export class MaxClient {
201
201
  return { chatId: chat.id, result: chat };
202
202
  });
203
203
  },
204
+ /**
205
+ * Marks a chat read up to `messageId`, or up to its newest message. The one call here that
206
+ * sends `CHAT_MARK`; nothing that reads does (REQUIREMENTS §19). The other person sees it, so it
207
+ * passes the send guard like a pin, and is not retried.
208
+ */
209
+ markRead: async (chatId, messageId) => {
210
+ if (this.#offline)
211
+ throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot mark a chat read");
212
+ this.#guard(chatId, "read", messageId);
213
+ try {
214
+ await this.#connectOnce();
215
+ const upTo = messageId ?? (await this.#history(chatId, { from: Date.now(), backward: 1, forward: 0 })).at(-1)?.id;
216
+ if (!upTo)
217
+ throw new CliError("not_found", `chat ${chatId} has no messages to mark read`);
218
+ const answer = await this.#wire.chats.mark({ type: "READ_MESSAGE", chatId, messageId: upTo, mark: Date.now() });
219
+ this.#sends?.record({ chatId, kind: "read", outcome: "sent", messageId: upTo });
220
+ return { chatId, messageId: upTo, unread: typeof answer.unread === "number" ? answer.unread : null };
221
+ }
222
+ catch (error) {
223
+ this.#sends?.record({ chatId, kind: "read", outcome: "failed", errorCode: asCliError(error).code });
224
+ throw error;
225
+ }
226
+ },
204
227
  leave: async (reference) => {
205
228
  const chatId = await this.chats.resolve(reference);
206
229
  return this.#changeChat(chatId, "leave", async () => {
@@ -441,6 +464,32 @@ export class MaxClient {
441
464
  const total = cache.messages.countSearch({ query: checked, ...(chatId ? { chatId } : {}) });
442
465
  return { items, hasMore: offset + items.length < total };
443
466
  },
467
+ /**
468
+ * The chat's queue of scheduled messages, soonest first. Read-only: cancelling is `MSG_DELETE`,
469
+ * which nothing here sends. Never cached — the queue empties by itself as messages go out.
470
+ */
471
+ scheduled: async (chatId) => {
472
+ if (this.#offline)
473
+ throw new CliError("validation_error", "`--offline` has no record of the queue; it lives on MAX");
474
+ await this.#connectOnce();
475
+ const session = this.#session();
476
+ const answer = await this.#wire.chats.history({
477
+ chatId,
478
+ from: 1,
479
+ forward: 100,
480
+ backward: 0,
481
+ forwardTime: 0,
482
+ backwardTime: 0,
483
+ itemType: "DELAYED",
484
+ getChat: false,
485
+ getMessages: true,
486
+ interactive: false,
487
+ });
488
+ const lookup = { names: namesFrom(session.contacts), ...viewer(this.#store) };
489
+ return asArray(answer.messages)
490
+ .map((raw) => toMessage(raw, chatId, lookup))
491
+ .sort((a, b) => (a.scheduledFor ?? "").localeCompare(b.scheduledFor ?? ""));
492
+ },
444
493
  /**
445
494
  * **Paged backwards through time, not by page number.** MAX's history is already anchored —
446
495
  * it takes a moment and answers with what came before it — so `--before` is exact where a page
@@ -567,10 +616,21 @@ export class MaxClient {
567
616
  * server remembers a `cid`; the two probes were seconds apart. If the retry also fails the
568
617
  * answer is `outcome_unknown` — never failed, never sent — and it names the `cid`, because
569
618
  * `max messages send … --cid <n>` can then repeat the attempt without risking a second message.
619
+ *
620
+ * **`at` queues it on MAX** (epoch ms), which sends it then even with this machine off. That is
621
+ * never retried: deduplication by `cid` was measured for ordinary messages only, and a second
622
+ * copy would surface later, where nobody is watching. The guard counts it now, when it is queued.
570
623
  */
571
624
  send: async (chatId, text, options = {}) => {
572
625
  if (this.#offline)
573
626
  throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot send");
627
+ if (options.at !== undefined && options.notify === false) {
628
+ // The web client always sends a scheduled message with `notify: true`; §34.
629
+ throw new CliError("validation_error", "a scheduled message cannot be silent — MAX's own client never sends one");
630
+ }
631
+ if (options.at !== undefined && options.cid !== undefined) {
632
+ throw new CliError("validation_error", `--cid repeats an ambiguous send, which is not safe for a scheduled one — \`max messages scheduled ${chatId}\` shows whether it is queued`);
633
+ }
574
634
  // Before connecting: a refused send never opens a socket when the chat was given as an id.
575
635
  try {
576
636
  this.#sends?.check(chatId);
@@ -589,7 +649,10 @@ export class MaxClient {
589
649
  kind: photo ? "photo" : "file",
590
650
  bytes: bytes.length,
591
651
  }));
592
- const summary = attachments.length > 0 ? { attachments } : {};
652
+ const summary = {
653
+ ...(attachments.length > 0 ? { attachments } : {}),
654
+ ...(options.at === undefined ? {} : { scheduledFor: new Date(options.at).toISOString() }),
655
+ };
593
656
  try {
594
657
  const sent = await this.#deliver(chatId, text, cid, { ...options, files });
595
658
  this.#sends?.record({ chatId, outcome: "sent", messageId: sent.id, cid, length: text.length, ...summary });
@@ -689,6 +752,41 @@ export class MaxClient {
689
752
  throw error;
690
753
  }
691
754
  },
755
+ /**
756
+ * Deletes messages — for this account only, or with `forEveryone` for everyone in the chat. The
757
+ * owner's word is the command's `--allow-dangerous`; here it is the guard, and each message
758
+ * counts toward the hourly limit (`MAX-47`). Whose message it is, MAX decides: an admin may
759
+ * delete somebody else's in a group. Not retried, like an edit.
760
+ */
761
+ delete: async (chatId, messageIds, { forEveryone = false } = {}) => {
762
+ if (this.#offline)
763
+ throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot delete");
764
+ if (messageIds.length === 0)
765
+ throw new CliError("validation_error", "name at least one message to delete");
766
+ if (messageIds.length > DELETE_AT_ONCE) {
767
+ throw new CliError("validation_error", `${messageIds.length} messages at once — at most ${DELETE_AT_ONCE} per call, so MAX sees deletions spread out`);
768
+ }
769
+ const count = messageIds.length;
770
+ this.#guard(chatId, "delete", undefined, count);
771
+ try {
772
+ await this.#connectOnce();
773
+ await this.#wire.messages.delete({ chatId, messageIds, forMe: !forEveryone });
774
+ this.#cache?.messages.forget(chatId, messageIds);
775
+ this.#sends?.record({ chatId, kind: "delete", outcome: "sent", count, forEveryone });
776
+ return { chatId, deleted: messageIds, forEveryone };
777
+ }
778
+ catch (error) {
779
+ this.#sends?.record({
780
+ chatId,
781
+ kind: "delete",
782
+ outcome: "failed",
783
+ count,
784
+ forEveryone,
785
+ errorCode: asCliError(error).code,
786
+ });
787
+ throw error;
788
+ }
789
+ },
692
790
  /**
693
791
  * Pins one message in a chat, or with `null` unpins whatever is pinned — `pinMessageId: 0` is
694
792
  * how the web client unpins. No notification unless asked (`NEED-196`). Not retried.
@@ -849,9 +947,9 @@ export class MaxClient {
849
947
  }
850
948
  }
851
949
  /** Asks the send guard, and writes a refusal to the send journal before passing it on. */
852
- #guard(chatId, kind, messageId) {
950
+ #guard(chatId, kind, messageId, count) {
853
951
  try {
854
- this.#sends?.check(chatId, kind);
952
+ this.#sends?.check(chatId, kind, undefined, count);
855
953
  }
856
954
  catch (error) {
857
955
  this.#sends?.record({
@@ -903,7 +1001,8 @@ export class MaxClient {
903
1001
  elements: markup,
904
1002
  ...(options.replyTo ? { link: { type: "REPLY", messageId: options.replyTo } } : {}),
905
1003
  };
906
- const request = { chatId, message: { cid, attaches, ...content }, notify: options.notify ?? true };
1004
+ const delayed = options.at === undefined ? {} : { delayedAttributes: { timeToFire: options.at } };
1005
+ const request = { chatId, message: { cid, attaches, ...content, ...delayed }, notify: options.notify ?? true };
907
1006
  let answer;
908
1007
  try {
909
1008
  answer = await this.#untilAttachmentsReady(() => this.#wire.messages.send(request));
@@ -912,6 +1011,10 @@ export class MaxClient {
912
1011
  const failure = asCliError(error);
913
1012
  if (failure.code !== "timeout" && failure.code !== "network_error")
914
1013
  throw failure;
1014
+ if (options.at !== undefined) {
1015
+ throw new CliError("outcome_unknown", `the message may or may not have been scheduled (${failure.message}) — ` +
1016
+ `\`max messages scheduled ${chatId}\` shows the queue; sending it again could queue a second copy`, { cid });
1017
+ }
915
1018
  // No answer came back, so MAX may already have delivered it. Repeating the identical `cid`
916
1019
  // is what makes asking again safe rather than reckless.
917
1020
  try {
@@ -1507,7 +1610,7 @@ export class MaxClient {
1507
1610
  if (this.#offline)
1508
1611
  throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot change the account");
1509
1612
  try {
1510
- this.#sends?.check(null, "account");
1613
+ this.#sends?.check(null, "account", action);
1511
1614
  }
1512
1615
  catch (error) {
1513
1616
  this.#sends?.record({
@@ -1658,6 +1761,8 @@ export const timeOfMessageId = (id) => {
1658
1761
  const INBOX_CHATS = 20;
1659
1762
  /** MAX pushes this when a message arrives in any chat. PyMax calls it `NOTIF_MESSAGE`. */
1660
1763
  const NEW_MESSAGE = 128;
1764
+ /** Bounded so that deleting a long history is many spread-out calls, never one sweep (`MAX-47`). */
1765
+ export const DELETE_AT_ONCE = 10;
1661
1766
  /** Read up to a point — by us on another device, or by somebody else. */
1662
1767
  const READ_MARK = 130;
1663
1768
  /** A chat changed; MAX sends it whole. */