@fer2809fl/baileys 7.0.1 → 7.0.4

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 (350) hide show
  1. package/README.md +322 -578
  2. package/WAProto/WAProto.proto +916 -360
  3. package/WAProto/fix-imports.js +18 -22
  4. package/WAProto/index.d.ts +15471 -8638
  5. package/WAProto/index.js +80576 -45941
  6. package/lib/Defaults/index.d.ts +14 -18
  7. package/lib/Defaults/index.js +111 -115
  8. package/lib/Signal/libsignal.js +22 -31
  9. package/lib/Signal/lid-mapping.d.ts +0 -4
  10. package/lib/Signal/lid-mapping.js +0 -6
  11. package/lib/Socket/business.d.ts +8 -75
  12. package/lib/Socket/business.js +1 -0
  13. package/lib/Socket/chats.d.ts +0 -6
  14. package/lib/Socket/chats.js +3 -67
  15. package/lib/Socket/communities.d.ts +641 -336
  16. package/lib/Socket/communities.js +3 -6
  17. package/lib/Socket/dugong.d.ts +130 -0
  18. package/lib/Socket/dugong.js +772 -0
  19. package/lib/Socket/groups.d.ts +18 -23
  20. package/lib/Socket/groups.js +88 -168
  21. package/lib/Socket/index.d.ts +631 -322
  22. package/lib/Socket/index.js +12 -9
  23. package/lib/Socket/messages-recv.d.ts +52 -84
  24. package/lib/Socket/messages-recv.js +193 -677
  25. package/lib/Socket/messages-send.d.ts +643 -262
  26. package/lib/Socket/messages-send.js +1559 -1359
  27. package/lib/Socket/mex.d.ts +0 -1
  28. package/lib/Socket/mex.js +8 -22
  29. package/lib/Socket/native-buttons.js +231 -0
  30. package/lib/Socket/newsletter.d.ts +27 -42
  31. package/lib/Socket/newsletter.js +439 -402
  32. package/lib/Socket/socket.d.ts +2 -6
  33. package/lib/Socket/socket.js +47 -39
  34. package/lib/Types/Auth.d.ts +0 -1
  35. package/lib/Types/Bussines.d.ts +34 -22
  36. package/lib/Types/Call.d.ts +1 -1
  37. package/lib/Types/Chat.d.ts +0 -1
  38. package/lib/Types/Contact.d.ts +0 -2
  39. package/lib/Types/Events.d.ts +1 -20
  40. package/lib/Types/GroupMetadata.d.ts +1 -4
  41. package/lib/Types/Message.d.ts +348 -354
  42. package/lib/Types/Message.js +0 -4
  43. package/lib/Types/{Mex.d.ts → Newsletter.d.ts} +7 -17
  44. package/lib/Types/{Mex.js → Newsletter.js} +5 -3
  45. package/lib/Types/Signal.d.ts +1 -12
  46. package/lib/Types/Socket.d.ts +148 -135
  47. package/lib/Types/State.d.ts +0 -65
  48. package/lib/Types/State.js +0 -43
  49. package/lib/Types/index.d.ts +52 -52
  50. package/lib/Types/index.js +30 -23
  51. package/lib/Utils/auth-utils.d.ts +0 -5
  52. package/lib/Utils/auth-utils.js +0 -12
  53. package/lib/Utils/browser-utils.js +0 -1
  54. package/lib/Utils/crypto.d.ts +12 -12
  55. package/lib/Utils/decode-wa-message.d.ts +0 -18
  56. package/lib/Utils/decode-wa-message.js +0 -34
  57. package/lib/Utils/event-buffer.d.ts +0 -2
  58. package/lib/Utils/generics.d.ts +2 -3
  59. package/lib/Utils/generics.js +1 -10
  60. package/lib/Utils/history.d.ts +0 -2
  61. package/lib/Utils/history.js +9 -12
  62. package/lib/Utils/identity-change-handler.d.ts +0 -7
  63. package/lib/Utils/identity-change-handler.js +0 -1
  64. package/lib/Utils/index.d.ts +23 -30
  65. package/lib/Utils/index.js +3 -9
  66. package/lib/Utils/link-preview.js +2 -2
  67. package/lib/Utils/message-retry-manager.d.ts +0 -5
  68. package/lib/Utils/message-retry-manager.js +11 -11
  69. package/lib/Utils/messages-media.d.ts +13 -45
  70. package/lib/Utils/messages-media.js +98 -293
  71. package/lib/Utils/messages.d.ts +3 -16
  72. package/lib/Utils/messages.js +1123 -1219
  73. package/lib/Utils/noise-handler.d.ts +1 -1
  74. package/lib/Utils/process-message.js +1 -103
  75. package/lib/Utils/rich-messages.d.ts +277 -0
  76. package/lib/Utils/rich-messages.js +1144 -0
  77. package/lib/Utils/signal.d.ts +0 -13
  78. package/lib/Utils/signal.js +0 -42
  79. package/lib/Utils/sticker-pack.d.ts +10 -0
  80. package/lib/Utils/sticker-pack.js +111 -0
  81. package/lib/Utils/sync-action-utils.js +0 -1
  82. package/lib/Utils/tc-token-utils.d.ts +1 -26
  83. package/lib/Utils/tc-token-utils.js +5 -151
  84. package/lib/Utils/validate-connection.d.ts +0 -1
  85. package/lib/Utils/validate-connection.js +3 -13
  86. package/lib/WABinary/decode.d.ts +1 -1
  87. package/lib/WABinary/generic-utils.d.ts +3 -1
  88. package/lib/WABinary/generic-utils.js +78 -0
  89. package/lib/WABinary/jid-utils.d.ts +0 -11
  90. package/lib/WABinary/jid-utils.js +0 -33
  91. package/lib/WAM/encode.d.ts +1 -1
  92. package/lib/WAUSync/Protocols/USyncContactProtocol.js +3 -26
  93. package/lib/WAUSync/Protocols/index.d.ts +0 -1
  94. package/lib/WAUSync/USyncQuery.d.ts +0 -1
  95. package/lib/WAUSync/USyncQuery.js +1 -1
  96. package/lib/WAUSync/USyncUser.d.ts +0 -4
  97. package/lib/WAUSync/USyncUser.js +0 -8
  98. package/lib/index.d.ts +1 -1
  99. package/lib/index.js +1 -4
  100. package/package.json +27 -31
  101. package/LICENSE +0 -21
  102. package/engine-requirements.js +0 -10
  103. package/lib/Defaults/index.d.ts.map +0 -1
  104. package/lib/Defaults/index.js.map +0 -1
  105. package/lib/Signal/Group/ciphertext-message.d.ts.map +0 -1
  106. package/lib/Signal/Group/ciphertext-message.js.map +0 -1
  107. package/lib/Signal/Group/group-session-builder.d.ts.map +0 -1
  108. package/lib/Signal/Group/group-session-builder.js.map +0 -1
  109. package/lib/Signal/Group/group_cipher.d.ts.map +0 -1
  110. package/lib/Signal/Group/group_cipher.js.map +0 -1
  111. package/lib/Signal/Group/index.d.ts.map +0 -1
  112. package/lib/Signal/Group/index.js.map +0 -1
  113. package/lib/Signal/Group/keyhelper.d.ts.map +0 -1
  114. package/lib/Signal/Group/keyhelper.js.map +0 -1
  115. package/lib/Signal/Group/sender-chain-key.d.ts.map +0 -1
  116. package/lib/Signal/Group/sender-chain-key.js.map +0 -1
  117. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +0 -1
  118. package/lib/Signal/Group/sender-key-distribution-message.js.map +0 -1
  119. package/lib/Signal/Group/sender-key-message.d.ts.map +0 -1
  120. package/lib/Signal/Group/sender-key-message.js.map +0 -1
  121. package/lib/Signal/Group/sender-key-name.d.ts.map +0 -1
  122. package/lib/Signal/Group/sender-key-name.js.map +0 -1
  123. package/lib/Signal/Group/sender-key-record.d.ts.map +0 -1
  124. package/lib/Signal/Group/sender-key-record.js.map +0 -1
  125. package/lib/Signal/Group/sender-key-state.d.ts.map +0 -1
  126. package/lib/Signal/Group/sender-key-state.js.map +0 -1
  127. package/lib/Signal/Group/sender-message-key.d.ts.map +0 -1
  128. package/lib/Signal/Group/sender-message-key.js.map +0 -1
  129. package/lib/Signal/libsignal.d.ts.map +0 -1
  130. package/lib/Signal/libsignal.js.map +0 -1
  131. package/lib/Signal/lid-mapping.d.ts.map +0 -1
  132. package/lib/Signal/lid-mapping.js.map +0 -1
  133. package/lib/Socket/Client/index.d.ts.map +0 -1
  134. package/lib/Socket/Client/index.js.map +0 -1
  135. package/lib/Socket/Client/types.d.ts.map +0 -1
  136. package/lib/Socket/Client/types.js.map +0 -1
  137. package/lib/Socket/Client/websocket.d.ts.map +0 -1
  138. package/lib/Socket/Client/websocket.js.map +0 -1
  139. package/lib/Socket/business.d.ts.map +0 -1
  140. package/lib/Socket/business.js.map +0 -1
  141. package/lib/Socket/chats.d.ts.map +0 -1
  142. package/lib/Socket/chats.js.map +0 -1
  143. package/lib/Socket/communities.d.ts.map +0 -1
  144. package/lib/Socket/communities.js.map +0 -1
  145. package/lib/Socket/groups.d.ts.map +0 -1
  146. package/lib/Socket/groups.js.map +0 -1
  147. package/lib/Socket/index.d.ts.map +0 -1
  148. package/lib/Socket/index.js.map +0 -1
  149. package/lib/Socket/messages-recv.d.ts.map +0 -1
  150. package/lib/Socket/messages-recv.js.map +0 -1
  151. package/lib/Socket/messages-send.d.ts.map +0 -1
  152. package/lib/Socket/messages-send.js.map +0 -1
  153. package/lib/Socket/mex.d.ts.map +0 -1
  154. package/lib/Socket/mex.js.map +0 -1
  155. package/lib/Socket/newsletter.d.ts.map +0 -1
  156. package/lib/Socket/newsletter.js.map +0 -1
  157. package/lib/Socket/smgss.d.ts +0 -119
  158. package/lib/Socket/smgss.d.ts.map +0 -1
  159. package/lib/Socket/smgss.js +0 -453
  160. package/lib/Socket/smgss.js.map +0 -1
  161. package/lib/Socket/socket.d.ts.map +0 -1
  162. package/lib/Socket/socket.js.map +0 -1
  163. package/lib/Store/index.d.ts +0 -4
  164. package/lib/Store/index.d.ts.map +0 -1
  165. package/lib/Store/index.js +0 -4
  166. package/lib/Store/index.js.map +0 -1
  167. package/lib/Store/make-in-memory-store.d.ts +0 -132
  168. package/lib/Store/make-in-memory-store.d.ts.map +0 -1
  169. package/lib/Store/make-in-memory-store.js +0 -450
  170. package/lib/Store/make-in-memory-store.js.map +0 -1
  171. package/lib/Store/make-ordered-dictionary.d.ts +0 -14
  172. package/lib/Store/make-ordered-dictionary.d.ts.map +0 -1
  173. package/lib/Store/make-ordered-dictionary.js +0 -80
  174. package/lib/Store/make-ordered-dictionary.js.map +0 -1
  175. package/lib/Store/object-repository.d.ts +0 -13
  176. package/lib/Store/object-repository.d.ts.map +0 -1
  177. package/lib/Store/object-repository.js +0 -24
  178. package/lib/Store/object-repository.js.map +0 -1
  179. package/lib/Types/Auth.d.ts.map +0 -1
  180. package/lib/Types/Auth.js.map +0 -1
  181. package/lib/Types/Bussines.d.ts.map +0 -1
  182. package/lib/Types/Bussines.js.map +0 -1
  183. package/lib/Types/Call.d.ts.map +0 -1
  184. package/lib/Types/Call.js.map +0 -1
  185. package/lib/Types/Chat.d.ts.map +0 -1
  186. package/lib/Types/Chat.js.map +0 -1
  187. package/lib/Types/Contact.d.ts.map +0 -1
  188. package/lib/Types/Contact.js.map +0 -1
  189. package/lib/Types/Events.d.ts.map +0 -1
  190. package/lib/Types/Events.js.map +0 -1
  191. package/lib/Types/GroupMetadata.d.ts.map +0 -1
  192. package/lib/Types/GroupMetadata.js.map +0 -1
  193. package/lib/Types/Label.d.ts.map +0 -1
  194. package/lib/Types/Label.js.map +0 -1
  195. package/lib/Types/LabelAssociation.d.ts.map +0 -1
  196. package/lib/Types/LabelAssociation.js.map +0 -1
  197. package/lib/Types/Message.d.ts.map +0 -1
  198. package/lib/Types/Message.js.map +0 -1
  199. package/lib/Types/Mex.d.ts.map +0 -1
  200. package/lib/Types/Mex.js.map +0 -1
  201. package/lib/Types/Product.d.ts.map +0 -1
  202. package/lib/Types/Product.js.map +0 -1
  203. package/lib/Types/Signal.d.ts.map +0 -1
  204. package/lib/Types/Signal.js.map +0 -1
  205. package/lib/Types/Socket.d.ts.map +0 -1
  206. package/lib/Types/Socket.js.map +0 -1
  207. package/lib/Types/State.d.ts.map +0 -1
  208. package/lib/Types/State.js.map +0 -1
  209. package/lib/Types/USync.d.ts.map +0 -1
  210. package/lib/Types/USync.js.map +0 -1
  211. package/lib/Types/index.d.ts.map +0 -1
  212. package/lib/Types/index.js.map +0 -1
  213. package/lib/Utils/auth-utils.d.ts.map +0 -1
  214. package/lib/Utils/auth-utils.js.map +0 -1
  215. package/lib/Utils/browser-utils.d.ts.map +0 -1
  216. package/lib/Utils/browser-utils.js.map +0 -1
  217. package/lib/Utils/business.d.ts.map +0 -1
  218. package/lib/Utils/business.js.map +0 -1
  219. package/lib/Utils/button-handler.d.ts +0 -28
  220. package/lib/Utils/button-handler.d.ts.map +0 -1
  221. package/lib/Utils/button-handler.js +0 -140
  222. package/lib/Utils/button-handler.js.map +0 -1
  223. package/lib/Utils/chat-utils.d.ts.map +0 -1
  224. package/lib/Utils/chat-utils.js.map +0 -1
  225. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  226. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  227. package/lib/Utils/crypto.d.ts.map +0 -1
  228. package/lib/Utils/crypto.js.map +0 -1
  229. package/lib/Utils/decode-wa-message.d.ts.map +0 -1
  230. package/lib/Utils/decode-wa-message.js.map +0 -1
  231. package/lib/Utils/event-buffer.d.ts.map +0 -1
  232. package/lib/Utils/event-buffer.js.map +0 -1
  233. package/lib/Utils/generics.d.ts.map +0 -1
  234. package/lib/Utils/generics.js.map +0 -1
  235. package/lib/Utils/history.d.ts.map +0 -1
  236. package/lib/Utils/history.js.map +0 -1
  237. package/lib/Utils/identity-change-handler.d.ts.map +0 -1
  238. package/lib/Utils/identity-change-handler.js.map +0 -1
  239. package/lib/Utils/index.d.ts.map +0 -1
  240. package/lib/Utils/index.js.map +0 -1
  241. package/lib/Utils/interactive.d.ts +0 -60
  242. package/lib/Utils/interactive.d.ts.map +0 -1
  243. package/lib/Utils/interactive.js +0 -224
  244. package/lib/Utils/interactive.js.map +0 -1
  245. package/lib/Utils/link-preview.d.ts.map +0 -1
  246. package/lib/Utils/link-preview.js.map +0 -1
  247. package/lib/Utils/logger.d.ts.map +0 -1
  248. package/lib/Utils/logger.js.map +0 -1
  249. package/lib/Utils/lt-hash.d.ts.map +0 -1
  250. package/lib/Utils/lt-hash.js.map +0 -1
  251. package/lib/Utils/make-mutex.d.ts.map +0 -1
  252. package/lib/Utils/make-mutex.js.map +0 -1
  253. package/lib/Utils/message-composer.d.ts +0 -93
  254. package/lib/Utils/message-composer.d.ts.map +0 -1
  255. package/lib/Utils/message-composer.js +0 -311
  256. package/lib/Utils/message-composer.js.map +0 -1
  257. package/lib/Utils/message-retry-manager.d.ts.map +0 -1
  258. package/lib/Utils/message-retry-manager.js.map +0 -1
  259. package/lib/Utils/messages-media.d.ts.map +0 -1
  260. package/lib/Utils/messages-media.js.map +0 -1
  261. package/lib/Utils/messages-newsletter.d.ts +0 -74
  262. package/lib/Utils/messages-newsletter.d.ts.map +0 -1
  263. package/lib/Utils/messages-newsletter.js +0 -128
  264. package/lib/Utils/messages-newsletter.js.map +0 -1
  265. package/lib/Utils/messages.d.ts.map +0 -1
  266. package/lib/Utils/messages.js.map +0 -1
  267. package/lib/Utils/noise-handler.d.ts.map +0 -1
  268. package/lib/Utils/noise-handler.js.map +0 -1
  269. package/lib/Utils/offline-node-processor.d.ts.map +0 -1
  270. package/lib/Utils/offline-node-processor.js.map +0 -1
  271. package/lib/Utils/pre-key-manager.d.ts.map +0 -1
  272. package/lib/Utils/pre-key-manager.js.map +0 -1
  273. package/lib/Utils/process-message.d.ts.map +0 -1
  274. package/lib/Utils/process-message.js.map +0 -1
  275. package/lib/Utils/reporting-utils.d.ts.map +0 -1
  276. package/lib/Utils/reporting-utils.js.map +0 -1
  277. package/lib/Utils/shortcake-crypto.d.ts +0 -36
  278. package/lib/Utils/shortcake-crypto.d.ts.map +0 -1
  279. package/lib/Utils/shortcake-crypto.js +0 -71
  280. package/lib/Utils/shortcake-crypto.js.map +0 -1
  281. package/lib/Utils/shortcake.d.ts +0 -36
  282. package/lib/Utils/shortcake.d.ts.map +0 -1
  283. package/lib/Utils/shortcake.js +0 -162
  284. package/lib/Utils/shortcake.js.map +0 -1
  285. package/lib/Utils/signal.d.ts.map +0 -1
  286. package/lib/Utils/signal.js.map +0 -1
  287. package/lib/Utils/stanza-ack.d.ts.map +0 -1
  288. package/lib/Utils/stanza-ack.js.map +0 -1
  289. package/lib/Utils/sync-action-utils.d.ts.map +0 -1
  290. package/lib/Utils/sync-action-utils.js.map +0 -1
  291. package/lib/Utils/tc-token-utils.d.ts.map +0 -1
  292. package/lib/Utils/tc-token-utils.js.map +0 -1
  293. package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
  294. package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
  295. package/lib/Utils/use-single-file-auth-state.d.ts +0 -6
  296. package/lib/Utils/use-single-file-auth-state.d.ts.map +0 -1
  297. package/lib/Utils/use-single-file-auth-state.js +0 -111
  298. package/lib/Utils/use-single-file-auth-state.js.map +0 -1
  299. package/lib/Utils/use-sqlite-auth-state.d.ts +0 -14
  300. package/lib/Utils/use-sqlite-auth-state.d.ts.map +0 -1
  301. package/lib/Utils/use-sqlite-auth-state.js +0 -107
  302. package/lib/Utils/use-sqlite-auth-state.js.map +0 -1
  303. package/lib/Utils/validate-connection.d.ts.map +0 -1
  304. package/lib/Utils/validate-connection.js.map +0 -1
  305. package/lib/WABinary/constants.d.ts.map +0 -1
  306. package/lib/WABinary/constants.js.map +0 -1
  307. package/lib/WABinary/decode.d.ts.map +0 -1
  308. package/lib/WABinary/decode.js.map +0 -1
  309. package/lib/WABinary/encode.d.ts.map +0 -1
  310. package/lib/WABinary/encode.js.map +0 -1
  311. package/lib/WABinary/generic-utils.d.ts.map +0 -1
  312. package/lib/WABinary/generic-utils.js.map +0 -1
  313. package/lib/WABinary/index.d.ts.map +0 -1
  314. package/lib/WABinary/index.js.map +0 -1
  315. package/lib/WABinary/jid-utils.d.ts.map +0 -1
  316. package/lib/WABinary/jid-utils.js.map +0 -1
  317. package/lib/WABinary/types.d.ts.map +0 -1
  318. package/lib/WABinary/types.js.map +0 -1
  319. package/lib/WAM/BinaryInfo.d.ts.map +0 -1
  320. package/lib/WAM/BinaryInfo.js.map +0 -1
  321. package/lib/WAM/constants.d.ts.map +0 -1
  322. package/lib/WAM/constants.js.map +0 -1
  323. package/lib/WAM/encode.d.ts.map +0 -1
  324. package/lib/WAM/encode.js.map +0 -1
  325. package/lib/WAM/index.d.ts.map +0 -1
  326. package/lib/WAM/index.js.map +0 -1
  327. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
  328. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
  329. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
  330. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
  331. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
  332. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
  333. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
  334. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
  335. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  336. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
  337. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
  338. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
  339. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
  340. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
  341. package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
  342. package/lib/WAUSync/Protocols/index.js.map +0 -1
  343. package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
  344. package/lib/WAUSync/USyncQuery.js.map +0 -1
  345. package/lib/WAUSync/USyncUser.d.ts.map +0 -1
  346. package/lib/WAUSync/USyncUser.js.map +0 -1
  347. package/lib/WAUSync/index.d.ts.map +0 -1
  348. package/lib/WAUSync/index.js.map +0 -1
  349. package/lib/index.d.ts.map +0 -1
  350. package/lib/index.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Boom } from '@hapi/boom';
