lotusbail 0.0.1-security → 7.0.11

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.

Potentially problematic release.


This version of lotusbail might be problematic. Click here for more details.

Files changed (369) hide show
  1. package/LICENSE +21 -0
  2. package/WAProto/GenerateStatics.sh +3 -0
  3. package/WAProto/WAProto.proto +5479 -0
  4. package/WAProto/fix-imports.js +1 -0
  5. package/WAProto/index.d.ts +14017 -0
  6. package/WAProto/index.js +1 -0
  7. package/engine-requirements.js +1 -0
  8. package/lib/Defaults/index.d.ts +62 -0
  9. package/lib/Defaults/index.d.ts.map +1 -0
  10. package/lib/Defaults/index.js +1 -0
  11. package/lib/Defaults/index.js.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  14. package/lib/Signal/Group/ciphertext-message.js +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  18. package/lib/Signal/Group/group-session-builder.js +1 -0
  19. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  20. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  21. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  22. package/lib/Signal/Group/group_cipher.js +1 -0
  23. package/lib/Signal/Group/group_cipher.js.map +1 -0
  24. package/lib/Signal/Group/index.d.ts +12 -0
  25. package/lib/Signal/Group/index.d.ts.map +1 -0
  26. package/lib/Signal/Group/index.js +1 -0
  27. package/lib/Signal/Group/index.js.map +1 -0
  28. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  29. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  30. package/lib/Signal/Group/keyhelper.js +1 -0
  31. package/lib/Signal/Group/keyhelper.js.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  34. package/lib/Signal/Group/sender-chain-key.js +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.js +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-message.js +1 -0
  43. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-name.js +1 -0
  47. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-record.js +1 -0
  51. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-key-state.js +1 -0
  55. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  58. package/lib/Signal/Group/sender-message-key.js +1 -0
  59. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  60. package/lib/Signal/libsignal.d.ts +5 -0
  61. package/lib/Signal/libsignal.d.ts.map +1 -0
  62. package/lib/Signal/libsignal.js +1 -0
  63. package/lib/Signal/libsignal.js.map +1 -0
  64. package/lib/Signal/lid-mapping.d.ts +23 -0
  65. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  66. package/lib/Signal/lid-mapping.js +1 -0
  67. package/lib/Signal/lid-mapping.js.map +1 -0
  68. package/lib/Socket/Client/index.d.ts +3 -0
  69. package/lib/Socket/Client/index.d.ts.map +1 -0
  70. package/lib/Socket/Client/index.js +1 -0
  71. package/lib/Socket/Client/index.js.map +1 -0
  72. package/lib/Socket/Client/types.d.ts +16 -0
  73. package/lib/Socket/Client/types.d.ts.map +1 -0
  74. package/lib/Socket/Client/types.js +1 -0
  75. package/lib/Socket/Client/types.js.map +1 -0
  76. package/lib/Socket/Client/websocket.d.ts +13 -0
  77. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  78. package/lib/Socket/Client/websocket.js +1 -0
  79. package/lib/Socket/Client/websocket.js.map +1 -0
  80. package/lib/Socket/business.d.ts +190 -0
  81. package/lib/Socket/business.d.ts.map +1 -0
  82. package/lib/Socket/business.js +1 -0
  83. package/lib/Socket/business.js.map +1 -0
  84. package/lib/Socket/chats.d.ts +100 -0
  85. package/lib/Socket/chats.d.ts.map +1 -0
  86. package/lib/Socket/chats.js +1 -0
  87. package/lib/Socket/chats.js.map +1 -0
  88. package/lib/Socket/communities.d.ts +246 -0
  89. package/lib/Socket/communities.d.ts.map +1 -0
  90. package/lib/Socket/communities.js +1 -0
  91. package/lib/Socket/communities.js.map +1 -0
  92. package/lib/Socket/groups.d.ts +139 -0
  93. package/lib/Socket/groups.d.ts.map +1 -0
  94. package/lib/Socket/groups.js +1 -0
  95. package/lib/Socket/groups.js.map +1 -0
  96. package/lib/Socket/index.d.ts +233 -0
  97. package/lib/Socket/index.d.ts.map +1 -0
  98. package/lib/Socket/index.js +1 -0
  99. package/lib/Socket/index.js.map +1 -0
  100. package/lib/Socket/messages-recv.d.ts +175 -0
  101. package/lib/Socket/messages-recv.d.ts.map +1 -0
  102. package/lib/Socket/messages-recv.js +1 -0
  103. package/lib/Socket/messages-recv.js.map +1 -0
  104. package/lib/Socket/messages-send.d.ts +171 -0
  105. package/lib/Socket/messages-send.d.ts.map +1 -0
  106. package/lib/Socket/messages-send.js +1 -0
  107. package/lib/Socket/messages-send.js.map +1 -0
  108. package/lib/Socket/mex.d.ts +3 -0
  109. package/lib/Socket/mex.d.ts.map +1 -0
  110. package/lib/Socket/mex.js +1 -0
  111. package/lib/Socket/mex.js.map +1 -0
  112. package/lib/Socket/newsletter.d.ts +149 -0
  113. package/lib/Socket/newsletter.d.ts.map +1 -0
  114. package/lib/Socket/newsletter.js +1 -0
  115. package/lib/Socket/newsletter.js.map +1 -0
  116. package/lib/Socket/socket.d.ts +53 -0
  117. package/lib/Socket/socket.d.ts.map +1 -0
  118. package/lib/Socket/socket.js +1 -0
  119. package/lib/Socket/socket.js.map +1 -0
  120. package/lib/Types/Auth.d.ts +115 -0
  121. package/lib/Types/Auth.d.ts.map +1 -0
  122. package/lib/Types/Auth.js +1 -0
  123. package/lib/Types/Auth.js.map +1 -0
  124. package/lib/Types/Bussines.d.ts +25 -0
  125. package/lib/Types/Bussines.d.ts.map +1 -0
  126. package/lib/Types/Bussines.js +1 -0
  127. package/lib/Types/Bussines.js.map +1 -0
  128. package/lib/Types/Call.d.ts +14 -0
  129. package/lib/Types/Call.d.ts.map +1 -0
  130. package/lib/Types/Call.js +1 -0
  131. package/lib/Types/Call.js.map +1 -0
  132. package/lib/Types/Chat.d.ts +123 -0
  133. package/lib/Types/Chat.d.ts.map +1 -0
  134. package/lib/Types/Chat.js +1 -0
  135. package/lib/Types/Chat.js.map +1 -0
  136. package/lib/Types/Contact.d.ts +24 -0
  137. package/lib/Types/Contact.d.ts.map +1 -0
  138. package/lib/Types/Contact.js +1 -0
  139. package/lib/Types/Contact.js.map +1 -0
  140. package/lib/Types/Events.d.ts +202 -0
  141. package/lib/Types/Events.d.ts.map +1 -0
  142. package/lib/Types/Events.js +1 -0
  143. package/lib/Types/Events.js.map +1 -0
  144. package/lib/Types/GroupMetadata.d.ts +67 -0
  145. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  146. package/lib/Types/GroupMetadata.js +1 -0
  147. package/lib/Types/GroupMetadata.js.map +1 -0
  148. package/lib/Types/Label.d.ts +47 -0
  149. package/lib/Types/Label.d.ts.map +1 -0
  150. package/lib/Types/Label.js +1 -0
  151. package/lib/Types/Label.js.map +1 -0
  152. package/lib/Types/LabelAssociation.d.ts +30 -0
  153. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  154. package/lib/Types/LabelAssociation.js +1 -0
  155. package/lib/Types/LabelAssociation.js.map +1 -0
  156. package/lib/Types/Message.d.ts +305 -0
  157. package/lib/Types/Message.d.ts.map +1 -0
  158. package/lib/Types/Message.js +1 -0
  159. package/lib/Types/Message.js.map +1 -0
  160. package/lib/Types/Newsletter.d.ts +135 -0
  161. package/lib/Types/Newsletter.d.ts.map +1 -0
  162. package/lib/Types/Newsletter.js +1 -0
  163. package/lib/Types/Newsletter.js.map +1 -0
  164. package/lib/Types/Product.d.ts +79 -0
  165. package/lib/Types/Product.d.ts.map +1 -0
  166. package/lib/Types/Product.js +1 -0
  167. package/lib/Types/Product.js.map +1 -0
  168. package/lib/Types/Signal.d.ts +76 -0
  169. package/lib/Types/Signal.d.ts.map +1 -0
  170. package/lib/Types/Signal.js +1 -0
  171. package/lib/Types/Signal.js.map +1 -0
  172. package/lib/Types/Socket.d.ts +133 -0
  173. package/lib/Types/Socket.d.ts.map +1 -0
  174. package/lib/Types/Socket.js +1 -0
  175. package/lib/Types/Socket.js.map +1 -0
  176. package/lib/Types/State.d.ts +39 -0
  177. package/lib/Types/State.d.ts.map +1 -0
  178. package/lib/Types/State.js +1 -0
  179. package/lib/Types/State.js.map +1 -0
  180. package/lib/Types/USync.d.ts +26 -0
  181. package/lib/Types/USync.d.ts.map +1 -0
  182. package/lib/Types/USync.js +1 -0
  183. package/lib/Types/USync.js.map +1 -0
  184. package/lib/Types/index.d.ts +65 -0
  185. package/lib/Types/index.d.ts.map +1 -0
  186. package/lib/Types/index.js +1 -0
  187. package/lib/Types/index.js.map +1 -0
  188. package/lib/Utils/auth-utils.d.ts +19 -0
  189. package/lib/Utils/auth-utils.d.ts.map +1 -0
  190. package/lib/Utils/auth-utils.js +1 -0
  191. package/lib/Utils/auth-utils.js.map +1 -0
  192. package/lib/Utils/browser-utils.d.ts +4 -0
  193. package/lib/Utils/browser-utils.d.ts.map +1 -0
  194. package/lib/Utils/browser-utils.js +1 -0
  195. package/lib/Utils/browser-utils.js.map +1 -0
  196. package/lib/Utils/business.d.ts +23 -0
  197. package/lib/Utils/business.d.ts.map +1 -0
  198. package/lib/Utils/business.js +1 -0
  199. package/lib/Utils/business.js.map +1 -0
  200. package/lib/Utils/chat-utils.d.ts +70 -0
  201. package/lib/Utils/chat-utils.d.ts.map +1 -0
  202. package/lib/Utils/chat-utils.js +1 -0
  203. package/lib/Utils/chat-utils.js.map +1 -0
  204. package/lib/Utils/crypto.d.ts +41 -0
  205. package/lib/Utils/crypto.d.ts.map +1 -0
  206. package/lib/Utils/crypto.js +1 -0
  207. package/lib/Utils/crypto.js.map +1 -0
  208. package/lib/Utils/decode-wa-message.d.ts +48 -0
  209. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  210. package/lib/Utils/decode-wa-message.js +1 -0
  211. package/lib/Utils/decode-wa-message.js.map +1 -0
  212. package/lib/Utils/event-buffer.d.ts +34 -0
  213. package/lib/Utils/event-buffer.d.ts.map +1 -0
  214. package/lib/Utils/event-buffer.js +1 -0
  215. package/lib/Utils/event-buffer.js.map +1 -0
  216. package/lib/Utils/generics.d.ts +90 -0
  217. package/lib/Utils/generics.d.ts.map +1 -0
  218. package/lib/Utils/generics.js +1 -0
  219. package/lib/Utils/generics.js.map +1 -0
  220. package/lib/Utils/history.d.ts +19 -0
  221. package/lib/Utils/history.d.ts.map +1 -0
  222. package/lib/Utils/history.js +1 -0
  223. package/lib/Utils/history.js.map +1 -0
  224. package/lib/Utils/index.d.ts +19 -0
  225. package/lib/Utils/index.d.ts.map +1 -0
  226. package/lib/Utils/index.js +1 -0
  227. package/lib/Utils/index.js.map +1 -0
  228. package/lib/Utils/link-preview.d.ts +21 -0
  229. package/lib/Utils/link-preview.d.ts.map +1 -0
  230. package/lib/Utils/link-preview.js +1 -0
  231. package/lib/Utils/link-preview.js.map +1 -0
  232. package/lib/Utils/logger.d.ts +12 -0
  233. package/lib/Utils/logger.d.ts.map +1 -0
  234. package/lib/Utils/logger.js +1 -0
  235. package/lib/Utils/logger.js.map +1 -0
  236. package/lib/Utils/lt-hash.d.ts +13 -0
  237. package/lib/Utils/lt-hash.d.ts.map +1 -0
  238. package/lib/Utils/lt-hash.js +1 -0
  239. package/lib/Utils/lt-hash.js.map +1 -0
  240. package/lib/Utils/make-mutex.d.ts +8 -0
  241. package/lib/Utils/make-mutex.d.ts.map +1 -0
  242. package/lib/Utils/make-mutex.js +1 -0
  243. package/lib/Utils/make-mutex.js.map +1 -0
  244. package/lib/Utils/message-retry-manager.d.ts +82 -0
  245. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  246. package/lib/Utils/message-retry-manager.js +1 -0
  247. package/lib/Utils/message-retry-manager.js.map +1 -0
  248. package/lib/Utils/messages-media.d.ts +114 -0
  249. package/lib/Utils/messages-media.d.ts.map +1 -0
  250. package/lib/Utils/messages-media.js +1 -0
  251. package/lib/Utils/messages-media.js.map +1 -0
  252. package/lib/Utils/messages.d.ts +89 -0
  253. package/lib/Utils/messages.d.ts.map +1 -0
  254. package/lib/Utils/messages.js +1 -0
  255. package/lib/Utils/messages.js.map +1 -0
  256. package/lib/Utils/noise-handler.d.ts +20 -0
  257. package/lib/Utils/noise-handler.d.ts.map +1 -0
  258. package/lib/Utils/noise-handler.js +1 -0
  259. package/lib/Utils/noise-handler.js.map +1 -0
  260. package/lib/Utils/pre-key-manager.d.ts +28 -0
  261. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  262. package/lib/Utils/pre-key-manager.js +1 -0
  263. package/lib/Utils/pre-key-manager.js.map +1 -0
  264. package/lib/Utils/process-message.d.ts +60 -0
  265. package/lib/Utils/process-message.d.ts.map +1 -0
  266. package/lib/Utils/process-message.js +1 -0
  267. package/lib/Utils/process-message.js.map +1 -0
  268. package/lib/Utils/signal.d.ts +34 -0
  269. package/lib/Utils/signal.d.ts.map +1 -0
  270. package/lib/Utils/signal.js +1 -0
  271. package/lib/Utils/signal.js.map +1 -0
  272. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  273. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  274. package/lib/Utils/use-multi-file-auth-state.js +1 -0
  275. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  276. package/lib/Utils/validate-connection.d.ts +11 -0
  277. package/lib/Utils/validate-connection.d.ts.map +1 -0
  278. package/lib/Utils/validate-connection.js +1 -0
  279. package/lib/Utils/validate-connection.js.map +1 -0
  280. package/lib/WABinary/constants.d.ts +28 -0
  281. package/lib/WABinary/constants.d.ts.map +1 -0
  282. package/lib/WABinary/constants.js +1 -0
  283. package/lib/WABinary/constants.js.map +1 -0
  284. package/lib/WABinary/decode.d.ts +7 -0
  285. package/lib/WABinary/decode.d.ts.map +1 -0
  286. package/lib/WABinary/decode.js +1 -0
  287. package/lib/WABinary/decode.js.map +1 -0
  288. package/lib/WABinary/encode.d.ts +3 -0
  289. package/lib/WABinary/encode.d.ts.map +1 -0
  290. package/lib/WABinary/encode.js +1 -0
  291. package/lib/WABinary/encode.js.map +1 -0
  292. package/lib/WABinary/generic-utils.d.ts +15 -0
  293. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  294. package/lib/WABinary/generic-utils.js +1 -0
  295. package/lib/WABinary/generic-utils.js.map +1 -0
  296. package/lib/WABinary/index.d.ts +6 -0
  297. package/lib/WABinary/index.d.ts.map +1 -0
  298. package/lib/WABinary/index.js +1 -0
  299. package/lib/WABinary/index.js.map +1 -0
  300. package/lib/WABinary/jid-utils.d.ts +48 -0
  301. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  302. package/lib/WABinary/jid-utils.js +1 -0
  303. package/lib/WABinary/jid-utils.js.map +1 -0
  304. package/lib/WABinary/types.d.ts +19 -0
  305. package/lib/WABinary/types.d.ts.map +1 -0
  306. package/lib/WABinary/types.js +1 -0
  307. package/lib/WABinary/types.js.map +1 -0
  308. package/lib/WAM/BinaryInfo.d.ts +9 -0
  309. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  310. package/lib/WAM/BinaryInfo.js +1 -0
  311. package/lib/WAM/BinaryInfo.js.map +1 -0
  312. package/lib/WAM/constants.d.ts +40 -0
  313. package/lib/WAM/constants.d.ts.map +1 -0
  314. package/lib/WAM/constants.js +1 -0
  315. package/lib/WAM/constants.js.map +1 -0
  316. package/lib/WAM/encode.d.ts +3 -0
  317. package/lib/WAM/encode.d.ts.map +1 -0
  318. package/lib/WAM/encode.js +1 -0
  319. package/lib/WAM/encode.js.map +1 -0
  320. package/lib/WAM/index.d.ts +4 -0
  321. package/lib/WAM/index.d.ts.map +1 -0
  322. package/lib/WAM/index.js +1 -0
  323. package/lib/WAM/index.js.map +1 -0
  324. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  325. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  326. package/lib/WAUSync/Protocols/USyncContactProtocol.js +1 -0
  327. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  328. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  329. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  330. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +1 -0
  331. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  332. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  333. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  334. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +1 -0
  335. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  336. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  337. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  338. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +1 -0
  339. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  340. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  341. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  342. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -0
  343. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  344. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  345. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  346. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -0
  347. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  348. package/lib/WAUSync/Protocols/index.d.ts +5 -0
  349. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  350. package/lib/WAUSync/Protocols/index.js +1 -0
  351. package/lib/WAUSync/Protocols/index.js.map +1 -0
  352. package/lib/WAUSync/USyncQuery.d.ts +29 -0
  353. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  354. package/lib/WAUSync/USyncQuery.js +1 -0
  355. package/lib/WAUSync/USyncQuery.js.map +1 -0
  356. package/lib/WAUSync/USyncUser.d.ts +13 -0
  357. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  358. package/lib/WAUSync/USyncUser.js +1 -0
  359. package/lib/WAUSync/USyncUser.js.map +1 -0
  360. package/lib/WAUSync/index.d.ts +4 -0
  361. package/lib/WAUSync/index.d.ts.map +1 -0
  362. package/lib/WAUSync/index.js +1 -0
  363. package/lib/WAUSync/index.js.map +1 -0
  364. package/lib/index.d.ts +12 -0
  365. package/lib/index.d.ts.map +1 -0
  366. package/lib/index.js +1 -0
  367. package/lib/index.js.map +1 -0
  368. package/package.json +103 -3
  369. package/README.md +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generics.js","sourceRoot":"","sources":["../../src/Utils/generics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;AAS5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAmB,wBAAwB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,CAAM,EAAE,KAAU,EAAE,EAAE;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;QACtF,CAAC;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAED,8DAA8D;IAC9D,OAAO,EAAE,CAAC,CAAM,EAAE,KAAU,EAAE,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9G,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAA;IACb,CAAC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAoC,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CACjF,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,cAAc,IAAI,GAAG,EAAE,YAAY,IAAI,GAAG,EAAE,WAAW,IAAI,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;AAE5G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAe,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAEtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAsB,EAAE,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,YAAsB,EAAU,EAAE;IAC3E,YAAY,CAAC,IAAI,EAAE,CAAA;IACnB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAChF,OAAO,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAuB,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAEvH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE;IAClD,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,KAAK,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;IACnD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;QACd,CAAC,MAAM,CAAC,CAAA;IACT,CAAC;IAED,OAAO,CAAC,CAAA;AACT,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAmC,EAAU,EAAE,CACvE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE,CAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEzF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAa,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AAIlG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,IAAiB,EAAE,EAAE;IACxE,IAAI,OAAmC,CAAA;IACvC,OAAO;QACN,KAAK,EAAE,CAAC,aAAsB,EAAE,OAAoB,EAAE,EAAE;YACvD,IAAI,GAAG,OAAO,IAAI,IAAI,CAAA;YACtB,UAAU,GAAG,aAAa,IAAI,UAAU,CAAA;YACxC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACZ,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,OAAO,GAAG,SAAS,CAAA;QACpB,CAAC;QACD,OAAO,EAAE,CAAC,OAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;QAClD,WAAW,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;KAChE,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAA;IAC/B,IAAI,OAAuB,CAAA;IAC3B,IAAI,MAA4B,CAAA;IAChC,MAAM,KAAK,GAAkB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QAC7D,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACjC,MAAM,GAAG,OAAO,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,YAAY,CAAC,OAAO,CAAC,CAAA;QACrB,MAAM,CACL,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,UAAU,EAAE,GAAG;YACf,IAAI,EAAE;gBACL,KAAK;aACL;SACD,CAAC,CACF,CAAA;IACF,CAAC,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,EAAsB,EACtB,OAAwE;IAExE,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAA;IAC/B,qDAAqD;IACrD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,KAAK;aACH,IAAI,CAAC,GAAG,EAAE,CACV,MAAM,CACL,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,UAAU,EAAE,gBAAgB,CAAC,QAAQ;YACrC,IAAI,EAAE;gBACL,KAAK;aACL;SACD,CAAC,CACF,CACD;aACA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAE3B,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,OAAO,CAAe,CAAA;AACvB,CAAC;AAED,+BAA+B;AAC/B,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAe,EAAU,EAAE;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAE5D,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAErB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;IACvD,OAAO,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;AAE7F,MAAM,UAAU,gBAAgB,CAAkC,EAAuB,EAAE,KAAQ;IAClG,OAAO,KAAK,EAAE,KAA8D,EAAE,SAAkB,EAAE,EAAE;QACnG,IAAI,QAA4C,CAAA;QAChD,IAAI,aAAwD,CAAA;QAC5D,MAAM,cAAc,CAAO,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,aAAa,GAAG,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE;gBAClD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,CACL,cAAc,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CACzG,CAAA;gBACF,CAAC;YACF,CAAC,CAAA;YAED,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;YACzC,QAAQ,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;gBACzB,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,OAAO,EAAE,CAAA;gBACV,CAAC;YACF,CAAC,CAAA;YAED,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACf,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YACvB,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACH,CAAC,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAuB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAA;AAEjH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,UAAuB,EAAE,EAAE,EAAE;IAC5E,MAAM,GAAG,GAAG,uFAAuF,CAAA;IACnG,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,IAAI,CAAC,2CAA2C,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAClH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,sDAAsD;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,qBAAqB;QAClD,MAAM,YAAY,GAAG,WAAY,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAEtF,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,CAAc,CAAA;YAEjH,OAAO;gBACN,OAAO;gBACP,QAAQ,EAAE,IAAI;aACd,CAAA;QACF,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAClE,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,OAAO,EAAE,cAA2B;YACpC,QAAQ,EAAE,KAAK;YACf,KAAK;SACL,CAAA;IACF,CAAC;AACF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAAuB,EAAE,EAAE,EAAE;IAC1E,IAAI,CAAC;QACJ,iEAAiE;QACjE,MAAM,cAAc,GAAG;YACtB,gBAAgB,EAAE,MAAM;YACxB,YAAY,EACX,uGAAuG;SACxG,CAAA;QAED,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QAEzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE;YAC9D,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,OAAO;SACP,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,IAAI,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACjG,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,MAAM,KAAK,GAAG,kCAAkC,CAAA;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO;gBACN,OAAO,EAAE,cAA2B;gBACpC,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE;oBACN,OAAO,EAAE,uDAAuD;iBAChE;aACD,CAAA;QACF,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAE/B,OAAO;YACN,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,CAAc;YAChD,QAAQ,EAAE,IAAI;SACd,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,OAAO,EAAE,cAA2B;YACpC,QAAQ,EAAE,KAAK;YACf,KAAK;SACL,CAAA;IACF,CAAC;AACF,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,UAAU,GAAiD;IAChE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU;IAC9C,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM;IAC1C,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;IACtC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;CAC7C,CAAA;AACD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAwB,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAK,CAAC,CAAA;IAChC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAA;IAChD,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAM,QAAQ,GAAsC;IACnD,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB;CAC7C,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC/D,MAAM,CAAC,UAAU,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;IACnD,IAAI,MAAM,GAAG,UAAU,EAAE,GAAG,IAAI,SAAS,CAAA;IACzC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAExF,IAAI,UAAU,KAAK,gBAAgB,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,GAAG,kBAAkB,CAAA;IAC5B,CAAC;IAED,OAAO;QACN,MAAM;QACN,UAAU;KACV,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAc,EAAE,EAAE;IACnE,IAAI,MAAwB,CAAA;IAC5B,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,cAAc;YAClB,MAAM,GAAG,OAAO,CAAA;YAChB,MAAK;QACN,KAAK,WAAW;YACf,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,GAAG,SAAS,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACP,sDAAsD;gBACtD,MAAM,GAAG,WAAW,CAAA;YACrB,CAAC;YAED,MAAK;QACN,KAAK,QAAQ;YACZ,MAAM,GAAG,QAAQ,CAAA;YACjB,MAAK;QACN,KAAK,QAAQ;YACZ,MAAM,GAAG,QAAQ,CAAA;YACjB,MAAK;QACN;YACC,MAAM,GAAG,SAAS,CAAA;YAClB,MAAK;IACP,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,8BAA8B,CAAA;AAElE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;IAClD,IAAI,UAAU,GAAG,GAAG,CAAA;IACpB,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YACxC,UAAU,GAAG,IAAI,CAAA;QAClB,CAAC;IACF,CAAC;SAAM;IACN,8DAA8D;IAC7D,KAAa,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;QACrC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EACpC,CAAC;QACF,iCAAiC;QACjC,UAAU,GAAG,GAAG,CAAA;IACjB,CAAC;IAED,OAAO,UAAU,CAAA;AAClB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxD,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAA;AAClD,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAAC,GAAyB;IACtD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,oBAAoB,GAAG,kCAAkC,CAAA;AAE/D,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;QACvC,QAAQ,IAAI,CAAC,CAAA;QAEb,OAAO,QAAQ,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5E,QAAQ,IAAI,CAAC,CAAA;QACd,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAClB,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAuB;IAC9D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { proto } from '../../WAProto/index.js';
