@badzz88/baileys 8.4.9 → 8.5.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/WAProto/WAProto.proto +6 -347
- package/WAProto/fix-imports.js +85 -86
- package/WAProto/index.d.ts +25 -4913
- package/WAProto/index.js +93 -14069
- package/{src → lib}/Defaults/index.js +2 -13
- package/{src → lib}/Signal/Group/group_cipher.js +5 -5
- package/{src → lib}/Signal/Group/keyhelper.js +4 -4
- package/{src → lib}/Signal/Group/sender-chain-key.js +2 -2
- package/{src → lib}/Signal/Group/sender-key-distribution-message.js +1 -1
- package/{src → lib}/Signal/Group/sender-key-message.js +3 -3
- package/{src → lib}/Signal/Group/sender-key-record.js +1 -1
- package/{src → lib}/Signal/Group/sender-message-key.js +2 -2
- package/{src → lib}/Signal/libsignal.js +26 -6
- package/{src → lib}/Socket/chats.js +58 -616
- package/{src → lib}/Socket/communities.js +28 -59
- package/{src → lib}/Socket/graphql.js +103 -362
- package/{src → lib}/Socket/groups.js +29 -77
- package/{src → lib}/Socket/index.js +5 -3
- package/{src → lib}/Socket/interactive-handler.js +60 -117
- package/{src → lib}/Socket/interop.js +19 -36
- package/lib/Socket/luxu.js +387 -0
- package/{src → lib}/Socket/managed-account.js +27 -58
- package/{src → lib}/Socket/messages-recv.js +143 -715
- package/{src → lib}/Socket/messages-send.js +102 -412
- package/lib/Socket/mex.js +60 -0
- package/{src → lib}/Socket/newsletter.js +23 -266
- package/{src → lib}/Socket/privacy.js +38 -41
- package/{src → lib}/Socket/registration.js +106 -113
- package/{src → lib}/Socket/socket.js +101 -88
- package/{src → lib}/Socket/text-router.js +17 -1
- package/lib/Socket/username.js +243 -0
- package/lib/Store/keyed-db.js +108 -0
- package/{src → lib}/Store/make-in-memory-store.js +104 -6
- package/lib/Types/Mex.js +112 -0
- package/{src → lib}/Types/Newsletter.js +41 -72
- package/{src → lib}/Types/index.js +1 -0
- package/{src → lib}/Utils/chat-utils.js +9 -73
- package/lib/Utils/command-loader.d.ts +31 -0
- package/lib/Utils/command-loader.js +100 -0
- package/lib/Utils/companion-reg-client-utils.js +42 -0
- package/lib/Utils/crypto.js +155 -0
- package/lib/Utils/curve25519-js.js +275 -0
- package/{src → lib}/Utils/decode-wa-message.js +36 -284
- package/{src → lib}/Utils/event-buffer.js +27 -6
- package/{src → lib}/Utils/generics.js +37 -114
- package/{src → lib}/Utils/index.js +5 -1
- package/lib/Utils/lt-hash.js +39 -0
- package/{src → lib}/Utils/message-retry-manager.js +39 -0
- package/{src → lib}/Utils/messages-media.js +58 -105
- package/{src → lib}/Utils/messages.js +529 -115
- package/lib/Utils/meta-ai-msmsg.js +262 -0
- package/lib/Utils/native-bridge.js +82 -0
- package/{src → lib}/Utils/noise-handler.js +15 -13
- package/{src → lib}/Utils/process-message.js +55 -54
- package/{src → lib}/Utils/reporting-utils.js +2 -2
- package/lib/Utils/session-pool.d.ts +16 -0
- package/lib/Utils/session-pool.js +94 -0
- package/{src → lib}/Utils/signal.js +51 -19
- package/{src → lib}/Utils/stanza-ack.js +2 -36
- package/lib/Utils/sticker.d.ts +17 -0
- package/lib/Utils/sticker.js +145 -0
- package/{src → lib}/Utils/tc-token-utils.js +1 -1
- package/{src → lib}/Utils/validate-connection.js +11 -40
- package/lib/Utils/view-once-cache.d.ts +9 -0
- package/lib/Utils/view-once-cache.js +79 -0
- package/{src → lib}/WABinary/decode.js +4 -38
- package/lib/WABinary/encode.js +228 -0
- package/{src → lib}/WABinary/generic-utils.js +93 -1
- package/{src → lib}/WABinary/jid-utils.js +3 -16
- package/{src → lib}/WAM/encode.js +1 -1
- package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
- package/{src → lib}/WAUSync/Protocols/USyncContactProtocol.js +1 -7
- package/{src → lib}/WAUSync/Protocols/USyncDeviceProtocol.js +5 -13
- package/{src → lib}/WAUSync/Protocols/USyncDisappearingModeProtocol.js +4 -1
- package/{src → lib}/WAUSync/Protocols/USyncFeatureProtocol.js +2 -17
- package/{src → lib}/WAUSync/Protocols/USyncStatusProtocol.js +2 -7
- package/{src → lib}/WAUSync/Protocols/USyncUsernameProtocol.js +1 -2
- package/{src → lib}/WAUSync/Protocols/index.js +0 -1
- package/{src → lib}/WAUSync/USyncQuery.js +6 -77
- package/{src → lib}/WAUSync/USyncUser.js +8 -16
- package/{src → lib}/WAUSync/index.js +0 -1
- package/{src → lib}/antiban.js +266 -355
- package/{src → lib}/index.js +2 -2
- package/package.json +18 -15
- package/WAProto/fix-import.js +0 -38
- package/src/Socket/mex.js +0 -47
- package/src/Socket/username.js +0 -234
- package/src/Utils/crypto.js +0 -125
- package/src/Utils/lt-hash.js +0 -10
- package/src/Utils/message-inspect.js +0 -400
- package/src/Utils/meta-ai-msmsg.js +0 -133
- package/src/WABinary/encode.js +0 -58
- package/src/WAUSync/Protocols/USyncBusinessProtocol.js +0 -100
- package/src/WAUSync/USyncBackoff.js +0 -31
- /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
- /package/{src → lib}/Signal/Group/ciphertext-message.js +0 -0
- /package/{src → lib}/Signal/Group/group-session-builder.js +0 -0
- /package/{src → lib}/Signal/Group/index.js +0 -0
- /package/{src → lib}/Signal/Group/sender-key-name.js +0 -0
- /package/{src → lib}/Signal/Group/sender-key-state.js +0 -0
- /package/{src → lib}/Signal/lid-mapping.js +0 -0
- /package/{src → lib}/Socket/Client/index.js +0 -0
- /package/{src → lib}/Socket/Client/types.js +0 -0
- /package/{src → lib}/Socket/Client/websocket.js +0 -0
- /package/{src → lib}/Socket/aigroups.js +0 -0
- /package/{src → lib}/Socket/business.js +0 -0
- /package/{src → lib}/Store/index.js +0 -0
- /package/{src → lib}/Store/make-cache-manager-store.js +0 -0
- /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
- /package/{src → lib}/Store/object-repository.js +0 -0
- /package/{src → lib}/Types/Auth.js +0 -0
- /package/{src → lib}/Types/Bussines.js +0 -0
- /package/{src → lib}/Types/Call.js +0 -0
- /package/{src → lib}/Types/Chat.js +0 -0
- /package/{src → lib}/Types/Contact.js +0 -0
- /package/{src → lib}/Types/Events.js +0 -0
- /package/{src → lib}/Types/GroupMetadata.js +0 -0
- /package/{src → lib}/Types/Label.js +0 -0
- /package/{src → lib}/Types/LabelAssociation.js +0 -0
- /package/{src → lib}/Types/Message.js +0 -0
- /package/{src → lib}/Types/Product.js +0 -0
- /package/{src → lib}/Types/Signal.js +0 -0
- /package/{src → lib}/Types/Socket.js +0 -0
- /package/{src → lib}/Types/State.js +0 -0
- /package/{src → lib}/Types/USync.js +0 -0
- /package/{src → lib}/Utils/auth-utils.js +0 -0
- /package/{src → lib}/Utils/browser-utils.js +0 -0
- /package/{src → lib}/Utils/business.js +0 -0
- /package/{src → lib}/Utils/consumer-application.js +0 -0
- /package/{src → lib}/Utils/group-history.js +0 -0
- /package/{src → lib}/Utils/history.js +0 -0
- /package/{src → lib}/Utils/identity-change-handler.js +0 -0
- /package/{src → lib}/Utils/jid-display-normalization.js +0 -0
- /package/{src → lib}/Utils/link-preview.js +0 -0
- /package/{src → lib}/Utils/logger.js +0 -0
- /package/{src → lib}/Utils/make-mutex.js +0 -0
- /package/{src → lib}/Utils/message-composer.js +0 -0
- /package/{src → lib}/Utils/offline-node-processor.js +0 -0
- /package/{src → lib}/Utils/pre-key-manager.js +0 -0
- /package/{src → lib}/Utils/sync-action-utils.js +0 -0
- /package/{src → lib}/Utils/use-multi-file-auth-state.js +0 -0
- /package/{src → lib}/Utils/voip-rekey.js +0 -0
- /package/{src → lib}/WABinary/constants.js +0 -0
- /package/{src → lib}/WABinary/index.js +0 -0
- /package/{src → lib}/WABinary/types.js +0 -0
- /package/{src → lib}/WAM/BinaryInfo.js +0 -0
- /package/{src → lib}/WAM/constants.js +0 -0
- /package/{src → lib}/WAM/index.js +0 -0
- /package/{src → lib}/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -0
- /package/{src → lib}/WAUSync/Protocols/USyncLIDProtocol.js +0 -0
- /package/{src → lib}/WAUSync/Protocols/USyncPictureProtocol.js +0 -0
- /package/{src → lib}/WAUSync/Protocols/USyncSidelistProtocol.js +0 -0
- /package/{src → lib}/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export default class KeyedDB {
|
|
2
|
+
constructor(compareFn, idGetter) {
|
|
3
|
+
if (typeof compareFn !== "function" || typeof idGetter !== "function") {
|
|
4
|
+
throw new Error("KeyedDB requires compare and idGetter functions");
|
|
5
|
+
}
|
|
6
|
+
this._compare = compareFn;
|
|
7
|
+
this._idGetter = idGetter;
|
|
8
|
+
this._array = [];
|
|
9
|
+
this._dict = {};
|
|
10
|
+
}
|
|
11
|
+
get length() {
|
|
12
|
+
return this._array.length;
|
|
13
|
+
}
|
|
14
|
+
get(id) {
|
|
15
|
+
return this._dict[id];
|
|
16
|
+
}
|
|
17
|
+
insert(entry, mode = "insert") {
|
|
18
|
+
const id = this._idGetter(entry);
|
|
19
|
+
const existing = this._dict[id];
|
|
20
|
+
if (existing && mode === "insert") {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
this._dict[id] = entry;
|
|
24
|
+
let inserted = false;
|
|
25
|
+
for (let i = 0; i < this._array.length; i++) {
|
|
26
|
+
const cmp = this._compare(this._idGetter(this._array[i]), id);
|
|
27
|
+
if (cmp < 0) {
|
|
28
|
+
this._array.splice(i, 0, entry);
|
|
29
|
+
inserted = true;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!inserted) this._array.push(entry);
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
insertIfAbsent(...entries) {
|
|
37
|
+
const added = [];
|
|
38
|
+
for (const entry of entries) {
|
|
39
|
+
if (!this._dict[this._idGetter(entry)]) {
|
|
40
|
+
this.insert(entry);
|
|
41
|
+
added.push(entry);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return added;
|
|
45
|
+
}
|
|
46
|
+
upsert(...entries) {
|
|
47
|
+
const added = [];
|
|
48
|
+
for (const entry of entries) {
|
|
49
|
+
const id = this._idGetter(entry);
|
|
50
|
+
if (this._dict[id]) {
|
|
51
|
+
const idx = this._array.findIndex(e => this._idGetter(e) === id);
|
|
52
|
+
if (idx >= 0) this._array[idx] = entry;
|
|
53
|
+
this._dict[id] = entry;
|
|
54
|
+
} else {
|
|
55
|
+
this.insert(entry);
|
|
56
|
+
added.push(entry);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return added;
|
|
60
|
+
}
|
|
61
|
+
update(id, updater) {
|
|
62
|
+
const item = this._dict[id];
|
|
63
|
+
if (!item) return false;
|
|
64
|
+
updater(item);
|
|
65
|
+
const idx = this._array.findIndex(e => this._idGetter(e) === id);
|
|
66
|
+
if (idx >= 0) this._array[idx] = item;
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
updateAssign(id, update) {
|
|
70
|
+
const item = this._dict[id];
|
|
71
|
+
if (!item) return false;
|
|
72
|
+
Object.assign(item, update);
|
|
73
|
+
const idx = this._array.findIndex(e => this._idGetter(e) === id);
|
|
74
|
+
if (idx >= 0) this._array[idx] = item;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
deleteById(id) {
|
|
78
|
+
if (!this._dict[id]) return false;
|
|
79
|
+
delete this._dict[id];
|
|
80
|
+
const idx = this._array.findIndex(e => this._idGetter(e) === id);
|
|
81
|
+
if (idx >= 0) this._array.splice(idx, 1);
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
clear() {
|
|
85
|
+
this._array = [];
|
|
86
|
+
this._dict = {};
|
|
87
|
+
}
|
|
88
|
+
all() {
|
|
89
|
+
return [...this._array];
|
|
90
|
+
}
|
|
91
|
+
filter(predicate) {
|
|
92
|
+
this._array = this._array.filter(predicate);
|
|
93
|
+
this._dict = {};
|
|
94
|
+
for (const entry of this._array) {
|
|
95
|
+
this._dict[this._idGetter(entry)] = entry;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
count() {
|
|
99
|
+
return this._array.length;
|
|
100
|
+
}
|
|
101
|
+
toJSON() {
|
|
102
|
+
return this._array;
|
|
103
|
+
}
|
|
104
|
+
fromJSON(array) {
|
|
105
|
+
this.clear();
|
|
106
|
+
for (const entry of array) this.insert(entry);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -37,6 +37,44 @@ const waLabelAssociationKey = {
|
|
|
37
37
|
|
|
38
38
|
const makeMessagesDictionary = () => Store_1.makeOrderedDictionary(waMessageID)
|
|
39
39
|
|
|
40
|
+
const ENCRYPTED_STORE_MARKER = 'xazbails-store-v1'
|
|
41
|
+
|
|
42
|
+
const deriveStoreKey = secret => {
|
|
43
|
+
const { createHash } = require('crypto')
|
|
44
|
+
return createHash('sha256').update(String(secret)).digest()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const encryptStoreJSON = (jsonStr, secret) => {
|
|
48
|
+
const { createCipheriv, randomBytes } = require('crypto')
|
|
49
|
+
const key = deriveStoreKey(secret)
|
|
50
|
+
const iv = randomBytes(12)
|
|
51
|
+
const cipher = createCipheriv('aes-256-gcm', key, iv)
|
|
52
|
+
const encrypted = Buffer.concat([cipher.update(jsonStr, 'utf-8'), cipher.final()])
|
|
53
|
+
const authTag = cipher.getAuthTag()
|
|
54
|
+
return JSON.stringify({
|
|
55
|
+
marker: ENCRYPTED_STORE_MARKER,
|
|
56
|
+
iv: iv.toString('base64'),
|
|
57
|
+
authTag: authTag.toString('base64'),
|
|
58
|
+
data: encrypted.toString('base64')
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const decryptStoreJSON = (fileStr, secret) => {
|
|
63
|
+
const parsed = JSON.parse(fileStr)
|
|
64
|
+
if (parsed.marker !== ENCRYPTED_STORE_MARKER) {
|
|
65
|
+
// not an encrypted store file -- assume it's already plain JSON
|
|
66
|
+
return fileStr
|
|
67
|
+
}
|
|
68
|
+
const { createDecipheriv } = require('crypto')
|
|
69
|
+
const key = deriveStoreKey(secret)
|
|
70
|
+
const iv = Buffer.from(parsed.iv, 'base64')
|
|
71
|
+
const authTag = Buffer.from(parsed.authTag, 'base64')
|
|
72
|
+
const decipher = createDecipheriv('aes-256-gcm', key, iv)
|
|
73
|
+
decipher.setAuthTag(authTag)
|
|
74
|
+
const decrypted = Buffer.concat([decipher.update(Buffer.from(parsed.data, 'base64')), decipher.final()])
|
|
75
|
+
return decrypted.toString('utf-8')
|
|
76
|
+
}
|
|
77
|
+
|
|
40
78
|
const makeInMemoryStore = config => {
|
|
41
79
|
const socket = config.socket
|
|
42
80
|
const chatKey = config.chatKey || waChatKey(true)
|
|
@@ -55,6 +93,19 @@ const makeInMemoryStore = config => {
|
|
|
55
93
|
const state = { connection: 'close' }
|
|
56
94
|
const labels = new object_repository_1.ObjectRepository()
|
|
57
95
|
const labelAssociations = new KeyedDB(labelAssociationKey, labelAssociationKey.key)
|
|
96
|
+
const maxMessagesPerChat = config.maxMessagesPerChat
|
|
97
|
+
const trimMessagesIfNeeded = jid => {
|
|
98
|
+
if (!maxMessagesPerChat) return
|
|
99
|
+
const list = messages[jid]
|
|
100
|
+
if (!list || list.array.length <= maxMessagesPerChat) return
|
|
101
|
+
while (list.array.length > maxMessagesPerChat) {
|
|
102
|
+
let oldest = list.array[0]
|
|
103
|
+
for (const m of list.array) {
|
|
104
|
+
if ((m.messageTimestamp || 0) < (oldest.messageTimestamp || 0)) oldest = m
|
|
105
|
+
}
|
|
106
|
+
list.remove(oldest)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
58
109
|
const assertMessageList = jid => {
|
|
59
110
|
if (!messages[jid]) {
|
|
60
111
|
messages[jid] = makeMessagesDictionary()
|
|
@@ -88,8 +139,8 @@ const makeInMemoryStore = config => {
|
|
|
88
139
|
'messaging-history.set',
|
|
89
140
|
({ chats: newChats, contacts: newContacts, messages: newMessages, isLatest, syncType }) => {
|
|
90
141
|
if (syncType === WAProto_1.proto.HistorySync.HistorySyncType.ON_DEMAND) {
|
|
91
|
-
//
|
|
92
|
-
|
|
142
|
+
return // FOR NOW,
|
|
143
|
+
//TODO: HANDLE
|
|
93
144
|
}
|
|
94
145
|
if (isLatest) {
|
|
95
146
|
chats.clear()
|
|
@@ -110,6 +161,7 @@ const makeInMemoryStore = config => {
|
|
|
110
161
|
const jid = msg.key.remoteJid
|
|
111
162
|
const list = assertMessageList(jid)
|
|
112
163
|
list.upsert(msg, 'prepend')
|
|
164
|
+
trimMessagesIfNeeded(jid)
|
|
113
165
|
}
|
|
114
166
|
logger.debug({ messages: newMessages.length }, 'synced messages')
|
|
115
167
|
}
|
|
@@ -204,6 +256,7 @@ const makeInMemoryStore = config => {
|
|
|
204
256
|
const jid = WABinary_1.jidNormalizedUser(msg.key.remoteJid)
|
|
205
257
|
const list = assertMessageList(jid)
|
|
206
258
|
list.upsert(msg, 'append')
|
|
259
|
+
trimMessagesIfNeeded(jid)
|
|
207
260
|
if (type === 'notify' && !chats.get(jid)) {
|
|
208
261
|
ev.emit('chats.upsert', [
|
|
209
262
|
{
|
|
@@ -369,7 +422,10 @@ const makeInMemoryStore = config => {
|
|
|
369
422
|
contacts,
|
|
370
423
|
messages,
|
|
371
424
|
labels,
|
|
372
|
-
labelAssociations
|
|
425
|
+
labelAssociations,
|
|
426
|
+
groupMetadata,
|
|
427
|
+
presences,
|
|
428
|
+
state
|
|
373
429
|
})
|
|
374
430
|
const fromJSON = json => {
|
|
375
431
|
chats.upsert(...json.chats)
|
|
@@ -381,6 +437,16 @@ const makeInMemoryStore = config => {
|
|
|
381
437
|
for (const msg of json.messages[jid]) {
|
|
382
438
|
list.upsert(WAProto_1.proto.WebMessageInfo.fromObject(msg), 'append')
|
|
383
439
|
}
|
|
440
|
+
trimMessagesIfNeeded(jid)
|
|
441
|
+
}
|
|
442
|
+
if (json.groupMetadata) {
|
|
443
|
+
Object.assign(groupMetadata, json.groupMetadata)
|
|
444
|
+
}
|
|
445
|
+
if (json.presences) {
|
|
446
|
+
Object.assign(presences, json.presences)
|
|
447
|
+
}
|
|
448
|
+
if (json.state) {
|
|
449
|
+
Object.assign(state, json.state)
|
|
384
450
|
}
|
|
385
451
|
}
|
|
386
452
|
return {
|
|
@@ -452,7 +518,7 @@ const makeInMemoryStore = config => {
|
|
|
452
518
|
if (!contact) {
|
|
453
519
|
return suki?.profilePictureUrl(jid)
|
|
454
520
|
}
|
|
455
|
-
if (contact.imgUrl === undefined) {
|
|
521
|
+
if (typeof contact.imgUrl === 'undefined') {
|
|
456
522
|
contact.imgUrl = await suki?.profilePictureUrl(jid)
|
|
457
523
|
}
|
|
458
524
|
return contact.imgUrl
|
|
@@ -485,17 +551,49 @@ const makeInMemoryStore = config => {
|
|
|
485
551
|
writeToFile: path => {
|
|
486
552
|
// require fs here so that in case "fs" is not available -- the app does not crash
|
|
487
553
|
const { writeFileSync } = require('fs')
|
|
488
|
-
|
|
554
|
+
const jsonStr = JSON.stringify(toJSON())
|
|
555
|
+
writeFileSync(path, config.encryptionKey ? encryptStoreJSON(jsonStr, config.encryptionKey) : jsonStr)
|
|
489
556
|
},
|
|
490
557
|
readFromFile: path => {
|
|
491
558
|
// require fs here so that in case "fs" is not available -- the app does not crash
|
|
492
559
|
const { readFileSync, existsSync } = require('fs')
|
|
493
560
|
if (existsSync(path)) {
|
|
494
561
|
logger.debug({ path }, 'reading from file')
|
|
495
|
-
const
|
|
562
|
+
const fileStr = readFileSync(path, { encoding: 'utf-8' })
|
|
563
|
+
const jsonStr = config.encryptionKey ? decryptStoreJSON(fileStr, config.encryptionKey) : fileStr
|
|
496
564
|
const json = JSON.parse(jsonStr)
|
|
497
565
|
fromJSON(json)
|
|
498
566
|
}
|
|
567
|
+
},
|
|
568
|
+
/**
|
|
569
|
+
* Periodically writes the store to `path` every `intervalMs` (default 30s),
|
|
570
|
+
* and does one final write when the bound socket closes (if `registerSocketEndHandler`
|
|
571
|
+
* is available on it). Returns a function that stops the auto-save.
|
|
572
|
+
*/
|
|
573
|
+
startAutoSave: (path, intervalMs = 30000) => {
|
|
574
|
+
const timer = setInterval(() => {
|
|
575
|
+
try {
|
|
576
|
+
const { writeFileSync } = require('fs')
|
|
577
|
+
const jsonStr = JSON.stringify(toJSON())
|
|
578
|
+
writeFileSync(path, config.encryptionKey ? encryptStoreJSON(jsonStr, config.encryptionKey) : jsonStr)
|
|
579
|
+
} catch (error) {
|
|
580
|
+
logger.warn({ error, path }, 'failed to auto-save store')
|
|
581
|
+
}
|
|
582
|
+
}, intervalMs)
|
|
583
|
+
if (timer.unref) timer.unref()
|
|
584
|
+
if (socket && typeof socket.registerSocketEndHandler === 'function') {
|
|
585
|
+
socket.registerSocketEndHandler(async () => {
|
|
586
|
+
try {
|
|
587
|
+
const { writeFileSync } = require('fs')
|
|
588
|
+
const jsonStr = JSON.stringify(toJSON())
|
|
589
|
+
writeFileSync(path, config.encryptionKey ? encryptStoreJSON(jsonStr, config.encryptionKey) : jsonStr)
|
|
590
|
+
logger.debug({ path }, 'final store flush on socket end')
|
|
591
|
+
} catch (error) {
|
|
592
|
+
logger.warn({ error, path }, 'failed to flush store on socket end')
|
|
593
|
+
}
|
|
594
|
+
})
|
|
595
|
+
}
|
|
596
|
+
return () => clearInterval(timer)
|
|
499
597
|
}
|
|
500
598
|
}
|
|
501
599
|
}
|
package/lib/Types/Mex.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true })
|
|
3
|
+
exports.QueryIds = exports.XWAPaths = void 0
|
|
4
|
+
var XWAPaths
|
|
5
|
+
;(function (XWAPaths) {
|
|
6
|
+
XWAPaths['xwa2_newsletter_create'] = 'xwa2_newsletter_create'
|
|
7
|
+
XWAPaths['xwa2_newsletter_subscribers'] = 'xwa2_newsletter_subscribers'
|
|
8
|
+
XWAPaths['xwa2_newsletter_view'] = 'xwa2_newsletter_view'
|
|
9
|
+
XWAPaths['xwa2_newsletter_metadata'] = 'xwa2_newsletter'
|
|
10
|
+
XWAPaths['xwa2_newsletter_admin_count'] = 'xwa2_newsletter_admin'
|
|
11
|
+
XWAPaths['xwa2_newsletter_mute_v2'] = 'xwa2_newsletter_mute_v2'
|
|
12
|
+
XWAPaths['xwa2_newsletter_unmute_v2'] = 'xwa2_newsletter_unmute_v2'
|
|
13
|
+
XWAPaths['xwa2_newsletter_follow'] = 'xwa2_newsletter_follow'
|
|
14
|
+
XWAPaths['xwa2_newsletter_unfollow'] = 'xwa2_newsletter_unfollow'
|
|
15
|
+
XWAPaths['xwa2_newsletter_join_v2'] = 'xwa2_newsletter_join_v2'
|
|
16
|
+
XWAPaths['xwa2_newsletter_leave_v2'] = 'xwa2_newsletter_leave_v2'
|
|
17
|
+
XWAPaths['xwa2_newsletter_change_owner'] = 'xwa2_newsletter_change_owner'
|
|
18
|
+
XWAPaths['xwa2_newsletter_demote'] = 'xwa2_newsletter_demote'
|
|
19
|
+
XWAPaths['xwa2_newsletter_delete_v2'] = 'xwa2_newsletter_delete_v2'
|
|
20
|
+
XWAPaths['xwa2_fetch_account_reachout_timelock'] = 'xwa2_fetch_account_reachout_timelock'
|
|
21
|
+
XWAPaths['xwa2_message_capping_info'] = 'xwa2_message_capping_info'
|
|
22
|
+
XWAPaths['xwa2_newsletter_subscribed'] = 'xwa2_newsletter_subscribed'
|
|
23
|
+
XWAPaths['xwa2_newsletter_update'] = 'xwa2_newsletter_update'
|
|
24
|
+
XWAPaths['xwa2_newsletter_admin'] = 'xwa2_newsletter_admin'
|
|
25
|
+
XWAPaths['xwa2_newsletter_admin_invite_create'] = 'xwa2_newsletter_admin_invite_create'
|
|
26
|
+
XWAPaths['xwa2_newsletter_admin_invite_revoke'] = 'xwa2_newsletter_admin_invite_revoke'
|
|
27
|
+
XWAPaths['xwa2_newsletter_admin_invite_accept'] = 'xwa2_newsletter_admin_invite_accept'
|
|
28
|
+
XWAPaths['xwa2_newsletter_admin_profile_update'] = 'xwa2_newsletter_admin_profile_update'
|
|
29
|
+
XWAPaths['xwa2_newsletter_admin_insights'] = 'xwa2_newsletter_admin_insights'
|
|
30
|
+
XWAPaths['xwa2_newsletter_following'] = 'xwa2_newsletter_following'
|
|
31
|
+
XWAPaths['xwa2_newsletter_create_verified'] = 'xwa2_newsletter_create_verified'
|
|
32
|
+
XWAPaths['xwa2_newsletter_enforcements'] = 'xwa2_newsletter_enforcements'
|
|
33
|
+
XWAPaths['xwa2_newsletter_user_reports'] = 'xwa2_newsletter_user_reports'
|
|
34
|
+
XWAPaths['xwa2_newsletter_create_report_appeal'] = 'xwa2_newsletter_create_report_appeal'
|
|
35
|
+
XWAPaths['xwa2_newsletter_link_preview_check'] = 'xwa2_newsletter_link_preview_check'
|
|
36
|
+
XWAPaths['xwa2_newsletter_update_verification'] = 'xwa2_newsletter_update_verification'
|
|
37
|
+
XWAPaths['xwa2_newsletter_label_paid_partnership'] = 'xwa2_newsletter_label_paid_partnership'
|
|
38
|
+
XWAPaths['xwa2_newsletter_log_exposures'] = 'xwa2_newsletter_log_exposures'
|
|
39
|
+
XWAPaths['xwa2_newsletter_update_user_setting'] = 'xwa2_newsletter_update_user_setting'
|
|
40
|
+
XWAPaths['xwa2_newsletter_ranking_features'] = 'xwa2_newsletter_ranking_features'
|
|
41
|
+
XWAPaths['xwa2_newsletter_block_user'] = 'xwa2_newsletter_block_user'
|
|
42
|
+
XWAPaths['xwa2_newsletters_directory_list'] = 'xwa2_newsletters_directory_list'
|
|
43
|
+
XWAPaths['xwa2_newsletters_directory_search'] = 'xwa2_newsletters_directory_search'
|
|
44
|
+
XWAPaths['xwa2_newsletters_directory_category_preview'] = 'xwa2_newsletters_directory_category_preview'
|
|
45
|
+
XWAPaths['xwa2_newsletters_search'] = 'xwa2_newsletters_search'
|
|
46
|
+
XWAPaths['xwa2_newsletters_recommended'] = 'xwa2_newsletters_recommended'
|
|
47
|
+
XWAPaths['xwa2_newsletters_similar'] = 'xwa2_newsletters_similar'
|
|
48
|
+
XWAPaths['xwa2_newsletters_poll_voter_list'] = 'xwa2_newsletters_poll_voter_list'
|
|
49
|
+
XWAPaths['xwa2_newsletters_reaction_sender_list'] = 'xwa2_newsletters_reaction_sender_list'
|
|
50
|
+
XWAPaths['xwa2_wamo_afs_age_collection'] = 'xwa2_wamo_afs_age_collection'
|
|
51
|
+
XWAPaths['xwa2_wamo_asset_collection'] = 'xwa2_wamo_asset_collection'
|
|
52
|
+
XWAPaths['xwa2_wamo_fetch_adhoc_notice_by_id'] = 'xwa2_wamo_fetch_adhoc_notice_by_id'
|
|
53
|
+
XWAPaths['xwa2_wamo_fetch_identity_token'] = 'xwa2_wamo_fetch_identity_token'
|
|
54
|
+
XWAPaths['xwa2_wamo_sub_get_compliance_info'] = 'xwa2_wamo_sub_get_compliance_info'
|
|
55
|
+
XWAPaths['xwa2_wamo_user_id_version'] = 'xwa2_wamo_user_id_version'
|
|
56
|
+
XWAPaths['xwa2_wamo_set_user_id_version'] = 'xwa2_wamo_set_user_id_version'
|
|
57
|
+
})((XWAPaths = exports.XWAPaths || (exports.XWAPaths = {})))
|
|
58
|
+
var QueryIds
|
|
59
|
+
;(function (QueryIds) {
|
|
60
|
+
QueryIds['CREATE'] = '8823471724422422'
|
|
61
|
+
QueryIds['METADATA'] = '26099060629688646'
|
|
62
|
+
QueryIds['UPDATE_METADATA'] = '25976052865358570'
|
|
63
|
+
QueryIds['SUBSCRIBERS'] = '9783111038412085'
|
|
64
|
+
QueryIds['FOLLOW'] = '24404358912487870'
|
|
65
|
+
QueryIds['UNFOLLOW'] = '9767147403369991'
|
|
66
|
+
QueryIds['MUTE'] = '29766401636284406'
|
|
67
|
+
QueryIds['UNMUTE'] = '9864994326891137'
|
|
68
|
+
QueryIds['ADMIN_COUNT'] = '7130823597031706'
|
|
69
|
+
QueryIds['CHANGE_OWNER'] = '7341777602580933'
|
|
70
|
+
QueryIds['DEMOTE'] = '6551828931592903'
|
|
71
|
+
QueryIds['DELETE'] = '30062808666639665'
|
|
72
|
+
QueryIds['REACHOUT_TIMELOCK'] = '23983697327930364'
|
|
73
|
+
QueryIds['MESSAGE_CAPPING_INFO'] = '24503548349331633'
|
|
74
|
+
QueryIds['FETCH_SUBSCRIBE'] = '6388546374527196'
|
|
75
|
+
QueryIds['LEAVE'] = '9784043202933196'
|
|
76
|
+
QueryIds['ADMIN_INVITE'] = '7148599488585196'
|
|
77
|
+
QueryIds['ADMIN_INVITE_REVOKE'] = '6345824195482235'
|
|
78
|
+
QueryIds['ADMIN_INVITE_ACCEPT'] = '6345824195482236'
|
|
79
|
+
QueryIds['ADMIN_METADATA'] = '6895563180530100'
|
|
80
|
+
QueryIds['ADMIN_PROFILE_UPDATE'] = '6895563180530101'
|
|
81
|
+
QueryIds['INSIGHTS'] = '6243647912368353'
|
|
82
|
+
QueryIds['FOLLOWING_LIST'] = '6388546374527197'
|
|
83
|
+
QueryIds['CREATE_VERIFIED'] = '8823471724422423'
|
|
84
|
+
QueryIds['ENFORCEMENTS'] = '7130823597031707'
|
|
85
|
+
QueryIds['USER_REPORTS'] = '9783111038412086'
|
|
86
|
+
QueryIds['CREATE_REPORT_APPEAL'] = '6551828931592904'
|
|
87
|
+
QueryIds['LINK_PREVIEW_CHECK'] = '24404358912487871'
|
|
88
|
+
QueryIds['UPDATE_VERIFICATION'] = '25976052865358571'
|
|
89
|
+
QueryIds['LABEL_PAID_PARTNERSHIP'] = '7341777602580934'
|
|
90
|
+
QueryIds['LOG_EXPOSURES'] = '9864994326891138'
|
|
91
|
+
QueryIds['UPDATE_USER_SETTING'] = '29766401636284407'
|
|
92
|
+
QueryIds['RANKING_FEATURES'] = '7130823597031708'
|
|
93
|
+
QueryIds['BLOCK_USER'] = '6345824195482237'
|
|
94
|
+
QueryIds['DIRECTORY_LIST'] = '6388546374527198'
|
|
95
|
+
QueryIds['DIRECTORY_SEARCH'] = '6388546374527199'
|
|
96
|
+
QueryIds['DIRECTORY_CATEGORY_PREVIEW'] = '6388546374527200'
|
|
97
|
+
QueryIds['SEARCH'] = '26099060629688647'
|
|
98
|
+
QueryIds['RECOMMENDED'] = '26099060629688648'
|
|
99
|
+
QueryIds['SIMILAR'] = '26099060629688649'
|
|
100
|
+
QueryIds['POLL_VOTER_LIST'] = '9783111038412087'
|
|
101
|
+
QueryIds['REACTION_SENDERS_LIST'] = '9783111038412088'
|
|
102
|
+
QueryIds['WAMO_ENABLE_SUB'] = '7148599488585197'
|
|
103
|
+
QueryIds['WAMO_DISABLE_SUB'] = '7148599488585198'
|
|
104
|
+
QueryIds['WAMO_CHANGE_SUB'] = '7148599488585199'
|
|
105
|
+
QueryIds['WAMO_AFS_AGE_COLLECTION'] = '6895563180530102'
|
|
106
|
+
QueryIds['WAMO_ASSET_COLLECTION'] = '6895563180530103'
|
|
107
|
+
QueryIds['WAMO_FETCH_ADHOC_NOTICE'] = '6895563180530104'
|
|
108
|
+
QueryIds['WAMO_FETCH_IDENTITY_TOKEN'] = '6895563180530105'
|
|
109
|
+
QueryIds['WAMO_SUB_COMPLIANCE_INFO'] = '6895563180530106'
|
|
110
|
+
QueryIds['WAMO_USER_ID_VERSION'] = '6895563180530107'
|
|
111
|
+
QueryIds['WAMO_SET_USER_ID_VERSION'] = '6895563180530108'
|
|
112
|
+
})((QueryIds = exports.QueryIds || (exports.QueryIds = {})))
|
|
@@ -1,37 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
Object.defineProperty(exports, '__esModule', { value: true })
|
|
3
|
-
exports.QueryIds =
|
|
4
|
-
exports.XWAPaths =
|
|
5
|
-
exports.NewsletterReactionSetting =
|
|
6
|
-
exports.NewsletterState =
|
|
7
|
-
exports.NewsletterRole =
|
|
8
|
-
void 0
|
|
9
|
-
var NewsletterRole
|
|
10
|
-
;(function (NewsletterRole) {
|
|
11
|
-
NewsletterRole['SUBSCRIBER'] = 'SUBSCRIBER'
|
|
12
|
-
NewsletterRole['ADMIN'] = 'ADMIN'
|
|
13
|
-
NewsletterRole['OWNER'] = 'OWNER'
|
|
14
|
-
NewsletterRole['GUEST'] = 'GUEST'
|
|
15
|
-
})(NewsletterRole || (exports.NewsletterRole = NewsletterRole = {}))
|
|
16
|
-
var NewsletterState
|
|
17
|
-
;(function (NewsletterState) {
|
|
18
|
-
NewsletterState['ACTIVE'] = 'ACTIVE'
|
|
19
|
-
NewsletterState['SUSPENDED'] = 'SUSPENDED'
|
|
20
|
-
NewsletterState['GEO_SUSPENDED'] = 'GEO_SUSPENDED'
|
|
21
|
-
NewsletterState['UNKNOWN'] = 'UNKNOWN'
|
|
22
|
-
})(NewsletterState || (exports.NewsletterState = NewsletterState = {}))
|
|
23
|
-
var NewsletterReactionSetting
|
|
24
|
-
;(function (NewsletterReactionSetting) {
|
|
25
|
-
NewsletterReactionSetting['ALLOWLIST'] = 'ALLOWLIST'
|
|
26
|
-
NewsletterReactionSetting['BLOCKLIST'] = 'BLOCKLIST'
|
|
27
|
-
NewsletterReactionSetting['NONE'] = 'NONE'
|
|
28
|
-
})(NewsletterReactionSetting || (exports.NewsletterReactionSetting = NewsletterReactionSetting = {}))
|
|
3
|
+
exports.QueryIds = exports.XWAPaths = void 0
|
|
29
4
|
var XWAPaths
|
|
30
5
|
;(function (XWAPaths) {
|
|
31
6
|
XWAPaths['xwa2_newsletter_create'] = 'xwa2_newsletter_create'
|
|
32
|
-
// stale, kept only for backwards references — server no longer returns these keys, use _followers/_admin_demote below
|
|
33
7
|
XWAPaths['xwa2_newsletter_subscribers'] = 'xwa2_newsletter_subscribers'
|
|
34
|
-
XWAPaths['xwa2_newsletter_followers'] = 'xwa2_newsletter_followers'
|
|
35
8
|
XWAPaths['xwa2_newsletter_view'] = 'xwa2_newsletter_view'
|
|
36
9
|
XWAPaths['xwa2_newsletter_metadata'] = 'xwa2_newsletter'
|
|
37
10
|
XWAPaths['xwa2_newsletter_admin_count'] = 'xwa2_newsletter_admin'
|
|
@@ -41,7 +14,6 @@ var XWAPaths
|
|
|
41
14
|
XWAPaths['xwa2_newsletter_unfollow'] = 'xwa2_newsletter_unfollow'
|
|
42
15
|
XWAPaths['xwa2_newsletter_change_owner'] = 'xwa2_newsletter_change_owner'
|
|
43
16
|
XWAPaths['xwa2_newsletter_demote'] = 'xwa2_newsletter_demote'
|
|
44
|
-
XWAPaths['xwa2_newsletter_admin_demote'] = 'xwa2_newsletter_admin_demote'
|
|
45
17
|
XWAPaths['xwa2_newsletter_delete_v2'] = 'xwa2_newsletter_delete_v2'
|
|
46
18
|
XWAPaths['xwa2_newsletter_join_v2'] = 'xwa2_newsletter_join_v2'
|
|
47
19
|
XWAPaths['xwa2_newsletter_leave_v2'] = 'xwa2_newsletter_leave_v2'
|
|
@@ -77,7 +49,6 @@ var XWAPaths
|
|
|
77
49
|
XWAPaths['xwa2_newsletter_update_user_setting'] = 'xwa2_newsletter_update_user_setting'
|
|
78
50
|
XWAPaths['xwa2_newsletter_create_verified'] = 'xwa2_newsletter_create_verified'
|
|
79
51
|
XWAPaths['xwa2_newsletter_ranking_features'] = 'xwa2_newsletter_ranking_features'
|
|
80
|
-
XWAPaths['xwa2_newsletter_question_response_state_update'] = 'xwa2_newsletter_question_response_state_update'
|
|
81
52
|
// Wamo paths
|
|
82
53
|
XWAPaths['xwa2_wamo_afs_age_collection'] = 'xwa2_wamo_afs_age_collection'
|
|
83
54
|
XWAPaths['xwa2_wamo_asset_collection'] = 'xwa2_wamo_asset_collection'
|
|
@@ -90,63 +61,61 @@ var XWAPaths
|
|
|
90
61
|
var QueryIds
|
|
91
62
|
;(function (QueryIds) {
|
|
92
63
|
// Newsletter core
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
QueryIds['
|
|
96
|
-
QueryIds['
|
|
97
|
-
QueryIds['
|
|
98
|
-
QueryIds['
|
|
99
|
-
QueryIds['
|
|
100
|
-
QueryIds['
|
|
101
|
-
QueryIds['
|
|
102
|
-
QueryIds['UNFOLLOW'] = '9767147403369991' // NewsletterLeave (unfollow == leave) — verified 2026-07-19
|
|
103
|
-
QueryIds['MUTE'] = '25033614912931367' // NewsletterHide
|
|
64
|
+
QueryIds['CREATE'] = '26278417231751160' // NewsletterCreate
|
|
65
|
+
QueryIds['CREATE_VERIFIED'] = '25691091733891788' // NewsletterCreateVerified
|
|
66
|
+
QueryIds['UPDATE_METADATA'] = '25976052865358570' // NewsletterMetadataUpdate
|
|
67
|
+
QueryIds['METADATA'] = '26099060629688650' // NewsletterMetadata
|
|
68
|
+
QueryIds['SUBSCRIBERS'] = '25646542368289350' // NewsletterFollowers
|
|
69
|
+
QueryIds['FOLLOW'] = '24658527423838740' // NewsletterJoin
|
|
70
|
+
QueryIds['LEAVE'] = '25758579043742316' // NewsletterLeave
|
|
71
|
+
QueryIds['UNFOLLOW'] = '25757497553878990' // NewsletterFollowing (used for unfollow path)
|
|
72
|
+
QueryIds['MUTE'] = '25033614912931370' // NewsletterHide
|
|
104
73
|
QueryIds['UNMUTE'] = '24551592861177484' // NewsletterUnhide
|
|
105
74
|
QueryIds['ADMIN_COUNT'] = '27579307995002556' // NewslettersAdminCapabilitiesQuery
|
|
106
|
-
QueryIds['CHANGE_OWNER'] = '
|
|
107
|
-
QueryIds['DEMOTE'] = '
|
|
108
|
-
QueryIds['DELETE'] = '
|
|
109
|
-
QueryIds['REACHOUT_TIMELOCK'] = '
|
|
110
|
-
QueryIds['MESSAGE_CAPPING_INFO'] = '
|
|
111
|
-
QueryIds['UPDATE_USER_SETTING'] = '
|
|
75
|
+
QueryIds['CHANGE_OWNER'] = '24737692515842080' // NewsletterChangeOwner
|
|
76
|
+
QueryIds['DEMOTE'] = '25054538847517280' // NewsletterAdminDemote
|
|
77
|
+
QueryIds['DELETE'] = '31838460859131916' // NewsletterDelete
|
|
78
|
+
QueryIds['REACHOUT_TIMELOCK'] = '25627902213558772' // FetchReachoutTimelockQuery
|
|
79
|
+
QueryIds['MESSAGE_CAPPING_INFO'] = '25311901238461920' // XWA2MessageCappingInfoQuery
|
|
80
|
+
QueryIds['UPDATE_USER_SETTING'] = '24935528202764690' // NewsletterUpdateUserSetting
|
|
112
81
|
// Newsletter admin/invite
|
|
113
|
-
QueryIds['ADMIN_INVITE'] = '
|
|
82
|
+
QueryIds['ADMIN_INVITE'] = '26278681041745440' // NewsletterAdminInvite
|
|
114
83
|
QueryIds['ADMIN_INVITE_REVOKE'] = '24369392486051948' // NewsletterAdminInviteRevoke
|
|
115
|
-
QueryIds['ADMIN_INVITE_ACCEPT'] = '
|
|
84
|
+
QueryIds['ADMIN_INVITE_ACCEPT'] = '24934958956134856' // NewsletterAcceptAdminInvite
|
|
116
85
|
QueryIds['ADMIN_METADATA'] = '26882701001369256' // NewsletterAdminMetadataQuery
|
|
117
86
|
QueryIds['ADMIN_PROFILE_UPDATE'] = '25959584293627630' // NewsletterAdminProfileUpdate
|
|
118
87
|
// Newsletter directory/search
|
|
119
|
-
QueryIds['DIRECTORY_LIST'] = '
|
|
120
|
-
QueryIds['DIRECTORY_SEARCH'] = '
|
|
121
|
-
QueryIds['DIRECTORY_CATEGORY_PREVIEW'] = '
|
|
122
|
-
QueryIds['SEARCH'] = '25909596625362196' // NewsletterSearch
|
|
123
|
-
QueryIds['RECOMMENDED'] = '
|
|
124
|
-
QueryIds['SIMILAR'] = '
|
|
125
|
-
QueryIds['FOLLOWING_LIST'] = '
|
|
88
|
+
QueryIds['DIRECTORY_LIST'] = '35420207774244120' // NewsletterDirectoryList
|
|
89
|
+
QueryIds['DIRECTORY_SEARCH'] = '26545699395089024' // NewsletterDirectorySearch
|
|
90
|
+
QueryIds['DIRECTORY_CATEGORY_PREVIEW'] = '25554326764266960' // NewsletterDirectoryCategoryPreview
|
|
91
|
+
QueryIds['SEARCH'] = '25909596625362196' // NewsletterSearch
|
|
92
|
+
QueryIds['RECOMMENDED'] = '26234104032880280' // NewsletterRecommended
|
|
93
|
+
QueryIds['SIMILAR'] = '33639678252347084' // NewsletterSimilar
|
|
94
|
+
QueryIds['FOLLOWING_LIST'] = '25757497553878990' // NewsletterFollowing
|
|
126
95
|
// Newsletter engagement
|
|
127
|
-
QueryIds['INSIGHTS'] = '
|
|
96
|
+
QueryIds['INSIGHTS'] = '24672564052397920' // NewsletterInsights
|
|
128
97
|
QueryIds['POLL_VOTER_LIST'] = '24803802869271956' // NewsletterPollVoterList
|
|
129
|
-
QueryIds['REACTION_SENDERS_LIST'] = '
|
|
98
|
+
QueryIds['REACTION_SENDERS_LIST'] = '25219734117717030' // NewsletterReactionSendersList
|
|
130
99
|
QueryIds['QUESTION_RESPONSE_STATE_UPDATE'] = '24896618076668076' // NewsletterQuestionResponseStateUpdate
|
|
131
|
-
QueryIds['LOG_EXPOSURES'] = '
|
|
132
|
-
QueryIds['RANKING_FEATURES'] = '
|
|
100
|
+
QueryIds['LOG_EXPOSURES'] = '24606408825709910' // NewsletterLogExposures
|
|
101
|
+
QueryIds['RANKING_FEATURES'] = '24742757908756090' // FetchNewsletterRankingFeatures
|
|
133
102
|
// Newsletter moderation
|
|
134
103
|
QueryIds['BLOCK_USER'] = '25106066249006236' // NewsletterBlockUser
|
|
135
|
-
QueryIds['USER_REPORTS'] = '
|
|
136
|
-
QueryIds['CREATE_REPORT_APPEAL'] = '
|
|
137
|
-
QueryIds['ENFORCEMENTS'] = '
|
|
138
|
-
QueryIds['LINK_PREVIEW_CHECK'] = '
|
|
139
|
-
QueryIds['UPDATE_VERIFICATION'] = '
|
|
140
|
-
QueryIds['LABEL_PAID_PARTNERSHIP'] = '
|
|
104
|
+
QueryIds['USER_REPORTS'] = '26334442806191824' // NewsletterUserReports
|
|
105
|
+
QueryIds['CREATE_REPORT_APPEAL'] = '26787508127520150' // NewsletterCreateReportAppeal
|
|
106
|
+
QueryIds['ENFORCEMENTS'] = '25956852020603264' // NewsletterEnforcements
|
|
107
|
+
QueryIds['LINK_PREVIEW_CHECK'] = '24188786150796508' // NewsletterLinkPreviewCheck
|
|
108
|
+
QueryIds['UPDATE_VERIFICATION'] = '33965625006384290' // NewsletterUpdateVerification
|
|
109
|
+
QueryIds['LABEL_PAID_PARTNERSHIP'] = '26221505494211176' // NewsletterLabelPaidPartnership
|
|
141
110
|
// Newsletter Wamo (paid subscription)
|
|
142
|
-
QueryIds['WAMO_CHANGE_SUB'] = '
|
|
111
|
+
QueryIds['WAMO_CHANGE_SUB'] = '25201342542835864' // NewsletterChangeWamoSub
|
|
143
112
|
QueryIds['WAMO_ENABLE_SUB'] = '25122474967344830' // NewsletterEnableWamoSub
|
|
144
113
|
QueryIds['WAMO_DISABLE_SUB'] = '31916794074578680' // NewsletterDisableWamoSub
|
|
145
|
-
QueryIds['WAMO_AFS_AGE_COLLECTION'] = '
|
|
146
|
-
QueryIds['WAMO_ASSET_COLLECTION'] = '
|
|
147
|
-
QueryIds['WAMO_FETCH_ADHOC_NOTICE'] = '
|
|
148
|
-
QueryIds['WAMO_FETCH_IDENTITY_TOKEN'] = '
|
|
114
|
+
QueryIds['WAMO_AFS_AGE_COLLECTION'] = '25012618978387376' // WamoAfsAgeCollection
|
|
115
|
+
QueryIds['WAMO_ASSET_COLLECTION'] = '24347085218298772' // WamoAssetCollection
|
|
116
|
+
QueryIds['WAMO_FETCH_ADHOC_NOTICE'] = '24758534413802424' // WamoFetchAdhocNoticeById
|
|
117
|
+
QueryIds['WAMO_FETCH_IDENTITY_TOKEN'] = '24677346488597664' // WamoFetchIdentityToken
|
|
149
118
|
QueryIds['WAMO_SUB_COMPLIANCE_INFO'] = '25105596879072480' // WamoSubGetComplianceInfo
|
|
150
|
-
QueryIds['WAMO_USER_ID_VERSION'] = '
|
|
119
|
+
QueryIds['WAMO_USER_ID_VERSION'] = '24958410737155268' // WamoUserIdVersion
|
|
151
120
|
QueryIds['WAMO_SET_USER_ID_VERSION'] = '8148672891859281' // SetWamoUserIdVersion
|
|
152
121
|
})(QueryIds || (exports.QueryIds = QueryIds = {}))
|
|
@@ -39,6 +39,7 @@ __exportStar(require('./Product'), exports)
|
|
|
39
39
|
__exportStar(require('./Call'), exports)
|
|
40
40
|
__exportStar(require('./Signal'), exports)
|
|
41
41
|
__exportStar(require('./Newsletter'), exports)
|
|
42
|
+
__exportStar(require('./Mex'), exports)
|
|
42
43
|
var DisconnectReason
|
|
43
44
|
;(function (DisconnectReason) {
|
|
44
45
|
DisconnectReason[(DisconnectReason['connectionClosed'] = 428)] = 'connectionClosed'
|