ndikzv1 26.0.12

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 (179) hide show
  1. package/WAProto/index.d.ts +55057 -0
  2. package/WAProto/index.js +169661 -0
  3. package/WASignalGroup/GroupProtocol.js +1697 -0
  4. package/WASignalGroup/ciphertext_message.js +16 -0
  5. package/WASignalGroup/group_cipher.js +120 -0
  6. package/WASignalGroup/group_session_builder.js +46 -0
  7. package/WASignalGroup/index.js +5 -0
  8. package/WASignalGroup/keyhelper.js +21 -0
  9. package/WASignalGroup/protobufs.js +3 -0
  10. package/WASignalGroup/queue_job.js +69 -0
  11. package/WASignalGroup/sender_chain_key.js +50 -0
  12. package/WASignalGroup/sender_key_distribution_message.js +78 -0
  13. package/WASignalGroup/sender_key_message.js +92 -0
  14. package/WASignalGroup/sender_key_name.js +70 -0
  15. package/WASignalGroup/sender_key_record.js +56 -0
  16. package/WASignalGroup/sender_key_state.js +129 -0
  17. package/WASignalGroup/sender_message_key.js +39 -0
  18. package/engine-requirements.js +10 -0
  19. package/lib/Defaults/baileys-version.json +3 -0
  20. package/lib/Defaults/index.d.ts +282 -0
  21. package/lib/Defaults/index.js +122 -0
  22. package/lib/Defaults/phonenumber-mcc.json +223 -0
  23. package/lib/Signal/libsignal.d.ts +3 -0
  24. package/lib/Signal/libsignal.js +161 -0
  25. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  26. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  27. package/lib/Socket/Client/index.d.ts +3 -0
  28. package/lib/Socket/Client/index.js +19 -0
  29. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  30. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  31. package/lib/Socket/Client/web-socket-client.d.ts +12 -0
  32. package/lib/Socket/Client/web-socket-client.js +62 -0
  33. package/lib/Socket/business.d.ts +172 -0
  34. package/lib/Socket/business.js +260 -0
  35. package/lib/Socket/chats.d.ts +83 -0
  36. package/lib/Socket/chats.js +871 -0
  37. package/lib/Socket/groups.d.ts +124 -0
  38. package/lib/Socket/groups.js +332 -0
  39. package/lib/Socket/index.d.ts +174 -0
  40. package/lib/Socket/index.js +10 -0
  41. package/lib/Socket/messages-recv.d.ts +161 -0
  42. package/lib/Socket/messages-recv.js +1046 -0
  43. package/lib/Socket/messages-send.d.ts +151 -0
  44. package/lib/Socket/messages-send.js +806 -0
  45. package/lib/Socket/newsletter.d.ts +136 -0
  46. package/lib/Socket/newsletter.js +250 -0
  47. package/lib/Socket/registration.d.ts +266 -0
  48. package/lib/Socket/registration.js +166 -0
  49. package/lib/Socket/socket.d.ts +42 -0
  50. package/lib/Socket/socket.js +640 -0
  51. package/lib/Socket/usync.d.ts +36 -0
  52. package/lib/Socket/usync.js +70 -0
  53. package/lib/Store/index.d.ts +2 -0
  54. package/lib/Store/index.js +8 -0
  55. package/lib/Store/make-in-memory-store.d.ts +118 -0
  56. package/lib/Store/make-in-memory-store.js +431 -0
  57. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  58. package/lib/Store/make-ordered-dictionary.js +81 -0
  59. package/lib/Store/object-repository.d.ts +10 -0
  60. package/lib/Store/object-repository.js +27 -0
  61. package/lib/Types/Auth.d.ts +109 -0
  62. package/lib/Types/Auth.js +2 -0
  63. package/lib/Types/Call.d.ts +13 -0
  64. package/lib/Types/Call.js +2 -0
  65. package/lib/Types/Chat.d.ts +109 -0
  66. package/lib/Types/Chat.js +4 -0
  67. package/lib/Types/Contact.d.ts +23 -0
  68. package/lib/Types/Contact.js +2 -0
  69. package/lib/Types/Events.d.ts +199 -0
  70. package/lib/Types/Events.js +2 -0
  71. package/lib/Types/GroupMetadata.d.ts +64 -0
  72. package/lib/Types/GroupMetadata.js +2 -0
  73. package/lib/Types/Label.d.ts +35 -0
  74. package/lib/Types/Label.js +27 -0
  75. package/lib/Types/LabelAssociation.d.ts +29 -0
  76. package/lib/Types/LabelAssociation.js +9 -0
  77. package/lib/Types/Message.d.ts +384 -0
  78. package/lib/Types/Message.js +7 -0
  79. package/lib/Types/Newsletter.d.ts +79 -0
  80. package/lib/Types/Newsletter.js +18 -0
  81. package/lib/Types/Product.d.ts +78 -0
  82. package/lib/Types/Product.js +2 -0
  83. package/lib/Types/Signal.d.ts +57 -0
  84. package/lib/Types/Signal.js +2 -0
  85. package/lib/Types/Socket.d.ts +119 -0
  86. package/lib/Types/Socket.js +2 -0
  87. package/lib/Types/State.d.ts +27 -0
  88. package/lib/Types/State.js +2 -0
  89. package/lib/Types/USync.d.ts +25 -0
  90. package/lib/Types/USync.js +2 -0
  91. package/lib/Types/index.d.ts +64 -0
  92. package/lib/Types/index.js +42 -0
  93. package/lib/Utils/auth-utils.d.ts +18 -0
  94. package/lib/Utils/auth-utils.js +206 -0
  95. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  96. package/lib/Utils/baileys-event-stream.js +63 -0
  97. package/lib/Utils/business.d.ts +22 -0
  98. package/lib/Utils/business.js +234 -0
  99. package/lib/Utils/chat-utils.d.ts +70 -0
  100. package/lib/Utils/chat-utils.js +730 -0
  101. package/lib/Utils/crypto.d.ts +40 -0
  102. package/lib/Utils/crypto.js +193 -0
  103. package/lib/Utils/decode-wa-message.d.ts +36 -0
  104. package/lib/Utils/decode-wa-message.js +204 -0
  105. package/lib/Utils/event-buffer.d.ts +35 -0
  106. package/lib/Utils/event-buffer.js +520 -0
  107. package/lib/Utils/generics.d.ts +89 -0
  108. package/lib/Utils/generics.js +445 -0
  109. package/lib/Utils/history.d.ts +19 -0
  110. package/lib/Utils/history.js +94 -0
  111. package/lib/Utils/index.d.ts +17 -0
  112. package/lib/Utils/index.js +33 -0
  113. package/lib/Utils/link-preview.d.ts +21 -0
  114. package/lib/Utils/link-preview.js +126 -0
  115. package/lib/Utils/logger.d.ts +11 -0
  116. package/lib/Utils/logger.js +7 -0
  117. package/lib/Utils/lt-hash.d.ts +12 -0
  118. package/lib/Utils/lt-hash.js +51 -0
  119. package/lib/Utils/make-mutex.d.ts +7 -0
  120. package/lib/Utils/make-mutex.js +43 -0
  121. package/lib/Utils/messages-media.d.ts +120 -0
  122. package/lib/Utils/messages-media.js +879 -0
  123. package/lib/Utils/messages.d.ts +75 -0
  124. package/lib/Utils/messages.js +1022 -0
  125. package/lib/Utils/noise-handler.d.ts +20 -0
  126. package/lib/Utils/noise-handler.js +155 -0
  127. package/lib/Utils/process-message.d.ts +42 -0
  128. package/lib/Utils/process-message.js +372 -0
  129. package/lib/Utils/signal.d.ts +33 -0
  130. package/lib/Utils/signal.js +153 -0
  131. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  132. package/lib/Utils/use-multi-file-auth-state.js +125 -0
  133. package/lib/Utils/validate-connection.d.ts +11 -0
  134. package/lib/Utils/validate-connection.js +207 -0
  135. package/lib/WABinary/constants.d.ts +27 -0
  136. package/lib/WABinary/constants.js +1303 -0
  137. package/lib/WABinary/decode.d.ts +6 -0
  138. package/lib/WABinary/decode.js +265 -0
  139. package/lib/WABinary/encode.d.ts +2 -0
  140. package/lib/WABinary/encode.js +250 -0
  141. package/lib/WABinary/generic-utils.d.ts +14 -0
  142. package/lib/WABinary/generic-utils.js +110 -0
  143. package/lib/WABinary/index.d.ts +5 -0
  144. package/lib/WABinary/index.js +21 -0
  145. package/lib/WABinary/jid-utils.d.ts +36 -0
  146. package/lib/WABinary/jid-utils.js +83 -0
  147. package/lib/WABinary/types.d.ts +18 -0
  148. package/lib/WABinary/types.js +2 -0
  149. package/lib/WAM/BinaryInfo.d.ts +8 -0
  150. package/lib/WAM/BinaryInfo.js +13 -0
  151. package/lib/WAM/constants.d.ts +38 -0
  152. package/lib/WAM/constants.js +15350 -0
  153. package/lib/WAM/encode.d.ts +2 -0
  154. package/lib/WAM/encode.js +155 -0
  155. package/lib/WAM/index.d.ts +3 -0
  156. package/lib/WAM/index.js +19 -0
  157. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  158. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  159. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  160. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  161. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  162. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  163. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  164. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  165. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
  166. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +53 -0
  167. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
  168. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -0
  169. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  170. package/lib/WAUSync/Protocols/index.js +20 -0
  171. package/lib/WAUSync/USyncQuery.d.ts +28 -0
  172. package/lib/WAUSync/USyncQuery.js +89 -0
  173. package/lib/WAUSync/USyncUser.d.ts +12 -0
  174. package/lib/WAUSync/USyncUser.js +26 -0
  175. package/lib/WAUSync/index.d.ts +3 -0
  176. package/lib/WAUSync/index.js +19 -0
  177. package/lib/index.d.ts +13 -0
  178. package/lib/index.js +63 -0
  179. package/package.json +90 -0
