@mrlegendbot/baileys 1.2.3 → 1.2.5

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 (212) hide show
  1. package/README.upstream.md +1312 -0
  2. package/WAProto/WAProto.json +1 -0
  3. package/WAProto/WAProto.proto +6275 -0
  4. package/WAProto/compiler.js +550 -0
  5. package/WAProto/index.js +2 -97691
  6. package/lib/Defaults/index.js +89 -92
  7. package/lib/Signal/Group/ciphertext-message.js +9 -10
  8. package/lib/Signal/Group/group-session-builder.js +21 -22
  9. package/lib/Signal/Group/group_cipher.js +75 -69
  10. package/lib/Signal/Group/index.js +0 -1
  11. package/lib/Signal/Group/keyhelper.js +9 -10
  12. package/lib/Signal/Group/sender-chain-key.js +21 -22
  13. package/lib/Signal/Group/sender-key-distribution-message.js +51 -60
  14. package/lib/Signal/Group/sender-key-message.js +56 -62
  15. package/lib/Signal/Group/sender-key-name.js +38 -40
  16. package/lib/Signal/Group/sender-key-record.js +33 -34
  17. package/lib/Signal/Group/sender-key-state.js +72 -76
  18. package/lib/Signal/Group/sender-message-key.js +22 -23
  19. package/lib/Signal/libsignal.js +506 -405
  20. package/lib/Signal/lid-mapping.js +276 -258
  21. package/lib/Socket/Client/index.js +0 -1
  22. package/lib/Socket/Client/types.js +6 -7
  23. package/lib/Socket/Client/websocket.js +48 -49
  24. package/lib/Socket/business.js +349 -369
  25. package/lib/Socket/chats.js +1172 -1148
  26. package/lib/Socket/communities.js +473 -413
  27. package/lib/Socket/groups.js +387 -331
  28. package/lib/Socket/index.js +6 -8
  29. package/lib/Socket/messages-recv.js +1782 -1719
  30. package/lib/Socket/messages-send.js +1554 -2450
  31. package/lib/Socket/mex.js +40 -35
  32. package/lib/Socket/newsletter.js +239 -191
  33. package/lib/Socket/socket.js +992 -923
  34. package/lib/Store/index.js +8 -0
  35. package/lib/Store/keyed-db.js +108 -0
  36. package/lib/Store/make-cache-manager-store.js +70 -0
  37. package/lib/Store/make-in-memory-store.js +417 -0
  38. package/lib/Store/make-ordered-dictionary.js +69 -0
  39. package/lib/Store/object-repository.js +27 -0
  40. package/lib/Types/Auth.js +0 -1
  41. package/lib/Types/Bussines.js +0 -1
  42. package/lib/Types/Call.js +0 -1
  43. package/lib/Types/Chat.js +1 -8
  44. package/lib/Types/Contact.js +0 -1
  45. package/lib/Types/Events.js +1 -2
  46. package/lib/Types/GroupMetadata.js +0 -1
  47. package/lib/Types/Label.js +20 -22
  48. package/lib/Types/LabelAssociation.js +2 -4
  49. package/lib/Types/Message.js +3 -5
  50. package/lib/Types/Mex.js +26 -31
  51. package/lib/Types/Product.js +0 -1
  52. package/lib/Types/Signal.js +1 -2
  53. package/lib/Types/Socket.js +2 -3
  54. package/lib/Types/State.js +4 -52
  55. package/lib/Types/USync.js +0 -1
  56. package/lib/Types/index.js +10 -11
  57. package/lib/Utils/auth-utils.js +240 -277
  58. package/lib/Utils/browser-utils.js +20 -23
  59. package/lib/Utils/business.js +200 -204
  60. package/lib/Utils/chat-utils.js +836 -810
  61. package/lib/Utils/companion-reg-client-utils.js +23 -25
  62. package/lib/Utils/crypto.js +70 -86
  63. package/lib/Utils/decode-wa-message.js +277 -284
  64. package/lib/Utils/event-buffer.js +592 -595
  65. package/lib/Utils/generics.js +312 -335
  66. package/lib/Utils/history.js +123 -115
  67. package/lib/Utils/index.js +1 -2
  68. package/lib/Utils/link-preview.js +74 -73
  69. package/lib/Utils/logger.js +3 -2
  70. package/lib/Utils/lt-hash.js +0 -6
  71. package/lib/Utils/make-mutex.js +27 -27
  72. package/lib/Utils/message-retry-manager.js +213 -254
  73. package/lib/Utils/messages-media.js +741 -715
  74. package/lib/Utils/messages.js +791 -827
  75. package/lib/Utils/noise-handler.js +215 -187
  76. package/lib/Utils/pre-key-manager.js +69 -98
  77. package/lib/Utils/process-message.js +617 -586
  78. package/lib/Utils/reporting-utils.js +553 -234
  79. package/lib/Utils/signal.js +217 -170
  80. package/lib/Utils/stanza-ack.js +27 -35
  81. package/lib/Utils/sync-action-utils.js +37 -41
  82. package/lib/Utils/tc-token-utils.js +120 -141
  83. package/lib/Utils/use-multi-file-auth-state.js +87 -105
  84. package/lib/Utils/use-sqlite-auth-state.js +162 -0
  85. package/lib/Utils/validate-connection.js +190 -188
  86. package/lib/WABinary/constants.js +28 -1294
  87. package/lib/WABinary/decode.js +245 -249
  88. package/lib/WABinary/encode.js +201 -206
  89. package/lib/WABinary/generic-utils.js +86 -89
  90. package/lib/WABinary/index.js +0 -1
  91. package/lib/WABinary/jid-utils.js +68 -77
  92. package/lib/WABinary/types.js +0 -1
  93. package/lib/WAM/BinaryInfo.js +7 -8
  94. package/lib/WAM/constants.js +19892 -22853
  95. package/lib/WAM/encode.js +121 -132
  96. package/lib/WAM/index.js +0 -1
  97. package/lib/WAUSync/Protocols/USyncContactProtocol.js +46 -43
  98. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +47 -48
  99. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +22 -23
  100. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +30 -33
  101. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +19 -20
  102. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +53 -44
  103. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -24
  104. package/lib/WAUSync/Protocols/index.js +0 -1
  105. package/lib/WAUSync/USyncQuery.js +79 -88
  106. package/lib/WAUSync/USyncUser.js +28 -29
  107. package/lib/WAUSync/index.js +0 -1
  108. package/lib/index.js +2 -2
  109. package/package.json +22 -86
  110. package/WAProto/GenerateStatics.sh +0 -3
  111. package/WAProto/fix-imports.js +0 -85
  112. package/WAProto/index.d.ts +0 -14017
  113. package/lib/Defaults/index.d.ts +0 -75
  114. package/lib/Signal/Group/ciphertext-message.d.ts +0 -10
  115. package/lib/Signal/Group/group-session-builder.d.ts +0 -15
  116. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  117. package/lib/Signal/Group/index.d.ts +0 -12
  118. package/lib/Signal/Group/keyhelper.d.ts +0 -11
  119. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  120. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  121. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  122. package/lib/Signal/Group/sender-key-name.d.ts +0 -18
  123. package/lib/Signal/Group/sender-key-record.d.ts +0 -31
  124. package/lib/Signal/Group/sender-key-state.d.ts +0 -39
  125. package/lib/Signal/Group/sender-message-key.d.ts +0 -12
  126. package/lib/Signal/libsignal.d.ts +0 -5
  127. package/lib/Signal/lid-mapping.d.ts +0 -23
  128. package/lib/Socket/Client/index.d.ts +0 -3
  129. package/lib/Socket/Client/types.d.ts +0 -16
  130. package/lib/Socket/Client/websocket.d.ts +0 -13
  131. package/lib/Socket/business.d.ts +0 -217
  132. package/lib/Socket/chats.d.ts +0 -125
  133. package/lib/Socket/communities.d.ts +0 -273
  134. package/lib/Socket/groups.d.ts +0 -161
  135. package/lib/Socket/index.d.ts +0 -260
  136. package/lib/Socket/messages-recv.d.ts +0 -203
  137. package/lib/Socket/messages-send.d.ts +0 -199
  138. package/lib/Socket/mex.d.ts +0 -3
  139. package/lib/Socket/newsletter.d.ts +0 -170
  140. package/lib/Socket/socket.d.ts +0 -59
  141. package/lib/Types/Auth.d.ts +0 -117
  142. package/lib/Types/Bussines.d.ts +0 -25
  143. package/lib/Types/Call.d.ts +0 -15
  144. package/lib/Types/Chat.d.ts +0 -124
  145. package/lib/Types/Contact.d.ts +0 -26
  146. package/lib/Types/Events.d.ts +0 -256
  147. package/lib/Types/GroupMetadata.d.ts +0 -71
  148. package/lib/Types/Label.d.ts +0 -47
  149. package/lib/Types/LabelAssociation.d.ts +0 -30
  150. package/lib/Types/Message.d.ts +0 -320
  151. package/lib/Types/Mex.d.ts +0 -141
  152. package/lib/Types/Product.d.ts +0 -79
  153. package/lib/Types/Signal.d.ts +0 -87
  154. package/lib/Types/Socket.d.ts +0 -136
  155. package/lib/Types/State.d.ts +0 -97
  156. package/lib/Types/USync.d.ts +0 -26
  157. package/lib/Types/index.d.ts +0 -66
  158. package/lib/Utils/auth-utils.d.ts +0 -24
  159. package/lib/Utils/browser-utils.d.ts +0 -4
  160. package/lib/Utils/business.d.ts +0 -23
  161. package/lib/Utils/chat-utils.d.ts +0 -100
  162. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  163. package/lib/Utils/crypto.d.ts +0 -37
  164. package/lib/Utils/decode-wa-message.d.ts +0 -66
  165. package/lib/Utils/event-buffer.d.ts +0 -36
  166. package/lib/Utils/generics.d.ts +0 -92
  167. package/lib/Utils/history.d.ts +0 -24
  168. package/lib/Utils/identity-change-handler.d.ts +0 -44
  169. package/lib/Utils/identity-change-handler.js +0 -50
  170. package/lib/Utils/index.d.ts +0 -22
  171. package/lib/Utils/link-preview.d.ts +0 -21
  172. package/lib/Utils/logger.d.ts +0 -12
  173. package/lib/Utils/lt-hash.d.ts +0 -8
  174. package/lib/Utils/make-mutex.d.ts +0 -9
  175. package/lib/Utils/message-retry-manager.d.ts +0 -115
  176. package/lib/Utils/messages-media.d.ts +0 -133
  177. package/lib/Utils/messages.d.ts +0 -91
  178. package/lib/Utils/noise-handler.d.ts +0 -20
  179. package/lib/Utils/offline-node-processor.d.ts +0 -17
  180. package/lib/Utils/offline-node-processor.js +0 -40
  181. package/lib/Utils/pre-key-manager.d.ts +0 -28
  182. package/lib/Utils/process-message.d.ts +0 -60
  183. package/lib/Utils/reporting-utils.d.ts +0 -11
  184. package/lib/Utils/signal.d.ts +0 -47
  185. package/lib/Utils/stanza-ack.d.ts +0 -11
  186. package/lib/Utils/sync-action-utils.d.ts +0 -19
  187. package/lib/Utils/tc-token-utils.d.ts +0 -37
  188. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  189. package/lib/Utils/validate-connection.d.ts +0 -11
  190. package/lib/WABinary/constants.d.ts +0 -28
  191. package/lib/WABinary/decode.d.ts +0 -7
  192. package/lib/WABinary/encode.d.ts +0 -3
  193. package/lib/WABinary/generic-utils.d.ts +0 -15
  194. package/lib/WABinary/index.d.ts +0 -6
  195. package/lib/WABinary/jid-utils.d.ts +0 -48
  196. package/lib/WABinary/types.d.ts +0 -19
  197. package/lib/WAM/BinaryInfo.d.ts +0 -9
  198. package/lib/WAM/constants.d.ts +0 -40
  199. package/lib/WAM/encode.d.ts +0 -3
  200. package/lib/WAM/index.d.ts +0 -4
  201. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  202. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -23
  203. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -13
  204. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -13
  205. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  206. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -26
  207. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -10
  208. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  209. package/lib/WAUSync/USyncQuery.d.ts +0 -30
  210. package/lib/WAUSync/USyncUser.d.ts +0 -17
  211. package/lib/WAUSync/index.d.ts +0 -4
  212. package/lib/index.d.ts +0 -12
