@periskope/baileys 6.7.17-alpha.4 → 6.7.18-13

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 (301) hide show
  1. package/README.md +1263 -4
  2. package/WAProto/GenerateStatics.sh +2 -0
  3. package/WAProto/WAProto.proto +4633 -0
  4. package/WAProto/index.d.ts +3212 -122
  5. package/WAProto/index.js +9635 -299
  6. package/lib/Defaults/baileys-version.json +1 -1
  7. package/lib/Defaults/index.d.ts +1 -1
  8. package/lib/Defaults/index.d.ts.map +1 -0
  9. package/lib/Defaults/index.js +16 -16
  10. package/lib/Defaults/index.js.map +1 -0
  11. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  12. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.js +15 -0
  14. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  15. package/lib/Signal/Group/group-session-builder.d.ts +14 -0
  16. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.js +64 -0
  18. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  19. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  20. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  21. package/lib/Signal/Group/group_cipher.js +96 -0
  22. package/lib/Signal/Group/group_cipher.js.map +1 -0
  23. package/lib/Signal/Group/index.d.ts +11 -0
  24. package/lib/Signal/Group/index.d.ts.map +1 -0
  25. package/lib/Signal/Group/index.js +57 -0
  26. package/lib/Signal/Group/index.js.map +1 -0
  27. package/lib/Signal/Group/keyhelper.d.ts +10 -0
  28. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  29. package/lib/Signal/Group/keyhelper.js +55 -0
  30. package/lib/Signal/Group/keyhelper.js.map +1 -0
  31. package/lib/Signal/Group/queue-job.d.ts +1 -0
  32. package/lib/Signal/Group/queue-job.d.ts.map +1 -0
  33. package/lib/Signal/Group/queue-job.js +57 -0
  34. package/lib/Signal/Group/queue-job.js.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
  36. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  37. package/lib/Signal/Group/sender-chain-key.js +34 -0
  38. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
  40. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  41. package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
  42. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.d.ts +18 -0
  44. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  45. package/lib/Signal/Group/sender-key-message.js +69 -0
  46. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.d.ts +17 -0
  48. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  49. package/lib/Signal/Group/sender-key-name.js +51 -0
  50. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.d.ts +30 -0
  52. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  53. package/lib/Signal/Group/sender-key-record.js +53 -0
  54. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.d.ts +38 -0
  56. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  57. package/lib/Signal/Group/sender-key-state.js +99 -0
  58. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  60. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  61. package/{WASignalGroup/sender_message_key.js → lib/Signal/Group/sender-message-key.js} +29 -39
  62. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  63. package/lib/Signal/libsignal.d.ts.map +1 -0
  64. package/lib/Signal/libsignal.js +33 -20
  65. package/lib/Signal/libsignal.js.map +1 -0
  66. package/lib/Socket/Client/index.d.ts.map +1 -0
  67. package/lib/Socket/Client/index.js.map +1 -0
  68. package/lib/Socket/Client/types.d.ts.map +1 -0
  69. package/lib/Socket/Client/types.js.map +1 -0
  70. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  71. package/lib/Socket/Client/websocket.js +1 -1
  72. package/lib/Socket/Client/websocket.js.map +1 -0
  73. package/lib/Socket/business.d.ts +36 -8
  74. package/lib/Socket/business.d.ts.map +1 -0
  75. package/lib/Socket/business.js +5 -5
  76. package/lib/Socket/business.js.map +1 -0
  77. package/lib/Socket/chats.d.ts +12 -7
  78. package/lib/Socket/chats.d.ts.map +1 -0
  79. package/lib/Socket/chats.js +90 -72
  80. package/lib/Socket/chats.js.map +1 -0
  81. package/lib/Socket/communities.d.ts +218 -0
  82. package/lib/Socket/communities.d.ts.map +1 -0
  83. package/lib/Socket/communities.js +351 -0
  84. package/lib/Socket/communities.js.map +1 -0
  85. package/lib/Socket/groups.d.ts +14 -8
  86. package/lib/Socket/groups.d.ts.map +1 -0
  87. package/lib/Socket/groups.js +39 -23
  88. package/lib/Socket/groups.js.map +1 -0
  89. package/lib/Socket/index.d.ts +36 -8
  90. package/lib/Socket/index.d.ts.map +1 -0
  91. package/lib/Socket/index.js +2 -2
  92. package/lib/Socket/index.js.map +1 -0
  93. package/lib/Socket/messages-recv.d.ts +35 -7
  94. package/lib/Socket/messages-recv.d.ts.map +1 -0
  95. package/lib/Socket/messages-recv.js +228 -58
  96. package/lib/Socket/messages-recv.js.map +1 -0
  97. package/lib/Socket/messages-send.d.ts +35 -7
  98. package/lib/Socket/messages-send.d.ts.map +1 -0
  99. package/lib/Socket/messages-send.js +81 -48
  100. package/lib/Socket/messages-send.js.map +1 -0
  101. package/lib/Socket/mex.d.ts +2 -0
  102. package/lib/Socket/mex.d.ts.map +1 -0
  103. package/lib/Socket/mex.js +46 -0
  104. package/lib/Socket/mex.js.map +1 -0
  105. package/lib/Socket/newsletter.d.ts +141 -0
  106. package/lib/Socket/newsletter.d.ts.map +1 -0
  107. package/lib/Socket/newsletter.js +183 -0
  108. package/lib/Socket/newsletter.js.map +1 -0
  109. package/lib/Socket/socket.d.ts +3 -3
  110. package/lib/Socket/socket.d.ts.map +1 -0
  111. package/lib/Socket/socket.js +22 -30
  112. package/lib/Socket/socket.js.map +1 -0
  113. package/lib/Socket/usync.d.ts +3 -3
  114. package/lib/Socket/usync.d.ts.map +1 -0
  115. package/lib/Socket/usync.js +10 -15
  116. package/lib/Socket/usync.js.map +1 -0
  117. package/lib/Types/Auth.d.ts +1 -1
  118. package/lib/Types/Auth.d.ts.map +1 -0
  119. package/lib/Types/Auth.js.map +1 -0
  120. package/lib/Types/Call.d.ts.map +1 -0
  121. package/lib/Types/Call.js.map +1 -0
  122. package/lib/Types/Chat.d.ts +4 -1
  123. package/lib/Types/Chat.d.ts.map +1 -0
  124. package/lib/Types/Chat.js +7 -1
  125. package/lib/Types/Chat.js.map +1 -0
  126. package/lib/Types/Contact.d.ts +4 -0
  127. package/lib/Types/Contact.d.ts.map +1 -0
  128. package/lib/Types/Contact.js.map +1 -0
  129. package/lib/Types/Events.d.ts +34 -1
  130. package/lib/Types/Events.d.ts.map +1 -0
  131. package/lib/Types/Events.js.map +1 -0
  132. package/lib/Types/GroupMetadata.d.ts +10 -3
  133. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  134. package/lib/Types/GroupMetadata.js.map +1 -0
  135. package/lib/Types/Label.d.ts.map +1 -0
  136. package/lib/Types/Label.js.map +1 -0
  137. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  138. package/lib/Types/LabelAssociation.js.map +1 -0
  139. package/lib/Types/Message.d.ts +12 -2
  140. package/lib/Types/Message.d.ts.map +1 -0
  141. package/lib/Types/Message.js.map +1 -0
  142. package/lib/Types/Newsletter.d.ts +134 -0
  143. package/lib/Types/Newsletter.d.ts.map +1 -0
  144. package/lib/Types/Newsletter.js +33 -0
  145. package/lib/Types/Newsletter.js.map +1 -0
  146. package/lib/Types/Product.d.ts.map +1 -0
  147. package/lib/Types/Product.js.map +1 -0
  148. package/lib/Types/Signal.d.ts.map +1 -0
  149. package/lib/Types/Signal.js.map +1 -0
  150. package/lib/Types/Socket.d.ts +3 -3
  151. package/lib/Types/Socket.d.ts.map +1 -0
  152. package/lib/Types/Socket.js.map +1 -0
  153. package/lib/Types/State.d.ts.map +1 -0
  154. package/lib/Types/State.js.map +1 -0
  155. package/lib/Types/USync.d.ts.map +1 -0
  156. package/lib/Types/USync.js.map +1 -0
  157. package/lib/Types/index.d.ts +1 -0
  158. package/lib/Types/index.d.ts.map +1 -0
  159. package/lib/Types/index.js +1 -0
  160. package/lib/Types/index.js.map +1 -0
  161. package/lib/Utils/auth-utils.d.ts.map +1 -0
  162. package/lib/Utils/auth-utils.js +8 -9
  163. package/lib/Utils/auth-utils.js.map +1 -0
  164. package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
  165. package/lib/Utils/baileys-event-stream.js +1 -1
  166. package/lib/Utils/baileys-event-stream.js.map +1 -0
  167. package/lib/Utils/business.d.ts.map +1 -0
  168. package/lib/Utils/business.js +9 -11
  169. package/lib/Utils/business.js.map +1 -0
  170. package/lib/Utils/chat-utils.d.ts +4 -4
  171. package/lib/Utils/chat-utils.d.ts.map +1 -0
  172. package/lib/Utils/chat-utils.js +78 -70
  173. package/lib/Utils/chat-utils.js.map +1 -0
  174. package/lib/Utils/crypto.d.ts.map +1 -0
  175. package/lib/Utils/crypto.js +4 -10
  176. package/lib/Utils/crypto.js.map +1 -0
  177. package/lib/Utils/decode-wa-message.d.ts +3 -4
  178. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  179. package/lib/Utils/decode-wa-message.js +11 -2
  180. package/lib/Utils/decode-wa-message.js.map +1 -0
  181. package/lib/Utils/event-buffer.d.ts +2 -2
  182. package/lib/Utils/event-buffer.d.ts.map +1 -0
  183. package/lib/Utils/event-buffer.js +9 -13
  184. package/lib/Utils/event-buffer.js.map +1 -0
  185. package/lib/Utils/generics.d.ts +2 -1
  186. package/lib/Utils/generics.d.ts.map +1 -0
  187. package/lib/Utils/generics.js +32 -30
  188. package/lib/Utils/generics.js.map +1 -0
  189. package/lib/Utils/history.d.ts.map +1 -0
  190. package/lib/Utils/history.js +10 -11
  191. package/lib/Utils/history.js.map +1 -0
  192. package/lib/Utils/index.d.ts.map +1 -0
  193. package/lib/Utils/index.js.map +1 -0
  194. package/lib/Utils/link-preview.d.ts.map +1 -0
  195. package/lib/Utils/link-preview.js +9 -10
  196. package/lib/Utils/link-preview.js.map +1 -0
  197. package/lib/Utils/logger.d.ts.map +1 -0
  198. package/lib/Utils/logger.js.map +1 -0
  199. package/lib/Utils/lt-hash.d.ts.map +1 -0
  200. package/lib/Utils/lt-hash.js +2 -2
  201. package/lib/Utils/lt-hash.js.map +1 -0
  202. package/lib/Utils/make-mutex.d.ts.map +1 -0
  203. package/lib/Utils/make-mutex.js +1 -1
  204. package/lib/Utils/make-mutex.js.map +1 -0
  205. package/lib/Utils/messages-media.d.ts +11 -3
  206. package/lib/Utils/messages-media.d.ts.map +1 -0
  207. package/lib/Utils/messages-media.js +108 -90
  208. package/lib/Utils/messages-media.js.map +1 -0
  209. package/lib/Utils/messages.d.ts +3 -3
  210. package/lib/Utils/messages.d.ts.map +1 -0
  211. package/lib/Utils/messages.js +109 -69
  212. package/lib/Utils/messages.js.map +1 -0
  213. package/lib/Utils/noise-handler.d.ts.map +1 -0
  214. package/lib/Utils/noise-handler.js.map +1 -0
  215. package/lib/Utils/process-message.d.ts +1 -1
  216. package/lib/Utils/process-message.d.ts.map +1 -0
  217. package/lib/Utils/process-message.js +62 -65
  218. package/lib/Utils/process-message.js.map +1 -0
  219. package/lib/Utils/signal.d.ts.map +1 -0
  220. package/lib/Utils/signal.js +9 -7
  221. package/lib/Utils/signal.js.map +1 -0
  222. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  223. package/lib/Utils/use-multi-file-auth-state.js +2 -3
  224. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  225. package/lib/Utils/validate-connection.d.ts.map +1 -0
  226. package/lib/Utils/validate-connection.js +17 -22
  227. package/lib/Utils/validate-connection.js.map +1 -0
  228. package/lib/WABinary/constants.d.ts +4 -4
  229. package/lib/WABinary/constants.d.ts.map +1 -0
  230. package/lib/WABinary/constants.js +1271 -8
  231. package/lib/WABinary/constants.js.map +1 -0
  232. package/lib/WABinary/decode.d.ts.map +1 -0
  233. package/lib/WABinary/decode.js +2 -1
  234. package/lib/WABinary/decode.js.map +1 -0
  235. package/lib/WABinary/encode.d.ts.map +1 -0
  236. package/lib/WABinary/encode.js +2 -2
  237. package/lib/WABinary/encode.js.map +1 -0
  238. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  239. package/lib/WABinary/generic-utils.js +1 -1
  240. package/lib/WABinary/generic-utils.js.map +1 -0
  241. package/lib/WABinary/index.d.ts.map +1 -0
  242. package/lib/WABinary/index.js.map +1 -0
  243. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  244. package/lib/WABinary/jid-utils.js +8 -11
  245. package/lib/WABinary/jid-utils.js.map +1 -0
  246. package/lib/WABinary/types.d.ts.map +1 -0
  247. package/lib/WABinary/types.js.map +1 -0
  248. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  249. package/lib/WAM/BinaryInfo.js.map +1 -0
  250. package/lib/WAM/constants.d.ts.map +1 -0
  251. package/lib/WAM/constants.js +2252 -2359
  252. package/lib/WAM/constants.js.map +1 -0
  253. package/lib/WAM/encode.d.ts.map +1 -0
  254. package/lib/WAM/encode.js +5 -7
  255. package/lib/WAM/encode.js.map +1 -0
  256. package/lib/WAM/index.d.ts.map +1 -0
  257. package/lib/WAM/index.js.map +1 -0
  258. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  259. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  260. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  261. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  262. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +2 -2
  263. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  264. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  265. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +3 -3
  266. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  267. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  268. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +5 -5
  269. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  270. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  271. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -1
  272. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  273. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  274. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -1
  275. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  276. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  277. package/lib/WAUSync/Protocols/index.js.map +1 -0
  278. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  279. package/lib/WAUSync/USyncQuery.js +17 -13
  280. package/lib/WAUSync/USyncQuery.js.map +1 -0
  281. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  282. package/lib/WAUSync/USyncUser.js.map +1 -0
  283. package/lib/WAUSync/index.d.ts.map +1 -0
  284. package/lib/WAUSync/index.js.map +1 -0
  285. package/lib/index.d.ts.map +1 -0
  286. package/lib/index.js.map +1 -0
  287. package/package.json +25 -17
  288. package/WASignalGroup/GroupProtocol.js +0 -1697
  289. package/WASignalGroup/ciphertext_message.js +0 -16
  290. package/WASignalGroup/group_cipher.js +0 -120
  291. package/WASignalGroup/group_session_builder.js +0 -46
  292. package/WASignalGroup/index.js +0 -5
  293. package/WASignalGroup/keyhelper.js +0 -21
  294. package/WASignalGroup/protobufs.js +0 -3
  295. package/WASignalGroup/queue_job.js +0 -69
  296. package/WASignalGroup/sender_chain_key.js +0 -50
  297. package/WASignalGroup/sender_key_distribution_message.js +0 -78
  298. package/WASignalGroup/sender_key_message.js +0 -92
  299. package/WASignalGroup/sender_key_name.js +0 -70
  300. package/WASignalGroup/sender_key_record.js +0 -56
  301. package/WASignalGroup/sender_key_state.js +0 -129
