@queenanya/baileys 8.6.0-beta → 9.0.2

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 (397) hide show
  1. package/WAProto/GenerateStatics.sh +3 -0
  2. package/WAProto/WAProto.proto +4633 -0
  3. package/WAProto/fix-imports.js +29 -0
  4. package/WAProto/index.d.ts +2165 -45253
  5. package/WAProto/index.js +45236 -130529
  6. package/lib/Defaults/index.d.ts +14 -3
  7. package/lib/Defaults/index.d.ts.map +1 -0
  8. package/lib/Defaults/index.js +64 -55
  9. package/lib/Defaults/index.js.map +1 -0
  10. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  11. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.js +2 -5
  13. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  14. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  15. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.js +7 -41
  17. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  18. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  19. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  20. package/lib/Signal/Group/group_cipher.js +37 -51
  21. package/lib/Signal/Group/group_cipher.js.map +1 -0
  22. package/lib/Signal/Group/index.d.ts +12 -11
  23. package/lib/Signal/Group/index.d.ts.map +1 -0
  24. package/lib/Signal/Group/index.js +12 -57
  25. package/lib/Signal/Group/index.js.map +1 -0
  26. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  27. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  28. package/lib/Signal/Group/keyhelper.js +7 -44
  29. package/lib/Signal/Group/keyhelper.js.map +1 -0
  30. package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
  31. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.js +7 -15
  33. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  34. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  35. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  37. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  38. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  39. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.js +9 -12
  41. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  42. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  43. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.js +2 -5
  45. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  46. package/lib/Signal/Group/sender-key-record.d.ts +3 -2
  47. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.js +9 -21
  49. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  50. package/lib/Signal/Group/sender-key-state.d.ts +7 -6
  51. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.js +27 -42
  53. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  54. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  55. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.js +4 -7
  57. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  58. package/lib/Signal/libsignal.d.ts +5 -3
  59. package/lib/Signal/libsignal.d.ts.map +1 -0
  60. package/lib/Signal/libsignal.js +258 -90
  61. package/lib/Signal/libsignal.js.map +1 -0
  62. package/lib/Signal/lid-mapping.d.ts +23 -0
  63. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  64. package/lib/Signal/lid-mapping.js +171 -0
  65. package/lib/Signal/lid-mapping.js.map +1 -0
  66. package/lib/Socket/Client/index.d.ts +3 -2
  67. package/lib/Socket/Client/index.d.ts.map +1 -0
  68. package/lib/Socket/Client/index.js +3 -18
  69. package/lib/Socket/Client/index.js.map +1 -0
  70. package/lib/Socket/Client/types.d.ts +2 -2
  71. package/lib/Socket/Client/types.d.ts.map +1 -0
  72. package/lib/Socket/Client/types.js +4 -6
  73. package/lib/Socket/Client/types.js.map +1 -0
  74. package/lib/Socket/Client/websocket.d.ts +2 -2
  75. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  76. package/lib/Socket/Client/websocket.js +15 -37
  77. package/lib/Socket/Client/websocket.js.map +1 -0
  78. package/lib/Socket/business.d.ts +106 -94
  79. package/lib/Socket/business.d.ts.map +1 -0
  80. package/lib/Socket/business.js +159 -43
  81. package/lib/Socket/business.js.map +1 -0
  82. package/lib/Socket/chats.d.ts +39 -27
  83. package/lib/Socket/chats.d.ts.map +1 -0
  84. package/lib/Socket/chats.js +271 -261
  85. package/lib/Socket/chats.js.map +1 -0
  86. package/lib/Socket/communities.d.ts +111 -86
  87. package/lib/Socket/communities.d.ts.map +1 -0
  88. package/lib/Socket/communities.js +138 -70
  89. package/lib/Socket/communities.js.map +1 -0
  90. package/lib/Socket/groups.d.ts +53 -43
  91. package/lib/Socket/groups.d.ts.map +1 -0
  92. package/lib/Socket/groups.js +94 -99
  93. package/lib/Socket/groups.js.map +1 -0
  94. package/lib/Socket/index.d.ts +133 -108
  95. package/lib/Socket/index.d.ts.map +1 -0
  96. package/lib/Socket/index.js +17 -9
  97. package/lib/Socket/index.js.map +1 -0
  98. package/lib/Socket/messages-recv.d.ts +90 -82
  99. package/lib/Socket/messages-recv.d.ts.map +1 -0
  100. package/lib/Socket/messages-recv.js +635 -480
  101. package/lib/Socket/messages-recv.js.map +1 -0
  102. package/lib/Socket/messages-send.d.ts +90 -76
  103. package/lib/Socket/messages-send.d.ts.map +1 -0
  104. package/lib/Socket/messages-send.js +476 -402
  105. package/lib/Socket/messages-send.js.map +1 -0
  106. package/lib/Socket/mex.d.ts +3 -0
  107. package/lib/Socket/mex.d.ts.map +1 -0
  108. package/lib/Socket/mex.js +42 -0
  109. package/lib/Socket/mex.js.map +1 -0
  110. package/lib/Socket/newsletter.d.ts +83 -73
  111. package/lib/Socket/newsletter.d.ts.map +1 -0
  112. package/lib/Socket/newsletter.js +181 -202
  113. package/lib/Socket/newsletter.js.map +1 -0
  114. package/lib/Socket/socket.d.ts +24 -16
  115. package/lib/Socket/socket.d.ts.map +1 -0
  116. package/lib/Socket/socket.js +402 -196
  117. package/lib/Socket/socket.js.map +1 -0
  118. package/lib/Types/Auth.d.ts +13 -5
  119. package/lib/Types/Auth.d.ts.map +1 -0
  120. package/lib/Types/Auth.js +2 -2
  121. package/lib/Types/Auth.js.map +1 -0
  122. package/lib/Types/Bussines.d.ts +25 -0
  123. package/lib/Types/Bussines.d.ts.map +1 -0
  124. package/lib/Types/Bussines.js +2 -0
  125. package/lib/Types/Bussines.js.map +1 -0
  126. package/lib/Types/Call.d.ts +1 -0
  127. package/lib/Types/Call.d.ts.map +1 -0
  128. package/lib/Types/Call.js +2 -2
  129. package/lib/Types/Call.js.map +1 -0
  130. package/lib/Types/Chat.d.ts +18 -9
  131. package/lib/Types/Chat.d.ts.map +1 -0
  132. package/lib/Types/Chat.js +8 -4
  133. package/lib/Types/Chat.js.map +1 -0
  134. package/lib/Types/Contact.d.ts +5 -4
  135. package/lib/Types/Contact.d.ts.map +1 -0
  136. package/lib/Types/Contact.js +2 -2
  137. package/lib/Types/Contact.js.map +1 -0
  138. package/lib/Types/Events.d.ts +36 -33
  139. package/lib/Types/Events.d.ts.map +1 -0
  140. package/lib/Types/Events.js +2 -2
  141. package/lib/Types/Events.js.map +1 -0
  142. package/lib/Types/GroupMetadata.d.ts +12 -11
  143. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  144. package/lib/Types/GroupMetadata.js +2 -2
  145. package/lib/Types/GroupMetadata.js.map +1 -0
  146. package/lib/Types/Label.d.ts +12 -0
  147. package/lib/Types/Label.d.ts.map +1 -0
  148. package/lib/Types/Label.js +3 -5
  149. package/lib/Types/Label.js.map +1 -0
  150. package/lib/Types/LabelAssociation.d.ts +1 -0
  151. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  152. package/lib/Types/LabelAssociation.js +3 -5
  153. package/lib/Types/LabelAssociation.js.map +1 -0
  154. package/lib/Types/Message.d.ts +51 -148
  155. package/lib/Types/Message.d.ts.map +1 -0
  156. package/lib/Types/Message.js +11 -7
  157. package/lib/Types/Message.js.map +1 -0
  158. package/lib/Types/Newsletter.d.ts +173 -71
  159. package/lib/Types/Newsletter.d.ts.map +1 -0
  160. package/lib/Types/Newsletter.js +54 -11
  161. package/lib/Types/Newsletter.js.map +1 -0
  162. package/lib/Types/Product.d.ts +2 -1
  163. package/lib/Types/Product.d.ts.map +1 -0
  164. package/lib/Types/Product.js +2 -2
  165. package/lib/Types/Product.js.map +1 -0
  166. package/lib/Types/Signal.d.ts +20 -1
  167. package/lib/Types/Signal.d.ts.map +1 -0
  168. package/lib/Types/Signal.js +2 -2
  169. package/lib/Types/Signal.js.map +1 -0
  170. package/lib/Types/Socket.d.ts +34 -20
  171. package/lib/Types/Socket.d.ts.map +1 -0
  172. package/lib/Types/Socket.js +3 -2
  173. package/lib/Types/Socket.js.map +1 -0
  174. package/lib/Types/State.d.ts +14 -2
  175. package/lib/Types/State.d.ts.map +1 -0
  176. package/lib/Types/State.js +13 -2
  177. package/lib/Types/State.js.map +1 -0
  178. package/lib/Types/USync.d.ts +3 -2
  179. package/lib/Types/USync.d.ts.map +1 -0
  180. package/lib/Types/USync.js +2 -2
  181. package/lib/Types/USync.js.map +1 -0
  182. package/lib/Types/index.d.ts +15 -14
  183. package/lib/Types/index.d.ts.map +1 -0
  184. package/lib/Types/index.js +15 -31
  185. package/lib/Types/index.js.map +1 -0
  186. package/lib/Utils/auth-utils.d.ts +5 -4
  187. package/lib/Utils/auth-utils.d.ts.map +1 -0
  188. package/lib/Utils/auth-utils.js +199 -141
  189. package/lib/Utils/auth-utils.js.map +1 -0
  190. package/lib/Utils/baileys-event-stream.d.ts +2 -1
  191. package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
  192. package/lib/Utils/baileys-event-stream.js +15 -22
  193. package/lib/Utils/baileys-event-stream.js.map +1 -0
  194. package/lib/Utils/browser-utils.d.ts +4 -0
  195. package/lib/Utils/browser-utils.d.ts.map +1 -0
  196. package/lib/Utils/browser-utils.js +28 -0
  197. package/lib/Utils/browser-utils.js.map +1 -0
  198. package/lib/Utils/business.d.ts +3 -2
  199. package/lib/Utils/business.d.ts.map +1 -0
  200. package/lib/Utils/business.js +66 -69
  201. package/lib/Utils/business.js.map +1 -0
  202. package/lib/Utils/chat-utils.d.ts +11 -11
  203. package/lib/Utils/chat-utils.d.ts.map +1 -0
  204. package/lib/Utils/chat-utils.js +203 -194
  205. package/lib/Utils/chat-utils.js.map +1 -0
  206. package/lib/Utils/crypto.d.ts +8 -7
  207. package/lib/Utils/crypto.d.ts.map +1 -0
  208. package/lib/Utils/crypto.js +50 -101
  209. package/lib/Utils/crypto.js.map +1 -0
  210. package/lib/Utils/decode-wa-message.d.ts +18 -5
  211. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  212. package/lib/Utils/decode-wa-message.js +134 -62
  213. package/lib/Utils/decode-wa-message.js.map +1 -0
  214. package/lib/Utils/event-buffer.d.ts +6 -7
  215. package/lib/Utils/event-buffer.d.ts.map +1 -0
  216. package/lib/Utils/event-buffer.js +99 -69
  217. package/lib/Utils/event-buffer.js.map +1 -0
  218. package/lib/Utils/generics.d.ts +57 -68
  219. package/lib/Utils/generics.d.ts.map +1 -0
  220. package/lib/Utils/generics.js +179 -356
  221. package/lib/Utils/generics.js.map +1 -0
  222. package/lib/Utils/history.d.ts +10 -10
  223. package/lib/Utils/history.d.ts.map +1 -0
  224. package/lib/Utils/history.js +37 -50
  225. package/lib/Utils/history.js.map +1 -0
  226. package/lib/Utils/index.d.ts +21 -17
  227. package/lib/Utils/index.d.ts.map +1 -0
  228. package/lib/Utils/index.js +21 -33
  229. package/lib/Utils/index.js.map +1 -0
  230. package/lib/Utils/link-preview.d.ts +4 -4
  231. package/lib/Utils/link-preview.d.ts.map +1 -0
  232. package/lib/Utils/link-preview.js +15 -56
  233. package/lib/Utils/link-preview.js.map +1 -0
  234. package/lib/Utils/logger.d.ts +8 -6
  235. package/lib/Utils/logger.d.ts.map +1 -0
  236. package/lib/Utils/logger.js +3 -7
  237. package/lib/Utils/logger.js.map +1 -0
  238. package/lib/Utils/lt-hash.d.ts +9 -8
  239. package/lib/Utils/lt-hash.d.ts.map +1 -0
  240. package/lib/Utils/lt-hash.js +23 -26
  241. package/lib/Utils/lt-hash.js.map +1 -0
  242. package/lib/Utils/make-mutex.d.ts +1 -0
  243. package/lib/Utils/make-mutex.d.ts.map +1 -0
  244. package/lib/Utils/make-mutex.js +7 -10
  245. package/lib/Utils/make-mutex.js.map +1 -0
  246. package/lib/Utils/message-retry-manager.d.ts +82 -0
  247. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  248. package/lib/Utils/message-retry-manager.js +149 -0
  249. package/lib/Utils/message-retry-manager.js.map +1 -0
  250. package/lib/Utils/messages-media.d.ts +32 -38
  251. package/lib/Utils/messages-media.d.ts.map +1 -0
  252. package/lib/Utils/messages-media.js +283 -496
  253. package/lib/Utils/messages-media.js.map +1 -0
  254. package/lib/Utils/messages.d.ts +11 -10
  255. package/lib/Utils/messages.d.ts.map +1 -0
  256. package/lib/Utils/messages.js +309 -519
  257. package/lib/Utils/messages.js.map +1 -0
  258. package/lib/Utils/noise-handler.d.ts +5 -4
  259. package/lib/Utils/noise-handler.d.ts.map +1 -0
  260. package/lib/Utils/noise-handler.js +23 -26
  261. package/lib/Utils/noise-handler.js.map +1 -0
  262. package/lib/Utils/pre-key-manager.d.ts +28 -0
  263. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  264. package/lib/Utils/pre-key-manager.js +106 -0
  265. package/lib/Utils/pre-key-manager.js.map +1 -0
  266. package/lib/Utils/process-message.d.ts +12 -12
  267. package/lib/Utils/process-message.d.ts.map +1 -0
  268. package/lib/Utils/process-message.js +196 -155
  269. package/lib/Utils/process-message.js.map +1 -0
  270. package/lib/Utils/signal.d.ts +7 -6
  271. package/lib/Utils/signal.d.ts.map +1 -0
  272. package/lib/Utils/signal.js +70 -64
  273. package/lib/Utils/signal.js.map +1 -0
  274. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  275. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  276. package/lib/Utils/use-multi-file-auth-state.js +23 -27
  277. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  278. package/lib/Utils/use-single-file-auth-state.d.ts +3 -2
  279. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  280. package/lib/Utils/use-single-file-auth-state.js +63 -41
  281. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  282. package/lib/Utils/validate-connection.d.ts +4 -3
  283. package/lib/Utils/validate-connection.d.ts.map +1 -0
  284. package/lib/Utils/validate-connection.js +99 -77
  285. package/lib/Utils/validate-connection.js.map +1 -0
  286. package/lib/WABinary/constants.d.ts +1 -0
  287. package/lib/WABinary/constants.d.ts.map +1 -0
  288. package/lib/WABinary/constants.js +9 -11
  289. package/lib/WABinary/constants.js.map +1 -0
  290. package/lib/WABinary/decode.d.ts +2 -1
  291. package/lib/WABinary/decode.d.ts.map +1 -0
  292. package/lib/WABinary/decode.js +25 -52
  293. package/lib/WABinary/decode.js.map +1 -0
  294. package/lib/WABinary/encode.d.ts +2 -1
  295. package/lib/WABinary/encode.d.ts.map +1 -0
  296. package/lib/WABinary/encode.js +14 -48
  297. package/lib/WABinary/encode.js.map +1 -0
  298. package/lib/WABinary/generic-utils.d.ts +4 -3
  299. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  300. package/lib/WABinary/generic-utils.js +31 -39
  301. package/lib/WABinary/generic-utils.js.map +1 -0
  302. package/lib/WABinary/index.d.ts +6 -5
  303. package/lib/WABinary/index.d.ts.map +1 -0
  304. package/lib/WABinary/index.js +6 -21
  305. package/lib/WABinary/index.js.map +1 -0
  306. package/lib/WABinary/jid-utils.d.ts +21 -11
  307. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  308. package/lib/WABinary/jid-utils.js +71 -60
  309. package/lib/WABinary/jid-utils.js.map +1 -0
  310. package/lib/WABinary/types.d.ts +2 -1
  311. package/lib/WABinary/types.d.ts.map +1 -0
  312. package/lib/WABinary/types.js +2 -2
  313. package/lib/WABinary/types.js.map +1 -0
  314. package/lib/WAM/BinaryInfo.d.ts +2 -1
  315. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  316. package/lib/WAM/BinaryInfo.js +2 -5
  317. package/lib/WAM/BinaryInfo.js.map +1 -0
  318. package/lib/WAM/constants.d.ts +5 -3
  319. package/lib/WAM/constants.d.ts.map +1 -0
  320. package/lib/WAM/constants.js +19071 -11568
  321. package/lib/WAM/constants.js.map +1 -0
  322. package/lib/WAM/encode.d.ts +2 -1
  323. package/lib/WAM/encode.d.ts.map +1 -0
  324. package/lib/WAM/encode.js +17 -22
  325. package/lib/WAM/encode.js.map +1 -0
  326. package/lib/WAM/index.d.ts +4 -3
  327. package/lib/WAM/index.d.ts.map +1 -0
  328. package/lib/WAM/index.js +4 -19
  329. package/lib/WAM/index.js.map +1 -0
  330. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  331. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  332. package/lib/WAUSync/Protocols/USyncContactProtocol.js +8 -11
  333. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  334. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  335. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  336. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  337. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  338. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  339. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  340. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +8 -11
  341. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  342. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  343. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  344. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  345. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  346. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  347. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  348. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  349. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  350. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
  351. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  352. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  353. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  354. package/lib/WAUSync/Protocols/index.d.ts +5 -4
  355. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  356. package/lib/WAUSync/Protocols/index.js +5 -20
  357. package/lib/WAUSync/Protocols/index.js.map +1 -0
  358. package/lib/WAUSync/USyncQuery.d.ts +5 -4
  359. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  360. package/lib/WAUSync/USyncQuery.js +40 -35
  361. package/lib/WAUSync/USyncQuery.js.map +1 -0
  362. package/lib/WAUSync/USyncUser.d.ts +6 -5
  363. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  364. package/lib/WAUSync/USyncUser.js +2 -5
  365. package/lib/WAUSync/USyncUser.js.map +1 -0
  366. package/lib/WAUSync/index.d.ts +4 -3
  367. package/lib/WAUSync/index.d.ts.map +1 -0
  368. package/lib/WAUSync/index.js +4 -19
  369. package/lib/WAUSync/index.js.map +1 -0
  370. package/lib/index.d.ts +10 -12
  371. package/lib/index.d.ts.map +1 -0
  372. package/lib/index.js +11 -34
  373. package/lib/index.js.map +1 -0
  374. package/package.json +55 -65
  375. package/CHANGELOG.md +0 -4
  376. package/README-anya.md +0 -459
  377. package/README-shizo.md +0 -445
  378. package/README-whiskey.md +0 -44
  379. package/lib/Defaults/baileys-version.json +0 -3
  380. package/lib/Signal/Group/queue-job.d.ts +0 -1
  381. package/lib/Signal/Group/queue-job.js +0 -57
  382. package/lib/Socket/usync.d.ts +0 -36
  383. package/lib/Socket/usync.js +0 -70
  384. package/lib/Store/index.d.ts +0 -2
  385. package/lib/Store/index.js +0 -8
  386. package/lib/Store/make-in-memory-store.d.ts +0 -118
  387. package/lib/Store/make-in-memory-store.js +0 -429
  388. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  389. package/lib/Store/make-ordered-dictionary.js +0 -81
  390. package/lib/Store/object-repository.d.ts +0 -10
  391. package/lib/Store/object-repository.js +0 -27
  392. package/lib/WAMedia/index.d.ts +0 -2
  393. package/lib/WAMedia/index.js +0 -18
  394. package/lib/WAMedia/media-messages.d.ts +0 -18
  395. package/lib/WAMedia/media-messages.js +0 -102
  396. package/lib/WAMedia/media-set.d.ts +0 -9
  397. package/lib/WAMedia/media-set.js +0 -312