@@ -6,91 +6,82 @@ export const STORIES_JID = 'status@broadcast';
6
6
  export const META_AI_JID = '13135550002@c.us';
7
7
  export var WAJIDDomains;
8
8
  (function (WAJIDDomains) {
9
- WAJIDDomains[WAJIDDomains["WHATSAPP"] = 0] = "WHATSAPP";
10
- WAJIDDomains[WAJIDDomains["LID"] = 1] = "LID";
11
- WAJIDDomains[WAJIDDomains["HOSTED"] = 128] = "HOSTED";
12
- WAJIDDomains[WAJIDDomains["HOSTED_LID"] = 129] = "HOSTED_LID";
9
+ WAJIDDomains[WAJIDDomains["WHATSAPP"] = 0] = "WHATSAPP";
10
+ WAJIDDomains[WAJIDDomains["LID"] = 1] = "LID";
11
+ WAJIDDomains[WAJIDDomains["HOSTED"] = 128] = "HOSTED";
12
+ WAJIDDomains[WAJIDDomains["HOSTED_LID"] = 129] = "HOSTED_LID";
13
13
  })(WAJIDDomains || (WAJIDDomains = {}));
14
14
  export const getServerFromDomainType = (initialServer, domainType) => {
15
- switch (domainType) {
16
- case WAJIDDomains.LID:
17
- return 'lid';
18
- case WAJIDDomains.HOSTED:
19
- return 'hosted';
20
- case WAJIDDomains.HOSTED_LID:
21
- return 'hosted.lid';
22
- case WAJIDDomains.WHATSAPP:
23
- default:
24
- return initialServer;
25
- }
15
+ switch (domainType) {
16
+ case WAJIDDomains.LID:
17
+ return 'lid';
18
+ case WAJIDDomains.HOSTED:
19
+ return 'hosted';
20
+ case WAJIDDomains.HOSTED_LID:
21
+ return 'hosted.lid';
22
+ case WAJIDDomains.WHATSAPP:
23
+ default:
24
+ return initialServer;
25
+ }
26
26
  };
