@ubedsockets/baileys 1.6.9 → 1.7.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 (399) hide show
  1. package/WAProto/GenerateStatics.sh +26 -3
  2. package/WAProto/WAProto.proto +432 -180
  3. package/WAProto/add-missing-proto-deps.js +134 -0
  4. package/WAProto/imports-elaina.js +48 -0
  5. package/WAProto/index.js +78044 -140686
  6. package/WAProto/merge-elaina-ai-proto.js +187 -0
  7. package/engine-requirements.js +10 -0
  8. package/lib/Defaults/elaina-version.json +3 -0
  9. package/lib/Defaults/index.js +57 -55
  10. package/lib/Signal/Group/group_cipher.js +1 -1
  11. package/lib/Signal/Group/keyhelper.js +1 -1
  12. package/lib/Signal/Group/sender-chain-key.js +1 -1
  13. package/lib/Signal/Group/sender-key-message.js +1 -1
  14. package/lib/Signal/Group/sender-message-key.js +1 -1
  15. package/lib/Signal/libsignal.js +1 -1
  16. package/lib/Signal/libsignalnode/LICENSE +621 -0
  17. package/lib/Signal/libsignalnode/README.md +11 -0
  18. package/lib/Signal/libsignalnode/generate-proto.sh +1 -0
  19. package/lib/Signal/libsignalnode/index.js +10 -0
  20. package/lib/Signal/libsignalnode/protos/WhisperTextProtocol.proto +28 -0
  21. package/lib/Signal/libsignalnode/src/.eslintrc.json +31 -0
  22. package/lib/Signal/libsignalnode/src/WhisperTextProtocol.js +948 -0
  23. package/lib/Signal/libsignalnode/src/base_key_type.js +6 -0
  24. package/lib/Signal/libsignalnode/src/chain_type.js +6 -0
  25. package/lib/Signal/libsignalnode/src/crypto.js +98 -0
  26. package/lib/Signal/libsignalnode/src/curve.js +142 -0
  27. package/lib/Signal/libsignalnode/src/errors.js +33 -0
  28. package/lib/Signal/libsignalnode/src/keyhelper.js +45 -0
  29. package/lib/Signal/libsignalnode/src/numeric_fingerprint.js +70 -0
  30. package/lib/Signal/libsignalnode/src/protobufs.js +10 -0
  31. package/lib/Signal/libsignalnode/src/protocol_address.js +40 -0
  32. package/lib/Signal/libsignalnode/src/queue_job.js +70 -0
  33. package/lib/Signal/libsignalnode/src/session_builder.js +164 -0
  34. package/lib/Signal/libsignalnode/src/session_cipher.js +332 -0
  35. package/lib/Signal/libsignalnode/src/session_record.js +325 -0
  36. package/lib/Socket/Client/websocket.js +2 -41
  37. package/lib/Socket/RHandler.js +533 -0
  38. package/lib/Socket/chats.js +249 -123
  39. package/lib/Socket/index.js +1 -1
  40. package/lib/Socket/messages-recv.js +57 -5
  41. package/lib/Socket/messages-send.js +47 -280
  42. package/lib/Socket/newsletter.js +100 -132
  43. package/lib/Socket/socket.js +79 -87
  44. package/lib/Socket/usync.js +0 -2
  45. package/lib/Store/make-in-memory-store.js +1 -1
  46. package/lib/Utils/browser-utils.js +30 -23
  47. package/lib/Utils/crypto.js +22 -18
  48. package/lib/Utils/decode-wa-message.js +12 -2
  49. package/lib/Utils/{baileys-event-stream.js → elaina-event-stream.js} +1 -1
  50. package/lib/Utils/event-buffer.js +2 -2
  51. package/lib/Utils/generics.js +36 -10
  52. package/lib/Utils/index.js +3 -1
  53. package/lib/Utils/message-retry-manager.js +48 -185
  54. package/lib/Utils/messages-media.js +127 -236
  55. package/lib/Utils/messages.js +746 -232
  56. package/lib/Utils/noise-handler.js +1 -2
  57. package/lib/Utils/process-message.js +108 -25
  58. package/lib/Utils/signal.js +1 -10
  59. package/lib/Utils/use-multi-file-auth-state.js +1 -1
  60. package/lib/Utils/validate-connection.js +3 -7
  61. package/lib/Voip/audio-feeder.js +166 -0
  62. package/lib/Voip/index.js +639 -0
  63. package/lib/Voip/relay-transport.js +829 -0
  64. package/lib/Voip/signaling.js +1102 -0
  65. package/lib/Voip/types.js +23 -0
  66. package/lib/Voip/wasm-engine.js +1255 -0
  67. package/lib/Voip/worker-bootstrap.js +1078 -0
  68. package/lib/WABinary/jid-utils.js +17 -1
  69. package/lib/assets/wasm/loader.js +5 -0
  70. package/lib/assets/wasm/whatsapp.wasm +0 -0
  71. package/lib/assets/wasm/worker-modules.js +273 -0
  72. package/lib/index.js +21 -18
  73. package/package.json +32 -18
  74. package/WAProto/AICommon.js +0 -27981
  75. package/WAProto/AICommon.proto +0 -713
  76. package/WAProto/Ephemeral.js +0 -295
  77. package/WAProto/Ephemeral.proto +0 -7
  78. package/WAProto/fix-imports.js +0 -85
  79. package/WAProto/index.d.ts +0 -14017
  80. package/WAProto/vyzen.js +0 -7
  81. package/lib/Defaults/baileys-version.json +0 -3
  82. package/lib/Defaults/index.d.ts +0 -75
  83. package/lib/Defaults/index.d.ts.map +0 -1
  84. package/lib/Defaults/index.js.map +0 -1
  85. package/lib/Signal/Group/ciphertext-message.d.ts +0 -10
  86. package/lib/Signal/Group/ciphertext-message.d.ts.map +0 -1
  87. package/lib/Signal/Group/ciphertext-message.js.map +0 -1
  88. package/lib/Signal/Group/group-session-builder.d.ts +0 -15
  89. package/lib/Signal/Group/group-session-builder.d.ts.map +0 -1
  90. package/lib/Signal/Group/group-session-builder.js.map +0 -1
  91. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  92. package/lib/Signal/Group/group_cipher.d.ts.map +0 -1
  93. package/lib/Signal/Group/group_cipher.js.map +0 -1
  94. package/lib/Signal/Group/index.d.ts +0 -12
  95. package/lib/Signal/Group/index.d.ts.map +0 -1
  96. package/lib/Signal/Group/index.js.map +0 -1
  97. package/lib/Signal/Group/keyhelper.d.ts +0 -11
  98. package/lib/Signal/Group/keyhelper.d.ts.map +0 -1
  99. package/lib/Signal/Group/keyhelper.js.map +0 -1
  100. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  101. package/lib/Signal/Group/sender-chain-key.d.ts.map +0 -1
  102. package/lib/Signal/Group/sender-chain-key.js.map +0 -1
  103. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  104. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +0 -1
  105. package/lib/Signal/Group/sender-key-distribution-message.js.map +0 -1
  106. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  107. package/lib/Signal/Group/sender-key-message.d.ts.map +0 -1
  108. package/lib/Signal/Group/sender-key-message.js.map +0 -1
  109. package/lib/Signal/Group/sender-key-name.d.ts +0 -18
  110. package/lib/Signal/Group/sender-key-name.d.ts.map +0 -1
  111. package/lib/Signal/Group/sender-key-name.js.map +0 -1
  112. package/lib/Signal/Group/sender-key-record.d.ts +0 -31
  113. package/lib/Signal/Group/sender-key-record.d.ts.map +0 -1
  114. package/lib/Signal/Group/sender-key-record.js.map +0 -1
  115. package/lib/Signal/Group/sender-key-state.d.ts +0 -39
  116. package/lib/Signal/Group/sender-key-state.d.ts.map +0 -1
  117. package/lib/Signal/Group/sender-key-state.js.map +0 -1
  118. package/lib/Signal/Group/sender-message-key.d.ts +0 -12
  119. package/lib/Signal/Group/sender-message-key.d.ts.map +0 -1
  120. package/lib/Signal/Group/sender-message-key.js.map +0 -1
  121. package/lib/Signal/libsignal.d.ts +0 -5
  122. package/lib/Signal/libsignal.d.ts.map +0 -1
  123. package/lib/Signal/libsignal.js.map +0 -1
  124. package/lib/Signal/lid-mapping.d.ts +0 -23
  125. package/lib/Signal/lid-mapping.d.ts.map +0 -1
  126. package/lib/Signal/lid-mapping.js +0 -277
  127. package/lib/Signal/lid-mapping.js.map +0 -1
  128. package/lib/Socket/Client/index.d.ts +0 -3
  129. package/lib/Socket/Client/index.d.ts.map +0 -1
  130. package/lib/Socket/Client/index.js.map +0 -1
  131. package/lib/Socket/Client/types.d.ts +0 -16
  132. package/lib/Socket/Client/types.d.ts.map +0 -1
  133. package/lib/Socket/Client/types.js.map +0 -1
  134. package/lib/Socket/Client/websocket.d.ts +0 -13
  135. package/lib/Socket/Client/websocket.d.ts.map +0 -1
  136. package/lib/Socket/Client/websocket.js.map +0 -1
  137. package/lib/Socket/business.d.ts +0 -217
  138. package/lib/Socket/business.d.ts.map +0 -1
  139. package/lib/Socket/business.js.map +0 -1
  140. package/lib/Socket/chats.d.ts +0 -124
  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 +0 -273
  144. package/lib/Socket/communities.d.ts.map +0 -1
  145. package/lib/Socket/communities.js +0 -431
  146. package/lib/Socket/communities.js.map +0 -1
  147. package/lib/Socket/groups.d.ts +0 -161
  148. package/lib/Socket/groups.d.ts.map +0 -1
  149. package/lib/Socket/groups.js.map +0 -1
  150. package/lib/Socket/index.d.ts +0 -260
  151. package/lib/Socket/index.d.ts.map +0 -1
  152. package/lib/Socket/index.js.map +0 -1
  153. package/lib/Socket/messages-recv.d.ts +0 -203
  154. package/lib/Socket/messages-recv.d.ts.map +0 -1
  155. package/lib/Socket/messages-recv.js.map +0 -1
  156. package/lib/Socket/messages-send.d.ts +0 -199
  157. package/lib/Socket/messages-send.d.ts.map +0 -1
  158. package/lib/Socket/messages-send.js.map +0 -1
  159. package/lib/Socket/mex.d.ts +0 -3
  160. package/lib/Socket/mex.d.ts.map +0 -1
  161. package/lib/Socket/mex.js +0 -42
  162. package/lib/Socket/mex.js.map +0 -1
  163. package/lib/Socket/newsletter.d.ts +0 -170
  164. package/lib/Socket/newsletter.d.ts.map +0 -1
  165. package/lib/Socket/newsletter.js.map +0 -1
  166. package/lib/Socket/setup.js +0 -433
  167. package/lib/Socket/socket.d.ts +0 -59
  168. package/lib/Socket/socket.d.ts.map +0 -1
  169. package/lib/Socket/socket.js.map +0 -1
  170. package/lib/Types/Auth.d.ts +0 -117
  171. package/lib/Types/Auth.d.ts.map +0 -1
  172. package/lib/Types/Auth.js.map +0 -1
  173. package/lib/Types/Bussines.d.ts +0 -25
  174. package/lib/Types/Bussines.d.ts.map +0 -1
  175. package/lib/Types/Bussines.js +0 -2
  176. package/lib/Types/Bussines.js.map +0 -1
  177. package/lib/Types/Call.d.ts +0 -15
  178. package/lib/Types/Call.d.ts.map +0 -1
  179. package/lib/Types/Call.js.map +0 -1
  180. package/lib/Types/Chat.d.ts +0 -124
  181. package/lib/Types/Chat.d.ts.map +0 -1
  182. package/lib/Types/Chat.js.map +0 -1
  183. package/lib/Types/Contact.d.ts +0 -26
  184. package/lib/Types/Contact.d.ts.map +0 -1
  185. package/lib/Types/Contact.js.map +0 -1
  186. package/lib/Types/Events.d.ts +0 -256
  187. package/lib/Types/Events.d.ts.map +0 -1
  188. package/lib/Types/Events.js.map +0 -1
  189. package/lib/Types/GroupMetadata.d.ts +0 -71
  190. package/lib/Types/GroupMetadata.d.ts.map +0 -1
  191. package/lib/Types/GroupMetadata.js.map +0 -1
  192. package/lib/Types/Label.d.ts +0 -47
  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 +0 -30
  196. package/lib/Types/LabelAssociation.d.ts.map +0 -1
  197. package/lib/Types/LabelAssociation.js.map +0 -1
  198. package/lib/Types/Message.d.ts +0 -320
  199. package/lib/Types/Message.d.ts.map +0 -1
  200. package/lib/Types/Message.js.map +0 -1
  201. package/lib/Types/Mex.d.ts +0 -141
  202. package/lib/Types/Mex.d.ts.map +0 -1
  203. package/lib/Types/Mex.js +0 -37
  204. package/lib/Types/Mex.js.map +0 -1
  205. package/lib/Types/Product.d.ts +0 -79
  206. package/lib/Types/Product.d.ts.map +0 -1
  207. package/lib/Types/Product.js.map +0 -1
  208. package/lib/Types/RichType.d.ts +0 -3
  209. package/lib/Types/RichType.d.ts.map +0 -1
  210. package/lib/Types/RichType.js +0 -31
  211. package/lib/Types/Signal.d.ts +0 -87
  212. package/lib/Types/Signal.d.ts.map +0 -1
  213. package/lib/Types/Signal.js.map +0 -1
  214. package/lib/Types/Socket.d.ts +0 -136
  215. package/lib/Types/Socket.d.ts.map +0 -1
  216. package/lib/Types/Socket.js.map +0 -1
  217. package/lib/Types/State.d.ts +0 -97
  218. package/lib/Types/State.d.ts.map +0 -1
  219. package/lib/Types/State.js.map +0 -1
  220. package/lib/Types/USync.d.ts +0 -26
  221. package/lib/Types/USync.d.ts.map +0 -1
  222. package/lib/Types/USync.js.map +0 -1
  223. package/lib/Types/index.d.ts +0 -65
  224. package/lib/Types/index.d.ts.map +0 -1
  225. package/lib/Types/index.js.map +0 -1
  226. package/lib/Utils/Tiktok.js +0 -80
  227. package/lib/Utils/auth-utils.d.ts +0 -24
  228. package/lib/Utils/auth-utils.d.ts.map +0 -1
  229. package/lib/Utils/auth-utils.js.map +0 -1
  230. package/lib/Utils/browser-utils.d.ts +0 -4
  231. package/lib/Utils/browser-utils.d.ts.map +0 -1
  232. package/lib/Utils/browser-utils.js.map +0 -1
  233. package/lib/Utils/business.d.ts +0 -23
  234. package/lib/Utils/business.d.ts.map +0 -1
  235. package/lib/Utils/business.js.map +0 -1
  236. package/lib/Utils/chaanel/vyzen.js +0 -0
  237. package/lib/Utils/chat-utils.d.ts +0 -100
  238. package/lib/Utils/chat-utils.d.ts.map +0 -1
  239. package/lib/Utils/chat-utils.js.map +0 -1
  240. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  241. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  242. package/lib/Utils/companion-reg-client-utils.js +0 -35
  243. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  244. package/lib/Utils/crypto.d.ts +0 -37
  245. package/lib/Utils/crypto.d.ts.map +0 -1
  246. package/lib/Utils/crypto.js.map +0 -1
  247. package/lib/Utils/decode-wa-message.d.ts +0 -66
  248. package/lib/Utils/decode-wa-message.d.ts.map +0 -1
  249. package/lib/Utils/decode-wa-message.js.map +0 -1
  250. package/lib/Utils/event-buffer.d.ts +0 -36
  251. package/lib/Utils/event-buffer.d.ts.map +0 -1
  252. package/lib/Utils/event-buffer.js.map +0 -1
  253. package/lib/Utils/facebook.js +0 -48
  254. package/lib/Utils/generics.d.ts +0 -91
  255. package/lib/Utils/generics.d.ts.map +0 -1
  256. package/lib/Utils/generics.js.map +0 -1
  257. package/lib/Utils/history.d.ts +0 -24
  258. package/lib/Utils/history.d.ts.map +0 -1
  259. package/lib/Utils/history.js.map +0 -1
  260. package/lib/Utils/identity-change-handler.d.ts +0 -44
  261. package/lib/Utils/identity-change-handler.d.ts.map +0 -1
  262. package/lib/Utils/identity-change-handler.js +0 -50
  263. package/lib/Utils/identity-change-handler.js.map +0 -1
  264. package/lib/Utils/index.d.ts +0 -22
  265. package/lib/Utils/index.d.ts.map +0 -1
  266. package/lib/Utils/index.js.map +0 -1
  267. package/lib/Utils/instagram.js +0 -50
  268. package/lib/Utils/link-preview.d.ts +0 -21
  269. package/lib/Utils/link-preview.d.ts.map +0 -1
  270. package/lib/Utils/link-preview.js.map +0 -1
  271. package/lib/Utils/logger.d.ts +0 -12
  272. package/lib/Utils/logger.d.ts.map +0 -1
  273. package/lib/Utils/logger.js.map +0 -1
  274. package/lib/Utils/lt-hash.d.ts +0 -8
  275. package/lib/Utils/lt-hash.d.ts.map +0 -1
  276. package/lib/Utils/lt-hash.js.map +0 -1
  277. package/lib/Utils/make-mutex.d.ts +0 -9
  278. package/lib/Utils/make-mutex.d.ts.map +0 -1
  279. package/lib/Utils/make-mutex.js.map +0 -1
  280. package/lib/Utils/message-retry-manager.d.ts +0 -115
  281. package/lib/Utils/message-retry-manager.d.ts.map +0 -1
  282. package/lib/Utils/message-retry-manager.js.map +0 -1
  283. package/lib/Utils/messages-media.d.ts +0 -133
  284. package/lib/Utils/messages-media.d.ts.map +0 -1
  285. package/lib/Utils/messages-media.js.map +0 -1
  286. package/lib/Utils/messages.d.ts +0 -91
  287. package/lib/Utils/messages.d.ts.map +0 -1
  288. package/lib/Utils/messages.js.map +0 -1
  289. package/lib/Utils/noise-handler.d.ts +0 -20
  290. package/lib/Utils/noise-handler.d.ts.map +0 -1
  291. package/lib/Utils/noise-handler.js.map +0 -1
  292. package/lib/Utils/offline-node-processor.d.ts +0 -17
  293. package/lib/Utils/offline-node-processor.d.ts.map +0 -1
  294. package/lib/Utils/offline-node-processor.js +0 -40
  295. package/lib/Utils/offline-node-processor.js.map +0 -1
  296. package/lib/Utils/pre-key-manager.d.ts +0 -28
  297. package/lib/Utils/pre-key-manager.d.ts.map +0 -1
  298. package/lib/Utils/pre-key-manager.js +0 -106
  299. package/lib/Utils/pre-key-manager.js.map +0 -1
  300. package/lib/Utils/process-message.d.ts +0 -60
  301. package/lib/Utils/process-message.d.ts.map +0 -1
  302. package/lib/Utils/process-message.js.map +0 -1
  303. package/lib/Utils/reporting-utils.d.ts +0 -11
  304. package/lib/Utils/reporting-utils.d.ts.map +0 -1
  305. package/lib/Utils/reporting-utils.js +0 -258
  306. package/lib/Utils/reporting-utils.js.map +0 -1
  307. package/lib/Utils/rich-message-utils.js +0 -387
  308. package/lib/Utils/signal.d.ts +0 -47
  309. package/lib/Utils/signal.d.ts.map +0 -1
  310. package/lib/Utils/signal.js.map +0 -1
  311. package/lib/Utils/stanza-ack.d.ts +0 -11
  312. package/lib/Utils/stanza-ack.d.ts.map +0 -1
  313. package/lib/Utils/stanza-ack.js +0 -38
  314. package/lib/Utils/stanza-ack.js.map +0 -1
  315. package/lib/Utils/sync-action-utils.d.ts +0 -19
  316. package/lib/Utils/sync-action-utils.d.ts.map +0 -1
  317. package/lib/Utils/sync-action-utils.js +0 -49
  318. package/lib/Utils/sync-action-utils.js.map +0 -1
  319. package/lib/Utils/tc-token-utils.d.ts +0 -37
  320. package/lib/Utils/tc-token-utils.d.ts.map +0 -1
  321. package/lib/Utils/tc-token-utils.js +0 -163
  322. package/lib/Utils/tc-token-utils.js.map +0 -1
  323. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  324. package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
  325. package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
  326. package/lib/Utils/validate-connection.d.ts +0 -11
  327. package/lib/Utils/validate-connection.d.ts.map +0 -1
  328. package/lib/Utils/validate-connection.js.map +0 -1
  329. package/lib/Utils/youtube.js +0 -44
  330. package/lib/WABinary/constants.d.ts +0 -28
  331. package/lib/WABinary/constants.d.ts.map +0 -1
  332. package/lib/WABinary/constants.js.map +0 -1
  333. package/lib/WABinary/decode.d.ts +0 -7
  334. package/lib/WABinary/decode.d.ts.map +0 -1
  335. package/lib/WABinary/decode.js.map +0 -1
  336. package/lib/WABinary/encode.d.ts +0 -3
  337. package/lib/WABinary/encode.d.ts.map +0 -1
  338. package/lib/WABinary/encode.js.map +0 -1
  339. package/lib/WABinary/generic-utils.d.ts +0 -15
  340. package/lib/WABinary/generic-utils.d.ts.map +0 -1
  341. package/lib/WABinary/generic-utils.js.map +0 -1
  342. package/lib/WABinary/index.d.ts +0 -6
  343. package/lib/WABinary/index.d.ts.map +0 -1
  344. package/lib/WABinary/index.js.map +0 -1
  345. package/lib/WABinary/jid-utils.d.ts +0 -48
  346. package/lib/WABinary/jid-utils.d.ts.map +0 -1
  347. package/lib/WABinary/jid-utils.js.map +0 -1
  348. package/lib/WABinary/types.d.ts +0 -19
  349. package/lib/WABinary/types.d.ts.map +0 -1
  350. package/lib/WABinary/types.js.map +0 -1
  351. package/lib/WAM/BinaryInfo.d.ts +0 -9
  352. package/lib/WAM/BinaryInfo.d.ts.map +0 -1
  353. package/lib/WAM/BinaryInfo.js.map +0 -1
  354. package/lib/WAM/constants.d.ts +0 -40
  355. package/lib/WAM/constants.d.ts.map +0 -1
  356. package/lib/WAM/constants.js.map +0 -1
  357. package/lib/WAM/encode.d.ts +0 -3
  358. package/lib/WAM/encode.d.ts.map +0 -1
  359. package/lib/WAM/encode.js.map +0 -1
  360. package/lib/WAM/index.d.ts +0 -4
  361. package/lib/WAM/index.d.ts.map +0 -1
  362. package/lib/WAM/index.js.map +0 -1
  363. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  364. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
  365. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
  366. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -23
  367. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
  368. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
  369. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -13
  370. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
  371. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
  372. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -13
  373. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
  374. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
  375. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  376. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  377. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  378. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
  379. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -26
  380. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
  381. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
  382. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -10
  383. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
  384. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
  385. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  386. package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
  387. package/lib/WAUSync/Protocols/index.js.map +0 -1
  388. package/lib/WAUSync/USyncQuery.d.ts +0 -30
  389. package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
  390. package/lib/WAUSync/USyncQuery.js.map +0 -1
  391. package/lib/WAUSync/USyncUser.d.ts +0 -17
  392. package/lib/WAUSync/USyncUser.d.ts.map +0 -1
  393. package/lib/WAUSync/USyncUser.js.map +0 -1
  394. package/lib/WAUSync/index.d.ts +0 -4
  395. package/lib/WAUSync/index.d.ts.map +0 -1
  396. package/lib/WAUSync/index.js.map +0 -1
  397. package/lib/index.d.ts +0 -12
  398. package/lib/index.d.ts.map +0 -1
  399. package/lib/index.js.map +0 -1
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.isWABusinessPlatform = exports.getCodeFromWSError = exports.getCallStatusFromNode = exports.getErrorCodeFromStreamError = exports.getStatusFromReceiptType = exports.generateMdTagPrefix = exports.fetchLatestWaWebVersion = exports.fetchLatestBaileysVersion = exports.printQRIfNecessaryListener = exports.bindWaitForConnectionUpdate = exports.generateMessageID = exports.generateMessageIDV2 = exports.delayCancellable = exports.delay = exports.debouncedTimeout = exports.unixTimestampSeconds = exports.toNumber = exports.encodeBigEndian = exports.generateRegistrationId = exports.encodeNewsletterMessage = exports.encodeWAMessage = exports.unpadRandomMax16 = exports.writeRandomPadMax16 = exports.getKeyAuthor = exports.BufferJSON = exports.getPlatformId = exports.Browsers = void 0;
39
+ exports.isWABusinessPlatform = exports.getCodeFromWSError = exports.getCallStatusFromNode = exports.getErrorCodeFromStreamError = exports.getStatusFromReceiptType = exports.generateMdTagPrefix = exports.fetchLatestWaWebVersion = exports.fetchLatestelainaVersion = exports.fetchLatestBaileysVersion = exports.printQRIfNecessaryListener = exports.bindWaitForConnectionUpdate = exports.generateMessageID = exports.generateMessageIDV2 = exports.delayCancellable = exports.delay = exports.debouncedTimeout = exports.unixTimestampSeconds = exports.toNumber = exports.encodeBigEndian = exports.generateRegistrationId = exports.encodeNewsletterMessage = exports.encodeWAMessage = exports.unpadRandomMax16 = exports.writeRandomPadMax16 = exports.getKeyAuthor = exports.BufferJSON = exports.getPlatformId = exports.Browsers = void 0;
40
40
  exports.promiseTimeout = promiseTimeout;
