@periskope/baileys 7.0.0-beta-3 → 7.0.0-rc5-2

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 (195) hide show
  1. package/README.md +9 -0
  2. package/WAProto/GenerateStatics.sh +2 -2
  3. package/WAProto/WAProto.proto +289 -289
  4. package/WAProto/index.js +44705 -125364
  5. package/lib/Defaults/index.d.ts +7 -2
  6. package/lib/Defaults/index.d.ts.map +1 -1
  7. package/lib/Defaults/index.js +14 -7
  8. package/lib/Defaults/index.js.map +1 -1
  9. package/lib/Signal/Group/group_cipher.d.ts +1 -2
  10. package/lib/Signal/Group/group_cipher.d.ts.map +1 -1
  11. package/lib/Signal/Group/group_cipher.js +29 -41
  12. package/lib/Signal/Group/group_cipher.js.map +1 -1
  13. package/lib/Signal/Group/keyhelper.d.ts.map +1 -1
  14. package/lib/Signal/Group/keyhelper.js +0 -1
  15. package/lib/Signal/Group/keyhelper.js.map +1 -1
  16. package/lib/Signal/Group/queue-job.d.ts +0 -1
  17. package/lib/Signal/Group/queue-job.d.ts.map +1 -1
  18. package/lib/Signal/Group/queue-job.js +0 -3
  19. package/lib/Signal/Group/queue-job.js.map +1 -1
  20. package/lib/Signal/Group/sender-chain-key.d.ts +1 -1
  21. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -1
  22. package/lib/Signal/Group/sender-chain-key.js +1 -7
  23. package/lib/Signal/Group/sender-chain-key.js.map +1 -1
  24. package/lib/Signal/Group/sender-key-distribution-message.js +2 -2
  25. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -1
  26. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -1
  27. package/lib/Signal/Group/sender-key-message.js +0 -1
  28. package/lib/Signal/Group/sender-key-message.js.map +1 -1
  29. package/lib/Signal/Group/sender-key-record.d.ts +1 -1
  30. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -1
  31. package/lib/Signal/Group/sender-key-record.js +2 -11
  32. package/lib/Signal/Group/sender-key-record.js.map +1 -1
  33. package/lib/Signal/Group/sender-key-state.d.ts +4 -4
  34. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -1
  35. package/lib/Signal/Group/sender-key-state.js +21 -41
  36. package/lib/Signal/Group/sender-key-state.js.map +1 -1
  37. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -1
  38. package/lib/Signal/Group/sender-message-key.js +0 -1
  39. package/lib/Signal/Group/sender-message-key.js.map +1 -1
  40. package/lib/Signal/libsignal.d.ts +8 -3
  41. package/lib/Signal/libsignal.d.ts.map +1 -1
  42. package/lib/Signal/libsignal.js +199 -138
  43. package/lib/Signal/libsignal.js.map +1 -1
  44. package/lib/Signal/lid-mapping.d.ts +8 -3
  45. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  46. package/lib/Signal/lid-mapping.js +136 -48
  47. package/lib/Signal/lid-mapping.js.map +1 -1
  48. package/lib/Socket/business.d.ts +19 -13
  49. package/lib/Socket/business.d.ts.map +1 -1
  50. package/lib/Socket/chats.d.ts +8 -7
  51. package/lib/Socket/chats.d.ts.map +1 -1
  52. package/lib/Socket/chats.js +16 -19
  53. package/lib/Socket/chats.js.map +1 -1
  54. package/lib/Socket/communities.d.ts +30 -13
  55. package/lib/Socket/communities.d.ts.map +1 -1
  56. package/lib/Socket/communities.js +38 -2
  57. package/lib/Socket/communities.js.map +1 -1
  58. package/lib/Socket/groups.d.ts +8 -7
  59. package/lib/Socket/groups.d.ts.map +1 -1
  60. package/lib/Socket/groups.js +15 -11
  61. package/lib/Socket/groups.js.map +1 -1
  62. package/lib/Socket/index.d.ts +30 -13
  63. package/lib/Socket/index.d.ts.map +1 -1
  64. package/lib/Socket/index.js +1 -0
  65. package/lib/Socket/index.js.map +1 -1
  66. package/lib/Socket/messages-recv.d.ts +21 -15
  67. package/lib/Socket/messages-recv.d.ts.map +1 -1
  68. package/lib/Socket/messages-recv.js +458 -314
  69. package/lib/Socket/messages-recv.js.map +1 -1
  70. package/lib/Socket/messages-send.d.ts +17 -14
  71. package/lib/Socket/messages-send.d.ts.map +1 -1
  72. package/lib/Socket/messages-send.js +235 -389
  73. package/lib/Socket/messages-send.js.map +1 -1
  74. package/lib/Socket/newsletter.d.ts +10 -10
  75. package/lib/Socket/newsletter.d.ts.map +1 -1
  76. package/lib/Socket/newsletter.js +3 -1
  77. package/lib/Socket/newsletter.js.map +1 -1
  78. package/lib/Socket/socket.d.ts +10 -1
  79. package/lib/Socket/socket.d.ts.map +1 -1
  80. package/lib/Socket/socket.js +159 -55
  81. package/lib/Socket/socket.js.map +1 -1
  82. package/lib/Socket/usync.d.ts +2 -2
  83. package/lib/Types/Auth.d.ts +7 -1
  84. package/lib/Types/Auth.d.ts.map +1 -1
  85. package/lib/Types/Chat.d.ts +2 -0
  86. package/lib/Types/Chat.d.ts.map +1 -1
  87. package/lib/Types/Contact.d.ts +4 -4
  88. package/lib/Types/Contact.d.ts.map +1 -1
  89. package/lib/Types/Events.d.ts +8 -5
  90. package/lib/Types/Events.d.ts.map +1 -1
  91. package/lib/Types/GroupMetadata.d.ts +7 -4
  92. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  93. package/lib/Types/Message.d.ts +15 -11
  94. package/lib/Types/Message.d.ts.map +1 -1
  95. package/lib/Types/Message.js +5 -1
  96. package/lib/Types/Message.js.map +1 -1
  97. package/lib/Types/Signal.d.ts +13 -15
  98. package/lib/Types/Signal.d.ts.map +1 -1
  99. package/lib/Types/Socket.d.ts +28 -13
  100. package/lib/Types/Socket.d.ts.map +1 -1
  101. package/lib/Types/Socket.js.map +1 -1
  102. package/lib/Utils/auth-utils.d.ts +2 -2
  103. package/lib/Utils/auth-utils.d.ts.map +1 -1
  104. package/lib/Utils/auth-utils.js +178 -111
  105. package/lib/Utils/auth-utils.js.map +1 -1
  106. package/lib/Utils/browser-utils.d.ts +4 -0
  107. package/lib/Utils/browser-utils.d.ts.map +1 -0
  108. package/lib/Utils/browser-utils.js +28 -0
  109. package/lib/Utils/browser-utils.js.map +1 -0
  110. package/lib/Utils/chat-utils.d.ts +6 -7
  111. package/lib/Utils/chat-utils.d.ts.map +1 -1
  112. package/lib/Utils/chat-utils.js +2 -2
  113. package/lib/Utils/chat-utils.js.map +1 -1
  114. package/lib/Utils/crypto.d.ts +3 -3
  115. package/lib/Utils/crypto.d.ts.map +1 -1
  116. package/lib/Utils/crypto.js +16 -12
  117. package/lib/Utils/crypto.js.map +1 -1
  118. package/lib/Utils/decode-wa-message.d.ts +8 -2
  119. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  120. package/lib/Utils/decode-wa-message.js +67 -31
  121. package/lib/Utils/decode-wa-message.js.map +1 -1
  122. package/lib/Utils/event-buffer.d.ts +0 -1
  123. package/lib/Utils/event-buffer.d.ts.map +1 -1
  124. package/lib/Utils/event-buffer.js +63 -18
  125. package/lib/Utils/event-buffer.js.map +1 -1
  126. package/lib/Utils/generics.d.ts +5 -7
  127. package/lib/Utils/generics.d.ts.map +1 -1
  128. package/lib/Utils/generics.js +56 -43
  129. package/lib/Utils/generics.js.map +1 -1
  130. package/lib/Utils/history.d.ts +6 -7
  131. package/lib/Utils/history.d.ts.map +1 -1
  132. package/lib/Utils/history.js +1 -2
  133. package/lib/Utils/history.js.map +1 -1
  134. package/lib/Utils/index.d.ts +2 -0
  135. package/lib/Utils/index.d.ts.map +1 -1
  136. package/lib/Utils/index.js +2 -0
  137. package/lib/Utils/index.js.map +1 -1
  138. package/lib/Utils/link-preview.d.ts +1 -2
  139. package/lib/Utils/link-preview.d.ts.map +1 -1
  140. package/lib/Utils/link-preview.js +1 -4
  141. package/lib/Utils/link-preview.js.map +1 -1
  142. package/lib/Utils/logger.d.ts +2 -1
  143. package/lib/Utils/logger.d.ts.map +1 -1
  144. package/lib/Utils/messages-media.d.ts +11 -9
  145. package/lib/Utils/messages-media.d.ts.map +1 -1
  146. package/lib/Utils/messages-media.js +43 -22
  147. package/lib/Utils/messages-media.js.map +1 -1
  148. package/lib/Utils/messages.d.ts +4 -4
  149. package/lib/Utils/messages.d.ts.map +1 -1
  150. package/lib/Utils/messages.js +26 -12
  151. package/lib/Utils/messages.js.map +1 -1
  152. package/lib/Utils/pre-key-manager.d.ts +28 -0
  153. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  154. package/lib/Utils/pre-key-manager.js +106 -0
  155. package/lib/Utils/pre-key-manager.js.map +1 -0
  156. package/lib/Utils/process-message.d.ts +8 -8
  157. package/lib/Utils/process-message.d.ts.map +1 -1
  158. package/lib/Utils/process-message.js +65 -21
  159. package/lib/Utils/process-message.js.map +1 -1
  160. package/lib/Utils/proto-utils.d.ts +7 -0
  161. package/lib/Utils/proto-utils.d.ts.map +1 -0
  162. package/lib/Utils/proto-utils.js +7 -0
  163. package/lib/Utils/proto-utils.js.map +1 -0
  164. package/lib/Utils/signal.d.ts +4 -4
  165. package/lib/Utils/signal.d.ts.map +1 -1
  166. package/lib/Utils/signal.js +15 -6
  167. package/lib/Utils/signal.js.map +1 -1
  168. package/lib/Utils/validate-connection.d.ts.map +1 -1
  169. package/lib/Utils/validate-connection.js +43 -14
  170. package/lib/Utils/validate-connection.js.map +1 -1
  171. package/lib/WABinary/decode.d.ts.map +1 -1
  172. package/lib/WABinary/decode.js +12 -2
  173. package/lib/WABinary/decode.js.map +1 -1
  174. package/lib/WABinary/generic-utils.js +1 -1
  175. package/lib/WABinary/generic-utils.js.map +1 -1
  176. package/lib/WABinary/jid-utils.d.ts +18 -6
  177. package/lib/WABinary/jid-utils.d.ts.map +1 -1
  178. package/lib/WABinary/jid-utils.js +52 -8
  179. package/lib/WABinary/jid-utils.js.map +1 -1
  180. package/lib/WAM/constants.d.ts +1 -1
  181. package/lib/WAM/constants.d.ts.map +1 -1
  182. package/lib/WAM/constants.js +18516 -10904
  183. package/lib/WAM/constants.js.map +1 -1
  184. package/lib/WAM/encode.d.ts.map +1 -1
  185. package/lib/WAM/encode.js +0 -1
  186. package/lib/WAM/encode.js.map +1 -1
  187. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +2 -1
  188. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -1
  189. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +10 -2
  190. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -1
  191. package/lib/WAUSync/USyncQuery.d.ts +1 -1
  192. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  193. package/lib/WAUSync/USyncQuery.js +23 -20
  194. package/lib/WAUSync/USyncQuery.js.map +1 -1
  195. package/package.json +12 -10