2
- import { type NewChatMessageCapInfo, type ReachoutTimelockState, type SocketConfig } from '../Types/index.js';
2
+ import type { SocketConfig } from '../Types/index.js';
3
3
  import { type BinaryNode } from '../WABinary/index.js';
4
4
  import { BinaryInfo } from '../WAM/BinaryInfo.js';
5
5
  import { USyncQuery } from '../WAUSync/index.js';
@@ -19,7 +19,6 @@ export declare const makeSocket: (config: SocketConfig) => {
19
19
  createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
20
20
  flush(): boolean;
21
21
  isBuffering(): boolean;
22
- destroy(): void;
23
22
  };
24
23
  authState: {
25
24
  creds: import("../Types/index.js").AuthenticationCreds;
@@ -35,9 +34,8 @@ export declare const makeSocket: (config: SocketConfig) => {
35
34
  sendNode: (frame: BinaryNode) => Promise<void>;
36
35
  logout: (msg?: string) => Promise<void>;
37
36
  end: (error: Error | undefined) => Promise<void>;
38
- registerSocketEndHandler: (handler: (error: Error | undefined) => void | Promise<void>) => void;
39
37
  onUnexpectedError: (err: Error | Boom, msg: string) => void;
40
- uploadPreKeys: (count?: number) => Promise<void>;
38
+ uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
41
39
  uploadPreKeysToServerIfRequired: () => Promise<void>;
42
40
  digestKeyBundle: () => Promise<void>;
43
41
  rotateSignedPreKey: () => Promise<void>;
@@ -53,7 +51,5 @@ export declare const makeSocket: (config: SocketConfig) => {
53
51
  jid: string;
54
52
  exists: boolean;
55
53
  }[] | undefined>;
56
- fetchAccountReachoutTimelock: () => Promise<ReachoutTimelockState>;
57
- fetchNewChatMessageCap: () => Promise<NewChatMessageCapInfo>;
58
54
  };
59
55
  //# sourceMappingURL=socket.d.ts.map
@@ -3,7 +3,7 @@ import { randomBytes } from 'crypto';
3
3
  import { URL } from 'url';
4
4
  import { promisify } from 'util';
5
5
  import { proto } from '../../WAProto/index.js';
6
- import { DEF_CALLBACK_PREFIX, DEF_TAG_PREFIX, INITIAL_PREKEY_COUNT, MIN_PREKEY_COUNT, NOISE_WA_HEADER, PROCESSABLE_HISTORY_TYPES, TimeMs, UPLOAD_TIMEOUT } from '../Defaults/index.js';
6
+ import { DEF_CALLBACK_PREFIX, DEF_TAG_PREFIX, INITIAL_PREKEY_COUNT, MIN_PREKEY_COUNT, MIN_UPLOAD_INTERVAL, NOISE_WA_HEADER, PROCESSABLE_HISTORY_TYPES, TimeMs, UPLOAD_TIMEOUT } from '../Defaults/index.js';
7
7
  import { QueryIds, ReachoutTimelockEnforcementType } from '../Types/index.js';
8
8
  import { DisconnectReason, XWAPaths } from '../Types/index.js';
9
9
  import { addTransactionCapability, aesEncryptCTR, bindWaitForConnectionUpdate, buildPairingQRData, bytesToCrockford, configureSuccessfulPairing, Curve, derivePairingCodeKey, generateLoginNode, generateMdTagPrefix, generateRegistrationNode, getCodeFromWSError, getCompanionPlatformId, getErrorCodeFromStreamError, getNextPreKeysNode, makeEventBuffer, makeNoiseHandler, promiseTimeout, signedKeyPair, xmppSignedPreKey } from '../Utils/index.js';
@@ -349,16 +349,25 @@ export const makeSocket = (config) => {
349
349
  const countChild = getBinaryNodeChild(result, 'count');
350
350
  return +countChild.attrs.value;
351
351
  };
352
- // WAWeb has no time throttle here; the server drives uploads via PreKeyLow notifications.
352
+ // Pre-key upload state management
353
353
  let uploadPreKeysPromise = null;
354
+ let lastUploadTime = 0;
354
355
  /** generates and uploads a set of pre-keys to the server */
355
- const uploadPreKeys = async (count = MIN_PREKEY_COUNT) => {
356
+ const uploadPreKeys = async (count = MIN_PREKEY_COUNT, retryCount = 0) => {
357
+ // Check minimum interval (except for retries)
358
+ if (retryCount === 0) {
359
+ const timeSinceLastUpload = Date.now() - lastUploadTime;
360
+ if (timeSinceLastUpload < MIN_UPLOAD_INTERVAL) {
361
+ logger.debug(`Skipping upload, only ${timeSinceLastUpload}ms since last upload`);
362
+ return;
363
+ }
364
+ }
365
+ // Prevent multiple concurrent uploads
356
366
  if (uploadPreKeysPromise) {
357
367
  logger.debug('Pre-key upload already in progress, waiting for completion');
358
368
  await uploadPreKeysPromise;
359
- return;
360
369
  }
361
- const uploadLogic = async (retryCount) => {
370
+ const uploadLogic = async () => {
362
371
  logger.info({ count, retryCount }, 'uploading pre-keys');
363
372
  // Generate and save pre-keys atomically (prevents ID collisions on retry)
364
373
  const node = await keys.transaction(async () => {
@@ -366,28 +375,29 @@ export const makeSocket = (config) => {
366
375
  const { update, node } = await getNextPreKeysNode({ creds, keys }, count);
367
376
  // Update credentials immediately to prevent duplicate IDs on retry
368
377
  ev.emit('creds.update', update);
369
- return node;
378
+ return node; // Only return node since update is already used
370
379
  }, creds?.me?.id || 'upload-pre-keys');
371
380
  // Upload to server (outside transaction, can fail without affecting local keys)
372
381
  try {
373
382
  await query(node);
374
383
  logger.info({ count }, 'uploaded pre-keys successfully');
384
+ lastUploadTime = Date.now();
375
385
  }
376
386
  catch (uploadError) {
377
387
  logger.error({ uploadError: uploadError.toString(), count }, 'Failed to upload pre-keys to server');
378
- // Recurse into uploadLogic; calling uploadPreKeys would await its own in-flight promise.
388
+ // Exponential backoff retry (max 3 retries)
379
389
  if (retryCount < 3) {
380
390
  const backoffDelay = Math.min(1000 * Math.pow(2, retryCount), 10000);
381
391
  logger.info(`Retrying pre-key upload in ${backoffDelay}ms`);
382
392
  await new Promise(resolve => setTimeout(resolve, backoffDelay));
383
- return uploadLogic(retryCount + 1);
393
+ return uploadPreKeys(count, retryCount + 1);
384
394
  }
385
395
  throw uploadError;
386
396
  }
387
397
  };
388
398
  // Add timeout protection
389
399
  uploadPreKeysPromise = Promise.race([
390
- uploadLogic(0),
400
+ uploadLogic(),
391
401
  new Promise((_, reject) => setTimeout(() => reject(new Boom('Pre-key upload timeout', { statusCode: 408 })), UPLOAD_TIMEOUT))
392
402
  ]);
393
403
  try {
@@ -406,6 +416,32 @@ export const makeSocket = (config) => {
406
416
  const exists = !!preKeys[currentPreKeyId.toString()];
407
417
  return { exists, currentPreKeyId };
408
418
  };
419
+ const registerSocketEndHandler = (handler) => {
420
+ socketEndHandlers.push(handler);
421
+ };
422
+ /**
423
+ * Fetches your account's standing when it comes to restrictions.
424
+ * @returns Returns the state of the restrictions.
425
+ */
426
+ const fetchAccountReachoutTimelock = async () => {
427
+ const queryResult = await executeWMexQuery({}, QueryIds.REACHOUT_TIMELOCK, XWAPaths.xwa2_fetch_account_reachout_timelock, query, generateMessageTag);
428
+ const result = {
429
+ isActive: !!queryResult?.is_active,
430
+ timeEnforcementEnds: queryResult?.time_enforcement_ends && queryResult?.time_enforcement_ends !== '0'
431
+ ? new Date(parseInt(queryResult.time_enforcement_ends, 10) * 1000)
432
+ : undefined,
433
+ enforcementType: queryResult?.enforcement_type ?? ReachoutTimelockEnforcementType.DEFAULT
434
+ };
435
+ ev.emit('connection.update', { reachoutTimeLock: result });
436
+ return result;
437
+ };
438
+ /**
439
+ * Fetches your account's new chat limits.
440
+ * @returns Returns the quota and the usage.
441
+ */
442
+ const fetchNewChatMessageCap = async () => {
443
+ return executeWMexQuery({ input: { type: 'INDIVIDUAL_NEW_CHAT_MSG' } }, QueryIds.MESSAGE_CAPPING_INFO, XWAPaths.xwa2_message_capping_info, query, generateMessageTag);
444
+ };
409
445
  const uploadPreKeysToServerIfRequired = async () => {
410
446
  try {
411
447
  let count = 0;
@@ -594,9 +630,7 @@ export const makeSocket = (config) => {
594
630
  void end(new Boom(msg || 'Intentional Logout', { statusCode: DisconnectReason.loggedOut }));
595
631
  };
596
632
  const requestPairingCode = async (phoneNumber, customPairingCode) => {
597
- // Por defecto usamos el código de marca "ASTABOTS" (8 caracteres) en vez de uno aleatorio,
598
- // salvo que el llamador pase explícitamente su propio customPairingCode.
599
- const pairingCode = customPairingCode ?? 'ASTABOTS';
633
+ const pairingCode = customPairingCode ?? bytesToCrockford(randomBytes(5));
600
634
  if (customPairingCode && customPairingCode?.length !== 8) {
601
635
  throw new Error('Custom pairing code must be exactly 8 chars');
602
636
  }
@@ -898,32 +932,6 @@ export const makeSocket = (config) => {
898
932
  logger.debug({ error }, 'failed to send unified_session telemetry');
899
933
  }
900
934
  };
901
- const registerSocketEndHandler = (handler) => {
902
- socketEndHandlers.push(handler);
903
- };
904
- /**
905
- * Fetches your account's standing when it comes to restrictions.
906
- * @returns Returns the state of the restrictions.
907
- */
908
- const fetchAccountReachoutTimelock = async () => {
909
- const queryResult = await executeWMexQuery({}, QueryIds.REACHOUT_TIMELOCK, XWAPaths.xwa2_fetch_account_reachout_timelock, query, generateMessageTag);
910
- const result = {
911
- isActive: !!queryResult?.is_active,
912
- timeEnforcementEnds: queryResult?.time_enforcement_ends && queryResult?.time_enforcement_ends !== '0'
913
- ? new Date(parseInt(queryResult.time_enforcement_ends, 10) * 1000)
914
- : undefined,
915
- enforcementType: queryResult?.enforcement_type ?? ReachoutTimelockEnforcementType.DEFAULT
916
- };
917
- ev.emit('connection.update', { reachoutTimeLock: result });
918
- return result;
919
- };
920
- /**
921
- * Fetches your account's new chat limits.
922
- * @returns Returns the quota and the usage.
923
- */
924
- const fetchNewChatMessageCap = async () => {
925
- return executeWMexQuery({ input: { type: 'INDIVIDUAL_NEW_CHAT_MSG' } }, QueryIds.MESSAGE_CAPPING_INFO, XWAPaths.xwa2_message_capping_info, query, generateMessageTag);
926
- };
927
935
  return {
928
936
  type: 'md',
929
937
  ws,
@@ -941,7 +949,6 @@ export const makeSocket = (config) => {
941
949
  sendNode,
942
950
  logout,
943
951
  end,
944
- registerSocketEndHandler,
945
952
  onUnexpectedError,
946
953
  uploadPreKeys,
947
954
  uploadPreKeysToServerIfRequired,
@@ -955,6 +962,7 @@ export const makeSocket = (config) => {
955
962
  waitForConnectionUpdate: bindWaitForConnectionUpdate(ev),
956
963
  sendWAMBuffer,
957
964
  executeUSyncQuery,
965
+ registerSocketEndHandler,
958
966
  onWhatsApp,
959
967
  fetchAccountReachoutTimelock,
960
968
  fetchNewChatMessageCap
@@ -79,7 +79,6 @@ export type SignalDataTypeMap = {
79
79
  tctoken: {
80
80
  token: Buffer;
81
81
  timestamp?: string;
82
- senderTimestamp?: number;
83
82
  };
84
83
  'identity-key': Uint8Array;
85
84
  };
@@ -1,25 +1,37 @@
1
- import type { proto } from '../../WAProto';
2
- export type DayOfWeekBussines = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';
3
- export type HoursDay = {
4
- day: DayOfWeekBussines;
5
- mode: 'specific_hours';
6
- openTimeInMinutes: string;
7
- closeTimeInMinutes: string;
8
- } | {
9
- day: DayOfWeekBussines;
10
- mode: 'open_24h' | 'appointment_only';
11
- };
12
- export type UpdateBussinesProfileProps = {
13
- address?: string;
14
- websites?: string[];
15
- email?: string;
16
- description?: string;
17
- hours?: {
18
- timezone: string;
19
- days: HoursDay[];
1
+ export type DayOfWeekBussines =
2
+ | "sun"
3
+ | "mon"
4
+ | "tue"
5
+ | "wed"
6
+ | "thu"
7
+ | "fri"
8
+ | "sat";
9
+ export type HoursDay =
10
+ | {
11
+ day: DayOfWeekBussines;
12
+ mode: "specific_hours";
13
+ openTimeInMinutes: string;
14
+ closeTimeInMinutes: string;
15
+ }
16
+ | {
17
+ day: DayOfWeekBussines;
18
+ mode: "open_24h" | "appointment_only";
20
19
  };
20
+ export type UpdateBussinesProfileProps = {
21
+ address?: string;
22
+ websites?: string[];
23
+ email?: string;
24
+ description?: string;
25
+ hours?: {
26
+ timezone: string;
27
+ days: HoursDay[];
28
+ };
21
29
  };
22
- export type QuickReplyAction = proto.SyncActionValue.IQuickReplyAction & {
23
- timestamp?: string;
30
+ export type UpdateBusinessProfileProps = UpdateBussinesProfileProps;
31
+ export type QuickReplyAction = {
32
+ shortcut?: string;
33
+ message?: string;
34
+ deleted?: boolean;
35
+ timestamp?: string;
24
36
  };
25
- //# sourceMappingURL=Bussines.d.ts.map
37
+ //# sourceMappingURL=Bussines.d.ts.map
@@ -1,4 +1,4 @@
1
- export type WACallUpdateType = 'offer' | 'ringing' | 'preaccept' | 'transport' | 'relaylatency' | 'timeout' | 'reject' | 'accept' | 'terminate';
1
+ export type WACallUpdateType = 'offer' | 'ringing' | 'timeout' | 'reject' | 'accept' | 'terminate';
2
2
  export type WACallEvent = {
3
3
  chatId: string;
4
4
  from: string;
@@ -20,7 +20,6 @@ export type WAPatchName = (typeof ALL_WA_PATCH_NAMES)[number];
20
20
  export interface PresenceData {
21
21
  lastKnownPresence: WAPresence;
22
22
  lastSeen?: number;
23
- groupOnlineCount?: number;
24
23
  }
25
24
  export type BotListInfo = {
26
25
  jid: string;
@@ -9,8 +9,6 @@ export interface Contact {
9
9
  name?: string;
10
10
  /** name of the contact, the contact has set on their own on WA */
11
11
  notify?: string;
12
- /** username associated with this contact, when provided by WA */
13
- username?: string;
14
12
  /** I have no idea */
15
13
  verifiedName?: string;
16
14
  /**
@@ -8,7 +8,7 @@ import type { GroupMetadata, GroupParticipant, ParticipantAction, RequestJoinAct
8
8
  import type { Label } from './Label.js';
9
9
  import type { LabelAssociation } from './LabelAssociation.js';
10
10
  import type { MessageUpsertType, MessageUserReceiptUpdate, WAMessage, WAMessageKey, WAMessageUpdate } from './Message.js';
11
- import type { ConnectionState, NewChatMessageCapInfo } from './State.js';
11
+ import type { ConnectionState } from './State.js';
12
12
  export type BaileysEventMap = {
13
13
  /** connection state has been updated -- WS closed, opened, connecting etc. */
14
14
  'connection.update': Partial<ConnectionState>;
@@ -23,22 +23,8 @@ export type BaileysEventMap = {
23
23
  isLatest?: boolean;
24
24
  progress?: number | null;
25
25
  syncType?: proto.HistorySync.HistorySyncType | null;
26
- pastParticipants?: proto.IPastParticipants[] | null;
27
- chunkOrder?: number | null;
28
26
  peerDataRequestSessionId?: string | null;
29
27
  };
30
- /** signals history sync milestones (completion or stall) per sync type */
31
- 'messaging-history.status': {
32
- /** which sync phase this status refers to */
33
- syncType: proto.HistorySync.HistorySyncType;
34
- /** the status of this sync phase */
35
- status: 'complete' | 'paused';
36
- /**
37
- * progress === 100 was received from the server.
38
- * when false, completion was inferred via timeout (no more chunks arriving).
39
- */
40
- explicit: boolean;
41
- };
42
28
  /** upsert chats */
43
29
  'chats.upsert': Chat[];
44
30
  /** update the given chats */
@@ -93,7 +79,6 @@ export type BaileysEventMap = {
93
79
  id: string;
94
80
  author: string;
95
81
  authorPn?: string;
96
- authorUsername?: string;
97
82
  participants: GroupParticipant[];
98
83
  action: ParticipantAction;
99
84
  };
@@ -101,7 +86,6 @@ export type BaileysEventMap = {
101
86
  id: string;
102
87
  author: string;
103
88
  authorPn?: string;
104
- authorUsername?: string;
105
89
  participant: string;
106
90
  participantPn?: string;
107
91
  action: RequestJoinAction;
@@ -154,7 +138,6 @@ export type BaileysEventMap = {
154
138
  id: string;
155
139
  update: any;
156
140
  };
157
- 'message-capping.update': NewChatMessageCapInfo;
158
141
  /** Settings and actions sync events */
159
142
  'chats.lock': {
160
143
  id: string;
@@ -201,8 +184,6 @@ export type BufferedEventData = {
201
184
  isLatest: boolean;
202
185
  progress?: number | null;
203
186
  syncType?: proto.HistorySync.HistorySyncType;
204
- pastParticipants?: proto.IPastParticipants[];
205
- chunkOrder?: number | null;
206
187
  peerDataRequestSessionId?: string;
207
188
  };
208
189
  chatUpserts: {
@@ -1,6 +1,7 @@
1
1
  import type { Contact } from './Contact.js';
2
2
  import type { WAMessageAddressingMode } from './Message.js';
3
3
  export type GroupParticipant = Contact & {
4
+ jid?: string;
4
5
  isAdmin?: boolean;
5
6
  isSuperAdmin?: boolean;
6
7
  admin?: 'admin' | 'superadmin' | null;
@@ -15,20 +16,17 @@ export interface GroupMetadata {
15
16
  addressingMode?: WAMessageAddressingMode;
16
17
  owner: string | undefined;
17
18
  ownerPn?: string | undefined;
18
- ownerUsername?: string | undefined;
19
19
  owner_country_code?: string | undefined;
20
20
  subject: string;
21
21
  /** group subject owner */
22
22
  subjectOwner?: string;
23
23
  subjectOwnerPn?: string;
24
- subjectOwnerUsername?: string;
25
24
  /** group subject modification date */
26
25
  subjectTime?: number;
27
26
  creation?: number;
28
27
  desc?: string;
29
28
  descOwner?: string;
30
29
  descOwnerPn?: string;
31
- descOwnerUsername?: string;
32
30
  descId?: string;
33
31
  descTime?: number;
34
32
  /** if this group is part of a community, it returns the jid of the community to which it belongs */
@@ -53,7 +51,6 @@ export interface GroupMetadata {
53
51
  /** the person who added you to group or changed some setting in group */
54
52
  author?: string;
55
53
  authorPn?: string;
56
- authorUsername?: string;
57
54
  }
58
55
  export interface WAGroupCreateResponse {
59
56
  status: number;