@violetix/baileys 0.0.0-stage → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +3017 -2
  3. package/WAProto/index.d.ts +15932 -0
  4. package/WAProto/index.js +115856 -0
  5. package/engine-requirements.js +13 -0
  6. package/lib/Defaults/index.d.ts +145 -0
  7. package/lib/Defaults/index.d.ts.map +1 -0
  8. package/lib/Defaults/index.js +157 -0
  9. package/lib/Defaults/index.js.map +1 -0
  10. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  11. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  12. package/lib/Signal/Group/ciphertext-message.js +12 -0
  13. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  14. package/lib/Signal/Group/group-session-builder.d.ts +8 -0
  15. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  16. package/lib/Signal/Group/group-session-builder.js +30 -0
  17. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  18. package/lib/Signal/Group/group_cipher.d.ts +11 -0
  19. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  20. package/lib/Signal/Group/group_cipher.js +82 -0
  21. package/lib/Signal/Group/group_cipher.js.map +1 -0
  22. package/lib/Signal/Group/index.d.ts +12 -0
  23. package/lib/Signal/Group/index.d.ts.map +1 -0
  24. package/lib/Signal/Group/index.js +12 -0
  25. package/lib/Signal/Group/index.js.map +1 -0
  26. package/lib/Signal/Group/keyhelper.d.ts +7 -0
  27. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  28. package/lib/Signal/Group/keyhelper.js +18 -0
  29. package/lib/Signal/Group/keyhelper.js.map +1 -0
  30. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  31. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.js +26 -0
  33. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  34. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  35. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  38. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  39. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.js +66 -0
  41. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  42. package/lib/Signal/Group/sender-key-name.d.ts +12 -0
  43. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.js +48 -0
  45. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  46. package/lib/Signal/Group/sender-key-record.d.ts +13 -0
  47. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.js +41 -0
  49. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  50. package/lib/Signal/Group/sender-key-state.d.ts +17 -0
  51. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.js +84 -0
  53. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  54. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  55. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.js +26 -0
  57. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  58. package/lib/Signal/libsignal.d.ts +55 -0
  59. package/lib/Signal/libsignal.d.ts.map +1 -0
  60. package/lib/Signal/libsignal.js +403 -0
  61. package/lib/Signal/libsignal.js.map +1 -0
  62. package/lib/Signal/lid-mapping.d.ts +21 -0
  63. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  64. package/lib/Signal/lid-mapping.js +277 -0
  65. package/lib/Signal/lid-mapping.js.map +1 -0
  66. package/lib/Socket/Client/index.d.ts +3 -0
  67. package/lib/Socket/Client/index.d.ts.map +1 -0
  68. package/lib/Socket/Client/index.js +3 -0
  69. package/lib/Socket/Client/index.js.map +1 -0
  70. package/lib/Socket/Client/types.d.ts +6 -0
  71. package/lib/Socket/Client/types.d.ts.map +1 -0
  72. package/lib/Socket/Client/types.js +93 -0
  73. package/lib/Socket/Client/types.js.map +1 -0
  74. package/lib/Socket/Client/websocket.d.ts +13 -0
  75. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  76. package/lib/Socket/Client/websocket.js +57 -0
  77. package/lib/Socket/Client/websocket.js.map +1 -0
  78. package/lib/Socket/business.d.ts +428 -0
  79. package/lib/Socket/business.d.ts.map +1 -0
  80. package/lib/Socket/business.js +380 -0
  81. package/lib/Socket/business.js.map +1 -0
  82. package/lib/Socket/chats.d.ts +176 -0
  83. package/lib/Socket/chats.d.ts.map +1 -0
  84. package/lib/Socket/chats.js +1238 -0
  85. package/lib/Socket/chats.js.map +1 -0
  86. package/lib/Socket/communities.d.ts +595 -0
  87. package/lib/Socket/communities.d.ts.map +1 -0
  88. package/lib/Socket/communities.js +432 -0
  89. package/lib/Socket/communities.js.map +1 -0
  90. package/lib/Socket/graphql.js +908 -0
  91. package/lib/Socket/groups.d.ts +318 -0
  92. package/lib/Socket/groups.d.ts.map +1 -0
  93. package/lib/Socket/groups.js +364 -0
  94. package/lib/Socket/groups.js.map +1 -0
  95. package/lib/Socket/index.d.ts +947 -0
  96. package/lib/Socket/index.d.ts.map +1 -0
  97. package/lib/Socket/index.js +19 -0
  98. package/lib/Socket/index.js.map +1 -0
  99. package/lib/Socket/interop.js +562 -0
  100. package/lib/Socket/managed-account.js +210 -0
  101. package/lib/Socket/messages-recv.d.ts +367 -0
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +2199 -0
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +364 -0
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +1631 -0
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +2 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +42 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +315 -0
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +235 -0
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/privacy.js +448 -0
  118. package/lib/Socket/registration.js +430 -0
  119. package/lib/Socket/socket.d.ts +99 -0
  120. package/lib/Socket/socket.d.ts.map +1 -0
  121. package/lib/Socket/socket.js +1290 -0
  122. package/lib/Socket/socket.js.map +1 -0
  123. package/lib/Store/index.d.ts +4 -0
  124. package/lib/Store/index.d.ts.map +1 -0
  125. package/lib/Store/index.js +4 -0
  126. package/lib/Store/index.js.map +1 -0
  127. package/lib/Store/make-in-memory-store.d.ts +63 -0
  128. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  129. package/lib/Store/make-in-memory-store.js +462 -0
  130. package/lib/Store/make-in-memory-store.js.map +1 -0
  131. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  132. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  133. package/lib/Store/make-ordered-dictionary.js +79 -0
  134. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  135. package/lib/Store/object-repository.d.ts +11 -0
  136. package/lib/Store/object-repository.d.ts.map +1 -0
  137. package/lib/Store/object-repository.js +24 -0
  138. package/lib/Store/object-repository.js.map +1 -0
  139. package/lib/Types/Auth.d.ts +60 -0
  140. package/lib/Types/Auth.d.ts.map +1 -0
  141. package/lib/Types/Auth.js +2 -0
  142. package/lib/Types/Auth.js.map +1 -0
  143. package/lib/Types/Bussines.d.ts +9 -0
  144. package/lib/Types/Bussines.d.ts.map +1 -0
  145. package/lib/Types/Bussines.js +2 -0
  146. package/lib/Types/Bussines.js.map +1 -0
  147. package/lib/Types/Call.d.ts +22 -0
  148. package/lib/Types/Call.d.ts.map +1 -0
  149. package/lib/Types/Call.js +2 -0
  150. package/lib/Types/Call.js.map +1 -0
  151. package/lib/Types/Chat.d.ts +3 -0
  152. package/lib/Types/Chat.d.ts.map +1 -0
  153. package/lib/Types/Chat.js +8 -0
  154. package/lib/Types/Chat.js.map +1 -0
  155. package/lib/Types/Contact.d.ts +11 -0
  156. package/lib/Types/Contact.d.ts.map +1 -0
  157. package/lib/Types/Contact.js +2 -0
  158. package/lib/Types/Contact.js.map +1 -0
  159. package/lib/Types/Events.d.ts +41 -0
  160. package/lib/Types/Events.d.ts.map +1 -0
  161. package/lib/Types/Events.js +2 -0
  162. package/lib/Types/Events.js.map +1 -0
  163. package/lib/Types/GroupMetadata.d.ts +36 -0
  164. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  165. package/lib/Types/GroupMetadata.js +2 -0
  166. package/lib/Types/GroupMetadata.js.map +1 -0
  167. package/lib/Types/Label.d.ts +3 -0
  168. package/lib/Types/Label.d.ts.map +1 -0
  169. package/lib/Types/Label.js +25 -0
  170. package/lib/Types/Label.js.map +1 -0
  171. package/lib/Types/LabelAssociation.d.ts +3 -0
  172. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  173. package/lib/Types/LabelAssociation.js +7 -0
  174. package/lib/Types/LabelAssociation.js.map +1 -0
  175. package/lib/Types/Message.d.ts +22 -0
  176. package/lib/Types/Message.d.ts.map +1 -0
  177. package/lib/Types/Message.js +18 -0
  178. package/lib/Types/Message.js.map +1 -0
  179. package/lib/Types/Mex.d.ts +3 -0
  180. package/lib/Types/Mex.d.ts.map +1 -0
  181. package/lib/Types/Mex.js +49 -0
  182. package/lib/Types/Mex.js.map +1 -0
  183. package/lib/Types/Product.d.ts +5 -0
  184. package/lib/Types/Product.d.ts.map +1 -0
  185. package/lib/Types/Product.js +2 -0
  186. package/lib/Types/Product.js.map +1 -0
  187. package/lib/Types/RichType.d.ts +3 -0
  188. package/lib/Types/RichType.d.ts.map +1 -0
  189. package/lib/Types/RichType.js +23 -0
  190. package/lib/Types/RichType.js.map +1 -0
  191. package/lib/Types/Signal.d.ts +10 -0
  192. package/lib/Types/Signal.d.ts.map +1 -0
  193. package/lib/Types/Signal.js +2 -0
  194. package/lib/Types/Signal.js.map +1 -0
  195. package/lib/Types/Socket.d.ts +33 -0
  196. package/lib/Types/Socket.d.ts.map +1 -0
  197. package/lib/Types/Socket.js +2 -0
  198. package/lib/Types/Socket.js.map +1 -0
  199. package/lib/Types/State.d.ts +6 -0
  200. package/lib/Types/State.d.ts.map +1 -0
  201. package/lib/Types/State.js +56 -0
  202. package/lib/Types/State.js.map +1 -0
  203. package/lib/Types/USync.d.ts +9 -0
  204. package/lib/Types/USync.d.ts.map +1 -0
  205. package/lib/Types/USync.js +2 -0
  206. package/lib/Types/USync.js.map +1 -0
  207. package/lib/Types/index.d.ts +16 -0
  208. package/lib/Types/index.d.ts.map +1 -0
  209. package/lib/Types/index.js +26 -0
  210. package/lib/Types/index.js.map +1 -0
  211. package/lib/Utils/a2ui.d.ts +50 -0
  212. package/lib/Utils/a2ui.js +168 -0
  213. package/lib/Utils/anchor-guard.d.ts +71 -0
  214. package/lib/Utils/anchor-guard.js +404 -0
  215. package/lib/Utils/async-utils.js +7 -0
  216. package/lib/Utils/auth-utils.d.ts +59 -0
  217. package/lib/Utils/auth-utils.d.ts.map +1 -0
  218. package/lib/Utils/auth-utils.js +306 -0
  219. package/lib/Utils/auth-utils.js.map +1 -0
  220. package/lib/Utils/browser-utils.d.ts +10 -0
  221. package/lib/Utils/browser-utils.d.ts.map +1 -0
  222. package/lib/Utils/browser-utils.js +29 -0
  223. package/lib/Utils/browser-utils.js.map +1 -0
  224. package/lib/Utils/business.d.ts +50 -0
  225. package/lib/Utils/business.d.ts.map +1 -0
  226. package/lib/Utils/business.js +245 -0
  227. package/lib/Utils/business.js.map +1 -0
  228. package/lib/Utils/chat-utils.d.ts +409 -0
  229. package/lib/Utils/chat-utils.d.ts.map +1 -0
  230. package/lib/Utils/chat-utils.js +872 -0
  231. package/lib/Utils/chat-utils.js.map +1 -0
  232. package/lib/Utils/companion-reg-client-utils.d.ts +10 -0
  233. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  234. package/lib/Utils/companion-reg-client-utils.js +69 -0
  235. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  236. package/lib/Utils/crypto-worker.js +20 -0
  237. package/lib/Utils/crypto.d.ts +40 -0
  238. package/lib/Utils/crypto.d.ts.map +1 -0
  239. package/lib/Utils/crypto.js +118 -0
  240. package/lib/Utils/crypto.js.map +1 -0
  241. package/lib/Utils/decode-wa-message.d.ts +85 -0
  242. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  243. package/lib/Utils/decode-wa-message.js +467 -0
  244. package/lib/Utils/decode-wa-message.js.map +1 -0
  245. package/lib/Utils/event-buffer.d.ts +13 -0
  246. package/lib/Utils/event-buffer.d.ts.map +1 -0
  247. package/lib/Utils/event-buffer.js +651 -0
  248. package/lib/Utils/event-buffer.js.map +1 -0
  249. package/lib/Utils/generics.d.ts +64 -0
  250. package/lib/Utils/generics.d.ts.map +1 -0
  251. package/lib/Utils/generics.js +442 -0
  252. package/lib/Utils/generics.js.map +1 -0
  253. package/lib/Utils/history.d.ts +77 -0
  254. package/lib/Utils/history.d.ts.map +1 -0
  255. package/lib/Utils/history.js +188 -0
  256. package/lib/Utils/history.js.map +1 -0
  257. package/lib/Utils/identity-change-handler.d.ts +14 -0
  258. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  259. package/lib/Utils/identity-change-handler.js +50 -0
  260. package/lib/Utils/identity-change-handler.js.map +1 -0
  261. package/lib/Utils/ignore-key.d.ts +51 -0
  262. package/lib/Utils/ignore-key.js +174 -0
  263. package/lib/Utils/index.d.ts +29 -0
  264. package/lib/Utils/index.d.ts.map +1 -0
  265. package/lib/Utils/index.js +29 -0
  266. package/lib/Utils/index.js.map +1 -0
  267. package/lib/Utils/link-preview.d.ts +13 -0
  268. package/lib/Utils/link-preview.d.ts.map +1 -0
  269. package/lib/Utils/link-preview.js +85 -0
  270. package/lib/Utils/link-preview.js.map +1 -0
  271. package/lib/Utils/listener-guard.js +48 -0
  272. package/lib/Utils/logger.d.ts +3 -0
  273. package/lib/Utils/logger.d.ts.map +1 -0
  274. package/lib/Utils/logger.js +3 -0
  275. package/lib/Utils/logger.js.map +1 -0
  276. package/lib/Utils/lt-hash.d.ts +7 -0
  277. package/lib/Utils/lt-hash.d.ts.map +1 -0
  278. package/lib/Utils/lt-hash.js +8 -0
  279. package/lib/Utils/lt-hash.js.map +1 -0
  280. package/lib/Utils/make-mutex.d.ts +7 -0
  281. package/lib/Utils/make-mutex.d.ts.map +1 -0
  282. package/lib/Utils/make-mutex.js +33 -0
  283. package/lib/Utils/make-mutex.js.map +1 -0
  284. package/lib/Utils/message-retry-manager.d.ts +80 -0
  285. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  286. package/lib/Utils/message-retry-manager.js +285 -0
  287. package/lib/Utils/message-retry-manager.js.map +1 -0
  288. package/lib/Utils/messages-media.d.ts +166 -0
  289. package/lib/Utils/messages-media.d.ts.map +1 -0
  290. package/lib/Utils/messages-media.js +979 -0
  291. package/lib/Utils/messages-media.js.map +1 -0
  292. package/lib/Utils/messages.d.ts +47 -0
  293. package/lib/Utils/messages.d.ts.map +1 -0
  294. package/lib/Utils/messages.js +1959 -0
  295. package/lib/Utils/messages.js.map +1 -0
  296. package/lib/Utils/meta-ai-msmsg.d.ts +12 -0
  297. package/lib/Utils/meta-ai-msmsg.js +124 -0
  298. package/lib/Utils/noise-handler.d.ts +21 -0
  299. package/lib/Utils/noise-handler.d.ts.map +1 -0
  300. package/lib/Utils/noise-handler.js +206 -0
  301. package/lib/Utils/noise-handler.js.map +1 -0
  302. package/lib/Utils/offline-node-processor.d.ts +10 -0
  303. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  304. package/lib/Utils/offline-node-processor.js +40 -0
  305. package/lib/Utils/offline-node-processor.js.map +1 -0
  306. package/lib/Utils/pre-key-manager.d.ts +26 -0
  307. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  308. package/lib/Utils/pre-key-manager.js +106 -0
  309. package/lib/Utils/pre-key-manager.js.map +1 -0
  310. package/lib/Utils/process-message.d.ts +102 -0
  311. package/lib/Utils/process-message.d.ts.map +1 -0
  312. package/lib/Utils/process-message.js +798 -0
  313. package/lib/Utils/process-message.js.map +1 -0
  314. package/lib/Utils/reporting-utils.d.ts +13 -0
  315. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  316. package/lib/Utils/reporting-utils.js +258 -0
  317. package/lib/Utils/reporting-utils.js.map +1 -0
  318. package/lib/Utils/rich-message-utils.d.ts +49 -0
  319. package/lib/Utils/rich-message-utils.d.ts.map +1 -0
  320. package/lib/Utils/rich-message-utils.js +369 -0
  321. package/lib/Utils/rich-message-utils.js.map +1 -0
  322. package/lib/Utils/session-queue.js +33 -0
  323. package/lib/Utils/signal.d.ts +83 -0
  324. package/lib/Utils/signal.d.ts.map +1 -0
  325. package/lib/Utils/signal.js +201 -0
  326. package/lib/Utils/signal.js.map +1 -0
  327. package/lib/Utils/stanza-ack.d.ts +22 -0
  328. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  329. package/lib/Utils/stanza-ack.js +72 -0
  330. package/lib/Utils/stanza-ack.js.map +1 -0
  331. package/lib/Utils/sync-action-utils.d.ts +3 -0
  332. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  333. package/lib/Utils/sync-action-utils.js +49 -0
  334. package/lib/Utils/sync-action-utils.js.map +1 -0
  335. package/lib/Utils/tc-token-utils.d.ts +30 -0
  336. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  337. package/lib/Utils/tc-token-utils.js +164 -0
  338. package/lib/Utils/tc-token-utils.js.map +1 -0
  339. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  340. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  341. package/lib/Utils/use-multi-file-auth-state.js +196 -0
  342. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  343. package/lib/Utils/use-single-file-auth-state.d.ts +11 -0
  344. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  345. package/lib/Utils/use-single-file-auth-state.js +118 -0
  346. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  347. package/lib/Utils/use-sqlite-auth-state.d.ts +11 -0
  348. package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
  349. package/lib/Utils/use-sqlite-auth-state.js +109 -0
  350. package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
  351. package/lib/Utils/validate-connection.d.ts +44 -0
  352. package/lib/Utils/validate-connection.d.ts.map +1 -0
  353. package/lib/Utils/validate-connection.js +210 -0
  354. package/lib/Utils/validate-connection.js.map +1 -0
  355. package/lib/Utils/worker-pool.js +73 -0
  356. package/lib/WABinary/constants.d.ts +62 -0
  357. package/lib/WABinary/constants.d.ts.map +1 -0
  358. package/lib/WABinary/constants.js +1467 -0
  359. package/lib/WABinary/constants.js.map +1 -0
  360. package/lib/WABinary/decode.d.ts +10 -0
  361. package/lib/WABinary/decode.d.ts.map +1 -0
  362. package/lib/WABinary/decode.js +262 -0
  363. package/lib/WABinary/decode.js.map +1 -0
  364. package/lib/WABinary/encode.d.ts +3 -0
  365. package/lib/WABinary/encode.d.ts.map +1 -0
  366. package/lib/WABinary/encode.js +220 -0
  367. package/lib/WABinary/encode.js.map +1 -0
  368. package/lib/WABinary/generic-utils.d.ts +77 -0
  369. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  370. package/lib/WABinary/generic-utils.js +226 -0
  371. package/lib/WABinary/generic-utils.js.map +1 -0
  372. package/lib/WABinary/index.d.ts +6 -0
  373. package/lib/WABinary/index.d.ts.map +1 -0
  374. package/lib/WABinary/index.js +6 -0
  375. package/lib/WABinary/index.js.map +1 -0
  376. package/lib/WABinary/jid-utils.d.ts +29 -0
  377. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  378. package/lib/WABinary/jid-utils.js +96 -0
  379. package/lib/WABinary/jid-utils.js.map +1 -0
  380. package/lib/WABinary/types.d.ts +6 -0
  381. package/lib/WABinary/types.d.ts.map +1 -0
  382. package/lib/WABinary/types.js +2 -0
  383. package/lib/WABinary/types.js.map +1 -0
  384. package/lib/WAM/BinaryInfo.d.ts +8 -0
  385. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  386. package/lib/WAM/BinaryInfo.js +10 -0
  387. package/lib/WAM/BinaryInfo.js.map +1 -0
  388. package/lib/WAM/constants.d.ts +34927 -0
  389. package/lib/WAM/constants.d.ts.map +1 -0
  390. package/lib/WAM/constants.js +22853 -0
  391. package/lib/WAM/constants.js.map +1 -0
  392. package/lib/WAM/encode.d.ts +2 -0
  393. package/lib/WAM/encode.d.ts.map +1 -0
  394. package/lib/WAM/encode.js +150 -0
  395. package/lib/WAM/encode.js.map +1 -0
  396. package/lib/WAM/index.d.ts +4 -0
  397. package/lib/WAM/index.d.ts.map +1 -0
  398. package/lib/WAM/index.js +4 -0
  399. package/lib/WAM/index.js.map +1 -0
  400. package/lib/WAUSync/Protocols/USyncBusinessProtocol.d.ts +8 -0
  401. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +99 -0
  402. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +37 -0
  403. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  404. package/lib/WAUSync/Protocols/USyncContactProtocol.js +53 -0
  405. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  406. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  407. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  408. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  409. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  410. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  411. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  412. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  413. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  414. package/lib/WAUSync/Protocols/USyncFeatureProtocol.d.ts +9 -0
  415. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +70 -0
  416. package/lib/WAUSync/Protocols/USyncPictureProtocol.d.ts +12 -0
  417. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +28 -0
  418. package/lib/WAUSync/Protocols/USyncSidelistProtocol.d.ts +10 -0
  419. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +25 -0
  420. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  421. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  422. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  423. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  424. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.d.ts +11 -0
  425. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +34 -0
  426. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  427. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  428. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +31 -0
  429. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  430. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +39 -0
  431. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  432. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  433. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  434. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +15 -0
  435. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  436. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  437. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  438. package/lib/WAUSync/Protocols/index.d.ts +11 -0
  439. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  440. package/lib/WAUSync/Protocols/index.js +11 -0
  441. package/lib/WAUSync/Protocols/index.js.map +1 -0
  442. package/lib/WAUSync/USyncQuery.d.ts +32 -0
  443. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  444. package/lib/WAUSync/USyncQuery.js +185 -0
  445. package/lib/WAUSync/USyncQuery.js.map +1 -0
  446. package/lib/WAUSync/USyncUser.d.ts +25 -0
  447. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  448. package/lib/WAUSync/USyncUser.js +48 -0
  449. package/lib/WAUSync/USyncUser.js.map +1 -0
  450. package/lib/WAUSync/index.d.ts +4 -0
  451. package/lib/WAUSync/index.d.ts.map +1 -0
  452. package/lib/WAUSync/index.js +4 -0
  453. package/lib/WAUSync/index.js.map +1 -0
  454. package/lib/index.d.ts +12 -0
  455. package/lib/index.d.ts.map +1 -0
  456. package/lib/index.js +12 -0
  457. package/lib/index.js.map +1 -0
  458. package/package.json +122 -5
