@hansaka02/baileys 7.3.2 → 7.3.6

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 (210) hide show
  1. package/lib/Defaults/baileys-version.json +2 -2
  2. package/lib/Defaults/connection.js +51 -0
  3. package/lib/Defaults/constants.js +74 -0
  4. package/lib/Defaults/history.js +19 -0
  5. package/lib/Defaults/index.js +36 -142
  6. package/lib/Defaults/media.js +48 -0
  7. package/lib/Defaults/prefix.js +18 -0
  8. package/lib/Signal/Group/group-session-builder.js +10 -42
  9. package/lib/Signal/Group/group_cipher.js +9 -6
  10. package/lib/Signal/Group/index.js +39 -53
  11. package/lib/Signal/Group/keyhelper.js +8 -41
  12. package/lib/Signal/Group/sender-chain-key.js +5 -18
  13. package/lib/Signal/Group/sender-key-distribution-message.js +7 -7
  14. package/lib/Signal/Group/sender-key-message.js +12 -8
  15. package/lib/Signal/Group/sender-key-record.js +7 -16
  16. package/lib/Signal/Group/sender-key-state.js +15 -61
  17. package/lib/Signal/Group/sender-message-key.js +2 -2
  18. package/lib/Signal/libsignal.js +237 -177
  19. package/lib/Signal/lid-mapping.js +128 -71
  20. package/lib/Socket/Client/types.js +2 -2
  21. package/lib/Socket/Client/websocket.js +25 -16
  22. package/lib/Socket/business.js +46 -33
  23. package/lib/Socket/chats.js +286 -170
  24. package/lib/Socket/community.js +215 -77
  25. package/lib/Socket/groups.js +77 -61
  26. package/lib/Socket/index.js +4 -4
  27. package/lib/Socket/messages-recv.js +629 -457
  28. package/lib/Socket/messages-send.js +645 -656
  29. package/lib/Socket/mex.js +61 -0
  30. package/lib/Socket/newsletter.js +166 -245
  31. package/lib/Socket/socket.js +396 -170
  32. package/lib/Store/index.js +27 -11
  33. package/lib/Store/make-cache-manager-store.js +14 -15
  34. package/lib/Store/make-in-memory-store.js +28 -24
  35. package/lib/Types/LabelAssociation.js +2 -2
  36. package/lib/Types/Message.js +6 -6
  37. package/lib/Types/MexUpdates.js +5 -5
  38. package/lib/Types/Newsletter.js +32 -25
  39. package/lib/Types/State.js +4 -4
  40. package/lib/Types/index.js +28 -12
  41. package/lib/Utils/auth-utils.js +212 -375
  42. package/lib/Utils/baileys-event-stream.js +68 -69
  43. package/lib/Utils/browser-utils.js +43 -0
  44. package/lib/Utils/business.js +63 -53
  45. package/lib/Utils/chat-utils.js +241 -106
  46. package/lib/Utils/crypto.js +25 -45
  47. package/lib/Utils/decode-wa-message.js +361 -311
  48. package/lib/Utils/event-buffer.js +97 -42
  49. package/lib/Utils/generics.js +90 -207
  50. package/lib/Utils/history.js +29 -27
  51. package/lib/Utils/index.js +28 -14
  52. package/lib/Utils/link-preview.js +24 -62
  53. package/lib/Utils/logger.js +5 -5
  54. package/lib/Utils/lt-hash.js +29 -23
  55. package/lib/Utils/make-mutex.js +26 -28
  56. package/lib/Utils/message-retry-manager.js +55 -7
  57. package/lib/Utils/messages-media.js +434 -247
  58. package/lib/Utils/messages.js +963 -917
  59. package/lib/Utils/noise-handler.js +60 -20
  60. package/lib/Utils/pre-key-manager.js +126 -0
  61. package/lib/Utils/process-message.js +216 -141
  62. package/lib/Utils/signal.js +75 -37
  63. package/lib/Utils/use-multi-file-auth-state.js +18 -22
  64. package/lib/Utils/validate-connection.js +96 -66
  65. package/lib/WABinary/constants.js +1268 -1268
  66. package/lib/WABinary/decode.js +62 -34
  67. package/lib/WABinary/encode.js +57 -36
  68. package/lib/WABinary/generic-utils.js +4 -4
  69. package/lib/WABinary/index.js +27 -11
  70. package/lib/WABinary/jid-utils.js +58 -11
  71. package/lib/WAM/constants.js +19064 -11563
  72. package/lib/WAM/encode.js +71 -14
  73. package/lib/WAM/index.js +27 -11
  74. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +20 -16
  75. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  76. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +7 -4
  77. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
  78. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -2
  79. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
  80. package/lib/WAUSync/Protocols/index.js +27 -11
  81. package/lib/WAUSync/USyncQuery.js +51 -28
  82. package/lib/WAUSync/index.js +27 -11
  83. package/lib/index.js +60 -31
  84. package/package.json +12 -17
  85. package/WAProto/AICommon/AICommon.d.ts +0 -11702
  86. package/WAProto/Adv/Adv.d.ts +0 -643
  87. package/WAProto/BotMetadata/BotMetadata.d.ts +0 -5654
  88. package/WAProto/Cert/Cert.d.ts +0 -613
  89. package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +0 -476
  90. package/WAProto/CompanionReg/CompanionReg.d.ts +0 -1361
  91. package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +0 -577
  92. package/WAProto/E2E/E2E.d.ts +0 -41724
  93. package/WAProto/Ephemeral/Ephemeral.d.ts +0 -114
  94. package/WAProto/HistorySync/HistorySync.d.ts +0 -51700
  95. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +0 -229
  96. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +0 -583
  97. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +0 -42897
  98. package/WAProto/MmsRetry/MmsRetry.d.ts +0 -243
  99. package/WAProto/Protocol/Protocol.d.ts +0 -270
  100. package/WAProto/Reporting/Reporting.d.ts +0 -371
  101. package/WAProto/ServerSync/ServerSync.d.ts +0 -1285
  102. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +0 -1868
  103. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +0 -767
  104. package/WAProto/StatusAttributions/StatusAttributions.d.ts +0 -1027
  105. package/WAProto/SyncAction/SyncAction.d.ts +0 -11193
  106. package/WAProto/UserPassword/UserPassword.d.ts +0 -363
  107. package/WAProto/VnameCert/VnameCert.d.ts +0 -821
  108. package/WAProto/Wa6/Wa6.d.ts +0 -2128
  109. package/WAProto/Web/Web.d.ts +0 -46383
  110. package/WAProto/index.d.ts +0 -55
  111. package/lib/Defaults/index.d.ts +0 -77
  112. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  113. package/lib/Signal/Group/group-session-builder.d.ts +0 -17
  114. package/lib/Signal/Group/group_cipher.d.ts +0 -19
  115. package/lib/Signal/Group/index.d.ts +0 -11
  116. package/lib/Signal/Group/keyhelper.d.ts +0 -16
  117. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  118. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  119. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  120. package/lib/Signal/Group/sender-key-name.d.ts +0 -19
  121. package/lib/Signal/Group/sender-key-record.d.ts +0 -32
  122. package/lib/Signal/Group/sender-key-state.d.ts +0 -44
  123. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  124. package/lib/Signal/libsignal.d.ts +0 -8
  125. package/lib/Signal/lid-mapping.d.ts +0 -28
  126. package/lib/Socket/Client/index.d.ts +0 -2
  127. package/lib/Socket/Client/types.d.ts +0 -16
  128. package/lib/Socket/Client/websocket.d.ts +0 -13
  129. package/lib/Socket/business.d.ts +0 -187
  130. package/lib/Socket/chats.d.ts +0 -97
  131. package/lib/Socket/community.d.ts +0 -129
  132. package/lib/Socket/groups.d.ts +0 -129
  133. package/lib/Socket/index.d.ts +0 -191
  134. package/lib/Socket/messages-recv.d.ts +0 -174
  135. package/lib/Socket/messages-send.d.ts +0 -165
  136. package/lib/Socket/newsletter.d.ts +0 -145
  137. package/lib/Socket/socket.d.ts +0 -45
  138. package/lib/Socket/usync.d.ts +0 -37
  139. package/lib/Socket/usync.js +0 -83
  140. package/lib/Store/index.d.ts +0 -4
  141. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  142. package/lib/Store/make-in-memory-store.d.ts +0 -123
  143. package/lib/Store/make-ordered-dictionary.d.ts +0 -12
  144. package/lib/Store/object-repository.d.ts +0 -10
  145. package/lib/Types/Auth.d.ts +0 -121
  146. package/lib/Types/Bussiness.d.ts +0 -28
  147. package/lib/Types/Call.d.ts +0 -14
  148. package/lib/Types/Chat.d.ts +0 -143
  149. package/lib/Types/Contact.d.ts +0 -23
  150. package/lib/Types/Events.d.ts +0 -226
  151. package/lib/Types/GroupMetadata.d.ts +0 -66
  152. package/lib/Types/Label.d.ts +0 -48
  153. package/lib/Types/LabelAssociation.d.ts +0 -35
  154. package/lib/Types/Message.d.ts +0 -484
  155. package/lib/Types/MexUpdates.d.ts +0 -9
  156. package/lib/Types/Newsletter.d.ts +0 -109
  157. package/lib/Types/Product.d.ts +0 -92
  158. package/lib/Types/Signal.d.ts +0 -98
  159. package/lib/Types/Socket.d.ts +0 -141
  160. package/lib/Types/State.d.ts +0 -41
  161. package/lib/Types/USync.d.ts +0 -26
  162. package/lib/Types/index.d.ts +0 -80
  163. package/lib/Utils/auth-utils.d.ts +0 -21
  164. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  165. package/lib/Utils/business.d.ts +0 -29
  166. package/lib/Utils/chat-utils.d.ts +0 -82
  167. package/lib/Utils/crypto.d.ts +0 -56
  168. package/lib/Utils/decode-wa-message.d.ts +0 -53
  169. package/lib/Utils/event-buffer.d.ts +0 -39
  170. package/lib/Utils/generics.d.ts +0 -117
  171. package/lib/Utils/history.d.ts +0 -23
  172. package/lib/Utils/index.d.ts +0 -20
  173. package/lib/Utils/link-preview.d.ts +0 -23
  174. package/lib/Utils/logger.d.ts +0 -13
  175. package/lib/Utils/lt-hash.d.ts +0 -14
  176. package/lib/Utils/make-mutex.d.ts +0 -9
  177. package/lib/Utils/message-retry-manager.d.ts +0 -88
  178. package/lib/Utils/messages-media.d.ts +0 -135
  179. package/lib/Utils/messages.d.ts +0 -105
  180. package/lib/Utils/noise-handler.d.ts +0 -20
  181. package/lib/Utils/process-message.d.ts +0 -49
  182. package/lib/Utils/signal.d.ts +0 -42
  183. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  184. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  185. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  186. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  187. package/lib/Utils/use-single-file-auth-state.js +0 -80
  188. package/lib/Utils/validate-connection.d.ts +0 -13
  189. package/lib/WABinary/constants.d.ts +0 -30
  190. package/lib/WABinary/decode.d.ts +0 -9
  191. package/lib/WABinary/encode.d.ts +0 -3
  192. package/lib/WABinary/generic-utils.d.ts +0 -28
  193. package/lib/WABinary/index.d.ts +0 -5
  194. package/lib/WABinary/jid-utils.d.ts +0 -58
  195. package/lib/WABinary/types.d.ts +0 -22
  196. package/lib/WAM/BinaryInfo.d.ts +0 -16
  197. package/lib/WAM/constants.d.ts +0 -47
  198. package/lib/WAM/encode.d.ts +0 -3
  199. package/lib/WAM/index.d.ts +0 -3
  200. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
  201. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  202. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
  203. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
  204. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
  205. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
  206. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  207. package/lib/WAUSync/USyncQuery.d.ts +0 -31
  208. package/lib/WAUSync/USyncUser.d.ts +0 -12
  209. package/lib/WAUSync/index.d.ts +0 -3
  210. package/lib/index.d.ts +0 -13
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": [2, 3000, 1030003753]
3
- }
2
+ "version": [2, 3000, 1030831524]
3
+ }
@@ -0,0 +1,51 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const { Browsers } = require("../Utils")
6
+ const { default: logger } = require("../Utils/logger")
7
+ const { makeLibSignalRepository } = require("../Signal/libsignal")
8
+ const { version } = require("./baileys-version.json")
9
+
10
+ const DEFAULT_CONNECTION_CONFIG = {
11
+ version,
12
+ browser: Browsers.windows('Chrome'),
13
+ waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
14
+ connectTimeoutMs: 20000,
15
+ keepAliveIntervalMs: 30000,
16
+ logger: logger.child({ class: 'baileys' }),
17
+ printQRInTerminal: false,
18
+ emitOwnEvents: true,
19
+ defaultQueryTimeoutMs: 60000,
20
+ customUploadHosts: [],
21
+ retryRequestDelayMs: 250,
22
+ maxMsgRetryCount: 5,
23
+ fireInitQueries: true,
24
+ auth: undefined,
25
+ markOnlineOnConnect: true,
26
+ syncFullHistory: false,
27
+ patchMessageBeforeSending: msg => msg,
28
+ shouldSyncHistoryMessage: () => true,
29
+ shouldIgnoreJid: () => false,
30
+ linkPreviewImageThumbnailWidth: 192,
31
+ transactionOpts: {
32
+ maxCommitRetries: 10,
33
+ delayBetweenTriesMs: 3000
34
+ },
35
+ generateHighQualityLinkPreview: false,
36
+ enableAutoSessionRecreation: true,
37
+ enableRecentMessageCache: true,
38
+ options: {},
39
+ appStateMacVerification: {
40
+ patch: false,
41
+ snapshot: false,
42
+ },
43
+ countryCode: 'US',
44
+ getMessage: async () => undefined,
45
+ cachedGroupMetadata: async () => undefined,
46
+ makeSignalRepository: makeLibSignalRepository
47
+ }
48
+
49
+ module.exports = {
50
+ DEFAULT_CONNECTION_CONFIG
51
+ }
@@ -0,0 +1,74 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const UNAUTHORIZED_CODES = [401, 403, 419]
6
+
7
+ const PHONENUMBER_MCC = require("./phonenumber-mcc.json")
8
+
9
+ const DEFAULT_ORIGIN = 'https://web.whatsapp.com'
10
+
11
+ const PHONE_CONNECTION_CB = 'CB:Pong'
12
+
13
+ const WA_ADV_ACCOUNT_SIG_PREFIX = Buffer.from([6, 0])
14
+
15
+ const WA_ADV_DEVICE_SIG_PREFIX = Buffer.from([6, 1])
16
+
17
+ const WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX = Buffer.from([6, 5])
18
+
19
+ const WA_ADV_HOSTED_DEVICE_SIG_PREFIX = Buffer.from([6, 6])
20
+
21
+ const WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60
22
+
23
+ const NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0'
24
+
25
+ const DICT_VERSION = 3
26
+
27
+ const KEY_BUNDLE_TYPE = Buffer.from([5])
28
+
29
+ const NOISE_WA_HEADER = Buffer.from([87, 65, 6, DICT_VERSION]) // last is "DICT_VERSION"
30
+
31
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
32
+ const URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g
33
+
34
+ const MIN_PREKEY_COUNT = 5
35
+
36
+ const INITIAL_PREKEY_COUNT = 812
37
+
38
+ const UPLOAD_TIMEOUT = 30000 // 30 seconds
39
+
40
+ const MIN_UPLOAD_INTERVAL = 5000 // seconds minimum between uploads
41
+
42
+ const WA_CERT_DETAILS = {
43
+ SERIAL: 0
44
+ }
45
+
46
+ const DEFAULT_CACHE_TTLS = {
47
+ SIGNAL_STORE: 5 * 60,
48
+ MSG_RETRY: 60 * 60,
49
+ CALL_OFFER: 5 * 60,
50
+ USER_DEVICES: 5 * 60, // 5 minutes
51
+ }
52
+
53
+ module.exports = {
54
+ UNAUTHORIZED_CODES,
55
+ PHONENUMBER_MCC,
56
+ DEFAULT_ORIGIN,
57
+ PHONE_CONNECTION_CB,
58
+ WA_ADV_ACCOUNT_SIG_PREFIX,
59
+ WA_ADV_DEVICE_SIG_PREFIX,
60
+ WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX,
61
+ WA_ADV_HOSTED_DEVICE_SIG_PREFIX,
62
+ WA_DEFAULT_EPHEMERAL,
63
+ NOISE_MODE,
64
+ DICT_VERSION,
65
+ KEY_BUNDLE_TYPE,
66
+ NOISE_WA_HEADER,
67
+ URL_REGEX,
68
+ MIN_PREKEY_COUNT,
69
+ MIN_UPLOAD_INTERVAL,
70
+ INITIAL_PREKEY_COUNT,
71
+ UPLOAD_TIMEOUT,
72
+ WA_CERT_DETAILS,
73
+ DEFAULT_CACHE_TTLS
74
+ }
@@ -0,0 +1,19 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const { proto } = require("../../WAProto")
6
+
7
+ const PROCESSABLE_HISTORY_TYPES = [
8
+ proto.Message.HistorySyncType.INITIAL_BOOTSTRAP,
9
+ proto.Message.HistorySyncType.PUSH_NAME,
10
+ proto.Message.HistorySyncType.RECENT,
11
+ proto.Message.HistorySyncType.FULL,
12
+ proto.Message.HistorySyncType.ON_DEMAND,
13
+ proto.HistorySync.HistorySyncType.NON_BLOCKING_DATA,
14
+ proto.HistorySync.HistorySyncType.INITIAL_STATUS_V3
15
+ ]
16
+
17
+ module.exports = {
18
+ PROCESSABLE_HISTORY_TYPES
19
+ }
@@ -1,147 +1,41 @@
1
1
  "use strict"
