@badzz88/baileys 8.5.6 → 8.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +337 -1055
  2. package/WAProto/WAProto.proto +28 -1189
  3. package/WAProto/fix-imports.js +79 -69
  4. package/WAProto/index.d.ts +71491 -15254
  5. package/WAProto/index.js +126436 -19814
  6. package/engine-requirements.js +8 -15
  7. package/lib/Defaults/index.js +130 -0
  8. package/{src → lib}/Signal/Group/ciphertext-message.js +2 -5
  9. package/lib/Signal/Group/group-session-builder.js +30 -0
  10. package/{src → lib}/Signal/Group/group_cipher.js +11 -11
  11. package/lib/Signal/Group/index.js +12 -0
  12. package/lib/Signal/Group/keyhelper.js +18 -0
  13. package/{src → lib}/Signal/Group/sender-chain-key.js +6 -9
  14. package/{src → lib}/Signal/Group/sender-key-distribution-message.js +6 -9
  15. package/{src → lib}/Signal/Group/sender-key-message.js +9 -12
  16. package/{src → lib}/Signal/Group/sender-key-name.js +2 -5
  17. package/{src → lib}/Signal/Group/sender-key-record.js +8 -11
  18. package/{src → lib}/Signal/Group/sender-key-state.js +6 -9
  19. package/lib/Signal/Group/sender-message-key.js +26 -0
  20. package/{src → lib}/Signal/libsignal.js +131 -155
  21. package/{src → lib}/Signal/lid-mapping.js +27 -23
  22. package/lib/Socket/Client/index.js +3 -0
  23. package/lib/Socket/Client/types.js +11 -0
  24. package/{src → lib}/Socket/Client/websocket.js +11 -18
  25. package/{src → lib}/Socket/business.js +35 -67
  26. package/{src → lib}/Socket/chats.js +294 -550
  27. package/{src → lib}/Socket/communities.js +82 -114
  28. package/lib/Socket/graphql.js +716 -0
  29. package/lib/Socket/groups.js +374 -0
  30. package/lib/Socket/index.js +18 -0
  31. package/lib/Socket/interop.js +463 -0
  32. package/{src → lib}/Socket/luxu.js +120 -82
  33. package/lib/Socket/messages-recv.js +1916 -0
  34. package/lib/Socket/messages-send.js +1436 -0
  35. package/lib/Socket/mex.js +54 -0
  36. package/lib/Socket/newsletter.js +757 -0
  37. package/lib/Socket/privacy.js +318 -0
  38. package/{src → lib}/Socket/socket.js +356 -244
  39. package/lib/Socket/username.js +236 -0
  40. package/lib/Store/index.js +10 -0
  41. package/{src → lib}/Store/keyed-db.js +11 -21
  42. package/lib/Store/make-cache-manager-store.js +85 -0
  43. package/lib/Store/make-in-memory-store.js +244 -0
  44. package/{src → lib}/Store/make-ordered-dictionary.js +19 -25
  45. package/{src → lib}/Store/object-repository.js +11 -5
  46. package/lib/Types/Auth.js +2 -0
  47. package/lib/Types/Bussines.js +2 -0
  48. package/lib/Types/Call.js +2 -0
  49. package/lib/Types/Chat.js +8 -0
  50. package/lib/Types/Contact.js +2 -0
  51. package/lib/Types/Events.js +2 -0
  52. package/lib/Types/GroupMetadata.js +2 -0
  53. package/lib/Types/Label.js +25 -0
  54. package/lib/Types/LabelAssociation.js +7 -0
  55. package/lib/Types/Message.js +11 -0
  56. package/lib/Types/Mex.js +111 -0
  57. package/lib/Types/Product.js +2 -0
  58. package/lib/Types/Signal.js +2 -0
  59. package/lib/Types/Socket.js +3 -0
  60. package/lib/Types/State.js +56 -0
  61. package/lib/Types/USync.js +2 -0
  62. package/lib/Types/index.js +26 -0
  63. package/{src → lib}/Utils/auth-utils.js +91 -43
  64. package/lib/Utils/browser-utils.js +48 -0
  65. package/lib/Utils/business.js +231 -0
  66. package/lib/Utils/chat-utils.js +872 -0
  67. package/lib/Utils/companion-reg-client-utils.js +35 -0
  68. package/lib/Utils/crypto.js +118 -0
  69. package/lib/Utils/decode-wa-message.js +350 -0
  70. package/{src → lib}/Utils/event-buffer.js +81 -39
  71. package/lib/Utils/generics.js +403 -0
  72. package/lib/Utils/history.js +134 -0
  73. package/{src → lib}/Utils/identity-change-handler.js +9 -11
  74. package/lib/Utils/index.js +23 -0
  75. package/lib/Utils/link-preview.js +85 -0
  76. package/lib/Utils/logger.js +3 -0
  77. package/lib/Utils/lt-hash.js +8 -0
  78. package/{src → lib}/Utils/make-mutex.js +7 -10
  79. package/lib/Utils/message-composer.js +273 -0
  80. package/{src → lib}/Utils/message-retry-manager.js +76 -28
  81. package/lib/Utils/messages-media.js +870 -0
  82. package/lib/Utils/messages.js +1337 -0
  83. package/lib/Utils/noise-handler.js +201 -0
  84. package/{src → lib}/Utils/offline-node-processor.js +10 -4
  85. package/{src → lib}/Utils/pre-key-manager.js +27 -11
  86. package/lib/Utils/process-message.js +630 -0
  87. package/{src → lib}/Utils/reporting-utils.js +12 -15
  88. package/lib/Utils/signal.js +201 -0
  89. package/{src → lib}/Utils/stanza-ack.js +12 -4
  90. package/lib/Utils/sticker.js +110 -0
  91. package/{src → lib}/Utils/sync-action-utils.js +14 -10
  92. package/{src → lib}/Utils/tc-token-utils.js +48 -43
  93. package/{src → lib}/Utils/use-multi-file-auth-state.js +35 -25
  94. package/lib/Utils/validate-connection.js +203 -0
  95. package/{src → lib}/WABinary/constants.js +9 -12
  96. package/{src → lib}/WABinary/decode.js +38 -118
  97. package/{src → lib}/WABinary/encode.js +6 -11
  98. package/lib/WABinary/generic-utils.js +204 -0
  99. package/lib/WABinary/index.js +6 -0
  100. package/lib/WABinary/jid-utils.js +98 -0
  101. package/lib/WABinary/types.js +2 -0
  102. package/{src → lib}/WAM/BinaryInfo.js +2 -5
  103. package/{src → lib}/WAM/constants.js +4 -16635
  104. package/{src → lib}/WAM/encode.js +18 -17
  105. package/lib/WAM/index.js +4 -0
  106. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +53 -0
  107. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
  108. package/lib/WAUSync/Protocols/USyncContactProtocol.js +54 -0
  109. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  110. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  111. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +58 -0
  112. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  113. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  114. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +28 -0
  115. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +39 -0
  116. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  117. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +27 -0
  118. package/lib/WAUSync/Protocols/index.js +12 -0
  119. package/lib/WAUSync/USyncQuery.js +151 -0
  120. package/lib/WAUSync/USyncUser.js +56 -0
  121. package/lib/WAUSync/index.js +3 -0
  122. package/{src → lib}/index.js +16 -51
  123. package/package.json +129 -99
  124. package/LICENSE +0 -21
  125. package/src/Defaults/index.js +0 -186
  126. package/src/Defaults/phonenumber-mcc.json +0 -223
  127. package/src/Signal/Group/group-session-builder.js +0 -86
  128. package/src/Signal/Group/index.js +0 -140
  129. package/src/Signal/Group/keyhelper.js +0 -77
  130. package/src/Signal/Group/sender-message-key.js +0 -29
  131. package/src/Socket/Client/index.js +0 -31
  132. package/src/Socket/Client/types.js +0 -13
  133. package/src/Socket/aigroups.js +0 -221
  134. package/src/Socket/graphql.js +0 -523
  135. package/src/Socket/groups.js +0 -516
  136. package/src/Socket/index.js +0 -31
  137. package/src/Socket/interactive-handler.js +0 -527
  138. package/src/Socket/interop.js +0 -339
  139. package/src/Socket/managed-account.js +0 -98
  140. package/src/Socket/messages-recv.js +0 -2685
  141. package/src/Socket/messages-send.js +0 -2047
  142. package/src/Socket/mex.js +0 -57
  143. package/src/Socket/newsletter.js +0 -455
  144. package/src/Socket/privacy.js +0 -125
  145. package/src/Socket/registration.js +0 -236
  146. package/src/Socket/text-router.js +0 -65
  147. package/src/Socket/username.js +0 -130
  148. package/src/Store/index.js +0 -33
  149. package/src/Store/make-cache-manager-store.js +0 -84
  150. package/src/Store/make-in-memory-store.js +0 -551
  151. package/src/Types/Auth.js +0 -31
  152. package/src/Types/Bussines.js +0 -2
  153. package/src/Types/Call.js +0 -2
  154. package/src/Types/Chat.js +0 -4
  155. package/src/Types/Contact.js +0 -2
  156. package/src/Types/Events.js +0 -2
  157. package/src/Types/GroupMetadata.js +0 -2
  158. package/src/Types/Label.js +0 -26
  159. package/src/Types/LabelAssociation.js +0 -8
  160. package/src/Types/Message.js +0 -93
  161. package/src/Types/Mex.js +0 -112
  162. package/src/Types/Newsletter.js +0 -109
  163. package/src/Types/Product.js +0 -2
  164. package/src/Types/Signal.js +0 -2
  165. package/src/Types/Socket.js +0 -2
  166. package/src/Types/State.js +0 -62
  167. package/src/Types/USync.js +0 -2
  168. package/src/Types/index.js +0 -56
  169. package/src/Utils/browser-utils.js +0 -112
  170. package/src/Utils/business.js +0 -240
  171. package/src/Utils/chat-utils.js +0 -1230
  172. package/src/Utils/command-loader.d.ts +0 -27
  173. package/src/Utils/command-loader.js +0 -89
  174. package/src/Utils/companion-reg-client-utils.js +0 -40
  175. package/src/Utils/consumer-application.js +0 -105
  176. package/src/Utils/crypto.js +0 -118
  177. package/src/Utils/curve25519-js.js +0 -242
  178. package/src/Utils/decode-wa-message.js +0 -529
  179. package/src/Utils/generics.js +0 -483
  180. package/src/Utils/group-history.js +0 -44
  181. package/src/Utils/history.js +0 -232
  182. package/src/Utils/index.js +0 -58
  183. package/src/Utils/jid-display-normalization.js +0 -195
  184. package/src/Utils/link-preview.js +0 -135
  185. package/src/Utils/logger.js +0 -8
  186. package/src/Utils/lt-hash.js +0 -25
  187. package/src/Utils/message-composer.js +0 -471
  188. package/src/Utils/messages-media.js +0 -843
  189. package/src/Utils/messages.js +0 -2817
  190. package/src/Utils/meta-ai-msmsg.js +0 -222
  191. package/src/Utils/native-bridge.js +0 -68
  192. package/src/Utils/noise-handler.js +0 -169
  193. package/src/Utils/process-message.js +0 -950
  194. package/src/Utils/session-pool.d.ts +0 -14
  195. package/src/Utils/session-pool.js +0 -70
  196. package/src/Utils/signal.js +0 -217
  197. package/src/Utils/sticker.d.ts +0 -13
  198. package/src/Utils/sticker.js +0 -123
  199. package/src/Utils/validate-connection.js +0 -209
  200. package/src/Utils/view-once-cache.d.ts +0 -12
  201. package/src/Utils/view-once-cache.js +0 -63
  202. package/src/Utils/voip-rekey.js +0 -22
  203. package/src/WABinary/generic-utils.js +0 -238
  204. package/src/WABinary/index.js +0 -34
  205. package/src/WABinary/jid-utils.js +0 -351
  206. package/src/WABinary/types.js +0 -2
  207. package/src/WAM/index.js +0 -32
  208. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -53
  209. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +0 -44
  210. package/src/WAUSync/Protocols/USyncContactProtocol.js +0 -55
  211. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +0 -55
  212. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -31
  213. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +0 -54
  214. package/src/WAUSync/Protocols/USyncLIDProtocol.js +0 -32
  215. package/src/WAUSync/Protocols/USyncNewsletterProtocol.js +0 -473
  216. package/src/WAUSync/Protocols/USyncPictureProtocol.js +0 -34
  217. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +0 -29
  218. package/src/WAUSync/Protocols/USyncStatusProtocol.js +0 -42
  219. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -38
  220. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +0 -28
  221. package/src/WAUSync/Protocols/index.js +0 -40
  222. package/src/WAUSync/USyncQuery.js +0 -126
  223. package/src/WAUSync/USyncUser.js +0 -50
  224. package/src/WAUSync/index.js +0 -32
  225. package/src/antiban.js +0 -4152
