@fer2809fl/baileys 1.4.9 → 7.0.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.
Files changed (481) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +556 -523
  3. package/WAProto/GenerateStatics.sh +3 -4
  4. package/WAProto/WAProto.proto +1215 -511
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +4347 -45387
  7. package/WAProto/index.js +65475 -137445
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +34 -18
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +95 -67
  12. package/lib/Defaults/index.js.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  14. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js +2 -5
  16. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  18. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  19. package/lib/Signal/Group/group-session-builder.js +7 -41
  20. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  21. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  22. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  23. package/lib/Signal/Group/group_cipher.js +37 -60
  24. package/lib/Signal/Group/group_cipher.js.map +1 -0
  25. package/lib/Signal/Group/index.d.ts +12 -11
  26. package/lib/Signal/Group/index.d.ts.map +1 -0
  27. package/lib/Signal/Group/index.js +12 -57
  28. package/lib/Signal/Group/index.js.map +1 -0
  29. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  30. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  31. package/lib/Signal/Group/keyhelper.js +7 -44
  32. package/lib/Signal/Group/keyhelper.js.map +1 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
  34. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js +7 -15
  36. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  38. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  40. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  42. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.js +9 -12
  44. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  46. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.js +2 -5
  48. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts +3 -2
  50. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.js +12 -37
  52. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts +7 -6
  54. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.js +27 -42
  56. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  58. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.js +4 -7
  60. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  61. package/lib/Signal/libsignal.d.ts +5 -3
  62. package/lib/Signal/libsignal.d.ts.map +1 -0
  63. package/lib/Signal/libsignal.js +347 -90
  64. package/lib/Signal/libsignal.js.map +1 -0
  65. package/lib/Signal/lid-mapping.d.ts +23 -0
  66. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  67. package/lib/Signal/lid-mapping.js +277 -0
  68. package/lib/Signal/lid-mapping.js.map +1 -0
  69. package/lib/Socket/Client/index.d.ts +3 -2
  70. package/lib/Socket/Client/index.d.ts.map +1 -0
  71. package/lib/Socket/Client/index.js +3 -18
  72. package/lib/Socket/Client/index.js.map +1 -0
  73. package/lib/Socket/Client/types.d.ts +4 -4
  74. package/lib/Socket/Client/types.d.ts.map +1 -0
  75. package/lib/Socket/Client/types.js +4 -6
  76. package/lib/Socket/Client/types.js.map +1 -0
  77. package/lib/Socket/Client/websocket.d.ts +3 -3
  78. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  79. package/lib/Socket/Client/websocket.js +21 -78
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +205 -93
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +162 -43
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +77 -28
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +639 -248
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +340 -0
  90. package/lib/Socket/communities.d.ts.map +1 -0
  91. package/lib/Socket/communities.js +434 -0
  92. package/lib/Socket/communities.js.map +1 -0
  93. package/lib/Socket/groups.d.ts +93 -46
  94. package/lib/Socket/groups.d.ts.map +1 -0
  95. package/lib/Socket/groups.js +260 -102
  96. package/lib/Socket/groups.js.map +1 -0
  97. package/lib/Socket/index.d.ts +253 -98
  98. package/lib/Socket/index.d.ts.map +1 -0
  99. package/lib/Socket/index.js +11 -9
  100. package/lib/Socket/index.js.map +1 -0
  101. package/lib/Socket/messages-recv.d.ts +192 -83
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +1314 -559
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +190 -75
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +937 -581
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +4 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +62 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +129 -73
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +373 -222
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/smgss.d.ts +119 -0
  118. package/lib/Socket/smgss.d.ts.map +1 -0
  119. package/lib/Socket/smgss.js +453 -0
  120. package/lib/Socket/smgss.js.map +1 -0
  121. package/lib/Socket/socket.d.ts +59 -270
  122. package/lib/Socket/socket.d.ts.map +1 -0
  123. package/lib/Socket/socket.js +738 -326
  124. package/lib/Socket/socket.js.map +1 -0
  125. package/lib/Store/index.d.ts +4 -2
  126. package/lib/Store/index.d.ts.map +1 -0
  127. package/lib/Store/index.js +4 -8
  128. package/lib/Store/index.js.map +1 -0
  129. package/lib/Store/make-in-memory-store.d.ts +74 -60
  130. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  131. package/lib/Store/make-in-memory-store.js +130 -119
  132. package/lib/Store/make-in-memory-store.js.map +1 -0
  133. package/lib/Store/make-ordered-dictionary.d.ts +4 -3
  134. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  135. package/lib/Store/make-ordered-dictionary.js +5 -6
  136. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  137. package/lib/Store/object-repository.d.ts +6 -3
  138. package/lib/Store/object-repository.d.ts.map +1 -0
  139. package/lib/Store/object-repository.js +2 -5
  140. package/lib/Store/object-repository.js.map +1 -0
  141. package/lib/Types/Auth.d.ts +19 -5
  142. package/lib/Types/Auth.d.ts.map +1 -0
  143. package/lib/Types/Auth.js +2 -2
  144. package/lib/Types/Auth.js.map +1 -0
  145. package/lib/Types/Bussines.d.ts +25 -0
  146. package/lib/Types/Bussines.d.ts.map +1 -0
  147. package/lib/Types/Bussines.js +2 -0
  148. package/lib/Types/Bussines.js.map +1 -0
  149. package/lib/Types/Call.d.ts +3 -1
  150. package/lib/Types/Call.d.ts.map +1 -0
  151. package/lib/Types/Call.js +2 -2
  152. package/lib/Types/Call.js.map +1 -0
  153. package/lib/Types/Chat.d.ts +24 -9
  154. package/lib/Types/Chat.d.ts.map +1 -0
  155. package/lib/Types/Chat.js +8 -4
  156. package/lib/Types/Chat.js.map +1 -0
  157. package/lib/Types/Contact.d.ts +7 -4
  158. package/lib/Types/Contact.d.ts.map +1 -0
  159. package/lib/Types/Contact.js +2 -2
  160. package/lib/Types/Contact.js.map +1 -0
  161. package/lib/Types/Events.d.ts +90 -33
  162. package/lib/Types/Events.d.ts.map +1 -0
  163. package/lib/Types/Events.js +2 -2
  164. package/lib/Types/Events.js.map +1 -0
  165. package/lib/Types/GroupMetadata.d.ts +16 -9
  166. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  167. package/lib/Types/GroupMetadata.js +2 -2
  168. package/lib/Types/GroupMetadata.js.map +1 -0
  169. package/lib/Types/Label.d.ts +12 -0
  170. package/lib/Types/Label.d.ts.map +1 -0
  171. package/lib/Types/Label.js +3 -5
  172. package/lib/Types/Label.js.map +1 -0
  173. package/lib/Types/LabelAssociation.d.ts +1 -0
  174. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  175. package/lib/Types/LabelAssociation.js +3 -5
  176. package/lib/Types/LabelAssociation.js.map +1 -0
  177. package/lib/Types/Message.d.ts +176 -148
  178. package/lib/Types/Message.d.ts.map +1 -0
  179. package/lib/Types/Message.js +15 -7
  180. package/lib/Types/Message.js.map +1 -0
  181. package/lib/Types/Mex.d.ts +154 -0
  182. package/lib/Types/Mex.d.ts.map +1 -0
  183. package/lib/Types/Mex.js +39 -0
  184. package/lib/Types/Mex.js.map +1 -0
  185. package/lib/Types/Product.d.ts +2 -1
  186. package/lib/Types/Product.d.ts.map +1 -0
  187. package/lib/Types/Product.js +2 -2
  188. package/lib/Types/Product.js.map +1 -0
  189. package/lib/Types/Signal.d.ts +32 -2
  190. package/lib/Types/Signal.d.ts.map +1 -0
  191. package/lib/Types/Signal.js +2 -2
  192. package/lib/Types/Signal.js.map +1 -0
  193. package/lib/Types/Socket.d.ts +46 -20
  194. package/lib/Types/Socket.d.ts.map +1 -0
  195. package/lib/Types/Socket.js +3 -2
  196. package/lib/Types/Socket.js.map +1 -0
  197. package/lib/Types/State.d.ts +79 -2
  198. package/lib/Types/State.d.ts.map +1 -0
  199. package/lib/Types/State.js +56 -2
  200. package/lib/Types/State.js.map +1 -0
  201. package/lib/Types/USync.d.ts +3 -2
  202. package/lib/Types/USync.d.ts.map +1 -0
  203. package/lib/Types/USync.js +2 -2
  204. package/lib/Types/USync.js.map +1 -0
  205. package/lib/Types/index.d.ts +16 -14
  206. package/lib/Types/index.d.ts.map +1 -0
  207. package/lib/Types/index.js +15 -31
  208. package/lib/Types/index.js.map +1 -0
  209. package/lib/Utils/auth-utils.d.ts +10 -4
  210. package/lib/Utils/auth-utils.d.ts.map +1 -0
  211. package/lib/Utils/auth-utils.js +242 -151
  212. package/lib/Utils/auth-utils.js.map +1 -0
  213. package/lib/Utils/browser-utils.d.ts +4 -0
  214. package/lib/Utils/browser-utils.d.ts.map +1 -0
  215. package/lib/Utils/browser-utils.js +29 -0
  216. package/lib/Utils/browser-utils.js.map +1 -0
  217. package/lib/Utils/business.d.ts +3 -2
  218. package/lib/Utils/business.d.ts.map +1 -0
  219. package/lib/Utils/business.js +66 -69
  220. package/lib/Utils/business.js.map +1 -0
  221. package/lib/Utils/button-handler.d.ts +28 -0
  222. package/lib/Utils/button-handler.d.ts.map +1 -0
  223. package/lib/Utils/button-handler.js +79 -90
  224. package/lib/Utils/button-handler.js.map +1 -0
  225. package/lib/Utils/chat-utils.d.ts +42 -12
  226. package/lib/Utils/chat-utils.d.ts.map +1 -0
  227. package/lib/Utils/chat-utils.js +380 -238
  228. package/lib/Utils/chat-utils.js.map +1 -0
  229. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  230. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  231. package/lib/Utils/companion-reg-client-utils.js +35 -0
  232. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  233. package/lib/Utils/crypto.d.ts +11 -14
  234. package/lib/Utils/crypto.d.ts.map +1 -0
  235. package/lib/Utils/crypto.js +41 -116
  236. package/lib/Utils/crypto.js.map +1 -0
  237. package/lib/Utils/decode-wa-message.d.ts +36 -5
  238. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  239. package/lib/Utils/decode-wa-message.js +173 -63
  240. package/lib/Utils/decode-wa-message.js.map +1 -0
  241. package/lib/Utils/event-buffer.d.ts +8 -7
  242. package/lib/Utils/event-buffer.d.ts.map +1 -0
  243. package/lib/Utils/event-buffer.js +174 -70
  244. package/lib/Utils/event-buffer.js.map +1 -0
  245. package/lib/Utils/generics.d.ts +20 -17
  246. package/lib/Utils/generics.d.ts.map +1 -0
  247. package/lib/Utils/generics.js +159 -207
  248. package/lib/Utils/generics.js.map +1 -0
  249. package/lib/Utils/history.d.ts +16 -11
  250. package/lib/Utils/history.d.ts.map +1 -0
  251. package/lib/Utils/history.js +93 -53
  252. package/lib/Utils/history.js.map +1 -0
  253. package/lib/Utils/identity-change-handler.d.ts +44 -0
  254. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  255. package/lib/Utils/identity-change-handler.js +50 -0
  256. package/lib/Utils/identity-change-handler.js.map +1 -0
  257. package/lib/Utils/index.d.ts +30 -18
  258. package/lib/Utils/index.d.ts.map +1 -0
  259. package/lib/Utils/index.js +30 -34
  260. package/lib/Utils/index.js.map +1 -0
  261. package/lib/Utils/interactive.d.ts +60 -0
  262. package/lib/Utils/interactive.d.ts.map +1 -0
  263. package/lib/Utils/interactive.js +87 -117
  264. package/lib/Utils/interactive.js.map +1 -0
  265. package/lib/Utils/link-preview.d.ts +4 -4
  266. package/lib/Utils/link-preview.d.ts.map +1 -0
  267. package/lib/Utils/link-preview.js +17 -58
  268. package/lib/Utils/link-preview.js.map +1 -0
  269. package/lib/Utils/logger.d.ts +8 -6
  270. package/lib/Utils/logger.d.ts.map +1 -0
  271. package/lib/Utils/logger.js +3 -10
  272. package/lib/Utils/logger.js.map +1 -0
  273. package/lib/Utils/lt-hash.d.ts +8 -12
  274. package/lib/Utils/lt-hash.d.ts.map +1 -0
  275. package/lib/Utils/lt-hash.js +3 -46
  276. package/lib/Utils/lt-hash.js.map +1 -0
  277. package/lib/Utils/make-mutex.d.ts +2 -0
  278. package/lib/Utils/make-mutex.d.ts.map +1 -0
  279. package/lib/Utils/make-mutex.js +24 -34
  280. package/lib/Utils/make-mutex.js.map +1 -0
  281. package/lib/Utils/message-composer.d.ts +93 -0
  282. package/lib/Utils/message-composer.d.ts.map +1 -0
  283. package/lib/Utils/message-composer.js +311 -0
  284. package/lib/Utils/message-composer.js.map +1 -0
  285. package/lib/Utils/message-retry-manager.d.ts +115 -0
  286. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  287. package/lib/Utils/message-retry-manager.js +265 -0
  288. package/lib/Utils/message-retry-manager.js.map +1 -0
  289. package/lib/Utils/messages-media.d.ts +82 -40
  290. package/lib/Utils/messages-media.d.ts.map +1 -0
  291. package/lib/Utils/messages-media.js +674 -677
  292. package/lib/Utils/messages-media.js.map +1 -0
  293. package/lib/Utils/messages-newsletter.d.ts +74 -0
  294. package/lib/Utils/messages-newsletter.d.ts.map +1 -0
  295. package/lib/Utils/messages-newsletter.js +128 -0
  296. package/lib/Utils/messages-newsletter.js.map +1 -0
  297. package/lib/Utils/messages.d.ts +38 -14
  298. package/lib/Utils/messages.d.ts.map +1 -0
  299. package/lib/Utils/messages.js +835 -602
  300. package/lib/Utils/messages.js.map +1 -0
  301. package/lib/Utils/noise-handler.d.ts +9 -8
  302. package/lib/Utils/noise-handler.d.ts.map +1 -0
  303. package/lib/Utils/noise-handler.js +149 -98
  304. package/lib/Utils/noise-handler.js.map +1 -0
  305. package/lib/Utils/offline-node-processor.d.ts +17 -0
  306. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  307. package/lib/Utils/offline-node-processor.js +40 -0
  308. package/lib/Utils/offline-node-processor.js.map +1 -0
  309. package/lib/Utils/pre-key-manager.d.ts +28 -0
  310. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  311. package/lib/Utils/pre-key-manager.js +106 -0
  312. package/lib/Utils/pre-key-manager.js.map +1 -0
  313. package/lib/Utils/process-message.d.ts +30 -12
  314. package/lib/Utils/process-message.d.ts.map +1 -0
  315. package/lib/Utils/process-message.js +438 -230
  316. package/lib/Utils/process-message.js.map +1 -0
  317. package/lib/Utils/reporting-utils.d.ts +11 -0
  318. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  319. package/lib/Utils/reporting-utils.js +258 -0
  320. package/lib/Utils/reporting-utils.js.map +1 -0
  321. package/lib/Utils/shortcake-crypto.d.ts +36 -0
  322. package/lib/Utils/shortcake-crypto.d.ts.map +1 -0
  323. package/lib/Utils/shortcake-crypto.js +71 -0
  324. package/lib/Utils/shortcake-crypto.js.map +1 -0
  325. package/lib/Utils/shortcake.d.ts +36 -0
  326. package/lib/Utils/shortcake.d.ts.map +1 -0
  327. package/lib/Utils/shortcake.js +162 -0
  328. package/lib/Utils/shortcake.js.map +1 -0
  329. package/lib/Utils/signal.d.ts +20 -6
  330. package/lib/Utils/signal.d.ts.map +1 -0
  331. package/lib/Utils/signal.js +112 -64
  332. package/lib/Utils/signal.js.map +1 -0
  333. package/lib/Utils/stanza-ack.d.ts +11 -0
  334. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  335. package/lib/Utils/stanza-ack.js +38 -0
  336. package/lib/Utils/stanza-ack.js.map +1 -0
  337. package/lib/Utils/sync-action-utils.d.ts +19 -0
  338. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  339. package/lib/Utils/sync-action-utils.js +49 -0
  340. package/lib/Utils/sync-action-utils.js.map +1 -0
  341. package/lib/Utils/tc-token-utils.d.ts +37 -0
  342. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  343. package/lib/Utils/tc-token-utils.js +164 -0
  344. package/lib/Utils/tc-token-utils.js.map +1 -0
  345. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  346. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  347. package/lib/Utils/use-multi-file-auth-state.js +40 -64
  348. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  349. package/lib/Utils/use-single-file-auth-state.d.ts +6 -0
  350. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  351. package/lib/Utils/use-single-file-auth-state.js +111 -0
  352. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  353. package/lib/Utils/use-sqlite-auth-state.d.ts +14 -0
  354. package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
  355. package/lib/Utils/use-sqlite-auth-state.js +107 -0
  356. package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
  357. package/lib/Utils/validate-connection.d.ts +5 -3
  358. package/lib/Utils/validate-connection.d.ts.map +1 -0
  359. package/lib/Utils/validate-connection.js +82 -101
  360. package/lib/Utils/validate-connection.js.map +1 -0
  361. package/lib/WABinary/constants.d.ts +1 -0
  362. package/lib/WABinary/constants.d.ts.map +1 -0
  363. package/lib/WABinary/constants.js +10 -12
  364. package/lib/WABinary/constants.js.map +1 -0
  365. package/lib/WABinary/decode.d.ts +2 -1
  366. package/lib/WABinary/decode.d.ts.map +1 -0
  367. package/lib/WABinary/decode.js +49 -52
  368. package/lib/WABinary/decode.js.map +1 -0
  369. package/lib/WABinary/encode.d.ts +2 -1
  370. package/lib/WABinary/encode.d.ts.map +1 -0
  371. package/lib/WABinary/encode.js +19 -49
  372. package/lib/WABinary/encode.js.map +1 -0
  373. package/lib/WABinary/generic-utils.d.ts +5 -4
  374. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  375. package/lib/WABinary/generic-utils.js +46 -43
  376. package/lib/WABinary/generic-utils.js.map +1 -0
  377. package/lib/WABinary/index.d.ts +6 -5
  378. package/lib/WABinary/index.d.ts.map +1 -0
  379. package/lib/WABinary/index.js +6 -21
  380. package/lib/WABinary/index.js.map +1 -0
  381. package/lib/WABinary/jid-utils.d.ts +32 -10
  382. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  383. package/lib/WABinary/jid-utils.js +103 -59
  384. package/lib/WABinary/jid-utils.js.map +1 -0
  385. package/lib/WABinary/types.d.ts +2 -1
  386. package/lib/WABinary/types.d.ts.map +1 -0
  387. package/lib/WABinary/types.js +2 -2
  388. package/lib/WABinary/types.js.map +1 -0
  389. package/lib/WAM/BinaryInfo.d.ts +2 -1
  390. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  391. package/lib/WAM/BinaryInfo.js +2 -5
  392. package/lib/WAM/BinaryInfo.js.map +1 -0
  393. package/lib/WAM/constants.d.ts +5 -3
  394. package/lib/WAM/constants.d.ts.map +1 -0
  395. package/lib/WAM/constants.js +19071 -11568
  396. package/lib/WAM/constants.js.map +1 -0
  397. package/lib/WAM/encode.d.ts +2 -1
  398. package/lib/WAM/encode.d.ts.map +1 -0
  399. package/lib/WAM/encode.js +17 -22
  400. package/lib/WAM/encode.js.map +1 -0
  401. package/lib/WAM/index.d.ts +4 -3
  402. package/lib/WAM/index.d.ts.map +1 -0
  403. package/lib/WAM/index.js +4 -19
  404. package/lib/WAM/index.js.map +1 -0
  405. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  406. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  407. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  408. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  409. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  410. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  411. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  412. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  413. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  414. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  415. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +8 -11
  416. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  417. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  418. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  419. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  420. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  421. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  422. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  423. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  424. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  425. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  426. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  427. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  428. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  429. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
  430. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  431. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  432. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  433. package/lib/WAUSync/Protocols/index.d.ts +6 -4
  434. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  435. package/lib/WAUSync/Protocols/index.js +6 -20
  436. package/lib/WAUSync/Protocols/index.js.map +1 -0
  437. package/lib/WAUSync/USyncQuery.d.ts +6 -4
  438. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  439. package/lib/WAUSync/USyncQuery.js +44 -35
  440. package/lib/WAUSync/USyncQuery.js.map +1 -0
  441. package/lib/WAUSync/USyncUser.d.ts +10 -5
  442. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  443. package/lib/WAUSync/USyncUser.js +10 -5
  444. package/lib/WAUSync/USyncUser.js.map +1 -0
  445. package/lib/WAUSync/index.d.ts +4 -3
  446. package/lib/WAUSync/index.d.ts.map +1 -0
  447. package/lib/WAUSync/index.js +4 -19
  448. package/lib/WAUSync/index.js.map +1 -0
  449. package/lib/index.d.ts +12 -15
  450. package/lib/index.d.ts.map +1 -0
  451. package/lib/index.js +15 -48
  452. package/lib/index.js.map +1 -0
  453. package/package.json +44 -64
  454. package/WAProto/index.ts.ts +0 -53473
  455. package/WAProto/n +0 -1
  456. package/lib/Baileys.jpeg +0 -0
  457. package/lib/Defaults/baileys-version.json +0 -3
  458. package/lib/Defaults/n +0 -1
  459. package/lib/Signal/Group/queue-job.d.ts +0 -1
  460. package/lib/Signal/Group/queue-job.js +0 -57
  461. package/lib/Signal/n +0 -1
  462. package/lib/Socket/Client/n +0 -1
  463. package/lib/Socket/n +0 -1
  464. package/lib/Socket/setup.js +0 -480
  465. package/lib/Socket/setup.ts +0 -622
  466. package/lib/Socket/usync.d.ts +0 -36
  467. package/lib/Socket/usync.js +0 -70
  468. package/lib/Store/n +0 -1
  469. package/lib/Types/Newsletter.d.ts +0 -79
  470. package/lib/Types/Newsletter.js +0 -18
  471. package/lib/Types/n +0 -1
  472. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  473. package/lib/Utils/baileys-event-stream.js +0 -63
  474. package/lib/Utils/error-handler.js +0 -37
  475. package/lib/Utils/n +0 -1
  476. package/lib/WABinary/jid-utils.js.bak +0 -83
  477. package/lib/WABinary/n +0 -1
  478. package/lib/WAM/n +0 -1
  479. package/lib/WAUSync/Protocols/n +0 -1
  480. package/lib/WAUSync/n +0 -1
  481. package/lib/n +0 -1
