lotusbail 0.0.1-security → 7.0.10

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.

Potentially problematic release.


This version of lotusbail might be problematic. Click here for more details.

Files changed (369) hide show
  1. package/LICENSE +21 -0
  2. package/WAProto/GenerateStatics.sh +3 -0
  3. package/WAProto/WAProto.proto +5479 -0
  4. package/WAProto/fix-imports.js +1 -0
  5. package/WAProto/index.d.ts +14017 -0
  6. package/WAProto/index.js +1 -0
  7. package/engine-requirements.js +1 -0
  8. package/lib/Defaults/index.d.ts +62 -0
  9. package/lib/Defaults/index.d.ts.map +1 -0
  10. package/lib/Defaults/index.js +1 -0
  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 +1 -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 +1 -0
  19. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  20. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  21. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  22. package/lib/Signal/Group/group_cipher.js +1 -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 +1 -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 +1 -0
  31. package/lib/Signal/Group/keyhelper.js.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  34. package/lib/Signal/Group/sender-chain-key.js +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.js +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-message.js +1 -0
  43. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-name.js +1 -0
  47. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-record.js +1 -0
  51. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-key-state.js +1 -0
  55. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  58. package/lib/Signal/Group/sender-message-key.js +1 -0
  59. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  60. package/lib/Signal/libsignal.d.ts +5 -0
  61. package/lib/Signal/libsignal.d.ts.map +1 -0
  62. package/lib/Signal/libsignal.js +1 -0
  63. package/lib/Signal/libsignal.js.map +1 -0
  64. package/lib/Signal/lid-mapping.d.ts +23 -0
  65. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  66. package/lib/Signal/lid-mapping.js +1 -0
  67. package/lib/Signal/lid-mapping.js.map +1 -0
  68. package/lib/Socket/Client/index.d.ts +3 -0
  69. package/lib/Socket/Client/index.d.ts.map +1 -0
  70. package/lib/Socket/Client/index.js +1 -0
  71. package/lib/Socket/Client/index.js.map +1 -0
  72. package/lib/Socket/Client/types.d.ts +16 -0
  73. package/lib/Socket/Client/types.d.ts.map +1 -0
  74. package/lib/Socket/Client/types.js +1 -0
  75. package/lib/Socket/Client/types.js.map +1 -0
  76. package/lib/Socket/Client/websocket.d.ts +13 -0
  77. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  78. package/lib/Socket/Client/websocket.js +1 -0
  79. package/lib/Socket/Client/websocket.js.map +1 -0
  80. package/lib/Socket/business.d.ts +190 -0
  81. package/lib/Socket/business.d.ts.map +1 -0
  82. package/lib/Socket/business.js +1 -0
  83. package/lib/Socket/business.js.map +1 -0
  84. package/lib/Socket/chats.d.ts +100 -0
  85. package/lib/Socket/chats.d.ts.map +1 -0
  86. package/lib/Socket/chats.js +1 -0
  87. package/lib/Socket/chats.js.map +1 -0
  88. package/lib/Socket/communities.d.ts +246 -0
  89. package/lib/Socket/communities.d.ts.map +1 -0
  90. package/lib/Socket/communities.js +1 -0
  91. package/lib/Socket/communities.js.map +1 -0
  92. package/lib/Socket/groups.d.ts +139 -0
  93. package/lib/Socket/groups.d.ts.map +1 -0
  94. package/lib/Socket/groups.js +1 -0
  95. package/lib/Socket/groups.js.map +1 -0
  96. package/lib/Socket/index.d.ts +233 -0
  97. package/lib/Socket/index.d.ts.map +1 -0
  98. package/lib/Socket/index.js +1 -0
  99. package/lib/Socket/index.js.map +1 -0
  100. package/lib/Socket/messages-recv.d.ts +175 -0
  101. package/lib/Socket/messages-recv.d.ts.map +1 -0
  102. package/lib/Socket/messages-recv.js +1 -0
  103. package/lib/Socket/messages-recv.js.map +1 -0
  104. package/lib/Socket/messages-send.d.ts +171 -0
  105. package/lib/Socket/messages-send.d.ts.map +1 -0
  106. package/lib/Socket/messages-send.js +1 -0
  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 +1 -0
  111. package/lib/Socket/mex.js.map +1 -0
  112. package/lib/Socket/newsletter.d.ts +149 -0
  113. package/lib/Socket/newsletter.d.ts.map +1 -0
  114. package/lib/Socket/newsletter.js +1 -0
  115. package/lib/Socket/newsletter.js.map +1 -0
  116. package/lib/Socket/socket.d.ts +53 -0
  117. package/lib/Socket/socket.d.ts.map +1 -0
  118. package/lib/Socket/socket.js +1 -0
  119. package/lib/Socket/socket.js.map +1 -0
  120. package/lib/Types/Auth.d.ts +115 -0
  121. package/lib/Types/Auth.d.ts.map +1 -0
  122. package/lib/Types/Auth.js +1 -0
  123. package/lib/Types/Auth.js.map +1 -0
  124. package/lib/Types/Bussines.d.ts +25 -0
  125. package/lib/Types/Bussines.d.ts.map +1 -0
  126. package/lib/Types/Bussines.js +1 -0
  127. package/lib/Types/Bussines.js.map +1 -0
  128. package/lib/Types/Call.d.ts +14 -0
  129. package/lib/Types/Call.d.ts.map +1 -0
  130. package/lib/Types/Call.js +1 -0
  131. package/lib/Types/Call.js.map +1 -0
  132. package/lib/Types/Chat.d.ts +123 -0
  133. package/lib/Types/Chat.d.ts.map +1 -0
  134. package/lib/Types/Chat.js +1 -0
  135. package/lib/Types/Chat.js.map +1 -0
  136. package/lib/Types/Contact.d.ts +24 -0
  137. package/lib/Types/Contact.d.ts.map +1 -0
  138. package/lib/Types/Contact.js +1 -0
  139. package/lib/Types/Contact.js.map +1 -0
  140. package/lib/Types/Events.d.ts +202 -0
  141. package/lib/Types/Events.d.ts.map +1 -0
  142. package/lib/Types/Events.js +1 -0
  143. package/lib/Types/Events.js.map +1 -0
  144. package/lib/Types/GroupMetadata.d.ts +67 -0
  145. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  146. package/lib/Types/GroupMetadata.js +1 -0
  147. package/lib/Types/GroupMetadata.js.map +1 -0
  148. package/lib/Types/Label.d.ts +47 -0
  149. package/lib/Types/Label.d.ts.map +1 -0
  150. package/lib/Types/Label.js +1 -0
  151. package/lib/Types/Label.js.map +1 -0
  152. package/lib/Types/LabelAssociation.d.ts +30 -0
  153. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  154. package/lib/Types/LabelAssociation.js +1 -0
  155. package/lib/Types/LabelAssociation.js.map +1 -0
  156. package/lib/Types/Message.d.ts +305 -0
  157. package/lib/Types/Message.d.ts.map +1 -0
  158. package/lib/Types/Message.js +1 -0
  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 +1 -0
  163. package/lib/Types/Newsletter.js.map +1 -0
  164. package/lib/Types/Product.d.ts +79 -0
  165. package/lib/Types/Product.d.ts.map +1 -0
  166. package/lib/Types/Product.js +1 -0
  167. package/lib/Types/Product.js.map +1 -0
  168. package/lib/Types/Signal.d.ts +76 -0
  169. package/lib/Types/Signal.d.ts.map +1 -0
  170. package/lib/Types/Signal.js +1 -0
  171. package/lib/Types/Signal.js.map +1 -0
  172. package/lib/Types/Socket.d.ts +133 -0
  173. package/lib/Types/Socket.d.ts.map +1 -0
  174. package/lib/Types/Socket.js +1 -0
  175. package/lib/Types/Socket.js.map +1 -0
  176. package/lib/Types/State.d.ts +39 -0
  177. package/lib/Types/State.d.ts.map +1 -0
  178. package/lib/Types/State.js +1 -0
  179. package/lib/Types/State.js.map +1 -0
  180. package/lib/Types/USync.d.ts +26 -0
  181. package/lib/Types/USync.d.ts.map +1 -0
  182. package/lib/Types/USync.js +1 -0
  183. package/lib/Types/USync.js.map +1 -0
  184. package/lib/Types/index.d.ts +65 -0
  185. package/lib/Types/index.d.ts.map +1 -0
  186. package/lib/Types/index.js +1 -0
  187. package/lib/Types/index.js.map +1 -0
  188. package/lib/Utils/auth-utils.d.ts +19 -0
  189. package/lib/Utils/auth-utils.d.ts.map +1 -0
  190. package/lib/Utils/auth-utils.js +1 -0
  191. package/lib/Utils/auth-utils.js.map +1 -0
  192. package/lib/Utils/browser-utils.d.ts +4 -0
  193. package/lib/Utils/browser-utils.d.ts.map +1 -0
  194. package/lib/Utils/browser-utils.js +1 -0
  195. package/lib/Utils/browser-utils.js.map +1 -0
  196. package/lib/Utils/business.d.ts +23 -0
  197. package/lib/Utils/business.d.ts.map +1 -0
  198. package/lib/Utils/business.js +1 -0
  199. package/lib/Utils/business.js.map +1 -0
  200. package/lib/Utils/chat-utils.d.ts +70 -0
  201. package/lib/Utils/chat-utils.d.ts.map +1 -0
  202. package/lib/Utils/chat-utils.js +1 -0
  203. package/lib/Utils/chat-utils.js.map +1 -0
  204. package/lib/Utils/crypto.d.ts +41 -0
  205. package/lib/Utils/crypto.d.ts.map +1 -0
  206. package/lib/Utils/crypto.js +1 -0
  207. package/lib/Utils/crypto.js.map +1 -0
  208. package/lib/Utils/decode-wa-message.d.ts +48 -0
  209. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  210. package/lib/Utils/decode-wa-message.js +1 -0
  211. package/lib/Utils/decode-wa-message.js.map +1 -0
  212. package/lib/Utils/event-buffer.d.ts +34 -0
  213. package/lib/Utils/event-buffer.d.ts.map +1 -0
  214. package/lib/Utils/event-buffer.js +1 -0
  215. package/lib/Utils/event-buffer.js.map +1 -0
  216. package/lib/Utils/generics.d.ts +90 -0
  217. package/lib/Utils/generics.d.ts.map +1 -0
  218. package/lib/Utils/generics.js +1 -0
  219. package/lib/Utils/generics.js.map +1 -0
  220. package/lib/Utils/history.d.ts +19 -0
  221. package/lib/Utils/history.d.ts.map +1 -0
  222. package/lib/Utils/history.js +1 -0
  223. package/lib/Utils/history.js.map +1 -0
  224. package/lib/Utils/index.d.ts +19 -0
  225. package/lib/Utils/index.d.ts.map +1 -0
  226. package/lib/Utils/index.js +1 -0
  227. package/lib/Utils/index.js.map +1 -0
  228. package/lib/Utils/link-preview.d.ts +21 -0
  229. package/lib/Utils/link-preview.d.ts.map +1 -0
  230. package/lib/Utils/link-preview.js +1 -0
  231. package/lib/Utils/link-preview.js.map +1 -0
  232. package/lib/Utils/logger.d.ts +12 -0
  233. package/lib/Utils/logger.d.ts.map +1 -0
  234. package/lib/Utils/logger.js +1 -0
  235. package/lib/Utils/logger.js.map +1 -0
  236. package/lib/Utils/lt-hash.d.ts +13 -0
  237. package/lib/Utils/lt-hash.d.ts.map +1 -0
  238. package/lib/Utils/lt-hash.js +1 -0
  239. package/lib/Utils/lt-hash.js.map +1 -0
  240. package/lib/Utils/make-mutex.d.ts +8 -0
  241. package/lib/Utils/make-mutex.d.ts.map +1 -0
  242. package/lib/Utils/make-mutex.js +1 -0
  243. package/lib/Utils/make-mutex.js.map +1 -0
  244. package/lib/Utils/message-retry-manager.d.ts +82 -0
  245. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  246. package/lib/Utils/message-retry-manager.js +1 -0
  247. package/lib/Utils/message-retry-manager.js.map +1 -0
  248. package/lib/Utils/messages-media.d.ts +114 -0
  249. package/lib/Utils/messages-media.d.ts.map +1 -0
  250. package/lib/Utils/messages-media.js +1 -0
  251. package/lib/Utils/messages-media.js.map +1 -0
  252. package/lib/Utils/messages.d.ts +89 -0
  253. package/lib/Utils/messages.d.ts.map +1 -0
  254. package/lib/Utils/messages.js +1 -0
  255. package/lib/Utils/messages.js.map +1 -0
  256. package/lib/Utils/noise-handler.d.ts +20 -0
  257. package/lib/Utils/noise-handler.d.ts.map +1 -0
  258. package/lib/Utils/noise-handler.js +1 -0
  259. package/lib/Utils/noise-handler.js.map +1 -0
  260. package/lib/Utils/pre-key-manager.d.ts +28 -0
  261. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  262. package/lib/Utils/pre-key-manager.js +1 -0
  263. package/lib/Utils/pre-key-manager.js.map +1 -0
  264. package/lib/Utils/process-message.d.ts +60 -0
  265. package/lib/Utils/process-message.d.ts.map +1 -0
  266. package/lib/Utils/process-message.js +1 -0
  267. package/lib/Utils/process-message.js.map +1 -0
  268. package/lib/Utils/signal.d.ts +34 -0
  269. package/lib/Utils/signal.d.ts.map +1 -0
  270. package/lib/Utils/signal.js +1 -0
  271. package/lib/Utils/signal.js.map +1 -0
  272. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  273. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  274. package/lib/Utils/use-multi-file-auth-state.js +1 -0
  275. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  276. package/lib/Utils/validate-connection.d.ts +11 -0
  277. package/lib/Utils/validate-connection.d.ts.map +1 -0
  278. package/lib/Utils/validate-connection.js +1 -0
  279. package/lib/Utils/validate-connection.js.map +1 -0
  280. package/lib/WABinary/constants.d.ts +28 -0
  281. package/lib/WABinary/constants.d.ts.map +1 -0
  282. package/lib/WABinary/constants.js +1 -0
  283. package/lib/WABinary/constants.js.map +1 -0
  284. package/lib/WABinary/decode.d.ts +7 -0
  285. package/lib/WABinary/decode.d.ts.map +1 -0
  286. package/lib/WABinary/decode.js +1 -0
  287. package/lib/WABinary/decode.js.map +1 -0
  288. package/lib/WABinary/encode.d.ts +3 -0
  289. package/lib/WABinary/encode.d.ts.map +1 -0
  290. package/lib/WABinary/encode.js +1 -0
  291. package/lib/WABinary/encode.js.map +1 -0
  292. package/lib/WABinary/generic-utils.d.ts +15 -0
  293. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  294. package/lib/WABinary/generic-utils.js +1 -0
  295. package/lib/WABinary/generic-utils.js.map +1 -0
  296. package/lib/WABinary/index.d.ts +6 -0
  297. package/lib/WABinary/index.d.ts.map +1 -0
  298. package/lib/WABinary/index.js +1 -0
  299. package/lib/WABinary/index.js.map +1 -0
  300. package/lib/WABinary/jid-utils.d.ts +48 -0
  301. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  302. package/lib/WABinary/jid-utils.js +1 -0
  303. package/lib/WABinary/jid-utils.js.map +1 -0
  304. package/lib/WABinary/types.d.ts +19 -0
  305. package/lib/WABinary/types.d.ts.map +1 -0
  306. package/lib/WABinary/types.js +1 -0
  307. package/lib/WABinary/types.js.map +1 -0
  308. package/lib/WAM/BinaryInfo.d.ts +9 -0
  309. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  310. package/lib/WAM/BinaryInfo.js +1 -0
  311. package/lib/WAM/BinaryInfo.js.map +1 -0
  312. package/lib/WAM/constants.d.ts +40 -0
  313. package/lib/WAM/constants.d.ts.map +1 -0
  314. package/lib/WAM/constants.js +1 -0
  315. package/lib/WAM/constants.js.map +1 -0
  316. package/lib/WAM/encode.d.ts +3 -0
  317. package/lib/WAM/encode.d.ts.map +1 -0
  318. package/lib/WAM/encode.js +1 -0
  319. package/lib/WAM/encode.js.map +1 -0
  320. package/lib/WAM/index.d.ts +4 -0
  321. package/lib/WAM/index.d.ts.map +1 -0
  322. package/lib/WAM/index.js +1 -0
  323. package/lib/WAM/index.js.map +1 -0
  324. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  325. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  326. package/lib/WAUSync/Protocols/USyncContactProtocol.js +1 -0
  327. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  328. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  329. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  330. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +1 -0
  331. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  332. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  333. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  334. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +1 -0
  335. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  336. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  337. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  338. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +1 -0
  339. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  340. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  341. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  342. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -0
  343. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  344. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  345. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  346. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -0
  347. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  348. package/lib/WAUSync/Protocols/index.d.ts +5 -0
  349. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  350. package/lib/WAUSync/Protocols/index.js +1 -0
  351. package/lib/WAUSync/Protocols/index.js.map +1 -0
  352. package/lib/WAUSync/USyncQuery.d.ts +29 -0
  353. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  354. package/lib/WAUSync/USyncQuery.js +1 -0
  355. package/lib/WAUSync/USyncQuery.js.map +1 -0
  356. package/lib/WAUSync/USyncUser.d.ts +13 -0
  357. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  358. package/lib/WAUSync/USyncUser.js +1 -0
  359. package/lib/WAUSync/USyncUser.js.map +1 -0
  360. package/lib/WAUSync/index.d.ts +4 -0
  361. package/lib/WAUSync/index.d.ts.map +1 -0
  362. package/lib/WAUSync/index.js +1 -0
  363. package/lib/WAUSync/index.js.map +1 -0
  364. package/lib/index.d.ts +12 -0
  365. package/lib/index.d.ts.map +1 -0
  366. package/lib/index.js +1 -0
  367. package/lib/index.js.map +1 -0
  368. package/package.json +103 -3
  369. package/README.md +0 -5
