@fer2809fl/baileys 1.4.9 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +556 -523
  3. package/WAProto/GenerateStatics.sh +3 -4
  4. package/WAProto/WAProto.proto +1215 -511
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +4347 -45387
  7. package/WAProto/index.js +65475 -137445
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +34 -18
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +95 -67
  12. package/lib/Defaults/index.js.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  14. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js +2 -5
  16. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  18. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  19. package/lib/Signal/Group/group-session-builder.js +7 -41
  20. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  21. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  22. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  23. package/lib/Signal/Group/group_cipher.js +37 -60
  24. package/lib/Signal/Group/group_cipher.js.map +1 -0
  25. package/lib/Signal/Group/index.d.ts +12 -11
  26. package/lib/Signal/Group/index.d.ts.map +1 -0
  27. package/lib/Signal/Group/index.js +12 -57
  28. package/lib/Signal/Group/index.js.map +1 -0
  29. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  30. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  31. package/lib/Signal/Group/keyhelper.js +7 -44
  32. package/lib/Signal/Group/keyhelper.js.map +1 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
  34. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js +7 -15
  36. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  38. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  40. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  42. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.js +9 -12
  44. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  46. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.js +2 -5
  48. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts +3 -2
  50. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.js +12 -37
  52. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts +7 -6
  54. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.js +27 -42
  56. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  58. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.js +4 -7
  60. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  61. package/lib/Signal/libsignal.d.ts +5 -3
  62. package/lib/Signal/libsignal.d.ts.map +1 -0
  63. package/lib/Signal/libsignal.js +347 -90
  64. package/lib/Signal/libsignal.js.map +1 -0
  65. package/lib/Signal/lid-mapping.d.ts +23 -0
  66. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  67. package/lib/Signal/lid-mapping.js +277 -0
  68. package/lib/Signal/lid-mapping.js.map +1 -0
  69. package/lib/Socket/Client/index.d.ts +3 -2
  70. package/lib/Socket/Client/index.d.ts.map +1 -0
  71. package/lib/Socket/Client/index.js +3 -18
  72. package/lib/Socket/Client/index.js.map +1 -0
  73. package/lib/Socket/Client/types.d.ts +4 -4
  74. package/lib/Socket/Client/types.d.ts.map +1 -0
  75. package/lib/Socket/Client/types.js +4 -6
  76. package/lib/Socket/Client/types.js.map +1 -0
  77. package/lib/Socket/Client/websocket.d.ts +3 -3
  78. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  79. package/lib/Socket/Client/websocket.js +21 -78
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +205 -93
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +162 -43
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +77 -28
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +639 -248
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +340 -0
  90. package/lib/Socket/communities.d.ts.map +1 -0
  91. package/lib/Socket/communities.js +434 -0
  92. package/lib/Socket/communities.js.map +1 -0
  93. package/lib/Socket/groups.d.ts +93 -46
  94. package/lib/Socket/groups.d.ts.map +1 -0
  95. package/lib/Socket/groups.js +260 -102
  96. package/lib/Socket/groups.js.map +1 -0
  97. package/lib/Socket/index.d.ts +253 -98
  98. package/lib/Socket/index.d.ts.map +1 -0
  99. package/lib/Socket/index.js +11 -9
  100. package/lib/Socket/index.js.map +1 -0
  101. package/lib/Socket/messages-recv.d.ts +192 -83
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +1314 -559
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +190 -75
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +937 -581
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +4 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +62 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +129 -73
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +373 -222
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/smgss.d.ts +119 -0
  118. package/lib/Socket/smgss.d.ts.map +1 -0
  119. package/lib/Socket/smgss.js +453 -0
  120. package/lib/Socket/smgss.js.map +1 -0
  121. package/lib/Socket/socket.d.ts +59 -270
  122. package/lib/Socket/socket.d.ts.map +1 -0
  123. package/lib/Socket/socket.js +738 -326
  124. package/lib/Socket/socket.js.map +1 -0
  125. package/lib/Store/index.d.ts +4 -2
  126. package/lib/Store/index.d.ts.map +1 -0
  127. package/lib/Store/index.js +4 -8
  128. package/lib/Store/index.js.map +1 -0
  129. package/lib/Store/make-in-memory-store.d.ts +74 -60
  130. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  131. package/lib/Store/make-in-memory-store.js +130 -119
  132. package/lib/Store/make-in-memory-store.js.map +1 -0
  133. package/lib/Store/make-ordered-dictionary.d.ts +4 -3
  134. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  135. package/lib/Store/make-ordered-dictionary.js +5 -6
  136. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  137. package/lib/Store/object-repository.d.ts +6 -3
  138. package/lib/Store/object-repository.d.ts.map +1 -0
  139. package/lib/Store/object-repository.js +2 -5
  140. package/lib/Store/object-repository.js.map +1 -0
  141. package/lib/Types/Auth.d.ts +19 -5
  142. package/lib/Types/Auth.d.ts.map +1 -0
  143. package/lib/Types/Auth.js +2 -2
  144. package/lib/Types/Auth.js.map +1 -0
  145. package/lib/Types/Bussines.d.ts +25 -0
  146. package/lib/Types/Bussines.d.ts.map +1 -0
  147. package/lib/Types/Bussines.js +2 -0
  148. package/lib/Types/Bussines.js.map +1 -0
  149. package/lib/Types/Call.d.ts +3 -1
  150. package/lib/Types/Call.d.ts.map +1 -0
  151. package/lib/Types/Call.js +2 -2
  152. package/lib/Types/Call.js.map +1 -0
  153. package/lib/Types/Chat.d.ts +24 -9
  154. package/lib/Types/Chat.d.ts.map +1 -0
  155. package/lib/Types/Chat.js +8 -4
  156. package/lib/Types/Chat.js.map +1 -0
  157. package/lib/Types/Contact.d.ts +7 -4
  158. package/lib/Types/Contact.d.ts.map +1 -0
  159. package/lib/Types/Contact.js +2 -2
  160. package/lib/Types/Contact.js.map +1 -0
  161. package/lib/Types/Events.d.ts +90 -33
  162. package/lib/Types/Events.d.ts.map +1 -0
  163. package/lib/Types/Events.js +2 -2
  164. package/lib/Types/Events.js.map +1 -0
  165. package/lib/Types/GroupMetadata.d.ts +16 -9
  166. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  167. package/lib/Types/GroupMetadata.js +2 -2
  168. package/lib/Types/GroupMetadata.js.map +1 -0
  169. package/lib/Types/Label.d.ts +12 -0
  170. package/lib/Types/Label.d.ts.map +1 -0
  171. package/lib/Types/Label.js +3 -5
  172. package/lib/Types/Label.js.map +1 -0
  173. package/lib/Types/LabelAssociation.d.ts +1 -0
  174. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  175. package/lib/Types/LabelAssociation.js +3 -5
  176. package/lib/Types/LabelAssociation.js.map +1 -0
  177. package/lib/Types/Message.d.ts +176 -148
  178. package/lib/Types/Message.d.ts.map +1 -0
  179. package/lib/Types/Message.js +15 -7
  180. package/lib/Types/Message.js.map +1 -0
  181. package/lib/Types/Mex.d.ts +154 -0
  182. package/lib/Types/Mex.d.ts.map +1 -0
  183. package/lib/Types/Mex.js +39 -0
  184. package/lib/Types/Mex.js.map +1 -0
  185. package/lib/Types/Product.d.ts +2 -1
  186. package/lib/Types/Product.d.ts.map +1 -0
  187. package/lib/Types/Product.js +2 -2
  188. package/lib/Types/Product.js.map +1 -0
  189. package/lib/Types/Signal.d.ts +32 -2
  190. package/lib/Types/Signal.d.ts.map +1 -0
  191. package/lib/Types/Signal.js +2 -2
  192. package/lib/Types/Signal.js.map +1 -0
  193. package/lib/Types/Socket.d.ts +46 -20
  194. package/lib/Types/Socket.d.ts.map +1 -0
  195. package/lib/Types/Socket.js +3 -2
  196. package/lib/Types/Socket.js.map +1 -0
  197. package/lib/Types/State.d.ts +79 -2
  198. package/lib/Types/State.d.ts.map +1 -0
  199. package/lib/Types/State.js +56 -2
  200. package/lib/Types/State.js.map +1 -0
  201. package/lib/Types/USync.d.ts +3 -2
  202. package/lib/Types/USync.d.ts.map +1 -0
  203. package/lib/Types/USync.js +2 -2
  204. package/lib/Types/USync.js.map +1 -0
  205. package/lib/Types/index.d.ts +16 -14
  206. package/lib/Types/index.d.ts.map +1 -0
  207. package/lib/Types/index.js +15 -31
  208. package/lib/Types/index.js.map +1 -0
  209. package/lib/Utils/auth-utils.d.ts +10 -4
  210. package/lib/Utils/auth-utils.d.ts.map +1 -0
  211. package/lib/Utils/auth-utils.js +242 -151
  212. package/lib/Utils/auth-utils.js.map +1 -0
  213. package/lib/Utils/browser-utils.d.ts +4 -0
  214. package/lib/Utils/browser-utils.d.ts.map +1 -0
  215. package/lib/Utils/browser-utils.js +29 -0
  216. package/lib/Utils/browser-utils.js.map +1 -0
  217. package/lib/Utils/business.d.ts +3 -2
  218. package/lib/Utils/business.d.ts.map +1 -0
  219. package/lib/Utils/business.js +66 -69
  220. package/lib/Utils/business.js.map +1 -0
  221. package/lib/Utils/button-handler.d.ts +28 -0
  222. package/lib/Utils/button-handler.d.ts.map +1 -0
  223. package/lib/Utils/button-handler.js +79 -90
  224. package/lib/Utils/button-handler.js.map +1 -0
  225. package/lib/Utils/chat-utils.d.ts +42 -12
  226. package/lib/Utils/chat-utils.d.ts.map +1 -0
  227. package/lib/Utils/chat-utils.js +380 -238
  228. package/lib/Utils/chat-utils.js.map +1 -0
  229. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  230. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  231. package/lib/Utils/companion-reg-client-utils.js +35 -0
  232. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  233. package/lib/Utils/crypto.d.ts +11 -14
  234. package/lib/Utils/crypto.d.ts.map +1 -0
  235. package/lib/Utils/crypto.js +41 -116
  236. package/lib/Utils/crypto.js.map +1 -0
  237. package/lib/Utils/decode-wa-message.d.ts +36 -5
  238. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  239. package/lib/Utils/decode-wa-message.js +173 -63
  240. package/lib/Utils/decode-wa-message.js.map +1 -0
  241. package/lib/Utils/event-buffer.d.ts +8 -7
  242. package/lib/Utils/event-buffer.d.ts.map +1 -0
  243. package/lib/Utils/event-buffer.js +174 -70
  244. package/lib/Utils/event-buffer.js.map +1 -0
  245. package/lib/Utils/generics.d.ts +20 -17
  246. package/lib/Utils/generics.d.ts.map +1 -0
  247. package/lib/Utils/generics.js +159 -207
  248. package/lib/Utils/generics.js.map +1 -0
  249. package/lib/Utils/history.d.ts +16 -11
  250. package/lib/Utils/history.d.ts.map +1 -0
  251. package/lib/Utils/history.js +93 -53
  252. package/lib/Utils/history.js.map +1 -0
  253. package/lib/Utils/identity-change-handler.d.ts +44 -0
  254. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  255. package/lib/Utils/identity-change-handler.js +50 -0
  256. package/lib/Utils/identity-change-handler.js.map +1 -0
  257. package/lib/Utils/index.d.ts +30 -18
  258. package/lib/Utils/index.d.ts.map +1 -0
  259. package/lib/Utils/index.js +30 -34
  260. package/lib/Utils/index.js.map +1 -0
  261. package/lib/Utils/interactive.d.ts +60 -0
  262. package/lib/Utils/interactive.d.ts.map +1 -0
  263. package/lib/Utils/interactive.js +87 -117
  264. package/lib/Utils/interactive.js.map +1 -0
  265. package/lib/Utils/link-preview.d.ts +4 -4
  266. package/lib/Utils/link-preview.d.ts.map +1 -0
  267. package/lib/Utils/link-preview.js +17 -58
  268. package/lib/Utils/link-preview.js.map +1 -0
  269. package/lib/Utils/logger.d.ts +8 -6
  270. package/lib/Utils/logger.d.ts.map +1 -0
  271. package/lib/Utils/logger.js +3 -10
  272. package/lib/Utils/logger.js.map +1 -0
  273. package/lib/Utils/lt-hash.d.ts +8 -12
  274. package/lib/Utils/lt-hash.d.ts.map +1 -0
  275. package/lib/Utils/lt-hash.js +3 -46
  276. package/lib/Utils/lt-hash.js.map +1 -0
  277. package/lib/Utils/make-mutex.d.ts +2 -0
  278. package/lib/Utils/make-mutex.d.ts.map +1 -0
  279. package/lib/Utils/make-mutex.js +24 -34
  280. package/lib/Utils/make-mutex.js.map +1 -0
  281. package/lib/Utils/message-composer.d.ts +93 -0
  282. package/lib/Utils/message-composer.d.ts.map +1 -0
  283. package/lib/Utils/message-composer.js +311 -0
  284. package/lib/Utils/message-composer.js.map +1 -0
  285. package/lib/Utils/message-retry-manager.d.ts +115 -0
  286. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  287. package/lib/Utils/message-retry-manager.js +265 -0
  288. package/lib/Utils/message-retry-manager.js.map +1 -0
  289. package/lib/Utils/messages-media.d.ts +82 -40
  290. package/lib/Utils/messages-media.d.ts.map +1 -0
  291. package/lib/Utils/messages-media.js +674 -677
  292. package/lib/Utils/messages-media.js.map +1 -0
  293. package/lib/Utils/messages-newsletter.d.ts +74 -0
  294. package/lib/Utils/messages-newsletter.d.ts.map +1 -0
  295. package/lib/Utils/messages-newsletter.js +128 -0
  296. package/lib/Utils/messages-newsletter.js.map +1 -0
  297. package/lib/Utils/messages.d.ts +38 -14
  298. package/lib/Utils/messages.d.ts.map +1 -0
  299. package/lib/Utils/messages.js +835 -602
  300. package/lib/Utils/messages.js.map +1 -0
  301. package/lib/Utils/noise-handler.d.ts +9 -8
  302. package/lib/Utils/noise-handler.d.ts.map +1 -0
  303. package/lib/Utils/noise-handler.js +149 -98
  304. package/lib/Utils/noise-handler.js.map +1 -0
  305. package/lib/Utils/offline-node-processor.d.ts +17 -0
  306. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  307. package/lib/Utils/offline-node-processor.js +40 -0
  308. package/lib/Utils/offline-node-processor.js.map +1 -0
  309. package/lib/Utils/pre-key-manager.d.ts +28 -0
  310. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  311. package/lib/Utils/pre-key-manager.js +106 -0
  312. package/lib/Utils/pre-key-manager.js.map +1 -0
  313. package/lib/Utils/process-message.d.ts +30 -12
  314. package/lib/Utils/process-message.d.ts.map +1 -0
  315. package/lib/Utils/process-message.js +438 -230
  316. package/lib/Utils/process-message.js.map +1 -0
  317. package/lib/Utils/reporting-utils.d.ts +11 -0
  318. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  319. package/lib/Utils/reporting-utils.js +258 -0
  320. package/lib/Utils/reporting-utils.js.map +1 -0
  321. package/lib/Utils/shortcake-crypto.d.ts +36 -0
  322. package/lib/Utils/shortcake-crypto.d.ts.map +1 -0
  323. package/lib/Utils/shortcake-crypto.js +71 -0
  324. package/lib/Utils/shortcake-crypto.js.map +1 -0
  325. package/lib/Utils/shortcake.d.ts +36 -0
  326. package/lib/Utils/shortcake.d.ts.map +1 -0
  327. package/lib/Utils/shortcake.js +162 -0
  328. package/lib/Utils/shortcake.js.map +1 -0
  329. package/lib/Utils/signal.d.ts +20 -6
  330. package/lib/Utils/signal.d.ts.map +1 -0
  331. package/lib/Utils/signal.js +112 -64
  332. package/lib/Utils/signal.js.map +1 -0
  333. package/lib/Utils/stanza-ack.d.ts +11 -0
  334. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  335. package/lib/Utils/stanza-ack.js +38 -0
  336. package/lib/Utils/stanza-ack.js.map +1 -0
  337. package/lib/Utils/sync-action-utils.d.ts +19 -0
  338. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  339. package/lib/Utils/sync-action-utils.js +49 -0
  340. package/lib/Utils/sync-action-utils.js.map +1 -0
  341. package/lib/Utils/tc-token-utils.d.ts +37 -0
  342. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  343. package/lib/Utils/tc-token-utils.js +164 -0
  344. package/lib/Utils/tc-token-utils.js.map +1 -0
  345. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  346. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  347. package/lib/Utils/use-multi-file-auth-state.js +40 -64
  348. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  349. package/lib/Utils/use-single-file-auth-state.d.ts +6 -0
  350. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  351. package/lib/Utils/use-single-file-auth-state.js +111 -0
  352. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  353. package/lib/Utils/use-sqlite-auth-state.d.ts +14 -0
  354. package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
  355. package/lib/Utils/use-sqlite-auth-state.js +107 -0
  356. package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
  357. package/lib/Utils/validate-connection.d.ts +5 -3
  358. package/lib/Utils/validate-connection.d.ts.map +1 -0
  359. package/lib/Utils/validate-connection.js +82 -101
  360. package/lib/Utils/validate-connection.js.map +1 -0
  361. package/lib/WABinary/constants.d.ts +1 -0
  362. package/lib/WABinary/constants.d.ts.map +1 -0
  363. package/lib/WABinary/constants.js +10 -12
  364. package/lib/WABinary/constants.js.map +1 -0
  365. package/lib/WABinary/decode.d.ts +2 -1
  366. package/lib/WABinary/decode.d.ts.map +1 -0
  367. package/lib/WABinary/decode.js +49 -52
  368. package/lib/WABinary/decode.js.map +1 -0
  369. package/lib/WABinary/encode.d.ts +2 -1
  370. package/lib/WABinary/encode.d.ts.map +1 -0
  371. package/lib/WABinary/encode.js +19 -49
  372. package/lib/WABinary/encode.js.map +1 -0
  373. package/lib/WABinary/generic-utils.d.ts +5 -4
  374. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  375. package/lib/WABinary/generic-utils.js +46 -43
  376. package/lib/WABinary/generic-utils.js.map +1 -0
  377. package/lib/WABinary/index.d.ts +6 -5
  378. package/lib/WABinary/index.d.ts.map +1 -0
  379. package/lib/WABinary/index.js +6 -21
  380. package/lib/WABinary/index.js.map +1 -0
  381. package/lib/WABinary/jid-utils.d.ts +32 -10
  382. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  383. package/lib/WABinary/jid-utils.js +103 -59
  384. package/lib/WABinary/jid-utils.js.map +1 -0
  385. package/lib/WABinary/types.d.ts +2 -1
  386. package/lib/WABinary/types.d.ts.map +1 -0
  387. package/lib/WABinary/types.js +2 -2
  388. package/lib/WABinary/types.js.map +1 -0
  389. package/lib/WAM/BinaryInfo.d.ts +2 -1
  390. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  391. package/lib/WAM/BinaryInfo.js +2 -5
  392. package/lib/WAM/BinaryInfo.js.map +1 -0
  393. package/lib/WAM/constants.d.ts +5 -3
  394. package/lib/WAM/constants.d.ts.map +1 -0
  395. package/lib/WAM/constants.js +19071 -11568
  396. package/lib/WAM/constants.js.map +1 -0
  397. package/lib/WAM/encode.d.ts +2 -1
  398. package/lib/WAM/encode.d.ts.map +1 -0
  399. package/lib/WAM/encode.js +17 -22
  400. package/lib/WAM/encode.js.map +1 -0
  401. package/lib/WAM/index.d.ts +4 -3
  402. package/lib/WAM/index.d.ts.map +1 -0
  403. package/lib/WAM/index.js +4 -19
  404. package/lib/WAM/index.js.map +1 -0
  405. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  406. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  407. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  408. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  409. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  410. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  411. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  412. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  413. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  414. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  415. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +8 -11
  416. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  417. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  418. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  419. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  420. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  421. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  422. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  423. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  424. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  425. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  426. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  427. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  428. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  429. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
  430. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  431. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  432. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  433. package/lib/WAUSync/Protocols/index.d.ts +6 -4
  434. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  435. package/lib/WAUSync/Protocols/index.js +6 -20
  436. package/lib/WAUSync/Protocols/index.js.map +1 -0
  437. package/lib/WAUSync/USyncQuery.d.ts +6 -4
  438. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  439. package/lib/WAUSync/USyncQuery.js +44 -35
  440. package/lib/WAUSync/USyncQuery.js.map +1 -0
  441. package/lib/WAUSync/USyncUser.d.ts +10 -5
  442. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  443. package/lib/WAUSync/USyncUser.js +10 -5
  444. package/lib/WAUSync/USyncUser.js.map +1 -0
  445. package/lib/WAUSync/index.d.ts +4 -3
  446. package/lib/WAUSync/index.d.ts.map +1 -0
  447. package/lib/WAUSync/index.js +4 -19
  448. package/lib/WAUSync/index.js.map +1 -0
  449. package/lib/index.d.ts +12 -15
  450. package/lib/index.d.ts.map +1 -0
  451. package/lib/index.js +15 -48
  452. package/lib/index.js.map +1 -0
  453. package/package.json +44 -64
  454. package/WAProto/index.ts.ts +0 -53473
  455. package/WAProto/n +0 -1
  456. package/lib/Baileys.jpeg +0 -0
  457. package/lib/Defaults/baileys-version.json +0 -3
  458. package/lib/Defaults/n +0 -1
  459. package/lib/Signal/Group/queue-job.d.ts +0 -1
  460. package/lib/Signal/Group/queue-job.js +0 -57
  461. package/lib/Signal/n +0 -1
  462. package/lib/Socket/Client/n +0 -1
  463. package/lib/Socket/n +0 -1
  464. package/lib/Socket/setup.js +0 -480
  465. package/lib/Socket/setup.ts +0 -622
  466. package/lib/Socket/usync.d.ts +0 -36
  467. package/lib/Socket/usync.js +0 -70
  468. package/lib/Store/n +0 -1
  469. package/lib/Types/Newsletter.d.ts +0 -79
  470. package/lib/Types/Newsletter.js +0 -18
  471. package/lib/Types/n +0 -1
  472. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  473. package/lib/Utils/baileys-event-stream.js +0 -63
  474. package/lib/Utils/error-handler.js +0 -37
  475. package/lib/Utils/n +0 -1
  476. package/lib/WABinary/jid-utils.js.bak +0 -83
  477. package/lib/WABinary/n +0 -1
  478. package/lib/WAM/n +0 -1
  479. package/lib/WAUSync/Protocols/n +0 -1
  480. package/lib/WAUSync/n +0 -1
  481. package/lib/n +0 -1
