@alannxd/baileys 6.0.5 → 6.0.6

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 (234) hide show
  1. package/WAProto/fix-import.js +29 -0
  2. package/WAProto/index.js +160 -201
  3. package/engine-requirements.js +1 -1
  4. package/lib/Defaults/baileys-version.json +3 -0
  5. package/lib/Defaults/index.d.ts +15 -37
  6. package/lib/Defaults/index.js +136 -119
  7. package/lib/Defaults/phonenumber-mcc.json +223 -0
  8. package/lib/Signal/Group/ciphertext-message.d.ts +0 -1
  9. package/lib/Signal/Group/ciphertext-message.js +5 -2
  10. package/lib/Signal/Group/group-session-builder.d.ts +3 -4
  11. package/lib/Signal/Group/group-session-builder.js +41 -7
  12. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  13. package/lib/Signal/Group/group_cipher.js +51 -37
  14. package/lib/Signal/Group/index.d.ts +11 -12
  15. package/lib/Signal/Group/index.js +57 -12
  16. package/lib/Signal/Group/keyhelper.d.ts +1 -2
  17. package/lib/Signal/Group/keyhelper.js +44 -7
  18. package/lib/Signal/Group/queue-job.d.ts +1 -0
  19. package/lib/Signal/Group/queue-job.js +57 -0
  20. package/lib/Signal/Group/sender-chain-key.d.ts +2 -3
  21. package/lib/Signal/Group/sender-chain-key.js +15 -7
  22. package/lib/Signal/Group/sender-key-distribution-message.d.ts +1 -2
  23. package/lib/Signal/Group/sender-key-distribution-message.js +11 -8
  24. package/lib/Signal/Group/sender-key-message.d.ts +1 -2
  25. package/lib/Signal/Group/sender-key-message.js +12 -9
  26. package/lib/Signal/Group/sender-key-name.d.ts +0 -1
  27. package/lib/Signal/Group/sender-key-name.js +5 -2
  28. package/lib/Signal/Group/sender-key-record.d.ts +2 -3
  29. package/lib/Signal/Group/sender-key-record.js +21 -9
  30. package/lib/Signal/Group/sender-key-state.d.ts +6 -7
  31. package/lib/Signal/Group/sender-key-state.js +42 -27
  32. package/lib/Signal/Group/sender-message-key.d.ts +0 -1
  33. package/lib/Signal/Group/sender-message-key.js +7 -4
  34. package/lib/Signal/libsignal.d.ts +3 -5
  35. package/lib/Signal/libsignal.js +90 -347
  36. package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +5 -4
  37. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  38. package/lib/Socket/Client/index.d.ts +3 -3
  39. package/lib/Socket/Client/index.js +19 -3
  40. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  41. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  42. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +2 -3
  43. package/lib/Socket/Client/web-socket-client.js +62 -0
  44. package/lib/Socket/business.d.ts +108 -154
  45. package/lib/Socket/business.js +43 -162
  46. package/lib/Socket/chats.d.ts +239 -96
  47. package/lib/Socket/chats.js +427 -627
  48. package/lib/Socket/communities.d.ts +146 -239
  49. package/lib/Socket/communities.js +80 -90
  50. package/lib/Socket/groups.d.ts +57 -104
  51. package/lib/Socket/groups.js +161 -154
  52. package/lib/Socket/index.d.ts +115 -202
  53. package/lib/Socket/index.js +10 -11
  54. package/lib/Socket/luxu.d.ts +266 -22
  55. package/lib/Socket/luxu.js +465 -422
  56. package/lib/Socket/messages-recv.d.ts +84 -136
  57. package/lib/Socket/messages-recv.js +615 -1421
  58. package/lib/Socket/messages-send.d.ts +126 -142
  59. package/lib/Socket/messages-send.js +671 -878
  60. package/lib/Socket/newsletter.d.ts +85 -121
  61. package/lib/Socket/newsletter.js +272 -147
  62. package/lib/Socket/registration.d.ts +267 -0
  63. package/lib/Socket/registration.js +166 -0
  64. package/lib/Socket/socket.d.ts +19 -34
  65. package/lib/Socket/socket.js +313 -544
  66. package/lib/Socket/usync.d.ts +36 -0
  67. package/lib/Socket/usync.js +70 -0
  68. package/lib/Store/index.d.ts +3 -10
  69. package/lib/Store/index.js +10 -10
  70. package/lib/Store/make-cache-manager-store.d.ts +11 -17
  71. package/lib/Store/make-cache-manager-store.js +41 -43
  72. package/lib/Store/make-in-memory-store.d.ts +118 -39
  73. package/lib/Store/make-in-memory-store.js +341 -112
  74. package/lib/Store/make-ordered-dictionary.d.ts +10 -11
  75. package/lib/Store/make-ordered-dictionary.js +20 -14
  76. package/lib/Store/object-repository.d.ts +9 -10
  77. package/lib/Store/object-repository.js +6 -11
  78. package/lib/Types/Auth.d.ts +12 -19
  79. package/lib/Types/Auth.js +2 -2
  80. package/lib/Types/Call.d.ts +1 -3
  81. package/lib/Types/Call.js +2 -2
  82. package/lib/Types/Chat.d.ts +13 -35
  83. package/lib/Types/Chat.js +4 -8
  84. package/lib/Types/Contact.d.ts +1 -8
  85. package/lib/Types/Contact.js +2 -2
  86. package/lib/Types/Events.d.ts +17 -116
  87. package/lib/Types/Events.js +2 -2
  88. package/lib/Types/GroupMetadata.d.ts +5 -21
  89. package/lib/Types/GroupMetadata.js +2 -2
  90. package/lib/Types/Label.d.ts +0 -12
  91. package/lib/Types/Label.js +5 -3
  92. package/lib/Types/LabelAssociation.d.ts +0 -1
  93. package/lib/Types/LabelAssociation.js +5 -3
  94. package/lib/Types/Message.d.ts +58 -105
  95. package/lib/Types/Message.js +9 -11
  96. package/lib/Types/Newsletter.d.ts +103 -0
  97. package/lib/Types/Newsletter.js +38 -0
  98. package/lib/Types/Product.d.ts +1 -2
  99. package/lib/Types/Product.js +2 -2
  100. package/lib/Types/Signal.d.ts +2 -32
  101. package/lib/Types/Signal.js +2 -2
  102. package/lib/Types/Socket.d.ts +25 -50
  103. package/lib/Types/Socket.js +2 -3
  104. package/lib/Types/State.d.ts +2 -72
  105. package/lib/Types/State.js +2 -56
  106. package/lib/Types/USync.d.ts +2 -3
  107. package/lib/Types/USync.js +2 -2
  108. package/lib/Types/index.d.ts +14 -22
  109. package/lib/Types/index.js +31 -15
  110. package/lib/Utils/auth-utils.d.ts +6 -12
  111. package/lib/Utils/auth-utils.js +143 -239
  112. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  113. package/lib/Utils/baileys-event-stream.js +63 -0
  114. package/lib/Utils/business.d.ts +2 -3
  115. package/lib/Utils/business.js +69 -66
  116. package/lib/Utils/chat-utils.d.ts +23 -52
  117. package/lib/Utils/chat-utils.js +253 -396
  118. package/lib/Utils/crypto.d.ts +22 -18
  119. package/lib/Utils/crypto.js +90 -57
  120. package/lib/Utils/decode-wa-message.d.ts +8 -55
  121. package/lib/Utils/decode-wa-message.js +84 -203
  122. package/lib/Utils/event-buffer.d.ts +8 -9
  123. package/lib/Utils/event-buffer.js +77 -185
  124. package/lib/Utils/generics.d.ts +29 -28
  125. package/lib/Utils/generics.js +210 -180
  126. package/lib/Utils/history.d.ts +9 -18
  127. package/lib/Utils/history.js +55 -93
  128. package/lib/Utils/index.d.ts +17 -22
  129. package/lib/Utils/index.js +33 -22
  130. package/lib/Utils/link-preview.d.ts +5 -5
  131. package/lib/Utils/link-preview.js +24 -16
  132. package/lib/Utils/logger.d.ts +3 -11
  133. package/lib/Utils/logger.js +7 -3
  134. package/lib/Utils/lt-hash.d.ts +12 -8
  135. package/lib/Utils/lt-hash.js +46 -3
  136. package/lib/Utils/make-mutex.d.ts +2 -4
  137. package/lib/Utils/make-mutex.js +34 -24
  138. package/lib/Utils/messages-media.d.ts +44 -61
  139. package/lib/Utils/messages-media.js +482 -451
  140. package/lib/Utils/messages.d.ts +18 -32
  141. package/lib/Utils/messages.js +369 -458
  142. package/lib/Utils/noise-handler.d.ts +14 -13
  143. package/lib/Utils/noise-handler.js +99 -145
  144. package/lib/Utils/process-message.d.ts +12 -31
  145. package/lib/Utils/process-message.js +150 -459
  146. package/lib/Utils/signal.d.ts +5 -20
  147. package/lib/Utils/signal.js +72 -120
  148. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -2
  149. package/lib/Utils/use-multi-file-auth-state.js +27 -29
  150. package/lib/Utils/validate-connection.d.ts +7 -7
  151. package/lib/Utils/validate-connection.js +99 -73
  152. package/lib/WABinary/constants.d.ts +27 -25
  153. package/lib/WABinary/constants.js +20 -1281
  154. package/lib/WABinary/decode.d.ts +5 -5
  155. package/lib/WABinary/decode.js +42 -52
  156. package/lib/WABinary/encode.d.ts +3 -3
  157. package/lib/WABinary/encode.js +155 -110
  158. package/lib/WABinary/generic-utils.d.ts +7 -8
  159. package/lib/WABinary/generic-utils.js +49 -48
  160. package/lib/WABinary/index.d.ts +5 -6
  161. package/lib/WABinary/index.js +21 -6
  162. package/lib/WABinary/jid-utils.d.ts +8 -25
  163. package/lib/WABinary/jid-utils.js +40 -74
  164. package/lib/WABinary/types.d.ts +1 -2
  165. package/lib/WABinary/types.js +2 -2
  166. package/lib/WAM/BinaryInfo.d.ts +11 -3
  167. package/lib/WAM/BinaryInfo.js +5 -2
  168. package/lib/WAM/constants.d.ts +3 -5
  169. package/lib/WAM/constants.js +11958 -19461
  170. package/lib/WAM/encode.d.ts +3 -3
  171. package/lib/WAM/encode.js +22 -17
  172. package/lib/WAM/index.d.ts +3 -4
  173. package/lib/WAM/index.js +19 -4
  174. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -4
  175. package/lib/WAUSync/Protocols/USyncContactProtocol.js +13 -33
  176. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -3
  177. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +14 -11
  178. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -3
  179. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +12 -9
  180. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -3
  181. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +13 -9
  182. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +3 -4
  183. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +22 -20
  184. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -5
  185. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +8 -13
  186. package/lib/WAUSync/Protocols/index.d.ts +4 -6
  187. package/lib/WAUSync/Protocols/index.js +20 -6
  188. package/lib/WAUSync/USyncQuery.d.ts +4 -6
  189. package/lib/WAUSync/USyncQuery.js +35 -44
  190. package/lib/WAUSync/USyncUser.d.ts +5 -10
  191. package/lib/WAUSync/USyncUser.js +5 -10
  192. package/lib/WAUSync/index.js +19 -4
  193. package/lib/index.d.ts +9 -10
  194. package/lib/index.js +34 -12
  195. package/package.json +50 -83
  196. package/WAProto/GenerateStatics.sh +0 -3
  197. package/WAProto/WAProto.proto +0 -5479
  198. package/WAProto/fix-imports.js +0 -85
  199. package/WAProto/index.d.ts +0 -14017
  200. package/lib/Signal/lid-mapping.d.ts +0 -23
  201. package/lib/Signal/lid-mapping.js +0 -277
  202. package/lib/Socket/Client/types.js +0 -11
  203. package/lib/Socket/Client/websocket.js +0 -54
  204. package/lib/Socket/mex.d.ts +0 -3
  205. package/lib/Socket/mex.js +0 -42
  206. package/lib/Store/keyed-db.d.ts +0 -22
  207. package/lib/Store/keyed-db.js +0 -108
  208. package/lib/Types/Bussines.d.ts +0 -25
  209. package/lib/Types/Bussines.js +0 -2
  210. package/lib/Types/Mex.d.ts +0 -141
  211. package/lib/Types/Mex.js +0 -37
  212. package/lib/Utils/browser-utils.d.ts +0 -4
  213. package/lib/Utils/browser-utils.js +0 -28
  214. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  215. package/lib/Utils/companion-reg-client-utils.js +0 -35
  216. package/lib/Utils/identity-change-handler.d.ts +0 -44
  217. package/lib/Utils/identity-change-handler.js +0 -50
  218. package/lib/Utils/message-retry-manager.d.ts +0 -115
  219. package/lib/Utils/message-retry-manager.js +0 -265
  220. package/lib/Utils/offline-node-processor.d.ts +0 -17
  221. package/lib/Utils/offline-node-processor.js +0 -40
  222. package/lib/Utils/pre-key-manager.d.ts +0 -28
  223. package/lib/Utils/pre-key-manager.js +0 -106
  224. package/lib/Utils/reporting-utils.d.ts +0 -11
  225. package/lib/Utils/reporting-utils.js +0 -258
  226. package/lib/Utils/stanza-ack.d.ts +0 -11
  227. package/lib/Utils/stanza-ack.js +0 -38
  228. package/lib/Utils/sync-action-utils.d.ts +0 -19
  229. package/lib/Utils/sync-action-utils.js +0 -49
  230. package/lib/Utils/tc-token-utils.d.ts +0 -37
  231. package/lib/Utils/tc-token-utils.js +0 -163
  232. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  233. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  234. package/lib/WAUSync/index.d.ts +0 -4