@@ -0,0 +1,233 @@
1
+ import type { UserFacingSocketConfig } from '../Types/index.js';
2
+ declare const makeWASocket: (config: UserFacingSocketConfig) => {
3
+ communityMetadata: (jid: string) => Promise<import("../index.js").GroupMetadata>;
4
+ communityCreate: (subject: string, body: string) => Promise<import("../index.js").GroupMetadata | null>;
5
+ communityCreateGroup: (subject: string, participants: string[], parentCommunityJid: string) => Promise<import("../index.js").GroupMetadata | null>;
6
+ communityLeave: (id: string) => Promise<void>;
7
+ communityUpdateSubject: (jid: string, subject: string) => Promise<void>;
8
+ communityLinkGroup: (groupJid: string, parentCommunityJid: string) => Promise<void>;
9
+ communityUnlinkGroup: (groupJid: string, parentCommunityJid: string) => Promise<void>;
10
+ communityFetchLinkedGroups: (jid: string) => Promise<{
11
+ communityJid: string;
12
+ isCommunity: boolean;
13
+ linkedGroups: {
14
+ id: string | undefined;
15
+ subject: string;
16
+ creation: number | undefined;
17
+ owner: string | undefined;
18
+ size: number | undefined;
19
+ }[];
20
+ }>;
21
+ communityRequestParticipantsList: (jid: string) => Promise<{
22
+ [key: string]: string;
23
+ }[]>;
24
+ communityRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
25
+ status: string;
26
+ jid: string | undefined;
27
+ }[]>;
28
+ communityParticipantsUpdate: (jid: string, participants: string[], action: import("../index.js").ParticipantAction) => Promise<{
29
+ status: string;
30
+ jid: string | undefined;
31
+ content: import("../index.js").BinaryNode;
32
+ }[]>;
33
+ communityUpdateDescription: (jid: string, description?: string) => Promise<void>;
34
+ communityInviteCode: (jid: string) => Promise<string | undefined>;
35
+ communityRevokeInvite: (jid: string) => Promise<string | undefined>;
36
+ communityAcceptInvite: (code: string) => Promise<string | undefined>;
37
+ communityRevokeInviteV4: (communityJid: string, invitedJid: string) => Promise<boolean>;
38
+ communityAcceptInviteV4: (key: string | import("../index.js").WAMessageKey, inviteMessage: import("../index.js").proto.Message.IGroupInviteMessage) => Promise<any>;
39
+ communityGetInviteInfo: (code: string) => Promise<import("../index.js").GroupMetadata>;
40
+ communityToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
41
+ communitySettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
42
+ communityMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
43
+ communityJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
44
+ communityFetchAllParticipating: () => Promise<{
45
+ [_: string]: import("../index.js").GroupMetadata;
46
+ }>;
47
+ logger: import("../Utils/logger.js").ILogger;
48
+ getOrderDetails: (orderId: string, tokenBase64: string) => Promise<import("../index.js").OrderDetails>;
49
+ getCatalog: ({ jid, limit, cursor }: import("../index.js").GetCatalogOptions) => Promise<{
50
+ products: import("../index.js").Product[];
51
+ nextPageCursor: string | undefined;
52
+ }>;
53
+ getCollections: (jid?: string, limit?: number) => Promise<{
54
+ collections: import("../index.js").CatalogCollection[];
55
+ }>;
56
+ productCreate: (create: import("../index.js").ProductCreate) => Promise<import("../index.js").Product>;
57
+ productDelete: (productIds: string[]) => Promise<{
58
+ deleted: number;
59
+ }>;
60
+ productUpdate: (productId: string, update: import("../index.js").ProductUpdate) => Promise<import("../index.js").Product>;
61
+ updateBussinesProfile: (args: import("../Types/Bussines.js").UpdateBussinesProfileProps) => Promise<any>;
62
+ updateCoverPhoto: (photo: import("../index.js").WAMediaUpload) => Promise<number>;
63
+ removeCoverPhoto: (id: string) => Promise<any>;
64
+ sendMessageAck: ({ tag, attrs, content }: import("../index.js").BinaryNode, errorCode?: number) => Promise<void>;
65
+ sendRetryRequest: (node: import("../index.js").BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
66
+ rejectCall: (callId: string, callFrom: string) => Promise<void>;
67
+ fetchMessageHistory: (count: number, oldestMsgKey: import("../index.js").WAMessageKey, oldestMsgTimestamp: number | Long) => Promise<string>;
68
+ requestPlaceholderResend: (messageKey: import("../index.js").WAMessageKey) => Promise<string | undefined>;
69
+ messageRetryManager: import("../index.js").MessageRetryManager | null;
70
+ getPrivacyTokens: (jids: string[]) => Promise<any>;
71
+ assertSessions: (jids: string[], force?: boolean) => Promise<boolean>;
72
+ relayMessage: (jid: string, message: import("../index.js").proto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }: import("../index.js").MessageRelayOptions) => Promise<string>;
73
+ sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: import("../index.js").MessageReceiptType) => Promise<void>;
74
+ sendReceipts: (keys: import("../index.js").WAMessageKey[], type: import("../index.js").MessageReceiptType) => Promise<void>;
75
+ readMessages: (keys: import("../index.js").WAMessageKey[]) => Promise<void>;
76
+ refreshMediaConn: (forceGet?: boolean) => Promise<import("../index.js").MediaConnInfo>;
77
+ waUploadToServer: import("../index.js").WAMediaUploadFunction;
78
+ fetchPrivacySettings: (force?: boolean) => Promise<{
79
+ [_: string]: string;
80
+ }>;
81
+ sendPeerDataOperationMessage: (pdoMessage: import("../index.js").proto.Message.IPeerDataOperationRequestMessage) => Promise<string>;
82
+ createParticipantNodes: (recipientJids: string[], message: import("../index.js").proto.IMessage, extraAttrs?: import("../index.js").BinaryNode["attrs"], dsmMessage?: import("../index.js").proto.IMessage) => Promise<{
83
+ nodes: import("../index.js").BinaryNode[];
84
+ shouldIncludeDeviceIdentity: boolean;
85
+ }>;
86
+ getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<(import("../index.js").JidWithDevice & {
87
+ jid: string;
88
+ })[]>;
89
+ updateMediaMessage: (message: import("../index.js").WAMessage) => Promise<import("../index.js").WAMessage>;
90
+ sendMessage: (jid: string, content: import("../index.js").AnyMessageContent, options?: import("../index.js").MiscMessageGenerationOptions) => Promise<import("../index.js").WAMessage | undefined>;
91
+ newsletterCreate: (name: string, description?: string) => Promise<import("../index.js").NewsletterMetadata>;
92
+ newsletterUpdate: (jid: string, updates: import("../index.js").NewsletterUpdate) => Promise<unknown>;
93
+ newsletterSubscribers: (jid: string) => Promise<{
94
+ subscribers: number;
95
+ }>;
96
+ newsletterMetadata: (type: "invite" | "jid", key: string) => Promise<import("../index.js").NewsletterMetadata | null>;
97
+ newsletterFollow: (jid: string) => Promise<unknown>;
98
+ newsletterUnfollow: (jid: string) => Promise<unknown>;
99
+ newsletterMute: (jid: string) => Promise<unknown>;
100
+ newsletterUnmute: (jid: string) => Promise<unknown>;
101
+ newsletterUpdateName: (jid: string, name: string) => Promise<unknown>;
102
+ newsletterUpdateDescription: (jid: string, description: string) => Promise<unknown>;
103
+ newsletterUpdatePicture: (jid: string, content: import("../index.js").WAMediaUpload) => Promise<unknown>;
104
+ newsletterRemovePicture: (jid: string) => Promise<unknown>;
105
+ newsletterReactMessage: (jid: string, serverId: string, reaction?: string) => Promise<void>;
106
+ newsletterFetchMessages: (jid: string, count: number, since: number, after: number) => Promise<any>;
107
+ subscribeNewsletterUpdates: (jid: string) => Promise<{
108
+ duration: string;
109
+ } | null>;
110
+ newsletterAdminCount: (jid: string) => Promise<number>;
111
+ newsletterChangeOwner: (jid: string, newOwnerJid: string) => Promise<void>;
112
+ newsletterDemote: (jid: string, userJid: string) => Promise<void>;
113
+ newsletterDelete: (jid: string) => Promise<void>;
114
+ groupMetadata: (jid: string) => Promise<import("../index.js").GroupMetadata>;
115
+ groupCreate: (subject: string, participants: string[]) => Promise<import("../index.js").GroupMetadata>;
116
+ groupLeave: (id: string) => Promise<void>;
117
+ groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
118
+ groupRequestParticipantsList: (jid: string) => Promise<{
119
+ [key: string]: string;
120
+ }[]>;
121
+ groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
122
+ status: string;
123
+ jid: string | undefined;
124
+ }[]>;
125
+ groupParticipantsUpdate: (jid: string, participants: string[], action: import("../index.js").ParticipantAction) => Promise<{
126
+ status: string;
127
+ jid: string | undefined;
128
+ content: import("../index.js").BinaryNode;
129
+ }[]>;
130
+ groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
131
+ groupInviteCode: (jid: string) => Promise<string | undefined>;
132
+ groupRevokeInvite: (jid: string) => Promise<string | undefined>;
133
+ groupAcceptInvite: (code: string) => Promise<string | undefined>;
134
+ groupRevokeInviteV4: (groupJid: string, invitedJid: string) => Promise<boolean>;
135
+ groupAcceptInviteV4: (key: string | import("../index.js").WAMessageKey, inviteMessage: import("../index.js").proto.Message.IGroupInviteMessage) => Promise<any>;
136
+ groupGetInviteInfo: (code: string) => Promise<import("../index.js").GroupMetadata>;
137
+ groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
138
+ groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
139
+ groupMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
140
+ groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
141
+ groupFetchAllParticipating: () => Promise<{
142
+ [_: string]: import("../index.js").GroupMetadata;
143
+ }>;
144
+ createCallLink: (type: "audio" | "video", event?: {
145
+ startTime: number;
146
+ }, timeoutMs?: number) => Promise<string | undefined>;
147
+ getBotListV2: () => Promise<import("../index.js").BotListInfo[]>;
148
+ processingMutex: {
149
+ mutex<T>(code: () => Promise<T> | T): Promise<T>;
150
+ };
151
+ upsertMessage: (msg: import("../index.js").WAMessage, type: import("../index.js").MessageUpsertType) => Promise<void>;
152
+ appPatch: (patchCreate: import("../index.js").WAPatchCreate) => Promise<void>;
153
+ sendPresenceUpdate: (type: import("../index.js").WAPresence, toJid?: string) => Promise<void>;
154
+ presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
155
+ profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
156
+ fetchBlocklist: () => Promise<(string | undefined)[]>;
157
+ fetchStatus: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
158
+ fetchDisappearingDuration: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
159
+ updateProfilePicture: (jid: string, content: import("../index.js").WAMediaUpload, dimensions?: {
160
+ width: number;
161
+ height: number;
162
+ }) => Promise<void>;
163
+ removeProfilePicture: (jid: string) => Promise<void>;
164
+ updateProfileStatus: (status: string) => Promise<void>;
165
+ updateProfileName: (name: string) => Promise<void>;
166
+ updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
167
+ updateDisableLinkPreviewsPrivacy: (isPreviewsDisabled: boolean) => Promise<void>;
168
+ updateCallPrivacy: (value: import("../index.js").WAPrivacyCallValue) => Promise<void>;
169
+ updateMessagesPrivacy: (value: import("../index.js").WAPrivacyMessagesValue) => Promise<void>;
170
+ updateLastSeenPrivacy: (value: import("../index.js").WAPrivacyValue) => Promise<void>;
171
+ updateOnlinePrivacy: (value: import("../index.js").WAPrivacyOnlineValue) => Promise<void>;
172
+ updateProfilePicturePrivacy: (value: import("../index.js").WAPrivacyValue) => Promise<void>;
173
+ updateStatusPrivacy: (value: import("../index.js").WAPrivacyValue) => Promise<void>;
174
+ updateReadReceiptsPrivacy: (value: import("../index.js").WAReadReceiptsValue) => Promise<void>;
175
+ updateGroupsAddPrivacy: (value: import("../index.js").WAPrivacyGroupAddValue) => Promise<void>;
176
+ updateDefaultDisappearingMode: (duration: number) => Promise<void>;
177
+ getBusinessProfile: (jid: string) => Promise<import("../index.js").WABusinessProfile | void>;
178
+ resyncAppState: (collections: readonly ("critical_unblock_low" | "regular_high" | "regular_low" | "critical_block" | "regular")[], isInitialSync: boolean) => Promise<void>;
179
+ chatModify: (mod: import("../index.js").ChatModification, jid: string) => Promise<void>;
180
+ cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
181
+ addOrEditContact: (jid: string, contact: import("../index.js").proto.SyncActionValue.IContactAction) => Promise<void>;
182
+ removeContact: (jid: string) => Promise<void>;
183
+ addLabel: (jid: string, labels: import("../Types/Label.js").LabelActionBody) => Promise<void>;
184
+ addChatLabel: (jid: string, labelId: string) => Promise<void>;
185
+ removeChatLabel: (jid: string, labelId: string) => Promise<void>;
186
+ addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
187
+ removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
188
+ star: (jid: string, messages: {
189
+ id: string;
190
+ fromMe?: boolean;
191
+ }[], star: boolean) => Promise<void>;
192
+ addOrEditQuickReply: (quickReply: import("../Types/Bussines.js").QuickReplyAction) => Promise<void>;
193
+ removeQuickReply: (timestamp: string) => Promise<void>;
194
+ type: "md";
195
+ ws: import("./Client/index.js").WebSocketClient;
196
+ ev: import("../index.js").BaileysEventEmitter & {
197
+ process(handler: (events: Partial<import("../index.js").BaileysEventMap>) => void | Promise<void>): () => void;
198
+ buffer(): void;
199
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
200
+ flush(): boolean;
201
+ isBuffering(): boolean;
202
+ };
203
+ authState: {
204
+ creds: import("../index.js").AuthenticationCreds;
205
+ keys: import("../index.js").SignalKeyStoreWithTransaction;
206
+ };
207
+ signalRepository: import("../index.js").SignalRepositoryWithLIDStore;
208
+ user: import("../index.js").Contact | undefined;
209
+ generateMessageTag: () => string;
210
+ query: (node: import("../index.js").BinaryNode, timeoutMs?: number) => Promise<any>;
211
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
212
+ waitForSocketOpen: () => Promise<void>;
213
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
214
+ sendNode: (frame: import("../index.js").BinaryNode) => Promise<void>;
215
+ logout: (msg?: string) => Promise<void>;
216
+ end: (error: Error | undefined) => void;
217
+ onUnexpectedError: (err: Error | import("@hapi/boom").Boom, msg: string) => void;
218
+ uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
219
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
220
+ digestKeyBundle: () => Promise<void>;
221
+ rotateSignedPreKey: () => Promise<void>;
222
+ requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
223
+ wamBuffer: import("../index.js").BinaryInfo;
224
+ waitForConnectionUpdate: (check: (u: Partial<import("../index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
225
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
226
+ executeUSyncQuery: (usyncQuery: import("../index.js").USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
227
+ onWhatsApp: (...phoneNumber: string[]) => Promise<{
228
+ jid: string;
229
+ exists: boolean;
230
+ }[] | undefined>;
231
+ };
232
+ export default makeWASocket;
233
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Socket/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAItD,QAAA,MAAM,YAAY,GAAI,QAAQ,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiB4xqB,CAAC;;;;;;;;;0DAAj6oB,GAAG,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAH/8B,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ import{DEFAULT_CONNECTION_CONFIG as s}from'../Defaults/index.js';import{makeCommunitiesSocket as o}from'./communities.js';export default t=>{const e={...s,...t};return void 0===t.shouldSyncHistoryMessage&&(e.shouldSyncHistoryMessage=()=>!!e.syncFullHistory),o(e)};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD,+BAA+B;AAC/B,MAAM,YAAY,GAAG,CAAC,MAA8B,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG;QACjB,GAAG,yBAAyB;QAC5B,GAAG,MAAM;KACT,CAAA;IAED,+DAA+D;IAC/D,qEAAqE;IACrE,eAAe;IACf,IAAI,MAAM,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACnD,SAAS,CAAC,wBAAwB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAA;IACvE,CAAC;IAED,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,175 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import Long from 'long';
3
+ import { proto } from '../../WAProto/index.js';
4
+ import type { MessageReceiptType, MessageRelayOptions, SocketConfig, WAMessage, WAMessageKey } from '../Types/index.js';
5
+ import { type BinaryNode } from '../WABinary/index.js';
6
+ export declare const makeMessagesRecvSocket: (config: SocketConfig) => {
7
+ sendMessageAck: ({ tag, attrs, content }: BinaryNode, errorCode?: number) => Promise<void>;
8
+ sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
9
+ rejectCall: (callId: string, callFrom: string) => Promise<void>;
10
+ fetchMessageHistory: (count: number, oldestMsgKey: WAMessageKey, oldestMsgTimestamp: number | Long) => Promise<string>;
11
+ requestPlaceholderResend: (messageKey: WAMessageKey) => Promise<string | undefined>;
12
+ messageRetryManager: import("../Utils/index.js").MessageRetryManager | null;
13
+ getPrivacyTokens: (jids: string[]) => Promise<any>;
14
+ assertSessions: (jids: string[], force?: boolean) => Promise<boolean>;
15
+ relayMessage: (jid: string, message: proto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }: MessageRelayOptions) => Promise<string>;
16
+ sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: MessageReceiptType) => Promise<void>;
17
+ sendReceipts: (keys: WAMessageKey[], type: MessageReceiptType) => Promise<void>;
18
+ readMessages: (keys: WAMessageKey[]) => Promise<void>;
19
+ refreshMediaConn: (forceGet?: boolean) => Promise<import("../Types/index.js").MediaConnInfo>;
20
+ waUploadToServer: import("../Types/index.js").WAMediaUploadFunction;
21
+ fetchPrivacySettings: (force?: boolean) => Promise<{
22
+ [_: string]: string;
23
+ }>;
24
+ sendPeerDataOperationMessage: (pdoMessage: proto.Message.IPeerDataOperationRequestMessage) => Promise<string>;
25
+ createParticipantNodes: (recipientJids: string[], message: proto.IMessage, extraAttrs?: BinaryNode["attrs"], dsmMessage?: proto.IMessage) => Promise<{
26
+ nodes: BinaryNode[];
27
+ shouldIncludeDeviceIdentity: boolean;
28
+ }>;
29
+ getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<(import("../WABinary/index.js").JidWithDevice & {
30
+ jid: string;
31
+ })[]>;
32
+ updateMediaMessage: (message: WAMessage) => Promise<WAMessage>;
33
+ sendMessage: (jid: string, content: import("../Types/index.js").AnyMessageContent, options?: import("../Types/index.js").MiscMessageGenerationOptions) => Promise<WAMessage | undefined>;
34
+ newsletterCreate: (name: string, description?: string) => Promise<import("../Types/index.js").NewsletterMetadata>;
35
+ newsletterUpdate: (jid: string, updates: import("../Types/index.js").NewsletterUpdate) => Promise<unknown>;
36
+ newsletterSubscribers: (jid: string) => Promise<{
37
+ subscribers: number;
38
+ }>;
39
+ newsletterMetadata: (type: "invite" | "jid", key: string) => Promise<import("../Types/index.js").NewsletterMetadata | null>;
40
+ newsletterFollow: (jid: string) => Promise<unknown>;
41
+ newsletterUnfollow: (jid: string) => Promise<unknown>;
42
+ newsletterMute: (jid: string) => Promise<unknown>;
43
+ newsletterUnmute: (jid: string) => Promise<unknown>;
44
+ newsletterUpdateName: (jid: string, name: string) => Promise<unknown>;
45
+ newsletterUpdateDescription: (jid: string, description: string) => Promise<unknown>;
46
+ newsletterUpdatePicture: (jid: string, content: import("../Types/index.js").WAMediaUpload) => Promise<unknown>;
47
+ newsletterRemovePicture: (jid: string) => Promise<unknown>;
48
+ newsletterReactMessage: (jid: string, serverId: string, reaction?: string) => Promise<void>;
49
+ newsletterFetchMessages: (jid: string, count: number, since: number, after: number) => Promise<any>;
50
+ subscribeNewsletterUpdates: (jid: string) => Promise<{
51
+ duration: string;
52
+ } | null>;
53
+ newsletterAdminCount: (jid: string) => Promise<number>;
54
+ newsletterChangeOwner: (jid: string, newOwnerJid: string) => Promise<void>;
55
+ newsletterDemote: (jid: string, userJid: string) => Promise<void>;
56
+ newsletterDelete: (jid: string) => Promise<void>;
57
+ groupMetadata: (jid: string) => Promise<import("../Types/index.js").GroupMetadata>;
58
+ groupCreate: (subject: string, participants: string[]) => Promise<import("../Types/index.js").GroupMetadata>;
59
+ groupLeave: (id: string) => Promise<void>;
60
+ groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
61
+ groupRequestParticipantsList: (jid: string) => Promise<{
62
+ [key: string]: string;
63
+ }[]>;
64
+ groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
65
+ status: string;
66
+ jid: string | undefined;
67
+ }[]>;
68
+ groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types/index.js").ParticipantAction) => Promise<{
69
+ status: string;
70
+ jid: string | undefined;
71
+ content: BinaryNode;
72
+ }[]>;
73
+ groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
74
+ groupInviteCode: (jid: string) => Promise<string | undefined>;
75
+ groupRevokeInvite: (jid: string) => Promise<string | undefined>;
76
+ groupAcceptInvite: (code: string) => Promise<string | undefined>;
77
+ groupRevokeInviteV4: (groupJid: string, invitedJid: string) => Promise<boolean>;
78
+ groupAcceptInviteV4: (key: string | WAMessageKey, inviteMessage: proto.Message.IGroupInviteMessage) => Promise<any>;
79
+ groupGetInviteInfo: (code: string) => Promise<import("../Types/index.js").GroupMetadata>;
80
+ groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
81
+ groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
82
+ groupMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
83
+ groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
84
+ groupFetchAllParticipating: () => Promise<{
85
+ [_: string]: import("../Types/index.js").GroupMetadata;
86
+ }>;
87
+ createCallLink: (type: "audio" | "video", event?: {
88
+ startTime: number;
89
+ }, timeoutMs?: number) => Promise<string | undefined>;
90
+ getBotListV2: () => Promise<import("../Types/index.js").BotListInfo[]>;
91
+ processingMutex: {
92
+ mutex<T>(code: () => Promise<T> | T): Promise<T>;
93
+ };
94
+ upsertMessage: (msg: WAMessage, type: import("../Types/index.js").MessageUpsertType) => Promise<void>;
95
+ appPatch: (patchCreate: import("../Types/index.js").WAPatchCreate) => Promise<void>;
96
+ sendPresenceUpdate: (type: import("../Types/index.js").WAPresence, toJid?: string) => Promise<void>;
97
+ presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
98
+ profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
99
+ fetchBlocklist: () => Promise<(string | undefined)[]>;
100
+ fetchStatus: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
101
+ fetchDisappearingDuration: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
102
+ updateProfilePicture: (jid: string, content: import("../Types/index.js").WAMediaUpload, dimensions?: {
103
+ width: number;
104
+ height: number;
105
+ }) => Promise<void>;
106
+ removeProfilePicture: (jid: string) => Promise<void>;
107
+ updateProfileStatus: (status: string) => Promise<void>;
108
+ updateProfileName: (name: string) => Promise<void>;
109
+ updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
110
+ updateDisableLinkPreviewsPrivacy: (isPreviewsDisabled: boolean) => Promise<void>;
111
+ updateCallPrivacy: (value: import("../Types/index.js").WAPrivacyCallValue) => Promise<void>;
112
+ updateMessagesPrivacy: (value: import("../Types/index.js").WAPrivacyMessagesValue) => Promise<void>;
113
+ updateLastSeenPrivacy: (value: import("../Types/index.js").WAPrivacyValue) => Promise<void>;
114
+ updateOnlinePrivacy: (value: import("../Types/index.js").WAPrivacyOnlineValue) => Promise<void>;
115
+ updateProfilePicturePrivacy: (value: import("../Types/index.js").WAPrivacyValue) => Promise<void>;
116
+ updateStatusPrivacy: (value: import("../Types/index.js").WAPrivacyValue) => Promise<void>;
117
+ updateReadReceiptsPrivacy: (value: import("../Types/index.js").WAReadReceiptsValue) => Promise<void>;
118
+ updateGroupsAddPrivacy: (value: import("../Types/index.js").WAPrivacyGroupAddValue) => Promise<void>;
119
+ updateDefaultDisappearingMode: (duration: number) => Promise<void>;
120
+ getBusinessProfile: (jid: string) => Promise<import("../Types/index.js").WABusinessProfile | void>;
121
+ resyncAppState: (collections: readonly ("critical_unblock_low" | "regular_high" | "regular_low" | "critical_block" | "regular")[], isInitialSync: boolean) => Promise<void>;
122
+ chatModify: (mod: import("../Types/index.js").ChatModification, jid: string) => Promise<void>;
123
+ cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
124
+ addOrEditContact: (jid: string, contact: proto.SyncActionValue.IContactAction) => Promise<void>;
125
+ removeContact: (jid: string) => Promise<void>;
126
+ addLabel: (jid: string, labels: import("../Types/Label.js").LabelActionBody) => Promise<void>;
127
+ addChatLabel: (jid: string, labelId: string) => Promise<void>;
128
+ removeChatLabel: (jid: string, labelId: string) => Promise<void>;
129
+ addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
130
+ removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
131
+ star: (jid: string, messages: {
132
+ id: string;
133
+ fromMe?: boolean;
134
+ }[], star: boolean) => Promise<void>;
135
+ addOrEditQuickReply: (quickReply: import("../Types/Bussines.js").QuickReplyAction) => Promise<void>;
136
+ removeQuickReply: (timestamp: string) => Promise<void>;
137
+ type: "md";
138
+ ws: import("./Client/websocket.js").WebSocketClient;
139
+ ev: import("../Types/index.js").BaileysEventEmitter & {
140
+ process(handler: (events: Partial<import("../Types/index.js").BaileysEventMap>) => void | Promise<void>): () => void;
141
+ buffer(): void;
142
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
143
+ flush(): boolean;
144
+ isBuffering(): boolean;
145
+ };
146
+ authState: {
147
+ creds: import("../Types/index.js").AuthenticationCreds;
148
+ keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
149
+ };
150
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
151
+ user: import("../Types/index.js").Contact | undefined;
152
+ generateMessageTag: () => string;
153
+ query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
154
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
155
+ waitForSocketOpen: () => Promise<void>;
156
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
157
+ sendNode: (frame: BinaryNode) => Promise<void>;
158
+ logout: (msg?: string) => Promise<void>;
159
+ end: (error: Error | undefined) => void;
160
+ onUnexpectedError: (err: Error | Boom, msg: string) => void;
161
+ uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
162
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
163
+ digestKeyBundle: () => Promise<void>;
164
+ rotateSignedPreKey: () => Promise<void>;
165
+ requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
166
+ wamBuffer: import("../index.js").BinaryInfo;
167
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types/index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
168
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
169
+ executeUSyncQuery: (usyncQuery: import("../index.js").USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
170
+ onWhatsApp: (...phoneNumber: string[]) => Promise<{
171
+ jid: string;
172
+ exists: boolean;
173
+ }[] | undefined>;
174
+ };
175
+ //# sourceMappingURL=messages-recv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-recv.d.ts","sourceRoot":"","sources":["../../src/Socket/messages-recv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EAEX,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EAEZ,SAAS,EACT,YAAY,EAEZ,MAAM,UAAU,CAAA;AA4BjB,OAAO,EAEN,KAAK,UAAU,EAef,MAAM,aAAa,CAAA;AAIpB,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY;8CAwQH,UAAU,cAAc,MAAM;6BA2D/C,UAAU;yBAtBd,MAAM,YAAY,MAAM;iCAzPlD,MAAM,gBACC,YAAY,sBACN,MAAM,GAAG,IAAI,KAC/B,OAAO,CAAC,MAAM,CAAC;2CAmBkC,YAAY,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAunB1F,CAAJ;;;;;;;;;0DAhsBsF,GAAG,0BACxF,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAu9CD,CAAA"}
@@ -0,0 +1 @@
1
+ import e from'@cacheable/node-cache';import{Boom as t}from'@hapi/boom';import{randomBytes as a}from'crypto';import s from'long';import{proto as r}from'../../WAProto/index.js';import{DEFAULT_CACHE_TTLS as i,KEY_BUNDLE_TYPE as n,MIN_PREKEY_COUNT as o}from'../Defaults/index.js';import{WAMessageStatus as c,WAMessageStubType as d}from'../Types/index.js';import{aesDecryptCTR as p,aesEncryptGCM as m,cleanMessage as g,Curve as u,decodeMediaRetryNode as l,decodeMessageNode as y,decryptMessageNode as f,delay as w,derivePairingCodeKey as b,encodeBigEndian as _,encodeSignedDeviceIdentity as k,extractAddressingContext as h,getCallStatusFromNode as S,getHistoryMsg as R,getNextPreKeys as M,getStatusFromReceiptType as P,hkdf as v,MISSING_KEYS_ERROR_TEXT as E,NACK_REASONS as T,NO_MESSAGE_FOUND_ERROR_TEXT as O,unixTimestampSeconds as A,xmppPreKey as I,xmppSignedPreKey as C}from'../Utils/index.js';import{makeMutex as j}from'../Utils/make-mutex.js';import{areJidsSameUser as N,binaryNodeToString as D,getAllBinaryNodeChildren as J,getBinaryNodeChild as U,getBinaryNodeChildBuffer as x,getBinaryNodeChildren as G,getBinaryNodeChildString as q,isJidGroup as L,isJidNewsletter as B,isJidStatusBroadcast as K,isLidUser as V,isPnUser as H,jidDecode as $,jidNormalizedUser as F,S_WHATSAPP_NET as W}from'../WABinary/index.js';import{extractGroupMetadata as Y}from'./groups.js';import{makeMessagesSocket as Q}from'./messages-send.js';export const makeMessagesRecvSocket=s=>{const{logger:X,retryRequestDelayMs:z,maxMsgRetryCount:Z,getMessage:ee,shouldIgnoreJid:te,enableAutoSessionRecreation:ae}=s,se=Q(s),{ev:re,authState:ie,ws:ne,processingMutex:oe,signalRepository:ce,query:de,upsertMessage:pe,resyncAppState:me,onUnexpectedError:ge,assertSessions:ue,sendNode:le,relayMessage:ye,sendReceipt:fe,uploadPreKeys:we,sendPeerDataOperationMessage:be,messageRetryManager:_e}=se,ke=j(),he=s.msgRetryCounterCache||new e({stdTTL:i.MSG_RETRY,useClones:!1}),Se=s.callOfferCache||new e({stdTTL:i.CALL_OFFER,useClones:!1}),Re=s.placeholderResendCache||new e({stdTTL:i.MSG_RETRY,useClones:!1}),Me=new e({stdTTL:5,useClones:!1});let Pe=!1;const ve=async e=>{if(!ie.creds.me?.id)throw new t('Not authenticated');if(Re.get(e?.id))return void X.debug({messageKey:e},'already requested resend');if(await Re.set(e?.id,!0),await w(5e3),!Re.get(e?.id))return X.debug({messageKey:e},'message received while resend requested'),'RESOLVED';const a={placeholderMessageResendRequest:[{messageKey:e}],peerDataOperationRequestType:r.Message.PeerDataOperationRequestType.PLACEHOLDER_MESSAGE_RESEND};return setTimeout(async()=>{Re.get(e?.id)&&(X.debug({messageKey:e},'PDO message without response after 15 seconds. Phone possibly offline'),await Re.del(e?.id))},15e3),be(a)},Ee=async({tag:e,attrs:t,content:a},s)=>{const r={tag:'ack',attrs:{id:t.id,to:t.from,class:e}};s&&(r.attrs.error=''+s),t.participant&&(r.attrs.participant=t.participant),t.recipient&&(r.attrs.recipient=t.recipient),t.type&&('message'!==e||U({tag:e,attrs:t,content:a},'unavailable')||0!==s)&&(r.attrs.type=t.type),'message'===e&&U({tag:e,attrs:t,content:a},'unavailable')&&(r.attrs.from=ie.creds.me.id),X.debug({recv:{tag:e,attrs:t},sent:r.attrs},'sent ack'),await le(r)},Te=async(e,t=!1)=>{const{fullMessage:a}=y(e,ie.creds.me.id,ie.creds.me.lid||''),{key:s}=a,r=s.id;if(_e){if(_e.hasExceededMaxRetries(r))return X.debug({msgId:r},'reached retry limit with new retry manager, clearing'),void _e.markRetryFailed(r);const e=_e.incrementRetryCount(r),t=`${r}:${s?.participant}`;await he.set(t,e)}else{const e=`${r}:${s?.participant}`;let t=await he.get(e)||0;if(t>=Z)return X.debug({retryCount:t,msgId:r},'reached retry limit, clearing'),void await he.del(e);t+=1,await he.set(e,t)}const i=`${r}:${s?.participant}`,o=await he.get(i)||1,{account:c,signedPreKey:d,signedIdentityKey:p}=ie.creds,m=e.attrs.from;let g=!1,u='';if(ae&&_e)try{const e=ce.jidToSignalProtocolAddress(m),a=await ce.validateSession(m),s=_e.shouldRecreateSession(m,o,a.exists);g=s.recreate,u=s.reason,g&&(X.debug({fromJid:m,retryCount:o,reason:u},'recreating session for retry'),await ie.keys.set({session:{[e]:null}}),t=!0)}catch(e){X.warn({error:e,fromJid:m},'failed to check session recreation')}if(2>=o)if(_e)_e.schedulePhoneRequest(r,async()=>{try{const e=await ve(s);X.debug(`sendRetryRequest: requested placeholder resend (${e}) for message ${r} (scheduled)`)}catch(e){X.warn({error:e,msgId:r},'failed to send scheduled phone request')}});else{const e=await ve(s);X.debug('sendRetryRequest: requested placeholder resend for message '+e)}const l=k(c,!0);await ie.keys.transaction(async()=>{const a={tag:'receipt',attrs:{id:r,type:'retry',to:e.attrs.from},content:[{tag:'retry',attrs:{count:''+o,id:e.attrs.id,t:e.attrs.t,v:'1',error:'0'}},{tag:'registration',attrs:{},content:_(ie.creds.registrationId)}]};if(e.attrs.recipient&&(a.attrs.recipient=e.attrs.recipient),e.attrs.participant&&(a.attrs.participant=e.attrs.participant),o>1||t||g){const{update:e,preKeys:t}=await M(ie,1),[s]=Object.keys(t),r=t[+s];a.content.push({tag:'keys',attrs:{},content:[{tag:'type',attrs:{},content:Buffer.from(n)},{tag:'identity',attrs:{},content:p.public},I(r,+s),C(d),{tag:'device-identity',attrs:{},content:l}]}),re.emit('creds.update',e)}await le(a),X.info({msgAttrs:e.attrs,retryCount:o},'sent retry receipt')},ie?.creds?.me?.id||'sendRetryRequest')};function Oe(e){if(void 0===e)throw new t('Invalid buffer',{statusCode:400});return e instanceof Buffer?e:Buffer.from(e)}const Ae=async(e,t)=>{const a=`${e}:${t}`,s=await he.get(a)||0;return Z>s},Ie=async(e,t)=>{const a=`${e}:${t}`,s=(await he.get(a)||0)+1;await he.set(a,s)},Ce=async e=>{const{attrs:t,content:a}=e,s=t.from.includes('lid'),i=N(t.participant||t.from,s?ie.creds.me?.lid:ie.creds.me?.id),n=!i||L(t.from)?t.from:t.recipient,o={remoteJid:n,id:'',fromMe:!t.recipient||('retry'===t.type||'sender'===t.type)&&i,participant:t.participant};if(te(n)&&n!==W)return X.debug({remoteJid:n},'ignoring receipt from jid'),void await Ee(e);const c=[t.id];if(Array.isArray(a)){const e=G(a[0],'item');c.push(...e.map(e=>e.attrs.id))}try{await Promise.all([oe.mutex(async()=>{const a=P(t.type);if(!(void 0===a||r.WebMessageInfo.Status.SERVER_ACK>a&&i))if(L(n)||K(n)){if(t.participant){const e=a===r.WebMessageInfo.Status.DELIVERY_ACK?'receiptTimestamp':'readTimestamp';re.emit('message-receipt.update',c.map(a=>({key:{...o,id:a},receipt:{userJid:F(t.participant),[e]:+t.t}})))}}else re.emit('messages.update',c.map(e=>({key:{...o,id:e},update:{status:a}})));if('retry'===t.type){o.participant=o.participant||t.from;const a=U(e,'retry');if(c[0]&&o.participant&&await Ae(c[0],o.participant))if(o.fromMe)try{await Ie(c[0],o.participant),X.debug({attrs:t,key:o},'recv retry request'),await(async(e,t,a)=>{const s=e.remoteJid,r=e.participant||s,i=+a.attrs.count||1,n=[];for(const a of t){let t;if(_e){const e=_e.getRecentMessage(s,a);e&&(t=e.message,X.debug({jid:s,id:a},'found message in retry cache'),_e.markRetrySuccess(a))}t||(t=await ee({...e,id:a}),t&&(X.debug({jid:s,id:a},'found message via getMessage'),_e&&_e.markRetrySuccess(a))),n.push(t)}const o=!$(r)?.device;let c=!1,d='';if(ae&&_e)try{const e=ce.jidToSignalProtocolAddress(r),t=await ce.validateSession(r),a=_e.shouldRecreateSession(r,i,t.exists);c=a.recreate,d=a.reason,c&&(X.debug({participant:r,retryCount:i,reason:d},'recreating session for outgoing retry'),await ie.keys.set({session:{[e]:null}}))}catch(e){X.warn({error:e,participant:r},'failed to check session recreation for outgoing retry')}await ue([r],!0),L(s)&&await ie.keys.set({'sender-key-memory':{[s]:null}}),X.debug({participant:r,sendToAll:o,shouldRecreateSession:c,recreateReason:d},'forced new session for retry recp');for(const[s,i]of n.entries())if(t[s])if(i&&await Ae(t[s],r)){await Ie(t[s],r);const n={messageId:t[s]};o?n.useUserDevicesCache=!1:n.participant={jid:r,count:+a.attrs.count},await ye(e.remoteJid,i,n)}else X.debug({jid:e.remoteJid,id:t[s]},'recv retry request, but message not available')})(o,c,a)}catch(e){X.error({key:o,ids:c,trace:e instanceof Error?e.stack:'Unknown error'},'error in sending message again')}else X.info({attrs:t,key:o},'recv retry for not fromMe message');else X.info({attrs:t,key:o},'will not send message again, as sent too many times')}})])}finally{await Ee(e)}},je=async e=>{const t=e.attrs.from;if(te(t)&&t!==W)return X.debug({remoteJid:t,id:e.attrs.id},'ignored notification'),void await Ee(e);try{await Promise.all([oe.mutex(async()=>{const s=await(async e=>{const t={},[s]=J(e),i=e.attrs.type,n=F(e.attrs.from);switch(i){case'newsletter':await(async e=>{const t=e.attrs.from,a=J(e)[0],s=e.attrs.participant;switch(X.info({from:t,child:a},'got newsletter notification'),a.tag){case'reaction':const i={id:t,server_id:a.attrs.message_id,reaction:{code:q(a,'reaction'),count:1}};re.emit('newsletter.reaction',i);break;case'view':re.emit('newsletter.view',{id:t,server_id:a.attrs.message_id,count:parseInt(a.content?.toString()||'0',10)});break;case'participant':re.emit('newsletter-participants.update',{id:t,author:s,user:a.attrs.jid,action:a.attrs.action,new_role:a.attrs.role});break;case'update':const n=U(a,'settings');if(n){const e={},a=U(n,'name');a?.content&&(e.name=''+a.content);const s=U(n,'description');s?.content&&(e.description=''+s.content),re.emit('newsletter-settings.update',{id:t,update:e})}break;case'message':const o=U(a,'plaintext');if(o?.content)try{const e='string'==typeof o.content?Buffer.from(o.content,'binary'):Buffer.from(o.content),s=r.Message.decode(e).toJSON(),i=r.WebMessageInfo.fromObject({key:{remoteJid:t,id:a.attrs.message_id||a.attrs.server_id,fromMe:!1},message:s,messageTimestamp:+a.attrs.t}).toJSON();await pe(i,'append'),X.info('Processed plaintext newsletter message')}catch(e){X.error({error:e},'Failed to decode plaintext newsletter message')}break;default:X.warn({node:e},'Unknown newsletter notification')}})(e);break;case'mex':await(async e=>{const t=U(e,'mex');if(!t?.content)return void X.warn({node:e},'Invalid mex newsletter notification');let a;try{a=JSON.parse(''+t.content)}catch(t){return void X.error({err:t,node:e},'Failed to parse mex newsletter notification')}const s=a?.operation,r=a?.updates;if(r&&s)switch(X.info({operation:s,updates:r},'got mex newsletter notification'),s){case'NotificationNewsletterUpdate':for(const e of r)e.jid&&e.settings&&Object.keys(e.settings).length>0&&re.emit('newsletter-settings.update',{id:e.jid,update:e.settings});break;case'NotificationNewsletterAdminPromote':for(const t of r)t.jid&&t.user&&re.emit('newsletter-participants.update',{id:t.jid,author:e.attrs.from,user:t.user,new_role:'ADMIN',action:'promote'});break;default:X.info({operation:s,data:a},'Unhandled mex newsletter notification')}else X.warn({data:a},'Invalid mex newsletter notification content')})(e);break;case'w:gp2':((e,t,a)=>{const s=e.attrs.participant,i=e.attrs.participant_pn,n=U(t,'participant')?.attrs?.jid||s,o=U(t,'participant')?.attrs?.phone_number||i;switch(t?.tag){case'create':const e=Y(t);a.messageStubType=d.GROUP_CREATE,a.messageStubParameters=[e.subject],a.key={participant:e.owner,participantAlt:e.ownerPn},re.emit('chats.upsert',[{id:e.id,name:e.subject,conversationTimestamp:e.creation}]),re.emit('groups.upsert',[{...e,author:s,authorPn:i}]);break;case'ephemeral':case'not_ephemeral':a.message={protocolMessage:{type:r.Message.ProtocolMessage.Type.EPHEMERAL_SETTING,ephemeralExpiration:+(t.attrs.expiration||0)}};break;case'modify':const c=G(t,'participant').map(e=>e.attrs.jid);a.messageStubParameters=c||[],a.messageStubType=d.GROUP_PARTICIPANT_CHANGE_NUMBER;break;case'promote':case'demote':case'remove':case'add':case'leave':const p='GROUP_PARTICIPANT_'+t.tag.toUpperCase();a.messageStubType=d[p];const m=G(t,'participant').map(({attrs:e})=>({id:e.jid,phoneNumber:V(e.jid)&&H(e.phone_number)?e.phone_number:void 0,lid:H(e.jid)&&V(e.lid)?e.lid:void 0,admin:e.type||null}));1===m.length&&(N(m[0].id,s)||N(m[0].id,i))&&'remove'===t.tag&&(a.messageStubType=d.GROUP_PARTICIPANT_LEAVE),a.messageStubParameters=m.map(e=>JSON.stringify(e));break;case'subject':a.messageStubType=d.GROUP_CHANGE_SUBJECT,a.messageStubParameters=[t.attrs.subject];break;case'description':const g=U(t,'body')?.content?.toString();a.messageStubType=d.GROUP_CHANGE_DESCRIPTION,a.messageStubParameters=g?[g]:void 0;break;case'announcement':case'not_announcement':a.messageStubType=d.GROUP_CHANGE_ANNOUNCE,a.messageStubParameters=['announcement'===t.tag?'on':'off'];break;case'locked':case'unlocked':a.messageStubType=d.GROUP_CHANGE_RESTRICT,a.messageStubParameters=['locked'===t.tag?'on':'off'];break;case'invite':a.messageStubType=d.GROUP_CHANGE_INVITE_LINK,a.messageStubParameters=[t.attrs.code];break;case'member_add_mode':const u=t.content;u&&(a.messageStubType=d.GROUP_MEMBER_ADD_MODE,a.messageStubParameters=[''+u]);break;case'membership_approval_mode':const l=U(t,'group_join');l&&(a.messageStubType=d.GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE,a.messageStubParameters=[l.attrs.state]);break;case'created_membership_requests':a.messageStubType=d.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD,a.messageStubParameters=[JSON.stringify({lid:n,pn:o}),'created',t.attrs.request_method];break;case'revoked_membership_requests':const y=N(n,s);a.messageStubType=d.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD,a.messageStubParameters=[JSON.stringify({lid:n,pn:o}),y?'revoked':'rejected']}})(e,s,t);break;case'mediaretry':const i=l(e);re.emit('messages.media-update',[i]);break;case'encrypt':await(async e=>{const t=e.attrs.from;if(t===W){const t=+U(e,'count').attrs.value,a=o>t;X.debug({count:t,shouldUploadMorePreKeys:a},'recv pre-key count'),a&&await we()}else if(U(e,'identity')){if(X.info({jid:t},'identity changed'),Me.get(t))return void X.debug({jid:t},'skipping identity assert (debounced)');Me.set(t,!0);try{await ue([t],!0)}catch(e){X.warn({error:e,jid:t},'failed to assert sessions after identity change')}}else X.info({node:e},'unknown encrypt notification')})(e);break;case'devices':const c=G(s,'device');if(N(s.attrs.jid,ie.creds.me.id)||N(s.attrs.lid,ie.creds.me.lid)){const e=c.map(e=>({id:e.attrs.jid,lid:e.attrs.lid}));X.info({deviceData:e},'my own devices changed')}break;case'server_sync':const g=U(e,'collection');if(g){const e=g.attrs.name;await me([e],!1)}break;case'picture':const y=U(e,'set'),f=U(e,'delete');if(re.emit('contacts.update',[{id:F(e?.attrs?.from)||(y||f)?.attrs?.hash||'',imgUrl:y?'changed':'removed'}]),L(n)){const e=y||f;t.messageStubType=d.GROUP_CHANGE_ICON,y&&(t.messageStubParameters=[y.attrs.id]),t.participant=e?.attrs.author,t.key={...t.key||{},participant:y?.attrs.author}}break;case'account_sync':if('disappearing_mode'===s.tag){const e=+s.attrs.duration,t=+s.attrs.t;X.info({newDuration:e},'updated account disappearing mode'),re.emit('creds.update',{accountSettings:{...ie.creds.accountSettings,defaultDisappearingMode:{ephemeralExpiration:e,ephemeralSettingTimestamp:t}}})}else if('blocklist'===s.tag){const e=G(s,'item');for(const{attrs:t}of e)re.emit('blocklist.update',{blocklist:[t.jid],type:'block'===t.action?'add':'remove'})}break;case'link_code_companion_reg':const w=U(e,'link_code_companion_reg'),_=Oe(x(w,'link_code_pairing_ref')),k=Oe(x(w,'primary_identity_pub')),h=Oe(x(w,'link_code_pairing_wrapped_primary_ephemeral_pub')),S=await(async e=>{const t=Oe(e),a=t.slice(0,32),s=await b(ie.creds.pairingCode,a),r=t.slice(32,48),i=t.slice(48,80);return p(i,s,r)})(h),R=u.sharedKey(ie.creds.pairingEphemeralKeyPair.private,S),M=a(32),P=a(32),E=await v(R,32,{salt:P,info:'link_code_pairing_key_bundle_encryption_key'}),T=Buffer.concat([Buffer.from(ie.creds.signedIdentityKey.public),k,M]),O=a(12),A=m(T,E,O,Buffer.alloc(0)),I=Buffer.concat([P,O,A]),C=u.sharedKey(ie.creds.signedIdentityKey.private,k),j=Buffer.concat([R,C,M]);ie.creds.advSecretKey=(await v(j,32,{info:'adv_secret'})).toString('base64'),await de({tag:'iq',attrs:{to:W,type:'set',id:se.generateMessageTag(),xmlns:'md'},content:[{tag:'link_code_companion_reg',attrs:{jid:ie.creds.me.id,stage:'companion_finish'},content:[{tag:'link_code_pairing_wrapped_key_bundle',attrs:{},content:I},{tag:'companion_identity_public',attrs:{},content:ie.creds.signedIdentityKey.public},{tag:'link_code_pairing_ref',attrs:{},content:_}]}]}),ie.creds.registered=!0,re.emit('creds.update',ie.creds);break;case'privacy_token':await(async e=>{const t=U(e,'tokens'),a=F(e.attrs.from);if(!t)return;const s=G(t,'token');for(const e of s){const{attrs:t,content:s}=e,r=t.t;'trusted_contact'===t.type&&s instanceof Buffer&&(X.debug({from:a,timestamp:r,tcToken:s},'received trusted contact token'),await ie.keys.set({tctoken:{[a]:{token:s,timestamp:r}}}))}})(e)}if(Object.keys(t).length)return t})(e);if(s){const a=N(e.attrs.participant||t,ie.creds.me.id),{senderAlt:i,addressingMode:n}=h(e);s.key={remoteJid:t,fromMe:a,participant:e.attrs.participant,participantAlt:i,addressingMode:n,id:e.attrs.id,...s.key||{}},s.participant??(s.participant=e.attrs.participant),s.messageTimestamp=+e.attrs.t;const o=r.WebMessageInfo.fromObject(s);await pe(o,'append')}})])}finally{await Ee(e)}},Ne=async e=>{if(te(e.attrs.from)&&e.attrs.from!==W)return X.debug({key:e.attrs.key},'ignored message'),void await Ee(e,T.UnhandledError);const t=U(e,'enc');if(t&&'msmsg'===t.attrs.type)return X.debug({key:e.attrs.key},'ignored msmsg'),void await Ee(e,T.MissingMessageSecret);const{fullMessage:a,category:s,author:i,decrypt:n}=f(e,ie.creds.me.id,ie.creds.me.lid||'',ce,X),o=a.key.participantAlt||a.key.remoteJidAlt;if(o){const e=$(o)?.server,t=a.key.participant||a.key.remoteJid;'lid'===e?await ce.lidMapping.getPNForLID(o)||(await ce.lidMapping.storeLIDPNMappings([{lid:o,pn:t}]),await ce.migrateSession(t,o)):(await ce.lidMapping.storeLIDPNMappings([{lid:t,pn:o}]),await ce.migrateSession(o,t))}a.key?.remoteJid&&a.key?.id&&_e&&(_e.addRecentMessage(a.key.remoteJid,a.key.id,a.message),X.debug({jid:a.key.remoteJid,id:a.key.id},'Added message to recent cache for retry receipts'));try{await oe.mutex(async()=>{if(await n(),a.messageStubType===r.WebMessageInfo.StubType.CIPHERTEXT&&'peer'!==a.category){if(a?.messageStubParameters?.[0]===E||a.messageStubParameters?.[0]===O)return Ee(e);const t=a?.messageStubParameters?.[0]||'',s=t.includes('PreKey');X.debug('[handleMessage] Attempting retry request for failed decryption'),await ke.mutex(async()=>{try{if(!ne.isOpen)return void X.debug({node:e},'Connection closed, skipping retry');if(s){X.info({error:t},'PreKey error detected, uploading and retrying');try{X.debug('Uploading pre-keys for error recovery'),await we(5),X.debug('Waiting for server to process new pre-keys'),await w(1e3)}catch(e){X.error({uploadErr:e},'Pre-key upload failed, proceeding with retry anyway')}}const a=U(e,'enc');await Te(e,!a),z&&await w(z)}catch(t){X.error({err:t,isPreKeyError:s},'Failed to handle retry, attempting basic retry');try{const t=U(e,'enc');await Te(e,!t)}catch(e){X.error({retryErr:e},'Failed to send retry after error handling')}}await Ee(e,T.UnhandledError)})}else if(B(a.key.remoteJid))await Ee(e),X.debug({key:a.key},'processed newsletter message without receipts');else{let e,t=a.key.participant;if('peer'===s?e='peer_msg':a.key.fromMe?(e='sender',(V(a.key.remoteJid)||V(a.key.remoteJidAlt))&&(t=i)):Pe||(e='inactive'),await fe(a.key.remoteJid,t,[a.key.id],e),R(a.message)){const e=F(a.key.remoteJid);await fe(e,void 0,[a.key.id],'hist_sync')}}g(a,ie.creds.me.id,ie.creds.me.lid),await pe(a,e.attrs.offline?'append':'notify')})}catch(t){X.error({error:t,node:D(e)},'error in handling message')}},De=async e=>{const{attrs:a}=e,[s]=J(e),r=S(s);if(!s)throw new t('Missing call info in call node');const i={chatId:a.from,from:s.attrs.from||s.attrs['call-creator'],id:s.attrs['call-id'],date:new Date(1e3*+a.t),offline:!!a.offline,status:r};'offer'===r&&(i.isVideo=!!U(s,'video'),i.isGroup='group'===s.attrs.type||!!s.attrs['group-jid'],i.groupJid=s.attrs['group-jid'],await Se.set(i.id,i));const n=await Se.get(i.id);n&&(i.isVideo=n.isVideo,i.isGroup=n.isGroup),'reject'!==r&&'accept'!==r&&'timeout'!==r&&'terminate'!==r||await Se.del(i.id),re.emit('call',[i]),await Ee(e)},Je=(()=>{const e=new Map([['message',Ne],['call',De],['receipt',Ce],['notification',je]]),t=[];let a=!1;return{enqueue:(s,r)=>{t.push({type:s,node:r}),a||(a=!0,(async()=>{for(;t.length&&ne.isOpen;){const{type:a,node:s}=t.shift(),r=e.get(a);r?await r(s):ge(Error('unknown offline node type: '+a),'processing offline node')}a=!1})().catch(e=>ge(e,'processing offline nodes')))}}})(),Ue=async(e,t,a,s)=>{t.attrs.offline?Je.enqueue(e,t):await(async(e,t,a)=>{re.buffer(),await a(e,!1).catch(e=>ge(e,t)),re.flush()})(t,a,s)};return ne.on('CB:message',async e=>{await Ue('message',e,'processing message',Ne)}),ne.on('CB:call',async e=>{await Ue('call',e,'handling call',De)}),ne.on('CB:receipt',async e=>{await Ue('receipt',e,'handling receipt',Ce)}),ne.on('CB:notification',async e=>{await Ue('notification',e,'handling notification',je)}),ne.on('CB:ack,class:message',e=>{(async({attrs:e})=>{const t={remoteJid:e.from,fromMe:!0,id:e.id};e.error&&(X.warn({attrs:e},'received error in ack'),re.emit('messages.update',[{key:t,update:{status:c.ERROR,messageStubParameters:[e.error]}}]))})(e).catch(e=>ge(e,'handling bad ack'))}),re.on('call',async([e])=>{if(e&&('timeout'===e.status||'offer'===e.status&&e.isGroup)){const t={key:{remoteJid:e.chatId,id:e.id,fromMe:!1},messageTimestamp:A(e.date)};'timeout'===e.status?t.messageStubType=e.isGroup?e.isVideo?d.CALL_MISSED_GROUP_VIDEO:d.CALL_MISSED_GROUP_VOICE:e.isVideo?d.CALL_MISSED_VIDEO:d.CALL_MISSED_VOICE:t.message={call:{callKey:Buffer.from(e.id)}};const a=r.WebMessageInfo.fromObject(t);await pe(a,e.offline?'append':'notify')}}),re.on('connection.update',({isOnline:e})=>{void 0!==e&&(Pe=e,X.trace(`sendActiveReceipts set to "${Pe}"`))}),{...se,sendMessageAck:Ee,sendRetryRequest:Te,rejectCall:async(e,t)=>{const a={tag:'call',attrs:{from:ie.creds.me.id,to:t},content:[{tag:'reject',attrs:{'call-id':e,'call-creator':t,count:'0'},content:void 0}]};await de(a)},fetchMessageHistory:async(e,a,s)=>{if(!ie.creds.me?.id)throw new t('Not authenticated');return be({historySyncOnDemandRequest:{chatJid:a.remoteJid,oldestMsgFromMe:a.fromMe,oldestMsgId:a.id,oldestMsgTimestampMs:s,onDemandMsgCount:e},peerDataOperationRequestType:r.Message.PeerDataOperationRequestType.HISTORY_SYNC_ON_DEMAND})},requestPlaceholderResend:ve,messageRetryManager:_e}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-recv.js","sourceRoot":"","sources":["../../src/Socket/messages-recv.ts"],"names":[],"mappings":"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"}