2
2
 
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
3
+ const __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k
5
+
6
+ let desc = Object.getOwnPropertyDescriptor(m, k)
7
+
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = {
10
+ enumerable: true,
11
+ get: function() {
12
+ return m[k]
13
+ }
14
+ }
15
+ }
16
+
17
+ Object.defineProperty(o, k2, desc)
18
+
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k
21
+ o[k2] = m[k]
22
+ }
23
+ ))
24
+
25
+ const __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) {
27
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
28
+ __createBinding(exports, m, p)
29
+ }
30
+ }
5
31
  }
6
32
 
7
- Object.defineProperty(exports, "__esModule", { value: true })
33
+ Object.defineProperty(exports, "__esModule", {
34
+ value: true
35
+ })
8
36
 
9
- exports.DEFAULT_CACHE_TTLS = exports.UPLOAD_TIMEOUT = exports.MIN_UPLOAD_INTERVAL = 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.NOISE_WA_HEADER = exports.KEY_BUNDLE_TYPE = exports.DICT_VERSION = exports.NOISE_MODE = exports.WA_DEFAULT_EPHEMERAL = exports.PHONE_CONNECTION_CB = exports.DEF_TAG_PREFIX = exports.DEF_CALLBACK_PREFIX = exports.CALL_AUDIO_PREFIX = exports.CALL_VIDEO_PREFIX = exports.DEFAULT_ORIGIN = exports.UNAUTHORIZED_CODES = null
10
-
11
- const WAProto_1 = require("../../WAProto");
12
- const libsignal_1 = require("../Signal/libsignal");
13
- const Utils_1 = require("../Utils");
14
- const logger_1 = __importDefault(require("../Utils/logger"));
15
- const baileys_version_json_1 = require("./baileys-version.json");
16
- const phonenumber_mcc_json_1 = __importDefault(require("./phonenumber-mcc.json"))
17
-
18
- exports.UNAUTHORIZED_CODES = [401, 403, 419]
19
-
20
- exports.PHONENUMBER_MCC = phonenumber_mcc_json_1.default
21
-
22
- exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com'
23
-
24
- exports.CALL_VIDEO_PREFIX = 'https://call.whatsapp.com/video/'
25
-
26
- exports.CALL_AUDIO_PREFIX = 'https://call.whatsapp.com/voice/'
27
-
28
- exports.DEF_CALLBACK_PREFIX = 'CB:'
29
-
30
- exports.DEF_TAG_PREFIX = 'TAG:'
31
-
32
- exports.PHONE_CONNECTION_CB = 'CB:Pong'
33
-
34
- exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60
35
-
36
- exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0'
37
-
38
- exports.DICT_VERSION = 3
39
-
40
- exports.KEY_BUNDLE_TYPE = Buffer.from([5])
41
-
42
- exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]) // last is "DICT_VERSION"
43
-
44
- /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
45
- exports.URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g
46
-
47
- exports.WA_CERT_DETAILS = {
48
- SERIAL: 0,
49
- }
50
-
51
- exports.PROCESSABLE_HISTORY_TYPES = [
52
- WAProto_1.proto.Message.HistorySyncType.INITIAL_BOOTSTRAP,
53
- WAProto_1.proto.Message.HistorySyncType.PUSH_NAME,
54
- WAProto_1.proto.Message.HistorySyncType.RECENT,
55
- WAProto_1.proto.Message.HistorySyncType.FULL,
56
- WAProto_1.proto.Message.HistorySyncType.ON_DEMAND
57
- ]
58
-
59
- exports.DEFAULT_CONNECTION_CONFIG = {
60
- version: baileys_version_json_1.version,
61
- browser: Utils_1.Browsers.windows('Chrome'),
62
- waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
63
- connectTimeoutMs: 20000,
64
- keepAliveIntervalMs: 30000,
65
- logger: logger_1.default.child({ class: 'baileys' }),
66
- printQRInTerminal: false,
67
- emitOwnEvents: true,
68
- defaultQueryTimeoutMs: 60000,
69
- customUploadHosts: [],
70
- retryRequestDelayMs: 250,
71
- maxMsgRetryCount: 5,
72
- fireInitQueries: true,
73
- auth: undefined,
74
- markOnlineOnConnect: true,
75
- syncFullHistory: false,
76
- patchMessageBeforeSending: msg => msg,
77
- shouldSyncHistoryMessage: () => true,
78
- shouldIgnoreJid: () => false,
79
- linkPreviewImageThumbnailWidth: 192,
80
- transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
81
- generateHighQualityLinkPreview: false,
82
- enableAutoSessionRecreation: true,
83
- enableRecentMessageCache: true,
84
- options: {},
85
- appStateMacVerification: {
86
- patch: false,
87
- snapshot: false,
88
- },
89
- countryCode: 'EN',
90
- getMessage: async () => undefined,
91
- cachedGroupMetadata: async () => undefined,
92
- makeSignalRepository: libsignal_1.makeLibSignalRepository
93
- }
94
-
95
- exports.MEDIA_PATH_MAP = {
96
- image: '/mms/image',
97
- video: '/mms/video',
98
- document: '/mms/document',
99
- audio: '/mms/audio',
100
- sticker: '/mms/image',
101
- 'sticker-pack': '/mms/sticker',
102
- 'thumbnail-link': '/mms/image',
103
- 'product-catalog-image': '/product/image',
104
- 'md-app-state': '',
105
- 'md-msg-hist': '/mms/md-app-state',
106
- 'biz-cover-photo': '/pps/biz-cover-photo'
107
- }
108
-
109
- exports.MEDIA_HKDF_KEY_MAPPING = {
110
- 'audio': 'Audio',
111
- 'document': 'Document',
112
- 'gif': 'Video',
113
- 'image': 'Image',
114
- 'ppic': '',
115
- 'product': 'Image',
116
- 'ptt': 'Audio',
117
- 'video': 'Video',
118
- 'sticker': 'Image',
119
- 'sticker-pack': 'Sticker Pack',
120
- 'thumbnail-document': 'Document Thumbnail',
121
- 'thumbnail-image': 'Image Thumbnail',
122
- 'thumbnail-video': 'Video Thumbnail',
123
- 'thumbnail-link': 'Link Thumbnail',
124
- 'md-msg-hist': 'History',
125
- 'md-app-state': 'App State',
126
- 'product-catalog-image': '',
127
- 'payment-bg-image': 'Payment Background',
128
- 'ptv': 'Video',
129
- 'biz-cover-photo': 'Image'
130
- }
131
-
132
- exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP)
133
-
134
- exports.MIN_PREKEY_COUNT = 5
135
-
136
- exports.INITIAL_PREKEY_COUNT = 30
137
-
138
- exports.UPLOAD_TIMEOUT = 30000 // 30 seconds
139
-
140
- exports.MIN_UPLOAD_INTERVAL = 5000 // seconds minimum between uploads
141
-
142
- exports.DEFAULT_CACHE_TTLS = {
143
- SIGNAL_STORE: 5 * 60,
144
- MSG_RETRY: 60 * 60,
145
- CALL_OFFER: 5 * 60,
146
- USER_DEVICES: 5 * 60, // 5 minutes
147
- }
37
+ __exportStar(require("./connection"), exports)
38
+ __exportStar(require("./constants"), exports)
39
+ __exportStar(require("./history"), exports)
40
+ __exportStar(require("./media"), exports)
41
+ __exportStar(require("./prefix"), exports)
@@ -0,0 +1,48 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const MEDIA_PATH_MAP = {
6
+ image: '/mms/image',
7
+ video: '/mms/video',
8
+ document: '/mms/document',
9
+ audio: '/mms/audio',
10
+ sticker: '/mms/image',
11
+ 'sticker-pack': '/mms/sticker',
12
+ 'thumbnail-link': '/mms/image',
13
+ 'product-catalog-image': '/product/image',
14
+ 'md-app-state': '',
15
+ 'md-msg-hist': '/mms/md-app-state',
16
+ 'biz-cover-photo': '/pps/biz-cover-photo'
17
+ }
18
+
19
+ const MEDIA_HKDF_KEY_MAPPING = {
20
+ 'audio': 'Audio',
21
+ 'document': 'Document',
22
+ 'gif': 'Video',
23
+ 'image': 'Image',
24
+ 'ppic': '',
25
+ 'product': 'Image',
26
+ 'ptt': 'Audio',
27
+ 'video': 'Video',
28
+ 'sticker': 'Image',
29
+ 'sticker-pack': 'Sticker Pack',
30
+ 'thumbnail-document': 'Document Thumbnail',
31
+ 'thumbnail-image': 'Image Thumbnail',
32
+ 'thumbnail-video': 'Video Thumbnail',
33
+ 'thumbnail-link': 'Link Thumbnail',
34
+ 'md-msg-hist': 'History',
35
+ 'md-app-state': 'App State',
36
+ 'product-catalog-image': '',
37
+ 'payment-bg-image': 'Payment Background',
38
+ 'ptv': 'Video',
39
+ 'biz-cover-photo': 'Image'
40
+ }
41
+
42
+ const MEDIA_KEYS = Object.keys(MEDIA_PATH_MAP)
43
+
44
+ module.exports = {
45
+ MEDIA_KEYS,
46
+ MEDIA_PATH_MAP,
47
+ MEDIA_HKDF_KEY_MAPPING
48
+ }
@@ -0,0 +1,18 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const DEF_TAG_PREFIX = 'TAG:'
6
+
7
+ const DEF_CALLBACK_PREFIX = 'CB:'
8
+
9
+ const CALL_VIDEO_PREFIX = 'https://call.whatsapp.com/video/'
10
+
11
+ const CALL_AUDIO_PREFIX = 'https://call.whatsapp.com/voice/'
12
+
13
+ module.exports = {
14
+ DEF_TAG_PREFIX,
15
+ DEF_CALLBACK_PREFIX,
16
+ CALL_VIDEO_PREFIX,
17
+ CALL_AUDIO_PREFIX
18
+ }
@@ -1,45 +1,13 @@
1
1
  "use strict"