27
27
  export const jidEncode = (user, server, device, agent) => {
28
- return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`;
28
+ return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`;
29
29
  };
30
- export const jidDecode = (jid) => {
31
- // todo: investigate how to implement hosted ids in this case
32
- const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
33
- if (sepIdx < 0) {
34
- return undefined;
35
- }
36
- const server = jid.slice(sepIdx + 1);
37
- const userCombined = jid.slice(0, sepIdx);
38
- const [userAgent, device] = userCombined.split(':');
39
- const [user, agent] = userAgent.split('_');
40
- let domainType = WAJIDDomains.WHATSAPP;
41
- if (server === 'lid') {
42
- domainType = WAJIDDomains.LID;
43
- }
44
- else if (server === 'hosted') {
45
- domainType = WAJIDDomains.HOSTED;
46
- }
47
- else if (server === 'hosted.lid') {
48
- domainType = WAJIDDomains.HOSTED_LID;
49
- }
50
- else if (agent) {
51
- domainType = parseInt(agent);
52
- }
53
- return {
54
- server: server,
55
- user: user,
56
- domainType,
57
- device: device ? +device : undefined
58
- };
30
+ export const jidDecode = jid => {
31
+ const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
32
+ if (sepIdx < 0) {
33
+ return undefined;
34
+ }
35
+ const server = jid.slice(sepIdx + 1);
36
+ const userCombined = jid.slice(0, sepIdx);
37
+ const [userAgent, device] = userCombined.split(':');
38
+ const [user, agent] = userAgent.split('_');
39
+ let domainType = WAJIDDomains.WHATSAPP;
40
+ if (server === 'lid') {
41
+ domainType = WAJIDDomains.LID;
42
+ } else if (server === 'hosted') {
43
+ domainType = WAJIDDomains.HOSTED;
44
+ } else if (server === 'hosted.lid') {
45
+ domainType = WAJIDDomains.HOSTED_LID;
46
+ } else if (agent) {
47
+ domainType = parseInt(agent);
48
+ }
49
+ return {
50
+ server: server,
51
+ user: user,
52
+ domainType,
53
+ device: device ? +device : undefined
54
+ };
59
55
  };
60
- /** is the jid a user */
61
56
  export const areJidsSameUser = (jid1, jid2) => jidDecode(jid1)?.user === jidDecode(jid2)?.user;
62
- /** is the jid Meta AI */
63
- export const isJidMetaAI = (jid) => jid?.endsWith('@bot');
64
- /** is the jid a PN user */
65
- export const isPnUser = (jid) => jid?.endsWith('@s.whatsapp.net');
66
- /** is the jid a LID */
67
- export const isLidUser = (jid) => jid?.endsWith('@lid');
68
- /** is the jid a broadcast */
69
- export const isJidBroadcast = (jid) => jid?.endsWith('@broadcast');
70
- /** is the jid a group */
71
- export const isJidGroup = (jid) => jid?.endsWith('@g.us');
72
- /** is the jid the status broadcast */
73
- export const isJidStatusBroadcast = (jid) => jid === 'status@broadcast';
74
- /** is the jid a newsletter */
75
- export const isJidNewsletter = (jid) => jid?.endsWith('@newsletter');
76
- /** is the jid a hosted PN */
77
- export const isHostedPnUser = (jid) => jid?.endsWith('@hosted');
78
- /** is the jid a hosted LID */
79
- export const isHostedLidUser = (jid) => jid?.endsWith('@hosted.lid');
57
+ export const isJidMetaAI = jid => jid?.endsWith('@bot');
58
+ export const isPnUser = jid => jid?.endsWith('@s.whatsapp.net');
59
+ export const isLidUser = jid => jid?.endsWith('@lid');
60
+ export const isJidBroadcast = jid => jid?.endsWith('@broadcast');
61
+ export const isJidGroup = jid => jid?.endsWith('@g.us');
62
+ export const isJidStatusBroadcast = jid => jid === 'status@broadcast';
63
+ export const isJidNewsletter = jid => jid?.endsWith('@newsletter');
64
+ export const isHostedPnUser = jid => jid?.endsWith('@hosted');
65
+ export const isHostedLidUser = jid => jid?.endsWith('@hosted.lid');
80
66
  const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/;
81
- export const isJidBot = (jid) => jid && botRegexp.test(jid.split('@')[0]) && jid.endsWith('@c.us');
82
- export const jidNormalizedUser = (jid) => {
83
- const result = jidDecode(jid);
84
- if (!result) {
85
- return '';
86
- }
87
- const { user, server } = result;
88
- return jidEncode(user, server === 'c.us' ? 's.whatsapp.net' : server);
67
+ export const isJidBot = jid => jid && botRegexp.test(jid.split('@')[0]) && jid.endsWith('@c.us');
68
+ export const jidNormalizedUser = jid => {
69
+ const result = jidDecode(jid);
70
+ if (!result) {
71
+ return '';
72
+ }
73
+ const {
74
+ user,
75
+ server
76
+ } = result;
77
+ return jidEncode(user, server === 'c.us' ? 's.whatsapp.net' : server);
89
78
  };
90
79
  export const transferDevice = (fromJid, toJid) => {
91
- const fromDecoded = jidDecode(fromJid);
92
- const deviceId = fromDecoded?.device || 0;
93
- const { server, user } = jidDecode(toJid);
94
- return jidEncode(user, server, deviceId);
80
+ const fromDecoded = jidDecode(fromJid);
81
+ const deviceId = fromDecoded?.device || 0;
82
+ const {
83
+ server,
84
+ user
85
+ } = jidDecode(toJid);
86
+ return jidEncode(user, server, deviceId);
95
87
  };
96
- //# sourceMappingURL=jid-utils.js.map
@@ -1,2 +1 @@
1
1
  import * as constants from './constants.js';
2
- //# sourceMappingURL=types.js.map
@@ -1,10 +1,9 @@
1
1
  export class BinaryInfo {
2
- constructor(options = {}) {
3
- this.protocolVersion = 5;
4
- this.sequence = 0;
5
- this.events = [];
6
- this.buffer = [];
7
- Object.assign(this, options);
8
- }
2
+ constructor(options = {}) {
3
+ this.protocolVersion = 5;
4
+ this.sequence = 0;
5
+ this.events = [];
6
+ this.buffer = [];
7
+ Object.assign(this, options);
8
+ }
9
9
  }
10
- //# sourceMappingURL=BinaryInfo.js.map