@@ -1,55 +1,19 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.decodeBinaryNode = exports.decodeDecompressedBinaryNode = exports.decompressingIfRequired = void 0;
37
- const util_1 = require("util");
38
- const zlib_1 = require("zlib");
39
- const constants = __importStar(require("./constants"));
40
- const jid_utils_1 = require("./jid-utils");
41
- const inflatePromise = (0, util_1.promisify)(zlib_1.inflate);
42
- const decompressingIfRequired = async (buffer) => {
1
+ import { promisify } from 'util';
2
+ import { inflate } from 'zlib';
3
+ import * as constants from './constants.js';
4
+ import { jidEncode, WAJIDDomains } from './jid-utils.js';
5
+ const inflatePromise = promisify(inflate);
6
+ export const decompressingIfRequired = async (buffer) => {
43
7
  if (2 & buffer.readUInt8()) {
44
8
  buffer = await inflatePromise(buffer.slice(1));
45
9
  }
46
- else { // nodes with no compression have a 0x00 prefix, we remove that
10
+ else {
11
+ // nodes with no compression have a 0x00 prefix, we remove that
47
12
  buffer = buffer.slice(1);
48
13
  }
49
14
  return buffer;
50
15
  };
51
- exports.decompressingIfRequired = decompressingIfRequired;
52
- const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) => {
16
+ export const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) => {
53
17
  const { DOUBLE_BYTE_TOKENS, SINGLE_BYTE_TOKENS, TAGS } = opts;
54
18
  const checkEOS = (length) => {
55
19
  if (indexRef.index + length > buffer.length) {
@@ -160,7 +124,37 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
160
124
  const domainType = Number(rawDomainType);
161
125
  const device = readByte();
162
126
  const user = readString(readByte());
163
- return (0, jid_utils_1.jidEncode)(user, domainType === 0 || domainType === 128 ? 's.whatsapp.net' : 'lid', device);
127
+ let server = 's.whatsapp.net'; // default whatsapp server
128
+ if (domainType === WAJIDDomains.LID) {
129
+ server = 'lid';
130
+ }
131
+ else if (domainType === WAJIDDomains.HOSTED) {
132
+ server = 'hosted';
133
+ }
134
+ else if (domainType === WAJIDDomains.HOSTED_LID) {
135
+ server = 'hosted.lid';
136
+ }
137
+ return jidEncode(user, server, device);
138
+ };
139
+ const readFbJid = () => {
140
+ const user = readString(readByte());
141
+ const device = readInt(2);
142
+ const server = readString(readByte());
143
+ return `${user}:${device}@${server}`;
144
+ };
145
+ const readInteropJid = () => {
146
+ const user = readString(readByte());
147
+ const device = readInt(2);
148
+ const integrator = readInt(2);
149
+ let server = 'interop';
150
+ const beforeServer = indexRef.index;
151
+ try {
152
+ server = readString(readByte());
153
+ }
154
+ catch (err) {
155
+ indexRef.index = beforeServer;
156
+ }
157
+ return `${integrator}-${user}:${device}@${server}`;
164
158
  };
165
159
  const readString = (tag) => {
166
160
  if (tag >= 1 && tag < SINGLE_BYTE_TOKENS.length) {
@@ -182,6 +176,10 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
182
176
  return readStringFromChars(readInt(4));
183
177
  case TAGS.JID_PAIR:
184
178
  return readJidPair();
179
+ case TAGS.FB_JID:
180
+ return readFbJid();
181
+ case TAGS.INTEROP_JID:
182
+ return readInteropJid();
185
183
  case TAGS.AD_JID:
186
184
  return readAdJid();
187
185
  case TAGS.HEX_8:
@@ -195,7 +193,7 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
195
193
  const items = [];
196
194
  const size = readListSize(tag);
197
195
  for (let i = 0; i < size; i++) {
198
- items.push((0, exports.decodeDecompressedBinaryNode)(buffer, opts, indexRef));
196
+ items.push(decodeDecompressedBinaryNode(buffer, opts, indexRef));
199
197
  }
200
198
  return items;
201
199
  };
@@ -257,9 +255,8 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
257
255
  content: data
258
256
  };
259
257
  };
260
- exports.decodeDecompressedBinaryNode = decodeDecompressedBinaryNode;
261
- const decodeBinaryNode = async (buff) => {
262
- const decompBuff = await (0, exports.decompressingIfRequired)(buff);
263
- return (0, exports.decodeDecompressedBinaryNode)(decompBuff, constants);
258
+ export const decodeBinaryNode = async (buff) => {
259
+ const decompBuff = await decompressingIfRequired(buff);
260
+ return decodeDecompressedBinaryNode(decompBuff, constants);
264
261
  };
265
- exports.decodeBinaryNode = decodeBinaryNode;
262
+ //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/WABinary/decode.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- import type { BinaryNode, BinaryNodeCodingOptions } from './types';
1
+ import type { BinaryNode, BinaryNodeCodingOptions } from './types.js';
2
2
  export declare const encodeBinaryNode: (node: BinaryNode, opts?: Pick<BinaryNodeCodingOptions, "TAGS" | "TOKEN_MAP">, buffer?: number[]) => Buffer;
3
+ //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/WABinary/encode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAElE,eAAO,MAAM,gBAAgB,GAC5B,MAAM,UAAU,EAChB,OAAM,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,WAAW,CAAa,EACrE,SAAQ,MAAM,EAAQ,KACpB,MAGF,CAAA"}
@@ -1,46 +1,9 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.encodeBinaryNode = void 0;
37
- const constants = __importStar(require("./constants"));
38
- const jid_utils_1 = require("./jid-utils");
39
- const encodeBinaryNode = (node, opts = constants, buffer = [0]) => {
1
+ import * as constants from './constants.js';
2
+ import { jidDecode } from './jid-utils.js';
3
+ export const encodeBinaryNode = (node, opts = constants, buffer = [0]) => {
40
4
  const encoded = encodeBinaryNodeInner(node, opts, buffer);
41
5
  return Buffer.from(encoded);
42
6
  };
43
- exports.encodeBinaryNode = encodeBinaryNode;
44
7
  const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
45
8
  const { TAGS, TOKEN_MAP } = opts;
46
9
  const pushByte = (value) => buffer.push(value & 0xff);
@@ -50,11 +13,15 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
50
13
  buffer.push((value >> (curShift * 8)) & 0xff);
51
14
  }
52
15
  };
53
- const pushBytes = (bytes) => (bytes.forEach(b => buffer.push(b)));
16
+ const pushBytes = (bytes) => {
17
+ for (const b of bytes) {
18
+ buffer.push(b);
19
+ }
20
+ };
54
21
  const pushInt16 = (value) => {
55
22
  pushBytes([(value >> 8) & 0xff, value & 0xff]);
56
23
  };
57
- const pushInt20 = (value) => (pushBytes([(value >> 16) & 0x0f, (value >> 8) & 0xff, value & 0xff]));
24
+ const pushInt20 = (value) => pushBytes([(value >> 16) & 0x0f, (value >> 8) & 0xff, value & 0xff]);
58
25
  const writeByteLength = (length) => {
59
26
  if (length >= 4294967296) {
60
27
  throw new Error('string too large to encode: ' + length);
@@ -152,8 +119,7 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
152
119
  if (!str || str.length > TAGS.PACKED_MAX) {
153
120
  return false;
154
121
  }
155
- for (let i = 0; i < str.length; i++) {
156
- const char = str[i];
122
+ for (const char of str) {
157
123
  const isInNibbleRange = char >= '0' && char <= '9';
158
124
  if (!isInNibbleRange && char !== '-' && char !== '.') {
159
125
  return false;
@@ -165,8 +131,7 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
165
131
  if (!str || str.length > TAGS.PACKED_MAX) {
166
132
  return false;
167
133
  }
168
- for (let i = 0; i < str.length; i++) {
169
- const char = str[i];
134
+ for (const char of str) {
170
135
  const isInNibbleRange = char >= '0' && char <= '9';
171
136
  if (!isInNibbleRange && !(char >= 'A' && char <= 'F')) {
172
137
  return false;
@@ -179,6 +144,10 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
179
144
  pushByte(TAGS.LIST_EMPTY);
180
145
  return;
181
146
  }
147
+ if (str === '') {
148
+ writeStringRaw(str);
149
+ return;
150
+ }
182
151
  const tokenIndex = TOKEN_MAP[str];
183
152
  if (tokenIndex) {
184
153
  if (typeof tokenIndex.dict === 'number') {
@@ -192,8 +161,8 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
192
161
  else if (isHex(str)) {
193
162
  writePackedBytes(str, 'hex');
194
163
  }
195
- else if (str) {
196
- const decodedJid = (0, jid_utils_1.jidDecode)(str);
164
+ else {
165
+ const decodedJid = jidDecode(str);
197
166
  if (decodedJid) {
198
167
  writeJid(decodedJid);
199
168
  }
@@ -217,7 +186,7 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
217
186
  if (!tag) {
218
187
  throw new Error('Invalid node: tag cannot be undefined');
219
188
  }
220
- const validAttributes = Object.keys(attrs || {}).filter(k => (typeof attrs[k] !== 'undefined' && attrs[k] !== null));
189
+ const validAttributes = Object.keys(attrs || {}).filter(k => typeof attrs[k] !== 'undefined' && attrs[k] !== null);
221
190
  writeListStart(2 * validAttributes.length + 1 + (typeof content !== 'undefined' ? 1 : 0));
222
191
  writeString(tag);
223
192
  for (const key of validAttributes) {
@@ -248,3 +217,4 @@ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
248
217
  }
249
218
  return buffer;
250
219
  };
220
+ //# sourceMappingURL=encode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/WABinary/encode.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { proto } from '../../WAProto';
2
- import { BinaryNode } from './types';
1
+ import { proto } from '../../WAProto/index.js';
2
+ import { type BinaryNode } from './types.js';
3
3
  export declare const getBinaryNodeChildren: (node: BinaryNode | undefined, childTag: string) => BinaryNode[];
4
- export declare const getAllBinaryNodeChildren: ({ content }: BinaryNode) => BinaryNode[];
5
4
  export declare const getBinaryNodeChild: (node: BinaryNode | undefined, childTag: string) => BinaryNode | undefined;
5
+ export declare const getAllBinaryNodeChildren: ({ content }: BinaryNode) => BinaryNode[];
6
6
  export declare const getBinaryNodeChildBuffer: (node: BinaryNode | undefined, childTag: string) => Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike> | undefined;
7
7
  export declare const getBinaryNodeChildString: (node: BinaryNode | undefined, childTag: string) => string | undefined;
8
8
  export declare const getBinaryNodeChildUInt: (node: BinaryNode, childTag: string, length: number) => number | undefined;
@@ -11,4 +11,5 @@ export declare const reduceBinaryNodeToDictionary: (node: BinaryNode, tag: strin
11
11
  [_: string]: string;
12
12
  };
13
13
  export declare const getBinaryNodeMessages: ({ content }: BinaryNode) => proto.WebMessageInfo[];
14
- export declare function binaryNodeToString(node: BinaryNode | BinaryNode['content'], i?: number): any;
14
+ export declare function binaryNodeToString(node: BinaryNode | BinaryNode['content'], i?: number): string;
15
+ //# sourceMappingURL=generic-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-utils.d.ts","sourceRoot":"","sources":["../../src/WABinary/generic-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAMzC,eAAO,MAAM,qBAAqB,GAAI,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,MAAM,iBAoBnF,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,MAAM,2BAEhF,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,aAAa,UAAU,iBAM/D,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,MAAM,sEAKtF,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,MAAM,uBAOtF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,MAAM,UAAU,EAAE,UAAU,MAAM,EAAE,QAAQ,MAAM,uBAKxF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,UAAU,SAKnD,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,MAAM,UAAU,EAAE,KAAK,MAAM;;CAezE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,aAAa,UAAU,2BAW5D,CAAA;AAaD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,SAAI,GAAG,MAAM,CA2B1F"}
@@ -1,41 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBinaryNodeMessages = exports.reduceBinaryNodeToDictionary = exports.assertNodeErrorFree = exports.getBinaryNodeChildUInt = exports.getBinaryNodeChildString = exports.getBinaryNodeChildBuffer = exports.getBinaryNodeChild = exports.getAllBinaryNodeChildren = exports.getBinaryNodeChildren = void 0;
4
- exports.binaryNodeToString = binaryNodeToString;
5
- const boom_1 = require("@hapi/boom");
6
- const WAProto_1 = require("../../WAProto");
1
+ import { Boom } from '@hapi/boom';
2
+ import { proto } from '../../WAProto/index.js';
3
+ import {} from './types.js';
7
4
  // some extra useful utilities
8
- const getBinaryNodeChildren = (node, childTag) => {
9
- if (Array.isArray(node === null || node === void 0 ? void 0 : node.content)) {
10
- return node.content.filter(item => item.tag === childTag);
5
+ const indexCache = new WeakMap();
6
+ export const getBinaryNodeChildren = (node, childTag) => {
7
+ if (!node || !Array.isArray(node.content))
8
+ return [];
9
+ let index = indexCache.get(node);
10
+ // Build the index once per node
11
+ if (!index) {
12
+ index = new Map();
13
+ for (const child of node.content) {
14
+ let arr = index.get(child.tag);
15
+ if (!arr)
16
+ index.set(child.tag, (arr = []));
17
+ arr.push(child);
18
+ }
19
+ indexCache.set(node, index);
11
20
  }
12
- return [];
21
+ // Return first matching child
22
+ return index.get(childTag) || [];
13
23
  };
14
- exports.getBinaryNodeChildren = getBinaryNodeChildren;
15
- const getAllBinaryNodeChildren = ({ content }) => {
24
+ export const getBinaryNodeChild = (node, childTag) => {
25
+ return getBinaryNodeChildren(node, childTag)[0];
26
+ };
27
+ export const getAllBinaryNodeChildren = ({ content }) => {
16
28
  if (Array.isArray(content)) {
17
29
  return content;
18
30
  }
19
31
  return [];
20
32
  };
21
- exports.getAllBinaryNodeChildren = getAllBinaryNodeChildren;
22
- const getBinaryNodeChild = (node, childTag) => {
23
- if (Array.isArray(node === null || node === void 0 ? void 0 : node.content)) {
24
- return node === null || node === void 0 ? void 0 : node.content.find(item => item.tag === childTag);
25
- }
26
- };
27
- exports.getBinaryNodeChild = getBinaryNodeChild;
28
- const getBinaryNodeChildBuffer = (node, childTag) => {
29
- var _a;
30
- const child = (_a = (0, exports.getBinaryNodeChild)(node, childTag)) === null || _a === void 0 ? void 0 : _a.content;
33
+ export const getBinaryNodeChildBuffer = (node, childTag) => {
34
+ const child = getBinaryNodeChild(node, childTag)?.content;
31
35
  if (Buffer.isBuffer(child) || child instanceof Uint8Array) {
32
36
  return child;
33
37
  }
34
38
  };
35
- exports.getBinaryNodeChildBuffer = getBinaryNodeChildBuffer;
36
- const getBinaryNodeChildString = (node, childTag) => {
37
- var _a;
38
- const child = (_a = (0, exports.getBinaryNodeChild)(node, childTag)) === null || _a === void 0 ? void 0 : _a.content;
39
+ export const getBinaryNodeChildString = (node, childTag) => {
40
+ const child = getBinaryNodeChild(node, childTag)?.content;
39
41
  if (Buffer.isBuffer(child) || child instanceof Uint8Array) {
40
42
  return Buffer.from(child).toString('utf-8');
41
43
  }
@@ -43,42 +45,42 @@ const getBinaryNodeChildString = (node, childTag) => {
43
45
  return child;
44
46
  }
45
47
  };
46
- exports.getBinaryNodeChildString = getBinaryNodeChildString;
47
- const getBinaryNodeChildUInt = (node, childTag, length) => {
48
- const buff = (0, exports.getBinaryNodeChildBuffer)(node, childTag);
48
+ export const getBinaryNodeChildUInt = (node, childTag, length) => {
49
+ const buff = getBinaryNodeChildBuffer(node, childTag);
49
50
  if (buff) {
50
51
  return bufferToUInt(buff, length);
51
52
  }
52
53
  };
53
- exports.getBinaryNodeChildUInt = getBinaryNodeChildUInt;
54
- const assertNodeErrorFree = (node) => {
55
- const errNode = (0, exports.getBinaryNodeChild)(node, 'error');
54
+ export const assertNodeErrorFree = (node) => {
55
+ const errNode = getBinaryNodeChild(node, 'error');
56
56
  if (errNode) {
57
- throw new boom_1.Boom(errNode.attrs.text || 'Unknown error', { data: +errNode.attrs.code });
57
+ throw new Boom(errNode.attrs.text || 'Unknown error', { data: +errNode.attrs.code });
58
58
  }
59
59
  };
60
- exports.assertNodeErrorFree = assertNodeErrorFree;
61
- const reduceBinaryNodeToDictionary = (node, tag) => {
62
- const nodes = (0, exports.getBinaryNodeChildren)(node, tag);
60
+ export const reduceBinaryNodeToDictionary = (node, tag) => {
61
+ const nodes = getBinaryNodeChildren(node, tag);
63
62
  const dict = nodes.reduce((dict, { attrs }) => {
64
- dict[attrs.name || attrs.config_code] = attrs.value || attrs.config_value;
63
+ if (typeof attrs.name === 'string') {
64
+ dict[attrs.name] = attrs.value || attrs.config_value;
65
+ }
66
+ else {
67
+ dict[attrs.config_code] = attrs.value || attrs.config_value;
68
+ }
65
69
  return dict;
66
70
  }, {});
67
71
  return dict;
68
72
  };
69
- exports.reduceBinaryNodeToDictionary = reduceBinaryNodeToDictionary;
70
- const getBinaryNodeMessages = ({ content }) => {
73
+ export const getBinaryNodeMessages = ({ content }) => {
71
74
  const msgs = [];
72
75
  if (Array.isArray(content)) {
73
76
  for (const item of content) {
74
77
  if (item.tag === 'message') {
75
- msgs.push(WAProto_1.proto.WebMessageInfo.decode(item.content));
78
+ msgs.push(proto.WebMessageInfo.decode(item.content).toJSON());
76
79
  }
77
80
  }
78
81
  }
79
82
  return msgs;
80
83
  };
81
- exports.getBinaryNodeMessages = getBinaryNodeMessages;
82
84
  function bufferToUInt(e, t) {
83
85
  let a = 0;
84
86
  for (let i = 0; i < t; i++) {
@@ -87,7 +89,7 @@ function bufferToUInt(e, t) {
87
89
  return a;
88
90
  }
89
91
  const tabs = (n) => '\t'.repeat(n);
90
- function binaryNodeToString(node, i = 0) {
92
+ export function binaryNodeToString(node, i = 0) {
91
93
  if (!node) {
92
94
  return node;
93
95
  }
@@ -98,7 +100,7 @@ function binaryNodeToString(node, i = 0) {
98
100
  return tabs(i) + Buffer.from(node).toString('hex');
99
101
  }
100
102
  if (Array.isArray(node)) {
101
- return node.map((x) => tabs(i + 1) + binaryNodeToString(x, i + 1)).join('\n');
103
+ return node.map(x => tabs(i + 1) + binaryNodeToString(x, i + 1)).join('\n');
102
104
  }
103
105
  const children = binaryNodeToString(node.content, i + 1);
104
106
  const tag = `<${node.tag} ${Object.entries(node.attrs || {})
@@ -108,3 +110,4 @@ function binaryNodeToString(node, i = 0) {
108
110
  const content = children ? `>\n${children}\n${tabs(i)}</${node.tag}>` : '/>';
109
111
  return tag + content;
110
112
  }
113
+ //# sourceMappingURL=generic-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-utils.js","sourceRoot":"","sources":["../../src/WABinary/generic-utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- export * from './encode';
2
- export * from './decode';
3
- export * from './generic-utils';
4
- export * from './jid-utils';
5
- export * from './types';
1
+ export * from './encode.js';
2
+ export * from './decode.js';
3
+ export * from './generic-utils.js';
4
+ export * from './jid-utils.js';
5
+ export * from './types.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/WABinary/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
@@ -1,21 +1,6 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./encode"), exports);
18
- __exportStar(require("./decode"), exports);
19
- __exportStar(require("./generic-utils"), exports);
20
- __exportStar(require("./jid-utils"), exports);
21
- __exportStar(require("./types"), exports);
1
+ export * from './encode.js';
2
+ export * from './decode.js';
3
+ export * from './generic-utils.js';
4
+ export * from './jid-utils.js';
5
+ export * from './types.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/WABinary/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
@@ -4,7 +4,13 @@ export declare const SERVER_JID = "server@c.us";
4
4
  export declare const PSA_WID = "0@c.us";
5
5
  export declare const STORIES_JID = "status@broadcast";
6
6
  export declare const META_AI_JID = "13135550002@c.us";
7
- export type JidServer = 'c.us' | 'g.us' | 'broadcast' | 's.whatsapp.net' | 'call' | 'lid' | 'newsletter' | 'bot';
7
+ export type JidServer = 'c.us' | 'g.us' | 'broadcast' | 's.whatsapp.net' | 'call' | 'lid' | 'newsletter' | 'bot' | 'hosted' | 'hosted.lid';
8
+ export declare enum WAJIDDomains {
9
+ WHATSAPP = 0,
10
+ LID = 1,
11
+ HOSTED = 128,
12
+ HOSTED_LID = 129
13
+ }
8
14
  export type JidWithDevice = {
9
15
  user: string;
10
16
  device?: number;
@@ -13,25 +19,41 @@ export type FullJid = JidWithDevice & {
13
19
  server: JidServer;
14
20
  domainType?: number;
15
21
  };
22
+ export declare const getServerFromDomainType: (initialServer: string, domainType?: WAJIDDomains) => JidServer;
16
23
  export declare const jidEncode: (user: string | number | null, server: JidServer, device?: number, agent?: number) => string;
17
24
  export declare const jidDecode: (jid: string | undefined) => FullJid | undefined;
18
25
  /** is the jid a user */
19
26
  export declare const areJidsSameUser: (jid1: string | undefined, jid2: string | undefined) => boolean;
20
- /** is the jid Meta IA */
21
- export declare const isJidMetaAi: (jid: string | undefined) => boolean | undefined;
22
- /** is the jid a user */
23
- export declare const isJidUser: (jid: string | undefined) => boolean | undefined;
24
- /** is the jid a group */
27
+ /** is the jid Meta AI */
28
+ export declare const isJidMetaAI: (jid: string | undefined) => boolean | undefined;
29
+ /** is the jid a PN user */
30
+ export declare const isPnUser: (jid: string | undefined) => boolean | undefined;
31
+ /** is the jid a LID */
25
32
  export declare const isLidUser: (jid: string | undefined) => boolean | undefined;
26
33
  /** is the jid a broadcast */
27
34
  export declare const isJidBroadcast: (jid: string | undefined) => boolean | undefined;
28
- /** is the jid a newsletter */
29
- export declare const isJidNewsletter: (jid: string | undefined) => boolean | undefined;
30
35
  /** is the jid a group */
31
36
  export declare const isJidGroup: (jid: string | undefined) => boolean | undefined;
32
37
  /** is the jid the status broadcast */
33
38
  export declare const isJidStatusBroadcast: (jid: string) => jid is "status@broadcast";
39
+ /** is the jid a newsletter */
40
+ export declare const isJidNewsletter: (jid: string | undefined) => boolean | undefined;
41
+ /** is the jid a hosted PN */
42
+ export declare const isHostedPnUser: (jid: string | undefined) => boolean | undefined;
43
+ /** is the jid a hosted LID */
44
+ export declare const isHostedLidUser: (jid: string | undefined) => boolean | undefined;
34
45
  export declare const isJidBot: (jid: string | undefined) => boolean | "" | undefined;
35
46
  export declare const jidNormalizedUser: (jid: string | undefined) => string;
36
- export declare const lidToJid: (jid: string) => string;
37
- export declare const getBotJid: (jid: string) => string;
47
+ export declare const transferDevice: (fromJid: string, toJid: string) => string;
48
+ /**
49
+ * Resuelve el JID objetivo de un comando siguiendo esta prioridad:
50
+ * 1. Mensaje citado (quoted)
51
+ * 2. Primera mención (@usuario)
52
+ * 3. Argumento numérico pasado como texto
53
+ * 4. Remitente del mensaje (fallback)
54
+ *
55
+ * Esto permite detectar y normalizar el JID sin tener que pasar
56
+ * manualmente el número del bot/usuario en cada comando.
57
+ */
58
+ export declare const resolveJid: (m: any, arg?: string) => string;
59
+ //# sourceMappingURL=jid-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jid-utils.d.ts","sourceRoot":"","sources":["../../src/WABinary/jid-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,oBAAoB,CAAA;AAC/C,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,UAAU,gBAAgB,CAAA;AACvC,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAC7C,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAClB,MAAM,GACN,MAAM,GACN,WAAW,GACX,gBAAgB,GAChB,MAAM,GACN,KAAK,GACL,YAAY,GACZ,KAAK,GACL,QAAQ,GACR,YAAY,CAAA;AAEf,oBAAY,YAAY;IACvB,QAAQ,IAAI;IACZ,GAAG,IAAI;IACP,MAAM,MAAM;IACZ,UAAU,MAAM;CAChB;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG;IACrC,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,eAAe,MAAM,EAAE,aAAa,YAAY,KAAG,SAY1F,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,QAAQ,SAAS,EAAE,SAAS,MAAM,EAAE,QAAQ,MAAM,WAEzG,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,SAAS,KAAG,OAAO,GAAG,SA8B7D,CAAA;AAED,wBAAwB;AACxB,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,YAClC,CAAA;AAChD,yBAAyB;AACzB,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,GAAG,SAAS,wBAA0B,CAAA;AAC7E,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,SAAS,wBAAqC,CAAA;AACrF,uBAAuB;AACvB,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,SAAS,wBAA0B,CAAA;AAC3E,6BAA6B;AAC7B,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,GAAG,SAAS,wBAAgC,CAAA;AACtF,yBAAyB;AACzB,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,wBAA2B,CAAA;AAC7E,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,8BAA+B,CAAA;AAC/E,8BAA8B;AAC9B,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,GAAG,SAAS,wBAAiC,CAAA;AACxF,6BAA6B;AAC7B,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,GAAG,SAAS,wBAA6B,CAAA;AACnF,8BAA8B;AAC9B,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,GAAG,SAAS,wBAAiC,CAAA;AAIxF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,SAAS,6BAAuE,CAAA;AAEvH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,GAAG,SAAS,WAQxD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,WAK5D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,EAAE,YAAQ,KAAG,MA0B7C,CAAA"}