@d0v3riz/baileys 6.7.19 → 6.7.21

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 (374) hide show
  1. package/README.md +1263 -4
  2. package/WAProto/GenerateStatics.sh +3 -0
  3. package/WAProto/WAProto.proto +4633 -0
  4. package/WAProto/fix-imports.js +29 -0
  5. package/WAProto/index.d.ts +3212 -122
  6. package/WAProto/index.js +13516 -4182
  7. package/lib/Defaults/baileys-version.json +1 -1
  8. package/lib/Defaults/index.d.ts +4 -3
  9. package/lib/Defaults/index.d.ts.map +1 -0
  10. package/lib/Defaults/index.js +50 -54
  11. package/lib/Defaults/index.js.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  14. package/lib/Signal/Group/ciphertext-message.js +12 -0
  15. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  18. package/lib/Signal/Group/group-session-builder.js +30 -0
  19. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  20. package/lib/Signal/Group/group_cipher.d.ts +18 -0
  21. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  22. package/lib/Signal/Group/group_cipher.js +94 -0
  23. package/lib/Signal/Group/group_cipher.js.map +1 -0
  24. package/lib/Signal/Group/index.d.ts +12 -0
  25. package/lib/Signal/Group/index.d.ts.map +1 -0
  26. package/lib/Signal/Group/index.js +12 -0
  27. package/lib/Signal/Group/index.js.map +1 -0
  28. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  29. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  30. package/lib/Signal/Group/keyhelper.js +19 -0
  31. package/lib/Signal/Group/keyhelper.js.map +1 -0
  32. package/lib/Signal/Group/queue-job.d.ts +3 -0
  33. package/lib/Signal/Group/queue-job.d.ts.map +1 -0
  34. package/lib/Signal/Group/queue-job.js +57 -0
  35. package/lib/Signal/Group/queue-job.js.map +1 -0
  36. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  37. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-chain-key.js +32 -0
  39. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  41. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  43. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  45. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-message.js +67 -0
  47. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  49. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-name.js +48 -0
  51. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  52. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  53. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-key-record.js +50 -0
  55. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  56. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  57. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  58. package/lib/Signal/Group/sender-key-state.js +96 -0
  59. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  60. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  61. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  62. package/{WASignalGroup/sender_message_key.js → lib/Signal/Group/sender-message-key.js} +27 -39
  63. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  64. package/lib/Signal/libsignal.d.ts +3 -2
  65. package/lib/Signal/libsignal.d.ts.map +1 -0
  66. package/lib/Signal/libsignal.js +41 -61
  67. package/lib/Signal/libsignal.js.map +1 -0
  68. package/lib/Socket/Client/index.d.ts +3 -2
  69. package/lib/Socket/Client/index.d.ts.map +1 -0
  70. package/lib/Socket/Client/index.js +3 -18
  71. package/lib/Socket/Client/index.js.map +1 -0
  72. package/lib/Socket/Client/types.d.ts +2 -1
  73. package/lib/Socket/Client/types.d.ts.map +1 -0
  74. package/lib/Socket/Client/types.js +4 -6
  75. package/lib/Socket/Client/types.js.map +1 -0
  76. package/lib/Socket/Client/websocket.d.ts +2 -1
  77. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  78. package/lib/Socket/Client/websocket.js +15 -27
  79. package/lib/Socket/Client/websocket.js.map +1 -0
  80. package/lib/Socket/business.d.ts +92 -62
  81. package/lib/Socket/business.d.ts.map +1 -0
  82. package/lib/Socket/business.js +37 -42
  83. package/lib/Socket/business.js.map +1 -0
  84. package/lib/Socket/chats.d.ts +31 -24
  85. package/lib/Socket/chats.d.ts.map +1 -0
  86. package/lib/Socket/chats.js +251 -198
  87. package/lib/Socket/chats.js.map +1 -0
  88. package/lib/Socket/communities.d.ts +219 -0
  89. package/lib/Socket/communities.d.ts.map +1 -0
  90. package/lib/Socket/communities.js +351 -0
  91. package/lib/Socket/communities.js.map +1 -0
  92. package/lib/Socket/groups.d.ts +47 -39
  93. package/lib/Socket/groups.d.ts.map +1 -0
  94. package/lib/Socket/groups.js +91 -82
  95. package/lib/Socket/groups.js.map +1 -0
  96. package/lib/Socket/index.d.ts +128 -68
  97. package/lib/Socket/index.d.ts.map +1 -0
  98. package/lib/Socket/index.js +16 -9
  99. package/lib/Socket/index.js.map +1 -0
  100. package/lib/Socket/messages-recv.d.ts +79 -49
  101. package/lib/Socket/messages-recv.d.ts.map +1 -0
  102. package/lib/Socket/messages-recv.js +364 -200
  103. package/lib/Socket/messages-recv.js.map +1 -0
  104. package/lib/Socket/messages-send.d.ts +76 -46
  105. package/lib/Socket/messages-send.d.ts.map +1 -0
  106. package/lib/Socket/messages-send.js +144 -120
  107. package/lib/Socket/messages-send.js.map +1 -0
  108. package/lib/Socket/mex.d.ts +3 -0
  109. package/lib/Socket/mex.d.ts.map +1 -0
  110. package/lib/Socket/mex.js +42 -0
  111. package/lib/Socket/mex.js.map +1 -0
  112. package/lib/Socket/newsletter.d.ts +143 -0
  113. package/lib/Socket/newsletter.d.ts.map +1 -0
  114. package/lib/Socket/newsletter.js +179 -0
  115. package/lib/Socket/newsletter.js.map +1 -0
  116. package/lib/Socket/socket.d.ts +15 -14
  117. package/lib/Socket/socket.d.ts.map +1 -0
  118. package/lib/Socket/socket.js +153 -141
  119. package/lib/Socket/socket.js.map +1 -0
  120. package/lib/Socket/usync.d.ts +17 -16
  121. package/lib/Socket/usync.d.ts.map +1 -0
  122. package/lib/Socket/usync.js +19 -26
  123. package/lib/Socket/usync.js.map +1 -0
  124. package/lib/Types/Auth.d.ts +5 -4
  125. package/lib/Types/Auth.d.ts.map +1 -0
  126. package/lib/Types/Auth.js +2 -2
  127. package/lib/Types/Auth.js.map +1 -0
  128. package/lib/Types/Call.d.ts +1 -0
  129. package/lib/Types/Call.d.ts.map +1 -0
  130. package/lib/Types/Call.js +2 -2
  131. package/lib/Types/Call.js.map +1 -0
  132. package/lib/Types/Chat.d.ts +14 -8
  133. package/lib/Types/Chat.d.ts.map +1 -0
  134. package/lib/Types/Chat.js +8 -4
  135. package/lib/Types/Chat.js.map +1 -0
  136. package/lib/Types/Contact.d.ts +5 -0
  137. package/lib/Types/Contact.d.ts.map +1 -0
  138. package/lib/Types/Contact.js +2 -2
  139. package/lib/Types/Contact.js.map +1 -0
  140. package/lib/Types/Events.d.ts +38 -11
  141. package/lib/Types/Events.d.ts.map +1 -0
  142. package/lib/Types/Events.js +2 -2
  143. package/lib/Types/Events.js.map +1 -0
  144. package/lib/Types/GroupMetadata.d.ts +10 -4
  145. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  146. package/lib/Types/GroupMetadata.js +2 -2
  147. package/lib/Types/GroupMetadata.js.map +1 -0
  148. package/lib/Types/Label.d.ts +1 -0
  149. package/lib/Types/Label.d.ts.map +1 -0
  150. package/lib/Types/Label.js +3 -5
  151. package/lib/Types/Label.js.map +1 -0
  152. package/lib/Types/LabelAssociation.d.ts +1 -0
  153. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  154. package/lib/Types/LabelAssociation.js +3 -5
  155. package/lib/Types/LabelAssociation.js.map +1 -0
  156. package/lib/Types/Message.d.ts +21 -9
  157. package/lib/Types/Message.d.ts.map +1 -0
  158. package/lib/Types/Message.js +7 -7
  159. package/lib/Types/Message.js.map +1 -0
  160. package/lib/Types/Newsletter.d.ts +135 -0
  161. package/lib/Types/Newsletter.d.ts.map +1 -0
  162. package/lib/Types/Newsletter.js +31 -0
  163. package/lib/Types/Newsletter.js.map +1 -0
  164. package/lib/Types/Product.d.ts +2 -1
  165. package/lib/Types/Product.d.ts.map +1 -0
  166. package/lib/Types/Product.js +2 -2
  167. package/lib/Types/Product.js.map +1 -0
  168. package/lib/Types/Signal.d.ts +2 -1
  169. package/lib/Types/Signal.d.ts.map +1 -0
  170. package/lib/Types/Signal.js +2 -2
  171. package/lib/Types/Signal.js.map +1 -0
  172. package/lib/Types/Socket.d.ts +11 -10
  173. package/lib/Types/Socket.d.ts.map +1 -0
  174. package/lib/Types/Socket.js +3 -2
  175. package/lib/Types/Socket.js.map +1 -0
  176. package/lib/Types/State.d.ts +14 -2
  177. package/lib/Types/State.d.ts.map +1 -0
  178. package/lib/Types/State.js +13 -2
  179. package/lib/Types/State.js.map +1 -0
  180. package/lib/Types/USync.d.ts +3 -2
  181. package/lib/Types/USync.d.ts.map +1 -0
  182. package/lib/Types/USync.js +2 -2
  183. package/lib/Types/USync.js.map +1 -0
  184. package/lib/Types/index.d.ts +15 -13
  185. package/lib/Types/index.d.ts.map +1 -0
  186. package/lib/Types/index.js +15 -30
  187. package/lib/Types/index.js.map +1 -0
  188. package/lib/Utils/auth-utils.d.ts +3 -2
  189. package/lib/Utils/auth-utils.d.ts.map +1 -0
  190. package/lib/Utils/auth-utils.js +30 -40
  191. package/lib/Utils/auth-utils.js.map +1 -0
  192. package/lib/Utils/baileys-event-stream.d.ts +2 -1
  193. package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
  194. package/lib/Utils/baileys-event-stream.js +15 -22
  195. package/lib/Utils/baileys-event-stream.js.map +1 -0
  196. package/lib/Utils/business.d.ts +3 -2
  197. package/lib/Utils/business.d.ts.map +1 -0
  198. package/lib/Utils/business.js +64 -75
  199. package/lib/Utils/business.js.map +1 -0
  200. package/lib/Utils/chat-utils.d.ts +12 -11
  201. package/lib/Utils/chat-utils.d.ts.map +1 -0
  202. package/lib/Utils/chat-utils.js +195 -194
  203. package/lib/Utils/chat-utils.js.map +1 -0
  204. package/lib/Utils/crypto.d.ts +2 -1
  205. package/lib/Utils/crypto.d.ts.map +1 -0
  206. package/lib/Utils/crypto.js +40 -95
  207. package/lib/Utils/crypto.js.map +1 -0
  208. package/lib/Utils/decode-wa-message.d.ts +7 -7
  209. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  210. package/lib/Utils/decode-wa-message.js +43 -41
  211. package/lib/Utils/decode-wa-message.js.map +1 -0
  212. package/lib/Utils/event-buffer.d.ts +6 -6
  213. package/lib/Utils/event-buffer.d.ts.map +1 -0
  214. package/lib/Utils/event-buffer.js +42 -59
  215. package/lib/Utils/event-buffer.js.map +1 -0
  216. package/lib/Utils/generics.d.ts +11 -9
  217. package/lib/Utils/generics.d.ts.map +1 -0
  218. package/lib/Utils/generics.js +105 -130
  219. package/lib/Utils/generics.js.map +1 -0
  220. package/lib/Utils/history.d.ts +4 -3
  221. package/lib/Utils/history.d.ts.map +1 -0
  222. package/lib/Utils/history.js +37 -46
  223. package/lib/Utils/history.js.map +1 -0
  224. package/lib/Utils/index.d.ts +18 -17
  225. package/lib/Utils/index.d.ts.map +1 -0
  226. package/lib/Utils/index.js +18 -33
  227. package/lib/Utils/index.js.map +1 -0
  228. package/lib/Utils/link-preview.d.ts +4 -3
  229. package/lib/Utils/link-preview.d.ts.map +1 -0
  230. package/lib/Utils/link-preview.js +14 -55
  231. package/lib/Utils/link-preview.js.map +1 -0
  232. package/lib/Utils/logger.d.ts +8 -6
  233. package/lib/Utils/logger.d.ts.map +1 -0
  234. package/lib/Utils/logger.js +3 -7
  235. package/lib/Utils/logger.js.map +1 -0
  236. package/lib/Utils/lt-hash.d.ts +9 -8
  237. package/lib/Utils/lt-hash.d.ts.map +1 -0
  238. package/lib/Utils/lt-hash.js +23 -26
  239. package/lib/Utils/lt-hash.js.map +1 -0
  240. package/lib/Utils/make-mutex.d.ts +1 -0
  241. package/lib/Utils/make-mutex.d.ts.map +1 -0
  242. package/lib/Utils/make-mutex.js +6 -10
  243. package/lib/Utils/make-mutex.js.map +1 -0
  244. package/lib/Utils/messages-media.d.ts +20 -11
  245. package/lib/Utils/messages-media.d.ts.map +1 -0
  246. package/lib/Utils/messages-media.js +215 -253
  247. package/lib/Utils/messages-media.js.map +1 -0
  248. package/lib/Utils/messages.d.ts +9 -8
  249. package/lib/Utils/messages.d.ts.map +1 -0
  250. package/lib/Utils/messages.js +259 -228
  251. package/lib/Utils/messages.js.map +1 -0
  252. package/lib/Utils/noise-handler.d.ts +5 -4
  253. package/lib/Utils/noise-handler.d.ts.map +1 -0
  254. package/lib/Utils/noise-handler.js +22 -26
  255. package/lib/Utils/noise-handler.js.map +1 -0
  256. package/lib/Utils/process-message.d.ts +6 -5
  257. package/lib/Utils/process-message.d.ts.map +1 -0
  258. package/lib/Utils/process-message.js +109 -123
  259. package/lib/Utils/process-message.js.map +1 -0
  260. package/lib/Utils/signal.d.ts +5 -4
  261. package/lib/Utils/signal.d.ts.map +1 -0
  262. package/lib/Utils/signal.js +52 -55
  263. package/lib/Utils/signal.js.map +1 -0
  264. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  265. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  266. package/lib/Utils/use-multi-file-auth-state.js +23 -27
  267. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  268. package/lib/Utils/validate-connection.d.ts +4 -3
  269. package/lib/Utils/validate-connection.d.ts.map +1 -0
  270. package/lib/Utils/validate-connection.js +64 -75
  271. package/lib/Utils/validate-connection.js.map +1 -0
  272. package/lib/WABinary/constants.d.ts +5 -4
  273. package/lib/WABinary/constants.d.ts.map +1 -0
  274. package/lib/WABinary/constants.js +1280 -19
  275. package/lib/WABinary/constants.js.map +1 -0
  276. package/lib/WABinary/decode.d.ts +2 -1
  277. package/lib/WABinary/decode.d.ts.map +1 -0
  278. package/lib/WABinary/decode.js +15 -52
  279. package/lib/WABinary/decode.js.map +1 -0
  280. package/lib/WABinary/encode.d.ts +2 -1
  281. package/lib/WABinary/encode.d.ts.map +1 -0
  282. package/lib/WABinary/encode.js +7 -43
  283. package/lib/WABinary/encode.js.map +1 -0
  284. package/lib/WABinary/generic-utils.d.ts +4 -3
  285. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  286. package/lib/WABinary/generic-utils.js +31 -39
  287. package/lib/WABinary/generic-utils.js.map +1 -0
  288. package/lib/WABinary/index.d.ts +6 -5
  289. package/lib/WABinary/index.d.ts.map +1 -0
  290. package/lib/WABinary/index.js +6 -21
  291. package/lib/WABinary/index.js.map +1 -0
  292. package/lib/WABinary/jid-utils.d.ts +1 -0
  293. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  294. package/lib/WABinary/jid-utils.js +21 -38
  295. package/lib/WABinary/jid-utils.js.map +1 -0
  296. package/lib/WABinary/types.d.ts +2 -1
  297. package/lib/WABinary/types.d.ts.map +1 -0
  298. package/lib/WABinary/types.js +2 -2
  299. package/lib/WABinary/types.js.map +1 -0
  300. package/lib/WAM/BinaryInfo.d.ts +2 -1
  301. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  302. package/lib/WAM/BinaryInfo.js +2 -5
  303. package/lib/WAM/BinaryInfo.js.map +1 -0
  304. package/lib/WAM/constants.d.ts +1 -0
  305. package/lib/WAM/constants.d.ts.map +1 -0
  306. package/lib/WAM/constants.js +2257 -2366
  307. package/lib/WAM/constants.js.map +1 -0
  308. package/lib/WAM/encode.d.ts +2 -1
  309. package/lib/WAM/encode.d.ts.map +1 -0
  310. package/lib/WAM/encode.js +15 -19
  311. package/lib/WAM/encode.js.map +1 -0
  312. package/lib/WAM/index.d.ts +4 -3
  313. package/lib/WAM/index.d.ts.map +1 -0
  314. package/lib/WAM/index.js +4 -19
  315. package/lib/WAM/index.js.map +1 -0
  316. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  317. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  318. package/lib/WAUSync/Protocols/USyncContactProtocol.js +8 -11
  319. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  320. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  321. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  322. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  323. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  324. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  325. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  326. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +9 -12
  327. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  328. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  329. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  330. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  331. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  332. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  333. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  334. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  335. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  336. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -2
  337. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  338. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +3 -6
  339. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  340. package/lib/WAUSync/Protocols/index.d.ts +5 -4
  341. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  342. package/lib/WAUSync/Protocols/index.js +5 -20
  343. package/lib/WAUSync/Protocols/index.js.map +1 -0
  344. package/lib/WAUSync/USyncQuery.d.ts +4 -3
  345. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  346. package/lib/WAUSync/USyncQuery.js +34 -32
  347. package/lib/WAUSync/USyncQuery.js.map +1 -0
  348. package/lib/WAUSync/USyncUser.d.ts +6 -5
  349. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  350. package/lib/WAUSync/USyncUser.js +2 -5
  351. package/lib/WAUSync/USyncUser.js.map +1 -0
  352. package/lib/WAUSync/index.d.ts +4 -3
  353. package/lib/WAUSync/index.d.ts.map +1 -0
  354. package/lib/WAUSync/index.js +4 -19
  355. package/lib/WAUSync/index.js.map +1 -0
  356. package/lib/index.d.ts +9 -8
  357. package/lib/index.d.ts.map +1 -0
  358. package/lib/index.js +11 -30
  359. package/lib/index.js.map +1 -0
  360. package/package.json +36 -31
  361. package/WASignalGroup/GroupProtocol.js +0 -1697
  362. package/WASignalGroup/ciphertext_message.js +0 -16
  363. package/WASignalGroup/group_cipher.js +0 -120
  364. package/WASignalGroup/group_session_builder.js +0 -46
  365. package/WASignalGroup/index.js +0 -5
  366. package/WASignalGroup/keyhelper.js +0 -21
  367. package/WASignalGroup/protobufs.js +0 -3
  368. package/WASignalGroup/queue_job.js +0 -69
  369. package/WASignalGroup/sender_chain_key.js +0 -50
  370. package/WASignalGroup/sender_key_distribution_message.js +0 -78
  371. package/WASignalGroup/sender_key_message.js +0 -92
  372. package/WASignalGroup/sender_key_name.js +0 -70
  373. package/WASignalGroup/sender_key_record.js +0 -56
  374. package/WASignalGroup/sender_key_state.js +0 -129
