@ubedsockets/baileys 1.6.8 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) 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 +745 -221
  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/Signal.d.ts +0 -87
  209. package/lib/Types/Signal.d.ts.map +0 -1
  210. package/lib/Types/Signal.js.map +0 -1
  211. package/lib/Types/Socket.d.ts +0 -136
  212. package/lib/Types/Socket.d.ts.map +0 -1
  213. package/lib/Types/Socket.js.map +0 -1
  214. package/lib/Types/State.d.ts +0 -97
  215. package/lib/Types/State.d.ts.map +0 -1
  216. package/lib/Types/State.js.map +0 -1
  217. package/lib/Types/USync.d.ts +0 -26
  218. package/lib/Types/USync.d.ts.map +0 -1
  219. package/lib/Types/USync.js.map +0 -1
  220. package/lib/Types/index.d.ts +0 -65
  221. package/lib/Types/index.d.ts.map +0 -1
  222. package/lib/Types/index.js.map +0 -1
  223. package/lib/Utils/Tiktok.js +0 -80
  224. package/lib/Utils/auth-utils.d.ts +0 -24
  225. package/lib/Utils/auth-utils.d.ts.map +0 -1
  226. package/lib/Utils/auth-utils.js.map +0 -1
  227. package/lib/Utils/browser-utils.d.ts +0 -4
  228. package/lib/Utils/browser-utils.d.ts.map +0 -1
  229. package/lib/Utils/browser-utils.js.map +0 -1
  230. package/lib/Utils/business.d.ts +0 -23
  231. package/lib/Utils/business.d.ts.map +0 -1
  232. package/lib/Utils/business.js.map +0 -1
  233. package/lib/Utils/chaanel/vyzen.js +0 -0
  234. package/lib/Utils/chat-utils.d.ts +0 -100
  235. package/lib/Utils/chat-utils.d.ts.map +0 -1
  236. package/lib/Utils/chat-utils.js.map +0 -1
  237. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  238. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  239. package/lib/Utils/companion-reg-client-utils.js +0 -35
  240. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  241. package/lib/Utils/crypto.d.ts +0 -37
  242. package/lib/Utils/crypto.d.ts.map +0 -1
  243. package/lib/Utils/crypto.js.map +0 -1
  244. package/lib/Utils/decode-wa-message.d.ts +0 -66
  245. package/lib/Utils/decode-wa-message.d.ts.map +0 -1
  246. package/lib/Utils/decode-wa-message.js.map +0 -1
  247. package/lib/Utils/event-buffer.d.ts +0 -36
  248. package/lib/Utils/event-buffer.d.ts.map +0 -1
  249. package/lib/Utils/event-buffer.js.map +0 -1
  250. package/lib/Utils/facebook.js +0 -48
  251. package/lib/Utils/generics.d.ts +0 -91
  252. package/lib/Utils/generics.d.ts.map +0 -1
  253. package/lib/Utils/generics.js.map +0 -1
  254. package/lib/Utils/history.d.ts +0 -24
  255. package/lib/Utils/history.d.ts.map +0 -1
  256. package/lib/Utils/history.js.map +0 -1
  257. package/lib/Utils/identity-change-handler.d.ts +0 -44
  258. package/lib/Utils/identity-change-handler.d.ts.map +0 -1
  259. package/lib/Utils/identity-change-handler.js +0 -50
  260. package/lib/Utils/identity-change-handler.js.map +0 -1
  261. package/lib/Utils/index.d.ts +0 -22
  262. package/lib/Utils/index.d.ts.map +0 -1
  263. package/lib/Utils/index.js.map +0 -1
  264. package/lib/Utils/instagram.js +0 -50
  265. package/lib/Utils/link-preview.d.ts +0 -21
  266. package/lib/Utils/link-preview.d.ts.map +0 -1
  267. package/lib/Utils/link-preview.js.map +0 -1
  268. package/lib/Utils/logger.d.ts +0 -12
  269. package/lib/Utils/logger.d.ts.map +0 -1
  270. package/lib/Utils/logger.js.map +0 -1
  271. package/lib/Utils/lt-hash.d.ts +0 -8
  272. package/lib/Utils/lt-hash.d.ts.map +0 -1
  273. package/lib/Utils/lt-hash.js.map +0 -1
  274. package/lib/Utils/make-mutex.d.ts +0 -9
  275. package/lib/Utils/make-mutex.d.ts.map +0 -1
  276. package/lib/Utils/make-mutex.js.map +0 -1
  277. package/lib/Utils/message-retry-manager.d.ts +0 -115
  278. package/lib/Utils/message-retry-manager.d.ts.map +0 -1
  279. package/lib/Utils/message-retry-manager.js.map +0 -1
  280. package/lib/Utils/messages-media.d.ts +0 -133
  281. package/lib/Utils/messages-media.d.ts.map +0 -1
  282. package/lib/Utils/messages-media.js.map +0 -1
  283. package/lib/Utils/messages.d.ts +0 -91
  284. package/lib/Utils/messages.d.ts.map +0 -1
  285. package/lib/Utils/messages.js.map +0 -1
  286. package/lib/Utils/noise-handler.d.ts +0 -20
  287. package/lib/Utils/noise-handler.d.ts.map +0 -1
  288. package/lib/Utils/noise-handler.js.map +0 -1
  289. package/lib/Utils/offline-node-processor.d.ts +0 -17
  290. package/lib/Utils/offline-node-processor.d.ts.map +0 -1
  291. package/lib/Utils/offline-node-processor.js +0 -40
  292. package/lib/Utils/offline-node-processor.js.map +0 -1
  293. package/lib/Utils/pre-key-manager.d.ts +0 -28
  294. package/lib/Utils/pre-key-manager.d.ts.map +0 -1
  295. package/lib/Utils/pre-key-manager.js +0 -106
  296. package/lib/Utils/pre-key-manager.js.map +0 -1
  297. package/lib/Utils/process-message.d.ts +0 -60
  298. package/lib/Utils/process-message.d.ts.map +0 -1
  299. package/lib/Utils/process-message.js.map +0 -1
  300. package/lib/Utils/reporting-utils.d.ts +0 -11
  301. package/lib/Utils/reporting-utils.d.ts.map +0 -1
  302. package/lib/Utils/reporting-utils.js +0 -258
  303. package/lib/Utils/reporting-utils.js.map +0 -1
  304. package/lib/Utils/signal.d.ts +0 -47
  305. package/lib/Utils/signal.d.ts.map +0 -1
  306. package/lib/Utils/signal.js.map +0 -1
  307. package/lib/Utils/stanza-ack.d.ts +0 -11
  308. package/lib/Utils/stanza-ack.d.ts.map +0 -1
  309. package/lib/Utils/stanza-ack.js +0 -38
  310. package/lib/Utils/stanza-ack.js.map +0 -1
  311. package/lib/Utils/sync-action-utils.d.ts +0 -19
  312. package/lib/Utils/sync-action-utils.d.ts.map +0 -1
  313. package/lib/Utils/sync-action-utils.js +0 -49
  314. package/lib/Utils/sync-action-utils.js.map +0 -1
  315. package/lib/Utils/tc-token-utils.d.ts +0 -37
  316. package/lib/Utils/tc-token-utils.d.ts.map +0 -1
  317. package/lib/Utils/tc-token-utils.js +0 -163
  318. package/lib/Utils/tc-token-utils.js.map +0 -1
  319. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  320. package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
  321. package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
  322. package/lib/Utils/validate-connection.d.ts +0 -11
  323. package/lib/Utils/validate-connection.d.ts.map +0 -1
  324. package/lib/Utils/validate-connection.js.map +0 -1
  325. package/lib/Utils/youtube.js +0 -44
  326. package/lib/WABinary/constants.d.ts +0 -28
  327. package/lib/WABinary/constants.d.ts.map +0 -1
  328. package/lib/WABinary/constants.js.map +0 -1
  329. package/lib/WABinary/decode.d.ts +0 -7
  330. package/lib/WABinary/decode.d.ts.map +0 -1
  331. package/lib/WABinary/decode.js.map +0 -1
  332. package/lib/WABinary/encode.d.ts +0 -3
  333. package/lib/WABinary/encode.d.ts.map +0 -1
  334. package/lib/WABinary/encode.js.map +0 -1
  335. package/lib/WABinary/generic-utils.d.ts +0 -15
  336. package/lib/WABinary/generic-utils.d.ts.map +0 -1
  337. package/lib/WABinary/generic-utils.js.map +0 -1
  338. package/lib/WABinary/index.d.ts +0 -6
  339. package/lib/WABinary/index.d.ts.map +0 -1
  340. package/lib/WABinary/index.js.map +0 -1
  341. package/lib/WABinary/jid-utils.d.ts +0 -48
  342. package/lib/WABinary/jid-utils.d.ts.map +0 -1
  343. package/lib/WABinary/jid-utils.js.map +0 -1
  344. package/lib/WABinary/types.d.ts +0 -19
  345. package/lib/WABinary/types.d.ts.map +0 -1
  346. package/lib/WABinary/types.js.map +0 -1
  347. package/lib/WAM/BinaryInfo.d.ts +0 -9
  348. package/lib/WAM/BinaryInfo.d.ts.map +0 -1
  349. package/lib/WAM/BinaryInfo.js.map +0 -1
  350. package/lib/WAM/constants.d.ts +0 -40
  351. package/lib/WAM/constants.d.ts.map +0 -1
  352. package/lib/WAM/constants.js.map +0 -1
  353. package/lib/WAM/encode.d.ts +0 -3
  354. package/lib/WAM/encode.d.ts.map +0 -1
  355. package/lib/WAM/encode.js.map +0 -1
  356. package/lib/WAM/index.d.ts +0 -4
  357. package/lib/WAM/index.d.ts.map +0 -1
  358. package/lib/WAM/index.js.map +0 -1
  359. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  360. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
  361. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
  362. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -23
  363. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
  364. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
  365. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -13
  366. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
  367. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
  368. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -13
  369. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
  370. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
  371. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  372. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  373. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  374. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
  375. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -26
  376. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
  377. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
  378. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -10
  379. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
  380. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
  381. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  382. package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
  383. package/lib/WAUSync/Protocols/index.js.map +0 -1
  384. package/lib/WAUSync/USyncQuery.d.ts +0 -30
  385. package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
  386. package/lib/WAUSync/USyncQuery.js.map +0 -1
  387. package/lib/WAUSync/USyncUser.d.ts +0 -17
  388. package/lib/WAUSync/USyncUser.d.ts.map +0 -1
  389. package/lib/WAUSync/USyncUser.js.map +0 -1
  390. package/lib/WAUSync/index.d.ts +0 -4
  391. package/lib/WAUSync/index.d.ts.map +0 -1
  392. package/lib/WAUSync/index.js.map +0 -1
  393. package/lib/index.d.ts +0 -12
  394. package/lib/index.d.ts.map +0 -1
  395. package/lib/index.js.map +0 -1
