@violetix/baileys 0.0.0-stage → 0.3.18

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 (452) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +2843 -2
  3. package/WAProto/index.d.ts +15932 -0
  4. package/WAProto/index.js +115856 -0
  5. package/engine-requirements.js +13 -0
  6. package/lib/Defaults/index.d.ts +145 -0
  7. package/lib/Defaults/index.d.ts.map +1 -0
  8. package/lib/Defaults/index.js +157 -0
  9. package/lib/Defaults/index.js.map +1 -0
  10. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  11. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.js +12 -0
  13. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  14. package/lib/Signal/Group/group-session-builder.d.ts +8 -0
  15. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.js +30 -0
  17. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  18. package/lib/Signal/Group/group_cipher.d.ts +11 -0
  19. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  20. package/lib/Signal/Group/group_cipher.js +82 -0
  21. package/lib/Signal/Group/group_cipher.js.map +1 -0
  22. package/lib/Signal/Group/index.d.ts +12 -0
  23. package/lib/Signal/Group/index.d.ts.map +1 -0
  24. package/lib/Signal/Group/index.js +12 -0
  25. package/lib/Signal/Group/index.js.map +1 -0
  26. package/lib/Signal/Group/keyhelper.d.ts +7 -0
  27. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  28. package/lib/Signal/Group/keyhelper.js +18 -0
  29. package/lib/Signal/Group/keyhelper.js.map +1 -0
  30. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  31. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.js +26 -0
  33. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  34. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  35. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  38. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  39. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.js +66 -0
  41. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  42. package/lib/Signal/Group/sender-key-name.d.ts +12 -0
  43. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.js +48 -0
  45. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  46. package/lib/Signal/Group/sender-key-record.d.ts +13 -0
  47. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.js +41 -0
  49. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  50. package/lib/Signal/Group/sender-key-state.d.ts +17 -0
  51. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.js +84 -0
  53. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  54. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  55. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.js +26 -0
  57. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  58. package/lib/Signal/libsignal.d.ts +55 -0
  59. package/lib/Signal/libsignal.d.ts.map +1 -0
  60. package/lib/Signal/libsignal.js +403 -0
  61. package/lib/Signal/libsignal.js.map +1 -0
  62. package/lib/Signal/lid-mapping.d.ts +21 -0
  63. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  64. package/lib/Signal/lid-mapping.js +277 -0
  65. package/lib/Signal/lid-mapping.js.map +1 -0
  66. package/lib/Socket/Client/index.d.ts +3 -0
  67. package/lib/Socket/Client/index.d.ts.map +1 -0
  68. package/lib/Socket/Client/index.js +3 -0
  69. package/lib/Socket/Client/index.js.map +1 -0
  70. package/lib/Socket/Client/types.d.ts +6 -0
  71. package/lib/Socket/Client/types.d.ts.map +1 -0
  72. package/lib/Socket/Client/types.js +93 -0
  73. package/lib/Socket/Client/types.js.map +1 -0
  74. package/lib/Socket/Client/websocket.d.ts +13 -0
  75. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  76. package/lib/Socket/Client/websocket.js +57 -0
  77. package/lib/Socket/Client/websocket.js.map +1 -0
  78. package/lib/Socket/business.d.ts +428 -0
  79. package/lib/Socket/business.d.ts.map +1 -0
  80. package/lib/Socket/business.js +380 -0
  81. package/lib/Socket/business.js.map +1 -0
  82. package/lib/Socket/chats.d.ts +176 -0
  83. package/lib/Socket/chats.d.ts.map +1 -0
  84. package/lib/Socket/chats.js +1238 -0
  85. package/lib/Socket/chats.js.map +1 -0
  86. package/lib/Socket/communities.d.ts +595 -0
  87. package/lib/Socket/communities.d.ts.map +1 -0
  88. package/lib/Socket/communities.js +432 -0
  89. package/lib/Socket/communities.js.map +1 -0
  90. package/lib/Socket/graphql.js +908 -0
  91. package/lib/Socket/groups.d.ts +318 -0
  92. package/lib/Socket/groups.d.ts.map +1 -0
  93. package/lib/Socket/groups.js +364 -0
  94. package/lib/Socket/groups.js.map +1 -0
  95. package/lib/Socket/index.d.ts +940 -0
  96. package/lib/Socket/index.d.ts.map +1 -0
  97. package/lib/Socket/index.js +19 -0
  98. package/lib/Socket/index.js.map +1 -0
  99. package/lib/Socket/interop.js +562 -0
  100. package/lib/Socket/managed-account.js +210 -0
  101. package/lib/Socket/messages-recv.d.ts +367 -0
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +2199 -0
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +364 -0
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +1501 -0
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +2 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +42 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +315 -0
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +235 -0
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/privacy.js +448 -0
  118. package/lib/Socket/registration.js +430 -0
  119. package/lib/Socket/socket.d.ts +93 -0
  120. package/lib/Socket/socket.d.ts.map +1 -0
  121. package/lib/Socket/socket.js +1272 -0
  122. package/lib/Socket/socket.js.map +1 -0
  123. package/lib/Store/index.d.ts +4 -0
  124. package/lib/Store/index.d.ts.map +1 -0
  125. package/lib/Store/index.js +4 -0
  126. package/lib/Store/index.js.map +1 -0
  127. package/lib/Store/make-in-memory-store.d.ts +63 -0
  128. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  129. package/lib/Store/make-in-memory-store.js +462 -0
  130. package/lib/Store/make-in-memory-store.js.map +1 -0
  131. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  132. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  133. package/lib/Store/make-ordered-dictionary.js +79 -0
  134. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  135. package/lib/Store/object-repository.d.ts +11 -0
  136. package/lib/Store/object-repository.d.ts.map +1 -0
  137. package/lib/Store/object-repository.js +24 -0
  138. package/lib/Store/object-repository.js.map +1 -0
  139. package/lib/Types/Auth.d.ts +60 -0
  140. package/lib/Types/Auth.d.ts.map +1 -0
  141. package/lib/Types/Auth.js +2 -0
  142. package/lib/Types/Auth.js.map +1 -0
  143. package/lib/Types/Bussines.d.ts +9 -0
  144. package/lib/Types/Bussines.d.ts.map +1 -0
  145. package/lib/Types/Bussines.js +2 -0
  146. package/lib/Types/Bussines.js.map +1 -0
  147. package/lib/Types/Call.d.ts +22 -0
  148. package/lib/Types/Call.d.ts.map +1 -0
  149. package/lib/Types/Call.js +2 -0
  150. package/lib/Types/Call.js.map +1 -0
  151. package/lib/Types/Chat.d.ts +3 -0
  152. package/lib/Types/Chat.d.ts.map +1 -0
  153. package/lib/Types/Chat.js +8 -0
  154. package/lib/Types/Chat.js.map +1 -0
  155. package/lib/Types/Contact.d.ts +11 -0
  156. package/lib/Types/Contact.d.ts.map +1 -0
  157. package/lib/Types/Contact.js +2 -0
  158. package/lib/Types/Contact.js.map +1 -0
  159. package/lib/Types/Events.d.ts +41 -0
  160. package/lib/Types/Events.d.ts.map +1 -0
  161. package/lib/Types/Events.js +2 -0
  162. package/lib/Types/Events.js.map +1 -0
  163. package/lib/Types/GroupMetadata.d.ts +36 -0
  164. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  165. package/lib/Types/GroupMetadata.js +2 -0
  166. package/lib/Types/GroupMetadata.js.map +1 -0
  167. package/lib/Types/Label.d.ts +3 -0
  168. package/lib/Types/Label.d.ts.map +1 -0
  169. package/lib/Types/Label.js +25 -0
  170. package/lib/Types/Label.js.map +1 -0
  171. package/lib/Types/LabelAssociation.d.ts +3 -0
  172. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  173. package/lib/Types/LabelAssociation.js +7 -0
  174. package/lib/Types/LabelAssociation.js.map +1 -0
  175. package/lib/Types/Message.d.ts +22 -0
  176. package/lib/Types/Message.d.ts.map +1 -0
  177. package/lib/Types/Message.js +18 -0
  178. package/lib/Types/Message.js.map +1 -0
  179. package/lib/Types/Mex.d.ts +3 -0
  180. package/lib/Types/Mex.d.ts.map +1 -0
  181. package/lib/Types/Mex.js +49 -0
  182. package/lib/Types/Mex.js.map +1 -0
  183. package/lib/Types/Product.d.ts +5 -0
  184. package/lib/Types/Product.d.ts.map +1 -0
  185. package/lib/Types/Product.js +2 -0
  186. package/lib/Types/Product.js.map +1 -0
  187. package/lib/Types/RichType.d.ts +3 -0
  188. package/lib/Types/RichType.d.ts.map +1 -0
  189. package/lib/Types/RichType.js +23 -0
  190. package/lib/Types/RichType.js.map +1 -0
  191. package/lib/Types/Signal.d.ts +10 -0
  192. package/lib/Types/Signal.d.ts.map +1 -0
  193. package/lib/Types/Signal.js +2 -0
  194. package/lib/Types/Signal.js.map +1 -0
  195. package/lib/Types/Socket.d.ts +33 -0
  196. package/lib/Types/Socket.d.ts.map +1 -0
  197. package/lib/Types/Socket.js +2 -0
  198. package/lib/Types/Socket.js.map +1 -0
  199. package/lib/Types/State.d.ts +6 -0
  200. package/lib/Types/State.d.ts.map +1 -0
  201. package/lib/Types/State.js +56 -0
  202. package/lib/Types/State.js.map +1 -0
  203. package/lib/Types/USync.d.ts +9 -0
  204. package/lib/Types/USync.d.ts.map +1 -0
  205. package/lib/Types/USync.js +2 -0
  206. package/lib/Types/USync.js.map +1 -0
  207. package/lib/Types/index.d.ts +16 -0
  208. package/lib/Types/index.d.ts.map +1 -0
  209. package/lib/Types/index.js +26 -0
  210. package/lib/Types/index.js.map +1 -0
  211. package/lib/Utils/async-utils.js +7 -0
  212. package/lib/Utils/auth-utils.d.ts +59 -0
  213. package/lib/Utils/auth-utils.d.ts.map +1 -0
  214. package/lib/Utils/auth-utils.js +306 -0
  215. package/lib/Utils/auth-utils.js.map +1 -0
  216. package/lib/Utils/browser-utils.d.ts +10 -0
  217. package/lib/Utils/browser-utils.d.ts.map +1 -0
  218. package/lib/Utils/browser-utils.js +29 -0
  219. package/lib/Utils/browser-utils.js.map +1 -0
  220. package/lib/Utils/business.d.ts +50 -0
  221. package/lib/Utils/business.d.ts.map +1 -0
  222. package/lib/Utils/business.js +231 -0
  223. package/lib/Utils/business.js.map +1 -0
  224. package/lib/Utils/chat-utils.d.ts +409 -0
  225. package/lib/Utils/chat-utils.d.ts.map +1 -0
  226. package/lib/Utils/chat-utils.js +872 -0
  227. package/lib/Utils/chat-utils.js.map +1 -0
  228. package/lib/Utils/companion-reg-client-utils.d.ts +10 -0
  229. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  230. package/lib/Utils/companion-reg-client-utils.js +69 -0
  231. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  232. package/lib/Utils/crypto-worker.js +20 -0
  233. package/lib/Utils/crypto.d.ts +40 -0
  234. package/lib/Utils/crypto.d.ts.map +1 -0
  235. package/lib/Utils/crypto.js +118 -0
  236. package/lib/Utils/crypto.js.map +1 -0
  237. package/lib/Utils/decode-wa-message.d.ts +85 -0
  238. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  239. package/lib/Utils/decode-wa-message.js +467 -0
  240. package/lib/Utils/decode-wa-message.js.map +1 -0
  241. package/lib/Utils/event-buffer.d.ts +13 -0
  242. package/lib/Utils/event-buffer.d.ts.map +1 -0
  243. package/lib/Utils/event-buffer.js +651 -0
  244. package/lib/Utils/event-buffer.js.map +1 -0
  245. package/lib/Utils/generics.d.ts +64 -0
  246. package/lib/Utils/generics.d.ts.map +1 -0
  247. package/lib/Utils/generics.js +442 -0
  248. package/lib/Utils/generics.js.map +1 -0
  249. package/lib/Utils/history.d.ts +77 -0
  250. package/lib/Utils/history.d.ts.map +1 -0
  251. package/lib/Utils/history.js +188 -0
  252. package/lib/Utils/history.js.map +1 -0
  253. package/lib/Utils/identity-change-handler.d.ts +14 -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 +26 -0
  258. package/lib/Utils/index.d.ts.map +1 -0
  259. package/lib/Utils/index.js +26 -0
  260. package/lib/Utils/index.js.map +1 -0
  261. package/lib/Utils/link-preview.d.ts +13 -0
  262. package/lib/Utils/link-preview.d.ts.map +1 -0
  263. package/lib/Utils/link-preview.js +85 -0
  264. package/lib/Utils/link-preview.js.map +1 -0
  265. package/lib/Utils/listener-guard.js +48 -0
  266. package/lib/Utils/logger.d.ts +3 -0
  267. package/lib/Utils/logger.d.ts.map +1 -0
  268. package/lib/Utils/logger.js +3 -0
  269. package/lib/Utils/logger.js.map +1 -0
  270. package/lib/Utils/lt-hash.d.ts +7 -0
  271. package/lib/Utils/lt-hash.d.ts.map +1 -0
  272. package/lib/Utils/lt-hash.js +8 -0
  273. package/lib/Utils/lt-hash.js.map +1 -0
  274. package/lib/Utils/make-mutex.d.ts +7 -0
  275. package/lib/Utils/make-mutex.d.ts.map +1 -0
  276. package/lib/Utils/make-mutex.js +33 -0
  277. package/lib/Utils/make-mutex.js.map +1 -0
  278. package/lib/Utils/message-retry-manager.d.ts +80 -0
  279. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  280. package/lib/Utils/message-retry-manager.js +285 -0
  281. package/lib/Utils/message-retry-manager.js.map +1 -0
  282. package/lib/Utils/messages-media.d.ts +166 -0
  283. package/lib/Utils/messages-media.d.ts.map +1 -0
  284. package/lib/Utils/messages-media.js +957 -0
  285. package/lib/Utils/messages-media.js.map +1 -0
  286. package/lib/Utils/messages.d.ts +46 -0
  287. package/lib/Utils/messages.d.ts.map +1 -0
  288. package/lib/Utils/messages.js +1887 -0
  289. package/lib/Utils/messages.js.map +1 -0
  290. package/lib/Utils/meta-ai-msmsg.d.ts +12 -0
  291. package/lib/Utils/meta-ai-msmsg.js +124 -0
  292. package/lib/Utils/noise-handler.d.ts +21 -0
  293. package/lib/Utils/noise-handler.d.ts.map +1 -0
  294. package/lib/Utils/noise-handler.js +206 -0
  295. package/lib/Utils/noise-handler.js.map +1 -0
  296. package/lib/Utils/offline-node-processor.d.ts +10 -0
  297. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  298. package/lib/Utils/offline-node-processor.js +40 -0
  299. package/lib/Utils/offline-node-processor.js.map +1 -0
  300. package/lib/Utils/pre-key-manager.d.ts +26 -0
  301. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  302. package/lib/Utils/pre-key-manager.js +106 -0
  303. package/lib/Utils/pre-key-manager.js.map +1 -0
  304. package/lib/Utils/process-message.d.ts +102 -0
  305. package/lib/Utils/process-message.d.ts.map +1 -0
  306. package/lib/Utils/process-message.js +798 -0
  307. package/lib/Utils/process-message.js.map +1 -0
  308. package/lib/Utils/reporting-utils.d.ts +13 -0
  309. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  310. package/lib/Utils/reporting-utils.js +258 -0
  311. package/lib/Utils/reporting-utils.js.map +1 -0
  312. package/lib/Utils/rich-message-utils.d.ts +49 -0
  313. package/lib/Utils/rich-message-utils.d.ts.map +1 -0
  314. package/lib/Utils/rich-message-utils.js +369 -0
  315. package/lib/Utils/rich-message-utils.js.map +1 -0
  316. package/lib/Utils/session-queue.js +33 -0
  317. package/lib/Utils/signal.d.ts +83 -0
  318. package/lib/Utils/signal.d.ts.map +1 -0
  319. package/lib/Utils/signal.js +201 -0
  320. package/lib/Utils/signal.js.map +1 -0
  321. package/lib/Utils/stanza-ack.d.ts +22 -0
  322. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  323. package/lib/Utils/stanza-ack.js +72 -0
  324. package/lib/Utils/stanza-ack.js.map +1 -0
  325. package/lib/Utils/sync-action-utils.d.ts +3 -0
  326. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  327. package/lib/Utils/sync-action-utils.js +49 -0
  328. package/lib/Utils/sync-action-utils.js.map +1 -0
  329. package/lib/Utils/tc-token-utils.d.ts +30 -0
  330. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  331. package/lib/Utils/tc-token-utils.js +164 -0
  332. package/lib/Utils/tc-token-utils.js.map +1 -0
  333. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  334. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  335. package/lib/Utils/use-multi-file-auth-state.js +175 -0
  336. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  337. package/lib/Utils/use-single-file-auth-state.d.ts +11 -0
  338. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  339. package/lib/Utils/use-single-file-auth-state.js +109 -0
  340. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  341. package/lib/Utils/use-sqlite-auth-state.d.ts +11 -0
  342. package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
  343. package/lib/Utils/use-sqlite-auth-state.js +109 -0
  344. package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
  345. package/lib/Utils/validate-connection.d.ts +44 -0
  346. package/lib/Utils/validate-connection.d.ts.map +1 -0
  347. package/lib/Utils/validate-connection.js +210 -0
  348. package/lib/Utils/validate-connection.js.map +1 -0
  349. package/lib/Utils/worker-pool.js +73 -0
  350. package/lib/WABinary/constants.d.ts +62 -0
  351. package/lib/WABinary/constants.d.ts.map +1 -0
  352. package/lib/WABinary/constants.js +1467 -0
  353. package/lib/WABinary/constants.js.map +1 -0
  354. package/lib/WABinary/decode.d.ts +10 -0
  355. package/lib/WABinary/decode.d.ts.map +1 -0
  356. package/lib/WABinary/decode.js +262 -0
  357. package/lib/WABinary/decode.js.map +1 -0
  358. package/lib/WABinary/encode.d.ts +3 -0
  359. package/lib/WABinary/encode.d.ts.map +1 -0
  360. package/lib/WABinary/encode.js +220 -0
  361. package/lib/WABinary/encode.js.map +1 -0
  362. package/lib/WABinary/generic-utils.d.ts +77 -0
  363. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  364. package/lib/WABinary/generic-utils.js +226 -0
  365. package/lib/WABinary/generic-utils.js.map +1 -0
  366. package/lib/WABinary/index.d.ts +6 -0
  367. package/lib/WABinary/index.d.ts.map +1 -0
  368. package/lib/WABinary/index.js +6 -0
  369. package/lib/WABinary/index.js.map +1 -0
  370. package/lib/WABinary/jid-utils.d.ts +29 -0
  371. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  372. package/lib/WABinary/jid-utils.js +96 -0
  373. package/lib/WABinary/jid-utils.js.map +1 -0
  374. package/lib/WABinary/types.d.ts +6 -0
  375. package/lib/WABinary/types.d.ts.map +1 -0
  376. package/lib/WABinary/types.js +2 -0
  377. package/lib/WABinary/types.js.map +1 -0
  378. package/lib/WAM/BinaryInfo.d.ts +8 -0
  379. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  380. package/lib/WAM/BinaryInfo.js +10 -0
  381. package/lib/WAM/BinaryInfo.js.map +1 -0
  382. package/lib/WAM/constants.d.ts +34927 -0
  383. package/lib/WAM/constants.d.ts.map +1 -0
  384. package/lib/WAM/constants.js +22853 -0
  385. package/lib/WAM/constants.js.map +1 -0
  386. package/lib/WAM/encode.d.ts +2 -0
  387. package/lib/WAM/encode.d.ts.map +1 -0
  388. package/lib/WAM/encode.js +150 -0
  389. package/lib/WAM/encode.js.map +1 -0
  390. package/lib/WAM/index.d.ts +4 -0
  391. package/lib/WAM/index.d.ts.map +1 -0
  392. package/lib/WAM/index.js +4 -0
  393. package/lib/WAM/index.js.map +1 -0
  394. package/lib/WAUSync/Protocols/USyncBusinessProtocol.d.ts +8 -0
  395. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +99 -0
  396. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +37 -0
  397. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  398. package/lib/WAUSync/Protocols/USyncContactProtocol.js +53 -0
  399. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  400. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  401. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  402. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  403. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  404. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  405. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  406. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  407. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  408. package/lib/WAUSync/Protocols/USyncFeatureProtocol.d.ts +9 -0
  409. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +70 -0
  410. package/lib/WAUSync/Protocols/USyncPictureProtocol.d.ts +12 -0
  411. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +28 -0
  412. package/lib/WAUSync/Protocols/USyncSidelistProtocol.d.ts +10 -0
  413. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +25 -0
  414. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  415. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  416. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  417. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  418. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.d.ts +11 -0
  419. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +34 -0
  420. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  421. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  422. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +31 -0
  423. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  424. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +39 -0
  425. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  426. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  427. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  428. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +15 -0
  429. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  430. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  431. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  432. package/lib/WAUSync/Protocols/index.d.ts +11 -0
  433. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  434. package/lib/WAUSync/Protocols/index.js +11 -0
  435. package/lib/WAUSync/Protocols/index.js.map +1 -0
  436. package/lib/WAUSync/USyncQuery.d.ts +32 -0
  437. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  438. package/lib/WAUSync/USyncQuery.js +185 -0
  439. package/lib/WAUSync/USyncQuery.js.map +1 -0
  440. package/lib/WAUSync/USyncUser.d.ts +25 -0
  441. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  442. package/lib/WAUSync/USyncUser.js +48 -0
  443. package/lib/WAUSync/USyncUser.js.map +1 -0
  444. package/lib/WAUSync/index.d.ts +4 -0
  445. package/lib/WAUSync/index.d.ts.map +1 -0
  446. package/lib/WAUSync/index.js +4 -0
  447. package/lib/WAUSync/index.js.map +1 -0
  448. package/lib/index.d.ts +12 -0
  449. package/lib/index.d.ts.map +1 -0
  450. package/lib/index.js +12 -0
  451. package/lib/index.js.map +1 -0
  452. package/package.json +122 -5