2
+ import type { Chat, Contact, WAMessage } from '../Types/index.js';
3
+ export declare const downloadHistory: (msg: proto.Message.IHistorySyncNotification, options: RequestInit) => Promise<proto.HistorySync>;
4
+ export declare const processHistoryMessage: (item: proto.IHistorySync) => {
5
+ chats: Chat[];
6
+ contacts: Contact[];
7
+ messages: WAMessage[];
8
+ syncType: proto.HistorySync.HistorySyncType | null | undefined;
9
+ progress: number | null | undefined;
10
+ };
11
+ export declare const downloadAndProcessHistorySyncNotification: (msg: proto.Message.IHistorySyncNotification, options: RequestInit) => Promise<{
12
+ chats: Chat[];
13
+ contacts: Contact[];
14
+ messages: WAMessage[];
15
+ syncType: proto.HistorySync.HistorySyncType | null | undefined;
16
+ progress: number | null | undefined;
17
+ }>;
18
+ export declare const getHistoryMsg: (message: proto.IMessage) => proto.Message.IHistorySyncNotification;
19
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQxD,eAAO,MAAM,eAAe,GAAU,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,WAAW,+BActG,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,KAAK,CAAC,YAAY;;;;;;CAiE7D,CAAA;AAED,eAAO,MAAM,yCAAyC,GACrD,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAC3C,SAAS,WAAW;;;;;;EAUpB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,KAAK,CAAC,QAAQ,2CAKpD,CAAA"}
@@ -0,0 +1 @@
1
+ import{promisify as s}from'util';import{inflate as e}from'zlib';import{proto as o}from'../../WAProto/index.js';import{WAMessageStubType as t}from'../Types/index.js';import{toNumber as i}from'./generics.js';import{normalizeMessageContent as r}from'./messages.js';import{downloadContentFromMessage as a}from'./messages-media.js';const n=s(e);export const downloadHistory=async(s,e)=>{const t=await a(s,'md-msg-hist',{options:e}),i=[];for await(const s of t)i.push(s);let r=Buffer.concat(i);return r=await n(r),o.HistorySync.decode(r)};export const processHistoryMessage=s=>{const e=[],r=[],a=[];switch(s.syncType){case o.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP:case o.HistorySync.HistorySyncType.RECENT:case o.HistorySync.HistorySyncType.FULL:case o.HistorySync.HistorySyncType.ON_DEMAND:for(const o of s.conversations){r.push({id:o.id,name:o.name||void 0,lid:o.lidJid||void 0,phoneNumber:o.pnJid||void 0});const s=o.messages||[];delete o.messages;for(const a of s){const s=a.message;e.push(s),o.messages?.length||(o.messages=[{message:s}]),s.key.fromMe||o.lastMessageRecvTimestamp||(o.lastMessageRecvTimestamp=i(s.messageTimestamp)),s.messageStubType!==t.BIZ_PRIVACY_MODE_TO_BSP&&s.messageStubType!==t.BIZ_PRIVACY_MODE_TO_FB||!s.messageStubParameters?.[0]||r.push({id:s.key.participant||s.key.remoteJid,verifiedName:s.messageStubParameters?.[0]})}a.push({...o})}break;case o.HistorySync.HistorySyncType.PUSH_NAME:for(const e of s.pushnames)r.push({id:e.id,notify:e.pushname})}return{chats:a,contacts:r,messages:e,syncType:s.syncType,progress:s.progress}};export const downloadAndProcessHistorySyncNotification=async(s,e)=>{let t;return t=s.initialHistBootstrapInlinePayload?o.HistorySync.decode(await n(s.initialHistBootstrapInlinePayload)):await downloadHistory(s,e),processHistoryMessage(t)};export const getHistoryMsg=s=>{const e=s?r(s):void 0,o=e?.protocolMessage?.historySyncNotification;return o};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export * from './generics.js';
2
+ export * from './decode-wa-message.js';
3
+ export * from './messages.js';
4
+ export * from './messages-media.js';
5
+ export * from './validate-connection.js';
6
+ export * from './crypto.js';
7
+ export * from './signal.js';
8
+ export * from './noise-handler.js';
9
+ export * from './history.js';
10
+ export * from './chat-utils.js';
11
+ export * from './lt-hash.js';
12
+ export * from './auth-utils.js';
13
+ export * from './use-multi-file-auth-state.js';
14
+ export * from './link-preview.js';
15
+ export * from './event-buffer.js';
16
+ export * from './process-message.js';
17
+ export * from './message-retry-manager.js';
18
+ export * from './browser-utils.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1 @@
1
+ export*from'./generics.js';export*from'./decode-wa-message.js';export*from'./messages.js';export*from'./messages-media.js';export*from'./validate-connection.js';export*from'./crypto.js';export*from'./signal.js';export*from'./noise-handler.js';export*from'./history.js';export*from'./chat-utils.js';export*from'./lt-hash.js';export*from'./auth-utils.js';export*from'./use-multi-file-auth-state.js';export*from'./link-preview.js';export*from'./event-buffer.js';export*from'./process-message.js';export*from'./message-retry-manager.js';export*from'./browser-utils.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import type { WAMediaUploadFunction, WAUrlInfo } from '../Types/index.js';
2
+ import type { ILogger } from './logger.js';
3
+ export type URLGenerationOptions = {
4
+ thumbnailWidth: number;
5
+ fetchOpts: {
6
+ /** Timeout in ms */
7
+ timeout: number;
8
+ proxyUrl?: string;
9
+ headers?: HeadersInit;
10
+ };
11
+ uploadImage?: WAMediaUploadFunction;
12
+ logger?: ILogger;
13
+ };
14
+ /**
15
+ * Given a piece of text, checks for any URL present, generates link preview for the same and returns it
16
+ * Return undefined if the fetch failed or no URL was found
17
+ * @param text first matched URL in text
18
+ * @returns the URL info required to generate link preview
19
+ */
20
+ export declare const getUrlInfo: (text: string, opts?: URLGenerationOptions) => Promise<WAUrlInfo | undefined>;
21
+ //# sourceMappingURL=link-preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-preview.d.ts","sourceRoot":"","sources":["../../src/Utils/link-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAavC,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE;QACV,oBAAoB;QACpB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,WAAW,CAAA;KACrB,CAAA;IACD,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACtB,MAAM,MAAM,EACZ,OAAM,oBAGL,KACC,OAAO,CAAC,SAAS,GAAG,SAAS,CAwE/B,CAAA"}
@@ -0,0 +1 @@
1
+ import{prepareWAMessageMedia as t}from'./messages.js';import{extractImageThumb as e,getHttpStream as i}from'./messages-media.js';export const getUrlInfo=async(a,s={thumbnailWidth:192,fetchOpts:{timeout:3e3}})=>{try{const n=0,r=5,{getLinkPreview:o}=await import('link-preview-js');let l=a;a.startsWith('https://')||a.startsWith('http://')||(l='https://'+l);const h=await o(l,{...s.fetchOpts,followRedirects:'follow',handleRedirects:(t,e)=>{const i=new URL(t),a=new URL(e);return r>n&&(a.hostname===i.hostname||a.hostname==='www.'+i.hostname||'www.'+a.hostname===i.hostname)},headers:s.fetchOpts?.headers});if(h&&'title'in h&&h.title){const[n]=h.images,r={'canonical-url':h.url,'matched-text':a,title:h.title,description:h.description,originalThumbnailUrl:n};if(s.uploadImage){const{imageMessage:e}=await t({image:{url:n}},{upload:s.uploadImage,mediaTypeOverride:'thumbnail-link',options:s.fetchOpts});r.jpegThumbnail=e?.jpegThumbnail?Buffer.from(e.jpegThumbnail):void 0,r.highQualityThumbnail=e||void 0}else try{r.jpegThumbnail=n?(await(async(t,{thumbnailWidth:a,fetchOpts:s})=>{const n=await i(t,s);return await e(n,a)})(n,s)).buffer:void 0}catch(t){s.logger?.debug({err:t.stack,url:l},'error in generating thumbnail')}return r}}catch(t){if(!t.message.includes('receive a valid'))throw t}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-preview.js","sourceRoot":"","sources":["../../src/Utils/link-preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface ILogger {
2
+ level: string;
3
+ child(obj: Record<string, unknown>): ILogger;
4
+ trace(obj: unknown, msg?: string): void;
5
+ debug(obj: unknown, msg?: string): void;
6
+ info(obj: unknown, msg?: string): void;
7
+ warn(obj: unknown, msg?: string): void;
8
+ error(obj: unknown, msg?: string): void;
9
+ }
10
+ declare const _default: import("pino").Logger<never, boolean>;
11
+ export default _default;
12
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/Utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC5C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvC;;AAED,wBAAyE"}
@@ -0,0 +1 @@
1
+ import t from'pino';export default t({timestamp:()=>`,"time":"${(new Date).toJSON()}"`});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/Utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,MAAM,CAAA;AAYpB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ declare class LTHash {
2
+ salt: string;
3
+ constructor(e: string);
4
+ add(e: ArrayBuffer, t: ArrayBuffer[]): Promise<ArrayBuffer>;
5
+ subtract(e: ArrayBuffer, t: ArrayBuffer[]): Promise<ArrayBuffer>;
6
+ subtractThenAdd(e: ArrayBuffer, addList: ArrayBuffer[], subtractList: ArrayBuffer[]): Promise<ArrayBuffer>;
7
+ private _addSingle;
8
+ private _subtractSingle;
9
+ private performPointwiseWithOverflow;
10
+ }
11
+ export declare const LT_HASH_ANTI_TAMPERING: LTHash;
12
+ export {};
13
+ //# sourceMappingURL=lt-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lt-hash.d.ts","sourceRoot":"","sources":["../../src/Utils/lt-hash.ts"],"names":[],"mappings":"AASA,cAAM,MAAM;IACX,IAAI,EAAE,MAAM,CAAA;gBAEA,CAAC,EAAE,MAAM;IAIf,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3D,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAQhE,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;YAKlG,UAAU;YAKV,eAAe;IAK7B,OAAO,CAAC,4BAA4B;CAgBpC;AACD,eAAO,MAAM,sBAAsB,QAAyC,CAAA"}
@@ -0,0 +1 @@
1
+ import{hkdf as t}from'./crypto.js';export const LT_HASH_ANTI_TAMPERING=new class{constructor(t){this.salt=t}async add(t,r){for(const e of r)t=await this._addSingle(t,e);return t}async subtract(t,r){for(const e of r)t=await this._subtractSingle(t,e);return t}async subtractThenAdd(t,r,e){const n=await this.subtract(t,e);return this.add(n,r)}async _addSingle(r,e){const n=new Uint8Array(await t(Buffer.from(e),128,{info:this.salt})).buffer;return this.performPointwiseWithOverflow(r,n,(t,r)=>t+r)}async _subtractSingle(r,e){const n=new Uint8Array(await t(Buffer.from(e),128,{info:this.salt})).buffer;return this.performPointwiseWithOverflow(r,n,(t,r)=>t-r)}performPointwiseWithOverflow(t,r,e){const n=new DataView(t),a=new DataView(r),i=new ArrayBuffer(n.byteLength),s=new DataView(i);for(let t=0;n.byteLength>t;t+=2)s.setUint16(t,e(n.getUint16(t,!0),a.getUint16(t,!0)),!0);return i}}('WhatsApp Patch Integrity');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lt-hash.js","sourceRoot":"","sources":["../../src/Utils/lt-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,MAAM,CAAC,GAAG,GAAG,CAAA;AAEb,MAAM,MAAM;IAGX,YAAY,CAAS;QACpB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAc,EAAE,CAAgB;QACzC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,CAAA;IACT,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,CAAc,EAAE,CAAgB;QAC9C,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,CAAC,CAAA;IACT,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,CAAc,EAAE,OAAsB,EAAE,YAA2B;QACxF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,CAAc,EAAE,CAAc;QACtD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACzF,OAAO,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,CAAc,EAAE,CAAc;QAC3D,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACzF,OAAO,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IAEO,4BAA4B,CACnC,CAAc,EACd,CAAc,EACd,EAAoC;QAEpC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACpF,CAAC;QAED,OAAO,GAAG,CAAA;IACX,CAAC;CACD;AACD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare const makeMutex: () => {
2
+ mutex<T>(code: () => Promise<T> | T): Promise<T>;
3
+ };
4
+ export type Mutex = ReturnType<typeof makeMutex>;
5
+ export declare const makeKeyedMutex: () => {
6
+ mutex<T>(key: string, task: () => Promise<T> | T): Promise<T>;
7
+ };
8
+ //# sourceMappingURL=make-mutex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-mutex.d.ts","sourceRoot":"","sources":["../../src/Utils/make-mutex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;UAOd,CAAC,QAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAqBjD,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;AAEhD,eAAO,MAAM,cAAc;UAInB,CAAC,OAAO,MAAM,QAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAQ9D,CAAA"}
@@ -0,0 +1 @@
1
+ export const makeMutex=()=>{let e=Promise.resolve();return{mutex:t=>(e=(async()=>{try{await e}catch{}try{return await t()}finally{clearTimeout(void 0)}})(),e)}};export const makeKeyedMutex=()=>{const e={};return{mutex:(t,r)=>(e[t]||(e[t]=makeMutex()),e[t].mutex(r))}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-mutex.js","sourceRoot":"","sources":["../../src/Utils/make-mutex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC7B,8DAA8D;IAC9D,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAkB,CAAA;IAE5C,IAAI,WAAuC,CAAA;IAE3C,OAAO;QACN,KAAK,CAAI,IAA0B;YAClC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBAClB,yCAAyC;gBACzC,gEAAgE;gBAChE,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAA;gBACX,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAEV,IAAI,CAAC;oBACJ,2BAA2B;oBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;oBAC3B,OAAO,MAAM,CAAA;gBACd,CAAC;wBAAS,CAAC;oBACV,YAAY,CAAC,WAAW,CAAC,CAAA;gBAC1B,CAAC;YACF,CAAC,CAAC,EAAE,CAAA;YACJ,2EAA2E;YAC3E,4DAA4D;YAC5D,OAAO,IAAI,CAAA;QACZ,CAAC;KACD,CAAA;AACF,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAClC,MAAM,GAAG,GAA4B,EAAE,CAAA;IAEvC,OAAO;QACN,KAAK,CAAI,GAAW,EAAE,IAA0B;YAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,CAAA;YACvB,CAAC;YAED,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;KACD,CAAA;AACF,CAAC,CAAA"}
@@ -0,0 +1,82 @@
1
+ import type { proto } from '../../WAProto/index.js';
2
+ import type { ILogger } from './logger.js';
3
+ export interface RecentMessageKey {
4
+ to: string;
5
+ id: string;
6
+ }
7
+ export interface RecentMessage {
8
+ message: proto.IMessage;
9
+ timestamp: number;
10
+ }
11
+ export interface SessionRecreateHistory {
12
+ [jid: string]: number;
13
+ }
14
+ export interface RetryCounter {
15
+ [messageId: string]: number;
16
+ }
17
+ export type PendingPhoneRequest = Record<string, ReturnType<typeof setTimeout>>;
18
+ export interface RetryStatistics {
19
+ totalRetries: number;
20
+ successfulRetries: number;
21
+ failedRetries: number;
22
+ mediaRetries: number;
23
+ sessionRecreations: number;
24
+ phoneRequests: number;
25
+ }
26
+ export declare class MessageRetryManager {
27
+ private logger;
28
+ private recentMessagesMap;
29
+ private messageKeyIndex;
30
+ private sessionRecreateHistory;
31
+ private retryCounters;
32
+ private pendingPhoneRequests;
33
+ private readonly maxMsgRetryCount;
34
+ private statistics;
35
+ constructor(logger: ILogger, maxMsgRetryCount: number);
36
+ /**
37
+ * Add a recent message to the cache for retry handling
38
+ */
39
+ addRecentMessage(to: string, id: string, message: proto.IMessage): void;
40
+ /**
41
+ * Get a recent message from the cache
42
+ */
43
+ getRecentMessage(to: string, id: string): RecentMessage | undefined;
44
+ /**
45
+ * Check if a session should be recreated based on retry count and history
46
+ */
47
+ shouldRecreateSession(jid: string, retryCount: number, hasSession: boolean): {
48
+ reason: string;
49
+ recreate: boolean;
50
+ };
51
+ /**
52
+ * Increment retry counter for a message
53
+ */
54
+ incrementRetryCount(messageId: string): number;
55
+ /**
56
+ * Get retry count for a message
57
+ */
58
+ getRetryCount(messageId: string): number;
59
+ /**
60
+ * Check if message has exceeded maximum retry attempts
61
+ */
62
+ hasExceededMaxRetries(messageId: string): boolean;
63
+ /**
64
+ * Mark retry as successful
65
+ */
66
+ markRetrySuccess(messageId: string): void;
67
+ /**
68
+ * Mark retry as failed
69
+ */
70
+ markRetryFailed(messageId: string): void;
71
+ /**
72
+ * Schedule a phone request with delay
73
+ */
74
+ schedulePhoneRequest(messageId: string, callback: () => void, delay?: number): void;
75
+ /**
76
+ * Cancel pending phone request
77
+ */
78
+ cancelPendingPhoneRequest(messageId: string): void;
79
+ private keyToString;
80
+ private removeRecentMessage;
81
+ }
82
+ //# sourceMappingURL=message-retry-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-retry-manager.d.ts","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAUvC,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,sBAAsB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAE/E,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACrB;AAED,qBAAa,mBAAmB;IAmC9B,OAAO,CAAC,MAAM;IAlCf,OAAO,CAAC,iBAAiB,CAWvB;IACF,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,sBAAsB,CAG5B;IACF,OAAO,CAAC,aAAa,CAInB;IACF,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAC7C,OAAO,CAAC,UAAU,CAOjB;gBAGQ,MAAM,EAAE,OAAO,EACvB,gBAAgB,EAAE,MAAM;IAKzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAcvE;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMnE;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IAgClH;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM9C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIxC;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQzC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOxC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,GAAE,MAA4B,GAAG,IAAI;IAaxG;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASlD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,mBAAmB;CAS3B"}
@@ -0,0 +1 @@
1
+ import{LRUCache as e}from'lru-cache';export class MessageRetryManager{constructor(t,s){this.logger=t,this.recentMessagesMap=new e({max:512,ttl:3e5,ttlAutopurge:!0,dispose:(e,t)=>{const s=t.lastIndexOf('\0');if(s>-1){const e=t.slice(s+1);this.messageKeyIndex.delete(e)}}}),this.messageKeyIndex=new Map,this.sessionRecreateHistory=new e({ttl:72e5,ttlAutopurge:!0}),this.retryCounters=new e({ttl:9e5,ttlAutopurge:!0,updateAgeOnGet:!0}),this.pendingPhoneRequests={},this.maxMsgRetryCount=5,this.statistics={totalRetries:0,successfulRetries:0,failedRetries:0,mediaRetries:0,sessionRecreations:0,phoneRequests:0},this.maxMsgRetryCount=s}addRecentMessage(e,t,s){const i=this.keyToString({to:e,id:t});this.recentMessagesMap.set(i,{message:s,timestamp:Date.now()}),this.messageKeyIndex.set(t,i),this.logger.debug(`Added message to retry cache: ${e}/${t}`)}getRecentMessage(e,t){const s=this.keyToString({to:e,id:t});return this.recentMessagesMap.get(s)}shouldRecreateSession(e,t,s){if(!s)return this.sessionRecreateHistory.set(e,Date.now()),this.statistics.sessionRecreations++,{reason:'we don\'t have a Signal session with them',recreate:!0};if(2>t)return{reason:'',recreate:!1};const i=Date.now(),n=this.sessionRecreateHistory.get(e);return!n||i-n>36e5?(this.sessionRecreateHistory.set(e,i),this.statistics.sessionRecreations++,{reason:'retry count > 1 and over an hour since last recreation',recreate:!0}):{reason:'',recreate:!1}}incrementRetryCount(e){return this.retryCounters.set(e,(this.retryCounters.get(e)||0)+1),this.statistics.totalRetries++,this.retryCounters.get(e)}getRetryCount(e){return this.retryCounters.get(e)||0}hasExceededMaxRetries(e){return this.getRetryCount(e)>=this.maxMsgRetryCount}markRetrySuccess(e){this.statistics.successfulRetries++,this.retryCounters.delete(e),this.cancelPendingPhoneRequest(e),this.removeRecentMessage(e)}markRetryFailed(e){this.statistics.failedRetries++,this.retryCounters.delete(e),this.cancelPendingPhoneRequest(e),this.removeRecentMessage(e)}schedulePhoneRequest(e,t,s=3e3){this.cancelPendingPhoneRequest(e),this.pendingPhoneRequests[e]=setTimeout(()=>{delete this.pendingPhoneRequests[e],this.statistics.phoneRequests++,t()},s),this.logger.debug(`Scheduled phone request for message ${e} with ${s}ms delay`)}cancelPendingPhoneRequest(e){const t=this.pendingPhoneRequests[e];t&&(clearTimeout(t),delete this.pendingPhoneRequests[e],this.logger.debug('Cancelled pending phone request for message '+e))}keyToString(e){return`${e.to}\0${e.id}`}removeRecentMessage(e){const t=this.messageKeyIndex.get(e);t&&(this.recentMessagesMap.delete(t),this.messageKeyIndex.delete(e))}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-retry-manager.js","sourceRoot":"","sources":["../../src/Utils/message-retry-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import { Readable, Transform } from 'stream';
3
+ import { URL } from 'url';
4
+ import { proto } from '../../WAProto/index.js';
5
+ import { type MediaType } from '../Defaults/index.js';
6
+ import type { DownloadableMessage, MediaConnInfo, MediaDecryptionKeyInfo, SocketConfig, WAMediaUpload, WAMediaUploadFunction, WAMessageContent, WAMessageKey } from '../Types/index.js';
7
+ import { type BinaryNode } from '../WABinary/index.js';
8
+ import type { ILogger } from './logger.js';
9
+ export declare const hkdfInfoKey: (type: MediaType) => string;
10
+ export declare const getRawMediaUploadData: (media: WAMediaUpload, mediaType: MediaType, logger?: ILogger) => Promise<{
11
+ filePath: string;
12
+ fileSha256: Buffer<ArrayBufferLike>;
13
+ fileLength: number;
14
+ }>;
15
+ /** generates all the keys required to encrypt/decrypt & sign a media message */
16
+ export declare function getMediaKeys(buffer: Uint8Array | string | null | undefined, mediaType: MediaType): Promise<MediaDecryptionKeyInfo>;
17
+ export declare const extractImageThumb: (bufferOrFilePath: Readable | Buffer | string, width?: number) => Promise<{
18
+ buffer: any;
19
+ original: {
20
+ width: any;
21
+ height: any;
22
+ };
23
+ }>;
24
+ export declare const encodeBase64EncodedStringForUpload: (b64: string) => string;
25
+ export declare const generateProfilePicture: (mediaUpload: WAMediaUpload, dimensions?: {
26
+ width: number;
27
+ height: number;
28
+ }) => Promise<{
29
+ img: Buffer<ArrayBufferLike>;
30
+ }>;
31
+ /** gets the SHA256 of the given media message */
32
+ export declare const mediaMessageSHA256B64: (message: WAMessageContent) => string | null | undefined;
33
+ export declare function getAudioDuration(buffer: Buffer | string | Readable): Promise<number | undefined>;
34
+ /**
35
+ referenced from and modifying https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/prepareAudioWaveform.ts
36
+ */
37
+ export declare function getAudioWaveform(buffer: Buffer | string | Readable, logger?: ILogger): Promise<Uint8Array<ArrayBuffer> | undefined>;
38
+ export declare const toReadable: (buffer: Buffer) => Readable;
39
+ export declare const toBuffer: (stream: Readable) => Promise<Buffer<ArrayBuffer>>;
40
+ export declare const getStream: (item: WAMediaUpload, opts?: RequestInit & {
41
+ maxContentLength?: number;
42
+ }) => Promise<{
43
+ readonly stream: Readable;
44
+ readonly type: "buffer";
45
+ } | {
46
+ readonly stream: Readable;
47
+ readonly type: "readable";
48
+ } | {
49
+ readonly stream: Readable;
50
+ readonly type: "remote";
51
+ } | {
52
+ readonly stream: import("fs").ReadStream;
53
+ readonly type: "file";
54
+ }>;
55
+ /** generates a thumbnail for a given media, if required */
56
+ export declare function generateThumbnail(file: string, mediaType: 'video' | 'image', options: {
57
+ logger?: ILogger;
58
+ }): Promise<{
59
+ thumbnail: string | undefined;
60
+ originalImageDimensions: {
61
+ width: number;
62
+ height: number;
63
+ } | undefined;
64
+ }>;
65
+ export declare const getHttpStream: (url: string | URL, options?: RequestInit & {
66
+ isStream?: true;
67
+ }) => Promise<Readable>;
68
+ type EncryptedStreamOptions = {
69
+ saveOriginalFileIfRequired?: boolean;
70
+ logger?: ILogger;
71
+ opts?: RequestInit;
72
+ };
73
+ export declare const encryptedStream: (media: WAMediaUpload, mediaType: MediaType, { logger, saveOriginalFileIfRequired, opts }?: EncryptedStreamOptions) => Promise<{
74
+ mediaKey: Buffer<ArrayBufferLike>;
75
+ originalFilePath: string | undefined;
76
+ encFilePath: string;
77
+ mac: Buffer<ArrayBuffer>;
78
+ fileEncSha256: Buffer<ArrayBufferLike>;
79
+ fileSha256: Buffer<ArrayBufferLike>;
80
+ fileLength: number;
81
+ }>;
82
+ export type MediaDownloadOptions = {
83
+ startByte?: number;
84
+ endByte?: number;
85
+ options?: RequestInit;
86
+ };
87
+ export declare const getUrlFromDirectPath: (directPath: string) => string;
88
+ export declare const downloadContentFromMessage: ({ mediaKey, directPath, url }: DownloadableMessage, type: MediaType, opts?: MediaDownloadOptions) => Promise<Transform>;
89
+ /**
90
+ * Decrypts and downloads an AES256-CBC encrypted file given the keys.
91
+ * Assumes the SHA256 of the plaintext is appended to the end of the ciphertext
92
+ * */
93
+ export declare const downloadEncryptedContent: (downloadUrl: string, { cipherKey, iv }: MediaDecryptionKeyInfo, { startByte, endByte, options }?: MediaDownloadOptions) => Promise<Transform>;
94
+ export declare function extensionForMediaMessage(message: WAMessageContent): string;
95
+ export declare const getWAUploadToServer: ({ customUploadHosts, fetchAgent, logger, options }: SocketConfig, refreshMediaConn: (force: boolean) => Promise<MediaConnInfo>) => WAMediaUploadFunction;
96
+ /**
97
+ * Generate a binary node that will request the phone to re-upload the media & return the newly uploaded URL
98
+ */
99
+ export declare const encryptMediaRetryRequest: (key: WAMessageKey, mediaKey: Buffer | Uint8Array, meId: string) => Promise<BinaryNode>;
100
+ export declare const decodeMediaRetryNode: (node: BinaryNode) => {
101
+ key: WAMessageKey;
102
+ media?: {
103
+ ciphertext: Uint8Array;
104
+ iv: Uint8Array;
105
+ };
106
+ error?: Boom;
107
+ };
108
+ export declare const decryptMediaRetryData: ({ ciphertext, iv }: {
109
+ ciphertext: Uint8Array;
110
+ iv: Uint8Array;
111
+ }, mediaKey: Uint8Array, msgId: string) => Promise<proto.MediaRetryNotification>;
112
+ export declare const getStatusCodeForMediaRetry: (code: number) => 200 | 412 | 404 | 418;
113
+ export {};
114
+ //# sourceMappingURL=messages-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-media.d.ts","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{Boom as t}from'@hapi/boom';import{exec as e}from'child_process';import*as a from'crypto';import{once as r}from'events';import{createReadStream as i,createWriteStream as o,promises as s,WriteStream as n}from'fs';import{tmpdir as c}from'os';import{join as d}from'path';import{Readable as p,Transform as f}from'stream';import{URL as m}from'url';import{proto as h}from'../../WAProto/index.js';import{DEFAULT_ORIGIN as l,MEDIA_HKDF_KEY_MAPPING as u,MEDIA_PATH_MAP as g}from'../Defaults/index.js';import{getBinaryNodeChild as y,getBinaryNodeChildBuffer as w,jidNormalizedUser as b}from'../WABinary/index.js';import{aesDecryptGCM as x,aesEncryptGCM as R,hkdf as v}from'./crypto.js';import{generateMessageIDV2 as B}from'./generics.js';const M=()=>c(),S=async()=>{const[e,a]=await Promise.all([import('jimp').catch(()=>{}),import('sharp').catch(()=>{})]);if(a)return{sharp:a};if(e)return{jimp:e};throw new t('No image processing library available')};export const hkdfInfoKey=t=>`WhatsApp ${u[t]} Keys`;export const getRawMediaUploadData=async(t,e,i)=>{const{stream:n}=await getStream(t);i?.debug('got stream for raw upload');const p=a.createHash('sha256'),f=d(c(),e+B()),m=o(f);let h=0;try{for await(const t of n)h+=t.length,p.update(t),m.write(t)||await r(m,'drain');m.end(),await r(m,'finish'),n.destroy();const t=p.digest();return i?.debug('hashed data for raw upload'),{filePath:f,fileSha256:t,fileLength:h}}catch(t){m.destroy(),n.destroy();try{await s.unlink(f)}catch{}throw t}};export async function getMediaKeys(e,a){if(!e)throw new t('Cannot derive from empty media key');'string'==typeof e&&(e=Buffer.from(e.replace('data:;base64,',''),'base64'));const r=await v(e,112,{info:(i=a,`WhatsApp ${u[i]} Keys`)});var i;return{iv:r.slice(0,16),cipherKey:r.slice(16,48),macKey:r.slice(48,80)}}export const extractImageThumb=async(e,a=32)=>{e instanceof p&&(e=await toBuffer(e));const r=await S();if('sharp'in r&&'function'==typeof r.sharp?.default){const t=r.sharp.default(e),i=await t.metadata();return{buffer:await t.resize(a).jpeg({quality:50}).toBuffer(),original:{width:i.width,height:i.height}}}if('jimp'in r&&'object'==typeof r.jimp?.Jimp){const t=await r.jimp.Jimp.read(e),i={width:t.width,height:t.height};return{buffer:await t.resize({w:a,mode:r.jimp.ResizeStrategy.BILINEAR}).getBuffer('image/jpeg',{quality:50}),original:i}}throw new t('No image processing library available')};export const encodeBase64EncodedStringForUpload=t=>encodeURIComponent(t.replace(/\+/g,'-').replace(/\//g,'_').replace(/\=+$/,''));export const generateProfilePicture=async(e,a)=>{let r;const{width:i=640,height:o=640}=a||{};if(Buffer.isBuffer(e))r=e;else{const{stream:t}=await getStream(e);r=await toBuffer(t)}const s=await S();let n;if('sharp'in s&&'function'==typeof s.sharp?.default)n=s.sharp.default(r).resize(i,o).jpeg({quality:50}).toBuffer();else{if(!('jimp'in s)||'function'!=typeof s.jimp?.Jimp)throw new t('No image processing library available');{const t=await s.jimp.Jimp.read(r),e=Math.min(t.width,t.height);n=t.crop({x:0,y:0,w:e,h:e}).resize({w:i,h:o,mode:s.jimp.ResizeStrategy.BILINEAR}).getBuffer('image/jpeg',{quality:50})}}return{img:await n}};export const mediaMessageSHA256B64=t=>{const e=Object.values(t)[0];return e?.fileSha256&&Buffer.from(e.fileSha256).toString('base64')};export async function getAudioDuration(t){const e=await import('music-metadata');let a;const r={duration:!0};return a=Buffer.isBuffer(t)?await e.parseBuffer(t,void 0,r):'string'==typeof t?await e.parseFile(t,r):await e.parseStream(t,void 0,r),a.format.duration}export async function getAudioWaveform(t,e){try{const{default:e}=await import('audio-decode');let a;if(Buffer.isBuffer(t))a=t;else if('string'==typeof t){const e=i(t);a=await toBuffer(e)}else a=await toBuffer(t);const r=(await e(a)).getChannelData(0),o=64,s=Math.floor(r.length/o),n=[];for(let t=0;o>t;t++){const e=s*t;let a=0;for(let t=0;s>t;t++)a+=Math.abs(r[e+t]);n.push(a/s)}const c=Math.pow(Math.max(...n),-1),d=n.map(t=>t*c);return new Uint8Array(d.map(t=>Math.floor(100*t)))}catch(t){e?.debug('Failed to generate waveform: '+t)}}export const toReadable=t=>{const e=new p({read:()=>{}});return e.push(t),e.push(null),e};export const toBuffer=async t=>{const e=[];for await(const a of t)e.push(a);return t.destroy(),Buffer.concat(e)};export const getStream=async(t,e)=>{if(Buffer.isBuffer(t))return{stream:toReadable(t),type:'buffer'};if('stream'in t)return{stream:t.stream,type:'readable'};const a=''+t.url;if(a.startsWith('data:')){const t=Buffer.from(a.split(',')[1],'base64');return{stream:toReadable(t),type:'buffer'}}return a.startsWith('http://')||a.startsWith('https://')?{stream:await getHttpStream(t.url,e),type:'remote'}:{stream:i(t.url),type:'file'}};export async function generateThumbnail(t,a,r){let i,o;if('image'===a){const{buffer:e,original:a}=await extractImageThumb(t);i=e.toString('base64'),a.width&&a.height&&(o={width:a.width,height:a.height})}else if('video'===a){const a=d(M(),B()+'.jpg');try{await(async(t,a)=>new Promise((r,i)=>{e(`ffmpeg -ss 00:00:00 -i ${t} -y -vf scale=32:-1 -vframes 1 -f image2 ${a}`,t=>{t?i(t):r()})}))(t,a),i=(await s.readFile(a)).toString('base64'),await s.unlink(a)}catch(t){r.logger?.debug('could not generate video thumb: '+t)}}return{thumbnail:i,originalImageDimensions:o}}export const getHttpStream=async(e,a={})=>{const r=await fetch(''+e,{dispatcher:a.dispatcher,method:'GET',headers:a.headers});if(!r.ok)throw new t('Failed to fetch stream from '+e,{statusCode:r.status,data:{url:e}});return r.body instanceof p?r.body:p.fromWeb(r.body)};export const encryptedStream=async(e,i,{logger:n,saveOriginalFileIfRequired:c,opts:p}={})=>{const{stream:f,type:m}=await getStream(e,p);n?.debug('fetched media stream');const h=a.randomBytes(32),{cipherKey:l,iv:u,macKey:g}=await getMediaKeys(h,i),y=d(M(),i+B()+'-enc'),w=o(y);let b,x;c&&(x=d(M(),i+B()+'-original'),b=o(x));let R=0;const v=a.createCipheriv('aes-256-cbc',l,u),S=a.createHmac('sha256',g).update(u),j=a.createHash('sha256'),C=a.createHash('sha256'),A=t=>{C.update(t),S.update(t),w.write(t)};try{for await(const a of f){if(R+=a.length,'remote'===m&&p?.maxContentLength&&R+a.length>p.maxContentLength)throw new t(`content length exceeded when encrypting "${m}"`,{data:{media:e,type:m}});b&&(b.write(a)||await r(b,'drain')),j.update(a),A(v.update(a))}A(v.final());const a=S.digest().slice(0,10);C.update(a);const i=j.digest(),o=C.digest();return w.write(a),w.end(),b?.end?.(),f.destroy(),n?.debug('encrypted data successfully'),{mediaKey:h,originalFilePath:x,encFilePath:y,mac:a,fileEncSha256:o,fileSha256:i,fileLength:R}}catch(t){w.destroy(),b?.destroy?.(),v.destroy(),S.destroy(),j.destroy(),C.destroy(),f.destroy();try{await s.unlink(y),x&&await s.unlink(x)}catch(t){n?.error({err:t},'failed deleting tmp files')}throw t}};const j=16,C=t=>Math.floor(t/j)*j;export const getUrlFromDirectPath=t=>'https://mmg.whatsapp.net'+t;export const downloadContentFromMessage=async({mediaKey:e,directPath:a,url:r},i,o={})=>{const s=r?.startsWith('https://mmg.whatsapp.net/'),n=s?r:getUrlFromDirectPath(a);if(!n)throw new t('No valid media URL or directPath present in message',{statusCode:400});const c=await getMediaKeys(e,i);return downloadEncryptedContent(n,c,o)};export const downloadEncryptedContent=async(t,{cipherKey:e,iv:r},{startByte:i,endByte:o,options:s}={})=>{let n=0,c=0,d=!1;if(i){const t=C(i||0);t&&(c=t-j,n=t,d=!0)}const p=o?C(o||0)+j:void 0,m=s?.headers?s.headers:void 0,h={...m?Array.isArray(m)?Object.fromEntries(m):m:{},Origin:l};(c||p)&&(h.Range=`bytes=${c}-`,p&&(h.Range+=p));const u=await getHttpStream(t,{...s||{},headers:h});let g,y=Buffer.from([]);const w=(t,e)=>{i||o?(e(t.slice(i>n?Math.max(i-n,0):void 0,o>n+t.length?void 0:Math.max(o-n,0))),n+=t.length):e(t)},b=new f({transform(t,i,s){let n=Buffer.concat([y,t]);const c=C(n.length);if(y=n.slice(c),n=n.slice(0,c),!g){let t=r;d&&(t=n.slice(0,j),n=n.slice(j)),g=a.createDecipheriv('aes-256-cbc',e,t),o&&g.setAutoPadding(!1)}try{w(g.update(n),t=>this.push(t)),s()}catch(t){s(t)}},final(t){try{w(g.final(),t=>this.push(t)),t()}catch(e){t(e)}}});return u.pipe(b,{end:!0})};export function extensionForMediaMessage(t){const e=Object.keys(t)[0];let a;var r;return'locationMessage'===e||'liveLocationMessage'===e||'productMessage'===e?a='.jpeg':(r=t[e].mimetype,a=r.split(';')[0]?.split('/')[1]),a}export const getWAUploadToServer=({customUploadHosts:e,fetchAgent:a,logger:r,options:o},s)=>async(n,{mediaType:c,fileEncSha256B64:d,timeoutMs:p})=>{let f,m=await s(!1);const h=[...e,...m.hosts];d=encodeURIComponent(d.replace(/\+/g,'-').replace(/\//g,'_').replace(/\=+$/,''));for(const{hostname:t}of h){r.debug(`uploading to "${t}"`);const e=`https://${t}${g[c]}/${d}?auth=${encodeURIComponent(m.auth)}&token=${d}`;let u;try{const t=i(n),r=await fetch(e,{dispatcher:a,method:'POST',body:t,headers:{...(()=>{const t=o?.headers;return t?Array.isArray(t)?Object.fromEntries(t):t:{}})(),'Content-Type':'application/octet-stream',Origin:l},duplex:'half',signal:p?AbortSignal.timeout(p):void 0});let c;try{c=await r.json()}catch{c=void 0}if(u=c,u?.url||u?.directPath){f={mediaUrl:u.url,directPath:u.direct_path,meta_hmac:u.meta_hmac,fbid:u.fbid,ts:u.ts};break}throw m=await s(!0),Error('upload failed, reason: '+JSON.stringify(u))}catch(e){const a=t===h[m.hosts.length-1]?.hostname;r.warn({trace:e?.stack,uploadResult:u},`Error in uploading to ${t} ${a?'':', retrying...'}`)}}if(!f)throw new t('Media upload failed on all hosts',{statusCode:500});return f};const A=t=>v(t,32,{info:'WhatsApp Media Retry Notification'});export const encryptMediaRetryRequest=async(t,e,r)=>{const i=h.ServerErrorReceipt.encode({stanzaId:t.id}).finish(),o=a.randomBytes(12),s=await A(e),n=R(i,s,o,Buffer.from(t.id));return{tag:'receipt',attrs:{id:t.id,to:b(r),type:'server-error'},content:[{tag:'encrypt',attrs:{},content:[{tag:'enc_p',attrs:{},content:n},{tag:'enc_iv',attrs:{},content:o}]},{tag:'rmr',attrs:{jid:t.remoteJid,from_me:''+!!t.fromMe,participant:t.participant||void 0}}]}};export const decodeMediaRetryNode=e=>{const a=y(e,'rmr'),r={key:{id:e.attrs.id,remoteJid:a.attrs.jid,fromMe:'true'===a.attrs.from_me,participant:a.attrs.participant}},i=y(e,'error');if(i){const e=+i.attrs.code;r.error=new t(`Failed to re-upload media (${e})`,{data:i.attrs,statusCode:getStatusCodeForMediaRetry(e)})}else{const a=y(e,'encrypt'),i=w(a,'enc_p'),o=w(a,'enc_iv');i&&o?r.media={ciphertext:i,iv:o}:r.error=new t('Failed to re-upload media (missing ciphertext)',{statusCode:404})}return r};export const decryptMediaRetryData=async({ciphertext:t,iv:e},a,r)=>{const i=await A(a),o=x(t,i,e,Buffer.from(r));return h.MediaRetryNotification.decode(o)};export const getStatusCodeForMediaRetry=t=>E[t];const E={[h.MediaRetryNotification.ResultType.SUCCESS]:200,[h.MediaRetryNotification.ResultType.DECRYPTION_ERROR]:412,[h.MediaRetryNotification.ResultType.NOT_FOUND]:404,[h.MediaRetryNotification.ResultType.GENERAL_ERROR]:418};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-media.js","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"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"}