@@ -1,14 +1,8 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.makeEventBuffer = void 0;
7
- const events_1 = __importDefault(require("events"));
8
- const Types_1 = require("../Types");
9
- const generics_1 = require("./generics");
10
- const messages_1 = require("./messages");
11
- const process_message_1 = require("./process-message");
1
+ import EventEmitter from 'events';
2
+ import { WAMessageStatus } from '../Types/index.js';
3
+ import { trimUndefined } from './generics.js';
4
+ import { updateMessageWithReaction, updateMessageWithReceipt } from './messages.js';
5
+ import { isRealMessage, shouldIncrementChatUnread } from './process-message.js';
12
6
  const BUFFERABLE_EVENT = [
13
7
  'messaging-history.set',
14
8
  'chats.upsert',
@@ -21,19 +15,23 @@ const BUFFERABLE_EVENT = [
21
15
  'messages.delete',
22
16
  'messages.reaction',
23
17
  'message-receipt.update',
24
- 'groups.update',
18
+ 'groups.update'
25
19
  ];
26
20
  const BUFFERABLE_EVENT_SET = new Set(BUFFERABLE_EVENT);
27
21
  /**
28
22
  * The event buffer logically consolidates different events into a single event
29
23
  * making the data processing more efficient.
30
- * @param ev the baileys event emitter
31
24
  */
32
- const makeEventBuffer = (logger) => {
33
- const ev = new events_1.default();
25
+ export const makeEventBuffer = (logger) => {
26
+ const ev = new EventEmitter();
34
27
  const historyCache = new Set();
35
28
  let data = makeBufferData();
36
- let buffersInProgress = 0;
29
+ let isBuffering = false;
30
+ let bufferTimeout = null;
31
+ let flushPendingTimeout = null; // Add a specific timer for the debounced flush to prevent leak
32
+ let bufferCount = 0;
33
+ const MAX_HISTORY_CACHE_SIZE = 10000; // Limit the history cache size to prevent memory bloat
34
+ const BUFFER_TIMEOUT_MS = 30000; // 30 seconds
37
35
  // take the generic event and fire it as a baileys event
38
36
  ev.on('event', (map) => {
39
37
  for (const event in map) {
@@ -41,25 +39,46 @@ const makeEventBuffer = (logger) => {
41
39
  }
42
40
  });
43
41
  function buffer() {
44
- buffersInProgress += 1;
42
+ if (!isBuffering) {
43
+ logger.debug('Event buffer activated');
44
+ isBuffering = true;
45
+ bufferCount = 0;
46
+ if (bufferTimeout) {
47
+ clearTimeout(bufferTimeout);
48
+ }
49
+ bufferTimeout = setTimeout(() => {
50
+ if (isBuffering) {
51
+ logger.warn('Buffer timeout reached, auto-flushing');
52
+ flush();
53
+ }
54
+ }, BUFFER_TIMEOUT_MS);
55
+ }
56
+ // Always increment count when requested
57
+ bufferCount++;
45
58
  }
46
- function flush(force = false) {
47
- // no buffer going on
48
- if (!buffersInProgress) {
59
+ function flush() {
60
+ if (!isBuffering) {
49
61
  return false;
50
62
  }
51
- if (!force) {
52
- // reduce the number of buffers in progress
53
- buffersInProgress -= 1;
54
- // if there are still some buffers going on
55
- // then we don't flush now
56
- if (buffersInProgress) {
57
- return false;
58
- }
63
+ logger.debug({ bufferCount }, 'Flushing event buffer');
64
+ isBuffering = false;
65
+ bufferCount = 0;
66
+ // Clear timeout
67
+ if (bufferTimeout) {
68
+ clearTimeout(bufferTimeout);
69
+ bufferTimeout = null;
70
+ }
71
+ if (flushPendingTimeout) {
72
+ clearTimeout(flushPendingTimeout);
73
+ flushPendingTimeout = null;
74
+ }
75
+ // Clear history cache if it exceeds the max size
76
+ if (historyCache.size > MAX_HISTORY_CACHE_SIZE) {
77
+ logger.debug({ cacheSize: historyCache.size }, 'Clearing history cache');
78
+ historyCache.clear();
59
79
  }
60
80
  const newData = makeBufferData();
61
81
  const chatUpdates = Object.values(data.chatUpdates);
62
- // gather the remaining conditional events so we re-queue them
63
82
  let conditionalChatUpdatesLeft = 0;
64
83
  for (const update of chatUpdates) {
65
84
  if (update.conditional) {
@@ -78,8 +97,8 @@ const makeEventBuffer = (logger) => {
78
97
  }
79
98
  return {
80
99
  process(handler) {
81
- const listener = (map) => {
82
- handler(map);
100
+ const listener = async (map) => {
101
+ await handler(map);
83
102
  };
84
103
  ev.on('event', listener);
85
104
  return () => {
@@ -87,14 +106,35 @@ const makeEventBuffer = (logger) => {
87
106
  };
88
107
  },
89
108
  emit(event, evData) {
90
- if (buffersInProgress && BUFFERABLE_EVENT_SET.has(event)) {
109
+ // Check if this is a messages.upsert with a different type than what's buffered
110
+ // If so, flush the buffered messages first to avoid type overshadowing
111
+ if (event === 'messages.upsert') {
112
+ const { type } = evData;
113
+ const existingUpserts = Object.values(data.messageUpserts);
114
+ if (existingUpserts.length > 0) {
115
+ const bufferedType = existingUpserts[0].type;
116
+ if (bufferedType !== type) {
117
+ logger.debug({ bufferedType, newType: type }, 'messages.upsert type mismatch, emitting buffered messages');
118
+ // Emit the buffered messages with their correct type
119
+ ev.emit('event', {
120
+ 'messages.upsert': {
121
+ messages: existingUpserts.map(m => m.message),
122
+ type: bufferedType
123
+ }
124
+ });
125
+ // Clear the message upserts from the buffer
126
+ data.messageUpserts = {};
127
+ }
128
+ }
129
+ }
130
+ if (isBuffering && BUFFERABLE_EVENT_SET.has(event)) {
91
131
  append(data, historyCache, event, evData, logger);
92
132
  return true;
93
133
  }
94
134
  return ev.emit('event', { [event]: evData });
95
135
  },
96
136
  isBuffering() {
97
- return buffersInProgress > 0;
137
+ return isBuffering;
98
138
  },
99
139
  buffer,
100
140
  flush,
@@ -103,19 +143,55 @@ const makeEventBuffer = (logger) => {
103
143
  buffer();
104
144
  try {
105
145
  const result = await work(...args);
146
+ // If this is the only buffer, flush after a small delay
147
+ if (bufferCount === 1) {
148
+ setTimeout(() => {
149
+ if (isBuffering && bufferCount === 1) {
150
+ flush();
151
+ }
152
+ }, 100); // Small delay to allow nested buffers
153
+ }
106
154
  return result;
107
155
  }
156
+ catch (error) {
157
+ throw error;
158
+ }
108
159
  finally {
109
- flush();
160
+ bufferCount = Math.max(0, bufferCount - 1);
161
+ if (bufferCount === 0) {
162
+ // Only schedule ONE timeout, not 10,000
163
+ if (!flushPendingTimeout) {
164
+ flushPendingTimeout = setTimeout(flush, 100);
165
+ }
166
+ }
110
167
  }
111
168
  };
112
169
  },
113
170
  on: (...args) => ev.on(...args),
114
171
  off: (...args) => ev.off(...args),
115
172
  removeAllListeners: (...args) => ev.removeAllListeners(...args),
173
+ destroy() {
174
+ // Clear buffer timeout
175
+ if (bufferTimeout) {
176
+ clearTimeout(bufferTimeout);
177
+ bufferTimeout = null;
178
+ }
179
+ if (flushPendingTimeout) {
180
+ clearTimeout(flushPendingTimeout);
181
+ flushPendingTimeout = null;
182
+ }
183
+ // Clear history cache
184
+ historyCache.clear();
185
+ // Reset buffer data
186
+ data = makeBufferData();
187
+ isBuffering = false;
188
+ bufferCount = 0;
189
+ // Remove all listeners
190
+ ev.removeAllListeners();
191
+ logger.debug('Event buffer destroyed');
192
+ }
116
193
  };
117
194
  };
118
- exports.makeEventBuffer = makeEventBuffer;
119
195
  const makeBufferData = () => {
120
196
  return {
121
197
  historySets: {
@@ -138,25 +214,27 @@ const makeBufferData = () => {
138
214
  groupUpdates: {}
139
215
  };
140
216
  };
141
- function append(data, historyCache, event, eventData, logger) {
142
- var _a, _b, _c;
217
+ function append(data, historyCache, event,
218
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
219
+ eventData, logger) {
143
220
  switch (event) {
144
221
  case 'messaging-history.set':
145
222
  for (const chat of eventData.chats) {
146
- const existingChat = data.historySets.chats[chat.id];
223
+ const id = chat.id || '';
224
+ const existingChat = data.historySets.chats[id];
147
225
  if (existingChat) {
148
226
  existingChat.endOfHistoryTransferType = chat.endOfHistoryTransferType;
149
227
  }
150
- if (!existingChat && !historyCache.has(chat.id)) {
151
- data.historySets.chats[chat.id] = chat;
152
- historyCache.add(chat.id);
228
+ if (!existingChat && !historyCache.has(id)) {
229
+ data.historySets.chats[id] = chat;
230
+ historyCache.add(id);
153
231
  absorbingChatUpdate(chat);
154
232
  }
155
233
  }
156
234
  for (const contact of eventData.contacts) {
157
235
  const existingContact = data.historySets.contacts[contact.id];
158
236
  if (existingContact) {
159
- Object.assign(existingContact, (0, generics_1.trimUndefined)(contact));
237
+ Object.assign(existingContact, trimUndefined(contact));
160
238
  }
161
239
  else {
162
240
  const historyContactId = `c:${contact.id}`;
@@ -177,17 +255,44 @@ function append(data, historyCache, event, eventData, logger) {
177
255
  }
178
256
  data.historySets.empty = false;
179
257
  data.historySets.syncType = eventData.syncType;
258
+ if (eventData.pastParticipants?.length) {
259
+ const merged = new Map();
260
+ const sigOf = (p) => `${p.userJid || ''}:${p.leaveTs || ''}:${p.leaveReason || ''}`;
261
+ const ingest = (entry) => {
262
+ const key = entry.groupJid ?? JSON.stringify(entry);
263
+ const existing = merged.get(key);
264
+ if (!existing) {
265
+ merged.set(key, { ...entry, pastParticipants: [...(entry.pastParticipants || [])] });
266
+ return;
267
+ }
268
+ const seen = new Set((existing.pastParticipants || []).map(sigOf));
269
+ for (const p of entry.pastParticipants || []) {
270
+ const sig = sigOf(p);
271
+ if (!seen.has(sig)) {
272
+ existing.pastParticipants.push(p);
273
+ seen.add(sig);
274
+ }
275
+ }
276
+ };
277
+ for (const entry of data.historySets.pastParticipants || [])
278
+ ingest(entry);
279
+ for (const entry of eventData.pastParticipants)
280
+ ingest(entry);
281
+ data.historySets.pastParticipants = [...merged.values()];
282
+ }
180
283
  data.historySets.progress = eventData.progress;
284
+ data.historySets.chunkOrder = eventData.chunkOrder;
181
285
  data.historySets.peerDataRequestSessionId = eventData.peerDataRequestSessionId;
182
286
  data.historySets.isLatest = eventData.isLatest || data.historySets.isLatest;
183
287
  break;
184
288
  case 'chats.upsert':
185
289
  for (const chat of eventData) {
186
- let upsert = data.chatUpserts[chat.id];
187
- if (!upsert) {
188
- upsert = data.historySets[chat.id];
290
+ const id = chat.id || '';
291
+ let upsert = data.chatUpserts[id];
292
+ if (id && !upsert) {
293
+ upsert = data.historySets.chats[id];
189
294
  if (upsert) {
190
- logger.debug({ chatId: chat.id }, 'absorbed chat upsert in chat set');
295
+ logger.debug({ chatId: id }, 'absorbed chat upsert in chat set');
191
296
  }
192
297
  }
193
298
  if (upsert) {
@@ -195,11 +300,11 @@ function append(data, historyCache, event, eventData, logger) {
195
300
  }
196
301
  else {
197
302
  upsert = chat;
198
- data.chatUpserts[chat.id] = upsert;
303
+ data.chatUpserts[id] = upsert;
199
304
  }
200
305
  absorbingChatUpdate(upsert);
201
- if (data.chatDeletes.has(chat.id)) {
202
- data.chatDeletes.delete(chat.id);
306
+ if (data.chatDeletes.has(id)) {
307
+ data.chatDeletes.delete(id);
203
308
  }
204
309
  }
205
310
  break;
@@ -259,14 +364,14 @@ function append(data, historyCache, event, eventData, logger) {
259
364
  }
260
365
  }
261
366
  if (upsert) {
262
- upsert = Object.assign(upsert, (0, generics_1.trimUndefined)(contact));
367
+ upsert = Object.assign(upsert, trimUndefined(contact));
263
368
  }
264
369
  else {
265
370
  upsert = contact;
266
371
  data.contactUpserts[contact.id] = upsert;
267
372
  }
268
373
  if (data.contactUpdates[contact.id]) {
269
- upsert = Object.assign(data.contactUpdates[contact.id], (0, generics_1.trimUndefined)(contact));
374
+ upsert = Object.assign(data.contactUpdates[contact.id], trimUndefined(contact));
270
375
  delete data.contactUpdates[contact.id];
271
376
  }
272
377
  }
@@ -291,7 +396,7 @@ function append(data, historyCache, event, eventData, logger) {
291
396
  const { messages, type } = eventData;
292
397
  for (const message of messages) {
293
398
  const key = stringifyMessageKey(message.key);
294
- let existing = (_a = data.messageUpserts[key]) === null || _a === void 0 ? void 0 : _a.message;
399
+ let existing = data.messageUpserts[key]?.message;
295
400
  if (!existing) {
296
401
  existing = data.historySets.messages[key];
297
402
  if (existing) {
@@ -312,9 +417,7 @@ function append(data, historyCache, event, eventData, logger) {
312
417
  else {
313
418
  data.messageUpserts[key] = {
314
419
  message,
315
- type: type === 'notify' || ((_b = data.messageUpserts[key]) === null || _b === void 0 ? void 0 : _b.type) === 'notify'
316
- ? 'notify'
317
- : type
420
+ type: type === 'notify' || data.messageUpserts[key]?.type === 'notify' ? 'notify' : type
318
421
  };
319
422
  }
320
423
  }
@@ -323,13 +426,13 @@ function append(data, historyCache, event, eventData, logger) {
323
426
  const msgUpdates = eventData;
324
427
  for (const { key, update } of msgUpdates) {
325
428
  const keyStr = stringifyMessageKey(key);
326
- const existing = data.historySets.messages[keyStr] || ((_c = data.messageUpserts[keyStr]) === null || _c === void 0 ? void 0 : _c.message);
429
+ const existing = data.historySets.messages[keyStr] || data.messageUpserts[keyStr]?.message;
327
430
  if (existing) {
328
431
  Object.assign(existing, update);
329
432
  // if the message was received & read by us
330
433
  // the chat counter must have been incremented
331
434
  // so we need to decrement it
332
- if (update.status === Types_1.WAMessageStatus.READ && !key.fromMe) {
435
+ if (update.status === WAMessageStatus.READ && !key.fromMe) {
333
436
  decrementChatReadCounterIfMsgDidUnread(existing);
334
437
  }
335
438
  }
@@ -367,12 +470,11 @@ function append(data, historyCache, event, eventData, logger) {
367
470
  const keyStr = stringifyMessageKey(key);
368
471
  const existing = data.messageUpserts[keyStr];
369
472
  if (existing) {
370
- (0, messages_1.updateMessageWithReaction)(existing.message, reaction);
473
+ updateMessageWithReaction(existing.message, reaction);
371
474
  }
372
475
  else {
373
- data.messageReactions[keyStr] = data.messageReactions[keyStr]
374
- || { key, reactions: [] };
375
- (0, messages_1.updateMessageWithReaction)(data.messageReactions[keyStr], reaction);
476
+ data.messageReactions[keyStr] = data.messageReactions[keyStr] || { key, reactions: [] };
477
+ updateMessageWithReaction(data.messageReactions[keyStr], reaction);
376
478
  }
377
479
  }
378
480
  break;
@@ -382,12 +484,11 @@ function append(data, historyCache, event, eventData, logger) {
382
484
  const keyStr = stringifyMessageKey(key);
383
485
  const existing = data.messageUpserts[keyStr];
384
486
  if (existing) {
385
- (0, messages_1.updateMessageWithReceipt)(existing.message, receipt);
487
+ updateMessageWithReceipt(existing.message, receipt);
386
488
  }
387
489
  else {
388
- data.messageReceipts[keyStr] = data.messageReceipts[keyStr]
389
- || { key, userReceipt: [] };
390
- (0, messages_1.updateMessageWithReceipt)(data.messageReceipts[keyStr], receipt);
490
+ data.messageReceipts[keyStr] = data.messageReceipts[keyStr] || { key, userReceipt: [] };
491
+ updateMessageWithReceipt(data.messageReceipts[keyStr], receipt);
391
492
  }
392
493
  }
393
494
  break;
@@ -405,7 +506,7 @@ function append(data, historyCache, event, eventData, logger) {
405
506
  throw new Error(`"${event}" cannot be buffered`);
406
507
  }
407
508
  function absorbingChatUpdate(existing) {
408
- const chatId = existing.id;
509
+ const chatId = existing.id || '';
409
510
  const update = data.chatUpdates[chatId];
410
511
  if (update) {
411
512
  const conditionMatches = update.conditional ? update.conditional(data) : true;
@@ -426,10 +527,10 @@ function append(data, historyCache, event, eventData, logger) {
426
527
  // if the message has already been marked read by us
427
528
  const chatId = message.key.remoteJid;
428
529
  const chat = data.chatUpdates[chatId] || data.chatUpserts[chatId];
429
- if ((0, process_message_1.isRealMessage)(message, '')
430
- && (0, process_message_1.shouldIncrementChatUnread)(message)
431
- && typeof (chat === null || chat === void 0 ? void 0 : chat.unreadCount) === 'number'
432
- && chat.unreadCount > 0) {
530
+ if (isRealMessage(message) &&
531
+ shouldIncrementChatUnread(message) &&
532
+ typeof chat?.unreadCount === 'number' &&
533
+ chat.unreadCount > 0) {
433
534
  logger.debug({ chatId: chat.id }, 'decrementing chat counter');
434
535
  chat.unreadCount -= 1;
435
536
  if (chat.unreadCount === 0) {
@@ -445,9 +546,11 @@ function consolidateEvents(data) {
445
546
  chats: Object.values(data.historySets.chats),
446
547
  messages: Object.values(data.historySets.messages),
447
548
  contacts: Object.values(data.historySets.contacts),
549
+ pastParticipants: data.historySets.pastParticipants,
448
550
  syncType: data.historySets.syncType,
449
551
  progress: data.historySets.progress,
450
552
  isLatest: data.historySets.isLatest,
553
+ chunkOrder: data.historySets.chunkOrder,
451
554
  peerDataRequestSessionId: data.historySets.peerDataRequestSessionId
452
555
  };
453
556
  }
@@ -516,3 +619,4 @@ function concatChats(a, b) {
516
619
  return Object.assign(a, b);
517
620
  }
518
621
  const stringifyMessageKey = (key) => `${key.remoteJid},${key.id},${key.fromMe ? '1' : '0'}`;
622
+ //# sourceMappingURL=event-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-buffer.js","sourceRoot":"","sources":["../../src/Utils/event-buffer.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,17 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import { ILogger } from './logger';
3
- import { proto } from '../../WAProto';
4
- import { BaileysEventEmitter, BaileysEventMap, BrowsersMap, WACallUpdateType, WAVersion } from '../Types';
5
- import { BinaryNode } from '../WABinary';
6
- export declare const Browsers: BrowsersMap;
7
- export declare const getPlatformId: (browser: string) => any;
1
+ import type Long from 'long';
2
+ import { proto } from '../../WAProto/index.js';
3
+ import type { BaileysEventEmitter, BaileysEventMap, ConnectionState, WACallUpdateType, WAMessageKey, WAVersion } from '../Types/index.js';
4
+ import { type BinaryNode } from '../WABinary/index.js';
8
5
  export declare const BufferJSON: {
9
6
  replacer: (k: any, value: any) => any;
10
7
  reviver: (_: any, value: any) => any;
11
8
  };
12
- export declare const getKeyAuthor: (key: proto.IMessageKey | undefined | null, meId?: string) => string;
9
+ export declare const getKeyAuthor: (key: WAMessageKey | undefined | null, meId?: string) => string;
10
+ export declare const isStringNullOrEmpty: (value: string | null | undefined) => value is null | undefined | "";
13
11
  export declare const writeRandomPadMax16: (msg: Uint8Array) => Buffer<ArrayBuffer>;
14
12
  export declare const unpadRandomMax16: (e: Uint8Array | Buffer) => Uint8Array<ArrayBuffer>;
13
+ export declare const generateParticipantHashV2: (participants: string[]) => string;
15
14
  export declare const encodeWAMessage: (message: proto.IMessage) => Buffer<ArrayBuffer>;
16
- export declare const encodeNewsletterMessage: (message: proto.IMessage) => Uint8Array<ArrayBufferLike>;
17
15
  export declare const generateRegistrationId: () => number;
18
16
  export declare const encodeBigEndian: (e: number, t?: number) => Uint8Array<ArrayBuffer>;
19
17
  export declare const toNumber: (t: Long | number | null | undefined) => number;
@@ -35,33 +33,32 @@ export declare function promiseTimeout<T>(ms: number | undefined, promise: (reso
35
33
  export declare const generateMessageIDV2: (userId?: string) => string;
36
34
  export declare const generateMessageID: () => string;
37
35
  export declare function bindWaitForEvent<T extends keyof BaileysEventMap>(ev: BaileysEventEmitter, event: T): (check: (u: BaileysEventMap[T]) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
38
- export declare const bindWaitForConnectionUpdate: (ev: BaileysEventEmitter) => (check: (u: Partial<import("../Types").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
39
- export declare const printQRIfNecessaryListener: (ev: BaileysEventEmitter, logger: ILogger) => void;
36
+ export declare const bindWaitForConnectionUpdate: (ev: BaileysEventEmitter) => (check: (u: Partial<ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
40
37
  /**
41
38
  * utility that fetches latest baileys version from the master branch.
42
39
  * Use to ensure your WA connection is always on the latest version
43
40
  */
44
- export declare const fetchLatestBaileysVersion: (options?: AxiosRequestConfig<any>) => Promise<{
41
+ export declare const fetchLatestBaileysVersion: (options?: RequestInit) => Promise<{
45
42
  version: WAVersion;
46
43
  isLatest: boolean;
47
44
  error?: undefined;
48
45
  } | {
49
46
  version: WAVersion;
50
47
  isLatest: boolean;
51
- error: any;
48
+ error: unknown;
52
49
  }>;
53
50
  /**
54
51
  * A utility that fetches the latest web version of whatsapp.
55
52
  * Use to ensure your WA connection is always on the latest version
56
53
  */
57
- export declare const fetchLatestWaWebVersion: (options: AxiosRequestConfig<{}>) => Promise<{
54
+ export declare const fetchLatestWaWebVersion: (options?: RequestInit) => Promise<{
58
55
  version: WAVersion;
59
56
  isLatest: boolean;
60
57
  error?: undefined;
61
58
  } | {
62
59
  version: WAVersion;
63
60
  isLatest: boolean;
64
- error: any;
61
+ error: unknown;
65
62
  }>;
66
63
  /** unique message tag prefix for MD clients */
67
64
  export declare const generateMdTagPrefix: () => string;
@@ -69,7 +66,7 @@ export declare const generateMdTagPrefix: () => string;
69
66
  * Given a type of receipt, returns what the new status of the message should be
70
67
  * @param type type from receipt
71
68
  */
72
- export declare const getStatusFromReceiptType: (type: string | undefined) => proto.WebMessageInfo.Status;
69
+ export declare const getStatusFromReceiptType: (type: string | undefined) => proto.WebMessageInfo.Status | undefined;
73
70
  /**
74
71
  * Stream errors generally provide a reason, map that to a baileys DisconnectReason
75
72
  * @param reason the string reason given, eg. "conflict"
@@ -85,5 +82,11 @@ export declare const getCodeFromWSError: (error: Error) => number;
85
82
  * @param platform AuthenticationCreds.platform
86
83
  */
87
84
  export declare const isWABusinessPlatform: (platform: string) => platform is "smba" | "smbi";
88
- export declare function trimUndefined(obj: any): any;
85
+ export declare function trimUndefined(obj: {
86
+ [_: string]: any;
87
+ }): {
88
+ [_: string]: any;
89
+ };
89
90
  export declare function bytesToCrockford(buffer: Buffer): string;
91
+ export declare function encodeNewsletterMessage(message: proto.IMessage): Uint8Array;
92
+ //# sourceMappingURL=generics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generics.d.ts","sourceRoot":"","sources":["../../src/Utils/generics.ts"],"names":[],"mappings":"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"}