2
2
 
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k
5
- var desc = Object.getOwnPropertyDescriptor(m, k)
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k] } }
8
- }
9
- Object.defineProperty(o, k2, desc)
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k
12
- o[k2] = m[k]
13
- }))
14
-
15
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
- Object.defineProperty(o, "default", { enumerable: true, value: v })
17
- }) : function(o, v) {
18
- o["default"] = v
19
- })
20
-
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = []
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k
26
- return ar
27
- }
28
- return ownKeys(o)
29
- }
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod
32
- var result = {}
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i])
34
- __setModuleDefault(result, mod)
35
- return result
36
- }
37
- })()
38
-
39
3
  Object.defineProperty(exports, "__esModule", { value: true })
40
4
 
41
- const keyhelper = __importStar(require("./keyhelper"))
42
- const sender_key_distribution_message_1 = require("./sender-key-distribution-message")
5
+ const {
6
+ generateSenderKey,
7
+ generateSenderKeyId,
8
+ generateSenderSigningKey
9
+ } = require("./keyhelper")
10
+ const { SenderKeyDistributionMessage } = require("./sender-key-distribution-message")
43
11
 
44
12
  class GroupSessionBuilder {
45
13
  constructor(senderKeyStore) {
@@ -53,9 +21,9 @@ class GroupSessionBuilder {
53
21
  async create(senderKeyName) {
54
22
  const senderKeyRecord = await this.senderKeyStore.loadSenderKey(senderKeyName)
55
23
  if (senderKeyRecord.isEmpty()) {
56
- const keyId = keyhelper.generateSenderKeyId()
57
- const senderKey = keyhelper.generateSenderKey()
58
- const signingKey = keyhelper.generateSenderSigningKey()
24
+ const keyId = generateSenderKeyId()
25
+ const senderKey = generateSenderKey()
26
+ const signingKey = generateSenderSigningKey()
59
27
  senderKeyRecord.setSenderKeyState(keyId, 0, senderKey, signingKey)
60
28
  await this.senderKeyStore.storeSenderKey(senderKeyName, senderKeyRecord)
61
29
  }
@@ -63,7 +31,7 @@ class GroupSessionBuilder {
63
31
  if (!state) {
64
32
  throw new Error('No session state available')
65
33
  }
66
- return new sender_key_distribution_message_1.SenderKeyDistributionMessage(state.getKeyId(), state.getSenderChainKey().getIteration(), state.getSenderChainKey().getSeed(), state.getSigningKeyPublic())
34
+ return new SenderKeyDistributionMessage(state.getKeyId(), state.getSenderChainKey().getIteration(), state.getSenderChainKey().getSeed(), state.getSigningKeyPublic())
67
35
  }
68
36
  }
69
37
 
@@ -2,8 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", { value: true })
4
4
 
5
- const crypto_1 = require("@itsukichan/libsignal-node/src/crypto")
6
- const sender_key_message_1 = require("./sender-key-message")
5
+ const {
6
+ decrypt,
7
+ encrypt
8
+ } = require("@itsukichan/libsignal-node/src/crypto")
9
+ const { SenderKeyMessage } = require("./sender-key-message")
7
10
 
8
11
  class GroupCipher {
9
12
  constructor(senderKeyStore, senderKeyName) {
@@ -26,7 +29,7 @@ class GroupCipher {
26
29
  const iteration = senderKeyState.getSenderChainKey().getIteration()
27
30
  const senderKey = this.getSenderKey(senderKeyState, iteration === 0 ? 0 : iteration + 1)
28
31
  const ciphertext = await this.getCipherText(senderKey.getIv(), senderKey.getCipherKey(), paddedPlaintext)
29
- const senderKeyMessage = new sender_key_message_1.SenderKeyMessage(senderKeyState.getKeyId(), senderKey.getIteration(), ciphertext, senderKeyState.getSigningKeyPrivate())
32
+ const senderKeyMessage = new SenderKeyMessage(senderKeyState.getKeyId(), senderKey.getIteration(), ciphertext, senderKeyState.getSigningKeyPrivate())
30
33
 
31
34
  await this.senderKeyStore.storeSenderKey(this.senderKeyName, record)
32
35
 
@@ -39,7 +42,7 @@ class GroupCipher {
39
42
  throw new Error('No SenderKeyRecord found for decryption')
40
43
  }
41
44
 
42
- const senderKeyMessage = new sender_key_message_1.SenderKeyMessage(null, null, null, null, senderKeyMessageBytes)
45
+ const senderKeyMessage = new SenderKeyMessage(null, null, null, null, senderKeyMessageBytes)
43
46
  const senderKeyState = record.getSenderKeyState(senderKeyMessage.getKeyId())
44
47
 
45
48
  if (!senderKeyState) {
@@ -87,7 +90,7 @@ class GroupCipher {
87
90
  }
88
91
  async getPlainText(iv, key, ciphertext) {
89
92
  try {
90
- return crypto_1.decrypt(key, ciphertext, iv)
93
+ return decrypt(key, ciphertext, iv)
91
94
  }
92
95
  catch (e) {
93
96
  throw new Error('InvalidMessageException')
@@ -98,7 +101,7 @@ class GroupCipher {
98
101
  const ivBuffer = typeof iv === 'string' ? Buffer.from(iv, 'base64') : iv
99
102
  const keyBuffer = typeof key === 'string' ? Buffer.from(key, 'base64') : key
100
103
  const plaintextBuffer = typeof plaintext === 'string' ? Buffer.from(plaintext) : plaintext
101
- return crypto_1.encrypt(keyBuffer, plaintextBuffer, ivBuffer)
104
+ return encrypt(keyBuffer, plaintextBuffer, ivBuffer)
102
105
  }
103
106
  catch (e) {
104
107
  throw new Error('InvalidMessageException')
@@ -1,61 +1,47 @@
1
1
  "use strict"
2
2
 
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ const __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k
5
- var desc = Object.getOwnPropertyDescriptor(m, k)
5
+
6
+ let desc = Object.getOwnPropertyDescriptor(m, k)
7
+
6
8
  if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k] } }
9
+ desc = {
10
+ enumerable: true,
11
+ get: function() {
12
+ return m[k]
13
+ }
14
+ }
8
15
  }
9
- Object.defineProperty(o, k2, desc)
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k
12
- o[k2] = m[k]
13
- }))
14
16
 
15
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
- Object.defineProperty(o, "default", { enumerable: true, value: v })
17
- }) : function(o, v) {
18
- o["default"] = v
19
- })
17
+ Object.defineProperty(o, k2, desc)
20
18
 
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = []
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k
26
- return ar
27
- }
28
- return ownKeys(o)
29
- }
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod
32
- var result = {}
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i])
34
- __setModuleDefault(result, mod)
35
- return result
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k
21
+ o[k2] = m[k]
36
22
  }