@@ -1,240 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.uploadingNecessaryImages =
4
- exports.parseProductNode =
5
- exports.toProductNode =
6
- exports.parseOrderDetailsNode =
7
- exports.parseCollectionsNode =
8
- exports.parseCatalogNode =
9
- void 0;
10
- exports.uploadingNecessaryImagesOfProduct = uploadingNecessaryImagesOfProduct;
11
- const boom_1 = require('@hapi/boom');
12
- const crypto_1 = require('crypto');
13
- const fs_1 = require('fs');
14
- const os_1 = require('os');
15
- const path_1 = require('path');
16
- const WABinary_1 = require('../WABinary');
17
- const generics_1 = require('./generics');
18
- const messages_media_1 = require('./messages-media');
19
- const parseCatalogNode = node => {
20
- const catalogNode = (0, WABinary_1.getBinaryNodeChild)(node, 'product_catalog');
21
- const products = (0, WABinary_1.getBinaryNodeChildren)(catalogNode, 'product').map(exports.parseProductNode);
22
- const paging = (0, WABinary_1.getBinaryNodeChild)(catalogNode, 'paging');
23
- return {
24
- products,
25
- nextPageCursor: paging ? (0, WABinary_1.getBinaryNodeChildString)(paging, 'after') : undefined
26
- };
27
- };
28
- exports.parseCatalogNode = parseCatalogNode;
29
- const parseCollectionsNode = node => {
30
- const collectionsNode = (0, WABinary_1.getBinaryNodeChild)(node, 'collections');
31
- const collections = (0, WABinary_1.getBinaryNodeChildren)(collectionsNode, 'collection').map(collectionNode => {
32
- const id = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'id');
33
- const name = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'name');
34
- const products = (0, WABinary_1.getBinaryNodeChildren)(collectionNode, 'product').map(exports.parseProductNode);
35
- return {
36
- id,
37
- name,
38
- products,
39
- status: parseStatusInfo(collectionNode)
40
- };
41
- });
42
- return {
43
- collections
44
- };
45
- };
46
- exports.parseCollectionsNode = parseCollectionsNode;
47
- const parseOrderDetailsNode = node => {
48
- const orderNode = (0, WABinary_1.getBinaryNodeChild)(node, 'order');
49
- const products = (0, WABinary_1.getBinaryNodeChildren)(orderNode, 'product').map(productNode => {
50
- const imageNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'image');
51
- return {
52
- id: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id'),
53
- name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
54
- imageUrl: (0, WABinary_1.getBinaryNodeChildString)(imageNode, 'url'),
55
- price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
56
- currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
57
- quantity: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'quantity')
58
- };
59
- });
60
- const priceNode = (0, WABinary_1.getBinaryNodeChild)(orderNode, 'price');
61
- const orderDetails = {
62
- price: {
63
- total: +(0, WABinary_1.getBinaryNodeChildString)(priceNode, 'total'),
64
- currency: (0, WABinary_1.getBinaryNodeChildString)(priceNode, 'currency')
65
- },
66
- products
67
- };
68
- return orderDetails;
69
- };
70
- exports.parseOrderDetailsNode = parseOrderDetailsNode;
71
- const toProductNode = (productId, product) => {
72
- const attrs = {};
73
- const content = [];
74
- if (typeof productId !== 'undefined') {
75
- content.push({
76
- tag: 'id',
77
- attrs: {},
78
- content: Buffer.from(productId)
79
- });
80
- }
81
- if (typeof product.name !== 'undefined') {
82
- content.push({
83
- tag: 'name',
84
- attrs: {},
85
- content: Buffer.from(product.name)
86
- });
87
- }
88
- if (typeof product.description !== 'undefined') {
89
- content.push({
90
- tag: 'description',
91
- attrs: {},
92
- content: Buffer.from(product.description)
93
- });
94
- }
95
- if (typeof product.retailerId !== 'undefined') {
96
- content.push({
97
- tag: 'retailer_id',
98
- attrs: {},
99
- content: Buffer.from(product.retailerId)
100
- });
101
- }
102
- if (product.images.length) {
103
- content.push({
104
- tag: 'media',
105
- attrs: {},
106
- content: product.images.map(img => {
107
- if (!('url' in img)) {
108
- throw new boom_1.Boom('Expected img for product to already be uploaded', { statusCode: 400 });
109
- }
110
- return {
111
- tag: 'image',
112
- attrs: {},
113
- content: [
114
- {
115
- tag: 'url',
116
- attrs: {},
117
- content: Buffer.from(img.url.toString())
118
- }
119
- ]
120
- };
121
- })
122
- });
123
- }
124
- if (typeof product.price !== 'undefined') {
125
- content.push({
126
- tag: 'price',
127
- attrs: {},
128
- content: Buffer.from(product.price.toString())
129
- });
130
- }
131
- if (typeof product.currency !== 'undefined') {
132
- content.push({
133
- tag: 'currency',
134
- attrs: {},
135
- content: Buffer.from(product.currency)
136
- });
137
- }
138
- if ('originCountryCode' in product) {
139
- if (typeof product.originCountryCode === 'undefined') {
140
- attrs['compliance_category'] = 'COUNTRY_ORIGIN_EXEMPT';
141
- }
142
- else {
143
- content.push({
144
- tag: 'compliance_info',
145
- attrs: {},
146
- content: [
147
- {
148
- tag: 'country_code_origin',
149
- attrs: {},
150
- content: Buffer.from(product.originCountryCode)
151
- }
152
- ]
153
- });
154
- }
155
- }
156
- if (typeof product.isHidden !== 'undefined') {
157
- attrs['is_hidden'] = product.isHidden.toString();
158
- }
159
- const node = {
160
- tag: 'product',
161
- attrs,
162
- content
163
- };
164
- return node;
165
- };
166
- exports.toProductNode = toProductNode;
167
- const parseProductNode = productNode => {
168
- const isHidden = productNode.attrs.is_hidden === 'true';
169
- const id = (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id');
170
- const mediaNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'media');
171
- const statusInfoNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'status_info');
172
- const product = {
173
- id,
174
- imageUrls: parseImageUrls(mediaNode),
175
- reviewStatus: {
176
- whatsapp: (0, WABinary_1.getBinaryNodeChildString)(statusInfoNode, 'status')
177
- },
178
- availability: 'in stock',
179
- name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
180
- retailerId: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'retailer_id'),
181
- url: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'url'),
182
- description: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'description'),
183
- price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
184
- currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
185
- isHidden
186
- };
187
- return product;
188
- };
189
- exports.parseProductNode = parseProductNode;
190
- async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
191
- product = {
192
- ...product,
193
- images: product.images
194
- ? await (0, exports.uploadingNecessaryImages)(product.images, waUploadToServer, timeoutMs)
195
- : product.images
196
- };
197
- return product;
198
- }
199
- const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
200
- const results = await Promise.all(images.map(async (img) => {
201
- if ('url' in img) {
202
- const url = img.url.toString();
203
- if (url.includes('.whatsapp.net')) {
204
- return { url };
205
- }
206
- }
207
- const { stream } = await (0, messages_media_1.getStream)(img);
208
- const hasher = (0, crypto_1.createHash)('sha256');
209
- const filePath = (0, path_1.join)((0, os_1.tmpdir)(), 'img' + (0, generics_1.generateMessageIDV2)());
210
- const encFileWriteStream = (0, fs_1.createWriteStream)(filePath);
211
- for await (const block of stream) {
212
- hasher.update(block);
213
- encFileWriteStream.write(block);
214
- }
215
- const sha = hasher.digest('base64');
216
- const { directPath } = await waUploadToServer(filePath, {
217
- mediaType: 'product-catalog-image',
218
- fileEncSha256B64: sha,
219
- timeoutMs
220
- });
221
- await fs_1.promises.unlink(filePath).catch(() => { });
222
- return { url: (0, messages_media_1.getUrlFromDirectPath)(directPath) };
223
- }));
224
- return results;
225
- };
226
- exports.uploadingNecessaryImages = uploadingNecessaryImages;
227
- const parseImageUrls = mediaNode => {
228
- const imgNode = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'image');
229
- return {
230
- requested: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'request_image_url'),
231
- original: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'original_image_url')
232
- };
233
- };
234
- const parseStatusInfo = mediaNode => {
235
- const node = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'status_info');
236
- return {
237
- status: (0, WABinary_1.getBinaryNodeChildString)(node, 'status'),
238
- canAppeal: (0, WABinary_1.getBinaryNodeChildString)(node, 'can_appeal') === 'true'
239
- };
240
- };