@neelegirl/baileys 1.5.2 → 1.5.3

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 (193) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +195 -187
  3. package/WAProto/WAProto.proto +537 -236
  4. package/WAProto/index.d.ts +5971 -2388
  5. package/WAProto/index.js +17298 -6513
  6. package/lib/Defaults/baileys-version.json +3 -3
  7. package/lib/Defaults/index.d.ts +77 -67
  8. package/lib/Defaults/index.js +148 -136
  9. package/lib/Defaults/phonenumber-mcc.json +223 -223
  10. package/lib/Signal/WASignalGroup/GroupProtocol.js +1908 -1908
  11. package/lib/Signal/WASignalGroup/ciphertext-message.d.ts +9 -0
  12. package/lib/Signal/WASignalGroup/ciphertext-message.js +19 -0
  13. package/lib/Signal/WASignalGroup/ciphertext_message.js +15 -15
  14. package/lib/Signal/WASignalGroup/group-session-builder.d.ts +17 -0
  15. package/lib/Signal/WASignalGroup/group-session-builder.js +72 -0
  16. package/lib/Signal/WASignalGroup/group.proto +41 -41
  17. package/lib/Signal/WASignalGroup/group_cipher.d.ts +19 -0
  18. package/lib/Signal/WASignalGroup/group_cipher.js +101 -110
  19. package/lib/Signal/WASignalGroup/group_session_builder.js +45 -45
  20. package/lib/Signal/WASignalGroup/index.d.ts +11 -0
  21. package/lib/Signal/WASignalGroup/index.js +61 -6
  22. package/lib/Signal/WASignalGroup/keyhelper.d.ts +16 -0
  23. package/lib/Signal/WASignalGroup/keyhelper.js +58 -13
  24. package/lib/Signal/WASignalGroup/protobufs.js +2 -2
  25. package/lib/Signal/WASignalGroup/queue_job.js +68 -68
  26. package/lib/Signal/WASignalGroup/readme.md +5 -5
  27. package/lib/Signal/WASignalGroup/sender-chain-key.d.ts +14 -0
  28. package/lib/Signal/WASignalGroup/sender-chain-key.js +47 -0
  29. package/lib/Signal/WASignalGroup/sender-key-distribution-message.d.ts +17 -0
  30. package/lib/Signal/WASignalGroup/sender-key-distribution-message.js +71 -0
  31. package/lib/Signal/WASignalGroup/sender-key-message.d.ts +19 -0
  32. package/lib/Signal/WASignalGroup/sender-key-message.js +73 -0
  33. package/lib/Signal/WASignalGroup/sender-key-name.d.ts +19 -0
  34. package/lib/Signal/WASignalGroup/sender-key-name.js +59 -0
  35. package/lib/Signal/WASignalGroup/sender-key-record.d.ts +32 -0
  36. package/lib/Signal/WASignalGroup/sender-key-record.js +58 -0
  37. package/lib/Signal/WASignalGroup/sender-key-state.d.ts +44 -0
  38. package/lib/Signal/WASignalGroup/sender-key-state.js +147 -0
  39. package/lib/Signal/WASignalGroup/sender-message-key.d.ts +11 -0
  40. package/lib/Signal/WASignalGroup/sender-message-key.js +33 -0
  41. package/lib/Signal/WASignalGroup/sender_chain_key.js +49 -49
  42. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +77 -77
  43. package/lib/Signal/WASignalGroup/sender_key_message.js +91 -91
  44. package/lib/Signal/WASignalGroup/sender_key_name.js +69 -69
  45. package/lib/Signal/WASignalGroup/sender_key_record.js +55 -55
  46. package/lib/Signal/WASignalGroup/sender_key_state.js +128 -128
  47. package/lib/Signal/WASignalGroup/sender_message_key.js +38 -38
  48. package/lib/Signal/libsignal.d.ts +5 -1
  49. package/lib/Signal/libsignal.js +390 -161
  50. package/lib/Signal/lid-mapping.d.ts +28 -0
  51. package/lib/Signal/lid-mapping.js +184 -0
  52. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -15
  53. package/lib/Socket/Client/abstract-socket-client.js +13 -13
  54. package/lib/Socket/Client/index.d.ts +2 -2
  55. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -12
  56. package/lib/Socket/Client/mobile-socket-client.js +65 -65
  57. package/lib/Socket/Client/types.d.ts +1 -1
  58. package/lib/Socket/Client/websocket.d.ts +1 -1
  59. package/lib/Socket/business.d.ts +6 -6
  60. package/lib/Socket/business.js +152 -5
  61. package/lib/Socket/chats.d.ts +3 -4
  62. package/lib/Socket/chats.js +31 -26
  63. package/lib/Socket/communities.d.ts +223 -223
  64. package/lib/Socket/communities.js +432 -432
  65. package/lib/Socket/groups.d.ts +2 -4
  66. package/lib/Socket/groups.js +22 -14
  67. package/lib/Socket/index.d.ts +69 -69
  68. package/lib/Socket/index.js +3 -2
  69. package/lib/Socket/messages-recv.d.ts +3 -6
  70. package/lib/Socket/messages-recv.js +1449 -1707
  71. package/lib/Socket/messages-send.d.ts +2 -4
  72. package/lib/Socket/messages-send.js +617 -126
  73. package/lib/Socket/mex.d.ts +2 -2
  74. package/lib/Socket/mex.js +46 -46
  75. package/lib/Socket/newsletter.d.ts +2 -4
  76. package/lib/Socket/newsletter.js +294 -285
  77. package/lib/Socket/socket.js +318 -132
  78. package/lib/Socket/usync.js +3 -3
  79. package/lib/Store/index.d.ts +4 -4
  80. package/lib/Store/index.js +23 -23
  81. package/lib/Store/make-cache-manager-store.d.ts +13 -13
  82. package/lib/Store/make-cache-manager-store.js +89 -89
  83. package/lib/Store/make-in-memory-store.d.ts +122 -122
  84. package/lib/Store/make-in-memory-store.js +428 -428
  85. package/lib/Store/make-ordered-dictionary.d.ts +11 -11
  86. package/lib/Store/make-ordered-dictionary.js +85 -85
  87. package/lib/Store/object-repository.d.ts +9 -9
  88. package/lib/Store/object-repository.js +30 -30
  89. package/lib/Types/Auth.d.ts +5 -4
  90. package/lib/Types/Bussines.js +3 -0
  91. package/lib/Types/Bussiness.d.ts +28 -0
  92. package/lib/Types/Chat.d.ts +13 -8
  93. package/lib/Types/Contact.d.ts +4 -1
  94. package/lib/Types/Events.d.ts +13 -16
  95. package/lib/Types/GroupMetadata.d.ts +1 -1
  96. package/lib/Types/Message.d.ts +18 -7
  97. package/lib/Types/Message.js +7 -1
  98. package/lib/Types/MexUpdates.d.ts +8 -8
  99. package/lib/Types/MexUpdates.js +17 -17
  100. package/lib/Types/Newsletter.d.ts +1 -1
  101. package/lib/Types/Product.d.ts +1 -1
  102. package/lib/Types/Signal.d.ts +31 -1
  103. package/lib/Types/Socket.d.ts +34 -13
  104. package/lib/Types/State.d.ts +1 -1
  105. package/lib/Types/USync.d.ts +2 -2
  106. package/lib/Types/index.d.ts +16 -15
  107. package/lib/Types/index.js +4 -2
  108. package/lib/Utils/auth-utils.d.ts +20 -20
  109. package/lib/Utils/auth-utils.js +527 -204
  110. package/lib/Utils/baileys-event-stream.d.ts +17 -17
  111. package/lib/Utils/baileys-event-stream.js +69 -69
  112. package/lib/Utils/business.d.ts +28 -28
  113. package/lib/Utils/business.js +254 -254
  114. package/lib/Utils/chat-utils.d.ts +81 -81
  115. package/lib/Utils/chat-utils.js +808 -780
  116. package/lib/Utils/crypto.d.ts +55 -55
  117. package/lib/Utils/crypto.js +188 -178
  118. package/lib/Utils/decode-wa-message.d.ts +52 -40
  119. package/lib/Utils/decode-wa-message.js +322 -252
  120. package/lib/Utils/event-buffer.d.ts +38 -38
  121. package/lib/Utils/event-buffer.js +594 -564
  122. package/lib/Utils/generics.d.ts +131 -129
  123. package/lib/Utils/generics.js +629 -623
  124. package/lib/Utils/history.d.ts +22 -22
  125. package/lib/Utils/history.js +103 -109
  126. package/lib/Utils/index.d.ts +20 -19
  127. package/lib/Utils/index.js +39 -38
  128. package/lib/Utils/link-preview.d.ts +22 -22
  129. package/lib/Utils/link-preview.js +119 -119
  130. package/lib/Utils/logger.d.ts +13 -13
  131. package/lib/Utils/logger.js +7 -7
  132. package/lib/Utils/lt-hash.d.ts +13 -13
  133. package/lib/Utils/lt-hash.js +57 -57
  134. package/lib/Utils/make-mutex.d.ts +8 -8
  135. package/lib/Utils/make-mutex.js +48 -48
  136. package/lib/Utils/message-retry-manager.d.ts +88 -0
  137. package/lib/Utils/message-retry-manager.js +160 -0
  138. package/lib/Utils/messages-media.d.ts +134 -128
  139. package/lib/Utils/messages-media.js +868 -805
  140. package/lib/Utils/messages.d.ts +104 -102
  141. package/lib/Utils/messages.js +1744 -1578
  142. package/lib/Utils/noise-handler.d.ts +20 -19
  143. package/lib/Utils/noise-handler.js +164 -154
  144. package/lib/Utils/process-message.d.ts +48 -48
  145. package/lib/Utils/process-message.js +427 -428
  146. package/lib/Utils/signal.d.ts +41 -41
  147. package/lib/Utils/signal.js +165 -165
  148. package/lib/Utils/use-mongo-file-auth-state.d.ts +5 -5
  149. package/lib/Utils/use-mongo-file-auth-state.js +83 -83
  150. package/lib/Utils/use-multi-file-auth-state.d.ts +17 -17
  151. package/lib/Utils/use-multi-file-auth-state.js +237 -237
  152. package/lib/Utils/use-single-file-auth-state.d.ts +12 -12
  153. package/lib/Utils/use-single-file-auth-state.js +79 -79
  154. package/lib/Utils/validate-connection.d.ts +12 -12
  155. package/lib/Utils/validate-connection.js +219 -186
  156. package/lib/WABinary/constants.d.ts +29 -29
  157. package/lib/WABinary/constants.js +1315 -1315
  158. package/lib/WABinary/decode.d.ts +8 -8
  159. package/lib/WABinary/decode.js +287 -287
  160. package/lib/WABinary/encode.d.ts +2 -2
  161. package/lib/WABinary/encode.js +264 -264
  162. package/lib/WABinary/generic-utils.d.ts +27 -27
  163. package/lib/WABinary/generic-utils.js +141 -141
  164. package/lib/WABinary/index.d.ts +5 -5
  165. package/lib/WABinary/index.js +24 -24
  166. package/lib/WABinary/jid-utils.d.ts +58 -53
  167. package/lib/WABinary/jid-utils.js +103 -91
  168. package/lib/WABinary/types.d.ts +21 -21
  169. package/lib/WABinary/types.js +2 -2
  170. package/lib/WAM/BinaryInfo.d.ts +15 -15
  171. package/lib/WAM/BinaryInfo.js +16 -16
  172. package/lib/WAM/constants.d.ts +46 -46
  173. package/lib/WAM/constants.js +15370 -15370
  174. package/lib/WAM/encode.d.ts +2 -2
  175. package/lib/WAM/encode.js +163 -164
  176. package/lib/WAM/index.d.ts +3 -3
  177. package/lib/WAM/index.js +22 -22
  178. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +27 -27
  179. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +68 -68
  180. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -3
  181. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -2
  182. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -2
  183. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -8
  184. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +37 -29
  185. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -2
  186. package/lib/WAUSync/Protocols/index.d.ts +6 -6
  187. package/lib/WAUSync/USyncQuery.d.ts +3 -3
  188. package/lib/WAUSync/index.d.ts +3 -3
  189. package/lib/index.d.ts +13 -13
  190. package/lib/index.js +33 -33
  191. package/package.json +96 -94
  192. package/lib/Socket/registration.d.ts +0 -266
  193. package/lib/Socket/registration.js +0 -166
