@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
@@ -1,36 +1,35 @@
1
1
  "use strict"
2
2
 
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod }
5
- }
6
-
7
3
  Object.defineProperty(exports, "__esModule", { value: true })
8
4
 
9
- const cache_manager_1 = require("cache-manager")
10
- const WAProto_1 = require("../../WAProto")
11
- const Utils_1 = require("../Utils")
12
- const logger_1 = __importDefault(require("../Utils/logger"))
5
+ const { caching } = require("cache-manager")
6
+ const { proto } = require("../../WAProto")
7
+ const {
8
+ BufferJSON,
9
+ initAuthCreds
10
+ } = require("../Utils")
11
+ const { default: logger } = require("../Utils/logger")
13
12
 
14
13
  const makeCacheManagerAuthState = async (store, sessionKey) => {
15
14
  const defaultKey = (file) => `${sessionKey}:${file}`
16
- const databaseConn = await cache_manager_1.caching(store)
15
+ const databaseConn = await caching(store)
17
16
  const writeData = async (file, data) => {
18
17
  let ttl = undefined
19
18
  if (file === 'creds') {
20
19
  ttl = 63115200 // 2 years
21
20
  }
22
- await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl)
21
+ await databaseConn.set(defaultKey(file), JSON.stringify(data, BufferJSON.replacer), ttl)
23
22
  }
24
23
  const readData = async (file) => {
25
24
  try {
26
25
  const data = await databaseConn.get(defaultKey(file))
27
26
  if (data) {
28
- return JSON.parse(data, Utils_1.BufferJSON.reviver)
27
+ return JSON.parse(data, BufferJSON.reviver)
29
28
  }
30
29
  return null
31
30
  }
32
31
  catch (error) {
33
- logger_1.default.error(error)
32
+ logger.error(error)
34
33
  return null
35
34
  }
36
35
  }
@@ -39,7 +38,7 @@ const makeCacheManagerAuthState = async (store, sessionKey) => {
39
38
  return await databaseConn.del(defaultKey(file))
40
39
  }
41
40
  catch (_a) {
42
- logger_1.default.error(`Error removing ${file} from session ${sessionKey}`)
41
+ logger.error(`Error removing ${file} from session ${sessionKey}`)
43
42
  }
44
43
  }
45
44
  const clearState = async () => {
@@ -50,7 +49,7 @@ const makeCacheManagerAuthState = async (store, sessionKey) => {
50
49
  catch (err) {
51
50
  }
52
51
  }
53
- const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)()
52
+ const creds = (await readData('creds')) || initAuthCreds()
54
53
  return {
55
54
  clearState,
56
55
  saveCreds: () => writeData('creds', creds),
@@ -62,7 +61,7 @@ const makeCacheManagerAuthState = async (store, sessionKey) => {
62
61
  await Promise.all(ids.map(async (id) => {
63
62
  let value = await readData(`${type}-${id}`)
64
63
  if (type === 'app-state-sync-key' && value) {
65
- value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value)
64
+ value = proto.Message.AppStateSyncKeyData.fromObject(value)
66
65
  }
67
66
  data[id] = value
68
67
  }))
@@ -1,18 +1,22 @@
1
1
  "use strict"
2
2
 
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod }
5
- }
6
-
7
3
  Object.defineProperty(exports, "__esModule", { value: true })
8
4
 
9
- const WAProto_1 = require("../../WAProto")
10
- const Defaults_1 = require("../Defaults")
11
- const LabelAssociation_1 = require("../Types/LabelAssociation")
12
- const Utils_1 = require("../Utils")
13
- const WABinary_1 = require("../WABinary")
14
- const Store_1 = require("./make-ordered-dictionary")
15
- const object_repository_1 = require("./object-repository")
5
+ const { proto } = require("../../WAProto")
6
+ const { DEFAULT_CONNECTION_CONFIG } = require("../Defaults/connection")
7
+ const { LabelAssociationType } = require("../Types/LabelAssociation")
8
+ const {
9
+ md5,
10
+ toNumber,
11
+ updateMessageWithReceipt,
12
+ updateMessageWithReaction
13
+ } = require("../Utils")
14
+ const {
15
+ jidDecode,
16
+ jidNormalizedUser
17
+ } = require("../WABinary")
18
+ const { makeOrderedDictionary } = require("./make-ordered-dictionary")
19
+ const { ObjectRepository } = require("./object-repository")
16
20
 