@@ -1,45 +1,41 @@
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.makeMessagesSocket = void 0;
7
- const node_cache_1 = __importDefault(require("@cacheable/node-cache"));
8
- const boom_1 = require("@hapi/boom");
9
- const WAProto_1 = require("../../WAProto");
10
- const Defaults_1 = require("../Defaults");
11
- const Utils_1 = require("../Utils");
12
- const link_preview_1 = require("../Utils/link-preview");
13
- const WABinary_1 = require("../WABinary");
14
- const WAUSync_1 = require("../WAUSync");
15
- const groups_1 = require("./groups");
16
- const makeMessagesSocket = (config) => {
17
- const { logger, linkPreviewImageThumbnailWidth, generateHighQualityLinkPreview, options: axiosOptions, patchMessageBeforeSending, cachedGroupMetadata, } = config;
18
- const sock = (0, groups_1.makeGroupsSocket)(config);
19
- const { ev, authState, processingMutex, signalRepository, upsertMessage, query, fetchPrivacySettings, sendNode, groupMetadata, groupToggleEphemeral, } = sock;
20
- const userDevicesCache = config.userDevicesCache || new node_cache_1.default({
21
- stdTTL: Defaults_1.DEFAULT_CACHE_TTLS.USER_DEVICES, // 5 minutes
22
- useClones: false
23
- });
1
+ import NodeCache from '@cacheable/node-cache';
2
+ import { Boom } from '@hapi/boom';
3
+ import { proto } from '../../WAProto/index.js';
4
+ import { DEFAULT_CACHE_TTLS, WA_DEFAULT_EPHEMERAL } from '../Defaults/index.js';
5
+ import { aggregateMessageKeysNotFromMe, assertMediaContent, bindWaitForEvent, decryptMediaRetryData, encodeNewsletterMessage, encodeSignedDeviceIdentity, encodeWAMessage, encryptMediaRetryRequest, extractDeviceJids, generateMessageIDV2, generateWAMessage, getStatusCodeForMediaRetry, getUrlFromDirectPath, getWAUploadToServer, normalizeMessageContent, parseAndInjectE2ESessions, unixTimestampSeconds } from '../Utils/index.js';
6
+ import { getUrlInfo } from '../Utils/link-preview.js';
7
+ import { areJidsSameUser, getBinaryNodeChild, getBinaryNodeChildren, isJidGroup, isJidUser, jidDecode, jidEncode, jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
8
+ import { USyncQuery, USyncUser } from '../WAUSync/index.js';
9
+ import { makeGroupsSocket } from './groups.js';
10
+ import { makeNewsletterSocket } from './newsletter.js';
11
+ export const makeMessagesSocket = (config) => {
12
+ const { logger, linkPreviewImageThumbnailWidth, generateHighQualityLinkPreview, options: axiosOptions, patchMessageBeforeSending, cachedGroupMetadata } = config;
13
+ const sock = makeNewsletterSocket(makeGroupsSocket(config));
14
+ const { ev, authState, processingMutex, signalRepository, upsertMessage, query, fetchPrivacySettings, sendNode, groupMetadata, groupToggleEphemeral } = sock;
15
+ const userDevicesCache = config.userDevicesCache ||
16
+ new NodeCache({
17
+ stdTTL: DEFAULT_CACHE_TTLS.USER_DEVICES, // 5 minutes
18
+ useClones: false
19
+ });
24
20
  let mediaConn;
25
21
  const refreshMediaConn = async (forceGet = false) => {
26
22
  const media = await mediaConn;
27
- if (!media || forceGet || (new Date().getTime() - media.fetchDate.getTime()) > media.ttl * 1000) {
23
+ if (!media || forceGet || new Date().getTime() - media.fetchDate.getTime() > media.ttl * 1000) {
28
24
  mediaConn = (async () => {
29
25
  const result = await query({
30
26
  tag: 'iq',
31
27
  attrs: {
32
28
  type: 'set',
33
29
  xmlns: 'w:m',
34
- to: WABinary_1.S_WHATSAPP_NET,
30
+ to: S_WHATSAPP_NET
35
31
  },
36
32
  content: [{ tag: 'media_conn', attrs: {} }]
37
33
  });
38
- const mediaConnNode = (0, WABinary_1.getBinaryNodeChild)(result, 'media_conn');
34
+ const mediaConnNode = getBinaryNodeChild(result, 'media_conn');
39
35
  const node = {
40
- hosts: (0, WABinary_1.getBinaryNodeChildren)(mediaConnNode, 'host').map(({ attrs }) => ({
36
+ hosts: getBinaryNodeChildren(mediaConnNode, 'host').map(({ attrs }) => ({
41
37
  hostname: attrs.hostname,
42
- maxContentLengthBytes: +attrs.maxContentLengthBytes,
38
+ maxContentLengthBytes: +attrs.maxContentLengthBytes
43
39
  })),
44
40
  auth: mediaConnNode.attrs.auth,
45
41
  ttl: +mediaConnNode.attrs.ttl,
@@ -56,17 +52,20 @@ const makeMessagesSocket = (config) => {
56
52
  * used for receipts of phone call, read, delivery etc.
57
53
  * */
58
54
  const sendReceipt = async (jid, participant, messageIds, type) => {
55
+ if (!messageIds || messageIds.length === 0) {
56
+ throw new Boom('missing ids in receipt');
57
+ }
59
58
  const node = {
60
59
  tag: 'receipt',
61
60
  attrs: {
62
- id: messageIds[0],
63
- },
61
+ id: messageIds[0]
62
+ }
64
63
  };
65
64
  const isReadReceipt = type === 'read' || type === 'read-self';
66
65
  if (isReadReceipt) {
67
- node.attrs.t = (0, Utils_1.unixTimestampSeconds)().toString();
66
+ node.attrs.t = unixTimestampSeconds().toString();
68
67
  }
69
- if (type === 'sender' && (0, WABinary_1.isJidUser)(jid)) {
68
+ if (type === 'sender' && isJidUser(jid)) {
70
69
  node.attrs.recipient = jid;
71
70
  node.attrs.to = participant;
72
71
  }
@@ -97,7 +96,7 @@ const makeMessagesSocket = (config) => {
97
96
  };
98
97
  /** Correctly bulk send receipts to multiple chats, participants */
99
98
  const sendReceipts = async (keys, type) => {
100
- const recps = (0, Utils_1.aggregateMessageKeysNotFromMe)(keys);
99
+ const recps = aggregateMessageKeysNotFromMe(keys);
101
100
  for (const { jid, participant, messageIds } of recps) {
102
101
  await sendReceipt(jid, participant, messageIds, type);
103
102
  }
@@ -111,7 +110,6 @@ const makeMessagesSocket = (config) => {
111
110
  };
112
111
  /** Fetch all the devices we've to send a message to */
113
112
  const getUSyncDevices = async (jids, useCache, ignoreZeroDevices) => {
114
- var _a;
115
113
  const deviceResults = [];
116
114
  if (!useCache) {
117
115
  logger.debug('not using cache for devices');
@@ -119,8 +117,8 @@ const makeMessagesSocket = (config) => {
119
117
  const toFetch = [];
120
118
  jids = Array.from(new Set(jids));
121
119
  for (let jid of jids) {
122
- const user = (_a = (0, WABinary_1.jidDecode)(jid)) === null || _a === void 0 ? void 0 : _a.user;
123
- jid = (0, WABinary_1.jidNormalizedUser)(jid);
120
+ const user = jidDecode(jid)?.user;
121
+ jid = jidNormalizedUser(jid);
124
122
  if (useCache) {
125
123
  const devices = userDevicesCache.get(user);
126
124
  if (devices) {
@@ -138,19 +136,17 @@ const makeMessagesSocket = (config) => {
138
136
  if (!toFetch.length) {
139
137
  return deviceResults;
140
138
  }
141
- const query = new WAUSync_1.USyncQuery()
142
- .withContext('message')
143
- .withDeviceProtocol();
139
+ const query = new USyncQuery().withContext('message').withDeviceProtocol();
144
140
  for (const jid of toFetch) {
145
- query.withUser(new WAUSync_1.USyncUser().withId(jid));
141
+ query.withUser(new USyncUser().withId(jid));
146
142
  }
147
143
  const result = await sock.executeUSyncQuery(query);
148
144
  if (result) {
149
- const extracted = (0, Utils_1.extractDeviceJids)(result === null || result === void 0 ? void 0 : result.list, authState.creds.me.id, ignoreZeroDevices);
145
+ const extracted = extractDeviceJids(result?.list, authState.creds.me.id, ignoreZeroDevices);
150
146
  const deviceMap = {};
151
147
  for (const item of extracted) {
152
148
  deviceMap[item.user] = deviceMap[item.user] || [];
153
- deviceMap[item.user].push(item);
149
+ deviceMap[item.user]?.push(item);
154
150
  deviceResults.push(item);
155
151
  }
156
152
  for (const key in deviceMap) {
@@ -166,12 +162,10 @@ const makeMessagesSocket = (config) => {
166
162
  jidsRequiringFetch = jids;
167
163
  }
168
164
  else {
169
- const addrs = jids.map(jid => (signalRepository
170
- .jidToSignalProtocolAddress(jid)));
165
+ const addrs = jids.map(jid => signalRepository.jidToSignalProtocolAddress(jid));
171
166
  const sessions = await authState.keys.get('session', addrs);
172
167
  for (const jid of jids) {
173
- const signalId = signalRepository
174
- .jidToSignalProtocolAddress(jid);
168
+ const signalId = signalRepository.jidToSignalProtocolAddress(jid);
175
169
  if (!sessions[signalId]) {
176
170
  jidsRequiringFetch.push(jid);
177
171
  }
@@ -184,7 +178,7 @@ const makeMessagesSocket = (config) => {
184
178
  attrs: {
185
179
  xmlns: 'encrypt',
186
180
  type: 'get',
187
- to: WABinary_1.S_WHATSAPP_NET,
181
+ to: S_WHATSAPP_NET
188
182
  },
189
183
  content: [
190
184
  {
@@ -192,35 +186,33 @@ const makeMessagesSocket = (config) => {
192
186
  attrs: {},
193
187
  content: jidsRequiringFetch.map(jid => ({
194
188
  tag: 'user',
195
- attrs: { jid },
189
+ attrs: { jid }
196
190
  }))
197
191
  }
198
192
  ]
199
193
  });
200
- await (0, Utils_1.parseAndInjectE2ESessions)(result, signalRepository);
194
+ await parseAndInjectE2ESessions(result, signalRepository);
201
195
  didFetchNewSession = true;
202
196
  }
203
197
  return didFetchNewSession;
204
198
  };
205
199
  const sendPeerDataOperationMessage = async (pdoMessage) => {
206
- var _a;
207
200
  //TODO: for later, abstract the logic to send a Peer Message instead of just PDO - useful for App State Key Resync with phone
208
- if (!((_a = authState.creds.me) === null || _a === void 0 ? void 0 : _a.id)) {
209
- throw new boom_1.Boom('Not authenticated');
201
+ if (!authState.creds.me?.id) {
202
+ throw new Boom('Not authenticated');
210
203
  }
211
204
  const protocolMessage = {
212
205
  protocolMessage: {
213
206
  peerDataOperationRequestMessage: pdoMessage,
214
- type: WAProto_1.proto.Message.ProtocolMessage.Type.PEER_DATA_OPERATION_REQUEST_MESSAGE
207
+ type: proto.Message.ProtocolMessage.Type.PEER_DATA_OPERATION_REQUEST_MESSAGE
215
208
  }
216
209
  };
217
- const meJid = (0, WABinary_1.jidNormalizedUser)(authState.creds.me.id);
210
+ const meJid = jidNormalizedUser(authState.creds.me.id);
218
211
  const msgId = await relayMessage(meJid, protocolMessage, {
219
212
  additionalAttributes: {
220
213
  category: 'peer',
221
- // eslint-disable-next-line camelcase
222
- push_priority: 'high_force',
223
- },
214
+ push_priority: 'high_force'
215
+ }
224
216
  });
225
217
  return msgId;
226
218
  };
@@ -235,50 +227,52 @@ const makeMessagesSocket = (config) => {
235
227
  if (!jid) {
236
228
  return {};
237
229
  }
238
- const bytes = (0, Utils_1.encodeWAMessage)(patchedMessage);
239
- const { type, ciphertext } = await signalRepository
240
- .encryptMessage({ jid, data: bytes });
230
+ const bytes = encodeWAMessage(patchedMessage);
231
+ const { type, ciphertext } = await signalRepository.encryptMessage({ jid, data: bytes });
241
232
  if (type === 'pkmsg') {
242
233
  shouldIncludeDeviceIdentity = true;
243
234
  }
244
235
  const node = {
245
236
  tag: 'to',
246
237
  attrs: { jid },
247
- content: [{
238
+ content: [
239
+ {
248
240
  tag: 'enc',
249
241
  attrs: {
250
242
  v: '2',
251
243
  type,
252
- ...extraAttrs || {}
244
+ ...(extraAttrs || {})
253
245
  },
254
246
  content: ciphertext
255
- }]
247
+ }
248
+ ]
256
249
  };
257
250
  return node;
258
251
  }));
259
252
  return { nodes, shouldIncludeDeviceIdentity };
260
253
  };
261
254
  const relayMessage = async (jid, message, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }) => {
262
- var _a;
263
255
  const meId = authState.creds.me.id;
264
256
  let shouldIncludeDeviceIdentity = false;
265
- const { user, server } = (0, WABinary_1.jidDecode)(jid);
257
+ const { user, server } = jidDecode(jid);
266
258
  const statusJid = 'status@broadcast';
267
259
  const isGroup = server === 'g.us';
268
260
  const isStatus = jid === statusJid;
269
261
  const isLid = server === 'lid';
270
- msgId = msgId || (0, Utils_1.generateMessageIDV2)((_a = sock.user) === null || _a === void 0 ? void 0 : _a.id);
262
+ const isNewsletter = server === 'newsletter';
263
+ msgId = msgId || generateMessageIDV2(sock.user?.id);
271
264
  useUserDevicesCache = useUserDevicesCache !== false;
272
265
  useCachedGroupMetadata = useCachedGroupMetadata !== false && !isStatus;
273
266
  const participants = [];
274
- const destinationJid = (!isStatus) ? (0, WABinary_1.jidEncode)(user, isLid ? 'lid' : isGroup ? 'g.us' : 's.whatsapp.net') : statusJid;
267
+ const destinationJid = !isStatus ? jidEncode(user, isLid ? 'lid' : isGroup ? 'g.us' : 's.whatsapp.net') : statusJid;
275
268
  const binaryNodeContent = [];
276
269
  const devices = [];
277
270
  const meMsg = {
278
271
  deviceSentMessage: {
279
272
  destinationJid,
280
273
  message
281
- }
274
+ },
275
+ messageContextInfo: message.messageContextInfo
282
276
  };
283
277
  const extraAttrs = {};
284
278
  if (participant) {
@@ -286,25 +280,47 @@ const makeMessagesSocket = (config) => {
286
280
  // only send to the specific device that asked for a retry
287
281
  // otherwise the message is sent out to every device that should be a recipient
288
282
  if (!isGroup && !isStatus) {
289
- additionalAttributes = { ...additionalAttributes, 'device_fanout': 'false' };
283
+ additionalAttributes = { ...additionalAttributes, device_fanout: 'false' };
290
284
  }
291
- const { user, device } = (0, WABinary_1.jidDecode)(participant.jid);
285
+ const { user, device } = jidDecode(participant.jid);
292
286
  devices.push({ user, device });
293
287
  }
294
288
  await authState.keys.transaction(async () => {
295
- var _a, _b, _c, _d, _e;
296
289
  const mediaType = getMediaType(message);
297
290
  if (mediaType) {
298
291
  extraAttrs['mediatype'] = mediaType;
299
292
  }
300
- if ((_a = (0, Utils_1.normalizeMessageContent)(message)) === null || _a === void 0 ? void 0 : _a.pinInChatMessage) {
293
+ if (isNewsletter) {
294
+ // Patch message if needed, then encode as plaintext
295
+ const patched = patchMessageBeforeSending ? await patchMessageBeforeSending(message, []) : message;
296
+ const bytes = encodeNewsletterMessage(patched);
297
+ binaryNodeContent.push({
298
+ tag: 'plaintext',
299
+ attrs: {},
300
+ content: bytes
301
+ });
302
+ const stanza = {
303
+ tag: 'message',
304
+ attrs: {
305
+ to: jid,
306
+ id: msgId,
307
+ type: getMessageType(message),
308
+ ...(additionalAttributes || {})
309
+ },
310
+ content: binaryNodeContent
311
+ };
312
+ logger.debug({ msgId }, `sending newsletter message to ${jid}`);
313
+ await sendNode(stanza);
314
+ return;
315
+ }
316
+ if (normalizeMessageContent(message)?.pinInChatMessage) {
301
317
  extraAttrs['decrypt-fail'] = 'hide';
302
318
  }
303
319
  if (isGroup || isStatus) {
304
320
  const [groupData, senderKeyMap] = await Promise.all([
305
321
  (async () => {
306
322
  let groupData = useCachedGroupMetadata && cachedGroupMetadata ? await cachedGroupMetadata(jid) : undefined;
307
- if (groupData && Array.isArray(groupData === null || groupData === void 0 ? void 0 : groupData.participants)) {
323
+ if (groupData && Array.isArray(groupData?.participants)) {
308
324
  logger.trace({ jid, participants: groupData.participants.length }, 'using cached group metadata');
309
325
  }
310
326
  else if (!isStatus) {
@@ -321,14 +337,14 @@ const makeMessagesSocket = (config) => {
321
337
  })()
322
338
  ]);
323
339
  if (!participant) {
324
- const participantsList = (groupData && !isStatus) ? groupData.participants.map(p => p.id) : [];
340
+ const participantsList = groupData && !isStatus ? groupData.participants.map(p => p.id) : [];
325
341
  if (isStatus && statusJidList) {
326
342
  participantsList.push(...statusJidList);
327
343
  }
328
344
  if (!isStatus) {
329
345
  additionalAttributes = {
330
346
  ...additionalAttributes,
331
- addressing_mode: (groupData === null || groupData === void 0 ? void 0 : groupData.addressingMode) || 'pn'
347
+ addressing_mode: groupData?.addressingMode || 'pn'
332
348
  };
333
349
  }
334
350
  const additionalDevices = await getUSyncDevices(participantsList, !!useUserDevicesCache, false);
@@ -336,18 +352,18 @@ const makeMessagesSocket = (config) => {
336
352
  }
337
353
  const patched = await patchMessageBeforeSending(message);
338
354
  if (Array.isArray(patched)) {
339
- throw new boom_1.Boom('Per-jid patching is not supported in groups');
355
+ throw new Boom('Per-jid patching is not supported in groups');
340
356
  }
341
- const bytes = (0, Utils_1.encodeWAMessage)(patched);
357
+ const bytes = encodeWAMessage(patched);
342
358
  const { ciphertext, senderKeyDistributionMessage } = await signalRepository.encryptGroupMessage({
343
359
  group: destinationJid,
344
360
  data: bytes,
345
- meId,
361
+ meId
346
362
  });
347
363
  const senderKeyJids = [];
348
364
  // ensure a connection is established with every device
349
365
  for (const { user, device } of devices) {
350
- const jid = (0, WABinary_1.jidEncode)(user, (groupData === null || groupData === void 0 ? void 0 : groupData.addressingMode) === 'lid' ? 'lid' : 's.whatsapp.net', device);
366
+ const jid = jidEncode(user, groupData?.addressingMode === 'lid' ? 'lid' : 's.whatsapp.net', device);
351
367
  if (!senderKeyMap[jid] || !!participant) {
352
368
  senderKeyJids.push(jid);
353
369
  // store that this person has had the sender keys sent to them
@@ -377,13 +393,13 @@ const makeMessagesSocket = (config) => {
377
393
  await authState.keys.set({ 'sender-key-memory': { [jid]: senderKeyMap } });
378
394
  }
379
395
  else {
380
- const { user: meUser } = (0, WABinary_1.jidDecode)(meId);
396
+ const { user: meUser } = jidDecode(meId);
381
397
  if (!participant) {
382
398
  devices.push({ user });
383
399
  if (user !== meUser) {
384
400
  devices.push({ user: meUser });
385
401
  }
386
- if ((additionalAttributes === null || additionalAttributes === void 0 ? void 0 : additionalAttributes['category']) !== 'peer') {
402
+ if (additionalAttributes?.['category'] !== 'peer') {
387
403
  const additionalDevices = await getUSyncDevices([meId, jid], !!useUserDevicesCache, true);
388
404
  devices.push(...additionalDevices);
389
405
  }
@@ -393,7 +409,7 @@ const makeMessagesSocket = (config) => {
393
409
  const otherJids = [];
394
410
  for (const { user, device } of devices) {
395
411
  const isMe = user === meUser;
396
- const jid = (0, WABinary_1.jidEncode)(isMe && isLid ? ((_c = (_b = authState.creds) === null || _b === void 0 ? void 0 : _b.me) === null || _c === void 0 ? void 0 : _c.lid.split(':')[0]) || user : user, isLid ? 'lid' : 's.whatsapp.net', device);
412
+ const jid = jidEncode(isMe && isLid ? authState.creds?.me?.lid.split(':')[0] || user : user, isLid ? 'lid' : 's.whatsapp.net', device);
397
413
  if (isMe) {
398
414
  meJids.push(jid);
399
415
  }
@@ -412,8 +428,8 @@ const makeMessagesSocket = (config) => {
412
428
  shouldIncludeDeviceIdentity = shouldIncludeDeviceIdentity || s1 || s2;
413
429
  }
414
430
  if (participants.length) {
415
- if ((additionalAttributes === null || additionalAttributes === void 0 ? void 0 : additionalAttributes['category']) === 'peer') {
416
- const peerNode = (_e = (_d = participants[0]) === null || _d === void 0 ? void 0 : _d.content) === null || _e === void 0 ? void 0 : _e[0];
431
+ if (additionalAttributes?.['category'] === 'peer') {
432
+ const peerNode = participants[0]?.content?.[0];
417
433
  if (peerNode) {
418
434
  binaryNodeContent.push(peerNode); // push only enc
419
435
  }
@@ -439,11 +455,11 @@ const makeMessagesSocket = (config) => {
439
455
  // ensure the message is only sent to that person
440
456
  // if a retry receipt is sent to everyone -- it'll fail decryption for everyone else who received the msg
441
457
  if (participant) {
442
- if ((0, WABinary_1.isJidGroup)(destinationJid)) {
458
+ if (isJidGroup(destinationJid)) {
443
459
  stanza.attrs.to = destinationJid;
444
460
  stanza.attrs.participant = participant.jid;
445
461
  }
446
- else if ((0, WABinary_1.areJidsSameUser)(participant.jid, meId)) {
462
+ else if (areJidsSameUser(participant.jid, meId)) {
447
463
  stanza.attrs.to = participant.jid;
448
464
  stanza.attrs.recipient = destinationJid;
449
465
  }
@@ -455,14 +471,16 @@ const makeMessagesSocket = (config) => {
455
471
  stanza.attrs.to = destinationJid;
456
472
  }
457
473
  if (shouldIncludeDeviceIdentity) {
474
+ ;
458
475
  stanza.content.push({
459
476
  tag: 'device-identity',
460
477
  attrs: {},
461
- content: (0, Utils_1.encodeSignedDeviceIdentity)(authState.creds.account, true)
478
+ content: encodeSignedDeviceIdentity(authState.creds.account, true)
462
479
  });
463
480
  logger.debug({ jid }, 'adding device identity');
464
481
  }
465
482
  if (additionalNodes && additionalNodes.length > 0) {
483
+ ;
466
484
  stanza.content.push(...additionalNodes);
467
485
  }
468
486
  logger.debug({ msgId }, `sending message to ${participants.length} devices`);
@@ -524,11 +542,11 @@ const makeMessagesSocket = (config) => {
524
542
  }
525
543
  };
526
544
  const getPrivacyTokens = async (jids) => {
527
- const t = (0, Utils_1.unixTimestampSeconds)().toString();
545
+ const t = unixTimestampSeconds().toString();
528
546
  const result = await query({
529
547
  tag: 'iq',
530
548
  attrs: {
531
- to: WABinary_1.S_WHATSAPP_NET,
549
+ to: S_WHATSAPP_NET,
532
550
  type: 'set',
533
551
  xmlns: 'privacy'
534
552
  },
@@ -539,7 +557,7 @@ const makeMessagesSocket = (config) => {
539
557
  content: jids.map(jid => ({
540
558
  tag: 'token',
541
559
  attrs: {
542
- jid: (0, WABinary_1.jidNormalizedUser)(jid),
560
+ jid: jidNormalizedUser(jid),
543
561
  t,
544
562
  type: 'trusted_contact'
545
563
  }
@@ -549,8 +567,8 @@ const makeMessagesSocket = (config) => {
549
567
  });
550
568
  return result;
551
569
  };
552
- const waUploadToServer = (0, Utils_1.getWAUploadToServer)(config, refreshMediaConn);
553
- const waitForMsgMediaUpdate = (0, Utils_1.bindWaitForEvent)(ev, 'messages.media-update');
570
+ const waUploadToServer = getWAUploadToServer(config, refreshMediaConn);
571
+ const waitForMsgMediaUpdate = bindWaitForEvent(ev, 'messages.media-update');
554
572
  return {
555
573
  ...sock,
556
574
  getPrivacyTokens,
@@ -566,10 +584,10 @@ const makeMessagesSocket = (config) => {
566
584
  createParticipantNodes,
567
585
  getUSyncDevices,
568
586
  updateMediaMessage: async (message) => {
569
- const content = (0, Utils_1.assertMediaContent)(message.message);
587
+ const content = assertMediaContent(message.message);
570
588
  const mediaKey = content.mediaKey;
571
589
  const meId = authState.creds.me.id;
572
- const node = await (0, Utils_1.encryptMediaRetryRequest)(message.key, mediaKey, meId);
590
+ const node = await encryptMediaRetryRequest(message.key, mediaKey, meId);
573
591
  let error = undefined;
574
592
  await Promise.all([
575
593
  sendNode(node),
@@ -581,13 +599,16 @@ const makeMessagesSocket = (config) => {
581
599
  }
582
600
  else {
583
601
  try {
584
- const media = await (0, Utils_1.decryptMediaRetryData)(result.media, mediaKey, result.key.id);
585
- if (media.result !== WAProto_1.proto.MediaRetryNotification.ResultType.SUCCESS) {
586
- const resultStr = WAProto_1.proto.MediaRetryNotification.ResultType[media.result];
587
- throw new boom_1.Boom(`Media re-upload failed by device (${resultStr})`, { data: media, statusCode: (0, Utils_1.getStatusCodeForMediaRetry)(media.result) || 404 });
602
+ const media = await decryptMediaRetryData(result.media, mediaKey, result.key.id);
603
+ if (media.result !== proto.MediaRetryNotification.ResultType.SUCCESS) {
604
+ const resultStr = proto.MediaRetryNotification.ResultType[media.result];
605
+ throw new Boom(`Media re-upload failed by device (${resultStr})`, {
606
+ data: media,
607
+ statusCode: getStatusCodeForMediaRetry(media.result) || 404
608
+ });
588
609
  }
589
610
  content.directPath = media.directPath;
590
- content.url = (0, Utils_1.getUrlFromDirectPath)(content.directPath);
611
+ content.url = getUrlFromDirectPath(content.directPath);
591
612
  logger.debug({ directPath: media.directPath, key: result.key }, 'media update successful');
592
613
  }
593
614
  catch (err) {
@@ -601,46 +622,43 @@ const makeMessagesSocket = (config) => {
601
622
  if (error) {
602
623
  throw error;
603
624
  }
604
- ev.emit('messages.update', [
605
- { key: message.key, update: { message: message.message } }
606
- ]);
625
+ ev.emit('messages.update', [{ key: message.key, update: { message: message.message } }]);
607
626
  return message;
608
627
  },
609
628
  sendMessage: async (jid, content, options = {}) => {
610
- var _a, _b, _c;
611
629
  const userJid = authState.creds.me.id;
612
630
  if (typeof content === 'object' &&
613
631
  'disappearingMessagesInChat' in content &&
614
632
  typeof content['disappearingMessagesInChat'] !== 'undefined' &&
615
- (0, WABinary_1.isJidGroup)(jid)) {
633
+ isJidGroup(jid)) {
616
634
  const { disappearingMessagesInChat } = content;
617
- const value = typeof disappearingMessagesInChat === 'boolean' ?
618
- (disappearingMessagesInChat ? Defaults_1.WA_DEFAULT_EPHEMERAL : 0) :
619
- disappearingMessagesInChat;
635
+ const value = typeof disappearingMessagesInChat === 'boolean'
636
+ ? disappearingMessagesInChat
637
+ ? WA_DEFAULT_EPHEMERAL
638
+ : 0
639
+ : disappearingMessagesInChat;
620
640
  await groupToggleEphemeral(jid, value);
621
641
  }
622
642
  else {
623
- const fullMsg = await (0, Utils_1.generateWAMessage)(jid, content, {
643
+ const fullMsg = await generateWAMessage(jid, content, {
624
644
  logger,
625
645
  userJid,
626
- getUrlInfo: text => (0, link_preview_1.getUrlInfo)(text, {
646
+ getUrlInfo: text => getUrlInfo(text, {
627
647
  thumbnailWidth: linkPreviewImageThumbnailWidth,
628
648
  fetchOpts: {
629
649
  timeout: 3000,
630
- ...axiosOptions || {}
650
+ ...(axiosOptions || {})
631
651
  },
632
652
  logger,
633
- uploadImage: generateHighQualityLinkPreview
634
- ? waUploadToServer
635
- : undefined
653
+ uploadImage: generateHighQualityLinkPreview ? waUploadToServer : undefined
636
654
  }),
637
655
  //TODO: CACHE
638
656
  getProfilePicUrl: sock.profilePictureUrl,
639
657
  upload: waUploadToServer,
640
658
  mediaCache: config.mediaCache,
641
659
  options: config.options,
642
- messageId: (0, Utils_1.generateMessageIDV2)((_a = sock.user) === null || _a === void 0 ? void 0 : _a.id),
643
- ...options,
660
+ messageId: generateMessageIDV2(sock.user?.id),
661
+ ...options
644
662
  });
645
663
  const isDeleteMsg = 'delete' in content && !!content.delete;
646
664
  const isEditMsg = 'edit' in content && !!content.edit;
@@ -651,7 +669,7 @@ const makeMessagesSocket = (config) => {
651
669
  // required for delete
652
670
  if (isDeleteMsg) {
653
671
  // if the chat is a group, and I am not the author, then delete the message as an admin
654
- if ((0, WABinary_1.isJidGroup)((_b = content.delete) === null || _b === void 0 ? void 0 : _b.remoteJid) && !((_c = content.delete) === null || _c === void 0 ? void 0 : _c.fromMe)) {
672
+ if (isJidGroup(content.delete?.remoteJid) && !content.delete?.fromMe) {
655
673
  additionalAttributes.edit = '8';
656
674
  }
657
675
  else {
@@ -669,16 +687,22 @@ const makeMessagesSocket = (config) => {
669
687
  tag: 'meta',
670
688
  attrs: {
671
689
  polltype: 'creation'
672
- },
690
+ }
673
691
  });
674
692
  }
675
693
  if ('cachedGroupMetadata' in options) {
676
694
  console.warn('cachedGroupMetadata in sendMessage are deprecated, now cachedGroupMetadata is part of the socket config.');
677
695
  }
678
- await relayMessage(jid, fullMsg.message, { messageId: fullMsg.key.id, useCachedGroupMetadata: options.useCachedGroupMetadata, additionalAttributes, statusJidList: options.statusJidList, additionalNodes });
696
+ await relayMessage(jid, fullMsg.message, {
697
+ messageId: fullMsg.key.id,
698
+ useCachedGroupMetadata: options.useCachedGroupMetadata,
699
+ additionalAttributes,
700
+ statusJidList: options.statusJidList,
701
+ additionalNodes
702
+ });
679
703
  if (config.emitOwnEvents) {
680
704
  process.nextTick(() => {
681
- processingMutex.mutex(() => (upsertMessage(fullMsg, 'append')));
705
+ processingMutex.mutex(() => upsertMessage(fullMsg, 'append'));
682
706
  });
683
707
  }
684
708
  return fullMsg;
@@ -686,4 +710,4 @@ const makeMessagesSocket = (config) => {
686
710
  }
687
711
  };
688
712
  };
689
- exports.makeMessagesSocket = makeMessagesSocket;
713
+ //# sourceMappingURL=messages-send.js.map