@alannxd/baileys 6.0.6 → 6.0.9

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 (220) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +341 -286
  3. package/WAProto/GenerateStatics.sh +3 -0
  4. package/WAProto/WAProto.proto +6902 -0
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +79257 -0
  7. package/WAProto/index.js +205861 -60565
  8. package/engine-requirements.js +1 -1
  9. package/lib/Defaults/index.js +119 -136
  10. package/lib/Signal/Group/ciphertext-message.js +2 -5
  11. package/lib/Signal/Group/group-session-builder.js +7 -41
  12. package/lib/Signal/Group/group_cipher.js +37 -51
  13. package/lib/Signal/Group/index.js +12 -57
  14. package/lib/Signal/Group/keyhelper.js +7 -44
  15. package/lib/Signal/Group/sender-chain-key.js +7 -15
  16. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  17. package/lib/Signal/Group/sender-key-message.js +9 -12
  18. package/lib/Signal/Group/sender-key-name.js +2 -5
  19. package/lib/Signal/Group/sender-key-record.js +9 -21
  20. package/lib/Signal/Group/sender-key-state.js +27 -42
  21. package/lib/Signal/Group/sender-message-key.js +4 -7
  22. package/lib/Signal/libsignal.js +347 -90
  23. package/lib/Signal/lid-mapping.js +277 -0
  24. package/lib/Socket/Client/index.js +3 -19
  25. package/lib/Socket/Client/types.js +11 -0
  26. package/lib/Socket/Client/websocket.js +54 -0
  27. package/lib/Socket/business.js +162 -43
  28. package/lib/Socket/chats.js +627 -427
  29. package/lib/Socket/communities.js +90 -80
  30. package/lib/Socket/groups.js +154 -161
  31. package/lib/Socket/index.js +11 -10
  32. package/lib/Socket/luxu.js +315 -469
  33. package/lib/Socket/messages-recv.js +1421 -615
  34. package/lib/Socket/messages-send.js +1150 -799
  35. package/lib/Socket/mex.js +42 -0
  36. package/lib/Socket/newsletter.js +152 -204
  37. package/lib/Socket/socket.js +544 -313
  38. package/lib/Store/index.js +10 -10
  39. package/lib/Store/keyed-db.js +108 -0
  40. package/lib/Store/make-cache-manager-store.js +43 -41
  41. package/lib/Store/make-in-memory-store.js +112 -341
  42. package/lib/Store/make-ordered-dictionary.js +14 -20
  43. package/lib/Store/object-repository.js +11 -6
  44. package/lib/Types/Auth.js +2 -2
  45. package/lib/Types/Bussines.js +2 -0
  46. package/lib/Types/Call.js +2 -2
  47. package/lib/Types/Chat.js +8 -4
  48. package/lib/Types/Contact.js +2 -2
  49. package/lib/Types/Events.js +2 -2
  50. package/lib/Types/GroupMetadata.js +2 -2
  51. package/lib/Types/Label.js +3 -5
  52. package/lib/Types/LabelAssociation.js +3 -5
  53. package/lib/Types/Message.js +11 -9
  54. package/lib/Types/Mex.js +37 -0
  55. package/lib/Types/Product.js +2 -2
  56. package/lib/Types/Signal.js +2 -2
  57. package/lib/Types/Socket.js +3 -2
  58. package/lib/Types/State.js +56 -2
  59. package/lib/Types/USync.js +2 -2
  60. package/lib/Types/index.js +15 -31
  61. package/lib/Utils/auth-utils.js +239 -143
  62. package/lib/Utils/browser-utils.js +48 -0
  63. package/lib/Utils/business.js +66 -69
  64. package/lib/Utils/chat-utils.js +396 -253
  65. package/lib/Utils/companion-reg-client-utils.js +35 -0
  66. package/lib/Utils/crypto.js +57 -90
  67. package/lib/Utils/decode-wa-message.js +236 -84
  68. package/lib/Utils/event-buffer.js +185 -77
  69. package/lib/Utils/generics.js +189 -209
  70. package/lib/Utils/history.js +93 -55
  71. package/lib/Utils/identity-change-handler.js +50 -0
  72. package/lib/Utils/index.js +23 -33
  73. package/lib/Utils/link-preview.js +16 -24
  74. package/lib/Utils/logger.js +3 -7
  75. package/lib/Utils/lt-hash.js +3 -46
  76. package/lib/Utils/make-mutex.js +24 -34
  77. package/lib/Utils/message-composer.js +273 -0
  78. package/lib/Utils/message-retry-manager.js +265 -0
  79. package/lib/Utils/messages-media.js +451 -482
  80. package/lib/Utils/messages.js +795 -369
  81. package/lib/Utils/noise-handler.js +145 -99
  82. package/lib/Utils/offline-node-processor.js +40 -0
  83. package/lib/Utils/pre-key-manager.js +106 -0
  84. package/lib/Utils/process-message.js +459 -150
  85. package/lib/Utils/reporting-utils.js +258 -0
  86. package/lib/Utils/signal.js +120 -72
  87. package/lib/Utils/stanza-ack.js +38 -0
  88. package/lib/Utils/sync-action-utils.js +49 -0
  89. package/lib/Utils/tc-token-utils.js +163 -0
  90. package/lib/Utils/use-multi-file-auth-state.js +29 -27
  91. package/lib/Utils/validate-connection.js +73 -99
  92. package/lib/WABinary/constants.js +1281 -20
  93. package/lib/WABinary/decode.js +52 -42
  94. package/lib/WABinary/encode.js +110 -155
  95. package/lib/WABinary/generic-utils.js +55 -49
  96. package/lib/WABinary/index.js +6 -21
  97. package/lib/WABinary/jid-utils.js +76 -40
  98. package/lib/WABinary/types.js +2 -2
  99. package/lib/WAM/BinaryInfo.js +2 -5
  100. package/lib/WAM/constants.js +19071 -11568
  101. package/lib/WAM/encode.js +17 -22
  102. package/lib/WAM/index.js +4 -19
  103. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  104. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  105. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +9 -12
  106. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  107. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  108. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  109. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  110. package/lib/WAUSync/Protocols/index.js +6 -20
  111. package/lib/WAUSync/USyncQuery.js +44 -35
  112. package/lib/WAUSync/USyncUser.js +10 -5
  113. package/lib/WAUSync/index.js +4 -19
  114. package/lib/index.js +13 -36
  115. package/package.json +85 -51
  116. package/WAProto/fix-import.js +0 -29
  117. package/lib/Defaults/baileys-version.json +0 -3
  118. package/lib/Defaults/index.d.ts +0 -53
  119. package/lib/Defaults/phonenumber-mcc.json +0 -223
  120. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  121. package/lib/Signal/Group/group-session-builder.d.ts +0 -14
  122. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  123. package/lib/Signal/Group/index.d.ts +0 -11
  124. package/lib/Signal/Group/keyhelper.d.ts +0 -10
  125. package/lib/Signal/Group/queue-job.d.ts +0 -1
  126. package/lib/Signal/Group/queue-job.js +0 -57
  127. package/lib/Signal/Group/sender-chain-key.d.ts +0 -13
  128. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -16
  129. package/lib/Signal/Group/sender-key-message.d.ts +0 -18
  130. package/lib/Signal/Group/sender-key-name.d.ts +0 -17
  131. package/lib/Signal/Group/sender-key-record.d.ts +0 -30
  132. package/lib/Signal/Group/sender-key-state.d.ts +0 -38
  133. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  134. package/lib/Signal/libsignal.d.ts +0 -3
  135. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -17
  136. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  137. package/lib/Socket/Client/index.d.ts +0 -3
  138. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  139. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  140. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  141. package/lib/Socket/Client/web-socket-client.js +0 -62
  142. package/lib/Socket/business.d.ts +0 -171
  143. package/lib/Socket/chats.d.ts +0 -267
  144. package/lib/Socket/communities.d.ts +0 -180
  145. package/lib/Socket/groups.d.ts +0 -115
  146. package/lib/Socket/index.d.ts +0 -173
  147. package/lib/Socket/luxu.d.ts +0 -266
  148. package/lib/Socket/messages-recv.d.ts +0 -161
  149. package/lib/Socket/messages-send.d.ts +0 -183
  150. package/lib/Socket/newsletter.d.ts +0 -134
  151. package/lib/Socket/registration.d.ts +0 -267
  152. package/lib/Socket/registration.js +0 -166
  153. package/lib/Socket/socket.d.ts +0 -44
  154. package/lib/Socket/usync.d.ts +0 -36
  155. package/lib/Socket/usync.js +0 -70
  156. package/lib/Store/index.d.ts +0 -3
  157. package/lib/Store/make-cache-manager-store.d.ts +0 -13
  158. package/lib/Store/make-in-memory-store.d.ts +0 -118
  159. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  160. package/lib/Store/object-repository.d.ts +0 -10
  161. package/lib/Types/Auth.d.ts +0 -110
  162. package/lib/Types/Call.d.ts +0 -13
  163. package/lib/Types/Chat.d.ts +0 -102
  164. package/lib/Types/Contact.d.ts +0 -19
  165. package/lib/Types/Events.d.ts +0 -157
  166. package/lib/Types/GroupMetadata.d.ts +0 -55
  167. package/lib/Types/Label.d.ts +0 -35
  168. package/lib/Types/LabelAssociation.d.ts +0 -29
  169. package/lib/Types/Message.d.ts +0 -273
  170. package/lib/Types/Newsletter.d.ts +0 -103
  171. package/lib/Types/Newsletter.js +0 -38
  172. package/lib/Types/Product.d.ts +0 -78
  173. package/lib/Types/Signal.d.ts +0 -57
  174. package/lib/Types/Socket.d.ts +0 -111
  175. package/lib/Types/State.d.ts +0 -27
  176. package/lib/Types/USync.d.ts +0 -25
  177. package/lib/Types/index.d.ts +0 -57
  178. package/lib/Utils/auth-utils.d.ts +0 -18
  179. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  180. package/lib/Utils/baileys-event-stream.js +0 -63
  181. package/lib/Utils/business.d.ts +0 -22
  182. package/lib/Utils/chat-utils.d.ts +0 -71
  183. package/lib/Utils/crypto.d.ts +0 -41
  184. package/lib/Utils/decode-wa-message.d.ts +0 -19
  185. package/lib/Utils/event-buffer.d.ts +0 -35
  186. package/lib/Utils/generics.d.ts +0 -92
  187. package/lib/Utils/history.d.ts +0 -15
  188. package/lib/Utils/index.d.ts +0 -17
  189. package/lib/Utils/link-preview.d.ts +0 -21
  190. package/lib/Utils/logger.d.ts +0 -4
  191. package/lib/Utils/lt-hash.d.ts +0 -12
  192. package/lib/Utils/make-mutex.d.ts +0 -7
  193. package/lib/Utils/messages-media.d.ts +0 -116
  194. package/lib/Utils/messages.d.ts +0 -77
  195. package/lib/Utils/noise-handler.d.ts +0 -21
  196. package/lib/Utils/process-message.d.ts +0 -41
  197. package/lib/Utils/signal.d.ts +0 -32
  198. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  199. package/lib/Utils/validate-connection.d.ts +0 -11
  200. package/lib/WABinary/constants.d.ts +0 -30
  201. package/lib/WABinary/decode.d.ts +0 -7
  202. package/lib/WABinary/encode.d.ts +0 -3
  203. package/lib/WABinary/generic-utils.d.ts +0 -17
  204. package/lib/WABinary/index.d.ts +0 -5
  205. package/lib/WABinary/jid-utils.d.ts +0 -31
  206. package/lib/WABinary/types.d.ts +0 -18
  207. package/lib/WAM/BinaryInfo.d.ts +0 -17
  208. package/lib/WAM/constants.d.ts +0 -38
  209. package/lib/WAM/encode.d.ts +0 -3
  210. package/lib/WAM/index.d.ts +0 -3
  211. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  212. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  213. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  214. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  215. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  216. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  217. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  218. package/lib/WAUSync/USyncQuery.d.ts +0 -28
  219. package/lib/WAUSync/USyncUser.d.ts +0 -12
  220. package/lib/index.d.ts +0 -12
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = queueJob;
4
- const _queueAsyncBuckets = new Map();
5
- const _gcLimit = 10000;
6
- async function _asyncQueueExecutor(queue, cleanup) {
7
- let offt = 0;
8
- // eslint-disable-next-line no-constant-condition
9
- while (true) {
10
- const limit = Math.min(queue.length, _gcLimit);
11
- for (let i = offt; i < limit; i++) {
12
- const job = queue[i];
13
- try {
14
- job.resolve(await job.awaitable());
15
- }
16
- catch (e) {
17
- job.reject(e);
18
- }
19
- }
20
- if (limit < queue.length) {
21
- if (limit >= _gcLimit) {
22
- queue.splice(0, limit);
23
- offt = 0;
24
- }
25
- else {
26
- offt = limit;
27
- }
28
- }
29
- else {
30
- break;
31
- }
32
- }
33
- cleanup();
34
- }
35
- function queueJob(bucket, awaitable) {
36
- // Skip name assignment since it's readonly in strict mode
37
- if (typeof bucket !== 'string') {
38
- console.warn('Unhandled bucket type (for naming):', typeof bucket, bucket);
39
- }
40
- let inactive = false;
41
- if (!_queueAsyncBuckets.has(bucket)) {
42
- _queueAsyncBuckets.set(bucket, []);
43
- inactive = true;
44
- }
45
- const queue = _queueAsyncBuckets.get(bucket);
46
- const job = new Promise((resolve, reject) => {
47
- queue.push({
48
- awaitable,
49
- resolve: resolve,
50
- reject
51
- });
52
- });
53
- if (inactive) {
54
- _asyncQueueExecutor(queue, () => _queueAsyncBuckets.delete(bucket));
55
- }
56
- return job;
57
- }
@@ -1,13 +0,0 @@
1
- import { SenderMessageKey } from './sender-message-key';
2
- export declare class SenderChainKey {
3
- private readonly MESSAGE_KEY_SEED;
4
- private readonly CHAIN_KEY_SEED;
5
- private readonly iteration;
6
- private readonly chainKey;
7
- constructor(iteration: number, chainKey: any);
8
- getIteration(): number;
9
- getSenderMessageKey(): SenderMessageKey;
10
- getNext(): SenderChainKey;
11
- getSeed(): Uint8Array;
12
- private getDerivative;
13
- }
@@ -1,16 +0,0 @@
1
- import { CiphertextMessage } from './ciphertext-message';
2
- export declare class SenderKeyDistributionMessage extends CiphertextMessage {
3
- private readonly id;
4
- private readonly iteration;
5
- private readonly chainKey;
6
- private readonly signatureKey;
7
- private readonly serialized;
8
- constructor(id?: number | null, iteration?: number | null, chainKey?: Uint8Array | null, signatureKey?: Uint8Array | null, serialized?: Uint8Array | null);
9
- private intsToByteHighAndLow;
10
- serialize(): Uint8Array;
11
- getType(): number;
12
- getIteration(): number;
13
- getChainKey(): Uint8Array;
14
- getSignatureKey(): Uint8Array;
15
- getId(): number;
16
- }
@@ -1,18 +0,0 @@
1
- import { CiphertextMessage } from './ciphertext-message';
2
- export declare class SenderKeyMessage extends CiphertextMessage {
3
- private readonly SIGNATURE_LENGTH;
4
- private readonly messageVersion;
5
- private readonly keyId;
6
- private readonly iteration;
7
- private readonly ciphertext;
8
- private readonly signature;
9
- private readonly serialized;
10
- constructor(keyId?: number | null, iteration?: number | null, ciphertext?: Uint8Array | null, signatureKey?: Uint8Array | null, serialized?: Uint8Array | null);
11
- getKeyId(): number;
12
- getIteration(): number;
13
- getCipherText(): Uint8Array;
14
- verifySignature(signatureKey: Uint8Array): void;
15
- private getSignature;
16
- serialize(): Uint8Array;
17
- getType(): number;
18
- }
@@ -1,17 +0,0 @@
1
- interface Sender {
2
- id: string;
3
- deviceId: number;
4
- toString(): string;
5
- }
6
- export declare class SenderKeyName {
7
- private readonly groupId;
8
- private readonly sender;
9
- constructor(groupId: string, sender: Sender);
10
- getGroupId(): string;
11
- getSender(): Sender;
12
- serialize(): string;
13
- toString(): string;
14
- equals(other: SenderKeyName | null): boolean;
15
- hashCode(): number;
16
- }
17
- export {};
@@ -1,30 +0,0 @@
1
- import { SenderKeyState } from './sender-key-state';
2
- export interface SenderKeyStateStructure {
3
- senderKeyId: number;
4
- senderChainKey: {
5
- iteration: number;
6
- seed: Uint8Array;
7
- };
8
- senderSigningKey: {
9
- public: Uint8Array;
10
- private?: Uint8Array;
11
- };
12
- senderMessageKeys: Array<{
13
- iteration: number;
14
- seed: Uint8Array;
15
- }>;
16
- }
17
- export declare class SenderKeyRecord {
18
- private readonly MAX_STATES;
19
- private readonly senderKeyStates;
20
- constructor(serialized?: SenderKeyStateStructure[]);
21
- isEmpty(): boolean;
22
- getSenderKeyState(keyId?: number): SenderKeyState | undefined;
23
- addSenderKeyState(id: number, iteration: number, chainKey: Uint8Array, signatureKey: Uint8Array): void;
24
- setSenderKeyState(id: number, iteration: number, chainKey: Uint8Array, keyPair: {
25
- public: Uint8Array;
26
- private: Uint8Array;
27
- }): void;
28
- serialize(): SenderKeyStateStructure[];
29
- static deserialize(data: Uint8Array | string | SenderKeyStateStructure[]): SenderKeyRecord;
30
- }
@@ -1,38 +0,0 @@
1
- import { SenderChainKey } from './sender-chain-key';
2
- import { SenderMessageKey } from './sender-message-key';
3
- interface SenderChainKeyStructure {
4
- iteration: number;
5
- seed: Uint8Array;
6
- }
7
- interface SenderSigningKeyStructure {
8
- public: Uint8Array;
9
- private?: Uint8Array;
10
- }
11
- interface SenderMessageKeyStructure {
12
- iteration: number;
13
- seed: Uint8Array;
14
- }
15
- interface SenderKeyStateStructure {
16
- senderKeyId: number;
17
- senderChainKey: SenderChainKeyStructure;
18
- senderSigningKey: SenderSigningKeyStructure;
19
- senderMessageKeys: SenderMessageKeyStructure[];
20
- }
21
- export declare class SenderKeyState {
22
- private readonly MAX_MESSAGE_KEYS;
23
- private readonly senderKeyStateStructure;
24
- constructor(id?: number | null, iteration?: number | null, chainKey?: Uint8Array | null, signatureKeyPair?: {
25
- public: Uint8Array;
26
- private: Uint8Array;
27
- } | null, signatureKeyPublic?: Uint8Array | null, signatureKeyPrivate?: Uint8Array | null, senderKeyStateStructure?: SenderKeyStateStructure | null);
28
- getKeyId(): number;
29
- getSenderChainKey(): SenderChainKey;
30
- setSenderChainKey(chainKey: SenderChainKey): void;
31
- getSigningKeyPublic(): Buffer;
32
- getSigningKeyPrivate(): Buffer | undefined;
33
- hasSenderMessageKey(iteration: number): boolean;
34
- addSenderMessageKey(senderMessageKey: SenderMessageKey): void;
35
- removeSenderMessageKey(iteration: number): SenderMessageKey | null;
36
- getStructure(): SenderKeyStateStructure;
37
- }
38
- export {};
@@ -1,11 +0,0 @@
1
- export declare class SenderMessageKey {
2
- private readonly iteration;
3
- private readonly iv;
4
- private readonly cipherKey;
5
- private readonly seed;
6
- constructor(iteration: number, seed: Uint8Array);
7
- getIteration(): number;
8
- getIv(): Uint8Array;
9
- getCipherKey(): Uint8Array;
10
- getSeed(): Uint8Array;
11
- }
@@ -1,3 +0,0 @@
1
- import { SignalAuthState } from '../Types';
2
- import { SignalRepository } from '../Types/Signal';
3
- export declare function makeLibSignalRepository(auth: SignalAuthState): SignalRepository;
@@ -1,17 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { EventEmitter } from 'events';
4
- import { URL } from 'url';
5
- import { SocketConfig } from '../../Types';
6
- export declare abstract class AbstractSocketClient extends EventEmitter {
7
- url: URL;
8
- config: SocketConfig;
9
- abstract get isOpen(): boolean;
10
- abstract get isClosed(): boolean;
11
- abstract get isClosing(): boolean;
12
- abstract get isConnecting(): boolean;
13
- constructor(url: URL, config: SocketConfig);
14
- abstract connect(): Promise<void>;
15
- abstract close(): Promise<void>;
16
- abstract send(str: Uint8Array | string, cb?: (err?: Error) => void): boolean;
17
- }
@@ -1,13 +0,0 @@
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,3 +0,0 @@
1
- export * from './abstract-socket-client';
2
- export * from './mobile-socket-client';
3
- export * from './web-socket-client';
@@ -1,13 +0,0 @@
1
- /// <reference types="node" />
2
- import { Socket } from 'net';
3
- import { AbstractSocketClient } from './abstract-socket-client';
4
- export declare class MobileSocketClient extends AbstractSocketClient {
5
- protected socket: Socket | null;
6
- get isOpen(): boolean;
7
- get isClosed(): boolean;
8
- get isClosing(): boolean;
9
- get isConnecting(): boolean;
10
- connect(): Promise<void>;
11
- close(): Promise<void>;
12
- send(str: string | Uint8Array, cb?: (err?: Error) => void): boolean;
13
- }
@@ -1,65 +0,0 @@
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,12 +0,0 @@
1
- import WebSocket from 'ws';
2
- import { AbstractSocketClient } from './abstract-socket-client';
3
- export declare class WebSocketClient extends AbstractSocketClient {
4
- protected socket: WebSocket | 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,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebSocketClient = void 0;
7
- const ws_1 = __importDefault(require("ws"));
8
- const Defaults_1 = require("../../Defaults");
9
- const abstract_socket_client_1 = require("./abstract-socket-client");
10
- class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
11
- constructor() {
12
- super(...arguments);
13
- this.socket = null;
14
- }
15
- get isOpen() {
16
- var _a;
17
- return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.OPEN;
18
- }
19
- get isClosed() {
20
- var _a;
21
- return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSED;
22
- }
23
- get isClosing() {
24
- var _a;
25
- return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSING;
26
- }
27
- get isConnecting() {
28
- var _a;
29
- return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CONNECTING;
30
- }
31
- async connect() {
32
- var _a, _b;
33
- if (this.socket) {
34
- return;
35
- }
36
- this.socket = new ws_1.default(this.url, {
37
- origin: Defaults_1.DEFAULT_ORIGIN,
38
- headers: (_a = this.config.options) === null || _a === void 0 ? void 0 : _a.headers,
39
- handshakeTimeout: this.config.connectTimeoutMs,
40
- timeout: this.config.connectTimeoutMs,
41
- agent: this.config.agent,
42
- });
43
- this.socket.setMaxListeners(0);
44
- const events = ['close', 'error', 'upgrade', 'message', 'open', 'ping', 'pong', 'unexpected-response'];
45
- for (const event of events) {
46
- (_b = this.socket) === null || _b === void 0 ? void 0 : _b.on(event, (...args) => this.emit(event, ...args));
47
- }
48
- }
49
- async close() {
50
- if (!this.socket) {
51
- return;
52
- }
53
- this.socket.close();
54
- this.socket = null;
55
- }
56
- send(str, cb) {
57
- var _a;
58
- (_a = this.socket) === null || _a === void 0 ? void 0 : _a.send(str, cb);
59
- return Boolean(this.socket);
60
- }
61
- }
62
- exports.WebSocketClient = WebSocketClient;
@@ -1,171 +0,0 @@
1
- /// <reference types="node" />
2
- import { GetCatalogOptions, ProductCreate, ProductUpdate, SocketConfig } from '../Types';
3
- import { BinaryNode } from '../WABinary';
4
- export declare const makeBusinessSocket: (config: SocketConfig) => {
5
- logger: import("pino").Logger<import("pino").LoggerOptions>;
6
- getOrderDetails: (orderId: string, tokenBase64: string) => Promise<import("../Types").OrderDetails>;
7
- getCatalog: ({ jid, limit, cursor }: GetCatalogOptions) => Promise<{
8
- products: import("../Types").Product[];
9
- nextPageCursor: string | undefined;
10
- }>;
11
- getCollections: (jid?: string, limit?: number) => Promise<{
12
- collections: import("../Types").CatalogCollection[];
13
- }>;
14
- productCreate: (create: ProductCreate) => Promise<import("../Types").Product>;
15
- productDelete: (productIds: string[]) => Promise<{
16
- deleted: number;
17
- }>;
18
- productUpdate: (productId: string, update: ProductUpdate) => Promise<import("../Types").Product>;
19
- sendMessageAck: ({ tag, attrs, content }: BinaryNode) => Promise<void>;
20
- sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
21
- offerCall: (toJid: string, isVideo?: boolean) => Promise<{
22
- id: string;
23
- to: string;
24
- }>;
25
- rejectCall: (callId: string, callFrom: string) => Promise<void>;
26
- getPrivacyTokens: (jids: string[]) => Promise<BinaryNode>;
27
- assertSessions: (jids: string[], force: boolean) => Promise<boolean>;
28
- relayMessage: (jid: string, message: import("../Types").WAProto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, cachedGroupMetadata, statusJidList }: import("../Types").MessageRelayOptions) => Promise<string>;
29
- sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: import("../Types").MessageReceiptType) => Promise<void>;
30
- sendReceipts: (keys: import("../Types").WAProto.IMessageKey[], type: import("../Types").MessageReceiptType) => Promise<void>;
31
- getButtonArgs: (message: import("../Types").WAProto.IMessage) => {
32
- [key: string]: string;
33
- };
34
- readMessages: (keys: import("../Types").WAProto.IMessageKey[]) => Promise<void>;
35
- refreshMediaConn: (forceGet?: boolean) => Promise<import("../Types").MediaConnInfo>;
36
- getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<import("../WABinary").JidWithDevice[]>;
37
- createParticipantNodes: (jids: string[], message: import("../Types").WAProto.IMessage, extraAttrs?: {
38
- [key: string]: string;
39
- } | undefined) => Promise<{
40
- nodes: BinaryNode[];
41
- shouldIncludeDeviceIdentity: boolean;
42
- }>;
43
- waUploadToServer: import("../Types").WAMediaUploadFunction;
44
- fetchPrivacySettings: (force?: boolean) => Promise<{
45
- [_: string]: string;
46
- }>;
47
- updateMediaMessage: (message: import("../Types").WAProto.IWebMessageInfo) => Promise<import("../Types").WAProto.IWebMessageInfo>;
48
- sendMessage: (jid: string, content: import("../Types").AnyMessageContent, options?: import("../Types").MiscMessageGenerationOptions) => Promise<import("../Types").WAProto.WebMessageInfo | undefined>;
49
- subscribeNewsletterUpdates: (jid: string) => Promise<{
50
- duration: string;
51
- }>;
52
- newsletterReactionMode: (jid: string, mode: import("../Types").NewsletterReactionMode) => Promise<void>;
53
- newsletterUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
54
- newsletterUpdateName: (jid: string, name: string) => Promise<void>;
55
- newsletterUpdatePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
56
- newsletterRemovePicture: (jid: string) => Promise<void>;
57
- newsletterUnfollow: (jid: string) => Promise<void>;
58
- newsletterFollow: (jid: string) => Promise<void>;
59
- newsletterUnmute: (jid: string) => Promise<void>;
60
- newsletterMute: (jid: string) => Promise<void>;
61
- newsletterAction: (jid: string, type: "mute" | "follow" | "unfollow" | "unmute") => Promise<void>;
62
- newsletterCreate: (name: string, description: string, reaction_codes: string) => Promise<import("../Types").NewsletterMetadata>;
63
- newsletterMetadata: (type: "invite" | "jid", key: string, role?: import("../Types").NewsletterViewRole | undefined) => Promise<import("../Types").NewsletterMetadata>;
64
- newsletterAdminCount: (jid: string) => Promise<number>;
65
- newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
66
- newsletterDemote: (jid: string, user: string) => Promise<void>;
67
- newsletterDelete: (jid: string) => Promise<void>;
68
- newsletterReactMessage: (jid: string, serverId: string, code?: string | undefined) => Promise<void>;
69
- newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
70
- newsletterFetchUpdates: (jid: string, count: number, after?: number | undefined, since?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
71
- groupMetadata: (jid: string) => Promise<import("../Types").GroupMetadata>;
72
- groupCreate: (subject: string, participants: string[]) => Promise<import("../Types").GroupMetadata>;
73
- groupLeave: (id: string) => Promise<void>;
74
- groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
75
- groupRequestParticipantsList: (jid: string) => Promise<{
76
- [key: string]: string;
77
- }[]>;
78
- groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "reject" | "approve") => Promise<{
79
- status: string;
80
- jid: string;
81
- }[]>;
82
- groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types").ParticipantAction) => Promise<{
83
- status: string;
84
- jid: string;
85
- content: BinaryNode;
86
- }[]>;
87
- groupUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
88
- groupInviteCode: (jid: string) => Promise<string | undefined>;
89
- groupRevokeInvite: (jid: string) => Promise<string | undefined>;
90
- groupAcceptInvite: (code: string) => Promise<string | undefined>;
91
- groupAcceptInviteV4: (key: string | import("../Types").WAProto.IMessageKey, inviteMessage: import("../Types").WAProto.Message.IGroupInviteMessage) => Promise<string>;
92
- groupGetInviteInfo: (code: string) => Promise<import("../Types").GroupMetadata>;
93
- groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
94
- groupSettingUpdate: (jid: string, setting: "announcement" | "locked" | "not_announcement" | "unlocked") => Promise<void>;
95
- groupMemberAddMode: (jid: string, mode: "all_member_add" | "admin_add") => Promise<void>;
96
- groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
97
- groupFetchAllParticipating: () => Promise<{
98
- [_: string]: import("../Types").GroupMetadata;
99
- }>;
100
- processingMutex: {
101
- mutex<T>(code: () => T | Promise<T>): Promise<T>;
102
- };
103
- upsertMessage: (msg: import("../Types").WAProto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
104
- appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
105
- sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string | undefined) => Promise<void>;
106
- presenceSubscribe: (toJid: string, tcToken?: Buffer | undefined) => Promise<void>;
107
- profilePictureUrl: (jid: string, type?: "image" | "preview", timeoutMs?: number | undefined) => Promise<string | undefined>;
108
- onWhatsApp: (...jids: string[]) => Promise<{
109
- jid: string;
110
- exists: unknown;
111
- lid: unknown;
112
- }[] | undefined>;
113
- fetchBlocklist: () => Promise<string[]>;
114
- fetchStatus: (jid: string) => Promise<{
115
- status: string | undefined;
116
- setAt: Date;
117
- } | undefined>;
118
- updateProfilePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
119
- removeProfilePicture: (jid: string) => Promise<void>;
120
- updateProfileStatus: (status: string) => Promise<void>;
121
- updateProfileName: (name: string) => Promise<void>;
122
- updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
123
- updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
124
- updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
125
- updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
126
- updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
127
- updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
128
- updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
129
- updateDefaultDisappearingMode: (duration: number) => Promise<void>;
130
- getBusinessProfile: (jid: string) => Promise<void | import("../Types").WABusinessProfile>;
131
- resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
132
- chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
133
- cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: string | number | undefined) => Promise<void>;
134
- addChatLabel: (jid: string, labelId: string) => Promise<void>;
135
- removeChatLabel: (jid: string, labelId: string) => Promise<void>;
136
- addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
137
- removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
138
- star: (jid: string, messages: {
139
- id: string;
140
- fromMe?: boolean | undefined;
141
- }[], star: boolean) => Promise<void>;
142
- type: "md";
143
- ws: any;
144
- ev: import("../Types").BaileysEventEmitter & {
145
- process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): () => void;
146
- buffer(): void;
147
- createBufferedFunction<A extends any[], T_1>(work: (...args: A) => Promise<T_1>): (...args: A) => Promise<T_1>;
148
- flush(force?: boolean | undefined): boolean;
149
- isBuffering(): boolean;
150
- };
151
- authState: {
152
- creds: import("../Types").AuthenticationCreds;
153
- keys: import("../Types").SignalKeyStoreWithTransaction;
154
- };
155
- signalRepository: import("../Types").SignalRepository;
156
- user: import("../Types").Contact | undefined;
157
- generateMessageTag: () => string;
158
- query: (node: BinaryNode, timeoutMs?: number | undefined) => Promise<BinaryNode>;
159
- waitForMessage: <T_2>(msgId: string, timeoutMs?: number | undefined) => Promise<T_2>;
160
- waitForSocketOpen: () => Promise<void>;
161
- sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
162
- sendNode: (frame: BinaryNode) => Promise<void>;
163
- logout: (msg?: string | undefined) => Promise<void>;
164
- end: (error: Error | undefined) => void;
165
- onUnexpectedError: (err: Error | import("@hapi/boom").Boom<any>, msg: string) => void;
166
- uploadPreKeys: (count?: number) => Promise<void>;
167
- uploadPreKeysToServerIfRequired: () => Promise<void>;
168
- requestPairingCode: (phoneNumber: string) => Promise<string>;
169
- waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number | undefined) => Promise<void>;
170
- sendWAMBuffer: (wamBuffer: Buffer) => Promise<BinaryNode>;
171
- };