@hansaka02/baileys 7.3.2 → 7.3.4

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 (202) hide show
  1. package/README.md +247 -203
  2. package/lib/Defaults/connection.js +51 -0
  3. package/lib/Defaults/constants.js +62 -0
  4. package/lib/Defaults/history.js +17 -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 +4 -4
  13. package/lib/Signal/Group/sender-key-distribution-message.js +5 -5
  14. package/lib/Signal/Group/sender-key-message.js +12 -8
  15. package/lib/Signal/Group/sender-key-record.js +7 -7
  16. package/lib/Signal/Group/sender-key-state.js +4 -4
  17. package/lib/Signal/Group/sender-message-key.js +2 -2
  18. package/lib/Signal/libsignal.js +45 -69
  19. package/lib/Signal/lid-mapping.js +15 -11
  20. package/lib/Socket/Client/types.js +2 -2
  21. package/lib/Socket/Client/websocket.js +16 -14
  22. package/lib/Socket/business.js +41 -32
  23. package/lib/Socket/chats.js +123 -98
  24. package/lib/Socket/community.js +50 -40
  25. package/lib/Socket/groups.js +59 -47
  26. package/lib/Socket/index.js +4 -4
  27. package/lib/Socket/messages-recv.js +219 -172
  28. package/lib/Socket/messages-send.js +187 -143
  29. package/lib/Socket/newsletter.js +61 -47
  30. package/lib/Socket/socket.js +133 -90
  31. package/lib/Socket/usync.js +6 -6
  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/State.js +4 -4
  39. package/lib/Types/index.js +28 -12
  40. package/lib/Utils/auth-utils.js +28 -26
  41. package/lib/Utils/baileys-event-stream.js +68 -69
  42. package/lib/Utils/business.js +63 -53
  43. package/lib/Utils/chat-utils.js +81 -71
  44. package/lib/Utils/crypto.js +25 -45
  45. package/lib/Utils/decode-wa-message.js +319 -311
  46. package/lib/Utils/event-buffer.js +21 -22
  47. package/lib/Utils/generics.js +65 -82
  48. package/lib/Utils/history.js +21 -21
  49. package/lib/Utils/index.js +27 -13
  50. package/lib/Utils/link-preview.js +7 -30
  51. package/lib/Utils/logger.js +5 -5
  52. package/lib/Utils/lt-hash.js +3 -3
  53. package/lib/Utils/message-retry-manager.js +4 -4
  54. package/lib/Utils/messages-media.js +104 -109
  55. package/lib/Utils/messages.js +203 -171
  56. package/lib/Utils/noise-handler.js +28 -19
  57. package/lib/Utils/process-message.js +111 -96
  58. package/lib/Utils/signal.js +36 -25
  59. package/lib/Utils/use-multi-file-auth-state.js +18 -22
  60. package/lib/Utils/validate-connection.js +52 -45
  61. package/lib/WABinary/decode.js +6 -32
  62. package/lib/WABinary/encode.js +3 -29
  63. package/lib/WABinary/generic-utils.js +4 -4
  64. package/lib/WABinary/index.js +27 -11
  65. package/lib/WAM/encode.js +16 -8
  66. package/lib/WAM/index.js +27 -11
  67. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +20 -16
  68. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  69. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +7 -4
  70. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
  71. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -2
  72. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
  73. package/lib/WAUSync/Protocols/index.js +27 -11
  74. package/lib/WAUSync/USyncQuery.js +17 -10
  75. package/lib/WAUSync/index.js +27 -11
  76. package/lib/index.js +60 -31
  77. package/package.json +8 -14
  78. package/WAProto/AICommon/AICommon.d.ts +0 -11702
  79. package/WAProto/Adv/Adv.d.ts +0 -643
  80. package/WAProto/BotMetadata/BotMetadata.d.ts +0 -5654
  81. package/WAProto/Cert/Cert.d.ts +0 -613
  82. package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +0 -476
  83. package/WAProto/CompanionReg/CompanionReg.d.ts +0 -1361
  84. package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +0 -577
  85. package/WAProto/E2E/E2E.d.ts +0 -41724
  86. package/WAProto/Ephemeral/Ephemeral.d.ts +0 -114
  87. package/WAProto/HistorySync/HistorySync.d.ts +0 -51700
  88. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +0 -229
  89. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +0 -583
  90. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +0 -42897
  91. package/WAProto/MmsRetry/MmsRetry.d.ts +0 -243
  92. package/WAProto/Protocol/Protocol.d.ts +0 -270
  93. package/WAProto/Reporting/Reporting.d.ts +0 -371
  94. package/WAProto/ServerSync/ServerSync.d.ts +0 -1285
  95. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +0 -1868
  96. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +0 -767
  97. package/WAProto/StatusAttributions/StatusAttributions.d.ts +0 -1027
  98. package/WAProto/SyncAction/SyncAction.d.ts +0 -11193
  99. package/WAProto/UserPassword/UserPassword.d.ts +0 -363
  100. package/WAProto/VnameCert/VnameCert.d.ts +0 -821
  101. package/WAProto/Wa6/Wa6.d.ts +0 -2128
  102. package/WAProto/Web/Web.d.ts +0 -46383
  103. package/WAProto/index.d.ts +0 -55
  104. package/lib/Defaults/index.d.ts +0 -77
  105. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  106. package/lib/Signal/Group/group-session-builder.d.ts +0 -17
  107. package/lib/Signal/Group/group_cipher.d.ts +0 -19
  108. package/lib/Signal/Group/index.d.ts +0 -11
  109. package/lib/Signal/Group/keyhelper.d.ts +0 -16
  110. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  111. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  112. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  113. package/lib/Signal/Group/sender-key-name.d.ts +0 -19
  114. package/lib/Signal/Group/sender-key-record.d.ts +0 -32
  115. package/lib/Signal/Group/sender-key-state.d.ts +0 -44
  116. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  117. package/lib/Signal/libsignal.d.ts +0 -8
  118. package/lib/Signal/lid-mapping.d.ts +0 -28
  119. package/lib/Socket/Client/index.d.ts +0 -2
  120. package/lib/Socket/Client/types.d.ts +0 -16
  121. package/lib/Socket/Client/websocket.d.ts +0 -13
  122. package/lib/Socket/business.d.ts +0 -187
  123. package/lib/Socket/chats.d.ts +0 -97
  124. package/lib/Socket/community.d.ts +0 -129
  125. package/lib/Socket/groups.d.ts +0 -129
  126. package/lib/Socket/index.d.ts +0 -191
  127. package/lib/Socket/messages-recv.d.ts +0 -174
  128. package/lib/Socket/messages-send.d.ts +0 -165
  129. package/lib/Socket/newsletter.d.ts +0 -145
  130. package/lib/Socket/socket.d.ts +0 -45
  131. package/lib/Socket/usync.d.ts +0 -37
  132. package/lib/Store/index.d.ts +0 -4
  133. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  134. package/lib/Store/make-in-memory-store.d.ts +0 -123
  135. package/lib/Store/make-ordered-dictionary.d.ts +0 -12
  136. package/lib/Store/object-repository.d.ts +0 -10
  137. package/lib/Types/Auth.d.ts +0 -121
  138. package/lib/Types/Bussiness.d.ts +0 -28
  139. package/lib/Types/Call.d.ts +0 -14
  140. package/lib/Types/Chat.d.ts +0 -143
  141. package/lib/Types/Contact.d.ts +0 -23
  142. package/lib/Types/Events.d.ts +0 -226
  143. package/lib/Types/GroupMetadata.d.ts +0 -66
  144. package/lib/Types/Label.d.ts +0 -48
  145. package/lib/Types/LabelAssociation.d.ts +0 -35
  146. package/lib/Types/Message.d.ts +0 -484
  147. package/lib/Types/MexUpdates.d.ts +0 -9
  148. package/lib/Types/Newsletter.d.ts +0 -109
  149. package/lib/Types/Product.d.ts +0 -92
  150. package/lib/Types/Signal.d.ts +0 -98
  151. package/lib/Types/Socket.d.ts +0 -141
  152. package/lib/Types/State.d.ts +0 -41
  153. package/lib/Types/USync.d.ts +0 -26
  154. package/lib/Types/index.d.ts +0 -80
  155. package/lib/Utils/auth-utils.d.ts +0 -21
  156. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  157. package/lib/Utils/business.d.ts +0 -29
  158. package/lib/Utils/chat-utils.d.ts +0 -82
  159. package/lib/Utils/crypto.d.ts +0 -56
  160. package/lib/Utils/decode-wa-message.d.ts +0 -53
  161. package/lib/Utils/event-buffer.d.ts +0 -39
  162. package/lib/Utils/generics.d.ts +0 -117
  163. package/lib/Utils/history.d.ts +0 -23
  164. package/lib/Utils/index.d.ts +0 -20
  165. package/lib/Utils/link-preview.d.ts +0 -23
  166. package/lib/Utils/logger.d.ts +0 -13
  167. package/lib/Utils/lt-hash.d.ts +0 -14
  168. package/lib/Utils/make-mutex.d.ts +0 -9
  169. package/lib/Utils/message-retry-manager.d.ts +0 -88
  170. package/lib/Utils/messages-media.d.ts +0 -135
  171. package/lib/Utils/messages.d.ts +0 -105
  172. package/lib/Utils/noise-handler.d.ts +0 -20
  173. package/lib/Utils/process-message.d.ts +0 -49
  174. package/lib/Utils/signal.d.ts +0 -42
  175. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  176. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  177. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  178. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  179. package/lib/Utils/use-single-file-auth-state.js +0 -80
  180. package/lib/Utils/validate-connection.d.ts +0 -13
  181. package/lib/WABinary/constants.d.ts +0 -30
  182. package/lib/WABinary/decode.d.ts +0 -9
  183. package/lib/WABinary/encode.d.ts +0 -3
  184. package/lib/WABinary/generic-utils.d.ts +0 -28
  185. package/lib/WABinary/index.d.ts +0 -5
  186. package/lib/WABinary/jid-utils.d.ts +0 -58
  187. package/lib/WABinary/types.d.ts +0 -22
  188. package/lib/WAM/BinaryInfo.d.ts +0 -16
  189. package/lib/WAM/constants.d.ts +0 -47
  190. package/lib/WAM/encode.d.ts +0 -3
  191. package/lib/WAM/index.d.ts +0 -3
  192. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
  193. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  194. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
  195. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
  196. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
  197. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
  198. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  199. package/lib/WAUSync/USyncQuery.d.ts +0 -31
  200. package/lib/WAUSync/USyncUser.d.ts +0 -12
  201. package/lib/WAUSync/index.d.ts +0 -3
  202. package/lib/index.d.ts +0 -13