@@ -1,26 +1,28 @@
1
- import { Boom } from '@hapi/boom';
2
- import { createHash } from 'crypto';
3
- import { createWriteStream, promises as fs } from 'fs';
4
- import { tmpdir } from 'os';
5
- import { join } from 'path';
6
- import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString } from '../WABinary/index.js';
7
- import { generateMessageIDV2 } from './generics.js';
8
- import { getStream, getUrlFromDirectPath } from './messages-media.js';
9
- export const parseCatalogNode = (node) => {
10
- const catalogNode = getBinaryNodeChild(node, 'product_catalog');
11
- const products = getBinaryNodeChildren(catalogNode, 'product').map(parseProductNode);
12
- const paging = getBinaryNodeChild(catalogNode, 'paging');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadingNecessaryImages = exports.uploadingNecessaryImagesOfProduct = exports.parseProductNode = exports.toProductNode = exports.parseOrderDetailsNode = exports.parseCollectionsNode = exports.parseCatalogNode = void 0;
4
+ const boom_1 = require("@hapi/boom");
5
+ const crypto_1 = require("crypto");
6
+ const WABinary_1 = require("../WABinary");
7
+ const messages_media_1 = require("./messages-media");
8
+ const parseCatalogNode = (node) => {
9
+ const catalogNode = (0, WABinary_1.getBinaryNodeChild)(node, 'product_catalog');
10
+ const products = (0, WABinary_1.getBinaryNodeChildren)(catalogNode, 'product').map(exports.parseProductNode);
11
+ const paging = (0, WABinary_1.getBinaryNodeChild)(catalogNode, 'paging');
13
12
  return {
14
13
  products,
15
- nextPageCursor: paging ? getBinaryNodeChildString(paging, 'after') : undefined
14
+ nextPageCursor: paging
15
+ ? (0, WABinary_1.getBinaryNodeChildString)(paging, 'after')
16
+ : undefined
16
17
  };
17
18
  };
18
- export const parseCollectionsNode = (node) => {
19
- const collectionsNode = getBinaryNodeChild(node, 'collections');
20
- const collections = getBinaryNodeChildren(collectionsNode, 'collection').map(collectionNode => {
21
- const id = getBinaryNodeChildString(collectionNode, 'id');
22
- const name = getBinaryNodeChildString(collectionNode, 'name');
23
- const products = getBinaryNodeChildren(collectionNode, 'product').map(parseProductNode);
19
+ exports.parseCatalogNode = parseCatalogNode;
20
+ const parseCollectionsNode = (node) => {
21
+ const collectionsNode = (0, WABinary_1.getBinaryNodeChild)(node, 'collections');
22
+ const collections = (0, WABinary_1.getBinaryNodeChildren)(collectionsNode, 'collection').map(collectionNode => {
23
+ const id = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'id');
24
+ const name = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'name');
25
+ const products = (0, WABinary_1.getBinaryNodeChildren)(collectionNode, 'product').map(exports.parseProductNode);
24
26
  return {
25
27
  id,
26
28
  name,
@@ -32,30 +34,32 @@ export const parseCollectionsNode = (node) => {
32
34
  collections
33
35
  };
34
36
  };
35
- export const parseOrderDetailsNode = (node) => {
36
- const orderNode = getBinaryNodeChild(node, 'order');
37
- const products = getBinaryNodeChildren(orderNode, 'product').map(productNode => {
38
- const imageNode = getBinaryNodeChild(productNode, 'image');
37
+ exports.parseCollectionsNode = parseCollectionsNode;
38
+ const parseOrderDetailsNode = (node) => {
39
+ const orderNode = (0, WABinary_1.getBinaryNodeChild)(node, 'order');
40
+ const products = (0, WABinary_1.getBinaryNodeChildren)(orderNode, 'product').map(productNode => {
41
+ const imageNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'image');
39
42
  return {
40
- id: getBinaryNodeChildString(productNode, 'id'),
41
- name: getBinaryNodeChildString(productNode, 'name'),
42
- imageUrl: getBinaryNodeChildString(imageNode, 'url'),
43
- price: +getBinaryNodeChildString(productNode, 'price'),
44
- currency: getBinaryNodeChildString(productNode, 'currency'),
45
- quantity: +getBinaryNodeChildString(productNode, 'quantity')
43
+ id: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id'),
44
+ name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
45
+ imageUrl: (0, WABinary_1.getBinaryNodeChildString)(imageNode, 'url'),
46
+ price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
47
+ currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
48
+ quantity: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'quantity')
46
49
  };
47
50
  });
48
- const priceNode = getBinaryNodeChild(orderNode, 'price');
51
+ const priceNode = (0, WABinary_1.getBinaryNodeChild)(orderNode, 'price');
49
52
  const orderDetails = {
50
53
  price: {
51
- total: +getBinaryNodeChildString(priceNode, 'total'),
52
- currency: getBinaryNodeChildString(priceNode, 'currency')
54
+ total: +(0, WABinary_1.getBinaryNodeChildString)(priceNode, 'total'),
55
+ currency: (0, WABinary_1.getBinaryNodeChildString)(priceNode, 'currency'),
53
56
  },
54
57
  products
55
58
  };
56
59
  return orderDetails;
57
60
  };
58
- export const toProductNode = (productId, product) => {
61
+ exports.parseOrderDetailsNode = parseOrderDetailsNode;
62
+ const toProductNode = (productId, product) => {
59
63
  const attrs = {};
60
64
  const content = [];
61
65
  if (typeof productId !== 'undefined') {
@@ -92,7 +96,7 @@ export const toProductNode = (productId, product) => {
92
96
  attrs: {},
93
97
  content: product.images.map(img => {
94
98
  if (!('url' in img)) {
95
- throw new Boom('Expected img for product to already be uploaded', { statusCode: 400 });
99
+ throw new boom_1.Boom('Expected img for product to already be uploaded', { statusCode: 400 });
96
100
  }
97
101
  return {
98
102
  tag: 'image',
@@ -150,44 +154,45 @@ export const toProductNode = (productId, product) => {
150
154
  };
151
155
  return node;
152
156
  };
153
- export const parseProductNode = (productNode) => {
157
+ exports.toProductNode = toProductNode;
158
+ const parseProductNode = (productNode) => {
154
159
  const isHidden = productNode.attrs.is_hidden === 'true';
155
- const id = getBinaryNodeChildString(productNode, 'id');
156
- const mediaNode = getBinaryNodeChild(productNode, 'media');
157
- const statusInfoNode = getBinaryNodeChild(productNode, 'status_info');
160
+ const id = (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id');
161
+ const mediaNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'media');
162
+ const statusInfoNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'status_info');
158
163
  const product = {
159
164
  id,
160
165
  imageUrls: parseImageUrls(mediaNode),
161
166
  reviewStatus: {
162
- whatsapp: getBinaryNodeChildString(statusInfoNode, 'status')
167
+ whatsapp: (0, WABinary_1.getBinaryNodeChildString)(statusInfoNode, 'status'),
163
168
  },
164
169
  availability: 'in stock',
165
- name: getBinaryNodeChildString(productNode, 'name'),
166
- retailerId: getBinaryNodeChildString(productNode, 'retailer_id'),
167
- url: getBinaryNodeChildString(productNode, 'url'),
168
- description: getBinaryNodeChildString(productNode, 'description'),
169
- price: +getBinaryNodeChildString(productNode, 'price'),
170
- currency: getBinaryNodeChildString(productNode, 'currency'),
171
- isHidden
170
+ name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
171
+ retailerId: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'retailer_id'),
172
+ url: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'url'),
173
+ description: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'description'),
174
+ price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
175
+ currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
176
+ isHidden,
172
177
  };
173
178
  return product;
174
179
  };
180
+ exports.parseProductNode = parseProductNode;
175
181
  /**
176
182
  * Uploads images not already uploaded to WA's servers
177
183
  */
178
- export async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
184
+ async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
179
185
  product = {
180
186
  ...product,
181
- images: product.images
182
- ? await uploadingNecessaryImages(product.images, waUploadToServer, timeoutMs)
183
- : product.images
187
+ images: product.images ? await (0, exports.uploadingNecessaryImages)(product.images, waUploadToServer, timeoutMs) : product.images
184
188
  };
185
189
  return product;
186
190
  }
191
+ exports.uploadingNecessaryImagesOfProduct = uploadingNecessaryImagesOfProduct;
187
192
  /**
188
193
  * Uploads images not already uploaded to WA's servers
189
194
  */
190
- export const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
195
+ const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
191
196
  const results = await Promise.all(images.map(async (img) => {
192
197
  if ('url' in img) {
193
198
  const url = img.url.toString();
@@ -195,37 +200,35 @@ export const uploadingNecessaryImages = async (images, waUploadToServer, timeout
195
200
  return { url };
196
201
  }
197
202
  }
198
- const { stream } = await getStream(img);
199
- const hasher = createHash('sha256');
200
- const filePath = join(tmpdir(), 'img' + generateMessageIDV2());
201
- const encFileWriteStream = createWriteStream(filePath);
203
+ const { stream } = await (0, messages_media_1.getStream)(img);
204
+ const hasher = (0, crypto_1.createHash)('sha256');
205
+ const contentBlocks = [];
202
206
  for await (const block of stream) {
203
207
  hasher.update(block);
204
- encFileWriteStream.write(block);
208
+ contentBlocks.push(block);
205
209
  }
206
210
  const sha = hasher.digest('base64');
207
- const { directPath } = await waUploadToServer(filePath, {
211
+ const { directPath } = await waUploadToServer((0, messages_media_1.toReadable)(Buffer.concat(contentBlocks)), {
208
212
  mediaType: 'product-catalog-image',
209
213
  fileEncSha256B64: sha,
210
214
  timeoutMs
211
215
  });
212
- await fs.unlink(filePath).catch(err => console.log('Error deleting temp file ', err));
213
- return { url: getUrlFromDirectPath(directPath) };
216
+ return { url: (0, messages_media_1.getUrlFromDirectPath)(directPath) };
214
217
  }));
215
218
  return results;
216
219
  };
220
+ exports.uploadingNecessaryImages = uploadingNecessaryImages;
217
221
  const parseImageUrls = (mediaNode) => {
218
- const imgNode = getBinaryNodeChild(mediaNode, 'image');
222
+ const imgNode = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'image');
219
223
  return {
220
- requested: getBinaryNodeChildString(imgNode, 'request_image_url'),
221
- original: getBinaryNodeChildString(imgNode, 'original_image_url')
224
+ requested: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'request_image_url'),
225
+ original: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'original_image_url')
222
226
  };
223
227
  };
224
228
  const parseStatusInfo = (mediaNode) => {
225
- const node = getBinaryNodeChild(mediaNode, 'status_info');
229
+ const node = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'status_info');
226
230
  return {
227
- status: getBinaryNodeChildString(node, 'status'),
228
- canAppeal: getBinaryNodeChildString(node, 'can_appeal') === 'true'
231
+ status: (0, WABinary_1.getBinaryNodeChildString)(node, 'status'),
232
+ canAppeal: (0, WABinary_1.getBinaryNodeChildString)(node, 'can_appeal') === 'true',
229
233
  };
230
234
  };
231
- //# sourceMappingURL=business.js.map
@@ -1,48 +1,20 @@
1
- import { proto } from '../../WAProto/index.js';
2
- import type { BaileysEventEmitter, ChatModification, ChatMutation, Contact, InitialAppStateSyncOptions, LTHashState, WAPatchCreate, WAPatchName } from '../Types/index.js';
3
- import { type BinaryNode } from '../WABinary/index.js';
4
- import type { ILogger } from './logger.js';
1
+ /// <reference types="node" />
2
+ import { AxiosRequestConfig } from 'axios';
3
+ import type { Logger } from 'pino';
4
+ import { proto } from '../../WAProto';
5
+ import { BaileysEventEmitter, ChatModification, ChatMutation, Contact, InitialAppStateSyncOptions, LTHashState, WAPatchCreate, WAPatchName } from '../Types';
6
+ import { BinaryNode } from '../WABinary';
5
7
  type FetchAppStateSyncKey = (keyId: string) => Promise<proto.Message.IAppStateSyncKeyData | null | undefined>;
6
8
  export type ChatMutationMap = {
7
9
  [index: string]: ChatMutation;
8
10
  };
9
- type Mac = {
10
- indexMac: Uint8Array;
11
- valueMac: Uint8Array;
12
- operation: proto.SyncdMutation.SyncdOperation;
13
- };
14
- export declare const makeLtHashGenerator: ({ indexValueMap, hash }: Pick<LTHashState, "hash" | "indexValueMap">) => {
15
- mix: ({ indexMac, valueMac, operation }: Mac) => void;
16
- finish: () => {
17
- hash: Buffer<ArrayBuffer>;
18
- indexValueMap: {
19
- [indexMacBase64: string]: {
20
- valueMac: Uint8Array | Buffer;
21
- };
22
- };
23
- };
24
- };
25
11
  export declare const newLTHashState: () => LTHashState;
26
- export declare const ensureLTHashStateVersion: (state: LTHashState) => LTHashState;
27
- export declare const MAX_SYNC_ATTEMPTS = 2;
28
- /**
29
- * Check if an error is a missing app state sync key.
30
- * WA Web treats these as "Blocked" (waits for key arrival), not fatal.
31
- * In Baileys we retry with a snapshot which may use a different key.
32
- */
33
- export declare const isMissingKeyError: (error: any) => boolean;
34
- /**
35
- * Determines if an app state sync error is unrecoverable.
36
- * TypeError indicates a WASM crash; otherwise we give up after MAX_SYNC_ATTEMPTS.
37
- * Missing keys are NOT checked here — they are handled separately as "Blocked".
38
- */
39
- export declare const isAppStateSyncIrrecoverable: (error: any, attempts: number) => boolean;
40
12
  export declare const encodeSyncdPatch: ({ type, index, syncAction, apiVersion, operation }: WAPatchCreate, myAppStateKeyId: string, state: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey) => Promise<{
41
13
  patch: proto.ISyncdPatch;
42
14
  state: LTHashState;
43
15
  }>;
44
16
  export declare const decodeSyncdMutations: (msgMutations: (proto.ISyncdMutation | proto.ISyncdRecord)[], initialState: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, onMutation: (mutation: ChatMutation) => void, validateMacs: boolean) => Promise<{
45
- hash: Buffer<ArrayBuffer>;
17
+ hash: Buffer;
46
18
  indexValueMap: {
47
19
  [indexMacBase64: string]: {
48
20
  valueMac: Uint8Array | Buffer;
@@ -50,51 +22,50 @@ export declare const decodeSyncdMutations: (msgMutations: (proto.ISyncdMutation
50
22
  };
51
23
  }>;
52
24
  export declare const decodeSyncdPatch: (msg: proto.ISyncdPatch, name: WAPatchName, initialState: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, onMutation: (mutation: ChatMutation) => void, validateMacs: boolean) => Promise<{
53
- hash: Buffer<ArrayBuffer>;
25
+ hash: Buffer;
54
26
  indexValueMap: {
55
27
  [indexMacBase64: string]: {
56
28
  valueMac: Uint8Array | Buffer;
57
29
  };
58
30
  };
59
31
  }>;
60
- export declare const extractSyncdPatches: (result: BinaryNode, options: RequestInit) => Promise<{
61
- critical_unblock_low: {
32
+ export declare const extractSyncdPatches: (result: BinaryNode, options: AxiosRequestConfig<any>) => Promise<{
33
+ critical_block: {
62
34
  patches: proto.ISyncdPatch[];
63
35
  hasMorePatches: boolean;
64
- snapshot?: proto.ISyncdSnapshot;
36
+ snapshot?: proto.ISyncdSnapshot | undefined;
65
37
  };
66
- regular_high: {
38
+ critical_unblock_low: {
67
39
  patches: proto.ISyncdPatch[];
68
40
  hasMorePatches: boolean;
69
- snapshot?: proto.ISyncdSnapshot;
41
+ snapshot?: proto.ISyncdSnapshot | undefined;
70
42
  };
71
- regular_low: {
43
+ regular_high: {
72
44
  patches: proto.ISyncdPatch[];
73
45
  hasMorePatches: boolean;
74
- snapshot?: proto.ISyncdSnapshot;
46
+ snapshot?: proto.ISyncdSnapshot | undefined;
75
47
  };
76
- critical_block: {
48
+ regular_low: {
77
49
  patches: proto.ISyncdPatch[];
78
50
  hasMorePatches: boolean;
79
- snapshot?: proto.ISyncdSnapshot;
51
+ snapshot?: proto.ISyncdSnapshot | undefined;
80
52
  };
81
53
  regular: {
82
54
  patches: proto.ISyncdPatch[];
83
55
  hasMorePatches: boolean;
84
- snapshot?: proto.ISyncdSnapshot;
56
+ snapshot?: proto.ISyncdSnapshot | undefined;
85
57
  };
86
58
  }>;
87
- export declare const downloadExternalBlob: (blob: proto.IExternalBlobReference, options: RequestInit) => Promise<Buffer<ArrayBuffer>>;
88
- export declare const downloadExternalPatch: (blob: proto.IExternalBlobReference, options: RequestInit) => Promise<proto.SyncdMutations>;
89
- export declare const decodeSyncdSnapshot: (name: WAPatchName, snapshot: proto.ISyncdSnapshot, getAppStateSyncKey: FetchAppStateSyncKey, minimumVersionNumber: number | undefined, validateMacs?: boolean, logger?: ILogger) => Promise<{
59
+ export declare const downloadExternalBlob: (blob: proto.IExternalBlobReference, options: AxiosRequestConfig<any>) => Promise<Buffer>;
60
+ export declare const downloadExternalPatch: (blob: proto.IExternalBlobReference, options: AxiosRequestConfig<any>) => Promise<proto.SyncdMutations>;
61
+ export declare const decodeSyncdSnapshot: (name: WAPatchName, snapshot: proto.ISyncdSnapshot, getAppStateSyncKey: FetchAppStateSyncKey, minimumVersionNumber: number | undefined, validateMacs?: boolean) => Promise<{
90
62
  state: LTHashState;
91
63
  mutationMap: ChatMutationMap;
92
64
  }>;
93
- export declare const decodePatches: (name: WAPatchName, syncds: proto.ISyncdPatch[], initial: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, options: RequestInit, minimumVersionNumber?: number, logger?: ILogger, validateMacs?: boolean) => Promise<{
65
+ export declare const decodePatches: (name: WAPatchName, syncds: proto.ISyncdPatch[], initial: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, options: AxiosRequestConfig<any>, minimumVersionNumber?: number, logger?: Logger, validateMacs?: boolean) => Promise<{
94
66
  state: LTHashState;
95
67
  mutationMap: ChatMutationMap;
96
68
  }>;
97
69
  export declare const chatModificationToAppPatch: (mod: ChatModification, jid: string) => WAPatchCreate;
98
- export declare const processSyncAction: (syncAction: ChatMutation, ev: BaileysEventEmitter, me: Contact, initialSyncOpts?: InitialAppStateSyncOptions, logger?: ILogger) => void;
70
+ export declare const processSyncAction: (syncAction: ChatMutation, ev: BaileysEventEmitter, me: Contact, initialSyncOpts?: InitialAppStateSyncOptions, logger?: Logger) => void;
99
71
  export {};
100
- //# sourceMappingURL=chat-utils.d.ts.map