@wirecat/whatsapp-cli 0.1.0 → 0.3.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 (102) hide show
  1. package/README.md +213 -94
  2. package/dist/adapter/adapter.d.ts +8 -4
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +349 -90
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/channels.d.ts +43 -0
  7. package/dist/adapter/channels.d.ts.map +1 -0
  8. package/dist/adapter/channels.js +100 -0
  9. package/dist/adapter/channels.js.map +1 -0
  10. package/dist/adapter/checks.d.ts +2 -3
  11. package/dist/adapter/checks.d.ts.map +1 -1
  12. package/dist/adapter/checks.js +1 -2
  13. package/dist/adapter/checks.js.map +1 -1
  14. package/dist/adapter/errors.d.ts +0 -5
  15. package/dist/adapter/errors.d.ts.map +1 -1
  16. package/dist/adapter/errors.js +7 -9
  17. package/dist/adapter/errors.js.map +1 -1
  18. package/dist/adapter/groups.d.ts +5 -1
  19. package/dist/adapter/groups.d.ts.map +1 -1
  20. package/dist/adapter/groups.js +51 -9
  21. package/dist/adapter/groups.js.map +1 -1
  22. package/dist/adapter/map.d.ts +17 -2
  23. package/dist/adapter/map.d.ts.map +1 -1
  24. package/dist/adapter/map.js +68 -7
  25. package/dist/adapter/map.js.map +1 -1
  26. package/dist/adapter/pins.d.ts +11 -0
  27. package/dist/adapter/pins.d.ts.map +1 -0
  28. package/dist/adapter/pins.js +10 -0
  29. package/dist/adapter/pins.js.map +1 -0
  30. package/dist/adapter/polls.d.ts +1 -1
  31. package/dist/adapter/polls.d.ts.map +1 -1
  32. package/dist/adapter/polls.js +2 -2
  33. package/dist/adapter/polls.js.map +1 -1
  34. package/dist/adapter/privacy.d.ts +18 -0
  35. package/dist/adapter/privacy.d.ts.map +1 -0
  36. package/dist/adapter/privacy.js +94 -0
  37. package/dist/adapter/privacy.js.map +1 -0
  38. package/dist/adapter/settings.d.ts +21 -0
  39. package/dist/adapter/settings.d.ts.map +1 -0
  40. package/dist/adapter/settings.js +76 -0
  41. package/dist/adapter/settings.js.map +1 -0
  42. package/dist/bin/wa.js +0 -13
  43. package/dist/bin/wa.js.map +1 -1
  44. package/dist/commands/session.d.ts +18 -7
  45. package/dist/commands/session.d.ts.map +1 -1
  46. package/dist/commands/session.js +92 -93
  47. package/dist/commands/session.js.map +1 -1
  48. package/dist/commands/setup.d.ts.map +1 -1
  49. package/dist/commands/setup.js +77 -129
  50. package/dist/commands/setup.js.map +1 -1
  51. package/dist/commands/update.d.ts.map +1 -1
  52. package/dist/commands/update.js +3 -22
  53. package/dist/commands/update.js.map +1 -1
  54. package/dist/engine/channels.d.ts +109 -0
  55. package/dist/engine/channels.d.ts.map +1 -0
  56. package/dist/engine/channels.js +29 -0
  57. package/dist/engine/channels.js.map +1 -0
  58. package/dist/engine/contract.d.ts +617 -43
  59. package/dist/engine/contract.d.ts.map +1 -1
  60. package/dist/engine/contract.js +226 -11
  61. package/dist/engine/contract.js.map +1 -1
  62. package/dist/engine/go-engine.d.ts.map +1 -1
  63. package/dist/engine/go-engine.js +23 -34
  64. package/dist/engine/go-engine.js.map +1 -1
  65. package/dist/engine/groups.d.ts +32 -14
  66. package/dist/engine/groups.d.ts.map +1 -1
  67. package/dist/engine/groups.js +2 -0
  68. package/dist/engine/groups.js.map +1 -1
  69. package/dist/engine/privacy.d.ts +33 -0
  70. package/dist/engine/privacy.d.ts.map +1 -0
  71. package/dist/engine/privacy.js +23 -0
  72. package/dist/engine/privacy.js.map +1 -0
  73. package/dist/engine/settings.d.ts +45 -0
  74. package/dist/engine/settings.d.ts.map +1 -0
  75. package/dist/engine/settings.js +34 -0
  76. package/dist/engine/settings.js.map +1 -0
  77. package/dist/install/postinstall.d.ts.map +1 -1
  78. package/dist/install/postinstall.js +4 -3
  79. package/dist/install/postinstall.js.map +1 -1
  80. package/dist/messenger.d.ts +3 -4
  81. package/dist/messenger.d.ts.map +1 -1
  82. package/dist/messenger.js +31 -14
  83. package/dist/messenger.js.map +1 -1
  84. package/dist/program.d.ts +5 -1
  85. package/dist/program.d.ts.map +1 -1
  86. package/dist/program.js +10 -38
  87. package/dist/program.js.map +1 -1
  88. package/dist/reasons.d.ts.map +1 -1
  89. package/dist/reasons.js +8 -0
  90. package/dist/reasons.js.map +1 -1
  91. package/dist/update.d.ts +0 -1
  92. package/dist/update.d.ts.map +1 -1
  93. package/dist/update.js +0 -7
  94. package/dist/update.js.map +1 -1
  95. package/dist/version.d.ts +1 -1
  96. package/dist/version.js +1 -1
  97. package/package.json +10 -10
  98. package/skills/whatsapp-cli/SKILL.md +59 -24
  99. package/dist/commands/answer.d.ts +0 -7
  100. package/dist/commands/answer.d.ts.map +0 -1
  101. package/dist/commands/answer.js +0 -11
  102. package/dist/commands/answer.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as v from "valibot";