@@ -0,0 +1,184 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const lru_cache_1 = require("lru-cache")
6
+ const WABinary_1 = require("../WABinary")
7
+
8
+ class LIDMappingStore {
9
+ constructor(keys, onWhatsAppFunc, logger) {
10
+ this.mappingCache = new lru_cache_1.LRUCache({
11
+ ttl: 7 * 24 * 60 * 60 * 1000, // 7 days
12
+ ttlAutopurge: true,
13
+ updateAgeOnGet: true
14
+ })
15
+ this.keys = keys
16
+ this.logger = logger
17
+ this.onWhatsAppFunc = onWhatsAppFunc // needed to get LID from PN if not found
18
+ }
19
+ /**
20
+ * Store LID-PN mapping - USER LEVEL
21
+ */
22
+ async storeLIDPNMappings(pairs) {
23
+ // Validate inputs
24
+ const pairMap = {}
25
+ const logger = this.logger
26
+
27
+ for (const { lid, pn } of pairs) {
28
+ if (!((WABinary_1.isLidUser(lid) && WABinary_1.isJidUser(pn)) || (WABinary_1.isJidUser(lid) && WABinary_1.isLidUser(pn)))) {
29
+ logger.warn(`Invalid LID-PN mapping: ${lid}, ${pn}`)
30
+ continue
31
+ }
32
+
33
+ const [lidJid, pnJid] = WABinary_1.isLidUser(lid) ? [lid, pn] : [pn, lid]
34
+ const lidDecoded = WABinary_1.jidDecode(lidJid)
35
+ const pnDecoded = WABinary_1.jidDecode(pnJid)
36
+
37
+ if (!lidDecoded || !pnDecoded) return
38
+
39
+ const pnUser = pnDecoded.user
40
+ const lidUser = lidDecoded.user
41
+
42
+ // Check if mapping already exists (cache first, then database)
43
+ let existingLidUser = this.mappingCache.get(`pn:${pnUser}`)
44
+
45
+ if (!existingLidUser) {
46
+ // Cache miss - check database
47
+ const stored = await this.keys.get('lid-mapping', [pnUser])
48
+
49
+ existingLidUser = stored[pnUser]
50
+
51
+ if (existingLidUser) {
52
+ // Update cache with database value
53
+ this.mappingCache.set(`pn:${pnUser}`, existingLidUser)
54
+ this.mappingCache.set(`lid:${existingLidUser}`, pnUser)
55
+ }
56
+ }
57
+
58
+ if (existingLidUser === lidUser) {
59
+ logger.debug({ pnUser, lidUser }, 'LID mapping already exists, skipping')
60
+ continue
61
+ }
62
+
63
+ pairMap[pnUser] = lidUser
64
+ }
65
+
66
+ logger.trace({ pairMap }, `Storing ${Object.keys(pairMap).length} pn mappings`)
67
+
68
+ await this.keys.transaction(async () => {
69
+ for (const [pnUser, lidUser] of Object.entries(pairMap)) {
70
+ await this.keys.set({
71
+ 'lid-mapping': {
72
+ [pnUser]: lidUser, // "554396160286" -> "102765716062358"
73
+ [`${lidUser}_reverse`]: pnUser // "102765716062358_reverse" -> "554396160286"
74
+ }
75
+ })
76
+
77
+ // Update cache with both directions
78
+ this.mappingCache.set(`pn:${pnUser}`, lidUser)
79
+ this.mappingCache.set(`lid:${lidUser}`, pnUser)
80
+ }
81
+ }, 'lid-mapping')
82
+ }
83
+ /**
84
+ * Get LID for PN - Returns device-specific LID based on user mapping
85
+ */
86
+ async getLIDForPN(pn) {
87
+ if (!WABinary_1.isJidUser(pn)) return null
88
+
89
+ const logger = this.logger
90
+ const decoded = WABinary_1.jidDecode(pn)
91
+
92
+ if (!decoded) return null
93
+
94
+ // Check cache first for PN → LID mapping
95
+ const pnUser = decoded.user
96
+
97
+ let lidUser = this.mappingCache.get(`pn:${pnUser}`)
98
+
99
+ if (!lidUser) {
100
+ // Cache miss - check database
101
+ const stored = await this.keys.get('lid-mapping', [pnUser])
102
+
103
+ lidUser = stored[pnUser]
104
+
105
+ if (lidUser) {
106
+ // Cache the database result
107
+ this.mappingCache.set(`pn:${pnUser}`, lidUser)
108
+ }
109
+
110
+ else {
111
+ // Not in database - try USync
112
+ logger.trace(`No LID mapping found for PN user ${pnUser}; getting from USync`)
113
+
114
+ const { exists, lid } = (await this.onWhatsAppFunc?.(pn))?.[0] // this function already adds LIDs to mapping
115
+
116
+ if (exists && lid) {
117
+ lidUser = WABinary_1.jidDecode(lid)?.user
118
+
119
+ if (lidUser) {
120
+ // Cache the USync result
121
+ this.mappingCache.set(`pn:${pnUser}`, lidUser)
122
+ }
123
+ }
124
+
125
+ else {
126
+ return null
127
+ }
128
+ }
129
+ }
130
+
131
+ if (typeof lidUser !== 'string' || !lidUser) {
132
+ logger.warn(`Invalid or empty LID user for PN ${pn}: lidUser = "${lidUser}"`)
133
+ return null
134
+ }
135
+
136
+ // Push the PN device ID to the LID to maintain device separation
137
+ const pnDevice = decoded.device !== undefined ? decoded.device : 0
138
+ const deviceSpecificLid = `${lidUser}:${pnDevice}@lid`
139
+
140
+ logger.trace(`getLIDForPN: ${pn} → ${deviceSpecificLid} (user mapping with device ${pnDevice})`)
141
+
142
+ return deviceSpecificLid
143
+ }
144
+ /**
145
+ * Get PN for LID - USER LEVEL with device construction
146
+ */
147
+ async getPNForLID(lid) {
148
+ if (!WABinary_1.isLidUser(lid)) return null
149
+
150
+ const logger = this.logger
151
+ const decoded = WABinary_1.jidDecode(lid)
152
+
153
+ if (!decoded) return null
154
+
155
+ // Check cache first for LID → PN mapping
156
+ const lidUser = decoded.user
157
+
158
+ let pnUser = this.mappingCache.get(`lid:${lidUser}`)
159
+
160
+ if (!pnUser || typeof pnUser !== 'string') {
161
+ // Cache miss - check database
162
+ const stored = await this.keys.get('lid-mapping', [`${lidUser}_reverse`]);
163
+ pnUser = stored[`${lidUser}_reverse`]
164
+
165
+ if (!pnUser || typeof pnUser !== 'string') {
166
+ logger.trace(`No reverse mapping found for LID user: ${lidUser}`)
167
+ return null
168
+ }
169
+
170
+ this.mappingCache.set(`lid:${lidUser}`, pnUser)
171
+ }
172
+
173
+ // Construct device-specific PN JID
174
+ const lidDevice = decoded.device !== undefined ? decoded.device : 0
175
+ const pnJid = `${pnUser}:${lidDevice}@s.whatsapp.net`
176
+ logger.trace(`Found reverse mapping: ${lid} → ${pnJid}`)
177
+
178
+ return pnJid
179
+ }
180
+ }
181
+
182
+ module.exports = {
183
+ LIDMappingStore
184
+ }
@@ -1,15 +1,15 @@
1
- import { EventEmitter } from 'events';
2
- import { URL } from 'url';
3
- import { SocketConfig } from '../../Types';
4
- export declare abstract class AbstractSocketClient extends EventEmitter {
5
- url: URL;
6
- config: SocketConfig;
7
- abstract get isOpen(): boolean;
8
- abstract get isClosed(): boolean;
9
- abstract get isClosing(): boolean;
10
- abstract get isConnecting(): boolean;
11
- constructor(url: URL, config: SocketConfig);
12
- abstract connect(): Promise<void>;
13
- abstract close(): Promise<void>;
14
- abstract send(str: Uint8Array | string, cb?: (err?: Error) => void): boolean;
15
- }
1
+ import { EventEmitter } from 'events';
2
+ import { URL } from 'url';
3
+ import { SocketConfig } from '../../Types';
4
+ export declare abstract class AbstractSocketClient extends EventEmitter {
5
+ url: URL;
6
+ config: SocketConfig;
7
+ abstract get isOpen(): boolean;
8
+ abstract get isClosed(): boolean;
9
+ abstract get isClosing(): boolean;
10
+ abstract get isConnecting(): boolean;
11
+ constructor(url: URL, config: SocketConfig);
12
+ abstract connect(): Promise<void>;
13
+ abstract close(): Promise<void>;
14
+ abstract send(str: Uint8Array | string, cb?: (err?: Error) => void): boolean;
15
+ }
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractSocketClient = void 0;
4
- const events_1 = require("events");
5
- class AbstractSocketClient extends events_1.EventEmitter {
6
- constructor(url, config) {
7
- super();
8
- this.url = url;
9
- this.config = config;
10
- this.setMaxListeners(0);
11
- }
12
- }
13
- exports.AbstractSocketClient = AbstractSocketClient;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractSocketClient = void 0;
4
+ const events_1 = require("events");
5
+ class AbstractSocketClient extends events_1.EventEmitter {
6
+ constructor(url, config) {
7
+ super();
8
+ this.url = url;
9
+ this.config = config;
10
+ this.setMaxListeners(0);
11
+ }
12
+ }
13
+ exports.AbstractSocketClient = AbstractSocketClient;
@@ -1,2 +1,2 @@
1
- export * from './types'
2
- export * from './websocket'
1
+ export * from '@neelegirl/baileys/lib/Socket/Client/types'
2
+ export * from '@neelegirl/baileys/lib/Socket/Client/websocket'
@@ -1,12 +1,12 @@
1
- import { Socket } from 'net';
2
- import { AbstractSocketClient } from './abstract-socket-client';
3
- export declare class MobileSocketClient extends AbstractSocketClient {
4
- protected socket: Socket | null;
5
- get isOpen(): boolean;
6
- get isClosed(): boolean;
7
- get isClosing(): boolean;
8
- get isConnecting(): boolean;
9
- connect(): Promise<void>;
10
- close(): Promise<void>;
11
- send(str: string | Uint8Array, cb?: (err?: Error) => void): boolean;
12
- }
1
+ import { Socket } from 'net';
2
+ import { AbstractSocketClient } from './abstract-socket-client';
3
+ export declare class MobileSocketClient extends AbstractSocketClient {
4
+ protected socket: Socket | null;
5
+ get isOpen(): boolean;
6
+ get isClosed(): boolean;
7
+ get isClosing(): boolean;
8
+ get isConnecting(): boolean;
9
+ connect(): Promise<void>;
10
+ close(): Promise<void>;
11
+ send(str: string | Uint8Array, cb?: (err?: Error) => void): boolean;
12
+ }
@@ -1,65 +1,65 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MobileSocketClient = void 0;
4
- const net_1 = require("net");
5
- const abstract_socket_client_1 = require("./abstract-socket-client");
6
- class MobileSocketClient extends abstract_socket_client_1.AbstractSocketClient {
7
- constructor() {
8
- super(...arguments);
9
- this.socket = null;
10
- }
11
- get isOpen() {
12
- var _a;
13
- return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'open';
14
- }
15
- get isClosed() {
16
- var _a;
17
- return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
18
- }
19
- get isClosing() {
20
- var _a;
21
- return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
22
- }
23
- get isConnecting() {
24
- var _a;
25
- return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'opening';
26
- }
27
- async connect() {
28
- var _a;
29
- if (this.socket) {
30
- return;
31
- }
32
- if (this.config.agent) {
33
- throw new Error('There are not support for proxy agent for mobile connection');
34
- }
35
- else {
36
- this.socket = (0, net_1.connect)({
37
- host: this.url.hostname,
38
- port: Number(this.url.port) || 443
39
- });
40
- }
41
- this.socket.setMaxListeners(0);
42
- const events = ['close', 'connect', 'data', 'drain', 'end', 'error', 'lookup', 'ready', 'timeout'];
43
- for (const event of events) {
44
- (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on(event, (...args) => this.emit(event, ...args));
45
- }
46
- this.socket.on('data', (...args) => this.emit('message', ...args));
47
- this.socket.on('ready', (...args) => this.emit('open', ...args));
48
- }
49
- async close() {
50
- if (!this.socket) {
51
- return;
52
- }
53
- return new Promise(resolve => {
54
- this.socket.end(resolve);
55
- this.socket = null;
56
- });
57
- }
58
- send(str, cb) {
59
- if (this.socket === null) {
60
- return false;
61
- }
62
- return this.socket.write(str, undefined, cb);
63
- }
64
- }
65
- exports.MobileSocketClient = MobileSocketClient;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileSocketClient = void 0;
4
+ const net_1 = require("net");
5
+ const abstract_socket_client_1 = require("./abstract-socket-client");
6
+ class MobileSocketClient extends abstract_socket_client_1.AbstractSocketClient {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.socket = null;
10
+ }
11
+ get isOpen() {
12
+ var _a;
13
+ return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'open';
14
+ }
15
+ get isClosed() {
16
+ var _a;
17
+ return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
18
+ }
19
+ get isClosing() {
20
+ var _a;
21
+ return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
22
+ }
23
+ get isConnecting() {
24
+ var _a;
25
+ return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'opening';
26
+ }
27
+ async connect() {
28
+ var _a;
29
+ if (this.socket) {
30
+ return;
31
+ }
32
+ if (this.config.agent) {
33
+ throw new Error('There are not support for proxy agent for mobile connection');
34
+ }
35
+ else {
36
+ this.socket = (0, net_1.connect)({
37
+ host: this.url.hostname,
38
+ port: Number(this.url.port) || 443
39
+ });
40
+ }
41
+ this.socket.setMaxListeners(0);
42
+ const events = ['close', 'connect', 'data', 'drain', 'end', 'error', 'lookup', 'ready', 'timeout'];
43
+ for (const event of events) {
44
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on(event, (...args) => this.emit(event, ...args));
45
+ }
46
+ this.socket.on('data', (...args) => this.emit('message', ...args));
47
+ this.socket.on('ready', (...args) => this.emit('open', ...args));
48
+ }
49
+ async close() {
50
+ if (!this.socket) {
51
+ return;
52
+ }
53
+ return new Promise(resolve => {
54
+ this.socket.end(resolve);
55
+ this.socket = null;
56
+ });
57
+ }
58
+ send(str, cb) {
59
+ if (this.socket === null) {
60
+ return false;
61
+ }
62
+ return this.socket.write(str, undefined, cb);
63
+ }
64
+ }
65
+ exports.MobileSocketClient = MobileSocketClient;
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'events'
2
2
  import { URL } from 'url'