@@ -36,26 +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.getStatusCodeForMediaRetry =
40
- exports.decryptMediaRetryData =
41
- exports.decodeMediaRetryNode =
42
- exports.encryptMediaRetryRequest =
43
- exports.getWAUploadToServer =
44
- exports.downloadEncryptedContent =
45
- exports.downloadContentFromMessage =
46
- exports.getUrlFromDirectPath =
47
- exports.encryptedStream =
48
- exports.prepareStream =
49
- exports.getHttpStream =
50
- exports.getStream =
51
- exports.toBuffer =
52
- exports.toReadable =
53
- exports.mediaMessageSHA256B64 =
54
- exports.generateProfilePicture =
55
- exports.encodeBase64EncodedStringForUpload =
56
- exports.extractImageThumb =
57
- exports.extractVideoThumb =
58
- exports.hkdfInfoKey = void 0;
39
+ exports.getStatusCodeForMediaRetry = exports.decryptMediaRetryData = exports.decodeMediaRetryNode = exports.encryptMediaRetryRequest = exports.getWAUploadToServer = exports.downloadEncryptedContent = exports.downloadContentFromMessage = exports.getUrlFromDirectPath = exports.encryptedStream = exports.prepareStream = exports.getHttpStream = exports.getStream = exports.toBuffer = exports.toReadable = exports.mediaMessageSHA256B64 = exports.generateProfilePicture = exports.encodeBase64EncodedStringForUpload = exports.extractImageThumb = exports.extractVideoThumb = exports.hkdfInfoKey = void 0;
59
40
  exports.getMediaKeys = getMediaKeys;