@@ -72,9 +72,9 @@ const getUrlInfo = async (text, opts = {
72
72
  if (retries >= maxRetry) {
73
73
  return false;
74
74
  }
75
- if (forwardedURLObj.hostname === urlObj.hostname
76
- || forwardedURLObj.hostname === 'www.' + urlObj.hostname
77
- || 'www.' + forwardedURLObj.hostname === urlObj.hostname) {
75
+ if (forwardedURLObj.hostname === urlObj.hostname ||
76
+ forwardedURLObj.hostname === 'www.' + urlObj.hostname ||
77
+ 'www.' + forwardedURLObj.hostname === urlObj.hostname) {
78
78
  retries + 1;
79
79
  return true;
80
80
  }
@@ -82,7 +82,10 @@ const getUrlInfo = async (text, opts = {
82
82
  return false;
83
83
  }
84
84
  },
85
- headers: { ...(opts.fetchOpts.headers || {}), "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", }
85
+ headers: {
86
+ ...(opts.fetchOpts.headers || {}),
87
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36'
88
+ }
86
89
  });
87
90
  if (info && 'title' in info && info.title) {
88
91
  const [image] = info.images;
@@ -101,17 +104,13 @@ const getUrlInfo = async (text, opts = {
101
104
  mediaTypeOverride: 'thumbnail-link',
102
105
  options: opts.fetchOpts
103
106
  });
104
- urlInfo.jpegThumbnail = (imageMessage === null || imageMessage === void 0 ? void 0 : imageMessage.jpegThumbnail)
105
- ? Buffer.from(imageMessage.jpegThumbnail)
106
- : undefined;
107
+ urlInfo.jpegThumbnail = (imageMessage === null || imageMessage === void 0 ? void 0 : imageMessage.jpegThumbnail) ? Buffer.from(imageMessage.jpegThumbnail) : undefined;
107
108
  urlInfo.highQualityThumbnail = imageMessage || undefined;
108
109
  }
109
110
  }