@@ -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: 'EN',
44
+ getMessage: async () => undefined,
45
+ cachedGroupMetadata: async () => undefined,
46
+ makeSignalRepository: makeLibSignalRepository
47
+ }
48
+
49
+ module.exports = {
50
+ DEFAULT_CONNECTION_CONFIG
51
+ }
@@ -0,0 +1,62 @@
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_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60
14
+
15
+ const NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0'
16
+
17
+ const DICT_VERSION = 3
18
+
19
+ const KEY_BUNDLE_TYPE = Buffer.from([5])
20
+
21
+ const NOISE_WA_HEADER = Buffer.from([87, 65, 6, DICT_VERSION]) // last is "DICT_VERSION"
22
+
23
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
24
+ const URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g
25
+
26
+ const MIN_PREKEY_COUNT = 5
27
+
28
+ const INITIAL_PREKEY_COUNT = 30
29
+
30
+ const UPLOAD_TIMEOUT = 30000 // 30 seconds
31
+
32
+ const MIN_UPLOAD_INTERVAL = 5000 // seconds minimum between uploads
33
+
34
+ const WA_CERT_DETAILS = {
35
+ SERIAL: 0
36
+ }
37
+
38
+ const DEFAULT_CACHE_TTLS = {
39
+ SIGNAL_STORE: 5 * 60,
40
+ MSG_RETRY: 60 * 60,
41
+ CALL_OFFER: 5 * 60,
42
+ USER_DEVICES: 5 * 60, // 5 minutes
43
+ }
44
+
45
+ module.exports = {
46
+ UNAUTHORIZED_CODES,
47
+ PHONENUMBER_MCC,
48
+ DEFAULT_ORIGIN,
49
+ PHONE_CONNECTION_CB,
50
+ WA_DEFAULT_EPHEMERAL,
51
+ NOISE_MODE,
52
+ DICT_VERSION,
53
+ KEY_BUNDLE_TYPE,
54
+ NOISE_WA_HEADER,
55
+ URL_REGEX,
56
+ MIN_PREKEY_COUNT,
57
+ MIN_UPLOAD_INTERVAL,
58
+ INITIAL_PREKEY_COUNT,
59
+ UPLOAD_TIMEOUT,
60
+ WA_CERT_DETAILS,
61
+ DEFAULT_CACHE_TTLS
62
+ }
@@ -0,0 +1,17 @@
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
+ ]
14
+
15
+ module.exports = {
16
+ PROCESSABLE_HISTORY_TYPES
17
+ }
@@ -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)
@@ -1,57 +1,24 @@
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 nodeCrypto = __importStar(require("crypto"))
42
- const curve_1 = require("@itsukichan/libsignal-node/src/curve")
5
+ const {
6
+ randomInt,
7
+ randomBytes
8
+ } = require("crypto")
9
+ const { generateKeyPair } = require("@itsukichan/libsignal-node/src/curve")
43
10
 
44
11
  function generateSenderKey() {
45
- return nodeCrypto.randomBytes(32)
12
+ return randomBytes(32)
46
13
  }
47
14
 
48
15
  function generateSenderKeyId() {
49
- return nodeCrypto.randomInt(2147483647)
16
+ return randomInt(2147483647)
50
17
  }
51
18
 
52
19
  function generateSenderSigningKey(key) {
53
20
  if (!key) {
54
- key = curve_1.generateKeyPair()
21
+ key = generateKeyPair()
55
22
  }
56
23
  return {
57
24
  public: Buffer.from(key.pubKey),