@itsliaaa/baileys 0.2.5 → 0.3.0-rc.1

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 (423) hide show
  1. package/README.md +2 -1
  2. package/WAProto/index.d.ts +15686 -0
  3. package/WAProto/index.js +12992 -3569
  4. package/lib/Defaults/index.d.ts +144 -0
  5. package/lib/Defaults/index.d.ts.map +1 -0
  6. package/lib/Defaults/index.js +11 -10
  7. package/lib/Defaults/index.js.map +1 -0
  8. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  9. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  10. package/lib/Signal/Group/ciphertext-message.js +2 -1
  11. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  12. package/lib/Signal/Group/group-session-builder.d.ts +8 -0
  13. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  14. package/lib/Signal/Group/group-session-builder.js +2 -1
  15. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  16. package/lib/Signal/Group/group_cipher.d.ts +11 -0
  17. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  18. package/lib/Signal/Group/group_cipher.js +2 -1
  19. package/lib/Signal/Group/group_cipher.js.map +1 -0
  20. package/lib/Signal/Group/index.d.ts +12 -0
  21. package/lib/Signal/Group/index.d.ts.map +1 -0
  22. package/lib/Signal/Group/index.js +2 -1
  23. package/lib/Signal/Group/index.js.map +1 -0
  24. package/lib/Signal/Group/keyhelper.d.ts +7 -0
  25. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  26. package/lib/Signal/Group/keyhelper.js +2 -1
  27. package/lib/Signal/Group/keyhelper.js.map +1 -0
  28. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  29. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  30. package/lib/Signal/Group/sender-chain-key.js +2 -1
  31. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  32. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  33. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  34. package/lib/Signal/Group/sender-key-distribution-message.js +2 -1
  35. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  36. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  37. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-key-message.js +2 -1
  39. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-name.d.ts +12 -0
  41. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-name.js +2 -1
  43. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-record.d.ts +13 -0
  45. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-record.js +2 -1
  47. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-state.d.ts +17 -0
  49. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-state.js +2 -1
  51. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  52. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  53. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-message-key.js +2 -1
  55. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  56. package/lib/Signal/libsignal.d.ts +42 -0
  57. package/lib/Signal/libsignal.d.ts.map +1 -0
  58. package/lib/Signal/libsignal.js +2 -5
  59. package/lib/Signal/libsignal.js.map +1 -0
  60. package/lib/Signal/lid-mapping.d.ts +17 -0
  61. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  62. package/lib/Signal/lid-mapping.js +2 -7
  63. package/lib/Signal/lid-mapping.js.map +1 -0
  64. package/lib/Socket/Client/index.d.ts +3 -0
  65. package/lib/Socket/Client/index.d.ts.map +1 -0
  66. package/lib/Socket/Client/index.js +2 -1
  67. package/lib/Socket/Client/index.js.map +1 -0
  68. package/lib/Socket/Client/types.d.ts +6 -0
  69. package/lib/Socket/Client/types.d.ts.map +1 -0
  70. package/lib/Socket/Client/types.js +2 -1
  71. package/lib/Socket/Client/types.js.map +1 -0
  72. package/lib/Socket/Client/websocket.d.ts +13 -0
  73. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  74. package/lib/Socket/Client/websocket.js +2 -1
  75. package/lib/Socket/Client/websocket.js.map +1 -0
  76. package/lib/Socket/business.d.ts +376 -0
  77. package/lib/Socket/business.d.ts.map +1 -0
  78. package/lib/Socket/business.js +2 -1
  79. package/lib/Socket/business.js.map +1 -0
  80. package/lib/Socket/chats.d.ts +128 -0
  81. package/lib/Socket/chats.d.ts.map +1 -0
  82. package/lib/Socket/chats.js +25 -49
  83. package/lib/Socket/chats.js.map +1 -0
  84. package/lib/Socket/communities.d.ts +542 -0
  85. package/lib/Socket/communities.d.ts.map +1 -0
  86. package/lib/Socket/communities.js +2 -1
  87. package/lib/Socket/communities.js.map +1 -0
  88. package/lib/Socket/groups.d.ts +276 -0
  89. package/lib/Socket/groups.d.ts.map +1 -0
  90. package/lib/Socket/groups.js +18 -5
  91. package/lib/Socket/groups.js.map +1 -0
  92. package/lib/Socket/index.d.ts +510 -0
  93. package/lib/Socket/index.d.ts.map +1 -0
  94. package/lib/Socket/index.js +2 -1
  95. package/lib/Socket/index.js.map +1 -0
  96. package/lib/Socket/messages-recv.d.ts +316 -0
  97. package/lib/Socket/messages-recv.d.ts.map +1 -0
  98. package/lib/Socket/messages-recv.js +63 -209
  99. package/lib/Socket/messages-recv.js.map +1 -0
  100. package/lib/Socket/messages-send.d.ts +312 -0
  101. package/lib/Socket/messages-send.d.ts.map +1 -0
  102. package/lib/Socket/messages-send.js +24 -40
  103. package/lib/Socket/messages-send.js.map +1 -0
  104. package/lib/Socket/mex.d.ts +2 -0
  105. package/lib/Socket/mex.d.ts.map +1 -0
  106. package/lib/Socket/mex.js +2 -1
  107. package/lib/Socket/mex.js.map +1 -0
  108. package/lib/Socket/newsletter.d.ts +270 -0
  109. package/lib/Socket/newsletter.d.ts.map +1 -0
  110. package/lib/Socket/newsletter.js +17 -59
  111. package/lib/Socket/newsletter.js.map +1 -0
  112. package/lib/Socket/socket.d.ts +53 -0
  113. package/lib/Socket/socket.d.ts.map +1 -0
  114. package/lib/Socket/socket.js +3 -17
  115. package/lib/Socket/socket.js.map +1 -0
  116. package/lib/Store/index.d.ts +4 -0
  117. package/lib/Store/index.d.ts.map +1 -0
  118. package/lib/Store/index.js +2 -1
  119. package/lib/Store/index.js.map +1 -0
  120. package/lib/Store/make-in-memory-store.d.ts +63 -0
  121. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  122. package/lib/Store/make-in-memory-store.js +2 -1
  123. package/lib/Store/make-in-memory-store.js.map +1 -0
  124. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  125. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  126. package/lib/Store/make-ordered-dictionary.js +2 -1
  127. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  128. package/lib/Store/object-repository.d.ts +11 -0
  129. package/lib/Store/object-repository.d.ts.map +1 -0
  130. package/lib/Store/object-repository.js +2 -1
  131. package/lib/Store/object-repository.js.map +1 -0
  132. package/lib/Types/Auth.d.ts +2 -0
  133. package/lib/Types/Auth.d.ts.map +1 -0
  134. package/lib/Types/Auth.js +2 -1
  135. package/lib/Types/Auth.js.map +1 -0
  136. package/lib/Types/Bussines.d.ts +2 -0
  137. package/lib/Types/Bussines.d.ts.map +1 -0
  138. package/lib/Types/Bussines.js +2 -1
  139. package/lib/Types/Bussines.js.map +1 -0
  140. package/lib/Types/Call.d.ts +2 -0
  141. package/lib/Types/Call.d.ts.map +1 -0
  142. package/lib/Types/Call.js +2 -1
  143. package/lib/Types/Call.js.map +1 -0
  144. package/lib/Types/Chat.d.ts +2 -0
  145. package/lib/Types/Chat.d.ts.map +1 -0
  146. package/lib/Types/Chat.js +2 -1
  147. package/lib/Types/Chat.js.map +1 -0
  148. package/lib/Types/Contact.d.ts +2 -0
  149. package/lib/Types/Contact.d.ts.map +1 -0
  150. package/lib/Types/Contact.js +2 -1
  151. package/lib/Types/Contact.js.map +1 -0
  152. package/lib/Types/Events.d.ts +2 -0
  153. package/lib/Types/Events.d.ts.map +1 -0
  154. package/lib/Types/Events.js +2 -1
  155. package/lib/Types/Events.js.map +1 -0
  156. package/lib/Types/GroupMetadata.d.ts +2 -0
  157. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  158. package/lib/Types/GroupMetadata.js +2 -1
  159. package/lib/Types/GroupMetadata.js.map +1 -0
  160. package/lib/Types/Label.d.ts +3 -0
  161. package/lib/Types/Label.d.ts.map +1 -0
  162. package/lib/Types/Label.js +2 -1
  163. package/lib/Types/Label.js.map +1 -0
  164. package/lib/Types/LabelAssociation.d.ts +3 -0
  165. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  166. package/lib/Types/LabelAssociation.js +2 -1
  167. package/lib/Types/LabelAssociation.js.map +1 -0
  168. package/lib/Types/Message.d.ts +12 -0
  169. package/lib/Types/Message.d.ts.map +1 -0
  170. package/lib/Types/Message.js +2 -1
  171. package/lib/Types/Message.js.map +1 -0
  172. package/lib/Types/Newsletter.d.ts +3 -0
  173. package/lib/Types/Newsletter.d.ts.map +1 -0
  174. package/lib/Types/Newsletter.js +6 -4
  175. package/lib/Types/Newsletter.js.map +1 -0
  176. package/lib/Types/Product.d.ts +2 -0
  177. package/lib/Types/Product.d.ts.map +1 -0
  178. package/lib/Types/Product.js +2 -1
  179. package/lib/Types/Product.js.map +1 -0
  180. package/lib/Types/RichType.d.ts +3 -0
  181. package/lib/Types/RichType.d.ts.map +1 -0
  182. package/lib/Types/RichType.js +2 -1
  183. package/lib/Types/RichType.js.map +1 -0
  184. package/lib/Types/Signal.d.ts +2 -0
  185. package/lib/Types/Signal.d.ts.map +1 -0
  186. package/lib/Types/Signal.js +2 -1
  187. package/lib/Types/Signal.js.map +1 -0
  188. package/lib/Types/Socket.d.ts +2 -0
  189. package/lib/Types/Socket.d.ts.map +1 -0
  190. package/lib/Types/Socket.js +1 -1
  191. package/lib/Types/Socket.js.map +1 -0
  192. package/lib/Types/State.d.ts +2 -0
  193. package/lib/Types/State.d.ts.map +1 -0
  194. package/lib/Types/State.js +2 -1
  195. package/lib/Types/State.js.map +1 -0
  196. package/lib/Types/USync.d.ts +2 -0
  197. package/lib/Types/USync.d.ts.map +1 -0
  198. package/lib/Types/USync.js +2 -1
  199. package/lib/Types/USync.js.map +1 -0
  200. package/lib/Types/index.d.ts +14 -0
  201. package/lib/Types/index.d.ts.map +1 -0
  202. package/lib/Types/index.js +2 -1
  203. package/lib/Types/index.js.map +1 -0
  204. package/lib/Utils/auth-utils.d.ts +58 -0
  205. package/lib/Utils/auth-utils.d.ts.map +1 -0
  206. package/lib/Utils/auth-utils.js +14 -1
  207. package/lib/Utils/auth-utils.js.map +1 -0
  208. package/lib/Utils/browser-utils.d.ts +9 -0
  209. package/lib/Utils/browser-utils.d.ts.map +1 -0
  210. package/lib/Utils/browser-utils.js +3 -3
  211. package/lib/Utils/browser-utils.js.map +1 -0
  212. package/lib/Utils/business.d.ts +50 -0
  213. package/lib/Utils/business.d.ts.map +1 -0
  214. package/lib/Utils/business.js +2 -1
  215. package/lib/Utils/business.js.map +1 -0
  216. package/lib/Utils/chat-utils.d.ts +409 -0
  217. package/lib/Utils/chat-utils.d.ts.map +1 -0
  218. package/lib/Utils/chat-utils.js +25 -25
  219. package/lib/Utils/chat-utils.js.map +1 -0
  220. package/lib/Utils/companion-reg-client-utils.d.ts +5 -0
  221. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  222. package/lib/Utils/companion-reg-client-utils.js +22 -14
  223. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  224. package/lib/Utils/crypto.d.ts +40 -0
  225. package/lib/Utils/crypto.d.ts.map +1 -0
  226. package/lib/Utils/crypto.js +2 -1
  227. package/lib/Utils/crypto.js.map +1 -0
  228. package/lib/Utils/decode-wa-message.d.ts +82 -0
  229. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  230. package/lib/Utils/decode-wa-message.js +11 -2
  231. package/lib/Utils/decode-wa-message.js.map +1 -0
  232. package/lib/Utils/event-buffer.d.ts +12 -0
  233. package/lib/Utils/event-buffer.d.ts.map +1 -0
  234. package/lib/Utils/event-buffer.js +3 -18
  235. package/lib/Utils/event-buffer.js.map +1 -0
  236. package/lib/Utils/generics.d.ts +64 -0
  237. package/lib/Utils/generics.d.ts.map +1 -0
  238. package/lib/Utils/generics.js +395 -394
  239. package/lib/Utils/generics.js.map +1 -0
  240. package/lib/Utils/history.d.ts +74 -0
  241. package/lib/Utils/history.d.ts.map +1 -0
  242. package/lib/Utils/history.js +2 -1
  243. package/lib/Utils/history.js.map +1 -0
  244. package/lib/Utils/identity-change-handler.d.ts +14 -0
  245. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  246. package/lib/Utils/identity-change-handler.js +2 -1
  247. package/lib/Utils/identity-change-handler.js.map +1 -0
  248. package/lib/Utils/index.d.ts +24 -0
  249. package/lib/Utils/index.d.ts.map +1 -0
  250. package/lib/Utils/index.js +3 -2
  251. package/lib/Utils/index.js.map +1 -0
  252. package/lib/Utils/link-preview.d.ts +13 -0
  253. package/lib/Utils/link-preview.d.ts.map +1 -0
  254. package/lib/Utils/link-preview.js +2 -1
  255. package/lib/Utils/link-preview.js.map +1 -0
  256. package/lib/Utils/logger.d.ts +3 -0
  257. package/lib/Utils/logger.d.ts.map +1 -0
  258. package/lib/Utils/logger.js +2 -1
  259. package/lib/Utils/logger.js.map +1 -0
  260. package/lib/Utils/lt-hash.d.ts +7 -0
  261. package/lib/Utils/lt-hash.d.ts.map +1 -0
  262. package/lib/Utils/lt-hash.js +2 -1
  263. package/lib/Utils/lt-hash.js.map +1 -0
  264. package/lib/Utils/make-mutex.d.ts +7 -0
  265. package/lib/Utils/make-mutex.d.ts.map +1 -0
  266. package/lib/Utils/make-mutex.js +2 -1
  267. package/lib/Utils/make-mutex.js.map +1 -0
  268. package/lib/Utils/message-retry-manager.d.ts +75 -0
  269. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  270. package/lib/Utils/message-retry-manager.js +3 -19
  271. package/lib/Utils/message-retry-manager.js.map +1 -0
  272. package/lib/Utils/messages-media.d.ts +136 -0
  273. package/lib/Utils/messages-media.d.ts.map +1 -0
  274. package/lib/Utils/messages-media.js +12 -10
  275. package/lib/Utils/messages-media.js.map +1 -0
  276. package/lib/Utils/messages.d.ts +46 -0
  277. package/lib/Utils/messages.d.ts.map +1 -0
  278. package/lib/Utils/messages.js +240 -251
  279. package/lib/Utils/messages.js.map +1 -0
  280. package/lib/Utils/noise-handler.d.ts +21 -0
  281. package/lib/Utils/noise-handler.d.ts.map +1 -0
  282. package/lib/Utils/noise-handler.js +2 -1
  283. package/lib/Utils/noise-handler.js.map +1 -0
  284. package/lib/Utils/offline-node-processor.d.ts +10 -0
  285. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  286. package/lib/Utils/offline-node-processor.js +2 -1
  287. package/lib/Utils/offline-node-processor.js.map +1 -0
  288. package/lib/Utils/pre-key-manager.d.ts +26 -0
  289. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  290. package/lib/Utils/pre-key-manager.js +2 -1
  291. package/lib/Utils/pre-key-manager.js.map +1 -0
  292. package/lib/Utils/process-message.d.ts +52 -0
  293. package/lib/Utils/process-message.d.ts.map +1 -0
  294. package/lib/Utils/process-message.js +21 -3
  295. package/lib/Utils/process-message.js.map +1 -0
  296. package/lib/Utils/reporting-utils.d.ts +13 -0
  297. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  298. package/lib/Utils/reporting-utils.js +2 -1
  299. package/lib/Utils/reporting-utils.js.map +1 -0
  300. package/lib/Utils/rich-message-utils.d.ts +81 -0
  301. package/lib/Utils/rich-message-utils.d.ts.map +1 -0
  302. package/lib/Utils/rich-message-utils.js +127 -128
  303. package/lib/Utils/rich-message-utils.js.map +1 -0
  304. package/lib/Utils/signal.d.ts +70 -0
  305. package/lib/Utils/signal.d.ts.map +1 -0
  306. package/lib/Utils/signal.js +2 -1
  307. package/lib/Utils/signal.js.map +1 -0
  308. package/lib/Utils/stanza-ack.d.ts +17 -0
  309. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  310. package/lib/Utils/stanza-ack.js +2 -1
  311. package/lib/Utils/stanza-ack.js.map +1 -0
  312. package/lib/Utils/sync-action-utils.d.ts +3 -0
  313. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  314. package/lib/Utils/sync-action-utils.js +2 -1
  315. package/lib/Utils/sync-action-utils.js.map +1 -0
  316. package/lib/Utils/tc-token-utils.d.ts +30 -0
  317. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  318. package/lib/Utils/tc-token-utils.js.map +1 -0
  319. package/lib/Utils/use-multi-file-auth-state.d.ts +11 -0
  320. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  321. package/lib/Utils/use-multi-file-auth-state.js +2 -1
  322. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  323. package/lib/Utils/use-single-file-auth-state.d.ts +11 -0
  324. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  325. package/lib/Utils/use-single-file-auth-state.js +6 -3
  326. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  327. package/lib/Utils/validate-connection.d.ts +44 -0
  328. package/lib/Utils/validate-connection.d.ts.map +1 -0
  329. package/lib/Utils/validate-connection.js +4 -10
  330. package/lib/Utils/validate-connection.js.map +1 -0
  331. package/lib/WABinary/constants.d.ts +46 -0
  332. package/lib/WABinary/constants.d.ts.map +1 -0
  333. package/lib/WABinary/constants.js +2 -1
  334. package/lib/WABinary/constants.js.map +1 -0
  335. package/lib/WABinary/decode.d.ts +10 -0
  336. package/lib/WABinary/decode.d.ts.map +1 -0
  337. package/lib/WABinary/decode.js +2 -1
  338. package/lib/WABinary/decode.js.map +1 -0
  339. package/lib/WABinary/encode.d.ts +3 -0
  340. package/lib/WABinary/encode.d.ts.map +1 -0
  341. package/lib/WABinary/encode.js +2 -1
  342. package/lib/WABinary/encode.js.map +1 -0
  343. package/lib/WABinary/generic-utils.d.ts +77 -0
  344. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  345. package/lib/WABinary/generic-utils.js +8 -9
  346. package/lib/WABinary/generic-utils.js.map +1 -0
  347. package/lib/WABinary/index.d.ts +6 -0
  348. package/lib/WABinary/index.d.ts.map +1 -0
  349. package/lib/WABinary/index.js +2 -1
  350. package/lib/WABinary/index.js.map +1 -0
  351. package/lib/WABinary/jid-utils.d.ts +29 -0
  352. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  353. package/lib/WABinary/jid-utils.js +2 -1
  354. package/lib/WABinary/jid-utils.js.map +1 -0
  355. package/lib/WABinary/types.d.ts +2 -0
  356. package/lib/WABinary/types.d.ts.map +1 -0
  357. package/lib/WABinary/types.js +2 -1
  358. package/lib/WABinary/types.js.map +1 -0
  359. package/lib/WAM/BinaryInfo.d.ts +8 -0
  360. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  361. package/lib/WAM/BinaryInfo.js +2 -1
  362. package/lib/WAM/BinaryInfo.js.map +1 -0
  363. package/lib/WAM/constants.d.ts +34927 -0
  364. package/lib/WAM/constants.d.ts.map +1 -0
  365. package/lib/WAM/constants.js +2 -1
  366. package/lib/WAM/constants.js.map +1 -0
  367. package/lib/WAM/encode.d.ts +2 -0
  368. package/lib/WAM/encode.d.ts.map +1 -0
  369. package/lib/WAM/encode.js +2 -1
  370. package/lib/WAM/encode.js.map +1 -0
  371. package/lib/WAM/index.d.ts +4 -0
  372. package/lib/WAM/index.d.ts.map +1 -0
  373. package/lib/WAM/index.js +2 -1
  374. package/lib/WAM/index.js.map +1 -0
  375. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +37 -0
  376. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  377. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -1
  378. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  379. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  380. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  381. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +2 -1
  382. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  383. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  384. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  385. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -1
  386. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  387. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  388. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  389. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -1
  390. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  391. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  392. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  393. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +5 -2
  394. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  395. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +39 -0
  396. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  397. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +2 -1
  398. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  399. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +15 -0
  400. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  401. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +2 -1
  402. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  403. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  404. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  405. package/lib/WAUSync/Protocols/index.js +2 -1
  406. package/lib/WAUSync/Protocols/index.js.map +1 -0
  407. package/lib/WAUSync/USyncQuery.d.ts +21 -0
  408. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  409. package/lib/WAUSync/USyncQuery.js +2 -1
  410. package/lib/WAUSync/USyncQuery.js.map +1 -0
  411. package/lib/WAUSync/USyncUser.d.ts +17 -0
  412. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  413. package/lib/WAUSync/USyncUser.js +2 -1
  414. package/lib/WAUSync/USyncUser.js.map +1 -0
  415. package/lib/WAUSync/index.d.ts +4 -0
  416. package/lib/WAUSync/index.d.ts.map +1 -0
  417. package/lib/WAUSync/index.js +2 -1
  418. package/lib/WAUSync/index.js.map +1 -0
  419. package/lib/index.d.ts +12 -0
  420. package/lib/index.d.ts.map +1 -0
  421. package/lib/index.js +3 -2
  422. package/lib/index.js.map +1 -0
  423. package/package.json +3 -2
