@systemzero/baileys 1.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 (371) hide show
  1. package/LICENSE +21 -0
  2. package/WAProto/GenerateStatics.sh +3 -0
  3. package/WAProto/WAProto.proto +5479 -0
  4. package/WAProto/fix-imports.js +29 -0
  5. package/WAProto/index.d.ts +14017 -0
  6. package/WAProto/index.js +97650 -0
  7. package/engine-requirements.js +10 -0
  8. package/lib/Defaults/index.d.ts +62 -0
  9. package/lib/Defaults/index.d.ts.map +1 -0
  10. package/lib/Defaults/index.js +115 -0
  11. package/lib/Defaults/index.js.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  14. package/lib/Signal/Group/ciphertext-message.js +12 -0
  15. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  18. package/lib/Signal/Group/group-session-builder.js +30 -0
  19. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  20. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  21. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  22. package/lib/Signal/Group/group_cipher.js +82 -0
  23. package/lib/Signal/Group/group_cipher.js.map +1 -0
  24. package/lib/Signal/Group/index.d.ts +12 -0
  25. package/lib/Signal/Group/index.d.ts.map +1 -0
  26. package/lib/Signal/Group/index.js +12 -0
  27. package/lib/Signal/Group/index.js.map +1 -0
  28. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  29. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  30. package/lib/Signal/Group/keyhelper.js +18 -0
  31. package/lib/Signal/Group/keyhelper.js.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  34. package/lib/Signal/Group/sender-chain-key.js +26 -0
  35. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-message.js +66 -0
  43. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-name.js +48 -0
  47. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-record.js +41 -0
  51. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-key-state.js +84 -0
  55. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  58. package/lib/Signal/Group/sender-message-key.js +26 -0
  59. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  60. package/lib/Signal/libsignal.d.ts +5 -0
  61. package/lib/Signal/libsignal.d.ts.map +1 -0
  62. package/lib/Signal/libsignal.js +342 -0
  63. package/lib/Signal/libsignal.js.map +1 -0
  64. package/lib/Signal/lid-mapping.d.ts +23 -0
  65. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  66. package/lib/Signal/lid-mapping.js +171 -0
  67. package/lib/Signal/lid-mapping.js.map +1 -0
  68. package/lib/Socket/Client/index.d.ts +3 -0
  69. package/lib/Socket/Client/index.d.ts.map +1 -0
  70. package/lib/Socket/Client/index.js +3 -0
  71. package/lib/Socket/Client/index.js.map +1 -0
  72. package/lib/Socket/Client/types.d.ts +16 -0
  73. package/lib/Socket/Client/types.d.ts.map +1 -0
  74. package/lib/Socket/Client/types.js +11 -0
  75. package/lib/Socket/Client/types.js.map +1 -0
  76. package/lib/Socket/Client/websocket.d.ts +13 -0
  77. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  78. package/lib/Socket/Client/websocket.js +50 -0
  79. package/lib/Socket/Client/websocket.js.map +1 -0
  80. package/lib/Socket/business.d.ts +190 -0
  81. package/lib/Socket/business.d.ts.map +1 -0
  82. package/lib/Socket/business.js +376 -0
  83. package/lib/Socket/business.js.map +1 -0
  84. package/lib/Socket/chats.d.ts +100 -0
  85. package/lib/Socket/chats.d.ts.map +1 -0
  86. package/lib/Socket/chats.js +964 -0
  87. package/lib/Socket/chats.js.map +1 -0
  88. package/lib/Socket/communities.d.ts +246 -0
  89. package/lib/Socket/communities.d.ts.map +1 -0
  90. package/lib/Socket/communities.js +431 -0
  91. package/lib/Socket/communities.js.map +1 -0
  92. package/lib/Socket/groups.d.ts +139 -0
  93. package/lib/Socket/groups.d.ts.map +1 -0
  94. package/lib/Socket/groups.js +327 -0
  95. package/lib/Socket/groups.js.map +1 -0
  96. package/lib/Socket/hzxx.d.ts +255 -0
  97. package/lib/Socket/hzxx.js +478 -0
  98. package/lib/Socket/index.d.ts +233 -0
  99. package/lib/Socket/index.d.ts.map +1 -0
  100. package/lib/Socket/index.js +18 -0
  101. package/lib/Socket/index.js.map +1 -0
  102. package/lib/Socket/messages-recv.d.ts +175 -0
  103. package/lib/Socket/messages-recv.d.ts.map +1 -0
  104. package/lib/Socket/messages-recv.js +1273 -0
  105. package/lib/Socket/messages-recv.js.map +1 -0
  106. package/lib/Socket/messages-send.d.ts +171 -0
  107. package/lib/Socket/messages-send.d.ts.map +1 -0
  108. package/lib/Socket/messages-send.js +1152 -0
  109. package/lib/Socket/messages-send.js.map +1 -0
  110. package/lib/Socket/mex.d.ts +3 -0
  111. package/lib/Socket/mex.d.ts.map +1 -0
  112. package/lib/Socket/mex.js +42 -0
  113. package/lib/Socket/mex.js.map +1 -0
  114. package/lib/Socket/newsletter.d.ts +149 -0
  115. package/lib/Socket/newsletter.d.ts.map +1 -0
  116. package/lib/Socket/newsletter.js +181 -0
  117. package/lib/Socket/newsletter.js.map +1 -0
  118. package/lib/Socket/normalize.js +290 -0
  119. package/lib/Socket/socket.d.ts +53 -0
  120. package/lib/Socket/socket.d.ts.map +1 -0
  121. package/lib/Socket/socket.js +882 -0
  122. package/lib/Socket/socket.js.map +1 -0
  123. package/lib/Types/Auth.d.ts +115 -0
  124. package/lib/Types/Auth.d.ts.map +1 -0
  125. package/lib/Types/Auth.js +2 -0
  126. package/lib/Types/Auth.js.map +1 -0
  127. package/lib/Types/Bussines.d.ts +25 -0
  128. package/lib/Types/Bussines.d.ts.map +1 -0
  129. package/lib/Types/Bussines.js +2 -0
  130. package/lib/Types/Bussines.js.map +1 -0
  131. package/lib/Types/Call.d.ts +14 -0
  132. package/lib/Types/Call.d.ts.map +1 -0
  133. package/lib/Types/Call.js +2 -0
  134. package/lib/Types/Call.js.map +1 -0
  135. package/lib/Types/Chat.d.ts +123 -0
  136. package/lib/Types/Chat.d.ts.map +1 -0
  137. package/lib/Types/Chat.js +8 -0
  138. package/lib/Types/Chat.js.map +1 -0
  139. package/lib/Types/Contact.d.ts +24 -0
  140. package/lib/Types/Contact.d.ts.map +1 -0
  141. package/lib/Types/Contact.js +2 -0
  142. package/lib/Types/Contact.js.map +1 -0
  143. package/lib/Types/Events.d.ts +202 -0
  144. package/lib/Types/Events.d.ts.map +1 -0
  145. package/lib/Types/Events.js +2 -0
  146. package/lib/Types/Events.js.map +1 -0
  147. package/lib/Types/GroupMetadata.d.ts +67 -0
  148. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  149. package/lib/Types/GroupMetadata.js +2 -0
  150. package/lib/Types/GroupMetadata.js.map +1 -0
  151. package/lib/Types/Label.d.ts +47 -0
  152. package/lib/Types/Label.d.ts.map +1 -0
  153. package/lib/Types/Label.js +25 -0
  154. package/lib/Types/Label.js.map +1 -0
  155. package/lib/Types/LabelAssociation.d.ts +30 -0
  156. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  157. package/lib/Types/LabelAssociation.js +7 -0
  158. package/lib/Types/LabelAssociation.js.map +1 -0
  159. package/lib/Types/Message.d.ts +305 -0
  160. package/lib/Types/Message.d.ts.map +1 -0
  161. package/lib/Types/Message.js +11 -0
  162. package/lib/Types/Message.js.map +1 -0
  163. package/lib/Types/Newsletter.d.ts +135 -0
  164. package/lib/Types/Newsletter.d.ts.map +1 -0
  165. package/lib/Types/Newsletter.js +31 -0
  166. package/lib/Types/Newsletter.js.map +1 -0
  167. package/lib/Types/Product.d.ts +79 -0
  168. package/lib/Types/Product.d.ts.map +1 -0
  169. package/lib/Types/Product.js +2 -0
  170. package/lib/Types/Product.js.map +1 -0
  171. package/lib/Types/Signal.d.ts +76 -0
  172. package/lib/Types/Signal.d.ts.map +1 -0
  173. package/lib/Types/Signal.js +2 -0
  174. package/lib/Types/Signal.js.map +1 -0
  175. package/lib/Types/Socket.d.ts +133 -0
  176. package/lib/Types/Socket.d.ts.map +1 -0
  177. package/lib/Types/Socket.js +3 -0
  178. package/lib/Types/Socket.js.map +1 -0
  179. package/lib/Types/State.d.ts +39 -0
  180. package/lib/Types/State.d.ts.map +1 -0
  181. package/lib/Types/State.js +13 -0
  182. package/lib/Types/State.js.map +1 -0
  183. package/lib/Types/USync.d.ts +26 -0
  184. package/lib/Types/USync.d.ts.map +1 -0
  185. package/lib/Types/USync.js +2 -0
  186. package/lib/Types/USync.js.map +1 -0
  187. package/lib/Types/index.d.ts +65 -0
  188. package/lib/Types/index.d.ts.map +1 -0
  189. package/lib/Types/index.js +26 -0
  190. package/lib/Types/index.js.map +1 -0
  191. package/lib/Utils/auth-utils.d.ts +19 -0
  192. package/lib/Utils/auth-utils.d.ts.map +1 -0
  193. package/lib/Utils/auth-utils.js +257 -0
  194. package/lib/Utils/auth-utils.js.map +1 -0
  195. package/lib/Utils/browser-utils.d.ts +4 -0
  196. package/lib/Utils/browser-utils.d.ts.map +1 -0
  197. package/lib/Utils/browser-utils.js +28 -0
  198. package/lib/Utils/browser-utils.js.map +1 -0
  199. package/lib/Utils/business.d.ts +23 -0
  200. package/lib/Utils/business.d.ts.map +1 -0
  201. package/lib/Utils/business.js +231 -0
  202. package/lib/Utils/business.js.map +1 -0
  203. package/lib/Utils/chat-utils.d.ts +70 -0
  204. package/lib/Utils/chat-utils.d.ts.map +1 -0
  205. package/lib/Utils/chat-utils.js +763 -0
  206. package/lib/Utils/chat-utils.js.map +1 -0
  207. package/lib/Utils/crypto.d.ts +41 -0
  208. package/lib/Utils/crypto.d.ts.map +1 -0
  209. package/lib/Utils/crypto.js +142 -0
  210. package/lib/Utils/crypto.js.map +1 -0
  211. package/lib/Utils/decode-wa-message.d.ts +48 -0
  212. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  213. package/lib/Utils/decode-wa-message.js +283 -0
  214. package/lib/Utils/decode-wa-message.js.map +1 -0
  215. package/lib/Utils/event-buffer.d.ts +34 -0
  216. package/lib/Utils/event-buffer.d.ts.map +1 -0
  217. package/lib/Utils/event-buffer.js +548 -0
  218. package/lib/Utils/event-buffer.js.map +1 -0
  219. package/lib/Utils/generics.d.ts +90 -0
  220. package/lib/Utils/generics.d.ts.map +1 -0
  221. package/lib/Utils/generics.js +381 -0
  222. package/lib/Utils/generics.js.map +1 -0
  223. package/lib/Utils/history.d.ts +19 -0
  224. package/lib/Utils/history.d.ts.map +1 -0
  225. package/lib/Utils/history.js +90 -0
  226. package/lib/Utils/history.js.map +1 -0
  227. package/lib/Utils/index.d.ts +19 -0
  228. package/lib/Utils/index.d.ts.map +1 -0
  229. package/lib/Utils/index.js +19 -0
  230. package/lib/Utils/index.js.map +1 -0
  231. package/lib/Utils/link-preview.d.ts +21 -0
  232. package/lib/Utils/link-preview.d.ts.map +1 -0
  233. package/lib/Utils/link-preview.js +85 -0
  234. package/lib/Utils/link-preview.js.map +1 -0
  235. package/lib/Utils/logger.d.ts +12 -0
  236. package/lib/Utils/logger.d.ts.map +1 -0
  237. package/lib/Utils/logger.js +3 -0
  238. package/lib/Utils/logger.js.map +1 -0
  239. package/lib/Utils/lt-hash.d.ts +13 -0
  240. package/lib/Utils/lt-hash.d.ts.map +1 -0
  241. package/lib/Utils/lt-hash.js +48 -0
  242. package/lib/Utils/lt-hash.js.map +1 -0
  243. package/lib/Utils/make-mutex.d.ts +8 -0
  244. package/lib/Utils/make-mutex.d.ts.map +1 -0
  245. package/lib/Utils/make-mutex.js +40 -0
  246. package/lib/Utils/make-mutex.js.map +1 -0
  247. package/lib/Utils/message-retry-manager.d.ts +82 -0
  248. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  249. package/lib/Utils/message-retry-manager.js +172 -0
  250. package/lib/Utils/message-retry-manager.js.map +1 -0
  251. package/lib/Utils/messages-media.d.ts +114 -0
  252. package/lib/Utils/messages-media.d.ts.map +1 -0
  253. package/lib/Utils/messages-media.js +663 -0
  254. package/lib/Utils/messages-media.js.map +1 -0
  255. package/lib/Utils/messages.d.ts +89 -0
  256. package/lib/Utils/messages.d.ts.map +1 -0
  257. package/lib/Utils/messages.js +877 -0
  258. package/lib/Utils/messages.js.map +1 -0
  259. package/lib/Utils/noise-handler.d.ts +20 -0
  260. package/lib/Utils/noise-handler.d.ts.map +1 -0
  261. package/lib/Utils/noise-handler.js +147 -0
  262. package/lib/Utils/noise-handler.js.map +1 -0
  263. package/lib/Utils/pre-key-manager.d.ts +28 -0
  264. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  265. package/lib/Utils/pre-key-manager.js +106 -0
  266. package/lib/Utils/pre-key-manager.js.map +1 -0
  267. package/lib/Utils/process-message.d.ts +60 -0
  268. package/lib/Utils/process-message.d.ts.map +1 -0
  269. package/lib/Utils/process-message.js +485 -0
  270. package/lib/Utils/process-message.js.map +1 -0
  271. package/lib/Utils/signal.d.ts +34 -0
  272. package/lib/Utils/signal.d.ts.map +1 -0
  273. package/lib/Utils/signal.js +159 -0
  274. package/lib/Utils/signal.js.map +1 -0
  275. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  276. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  277. package/lib/Utils/use-multi-file-auth-state.js +121 -0
  278. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  279. package/lib/Utils/validate-connection.d.ts +11 -0
  280. package/lib/Utils/validate-connection.d.ts.map +1 -0
  281. package/lib/Utils/validate-connection.js +200 -0
  282. package/lib/Utils/validate-connection.js.map +1 -0
  283. package/lib/WABinary/constants.d.ts +28 -0
  284. package/lib/WABinary/constants.d.ts.map +1 -0
  285. package/lib/WABinary/constants.js +1301 -0
  286. package/lib/WABinary/constants.js.map +1 -0
  287. package/lib/WABinary/decode.d.ts +7 -0
  288. package/lib/WABinary/decode.d.ts.map +1 -0
  289. package/lib/WABinary/decode.js +238 -0
  290. package/lib/WABinary/decode.js.map +1 -0
  291. package/lib/WABinary/encode.d.ts +3 -0
  292. package/lib/WABinary/encode.d.ts.map +1 -0
  293. package/lib/WABinary/encode.js +216 -0
  294. package/lib/WABinary/encode.js.map +1 -0
  295. package/lib/WABinary/generic-utils.d.ts +15 -0
  296. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  297. package/lib/WABinary/generic-utils.js +102 -0
  298. package/lib/WABinary/generic-utils.js.map +1 -0
  299. package/lib/WABinary/index.d.ts +6 -0
  300. package/lib/WABinary/index.d.ts.map +1 -0
  301. package/lib/WABinary/index.js +6 -0
  302. package/lib/WABinary/index.js.map +1 -0
  303. package/lib/WABinary/jid-utils.d.ts +48 -0
  304. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  305. package/lib/WABinary/jid-utils.js +96 -0
  306. package/lib/WABinary/jid-utils.js.map +1 -0
  307. package/lib/WABinary/types.d.ts +19 -0
  308. package/lib/WABinary/types.d.ts.map +1 -0
  309. package/lib/WABinary/types.js +2 -0
  310. package/lib/WABinary/types.js.map +1 -0
  311. package/lib/WAM/BinaryInfo.d.ts +9 -0
  312. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  313. package/lib/WAM/BinaryInfo.js +10 -0
  314. package/lib/WAM/BinaryInfo.js.map +1 -0
  315. package/lib/WAM/constants.d.ts +40 -0
  316. package/lib/WAM/constants.d.ts.map +1 -0
  317. package/lib/WAM/constants.js +22853 -0
  318. package/lib/WAM/constants.js.map +1 -0
  319. package/lib/WAM/encode.d.ts +3 -0
  320. package/lib/WAM/encode.d.ts.map +1 -0
  321. package/lib/WAM/encode.js +150 -0
  322. package/lib/WAM/encode.js.map +1 -0
  323. package/lib/WAM/index.d.ts +4 -0
  324. package/lib/WAM/index.d.ts.map +1 -0
  325. package/lib/WAM/index.js +4 -0
  326. package/lib/WAM/index.js.map +1 -0
  327. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  328. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  329. package/lib/WAUSync/Protocols/USyncContactProtocol.js +29 -0
  330. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  331. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  332. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  333. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  334. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  335. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  336. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  337. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  338. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  339. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  340. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  341. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  342. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  343. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  344. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  345. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  346. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  347. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  348. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  349. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  350. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  351. package/lib/WAUSync/Protocols/index.d.ts +5 -0
  352. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  353. package/lib/WAUSync/Protocols/index.js +5 -0
  354. package/lib/WAUSync/Protocols/index.js.map +1 -0
  355. package/lib/WAUSync/USyncQuery.d.ts +29 -0
  356. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  357. package/lib/WAUSync/USyncQuery.js +94 -0
  358. package/lib/WAUSync/USyncQuery.js.map +1 -0
  359. package/lib/WAUSync/USyncUser.d.ts +13 -0
  360. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  361. package/lib/WAUSync/USyncUser.js +23 -0
  362. package/lib/WAUSync/USyncUser.js.map +1 -0
  363. package/lib/WAUSync/index.d.ts +4 -0
  364. package/lib/WAUSync/index.d.ts.map +1 -0
  365. package/lib/WAUSync/index.js +4 -0
  366. package/lib/WAUSync/index.js.map +1 -0
  367. package/lib/index.d.ts +12 -0
  368. package/lib/index.d.ts.map +1 -0
  369. package/lib/index.js +11 -0
  370. package/lib/index.js.map +1 -0
  371. package/package.json +106 -0
