@neelegirl/baileys 1.5.6 → 1.5.7

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 (421) hide show
  1. package/README.md +21 -27
  2. package/WAProto/WAProto.proto +665 -291
  3. package/WAProto/index.d.ts +48037 -2294
  4. package/WAProto/index.js +139804 -45203
  5. package/lib/Defaults/baileys-version.json +3 -0
  6. package/lib/Defaults/index.d.ts +64 -58
  7. package/lib/Defaults/index.js +96 -74
  8. package/lib/Defaults/phonenumber-mcc.json +223 -0
  9. package/lib/Signal/WASignalGroup/GroupProtocol.js +1909 -0
  10. package/lib/Signal/WASignalGroup/ciphertext_message.js +16 -0
  11. package/lib/Signal/WASignalGroup/generate-proto.sh +1 -0
  12. package/lib/Signal/WASignalGroup/group.proto +42 -0
  13. package/lib/Signal/WASignalGroup/group_cipher.js +120 -0
  14. package/lib/Signal/WASignalGroup/group_session_builder.js +46 -0
  15. package/lib/Signal/WASignalGroup/index.js +6 -0
  16. package/lib/Signal/WASignalGroup/keyhelper.js +21 -0
  17. package/lib/Signal/WASignalGroup/protobufs.js +3 -0
  18. package/lib/Signal/WASignalGroup/queue_job.js +69 -0
  19. package/lib/Signal/WASignalGroup/readme.md +6 -0
  20. package/lib/Signal/WASignalGroup/sender_chain_key.js +50 -0
  21. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +78 -0
  22. package/lib/Signal/WASignalGroup/sender_key_message.js +92 -0
  23. package/lib/Signal/WASignalGroup/sender_key_name.js +70 -0
  24. package/lib/Signal/WASignalGroup/sender_key_record.js +56 -0
  25. package/lib/Signal/WASignalGroup/sender_key_state.js +129 -0
  26. package/lib/Signal/{Group/sender-message-key.js → WASignalGroup/sender_message_key.js} +16 -3
  27. package/lib/Signal/libsignal.d.ts +4 -5
  28. package/lib/Signal/libsignal.js +112 -292
  29. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  30. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  31. package/lib/Socket/Client/index.d.ts +2 -3
  32. package/lib/Socket/Client/index.js +22 -3
  33. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  34. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  35. package/lib/Socket/Client/types.d.ts +15 -15
  36. package/lib/Socket/Client/types.js +15 -8
  37. package/lib/Socket/Client/websocket.d.ts +12 -12
  38. package/lib/Socket/Client/websocket.js +36 -24
  39. package/lib/Socket/business.d.ts +177 -178
  40. package/lib/Socket/business.js +71 -179
  41. package/lib/Socket/chats.d.ts +93 -93
  42. package/lib/Socket/chats.js +625 -474
  43. package/lib/Socket/communities.d.ts +62 -83
  44. package/lib/Socket/communities.js +414 -412
  45. package/lib/Socket/groups.d.ts +112 -118
  46. package/lib/Socket/groups.js +171 -146
  47. package/lib/Socket/index.d.ts +182 -222
  48. package/lib/Socket/index.js +17 -12
  49. package/lib/Socket/messages-recv.d.ts +169 -165
  50. package/lib/Socket/messages-recv.js +1721 -1185
  51. package/lib/Socket/messages-send.d.ts +160 -161
  52. package/lib/Socket/messages-send.js +992 -642
  53. package/lib/Socket/mex.d.ts +0 -1
  54. package/lib/Socket/mex.js +9 -4
  55. package/lib/Socket/newsletter.d.ts +139 -139
  56. package/lib/Socket/newsletter.js +258 -153
  57. package/lib/Socket/registration.d.ts +266 -0
  58. package/lib/Socket/registration.js +166 -0
  59. package/lib/Socket/socket.d.ts +36 -42
  60. package/lib/Socket/socket.js +525 -623
  61. package/lib/Socket/usync.d.ts +37 -0
  62. package/lib/Socket/usync.js +83 -0
  63. package/lib/Store/index.d.ts +4 -0
  64. package/lib/Store/index.js +24 -0
  65. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  66. package/lib/Store/make-cache-manager-store.js +90 -0
  67. package/lib/Store/make-in-memory-store.d.ts +123 -0
  68. package/lib/Store/make-in-memory-store.js +429 -0
  69. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  70. package/lib/Store/make-ordered-dictionary.js +86 -0
  71. package/lib/Store/object-repository.d.ts +10 -0
  72. package/lib/Store/object-repository.js +31 -0
  73. package/lib/Types/Auth.d.ts +96 -87
  74. package/lib/Types/Auth.js +3 -2
  75. package/lib/Types/Call.d.ts +13 -13
  76. package/lib/Types/Call.js +3 -2
  77. package/lib/Types/Chat.d.ts +94 -79
  78. package/lib/Types/Chat.js +9 -8
  79. package/lib/Types/Contact.d.ts +9 -13
  80. package/lib/Types/Contact.js +3 -2
  81. package/lib/Types/Events.d.ts +179 -152
  82. package/lib/Types/Events.js +3 -2
  83. package/lib/Types/GroupMetadata.d.ts +48 -49
  84. package/lib/Types/GroupMetadata.js +3 -2
  85. package/lib/Types/Label.d.ts +14 -13
  86. package/lib/Types/Label.js +30 -24
  87. package/lib/Types/LabelAssociation.d.ts +20 -15
  88. package/lib/Types/LabelAssociation.js +12 -6
  89. package/lib/Types/Message.d.ts +404 -234
  90. package/lib/Types/Message.js +13 -11
  91. package/lib/Types/MexUpdates.d.ts +9 -0
  92. package/lib/Types/MexUpdates.js +18 -0
  93. package/lib/Types/Newsletter.d.ts +104 -130
  94. package/lib/Types/Newsletter.js +40 -31
  95. package/lib/Types/Product.d.ts +71 -58
  96. package/lib/Types/Product.js +3 -2
  97. package/lib/Types/Signal.d.ts +55 -63
  98. package/lib/Types/Signal.js +3 -2
  99. package/lib/Types/Socket.d.ts +66 -77
  100. package/lib/Types/Socket.js +3 -3
  101. package/lib/Types/State.d.ts +19 -17
  102. package/lib/Types/State.js +14 -13
  103. package/lib/Types/USync.d.ts +8 -8
  104. package/lib/Types/USync.js +3 -2
  105. package/lib/Types/index.d.ts +61 -47
  106. package/lib/Types/index.js +48 -26
  107. package/lib/Utils/auth-utils.d.ts +10 -8
  108. package/lib/Utils/auth-utils.js +154 -206
  109. package/lib/Utils/baileys-event-stream.d.ts +7 -6
  110. package/lib/Utils/baileys-event-stream.js +43 -29
  111. package/lib/Utils/business.d.ts +20 -14
  112. package/lib/Utils/business.js +134 -110
  113. package/lib/Utils/chat-utils.d.ts +69 -57
  114. package/lib/Utils/chat-utils.js +380 -362
  115. package/lib/Utils/check-npm-version.d.ts +15 -0
  116. package/lib/Utils/check-npm-version.js +52 -0
  117. package/lib/Utils/crypto.d.ts +45 -30
  118. package/lib/Utils/crypto.js +178 -141
  119. package/lib/Utils/decode-wa-message.d.ts +35 -42
  120. package/lib/Utils/decode-wa-message.js +150 -176
  121. package/lib/Utils/event-buffer.d.ts +17 -12
  122. package/lib/Utils/event-buffer.js +286 -269
  123. package/lib/Utils/generics.d.ts +99 -60
  124. package/lib/Utils/generics.js +481 -244
  125. package/lib/Utils/history.d.ts +22 -18
  126. package/lib/Utils/history.js +80 -54
  127. package/lib/Utils/index.d.ts +19 -20
  128. package/lib/Utils/index.js +41 -19
  129. package/lib/Utils/link-preview.d.ts +14 -12
  130. package/lib/Utils/link-preview.js +75 -40
  131. package/lib/Utils/logger.d.ts +11 -10
  132. package/lib/Utils/logger.js +7 -3
  133. package/lib/Utils/lt-hash.d.ts +13 -12
  134. package/lib/Utils/lt-hash.js +37 -27
  135. package/lib/Utils/make-mutex.d.ts +7 -6
  136. package/lib/Utils/make-mutex.js +29 -20
  137. package/lib/Utils/message-retry-manager.d.ts +6 -6
  138. package/lib/Utils/message-retry-manager.js +36 -8
  139. package/lib/Utils/messages-media.d.ts +102 -87
  140. package/lib/Utils/messages-media.js +570 -427
  141. package/lib/Utils/messages.d.ts +64 -37
  142. package/lib/Utils/messages.js +1270 -511
  143. package/lib/Utils/noise-handler.d.ts +18 -18
  144. package/lib/Utils/noise-handler.js +109 -101
  145. package/lib/Utils/process-message.d.ts +32 -25
  146. package/lib/Utils/process-message.js +281 -266
  147. package/lib/Utils/signal.d.ts +32 -24
  148. package/lib/Utils/signal.js +105 -98
  149. package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
  150. package/lib/Utils/use-mongo-file-auth-state.js +84 -0
  151. package/lib/Utils/use-multi-file-auth-state.d.ts +10 -5
  152. package/lib/Utils/use-multi-file-auth-state.js +186 -69
  153. package/lib/Utils/use-single-file-auth-state.d.ts +13 -0
  154. package/lib/Utils/use-single-file-auth-state.js +80 -0
  155. package/lib/Utils/validate-connection.d.ts +13 -11
  156. package/lib/Utils/validate-connection.js +116 -124
  157. package/lib/WABinary/constants.d.ts +27 -25
  158. package/lib/WABinary/constants.js +1292 -1277
  159. package/lib/WABinary/decode.d.ts +9 -7
  160. package/lib/WABinary/decode.js +189 -139
  161. package/lib/WABinary/encode.d.ts +3 -3
  162. package/lib/WABinary/encode.js +154 -105
  163. package/lib/WABinary/generic-utils.d.ts +27 -14
  164. package/lib/WABinary/generic-utils.js +102 -62
  165. package/lib/WABinary/index.d.ts +5 -6
  166. package/lib/WABinary/index.js +25 -6
  167. package/lib/WABinary/jid-utils.d.ts +46 -41
  168. package/lib/WABinary/jid-utils.js +80 -84
  169. package/lib/WABinary/types.d.ts +13 -10
  170. package/lib/WABinary/types.js +3 -2
  171. package/lib/WAM/BinaryInfo.d.ts +15 -8
  172. package/lib/WAM/BinaryInfo.js +14 -7
  173. package/lib/WAM/constants.d.ts +37 -30
  174. package/lib/WAM/constants.js +11983 -19465
  175. package/lib/WAM/encode.d.ts +3 -3
  176. package/lib/WAM/encode.js +110 -95
  177. package/lib/WAM/index.d.ts +3 -4
  178. package/lib/WAM/index.js +23 -4
  179. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +28 -0
  180. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +69 -0
  181. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -9
  182. package/lib/WAUSync/Protocols/USyncContactProtocol.js +19 -12
  183. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -19
  184. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +26 -18
  185. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -11
  186. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +20 -12
  187. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -0
  188. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  189. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -11
  190. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +24 -16
  191. package/lib/WAUSync/Protocols/index.d.ts +6 -5
  192. package/lib/WAUSync/Protocols/index.js +26 -5
  193. package/lib/WAUSync/USyncQuery.d.ts +28 -26
  194. package/lib/WAUSync/USyncQuery.js +62 -64
  195. package/lib/WAUSync/USyncUser.d.ts +10 -11
  196. package/lib/WAUSync/USyncUser.js +19 -12
  197. package/lib/WAUSync/index.d.ts +3 -4
  198. package/lib/WAUSync/index.js +23 -4
  199. package/lib/index.d.ts +11 -10
  200. package/lib/index.js +33 -11
  201. package/package.json +43 -48
  202. package/WAProto/GenerateStatics.sh +0 -3
  203. package/WAProto/fix-imports.js +0 -29
  204. package/engine-requirements.js +0 -10
  205. package/lib/Defaults/index.d.ts.map +0 -1
  206. package/lib/Defaults/index.js.map +0 -1
  207. package/lib/Signal/Group/ciphertext-message.d.ts +0 -10
  208. package/lib/Signal/Group/ciphertext-message.d.ts.map +0 -1
  209. package/lib/Signal/Group/ciphertext-message.js +0 -12
  210. package/lib/Signal/Group/ciphertext-message.js.map +0 -1
  211. package/lib/Signal/Group/group-session-builder.d.ts +0 -15
  212. package/lib/Signal/Group/group-session-builder.d.ts.map +0 -1
  213. package/lib/Signal/Group/group-session-builder.js +0 -30
  214. package/lib/Signal/Group/group-session-builder.js.map +0 -1
  215. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  216. package/lib/Signal/Group/group_cipher.d.ts.map +0 -1
  217. package/lib/Signal/Group/group_cipher.js +0 -82
  218. package/lib/Signal/Group/group_cipher.js.map +0 -1
  219. package/lib/Signal/Group/index.d.ts +0 -12
  220. package/lib/Signal/Group/index.d.ts.map +0 -1
  221. package/lib/Signal/Group/index.js +0 -12
  222. package/lib/Signal/Group/index.js.map +0 -1
  223. package/lib/Signal/Group/keyhelper.d.ts +0 -11
  224. package/lib/Signal/Group/keyhelper.d.ts.map +0 -1
  225. package/lib/Signal/Group/keyhelper.js +0 -18
  226. package/lib/Signal/Group/keyhelper.js.map +0 -1
  227. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  228. package/lib/Signal/Group/sender-chain-key.d.ts.map +0 -1
  229. package/lib/Signal/Group/sender-chain-key.js +0 -26
  230. package/lib/Signal/Group/sender-chain-key.js.map +0 -1
  231. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  232. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +0 -1
  233. package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
  234. package/lib/Signal/Group/sender-key-distribution-message.js.map +0 -1
  235. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  236. package/lib/Signal/Group/sender-key-message.d.ts.map +0 -1
  237. package/lib/Signal/Group/sender-key-message.js +0 -66
  238. package/lib/Signal/Group/sender-key-message.js.map +0 -1
  239. package/lib/Signal/Group/sender-key-name.d.ts +0 -18
  240. package/lib/Signal/Group/sender-key-name.d.ts.map +0 -1
  241. package/lib/Signal/Group/sender-key-name.js +0 -48
  242. package/lib/Signal/Group/sender-key-name.js.map +0 -1
  243. package/lib/Signal/Group/sender-key-record.d.ts +0 -31
  244. package/lib/Signal/Group/sender-key-record.d.ts.map +0 -1
  245. package/lib/Signal/Group/sender-key-record.js +0 -41
  246. package/lib/Signal/Group/sender-key-record.js.map +0 -1
  247. package/lib/Signal/Group/sender-key-state.d.ts +0 -39
  248. package/lib/Signal/Group/sender-key-state.d.ts.map +0 -1
  249. package/lib/Signal/Group/sender-key-state.js +0 -84
  250. package/lib/Signal/Group/sender-key-state.js.map +0 -1
  251. package/lib/Signal/Group/sender-message-key.d.ts +0 -12
  252. package/lib/Signal/Group/sender-message-key.d.ts.map +0 -1
  253. package/lib/Signal/Group/sender-message-key.js.map +0 -1
  254. package/lib/Signal/libsignal.d.ts.map +0 -1
  255. package/lib/Signal/libsignal.js.map +0 -1
  256. package/lib/Signal/lid-mapping.d.ts +0 -23
  257. package/lib/Signal/lid-mapping.d.ts.map +0 -1
  258. package/lib/Signal/lid-mapping.js +0 -171
  259. package/lib/Signal/lid-mapping.js.map +0 -1
  260. package/lib/Socket/Client/index.d.ts.map +0 -1
  261. package/lib/Socket/Client/index.js.map +0 -1
  262. package/lib/Socket/Client/types.d.ts.map +0 -1
  263. package/lib/Socket/Client/types.js.map +0 -1
  264. package/lib/Socket/Client/websocket.d.ts.map +0 -1
  265. package/lib/Socket/Client/websocket.js.map +0 -1
  266. package/lib/Socket/business.d.ts.map +0 -1
  267. package/lib/Socket/business.js.map +0 -1
  268. package/lib/Socket/chats.d.ts.map +0 -1
  269. package/lib/Socket/chats.js.map +0 -1
  270. package/lib/Socket/communities.d.ts.map +0 -1
  271. package/lib/Socket/communities.js.map +0 -1
  272. package/lib/Socket/groups.d.ts.map +0 -1
  273. package/lib/Socket/groups.js.map +0 -1
  274. package/lib/Socket/index.d.ts.map +0 -1
  275. package/lib/Socket/index.js.map +0 -1
  276. package/lib/Socket/messages-recv.d.ts.map +0 -1
  277. package/lib/Socket/messages-recv.js.map +0 -1
  278. package/lib/Socket/messages-send.d.ts.map +0 -1
  279. package/lib/Socket/messages-send.js.map +0 -1
  280. package/lib/Socket/mex.d.ts.map +0 -1
  281. package/lib/Socket/mex.js.map +0 -1
  282. package/lib/Socket/newsletter.d.ts.map +0 -1
  283. package/lib/Socket/newsletter.js.map +0 -1
  284. package/lib/Socket/socket.d.ts.map +0 -1
  285. package/lib/Socket/socket.js.map +0 -1
  286. package/lib/Types/Auth.d.ts.map +0 -1
  287. package/lib/Types/Auth.js.map +0 -1
  288. package/lib/Types/Bussines.d.ts +0 -25
  289. package/lib/Types/Bussines.d.ts.map +0 -1
  290. package/lib/Types/Bussines.js +0 -2
  291. package/lib/Types/Bussines.js.map +0 -1
  292. package/lib/Types/Call.d.ts.map +0 -1
  293. package/lib/Types/Call.js.map +0 -1
  294. package/lib/Types/Chat.d.ts.map +0 -1
  295. package/lib/Types/Chat.js.map +0 -1
  296. package/lib/Types/Contact.d.ts.map +0 -1
  297. package/lib/Types/Contact.js.map +0 -1
  298. package/lib/Types/Events.d.ts.map +0 -1
  299. package/lib/Types/Events.js.map +0 -1
  300. package/lib/Types/GroupMetadata.d.ts.map +0 -1
  301. package/lib/Types/GroupMetadata.js.map +0 -1
  302. package/lib/Types/Label.d.ts.map +0 -1
  303. package/lib/Types/Label.js.map +0 -1
  304. package/lib/Types/LabelAssociation.d.ts.map +0 -1
  305. package/lib/Types/LabelAssociation.js.map +0 -1
  306. package/lib/Types/Message.d.ts.map +0 -1
  307. package/lib/Types/Message.js.map +0 -1
  308. package/lib/Types/Newsletter.d.ts.map +0 -1
  309. package/lib/Types/Newsletter.js.map +0 -1
  310. package/lib/Types/Product.d.ts.map +0 -1
  311. package/lib/Types/Product.js.map +0 -1
  312. package/lib/Types/Signal.d.ts.map +0 -1
  313. package/lib/Types/Signal.js.map +0 -1
  314. package/lib/Types/Socket.d.ts.map +0 -1
  315. package/lib/Types/Socket.js.map +0 -1
  316. package/lib/Types/State.d.ts.map +0 -1
  317. package/lib/Types/State.js.map +0 -1
  318. package/lib/Types/USync.d.ts.map +0 -1
  319. package/lib/Types/USync.js.map +0 -1
  320. package/lib/Types/index.d.ts.map +0 -1
  321. package/lib/Types/index.js.map +0 -1
  322. package/lib/Utils/auth-utils.d.ts.map +0 -1
  323. package/lib/Utils/auth-utils.js.map +0 -1
  324. package/lib/Utils/baileys-event-stream.d.ts.map +0 -1
  325. package/lib/Utils/baileys-event-stream.js.map +0 -1
  326. package/lib/Utils/browser-utils.d.ts +0 -4
  327. package/lib/Utils/browser-utils.d.ts.map +0 -1
  328. package/lib/Utils/browser-utils.js +0 -28
  329. package/lib/Utils/browser-utils.js.map +0 -1
  330. package/lib/Utils/business.d.ts.map +0 -1
  331. package/lib/Utils/business.js.map +0 -1
  332. package/lib/Utils/chat-utils.d.ts.map +0 -1
  333. package/lib/Utils/chat-utils.js.map +0 -1
  334. package/lib/Utils/crypto.d.ts.map +0 -1
  335. package/lib/Utils/crypto.js.map +0 -1
  336. package/lib/Utils/decode-wa-message.d.ts.map +0 -1
  337. package/lib/Utils/decode-wa-message.js.map +0 -1
  338. package/lib/Utils/event-buffer.d.ts.map +0 -1
  339. package/lib/Utils/event-buffer.js.map +0 -1
  340. package/lib/Utils/generics.d.ts.map +0 -1
  341. package/lib/Utils/generics.js.map +0 -1
  342. package/lib/Utils/history.d.ts.map +0 -1
  343. package/lib/Utils/history.js.map +0 -1
  344. package/lib/Utils/index.d.ts.map +0 -1
  345. package/lib/Utils/index.js.map +0 -1
  346. package/lib/Utils/link-preview.d.ts.map +0 -1
  347. package/lib/Utils/link-preview.js.map +0 -1
  348. package/lib/Utils/logger.d.ts.map +0 -1
  349. package/lib/Utils/logger.js.map +0 -1
  350. package/lib/Utils/lt-hash.d.ts.map +0 -1
  351. package/lib/Utils/lt-hash.js.map +0 -1
  352. package/lib/Utils/make-mutex.d.ts.map +0 -1
  353. package/lib/Utils/make-mutex.js.map +0 -1
  354. package/lib/Utils/message-retry-manager.d.ts.map +0 -1
  355. package/lib/Utils/message-retry-manager.js.map +0 -1
  356. package/lib/Utils/messages-media.d.ts.map +0 -1
  357. package/lib/Utils/messages-media.js.map +0 -1
  358. package/lib/Utils/messages.d.ts.map +0 -1
  359. package/lib/Utils/messages.js.map +0 -1
  360. package/lib/Utils/noise-handler.d.ts.map +0 -1
  361. package/lib/Utils/noise-handler.js.map +0 -1
  362. package/lib/Utils/pre-key-manager.d.ts +0 -28
  363. package/lib/Utils/pre-key-manager.d.ts.map +0 -1
  364. package/lib/Utils/pre-key-manager.js +0 -106
  365. package/lib/Utils/pre-key-manager.js.map +0 -1
  366. package/lib/Utils/process-message.d.ts.map +0 -1
  367. package/lib/Utils/process-message.js.map +0 -1
  368. package/lib/Utils/signal.d.ts.map +0 -1
  369. package/lib/Utils/signal.js.map +0 -1
  370. package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
  371. package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
  372. package/lib/Utils/validate-connection.d.ts.map +0 -1
  373. package/lib/Utils/validate-connection.js.map +0 -1
  374. package/lib/WABinary/constants.d.ts.map +0 -1
  375. package/lib/WABinary/constants.js.map +0 -1
  376. package/lib/WABinary/decode.d.ts.map +0 -1
  377. package/lib/WABinary/decode.js.map +0 -1
  378. package/lib/WABinary/encode.d.ts.map +0 -1
  379. package/lib/WABinary/encode.js.map +0 -1
  380. package/lib/WABinary/generic-utils.d.ts.map +0 -1
  381. package/lib/WABinary/generic-utils.js.map +0 -1
  382. package/lib/WABinary/index.d.ts.map +0 -1
  383. package/lib/WABinary/index.js.map +0 -1
  384. package/lib/WABinary/jid-utils.d.ts.map +0 -1
  385. package/lib/WABinary/jid-utils.js.map +0 -1
  386. package/lib/WABinary/types.d.ts.map +0 -1
  387. package/lib/WABinary/types.js.map +0 -1
  388. package/lib/WAM/BinaryInfo.d.ts.map +0 -1
  389. package/lib/WAM/BinaryInfo.js.map +0 -1
  390. package/lib/WAM/constants.d.ts.map +0 -1
  391. package/lib/WAM/constants.js.map +0 -1
  392. package/lib/WAM/encode.d.ts.map +0 -1
  393. package/lib/WAM/encode.js.map +0 -1
  394. package/lib/WAM/index.d.ts.map +0 -1
  395. package/lib/WAM/index.js.map +0 -1
  396. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
  397. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
  398. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
  399. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
  400. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
  401. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
  402. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
  403. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
  404. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -26
  405. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
  406. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  407. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
  408. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -10
  409. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
  410. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
  411. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
  412. package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
  413. package/lib/WAUSync/Protocols/index.js.map +0 -1
  414. package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
  415. package/lib/WAUSync/USyncQuery.js.map +0 -1
  416. package/lib/WAUSync/USyncUser.d.ts.map +0 -1
  417. package/lib/WAUSync/USyncUser.js.map +0 -1
  418. package/lib/WAUSync/index.d.ts.map +0 -1
  419. package/lib/WAUSync/index.js.map +0 -1
  420. package/lib/index.d.ts.map +0 -1
  421. package/lib/index.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ export interface VersionInfo {
2
+ current: string;
3
+ latest: string;
4
+ hasUpdate: boolean;
5
+ changelog?: string;
6
+ }
7
+ /**
8
+ * Check if a new version is available on NPM
9
+ * @param packageName - The package name to check (e.g., '@neelegirl/baileys')
10
+ * @param currentVersion - The current version installed
11
+ * @returns Promise with version info or null if check fails
12
+ */
13
+ export declare const checkNpmVersion: (packageName: string, currentVersion: string) => Promise<VersionInfo | null>;
14
+ //# sourceMappingURL=check-npm-version.d.ts.map
15
+
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkNpmVersion = void 0;
4
+ const https_1 = require("https");
5
+ /**
6
+ * Check if a new version is available on NPM
7
+ * @param packageName - The package name to check (e.g., '@neelegirl/baileys')
8
+ * @param currentVersion - The current version installed
9
+ * @returns Promise with version info or null if check fails
10
+ */
11
+ const checkNpmVersion = (packageName, currentVersion) => {
12
+ return new Promise((resolve) => {
13
+ const url = `https://registry.npmjs.org/${packageName}/latest`;
14
+ https_1.default.get(url, { timeout: 5000 }, (res) => {
15
+ let data = '';
16
+ res.on('data', (chunk) => {
17
+ data += chunk;
18
+ });
19
+ res.on('end', () => {
20
+ try {
21
+ const packageInfo = JSON.parse(data);
22
+ const latestVersion = packageInfo.version;
23
+ if (latestVersion && latestVersion !== currentVersion) {
24
+ resolve({
25
+ current: currentVersion,
26
+ latest: latestVersion,
27
+ hasUpdate: true,
28
+ changelog: packageInfo.description || 'Neue Version verfügbar!'
29
+ });
30
+ }
31
+ else {
32
+ resolve({
33
+ current: currentVersion,
34
+ latest: latestVersion,
35
+ hasUpdate: false
36
+ });
37
+ }
38
+ }
39
+ catch (error) {
40
+ resolve(null);
41
+ }
42
+ });
43
+ }).on('error', () => {
44
+ resolve(null);
45
+ }).on('timeout', () => {
46
+ resolve(null);
47
+ });
48
+ });
49
+ };
50
+ exports.checkNpmVersion = checkNpmVersion;
51
+ //# sourceMappingURL=check-npm-version.js.map
52
+
@@ -1,41 +1,56 @@
1
- import type { KeyPair } from '../Types/index.js';
1
+ import { KeyPair } from '../Types'
2
+
2
3
  /** prefix version byte to the pub keys, required for some curve crypto functions */
