@leemour/cli-messaging 0.66.0 → 0.68.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 (48) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/messenger/processes.d.ts +6 -0
  3. package/dist/cli/messenger/processes.d.ts.map +1 -1
  4. package/dist/cli/messenger/processes.js +42 -1
  5. package/dist/cli/messenger/processes.js.map +1 -1
  6. package/dist/cli/messenger/store-maintenance-command.d.ts.map +1 -1
  7. package/dist/cli/messenger/store-maintenance-command.js +140 -4
  8. package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
  9. package/dist/parity/bin.d.ts +3 -0
  10. package/dist/parity/bin.d.ts.map +1 -0
  11. package/dist/parity/bin.js +17 -0
  12. package/dist/parity/bin.js.map +1 -0
  13. package/dist/parity/index.d.ts +2 -0
  14. package/dist/parity/index.d.ts.map +1 -0
  15. package/dist/parity/index.js +2 -0
  16. package/dist/parity/index.js.map +1 -0
  17. package/dist/parity/manifest.d.ts +42 -0
  18. package/dist/parity/manifest.d.ts.map +1 -0
  19. package/dist/parity/manifest.js +117 -0
  20. package/dist/parity/manifest.js.map +1 -0
  21. package/dist/store/sqlite/accounts.d.ts +6 -0
  22. package/dist/store/sqlite/accounts.d.ts.map +1 -0
  23. package/dist/store/sqlite/accounts.js +18 -0
  24. package/dist/store/sqlite/accounts.js.map +1 -0
  25. package/dist/store/sqlite/chats.d.ts +17 -0
  26. package/dist/store/sqlite/chats.d.ts.map +1 -0
  27. package/dist/store/sqlite/chats.js +105 -0
  28. package/dist/store/sqlite/chats.js.map +1 -0
  29. package/dist/store/sqlite/drizzle/bun.js +1 -1
  30. package/dist/store/sqlite/drizzle/core.d.ts +1 -1
  31. package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
  32. package/dist/store/sqlite/drizzle/core.js +11 -1
  33. package/dist/store/sqlite/drizzle/node.js +1 -1
  34. package/dist/store/sqlite/drizzle/{shared-ZF3LACGD.js → shared-I773JEFB.js} +6 -1
  35. package/dist/store/sqlite/identities.d.ts +23 -0
  36. package/dist/store/sqlite/identities.d.ts.map +1 -0
  37. package/dist/store/sqlite/identities.js +169 -0
  38. package/dist/store/sqlite/identities.js.map +1 -0
  39. package/dist/store/sqlite/values.d.ts +8 -0
  40. package/dist/store/sqlite/values.d.ts.map +1 -0
  41. package/dist/store/sqlite/values.js +11 -0
  42. package/dist/store/sqlite/values.js.map +1 -0
  43. package/dist/store/store.d.ts.map +1 -1
  44. package/dist/store/store.js +29 -200
  45. package/dist/store/store.js.map +1 -1
  46. package/package.json +13 -3
  47. package/parity.json +1246 -0
  48. /package/dist/store/sqlite/drizzle/{shared-ZF3LACGD.js.map → shared-I773JEFB.js.map} +0 -0
