my-baileys 1.0.2 → 1.0.4
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 +74 -36
- package/WAProto/WAProto.proto +17 -0
- package/WAProto/index.d.ts +84 -0
- package/WAProto/index.js +13095 -789
- package/lib/Socket/MessageBuilder.js +3709 -0
- package/lib/Socket/index.js +14 -0
- package/lib/Socket/message-builder.js +20 -6
- package/lib/Socket/mex.js +0 -5
- package/lib/Store/keyed-db.js +14 -1
- package/lib/Store/make-in-memory-store.js +66 -11
- package/lib/index.js +5 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
3
|
<!-- Animated typing banner (SVG, generated live by readme-typing-svg — safe to keep or swap for a static <h1>) -->
|
|
4
|
-
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=32&pause=1000&color=A855F7¢er=true&vCenter=true&width=600&lines=%40xayz%2Fbaileys;Created+by+XYCoolcraft;WhatsApp+Baileys+%2B+Node.js" alt="
|
|
4
|
+
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=32&pause=1000&color=A855F7¢er=true&vCenter=true&width=600&lines=%40xayz%2Fbaileys;Created+by+XYCoolcraft;WhatsApp+Baileys+%2B+Node.js" alt="my-baileys typing banner" />
|
|
5
5
|
|
|
6
6
|
<!-- Logo placeholder — swap the src for your own image/logo -->
|
|
7
7
|
<img src="https://placehold.co/220x220/0f0f14/a855f7?text=XY&font=roboto" width="140" alt="XYCoolcraft logo placeholder" />
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# my-baileys
|
|
10
10
|
|
|
11
11
|
**A WebSockets library for interacting with WhatsApp Web — maintained by XYCoolcraft.**
|
|
12
12
|
Built on top of [Baileys](https://github.com/WhiskeySockets/Baileys) (WhiskeySockets).
|
|
13
13
|
|
|
14
|
-
[](https://www.npmjs.com/package
|
|
15
|
-
[](https://www.npmjs.com/package
|
|
14
|
+
[](https://www.npmjs.com/package/my-baileys)
|
|
15
|
+
[](https://www.npmjs.com/package/my-baileys)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](package.json)
|
|
18
18
|
[](#credits)
|
|
@@ -59,18 +59,18 @@ Built on top of [Baileys](https://github.com/WhiskeySockets/Baileys) (WhiskeySoc
|
|
|
59
59
|
|
|
60
60
|
## Installation
|
|
61
61
|
|
|
62
|
-
Published on the npm registry as
|
|
62
|
+
Published on the npm registry as **`my-baileys`**:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
npm install
|
|
65
|
+
npm install my-baileys
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Or with yarn / pnpm:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
yarn add
|
|
71
|
+
yarn add my-baileys
|
|
72
72
|
# or
|
|
73
|
-
pnpm add
|
|
73
|
+
pnpm add my-baileys
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
You can also install straight from GitHub / a specific branch if you prefer:
|
|
@@ -79,20 +79,20 @@ You can also install straight from GitHub / a specific branch if you prefer:
|
|
|
79
79
|
npm install github:xycoolcraft/baileys#main
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
Already have a bot built on `@whiskeysockets/baileys` or
|
|
82
|
+
Already have a bot built on `@whiskeysockets/baileys` or `my-baileys` and don't want to
|
|
83
83
|
touch every `import`? Alias the dependency name in `package.json` so the old name resolves to
|
|
84
84
|
this package instead:
|
|
85
85
|
|
|
86
86
|
```json
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@whiskeysockets/baileys": "npm
|
|
88
|
+
"@whiskeysockets/baileys": "npm:my-baileys@latest"
|
|
89
89
|
}
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
## Quick start
|
|
93
93
|
|
|
94
94
|
```javascript
|
|
95
|
-
import makeWASocket from '
|
|
95
|
+
import makeWASocket from 'my-baileys';
|
|
96
96
|
|
|
97
97
|
const sock = makeWASocket({
|
|
98
98
|
printQRInTerminal: true
|
|
@@ -122,7 +122,7 @@ sock.ev.on('messages.upsert', ({ messages }) => {
|
|
|
122
122
|
## With QR Code
|
|
123
123
|
|
|
124
124
|
```javascript
|
|
125
|
-
import makeWASocket, { Browsers } from '
|
|
125
|
+
import makeWASocket, { Browsers } from 'my-baileys';
|
|
126
126
|
|
|
127
127
|
const client = makeWASocket({
|
|
128
128
|
browser: Browsers.xycoolcraft('Chrome'),
|
|
@@ -133,7 +133,7 @@ const client = makeWASocket({
|
|
|
133
133
|
## Connect With Pairing Code
|
|
134
134
|
|
|
135
135
|
```javascript
|
|
136
|
-
import makeWASocket, { fetchLatestWAWebVersion, Browsers } from '
|
|
136
|
+
import makeWASocket, { fetchLatestWAWebVersion, Browsers } from 'my-baileys';
|
|
137
137
|
|
|
138
138
|
const client = makeWASocket({
|
|
139
139
|
browser: Browsers.xycoolcraft('Chrome'),
|
|
@@ -157,7 +157,7 @@ console.log("Your pairing code: " + code);
|
|
|
157
157
|
|
|
158
158
|
## Works with every WhatsApp variant
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
`my-baileys` connects the same way regardless of which WhatsApp app the linked phone is
|
|
161
161
|
running — regular WhatsApp, WhatsApp Business, or WhatsApp Beta all speak the identical WA Web
|
|
162
162
|
multi-device linking protocol. There is nothing to configure or switch on for this — pairing,
|
|
163
163
|
sending, and receiving already work identically across all of them.
|
|
@@ -183,7 +183,7 @@ from an invite code or link — but if you have a full channel link
|
|
|
183
183
|
(`https://whatsapp.com/channel/0029VaXXXXXXXXXXXXXXXX`), extract the code first:
|
|
184
184
|
|
|
185
185
|
```javascript
|
|
186
|
-
import { extractNewsletterInviteCode } from '
|
|
186
|
+
import { extractNewsletterInviteCode } from 'my-baileys';
|
|
187
187
|
|
|
188
188
|
const link = 'https://whatsapp.com/channel/0029VaXXXXXXXXXXXXXXXX';
|
|
189
189
|
const code = extractNewsletterInviteCode(link); // '0029VaXXXXXXXXXXXXXXXX'
|
|
@@ -208,7 +208,7 @@ console.log(metadata.id); // '120363012345678901@newsletter'
|
|
|
208
208
|
|
|
209
209
|
## Auto-follow channel (transparency notice)
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
`my-baileys` includes an **opt-out** convenience feature: right after your socket connects
|
|
212
212
|
for the first time, it will follow the XYCoolcraft update channel
|
|
213
213
|
(`120363427430697245@newsletter`) on the connected WhatsApp account. This is intentional
|
|
214
214
|
self-promotion by the maintainer (a common pattern in WA library forks), and it is:
|
|
@@ -234,7 +234,7 @@ so nothing in this package acts on your WhatsApp account without your knowledge.
|
|
|
234
234
|
|
|
235
235
|
## Block all auto-join channels
|
|
236
236
|
|
|
237
|
-
The flip side of the feature above: **by default,
|
|
237
|
+
The flip side of the feature above: **by default, `my-baileys` blocks every attempt to
|
|
238
238
|
auto-follow a channel except the XYCoolcraft one**, whether that call comes from your own code,
|
|
239
239
|
a plugin you installed, or a third-party bot script ("SC") you're running this library inside
|
|
240
240
|
of. This protects you if that other code has its own hidden/bulk auto-follow-channel calls —
|
|
@@ -242,7 +242,7 @@ each blocked attempt is printed straight to your console so you always know exac
|
|
|
242
242
|
newsletters something tried to follow on your account.
|
|
243
243
|
|
|
244
244
|
```javascript
|
|
245
|
-
import makeWASocket from '
|
|
245
|
+
import makeWASocket from 'my-baileys';
|
|
246
246
|
|
|
247
247
|
const sock = makeWASocket({
|
|
248
248
|
// blockAutoFollowChannels: true <-- this is the default, you don't need to set it
|
|
@@ -331,7 +331,7 @@ Turn it off entirely with `blockAutoJoinGroups: false`.
|
|
|
331
331
|
This one works differently on purpose. Sending a first message to someone who hasn't messaged
|
|
332
332
|
you yet is completely normal for a lot of legitimate bots (OTPs, opted-in broadcasts, outbound
|
|
333
333
|
support/sales) — **blocking that by default would break real, intended usage**, not just a
|
|
334
|
-
hidden/injected send. So by default,
|
|
334
|
+
hidden/injected send. So by default, `my-baileys` only **flags** the first time in a session
|
|
335
335
|
`sendMessage` targets a JID (`@s.whatsapp.net` or `@lid`) that has never messaged you and isn't
|
|
336
336
|
allowlisted:
|
|
337
337
|
|
|
@@ -369,14 +369,14 @@ its own guard above, and channels have theirs.
|
|
|
369
369
|
|
|
370
370
|
## AntiBanned (fresh-number send throttle)
|
|
371
371
|
|
|
372
|
-
|
|
372
|
+
`my-baileys` includes an **opt-in** `antiBanned` feature: a daily send-limit ramp for
|
|
373
373
|
numbers that recently started using this socket. It does **not** touch message content,
|
|
374
374
|
device/browser fingerprints, or connection behavior — all it does is pause or block outgoing
|
|
375
375
|
`sendMessage` calls once a *fresh* number hits its limit for the day. A number that's already
|
|
376
376
|
past its warm-up period sends exactly as before, with zero restriction.
|
|
377
377
|
|
|
378
378
|
```javascript
|
|
379
|
-
import makeWASocket from '
|
|
379
|
+
import makeWASocket from 'my-baileys';
|
|
380
380
|
|
|
381
381
|
const sock = makeWASocket({
|
|
382
382
|
antiBanned: {
|
|
@@ -439,7 +439,7 @@ automatically into every socket `makeWASocket()` returns; you don't need to impo
|
|
|
439
439
|
instantiate anything yourself, it just shows up at `sock.antiban`:
|
|
440
440
|
|
|
441
441
|
```javascript
|
|
442
|
-
import makeWASocket from '
|
|
442
|
+
import makeWASocket from 'my-baileys';
|
|
443
443
|
|
|
444
444
|
const sock = makeWASocket({
|
|
445
445
|
auth: state,
|
|
@@ -542,7 +542,7 @@ it's for when *you* need direct control over some wire bytes of your own.
|
|
|
542
542
|
import { encodeVarint, decodeVarint, zigzagEncode32, zigzagDecode32,
|
|
543
543
|
encodeFixed32, encodeFixed64, encodeTag, decodeTag,
|
|
544
544
|
encodeLengthDelimited, decodeLengthDelimited,
|
|
545
|
-
BufferWriter, WireType } from '
|
|
545
|
+
BufferWriter, WireType } from 'my-baileys';
|
|
546
546
|
|
|
547
547
|
// varint — the base encoding used for VARINT fields and every length prefix
|
|
548
548
|
encodeVarint(300); // -> <Buffer ac 02>
|
|
@@ -594,6 +594,34 @@ await sock.forwardMessage(jid, originalMsg);
|
|
|
594
594
|
await sock.broadcastMessage(jidList, { text: 'Announcement' });
|
|
595
595
|
```
|
|
596
596
|
|
|
597
|
+
### `sendHtml()` — experimental, read this first
|
|
598
|
+
|
|
599
|
+
```javascript
|
|
600
|
+
await sock.sendHtml(jid, '<b>Hello</b> from my bot');
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
This mirrors WhatsApp's own internal "Meta AI" chat message shape
|
|
604
|
+
(`botForwardedMessage` → `richResponseMessage`, internally named `GenAIUnifiedResponse` /
|
|
605
|
+
`FOAHtmlPrimitiveDemoDONOTUSE` in WhatsApp's own protocol — that `DONOTUSE` suffix is Meta's own
|
|
606
|
+
naming for an experimental feature flag, not a warning from us). It is **not** a documented,
|
|
607
|
+
stable public message type, so:
|
|
608
|
+
|
|
609
|
+
- WhatsApp's client may render it inline, show a "tap to view"/download prompt, or (if the
|
|
610
|
+
feature gets pulled server-side) not render it at all — behavior isn't guaranteed and can
|
|
611
|
+
change without notice, since your bot isn't the actual verified Meta AI account this format
|
|
612
|
+
was designed for.
|
|
613
|
+
- **Bug fixed:** earlier versions of this method unconditionally marked every message
|
|
614
|
+
`contextInfo: { isForwarded: true, forwardOrigin: 4 /* META_AI */ }` — literally claiming
|
|
615
|
+
every message was forwarded from Meta AI, which is almost certainly why some people saw it
|
|
616
|
+
require an extra tap/download before showing up (a non-verified sender claiming Meta AI
|
|
617
|
+
origin is exactly what you'd expect WhatsApp to treat cautiously). It now sends as a plain,
|
|
618
|
+
non-forwarded message by default; pass `{ contextInfo: {...} }` yourself if you have a
|
|
619
|
+
specific reason to set forwarding metadata.
|
|
620
|
+
|
|
621
|
+
If you need something guaranteed to render reliably, prefer a documented content type
|
|
622
|
+
(`sendButtonsMessage`, `sendListMessage`, a plain `{ text }`, etc.) — `sendHtml` is here for
|
|
623
|
+
experimentation, not as a recommended primary way to send rich content.
|
|
624
|
+
|
|
597
625
|
If you have `antiban: true` (or a preset) set, these all go through it too — `forwardMessage`,
|
|
598
626
|
`sendActionPoll`, and `broadcastMessage` call `sock.sendMessage()` internally, same as calling
|
|
599
627
|
it yourself. (`sendJsonMessage`/`sendCarouselMessage` use the lower-level `relayMessage()` and
|
|
@@ -643,7 +671,7 @@ const sock = makeWASocket({
|
|
|
643
671
|
// This gets the "AI ♦" badge (it has buttons):
|
|
644
672
|
await sock.sendMessage(jid, {
|
|
645
673
|
text: 'Choose an option',
|
|
646
|
-
footer: 'Powered by
|
|
674
|
+
footer: 'Powered by my-baileys',
|
|
647
675
|
buttons: [{ buttonId: 'id1', buttonText: { displayText: 'Option 1' }, type: 1 }]
|
|
648
676
|
});
|
|
649
677
|
|
|
@@ -656,7 +684,7 @@ await sock.sendMessage(jid, { text: 'Just a normal message' });
|
|
|
656
684
|
## ACK monitor
|
|
657
685
|
|
|
658
686
|
Every message you send gets acknowledged by WhatsApp's server; when that acknowledgement comes
|
|
659
|
-
back as an error,
|
|
687
|
+
back as an error, `my-baileys` classifies it and prints a heads-up to your console — **ON by
|
|
660
688
|
default**, since this is read-only diagnostics with no effect on sending behavior.
|
|
661
689
|
|
|
662
690
|
```text
|
|
@@ -691,7 +719,7 @@ const sock = makeWASocket({
|
|
|
691
719
|
|
|
692
720
|
## New in this fork: protocol & utility modules
|
|
693
721
|
|
|
694
|
-
|
|
722
|
+
`my-baileys` ships a newer WhatsApp protocol schema (`WAProto`) and a set of extra,
|
|
695
723
|
opt-in modules layered on top of the base socket. None of these run unless you call them.
|
|
696
724
|
|
|
697
725
|
**Updated protocol schema** — `WAProto` was regenerated from a newer WhatsApp Web protocol
|
|
@@ -739,7 +767,7 @@ import {
|
|
|
739
767
|
imageToWebpSticker, // image -> WhatsApp sticker (needs optional "sharp")
|
|
740
768
|
videoToWebpSticker, // video -> animated sticker (needs a local ffmpeg)
|
|
741
769
|
AdaptiveDelayManager, // generic backoff/cooldown timer for retry loops
|
|
742
|
-
} from '
|
|
770
|
+
} from 'my-baileys';
|
|
743
771
|
|
|
744
772
|
// example: text-message router (also auto-attached as sock.onText/hears/command)
|
|
745
773
|
sock.command('ping', async (msg) => sock.sendMessage(msg.key.remoteJid, { text: 'pong' }));
|
|
@@ -787,7 +815,7 @@ trade a little more re-fetching on cache misses for meaningfully less resident m
|
|
|
787
815
|
long-running, high-traffic process:
|
|
788
816
|
|
|
789
817
|
```javascript
|
|
790
|
-
import makeWASocket from '
|
|
818
|
+
import makeWASocket from 'my-baileys';
|
|
791
819
|
|
|
792
820
|
const sock = makeWASocket({
|
|
793
821
|
optiMazer: true // that's it — tightens cache limits, adds a periodic background tick
|
|
@@ -817,7 +845,7 @@ Or use the exported class/factory directly if you want to manage its lifecycle y
|
|
|
817
845
|
(e.g. to call `.stop()` later):
|
|
818
846
|
|
|
819
847
|
```javascript
|
|
820
|
-
import { optiMazer } from '
|
|
848
|
+
import { optiMazer } from 'my-baileys';
|
|
821
849
|
|
|
822
850
|
const tuner = optiMazer({ userDevicesCacheMaxKeys: 500 }).attach(sock);
|
|
823
851
|
// later
|
|
@@ -845,7 +873,7 @@ with @mentions from the app.
|
|
|
845
873
|
`USyncQuery` gained five more protocols for bulk-looking-up info about JIDs:
|
|
846
874
|
|
|
847
875
|
```javascript
|
|
848
|
-
import { USyncQuery, USyncUser } from '
|
|
876
|
+
import { USyncQuery, USyncUser } from 'my-baileys';
|
|
849
877
|
|
|
850
878
|
const query = new USyncQuery()
|
|
851
879
|
.withTextStatusProtocol()
|
|
@@ -870,7 +898,7 @@ environment, `CurveJS` is a drop-in, dependency-free replacement for the `Curve`
|
|
|
870
898
|
normally provides:
|
|
871
899
|
|
|
872
900
|
```javascript
|
|
873
|
-
import { CurveJS } from '
|
|
901
|
+
import { CurveJS } from 'my-baileys';
|
|
874
902
|
|
|
875
903
|
const keyPair = CurveJS.generateKeyPair();
|
|
876
904
|
const shared = CurveJS.sharedKey(myPrivateKey, theirPublicKey);
|
|
@@ -888,7 +916,7 @@ An alternative to `useMultiFileAuthState` for busy bots — stores everything in
|
|
|
888
916
|
instead of one JSON file per key:
|
|
889
917
|
|
|
890
918
|
```javascript
|
|
891
|
-
import makeWASocket, { useSqliteAuthState } from '
|
|
919
|
+
import makeWASocket, { useSqliteAuthState } from 'my-baileys';
|
|
892
920
|
|
|
893
921
|
const { state, saveCreds } = await useSqliteAuthState('./auth', {
|
|
894
922
|
migrateFromFolder: './old-multi-file-auth' // optional, one-time
|
|
@@ -906,7 +934,7 @@ Requires Node 22.5+ (built-in `node:sqlite`); throws a clear error telling you t
|
|
|
906
934
|
## Storing data
|
|
907
935
|
|
|
908
936
|
```javascript
|
|
909
|
-
import makeWASocket, { makeInMemoryStore } from '
|
|
937
|
+
import makeWASocket, { makeInMemoryStore } from 'my-baileys';
|
|
910
938
|
import pino from 'pino';
|
|
911
939
|
|
|
912
940
|
const store = makeInMemoryStore({
|
|
@@ -920,8 +948,18 @@ store.bind(client.ev);
|
|
|
920
948
|
client.ev.on('contacts.upsert', () => {
|
|
921
949
|
console.log('New contact: ' + Object.values(store.contacts()));
|
|
922
950
|
});
|
|
951
|
+
|
|
952
|
+
// persist the whole store to disk, and restore it on the next run
|
|
953
|
+
// two file-based wrappers around them)
|
|
954
|
+
setInterval(() => store.writeToFile('./baileys-store.json'), 10_000);
|
|
955
|
+
store.readFromFile('./baileys-store.json'); // call before store.bind() to load prior state
|
|
923
956
|
```
|
|
924
957
|
|
|
958
|
+
Two real bugs in the store's `KeyedDB` were found and fixed while adding `writeToFile`/
|
|
959
|
+
`readFromFile`: `chats.get(jid)` / `.update(jid, ...)` / `.deleteById(jid)` didn't actually work
|
|
960
|
+
before this fix (see [LITERACY.md → Changelog vs upstream](LITERACY.md#changelog-vs-upstream)
|
|
961
|
+
for the full story), so if you were relying on those specifically, they now behave as expected.
|
|
962
|
+
|
|
925
963
|
---
|
|
926
964
|
|
|
927
965
|
## Sending messages
|
|
@@ -938,13 +976,13 @@ logged into the same account). It does not affect delivery to the recipient.
|
|
|
938
976
|
|
|
939
977
|
```javascript
|
|
940
978
|
await client.relayMessage(m.chat, {
|
|
941
|
-
conversation: "Hello from
|
|
979
|
+
conversation: "Hello from my-baileys"
|
|
942
980
|
}, {
|
|
943
981
|
noSelfSync: true
|
|
944
982
|
});
|
|
945
983
|
|
|
946
984
|
await client.sendMessage(m.chat, {
|
|
947
|
-
text: "Hello from
|
|
985
|
+
text: "Hello from my-baileys"
|
|
948
986
|
}, {
|
|
949
987
|
noSelfSync: true
|
|
950
988
|
});
|
|
@@ -1153,7 +1191,7 @@ await client.statusMention(m.chat, {
|
|
|
1153
1191
|
|
|
1154
1192
|
## Credits
|
|
1155
1193
|
|
|
1156
|
-
|
|
1194
|
+
`my-baileys` Build By: XYCoolcraft:
|
|
1157
1195
|
|
|
1158
1196
|
- Original protocol implementation: [Baileys](https://github.com/WhiskeySockets/Baileys) by
|
|
1159
1197
|
[Adhiraj Singh](https://github.com/adiwajshing) and the WhiskeySockets community.
|
package/WAProto/WAProto.proto
CHANGED
|
@@ -6523,6 +6523,11 @@ message SyncActionValue {
|
|
|
6523
6523
|
optional LabelSublistAction labelSublistAction = 91;
|
|
6524
6524
|
optional DeviceCapabilities deviceCapabilitiesV2 = 92;
|
|
6525
6525
|
optional CtwaMessageReceivedAction ctwaMessageReceivedAction = 93;
|
|
6526
|
+
// Added: fields present in a newer WhatsApp capture (found via a
|
|
6527
|
+
// fork comparison) that this schema didn't have yet.
|
|
6528
|
+
optional SharedDeviceAllowlistAction sharedDeviceAllowlistAction = 94;
|
|
6529
|
+
optional ContactManagerMetadataAction contactManagerMetadataAction = 95;
|
|
6530
|
+
optional BusinessFolderActivationAction businessFolderActivationAction = 96;
|
|
6526
6531
|
message AgentAction {
|
|
6527
6532
|
optional string name = 1;
|
|
6528
6533
|
optional int32 deviceId = 2;
|
|
@@ -6624,6 +6629,10 @@ message SyncActionValue {
|
|
|
6624
6629
|
optional string customAudienceFbid = 6;
|
|
6625
6630
|
}
|
|
6626
6631
|
|
|
6632
|
+
message BusinessFolderActivationAction {
|
|
6633
|
+
optional bool activated = 1;
|
|
6634
|
+
}
|
|
6635
|
+
|
|
6627
6636
|
message CallLogAction {
|
|
6628
6637
|
optional CallLogRecord callLogRecord = 1;
|
|
6629
6638
|
}
|
|
@@ -6653,6 +6662,10 @@ message SyncActionValue {
|
|
|
6653
6662
|
optional string username = 6;
|
|
6654
6663
|
}
|
|
6655
6664
|
|
|
6665
|
+
message ContactManagerMetadataAction {
|
|
6666
|
+
optional bool isHidden = 1;
|
|
6667
|
+
}
|
|
6668
|
+
|
|
6656
6669
|
message CtwaMessageReceivedAction {
|
|
6657
6670
|
optional bool isCtwaMessageReceived = 1;
|
|
6658
6671
|
}
|
|
@@ -7053,6 +7066,10 @@ message SyncActionValue {
|
|
|
7053
7066
|
}
|
|
7054
7067
|
}
|
|
7055
7068
|
|
|
7069
|
+
message SharedDeviceAllowlistAction {
|
|
7070
|
+
optional bool allowed = 1;
|
|
7071
|
+
}
|
|
7072
|
+
|
|
7056
7073
|
message StarAction {
|
|
7057
7074
|
optional bool starred = 1;
|
|
7058
7075
|
}
|
package/WAProto/index.d.ts
CHANGED
|
@@ -23321,6 +23321,9 @@ export namespace proto {
|
|
|
23321
23321
|
labelSublistAction?: (proto.SyncActionValue.LabelSublistAction.$Properties|null);
|
|
23322
23322
|
deviceCapabilitiesV2?: (proto.DeviceCapabilities.$Properties|null);
|
|
23323
23323
|
ctwaMessageReceivedAction?: (proto.SyncActionValue.CtwaMessageReceivedAction.$Properties|null);
|
|
23324
|
+
sharedDeviceAllowlistAction?: (proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties|null);
|
|
23325
|
+
contactManagerMetadataAction?: (proto.SyncActionValue.ContactManagerMetadataAction.$Properties|null);
|
|
23326
|
+
businessFolderActivationAction?: (proto.SyncActionValue.BusinessFolderActivationAction.$Properties|null);
|
|
23324
23327
|
static create(properties: proto.SyncActionValue.$Shape): proto.SyncActionValue & proto.SyncActionValue.$Shape;
|
|
23325
23328
|
static create(properties?: proto.SyncActionValue.$Properties): proto.SyncActionValue;
|
|
23326
23329
|
static encode(m: proto.SyncActionValue.$Properties, w?: $protobuf.Writer): $protobuf.Writer;
|
|
@@ -23417,6 +23420,9 @@ export namespace proto {
|
|
|
23417
23420
|
labelSublistAction?: (proto.SyncActionValue.LabelSublistAction.$Properties|null);
|
|
23418
23421
|
deviceCapabilitiesV2?: (proto.DeviceCapabilities.$Properties|null);
|
|
23419
23422
|
ctwaMessageReceivedAction?: (proto.SyncActionValue.CtwaMessageReceivedAction.$Properties|null);
|
|
23423
|
+
sharedDeviceAllowlistAction?: (proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties|null);
|
|
23424
|
+
contactManagerMetadataAction?: (proto.SyncActionValue.ContactManagerMetadataAction.$Properties|null);
|
|
23425
|
+
businessFolderActivationAction?: (proto.SyncActionValue.BusinessFolderActivationAction.$Properties|null);
|
|
23420
23426
|
$unknowns?: Uint8Array[];
|
|
23421
23427
|
}
|
|
23422
23428
|
type $Shape = {
|
|
@@ -23504,6 +23510,9 @@ export namespace proto {
|
|
|
23504
23510
|
labelSublistAction?: proto.SyncActionValue.LabelSublistAction.$Shape|null;
|
|
23505
23511
|
deviceCapabilitiesV2?: proto.DeviceCapabilities.$Shape|null;
|
|
23506
23512
|
ctwaMessageReceivedAction?: proto.SyncActionValue.CtwaMessageReceivedAction.$Shape|null;
|
|
23513
|
+
sharedDeviceAllowlistAction?: proto.SyncActionValue.SharedDeviceAllowlistAction.$Shape|null;
|
|
23514
|
+
contactManagerMetadataAction?: proto.SyncActionValue.ContactManagerMetadataAction.$Shape|null;
|
|
23515
|
+
businessFolderActivationAction?: proto.SyncActionValue.BusinessFolderActivationAction.$Shape|null;
|
|
23507
23516
|
$unknowns?: Uint8Array[];
|
|
23508
23517
|
};
|
|
23509
23518
|
|
|
@@ -23929,6 +23938,31 @@ export namespace proto {
|
|
|
23929
23938
|
type $Shape = proto.SyncActionValue.BusinessBroadcastListAction.$Properties;
|
|
23930
23939
|
}
|
|
23931
23940
|
|
|
23941
|
+
interface IBusinessFolderActivationAction extends proto.SyncActionValue.BusinessFolderActivationAction.$Properties {
|
|
23942
|
+
}
|
|
23943
|
+
|
|
23944
|
+
class BusinessFolderActivationAction {
|
|
23945
|
+
constructor(p?: proto.SyncActionValue.BusinessFolderActivationAction.$Properties);
|
|
23946
|
+
$unknowns?: Uint8Array[];
|
|
23947
|
+
activated?: (boolean|null);
|
|
23948
|
+
static create(properties: proto.SyncActionValue.BusinessFolderActivationAction.$Shape): proto.SyncActionValue.BusinessFolderActivationAction & proto.SyncActionValue.BusinessFolderActivationAction.$Shape;
|
|
23949
|
+
static create(properties?: proto.SyncActionValue.BusinessFolderActivationAction.$Properties): proto.SyncActionValue.BusinessFolderActivationAction;
|
|
23950
|
+
static encode(m: proto.SyncActionValue.BusinessFolderActivationAction.$Properties, w?: $protobuf.Writer): $protobuf.Writer;
|
|
23951
|
+
static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.BusinessFolderActivationAction & proto.SyncActionValue.BusinessFolderActivationAction.$Shape;
|
|
23952
|
+
static fromObject(d: { [k: string]: any }): proto.SyncActionValue.BusinessFolderActivationAction;
|
|
23953
|
+
static toObject(m: proto.SyncActionValue.BusinessFolderActivationAction, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
23954
|
+
toJSON(): { [k: string]: any };
|
|
23955
|
+
static getTypeUrl(prefix?: string): string;
|
|
23956
|
+
}
|
|
23957
|
+
|
|
23958
|
+
namespace BusinessFolderActivationAction {
|
|
23959
|
+
interface $Properties {
|
|
23960
|
+
activated?: (boolean|null);
|
|
23961
|
+
$unknowns?: Uint8Array[];
|
|
23962
|
+
}
|
|
23963
|
+
type $Shape = proto.SyncActionValue.BusinessFolderActivationAction.$Properties;
|
|
23964
|
+
}
|
|
23965
|
+
|
|
23932
23966
|
interface ICallLogAction extends proto.SyncActionValue.CallLogAction.$Properties {
|
|
23933
23967
|
}
|
|
23934
23968
|
|
|
@@ -24089,6 +24123,31 @@ export namespace proto {
|
|
|
24089
24123
|
type $Shape = proto.SyncActionValue.ContactAction.$Properties;
|
|
24090
24124
|
}
|
|
24091
24125
|
|
|
24126
|
+
interface IContactManagerMetadataAction extends proto.SyncActionValue.ContactManagerMetadataAction.$Properties {
|
|
24127
|
+
}
|
|
24128
|
+
|
|
24129
|
+
class ContactManagerMetadataAction {
|
|
24130
|
+
constructor(p?: proto.SyncActionValue.ContactManagerMetadataAction.$Properties);
|
|
24131
|
+
$unknowns?: Uint8Array[];
|
|
24132
|
+
isHidden?: (boolean|null);
|
|
24133
|
+
static create(properties: proto.SyncActionValue.ContactManagerMetadataAction.$Shape): proto.SyncActionValue.ContactManagerMetadataAction & proto.SyncActionValue.ContactManagerMetadataAction.$Shape;
|
|
24134
|
+
static create(properties?: proto.SyncActionValue.ContactManagerMetadataAction.$Properties): proto.SyncActionValue.ContactManagerMetadataAction;
|
|
24135
|
+
static encode(m: proto.SyncActionValue.ContactManagerMetadataAction.$Properties, w?: $protobuf.Writer): $protobuf.Writer;
|
|
24136
|
+
static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.ContactManagerMetadataAction & proto.SyncActionValue.ContactManagerMetadataAction.$Shape;
|
|
24137
|
+
static fromObject(d: { [k: string]: any }): proto.SyncActionValue.ContactManagerMetadataAction;
|
|
24138
|
+
static toObject(m: proto.SyncActionValue.ContactManagerMetadataAction, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
24139
|
+
toJSON(): { [k: string]: any };
|
|
24140
|
+
static getTypeUrl(prefix?: string): string;
|
|
24141
|
+
}
|
|
24142
|
+
|
|
24143
|
+
namespace ContactManagerMetadataAction {
|
|
24144
|
+
interface $Properties {
|
|
24145
|
+
isHidden?: (boolean|null);
|
|
24146
|
+
$unknowns?: Uint8Array[];
|
|
24147
|
+
}
|
|
24148
|
+
type $Shape = proto.SyncActionValue.ContactManagerMetadataAction.$Properties;
|
|
24149
|
+
}
|
|
24150
|
+
|
|
24092
24151
|
interface ICtwaMessageReceivedAction extends proto.SyncActionValue.CtwaMessageReceivedAction.$Properties {
|
|
24093
24152
|
}
|
|
24094
24153
|
|
|
@@ -25640,6 +25699,31 @@ export namespace proto {
|
|
|
25640
25699
|
}
|
|
25641
25700
|
}
|
|
25642
25701
|
|
|
25702
|
+
interface ISharedDeviceAllowlistAction extends proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties {
|
|
25703
|
+
}
|
|
25704
|
+
|
|
25705
|
+
class SharedDeviceAllowlistAction {
|
|
25706
|
+
constructor(p?: proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties);
|
|
25707
|
+
$unknowns?: Uint8Array[];
|
|
25708
|
+
allowed?: (boolean|null);
|
|
25709
|
+
static create(properties: proto.SyncActionValue.SharedDeviceAllowlistAction.$Shape): proto.SyncActionValue.SharedDeviceAllowlistAction & proto.SyncActionValue.SharedDeviceAllowlistAction.$Shape;
|
|
25710
|
+
static create(properties?: proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties): proto.SyncActionValue.SharedDeviceAllowlistAction;
|
|
25711
|
+
static encode(m: proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties, w?: $protobuf.Writer): $protobuf.Writer;
|
|
25712
|
+
static decode(r: ($protobuf.Reader|Uint8Array), l?: number): proto.SyncActionValue.SharedDeviceAllowlistAction & proto.SyncActionValue.SharedDeviceAllowlistAction.$Shape;
|
|
25713
|
+
static fromObject(d: { [k: string]: any }): proto.SyncActionValue.SharedDeviceAllowlistAction;
|
|
25714
|
+
static toObject(m: proto.SyncActionValue.SharedDeviceAllowlistAction, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
25715
|
+
toJSON(): { [k: string]: any };
|
|
25716
|
+
static getTypeUrl(prefix?: string): string;
|
|
25717
|
+
}
|
|
25718
|
+
|
|
25719
|
+
namespace SharedDeviceAllowlistAction {
|
|
25720
|
+
interface $Properties {
|
|
25721
|
+
allowed?: (boolean|null);
|
|
25722
|
+
$unknowns?: Uint8Array[];
|
|
25723
|
+
}
|
|
25724
|
+
type $Shape = proto.SyncActionValue.SharedDeviceAllowlistAction.$Properties;
|
|
25725
|
+
}
|
|
25726
|
+
|
|
25643
25727
|
interface IStarAction extends proto.SyncActionValue.StarAction.$Properties {
|
|
25644
25728
|
}
|
|
25645
25729
|
|