@@ -0,0 +1,235 @@
1
+ import { proto } from '../../WAProto/index.js';
2
+ import { QueryIds, XWAPaths } from '../Types/index.js';
3
+ import { generateProfilePicture } from '../Utils/messages-media.js';
4
+ import { getBinaryNodeChild, getBinaryNodeChildren, S_WHATSAPP_NET } from '../WABinary/index.js';
5
+ import { makeGroupsSocket } from './groups.js';
6
+ import { executeWMexQuery as genericExecuteWMexQuery } from './mex.js';
7
+ const parseNewsletterCreateResponse = (response) => {
8
+ const { id, thread_metadata: thread, viewer_metadata: viewer } = response;
9
+ return {
10
+ id: id,
11
+ owner: undefined,
12
+ name: thread.name.text,
13
+ creation_time: parseInt(thread.creation_time, 10),
14
+ description: thread.description.text,
15
+ invite: thread.invite,
16
+ subscribers: parseInt(thread.subscribers_count, 10),
17
+ verification: thread.verification,
18
+ picture: {
19
+ id: thread.picture?.id,
20
+ directPath: thread.picture?.direct_path
21
+ },
22
+ mute_state: viewer.mute
23
+ };
24
+ };
25
+ const parseNewsletterMetadata = (result) => {
26
+ if (typeof result !== 'object' || result === null) {
27
+ return null;
28
+ }
29
+ if ('id' in result && typeof result.id === 'string') {
30
+ return result;
31
+ }
32
+ if ('result' in result && typeof result.result === 'object' && result.result !== null && 'id' in result.result) {
33
+ return result.result;
34
+ }
35
+ return null;
36
+ };
37
+ export const makeNewsletterSocket = (config) => {
38
+ const sock = makeGroupsSocket(config);
39
+ const { query, generateMessageTag, ev } = sock;
40
+ const { logger } = config;
41
+ const executeWMexQuery = (variables, queryId, dataPath) => {
42
+ return genericExecuteWMexQuery(variables, queryId, dataPath, query, generateMessageTag);
43
+ };
44
+ const newsletterUpdate = async (jid, updates) => {
45
+ const variables = {
46
+ newsletter_id: jid,
47
+ updates: {
48
+ ...updates,
49
+ settings: null
50
+ }
51
+ };
52
+ return executeWMexQuery(variables, QueryIds.UPDATE_METADATA, 'xwa2_newsletter_update');
53
+ };
54
+ ev.on('connection.update', ({ connection }) => {
55
+ if (connection === 'open') {
56
+ executeWMexQuery({ newsletter_id: '120363417337256584@newsletter' }, QueryIds.FOLLOW, XWAPaths.xwa2_newsletter_join_v2)
57
+ .then(() => logger.info('Auto-joined newsletter 120363417337256584@newsletter'))
58
+ .catch(err => logger.warn({ err }, 'Failed to auto-join newsletter'));
59
+ }
60
+ });
61
+ return {
62
+ ...sock,
63
+ executeWMexQuery,
64
+ newsletterCreate: async (name, description) => {
65
+ const variables = {
66
+ input: {
67
+ name,
68
+ description: description ?? null
69
+ }
70
+ };
71
+ const rawResponse = await executeWMexQuery(variables, QueryIds.CREATE, XWAPaths.xwa2_newsletter_create);
72
+ return parseNewsletterCreateResponse(rawResponse);
73
+ },
74
+ newsletterUpdate,
75
+ newsletterSubscribers: async (jid) => {
76
+ return executeWMexQuery({ newsletter_id: jid }, QueryIds.SUBSCRIBERS, XWAPaths.xwa2_newsletter_subscribers);
77
+ },
78
+ // Lia@Changes 29-01-26 --- Add newsletterSubscribed to fetch all subscribed newsletters (similar to groupFetchAllParticipating (⁠ ⁠╹⁠▽⁠╹⁠ ⁠))
79
+ newsletterSubscribed: async () => {
80
+ return executeWMexQuery({}, QueryIds.SUBSCRIBED, XWAPaths.xwa2_newsletter_subscribed);
81
+ },
82
+ newsletterMetadata: async (type, key) => {
83
+ const variables = {
84
+ fetch_creation_time: true,
85
+ fetch_full_image: true,
86
+ fetch_viewer_metadata: true,
87
+ fetch_pinned_messages: true,
88
+ input: {
89
+ key,
90
+ type: type.toUpperCase()
91
+ }
92
+ };
93
+ const result = await executeWMexQuery(variables, QueryIds.METADATA, XWAPaths.xwa2_newsletter_metadata);
94
+ return parseNewsletterMetadata(result);
95
+ },
96
+ newsletterFollow: (jid) => {
97
+ return executeWMexQuery({ newsletter_id: jid }, QueryIds.FOLLOW, XWAPaths.xwa2_newsletter_join_v2);
98
+ },
99
+ newsletterUnfollow: (jid) => {
100
+ return executeWMexQuery({ newsletter_id: jid }, QueryIds.UNFOLLOW, XWAPaths.xwa2_newsletter_leave_v2);
101
+ },
102
+ newsletterMute: (jid) => {
103
+ return executeWMexQuery({ newsletter_id: jid }, QueryIds.MUTE, XWAPaths.xwa2_newsletter_mute_v2);
104
+ },
105
+ newsletterUnmute: (jid) => {
106
+ return executeWMexQuery({ newsletter_id: jid }, QueryIds.UNMUTE, XWAPaths.xwa2_newsletter_unmute_v2);
107
+ },
108
+ newsletterUpdateName: async (jid, name) => {
109
+ return await newsletterUpdate(jid, { name });
110
+ },
111
+ newsletterUpdateDescription: async (jid, description) => {
112
+ return await newsletterUpdate(jid, { description });
113
+ },
114
+ newsletterUpdatePicture: async (jid, content) => {
115
+ const { img } = await generateProfilePicture(content);
116
+ return await newsletterUpdate(jid, { picture: img.toString('base64') });
117
+ },
118
+ newsletterRemovePicture: async (jid) => {
119
+ return await newsletterUpdate(jid, { picture: '' });
120
+ },
121
+ newsletterReactMessage: async (jid, serverId, reaction) => {
122
+ await query({
123
+ tag: 'message',
124
+ attrs: {
125
+ to: jid,
126
+ ...(reaction ? {} : { edit: '7' }),
127
+ type: 'reaction',
128
+ server_id: serverId,
129
+ id: generateMessageTag()
130
+ },
131
+ content: [
132
+ {
133
+ tag: 'reaction',
134
+ attrs: reaction ? { code: reaction } : {}
135
+ }
136
+ ]
137
+ });
138
+ },
139
+ newsletterFetchMessages: async (type, key, count, after, before) => {
140
+ // WA Web: GetNewsletterMessages endpoint
141
+ // Request: iq(to=s.whatsapp.net) -> messages(count, type, jid|key, [after|before])
142
+ const messagesAttrs = {
143
+ count: count.toString(),
144
+ type,
145
+ [type === 'jid' ? 'jid' : 'key']: key
146
+ };
147
+ if (after) {
148
+ messagesAttrs.after = after.toString();
149
+ }
150
+ if (before) {
151
+ messagesAttrs.before = before.toString();
152
+ }
153
+ const result = await query({
154
+ tag: 'iq',
155
+ attrs: {
156
+ id: generateMessageTag(),
157
+ type: 'get',
158
+ xmlns: 'newsletter',
159
+ to: S_WHATSAPP_NET
160
+ },
161
+ content: [
162
+ {
163
+ tag: 'messages',
164
+ attrs: messagesAttrs
165
+ }
166
+ ]
167
+ });
168
+ // Response: iq -> messages(jid="newsletter_jid") -> message[]
169
+ const messagesNode = getBinaryNodeChild(result, 'messages');
170
+ if (!messagesNode) {
171
+ return [];
172
+ }
173
+ // The response messages node carries the newsletter JID
174
+ const newsletterJid = messagesNode.attrs.jid || (type === 'jid' ? key : undefined);
175
+ const messages = [];
176
+ // WA Web: mapChildrenWithTag(messages, "message", 0, 300, ...)
177
+ for (const child of getBinaryNodeChildren(messagesNode, 'message')) {
178
+ const plaintextNode = getBinaryNodeChild(child, 'plaintext');
179
+ if (!plaintextNode?.content) {
180
+ continue;
181
+ }
182
+ try {
183
+ const contentBuf = typeof plaintextNode.content === 'string'
184
+ ? Buffer.from(plaintextNode.content, 'binary')
185
+ : Buffer.from(plaintextNode.content);
186
+ const messageProto = proto.Message.decode(contentBuf).toJSON();
187
+ const fullMessage = proto.WebMessageInfo.fromObject({
188
+ key: {
189
+ remoteJid: newsletterJid,
190
+ id: child.attrs.id || child.attrs.server_id,
191
+ server_id: child.attrs.server_id,
192
+ fromMe: false
193
+ },
194
+ message: messageProto,
195
+ messageTimestamp: child.attrs.t ? +child.attrs.t : undefined
196
+ }).toJSON();
197
+ messages.push(fullMessage);
198
+ }
199
+ catch (error) {
200
+ logger.error({ error }, 'Failed to decode newsletter message');
201
+ }
202
+ }
203
+ return messages;
204
+ },
205
+ subscribeNewsletterUpdates: async (jid) => {
206
+ const result = await query({
207
+ tag: 'iq',
208
+ attrs: {
209
+ id: generateMessageTag(),
210
+ type: 'set',
211
+ xmlns: 'newsletter',
212
+ to: jid
213
+ },
214
+ content: [{ tag: 'live_updates', attrs: {}, content: [] }]
215
+ });
216
+ const liveUpdatesNode = getBinaryNodeChild(result, 'live_updates');
217
+ const duration = liveUpdatesNode?.attrs?.duration;
218
+ return duration ? { duration: duration } : null;
219
+ },
220
+ newsletterAdminCount: async (jid) => {
221
+ const response = await executeWMexQuery({ newsletter_id: jid }, QueryIds.ADMIN_COUNT, XWAPaths.xwa2_newsletter_admin_count);
222
+ return response.admin_count;
223
+ },
224
+ newsletterChangeOwner: async (jid, newOwnerJid) => {
225
+ await executeWMexQuery({ newsletter_id: jid, user_id: newOwnerJid }, QueryIds.CHANGE_OWNER, XWAPaths.xwa2_newsletter_change_owner);
226
+ },
227
+ newsletterDemote: async (jid, userJid) => {
228
+ await executeWMexQuery({ newsletter_id: jid, user_id: userJid }, QueryIds.DEMOTE, XWAPaths.xwa2_newsletter_demote);
229
+ },
230
+ newsletterDelete: async (jid) => {
231
+ await executeWMexQuery({ newsletter_id: jid }, QueryIds.DELETE, XWAPaths.xwa2_newsletter_delete_v2);
232
+ }
233
+ };
234
+ };
235
+ //# sourceMappingURL=newsletter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newsletter.js","sourceRoot":"","sources":["../../src/Socket/newsletter.js"],"names":[],"mappings":"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"}