3
- import { SocketConfig } from '../../Types'
3
+ import { SocketConfig } from '@neelegirl/baileys/lib/Types'
4
4
 
5
5
  export declare abstract class AbstractSocketClient extends EventEmitter {
6
6
  url: URL
@@ -1,5 +1,5 @@
1
1
  import WebSocket from 'ws'
2
- import { AbstractSocketClient } from './types'
2
+ import { AbstractSocketClient } from '@neelegirl/baileys/lib/Socket/Client/types'
3
3
 
4
4
  export declare class WebSocketClient extends AbstractSocketClient {
5
5
  protected socket: WebSocket | null
@@ -1,4 +1,4 @@
1
- import { GetCatalogOptions, ProductCreate, ProductUpdate, SocketConfig } from '../Types'
1
+ import { GetCatalogOptions, ProductCreate, ProductUpdate, SocketConfig, UpdateBussinesProfileProps } from '../Types'
2
2
  import { BinaryNode } from '../WABinary'
3
3
 
4
4
  export declare const makeBusinessSocket: (config: SocketConfig) => {
@@ -16,13 +16,15 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
16
16
  deleted: number
17
17
  }>
18
18
  productUpdate: (productId: string, update: ProductUpdate) => Promise<import("../Types").Product>
19
+ updateBussinesProfile: (args: UpdateBussinesProfileProps) => Promise<any>
20
+ updateCoverPhoto: (photo: import("../Types").WAMediaUpload) => Promise<number>
21
+ removeCoverPhoto: (id: string) => Promise<any>
19
22
  sendMessageAck: ({ tag, attrs, content }: BinaryNode, errorCode?: number | undefined) => Promise<void>
20
23
  sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>
21
24
  offerCall: (toJid: string, isVideo?: boolean) => Promise<{
22
25
  id: any
23
26
  to: string
24
27
  }>
25
- nodelogger: (node: BinaryNode) => Promise<void>
26
28
  rejectCall: (callId: string, callFrom: string) => Promise<void>
27
29
  fetchMessageHistory: (count: number, oldestMsgKey: import("../Types").WAProto.IMessageKey, oldestMsgTimestamp: number | import("long").Long) => Promise<string>
28
30
  requestPlaceholderResend: (messageKey: import("../Types").WAProto.IMessageKey) => Promise<string | undefined>
@@ -119,10 +121,6 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
119
121
  lid: string
120
122
  id: string
121
123
  }[] | undefined>
122
- onWhatsApp: (...jids: string[]) => Promise<{
123
- jid: string
124
- exists: unknown
125
- }[] | undefined>
126
124
  fetchBlocklist: () => Promise<string[]>
127
125
  fetchStatus: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>
128
126
  fetchDisappearingDuration: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>
@@ -154,6 +152,8 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
154
152
  id: string
155
153
  fromMe?: boolean | undefined
156
154
  }[], star: boolean) => Promise<void>
155
+ addOrEditQuickReply: (quickReply: import("../Types/Bussines").QuickReplyAction) => Promise<void>
156
+ removeQuickReply: (timestamp: string) => Promise<void>
157
157
  executeUSyncQuery: (usyncQuery: import("..").USyncQuery) => Promise<import("..").USyncQueryResult | undefined>
158
158
  type: "md"
159
159
  ws: import("./Client").WebSocketClient