17
21
  const waChatKey = (pin) => ({
18
22
  key: (c) => (pin ? (c.pinned ? '1' : '0') : '') + (c.archived ? '0' : '1') + (c.conversationTimestamp ? c.conversationTimestamp.toString(16).padStart(8, '0') : '') + c.id,
@@ -22,17 +26,17 @@ const waChatKey = (pin) => ({
22
26
  const waMessageID = (m) => m.key.id || ''
23
27
 
24
28
  const waLabelAssociationKey = {
25
- key: (la) => (la.type === LabelAssociation_1.LabelAssociationType.Chat ? la.chatId + la.labelId : la.chatId + la.messageId + la.labelId),
29
+ key: (la) => (la.type === LabelAssociationType.Chat ? la.chatId + la.labelId : la.chatId + la.messageId + la.labelId),
26
30
  compare: (k1, k2) => k2.localeCompare(k1)
27
31
  }
28
32
 
29
- const makeMessagesDictionary = () => Store_1.makeOrderedDictionary(waMessageID)
33
+ const makeMessagesDictionary = () => makeOrderedDictionary(waMessageID)
30
34
 
31
35
  const makeInMemoryStore = (config) => {
32
36
  const socket = config.socket
33
37
  const chatKey = config.chatKey || waChatKey(true)
34
38
  const labelAssociationKey = config.labelAssociationKey || waLabelAssociationKey
35
- const logger = config.logger || Defaults_1.DEFAULT_CONNECTION_CONFIG.logger.child({ stream: 'in-mem-store' })
39
+ const logger = config.logger || DEFAULT_CONNECTION_CONFIG.logger.child({ stream: 'in-mem-store' })
36
40
  const KeyedDB = require('@adiwajshing/keyed-db').default
37
41
  const chats = new KeyedDB(chatKey, c => c.id)
38
42
  const messages = {}
@@ -40,7 +44,7 @@ const makeInMemoryStore = (config) => {
40
44
  const groupMetadata = {}
41
45
  const presences = {}
42
46
  const state = { connection: 'close' }
43
- const labels = new object_repository_1.ObjectRepository()
47
+ const labels = new ObjectRepository()
44
48
  const labelAssociations = new KeyedDB(labelAssociationKey, labelAssociationKey.key)
45
49
  const assertMessageList = (jid) => {
46
50
  if (!messages[jid]) {
@@ -72,7 +76,7 @@ const makeInMemoryStore = (config) => {
72
76
  Object.assign(state, update)
73
77
  })
74
78
  ev.on('messaging-history.set', ({ chats: newChats, contacts: newContacts, messages: newMessages, isLatest, syncType }) => {
75
- if (syncType === WAProto_1.proto.HistorySync.HistorySyncType.ON_DEMAND) {
79
+ if (syncType === proto.HistorySync.HistorySyncType.ON_DEMAND) {
76
80
  return // FOR NOW,
77
81
  //TODO: HANDLE
78
82
  }
@@ -109,8 +113,8 @@ const makeInMemoryStore = (config) => {
109
113
  }
110
114
  else {
111
115
  const contactHashes = await Promise.all(Object.keys(contacts).map(async (contactId) => {
112
- const { user } = WABinary_1.jidDecode(contactId)
113
- return [contactId, (await Utils_1.md5(Buffer.from(user + 'WA_ADD_NOTIF', 'utf8'))).toString('base64').slice(0, 3)]
116
+ const { user } = jidDecode(contactId)
117
+ return [contactId, (await md5(Buffer.from(user + 'WA_ADD_NOTIF', 'utf8'))).toString('base64').slice(0, 3)]
114
118
  }))
115
119
  contact = contacts[contactHashes.find(([, b]) => b === update.id?.[0]) || ''] // find contact by attrs.hash, when user is not saved as a contact
116
120
  }
@@ -183,14 +187,14 @@ const makeInMemoryStore = (config) => {
183
187
  case 'append':
184
188
  case 'notify':
185
189
  for (const msg of newMessages) {
186
- const jid = WABinary_1.jidNormalizedUser(msg.key.remoteJid)
190
+ const jid = jidNormalizedUser(msg.key.remoteJid)
187
191
  const list = assertMessageList(jid)
188
192
  list.upsert(msg, 'append')
189
193
  if (type === 'notify' && !chats.get(jid)) {
190
194
  ev.emit('chats.upsert', [
191
195
  {
192
196
  id: jid,
193
- conversationTimestamp: Utils_1.toNumber(msg.messageTimestamp),
197
+ conversationTimestamp: toNumber(msg.messageTimestamp),
194
198
  unreadCount: 1
195
199
  }
196
200
  ])
@@ -201,7 +205,7 @@ const makeInMemoryStore = (config) => {
201
205
  })
202
206
  ev.on('messages.update', updates => {
203
207
  for (const { update, key } of updates) {
204
- const list = assertMessageList(WABinary_1.jidNormalizedUser(key.remoteJid))
208
+ const list = assertMessageList(jidNormalizedUser(key.remoteJid))
205
209
  if (update?.status) {
206
210
  const listStatus = list.get(key.id)?.status
207
211
  if (listStatus && update?.status <= listStatus) {
@@ -267,7 +271,7 @@ const makeInMemoryStore = (config) => {
267
271
  const obj = messages[key.remoteJid]
268
272
  const msg = obj?.get(key.id)
269
273
  if (msg) {
270
- Utils_1.updateMessageWithReceipt(msg, receipt)
274
+ updateMessageWithReceipt(msg, receipt)
271
275
  }
272
276
  }
273
277
  })
@@ -276,7 +280,7 @@ const makeInMemoryStore = (config) => {
276
280
  const obj = messages[key.remoteJid]
277
281
  const msg = obj?.get(key.id)
278
282
  if (msg) {
279
- Utils_1.updateMessageWithReaction(msg, reaction)
283
+ updateMessageWithReaction(msg, reaction)
280
284
  }
281
285
  }
282
286
  })
@@ -296,7 +300,7 @@ const makeInMemoryStore = (config) => {
296
300
  for (const jid in json.messages) {
297
301
  const list = assertMessageList(jid)
298
302
  for (const msg of json.messages[jid]) {
299
- list.upsert(WAProto_1.proto.WebMessageInfo.fromObject(msg), 'append')
303
+ list.upsert(proto.WebMessageInfo.fromObject(msg), 'append')
300
304
  }
301
305
  }
302
306
  }
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true })
4
4
 
5
5
  /** Association type */
6
6
  const LabelAssociationType = {
7
- Chat: "label_jid",
8
- Message: "label_message"
7
+ Chat: "label_jid",
8
+ Message: "label_message"
9
9
  }
10
10
 
11
11
  module.exports = {
@@ -2,18 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", { value: true })
4
4
 
5
- const WAProto_1 = require("../../WAProto")
5
+ const { proto } = require("../../WAProto")
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", { value: true })
8
8
 
9
9
  const WAMessageAddressingMode = {
10
- PN: 'pn',
11
- LID: 'lid'
10
+ PN: 'pn',
11
+ LID: 'lid'
12
12
  }
13
13
 
14
14
  module.exports = {
15
15
  WAMessageAddressingMode,
16
- WAMessageStubType: WAProto_1.proto.WebMessageInfo.StubType,
17
- WAMessageStatus: WAProto_1.proto.WebMessageInfo.Status,
18
- WAProto: WAProto_1.proto
16
+ WAMessageStubType: proto.WebMessageInfo.StubType,
17
+ WAMessageStatus: proto.WebMessageInfo.Status,
18
+ WAProto: proto
19
19
  }
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true })
4
4
 
5
5
  const MexUpdatesOperations = {
6
- OWNER_COMMUNITY: "NotificationCommunityOwnerUpdate",
7
- GROUP_MEMBER_LINK: "NotificationGroupMemberLinkPropertyUpdate",
8
- GROUP_LIMIT_SHARING: "NotificationGroupLimitSharingPropertyUpdate"
6
+ OWNER_COMMUNITY: "NotificationCommunityOwnerUpdate",
7
+ GROUP_MEMBER_LINK: "NotificationGroupMemberLinkPropertyUpdate",
8
+ GROUP_LIMIT_SHARING: "NotificationGroupLimitSharingPropertyUpdate"
9
9
  }
10
10
 
11
11
  const XWAPathsMexUpdates = {
12
- GROUP_SHARING_CHANGE: "xwa2_notify_group_on_prop_change",
13
- COMMUNITY_OWNER_CHANGE: "xwa2_notify_group_on_participants_roles_change"
12
+ GROUP_SHARING_CHANGE: "xwa2_notify_group_on_prop_change",
13
+ COMMUNITY_OWNER_CHANGE: "xwa2_notify_group_on_participants_roles_change"
14
14
  }
15
15
 
16
16
  module.exports = {
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true })
4
4
 
5
5
  const SyncState = {
6
- Connecting: 0,
7
- AwaitingInitialSync: 1,
8
- Syncing: 2,
9
- Online: 3
6
+ Connecting: 0,
7
+ AwaitingInitialSync: 1,
8
+ Syncing: 2,
9
+ Online: 3
10
10
  }
11
11
 
12
12
  module.exports = {
@@ -1,24 +1,40 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
16
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
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
+ }
17
31
  }
18
32
 
19
- Object.defineProperty(exports, "__esModule", { value: true })
33
+ Object.defineProperty(exports, "__esModule", {
34
+ value: true
35
+ })
20
36
 
21
- exports.DisconnectReason = void 0
37
+ exports.DisconnectReason = null
22
38
  __exportStar(require("./Auth"), exports)
23
39
  __exportStar(require("./Bussines"), exports)
24
40
  __exportStar(require("./Chat"), exports)
@@ -1,18 +1,20 @@
1
1
  "use strict"
2
2
 
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod }
5
- }
6
-
7
3
  Object.defineProperty(exports, "__esModule", { value: true })
8
4
 
9
- const crypto_1 = require("crypto")
10
- const node_cache_1 = __importDefault(require("@cacheable/node-cache"))
11
- const Defaults_1 = require("../Defaults")
12
- const LRUCache_1 = require("lru-cache")
13
- const crypto_2 = require("./crypto")
14
- const generics_1 = require("./generics")
15
- const mutex_1 = require("async-mutex")
5
+ const { randomBytes } = require("crypto")
6
+ const { default: NodeCache } = require("@cacheable/node-cache")
7
+ const { DEFAULT_CACHE_TTLS } = require("../Defaults/constants")
8
+ const { LRUCache } = require("lru-cache")
9
+ const { Mutex }= require("async-mutex")
10
+ const {
11
+ Curve,
12
+ signedKeyPair
13
+ } = require("./crypto")
14
+ const {
15
+ delay,
16
+ generateRegistrationId
17
+ } = require("./generics")
16
18
 
17
19
  /**
18
20
  * Adds caching capability to a SignalKeyStore
@@ -21,14 +23,14 @@ const mutex_1 = require("async-mutex")
21
23
  * @param _cache cache store to use
22
24
  */
23
25
  function makeCacheableSignalKeyStore(store, logger, _cache) {
24
- const cache = _cache || new node_cache_1.default({
25
- stdTTL: Defaults_1.DEFAULT_CACHE_TTLS.SIGNAL_STORE,
26
+ const cache = _cache || new NodeCache({
27
+ stdTTL: DEFAULT_CACHE_TTLS.SIGNAL_STORE,
26
28
  useClones: false,
27
- deleteOnExpire: true,
29
+ deleteOnExpire: true
28
30
  })
29
31
 
30
32
  // Mutex for protecting cache operations
31
- const cacheMutex = new mutex_1.Mutex()
33
+ const cacheMutex = new Mutex()
32
34
 
33
35
  function getUniqueId(type, id) {
34
36
  return `${type}.${id}`
@@ -82,8 +84,8 @@ function makeCacheableSignalKeyStore(store, logger, _cache) {
82
84
  }
83
85
 
84
86
  // Module-level specialized mutexes for pre-key operations
85
- const preKeyMutex = new mutex_1.Mutex()
86
- const signedPreKeyMutex = new mutex_1.Mutex()
87
+ const preKeyMutex = new Mutex()
88
+ const signedPreKeyMutex = new Mutex()
87
89
 
88
90
  /**
89
91
  * Get the appropriate mutex for the key type
@@ -253,7 +255,7 @@ const addTransactionCapability = (state, logger, { maxCommitRetries, delayBetwee
253
255
  let mutations = {}
254
256
 
255
257
  // LRU Cache to hold mutexes for different key types
256
- const mutexCache = new LRUCache_1.LRUCache({
258
+ const mutexCache = new LRUCache({
257
259
  ttl: 60 * 60 * 1000, // 1 hour
258
260
  ttlAutopurge: true,
259
261
  updateAgeOnGet: true
@@ -277,7 +279,7 @@ const addTransactionCapability = (state, logger, { maxCommitRetries, delayBetwee
277
279
  function getMutex(key) {
278
280
  let mutex = mutexCache.get(key)
279
281
  if (!mutex) {
280
- mutex = new mutex_1.Mutex()
282
+ mutex = new Mutex()
281
283
  mutexCache.set(key, mutex)
282
284
  logger.info({ key }, 'created new mutex')
283
285
  }
@@ -312,7 +314,7 @@ const addTransactionCapability = (state, logger, { maxCommitRetries, delayBetwee
312
314
  catch (error) {
313
315
  logger.warn(`failed to commit ${Object.keys(mutations).length} mutations, tries left=${tries}`)
314
316
  if (tries > 0) {
315
- await generics_1.delay(delayBetweenTriesMs)
317
+ await delay(delayBetweenTriesMs)
316
318
  }
317
319
  }
318
320
  }
@@ -494,14 +496,14 @@ const addTransactionCapability = (state, logger, { maxCommitRetries, delayBetwee
494
496
  }
495
497
 
496
498
  const initAuthCreds = () => {
497
- const identityKey = crypto_2.Curve.generateKeyPair()
499
+ const identityKey = Curve.generateKeyPair()
498
500
  return {
499
- noiseKey: crypto_2.Curve.generateKeyPair(),
500
- pairingEphemeralKeyPair: crypto_2.Curve.generateKeyPair(),
501
+ noiseKey: Curve.generateKeyPair(),
502
+ pairingEphemeralKeyPair: Curve.generateKeyPair(),
501
503
  signedIdentityKey: identityKey,
502
- signedPreKey: crypto_2.signedKeyPair(identityKey, 1),
503
- registrationId: generics_1.generateRegistrationId(),
504
- advSecretKey: crypto_1.randomBytes(32).toString('base64'),
504
+ signedPreKey: signedKeyPair(identityKey, 1),
505
+ registrationId: generateRegistrationId(),
506
+ advSecretKey: randomBytes(32).toString('base64'),
505
507
  processedHistoryMessages: [],
506
508
  nextPreKeyId: 1,
507
509
  firstUnuploadedPreKeyId: 1,
@@ -1,70 +1,69 @@
1
- "use strict"
2
-
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod }
5
- }
6
-
7
- Object.defineProperty(exports, "__esModule", { value: true })
8
-
9
- const events_1 = __importDefault(require("events"))
10
- const fs_1 = require("fs")
11
- const promises_1 = require("fs/promises")
12
- const readline_1 = require("readline")
13
- const generics_1 = require("./generics")
14
- const make_mutex_1 = require("./make-mutex")
15
-
16
- /**
17
- * Captures events from a baileys event emitter & stores them in a file
18
- * @param ev The event emitter to read events from
19
- * @param filename File to save to
20
- */
21
- const captureEventStream = (ev, filename) => {
22
- const oldEmit = ev.emit
23
- // write mutex so data is appended in order
24
- const writeMutex = make_mutex_1.makeMutex()
25
- // monkey patch eventemitter to capture all events
26
- ev.emit = function (...args) {
27
- const content = JSON.stringify({ timestamp: Date.now(), event: args[0], data: args[1] }) + '\n'
28
- const result = oldEmit.apply(ev, args)
29
- writeMutex.mutex(async () => {
30
- await promises_1.writeFile(filename, content, { flag: 'a' })
31
- })
32
- return result
33
- }
34
- }
35
-
36
- /**
37
- * Read event file and emit events from there
38
- * @param filename filename containing event data
39
- * @param delayIntervalMs delay between each event emit
40
- */
41
- const readAndEmitEventStream = (filename, delayIntervalMs = 0) => {
42
- const ev = new events_1.default()
43
- const fireEvents = async () => {
44
- // from: https://stackoverflow.com/questions/6156501/read-a-file-one-line-at-a-time-in-node-js
45
- const fileStream = fs_1.createReadStream(filename)
46
- const rl = readline_1.createInterface({
47
- input: fileStream,
48
- crlfDelay: Infinity
49
- })
50
- // Note: we use the crlfDelay option to recognize all instances of CR LF
51
- // ('\r\n') in input.txt as a single line break.
52
- for await (const line of rl) {
53
- if (line) {
54
- const { event, data } = JSON.parse(line)
55
- ev.emit(event, data)
56
- delayIntervalMs && await generics_1.delay(delayIntervalMs)
57
- }
58
- }
59
- fileStream.close()
60
- }
61
- return {
62
- ev,
63
- task: fireEvents()
64
- }
65
- }
66
-
67
- module.exports = {
68
- captureEventStream,
69
- readAndEmitEventStream
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const Events = require("events")
6
+ const {
7
+ promises,
8
+ createReadStream
9
+ } = require("fs")
10
+ const { writeFile } = require("fs/promises")
11
+ const { createInterface } = require("readline")
12
+ const { delay } = require("./generics")
13
+ const { makeMutex } = require("./make-mutex")
14
+
15
+ /**
16
+ * Captures events from a baileys event emitter & stores them in a file
17
+ * @param ev The event emitter to read events from
18
+ * @param filename File to save to
19
+ */
20
+ const captureEventStream = (ev, filename) => {
21
+ const oldEmit = ev.emit
22
+ // write mutex so data is appended in order
23
+ const writeMutex = makeMutex()
24
+ // monkey patch eventemitter to capture all events
25
+ ev.emit = function (...args) {
26
+ const content = JSON.stringify({ timestamp: Date.now(), event: args[0], data: args[1] }) + '\n'
27
+ const result = oldEmit.apply(ev, args)
28
+ writeMutex.mutex(async () => {
29
+ await promises.writeFile(filename, content, { flag: 'a' })
30
+ })
31
+ return result
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Read event file and emit events from there
37
+ * @param filename filename containing event data
38
+ * @param delayIntervalMs delay between each event emit
39
+ */
40
+ const readAndEmitEventStream = (filename, delayIntervalMs = 0) => {
41
+ const ev = new Events()
42
+ const fireEvents = async () => {
43
+ // from: https://stackoverflow.com/questions/6156501/read-a-file-one-line-at-a-time-in-node-js
44
+ const fileStream = createReadStream(filename)
45
+ const rl = createInterface({
46
+ input: fileStream,
47
+ crlfDelay: Infinity
48
+ })
49
+ // Note: we use the crlfDelay option to recognize all instances of CR LF
50
+ // ('\r\n') in input.txt as a single line break.
51
+ for await (const line of rl) {
52
+ if (line) {
53
+ const { event, data } = JSON.parse(line)
54
+ ev.emit(event, data)
55
+ delayIntervalMs && await delay(delayIntervalMs)
56
+ }
57
+ }
58
+ fileStream.close()
59
+ }
60
+ return {
61
+ ev,
62
+ task: fireEvents()
63
+ }
64
+ }
65
+
66
+ module.exports = {
67
+ captureEventStream,
68
+ readAndEmitEventStream
70
69
  }