@@ -1,195 +1,42 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.isWABusinessPlatform = exports.getCodeFromWSError = exports.getCallStatusFromNode = exports.getErrorCodeFromStreamError = exports.getStatusFromReceiptType = exports.generateMdTagPrefix = exports.fetchLatestWaWebVersion = exports.fetchLatestBaileysVersion4 = exports.fetchLatestBaileysVersion3 = exports.fetchLatestBaileysVersion2 = exports.fetchLatestBaileysVersion = exports.printQRIfNecessaryListener = exports.bindWaitForConnectionUpdate = exports.generateMessageID = exports.generateMessageIDV2 = exports.delayCancellable = exports.delay = exports.debouncedTimeout = exports.unixTimestampSeconds = exports.toNumber = exports.encodeBigEndian = exports.generateRegistrationId = exports.encodeNewsletterMessage = exports.encodeWAMessage = exports.unpadRandomMax16 = exports.writeRandomPadMax16 = exports.getKeyAuthor = exports.BufferJSON = exports.getPlatformId = exports.Browserrs = exports.Browsers = void 0;
40
- exports.promiseTimeout = promiseTimeout;
41
- exports.bindWaitForEvent = bindWaitForEvent;
42
- exports.trimUndefined = trimUndefined;
43
- exports.bytesToCrockford = bytesToCrockford;
44
- const boom_1 = require("@hapi/boom");
45
- const axios_1 = __importDefault(require("axios"));
46
- const crypto_1 = require("crypto");
47
- const os_1 = __importDefault(require("os"));
48
- const os_2 = require("os");
49
- const WAProto_1 = require("../../WAProto");
50
- const baileys_version_json_1 = require("../Defaults/baileys-version.json");
51
- const Types_1 = require("../Types");
52
- const WABinary_1 = require("../WABinary");
53
- const COMPANION_PLATFORM_MAP = {
54
- 'Chrome': '49',
55
- 'Edge': '50',
56
- 'Firefox': '51',
57
- 'Opera': '53',
58
- 'Safari': '54',
59
- 'Brave': '1.79.112',
60
- 'Vivaldi': '6.2.3105.58',
61
- 'Tor': '12.5.3',
62
- 'Yandex': '23.7.1',
63
- 'Falkon': '22.08.3',
64
- 'Epiphany': '44.2'
65
- };
66
- const PLATFORM_MAP = {
67
- 'aix': 'AIX',
68
- 'darwin': 'Mac OS',
69
- 'win32': 'Windows',
70
- 'android': 'Android',
71
- 'freebsd': 'FreeBSD',
72
- 'openbsd': 'OpenBSD',
73
- 'sunos': 'Solaris',
74
- 'linux': 'Linux',
75
- 'ubuntu': 'Ubuntu',
76
- 'ios': 'iOS',
77
- 'baileys': 'Baileys',
78
- 'chromeos': 'Chrome OS',
79
- 'tizen': 'Tizen',
80
- 'watchos': 'watchOS',
81
- 'wearos': 'Wear OS',
82
- 'harmonyos': 'HarmonyOS',
83
- 'kaios': 'KaiOS',
84
- 'smarttv': 'Smart TV',
85
- 'raspberrypi': 'Raspberry Pi OS',
86
- 'symbian': 'Symbian',
87
- 'blackberry': 'Blackberry OS',
88
- 'windowsphone': 'Windows Phone'
89
- };
90
- const PLATFORM_VERSIONS = {
91
- 'ubuntu': '22.04.4',
92
- 'darwin': '14.4.1',
93
- 'win32': '10.0.22631',
94
- 'android': '14.0.0',
95
- 'freebsd': '13.2',
96
- 'openbsd': '7.3',
97
- 'sunos': '11',
98
- 'linux': '6.5',
99
- 'ios': '18.2',
100
- 'baileys': '6.5.0',
101
- 'chromeos': '117.0.5938.132',
102
- 'tizen': '6.5',
103
- 'watchos': '10.1',
104
- 'wearos': '4.1',
105
- 'harmonyos': '4.0.0',
106
- 'kaios': '3.1',
107
- 'smarttv': '23.3.1',
108
- 'raspberrypi': '11 (Bullseye)',
109
- 'symbian': '3',
110
- 'blackberry': '10.3.3',
111
- 'windowsphone': '8.1'
112
- };
113
- exports.Browsers = {
114
- ubuntu: (browser) => ['Ubuntu', browser, '24.04.1'],
115
- macOS: (browser) => ['Mac OS', browser, '14.4.1'],
116
- baileys: (browser) => ['Baileys', browser, '6.7.9'],
117
- windows: (browser) => ['Windows', browser, '10.0.22631'],
118
- // iOS: (browser) => ['iOS', browser, '18.1'],
119
- /** The appropriate browser based on your OS & release */
120
- appropriate: (browser) => [PLATFORM_MAP[(0, os_2.platform)()] || 'Ubuntu', browser, (0, os_2.release)()]
121
- };
122
- exports.Browserrs = {
123
- ubuntu: (browser) => {
124
- return [PLATFORM_MAP['ubuntu'], browser, PLATFORM_VERSIONS['ubuntu']];
125
- },
126
- macOS: (browser) => {
127
- return [PLATFORM_MAP['darwin'], browser, PLATFORM_VERSIONS['darwin']];
128
- },
129
- windows: (browser) => {
130
- return [PLATFORM_MAP['win32'], browser, PLATFORM_VERSIONS['win32']];
131
- },
132
- linux: (browser) => {
133
- return [PLATFORM_MAP['linux'], browser, PLATFORM_VERSIONS['linux']];
134
- },
135
- solaris: (browser) => {
136
- return [PLATFORM_MAP['sunos'], browser, PLATFORM_VERSIONS['sunos']];
137
- },
138
- baileys: (browser) => {
139
- return [PLATFORM_MAP['baileys'], browser, PLATFORM_VERSIONS['baileys']];
140
- },
141
- android: (browser) => {
142
- return [PLATFORM_MAP['android'], browser, PLATFORM_VERSIONS['android']];
143
- },
144
- iOS: (browser) => {
145
- return [PLATFORM_MAP['ios'], browser, PLATFORM_VERSIONS['ios']];
146
- },
147
- kaiOS: (browser) => {
148
- return [PLATFORM_MAP['kaios'], browser, PLATFORM_VERSIONS['kaios']];
149
- },
150
- chromeOS: (browser) => {
151
- return [PLATFORM_MAP['chromeos'], browser, PLATFORM_VERSIONS['chromeos']];
152
- },
153
- appropriate: (browser) => {
154
- const platform = os_1.default.platform();
155
- const platformName = PLATFORM_MAP[platform] || 'Unknown OS';
156
- return [platformName, browser, PLATFORM_VERSIONS[platform] || 'latest'];
157
- },
158
- custom: (platform, browser, version) => {
159
- const platformName = PLATFORM_MAP[platform.toLowerCase()] || platform;
160
- return [platformName, browser, version || PLATFORM_VERSIONS[platform] || 'latest'];
161
- }
162
- };
163
- /** Other Browser Support for Paircode */
164
- const getPlatformId = (browser) => {
165
- const platformType = WAProto_1.proto.DeviceProps.PlatformType[browser.toUpperCase()];
166
- return platformType ? platformType.toString() : '51'; // Firefox
167
- };
168
- exports.getPlatformId = getPlatformId;
169
- exports.BufferJSON = {
1
+ import { Boom } from '@hapi/boom';
2
+ import { createHash, randomBytes } from 'crypto';
3
+ import { proto } from '../../WAProto/index.js';
4
+ const baileysVersion = [2, 3000, 1027934701];
5
+ import { DisconnectReason } from '../Types/index.js';
6
+ import { getAllBinaryNodeChildren, jidDecode } from '../WABinary/index.js';
7
+ import { sha256 } from './crypto.js';
8
+ export const BufferJSON = {
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
170
10
  replacer: (k, value) => {
171
- if (Buffer.isBuffer(value) || value instanceof Uint8Array || (value === null || value === void 0 ? void 0 : value.type) === 'Buffer') {
172
- return { type: 'Buffer', data: Buffer.from((value === null || value === void 0 ? void 0 : value.data) || value).toString('base64') };
11
+ if (Buffer.isBuffer(value) || value instanceof Uint8Array || value?.type === 'Buffer') {
12
+ return { type: 'Buffer', data: Buffer.from(value?.data || value).toString('base64') };
173
13
  }
174
14
  return value;
175
15
  },
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
176
17
  reviver: (_, value) => {
177
- if (typeof value === 'object' && !!value && (value.buffer === true || value.type === 'Buffer')) {
178
- const val = value.data || value.value;
179
- return typeof val === 'string' ? Buffer.from(val, 'base64') : Buffer.from(val || []);
18
+ if (typeof value === 'object' && value !== null && value.type === 'Buffer' && typeof value.data === 'string') {
19
+ return Buffer.from(value.data, 'base64');
20
+ }
21
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
22
+ const keys = Object.keys(value);
23
+ if (keys.length > 0 && keys.every(k => !isNaN(parseInt(k, 10)))) {
24
+ const values = Object.values(value);
25
+ if (values.every(v => typeof v === 'number')) {
26
+ return Buffer.from(values);
27
+ }
28
+ }
180
29
  }
181
30
  return value;
182
31
  }
183
32
  };
184
- const getKeyAuthor = (key, meId = 'me') => (((key === null || key === void 0 ? void 0 : key.fromMe) ? meId : (key === null || key === void 0 ? void 0 : key.participant) || (key === null || key === void 0 ? void 0 : key.remoteJid)) || '');
185
- exports.getKeyAuthor = getKeyAuthor;
186
- const writeRandomPadMax16 = (msg) => {
187
- const pad = (0, crypto_1.randomBytes)(1);
33
+ export const getKeyAuthor = (key, meId = 'me') => (key?.fromMe ? meId : key?.participant || key?.remoteJid) || '';
34
+ export const writeRandomPadMax16 = (msg) => {
35
+ const pad = randomBytes(1);
188
36
  const padLength = (pad[0] & 0x0f) + 1;
189
37
  return Buffer.concat([msg, Buffer.alloc(padLength, padLength)]);
190
38
  };
191
- exports.writeRandomPadMax16 = writeRandomPadMax16;
192
- const unpadRandomMax16 = (e) => {
39
+ export const unpadRandomMax16 = (e) => {
193
40
  const t = new Uint8Array(e);
194
41
  if (0 === t.length) {
195
42
  throw new Error('unpadPkcs7 given empty bytes');
@@ -200,16 +47,17 @@ const unpadRandomMax16 = (e) => {
200
47
  }
201
48
  return new Uint8Array(t.buffer, t.byteOffset, t.length - r);
202
49
  };
203
- exports.unpadRandomMax16 = unpadRandomMax16;
204
- const encodeWAMessage = (message) => ((0, exports.writeRandomPadMax16)(WAProto_1.proto.Message.encode(message).finish()));
205
- exports.encodeWAMessage = encodeWAMessage;
206
- const encodeNewsletterMessage = (message) => (WAProto_1.proto.Message.encode(message).finish());
207
- exports.encodeNewsletterMessage = encodeNewsletterMessage;
208
- const generateRegistrationId = () => {
209
- return Uint16Array.from((0, crypto_1.randomBytes)(2))[0] & 16383;
50
+ // code is inspired by whatsmeow
51
+ export const generateParticipantHashV2 = (participants) => {
52
+ participants.sort();
53
+ const sha256Hash = sha256(Buffer.from(participants.join(''))).toString('base64');
54
+ return '2:' + sha256Hash.slice(0, 6);
210
55
  };
211
- exports.generateRegistrationId = generateRegistrationId;
212
- const encodeBigEndian = (e, t = 4) => {
56
+ export const encodeWAMessage = (message) => writeRandomPadMax16(proto.Message.encode(message).finish());
57
+ export const generateRegistrationId = () => {
58
+ return Uint16Array.from(randomBytes(2))[0] & 16383;
59
+ };
60
+ export const encodeBigEndian = (e, t = 4) => {
213
61
  let r = e;
214
62
  const a = new Uint8Array(t);
215
63
  for (let i = t - 1; i >= 0; i--) {
@@ -218,33 +66,28 @@ const encodeBigEndian = (e, t = 4) => {
218
66
  }
219
67
  return a;
220
68
  };
221
- exports.encodeBigEndian = encodeBigEndian;
222
- const toNumber = (t) => ((typeof t === 'object' && t) ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0);
223
- exports.toNumber = toNumber;
69
+ export const toNumber = (t) => typeof t === 'object' && t ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0;
224
70
  /** unix timestamp of a date in seconds */
225
- const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
226
- exports.unixTimestampSeconds = unixTimestampSeconds;
227
- const debouncedTimeout = (intervalMs = 1000, task) => {
71
+ export const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
72
+ export const debouncedTimeout = (intervalMs = 1000, task) => {
228
73
  let timeout;
229
74
  return {
230
75
  start: (newIntervalMs, newTask) => {
231
76
  task = newTask || task;
232
77
  intervalMs = newIntervalMs || intervalMs;
233
78
  timeout && clearTimeout(timeout);
234
- timeout = setTimeout(() => task === null || task === void 0 ? void 0 : task(), intervalMs);
79
+ timeout = setTimeout(() => task?.(), intervalMs);
235
80
  },
236
81
  cancel: () => {
237
82
  timeout && clearTimeout(timeout);
238
83
  timeout = undefined;
239
84
  },
240
- setTask: (newTask) => task = newTask,
241
- setInterval: (newInterval) => intervalMs = newInterval
85
+ setTask: (newTask) => (task = newTask),
86
+ setInterval: (newInterval) => (intervalMs = newInterval)
242
87
  };
243
88
  };
244
- exports.debouncedTimeout = debouncedTimeout;
245
- const delay = (ms) => (0, exports.delayCancellable)(ms).delay;
246
- exports.delay = delay;
247
- const delayCancellable = (ms) => {
89
+ export const delay = (ms) => delayCancellable(ms).delay;
90
+ export const delayCancellable = (ms) => {
248
91
  const stack = new Error().stack;
249
92
  let timeout;
250
93
  let reject;
@@ -254,7 +97,7 @@ const delayCancellable = (ms) => {
254
97
  });
255
98
  const cancel = () => {
256
99
  clearTimeout(timeout);
257
- reject(new boom_1.Boom('Cancelled', {
100
+ reject(new Boom('Cancelled', {
258
101
  statusCode: 500,
259
102
  data: {
260
103
  stack
@@ -263,58 +106,53 @@ const delayCancellable = (ms) => {
263
106
  };
264
107
  return { delay, cancel };
265
108
  };
266
- exports.delayCancellable = delayCancellable;
267
- async function promiseTimeout(ms, promise) {
109
+ export async function promiseTimeout(ms, promise) {
268
110
  if (!ms) {
269
111
  return new Promise(promise);
270
112
  }
271
113
  const stack = new Error().stack;
272
114
  // Create a promise that rejects in <ms> milliseconds
273
- const { delay, cancel } = (0, exports.delayCancellable)(ms);
115
+ const { delay, cancel } = delayCancellable(ms);
274
116
  const p = new Promise((resolve, reject) => {
275
117
  delay
276
- .then(() => reject(new boom_1.Boom('Timed Out', {
277
- statusCode: Types_1.DisconnectReason.timedOut,
118
+ .then(() => reject(new Boom('Timed Out', {
119
+ statusCode: DisconnectReason.timedOut,
278
120
  data: {
279
121
  stack
280
122
  }
281
123
  })))
282
124
  .catch(err => reject(err));
283
125
  promise(resolve, reject);
284
- })
285
- .finally(cancel);
126
+ }).finally(cancel);
286
127
  return p;
287
128
  }
288
- const generateMessageIDV2 = (userId) => {
129
+ // inspired from whatsmeow code
130
+ // https://github.com/tulir/whatsmeow/blob/64bc969fbe78d31ae0dd443b8d4c80a5d026d07a/send.go#L42
131
+ export const generateMessageIDV2 = (userId) => {
289
132
  const data = Buffer.alloc(8 + 20 + 16);
290
133
  data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)));
291
134
  if (userId) {
292
- const id = (0, WABinary_1.jidDecode)(userId);
293
- if (id === null || id === void 0 ? void 0 : id.user) {
135
+ const id = jidDecode(userId);
136
+ if (id?.user) {
294
137
  data.write(id.user, 8);
295
138
  data.write('@c.us', 8 + id.user.length);
296
139
  }
297
140
  }
298
- const random = (0, crypto_1.randomBytes)(16);
141
+ const random = randomBytes(16);
299
142
  random.copy(data, 28);
300
- const hash = (0, crypto_1.createHash)('sha256').update(data).digest();
301
- // return '3EB0' + hash.toString('hex').toUpperCase().substring(0, 18)
302
- return '4NY4W3B' + hash.toString('hex').toUpperCase().substring(0, 15);
143
+ const hash = createHash('sha256').update(data).digest();
144
+ return '3EB0' + hash.toString('hex').toUpperCase().substring(0, 18);
303
145
  };
304
- exports.generateMessageIDV2 = generateMessageIDV2;
305
146
  // generate a random ID to attach to a message
306
- // export const generateMessageID = () => '3EB0' + randomBytes(18).toString('hex').toUpperCase()
307
- const generateMessageID = () => '4NY4W3B' + (0, crypto_1.randomBytes)(15).toString('hex').toUpperCase();
308
- exports.generateMessageID = generateMessageID;
309
- function bindWaitForEvent(ev, event) {
147
+ export const generateMessageID = () => '3EB0' + randomBytes(18).toString('hex').toUpperCase();
148
+ export function bindWaitForEvent(ev, event) {
310
149
  return async (check, timeoutMs) => {
311
150
  let listener;
312
151
  let closeListener;
313
- await (promiseTimeout(timeoutMs, (resolve, reject) => {
152
+ await promiseTimeout(timeoutMs, (resolve, reject) => {
314
153
  closeListener = ({ connection, lastDisconnect }) => {
315
154
  if (connection === 'close') {
316
- reject((lastDisconnect === null || lastDisconnect === void 0 ? void 0 : lastDisconnect.error)
317
- || new boom_1.Boom('Connection Closed', { statusCode: Types_1.DisconnectReason.connectionClosed }));
155
+ reject(lastDisconnect?.error || new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed }));
318
156
  }
319
157
  };
320
158
  ev.on('connection.update', closeListener);
@@ -324,140 +162,125 @@ function bindWaitForEvent(ev, event) {
324
162
  }
325
163
  };
326
164
  ev.on(event, listener);
327
- })
328
- .finally(() => {
165
+ }).finally(() => {
329
166
  ev.off(event, listener);
330
167
  ev.off('connection.update', closeListener);
331
- }));
168
+ });
332
169
  };
333
170
  }
334
- const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
335
- exports.bindWaitForConnectionUpdate = bindWaitForConnectionUpdate;
336
- const printQRIfNecessaryListener = (ev, logger) => {
337
- ev.on('connection.update', async ({ qr }) => {
338
- if (qr) {
339
- const QR = await Promise.resolve().then(() => __importStar(require('qrcode-terminal'))).then(m => m.default || m)
340
- .catch(() => {
341
- logger.error('QR code terminal not added as dependency');
342
- });
343
- QR === null || QR === void 0 ? void 0 : QR.generate(qr, { small: true });
344
- }
345
- });
346
- };
347
- exports.printQRIfNecessaryListener = printQRIfNecessaryListener;
171
+ export const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
348
172
  /**
349
173
  * utility that fetches latest baileys version from the master branch.
350
174
  * Use to ensure your WA connection is always on the latest version
351
175
  */
352
- const fetchLatestBaileysVersion = async (options = {}) => {
353
- const URL = 'https://raw.githubusercontent.com/QueenAnya/Bail/master/src/Defaults/baileys-version.json';
176
+ /****
177
+ export const fetchLatestBaileysVersion = async (options: RequestInit = {}) => {
178
+ const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/index.ts'
354
179
  try {
355
- const result = await axios_1.default.get(URL, {
356
- ...options,
357
- responseType: 'json'
358
- });
359
- return {
360
- version: result.data.version,
361
- isLatest: true
362
- };
363
- }
364
- catch (error) {
365
- return {
366
- version: baileys_version_json_1.version,
367
- isLatest: false,
368
- error
369
- };
370
- }
371
- };
372
- exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
373
- const fetchLatestBaileysVersion2 = async (options = {}) => {
374
- const URL = 'https://raw.githubusercontent.com/nstar-y/bail/master/src/Defaults/baileys-version.json';
375
- try {
376
- const result = await axios_1.default.get(URL, {
377
- ...options,
378
- responseType: 'json'
379
- });
380
- return {
381
- version: result.data.version,
382
- isLatest: true
383
- };
384
- }
385
- catch (error) {
180
+ const response = await fetch(URL, {
181
+ dispatcher: options.dispatcher,
182
+ method: 'GET',
183
+ headers: options.headers
184
+ })
185
+ if (!response.ok) {
186
+ throw new Boom(`Failed to fetch latest Baileys version: ${response.statusText}`, { statusCode: response.status })
187
+ }
188
+
189
+ const text = await response.text()
190
+ // Extract version from line 7 (const version = [...])
191
+ const lines = text.split('\n')
192
+ const versionLine = lines[6] // Line 7 (0-indexed)
193
+ const versionMatch = versionLine!.match(/const version = \[(\d+),\s*(\d+),\s*(\d+)\]/)
194
+
195
+ if (versionMatch) {
196
+ const version = [parseInt(versionMatch[1]!), parseInt(versionMatch[2]!), parseInt(versionMatch[3]!)] as WAVersion
197
+
198
+ return {
199
+ version,
200
+ isLatest: true
201
+ }
202
+ } else {
203
+ throw new Error('Could not parse version from Defaults/index.ts')
204
+ }
205
+ } catch (error) {
386
206
  return {
387
- version: baileys_version_json_1.version,
207
+ version: baileysVersion as WAVersion,
388
208
  isLatest: false,
389
209
  error
390
- };
210
+ }
391
211
  }
392
- };
393
- exports.fetchLatestBaileysVersion2 = fetchLatestBaileysVersion2;
212
+ }
213
+ */
394
214
  /**
395
- * utility that fetches latest baileys version from the main branch.
215
+ * A utility that fetches the latest web version of whatsapp.
396
216
  * Use to ensure your WA connection is always on the latest version
397
217
  */
398
- const fetchLatestBaileysVersion3 = async (options = {}) => {
218
+ export const fetchLatestWaWebVersion = async (options = {}) => {
399
219
  try {
400
- const result = await axios_1.default.get('https://raw.githubusercontent.com/wppconnect-team/wa-version/main/versions.json', {
401
- ...options,
402
- responseType: 'json'
403
- });
404
- const version = result.data.versions[result.data.versions.length - 1].version.split('.');
405
- const version2 = version[2].replace('-alpha', '');
406
- return {
407
- version: [+version[0], +version[1], +version2],
408
- isLatest: true
409
- };
410
- }
411
- catch (error) {
412
- return {
413
- version: baileys_version_json_1.version,
414
- isLatest: false,
415
- error
220
+ // Absolute minimal headers required to bypass anti-bot detection
221
+ const defaultHeaders = {
222
+ 'sec-fetch-site': 'none',
223
+ 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
416
224
  };
417
- }
418
- };
419
- exports.fetchLatestBaileysVersion3 = fetchLatestBaileysVersion3;
420
- /**
421
- * utility that fetches latest baileys version from the master branch.
422
- * Use to ensure your WA connection is always on the latest version
423
- */
424
- const fetchLatestBaileysVersion4 = async (options = {}) => {
425
- const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
426
- try {
427
- const result = await axios_1.default.get(URL, {
225
+ const headers = { ...defaultHeaders, ...options.headers };
226
+ const response = await fetch('https://web.whatsapp.com/sw.js', {
428
227
  ...options,
429
- responseType: 'json'
228
+ method: 'GET',
229
+ headers
430
230
  });
231
+ if (!response.ok) {
232
+ throw new Boom(`Failed to fetch sw.js: ${response.statusText}`, { statusCode: response.status });
233
+ }
234
+ const data = await response.text();
235
+ const regex = /\\?"client_revision\\?":\s*(\d+)/;
236
+ const regexx = /\\?"server_revision\\?":\s*(\d+)/;
237
+ const match = data.match(regex);
238
+ if (!match?.[1]) {
239
+ return {
240
+ version: baileysVersion,
241
+ isLatest: false,
242
+ error: {
243
+ message: 'Could not find client revision in the fetched content'
244
+ }
245
+ };
246
+ }
247
+ const clientRevision = match[1];
431
248
  return {
432
- version: result.data.version,
249
+ version: [2, 3000, +clientRevision],
433
250
  isLatest: true
434
251
  };
435
252
  }
436
253
  catch (error) {
437
254
  return {
438
- version: baileys_version_json_1.version,
255
+ version: baileysVersion,
439
256
  isLatest: false,
440
257
  error
441
258
  };
442
259
  }
443
260
  };
444
- exports.fetchLatestBaileysVersion4 = fetchLatestBaileysVersion4;
445
- /**
446
- * A utility that fetches the latest web version of whatsapp.
447
- * Use to ensure your WA connection is always on the latest version
448
- */
449
- const fetchLatestWaWebVersion = async (options) => {
261
+ export const fetchLatestBaileysVersion = async (options = {}) => {
450
262
  try {
451
- const { data } = await axios_1.default.get('https://web.whatsapp.com/sw.js', {
263
+ // Absolute minimal headers required to bypass anti-bot detection
264
+ const defaultHeaders = {
265
+ 'sec-fetch-site': 'none',
266
+ 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
267
+ };
268
+ const headers = { ...defaultHeaders, ...options.headers };
269
+ const response = await fetch('https://web.whatsapp.com/sw.js', {
452
270
  ...options,
453
- responseType: 'json'
271
+ method: 'GET',
272
+ headers
454
273
  });
274
+ if (!response.ok) {
275
+ throw new Boom(`Failed to fetch sw.js: ${response.statusText}`, { statusCode: response.status });
276
+ }
277
+ const data = await response.text();
455
278
  const regex = /\\?"client_revision\\?":\s*(\d+)/;
456
279
  const regexx = /\\?"server_revision\\?":\s*(\d+)/;
457
280
  const match = data.match(regex);
458
- if (!(match === null || match === void 0 ? void 0 : match[1])) {
281
+ if (!match?.[1]) {
459
282
  return {
460
- version: baileys_version_json_1.version,
283
+ version: baileysVersion,
461
284
  isLatest: false,
462
285
  error: {
463
286
  message: 'Could not find client revision in the fetched content'
@@ -472,49 +295,46 @@ const fetchLatestWaWebVersion = async (options) => {
472
295
  }
473
296
  catch (error) {
474
297
  return {
475
- version: baileys_version_json_1.version,
298
+ version: baileysVersion,
476
299
  isLatest: false,
477
300
  error
478
301
  };
479
302
  }
480
303
  };
481
- exports.fetchLatestWaWebVersion = fetchLatestWaWebVersion;
482
304
  /** unique message tag prefix for MD clients */
483
- const generateMdTagPrefix = () => {
484
- const bytes = (0, crypto_1.randomBytes)(4);
305
+ export const generateMdTagPrefix = () => {
306
+ const bytes = randomBytes(4);
485
307
  return `${bytes.readUInt16BE()}.${bytes.readUInt16BE(2)}-`;
486
308
  };
487
- exports.generateMdTagPrefix = generateMdTagPrefix;
488
309
  const STATUS_MAP = {
489
- 'sender': WAProto_1.proto.WebMessageInfo.Status.SERVER_ACK,
490
- 'played': WAProto_1.proto.WebMessageInfo.Status.PLAYED,
491
- 'read': WAProto_1.proto.WebMessageInfo.Status.READ,
492
- 'read-self': WAProto_1.proto.WebMessageInfo.Status.READ
310
+ sender: proto.WebMessageInfo.Status.SERVER_ACK,
311
+ played: proto.WebMessageInfo.Status.PLAYED,
312
+ read: proto.WebMessageInfo.Status.READ,
313
+ 'read-self': proto.WebMessageInfo.Status.READ
493
314
  };
494
315
  /**
495
316
  * Given a type of receipt, returns what the new status of the message should be
496
317
  * @param type type from receipt
497
318
  */
498
- const getStatusFromReceiptType = (type) => {
319
+ export const getStatusFromReceiptType = (type) => {
499
320
  const status = STATUS_MAP[type];
500
321
  if (typeof type === 'undefined') {
501
- return WAProto_1.proto.WebMessageInfo.Status.DELIVERY_ACK;
322
+ return proto.WebMessageInfo.Status.DELIVERY_ACK;
502
323
  }
503
324
  return status;
504
325
  };
505
- exports.getStatusFromReceiptType = getStatusFromReceiptType;
506
326
  const CODE_MAP = {
507
- conflict: Types_1.DisconnectReason.connectionReplaced
327
+ conflict: DisconnectReason.connectionReplaced
508
328
  };
509
329
  /**
510
330
  * Stream errors generally provide a reason, map that to a baileys DisconnectReason
511
331
  * @param reason the string reason given, eg. "conflict"
512
332
  */
513
- const getErrorCodeFromStreamError = (node) => {
514
- const [reasonNode] = (0, WABinary_1.getAllBinaryNodeChildren)(node);
515
- let reason = (reasonNode === null || reasonNode === void 0 ? void 0 : reasonNode.tag) || 'unknown';
516
- const statusCode = +(node.attrs.code || CODE_MAP[reason] || Types_1.DisconnectReason.badSession);
517
- if (statusCode === Types_1.DisconnectReason.restartRequired) {
333
+ export const getErrorCodeFromStreamError = (node) => {
334
+ const [reasonNode] = getAllBinaryNodeChildren(node);
335
+ let reason = reasonNode?.tag || 'unknown';
336
+ const statusCode = +(node.attrs.code || CODE_MAP[reason] || DisconnectReason.badSession);
337
+ if (statusCode === DisconnectReason.restartRequired) {
518
338
  reason = 'restart required';
519
339
  }
520
340
  return {
@@ -522,8 +342,7 @@ const getErrorCodeFromStreamError = (node) => {
522
342
  statusCode
523
343
  };
524
344
  };
525
- exports.getErrorCodeFromStreamError = getErrorCodeFromStreamError;
526
- const getCallStatusFromNode = ({ tag, attrs }) => {
345
+ export const getCallStatusFromNode = ({ tag, attrs }) => {
527
346
  let status;
528
347
  switch (tag) {
529
348
  case 'offer':
@@ -535,7 +354,7 @@ const getCallStatusFromNode = ({ tag, attrs }) => {
535
354
  status = 'timeout';
536
355
  }
537
356
  else {
538
- // fired when accepted/rejected/timeout/caller hangs up
357
+ //fired when accepted/rejected/timeout/caller hangs up
539
358
  status = 'terminate';
540
359
  }
541
360
  break;
@@ -551,33 +370,33 @@ const getCallStatusFromNode = ({ tag, attrs }) => {
551
370
  }
552
371
  return status;
553
372
  };
554
- exports.getCallStatusFromNode = getCallStatusFromNode;
555
373
  const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: ';
556
- const getCodeFromWSError = (error) => {
557
- var _a, _b, _c;
374
+ export const getCodeFromWSError = (error) => {
558
375
  let statusCode = 500;
559
- if ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
560
- const code = +(error === null || error === void 0 ? void 0 : error.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length));
376
+ if (error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
377
+ const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length);
561
378
  if (!Number.isNaN(code) && code >= 400) {
562
379
  statusCode = code;
563
380
  }
564
381
  }
565
- else if (((_b = error === null || error === void 0 ? void 0 : error.code) === null || _b === void 0 ? void 0 : _b.startsWith('E'))
566
- || ((_c = error === null || error === void 0 ? void 0 : error.message) === null || _c === void 0 ? void 0 : _c.includes('timed out'))) { // handle ETIMEOUT, ENOTFOUND etc
382
+ else if (
383
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
384
+ error?.code?.startsWith('E') ||
385
+ error?.message?.includes('timed out')) {
386
+ // handle ETIMEOUT, ENOTFOUND etc
567
387
  statusCode = 408;
568
388
  }
569
389
  return statusCode;
570
390
  };
571
- exports.getCodeFromWSError = getCodeFromWSError;
572
391
  /**
573
392
  * Is the given platform WA business
574
393
  * @param platform AuthenticationCreds.platform
575
394
  */
576
- const isWABusinessPlatform = (platform) => {
395
+ export const isWABusinessPlatform = (platform) => {
577
396
  return platform === 'smbi' || platform === 'smba';
578
397
  };
579
- exports.isWABusinessPlatform = isWABusinessPlatform;
580
- function trimUndefined(obj) {
398
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
399
+ export function trimUndefined(obj) {
581
400
  for (const key in obj) {
582
401
  if (typeof obj[key] === 'undefined') {
583
402
  delete obj[key];
@@ -586,12 +405,12 @@ function trimUndefined(obj) {
586
405
  return obj;
587
406
  }
588
407
  const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ';
589
- function bytesToCrockford(buffer) {
408
+ export function bytesToCrockford(buffer) {
590
409
  let value = 0;
591
410
  let bitCount = 0;
592
411
  const crockford = [];
593
- for (let i = 0; i < buffer.length; i++) {
594
- value = (value << 8) | (buffer[i] & 0xff);
412
+ for (const element of buffer) {
413
+ value = (value << 8) | (element & 0xff);
595
414
  bitCount += 8;
596
415
  while (bitCount >= 5) {
597
416
  crockford.push(CROCKFORD_CHARACTERS.charAt((value >>> (bitCount - 5)) & 31));
@@ -603,3 +422,7 @@ function bytesToCrockford(buffer) {
603
422
  }
604
423
  return crockford.join('');
605
424
  }
425
+ export function encodeNewsletterMessage(message) {
426
+ return proto.Message.encode(message).finish();
427
+ }
428
+ //# sourceMappingURL=generics.js.map