@@ -5,7 +5,7 @@ import Long from 'long';
5
5
  import { proto } from '../../WAProto/index.js';
6
6
  import { DEFAULT_CACHE_TTLS, KEY_BUNDLE_TYPE, MIN_PREKEY_COUNT, PLACEHOLDER_MAX_AGE_SECONDS, STATUS_EXPIRY_SECONDS } from '../Defaults/index.js';
7
7
  import { WAMessageStatus, WAMessageStubType } from '../Types/index.js';
8
- import { aesDecryptCTR, aesEncryptGCM, cleanMessage, Curve, decodeMediaRetryNode, decodeMessageNode, decryptMessageNode, delay, derivePairingCodeKey, encodeBigEndian, encodeSignedDeviceIdentity, extractAddressingContext, getCallStatusFromNode, getHistoryMsg, getNextPreKeys, getStatusFromReceiptType, handleIdentityChange, hkdf, MISSING_KEYS_ERROR_TEXT, SERVER_ERROR_CODES, NACK_REASONS, NO_MESSAGE_FOUND_ERROR_TEXT, toNumber, unixTimestampSeconds, xmppPreKey, xmppSignedPreKey } from '../Utils/index.js';
8
+ import { aesDecryptCTR, aesEncryptGCM, cleanMessage, Curve, decodeMediaRetryNode, decodeMessageNode, decryptMessageNode, delay, derivePairingCodeKey, encodeBigEndian, encodeSignedDeviceIdentity, extractAddressingContext, getCallStatusFromNode, getHistoryMsg, getNextPreKeys, getStatusFromReceiptType, handleIdentityChange, hkdf, MISSING_KEYS_ERROR_TEXT, NACK_REASONS, NO_MESSAGE_FOUND_ERROR_TEXT, SERVER_ERROR_CODES, toNumber, unixTimestampSeconds, xmppPreKey, xmppSignedPreKey } from '../Utils/index.js';
9
9
  import { makeMutex } from '../Utils/make-mutex.js';