60
41
  exports.uploadFile = uploadFile;
61
42
  exports.vid2jpg = vid2jpg;
@@ -63,7 +44,6 @@ exports.getAudioDuration = getAudioDuration;
63
44
  exports.getAudioWaveform = getAudioWaveform;
64
45
  exports.generateThumbnail = generateThumbnail;
65
46
  exports.extensionForMediaMessage = extensionForMediaMessage;
66
- // 🆅🆈🆉🅴🅽 🅱🅰🅸🅻
67
47
  const boom_1 = require("@hapi/boom");
68
48
  const axios_1 = __importDefault(require("axios"));
69
49
  const form_data_1 = __importDefault(require("form-data"));
@@ -369,173 +349,119 @@ const mediaMessageSHA256B64 = (message) => {
369
349
  };
370
350
  exports.mediaMessageSHA256B64 = mediaMessageSHA256B64;
371
351
  async function getAudioDuration(buffer) {
372
- try {
373
- const { PassThrough } = require('stream');
374
- const ff = require('fluent-ffmpeg');
375
-
376
- return await new Promise((resolve, reject) => {
377
- const inputStream = new PassThrough();
378
- inputStream.end(buffer);
379
-
380
- ff(inputStream)
381
- .ffprobe((err, data) => {
382
- if (err) reject(err);
383
- else resolve(data.format.duration);
384
- });
385
- });
386
- } catch (error) {
387
- const musicMetadata = await import('music-metadata');
388
- let metadata;
389
- if (Buffer.isBuffer(buffer)) {
390
- metadata = await musicMetadata.parseBuffer(buffer, undefined, {
391
- duration: true
392
- });
393
- } else if (typeof buffer === 'string') {
394
- const rStream = (0, fs_1.createReadStream)(buffer);
395
- try {
396
- metadata = await musicMetadata.parseStream(rStream, undefined, {
397
- duration: true
398
- });
399
- } finally {
400
- rStream.destroy();
401
- }
402
- } else {
403
- metadata = await musicMetadata.parseStream(buffer, undefined, {
404
- duration: true
405
- });
406
- }
407
- return metadata.format.duration;
352
+ const musicMetadata = await eval('import(\'music-metadata\')');
353
+ let metadata;
354
+ const options = {
355
+ duration: true
356
+ };
357
+ if (Buffer.isBuffer(buffer)) {
358
+ metadata = await musicMetadata.parseBuffer(buffer, options);
359
+ }
360
+ else if (typeof buffer === 'string') {
361
+ metadata = await musicMetadata.parseFile(buffer, options);
362
+ }
363
+ else {
364
+ metadata = await musicMetadata.parseStream(buffer, options);
408
365
  }
366
+ return metadata.format.duration;
409
367
  }
410
- exports.getAudioDuration = getAudioDuration;
368
+ const generateFallbackWaveform = (audioData) => {
369
+ const samples = 64;
370
+ const waveform = new Uint8Array(samples);
371
+ let seed = audioData.length;
372
+ for (let i = 0; i < Math.min(audioData.length, 100); i++) {
373
+ seed = (seed * 31 + audioData[i]) >>> 0;
374
+ }
375
+ const random = () => {
376
+ seed = (seed * 1664525 + 1013904223) >>> 0;
377
+ return (seed >>> 16) / 65536;
378
+ };
379
+ for (let i = 0; i < samples; i++) {
380
+ const position = i / samples;
381
+ const envelope = Math.sin(position * Math.PI);
382
+ const baseAmplitude = 30 + random() * 40;
383
+ waveform[i] = Math.min(100, Math.max(0, Math.floor(baseAmplitude * envelope)));
384
+ }
385
+ return waveform;
386
+ };
411
387
  async function getAudioWaveform(buffer, logger) {
388
+ let audioData;
389
+ if (Buffer.isBuffer(buffer)) {
390
+ audioData = buffer;
391
+ }
392
+ else if (typeof buffer === 'string') {
393
+ const rStream = (0, fs_1.createReadStream)(buffer);
394
+ audioData = await (0, exports.toBuffer)(rStream);
395
+ }
396
+ else {
397
+ audioData = await (0, exports.toBuffer)(buffer);
398
+ }
412
399
  try {
413
- const { PassThrough } = require('stream');
414
- const ff = require('fluent-ffmpeg');
415
-
416
- let audioData;
417
- if (Buffer.isBuffer(buffer)) {
418
- audioData = buffer;
419
- } else if (typeof buffer === 'string') {
420
- const rStream = require('fs').createReadStream(buffer);
421
- audioData = await exports.toBuffer(rStream);
422
- } else {
423
- audioData = await exports.toBuffer(buffer);
400
+ const { default: decoder } = await eval('import(\'audio-decode\')');
401
+ const audioBuffer = await decoder(audioData);
402
+ const rawData = audioBuffer.getChannelData(0);
403
+ const samples = 64;
404
+ const blockSize = Math.floor(rawData.length / samples);
405
+ const filteredData = [];
406
+ for (let i = 0; i < samples; i++) {
407
+ const blockStart = blockSize * i;
408
+ let sum = 0;
409
+ for (let j = 0; j < blockSize; j++) {
410
+ sum = sum + Math.abs(rawData[blockStart + j]);
411
+ }
412
+ filteredData.push(sum / blockSize);
424
413
  }
425
-
426
- return await new Promise((resolve, reject) => {
427
- const inputStream = new PassThrough();
428
- inputStream.end(audioData);
429
- const chunks = [];
430
- const bars = 64;
431
-
432
- ff(inputStream)
433
- .audioChannels(1)
434
- .audioFrequency(16000)
435
- .format('s16le')
436
- .on('error', reject)
437
- .on('end', () => {
438
- const rawData = Buffer.concat(chunks);
439
- const samples = rawData.length / 2;
440
- const amplitudes = [];
441
-
442
- for (let i = 0; i < samples; i++) {
443
- amplitudes.push(Math.abs(rawData.readInt16LE(i * 2)) / 32768);
444
- }
445
-
446
- const blockSize = Math.floor(amplitudes.length / bars);
447
- const avg = [];
448
- for (let i = 0; i < bars; i++) {
449
- const block = amplitudes.slice(i * blockSize, (i + 1) * blockSize);
450
- avg.push(block.reduce((a, b) => a + b, 0) / block.length);
451
- }
452
-
453
- const max = Math.max(...avg);
454
- const normalized = avg.map(v => Math.floor((v / max) * 100));
455
- resolve(new Uint8Array(normalized));
456
- })
457
- .pipe()
458
- .on('data', chunk => chunks.push(chunk));
459
- });
460
- } catch (e) {
461
- logger?.debug(e);
414
+ const multiplier = Math.pow(Math.max(...filteredData), -1);
415
+ const normalizedData = filteredData.map((n) => n * multiplier);
416
+ const waveform = new Uint8Array(normalizedData.map((n) => Math.floor(100 * n)));
417
+ return waveform;
462
418
  }
463
- }
464
- exports.getAudioWaveform = getAudioWaveform;
465
- async function convertToOpusBuffer(buffer, logger) {
466
- try {
467
- const { PassThrough } = require('stream');
468
- const ff = require('fluent-ffmpeg');
469
-
470
- return await new Promise((resolve, reject) => {
471
- const inStream = new PassThrough();
472
- const outStream = new PassThrough();
473
- const chunks = [];
474
- inStream.end(buffer);
475
-
476
- ff(inStream)
477
- .noVideo()
478
- .audioCodec('libopus')
479
- .format('ogg')
480
- .audioBitrate('48k')
481
- .audioChannels(1)
482
- .audioFrequency(48000)
483
- .outputOptions([
484
- '-vn',
485
- '-b:a 64k',
486
- '-ac 2',
487
- '-ar 48000',
488
- '-map_metadata', '-1',
489
- '-application', 'voip'
490
- ])
491
- .on('error', reject)
492
- .on('end', () => resolve(Buffer.concat(chunks)))
493
- .pipe(outStream, {
494
- end: true
495
- });
496
- outStream.on('data', c => chunks.push(c));
497
- });
498
- } catch (e) {
499
- logger?.debug(e);
500
- throw e;
419
+ catch (e) {
420
+ logger === null || logger === void 0 ? void 0 : logger.debug('Failed to generate waveform using audio-decode, using fallback: ' + e);
421
+ return generateFallbackWaveform(audioData);
501
422
  }
502
423
  }
503
- exports.convertToOpusBuffer = convertToOpusBuffer;
504
- async function convertToMp4Buffer(buffer, logger) {
505
- try {
506
- const { PassThrough } = require('stream');
507
- const ff = require('fluent-ffmpeg');
508
-
509
- return await new Promise((resolve, reject) => {
510
- const inStream = new PassThrough();
511
- const outStream = new PassThrough();
512
- const chunks = [];
513
-
514
- inStream.end(buffer);
515
-
516
- ff(inStream)
517
- .videoCodec('libx264')
518
- .audioCodec('aac')
519
- .format('mp4')
520
- .outputOptions([
521
- '-preset', 'veryfast',
522
- '-crf', '23',
523
- '-movflags', 'faststart',
524
- '-map_metadata', '-1'
525
- ])
526
- .on('error', reject)
527
- .on('end', () => resolve(Buffer.concat(chunks)))
528
- .pipe(outStream, { end: true });
529
-
530
- outStream.on('data', c => chunks.push(c));
531
- });
532
- } catch (e) {
533
- logger?.debug(e);
534
- throw e;
424
+ async function transcodeAudio(audio, options = {}) {
425
+ const { bitrate = '64k' } = options;
426
+ let audioData;
427
+ if (Buffer.isBuffer(audio)) {
428
+ audioData = audio;
429
+ }
430
+ else if (typeof audio === 'string') {
431
+ const rStream = (0, fs_1.createReadStream)(audio);
432
+ audioData = await (0, exports.toBuffer)(rStream);
535
433
  }
434
+ else {
435
+ audioData = await (0, exports.toBuffer)(audio);
436
+ }
437
+ return await new Promise((resolve, reject) => {
438
+ const ffmpeg = (0, child_process_1.spawn)('ffmpeg', [
439
+ '-i', 'pipe:0',
440
+ '-vn',
441
+ '-ac', '1',
442
+ '-c:a', 'libopus',
443
+ '-b:a', bitrate,
444
+ '-f', 'ogg',
445
+ 'pipe:1'
446
+ ]);
447
+ const chunks = [];
448
+ let errorOutput = '';
449
+ ffmpeg.stdout.on('data', chunk => chunks.push(chunk));
450
+ ffmpeg.stderr.on('data', data => {
451
+ errorOutput += data.toString();
452
+ });
453
+ ffmpeg.on('error', reject);
454
+ ffmpeg.on('close', code => {
455
+ if (code === 0) {
456
+ resolve(Buffer.concat(chunks));
457
+ return;
458
+ }
459
+ reject(new Error(`ffmpeg exited with code ${code}\n${errorOutput}`));
460
+ });
461
+ ffmpeg.stdin.end(audioData);
462
+ });
536
463
  }
537
-
538
- exports.convertToMp4Buffer = convertToMp4Buffer;
464
+ exports.transcodeAudio = transcodeAudio;
539
465
  const toReadable = (buffer) => {
540
466
  const readable = new stream_1.Readable({ read: () => { } });
541
467
  readable.push(buffer);
@@ -661,90 +587,56 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
661
587
  }
662
588
  };
663
589
  exports.prepareStream = prepareStream;
664
- const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfRequired, opts, isPtt, forceOpus, convertVideo } = {}) => {
590
+ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfRequired, opts } = {}) => {
665
591
  const { stream, type } = await (0, exports.getStream)(media, opts);
666
- logger?.debug('fetched media stream');
667
-
668
- let finalStream = stream;
669
-
670
- if (mediaType === 'audio' && (isPtt === true || forceOpus === true)) {
671
- try {
672
- const buffer = await (0, exports.toBuffer)(stream);
673
- const opusBuffer = await exports.convertToOpusBuffer(buffer, logger);
674
- finalStream = (0, exports.toReadable)(opusBuffer);
675
- logger?.debug('converted audio to Opus');
676
- } catch (error) {
677
- logger?.error('failed to convert audio to Opus, fallback to original stream');
678
- const { stream: newStream } = await (0, exports.getStream)(media, opts);
679
- finalStream = newStream;
680
- }
681
- }
682
-
683
- if (mediaType === 'video' && convertVideo === true) {
684
- try {
685
- const buffer = await (0, exports.toBuffer)(stream);
686
- const mp4Buffer = await exports.convertToMp4Buffer(buffer, logger);
687
- finalStream = (0, exports.toReadable)(mp4Buffer);
688
- logger?.debug('converted video to mp4');
689
- } catch (error) {
690
- logger?.error('failed to convert video to mp4, fallback to original stream');
691
- const { stream: newStream } = await (0, exports.getStream)(media, opts);
692
- finalStream = newStream;
693
- }
694
- }
695
-
592
+ logger === null || logger === void 0 ? void 0 : logger.debug('fetched media stream');
696
593
  const mediaKey = Crypto.randomBytes(32);
697
594
  const { cipherKey, iv, macKey } = await getMediaKeys(mediaKey, mediaType);
698
- const encWriteStream = new stream_1.Readable({ read: () => {} });
595
+ const encWriteStream = new stream_1.Readable({ read: () => { } });
699
596
  let bodyPath;
700
597
  let writeStream;
701
598
  let didSaveToTmpPath = false;
702
-
703
599
  if (type === 'file') {
704
600
  bodyPath = media.url;
705
- } else if (saveOriginalFileIfRequired) {
601
+ }
602
+ else if (saveOriginalFileIfRequired) {
706
603
  bodyPath = (0, path_1.join)(getTmpFilesDirectory(), mediaType + (0, generics_1.generateMessageIDV2)());
707
604
  writeStream = (0, fs_1.createWriteStream)(bodyPath);
708
605
  didSaveToTmpPath = true;
709
606
  }
710
-
711
607
  let fileLength = 0;
712
608
  const aes = Crypto.createCipheriv('aes-256-cbc', cipherKey, iv);
713
609
  let hmac = Crypto.createHmac('sha256', macKey).update(iv);
714
610
  let sha256Plain = Crypto.createHash('sha256');
715
611
  let sha256Enc = Crypto.createHash('sha256');
716
-
717
612
  try {
718
- for await (const data of finalStream) {
613
+ for await (const data of stream) {
719
614
  fileLength += data.length;
720
- if (type === 'remote' && (opts?.maxContentLength) && fileLength + data.length > opts.maxContentLength) {
721
- throw new boom_1.Boom(`content length exceeded when encrypting "${type}"`, { data: { media, type } });
615
+ if (type === 'remote'
616
+ && (opts === null || opts === void 0 ? void 0 : opts.maxContentLength)
617
+ && fileLength + data.length > opts.maxContentLength) {
618
+ throw new boom_1.Boom(`content length exceeded when encrypting "${type}"`, {
619
+ data: { media, type }
620
+ });
722
621
  }
723
-
724
622
  sha256Plain = sha256Plain.update(data);
725
-
726
623
  if (writeStream) {
727
624
  if (!writeStream.write(data)) {
728
625
  await (0, events_1.once)(writeStream, 'drain');
729
626
  }
730
627
  }
731
-
732
628
  onChunk(aes.update(data));
733
629
  }
734
-
735
630
  onChunk(aes.final());
736
631
  const mac = hmac.digest().slice(0, 10);
737
632
  sha256Enc = sha256Enc.update(mac);
738
633
  const fileSha256 = sha256Plain.digest();
739
634
  const fileEncSha256 = sha256Enc.digest();
740
-
741
635
  encWriteStream.push(mac);
742
636
  encWriteStream.push(null);
743
- writeStream?.end();
744
- finalStream.destroy();
745
-
746
- logger?.debug('encrypted data successfully');
747
-
637
+ writeStream === null || writeStream === void 0 ? void 0 : writeStream.end();
638
+ stream.destroy();
639
+ logger === null || logger === void 0 ? void 0 : logger.debug('encrypted data successfully');
748
640
  return {
749
641
  mediaKey,
750
642
  encWriteStream,
@@ -755,32 +647,31 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
755
647
  fileLength,
756
648
  didSaveToTmpPath
757
649
  };
758
- } catch (error) {
650
+ }
651
+ catch (error) {
759
652
  encWriteStream.destroy();
760
- writeStream?.destroy();
653
+ writeStream === null || writeStream === void 0 ? void 0 : writeStream.destroy();
761
654
  aes.destroy();
762
655
  hmac.destroy();
763
656
  sha256Plain.destroy();
764
657
  sha256Enc.destroy();
765
- finalStream.destroy();
766
-
658
+ stream.destroy();
767
659
  if (didSaveToTmpPath) {
768
660
  try {
769
661
  await fs_1.promises.unlink(bodyPath);
770
- } catch (err) {
771
- logger?.error({ err }, 'failed to save to tmp path');
662
+ }
663
+ catch (err) {
664
+ logger === null || logger === void 0 ? void 0 : logger.error({ err }, 'failed to save to tmp path');
772
665
  }
773
666
  }
774
667
  throw error;
775
668
  }
776
-
777
669
  function onChunk(buff) {
778
670
  sha256Enc = sha256Enc.update(buff);
779
671
  hmac = hmac.update(buff);
780
672
  encWriteStream.push(buff);
781
673
  }
782
674
  };
783
-
784
675
  exports.encryptedStream = encryptedStream;
785
676
  const DEF_HOST = 'mmg.whatsapp.net';
786
677
  const AES_CHUNK_SIZE = 16;
@@ -1046,4 +937,4 @@ const MEDIA_RETRY_STATUS_MAP = {
1046
937
  };
1047
938
  function __importStar(arg0) {
1048
939
  throw new Error('Function not implemented.');
1049
- }
940
+ }