110
111
  else {
111
112
  try {
112
- urlInfo.jpegThumbnail = image
113
- ? (await getCompressedJpegThumbnail(image, opts)).buffer
114
- : undefined;
113
+ urlInfo.jpegThumbnail = image ? (await getCompressedJpegThumbnail(image, opts)).buffer : undefined;
115
114
  }
116
115
  catch (error) {
117
116
  (_a = opts.logger) === null || _a === void 0 ? void 0 : _a.debug({ err: error.stack, url: previewLink }, 'error in generating thumbnail');
@@ -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 @@
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
+ {"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 @@
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"}
@@ -33,12 +33,12 @@ class d {
33
33
  async _addSingle(e, t) {
34
34
  var r = this;
35
35
  const n = new Uint8Array(await (0, crypto_1.hkdf)(Buffer.from(t), o, { info: r.salt })).buffer;
36
- return r.performPointwiseWithOverflow(await e, n, ((e, t) => e + t));
36
+ return r.performPointwiseWithOverflow(await e, n, (e, t) => e + t);
37
37
  }
38
38
  async _subtractSingle(e, t) {
39
39
  var r = this;
40
40
  const n = new Uint8Array(await (0, crypto_1.hkdf)(Buffer.from(t), o, { info: r.salt })).buffer;
41
- return r.performPointwiseWithOverflow(await e, n, ((e, t) => e - t));
41
+ return r.performPointwiseWithOverflow(await e, n, (e, t) => e - t);
42
42
  }
43
43
  performPointwiseWithOverflow(e, t, r) {
44
44
  const n = new DataView(e), i = new DataView(t), a = new ArrayBuffer(n.byteLength), s = new DataView(a);
@@ -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 @@
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"}
@@ -26,7 +26,7 @@ const makeMutex = () => {
26
26
  // we replace the existing task, appending the new piece of execution to it
27
27
  // so the next task will have to wait for this one to finish
28
28
  return task;
29
- },
29
+ }
30
30
  };
31
31
  };
32
32
  exports.makeMutex = makeMutex;
@@ -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"}
@@ -8,17 +8,25 @@ import { BinaryNode } from '../WABinary';
8
8
  import { ILogger } from './logger';
9
9
  export declare const hkdfInfoKey: (type: MediaType) => string;
10
10
  export declare function processImage(imageUrl: string): Promise<Buffer<ArrayBufferLike> | null>;
11
+ export declare const getRawMediaUploadData: (media: WAMediaUpload, mediaType: MediaType, logger?: ILogger) => Promise<{
12
+ filePath: string;
13
+ fileSha256: Buffer<ArrayBufferLike>;
14
+ fileLength: number;
15
+ }>;
11
16
  /** generates all the keys required to encrypt/decrypt & sign a media message */
12
17
  export declare function getMediaKeys(buffer: Uint8Array | string | null | undefined, mediaType: MediaType): Promise<MediaDecryptionKeyInfo>;
13
18
  export declare const extractImageThumb: (bufferOrFilePath: Readable | Buffer | string, width?: number) => Promise<{
14
19
  buffer: Buffer<ArrayBufferLike>;
15
20
  original: {
16
- width: number | undefined;
17
- height: number | undefined;
21
+ width: number;
22
+ height: number;
18
23
  };
19
24
  }>;
20
25
  export declare const encodeBase64EncodedStringForUpload: (b64: string) => string;
21
- export declare const generateProfilePicture: (mediaUpload: WAMediaUpload) => Promise<{
26
+ export declare const generateProfilePicture: (mediaUpload: WAMediaUpload, dimensions?: {
27
+ width: number;
28
+ height: number;
29
+ }) => Promise<{
22
30
  img: Buffer<ArrayBufferLike>;
23
31
  }>;
24
32
  /** gets the SHA256 of the given media message */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-media.d.ts","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getStatusCodeForMediaRetry = exports.decryptMediaRetryData = exports.decodeMediaRetryNode = exports.encryptMediaRetryRequest = exports.getWAUploadToServer = exports.downloadEncryptedContent = exports.downloadContentFromMessage = exports.getUrlFromDirectPath = exports.encryptedStream = exports.getHttpStream = exports.getStream = exports.toBuffer = exports.toReadable = exports.mediaMessageSHA256B64 = exports.generateProfilePicture = exports.encodeBase64EncodedStringForUpload = exports.extractImageThumb = exports.hkdfInfoKey = void 0;
39
+ exports.getStatusCodeForMediaRetry = exports.decryptMediaRetryData = exports.decodeMediaRetryNode = exports.encryptMediaRetryRequest = exports.getWAUploadToServer = exports.downloadEncryptedContent = exports.downloadContentFromMessage = exports.getUrlFromDirectPath = exports.encryptedStream = exports.getHttpStream = exports.getStream = exports.toBuffer = exports.toReadable = exports.mediaMessageSHA256B64 = exports.generateProfilePicture = exports.encodeBase64EncodedStringForUpload = exports.extractImageThumb = exports.getRawMediaUploadData = exports.hkdfInfoKey = void 0;
40
40
  exports.processImage = processImage;
41
41
  exports.getMediaKeys = getMediaKeys;
42
42
  exports.getAudioDuration = getAudioDuration;
@@ -60,20 +60,10 @@ const generics_1 = require("./generics");
60
60
  const sharp_1 = __importDefault(require("sharp"));
61
61
  const getTmpFilesDirectory = () => (0, os_1.tmpdir)();
62
62
  const getImageProcessingLibrary = async () => {
63
- const [_jimp, sharp] = await Promise.all([
64
- (async () => {
65
- const jimp = await (Promise.resolve().then(() => __importStar(require('jimp'))).catch(() => { }));
66
- return jimp;
67
- })(),
68
- (async () => {
69
- const sharp = await (Promise.resolve().then(() => __importStar(require('sharp'))).catch(() => { }));
70
- return sharp;
71
- })()
72
- ]);
63
+ const [jimp, sharp] = await Promise.all([Promise.resolve().then(() => __importStar(require('jimp'))).catch(() => { }), Promise.resolve().then(() => __importStar(require('sharp'))).catch(() => { })]);
73
64
  if (sharp) {
74
65
  return { sharp };
75
66
  }
76
- const jimp = (_jimp === null || _jimp === void 0 ? void 0 : _jimp.default) || _jimp;
77
67
  if (jimp) {
78
68
  return { jimp };
79
69
  }
@@ -103,6 +93,45 @@ async function processImage(imageUrl) {
103
93
  return null;
104
94
  }
105
95
  }
96
+ const getRawMediaUploadData = async (media, mediaType, logger) => {
97
+ const { stream } = await (0, exports.getStream)(media);
98
+ logger === null || logger === void 0 ? void 0 : logger.debug('got stream for raw upload');
99
+ const hasher = Crypto.createHash('sha256');
100
+ const filePath = (0, path_1.join)((0, os_1.tmpdir)(), mediaType + (0, generics_1.generateMessageIDV2)());
101
+ const fileWriteStream = (0, fs_1.createWriteStream)(filePath);
102
+ let fileLength = 0;
103
+ try {
104
+ for await (const data of stream) {
105
+ fileLength += data.length;
106
+ hasher.update(data);
107
+ if (!fileWriteStream.write(data)) {
108
+ await (0, events_1.once)(fileWriteStream, 'drain');
109
+ }
110
+ }
111
+ fileWriteStream.end();
112
+ await (0, events_1.once)(fileWriteStream, 'finish');
113
+ stream.destroy();
114
+ const fileSha256 = hasher.digest();
115
+ logger === null || logger === void 0 ? void 0 : logger.debug('hashed data for raw upload');
116
+ return {
117
+ filePath: filePath,
118
+ fileSha256,
119
+ fileLength
120
+ };
121
+ }
122
+ catch (error) {
123
+ fileWriteStream.destroy();
124
+ stream.destroy();
125
+ try {
126
+ await fs_1.promises.unlink(filePath);
127
+ }
128
+ catch (_a) {
129
+ //
130
+ }
131
+ throw error;
132
+ }
133
+ };
134
+ exports.getRawMediaUploadData = getRawMediaUploadData;
106
135
  /** generates all the keys required to encrypt/decrypt & sign a media message */
107
136
  async function getMediaKeys(buffer, mediaType) {
108
137
  if (!buffer) {
@@ -116,13 +145,13 @@ async function getMediaKeys(buffer, mediaType) {
116
145
  return {
117
146
  iv: expandedMediaKey.slice(0, 16),
118
147
  cipherKey: expandedMediaKey.slice(16, 48),
119
- macKey: expandedMediaKey.slice(48, 80),
148
+ macKey: expandedMediaKey.slice(48, 80)
120
149
  };
121
150
  }
122
151
  /** Extracts video thumb using FFMPEG */
123
152
  const extractVideoThumb = async (path, destPath, time, size) => new Promise((resolve, reject) => {
124
153
  const cmd = `ffmpeg -ss ${time} -i ${path} -y -vf scale=${size.width}:-1 -vframes 1 -f image2 ${destPath}`;
125
- (0, child_process_1.exec)(cmd, (err) => {
154
+ (0, child_process_1.exec)(cmd, err => {
126
155
  if (err) {
127
156
  reject(err);
128
157
  }
@@ -140,29 +169,24 @@ const extractImageThumb = async (bufferOrFilePath, width = 32) => {
140
169
  if ('sharp' in lib && typeof ((_a = lib.sharp) === null || _a === void 0 ? void 0 : _a.default) === 'function') {
141
170
  const img = lib.sharp.default(bufferOrFilePath);
142
171
  const dimensions = await img.metadata();
143
- const buffer = await img
144
- .resize(width)
145
- .jpeg({ quality: 50 })
146
- .toBuffer();
172
+ const buffer = await img.resize(width).jpeg({ quality: 50 }).toBuffer();
147
173
  return {
148
174
  buffer,
149
175
  original: {
150
176
  width: dimensions.width,
151
- height: dimensions.height,
152
- },
177
+ height: dimensions.height
178
+ }
153
179
  };
154
180
  }
155
- else if ('jimp' in lib && typeof ((_b = lib.jimp) === null || _b === void 0 ? void 0 : _b.read) === 'function') {
156
- const { read, MIME_JPEG, RESIZE_BILINEAR, AUTO } = lib.jimp;
157
- const jimp = await read(bufferOrFilePath);
181
+ else if ('jimp' in lib && typeof ((_b = lib.jimp) === null || _b === void 0 ? void 0 : _b.Jimp) === 'object') {
182
+ const jimp = await lib.jimp.default.Jimp.read(bufferOrFilePath);
158
183
  const dimensions = {
159
- width: jimp.getWidth(),
160
- height: jimp.getHeight()
184
+ width: jimp.width,
185
+ height: jimp.height
161
186
  };
162
187
  const buffer = await jimp
163
- .quality(50)
164
- .resize(width, AUTO, RESIZE_BILINEAR)
165
- .getBufferAsync(MIME_JPEG);
188
+ .resize({ w: width, mode: lib.jimp.ResizeStrategy.BILINEAR })
189
+ .getBuffer('image/jpeg', { quality: 50 });
166
190
  return {
167
191
  buffer,
168
192
  original: dimensions
@@ -173,54 +197,43 @@ const extractImageThumb = async (bufferOrFilePath, width = 32) => {
173
197
  }
174
198
  };
175
199
  exports.extractImageThumb = extractImageThumb;
176
- const encodeBase64EncodedStringForUpload = (b64) => (encodeURIComponent(b64
177
- .replace(/\+/g, '-')
178
- .replace(/\//g, '_')
179
- .replace(/\=+$/, '')));
200
+ const encodeBase64EncodedStringForUpload = (b64) => encodeURIComponent(b64.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, ''));
180
201
  exports.encodeBase64EncodedStringForUpload = encodeBase64EncodedStringForUpload;
181
- const generateProfilePicture = async (mediaUpload) => {
202
+ const generateProfilePicture = async (mediaUpload, dimensions) => {
182
203
  var _a, _b;
183
- let bufferOrFilePath;
204
+ let buffer;
205
+ const { width: w = 640, height: h = 640 } = dimensions || {};
184
206
  if (Buffer.isBuffer(mediaUpload)) {
185
- bufferOrFilePath = mediaUpload;
186
- }
187
- else if ('url' in mediaUpload) {
188
- const imageBuffer = await processImage(mediaUpload.url.toString());
189
- if (imageBuffer) {
190
- bufferOrFilePath = imageBuffer;
191
- }
192
- else {
193
- bufferOrFilePath = mediaUpload.url.toString();
194
- }
207
+ buffer = mediaUpload;
195
208
  }
196
209
  else {
197
- bufferOrFilePath = await (0, exports.toBuffer)(mediaUpload.stream);
210
+ // Use getStream to handle all WAMediaUpload types (Buffer, Stream, URL)
211
+ const { stream } = await (0, exports.getStream)(mediaUpload);
212
+ // Convert the resulting stream to a buffer
213
+ buffer = await (0, exports.toBuffer)(stream);
198
214
  }
199
215
  const lib = await getImageProcessingLibrary();
200
216
  let img;
201
217
  if ('sharp' in lib && typeof ((_a = lib.sharp) === null || _a === void 0 ? void 0 : _a.default) === 'function') {
202
- img = lib.sharp.default(bufferOrFilePath)
203
- .resize(640, 640)
218
+ img = lib.sharp
219
+ .default(buffer)
220
+ .resize(w, h)
204
221
  .jpeg({
205
- quality: 50,
222
+ quality: 50
206
223
  })
207
224
  .toBuffer();
208
225
  }
209
- else if ('jimp' in lib && typeof ((_b = lib.jimp) === null || _b === void 0 ? void 0 : _b.read) === 'function') {
210
- const { read, MIME_JPEG, RESIZE_BILINEAR } = lib.jimp;
211
- const jimp = await read(bufferOrFilePath);
212
- const min = Math.min(jimp.getWidth(), jimp.getHeight());
213
- const cropped = jimp.crop(0, 0, min, min);
214
- img = cropped
215
- .quality(50)
216
- .resize(640, 640, RESIZE_BILINEAR)
217
- .getBufferAsync(MIME_JPEG);
226
+ else if ('jimp' in lib && typeof ((_b = lib.jimp) === null || _b === void 0 ? void 0 : _b.Jimp) === 'object') {
227
+ const jimp = await lib.jimp.default.Jimp.read(buffer);
228
+ const min = Math.min(jimp.width, jimp.height);
229
+ const cropped = jimp.crop({ x: 0, y: 0, w: min, h: min });
230
+ img = cropped.resize({ w, h, mode: lib.jimp.ResizeStrategy.BILINEAR }).getBuffer('image/jpeg', { quality: 50 });
218
231
  }
219
232
  else {
220
233
  throw new boom_1.Boom('No image processing library available');
221
234
  }
222
235
  return {
223
- img: await img,
236
+ img: await img
224
237
  };
225
238
  };
226
239
  exports.generateProfilePicture = generateProfilePicture;
@@ -233,20 +246,17 @@ exports.mediaMessageSHA256B64 = mediaMessageSHA256B64;
233
246
  async function getAudioDuration(buffer) {
234
247
  const musicMetadata = await Promise.resolve().then(() => __importStar(require('music-metadata')));
235
248
  let metadata;
249
+ const options = {
250
+ duration: true
251
+ };
236
252
  if (Buffer.isBuffer(buffer)) {
237
- metadata = await musicMetadata.parseBuffer(buffer, undefined, { duration: true });
253
+ metadata = await musicMetadata.parseBuffer(buffer, undefined, options);
238
254
  }
239
255
  else if (typeof buffer === 'string') {
240
- const rStream = (0, fs_1.createReadStream)(buffer);
241
- try {
242
- metadata = await musicMetadata.parseStream(rStream, undefined, { duration: true });
243
- }
244
- finally {
245
- rStream.destroy();
246
- }
256
+ metadata = await musicMetadata.parseFile(buffer, options);
247
257
  }
248
258
  else {
249
- metadata = await musicMetadata.parseStream(buffer, undefined, { duration: true });
259
+ metadata = await musicMetadata.parseStream(buffer, undefined, options);
250
260
  }
251
261
  return metadata.format.duration;
252
262
  }
@@ -255,7 +265,7 @@ async function getAudioDuration(buffer) {
255
265
  */
256
266
  async function getAudioWaveform(buffer, logger) {
257
267
  try {
258
- const { default: decoder } = await eval('import(\'audio-decode\')');
268
+ const { default: decoder } = await eval("import('audio-decode')");
259
269
  let audioData;
260
270
  if (Buffer.isBuffer(buffer)) {
261
271
  audioData = buffer;
@@ -282,9 +292,9 @@ async function getAudioWaveform(buffer, logger) {
282
292
  }
283
293
  // This guarantees that the largest data point will be set to 1, and the rest of the data will scale proportionally.
284
294
  const multiplier = Math.pow(Math.max(...filteredData), -1);
285
- const normalizedData = filteredData.map((n) => n * multiplier);
295
+ const normalizedData = filteredData.map(n => n * multiplier);
286
296
  // Generate waveform like WhatsApp
287
- const waveform = new Uint8Array(normalizedData.map((n) => Math.floor(100 * n)));
297
+ const waveform = new Uint8Array(normalizedData.map(n => Math.floor(100 * n)));
288
298
  return waveform;
289
299
  }
290
300
  catch (e) {
@@ -314,7 +324,12 @@ const getStream = async (item, opts) => {
314
324
  if ('stream' in item) {
315
325
  return { stream: item.stream, type: 'readable' };
316
326
  }
317
- if (item.url.toString().startsWith('http://') || item.url.toString().startsWith('https://')) {
327
+ const urlStr = item.url.toString();
328
+ if (urlStr.startsWith('data:')) {
329
+ const buffer = Buffer.from(urlStr.split(',')[1], 'base64');
330
+ return { stream: (0, exports.toReadable)(buffer), type: 'buffer' };
331
+ }
332
+ if (urlStr.startsWith('http://') || urlStr.startsWith('https://')) {
318
333
  return { stream: await (0, exports.getHttpStream)(item.url, opts), type: 'remote' };
319
334
  }
320
335
  return { stream: (0, fs_1.createReadStream)(item.url), type: 'file' };
@@ -331,7 +346,7 @@ async function generateThumbnail(file, mediaType, options) {
331
346
  if (original.width && original.height) {
332
347
  originalImageDimensions = {
333
348
  width: original.width,
334
- height: original.height,
349
+ height: original.height
335
350
  };
336
351
  }
337
352
  }
@@ -384,9 +399,7 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
384
399
  try {
385
400
  for await (const data of stream) {
386
401
  fileLength += data.length;
387
- if (type === 'remote'
388
- && (opts === null || opts === void 0 ? void 0 : opts.maxContentLength)
389
- && fileLength + data.length > opts.maxContentLength) {
402
+ if (type === 'remote' && (opts === null || opts === void 0 ? void 0 : opts.maxContentLength) && fileLength + data.length > opts.maxContentLength) {
390
403
  throw new boom_1.Boom(`content length exceeded when encrypting "${type}"`, {
391
404
  data: { media, type }
392
405
  });
@@ -449,7 +462,11 @@ const toSmallestChunkSize = (num) => {
449
462
  const getUrlFromDirectPath = (directPath) => `https://${DEF_HOST}${directPath}`;
450
463
  exports.getUrlFromDirectPath = getUrlFromDirectPath;
451
464
  const downloadContentFromMessage = async ({ mediaKey, directPath, url }, type, opts = {}) => {
452
- const downloadUrl = url || (0, exports.getUrlFromDirectPath)(directPath);
465
+ const isValidMediaUrl = url === null || url === void 0 ? void 0 : url.startsWith('https://mmg.whatsapp.net/');
466
+ const downloadUrl = isValidMediaUrl ? url : (0, exports.getUrlFromDirectPath)(directPath);
467
+ if (!downloadUrl) {
468
+ throw new boom_1.Boom('No valid media URL or directPath present in message', { statusCode: 400 });
469
+ }
453
470
  const keys = await getMediaKeys(mediaKey, type);
454
471
  return (0, exports.downloadEncryptedContent)(downloadUrl, keys, opts);
455
472
  };
@@ -473,8 +490,8 @@ const downloadEncryptedContent = async (downloadUrl, { cipherKey, iv }, { startB
473
490
  }
474
491
  const endChunk = endByte ? toSmallestChunkSize(endByte || 0) + AES_CHUNK_SIZE : undefined;
475
492
  const headers = {
476
- ...(options === null || options === void 0 ? void 0 : options.headers) || {},
477
- Origin: Defaults_1.DEFAULT_ORIGIN,
493
+ ...((options === null || options === void 0 ? void 0 : options.headers) || {}),
494
+ Origin: Defaults_1.DEFAULT_ORIGIN
478
495
  };
479
496
  if (startChunk || endChunk) {
480
497
  headers.Range = `bytes=${startChunk}-`;
@@ -484,10 +501,10 @@ const downloadEncryptedContent = async (downloadUrl, { cipherKey, iv }, { startB
484
501
  }
485
502
  // download the message
486
503
  const fetched = await (0, exports.getHttpStream)(downloadUrl, {
487
- ...options || {},
504
+ ...(options || {}),
488
505
  headers,
489
506
  maxBodyLength: Infinity,
490
- maxContentLength: Infinity,
507
+ maxContentLength: Infinity
491
508
  });
492
509
  let remainingBytes = Buffer.from([]);
493
510
  let aes;
@@ -537,7 +554,7 @@ const downloadEncryptedContent = async (downloadUrl, { cipherKey, iv }, { startB
537
554
  catch (error) {
538
555
  callback(error);
539
556
  }
540
- },
557
+ }
541
558
  });
542
559
  return fetched.pipe(output, { end: true });
543
560
  };
@@ -546,9 +563,7 @@ function extensionForMediaMessage(message) {
546
563
  const getExtension = (mimetype) => mimetype.split(';')[0].split('/')[1];
547
564
  const type = Object.keys(message)[0];
548
565
  let extension;
549
- if (type === 'locationMessage' ||
550
- type === 'liveLocationMessage' ||
551
- type === 'productMessage') {
566
+ if (type === 'locationMessage' || type === 'liveLocationMessage' || type === 'productMessage') {
552
567
  extension = '.jpeg';
553
568
  }
554
569
  else {
@@ -576,15 +591,15 @@ const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, options },
576
591
  ...options,
577
592
  maxRedirects: 0,
578
593
  headers: {
579
- ...options.headers || {},
594
+ ...(options.headers || {}),
580
595
  'Content-Type': 'application/octet-stream',
581
- 'Origin': Defaults_1.DEFAULT_ORIGIN
596
+ Origin: Defaults_1.DEFAULT_ORIGIN
582
597
  },
583
598
  httpsAgent: fetchAgent,
584
599
  timeout: timeoutMs,
585
600
  responseType: 'json',
586
601
  maxBodyLength: Infinity,
587
- maxContentLength: Infinity,
602
+ maxContentLength: Infinity
588
603
  });
589
604
  result = body.data;
590
605
  if ((result === null || result === void 0 ? void 0 : result.url) || (result === null || result === void 0 ? void 0 : result.directPath)) {
@@ -649,7 +664,7 @@ const encryptMediaRetryRequest = async (key, mediaKey, meId) => {
649
664
  tag: 'rmr',
650
665
  attrs: {
651
666
  jid: key.remoteJid,
652
- 'from_me': (!!key.fromMe).toString(),
667
+ from_me: (!!key.fromMe).toString(),
653
668
  // @ts-ignore
654
669
  participant: key.participant || undefined
655
670
  }
@@ -672,7 +687,10 @@ const decodeMediaRetryNode = (node) => {
672
687
  const errorNode = (0, WABinary_1.getBinaryNodeChild)(node, 'error');
673
688
  if (errorNode) {
674
689
  const errorCode = +errorNode.attrs.code;
675
- event.error = new boom_1.Boom(`Failed to re-upload media (${errorCode})`, { data: errorNode.attrs, statusCode: (0, exports.getStatusCodeForMediaRetry)(errorCode) });
690
+ event.error = new boom_1.Boom(`Failed to re-upload media (${errorCode})`, {
691
+ data: errorNode.attrs,
692
+ statusCode: (0, exports.getStatusCodeForMediaRetry)(errorCode)
693
+ });
676
694
  }
677
695
  else {
678
696
  const encryptedInfoNode = (0, WABinary_1.getBinaryNodeChild)(node, 'encrypt');
@@ -700,5 +718,5 @@ const MEDIA_RETRY_STATUS_MAP = {
700
718
  [WAProto_1.proto.MediaRetryNotification.ResultType.SUCCESS]: 200,
701
719
  [WAProto_1.proto.MediaRetryNotification.ResultType.DECRYPTION_ERROR]: 412,
702
720
  [WAProto_1.proto.MediaRetryNotification.ResultType.NOT_FOUND]: 404,
703
- [WAProto_1.proto.MediaRetryNotification.ResultType.GENERAL_ERROR]: 418,
721
+ [WAProto_1.proto.MediaRetryNotification.ResultType.GENERAL_ERROR]: 418
704
722
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-media.js","sourceRoot":"","sources":["../../src/Utils/messages-media.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Transform } from 'stream';
2
2
  import { proto } from '../../WAProto';
3
- import { AnyMediaMessageContent, AnyMessageContent, MediaGenerationOptions, MessageContentGenerationOptions, MessageGenerationOptions, MessageGenerationOptionsFromContent, MessageUserReceipt, WAMessage, WAMessageContent, WAProto } from '../Types';
3
+ import { AnyMediaMessageContent, AnyMessageContent, MessageContentGenerationOptions, MessageGenerationOptions, MessageGenerationOptionsFromContent, MessageUserReceipt, WAMessage, WAMessageContent, WAProto } from '../Types';
4
4
  import { ILogger } from './logger';
5
5
  import { MediaDownloadOptions } from './messages-media';
6
6
  /**
@@ -10,7 +10,7 @@ import { MediaDownloadOptions } from './messages-media';
10
10
  */
11
11
  export declare const extractUrlFromText: (text: string) => string | undefined;
12
12
  export declare const generateLinkPreviewIfRequired: (text: string, getUrlInfo: MessageGenerationOptions["getUrlInfo"], logger: MessageGenerationOptions["logger"]) => Promise<import("../Types").WAUrlInfo | undefined>;
13
- export declare const prepareWAMessageMedia: (message: AnyMediaMessageContent, options: MediaGenerationOptions) => Promise<proto.Message>;
13
+ export declare const prepareWAMessageMedia: (message: AnyMediaMessageContent, options: MessageContentGenerationOptions) => Promise<proto.Message>;
14
14
  export declare const prepareDisappearingMessageSettingContent: (ephemeralExpiration?: number) => proto.Message;
15
15
  /**
16
16
  * Generate forwarded message content like WA does
@@ -38,7 +38,7 @@ export declare const extractMessageContent: (content: WAMessageContent | undefin
38
38
  /**
39
39
  * Returns the device predicted by message ID
40
40
  */
41
- export declare const getDevice: (id: string) => "android" | "unknown" | "web" | "ios" | "desktop";
41
+ export declare const getDevice: (id: string) => "web" | "unknown" | "android" | "ios" | "desktop";
42
42
  /** Upserts a receipt in the message */
43
43
  export declare const updateMessageWithReceipt: (msg: Pick<WAMessage, "userReceipt">, receipt: MessageUserReceipt) => void;
44
44
  /** Update the message with a new reaction */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/Utils/messages.ts"],"names":[],"mappings":"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"}