10
10
  import { makeOfflineNodeProcessor } from '../Utils/offline-node-processor.js';
11
11
  import { buildAckStanza } from '../Utils/stanza-ack.js';
@@ -16,11 +16,10 @@ import { makeMessagesSocket } from './messages-send.js';
16
16
  export const makeMessagesRecvSocket = (config) => {
17
17
  const { logger, retryRequestDelayMs, maxMsgRetryCount, getMessage, shouldIgnoreJid, enableAutoSessionRecreation } = config;
18
18
  const sock = makeMessagesSocket(config);
19
- const { ev, authState, ws, messageMutex, notificationMutex, receiptMutex, signalRepository, query, upsertMessage, resyncAppState, onUnexpectedError, assertSessions, sendNode, relayMessage, sendReceipt, uploadPreKeys, sendPeerDataOperationMessage, generateMessageTag, messageRetryManager, issuePrivacyTokens, registerSocketEndHandler } = sock;
19
+ const { ev, authState, ws, messageMutex, notificationMutex, receiptMutex, signalRepository, query, upsertMessage, resyncAppState, onUnexpectedError, assertSessions, sendNode, relayMessage, sendReceipt, uploadPreKeys, sendPeerDataOperationMessage, messageRetryManager, issuePrivacyTokens } = sock;
20
20
  const getLIDForPN = signalRepository.lidMapping.getLIDForPN.bind(signalRepository.lidMapping);
21
21
  /** this mutex ensures that each retryRequest will wait for the previous one to finish */
22
22
  const retryMutex = makeMutex();
23
- const devicesMutex = makeMutex();
24
23
  const msgRetryCache = config.msgRetryCounterCache ||
25
24
  new NodeCache({
26
25
  stdTTL: DEFAULT_CACHE_TTLS.MSG_RETRY, // 1 hour
@@ -36,11 +35,6 @@ export const makeMessagesRecvSocket = (config) => {
36
35
  stdTTL: DEFAULT_CACHE_TTLS.MSG_RETRY, // 1 hour
37
36
  useClones: false
38
37
  });
39
- const userDevicesCache = config.userDevicesCache ??=
40
- new NodeCache({
41
- stdTTL: DEFAULT_CACHE_TTLS.USER_DEVICES, // 5 minutes
42
- useClones: false
43
- });
44
38
  // Debounce identity-change session refreshes per JID to avoid bursts
45
39
  const identityAssertDebounce = new NodeCache({ stdTTL: 5, useClones: false });
46
40
  let sendActiveReceipts = false;
@@ -97,20 +91,34 @@ export const makeMessagesRecvSocket = (config) => {
97
91
  // Handles mex newsletter notifications
98
92
  const handleMexNewsletterNotification = async (node) => {
99
93
  const mexNode = getBinaryNodeChild(node, 'mex');
100
- if (!mexNode?.content) {
94
+ const updateNode = mexNode?.content ? null : getBinaryNodeChild(node, 'update') || getAllBinaryNodeChildren(node)[0];
95
+ const payloadNode = mexNode?.content ? mexNode : updateNode;
96
+ if (!payloadNode?.content) {
101
97
  logger.warn({ node }, 'Invalid mex newsletter notification');
102
98
  return;
103
99
  }
104
100
  let data;
105
101
  try {
106
- data = JSON.parse(mexNode.content.toString());
102
+ const payloadContent = payloadNode.content;
103
+ if (Array.isArray(payloadContent)) {
104
+ logger.warn({ payloadNode }, 'Invalid mex newsletter notification payload format');
105
+ return;
106
+ }
107
+ const contentBuf = typeof payloadContent === 'string' ? Buffer.from(payloadContent, 'binary') : Buffer.from(payloadContent);
108
+ data = JSON.parse(contentBuf.toString());
107
109
  }
108
110
  catch (error) {
109
111
  logger.error({ err: error, node }, 'Failed to parse mex newsletter notification');
110
112
  return;
111
113
  }
112
- const operation = data?.operation;
113
- const updates = data?.updates;
114
+ const operation = data?.operation ?? payloadNode?.attrs?.op_name;
115
+ let updates = data?.updates;
116
+ if (!updates) {
117
+ const linkedProfiles = data?.data?.xwa2_notify_linked_profiles;
118
+ if (linkedProfiles) {
119
+ updates = [linkedProfiles];
120
+ }
121
+ }
114
122
  if (!updates || !operation) {
115
123
  logger.warn({ data }, 'Invalid mex newsletter notification content');
116
124
  return;
@@ -140,6 +148,22 @@ export const makeMessagesRecvSocket = (config) => {
140
148
  }
141
149
  }
142
150
  break;
151
+ case 'NotificationLinkedProfilesUpdates':
152
+ for (const update of updates) {
153
+ const lid = update?.jid;
154
+ const addedProfiles = Array.isArray(update?.added_profiles) ? update.added_profiles : [];
155
+ const mappings = [];
156
+ for (const profile of addedProfiles) {
157
+ const pn = typeof profile === 'string' ? profile : (profile?.pn ?? profile?.jid ?? null);
158
+ if (lid && pn) {
159
+ const mapping = { lid, pn };
160
+ ev.emit('lid-mapping.update', mapping);
161
+ mappings.push(mapping);
162
+ }
163
+ }
164
+ await signalRepository.lidMapping.storeLIDPNMappings(mappings);
165
+ }
166
+ break;
143
167
  default:
144
168
  logger.info({ operation, data }, 'Unhandled mex newsletter notification');
145
169
  break;
@@ -253,97 +277,6 @@ export const makeMessagesRecvSocket = (config) => {
253
277
  };
254
278
  await query(stanza);
255
279
  };
256
- // Lia@Note 01-03-26 --- Source: https://github.com/koptereli/Baileys/commit/575cd41e6f01a9b3e1d7e2708c2292fa93de91f2
257
- const initiateCall = async (jid, options = {}) => {
258
- const meId = authState.creds.me?.id;
259
- if (!meId) {
260
- throw new Boom('Not authenticated');
261
- }
262
- const callId = randomBytes(8).toString('hex');
263
- const isVideo = !!options.isVideo;
264
- const isGroup = isJidGroup(jid);
265
- const stanza = {
266
- tag: 'call',
267
- attrs: {
268
- id: generateMessageTag(),
269
- from: meId,
270
- to: jid,
271
- t: String(unixTimestampSeconds()),
272
- ...(authState.creds.me?.name ? { notify: authState.creds.me.name } : {})
273
- },
274
- content: [
275
- {
276
- tag: 'offer',
277
- attrs: {
278
- 'call-id': callId,
279
- 'call-creator': meId,
280
- count: '0'
281
- },
282
- content: [
283
- {
284
- tag: isVideo ? 'video' : 'audio',
285
- attrs: {}
286
- },
287
- {
288
- tag: 'net',
289
- attrs: {}
290
- },
291
- {
292
- tag: 'encopt',
293
- attrs: { key: randomBytes(2).toString('hex') }
294
- },
295
- {
296
- tag: 'relaylatency',
297
- attrs: {}
298
- },
299
- {
300
- tag: 'te',
301
- attrs: {}
302
- }
303
- ]
304
- }
305
- ]
306
- };
307
- await query(stanza);
308
- await callOfferCache.set(callId, {
309
- chatId: jid,
310
- from: meId,
311
- id: callId,
312
- date: new Date(),
313
- offline: false,
314
- status: 'offer',
315
- isVideo,
316
- isGroup,
317
- groupJid: isGroup ? jid : undefined
318
- });
319
- // TODO: implement ICE/DTLS-SRTP call media setup once full signaling requirements are mapped.
320
- return { callId, to: jid, isVideo };
321
- };
322
- const cancelCall = async (callId, callTo) => {
323
- const meId = authState.creds.me?.id;
324
- if (!meId) {
325
- throw new Boom('Not authenticated');
326
- }
327
- const stanza = {
328
- tag: 'call',
329
- attrs: {
330
- from: meId,
331
- to: callTo
332
- },
333
- content: [
334
- {
335
- tag: 'terminate',
336
- attrs: {
337
- 'call-id': callId,
338
- 'call-creator': meId,
339
- count: '0'
340
- }
341
- }
342
- ]
343
- };
344
- await query(stanza);
345
- await callOfferCache.del(callId);
346
- };
347
280
  const sendRetryRequest = async (node, forceIncludeKeys = false) => {
348
281
  const { fullMessage } = decodeMessageNode(node, authState.creds.me.id, authState.creds.me.lid || '');
349
282
  const { key: msgKey } = fullMessage;
@@ -491,12 +424,7 @@ export const makeMessagesRecvSocket = (config) => {
491
424
  }
492
425
  logger.debug({ jid: normalizedJid, senderTimestamp: senderTs }, 'identity changed, re-issuing tctoken');
493
426
  const getPNForLID = signalRepository.lidMapping.getPNForLID.bind(signalRepository.lidMapping);
494
- const issueJid = await resolveIssuanceJid(
495
- normalizedJid,
496
- sock.serverProps.lidTrustedTokenIssueToLid,
497
- getLIDForPN,
498
- getPNForLID
499
- );
427
+ const issueJid = await resolveIssuanceJid(normalizedJid, sock.serverProps.lidTrustedTokenIssueToLid, getLIDForPN, getPNForLID);
500
428
  const result = await issuePrivacyTokens([issueJid], senderTs);
501
429
  await storeTcTokensFromIqResult({
502
430
  result,
@@ -661,64 +589,6 @@ export const makeMessagesRecvSocket = (config) => {
661
589
  break;
662
590
  }
663
591
  };
664
- const handleDevicesNotification = async (node) => {
665
- const [child] = getAllBinaryNodeChildren(node);
666
- const from = jidNormalizedUser(node.attrs.from);
667
- const devices = getBinaryNodeChildren(child, 'device');
668
- if (areJidsSameUser(from, authState.creds.me.id) ||
669
- areJidsSameUser(from, authState.creds.me.lid)) {
670
- const deviceJids = devices.map(d => d.attrs.jid);
671
- logger.info({ deviceJids }, 'got my own devices');
672
- }
673
- if (!devices || !devices.length || !devices[0]) {
674
- logger.debug({ from }, 'no devices in notification, skipping');
675
- return;
676
- }
677
- const deviceJid = devices[0].attrs.jid;
678
- const decoded = jidDecode(deviceJid);
679
- if (!decoded) return;
680
- const { user, device } = decoded;
681
- const tag = child.tag;
682
- if (!deviceJid) {
683
- logger.debug({ tag }, 'no device jid in notification, skipping');
684
- return;
685
- }
686
- await devicesMutex.mutex(async () => {
687
- if (tag === 'update') {
688
- logger.debug({ user }, `${user}'s device list updated, dropping cached devices`);
689
- if (userDevicesCache) {
690
- await userDevicesCache.del(user);
691
- }
692
- return;
693
- }
694
- const existingCache = (await (userDevicesCache?.get(user))) || [];
695
- if (!existingCache.length) {
696
- logger.debug({ user, tag }, 'device list not cached, skipping cache update')
697
- return;
698
- }
699
- const deviceHash = child.attrs.device_hash;
700
- let updatedDevices = [];
701
- switch (tag) {
702
- case 'add':
703
- logger.info({ deviceHash }, 'device added');
704
- updatedDevices = [
705
- ...existingCache.filter(d => d.device !== device),
706
- { user, device }
707
- ];
708
- break;
709
- case 'remove':
710
- logger.info({ deviceHash }, 'device removed');
711
- updatedDevices = existingCache.filter(d => d.device !== device);
712
- break;
713
- default:
714
- logger.debug({ tag }, 'Unknown device list change tag');
715
- return;
716
- }
717
- if (updatedDevices.length > 0 && userDevicesCache) {
718
- await userDevicesCache.set(user, updatedDevices);
719
- }
720
- });
721
- };
722
592
  const processNotification = async (node) => {
723
593
  const result = {};
724
594
  const [child] = getAllBinaryNodeChildren(node);
@@ -743,12 +613,13 @@ export const makeMessagesRecvSocket = (config) => {
743
613
  await handleEncryptNotification(node);
744
614
  break;
745
615
  case 'devices':
746
- try {
747
- await handleDevicesNotification(node);
748
- }
749
- catch (error) {
750
- logger.error({ error, node }, 'failed to handle devices notification');
616
+ const devices = getBinaryNodeChildren(child, 'device');
617
+ if (areJidsSameUser(child.attrs.jid, authState.creds.me.id) ||
618
+ areJidsSameUser(child.attrs.lid, authState.creds.me.lid)) {
619
+ const deviceData = devices.map(d => ({ id: d.attrs.jid, lid: d.attrs.lid }));
620
+ logger.info({ deviceData }, 'my own devices changed');
751
621
  }
622
+ //TODO: drop a new event, add hashes
752
623
  break;
753
624
  case 'server_sync':
754
625
  const update = getBinaryNodeChild(node, 'collection');
@@ -883,9 +754,8 @@ export const makeMessagesRecvSocket = (config) => {
883
754
  const tcTokenIndexLoaded = (async () => {
884
755
  try {
885
756
  const jids = await readTcTokenIndex(authState.keys);
886
- for (const jid of jids) {
757
+ for (const jid of jids)
887
758
  tcTokenKnownJids.add(jid);
888
- }
889
759
  logger.debug({ count: tcTokenKnownJids.size }, 'loaded tctoken index');
890
760
  }
891
761
  catch (err) {
@@ -902,7 +772,7 @@ export const makeMessagesRecvSocket = (config) => {
902
772
  // paths (history sync, concurrent sessions on the same store).
903
773
  const write = await buildMergedTcTokenIndexWrite(authState.keys, tcTokenKnownJids);
904
774
  return authState.keys.set({ tctoken: write });
905
- };
775
+ }
906
776
  function scheduleTcTokenIndexSave() {
907
777
  if (tcTokenIndexTimer) {
908
778
  clearTimeout(tcTokenIndexTimer);
@@ -913,7 +783,7 @@ export const makeMessagesRecvSocket = (config) => {
913
783
  logger.warn({ err: err?.message }, 'failed to save tctoken index');
914
784
  });
915
785
  }, 5000);
916
- };
786
+ }
917
787
  function trackTcTokenJid(jid) {
918
788
  if (jid && jid !== TC_TOKEN_INDEX_KEY && !tcTokenKnownJids.has(jid)) {
919
789
  tcTokenKnownJids.add(jid);
@@ -922,13 +792,14 @@ export const makeMessagesRecvSocket = (config) => {
922
792
  }
923
793
  const handlePrivacyTokenNotification = async (node) => {
924
794
  const tokensNode = getBinaryNodeChild(node, 'tokens');
925
- if (!tokensNode) return;
795
+ if (!tokensNode)
796
+ return;
926
797
  const from = jidNormalizedUser(node.attrs.from);
927
798
  // WA Web uses: senderLid ?? toLid(from) for the storage key
928
799
  // The sender_lid attribute provides the LID directly when available
929
800
  const senderLid = node.attrs.sender_lid && isLidUser(jidNormalizedUser(node.attrs.sender_lid))
930
801
  ? jidNormalizedUser(node.attrs.sender_lid)
931
- : undefined;
802
+ : undefined;
932
803
  const fallbackJid = senderLid ?? (await resolveTcTokenJid(from, getLIDForPN));
933
804
  logger.debug({ from, storageJid: fallbackJid }, 'processing privacy token notification');
934
805
  await storeTcTokensFromIqResult({
@@ -1132,7 +1003,7 @@ export const makeMessagesRecvSocket = (config) => {
1132
1003
  fromMe,
1133
1004
  participant: node.attrs.participant,
1134
1005
  participantAlt,
1135
- username: attrs.participant_username || attrs.username || undefined,
1006
+ participantUsername: node.attrs.participant_username,
1136
1007
  addressingMode,
1137
1008
  id: node.attrs.id,
1138
1009
  ...(msg.key || {})
@@ -1469,11 +1340,8 @@ export const makeMessagesRecvSocket = (config) => {
1469
1340
  if (type === 'receipt' && from) {
1470
1341
  const attrs = node.attrs;
1471
1342
  const isLid = attrs.from.includes('lid');
1472
- const isNodeFromMe = areJidsSameUser(
1473
- attrs.participant || attrs.from,
1474
- isLid ? authState.creds.me?.lid : authState.creds.me?.id
1475
- );
1476
- ignoreJid = !isNodeFromMe || isJidGroup(attrs.from) ? attrs.from : attrs.recipient;
1343
+ const isNodeFromMe = areJidsSameUser(attrs.participant || attrs.from, isLid ? authState.creds.me?.lid : authState.creds.me?.id);
1344
+ ignoreJid = !isNodeFromMe || isJidGroup(attrs.from) ? attrs.from : attrs.recipient;
1477
1345
  }
1478
1346
  if (ignoreJid && ignoreJid !== S_WHATSAPP_NET && shouldIgnoreJid(ignoreJid)) {
1479
1347
  await sendMessageAck(node, type === 'message' ? NACK_REASONS.UnhandledError : undefined);
@@ -1547,7 +1415,7 @@ export const makeMessagesRecvSocket = (config) => {
1547
1415
  tcTokenIndexTimer = undefined;
1548
1416
  // Best-effort flush — may fail if store is already closed
1549
1417
  try {
1550
- void Promise.resolve(flushTcTokenIndex()).catch(() => {});
1418
+ void Promise.resolve(flushTcTokenIndex()).catch(() => { });
1551
1419
  }
1552
1420
  catch {
1553
1421
  /* ignore sync errors */
@@ -1564,7 +1432,7 @@ export const makeMessagesRecvSocket = (config) => {
1564
1432
  void pruneExpiredTcTokens();
1565
1433
  }
1566
1434
  }
1567
- })
1435
+ });
1568
1436
  async function pruneExpiredTcTokens() {
1569
1437
  try {
1570
1438
  await tcTokenIndexLoaded;
@@ -1572,10 +1440,10 @@ export const makeMessagesRecvSocket = (config) => {
1572
1440
  // (history sync) without needing inter-module wiring.
1573
1441
  const persisted = await readTcTokenIndex(authState.keys);
1574
1442
  const allJids = new Set(tcTokenKnownJids);
1575
- for (const jid of persisted) {
1443
+ for (const jid of persisted)
1576
1444
  allJids.add(jid);
1577
- }
1578
- if (!allJids.size) return;
1445
+ if (!allJids.size)
1446
+ return;
1579
1447
  const jids = [...allJids];
1580
1448
  const allTokens = await authState.keys.get('tctoken', jids);
1581
1449
  const writes = {};
@@ -1607,7 +1475,8 @@ export const makeMessagesRecvSocket = (config) => {
1607
1475
  survivors.add(jid);
1608
1476
  }
1609
1477
  }
1610
- if (mutated === 0) return;
1478
+ if (mutated === 0)
1479
+ return;
1611
1480
  await authState.keys.set({
1612
1481
  tctoken: {
1613
1482
  ...writes,
@@ -1617,37 +1486,22 @@ export const makeMessagesRecvSocket = (config) => {
1617
1486
  }
1618
1487
  });
1619
1488
  tcTokenKnownJids.clear();
1620
- for (const jid of survivors) {
1489
+ for (const jid of survivors)
1621
1490
  tcTokenKnownJids.add(jid);
1622
- }
1623
1491
  logger.debug({ mutated, remaining: survivors.size }, 'pruned expired tctokens');
1624
1492
  }
1625
1493
  catch (err) {
1626
1494
  logger.warn({ err: err?.message }, 'failed to prune expired tctokens');
1627
1495
  }
1628
- };
1629
- registerSocketEndHandler(() => {
1630
- if (!config.msgRetryCounterCache && msgRetryCache.close) {
1631
- msgRetryCache.close();
1632
- }
1633
- if (!config.callOfferCache && callOfferCache.close) {
1634
- callOfferCache.close();
1635
- }
1636
- if (!config.placeholderResendCache && placeholderResendCache.close) {
1637
- placeholderResendCache.close();
1638
- }
1639
- identityAssertDebounce.close();
1640
- sendActiveReceipts = false;
1641
- });
1496
+ }
1642
1497
  return {
1643
1498
  ...sock,
1644
1499
  sendMessageAck,
1645
1500
  sendRetryRequest,
1646
1501
  rejectCall,
1647
- initiateCall,
1648
- cancelCall,
1649
1502
  fetchMessageHistory,
1650
1503
  requestPlaceholderResend,
1651
1504
  messageRetryManager
1652
1505
  };
1653
- };
1506
+ };
1507
+ //# sourceMappingURL=messages-recv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-recv.js","sourceRoot":"","sources":["../../src/Socket/messages-recv.js"],"names":[],"mappings":"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"}