3
- export declare const generateSignalPubKey: (pubKey: Uint8Array | Buffer) => Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike>;
4
+ export declare const generateSignalPubKey: (pubKey: Uint8Array | Buffer) => Uint8Array | Buffer
5
+
4
6
  export declare const Curve: {
5
- generateKeyPair: () => KeyPair;
6
- sharedKey: (privateKey: Uint8Array, publicKey: Uint8Array) => Buffer<ArrayBuffer>;
7
- sign: (privateKey: Uint8Array, buf: Uint8Array) => Uint8Array<ArrayBufferLike>;
8
- verify: (pubKey: Uint8Array, message: Uint8Array, signature: Uint8Array) => boolean;
9
- };
7
+ generateKeyPair: () => KeyPair
8
+ sharedKey: (privateKey: Uint8Array, publicKey: Uint8Array) => Buffer
9
+ sign: (privateKey: Uint8Array, buf: Uint8Array) => any
10
+ verify: (pubKey: Uint8Array, message: Uint8Array, signature: Uint8Array) => boolean
11
+ }
12
+
10
13
  export declare const signedKeyPair: (identityKeyPair: KeyPair, keyId: number) => {
11
- keyPair: KeyPair;
12
- signature: Uint8Array<ArrayBufferLike>;
13
- keyId: number;
14
- };
14
+ keyPair: KeyPair
15
+ signature: any
16
+ keyId: number
17
+ }
18
+
15
19
  /**
16
- * encrypt AES 256 GCM;
20
+ * encrypt AES 256 GCM
17
21
  * where the tag tag is suffixed to the ciphertext
18
22
  * */
