@wirecat/cli-base 0.79.0 → 0.80.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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,15 @@ Versions before 0.8.0 are in the [git tags](https://github.com/WireCatLabs/cli-b
8
8
  Every entry says what changed as a caller sees it, why, and what to watch for — the rules are
9
9
  [`docs/dev/CONVENTIONS.md`](docs/dev/CONVENTIONS.md#the-changelog).
10
10
 
11
+ ## 0.80.0 — 06.11.2026
12
+
13
+ ### Added
14
+
15
+ - **`--write <id>` is a vocabulary flag** (role `target`): one write of a run, by the `operation_id` the run's answer
16
+ listed under `writes`, to undo or act on that write alone. mail's `messages restore --run <id> --write <id>` undoes
17
+ one write of a change run and leaves its others. It is not `--operation-id`, which repeats a write whose outcome was
18
+ unknown (WC-CMD-10).
19
+
11
20
  ## 0.79.0 — 06.11.2026
12
21
 
13
22
  ### Added
@@ -0,0 +1,3 @@
1
+ import type { VocabularyFlag } from "./vocabulary.js";
2
+ /** Who may see or reach the account, as a messenger's privacy settings take it. */
3
+ export declare const PRIVACY_FLAGS: VocabularyFlag[];
@@ -0,0 +1,60 @@
1
+ /** Who may see or reach the account, as a messenger's privacy settings take it. */
2
+ export const PRIVACY_FLAGS = [
3
+ {
4
+ name: "--about-text",
5
+ value: "<who>",
6
+ role: "value",
7
+ type: "choice",
8
+ meaning: "who sees the about text: everyone, contacts or nobody",
9
+ },
10
+ {
11
+ name: "--calls",
12
+ value: "<who>",
13
+ role: "value",
14
+ type: "choice",
15
+ meaning: "whose calls ring: everyone, contacts or nobody",
16
+ },
17
+ {
18
+ name: "--chat-invites",
19
+ value: "<who>",
20
+ role: "value",
21
+ type: "choice",
22
+ meaning: "who may add the account to groups and channels: everyone, contacts or nobody",
23
+ },
24
+ {
25
+ name: "--find-by-phone",
26
+ value: "<who>",
27
+ role: "value",
28
+ type: "choice",
29
+ meaning: "who finds the account by its number: everyone, contacts or nobody",
30
+ },
31
+ {
32
+ name: "--hide-online",
33
+ value: "<on|off>",
34
+ role: "value",
35
+ type: "choice",
36
+ meaning: "hide online status and last seen",
37
+ },
38
+ {
39
+ name: "--last-seen",
40
+ value: "<who>",
41
+ role: "value",
42
+ type: "choice",
43
+ meaning: "who sees when the account was last online: everyone, contacts or nobody",
44
+ },
45
+ {
46
+ name: "--phone-number",
47
+ value: "<who>",
48
+ role: "value",
49
+ type: "choice",
50
+ meaning: "who sees the number: everyone, contacts or nobody",
51
+ },
52
+ {
53
+ name: "--profile-photo",
54
+ value: "<who>",
55
+ role: "value",
56
+ type: "choice",
57
+ meaning: "who sees the profile photo: everyone, contacts or nobody",
58
+ },
59
+ { name: "--read-receipts", value: "<on|off>", role: "value", type: "choice", meaning: "send read receipts" },
60
+ ];
@@ -420,6 +420,13 @@ export const WHAT_FLAGS = [
420
420
  meaning: "look again from this day, for what arrived late",
421
421
  },
422
422
  { name: "--run", value: "<id>", role: "target", type: "id", meaning: "the run it is about" },
423
+ {
424
+ name: "--write",
425
+ value: "<id>",
426
+ role: "target",
427
+ type: "id",
428
+ meaning: "one write of a run, by the operation_id its answer listed: undo or act on that write alone",
429
+ },
423
430
  {
424
431
  name: "--target",
425
432
  value: "<ref>",
@@ -622,63 +629,6 @@ export const WHAT_FLAGS = [
622
629
  type: "path",
623
630
  meaning: "an Ogg Opus file sent as a voice message",
624
631
  },
625
- {
626
- name: "--about-text",
627
- value: "<who>",
628
- role: "value",
629
- type: "choice",
630
- meaning: "who sees the about text: everyone, contacts or nobody",
631
- },
632
- {
633
- name: "--calls",
634
- value: "<who>",
635
- role: "value",
636
- type: "choice",
637
- meaning: "whose calls ring: everyone, contacts or nobody",
638
- },
639
- {
640
- name: "--chat-invites",
641
- value: "<who>",
642
- role: "value",
643
- type: "choice",
644
- meaning: "who may add the account to groups and channels: everyone, contacts or nobody",
645
- },
646
- {
647
- name: "--find-by-phone",
648
- value: "<who>",
649
- role: "value",
650
- type: "choice",
651
- meaning: "who finds the account by its number: everyone, contacts or nobody",
652
- },
653
- {
654
- name: "--hide-online",
655
- value: "<on|off>",
656
- role: "value",
657
- type: "choice",
658
- meaning: "hide online status and last seen",
659
- },
660
- {
661
- name: "--last-seen",
662
- value: "<who>",
663
- role: "value",
664
- type: "choice",
665
- meaning: "who sees when the account was last online: everyone, contacts or nobody",
666
- },
667
- {
668
- name: "--phone-number",
669
- value: "<who>",
670
- role: "value",
671
- type: "choice",
672
- meaning: "who sees the number: everyone, contacts or nobody",
673
- },
674
- {
675
- name: "--profile-photo",
676
- value: "<who>",
677
- role: "value",
678
- type: "choice",
679
- meaning: "who sees the profile photo: everyone, contacts or nobody",
680
- },
681
- { name: "--read-receipts", value: "<on|off>", role: "value", type: "choice", meaning: "send read receipts" },
682
632
  {
683
633
  name: "--until",
684
634
  value: "<time>",
@@ -2,6 +2,7 @@ import * as v from "valibot";
2
2
  import { CALENDAR_FLAGS } from "./flags-calendar.js";
3
3
  import { HOW_FLAGS } from "./flags-how.js";
4
4
  import { MAIL_FLAGS } from "./flags-mail.js";
5
+ import { PRIVACY_FLAGS } from "./flags-privacy.js";
5
6
  import { WHAT_FLAGS } from "./flags-what.js";
6
7
  import { duplicates, parseRegistry, text, word } from "./registry.js";
7
8
  export const FLAG_TYPES = [
@@ -393,5 +394,5 @@ export const VOCABULARY = defineVocabulary({
393
394
  ],
394
395
  views: views.map(([entry, meaning]) => ({ word: entry, meaning })),
395
396
  roots: roots.map(([entry, meaning]) => ({ word: entry, meaning })),
396
- flags: [...HOW_FLAGS, ...WHAT_FLAGS, ...CALENDAR_FLAGS, ...MAIL_FLAGS],
397
+ flags: [...HOW_FLAGS, ...WHAT_FLAGS, ...PRIVACY_FLAGS, ...CALENDAR_FLAGS, ...MAIL_FLAGS],
397
398
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/cli-base",
3
- "version": "0.79.0",
3
+ "version": "0.80.0",
4
4
  "description": "The parts every command line tool needs: output modes, terminal rendering, error model, exit codes, credentials, clocks",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Viacheslav Ptsarev",