41
41
  exports.bindWaitForEvent = bindWaitForEvent;
42
42
  exports.trimUndefined = trimUndefined;
@@ -46,7 +46,7 @@ const axios_1 = __importDefault(require("axios"));
46
46
  const crypto_1 = require("crypto");
47
47
  const os_1 = require("os");
48
48
  const WAProto_1 = require("../../WAProto");
49
- const baileys_version_json_1 = require("../Defaults/baileys-version.json");
49
+ const elaina_version_json_1 = require("../Defaults/elaina-version.json");
50
50
  const Types_1 = require("../Types");
51
51
  const WABinary_1 = require("../WABinary");
52
52
  const COMPANION_PLATFORM_MAP = {
@@ -258,27 +258,51 @@ const printQRIfNecessaryListener = (ev, logger) => {
258
258
  });
259
259
  };
260
260
  exports.printQRIfNecessaryListener = printQRIfNecessaryListener;
261
- const fetchLatestBaileysVersion = async (options = {}) => {
262
- const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
261
+
262
+ const fetchLatestelainaVersion = async (options = {}) => {
263
263
  try {
264
- const result = await axios_1.default.get(URL, {
264
+ const { data } = await axios_1.default.get('https://registry.npmjs.org/elaina', {
265
265
  ...options,
266
266
  responseType: 'json'
267
267
  });
268
+ const versionStr = data.version;
269
+ const [major, minor, patch] = versionStr.split('.').map(Number);
268
270
  return {
269
- version: result.data.version,
271
+ version: [major, minor, patch],
270
272
  isLatest: true
271
273
  };
274
+ } catch (error) {
275
+ return {
276
+ version: elaina_version_json_1.version,
277
+ isLatest: false,
278
+ error
279
+ };
272
280
  }
273
- catch (error) {
281
+ };
282
+ exports.fetchLatestelainaVersion = fetchLatestelainaVersion;
283
+
284
+ const fetchLatestBaileysVersion = async (options = {}) => {
285
+ try {
286
+ const { data } = await axios_1.default.get('https://registry.npmjs.org/elaina', {
287
+ ...options,
288
+ responseType: 'json'
289
+ });
290
+ const versionStr = data.version;
291
+ const [major, minor, patch] = versionStr.split('.').map(Number);
292
+ return {
293
+ version: [major, minor, patch],
294
+ isLatest: true
295
+ };
296
+ } catch (error) {
274
297
  return {
275
- version: baileys_version_json_1.version,
298
+ version: elaina_version_json_1.version,
276
299
  isLatest: false,
277
300
  error
278
301
  };
279
302
  }
280
303
  };
281
304
  exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
305
+
282
306
  /**
283
307
  * A utility that fetches the latest web version of whatsapp.
284
308
  * Use to ensure your WA connection is always on the latest version
@@ -293,7 +317,7 @@ const fetchLatestWaWebVersion = async (options) => {
293
317
  const match = data.match(regex);
294
318
  if (!(match === null || match === void 0 ? void 0 : match[1])) {
295
319
  return {
296
- version: baileys_version_json_1.version,
320
+ version: elaina_version_json_1.version,
297
321
  isLatest: false,
298
322
  error: {
299
323
  message: 'Could not find client revision in the fetched content'
@@ -308,7 +332,7 @@ const fetchLatestWaWebVersion = async (options) => {
308
332
  }
309
333
  catch (error) {
310
334
  return {
311
- version: baileys_version_json_1.version,
335
+ version: elaina_version_json_1.version,
312
336
  isLatest: false,
313
337
  error
314
338
  };
@@ -439,3 +463,5 @@ function bytesToCrockford(buffer) {
439
463
  }
440
464
  return crockford.join('');
441
465
  }
466
+ exports.trimUndefined = trimUndefined;
467
+ exports.bytesToCrockford = bytesToCrockford;
@@ -26,8 +26,10 @@ __exportStar(require("./history"), exports);
26
26
  __exportStar(require("./chat-utils"), exports);
27
27
  __exportStar(require("./lt-hash"), exports);
28
28
  __exportStar(require("./auth-utils"), exports);
29
- __exportStar(require("./baileys-event-stream"), exports);
29
+ __exportStar(require("./elaina-event-stream"), exports);
30
30
  __exportStar(require("./use-multi-file-auth-state"), exports);
31
31
  __exportStar(require("./link-preview"), exports);
32
32
  __exportStar(require("./event-buffer"), exports);
33
33
  __exportStar(require("./process-message"), exports);
34
+ __exportStar(require("./message-retry-manager"), exports);
35
+ __exportStar(require("./browser-utils"), exports);
@@ -1,64 +1,32 @@
1
- import { LRUCache } from 'lru-cache';
2
- /** Number of sent messages to cache in memory for handling retry receipts */
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageRetryManager = void 0;
4
+
5
+ const lru_cache_1 = require("lru-cache");
6
+
3
7
  const RECENT_MESSAGES_SIZE = 512;
4
- const MESSAGE_KEY_SEPARATOR = '\u0000';
5
- /** Timeout for session recreation - 1 hour */
6
- const RECREATE_SESSION_TIMEOUT = 60 * 60 * 1000; // 1 hour in milliseconds
8
+
9
+ const RECREATE_SESSION_TIMEOUT = 60 * 60 * 1000;
10
+
7
11
  const PHONE_REQUEST_DELAY = 3000;
8
- // Retry reason codes matching WhatsApp Web's Signal error codes.
9
- export var RetryReason;
10
- (function (RetryReason) {
11
- RetryReason[RetryReason["UnknownError"] = 0] = "UnknownError";
12
- RetryReason[RetryReason["SignalErrorNoSession"] = 1] = "SignalErrorNoSession";
13
- RetryReason[RetryReason["SignalErrorInvalidKey"] = 2] = "SignalErrorInvalidKey";
14
- RetryReason[RetryReason["SignalErrorInvalidKeyId"] = 3] = "SignalErrorInvalidKeyId";
15
- /** MAC verification failed - most common cause of decryption failures */
16
- RetryReason[RetryReason["SignalErrorInvalidMessage"] = 4] = "SignalErrorInvalidMessage";
17
- RetryReason[RetryReason["SignalErrorInvalidSignature"] = 5] = "SignalErrorInvalidSignature";
18
- RetryReason[RetryReason["SignalErrorFutureMessage"] = 6] = "SignalErrorFutureMessage";
19
- /** Explicit MAC failure - session is definitely out of sync */
20
- RetryReason[RetryReason["SignalErrorBadMac"] = 7] = "SignalErrorBadMac";
21
- RetryReason[RetryReason["SignalErrorInvalidSession"] = 8] = "SignalErrorInvalidSession";
22
- RetryReason[RetryReason["SignalErrorInvalidMsgKey"] = 9] = "SignalErrorInvalidMsgKey";
23
- RetryReason[RetryReason["BadBroadcastEphemeralSetting"] = 10] = "BadBroadcastEphemeralSetting";
24
- RetryReason[RetryReason["UnknownCompanionNoPrekey"] = 11] = "UnknownCompanionNoPrekey";
25
- RetryReason[RetryReason["AdvFailure"] = 12] = "AdvFailure";
26
- RetryReason[RetryReason["StatusRevokeDelay"] = 13] = "StatusRevokeDelay";
27
- })(RetryReason || (RetryReason = {}));
28
- /** Error codes that indicate a MAC failure and require immediate session recreation */
29
- const MAC_ERROR_CODES = new Set([RetryReason.SignalErrorInvalidMessage, RetryReason.SignalErrorBadMac]);
30
- export class MessageRetryManager {
12
+
13
+ class MessageRetryManager {
31
14
  constructor(logger, maxMsgRetryCount) {
32
15
  this.logger = logger;
33
- this.recentMessagesMap = new LRUCache({
34
- max: RECENT_MESSAGES_SIZE,
35
- ttl: 5 * 60 * 1000,
36
- ttlAutopurge: true,
37
- dispose: (_value, key) => {
38
- const separatorIndex = key.lastIndexOf(MESSAGE_KEY_SEPARATOR);
39
- if (separatorIndex > -1) {
40
- const messageId = key.slice(separatorIndex + MESSAGE_KEY_SEPARATOR.length);
41
- this.messageKeyIndex.delete(messageId);
42
- }
43
- }
16
+ this.maxMsgRetryCount = maxMsgRetryCount;
17
+ this._recentMessagesMap = new lru_cache_1.LRUCache({
18
+ max: RECENT_MESSAGES_SIZE
44
19
  });
45
- this.messageKeyIndex = new Map();
46
- this.sessionRecreateHistory = new LRUCache({
20
+ this._sessionRecreateHistory = new lru_cache_1.LRUCache({
47
21
  ttl: RECREATE_SESSION_TIMEOUT * 2,
48
22
  ttlAutopurge: true
49
23
  });
50
- this.retryCounters = new LRUCache({
24
+ this._retryCounters = new lru_cache_1.LRUCache({
51
25
  ttl: 15 * 60 * 1000,
52
26
  ttlAutopurge: true,
53
27
  updateAgeOnGet: true
54
- }); // 15 minutes TTL
55
- this.baseKeys = new LRUCache({
56
- max: 1024,
57
- ttl: 15 * 60 * 1000,
58
- ttlAutopurge: true
59
28
  });
60
- this.pendingPhoneRequests = {};
61
- this.maxMsgRetryCount = 5;
29
+ this._pendingPhoneRequests = {};
62
30
  this.statistics = {
63
31
  totalRetries: 0,
64
32
  successfulRetries: 0,
@@ -69,57 +37,36 @@ export class MessageRetryManager {
69
37
  };
70
38
  this.maxMsgRetryCount = maxMsgRetryCount;
71
39
  }
72
- /**
73
- * Add a recent message to the cache for retry handling
74
- */
75
40
  addRecentMessage(to, id, message) {
76
41
  const key = { to, id };
77
- const keyStr = this.keyToString(key);
78
- // Add new message
79
- this.recentMessagesMap.set(keyStr, {
42
+ const keyStr = this._keyToString(key);
43
+ this._recentMessagesMap.set(keyStr, {
80
44
  message,
81
45
  timestamp: Date.now()
82
46
  });
83
- this.messageKeyIndex.set(id, keyStr);
84
47
  this.logger.debug(`Added message to retry cache: ${to}/${id}`);
85
48
  }
86
- /**
87
- * Get a recent message from the cache
88
- */
89
49
  getRecentMessage(to, id) {
90
50
  const key = { to, id };
91
- const keyStr = this.keyToString(key);
92
- return this.recentMessagesMap.get(keyStr);
51
+ const keyStr = this._keyToString(key);
52
+ return this._recentMessagesMap.get(keyStr);
93
53
  }
94
- /**
95
- * Check if a session should be recreated based on retry count, history, and error code.
96
- * MAC errors (codes 4 and 7) trigger immediate session recreation regardless of timeout.
97
- */
98
- shouldRecreateSession(jid, hasSession, errorCode) {
99
- // If we don't have a session, always recreate
54
+ shouldRecreateSession(jid, retryCount, hasSession) {
100
55
  if (!hasSession) {
101
- this.sessionRecreateHistory.set(jid, Date.now());
56
+ this._sessionRecreateHistory.set(jid, Date.now());
102
57
  this.statistics.sessionRecreations++;
103
58
  return {
104
59
  reason: "we don't have a Signal session with them",
105
60
  recreate: true
106
61
  };
107
62
  }
108
- // IMMEDIATE recreation for MAC errors - session is definitely out of sync
109
- if (errorCode !== undefined && MAC_ERROR_CODES.has(errorCode)) {
110
- this.sessionRecreateHistory.set(jid, Date.now());
111
- this.statistics.sessionRecreations++;
112
- this.logger.warn({ jid, errorCode: RetryReason[errorCode] }, 'MAC error detected, forcing immediate session recreation');
113
- return {
114
- reason: `MAC error (code ${errorCode}: ${RetryReason[errorCode]}), immediate session recreation`,
115
- recreate: true
116
- };
63
+ if (retryCount < 2) {
64
+ return { reason: '', recreate: false };
117
65
  }
118
66
  const now = Date.now();
119
- const prevTime = this.sessionRecreateHistory.get(jid);
120
- // If no previous recreation or it's been more than an hour
67
+ const prevTime = this._sessionRecreateHistory.get(jid);
121
68
  if (!prevTime || now - prevTime > RECREATE_SESSION_TIMEOUT) {
122
- this.sessionRecreateHistory.set(jid, now);
69
+ this._sessionRecreateHistory.set(jid, now);
123
70
  this.statistics.sessionRecreations++;
124
71
  return {
125
72
  reason: 'retry count > 1 and over an hour since last recreation',
@@ -128,138 +75,54 @@ export class MessageRetryManager {
128
75
  }
129
76
  return { reason: '', recreate: false };
130
77
  }
131
- /**
132
- * Parse error code from retry receipt's retry node.
133
- * Returns undefined if no error code is present.
134
- */
135
- parseRetryErrorCode(errorAttr) {
136
- if (errorAttr === undefined || errorAttr === '') {
137
- return undefined;
138
- }
139
- const code = parseInt(errorAttr, 10);
140
- if (Number.isNaN(code)) {
141
- return undefined;
142
- }
143
- // Validate it's a known RetryReason
144
- if (code >= RetryReason.UnknownError && code <= RetryReason.StatusRevokeDelay) {
145
- return code;
146
- }
147
- return RetryReason.UnknownError;
148
- }
149
- /**
150
- * Check if an error code indicates a MAC failure
151
- */
152
- isMacError(errorCode) {
153
- return errorCode !== undefined && MAC_ERROR_CODES.has(errorCode);
154
- }
155
- /**
156
- * Increment retry counter for a message
157
- */
158
78
  incrementRetryCount(messageId) {
159
- this.retryCounters.set(messageId, (this.retryCounters.get(messageId) || 0) + 1);
79
+ this._retryCounters.set(messageId, (this._retryCounters.get(messageId) || 0) + 1);
160
80
  this.statistics.totalRetries++;
161
- return this.retryCounters.get(messageId);
81
+ return this._retryCounters.get(messageId);
162
82
  }
163
- /**
164
- * Get retry count for a message
165
- */
166
83
  getRetryCount(messageId) {
167
- return this.retryCounters.get(messageId) || 0;
84
+ return this._retryCounters.get(messageId) || 0;
168
85
  }
169
- /**
170
- * Check if message has exceeded maximum retry attempts
171
- */
172
86
  hasExceededMaxRetries(messageId) {
173
87
  return this.getRetryCount(messageId) >= this.maxMsgRetryCount;
174
88
  }
175
- /**
176
- * Mark retry as successful
177
- */
178
89
  markRetrySuccess(messageId) {
179
90
  this.statistics.successfulRetries++;
180
- // Clean up retry counter for successful message
181
- this.retryCounters.delete(messageId);
182
- this.cancelPendingPhoneRequest(messageId);
183
- this.removeRecentMessage(messageId);
91
+ this._retryCounters.delete(messageId);
92
+ this._cancelPendingPhoneRequest(messageId);
184
93
  }
185
- /**
186
- * Mark retry as failed
187
- */
188
94
  markRetryFailed(messageId) {
189
95
  this.statistics.failedRetries++;
190
- this.retryCounters.delete(messageId);
191
- this.cancelPendingPhoneRequest(messageId);
192
- this.removeRecentMessage(messageId);
96
+ this._retryCounters.delete(messageId);
193
97
  }
194
- /**
195
- * Schedule a phone request with delay
196
- */
197
98
  schedulePhoneRequest(messageId, callback, delay = PHONE_REQUEST_DELAY) {
198
- // Cancel any existing request for this message
199
- this.cancelPendingPhoneRequest(messageId);
200
- this.pendingPhoneRequests[messageId] = setTimeout(() => {
201
- delete this.pendingPhoneRequests[messageId];
99
+ this._cancelPendingPhoneRequest(messageId);
100
+ this._pendingPhoneRequests[messageId] = setTimeout(() => {
101
+ delete this._pendingPhoneRequests[messageId];
202
102
  this.statistics.phoneRequests++;
203
103
  callback();
204
104
  }, delay);
205
105
  this.logger.debug(`Scheduled phone request for message ${messageId} with ${delay}ms delay`);
206
106
  }
207
- /**
208
- * Cancel pending phone request
209
- */
210
107
  cancelPendingPhoneRequest(messageId) {
211
- const timeout = this.pendingPhoneRequests[messageId];
108
+ const timeout = this._pendingPhoneRequests[messageId];
212
109
  if (timeout) {
213
110
  clearTimeout(timeout);
214
- delete this.pendingPhoneRequests[messageId];
111
+ delete this._pendingPhoneRequests[messageId];
215
112
  this.logger.debug(`Cancelled pending phone request for message ${messageId}`);
216
113
  }
217
114
  }
218
- clear() {
219
- this.recentMessagesMap.clear();
220
- this.messageKeyIndex.clear();
221
- this.sessionRecreateHistory.clear();
222
- this.retryCounters.clear();
223
- this.baseKeys.clear();
224
- for (const messageId of Object.keys(this.pendingPhoneRequests)) {
225
- this.cancelPendingPhoneRequest(messageId);
226
- }
227
- this.statistics = {
228
- totalRetries: 0,
229
- successfulRetries: 0,
230
- failedRetries: 0,
231
- mediaRetries: 0,
232
- sessionRecreations: 0,
233
- phoneRequests: 0
234
- };
115
+ _keyToString(key) {
116
+ return `${key.to}:${key.id}`;
235
117
  }
236
- saveBaseKey(addr, msgId, baseKey) {
237
- this.baseKeys.set(`${addr}:${msgId}`, baseKey);
238
- }
239
- hasSameBaseKey(addr, msgId, baseKey) {
240
- const stored = this.baseKeys.get(`${addr}:${msgId}`);
241
- if (!stored || stored.length !== baseKey.length) {
242
- return false;
243
- }
244
- for (let i = 0; i < stored.length; i++) {
245
- if (stored[i] !== baseKey[i])
246
- return false;
247
- }
248
- return true;
249
- }
250
- deleteBaseKey(addr, msgId) {
251
- this.baseKeys.delete(`${addr}:${msgId}`);
252
- }
253
- keyToString(key) {
254
- return `${key.to}${MESSAGE_KEY_SEPARATOR}${key.id}`;
255
- }
256
- removeRecentMessage(messageId) {
257
- const keyStr = this.messageKeyIndex.get(messageId);
258
- if (!keyStr) {
259
- return;
118
+ _cancelPendingPhoneRequest(messageId) {
119
+ const timeout = this._pendingPhoneRequests[messageId];
120
+ if (timeout) {
121
+ clearTimeout(timeout);
122
+ delete this._pendingPhoneRequests[messageId];
123
+ this.logger.debug(`Cancelled pending phone request for message ${messageId}`);
260
124
  }
261
- this.recentMessagesMap.delete(keyStr);
262
- this.messageKeyIndex.delete(messageId);
263
125
  }
264
126
  }
265
- //# sourceMappingURL=message-retry-manager.js.map
127
+
128
+ exports.MessageRetryManager = MessageRetryManager;