2
- import { type WaContact } from "./contract.js";
2
+ import { type EngineOp, type WaContact } from "./contract.js";
3
3
  export declare const waMember: v.StrictObjectSchema<{
4
4
  readonly jid: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>;
5
5
  readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -13,13 +13,18 @@ export declare const waMember: v.StrictObjectSchema<{
13
13
  export declare const waGroup: v.StrictObjectSchema<{
14
14
  readonly chat: v.StrictObjectSchema<{
15
15
  readonly jid: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>;
16
- readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
16
+ readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
17
17
  readonly kind: v.PicklistSchema<["dm", "self", "group", "newsletter", "broadcast"], undefined>;
18
- readonly unread: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
19
- readonly lastMessageAt: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
20
- readonly participants: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
18
+ readonly unread: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
19
+ readonly lastMessageAt: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>, undefined>;
20
+ readonly participants: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
21
21
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
22
22
  readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
23
+ readonly mutedUntil: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
24
+ readonly markedUnread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
25
+ readonly parent: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>, undefined>, undefined>;
26
+ readonly community: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
27
+ readonly membershipState: v.OptionalSchema<v.PicklistSchema<["left", "member"], undefined>, undefined>;
23
28
  }, undefined>;
24
29
  readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
25
30
  readonly link: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -39,13 +44,18 @@ export declare const waCreated: v.StrictObjectSchema<{
39
44
  readonly group: v.StrictObjectSchema<{
40
45
  readonly chat: v.StrictObjectSchema<{
41
46
  readonly jid: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>;
42
- readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
47
+ readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
43
48
  readonly kind: v.PicklistSchema<["dm", "self", "group", "newsletter", "broadcast"], undefined>;
44
- readonly unread: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
45
- readonly lastMessageAt: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
46
- readonly participants: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
49
+ readonly unread: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
50
+ readonly lastMessageAt: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>, undefined>;
51
+ readonly participants: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
47
52
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
48
53
  readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
54
+ readonly mutedUntil: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
55
+ readonly markedUnread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
56
+ readonly parent: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>, undefined>, undefined>;
57
+ readonly community: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
58
+ readonly membershipState: v.OptionalSchema<v.PicklistSchema<["left", "member"], undefined>, undefined>;
49
59
  }, undefined>;
50
60
  readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
51
61
  readonly link: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -66,13 +76,18 @@ export declare const waJoined: v.StrictObjectSchema<{
66
76
  readonly group: v.NullableSchema<v.StrictObjectSchema<{
67
77
  readonly chat: v.StrictObjectSchema<{
68
78
  readonly jid: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>;
69
- readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
79
+ readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
70
80
  readonly kind: v.PicklistSchema<["dm", "self", "group", "newsletter", "broadcast"], undefined>;
71
- readonly unread: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
72
- readonly lastMessageAt: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
73
- readonly participants: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
81
+ readonly unread: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
82
+ readonly lastMessageAt: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>, undefined>;
83
+ readonly participants: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
74
84
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
75
85
  readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
86
+ readonly mutedUntil: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, undefined>]>, undefined>;
87
+ readonly markedUnread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
88
+ readonly parent: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "@", undefined>]>, undefined>, undefined>;
89
+ readonly community: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
90
+ readonly membershipState: v.OptionalSchema<v.PicklistSchema<["left", "member"], undefined>, undefined>;
76
91
  }, undefined>;
77
92
  readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
78
93
  readonly link: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -137,6 +152,9 @@ export interface GroupEngine {
137
152
  join(link: string): Promise<WaJoined>;
138
153
  leave(jid: string): Promise<void>;
139
154
  updateGroup(jid: string, change: WaGroupChange): Promise<WaGroup>;
155
+ /** The group's photo from a JPEG at `path`, an absolute path; the engine refuses one WhatsApp would not take. */
156
+ setGroupPhoto(jid: string, path: string): Promise<WaGroup>;
157
+ removeGroupPhoto(jid: string): Promise<WaGroup>;
140
158
  /** A new invite link; the old one stops working. */
141
159
  resetInviteLink(jid: string): Promise<WaGroup>;
142
160
  /** Adds, removes, promotes to admin or demotes; only `add` may leave some out. */
@@ -153,7 +171,7 @@ export interface GroupEngine {
153
171
  /** The phone's address book, as the engine's store holds it. */
154
172
  contacts(): Promise<WaContact[]>;
155
173
  }
156
- export type EngineRequest = <T>(op: string, fields: Record<string, unknown>, schema: v.GenericSchema<unknown, T>) => Promise<T>;
174
+ export type EngineRequest = <T>(op: EngineOp, fields: Record<string, unknown>, schema: v.GenericSchema<unknown, T>) => Promise<T>;
157
175
  /** The group and people requests over the Go engine's JSON lines. */
158
176
  export declare const goGroups: (request: EngineRequest) => GroupEngine;
159
177
  //# sourceMappingURL=groups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export const goGroups = (request) => ({
48
48
  await request("leave", { jid }, nothing);
49
49
  },
50
50
  updateGroup: (jid, change) => request("updateGroup", { jid, ...change }, waGroup),
51
+ setGroupPhoto: (jid, path) => request("setGroupPhoto", { jid, path }, waGroup),
52
+ removeGroupPhoto: (jid) => request("setGroupPhoto", { jid, removePhoto: true }, waGroup),
51
53
  resetInviteLink: (jid) => request("resetLink", { jid }, waGroup),
52
54
  participants: (jid, action, people) => request("participants", { jid, action, people }, waNotAdded),
53
55
  joinRequests: (jid) => request("requests", { jid }, v.array(waJoinRequest)),
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import * as v from "valibot";
2
+ import type { EngineRequest } from "./groups.js";
3
+ /**
4
+ * The account's privacy in WhatsApp's own names and values (whatsmeow's `types.PrivacySettings`): `groupadd` who may
5
+ * add the account to groups, `last` who sees last seen, `online` who sees it online (`match_last_seen`: those who see
6
+ * last seen), `calladd` whose calls ring (`known`: unknown callers are silenced), `profile` who sees the profile photo,
7
+ * `status` who sees the about text, `readreceipts` whether read receipts go (`all`) or not (`none`). An audience is
8
+ * `all`, `contacts`, `contact_blacklist` (contacts but those the phone excepts) or `none`. `""` is a setting WhatsApp
9
+ * did not send.
10
+ */
11
+ export declare const waPrivacy: v.StrictObjectSchema<{
12
+ readonly groupadd: v.StringSchema<undefined>;
13
+ readonly last: v.StringSchema<undefined>;
14
+ readonly online: v.StringSchema<undefined>;
15
+ readonly calladd: v.StringSchema<undefined>;
16
+ readonly profile: v.StringSchema<undefined>;
17
+ readonly status: v.StringSchema<undefined>;
18
+ readonly readreceipts: v.StringSchema<undefined>;
19
+ }, undefined>;
20
+ export type WaPrivacy = v.InferOutput<typeof waPrivacy>;
21
+ export interface WaPrivacyChange {
22
+ name: keyof WaPrivacy;
23
+ value: string;
24
+ }
25
+ /** The engine's privacy requests. A change is seen by everyone the setting is about. */
26
+ export interface PrivacyEngine {
27
+ /** Asked of WhatsApp each time, never from a cache another device may have outdated. */
28
+ privacy(): Promise<WaPrivacy>;
29
+ /** In order, one request each; answers every setting as it now is. Nothing is sent unless every change is valid. */
30
+ setPrivacy(changes: WaPrivacyChange[]): Promise<WaPrivacy>;
31
+ }
32
+ export declare const goPrivacy: (request: EngineRequest) => PrivacyEngine;
33
+ //# sourceMappingURL=privacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy.d.ts","sourceRoot":"","sources":["../../src/engine/privacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;;;;;aAQpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,SAAS,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7B,oHAAoH;IACpH,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3D;AAED,eAAO,MAAM,SAAS,YAAa,aAAa,KAAG,aAGjD,CAAA"}
@@ -0,0 +1,23 @@
1
+ import * as v from "valibot";
2
+ /**
3
+ * The account's privacy in WhatsApp's own names and values (whatsmeow's `types.PrivacySettings`): `groupadd` who may
4
+ * add the account to groups, `last` who sees last seen, `online` who sees it online (`match_last_seen`: those who see
5
+ * last seen), `calladd` whose calls ring (`known`: unknown callers are silenced), `profile` who sees the profile photo,
6
+ * `status` who sees the about text, `readreceipts` whether read receipts go (`all`) or not (`none`). An audience is
7
+ * `all`, `contacts`, `contact_blacklist` (contacts but those the phone excepts) or `none`. `""` is a setting WhatsApp
8
+ * did not send.
9
+ */
10
+ export const waPrivacy = v.strictObject({
11
+ groupadd: v.string(),
12
+ last: v.string(),
13
+ online: v.string(),
14
+ calladd: v.string(),
15
+ profile: v.string(),
16
+ status: v.string(),
17
+ readreceipts: v.string(),
18
+ });
19
+ export const goPrivacy = (request) => ({
20
+ privacy: () => request("privacy", {}, waPrivacy),
21
+ setPrivacy: (changes) => request("setPrivacy", { privacy: changes }, waPrivacy),
22
+ });
23
+ //# sourceMappingURL=privacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy.js","sourceRoot":"","sources":["../../src/engine/privacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAA;AAiBF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAsB,EAAiB,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC;IAChD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;CAChF,CAAC,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { type WaAccount, type WaAnchor, type WaKey } from "./contract.js";
2
+ import type { EngineRequest } from "./groups.js";
3
+ /** The account's own name, "about" line and photo; a field left out stays. */
4
+ export interface WaProfileChange {
5
+ pushName?: string;
6
+ about?: string;
7
+ /** The new photo's absolute path: a square JPEG of 190 to 720 pixels a side, checked before anything changes. */
8
+ path?: string;
9
+ }
10
+ /** The engine's writes to the account's synced settings, which WhatsApp syncs to the account's other devices. */
11
+ export interface SettingsEngine {
12
+ /** `until`: `forever`, an ISO 8601 time, or `null` to unmute. Nobody in the chat is told. */
13
+ mute(jid: string, until: string | null): Promise<void>;
14
+ /**
15
+ * The name goes to the owner's devices as a setting, then the about and the photo to WhatsApp; answers the account
16
+ * as it now is.
17
+ */
18
+ updateProfile(change: WaProfileChange): Promise<WaAccount>;
19
+ /**
20
+ * Deletes `last`'s chat from the account's devices, up to `last`, the chat's newest stored message: WhatsApp needs
21
+ * it to know what the deletion covers. The photos and files the phone saved from it stay. Nobody else is told.
22
+ */
23
+ deleteChat(last: WaAnchor): Promise<void>;
24
+ /** Deletes every message of `last`'s chat up to `last`, starred ones too, and keeps the chat; as `deleteChat`. */
25
+ clearChat(last: WaAnchor): Promise<void>;
26
+ /**
27
+ * Deletes `message` from the account's devices alone; the others in the chat keep it. WhatsApp names the message by
28
+ * its key and the time it was sent, both from the store. The photos and files the phone saved from it stay.
29
+ */
30
+ deleteForMe(message: WaAnchor): Promise<void>;
31
+ /** Stars `message`, or takes the star off, on the account's devices alone; nobody in the chat is told. */
32
+ star(message: WaKey, starred: boolean): Promise<void>;
33
+ /** Moves `last`'s chat into the archive, which unpins it, or back out; bounded by `last` as `deleteChat` is. */
34
+ archiveChat(last: WaAnchor, archived: boolean): Promise<void>;
35
+ /** Pins the chat at the top of the account's chat list, or unpins it. Not a message pin. */
36
+ pinChat(jid: string, pinned: boolean): Promise<void>;
37
+ /**
38
+ * Marks `last`'s chat read on the account's devices up to `last`, which takes a mark-unread off; no receipt is sent.
39
+ */
40
+ markChatRead(last: WaAnchor): Promise<void>;
41
+ /** Marks `last`'s chat unread on the account's devices; no receipt is sent or taken back. */
42
+ markChatUnread(last: WaAnchor): Promise<void>;
43
+ }
44
+ export declare const goSettings: (request: EngineRequest) => SettingsEngine;
45
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/engine/settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAa,MAAM,eAAe,CAAA;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iHAAiH;IACjH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,iHAAiH;AACjH,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1D;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,kHAAkH;IAClH,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,0GAA0G;IAC1G,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,gHAAgH;IAChH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,4FAA4F;IAC5F,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,6FAA6F;IAC7F,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C;AAID,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,cAiClD,CAAA"}
@@ -0,0 +1,34 @@
1
+ import * as v from "valibot";
2
+ import { keyFields, waAccount } from "./contract.js";
3
+ const nothing = v.nullable(v.unknown());
4
+ export const goSettings = (request) => ({
5
+ mute: async (jid, until) => {
6
+ await request("mute", { jid, until }, nothing);
7
+ },
8
+ updateProfile: (change) => request("updateProfile", { ...change }, waAccount),
9
+ deleteChat: async (last) => {
10
+ await request("deleteChat", { ...keyFields(last), timestamp: last.timestamp }, nothing);
11
+ },
12
+ clearChat: async (last) => {
13
+ await request("clearChat", { ...keyFields(last), timestamp: last.timestamp }, nothing);
14
+ },
15
+ deleteForMe: async (message) => {
16
+ await request("deleteForMe", { ...keyFields(message), timestamp: message.timestamp }, nothing);
17
+ },
18
+ star: async (message, starred) => {
19
+ await request("star", { ...keyFields(message), starred }, nothing);
20
+ },
21
+ archiveChat: async (last, archived) => {
22
+ await request(archived ? "archiveChat" : "unarchiveChat", { ...keyFields(last), timestamp: last.timestamp }, nothing);
23
+ },
24
+ pinChat: async (jid, pinned) => {
25
+ await request(pinned ? "pinChat" : "unpinChat", { jid }, nothing);
26
+ },
27
+ markChatRead: async (last) => {
28
+ await request("markChatRead", { ...keyFields(last), timestamp: last.timestamp }, nothing);
29
+ },
30
+ markChatUnread: async (last) => {
31
+ await request("markChatUnread", { ...keyFields(last), timestamp: last.timestamp }, nothing);
32
+ },
33
+ });
34
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/engine/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,SAAS,EAA6C,SAAS,EAAE,MAAM,eAAe,CAAA;AA8C/F,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAsB,EAAkB,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IACD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,SAAS,CAAC;IAC7E,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IACzF,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IACxF,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACpC,MAAM,OAAO,CACX,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAC1C,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EACjD,OAAO,CACR,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7B,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3F,CAAC;IACD,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,OAAO,CAAC,gBAAgB,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7F,CAAC;CACF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../src/install/postinstall.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB;;sBA+Bf,MAAM;;;uBA3BL,MAAM;MA4BjB,IA4BR,CAAA"}
1
+ {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../src/install/postinstall.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB;;sBA+Bf,MAAM;;;uBA3BL,MAAM;MA4BjB,IA6BR,CAAA"}
@@ -33,11 +33,12 @@ export const completeGlobalInstall = ({ env = process.env, platform = process.pl
33
33
  repair(prefix);
34
34
  note("wa: Windows user PATH updated; new terminals can run wa directly.");
35
35
  }
36
- if (env.WA_INSTALL_AGENT === "none") {
37
- note("wa: agent skill skipped by WA_INSTALL_AGENT=none; install with wa skill install --for all.");
36
+ // npm hides a lifecycle script's output, so writing into the owner's agent folders here must be asked for.
37
+ const agent = env.WA_INSTALL_AGENT;
38
+ if (agent === undefined || agent === "none") {
39
+ note("wa: agent skill not installed; wa personal setup offers it, or run wa skill install --for all.");
38
40
  }
39
41
  else {
40
- const agent = env.WA_INSTALL_AGENT ?? "all";
41
42
  if (!["all", "codex", "cursor", "claude", "gemini"].includes(agent))
42
43
  throw new Error("WA_INSTALL_AGENT must be all, codex, cursor, claude, gemini or none");
43
44
  const targets = agent === "all"
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/install/postinstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/install/postinstall.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type BaseContext, type BaseEnvironment, type Closeable, type Messenger } from "@wirecat/cli-core/cli";
1
+ import { type BaseContext, type BaseEnvironment, type Messenger } from "@wirecat/cli-core/cli";
2
2
  import type { UpdateEnvironment } from "@wirecat/cli-core/update";
3
3
  import type { Command } from "commander";
4
4
  import { type WhatsAppEngine } from "./engine/contract.js";
@@ -21,6 +21,7 @@ export interface Environment extends BaseEnvironment {
21
21
  historyWait?: {
22
22
  firstMs: number;
23
23
  quietMs: number;
24
+ slowMs?: number;
24
25
  };
25
26
  /** npm, the package manager and this install's path, for `upgrade` and the update notice; tests hand them in. */
26
27
  update?: UpdateEnvironment;
@@ -50,14 +51,12 @@ export interface Linked {
50
51
  * Links the profile's device, showing each code through `onCode`. A newly linked engine stays open and is handed to
51
52
  * the command's next `connect`; an already linked one is closed and nothing is asked.
52
53
  */
53
- export declare const linkDevice: (command: Command, base: Pick<BaseContext, "settings" | "env" | "renderer">, { method, phone, onCode, beforeLink, track, }: {
54
+ export declare const linkDevice: (command: Command, base: Pick<BaseContext, "settings" | "env" | "renderer">, { method, phone, onCode, beforeLink, }: {
54
55
  method: "qr" | "phone";
55
56
  phone: () => Promise<string>;
56
57
  onCode: (code: LinkCode) => void;
57
58
  /** Throws when nobody could answer: a store can exist without a device, after a link that did not finish. */
58
59
  beforeLink?: () => void;
59
- /** Closed by the caller's deadline as well. */
60
- track?: (engine: Closeable) => void;
61
60
  }) => Promise<Linked>;
62
61
  export declare const SKILL: import("url").URL;
63
62
  export declare const WHATSAPP: Messenger;
@@ -1 +1 @@
1
- {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIvE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7E,8EAA8E;IAC9E,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAChD,4EAA4E;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,iHAAiH;IACjH,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAkBD,kFAAkF;AAClF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC,qBACtB;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KACrE,OAAO,CAAC,cAAc,CASxB,CAAA;AA+BD,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC5C,wDAAwD;IACxD,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC,iDAOrD;IACD,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;CACpC,KACA,OAAO,CAAC,MAAM,CAmBhB,CAAA;AAED,eAAO,MAAM,KAAK,mBAA8D,CAAA;AAEhF,eAAO,MAAM,QAAQ,EAAE,SAoFtB,CAAA"}
1
+ {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAiB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC7G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQxC,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIvE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7E,8EAA8E;IAC9E,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAChD,4EAA4E;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,iHAAiH;IACjH,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAaD,kFAAkF;AAClF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC,qBACtB;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KACrE,OAAO,CAAC,cAAc,CASxB,CAAA;AA+BD,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC5C,wDAAwD;IACxD,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC,0CAMrD;IACD,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,KACA,OAAO,CAAC,MAAM,CAkBhB,CAAA;AAED,eAAO,MAAM,KAAK,mBAA8D,CAAA;AAEhF,eAAO,MAAM,QAAQ,EAAE,SAqGtB,CAAA"}
package/dist/messenger.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { CliError } from "@wirecat/cli-base";
3
- import { asFirstWord, environmentOf, } from "@wirecat/cli-core/cli";
3
+ import { checkWords } from "@wirecat/cli-core";
4
+ import { environmentOf } from "@wirecat/cli-core/cli";
4
5
  import { whatsAppAdapter } from "./adapter/adapter.js";
5
6
  import { fromEngine } from "./adapter/errors.js";
6
7
  import { ADMIN_RIGHTS, GROUP_SETTINGS } from "./adapter/groups.js";
8
+ import { PRIVACY_SETTINGS } from "./adapter/privacy.js";
7
9
  import { resolveSettings, WA } from "./app.js";
8
10
  import { diagnoseWhatsApp } from "./diagnose.js";
9
11
  import { EngineError } from "./engine/contract.js";
@@ -15,9 +17,8 @@ const holderOf = (command) => {
15
17
  words.unshift(at.name());
16
18
  return words.join(" ") || "wa";
17
19
  };
18
- const COMMANDS = { "chats.list": "chats list", serve: "serve", "session.start": "session start" };
19
20
  /** The commands the adapter's messages send a person to, with this profile named first. */
20
- const wordsFor = (profile) => (check) => `\`wa ${asFirstWord(profile)}${COMMANDS[check]}\``;
21
+ const wordsFor = (profile) => checkWords("wa", profile);
21
22
  const loginHint = (profile) => wordsFor(profile)("session.start");
22
23
  /**
23
24
  * Starts the engine for the command's profile, or throws saying how to log in. Only a login (`link`) may start on
@@ -59,9 +60,8 @@ const handedOver = new WeakMap();
59
60
  * Links the profile's device, showing each code through `onCode`. A newly linked engine stays open and is handed to
60
61
  * the command's next `connect`; an already linked one is closed and nothing is asked.
61
62
  */
62
- export const linkDevice = async (command, base, { method, phone, onCode, beforeLink, track, }) => {
63
+ export const linkDevice = async (command, base, { method, phone, onCode, beforeLink, }) => {
63
64
  const engine = await openEngine(command, base, { link: true, listen: true });
64
- track?.(engine);
65
65
  let keep = false;
66
66
  try {
67
67
  const alreadyLinked = engine.self() !== null;
@@ -92,13 +92,15 @@ export const WHATSAPP = {
92
92
  name: "WhatsApp",
93
93
  resolveSettings,
94
94
  history: "store",
95
+ // WhatsApp sends a chat's unread count only in the history push; between pushes the store counts new messages.
96
+ unreadCounts: "store",
95
97
  historyOnDemand: true,
96
98
  // WhatsApp drops the older of two connections, so while serve holds the device every command runs through it.
97
99
  connection: "exclusive",
98
100
  // Ids are WhatsApp's own strings, so held stretches are keyed by time. A page is one request to the phone for older
99
101
  // messages (the adapter's `history`), and WhatsApp's own clients ask 50 at a time.
100
102
  fetching: { page: 50, maxPageSize: 50, pause: "2s", jitter: true, maxPages: 20, orderBy: "time" },
101
- chatArgument: "a chat: its name, or its WhatsApp id (…@lid, …@g.us)",
103
+ chatArgument: "a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter)",
102
104
  inviteLinks: /chat\.whatsapp\.com\/[A-Za-z0-9]+/i,
103
105
  // The chat with yourself has your own id.
104
106
  savedChatId: (account) => account.account,
@@ -118,9 +120,17 @@ export const WHATSAPP = {
118
120
  joinRequestsAll: false,
119
121
  channelComments: false,
120
122
  addsWithHistory: false,
123
+ // A member's record has no date the account was made, so the moderation rule `newAccount` could never match.
124
+ knowsAccountAge: false,
121
125
  // A document carries the name the recipient sees; WhatsApp has no spoiler and no caption above.
122
126
  mediaOptions: ["fileName"],
127
+ // A sticker is an uploaded .webp, not one of a set. Meta's Cloud API caps an animated one at 500 KB and a still one
128
+ // at 100 KB; one cap has to let animated stickers through.
129
+ stickerFileBytes: 500 * 1024,
123
130
  groupSettings: GROUP_SETTINGS,
131
+ groupPhoto: true,
132
+ groupPhotoRemoval: true,
133
+ profilePhotoTypes: [".jpg", ".jpeg"],
124
134
  adminRights: ADMIN_RIGHTS,
125
135
  pickAdminRights: false,
126
136
  // A WhatsApp poll stays open, and any vote in it can be changed; everyone sees who voted for what.
@@ -132,10 +142,18 @@ export const WHATSAPP = {
132
142
  silentSends: false,
133
143
  sendAs: false,
134
144
  scheduledSends: false,
145
+ // A pin is for the whole chat and tells its members; it ends after one of the lengths WhatsApp's apps offer.
146
+ quietPins: false,
147
+ pinDurations: [86_400, 604_800, 2_592_000],
148
+ pinDefaultDuration: 604_800,
135
149
  // Nothing sends unless a typed command asked: WhatsApp bans accounts that answer like a bot.
136
150
  autoReplies: false,
151
+ chatMute: true,
152
+ chatDeletion: true,
153
+ chatArchive: true,
154
+ chatPin: true,
155
+ chatMarkUnread: true,
137
156
  lacks: [
138
- "updateProfile",
139
157
  "sessions",
140
158
  "endOtherSessions",
141
159
  "chatEvents",
@@ -148,24 +166,23 @@ export const WHATSAPP = {
148
166
  "removeContact",
149
167
  "renameContact",
150
168
  "importContacts",
151
- "pin",
152
- "unpin",
153
169
  ],
154
- // Every delete wa makes is for everyone, which an agent may never do: the MCP delete refuses up front instead of
155
- // answering with an "add --for-everyone" that only the owner can act on.
156
- deleteForMe: false,
170
+ deleteForMe: true,
171
+ privacy: true,
172
+ privacySettings: PRIVACY_SETTINGS,
173
+ messageStars: true,
157
174
  connect: async (command, base, options = {}) => {
158
175
  const linked = handedOver.get(command);
159
176
  handedOver.delete(command);
160
177
  const words = wordsFor(base.settings.profile);
161
178
  if (linked)
162
- return whatsAppAdapter(linked, options.stored, words);
179
+ return whatsAppAdapter(linked, options.stored, words, base.renderer.warn);
163
180
  const engine = await openEngine(command, base, { listen: options.listen === true });
164
181
  if (engine.self() === null) {
165
182
  await engine.close();
166
183
  throw new CliError("authentication_error", `profile "${base.settings.profile}" is not linked to WhatsApp — run ${loginHint(base.settings.profile)}`);
167
184
  }
168
- return whatsAppAdapter(engine, options.stored, words);
185
+ return whatsAppAdapter(engine, options.stored, words, base.renderer.warn);
169
186
  },
170
187
  };
171
188
  //# sourceMappingURL=messenger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messenger.js","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messenger.js","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"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"}
package/dist/program.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import type { Command } from "commander";
2
2
  import { type Environment } from "./messenger.js";
3
- /** A revoked or missing login fails the same on every retry. */
3
+ /**
4
+ * A revoked or missing login fails the same on every retry, and a restart during a ban would connect to WhatsApp
5
+ * again while it holds the account. `device.replaced` and `client.outdated` exit 12 with a crashed engine, which
6
+ * should restart, so an exit code cannot keep them from it.
7
+ */
4
8
  export declare const NO_RESTART_ON: number[];
5
9
  export declare const createProgram: () => Command;
6
10
  /** Never throws: every outcome is an exit code, and a failure is said once, on stderr. */
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,gBAAgB,CAAA;AAGlE,gEAAgE;AAChE,eAAO,MAAM,aAAa,UAAwC,CAAA;AAkElE,eAAO,MAAM,aAAa,QAAO,OAA6B,CAAA;AAE9D,0FAA0F;AAC1F,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,gBAAe,WAAW,KAAQ,OAAO,CAAC,MAAM,CAcvF,CAAA"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,gBAAgB,CAAA;AAGlE;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAyE,CAAA;AAkEnG,eAAO,MAAM,aAAa,QAAO,OAA6B,CAAA;AAE9D,0FAA0F;AAC1F,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,gBAAe,WAAW,KAAQ,OAAO,CAAC,MAAM,CAUvF,CAAA"}