@@ -1 +1 @@
1
- {"version":3,"file":"sender-key-state.js","sourceRoot":"","sources":["../../../src/Signal/Group/sender-key-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sender-key-state.js","sourceRoot":"","sources":["../../../src/Signal/Group/sender-key-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sender-message-key.d.ts","sourceRoot":"","sources":["../../../src/Signal/Group/sender-message-key.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAErB,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAYxC,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,UAAU;IAInB,YAAY,IAAI,UAAU;IAI1B,OAAO,IAAI,UAAU;CAG5B"}
1
+ {"version":3,"file":"sender-message-key.d.ts","sourceRoot":"","sources":["../../../src/Signal/Group/sender-message-key.ts"],"names":[],"mappings":"AAEA,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAErB,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAYxC,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,UAAU;IAInB,YAAY,IAAI,UAAU;IAI1B,OAAO,IAAI,UAAU;CAG5B"}
@@ -1,4 +1,3 @@
1
- /* @ts-ignore */
2
1
  import { deriveSecrets } from 'libsignal/src/crypto.js';
3
2
  export class SenderMessageKey {
4
3
  constructor(iteration, seed) {
@@ -1 +1 @@
1
- {"version":3,"file":"sender-message-key.js","sourceRoot":"","sources":["../../../src/Signal/Group/sender-message-key.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,OAAO,gBAAgB;IAM5B,YAAY,SAAiB,EAAE,IAAgB;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAExD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,EAAE,CAAA;IACf,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;CACD"}
1
+ {"version":3,"file":"sender-message-key.js","sourceRoot":"","sources":["../../../src/Signal/Group/sender-message-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,OAAO,gBAAgB;IAM5B,YAAY,SAAiB,EAAE,IAAgB;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAExD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,EAAE,CAAA;IACf,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;CACD"}
@@ -1,4 +1,9 @@
1
- import type { SignalAuthState } from '../Types/index.js';
2
- import type { SignalRepository } from '../Types/Signal.js';
3
- export declare function makeLibSignalRepository(auth: SignalAuthState): SignalRepository;
1
+ import type { LIDMapping, SignalAuthState } from '../Types/index.js';
2
+ import type { SignalRepositoryWithLIDStore } from '../Types/Signal.js';
3
+ import type { ILogger } from '../Utils/logger.js';
4
+ export declare function makeLibSignalRepository(auth: SignalAuthState, logger: ILogger, onWhatsAppFunc?: (...jids: string[]) => Promise<{
5
+ jid: string;
6
+ exists: boolean;
7
+ lid: string;
8
+ }[] | undefined>, pnToLIDFunc?: (jids: string[]) => Promise<LIDMapping[] | undefined>): SignalRepositoryWithLIDStore;
4
9
  //# sourceMappingURL=libsignal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libsignal.d.ts","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AASvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAuN/E"}
1
+ {"version":3,"file":"libsignal.d.ts","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAiC,MAAM,UAAU,CAAA;AAC1F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAQ9C,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAC5C;IACA,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACV,EAAE,GACH,SAAS,CACX,EACD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GACjE,4BAA4B,CA6S9B"}
@@ -1,26 +1,29 @@
1
1
  /* @ts-ignore */
2
2
  import * as libsignal from 'libsignal';
3
- /* @ts-ignore */
4
3
  import { LRUCache } from 'lru-cache';
5
4
  import { generateSignalPubKey } from '../Utils/index.js';
6
- import { jidDecode } from '../WABinary/index.js';
5
+ import { jidDecode, transferDevice, WAJIDDomains } from '../WABinary/index.js';
7
6
  import { SenderKeyName } from './Group/sender-key-name.js';
8
7
  import { SenderKeyRecord } from './Group/sender-key-record.js';
9
8
  import { GroupCipher, GroupSessionBuilder, SenderKeyDistributionMessage } from './Group/index.js';
10
9
  import { LIDMappingStore } from './lid-mapping.js';
11
- export function makeLibSignalRepository(auth) {
12
- const lidMapping = new LIDMappingStore(auth.keys);
10
+ export function makeLibSignalRepository(auth, logger, onWhatsAppFunc, pnToLIDFunc) {
11
+ const lidMapping = new LIDMappingStore(auth.keys, logger, pnToLIDFunc);
13
12
  const storage = signalStorage(auth, lidMapping);
14
- // Simple operation-level deduplication (5 minutes)
15
- const recentMigrations = new LRUCache({
16
- max: 500,
17
- ttl: 5 * 60 * 1000
13
+ const parsedKeys = auth.keys;
14
+ const migratedSessionCache = new LRUCache({
15
+ ttl: 7 * 24 * 60 * 60 * 1000, // 7 days
16
+ ttlAutopurge: true,
17
+ updateAgeOnGet: true
18
18
  });
19
19
  const repository = {
20
20
  decryptGroupMessage({ group, authorJid, msg }) {
21
21
  const senderName = jidToSignalSenderKeyName(group, authorJid);
22
22
  const cipher = new GroupCipher(storage, senderName);
23
- return cipher.decrypt(msg);
23
+ // Use transaction to ensure atomicity
24
+ return parsedKeys.transaction(async () => {
25
+ return cipher.decrypt(msg);
26
+ }, group);
24
27
  },
25
28
  async processSenderKeyDistributionMessage({ item, authorJid }) {
26
29
  const builder = new GroupSessionBuilder(storage);
@@ -34,84 +37,74 @@ export function makeLibSignalRepository(auth) {
34
37
  if (!senderKey) {
35
38
  await storage.storeSenderKey(senderName, new SenderKeyRecord());
36
39
  }
37
- await builder.process(senderName, senderMsg);
40
+ return parsedKeys.transaction(async () => {
41
+ const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
42
+ if (!senderKey) {
43
+ await storage.storeSenderKey(senderName, new SenderKeyRecord());
44
+ }
45
+ await builder.process(senderName, senderMsg);
46
+ }, item.groupId);
38
47
  },
39
48
  async decryptMessage({ jid, type, ciphertext }) {
40
49
  const addr = jidToSignalProtocolAddress(jid);
41
50
  const session = new libsignal.SessionCipher(storage, addr);
42
- let result;
43
- switch (type) {
44
- case 'pkmsg':
45
- result = await session.decryptPreKeyWhisperMessage(ciphertext);
46
- break;
47
- case 'msg':
48
- result = await session.decryptWhisperMessage(ciphertext);
49
- break;
50
- default:
51
- throw new Error(`Unknown message type: ${type}`);
51
+ async function doDecrypt() {
52
+ let result;
53
+ switch (type) {
54
+ case 'pkmsg':
55
+ result = await session.decryptPreKeyWhisperMessage(ciphertext);
56
+ break;
57
+ case 'msg':
58
+ result = await session.decryptWhisperMessage(ciphertext);
59
+ break;
60
+ }
61
+ return result;
52
62
  }
53
- return result;
63
+ // If it's not a sync message, we need to ensure atomicity
64
+ // For regular messages, we use a transaction to ensure atomicity
65
+ return parsedKeys.transaction(async () => {
66
+ return await doDecrypt();
67
+ }, jid);
54
68
  },
55
69
  async encryptMessage({ jid, data }) {
56
- // LID SINGLE SOURCE OF TRUTH: Always prefer LID when available
57
- let encryptionJid = jid;
58
- // Check for LID mapping and use it if session exists
59
- if (jid.includes('@s.whatsapp.net')) {
60
- const lidForPN = await lidMapping.getLIDForPN(jid);
61
- if (lidForPN?.includes('@lid')) {
62
- const lidAddr = jidToSignalProtocolAddress(lidForPN);
63
- const { [lidAddr.toString()]: lidSession } = await auth.keys.get('session', [lidAddr.toString()]);
64
- if (lidSession) {
65
- // LID session exists, use it
66
- encryptionJid = lidForPN;
67
- }
68
- else {
69
- // Try to migrate if PN session exists
70
- const pnAddr = jidToSignalProtocolAddress(jid);
71
- const { [pnAddr.toString()]: pnSession } = await auth.keys.get('session', [pnAddr.toString()]);
72
- if (pnSession) {
73
- // Migrate PN to LID
74
- await repository.migrateSession(jid, lidForPN);
75
- encryptionJid = lidForPN;
76
- }
77
- }
78
- }
79
- }
80
- const addr = jidToSignalProtocolAddress(encryptionJid);
70
+ const addr = jidToSignalProtocolAddress(jid);
81
71
  const cipher = new libsignal.SessionCipher(storage, addr);
82
- const { type: sigType, body } = await cipher.encrypt(data);
83
- const type = sigType === 3 ? 'pkmsg' : 'msg';
84
- return { type, ciphertext: Buffer.from(body, 'binary') };
72
+ // Use transaction to ensure atomicity
73
+ return parsedKeys.transaction(async () => {
74
+ const { type: sigType, body } = await cipher.encrypt(data);
75
+ const type = sigType === 3 ? 'pkmsg' : 'msg';
76
+ return { type, ciphertext: Buffer.from(body, 'binary') };
77
+ }, jid);
85
78
  },
86
79
  async encryptGroupMessage({ group, meId, data }) {
87
80
  const senderName = jidToSignalSenderKeyName(group, meId);
88
81
  const builder = new GroupSessionBuilder(storage);
89
82
  const senderNameStr = senderName.toString();
90
- const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
91
- if (!senderKey) {
92
- await storage.storeSenderKey(senderName, new SenderKeyRecord());
93
- }
94
- const senderKeyDistributionMessage = await builder.create(senderName);
95
- const session = new GroupCipher(storage, senderName);
96
- const ciphertext = await session.encrypt(data);
97
- return {
98
- ciphertext,
99
- senderKeyDistributionMessage: senderKeyDistributionMessage.serialize()
100
- };
83
+ return parsedKeys.transaction(async () => {
84
+ const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
85
+ if (!senderKey) {
86
+ await storage.storeSenderKey(senderName, new SenderKeyRecord());
87
+ }
88
+ const senderKeyDistributionMessage = await builder.create(senderName);
89
+ const session = new GroupCipher(storage, senderName);
90
+ const ciphertext = await session.encrypt(data);
91
+ return {
92
+ ciphertext,
93
+ senderKeyDistributionMessage: senderKeyDistributionMessage.serialize()
94
+ };
95
+ }, group);
101
96
  },
102
97
  async injectE2ESession({ jid, session }) {
103
98
  const cipher = new libsignal.SessionBuilder(storage, jidToSignalProtocolAddress(jid));
104
- await cipher.initOutgoing(session);
99
+ return parsedKeys.transaction(async () => {
100
+ await cipher.initOutgoing(session);
101
+ }, jid);
105
102
  },
106
103
  jidToSignalProtocolAddress(jid) {
107
104
  return jidToSignalProtocolAddress(jid).toString();
108
105
  },
109
- async storeLIDPNMapping(lid, pn) {
110
- await lidMapping.storeLIDPNMapping(lid, pn);
111
- },
112
- getLIDMappingStore() {
113
- return lidMapping;
114
- },
106
+ // Optimized direct access to LID mapping store
107
+ lidMapping,
115
108
  async validateSession(jid) {
116
109
  try {
117
110
  const addr = jidToSignalProtocolAddress(jid);
@@ -128,97 +121,165 @@ export function makeLibSignalRepository(auth) {
128
121
  return { exists: false, reason: 'validation error' };
129
122
  }
130
123
  },
131
- async deleteSession(jid) {
132
- const addr = jidToSignalProtocolAddress(jid);
133
- return auth.keys.transaction(async () => {
134
- await auth.keys.set({ session: { [addr.toString()]: null } });
124
+ async deleteSession(jids) {
125
+ if (!jids.length)
126
+ return;
127
+ // Convert JIDs to signal addresses and prepare for bulk deletion
128
+ const sessionUpdates = {};
129
+ jids.forEach(jid => {
130
+ const addr = jidToSignalProtocolAddress(jid);
131
+ sessionUpdates[addr.toString()] = null;
135
132
  });
133
+ // Single transaction for all deletions
134
+ return parsedKeys.transaction(async () => {
135
+ await auth.keys.set({ session: sessionUpdates });
136
+ }, `delete-${jids.length}-sessions`);
136
137
  },
137
138
  async migrateSession(fromJid, toJid) {
138
- // Only migrate PN LID
139
- if (!fromJid.includes('@s.whatsapp.net') || !toJid.includes('@lid')) {
140
- return;
139
+ // TODO: use usync to handle this entire mess
140
+ if (!fromJid || !toJid.includes('@lid'))
141
+ return { migrated: 0, skipped: 0, total: 0 };
142
+ // Only support PN to LID migration
143
+ if (!fromJid.includes('@s.whatsapp.net')) {
144
+ return { migrated: 0, skipped: 0, total: 1 };
141
145
  }
142
- const fromDecoded = jidDecode(fromJid);
143
- const toDecoded = jidDecode(toJid);
144
- if (!fromDecoded || !toDecoded)
145
- return;
146
- const deviceId = fromDecoded.device || 0;
147
- const migrationKey = `${fromDecoded.user}.${deviceId}→${toDecoded.user}.${deviceId}`;
148
- // Check if recently migrated (5 min window)
149
- if (recentMigrations.has(migrationKey)) {
150
- return;
146
+ const { user } = jidDecode(fromJid);
147
+ logger.debug({ fromJid }, 'bulk device migration - loading all user devices');
148
+ // Get user's device list from storage
149
+ const { [user]: userDevices } = await parsedKeys.get('device-list', [user]);
150
+ if (!userDevices) {
151
+ return { migrated: 0, skipped: 0, total: 0 };
151
152
  }
152
- // Check if LID session already exists
153
- const lidAddr = jidToSignalProtocolAddress(toJid);
154
- const { [lidAddr.toString()]: lidExists } = await auth.keys.get('session', [lidAddr.toString()]);
155
- if (lidExists) {
156
- recentMigrations.set(migrationKey, true);
157
- return;
153
+ const { device: fromDevice } = jidDecode(fromJid);
154
+ const fromDeviceStr = fromDevice?.toString() || '0';
155
+ if (!userDevices.includes(fromDeviceStr)) {
156
+ userDevices.push(fromDeviceStr);
158
157
  }
159
- return auth.keys.transaction(async () => {
160
- // Store mapping
161
- await lidMapping.storeLIDPNMapping(toJid, fromJid);
162
- // Load and copy session
163
- const fromAddr = jidToSignalProtocolAddress(fromJid);
164
- const fromSession = await storage.loadSession(fromAddr.toString());
165
- if (fromSession?.haveOpenSession()) {
166
- // Deep copy session to prevent reference issues
167
- const sessionBytes = fromSession.serialize();
168
- const copiedSession = libsignal.SessionRecord.deserialize(sessionBytes);
169
- // Store at LID address
170
- await storage.storeSession(lidAddr.toString(), copiedSession);
171
- // Delete PN session - maintain single encryption layer
172
- await auth.keys.set({ session: { [fromAddr.toString()]: null } });
173
- }
174
- recentMigrations.set(migrationKey, true);
158
+ // Filter out cached devices before database fetch
159
+ const uncachedDevices = userDevices.filter(device => {
160
+ const deviceKey = `${user}.${device}`;
161
+ return !migratedSessionCache.has(deviceKey);
175
162
  });
176
- },
177
- async encryptMessageWithWire({ encryptionJid, wireJid, data }) {
178
- const result = await repository.encryptMessage({ jid: encryptionJid, data });
179
- return { ...result, wireJid };
180
- },
181
- destroy() {
182
- recentMigrations.clear();
163
+ // Bulk check session existence only for uncached devices
164
+ const deviceSessionKeys = uncachedDevices.map(device => `${user}.${device}`);
165
+ const existingSessions = await parsedKeys.get('session', deviceSessionKeys);
166
+ // Step 3: Convert existing sessions to JIDs (only migrate sessions that exist)
167
+ const deviceJids = [];
168
+ for (const [sessionKey, sessionData] of Object.entries(existingSessions)) {
169
+ if (sessionData) {
170
+ // Session exists in storage
171
+ const deviceStr = sessionKey.split('.')[1];
172
+ if (!deviceStr)
173
+ continue;
174
+ const deviceNum = parseInt(deviceStr);
175
+ const jid = deviceNum === 0 ? `${user}@s.whatsapp.net` : `${user}:${deviceNum}@s.whatsapp.net`;
176
+ deviceJids.push(jid);
177
+ }
178
+ }
179
+ logger.debug({
180
+ fromJid,
181
+ totalDevices: userDevices.length,
182
+ devicesWithSessions: deviceJids.length,
183
+ devices: deviceJids
184
+ }, 'bulk device migration complete - all user devices processed');
185
+ // Single transaction for all migrations
186
+ return parsedKeys.transaction(async () => {
187
+ const migrationOps = deviceJids.map(jid => {
188
+ const lidWithDevice = transferDevice(jid, toJid);
189
+ const fromDecoded = jidDecode(jid);
190
+ const toDecoded = jidDecode(lidWithDevice);
191
+ return {
192
+ fromJid: jid,
193
+ toJid: lidWithDevice,
194
+ pnUser: fromDecoded.user,
195
+ lidUser: toDecoded.user,
196
+ deviceId: fromDecoded.device || 0,
197
+ fromAddr: jidToSignalProtocolAddress(jid),
198
+ toAddr: jidToSignalProtocolAddress(lidWithDevice)
199
+ };
200
+ });
201
+ const totalOps = migrationOps.length;
202
+ let migratedCount = 0;
203
+ // Bulk fetch PN sessions - already exist (verified during device discovery)
204
+ const pnAddrStrings = Array.from(new Set(migrationOps.map(op => op.fromAddr.toString())));
205
+ const pnSessions = await parsedKeys.get('session', pnAddrStrings);
206
+ // Prepare bulk session updates (PN → LID migration + deletion)
207
+ const sessionUpdates = {};
208
+ for (const op of migrationOps) {
209
+ const pnAddrStr = op.fromAddr.toString();
210
+ const lidAddrStr = op.toAddr.toString();
211
+ const pnSession = pnSessions[pnAddrStr];
212
+ if (pnSession) {
213
+ // Session exists (guaranteed from device discovery)
214
+ const fromSession = libsignal.SessionRecord.deserialize(pnSession);
215
+ if (fromSession.haveOpenSession()) {
216
+ // Queue for bulk update: copy to LID, delete from PN
217
+ sessionUpdates[lidAddrStr] = fromSession.serialize();
218
+ sessionUpdates[pnAddrStr] = null;
219
+ migratedCount++;
220
+ }
221
+ }
222
+ }
223
+ // Single bulk session update for all migrations
224
+ if (Object.keys(sessionUpdates).length > 0) {
225
+ await parsedKeys.set({ session: sessionUpdates });
226
+ logger.debug({ migratedSessions: migratedCount }, 'bulk session migration complete');
227
+ // Cache device-level migrations
228
+ for (const op of migrationOps) {
229
+ if (sessionUpdates[op.toAddr.toString()]) {
230
+ const deviceKey = `${op.pnUser}.${op.deviceId}`;
231
+ migratedSessionCache.set(deviceKey, true);
232
+ }
233
+ }
234
+ }
235
+ const skippedCount = totalOps - migratedCount;
236
+ return { migrated: migratedCount, skipped: skippedCount, total: totalOps };
237
+ }, `migrate-${deviceJids.length}-sessions-${jidDecode(toJid)?.user}`);
183
238
  }
184
239
  };
185
240
  return repository;
186
241
  }
187
242
  const jidToSignalProtocolAddress = (jid) => {
188
243
  const decoded = jidDecode(jid);
189
- const { user, device, server } = decoded;
190
- // LID addresses get _1 suffix for Signal protocol
191
- const signalUser = server === 'lid' ? `${user}_1` : user;
244
+ const { user, device, server, domainType } = decoded;
245
+ if (!user) {
246
+ throw new Error(`JID decoded but user is empty: "${jid}" -> user: "${user}", server: "${server}", device: ${device}`);
247
+ }
248
+ const signalUser = domainType !== WAJIDDomains.WHATSAPP ? `${user}_${domainType}` : user;
192
249
  const finalDevice = device || 0;
250
+ if (device === 99 && decoded.server !== 'hosted' && decoded.server !== 'hosted.lid') {
251
+ throw new Error('Unexpected non-hosted device JID with device 99. This ID seems invalid. ID:' + jid);
252
+ }
193
253
  return new libsignal.ProtocolAddress(signalUser, finalDevice);
194
254
  };
195
255
  const jidToSignalSenderKeyName = (group, user) => {
196
256
  return new SenderKeyName(group, jidToSignalProtocolAddress(user));
197
257
  };
198
258
  function signalStorage({ creds, keys }, lidMapping) {
259
+ // Shared function to resolve PN signal address to LID if mapping exists
260
+ const resolveLIDSignalAddress = async (id) => {
261
+ if (id.includes('.')) {
262
+ const [deviceId, domainType_] = id.split('_');
263
+ const domainType = parseInt(domainType_ || '0');
264
+ const [user, device] = deviceId.split('.');
265
+ if (domainType === WAJIDDomains.LID || domainType === WAJIDDomains.HOSTED_LID)
266
+ return id;
267
+ const pnJid = `${user}${device !== '0' ? `:${device}` : ''}@s.whatsapp.net`;
268
+ let lidForPN = await lidMapping.getLIDForPN(pnJid);
269
+ if (lidForPN?.includes('@lid')) {
270
+ if (domainType === WAJIDDomains.HOSTED)
271
+ lidForPN = `${lidForPN.split('@')[0]}@hosted.lid`;
272
+ const lidAddr = jidToSignalProtocolAddress(lidForPN);
273
+ return lidAddr.toString();
274
+ }
275
+ }
276
+ return id;
277
+ };
199
278
  return {
200
279
  loadSession: async (id) => {
201
280
  try {
202
- // LID SINGLE SOURCE OF TRUTH: Auto-redirect PN to LID if mapping exists
203
- let actualId = id;
204
- if (id.includes('.') && !id.includes('_1')) {
205
- // This is a PN signal address format (e.g., "1234567890.0")
206
- // Convert back to JID to check for LID mapping
207
- const parts = id.split('.');
208
- const device = parts[1] || '0';
209
- const pnJid = device === '0' ? `${parts[0]}@s.whatsapp.net` : `${parts[0]}:${device}@s.whatsapp.net`;
210
- const lidForPN = await lidMapping.getLIDForPN(pnJid);
211
- if (lidForPN?.includes('@lid')) {
212
- const lidAddr = jidToSignalProtocolAddress(lidForPN);
213
- const lidId = lidAddr.toString();
214
- // Check if LID session exists
215
- const { [lidId]: lidSession } = await keys.get('session', [lidId]);
216
- if (lidSession) {
217
- actualId = lidId;
218
- }
219
- }
220
- }
221
- const { [actualId]: sess } = await keys.get('session', [actualId]);
281
+ const wireJid = await resolveLIDSignalAddress(id);
282
+ const { [wireJid]: sess } = await keys.get('session', [wireJid]);
222
283
  if (sess) {
223
284
  return libsignal.SessionRecord.deserialize(sess);
224
285
  }
@@ -228,9 +289,9 @@ function signalStorage({ creds, keys }, lidMapping) {
228
289
  }
229
290
  return null;
230
291
  },
231
- // TODO: Replace with libsignal.SessionRecord when type exports are added to libsignal
232
292
  storeSession: async (id, session) => {
233
- await keys.set({ session: { [id]: session.serialize() } });
293
+ const wireJid = await resolveLIDSignalAddress(id);
294
+ await keys.set({ session: { [wireJid]: session.serialize() } });
234
295
  },
235
296
  isTrustedIdentity: () => {
236
297
  return true;
@@ -271,7 +332,7 @@ function signalStorage({ creds, keys }, lidMapping) {
271
332
  const { signedIdentityKey } = creds;
272
333
  return {
273
334
  privKey: Buffer.from(signedIdentityKey.private),
274
- pubKey: generateSignalPubKey(signedIdentityKey.public)
335
+ pubKey: Buffer.from(generateSignalPubKey(signedIdentityKey.public))
275
336
  };
276
337
  }
277
338
  };
@@ -1 +1 @@
1
- {"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
- import type { SignalKeyStoreWithTransaction } from '../Types/index.js';
1
+ import type { LIDMapping, SignalKeyStoreWithTransaction } from '../Types/index.js';
2
+ import type { ILogger } from '../Utils/logger.js';
2
3
  export declare class LIDMappingStore {
4
+ private readonly mappingCache;
3
5
  private readonly keys;
4
- constructor(keys: SignalKeyStoreWithTransaction);
6
+ private readonly logger;
7
+ private pnToLIDFunc?;
8
+ constructor(keys: SignalKeyStoreWithTransaction, logger: ILogger, pnToLIDFunc?: (jids: string[]) => Promise<LIDMapping[] | undefined>);
5
9
  /**
6
10
  * Store LID-PN mapping - USER LEVEL
7
11
  */
8
- storeLIDPNMapping(lid: string, pn: string): Promise<void>;
12
+ storeLIDPNMappings(pairs: LIDMapping[]): Promise<void>;
9
13
  /**
10
14
  * Get LID for PN - Returns device-specific LID based on user mapping
11
15
  */
12
16
  getLIDForPN(pn: string): Promise<string | null>;
17
+ getLIDsForPNs(pns: string[]): Promise<LIDMapping[] | null>;
13
18
  /**
14
19
  * Get PN for LID - USER LEVEL with device construction
15
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAI7D,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;gBAExC,IAAI,EAAE,6BAA6B;IAI/C;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/D;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0BrD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAuBtD"}
1
+ {"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,WAAW,CAAC,CAAuD;gBAG1E,IAAI,EAAE,6BAA6B,EACnC,MAAM,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAOpE;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD5D;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI/C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAqFhE;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA8BtD"}