37
- })()
38
-
39
- Object.defineProperty(exports, "__esModule", { value: true })
40
- exports.keyhelper = exports.CiphertextMessage = exports.SenderChainKey = exports.SenderMessageKey = exports.SenderKeyMessage = exports.SenderKeyState = exports.GroupCipher = exports.SenderKeyName = exports.SenderKeyRecord = exports.SenderKeyDistributionMessage = exports.GroupSessionBuilder = void 0
41
- var group_session_builder_1 = require("./group-session-builder")
42
- Object.defineProperty(exports, "GroupSessionBuilder", { enumerable: true, get: function () { return group_session_builder_1.GroupSessionBuilder } })
43
- var sender_key_distribution_message_1 = require("./sender-key-distribution-message")
44
- Object.defineProperty(exports, "SenderKeyDistributionMessage", { enumerable: true, get: function () { return sender_key_distribution_message_1.SenderKeyDistributionMessage } })
45
- var sender_key_record_1 = require("./sender-key-record")
46
- Object.defineProperty(exports, "SenderKeyRecord", { enumerable: true, get: function () { return sender_key_record_1.SenderKeyRecord } })
47
- var sender_key_name_1 = require("./sender-key-name")
48
- Object.defineProperty(exports, "SenderKeyName", { enumerable: true, get: function () { return sender_key_name_1.SenderKeyName } })
49
- var group_cipher_1 = require("./group_cipher")
50
- Object.defineProperty(exports, "GroupCipher", { enumerable: true, get: function () { return group_cipher_1.GroupCipher } })
51
- var sender_key_state_1 = require("./sender-key-state")
52
- Object.defineProperty(exports, "SenderKeyState", { enumerable: true, get: function () { return sender_key_state_1.SenderKeyState } })
53
- var sender_key_message_1 = require("./sender-key-message")
54
- Object.defineProperty(exports, "SenderKeyMessage", { enumerable: true, get: function () { return sender_key_message_1.SenderKeyMessage } })
55
- var sender_message_key_1 = require("./sender-message-key")
56
- Object.defineProperty(exports, "SenderMessageKey", { enumerable: true, get: function () { return sender_message_key_1.SenderMessageKey } })
57
- var sender_chain_key_1 = require("./sender-chain-key")
58
- Object.defineProperty(exports, "SenderChainKey", { enumerable: true, get: function () { return sender_chain_key_1.SenderChainKey } })
59
- var ciphertext_message_1 = require("./ciphertext-message")
60
- Object.defineProperty(exports, "CiphertextMessage", { enumerable: true, get: function () { return ciphertext_message_1.CiphertextMessage } })
61
- exports.keyhelper = __importStar(require("./keyhelper"))
23
+ ))
24
+
25
+ const __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) {
27
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
28
+ __createBinding(exports, m, p)
29
+ }
30
+ }
31
+ }
32
+
33
+ Object.defineProperty(exports, "__esModule", {
34
+ value: true
35
+ })
36
+
37
+ __exportStar(require("./ciphertext-message"), exports)
38
+ __exportStar(require("./group-session-builder"), exports)
39
+ __exportStar(require("./group_cipher"), exports)
40
+ __exportStar(require("./keyhelper"), exports)
41
+ __exportStar(require("./sender-chain-key"), exports)
42
+ __exportStar(require("./sender-key-distribution-message"), exports)
43
+ __exportStar(require("./sender-key-message"), exports)
44
+ __exportStar(require("./sender-key-name"), exports)
45
+ __exportStar(require("./sender-key-record"), exports)
46
+ __exportStar(require("./sender-key-state"), exports)
47
+ __exportStar(require("./sender-message-key"), exports)