@@ -0,0 +1,403 @@
1
+ // @ts-ignore
2
+ import * as libsignal from 'libsignal';
3
+ // @ts-ignore
4
+ import { PreKeyWhisperMessage } from 'libsignal/src/protobufs.js';
5
+ import { generateSignalPubKey } from '../Utils/index.js';
6
+ import { isHostedLidUser, isHostedPnUser, isLidUser, isPnUser, jidDecode, transferDevice, WAJIDDomains } from '../WABinary/index.js';
7
+ import { SenderKeyName } from './Group/sender-key-name.js';
8
+ import { SenderKeyRecord } from './Group/sender-key-record.js';
9
+ import { GroupCipher, GroupSessionBuilder, SenderKeyDistributionMessage } from './Group/index.js';
10
+ import { LIDMappingStore } from './lid-mapping.js';
11
+ /** Extract identity key from PreKeyWhisperMessage for identity change detection */
12
+ function extractIdentityFromPkmsg(ciphertext) {
13
+ try {
14
+ if (!ciphertext || ciphertext.length < 2) {
15
+ return undefined;
16
+ }
17
+ // Version byte check (version 3)
18
+ const version = ciphertext[0];
19
+ if ((version & 0xf) !== 3) {
20
+ return undefined;
21
+ }
22
+ // Parse protobuf (skip version byte)
23
+ const preKeyProto = PreKeyWhisperMessage.decode(ciphertext.slice(1));
24
+ if (preKeyProto.identityKey?.length === 33) {
25
+ return new Uint8Array(preKeyProto.identityKey);
26
+ }
27
+ return undefined;
28
+ }
29
+ catch {
30
+ return undefined;
31
+ }
32
+ }
33
+ export function makeLibSignalRepository(auth, logger, pnToLIDFunc) {
34
+ const lidMapping = new LIDMappingStore(auth.keys, logger, pnToLIDFunc);
35
+ // Parsed Signal records are mutable. Read them from the transactional key store so
36
+ // failed operations and direct session deletions cannot leave stale ratchets cached.
37
+ const storage = signalStorage(auth, lidMapping);
38
+ const parsedKeys = auth.keys;
39
+ const ensureSenderKeyAndCreateSkdm = async (group, meId) => {
40
+ const senderName = jidToSignalSenderKeyName(group, meId);
41
+ const senderNameStr = senderName.toString();
42
+ const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
43
+ if (!senderKey) {
44
+ await storage.storeSenderKey(senderName, new SenderKeyRecord());
45
+ }
46
+ const skdm = await new GroupSessionBuilder(storage).create(senderName);
47
+ return { senderName, skdm };
48
+ };
49
+ const repository = {
50
+ decryptGroupMessage({ group, authorJid, msg }) {
51
+ const senderName = jidToSignalSenderKeyName(group, authorJid);
52
+ const cipher = new GroupCipher(storage, senderName);
53
+ // Use transaction to ensure atomicity
54
+ return parsedKeys.transaction(async () => {
55
+ return cipher.decrypt(msg);
56
+ }, group);
57
+ },
58
+ async processSenderKeyDistributionMessage({ item, authorJid }) {
59
+ const builder = new GroupSessionBuilder(storage);
60
+ if (!item.groupId) {
61
+ throw new Error('Group ID is required for sender key distribution message');
62
+ }
63
+ const senderName = jidToSignalSenderKeyName(item.groupId, authorJid);
64
+ const senderMsg = new SenderKeyDistributionMessage(null, null, null, null, item.axolotlSenderKeyDistributionMessage);
65
+ return parsedKeys.transaction(async () => {
66
+ const senderNameStr = senderName.toString();
67
+ const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
68
+ if (!senderKey) {
69
+ await storage.storeSenderKey(senderName, new SenderKeyRecord());
70
+ }
71
+ await builder.process(senderName, senderMsg);
72
+ }, item.groupId);
73
+ },
74
+ async decryptMessage({ jid, type, ciphertext }) {
75
+ const addr = jidToSignalProtocolAddress(jid);
76
+ const session = new libsignal.SessionCipher(storage, addr);
77
+ async function doDecrypt() {
78
+ let result;
79
+ switch (type) {
80
+ case 'pkmsg':
81
+ result = await session.decryptPreKeyWhisperMessage(ciphertext);
82
+ break;
83
+ case 'msg':
84
+ result = await session.decryptWhisperMessage(ciphertext);
85
+ break;
86
+ }
87
+ return result;
88
+ }
89
+ // If it's not a sync message, we need to ensure atomicity
90
+ // For regular messages, we use a transaction to ensure atomicity
91
+ return parsedKeys.transaction(async () => {
92
+ if (type === 'pkmsg') {
93
+ const identityKey = extractIdentityFromPkmsg(ciphertext);
94
+ if (identityKey) {
95
+ const identityChanged = await storage.saveIdentity(addr.toString(), identityKey);
96
+ if (identityChanged) {
97
+ logger.info({ jid, addr: addr.toString() }, 'identity key changed or new contact, session will be re-established');
98
+ }
99
+ }
100
+ }
101
+ return await doDecrypt();
102
+ }, jid);
103
+ },
104
+ async encryptMessage({ jid, data }) {
105
+ const addr = jidToSignalProtocolAddress(jid);
106
+ const cipher = new libsignal.SessionCipher(storage, addr);
107
+ // Use transaction to ensure atomicity
108
+ return parsedKeys.transaction(async () => {
109
+ const { type: sigType, body } = await cipher.encrypt(data);
110
+ const type = sigType === 3 ? 'pkmsg' : 'msg';
111
+ return { type, ciphertext: Buffer.from(body, 'binary') };
112
+ }, jid);
113
+ },
114
+ async encryptGroupMessage({ group, meId, data }) {
115
+ return parsedKeys.transaction(async () => {
116
+ const { senderName, skdm } = await ensureSenderKeyAndCreateSkdm(group, meId);
117
+ const ciphertext = await new GroupCipher(storage, senderName).encrypt(data);
118
+ return { ciphertext, senderKeyDistributionMessage: skdm.serialize() };
119
+ }, group);
120
+ },
121
+ async getSenderKeyDistributionMessage({ group, meId }) {
122
+ return parsedKeys.transaction(async () => {
123
+ const { skdm } = await ensureSenderKeyAndCreateSkdm(group, meId);
124
+ return skdm.serialize();
125
+ }, group);
126
+ },
127
+ async hasSenderKey({ group, meId }) {
128
+ const senderName = jidToSignalSenderKeyName(group, meId).toString();
129
+ const { [senderName]: key } = await auth.keys.get('sender-key', [senderName]);
130
+ return !!key;
131
+ },
132
+ async getSessionInfo(jid) {
133
+ const addr = jidToSignalProtocolAddress(jid).toString();
134
+ const session = (await storage.loadSession(addr));
135
+ if (!session) {
136
+ return null;
137
+ }
138
+ const open = session.getOpenSession?.();
139
+ const baseKey = open?.indexInfo?.baseKey;
140
+ const registrationId = open?.registrationId;
141
+ if (!baseKey || typeof registrationId !== 'number') {
142
+ return null;
143
+ }
144
+ return { baseKey: new Uint8Array(baseKey), registrationId };
145
+ },
146
+ async injectE2ESession({ jid, session }) {
147
+ logger.trace({ jid }, 'injecting E2EE session');
148
+ const cipher = new libsignal.SessionBuilder(storage, jidToSignalProtocolAddress(jid));
149
+ return parsedKeys.transaction(async () => {
150
+ // libsignal runtime accepts an absent prekey (initOutgoing checks `device.preKey && ...`)
151
+ // but the bundled .d.ts marks it required.
152
+ await cipher.initOutgoing(session);
153
+ }, jid);
154
+ },
155
+ jidToSignalProtocolAddress(jid) {
156
+ return jidToSignalProtocolAddress(jid).toString();
157
+ },
158
+ // Optimized direct access to LID mapping store
159
+ lidMapping,
160
+ async validateSession(jid) {
161
+ try {
162
+ const addr = jidToSignalProtocolAddress(jid);
163
+ const session = await storage.loadSession(addr.toString());
164
+ if (!session) {
165
+ return { exists: false, reason: 'no session' };
166
+ }
167
+ if (!session.haveOpenSession()) {
168
+ return { exists: false, reason: 'no open session' };
169
+ }
170
+ return { exists: true };
171
+ }
172
+ catch (error) {
173
+ return { exists: false, reason: 'validation error' };
174
+ }
175
+ },
176
+ async deleteSession(jids) {
177
+ if (!jids.length)
178
+ return;
179
+ // Single transaction for all deletions
180
+ return parsedKeys.transaction(async () => {
181
+ const sessionUpdates = {};
182
+ for (const jid of jids) {
183
+ const addr = jidToSignalProtocolAddress(jid).toString();
184
+ sessionUpdates[addr] = null;
185
+ sessionUpdates[await storage.resolveLIDSignalAddress(addr)] = null;
186
+ }
187
+ await auth.keys.set({ session: sessionUpdates });
188
+ }, `delete-${jids.length}-sessions`);
189
+ },
190
+ close() {
191
+ lidMapping.close();
192
+ },
193
+ async migrateSession(fromJid, toJid) {
194
+ // TODO: use usync to handle this entire mess
195
+ if (!fromJid || (!isLidUser(toJid) && !isHostedLidUser(toJid)))
196
+ return { migrated: 0, skipped: 0, total: 0 };
197
+ // Only support PN to LID migration
198
+ if (!isPnUser(fromJid) && !isHostedPnUser(fromJid)) {
199
+ return { migrated: 0, skipped: 0, total: 1 };
200
+ }
201
+ const { user } = jidDecode(fromJid);
202
+ logger.debug({ fromJid }, 'bulk device migration - loading all user devices');
203
+ // Get user's device list from storage
204
+ const { [user]: storedDevices } = await parsedKeys.get('device-list', [user]);
205
+ if (!storedDevices) {
206
+ return { migrated: 0, skipped: 0, total: 0 };
207
+ }
208
+ const userDevices = [...storedDevices];
209
+ const { device: fromDevice } = jidDecode(fromJid);
210
+ const fromDeviceStr = fromDevice?.toString() || '0';
211
+ if (!userDevices.includes(fromDeviceStr)) {
212
+ userDevices.push(fromDeviceStr);
213
+ }
214
+ // Migrated PN sessions are deleted from storage; that is the authoritative skip check.
215
+ const deviceSessionKeys = userDevices.map(device => `${user}.${device}`);
216
+ const existingSessions = await parsedKeys.get('session', deviceSessionKeys);
217
+ // Step 3: Convert existing sessions to JIDs (only migrate sessions that exist)
218
+ const deviceJids = [];
219
+ for (const [sessionKey, sessionData] of Object.entries(existingSessions)) {
220
+ if (sessionData) {
221
+ // Session exists in storage
222
+ const deviceStr = sessionKey.split('.')[1];
223
+ if (!deviceStr)
224
+ continue;
225
+ const deviceNum = parseInt(deviceStr);
226
+ let jid = deviceNum === 0 ? `${user}@s.whatsapp.net` : `${user}:${deviceNum}@s.whatsapp.net`;
227
+ if (deviceNum === 99) {
228
+ jid = `${user}:99@hosted`;
229
+ }
230
+ deviceJids.push(jid);
231
+ }
232
+ }
233
+ logger.debug({
234
+ fromJid,
235
+ totalDevices: userDevices.length,
236
+ devicesWithSessions: deviceJids.length,
237
+ devices: deviceJids
238
+ }, 'bulk device migration complete - all user devices processed');
239
+ // Single transaction for all migrations
240
+ return parsedKeys.transaction(async () => {
241
+ const migrationOps = deviceJids.map(jid => {
242
+ const lidWithDevice = transferDevice(jid, toJid);
243
+ return {
244
+ fromAddr: jidToSignalProtocolAddress(jid),
245
+ toAddr: jidToSignalProtocolAddress(lidWithDevice)
246
+ };
247
+ });
248
+ const totalOps = migrationOps.length;
249
+ let migratedCount = 0;
250
+ // Bulk fetch PN sessions - already exist (verified during device discovery)
251
+ const pnAddrStrings = Array.from(new Set(migrationOps.map(op => op.fromAddr.toString())));
252
+ const pnSessions = await parsedKeys.get('session', pnAddrStrings);
253
+ // Prepare bulk session updates (PN → LID migration + deletion)
254
+ const sessionUpdates = {};
255
+ for (const op of migrationOps) {
256
+ const pnAddrStr = op.fromAddr.toString();
257
+ const lidAddrStr = op.toAddr.toString();
258
+ const pnSession = pnSessions[pnAddrStr];
259
+ if (pnSession) {
260
+ // Session exists (guaranteed from device discovery)
261
+ const fromSession = libsignal.SessionRecord.deserialize(pnSession);
262
+ if (fromSession.haveOpenSession()) {
263
+ // Queue for bulk update: copy to LID, delete from PN
264
+ sessionUpdates[lidAddrStr] = fromSession.serialize();
265
+ sessionUpdates[pnAddrStr] = null;
266
+ migratedCount++;
267
+ }
268
+ }
269
+ }
270
+ // Single bulk session update for all migrations
271
+ if (Object.keys(sessionUpdates).length > 0) {
272
+ await parsedKeys.set({ session: sessionUpdates });
273
+ logger.debug({ migratedSessions: migratedCount }, 'bulk session migration complete');
274
+ }
275
+ const skippedCount = totalOps - migratedCount;
276
+ return { migrated: migratedCount, skipped: skippedCount, total: totalOps };
277
+ }, `migrate-${deviceJids.length}-sessions-${jidDecode(toJid)?.user}`);
278
+ }
279
+ };
280
+ return repository;
281
+ }
282
+ const jidToSignalProtocolAddress = (jid) => {
283
+ const decoded = jidDecode(jid);
284
+ const { user, device, server, domainType } = decoded;
285
+ if (!user) {
286
+ throw new Error(`JID decoded but user is empty: "${jid}" -> user: "${user}", server: "${server}", device: ${device}`);
287
+ }
288
+ const signalUser = domainType !== WAJIDDomains.WHATSAPP ? `${user}_${domainType}` : user;
289
+ const finalDevice = device || 0;
290
+ if (device === 99 && decoded.server !== 'hosted' && decoded.server !== 'hosted.lid') {
291
+ throw new Error('Unexpected non-hosted device JID with device 99. This ID seems invalid. ID:' + jid);
292
+ }
293
+ return new libsignal.ProtocolAddress(signalUser, finalDevice);
294
+ };
295
+ const jidToSignalSenderKeyName = (group, user) => {
296
+ return new SenderKeyName(group, jidToSignalProtocolAddress(user));
297
+ };
298
+ function signalStorage({ creds, keys }, lidMapping) {
299
+ // Shared function to resolve PN signal address to LID if mapping exists
300
+ const resolveLIDSignalAddress = async (id) => {
301
+ if (id.includes('.')) {
302
+ const [deviceId, device] = id.split('.');
303
+ const [user, domainType_] = deviceId.split('_');
304
+ const domainType = parseInt(domainType_ || '0');
305
+ if (domainType === WAJIDDomains.LID || domainType === WAJIDDomains.HOSTED_LID)
306
+ return id;
307
+ const pnJid = `${user}${device !== '0' ? `:${device}` : ''}@${domainType === WAJIDDomains.HOSTED ? 'hosted' : 's.whatsapp.net'}`;
308
+ const lidForPN = await lidMapping.getLIDForPN(pnJid);
309
+ if (lidForPN) {
310
+ const lidAddr = jidToSignalProtocolAddress(lidForPN);
311
+ return lidAddr.toString();
312
+ }
313
+ }
314
+ return id;
315
+ };
316
+ return {
317
+ resolveLIDSignalAddress,
318
+ loadSession: async (id) => {
319
+ try {
320
+ const wireJid = await resolveLIDSignalAddress(id);
321
+ const { [wireJid]: sess } = await keys.get('session', [wireJid]);
322
+ if (sess) {
323
+ return libsignal.SessionRecord.deserialize(sess);
324
+ }
325
+ }
326
+ catch (e) {
327
+ return null;
328
+ }
329
+ return null;
330
+ },
331
+ storeSession: async (id, session) => {
332
+ const wireJid = await resolveLIDSignalAddress(id);
333
+ await keys.set({ session: { [wireJid]: session.serialize() } });
334
+ },
335
+ isTrustedIdentity: () => {
336
+ return true; // TOFU - Trust on First Use (same as WhatsApp Web)
337
+ },
338
+ loadIdentityKey: async (id) => {
339
+ const wireJid = await resolveLIDSignalAddress(id);
340
+ const { [wireJid]: key } = await keys.get('identity-key', [wireJid]);
341
+ return key || undefined;
342
+ },
343
+ saveIdentity: async (id, identityKey) => {
344
+ const wireJid = await resolveLIDSignalAddress(id);
345
+ const { [wireJid]: existingKey } = await keys.get('identity-key', [wireJid]);
346
+ const keysMatch = existingKey?.length === identityKey.length && existingKey.every((byte, i) => byte === identityKey[i]);
347
+ if (existingKey && !keysMatch) {
348
+ // Identity changed - clear session and update key
349
+ await keys.set({
350
+ session: { [wireJid]: null },
351
+ 'identity-key': { [wireJid]: identityKey }
352
+ });
353
+ return true;
354
+ }
355
+ if (!existingKey) {
356
+ // New contact - Trust on First Use (TOFU)
357
+ await keys.set({ 'identity-key': { [wireJid]: identityKey } });
358
+ return true;
359
+ }
360
+ return false;
361
+ },
362
+ loadPreKey: async (id) => {
363
+ const keyId = id.toString();
364
+ const { [keyId]: key } = await keys.get('pre-key', [keyId]);
365
+ if (key) {
366
+ return {
367
+ privKey: Buffer.from(key.private),
368
+ pubKey: Buffer.from(key.public)
369
+ };
370
+ }
371
+ },
372
+ removePreKey: (id) => keys.set({ 'pre-key': { [id]: null } }),
373
+ loadSignedPreKey: () => {
374
+ const key = creds.signedPreKey;
375
+ return {
376
+ privKey: Buffer.from(key.keyPair.private),
377
+ pubKey: Buffer.from(key.keyPair.public)
378
+ };
379
+ },
380
+ loadSenderKey: async (senderKeyName) => {
381
+ const keyId = senderKeyName.toString();
382
+ const { [keyId]: key } = await keys.get('sender-key', [keyId]);
383
+ if (key) {
384
+ return SenderKeyRecord.deserialize(key);
385
+ }
386
+ return new SenderKeyRecord();
387
+ },
388
+ storeSenderKey: async (senderKeyName, key) => {
389
+ const keyId = senderKeyName.toString();
390
+ const serialized = JSON.stringify(key.serialize());
391
+ await keys.set({ 'sender-key': { [keyId]: Buffer.from(serialized, 'utf-8') } });
392
+ },
393
+ getOurRegistrationId: () => creds.registrationId,
394
+ getOurIdentity: () => {
395
+ const { signedIdentityKey } = creds;
396
+ return {
397
+ privKey: Buffer.from(signedIdentityKey.private),
398
+ pubKey: Buffer.from(generateSignalPubKey(signedIdentityKey.public))
399
+ };
400
+ }
401
+ };
402
+ }
403
+ //# sourceMappingURL=libsignal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export class LIDMappingStore {
2
+ constructor(keys: any, logger: any, pnToLIDFunc: any);
3
+ mappingCache: any;
4
+ inflightLIDLookups: Map<any, any>;
5
+ inflightPNLookups: Map<any, any>;
6
+ keys: any;
7
+ pnToLIDFunc: any;
8
+ logger: any;
9
+ storeLIDPNMappings(pairs: any): Promise<void>;
10
+ getLIDForPN(pn: any): Promise<any>;
11
+ getLIDsForPNs(pns: any): Promise<any>;
12
+ _getLIDsForPNsImpl(pns: any): Promise<any[] | null>;
13
+ getPNForLID(lid: any): Promise<any>;
14
+ getPNsForLIDs(lids: any): Promise<any>;
15
+ _getPNsForLIDsImpl(lids: any): Promise<any[] | null>;
16
+ /**
17
+ * Close the cache and release resources
18
+ */
19
+ close(): void;
20
+ }
21
+ //# sourceMappingURL=lid-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.js"],"names":[],"mappings":"AAEA;IACI,sDAWC;IAVG,kBAIE;IACF,kCAAmC;IACnC,iCAAkC;IAClC,UAAgB;IAChB,iBAA8B;IAC9B,YAAoB;IAExB,8CAkEC;IACD,mCAEC;IACD,sCAkBC;IACD,oDA6FC;IACD,oCAEC;IACD,uCAkBC;IACD,qDAgDC;IACD;;OAEG;IACH,cAEC;CACJ"}