@fazzcode/baileys 0.1.7 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/LICENSE +21 -0
  2. package/WAProto/WAProto.proto +5311 -0
  3. package/WAProto/index.js +83385 -119575
  4. package/lib/Defaults/index.js +117 -124
  5. package/lib/KeyDB/BinarySearch.js +20 -0
  6. package/lib/KeyDB/KeyedDB.js +167 -0
  7. package/lib/KeyDB/index.js +4 -0
  8. package/lib/Signal/Group/ciphertext-message.js +12 -14
  9. package/lib/Signal/Group/group-session-builder.js +10 -42
  10. package/lib/Signal/Group/group_cipher.js +75 -87
  11. package/lib/Signal/Group/index.js +13 -57
  12. package/lib/Signal/Group/keyhelper.js +17 -52
  13. package/lib/Signal/Group/sender-chain-key.js +27 -33
  14. package/lib/Signal/Group/sender-key-distribution-message.js +62 -63
  15. package/lib/Signal/Group/sender-key-message.js +65 -66
  16. package/lib/Signal/Group/sender-key-name.js +45 -44
  17. package/lib/Signal/Group/sender-key-record.js +39 -49
  18. package/lib/Signal/Group/sender-key-state.js +80 -93
  19. package/lib/Signal/Group/sender-message-key.js +27 -28
  20. package/lib/Signal/libsignal.js +313 -163
  21. package/lib/Signal/lid-mapping.js +155 -0
  22. package/lib/Socket/Client/index.js +4 -19
  23. package/lib/Socket/Client/types.js +13 -0
  24. package/lib/Socket/Client/websocket.js +52 -0
  25. package/lib/Socket/business.js +359 -242
  26. package/lib/Socket/chats.js +851 -830
  27. package/lib/Socket/communities.js +413 -0
  28. package/lib/Socket/groups.js +304 -309
  29. package/lib/Socket/index.js +15 -9
  30. package/lib/Socket/messages-recv.js +1107 -1054
  31. package/lib/Socket/messages-send.js +709 -414
  32. package/lib/Socket/mex.js +45 -0
  33. package/lib/Socket/newsletter.js +232 -318
  34. package/lib/Socket/socket.js +789 -599
  35. package/lib/Store/index.js +6 -10
  36. package/lib/Store/make-cache-manager-store.js +73 -81
  37. package/lib/Store/make-in-memory-store.js +286 -423
  38. package/lib/Store/make-ordered-dictionary.js +77 -79
  39. package/lib/Store/object-repository.js +24 -26
  40. package/lib/Types/Auth.js +3 -2
  41. package/lib/Types/Bussines.js +3 -0
  42. package/lib/Types/Call.js +3 -2
  43. package/lib/Types/Chat.js +9 -4
  44. package/lib/Types/Contact.js +3 -2
  45. package/lib/Types/Events.js +3 -2
  46. package/lib/Types/GroupMetadata.js +3 -2
  47. package/lib/Types/Label.js +24 -26
  48. package/lib/Types/LabelAssociation.js +6 -8
  49. package/lib/Types/Message.js +12 -9
  50. package/lib/Types/Newsletter.js +31 -30
  51. package/lib/Types/Newsletter.js.bak +33 -0
  52. package/lib/Types/Product.js +3 -2
  53. package/lib/Types/Signal.js +3 -2
  54. package/lib/Types/Socket.js +4 -2
  55. package/lib/Types/State.js +11 -2
  56. package/lib/Types/USync.js +3 -2
  57. package/lib/Types/index.js +27 -41
  58. package/lib/Utils/auth-utils.js +211 -198
  59. package/lib/Utils/baileys-event-stream.js +42 -61
  60. package/lib/Utils/browser-utils.js +25 -0
  61. package/lib/Utils/business.js +213 -214
  62. package/lib/Utils/chat-utils.js +710 -687
  63. package/lib/Utils/crypto.js +112 -133
  64. package/lib/Utils/decode-wa-message.js +252 -183
  65. package/lib/Utils/event-buffer.js +510 -496
  66. package/lib/Utils/generics.js +328 -356
  67. package/lib/Utils/history.js +83 -92
  68. package/lib/Utils/index.js +21 -33
  69. package/lib/Utils/link-preview.js +71 -83
  70. package/lib/Utils/logger.js +5 -7
  71. package/lib/Utils/lt-hash.js +40 -46
  72. package/lib/Utils/make-mutex.js +34 -41
  73. package/lib/Utils/message-retry-manager.js +113 -0
  74. package/lib/Utils/messages-media.js +548 -678
  75. package/lib/Utils/messages.js +352 -249
  76. package/lib/Utils/noise-handler.js +138 -149
  77. package/lib/Utils/pre-key-manager.js +85 -0
  78. package/lib/Utils/process-message.js +323 -303
  79. package/lib/Utils/signal.js +148 -138
  80. package/lib/Utils/use-multi-file-auth-state.js +98 -67
  81. package/lib/Utils/validate-connection.js +183 -188
  82. package/lib/WABinary/constants.js +1298 -35
  83. package/lib/WABinary/decode.js +237 -249
  84. package/lib/WABinary/encode.js +208 -218
  85. package/lib/WABinary/generic-utils.js +53 -57
  86. package/lib/WABinary/index.js +7 -21
  87. package/lib/WABinary/jid-utils.js +89 -58
  88. package/lib/WABinary/types.js +3 -2
  89. package/lib/WAM/BinaryInfo.js +10 -12
  90. package/lib/WAM/constants.js +22851 -15348
  91. package/lib/WAM/encode.js +135 -136
  92. package/lib/WAM/index.js +5 -19
  93. package/lib/WAUSync/Protocols/USyncContactProtocol.js +28 -30
  94. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +49 -53
  95. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -28
  96. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +36 -39
  97. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +50 -50
  98. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +26 -20
  99. package/lib/WAUSync/Protocols/index.js +6 -20
  100. package/lib/WAUSync/USyncQuery.js +86 -85
  101. package/lib/WAUSync/USyncUser.js +23 -25
  102. package/lib/WAUSync/index.js +5 -19
  103. package/lib/index.js +32 -34
  104. package/package.json +99 -105
  105. package/README.MD +0 -121
  106. package/engine-requirements.js +0 -10
  107. package/lib/Defaults/baileys-version.json +0 -3
  108. package/lib/Defaults/index.d.ts +0 -53
  109. package/lib/Defaults/phonenumber-mcc.json +0 -223
  110. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  111. package/lib/Signal/Group/group-session-builder.d.ts +0 -14
  112. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  113. package/lib/Signal/Group/index.d.ts +0 -11
  114. package/lib/Signal/Group/keyhelper.d.ts +0 -10
  115. package/lib/Signal/Group/queue-job.d.ts +0 -1
  116. package/lib/Signal/Group/queue-job.js +0 -57
  117. package/lib/Signal/Group/sender-chain-key.d.ts +0 -13
  118. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -16
  119. package/lib/Signal/Group/sender-key-message.d.ts +0 -18
  120. package/lib/Signal/Group/sender-key-name.d.ts +0 -17
  121. package/lib/Signal/Group/sender-key-record.d.ts +0 -30
  122. package/lib/Signal/Group/sender-key-state.d.ts +0 -38
  123. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  124. package/lib/Signal/libsignal.d.ts +0 -3
  125. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -17
  126. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  127. package/lib/Socket/Client/index.d.ts +0 -3
  128. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  129. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  130. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  131. package/lib/Socket/Client/web-socket-client.js +0 -62
  132. package/lib/Socket/business.d.ts +0 -171
  133. package/lib/Socket/chats.d.ts +0 -80
  134. package/lib/Socket/dugong.d.ts +0 -219
  135. package/lib/Socket/dugong.js +0 -441
  136. package/lib/Socket/groups.d.ts +0 -115
  137. package/lib/Socket/index.d.ts +0 -173
  138. package/lib/Socket/messages-recv.d.ts +0 -161
  139. package/lib/Socket/messages-send.d.ts +0 -149
  140. package/lib/Socket/newsletter.d.ts +0 -134
  141. package/lib/Socket/registration.d.ts +0 -267
  142. package/lib/Socket/registration.js +0 -166
  143. package/lib/Socket/socket.d.ts +0 -43
  144. package/lib/Socket/usync.d.ts +0 -36
  145. package/lib/Socket/usync.js +0 -70
  146. package/lib/Store/index.d.ts +0 -3
  147. package/lib/Store/make-cache-manager-store.d.ts +0 -13
  148. package/lib/Store/make-in-memory-store.d.ts +0 -118
  149. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  150. package/lib/Store/object-repository.d.ts +0 -10
  151. package/lib/Types/Auth.d.ts +0 -110
  152. package/lib/Types/Call.d.ts +0 -13
  153. package/lib/Types/Chat.d.ts +0 -102
  154. package/lib/Types/Contact.d.ts +0 -19
  155. package/lib/Types/Events.d.ts +0 -157
  156. package/lib/Types/GroupMetadata.d.ts +0 -55
  157. package/lib/Types/Label.d.ts +0 -35
  158. package/lib/Types/LabelAssociation.d.ts +0 -29
  159. package/lib/Types/Message.d.ts +0 -273
  160. package/lib/Types/Newsletter.d.ts +0 -92
  161. package/lib/Types/Product.d.ts +0 -78
  162. package/lib/Types/Signal.d.ts +0 -57
  163. package/lib/Types/Socket.d.ts +0 -111
  164. package/lib/Types/State.d.ts +0 -27
  165. package/lib/Types/USync.d.ts +0 -25
  166. package/lib/Types/index.d.ts +0 -57
  167. package/lib/Utils/auth-utils.d.ts +0 -18
  168. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  169. package/lib/Utils/business.d.ts +0 -22
  170. package/lib/Utils/chat-utils.d.ts +0 -71
  171. package/lib/Utils/crypto.d.ts +0 -41
  172. package/lib/Utils/decode-wa-message.d.ts +0 -19
  173. package/lib/Utils/event-buffer.d.ts +0 -35
  174. package/lib/Utils/generics.d.ts +0 -92
  175. package/lib/Utils/history.d.ts +0 -15
  176. package/lib/Utils/index.d.ts +0 -17
  177. package/lib/Utils/link-preview.d.ts +0 -21
  178. package/lib/Utils/logger.d.ts +0 -4
  179. package/lib/Utils/lt-hash.d.ts +0 -12
  180. package/lib/Utils/make-mutex.d.ts +0 -7
  181. package/lib/Utils/messages-media.d.ts +0 -116
  182. package/lib/Utils/messages.d.ts +0 -77
  183. package/lib/Utils/noise-handler.d.ts +0 -21
  184. package/lib/Utils/process-message.d.ts +0 -41
  185. package/lib/Utils/signal.d.ts +0 -32
  186. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  187. package/lib/Utils/validate-connection.d.ts +0 -11
  188. package/lib/WABinary/constants.d.ts +0 -27
  189. package/lib/WABinary/decode.d.ts +0 -7
  190. package/lib/WABinary/encode.d.ts +0 -3
  191. package/lib/WABinary/generic-utils.d.ts +0 -16
  192. package/lib/WABinary/index.d.ts +0 -5
  193. package/lib/WABinary/jid-utils.d.ts +0 -31
  194. package/lib/WABinary/types.d.ts +0 -18
  195. package/lib/WAM/BinaryInfo.d.ts +0 -17
  196. package/lib/WAM/constants.d.ts +0 -38
  197. package/lib/WAM/encode.d.ts +0 -3
  198. package/lib/WAM/index.d.ts +0 -3
  199. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  200. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  201. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  202. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  203. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  204. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  205. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  206. package/lib/WAUSync/USyncQuery.d.ts +0 -28
  207. package/lib/WAUSync/USyncUser.d.ts +0 -12
  208. package/lib/WAUSync/index.d.ts +0 -3
  209. package/lib/index.d.ts +0 -12
@@ -1,10 +0,0 @@
1
- import { generateKeyPair } from 'libsignal/src/curve';
2
- type KeyPairType = ReturnType<typeof generateKeyPair>;
3
- export declare function generateSenderKey(): Buffer;
4
- export declare function generateSenderKeyId(): number;
5
- export interface SigningKeyPair {
6
- public: Buffer;
7
- private: Buffer;
8
- }
9
- export declare function generateSenderSigningKey(key?: KeyPairType): SigningKeyPair;
10
- export {};
@@ -1 +0,0 @@
1
- export default function queueJob<T>(bucket: string | number, awaitable: () => Promise<T>): Promise<T>;
@@ -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
- };