@@ -0,0 +1,129 @@
1
+ const SenderChainKey = require('./sender_chain_key');
2
+ const SenderMessageKey = require('./sender_message_key');
3
+
4
+ const protobufs = require('./protobufs');
5
+
6
+ class SenderKeyState {
7
+ MAX_MESSAGE_KEYS = 2000;
8
+
9
+ constructor(
10
+ id = null,
11
+ iteration = null,
12
+ chainKey = null,
13
+ signatureKeyPair = null,
14
+ signatureKeyPublic = null,
15
+ signatureKeyPrivate = null,
16
+ senderKeyStateStructure = null
17
+ ) {
18
+ if (senderKeyStateStructure) {
19
+ this.senderKeyStateStructure = senderKeyStateStructure;
20
+ } else {
21
+ if (signatureKeyPair) {
22
+ signatureKeyPublic = signatureKeyPair.public;
23
+ signatureKeyPrivate = signatureKeyPair.private;
24
+ }
25
+
26
+ chainKey = typeof chainKey === 'string' ? Buffer.from(chainKey, 'base64') : chainKey;
27
+ this.senderKeyStateStructure = protobufs.SenderKeyStateStructure.create();
28
+ const senderChainKeyStructure = protobufs.SenderChainKey.create();
29
+ senderChainKeyStructure.iteration = iteration;
30
+ senderChainKeyStructure.seed = chainKey;
31
+ this.senderKeyStateStructure.senderChainKey = senderChainKeyStructure;
32
+
33
+ const signingKeyStructure = protobufs.SenderSigningKey.create();
34
+ signingKeyStructure.public =
35
+ typeof signatureKeyPublic === 'string' ?
36
+ Buffer.from(signatureKeyPublic, 'base64') :
37
+ signatureKeyPublic;
38
+ if (signatureKeyPrivate) {
39
+ signingKeyStructure.private =
40
+ typeof signatureKeyPrivate === 'string' ?
41
+ Buffer.from(signatureKeyPrivate, 'base64') :
42
+ signatureKeyPrivate;
43
+ }
44
+ this.senderKeyStateStructure.senderKeyId = id;
45
+ this.senderChainKey = senderChainKeyStructure;
46
+ this.senderKeyStateStructure.senderSigningKey = signingKeyStructure;
47
+ }
48
+ this.senderKeyStateStructure.senderMessageKeys =
49
+ this.senderKeyStateStructure.senderMessageKeys || [];
50
+ }
51
+
52
+ SenderKeyState(senderKeyStateStructure) {
53
+ this.senderKeyStateStructure = senderKeyStateStructure;
54
+ }
55
+
56
+ getKeyId() {
57
+ return this.senderKeyStateStructure.senderKeyId;
58
+ }
59
+
60
+ getSenderChainKey() {
61
+ return new SenderChainKey(
62
+ this.senderKeyStateStructure.senderChainKey.iteration,
63
+ this.senderKeyStateStructure.senderChainKey.seed
64
+ );
65
+ }
66
+
67
+ setSenderChainKey(chainKey) {
68
+ const senderChainKeyStructure = protobufs.SenderChainKey.create({
69
+ iteration: chainKey.getIteration(),
70
+ seed: chainKey.getSeed(),
71
+ });
72
+ this.senderKeyStateStructure.senderChainKey = senderChainKeyStructure;
73
+ }
74
+
75
+ getSigningKeyPublic() {
76
+ return typeof this.senderKeyStateStructure.senderSigningKey.public === 'string' ?
77
+ Buffer.from(this.senderKeyStateStructure.senderSigningKey.public, 'base64') :
78
+ this.senderKeyStateStructure.senderSigningKey.public;
79
+ }
80
+
81
+ getSigningKeyPrivate() {
82
+ return typeof this.senderKeyStateStructure.senderSigningKey.private === 'string' ?
83
+ Buffer.from(this.senderKeyStateStructure.senderSigningKey.private, 'base64') :
84
+ this.senderKeyStateStructure.senderSigningKey.private;
85
+ }
86
+
87
+ hasSenderMessageKey(iteration) {
88
+ const list = this.senderKeyStateStructure.senderMessageKeys;
89
+ for (let o = 0; o < list.length; o++) {
90
+ const senderMessageKey = list[o];
91
+ if (senderMessageKey.iteration === iteration) return true;
92
+ }
93
+ return false;
94
+ }
95
+
96
+ addSenderMessageKey(senderMessageKey) {
97
+ const senderMessageKeyStructure = protobufs.SenderKeyStateStructure.create({
98
+ iteration: senderMessageKey.getIteration(),
99
+ seed: senderMessageKey.getSeed(),
100
+ });
101
+ this.senderKeyStateStructure.senderMessageKeys.push(senderMessageKeyStructure);
102
+
103
+ if (this.senderKeyStateStructure.senderMessageKeys.length > this.MAX_MESSAGE_KEYS) {
104
+ this.senderKeyStateStructure.senderMessageKeys.shift();
105
+ }
106
+ }
107
+
108
+ removeSenderMessageKey(iteration) {
109
+ let result = null;
110
+
111
+ this.senderKeyStateStructure.senderMessageKeys = this.senderKeyStateStructure.senderMessageKeys.filter(
112
+ senderMessageKey => {
113
+ if (senderMessageKey.iteration === iteration) result = senderMessageKey;
114
+ return senderMessageKey.iteration !== iteration;
115
+ }
116
+ );
117
+
118
+ if (result != null) {
119
+ return new SenderMessageKey(result.iteration, result.seed);
120
+ }
121
+ return null;
122
+ }
123
+
124
+ getStructure() {
125
+ return this.senderKeyStateStructure;
126
+ }
127
+ }
128
+
129
+ module.exports = SenderKeyState;
@@ -0,0 +1,39 @@
1
+ const { deriveSecrets } = require('libsignal/src/crypto');
2
+ class SenderMessageKey {
3
+ iteration = 0;
4
+
5
+ iv = Buffer.alloc(0);
6
+
7
+ cipherKey = Buffer.alloc(0);
8
+
9
+ seed = Buffer.alloc(0);
10
+
11
+ constructor(iteration, seed) {
12
+ const derivative = deriveSecrets(seed, Buffer.alloc(32), Buffer.from('WhisperGroup'));
13
+ const keys = new Uint8Array(32);
14
+ keys.set(new Uint8Array(derivative[0].slice(16)));
15
+ keys.set(new Uint8Array(derivative[1].slice(0, 16)), 16);
16
+ this.iv = Buffer.from(derivative[0].slice(0, 16));
17
+ this.cipherKey = Buffer.from(keys.buffer);
18
+
19
+ this.iteration = iteration;
20
+ this.seed = seed;
21
+ }
22
+
23
+ getIteration() {
24
+ return this.iteration;
25
+ }
26
+
27
+ getIv() {
28
+ return this.iv;
29
+ }
30
+
31
+ getCipherKey() {
32
+ return this.cipherKey;
33
+ }
34
+
35
+ getSeed() {
36
+ return this.seed;
37
+ }
38
+ }
39
+ module.exports = SenderMessageKey;
@@ -0,0 +1,10 @@
1
+ const major = parseInt(process.versions.node.split('.')[0], 10);
2
+
3
+ if (major < 20) {
4
+ console.error(
5
+ `\n❌ This package requires Node.js 20+ to run reliably.\n` +
6
+ ` You are using Node.js ${process.versions.node}.\n` +
7
+ ` Please upgrade to Node.js 20+ to proceed.\n`
8
+ );
9
+ process.exit(1);
10
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": [2, 3000, 1023888953]
3
+ }
@@ -0,0 +1,282 @@
1
+ import { proto } from '../../WAProto';
2
+ import type { MediaType, SocketConfig } from '../Types';
3
+ export declare const UNAUTHORIZED_CODES: number[];
4
+ export declare const PHONENUMBER_MCC: {
5
+ "93": number;
6
+ "355": number;
7
+ "213": number;
8
+ "1-684": number;
9
+ "376": number;
10
+ "244": number;
11
+ "1-264": number;
12
+ "1-268": number;
13
+ "54": number;
14
+ "374": number;
15
+ "297": number;
16
+ "61": number;
17
+ "43": number;
18
+ "994": number;
19
+ "1-242": number;
20
+ "973": number;
21
+ "880": number;
22
+ "1-246": number;
23
+ "375": number;
24
+ "32": number;
25
+ "501": number;
26
+ "229": number;
27
+ "1-441": number;
28
+ "975": number;
29
+ "591": number;
30
+ "387": number;
31
+ "267": number;
32
+ "55": number;
33
+ "1-284": number;
34
+ "673": number;
35
+ "359": number;
36
+ "226": number;
37
+ "257": number;
38
+ "855": number;
39
+ "237": number;
40
+ "238": number;
41
+ "1-345": number;
42
+ "236": number;
43
+ "235": number;
44
+ "56": number;
45
+ "86": number;
46
+ "57": number;
47
+ "269": number;
48
+ "682": number;
49
+ "506": number;
50
+ "385": number;
51
+ "53": number;
52
+ "357": number;
53
+ "420": number;
54
+ "243": number;
55
+ "45": number;
56
+ "253": number;
57
+ "1-767": number;
58
+ "1-809": number;
59
+ "1-849": number;
60
+ "1-829": number;
61
+ "593": number;
62
+ "20": number;
63
+ "503": number;
64
+ "240": number;
65
+ "291": number;
66
+ "372": number;
67
+ "251": number;
68
+ "500": number;
69
+ "298": number;
70
+ "679": number;
71
+ "358": number;
72
+ "33": number;
73
+ "689": number;
74
+ "241": number;
75
+ "220": number;
76
+ "995": number;
77
+ "49": number;
78
+ "233": number;
79
+ "350": number;
80
+ "30": number;
81
+ "299": number;
82
+ "1-473": number;
83
+ "1-671": number;
84
+ "502": number;
85
+ "224": number;
86
+ "592": number;
87
+ "509": number;
88
+ "504": number;
89
+ "852": number;
90
+ "36": number;
91
+ "354": number;
92
+ "91": number;
93
+ "62": number;
94
+ "98": number;
95
+ "964": number;
96
+ "353": number;
97
+ "972": number;
98
+ "39": number;
99
+ "225": number;
100
+ "1-876": number;
101
+ "81": number;
102
+ "962": number;
103
+ "254": number;
104
+ "686": number;
105
+ "383": number;
106
+ "965": number;
107
+ "371": number;
108
+ "961": number;
109
+ "266": number;
110
+ "231": number;
111
+ "218": number;
112
+ "423": number;
113
+ "370": number;
114
+ "352": number;
115
+ "389": number;
116
+ "261": number;
117
+ "265": number;
118
+ "60": number;
119
+ "960": number;
120
+ "223": number;
121
+ "356": number;
122
+ "692": number;
123
+ "222": number;
124
+ "230": number;
125
+ "52": number;
126
+ "691": number;
127
+ "373": number;
128
+ "377": number;
129
+ "976": number;
130
+ "382": number;
131
+ "1-664": number;
132
+ "212": number;
133
+ "258": number;
134
+ "95": number;
135
+ "264": number;
136
+ "674": number;
137
+ "977": number;
138
+ "31": number;
139
+ "687": number;
140
+ "64": number;
141
+ "505": number;
142
+ "227": number;
143
+ "234": number;
144
+ "683": number;
145
+ "1-670": number;
146
+ "47": number;
147
+ "968": number;
148
+ "92": number;
149
+ "680": number;
150
+ "970": number;
151
+ "507": number;
152
+ "675": number;
153
+ "595": number;
154
+ "51": number;
155
+ "63": number;
156
+ "48": number;
157
+ "351": number;
158
+ "1-787, 1-939": number;
159
+ "974": number;
160
+ "242": number;
161
+ "40": number;
162
+ "7": number;
163
+ "250": number;
164
+ "290": number;
165
+ "1-869": number;
166
+ "1-758": number;
167
+ "508": number;
168
+ "1-784": number;
169
+ "685": number;
170
+ "378": number;
171
+ "239": number;
172
+ "966": number;
173
+ "221": number;
174
+ "381": number;
175
+ "248": number;
176
+ "232": number;
177
+ "65": number;
178
+ "386": number;
179
+ "677": number;
180
+ "27": number;
181
+ "211": number;
182
+ "34": number;
183
+ "94": number;
184
+ "249": number;
185
+ "597": number;
186
+ "268": number;
187
+ "46": number;
188
+ "41": number;
189
+ "963": number;
190
+ "886": number;
191
+ "992": number;
192
+ "255": number;
193
+ "66": number;
194
+ "228": number;
195
+ "690": number;
196
+ "676": number;
197
+ "1-868": number;
198
+ "216": number;
199
+ "90": number;
200
+ "993": number;
201
+ "1-649": number;
202
+ "688": number;
203
+ "1-340": number;
204
+ "256": number;
205
+ "380": number;
206
+ "971": number;
207
+ "44": number;
208
+ "1": number;
209
+ "598": number;
210
+ "998": number;
211
+ "678": number;
212
+ "379": number;
213
+ "58": number;
214
+ "681": number;
215
+ "967": number;
216
+ "260": number;
217
+ "263": number;
218
+ "670": number;
219
+ "245": number;
220
+ "856": number;
221
+ "599": number;
222
+ "850": number;
223
+ "262": number;
224
+ "82": number;
225
+ "84": number;
226
+ };
227
+ export declare const DEFAULT_ORIGIN = "https://web.whatsapp.com";
228
+ export declare const MOBILE_ENDPOINT = "g.whatsapp.net";
229
+ export declare const MOBILE_PORT = 443;
230
+ export declare const DEF_CALLBACK_PREFIX = "CB:";
231
+ export declare const DEF_TAG_PREFIX = "TAG:";
232
+ export declare const PHONE_CONNECTION_CB = "CB:Pong";
233
+ export declare const WA_DEFAULT_EPHEMERAL: number;
234
+ export declare const MOBILE_TOKEN: Buffer<ArrayBuffer>;
235
+ export declare const MOBILE_REGISTRATION_ENDPOINT = "https://v.whatsapp.net/v2";
236
+ export declare const MOBILE_USERAGENT = "WhatsApp/2.24.6.77 iOS/15.3.1 Device/Apple-iPhone_7";
237
+ export declare const REGISTRATION_PUBLIC_KEY: Buffer<ArrayBuffer>;
238
+ export declare const NOISE_MODE = "Noise_XX_25519_AESGCM_SHA256\0\0\0\0";
239
+ export declare const DICT_VERSION = 3;
240
+ export declare const KEY_BUNDLE_TYPE: Buffer<ArrayBuffer>;
241
+ export declare const NOISE_WA_HEADER: Buffer<ArrayBuffer>;
242
+ export declare const PROTOCOL_VERSION: number[];
243
+ export declare const MOBILE_NOISE_HEADER: Buffer<ArrayBuffer>;
244
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
245
+ export declare const URL_REGEX: RegExp;
246
+ export declare const WA_CERT_DETAILS: {
247
+ SERIAL: number;
248
+ };
249
+ export declare const PROCESSABLE_HISTORY_TYPES: proto.Message.HistorySyncNotification.HistorySyncType[];
250
+ export declare const DEFAULT_CONNECTION_CONFIG: SocketConfig;
251
+ export declare const MEDIA_PATH_MAP: {
252
+ [T in MediaType]?: string;
253
+ };
254
+ export declare const MEDIA_HKDF_KEY_MAPPING: {
255
+ audio: string;
256
+ document: string;
257
+ gif: string;
258
+ image: string;
259
+ ppic: string;
260
+ product: string;
261
+ ptt: string;
262
+ sticker: string;
263
+ video: string;
264
+ 'thumbnail-document': string;
265
+ 'thumbnail-image': string;
266
+ 'thumbnail-video': string;
267
+ 'thumbnail-link': string;
268
+ 'md-msg-hist': string;
269
+ 'md-app-state': string;
270
+ 'product-catalog-image': string;
271
+ 'payment-bg-image': string;
272
+ ptv: string;
273
+ };
274
+ export declare const MEDIA_KEYS: MediaType[];
275
+ export declare const MIN_PREKEY_COUNT = 5;
276
+ export declare const INITIAL_PREKEY_COUNT = 30;
277
+ export declare const DEFAULT_CACHE_TTLS: {
278
+ SIGNAL_STORE: number;
279
+ MSG_RETRY: number;
280
+ CALL_OFFER: number;
281
+ USER_DEVICES: number;
282
+ };
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_CACHE_TTLS = exports.INITIAL_PREKEY_COUNT = exports.MIN_PREKEY_COUNT = exports.MEDIA_KEYS = exports.MEDIA_HKDF_KEY_MAPPING = exports.MEDIA_PATH_MAP = exports.DEFAULT_CONNECTION_CONFIG = exports.PROCESSABLE_HISTORY_TYPES = exports.WA_CERT_DETAILS = exports.URL_REGEX = exports.MOBILE_NOISE_HEADER = exports.PROTOCOL_VERSION = exports.NOISE_WA_HEADER = exports.KEY_BUNDLE_TYPE = exports.DICT_VERSION = exports.NOISE_MODE = exports.REGISTRATION_PUBLIC_KEY = exports.MOBILE_USERAGENT = exports.MOBILE_REGISTRATION_ENDPOINT = exports.MOBILE_TOKEN = exports.WA_DEFAULT_EPHEMERAL = exports.PHONE_CONNECTION_CB = exports.DEF_TAG_PREFIX = exports.DEF_CALLBACK_PREFIX = exports.MOBILE_PORT = exports.MOBILE_ENDPOINT = exports.DEFAULT_ORIGIN = exports.PHONENUMBER_MCC = exports.UNAUTHORIZED_CODES = void 0;
7
+ const crypto_1 = require("crypto");
8
+ const WAProto_1 = require("../../WAProto");
9
+ const libsignal_1 = require("../Signal/libsignal");
10
+ const Utils_1 = require("../Utils");
11
+ const logger_1 = __importDefault(require("../Utils/logger"));
12
+ const baileys_version_json_1 = require("./baileys-version.json");
13
+ const phonenumber_mcc_json_1 = __importDefault(require("./phonenumber-mcc.json"));
14
+ exports.UNAUTHORIZED_CODES = [401, 403, 419];
15
+ exports.PHONENUMBER_MCC = phonenumber_mcc_json_1.default;
16
+ exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com';
17
+ exports.MOBILE_ENDPOINT = 'g.whatsapp.net';
18
+ exports.MOBILE_PORT = 443;
19
+ exports.DEF_CALLBACK_PREFIX = 'CB:';
20
+ exports.DEF_TAG_PREFIX = 'TAG:';
21
+ exports.PHONE_CONNECTION_CB = 'CB:Pong';
22
+ exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60;
23
+ const WA_VERSION = '2.24.6.77';
24
+ const WA_VERSION_HASH = (0, crypto_1.createHash)('md5').update(WA_VERSION).digest('hex');
25
+ exports.MOBILE_TOKEN = Buffer.from('0a1mLfGUIBVrMKF1RdvLI5lkRBvof6vn0fD2QRSM' + WA_VERSION_HASH);
26
+ exports.MOBILE_REGISTRATION_ENDPOINT = 'https://v.whatsapp.net/v2';
27
+ exports.MOBILE_USERAGENT = `WhatsApp/${WA_VERSION} iOS/15.3.1 Device/Apple-iPhone_7`;
28
+ exports.REGISTRATION_PUBLIC_KEY = Buffer.from([
29
+ 5, 142, 140, 15, 116, 195, 235, 197, 215, 166, 134, 92, 108, 60, 132, 56, 86, 176, 97, 33, 204, 232, 234, 119, 77,
30
+ 34, 251, 111, 18, 37, 18, 48, 45,
31
+ ]);
32
+ exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0';
33
+ exports.DICT_VERSION = 3;
34
+ exports.KEY_BUNDLE_TYPE = Buffer.from([5]);
35
+ exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]); // last is "DICT_VERSION"
36
+ exports.PROTOCOL_VERSION = [5, 2];
37
+ exports.MOBILE_NOISE_HEADER = Buffer.concat([Buffer.from('WA'), Buffer.from(exports.PROTOCOL_VERSION)]);
38
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
39
+ exports.URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g;
40
+ exports.WA_CERT_DETAILS = {
41
+ SERIAL: 0,
42
+ };
43
+ exports.PROCESSABLE_HISTORY_TYPES = [
44
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.INITIAL_BOOTSTRAP,
45
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.PUSH_NAME,
46
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.RECENT,
47
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.FULL,
48
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.ON_DEMAND,
49
+ ];
50
+ exports.DEFAULT_CONNECTION_CONFIG = {
51
+ version: baileys_version_json_1.version,
52
+ browser: Utils_1.Browsers.ubuntu('Chrome'),
53
+ waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
54
+ connectTimeoutMs: 20000,
55
+ keepAliveIntervalMs: 30000,
56
+ logger: logger_1.default.child({ class: 'baileys' }),
57
+ printQRInTerminal: false,
58
+ emitOwnEvents: true,
59
+ defaultQueryTimeoutMs: 60000,
60
+ customUploadHosts: [],
61
+ retryRequestDelayMs: 250,
62
+ maxMsgRetryCount: 5,
63
+ fireInitQueries: true,
64
+ auth: undefined,
65
+ markOnlineOnConnect: true,
66
+ syncFullHistory: false,
67
+ patchMessageBeforeSending: msg => msg,
68
+ shouldSyncHistoryMessage: () => true,
69
+ shouldIgnoreJid: () => false,
70
+ linkPreviewImageThumbnailWidth: 192,
71
+ transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
72
+ generateHighQualityLinkPreview: false,
73
+ options: {},
74
+ appStateMacVerification: {
75
+ patch: false,
76
+ snapshot: false,
77
+ },
78
+ countryCode: 'US',
79
+ getMessage: async () => undefined,
80
+ cachedGroupMetadata: async () => undefined,
81
+ makeSignalRepository: libsignal_1.makeLibSignalRepository
82
+ };
83
+ exports.MEDIA_PATH_MAP = {
84
+ image: '/mms/image',
85
+ video: '/mms/video',
86
+ document: '/mms/document',
87
+ audio: '/mms/audio',
88
+ sticker: '/mms/image',
89
+ 'thumbnail-link': '/mms/image',
90
+ 'product-catalog-image': '/product/image',
91
+ 'md-app-state': '',
92
+ 'md-msg-hist': '/mms/md-app-state',
93
+ };
94
+ exports.MEDIA_HKDF_KEY_MAPPING = {
95
+ 'audio': 'Audio',
96
+ 'document': 'Document',
97
+ 'gif': 'Video',
98
+ 'image': 'Image',
99
+ 'ppic': '',
100
+ 'product': 'Image',
101
+ 'ptt': 'Audio',
102
+ 'sticker': 'Image',
103
+ 'video': 'Video',
104
+ 'thumbnail-document': 'Document Thumbnail',
105
+ 'thumbnail-image': 'Image Thumbnail',
106
+ 'thumbnail-video': 'Video Thumbnail',
107
+ 'thumbnail-link': 'Link Thumbnail',
108
+ 'md-msg-hist': 'History',
109
+ 'md-app-state': 'App State',
110
+ 'product-catalog-image': '',
111
+ 'payment-bg-image': 'Payment Background',
112
+ 'ptv': 'Video'
113
+ };
114
+ exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP);
115
+ exports.MIN_PREKEY_COUNT = 5;
116
+ exports.INITIAL_PREKEY_COUNT = 30;
117
+ exports.DEFAULT_CACHE_TTLS = {
118
+ SIGNAL_STORE: 5 * 60, // 5 minutes
119
+ MSG_RETRY: 60 * 60, // 1 hour
120
+ CALL_OFFER: 5 * 60, // 5 minutes
121
+ USER_DEVICES: 5 * 60, // 5 minutes
122
+ };