@@ -0,0 +1,290 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { createRequire } from 'module';
4
+
5
+ const require = createRequire(import.meta.url);
6
+
7
+ let _permCache = null;
8
+ function getPermCache() {
9
+ if (!_permCache) {
10
+ try { _permCache = require(path.join(process.cwd(), 'turbo')).permCache; } catch (_) {}
11
+ }
12
+ return _permCache;
13
+ }
14
+
15
+ class NormalizeSystem {
16
+ constructor() {
17
+ this.usersDbPath = path.join(process.cwd(), 'database/users');
18
+ this.jidLidCacheFile = path.join(this.usersDbPath, 'jid_lid_cache.json');
19
+
20
+ this.jidLidMemoryCache = new Map();
21
+ this.nameCache = new Map();
22
+ this.groupCache = new Map();
23
+ this.pendingJidMap = new Map();
24
+
25
+ this.cacheTTL = 1000 * 60 * 5;
26
+ this.init();
27
+ }
28
+
29
+ init() {
30
+ if (!fs.existsSync(this.usersDbPath)) {
31
+ fs.mkdirSync(this.usersDbPath, { recursive: true });
32
+ }
33
+ try {
34
+ if (fs.existsSync(this.jidLidCacheFile)) {
35
+ const data = fs.readJsonSync(this.jidLidCacheFile);
36
+ this.jidLidMemoryCache = new Map(Object.entries(data.mappings || {}));
37
+
38
+ for (const [jid, val] of Object.entries(data.names || {})) {
39
+ const nome = typeof val === 'string' ? val : (val.pushName || val.notify || val.name || null);
40
+ if (nome) this.nameCache.set(jid, nome);
41
+ }
42
+ }
43
+ } catch (e) {}
44
+ }
45
+
46
+ saveName(jid, pushName) {
47
+ if (!jid || !pushName || typeof pushName !== 'string') return;
48
+ const clean = this.cleanId(jid);
49
+ if (!clean || !clean.includes('@s.whatsapp.net')) return;
50
+ if (this.nameCache.get(clean) === pushName) return;
51
+
52
+ this.nameCache.set(clean, pushName);
53
+ const lid = this.jidLidMemoryCache.get(clean);
54
+ if (lid) this.nameCache.set(lid, pushName);
55
+ this._scheduleSave();
56
+ }
57
+
58
+ getName(jid) {
59
+ if (!jid) return null;
60
+ const clean = this.cleanId(jid);
61
+ return this.nameCache.get(clean) || this.nameCache.get(this.jidLidMemoryCache.get(clean) || '') || null;
62
+ }
63
+
64
+ bindSocket(conn, store) {
65
+ conn.ev.on('group-participants.update', async ({ id, participants }) => {
66
+ const lids = participants.map(p => this.cleanId(p)).filter(p => p.includes('@lid'));
67
+ const jids = participants.map(p => this.cleanId(p)).filter(p => p.includes('@s.whatsapp.net'));
68
+
69
+ if (jids.length > 0 && lids.length > 0) {
70
+ jids.forEach((jid, i) => { if (lids[i]) this.saveJidLidMapping(jid, lids[i]); });
71
+ }
72
+
73
+ const pendingJids = this.pendingJidMap.get(id) || [];
74
+ if (lids.length > 0 && pendingJids.length > 0) {
75
+ lids.forEach((lid, i) => {
76
+ const jid = pendingJids[i] || pendingJids[0];
77
+ if (jid) this.saveJidLidMapping(jid, lid);
78
+ });
79
+ this.pendingJidMap.delete(id);
80
+ }
81
+
82
+ if (store && store.contacts && lids.length > 0) {
83
+ for (const lid of lids) {
84
+ if (this.jidLidMemoryCache.has(lid)) continue;
85
+ for (const [jid, contact] of Object.entries(store.contacts)) {
86
+ const contactLid = contact.lid ? this.cleanId(contact.lid) : null;
87
+ if (contactLid && contactLid === lid) {
88
+ this.saveJidLidMapping(jid, lid);
89
+ break;
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ this.groupCache.delete(id);
96
+ if (global.groupCache) global.groupCache.delete(id);
97
+ const pc = getPermCache();
98
+ if (pc) pc.invalidate(id);
99
+ });
100
+
101
+ conn.ev.on('contacts.upsert', (contacts) => {
102
+ for (const contact of contacts) {
103
+ if (contact.id && contact.lid) this.saveJidLidMapping(contact.id, contact.lid);
104
+ if (contact.id) {
105
+ const nome = contact.notify || contact.name;
106
+ if (nome) this.saveName(contact.id, nome);
107
+ }
108
+ }
109
+ });
110
+
111
+ conn.ev.on('contacts.update', (contacts) => {
112
+ for (const contact of contacts) {
113
+ if (contact.id && contact.lid) this.saveJidLidMapping(contact.id, contact.lid);
114
+ if (contact.id) {
115
+ const nome = contact.notify || contact.name;
116
+ if (nome) this.saveName(contact.id, nome);
117
+ }
118
+ }
119
+ });
120
+
121
+ conn.ev.on('messages.upsert', ({ messages }) => {
122
+ for (const msg of messages) {
123
+ if (!msg.key) continue;
124
+ const jid = msg.key.participant || msg.key.remoteJid;
125
+ if (!jid || !jid.includes('@s.whatsapp.net')) continue;
126
+ if (msg.pushName) this.saveName(jid, msg.pushName);
127
+
128
+ if (store && store.contacts && store.contacts[jid]) {
129
+ const contact = store.contacts[jid];
130
+ if (contact.lid) this.saveJidLidMapping(jid, contact.lid);
131
+ const nome = contact.notify || contact.name;
132
+ if (nome) this.saveName(jid, nome);
133
+ }
134
+ }
135
+ });
136
+
137
+ conn.ev.on('groups.update', (updates) => {
138
+ for (const update of updates) {
139
+ if (update.id) this.groupCache.delete(update.id);
140
+ }
141
+ });
142
+ }
143
+
144
+ registerPendingJid(chatId, jid) {
145
+ const clean = this.cleanId(jid);
146
+ if (!clean) return;
147
+ if (!this.pendingJidMap.has(chatId)) this.pendingJidMap.set(chatId, []);
148
+ this.pendingJidMap.get(chatId).push(clean);
149
+ setTimeout(() => {
150
+ const list = this.pendingJidMap.get(chatId);
151
+ if (list) { const idx = list.indexOf(clean); if (idx !== -1) list.splice(idx, 1); }
152
+ }, 15000);
153
+ }
154
+
155
+ cleanId(id) {
156
+ if (!id || typeof id !== 'string') return '';
157
+ const base = id.split(':')[0].split('@')[0];
158
+ const suffix = id.includes('@lid') ? '@lid' : '@s.whatsapp.net';
159
+ return base + suffix;
160
+ }
161
+
162
+ extractNumber(id) {
163
+ if (!id) return '';
164
+ return id.split('@')[0].split(':')[0].replace(/\D/g, '');
165
+ }
166
+
167
+ resolveAllIds(id) {
168
+ const clean = this.cleanId(id);
169
+ const ids = new Set([clean]);
170
+ const mapped = this.jidLidMemoryCache.get(clean);
171
+ if (mapped) ids.add(mapped);
172
+ return ids;
173
+ }
174
+
175
+ compareIds(id1, id2) {
176
+ if (!id1 || !id2) return false;
177
+ const c1 = this.cleanId(id1);
178
+ const c2 = this.cleanId(id2);
179
+ if (c1 === c2) return true;
180
+ const ids1 = this.resolveAllIds(c1);
181
+ const ids2 = this.resolveAllIds(c2);
182
+ for (const a of ids1) { if (ids2.has(a)) return true; }
183
+ return false;
184
+ }
185
+
186
+ saveJidLidMapping(jid, lid) {
187
+ if (!jid || !lid) return;
188
+ const cleanJid = this.cleanId(jid);
189
+ const cleanLid = this.cleanId(lid);
190
+ if (!cleanJid || !cleanLid || cleanJid === cleanLid) return;
191
+ if (cleanJid.includes('@lid') && cleanLid.includes('@lid')) return;
192
+
193
+ this.jidLidMemoryCache.set(cleanJid, cleanLid);
194
+ this.jidLidMemoryCache.set(cleanLid, cleanJid);
195
+ this._scheduleSave();
196
+ }
197
+
198
+ _scheduleSave() {
199
+ if (this.saveTimeout) clearTimeout(this.saveTimeout);
200
+ this.saveTimeout = setTimeout(() => {
201
+ try {
202
+ fs.outputJsonSync(this.jidLidCacheFile, {
203
+ updatedAt: new Date().toISOString(),
204
+ mappings: Object.fromEntries(this.jidLidMemoryCache),
205
+ names: Object.fromEntries(this.nameCache)
206
+ }, { spaces: 2 });
207
+ } catch (e) {}
208
+ }, 5000);
209
+ }
210
+
211
+ async fetchAndCacheMetadata(conn, chatId) {
212
+ try {
213
+ const metadata = await conn.groupMetadata(chatId);
214
+ for (const p of (metadata.participants || [])) {
215
+ if (p.jid && p.id && p.id.includes('@lid')) this.saveJidLidMapping(p.jid, p.id);
216
+ if (p.id && p.lid) this.saveJidLidMapping(p.id, p.lid);
217
+ const pJidNome = p.jid || p.id;
218
+ const pNome = p.notify || p.name;
219
+ if (pJidNome && pNome) this.saveName(pJidNome, pNome);
220
+ }
221
+ this.groupCache.set(chatId, { metadata, timestamp: Date.now() });
222
+ return metadata;
223
+ } catch (e) {
224
+ return { participants: [] };
225
+ }
226
+ }
227
+
228
+ async getGroupMetadata(conn, chatId) {
229
+ const now = Date.now();
230
+ const cached = this.groupCache.get(chatId);
231
+ if (cached && (now - cached.timestamp < this.cacheTTL)) return cached.metadata;
232
+ return await this.fetchAndCacheMetadata(conn, chatId);
233
+ }
234
+
235
+ isAdminInMetadata(metadata, targetId) {
236
+ if (!metadata || !targetId) return false;
237
+ const targetNum = this.extractNumber(targetId);
238
+ const targetClean = this.cleanId(targetId);
239
+
240
+ for (const p of (metadata.participants || [])) {
241
+ if (!p.admin || p.admin === null) continue;
242
+ const pId = this.cleanId(p.id);
243
+ const pJid = p.jid ? this.cleanId(p.jid) : null;
244
+ const pLid = p.lid ? this.cleanId(p.lid) : null;
245
+
246
+ if (pJid && pJid === targetClean) return true;
247
+ if (pJid && this.extractNumber(pJid) === targetNum) return true;
248
+ if (pId === targetClean) return true;
249
+ if (this.extractNumber(pId) === targetNum) return true;
250
+ if (pLid && pLid === targetClean) return true;
251
+
252
+ if (pJid && pId.includes('@lid')) this.saveJidLidMapping(pJid, pId);
253
+ if (pJid && pLid) this.saveJidLidMapping(pJid, pLid);
254
+ }
255
+ return false;
256
+ }
257
+
258
+ async getGroupAdmins(conn, chatId) {
259
+ const metadata = await this.getGroupMetadata(conn, chatId);
260
+ return (metadata.participants || []).filter(p => p.admin && p.admin !== null).map(p => this.cleanId(p.id));
261
+ }
262
+
263
+ async getPermissions(conn, m, config) {
264
+ const sender = this.cleanId(m.sender);
265
+ const botId = this.cleanId(conn.user.id);
266
+ const donoBase = config.numeroDono.toString().replace(/\D/g, '');
267
+ const isOwner = this.extractNumber(sender) === donoBase;
268
+ let isAdmin = false, isBotAdmin = false, groupAdmins = [];
269
+
270
+ if (m.isGroup) {
271
+ const pc = getPermCache();
272
+ const cachedPerm = pc?.get(m.chat, sender);
273
+ if (cachedPerm) {
274
+ return { isOwner, isAdmin: cachedPerm.isAdmin, isBotAdmin: cachedPerm.isBotAdmin, senderClean: sender, groupAdmins: cachedPerm.groupAdmins };
275
+ }
276
+
277
+ const metadata = await this.getGroupMetadata(conn, m.chat);
278
+ isAdmin = this.isAdminInMetadata(metadata, sender);
279
+ isBotAdmin = this.isAdminInMetadata(metadata, botId);
280
+ groupAdmins = (metadata.participants || []).filter(p => p.admin && p.admin !== null).map(p => this.cleanId(p.id));
281
+ pc?.set(m.chat, sender, { isAdmin, isBotAdmin, groupAdmins });
282
+ }
283
+ return { isOwner, isAdmin, isBotAdmin, senderClean: sender, groupAdmins };
284
+ }
285
+
286
+ invalidateCache(chatId) {
287
+ this.groupCache.delete(chatId);
288
+ }
289
+ }
290
+ export default new NormalizeSystem();
@@ -0,0 +1,53 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import type { SocketConfig } from '../Types/index.js';
3
+ import { type BinaryNode } from '../WABinary/index.js';
4
+ import { BinaryInfo } from '../WAM/BinaryInfo.js';
5
+ import { USyncQuery } from '../WAUSync/index.js';
6
+ import { WebSocketClient } from './Client/index.js';
7
+ /**
8
+ * Connects to WA servers and performs:
9
+ * - simple queries (no retry mechanism, wait for connection establishment)
10
+ * - listen to messages and emit events
11
+ * - query phone connection
12
+ */
13
+ export declare const makeSocket: (config: SocketConfig) => {
14
+ type: "md";
15
+ ws: WebSocketClient;
16
+ ev: import("../Types/index.js").BaileysEventEmitter & {
17
+ process(handler: (events: Partial<import("../Types/index.js").BaileysEventMap>) => void | Promise<void>): () => void;
18
+ buffer(): void;
19
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
20
+ flush(): boolean;
21
+ isBuffering(): boolean;
22
+ };
23
+ authState: {
24
+ creds: import("../Types/index.js").AuthenticationCreds;
25
+ keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
26
+ };
27
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
28
+ readonly user: import("../Types/index.js").Contact | undefined;
29
+ generateMessageTag: () => string;
30
+ query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
31
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
32
+ waitForSocketOpen: () => Promise<void>;
33
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
34
+ sendNode: (frame: BinaryNode) => Promise<void>;
35
+ logout: (msg?: string) => Promise<void>;
36
+ end: (error: Error | undefined) => void;
37
+ onUnexpectedError: (err: Error | Boom, msg: string) => void;
38
+ uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
39
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
40
+ digestKeyBundle: () => Promise<void>;
41
+ rotateSignedPreKey: () => Promise<void>;
42
+ requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
43
+ wamBuffer: BinaryInfo;
44
+ /** Waits for the connection to WA to reach a state */
45
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types/index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
46
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
47
+ executeUSyncQuery: (usyncQuery: USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
48
+ onWhatsApp: (...phoneNumber: string[]) => Promise<{
49
+ jid: string;
50
+ exists: boolean;
51
+ }[] | undefined>;
52
+ };
53
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAcjC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,UAAU,CAAA;AAuBxD,OAAO,EAEN,KAAK,UAAU,EAUf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY;UA28B/B,IAAI;;;;;0DAp8BlB,GAAC,0BACO,GAAG;;;;;;;;;;;kBAsHe,UAAU,cAAc,MAAM;qBA3C3B,CAAC,SAAS,MAAM;;2BA/BV,UAAU,GAAG,MAAM;sBAiB9B,UAAU;mBAikBP,MAAM;iBApGd,KAAK,GAAG,SAAS;6BAhPL,KAAK,GAAG,IAAI,OAAO,MAAM;;;2BA9JvB,OAAO,CAAC,IAAI,CAAC;8BAcV,OAAO,CAAC,IAAI,CAAC;sCA8fH,MAAM,sBAAsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;;IAkUlG,sDAAsD;;+BA1PrB,MAAM;oCApjBK,UAAU;iCAyDb,MAAM,EAAE;;gBA0BqD,OAAO;;CAiuB9G,CAAA"}