@wirecat/whatsapp-cli 0.1.0 → 0.2.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/README.md +213 -94
- package/dist/adapter/adapter.d.ts +8 -4
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +313 -85
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/channels.d.ts +43 -0
- package/dist/adapter/channels.d.ts.map +1 -0
- package/dist/adapter/channels.js +100 -0
- package/dist/adapter/channels.js.map +1 -0
- package/dist/adapter/checks.d.ts +2 -3
- package/dist/adapter/checks.d.ts.map +1 -1
- package/dist/adapter/checks.js +1 -2
- package/dist/adapter/checks.js.map +1 -1
- package/dist/adapter/errors.d.ts +0 -5
- package/dist/adapter/errors.d.ts.map +1 -1
- package/dist/adapter/errors.js +7 -9
- package/dist/adapter/errors.js.map +1 -1
- package/dist/adapter/groups.d.ts +5 -1
- package/dist/adapter/groups.d.ts.map +1 -1
- package/dist/adapter/groups.js +51 -9
- package/dist/adapter/groups.js.map +1 -1
- package/dist/adapter/map.d.ts +16 -2
- package/dist/adapter/map.d.ts.map +1 -1
- package/dist/adapter/map.js +56 -7
- package/dist/adapter/map.js.map +1 -1
- package/dist/adapter/pins.d.ts +11 -0
- package/dist/adapter/pins.d.ts.map +1 -0
- package/dist/adapter/pins.js +10 -0
- package/dist/adapter/pins.js.map +1 -0
- package/dist/adapter/polls.d.ts +1 -1
- package/dist/adapter/polls.d.ts.map +1 -1
- package/dist/adapter/polls.js +2 -2
- package/dist/adapter/polls.js.map +1 -1
- package/dist/adapter/privacy.d.ts +18 -0
- package/dist/adapter/privacy.d.ts.map +1 -0
- package/dist/adapter/privacy.js +94 -0
- package/dist/adapter/privacy.js.map +1 -0
- package/dist/adapter/settings.d.ts +21 -0
- package/dist/adapter/settings.d.ts.map +1 -0
- package/dist/adapter/settings.js +76 -0
- package/dist/adapter/settings.js.map +1 -0
- package/dist/bin/wa.js +0 -13
- package/dist/bin/wa.js.map +1 -1
- package/dist/commands/session.d.ts +18 -7
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +92 -93
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +77 -129
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -22
- package/dist/commands/update.js.map +1 -1
- package/dist/engine/channels.d.ts +100 -0
- package/dist/engine/channels.d.ts.map +1 -0
- package/dist/engine/channels.js +29 -0
- package/dist/engine/channels.js.map +1 -0
- package/dist/engine/contract.d.ts +475 -43
- package/dist/engine/contract.d.ts.map +1 -1
- package/dist/engine/contract.js +178 -11
- package/dist/engine/contract.js.map +1 -1
- package/dist/engine/go-engine.d.ts.map +1 -1
- package/dist/engine/go-engine.js +23 -34
- package/dist/engine/go-engine.js.map +1 -1
- package/dist/engine/groups.d.ts +26 -14
- package/dist/engine/groups.d.ts.map +1 -1
- package/dist/engine/groups.js +2 -0
- package/dist/engine/groups.js.map +1 -1
- package/dist/engine/privacy.d.ts +33 -0
- package/dist/engine/privacy.d.ts.map +1 -0
- package/dist/engine/privacy.js +23 -0
- package/dist/engine/privacy.js.map +1 -0
- package/dist/engine/settings.d.ts +45 -0
- package/dist/engine/settings.d.ts.map +1 -0
- package/dist/engine/settings.js +34 -0
- package/dist/engine/settings.js.map +1 -0
- package/dist/install/postinstall.d.ts.map +1 -1
- package/dist/install/postinstall.js +4 -3
- package/dist/install/postinstall.js.map +1 -1
- package/dist/messenger.d.ts +3 -4
- package/dist/messenger.d.ts.map +1 -1
- package/dist/messenger.js +29 -14
- package/dist/messenger.js.map +1 -1
- package/dist/program.d.ts +5 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +10 -38
- package/dist/program.js.map +1 -1
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +8 -0
- package/dist/reasons.js.map +1 -1
- package/dist/update.d.ts +0 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +0 -7
- package/dist/update.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +10 -10
- package/skills/whatsapp-cli/SKILL.md +59 -24
- package/dist/commands/answer.d.ts +0 -7
- package/dist/commands/answer.d.ts.map +0 -1
- package/dist/commands/answer.js +0 -11
- package/dist/commands/answer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/engine/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAqB,MAAM,eAAe,CAAA;AAKhF,eAAO,MAAM,QAAQ;;;;aAInB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;aAUlB,CAAA;AAEF,+GAA+G;AAC/G,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAA6D,CAAA;AACnF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAyE,CAAA;AAC9F,eAAO,MAAM,UAAU;;aAA6C,CAAA;AACpE,eAAO,MAAM,aAAa;;;;aAAuF,CAAA;AAEjH,6GAA6G;AAC7G,eAAO,MAAM,SAAS;;;;;;;;aAQpB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAA;AACrD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,CAAA;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAA;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAA;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,CAAA;AAEvD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,WAAW,GAAG,gBAAgB,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEzE,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,6GAA6G;IAC7G,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,2CAA2C;IAC3C,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChE,gFAAgF;IAChF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,iHAAiH;IACjH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,oDAAoD;IACpD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,kFAAkF;IAClF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACzG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACnD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9E,qCAAqC;IACrC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,6GAA6G;IAC7G,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IACzC,gEAAgE;IAChE,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CACjC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAC5B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,KAChC,OAAO,CAAC,CAAC,CAAC,CAAA;AAIf,qEAAqE;AACrE,eAAO,MAAM,QAAQ,YAAa,aAAa,KAAG,WAsBhD,CAAA"}
|
package/dist/engine/groups.js
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,
|
|
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,
|
|
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
|
-
|
|
37
|
-
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAEtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,WAAW,GAAG,IAAI,EAClB,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1B,MAAM,KAAK,GAAG,SAAS,CACrB,gBAAgB,EAChB;QACE,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QACR,iBAAiB;QACjB,MAAM,CAAC,IAAI,CACT,+GAA+G,EAC/G,SAAS,CACV,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACrB,EACD;QACE,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE;YACH,GAAG,GAAG;YACN,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC;YAC9D,iBAAiB,EAAE,MAAM;YACzB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC3C;KACF,CACF,CAAA;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAA;AACvG,CAAC,EACD,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,GACjE,GAAG,EAAE,EAAQ,EAAE;IACd,IAAI,GAAG,CAAC,iBAAiB,KAAK,MAAM;QAAE,OAAM;IAC5C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAA;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;QAChG,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,IAAI,CAAC,mEAAmE,CAAC,CAAA;IAC3E,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/install/postinstall.ts"],"names":[],"mappings":"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"}
|
package/dist/messenger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BaseContext, type BaseEnvironment, type
|
|
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,
|
|
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;
|
package/dist/messenger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"
|
|
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,SAmGtB,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 {
|
|
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) => (
|
|
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,
|
|
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;
|
|
@@ -98,7 +98,7 @@ export const WHATSAPP = {
|
|
|
98
98
|
// Ids are WhatsApp's own strings, so held stretches are keyed by time. A page is one request to the phone for older
|
|
99
99
|
// messages (the adapter's `history`), and WhatsApp's own clients ask 50 at a time.
|
|
100
100
|
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)",
|
|
101
|
+
chatArgument: "a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter)",
|
|
102
102
|
inviteLinks: /chat\.whatsapp\.com\/[A-Za-z0-9]+/i,
|
|
103
103
|
// The chat with yourself has your own id.
|
|
104
104
|
savedChatId: (account) => account.account,
|
|
@@ -118,9 +118,17 @@ export const WHATSAPP = {
|
|
|
118
118
|
joinRequestsAll: false,
|
|
119
119
|
channelComments: false,
|
|
120
120
|
addsWithHistory: false,
|
|
121
|
+
// A member's record has no date the account was made, so the moderation rule `newAccount` could never match.
|
|
122
|
+
knowsAccountAge: false,
|
|
121
123
|
// A document carries the name the recipient sees; WhatsApp has no spoiler and no caption above.
|
|
122
124
|
mediaOptions: ["fileName"],
|
|
125
|
+
// 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
|
|
126
|
+
// at 100 KB; one cap has to let animated stickers through.
|
|
127
|
+
stickerFileBytes: 500 * 1024,
|
|
123
128
|
groupSettings: GROUP_SETTINGS,
|
|
129
|
+
groupPhoto: true,
|
|
130
|
+
groupPhotoRemoval: true,
|
|
131
|
+
profilePhotoTypes: [".jpg", ".jpeg"],
|
|
124
132
|
adminRights: ADMIN_RIGHTS,
|
|
125
133
|
pickAdminRights: false,
|
|
126
134
|
// A WhatsApp poll stays open, and any vote in it can be changed; everyone sees who voted for what.
|
|
@@ -132,10 +140,18 @@ export const WHATSAPP = {
|
|
|
132
140
|
silentSends: false,
|
|
133
141
|
sendAs: false,
|
|
134
142
|
scheduledSends: false,
|
|
143
|
+
// A pin is for the whole chat and tells its members; it ends after one of the lengths WhatsApp's apps offer.
|
|
144
|
+
quietPins: false,
|
|
145
|
+
pinDurations: [86_400, 604_800, 2_592_000],
|
|
146
|
+
pinDefaultDuration: 604_800,
|
|
135
147
|
// Nothing sends unless a typed command asked: WhatsApp bans accounts that answer like a bot.
|
|
136
148
|
autoReplies: false,
|
|
149
|
+
chatMute: true,
|
|
150
|
+
chatDeletion: true,
|
|
151
|
+
chatArchive: true,
|
|
152
|
+
chatPin: true,
|
|
153
|
+
chatMarkUnread: true,
|
|
137
154
|
lacks: [
|
|
138
|
-
"updateProfile",
|
|
139
155
|
"sessions",
|
|
140
156
|
"endOtherSessions",
|
|
141
157
|
"chatEvents",
|
|
@@ -148,24 +164,23 @@ export const WHATSAPP = {
|
|
|
148
164
|
"removeContact",
|
|
149
165
|
"renameContact",
|
|
150
166
|
"importContacts",
|
|
151
|
-
"pin",
|
|
152
|
-
"unpin",
|
|
153
167
|
],
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
168
|
+
deleteForMe: true,
|
|
169
|
+
privacy: true,
|
|
170
|
+
privacySettings: PRIVACY_SETTINGS,
|
|
171
|
+
messageStars: true,
|
|
157
172
|
connect: async (command, base, options = {}) => {
|
|
158
173
|
const linked = handedOver.get(command);
|
|
159
174
|
handedOver.delete(command);
|
|
160
175
|
const words = wordsFor(base.settings.profile);
|
|
161
176
|
if (linked)
|
|
162
|
-
return whatsAppAdapter(linked, options.stored, words);
|
|
177
|
+
return whatsAppAdapter(linked, options.stored, words, base.renderer.warn);
|
|
163
178
|
const engine = await openEngine(command, base, { listen: options.listen === true });
|
|
164
179
|
if (engine.self() === null) {
|
|
165
180
|
await engine.close();
|
|
166
181
|
throw new CliError("authentication_error", `profile "${base.settings.profile}" is not linked to WhatsApp — run ${loginHint(base.settings.profile)}`);
|
|
167
182
|
}
|
|
168
|
-
return whatsAppAdapter(engine, options.stored, words);
|
|
183
|
+
return whatsAppAdapter(engine, options.stored, words, base.renderer.warn);
|
|
169
184
|
},
|
|
170
185
|
};
|
|
171
186
|
//# sourceMappingURL=messenger.js.map
|
package/dist/messenger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger.js","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,
|
|
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
|
-
/**
|
|
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. */
|
package/dist/program.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/program.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { appendFileSync } from "node:fs";
|
|
2
1
|
import { exitCodeFor, processStreams } from "@wirecat/cli-base";
|
|
3
|
-
import { accountCommand, attachmentsCommand, chatsCommand, commandsCommand, completeCommand, configCommand, contactsCommand, conversationsCommand, createProgram as create, doctorCommand, floodCommand, imagesCommand, inboxCommand, mcpCommand, mentionsCommand, messagesCommand, modelsCommand, pollsCommand, reactionsCommand, recipientsCommand, reviewCommand, run as runCli, runsCommand, searchCommand, searchesCommand, sendsCommand, serveCommand, serverCommand, skillCommand, statsCommand, storeCommand, tagsCommand, tasksCommand, watchCommand, } from "@wirecat/cli-core/cli";
|
|
2
|
+
import { accountCommand, attachmentsCommand, chatsCommand, commandsCommand, completeCommand, configCommand, contactsCommand, conversationsCommand, createProgram as create, doctorCommand, floodCommand, imagesCommand, inboxCommand, mcpCommand, mentionsCommand, messagesCommand, metadataCommand, modelsCommand, pollsCommand, reactionsCommand, recipientsCommand, reviewCommand, run as runCli, runsCommand, searchCommand, searchesCommand, sendsCommand, serveCommand, serverCommand, skillCommand, statsCommand, storeCommand, tagsCommand, tasksCommand, watchCommand, } from "@wirecat/cli-core/cli";
|
|
4
3
|
import { CONFIG, WA } from "./app.js";
|
|
5
4
|
import { sessionCommand } from "./commands/session.js";
|
|
6
5
|
import { setupCommand } from "./commands/setup.js";
|
|
7
6
|
import { upgradeCommand } from "./commands/update.js";
|
|
8
7
|
import { SKILL, WHATSAPP } from "./messenger.js";
|
|
9
8
|
import { updateNotice } from "./update.js";
|
|
10
|
-
/**
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
* A revoked or missing login fails the same on every retry, and a restart during a ban would connect to WhatsApp
|
|
11
|
+
* again while it holds the account. `device.replaced` and `client.outdated` exit 12 with a crashed engine, which
|
|
12
|
+
* should restart, so an exit code cannot keep them from it.
|
|
13
|
+
*/
|
|
14
|
+
export const NO_RESTART_ON = [exitCodeFor("authentication_error"), exitCodeFor("permission_error")];
|
|
12
15
|
const definition = {
|
|
13
16
|
app: WA,
|
|
14
17
|
configuration: CONFIG,
|
|
@@ -27,7 +30,7 @@ const definition = {
|
|
|
27
30
|
"Run `wa personal setup --agent codex` for guided linking and skill installation.\n" +
|
|
28
31
|
"To install instructions separately: `wa skill install --for all`.\n");
|
|
29
32
|
},
|
|
30
|
-
commands: () =>
|
|
33
|
+
commands: () => [
|
|
31
34
|
sessionCommand(),
|
|
32
35
|
setupCommand(),
|
|
33
36
|
accountCommand(WHATSAPP),
|
|
@@ -48,6 +51,7 @@ const definition = {
|
|
|
48
51
|
tagsCommand(WHATSAPP),
|
|
49
52
|
mentionsCommand(WHATSAPP),
|
|
50
53
|
imagesCommand(WHATSAPP),
|
|
54
|
+
metadataCommand(WHATSAPP),
|
|
51
55
|
statsCommand(WHATSAPP),
|
|
52
56
|
tasksCommand(WHATSAPP),
|
|
53
57
|
searchCommand(WHATSAPP),
|
|
@@ -63,7 +67,7 @@ const definition = {
|
|
|
63
67
|
upgradeCommand(),
|
|
64
68
|
mcpCommand(WHATSAPP),
|
|
65
69
|
skillCommand(WA, SKILL),
|
|
66
|
-
]
|
|
70
|
+
],
|
|
67
71
|
};
|
|
68
72
|
export const createProgram = () => create(definition);
|
|
69
73
|
/** Never throws: every outcome is an exit code, and a failure is said once, on stderr. */
|
|
@@ -75,40 +79,8 @@ export const run = async (argv, environment = {}) => {
|
|
|
75
79
|
});
|
|
76
80
|
const code = await runCli(argv, definition, environment);
|
|
77
81
|
const line = await notice;
|
|
78
|
-
const argvLog = process.env.WA_TEST_ARGV_LOG;
|
|
79
|
-
// --version ends before any action, so the preAction hook never sees it.
|
|
80
|
-
if (argvLog && code === 0 && argv.some((word) => word === "--version" || word === "-V"))
|
|
81
|
-
appendFileSync(argvLog, `${JSON.stringify({ command: "", options: ["--version"] })}\n`);
|
|
82
82
|
if (line && code === 0)
|
|
83
83
|
(environment.streams ?? processStreams).diagnostic(line);
|
|
84
84
|
return code;
|
|
85
85
|
};
|
|
86
|
-
/**
|
|
87
|
-
* Under vitest only: which command a test drove and the option names it gave, never a value
|
|
88
|
-
* (`pnpm test:matrix`). The hook sits on each top-level command because the root program is built
|
|
89
|
-
* inside cli-core; commander runs an ancestor's preAction hook for every subcommand.
|
|
90
|
-
*/
|
|
91
|
-
function loggingArgv(commands) {
|
|
92
|
-
const file = process.env.WA_TEST_ARGV_LOG;
|
|
93
|
-
if (file)
|
|
94
|
-
for (const command of commands)
|
|
95
|
-
command.hook("preAction", (_self, action) => logParsed(file, action));
|
|
96
|
-
return commands;
|
|
97
|
-
}
|
|
98
|
-
const logParsed = (file, action) => {
|
|
99
|
-
const words = [];
|
|
100
|
-
const options = [];
|
|
101
|
-
for (let at = action; at; at = at.parent) {
|
|
102
|
-
if (at.parent)
|
|
103
|
-
words.unshift(at.name());
|
|
104
|
-
for (const option of at.options) {
|
|
105
|
-
const key = option.attributeName();
|
|
106
|
-
if (at.getOptionValueSource(key) !== "cli" || !option.long)
|
|
107
|
-
continue;
|
|
108
|
-
if (option.negate === (at.getOptionValue(key) === false))
|
|
109
|
-
options.push(option.long);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
appendFileSync(file, `${JSON.stringify({ command: words.join(" "), options })}\n`);
|
|
113
|
-
};
|
|
114
86
|
//# sourceMappingURL=program.js.map
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/dist/reasons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasons.d.ts","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE7E,wFAAwF;AACxF,eAAO,MAAM,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"reasons.d.ts","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE7E,wFAAwF;AACxF,eAAO,MAAM,OAAO,EAAE,WAAW,EAqBhC,CAAA"}
|
package/dist/reasons.js
CHANGED
|
@@ -7,6 +7,14 @@ export const REASONS = defineReasons([
|
|
|
7
7
|
["client.outdated", "provider_unavailable", "WhatsApp no longer accepts this version of wa"],
|
|
8
8
|
["account.banned", "permission_error", "WhatsApp has banned or restricted this account"],
|
|
9
9
|
["account.rate-limited", "rate_limited", "WhatsApp asked this account to slow down"],
|
|
10
|
+
["settings.keys-missing", "provider_unavailable", "WhatsApp has not sent the keys a settings change needs yet"],
|
|
11
|
+
["media.not-on-phone", "not_found", "neither WhatsApp nor the phone keeps this file any more"],
|
|
12
|
+
["media.phone-cannot-decrypt", "not_found", "the phone could not read the request to upload this file again"],
|
|
13
|
+
["media.phone-answer-unreadable", "provider_error", "the phone's answer about this file could not be read"],
|
|
14
|
+
["media.phone-failed", "provider_error", "the phone could not upload this file again"],
|
|
15
|
+
["media.phone-timeout", "timeout", "the phone did not upload this file again in time"],
|
|
16
|
+
["media.retry-failed", "provider_error", "the phone uploaded this file again, but the new copy did not download"],
|
|
17
|
+
["media.channel-file-forward", "validation_error", "a file from a WhatsApp channel cannot be forwarded"],
|
|
10
18
|
["engine.stopped", "provider_unavailable", "the WhatsApp engine stopped unexpectedly"],
|
|
11
19
|
["engine.stopped-mid-write", "outcome_unknown", "the WhatsApp engine stopped before WhatsApp confirmed a change"],
|
|
12
20
|
].map(([reason, code, message]) => ({ reason, code, message, details: [] })));
|
package/dist/reasons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasons.js","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAA;AAE7E,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAkB,aAAa,CAE/C;IACE,CAAC,eAAe,EAAE,sBAAsB,EAAE,8CAA8C,CAAC;IACzF,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,kDAAkD,CAAC;IAC/F,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,iCAAiC,CAAC;IAChF,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,+CAA+C,CAAC;IAC5F,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gDAAgD,CAAC;IACxF,CAAC,sBAAsB,EAAE,cAAc,EAAE,0CAA0C,CAAC;IACpF,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,0CAA0C,CAAC;IACtF,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,gEAAgE,CAAC;CAEpH,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAC7E,CAAA"}
|
|
1
|
+
{"version":3,"file":"reasons.js","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAA;AAE7E,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAkB,aAAa,CAE/C;IACE,CAAC,eAAe,EAAE,sBAAsB,EAAE,8CAA8C,CAAC;IACzF,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,kDAAkD,CAAC;IAC/F,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,iCAAiC,CAAC;IAChF,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,+CAA+C,CAAC;IAC5F,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gDAAgD,CAAC;IACxF,CAAC,sBAAsB,EAAE,cAAc,EAAE,0CAA0C,CAAC;IACpF,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,4DAA4D,CAAC;IAC/G,CAAC,oBAAoB,EAAE,WAAW,EAAE,yDAAyD,CAAC;IAC9F,CAAC,4BAA4B,EAAE,WAAW,EAAE,gEAAgE,CAAC;IAC7G,CAAC,+BAA+B,EAAE,gBAAgB,EAAE,sDAAsD,CAAC;IAC3G,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,4CAA4C,CAAC;IACtF,CAAC,qBAAqB,EAAE,SAAS,EAAE,kDAAkD,CAAC;IACtF,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,uEAAuE,CAAC;IACjH,CAAC,4BAA4B,EAAE,kBAAkB,EAAE,oDAAoD,CAAC;IACxG,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,0CAA0C,CAAC;IACtF,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,gEAAgE,CAAC;CAEpH,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAC7E,CAAA"}
|
package/dist/update.d.ts
CHANGED
|
@@ -4,5 +4,4 @@ export declare const PACKAGE = "@wirecat/whatsapp-cli";
|
|
|
4
4
|
export declare const installer: ({ scriptPath }?: UpdateEnvironment) => import("@wirecat/cli-base/update").Installer, latest: (environment?: UpdateEnvironment) => Promise<string | undefined>, runUpdate: (argv: string[], environment?: UpdateEnvironment) => number, updateNotice: (argv: readonly string[], { tty, environment, env }?: import("@wirecat/cli-core/update").NoticeOptions) => Promise<string | undefined>;
|
|
5
5
|
/** This install's own entry point — after an update, the new code at the same path. */
|
|
6
6
|
export declare const waScript: () => string;
|
|
7
|
-
export declare const restartServer: (profile: string, env: NodeJS.ProcessEnv, environment?: UpdateEnvironment) => number;
|
|
8
7
|
//# sourceMappingURL=update.d.ts.map
|
package/dist/update.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAK5E,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,eAAO,MAAM,OAAO,0BAA0B,CAAA;AAE9C,eAAO,MAAQ,SAAS,wFAAE,MAAM,oEAAE,SAAS,+DAAE,YAAY,wIAQvD,CAAA;AAEF,uFAAuF;AACvF,eAAO,MAAM,QAAQ,QAAO,MAAgE,CAAA"}
|