package/parity.json ADDED
@@ -0,0 +1,1246 @@
1
+ {
2
+ "options": {
3
+ "--add": {
4
+ "value": "<chat>",
5
+ "meaning": "put a chat into a folder; repeat it for more"
6
+ },
7
+ "--after": {
8
+ "value": "<id-or-time>",
9
+ "meaning": "read what came after this message id, this ISO 8601 time, or 2h / 1d ago; not with --before"
10
+ },
11
+ "--all": {
12
+ "meaning": "every row, no paging"
13
+ },
14
+ "--all-can-pin": {
15
+ "value": "<on|off>",
16
+ "meaning": "every member may pin messages"
17
+ },
18
+ "--allow-any-file": {
19
+ "meaning": "send a --file even from a hidden folder, ~/.ssh or the tool's own folders"
20
+ },
21
+ "--allow-dangerous": {
22
+ "meaning": "do what a rule at consent level flag asks: delete messages, remove people"
23
+ },
24
+ "--allow-delete": {
25
+ "meaning": "offer the tool that deletes messages for you only; it cannot be undone"
26
+ },
27
+ "--allow-mark-read": {
28
+ "meaning": "offer the tool that marks a chat read; the other person sees it"
29
+ },
30
+ "--allow-moderate": {
31
+ "meaning": "offer the tool that applies a group's rules — delete others' messages, remove people"
32
+ },
33
+ "--allow-send": {
34
+ "meaning": "offer the send tool; without it the server can only read"
35
+ },
36
+ "--anonymous": {
37
+ "meaning": "nobody sees who voted for what"
38
+ },
39
+ "--app": {
40
+ "value": "<how>",
41
+ "meaning": "the first time only: how to get this profile's app from my.telegram.org",
42
+ "default": "browser"
43
+ },
44
+ "--as-file": {
45
+ "meaning": "send every --file as a plain file to download, a video included"
46
+ },
47
+ "--at": {
48
+ "value": "<time>",
49
+ "meaning": "let the messenger send it later, even with this machine off: a local time like 2026-09-25T09:00, or 30m"
50
+ },
51
+ "--background": {
52
+ "meaning": "run as a job that outlives this command; `store jobs show` follows it"
53
+ },
54
+ "--before": {
55
+ "value": "<id-or-time>",
56
+ "meaning": "read what came before this message id, this ISO 8601 time, or 2h / 1d ago",
57
+ "note": "tg's `messages list` spells the value `<id>`"
58
+ },
59
+ "--bot": {
60
+ "meaning": "the bot section of the profile's settings, rather than the personal account's"
61
+ },
62
+ "--can": {
63
+ "value": "<rights>",
64
+ "meaning": "what they may do, comma-separated: read, members, admins, info, pin, link, post, edit, delete"
65
+ },
66
+ "--channel": {
67
+ "meaning": "a private channel instead of a group; people join it by its link"
68
+ },
69
+ "--chat": {
70
+ "value": "<chat>",
71
+ "meaning": "a chat, by id or name; repeat it for more",
72
+ "note": "tg's `messages search` spells the value `<id>`; rule 6 says `<chat>`"
73
+ },
74
+ "--check": {
75
+ "meaning": "say whether a newer version exists, and install nothing"
76
+ },
77
+ "--confirm-send": {
78
+ "meaning": "show the owner every write the MCP server offers, in a form to approve"
79
+ },
80
+ "--defaults": {
81
+ "meaning": "change what every profile gets, rather than this profile"
82
+ },
83
+ "--description": {
84
+ "value": "<text>",
85
+ "meaning": "the new about text — of a chat or of your account"
86
+ },
87
+ "--detach": {
88
+ "meaning": "run in the background instead — the same as `server start`"
89
+ },
90
+ "--dry-run": {
91
+ "meaning": "judge and plan; do nothing"
92
+ },
93
+ "--estimate": {
94
+ "meaning": "only say what the fetch would cost, from this machine's copy; nothing is sent"
95
+ },
96
+ "--event": {
97
+ "value": "<names>",
98
+ "meaning": "only these events, comma-separated, as the messenger names them"
99
+ },
100
+ "--events": {
101
+ "meaning": "also print edits, deletions and reactions; every line then names its event"
102
+ },
103
+ "--file": {
104
+ "value": "<path>",
105
+ "meaning": "attach a file; images go as a photo, videos as a video. Repeat it for more"
106
+ },
107
+ "--first-name": {
108
+ "value": "<name>",
109
+ "meaning": "your first name"
110
+ },
111
+ "--for-everyone": {
112
+ "meaning": "delete for everyone in the chat, not only for you — they cannot get it back"
113
+ },
114
+ "--format": {
115
+ "value": "<format>",
116
+ "meaning": "jsonl or md"
117
+ },
118
+ "--history": {
119
+ "meaning": "the people added also see the messages from before they came"
120
+ },
121
+ "--idle": {
122
+ "value": "<duration>",
123
+ "meaning": "stop after this long with nobody using it — 15m, 1h is 60m"
124
+ },
125
+ "--json": {
126
+ "meaning": "machine-readable output: one JSON value on stdout, nothing else"
127
+ },
128
+ "--jsonl": {
129
+ "meaning": "machine-readable output: one JSON object per line, for streaming and jq"
130
+ },
131
+ "--kind": {
132
+ "value": "<kind>",
133
+ "meaning": "only chats of this kind: dialog, group or channel",
134
+ "note": "max spells the value `<dialog|group|channel>`; the choices belong in the description"
135
+ },
136
+ "--last": {
137
+ "value": "<n>",
138
+ "meaning": "the newest n messages",
139
+ "note": "clash with tg's `store fetch --max`"
140
+ },
141
+ "--last-name": {
142
+ "value": "<name>",
143
+ "meaning": "your last name"
144
+ },
145
+ "--limit": {
146
+ "value": "<n>",
147
+ "meaning": "how many to show"
148
+ },
149
+ "--lines": {
150
+ "value": "<n>",
151
+ "meaning": "how many lines",
152
+ "default": "50"
153
+ },
154
+ "--local": {
155
+ "meaning": "use the model on this machine, never the messenger"
156
+ },
157
+ "--mark-read": {
158
+ "meaning": "also mark the chat read up to the newest message shown; the other person sees it"
159
+ },
160
+ "--max": {
161
+ "value": "<n>",
162
+ "meaning": "at most this many messages in this run",
163
+ "default": "1000",
164
+ "note": "clash: the same limit as `--last` and `--max-pages` in max's `store fetch` — one of the two spellings goes"
165
+ },
166
+ "--max-actions": {
167
+ "value": "<n>",
168
+ "meaning": "at most this many actions in one run",
169
+ "default": "10"
170
+ },
171
+ "--max-pages": {
172
+ "value": "<n>",
173
+ "meaning": "at most this many pages in one run",
174
+ "default": "40",
175
+ "note": "clash with tg's `store fetch --max`"
176
+ },
177
+ "--md": {
178
+ "meaning": "read **bold**, _italic_, ~~struck~~ and `code` in the text; \\ keeps a mark literal"
179
+ },
180
+ "--members-see-link": {
181
+ "value": "<on|off>",
182
+ "meaning": "members may see the invite link"
183
+ },
184
+ "--model": {
185
+ "value": "<id>",
186
+ "meaning": "which downloaded speech model hears them; `models audio list` shows them"
187
+ },
188
+ "--multiple": {
189
+ "meaning": "people may pick several answers"
190
+ },
191
+ "--new": {
192
+ "meaning": "what arrived since the last check, each message once — for scheduled runs"
193
+ },
194
+ "--no-preview": {
195
+ "meaning": "no preview card for a link in the text"
196
+ },
197
+ "--no-record": {
198
+ "meaning": "do not keep it, whatever the configuration says"
199
+ },
200
+ "--no-serve": {
201
+ "meaning": "do not start it; log in on this command's own connection unless one is running"
202
+ },
203
+ "--notify": {
204
+ "meaning": "tell the chat's members about the pin"
205
+ },
206
+ "--offline": {
207
+ "meaning": "answer from what was recorded and never connect; fails if nothing was"
208
+ },
209
+ "--online": {
210
+ "meaning": "also log in once, read one chat and start the MCP server; sends nothing"
211
+ },
212
+ "--only-admins-add": {
213
+ "value": "<on|off>",
214
+ "meaning": "only admins may add members"
215
+ },
216
+ "--only-admins-call": {
217
+ "value": "<on|off>",
218
+ "meaning": "only admins may start a call"
219
+ },
220
+ "--only-owner-edits-info": {
221
+ "value": "<on|off>",
222
+ "meaning": "only the owner may change the name and photo"
223
+ },
224
+ "--order": {
225
+ "value": "<recent|name>",
226
+ "meaning": "newest conversation first, or alphabetical"
227
+ },
228
+ "--others": {
229
+ "meaning": "every session but this one"
230
+ },
231
+ "--output": {
232
+ "meaning": "where to write: a directory for `messages download`, a file for `store export`",
233
+ "default": ".",
234
+ "note": "clash: `<dir>` in one command, `<file>` in another"
235
+ },
236
+ "--page": {
237
+ "value": "<n>",
238
+ "meaning": "which page, starting at 1"
239
+ },
240
+ "--pause": {
241
+ "value": "<duration>",
242
+ "meaning": "the least wait between pages, 5s or 500ms; each is up to twice that",
243
+ "default": "5s"
244
+ },
245
+ "--personal": {
246
+ "meaning": "the personal account's section of the profile's settings"
247
+ },
248
+ "--photo": {
249
+ "value": "<file>",
250
+ "meaning": "an image file — a profile photo in `account update`, a photo to send in `messages send`",
251
+ "note": "tg's `messages send --photo` takes `<path>`; rule 6 says `<file>`"
252
+ },
253
+ "--qr-file": {
254
+ "value": "<png>",
255
+ "meaning": "write the QR code to this PNG instead of drawing it, for an agent to pass on"
256
+ },
257
+ "--quiet": {
258
+ "meaning": "diagnostics off"
259
+ },
260
+ "--record": {
261
+ "meaning": "keep this run under `runs` — ids and timings, never message content"
262
+ },
263
+ "--regex": {
264
+ "meaning": "the words are one regular expression, case-insensitive, tested against every stored text"
265
+ },
266
+ "--remove": {
267
+ "value": "<chat>",
268
+ "meaning": "take a chat out of a folder; repeat it for more"
269
+ },
270
+ "--reply-to": {
271
+ "value": "<message>",
272
+ "meaning": "answer this message id in the same chat"
273
+ },
274
+ "--retract": {
275
+ "meaning": "take your vote back, where the poll allows it"
276
+ },
277
+ "--revote": {
278
+ "meaning": "people may change their vote"
279
+ },
280
+ "--run": {
281
+ "value": "<id>",
282
+ "meaning": "the run the report is about; the newest failed one if not given"
283
+ },
284
+ "--search": {
285
+ "value": "<text>",
286
+ "meaning": "only chats whose name contains this; at least 3 characters"
287
+ },
288
+ "--send-id": {
289
+ "value": "<id>",
290
+ "meaning": "reuse the id of an earlier send whose outcome is unknown; the messenger drops the duplicate",
291
+ "note": "max spells the value `<n>`"
292
+ },
293
+ "--serve": {
294
+ "meaning": "start `serve` in the background if it is not running (the default)"
295
+ },
296
+ "--show-phone": {
297
+ "meaning": "print the whole phone number"
298
+ },
299
+ "--silent": {
300
+ "meaning": "deliver without a notification"
301
+ },
302
+ "--since": {
303
+ "value": "<id-or-time>",
304
+ "meaning": "from this message id, an ISO 8601 time, or 2h / 1d ago; each command says its default",
305
+ "note": "tg's `chats events`, `store fetch`, `inbox` and `review` spell the value `<time>` though they take the same"
306
+ },
307
+ "--stop": {
308
+ "meaning": "stop this profile's server — the same as `server stop`"
309
+ },
310
+ "--timeout": {
311
+ "value": "<duration>",
312
+ "meaning": "give up on the whole command after this — 30s, 2m, 500ms"
313
+ },
314
+ "--title": {
315
+ "value": "<title>",
316
+ "meaning": "the new name — of a chat or a folder"
317
+ },
318
+ "--to": {
319
+ "value": "<chat>",
320
+ "meaning": "the chat to forward it to: an id, or part of a chat name"
321
+ },
322
+ "--trace": {
323
+ "meaning": "one line per request on stderr: ids and timings, never message content"
324
+ },
325
+ "--transcribe": {
326
+ "meaning": "hear voice messages not heard yet, on this machine; slow, the model must be downloaded"
327
+ },
328
+ "--unanswered": {
329
+ "value": "[hours]",
330
+ "meaning": "only questions to you or a group's admins that nobody answered, asked at least this long ago; 24 hours if not given"
331
+ },
332
+ "--unread": {
333
+ "meaning": "only chats with unread messages"
334
+ },
335
+ "--until": {
336
+ "value": "<message>",
337
+ "meaning": "only up to this message id, inclusive; the newest by default"
338
+ },
339
+ "--verbose": {
340
+ "meaning": "more detail in what is shown: -v ids, -vv everything known",
341
+ "default": "0"
342
+ },
343
+ "--version": {
344
+ "meaning": "print the version number"
345
+ },
346
+ "--voice": {
347
+ "value": "<file>",
348
+ "meaning": "send an Ogg Opus file as a voice message, alone, with no text",
349
+ "note": "max spells the value `<path>`; rule 6 says `<file>`"
350
+ },
351
+ "--yes": {
352
+ "meaning": "yes, do it — for an action that cannot be undone"
353
+ }
354
+ },
355
+ "globalOptions": {
356
+ "--json": "both",
357
+ "--jsonl": "both",
358
+ "--no-record": "both",
359
+ "--no-serve": {
360
+ "state": "planned",
361
+ "by": "P6"
362
+ },
363
+ "--offline": "both",
364
+ "--quiet": "both",
365
+ "--record": "both",
366
+ "--serve": {
367
+ "state": "planned",
368
+ "by": "P6"
369
+ },
370
+ "--timeout": "both",
371
+ "--trace": "both",
372
+ "--verbose": "both",
373
+ "--version": "both"
374
+ },
375
+ "commands": {
376
+ "account": {
377
+ "state": "both"
378
+ },
379
+ "account sessions": {
380
+ "state": "both"
381
+ },
382
+ "account sessions end": {
383
+ "state": "planned",
384
+ "by": "P2",
385
+ "options": {
386
+ "--others": {
387
+ "state": "planned",
388
+ "by": "P2"
389
+ },
390
+ "--yes": {
391
+ "state": "planned",
392
+ "by": "P2"
393
+ }
394
+ }
395
+ },
396
+ "account sessions list": {
397
+ "state": "both"
398
+ },
399
+ "account show": {
400
+ "state": "both",
401
+ "options": {
402
+ "--show-phone": {
403
+ "state": "planned",
404
+ "by": "P1"
405
+ }
406
+ }
407
+ },
408
+ "account update": {
409
+ "state": "planned",
410
+ "by": "P2",
411
+ "options": {
412
+ "--description": {
413
+ "state": "planned",
414
+ "by": "P2"
415
+ },
416
+ "--first-name": {
417
+ "state": "planned",
418
+ "by": "P2"
419
+ },
420
+ "--last-name": {
421
+ "state": "planned",
422
+ "by": "P2"
423
+ },
424
+ "--photo": {
425
+ "state": "planned",
426
+ "by": "P2"
427
+ }
428
+ }
429
+ },
430
+ "bot": {
431
+ "state": "planned",
432
+ "by": "tg bot — not scheduled",
433
+ "subtree": true
434
+ },
435
+ "cache": {
436
+ "state": "planned",
437
+ "by": "T6"
438
+ },
439
+ "cache clear": {
440
+ "state": "planned",
441
+ "by": "T6"
442
+ },
443
+ "chats": {
444
+ "state": "both"
445
+ },
446
+ "chats admins": {
447
+ "state": "planned",
448
+ "by": "P2"
449
+ },
450
+ "chats admins add": {
451
+ "state": "planned",
452
+ "by": "P2",
453
+ "options": {
454
+ "--can": {
455
+ "state": "planned",
456
+ "by": "P2"
457
+ }
458
+ }
459
+ },
460
+ "chats admins remove": {
461
+ "state": "planned",
462
+ "by": "P2"
463
+ },
464
+ "chats check": {
465
+ "state": "planned",
466
+ "by": "P2",
467
+ "options": {
468
+ "--allow-dangerous": {
469
+ "state": "planned",
470
+ "by": "P2"
471
+ },
472
+ "--dry-run": {
473
+ "state": "planned",
474
+ "by": "P2"
475
+ },
476
+ "--max-actions": {
477
+ "state": "planned",
478
+ "by": "P2"
479
+ },
480
+ "--since": {
481
+ "state": "planned",
482
+ "by": "P2"
483
+ }
484
+ }
485
+ },
486
+ "chats create": {
487
+ "state": "planned",
488
+ "by": "P2",
489
+ "options": {
490
+ "--channel": {
491
+ "state": "planned",
492
+ "by": "P2"
493
+ }
494
+ }
495
+ },
496
+ "chats events": {
497
+ "state": "both",
498
+ "options": {
499
+ "--event": "both",
500
+ "--since": "both"
501
+ }
502
+ },
503
+ "chats folders": {
504
+ "state": "planned",
505
+ "by": "P2"
506
+ },
507
+ "chats folders create": {
508
+ "state": "planned",
509
+ "by": "P2",
510
+ "options": {
511
+ "--chat": {
512
+ "state": "planned",
513
+ "by": "P2"
514
+ }
515
+ }
516
+ },
517
+ "chats folders delete": {
518
+ "state": "planned",
519
+ "by": "P2"
520
+ },
521
+ "chats folders list": {
522
+ "state": "planned",
523
+ "by": "P2"
524
+ },
525
+ "chats folders update": {
526
+ "state": "planned",
527
+ "by": "P2",
528
+ "options": {
529
+ "--add": {
530
+ "state": "planned",
531
+ "by": "P2"
532
+ },
533
+ "--remove": {
534
+ "state": "planned",
535
+ "by": "P2"
536
+ },
537
+ "--title": {
538
+ "state": "planned",
539
+ "by": "P2"
540
+ }
541
+ }
542
+ },
543
+ "chats inspect": {
544
+ "state": "both"
545
+ },
546
+ "chats join": {
547
+ "state": "planned",
548
+ "by": "P2"
549
+ },
550
+ "chats leave": {
551
+ "state": "planned",
552
+ "by": "P2"
553
+ },
554
+ "chats link": {
555
+ "state": "planned",
556
+ "by": "P2"
557
+ },
558
+ "chats link reset": {
559
+ "state": "planned",
560
+ "by": "P2"
561
+ },
562
+ "chats link show": {
563
+ "state": "planned",
564
+ "by": "P2"
565
+ },
566
+ "chats list": {
567
+ "state": "both",
568
+ "options": {
569
+ "--all": "both",
570
+ "--kind": "both",
571
+ "--limit": "both",
572
+ "--page": "both",
573
+ "--search": "both",
574
+ "--unread": "both"
575
+ }
576
+ },
577
+ "chats mark-read": {
578
+ "state": "both",
579
+ "options": {
580
+ "--until": "both"
581
+ }
582
+ },
583
+ "chats members": {
584
+ "state": "both"
585
+ },
586
+ "chats members add": {
587
+ "state": "planned",
588
+ "by": "P2",
589
+ "options": {
590
+ "--history": {
591
+ "state": "planned",
592
+ "by": "P2"
593
+ }
594
+ }
595
+ },
596
+ "chats members list": {
597
+ "state": "both",
598
+ "options": {
599
+ "--all": {
600
+ "state": "planned",
601
+ "by": "T6"
602
+ },
603
+ "--limit": {
604
+ "state": "planned",
605
+ "by": "T6"
606
+ },
607
+ "--page": {
608
+ "state": "planned",
609
+ "by": "T6"
610
+ }
611
+ }
612
+ },
613
+ "chats members remove": {
614
+ "state": "planned",
615
+ "by": "P2"
616
+ },
617
+ "chats rules": {
618
+ "state": "planned",
619
+ "by": "P2"
620
+ },
621
+ "chats rules set": {
622
+ "state": "planned",
623
+ "by": "P2"
624
+ },
625
+ "chats rules show": {
626
+ "state": "planned",
627
+ "by": "P2"
628
+ },
629
+ "chats rules unset": {
630
+ "state": "planned",
631
+ "by": "P2"
632
+ },
633
+ "chats show": {
634
+ "state": "both"
635
+ },
636
+ "chats update": {
637
+ "state": "planned",
638
+ "by": "P2",
639
+ "options": {
640
+ "--all-can-pin": {
641
+ "state": "planned",
642
+ "by": "P2"
643
+ },
644
+ "--description": {
645
+ "state": "planned",
646
+ "by": "P2"
647
+ },
648
+ "--members-see-link": {
649
+ "state": "planned",
650
+ "by": "P2"
651
+ },
652
+ "--only-admins-add": {
653
+ "state": "planned",
654
+ "by": "P2"
655
+ },
656
+ "--only-admins-call": {
657
+ "state": "planned",
658
+ "by": "P2"
659
+ },
660
+ "--only-owner-edits-info": {
661
+ "state": "planned",
662
+ "by": "P2"
663
+ },
664
+ "--title": {
665
+ "state": "planned",
666
+ "by": "P2"
667
+ }
668
+ }
669
+ },
670
+ "commands": {
671
+ "state": "both"
672
+ },
673
+ "complete": {
674
+ "state": "both"
675
+ },
676
+ "config": {
677
+ "state": "both"
678
+ },
679
+ "config set": {
680
+ "state": "both",
681
+ "options": {
682
+ "--bot": {
683
+ "state": "planned",
684
+ "by": "tg bot — not scheduled"
685
+ },
686
+ "--defaults": "both",
687
+ "--personal": {
688
+ "state": "planned",
689
+ "by": "tg bot — not scheduled"
690
+ }
691
+ }
692
+ },
693
+ "config show": {
694
+ "state": "both",
695
+ "options": {
696
+ "--bot": {
697
+ "state": "planned",
698
+ "by": "tg bot — not scheduled"
699
+ }
700
+ }
701
+ },
702
+ "config unset": {
703
+ "state": "both",
704
+ "options": {
705
+ "--bot": {
706
+ "state": "planned",
707
+ "by": "tg bot — not scheduled"
708
+ },
709
+ "--defaults": "both",
710
+ "--personal": {
711
+ "state": "planned",
712
+ "by": "tg bot — not scheduled"
713
+ }
714
+ }
715
+ },
716
+ "contacts": {
717
+ "state": "both"
718
+ },
719
+ "contacts add": {
720
+ "state": "planned",
721
+ "by": "P2"
722
+ },
723
+ "contacts block": {
724
+ "state": "planned",
725
+ "by": "P2"
726
+ },
727
+ "contacts import": {
728
+ "state": "planned",
729
+ "by": "P2"
730
+ },
731
+ "contacts list": {
732
+ "state": "both",
733
+ "options": {
734
+ "--all": "both",
735
+ "--limit": "both",
736
+ "--order": "both",
737
+ "--page": "both",
738
+ "--search": "both"
739
+ }
740
+ },
741
+ "contacts lookup": {
742
+ "state": "both"
743
+ },
744
+ "contacts remove": {
745
+ "state": "planned",
746
+ "by": "P2"
747
+ },
748
+ "contacts rename": {
749
+ "state": "planned",
750
+ "by": "P2"
751
+ },
752
+ "contacts show": {
753
+ "state": "both"
754
+ },
755
+ "contacts sync": {
756
+ "state": "both"
757
+ },
758
+ "contacts unblock": {
759
+ "state": "planned",
760
+ "by": "P2"
761
+ },
762
+ "doctor": {
763
+ "state": "both",
764
+ "options": {
765
+ "--online": "both"
766
+ }
767
+ },
768
+ "doctor report": {
769
+ "state": "both"
770
+ },
771
+ "doctor report create": {
772
+ "state": "both",
773
+ "options": {
774
+ "--output": "both",
775
+ "--run": "both"
776
+ }
777
+ },
778
+ "inbox": {
779
+ "state": "both",
780
+ "options": {
781
+ "--all": {
782
+ "state": "planned",
783
+ "by": "T6"
784
+ },
785
+ "--limit": "both",
786
+ "--model": {
787
+ "state": "planned",
788
+ "by": "P1"
789
+ },
790
+ "--new": "both",
791
+ "--since": "both",
792
+ "--transcribe": "both"
793
+ }
794
+ },
795
+ "mcp": {
796
+ "state": "both",
797
+ "options": {
798
+ "--allow-delete": "both",
799
+ "--allow-mark-read": "both",
800
+ "--allow-moderate": {
801
+ "state": "planned",
802
+ "by": "P2"
803
+ },
804
+ "--allow-send": "both",
805
+ "--confirm-send": "both"
806
+ }
807
+ },
808
+ "mcp config": {
809
+ "state": "both",
810
+ "options": {
811
+ "--allow-delete": "both",
812
+ "--allow-mark-read": "both",
813
+ "--allow-moderate": {
814
+ "state": "planned",
815
+ "by": "P2"
816
+ },
817
+ "--allow-send": "both",
818
+ "--confirm-send": "both"
819
+ }
820
+ },
821
+ "messages": {
822
+ "state": "both"
823
+ },
824
+ "messages context": {
825
+ "state": "both",
826
+ "options": {
827
+ "--after": "both",
828
+ "--before": "both"
829
+ }
830
+ },
831
+ "messages delete": {
832
+ "state": "both",
833
+ "options": {
834
+ "--allow-dangerous": "both",
835
+ "--for-everyone": "both"
836
+ }
837
+ },
838
+ "messages download": {
839
+ "state": "both",
840
+ "options": {
841
+ "--all": {
842
+ "state": "planned",
843
+ "by": "T6"
844
+ },
845
+ "--output": "both",
846
+ "--pause": {
847
+ "state": "planned",
848
+ "by": "T6"
849
+ }
850
+ }
851
+ },
852
+ "messages edit": {
853
+ "state": "both",
854
+ "options": {
855
+ "--md": {
856
+ "state": "planned",
857
+ "by": "P1"
858
+ }
859
+ }
860
+ },
861
+ "messages forward": {
862
+ "state": "both",
863
+ "options": {
864
+ "--send-id": {
865
+ "state": "planned",
866
+ "by": "P1"
867
+ },
868
+ "--silent": "both",
869
+ "--to": "both"
870
+ }
871
+ },
872
+ "messages list": {
873
+ "state": "both",
874
+ "options": {
875
+ "--after": "both",
876
+ "--before": "both",
877
+ "--limit": "both",
878
+ "--mark-read": {
879
+ "state": "planned",
880
+ "by": "P1"
881
+ },
882
+ "--model": {
883
+ "state": "planned",
884
+ "by": "P1"
885
+ },
886
+ "--transcribe": "both"
887
+ }
888
+ },
889
+ "messages pin": {
890
+ "state": "both",
891
+ "options": {
892
+ "--notify": "both"
893
+ }
894
+ },
895
+ "messages scheduled": {
896
+ "state": "both"
897
+ },
898
+ "messages search": {
899
+ "state": "both",
900
+ "options": {
901
+ "--chat": "both",
902
+ "--limit": "both",
903
+ "--regex": {
904
+ "state": "planned",
905
+ "by": "T6"
906
+ }
907
+ }
908
+ },
909
+ "messages send": {
910
+ "state": "both",
911
+ "options": {
912
+ "--allow-any-file": "both",
913
+ "--as-file": {
914
+ "state": "planned",
915
+ "by": "P1"
916
+ },
917
+ "--at": "both",
918
+ "--file": "both",
919
+ "--md": "both",
920
+ "--no-preview": {
921
+ "state": "planned",
922
+ "by": "T6"
923
+ },
924
+ "--photo": {
925
+ "state": "planned",
926
+ "by": "T6"
927
+ },
928
+ "--reply-to": "both",
929
+ "--send-id": "both",
930
+ "--silent": "both",
931
+ "--voice": {
932
+ "state": "planned",
933
+ "by": "P1"
934
+ }
935
+ }
936
+ },
937
+ "messages show": {
938
+ "state": "both"
939
+ },
940
+ "messages transcribe": {
941
+ "state": "both",
942
+ "options": {
943
+ "--local": {
944
+ "state": "tg-only",
945
+ "reason": "Telegram can transcribe on its side; MAX cannot, so max always uses the local model"
946
+ },
947
+ "--model": "both"
948
+ }
949
+ },
950
+ "messages unpin": {
951
+ "state": "both"
952
+ },
953
+ "models": {
954
+ "state": "both"
955
+ },
956
+ "models audio": {
957
+ "state": "both"
958
+ },
959
+ "models audio download": {
960
+ "state": "both"
961
+ },
962
+ "models audio list": {
963
+ "state": "both"
964
+ },
965
+ "polls": {
966
+ "state": "both"
967
+ },
968
+ "polls close": {
969
+ "state": "both"
970
+ },
971
+ "polls create": {
972
+ "state": "both",
973
+ "options": {
974
+ "--anonymous": "both",
975
+ "--multiple": "both",
976
+ "--revote": {
977
+ "state": "planned",
978
+ "by": "P1"
979
+ },
980
+ "--send-id": {
981
+ "state": "planned",
982
+ "by": "T6"
983
+ },
984
+ "--silent": "both"
985
+ }
986
+ },
987
+ "polls show": {
988
+ "state": "planned",
989
+ "by": "T6"
990
+ },
991
+ "polls vote": {
992
+ "state": "both",
993
+ "options": {
994
+ "--retract": "both"
995
+ }
996
+ },
997
+ "reactions": {
998
+ "state": "both"
999
+ },
1000
+ "reactions add": {
1001
+ "state": "both"
1002
+ },
1003
+ "reactions remove": {
1004
+ "state": "both"
1005
+ },
1006
+ "recipients": {
1007
+ "state": "both"
1008
+ },
1009
+ "recipients add": {
1010
+ "state": "both"
1011
+ },
1012
+ "recipients clear": {
1013
+ "state": "both"
1014
+ },
1015
+ "recipients list": {
1016
+ "state": "both"
1017
+ },
1018
+ "recipients remove": {
1019
+ "state": "both"
1020
+ },
1021
+ "review": {
1022
+ "state": "both",
1023
+ "options": {
1024
+ "--all": {
1025
+ "state": "planned",
1026
+ "by": "T6"
1027
+ },
1028
+ "--chat": "both",
1029
+ "--since": "both",
1030
+ "--transcribe": {
1031
+ "state": "planned",
1032
+ "by": "P1"
1033
+ },
1034
+ "--unanswered": "both"
1035
+ }
1036
+ },
1037
+ "runs": {
1038
+ "state": "both"
1039
+ },
1040
+ "runs list": {
1041
+ "state": "both",
1042
+ "options": {
1043
+ "--limit": "both"
1044
+ }
1045
+ },
1046
+ "runs path": {
1047
+ "state": "both"
1048
+ },
1049
+ "runs show": {
1050
+ "state": "both"
1051
+ },
1052
+ "sends": {
1053
+ "state": "both"
1054
+ },
1055
+ "sends list": {
1056
+ "state": "both",
1057
+ "options": {
1058
+ "--limit": "both"
1059
+ }
1060
+ },
1061
+ "serve": {
1062
+ "state": "both",
1063
+ "options": {
1064
+ "--detach": {
1065
+ "state": "planned",
1066
+ "by": "P6"
1067
+ },
1068
+ "--idle": {
1069
+ "state": "planned",
1070
+ "by": "P6"
1071
+ },
1072
+ "--stop": {
1073
+ "state": "planned",
1074
+ "by": "P6"
1075
+ }
1076
+ }
1077
+ },
1078
+ "server": {
1079
+ "state": "both"
1080
+ },
1081
+ "server install": {
1082
+ "state": "planned",
1083
+ "by": "P6"
1084
+ },
1085
+ "server logs": {
1086
+ "state": "planned",
1087
+ "by": "P6",
1088
+ "options": {
1089
+ "--lines": {
1090
+ "state": "planned",
1091
+ "by": "P6"
1092
+ }
1093
+ }
1094
+ },
1095
+ "server restart": {
1096
+ "state": "both",
1097
+ "options": {
1098
+ "--idle": {
1099
+ "state": "planned",
1100
+ "by": "P6"
1101
+ }
1102
+ }
1103
+ },
1104
+ "server start": {
1105
+ "state": "both",
1106
+ "options": {
1107
+ "--idle": {
1108
+ "state": "planned",
1109
+ "by": "P6"
1110
+ }
1111
+ }
1112
+ },
1113
+ "server status": {
1114
+ "state": "both"
1115
+ },
1116
+ "server stop": {
1117
+ "state": "both"
1118
+ },
1119
+ "server uninstall": {
1120
+ "state": "planned",
1121
+ "by": "P6"
1122
+ },
1123
+ "session": {
1124
+ "state": "both"
1125
+ },
1126
+ "session end": {
1127
+ "state": "both"
1128
+ },
1129
+ "session start": {
1130
+ "state": "both",
1131
+ "options": {
1132
+ "--app": {
1133
+ "state": "tg-only",
1134
+ "reason": "Telegram asks each client for its own app from my.telegram.org; MAX has no such step"
1135
+ },
1136
+ "--qr-file": {
1137
+ "state": "tg-only",
1138
+ "reason": "ruled tg-only with the app registration it belongs to"
1139
+ }
1140
+ }
1141
+ },
1142
+ "skill": {
1143
+ "state": "both"
1144
+ },
1145
+ "skill show": {
1146
+ "state": "both"
1147
+ },
1148
+ "store": {
1149
+ "state": "both"
1150
+ },
1151
+ "store backup": {
1152
+ "state": "planned",
1153
+ "by": "T6"
1154
+ },
1155
+ "store check": {
1156
+ "state": "planned",
1157
+ "by": "T6"
1158
+ },
1159
+ "store export": {
1160
+ "state": "both",
1161
+ "options": {
1162
+ "--format": "both",
1163
+ "--output": {
1164
+ "state": "planned",
1165
+ "by": "P1"
1166
+ },
1167
+ "--since": {
1168
+ "state": "planned",
1169
+ "by": "P1"
1170
+ }
1171
+ }
1172
+ },
1173
+ "store fetch": {
1174
+ "state": "both",
1175
+ "options": {
1176
+ "--background": {
1177
+ "state": "planned",
1178
+ "by": "T6"
1179
+ },
1180
+ "--estimate": "both",
1181
+ "--last": {
1182
+ "state": "planned",
1183
+ "by": "P1"
1184
+ },
1185
+ "--max": {
1186
+ "state": "planned",
1187
+ "by": "P1"
1188
+ },
1189
+ "--max-pages": {
1190
+ "state": "planned",
1191
+ "by": "P1"
1192
+ },
1193
+ "--pause": "both",
1194
+ "--since": "both"
1195
+ }
1196
+ },
1197
+ "store info": {
1198
+ "state": "planned",
1199
+ "by": "T6"
1200
+ },
1201
+ "store jobs": {
1202
+ "state": "planned",
1203
+ "by": "T6"
1204
+ },
1205
+ "store jobs cancel": {
1206
+ "state": "planned",
1207
+ "by": "T6"
1208
+ },
1209
+ "store jobs list": {
1210
+ "state": "planned",
1211
+ "by": "T6"
1212
+ },
1213
+ "store jobs show": {
1214
+ "state": "planned",
1215
+ "by": "T6"
1216
+ },
1217
+ "store migrate": {
1218
+ "state": "planned",
1219
+ "by": "T6"
1220
+ },
1221
+ "store restore": {
1222
+ "state": "planned",
1223
+ "by": "T6"
1224
+ },
1225
+ "store status": {
1226
+ "state": "planned",
1227
+ "by": "T6"
1228
+ },
1229
+ "topics": {
1230
+ "state": "tg-only",
1231
+ "reason": "MAX has no forum topics"
1232
+ },
1233
+ "upgrade": {
1234
+ "state": "both",
1235
+ "options": {
1236
+ "--check": "both"
1237
+ }
1238
+ },
1239
+ "watch": {
1240
+ "state": "both",
1241
+ "options": {
1242
+ "--events": "both"
1243
+ }
1244
+ }
1245
+ }
1246
+ }