19
- export declare function aesEncryptGCM(plaintext: Uint8Array, key: Uint8Array, iv: Uint8Array, additionalData: Uint8Array): Buffer<ArrayBuffer>;
23
+ export declare function aesEncryptGCM(plaintext: Uint8Array, key: Uint8Array, iv: Uint8Array, additionalData: Uint8Array): Buffer
24
+
20
25
  /**
21
- * decrypt AES 256 GCM;
26
+ * decrypt AES 256 GCM
22
27
  * where the auth tag is suffixed to the ciphertext
23
28
  * */
24
- export declare function aesDecryptGCM(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array, additionalData: Uint8Array): Buffer<ArrayBuffer>;
25
- export declare function aesEncryptCTR(plaintext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer<ArrayBuffer>;
26
- export declare function aesDecryptCTR(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer<ArrayBuffer>;
27
- /** decrypt AES 256 CBC; where the IV is prefixed to the buffer */
28
- export declare function aesDecrypt(buffer: Buffer, key: Buffer): Buffer<ArrayBuffer>;
29
+ export declare function aesDecryptGCM(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array, additionalData: Uint8Array): Buffer
30
+
31
+ export declare function aesEncryptCTR(plaintext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer
32
+
33
+ export declare function aesDecryptCTR(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer
34
+
35
+ /** decrypt AES 256 CBC where the IV is prefixed to the buffer */
36
+ export declare function aesDecrypt(buffer: Buffer, key: Buffer): Buffer
29
37
  /** decrypt AES 256 CBC */
30
- export declare function aesDecryptWithIV(buffer: Buffer, key: Buffer, IV: Buffer): Buffer<ArrayBuffer>;
31
- export declare function aesEncrypt(buffer: Buffer | Uint8Array, key: Buffer): Buffer<ArrayBuffer>;
32
- export declare function aesEncrypWithIV(buffer: Buffer, key: Buffer, IV: Buffer): Buffer<ArrayBuffer>;
33
- export declare function hmacSign(buffer: Buffer | Uint8Array, key: Buffer | Uint8Array, variant?: 'sha256' | 'sha512'): Buffer<ArrayBufferLike>;
34
- export declare function sha256(buffer: Buffer): Buffer<ArrayBufferLike>;
35
- export declare function md5(buffer: Buffer): Buffer<ArrayBufferLike>;
38
+
39
+ export declare function aesDecryptWithIV(buffer: Buffer, key: Buffer, IV: Buffer): Buffer
40
+
41
+ export declare function aesEncrypt(buffer: Buffer | Uint8Array, key: Buffer): Buffer
42
+
43
+ export declare function aesEncrypWithIV(buffer: Buffer, key: Buffer, IV: Buffer): Buffer
44
+
45
+ export declare function hmacSign(buffer: Buffer | Uint8Array, key: Buffer | Uint8Array, variant?: 'sha256' | 'sha512'): Buffer
46
+
47
+ export declare function sha256(buffer: Buffer): Buffer
48
+
49
+ export declare function md5(buffer: Buffer): Buffer
50
+
36
51
  export declare function hkdf(buffer: Uint8Array | Buffer, expandedLength: number, info: {
37
- salt?: Buffer;
38
- info?: string;
39
- }): Promise<Buffer>;
40
- export declare function derivePairingCodeKey(pairingCode: string, salt: Buffer): Promise<Buffer>;
41
- //# sourceMappingURL=crypto.d.ts.map
52
+ salt?: Buffer
53
+ info?: string
54
+ }): Promise<Buffer>
55
+
56
+ export declare function derivePairingCodeKey(pairingCode: string, salt: Buffer): Promise<Buffer>
@@ -1,142 +1,179 @@
1
- import { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes } from 'crypto';
2
- import * as curve from 'libsignal/src/curve.js';
3
- import { KEY_BUNDLE_TYPE } from '../Defaults/index.js';
4
- // insure browser & node compatibility
5
- const { subtle } = globalThis.crypto;
6
- /** prefix version byte to the pub keys, required for some curve crypto functions */
7
- export const generateSignalPubKey = (pubKey) => pubKey.length === 33 ? pubKey : Buffer.concat([KEY_BUNDLE_TYPE, pubKey]);
8
- export const Curve = {
9
- generateKeyPair: () => {
10
- const { pubKey, privKey } = curve.generateKeyPair();
11
- return {
12
- private: Buffer.from(privKey),
13
- // remove version byte
14
- public: Buffer.from(pubKey.slice(1))
15
- };
16
- },
17
- sharedKey: (privateKey, publicKey) => {
18
- const shared = curve.calculateAgreement(generateSignalPubKey(publicKey), privateKey);
19
- return Buffer.from(shared);
20
- },
21
- sign: (privateKey, buf) => curve.calculateSignature(privateKey, buf),
22
- verify: (pubKey, message, signature) => {
23
- try {
24
- curve.verifySignature(generateSignalPubKey(pubKey), message, signature);
25
- return true;
26
- }
27
- catch (error) {
28
- return false;
29
- }
1
+ "use strict"
2
+
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k
5
+ var desc = Object.getOwnPropertyDescriptor(m, k)
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k] } }
8
+ }
9
+ Object.defineProperty(o, k2, desc)
10
+ } : function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k
12
+ o[k2] = m[k]
13
+ })
14
+
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v })
17
+ } : function(o, v) {
18
+ o["default"] = v
19
+ })
20
+
21
+ var __importStar = (this && this.__importStar) || function(mod) {
22
+ if (mod && mod.__esModule) return mod
23
+ var result = {}
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k)
25
+ __setModuleDefault(result, mod)
26
+ return result
27
+ }
28
+
29
+ Object.defineProperty(exports, "__esModule", { value: true })
30
+
31
+ const crypto_1 = require("crypto")
32
+ const libsignal = __importStar(require("@neelegirl/libsignal"))
33
+ const Defaults_1 = require("../Defaults")
34
+
35
+ const generateSignalPubKey = (pubKey) => (
36
+ pubKey.length === 33 ? pubKey : Buffer.concat([Defaults_1.KEY_BUNDLE_TYPE, pubKey])
37
+ )
38
+
39
+ const Curve = {
40
+ generateKeyPair: () => {
41
+ const { pubKey, privKey } = libsignal.curve.generateKeyPair()
42
+ return {
43
+ private: Buffer.from(privKey),
44
+ public: Buffer.from(pubKey.slice(1))
45
+ }
46
+ },
47
+ sharedKey: (privateKey, publicKey) => {
48
+ const shared = libsignal.curve.calculateAgreement(generateSignalPubKey(publicKey), privateKey)
49
+ return Buffer.from(shared)
50
+ },
51
+ sign: (privateKey, buf) => libsignal.curve.calculateSignature(privateKey, buf),
52
+ verify: (pubKey, message, signature) => {
53
+ try {
54
+ libsignal.curve.verifySignature(generateSignalPubKey(pubKey), message, signature)
55
+ return true
56
+ } catch {
57
+ return false
30
58
  }
31
- };
32
- export const signedKeyPair = (identityKeyPair, keyId) => {
33
- const preKey = Curve.generateKeyPair();
34
- const pubKey = generateSignalPubKey(preKey.public);
35
- const signature = Curve.sign(identityKeyPair.private, pubKey);
36
- return { keyPair: preKey, signature, keyId };
37
- };
38
- const GCM_TAG_LENGTH = 128 >> 3;
39
- /**
40
- * encrypt AES 256 GCM;
41
- * where the tag tag is suffixed to the ciphertext
42
- * */
43
- export function aesEncryptGCM(plaintext, key, iv, additionalData) {
44
- const cipher = createCipheriv('aes-256-gcm', key, iv);
45
- cipher.setAAD(additionalData);
46
- return Buffer.concat([cipher.update(plaintext), cipher.final(), cipher.getAuthTag()]);
47
- }
48
- /**
49
- * decrypt AES 256 GCM;
50
- * where the auth tag is suffixed to the ciphertext
51
- * */
52
- export function aesDecryptGCM(ciphertext, key, iv, additionalData) {
53
- const decipher = createDecipheriv('aes-256-gcm', key, iv);
54
- // decrypt additional adata
55
- const enc = ciphertext.slice(0, ciphertext.length - GCM_TAG_LENGTH);
56
- const tag = ciphertext.slice(ciphertext.length - GCM_TAG_LENGTH);
57
- // set additional data
58
- decipher.setAAD(additionalData);
59
- decipher.setAuthTag(tag);
60
- return Buffer.concat([decipher.update(enc), decipher.final()]);
61
- }
62
- export function aesEncryptCTR(plaintext, key, iv) {
63
- const cipher = createCipheriv('aes-256-ctr', key, iv);
64
- return Buffer.concat([cipher.update(plaintext), cipher.final()]);
65
- }
66
- export function aesDecryptCTR(ciphertext, key, iv) {
67
- const decipher = createDecipheriv('aes-256-ctr', key, iv);
68
- return Buffer.concat([decipher.update(ciphertext), decipher.final()]);
69
- }
70
- /** decrypt AES 256 CBC; where the IV is prefixed to the buffer */
71
- export function aesDecrypt(buffer, key) {
72
- return aesDecryptWithIV(buffer.slice(16, buffer.length), key, buffer.slice(0, 16));
73
- }
74
- /** decrypt AES 256 CBC */
75
- export function aesDecryptWithIV(buffer, key, IV) {
76
- const aes = createDecipheriv('aes-256-cbc', key, IV);
77
- return Buffer.concat([aes.update(buffer), aes.final()]);
78
- }
79
- // encrypt AES 256 CBC; where a random IV is prefixed to the buffer
80
- export function aesEncrypt(buffer, key) {
81
- const IV = randomBytes(16);
82
- const aes = createCipheriv('aes-256-cbc', key, IV);
83
- return Buffer.concat([IV, aes.update(buffer), aes.final()]); // prefix IV to the buffer
84
- }
85
- // encrypt AES 256 CBC with a given IV
86
- export function aesEncrypWithIV(buffer, key, IV) {
87
- const aes = createCipheriv('aes-256-cbc', key, IV);
88
- return Buffer.concat([aes.update(buffer), aes.final()]); // prefix IV to the buffer
89
- }
90
- // sign HMAC using SHA 256
91
- export function hmacSign(buffer, key, variant = 'sha256') {
92
- return createHmac(variant, key).update(buffer).digest();
93
- }
94
- export function sha256(buffer) {
95
- return createHash('sha256').update(buffer).digest();
96
- }
97
- export function md5(buffer) {
98
- return createHash('md5').update(buffer).digest();
99
- }
100
- // HKDF key expansion
101
- export async function hkdf(buffer, expandedLength, info) {
102
- // Normalize to a Uint8Array whose underlying buffer is a regular ArrayBuffer (not ArrayBufferLike)
103
- // Cloning via new Uint8Array(...) guarantees the generic parameter is ArrayBuffer which satisfies WebCrypto types.
104
- const inputKeyMaterial = new Uint8Array(buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer));
105
- // Set default values if not provided
106
- const salt = info.salt ? new Uint8Array(info.salt) : new Uint8Array(0);
107
- const infoBytes = info.info ? new TextEncoder().encode(info.info) : new Uint8Array(0);
108
- // Import the input key material (cast to BufferSource to appease TS DOM typings)
109
- const importedKey = await subtle.importKey('raw', inputKeyMaterial, { name: 'HKDF' }, false, [
110
- 'deriveBits'
111
- ]);
112
- // Derive bits using HKDF
113
- const derivedBits = await subtle.deriveBits({
114
- name: 'HKDF',
115
- hash: 'SHA-256',
116
- salt: salt,
117
- info: infoBytes
118
- }, importedKey, expandedLength * 8 // Convert bytes to bits
119
- );
120
- return Buffer.from(derivedBits);
121
- }
122
- export async function derivePairingCodeKey(pairingCode, salt) {
123
- // Convert inputs to formats Web Crypto API can work with
124
- const encoder = new TextEncoder();
125
- const pairingCodeBuffer = encoder.encode(pairingCode);
126
- const saltBuffer = new Uint8Array(salt instanceof Uint8Array ? salt : new Uint8Array(salt));
127
- // Import the pairing code as key material
128
- const keyMaterial = await subtle.importKey('raw', pairingCodeBuffer, { name: 'PBKDF2' }, false, [
129
- 'deriveBits'
130
- ]);
131
- // Derive bits using PBKDF2 with the same parameters
132
- // 2 << 16 = 131,072 iterations
133
- const derivedBits = await subtle.deriveBits({
134
- name: 'PBKDF2',
135
- salt: saltBuffer,
136
- iterations: 2 << 16,
137
- hash: 'SHA-256'
138
- }, keyMaterial, 32 * 8 // 32 bytes * 8 = 256 bits
139
- );
140
- return Buffer.from(derivedBits);
141
- }
142
- //# sourceMappingURL=crypto.js.map
59
+ }
60
+ }
61
+
62
+ const signedKeyPair = (identityKeyPair, keyId) => {
63
+ const preKey = Curve.generateKeyPair()
64
+ const pubKey = generateSignalPubKey(preKey.public)
65
+ const signature = Curve.sign(identityKeyPair.private, pubKey)
66
+ return { keyPair: preKey, signature, keyId }
67
+ }
68
+
69
+ const GCM_TAG_LENGTH = 128 >> 3
70
+
71
+ function aesEncryptGCM(plaintext, key, iv, additionalData) {
72
+ const cipher = crypto_1.createCipheriv('aes-256-gcm', key, iv)
73
+ cipher.setAAD(additionalData)
74
+ return Buffer.concat([cipher.update(plaintext), cipher.final(), cipher.getAuthTag()])
75
+ }
76
+
77
+ function aesDecryptGCM(ciphertext, key, iv, additionalData) {
78
+ const decipher = crypto_1.createDecipheriv('aes-256-gcm', key, iv)
79
+ const enc = ciphertext.slice(0, ciphertext.length - GCM_TAG_LENGTH)
80
+ const tag = ciphertext.slice(ciphertext.length - GCM_TAG_LENGTH)
81
+ decipher.setAAD(additionalData)
82
+ decipher.setAuthTag(tag)
83
+ return Buffer.concat([decipher.update(enc), decipher.final()])
84
+ }
85
+
86
+ function aesEncryptCTR(plaintext, key, iv) {
87
+ const cipher = crypto_1.createCipheriv('aes-256-ctr', key, iv)
88
+ return Buffer.concat([cipher.update(plaintext), cipher.final()])
89
+ }
90
+
91
+ function aesDecryptCTR(ciphertext, key, iv) {
92
+ const decipher = crypto_1.createDecipheriv('aes-256-ctr', key, iv)
93
+ return Buffer.concat([decipher.update(ciphertext), decipher.final()])
94
+ }
95
+
96
+ function aesDecrypt(buffer, key) {
97
+ return aesDecryptWithIV(buffer.slice(16), key, buffer.slice(0, 16))
98
+ }
99
+
100
+ function aesDecryptWithIV(buffer, key, IV) {
101
+ const aes = crypto_1.createDecipheriv('aes-256-cbc', key, IV)
102
+ return Buffer.concat([aes.update(buffer), aes.final()])
103
+ }
104
+
105
+ function aesEncrypt(buffer, key) {
106
+ const IV = crypto_1.randomBytes(16)
107
+ const aes = crypto_1.createCipheriv('aes-256-cbc', key, IV)
108
+ return Buffer.concat([IV, aes.update(buffer), aes.final()])
109
+ }
110
+
111
+ function aesEncrypWithIV(buffer, key, IV) {
112
+ const aes = crypto_1.createCipheriv('aes-256-cbc', key, IV)
113
+ return Buffer.concat([aes.update(buffer), aes.final()])
114
+ }
115
+
116
+ function hmacSign(buffer, key, variant = 'sha256') {
117
+ return crypto_1.createHmac(variant, key).update(buffer).digest()
118
+ }
119
+
120
+ function sha256(buffer) {
121
+ return crypto_1.createHash('sha256').update(buffer).digest()
122
+ }
123
+
124
+ function md5(buffer) {
125
+ return crypto_1.createHash('md5').update(buffer).digest()
126
+ }
127
+
128
+ async function hkdf(buffer, expandedLength, info) {
129
+ const inputKeyMaterial = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer)
130
+ const salt = info.salt ? new Uint8Array(info.salt) : new Uint8Array(0)
131
+ const infoBytes = info.info ? new TextEncoder().encode(info.info) : new Uint8Array(0)
132
+
133
+ const importedKey = await crypto.subtle.importKey('raw', inputKeyMaterial, { name: 'HKDF' }, false, ['deriveBits'])
134
+
135
+ const derivedBits = await crypto.subtle.deriveBits({
136
+ name: 'HKDF',
137
+ hash: 'SHA-256',
138
+ salt,
139
+ info: infoBytes
140
+ }, importedKey, expandedLength * 8)
141
+
142
+ return Buffer.from(derivedBits)
143
+ }
144
+
145
+ async function derivePairingCodeKey(pairingCode, salt) {
146
+ const encoder = new TextEncoder()
147
+ const pairingCodeBuffer = encoder.encode(pairingCode)
148
+ const saltBuffer = salt instanceof Uint8Array ? salt : new Uint8Array(salt)
149
+
150
+ const keyMaterial = await crypto.subtle.importKey('raw', pairingCodeBuffer, { name: 'PBKDF2' }, false, ['deriveBits'])
151
+
152
+ const derivedBits = await crypto.subtle.deriveBits({
153
+ name: 'PBKDF2',
154
+ salt: saltBuffer,
155
+ iterations: 2 << 16,
156
+ hash: 'SHA-256'
157
+ }, keyMaterial, 32 * 8)
158
+
159
+ return Buffer.from(derivedBits)
160
+ }
161
+
162
+ module.exports = {
163
+ generateSignalPubKey,
164
+ Curve,
165
+ signedKeyPair,
166
+ aesEncryptGCM,
167
+ aesDecryptGCM,
168
+ aesEncryptCTR,
169
+ aesDecryptCTR,
170
+ aesDecrypt,
171
+ aesDecryptWithIV,
172
+ aesEncrypt,
173
+ aesEncrypWithIV,
174
+ hmacSign,
175
+ sha256,
176
+ md5,
177
+ hkdf,
178
+ derivePairingCodeKey
179
+ }
@@ -1,48 +1,41 @@
1
- import type { WAMessage } from '../Types/index.js';
2
- import type { SignalRepositoryWithLIDStore } from '../Types/Signal.js';
3
- import { type BinaryNode } from '../WABinary/index.js';
4
- import type { ILogger } from './logger.js';
5
- export declare const getDecryptionJid: (sender: string, repository: SignalRepositoryWithLIDStore) => Promise<string>;
6
- export declare const NO_MESSAGE_FOUND_ERROR_TEXT = "Message absent from node";
7
- export declare const MISSING_KEYS_ERROR_TEXT = "Key used already or never filled";
8
- export declare const DECRYPTION_RETRY_CONFIG: {
9
- maxRetries: number;
10
- baseDelayMs: number;
11
- sessionRecordErrors: string[];
12
- };
1
+ import { proto } from '../../WAProto'
2
+ import { SignalRepository } from '../Types'
3
+ import { BinaryNode } from '../WABinary'
4
+ import { ILogger } from './logger'
5
+
6
+ export declare const NO_MESSAGE_FOUND_ERROR_TEXT = "Message absent from node"
7
+
8
+ export declare const MISSING_KEYS_ERROR_TEXT = "Key used already or never filled"
9
+
13
10
  export declare const NACK_REASONS: {
14
- ParsingError: number;
15
- UnrecognizedStanza: number;
16
- UnrecognizedStanzaClass: number;
17
- UnrecognizedStanzaType: number;
18
- InvalidProtobuf: number;
19
- InvalidHostedCompanionStanza: number;
20
- MissingMessageSecret: number;
21
- SignalErrorOldCounter: number;
22
- MessageDeletedOnPeer: number;
23
- UnhandledError: number;
24
- UnsupportedAdminRevoke: number;
25
- UnsupportedLIDGroup: number;
26
- DBOperationFailed: number;
27
- };
28
- export declare const extractAddressingContext: (stanza: BinaryNode) => {
29
- addressingMode: string;
30
- senderAlt: string | undefined;
31
- recipientAlt: string | undefined;
32
- };
11
+ ParsingError: number
12
+ UnrecognizedStanza: number
13
+ UnrecognizedStanzaClass: number
14
+ UnrecognizedStanzaType: number
15
+ InvalidProtobuf: number
16
+ InvalidHostedCompanionStanza: number
17
+ MissingMessageSecret: number
18
+ SignalErrorOldCounter: number
19
+ MessageDeletedOnPeer: number
20
+ UnhandledError: number
21
+ UnsupportedAdminRevoke: number
22
+ UnsupportedLIDGroup: number
23
+ DBOperationFailed: number
24
+ }
25
+
33
26
  /**
34
27
  * Decode the received node as a message.
35
28
  * @note this will only parse the message, not decrypt it
36
29
  */
37
30
  export declare function decodeMessageNode(stanza: BinaryNode, meId: string, meLid: string): {
38
- fullMessage: WAMessage;
39
- author: string;
40
- sender: string;
41
- };
42
- export declare const decryptMessageNode: (stanza: BinaryNode, meId: string, meLid: string, repository: SignalRepositoryWithLIDStore, logger: ILogger) => {
43
- fullMessage: WAMessage;
44
- category: string | undefined;
45
- author: string;
46
- decrypt(): Promise<void>;
47
- };
48
- //# sourceMappingURL=decode-wa-message.d.ts.map
31
+ fullMessage: proto.IWebMessageInfo
32
+ author: string
33
+ sender: string
34
+ }
35
+
36
+ export declare const decryptMessageNode: (stanza: BinaryNode, meId: string, meLid: string, repository: SignalRepository, logger: ILogger) => {
37
+ fullMessage: proto.IWebMessageInfo
38
+ category: string
39
+ author: string
40
+ decrypt(): Promise<void>
41
+ }