@badzz88/baileys 8.4.0 → 8.4.2

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 (214) hide show
  1. package/WAProto/GenerateStatics.sh +3 -0
  2. package/WAProto/WAProto.proto +6902 -0
  3. package/WAProto/fix-imports.js +85 -0
  4. package/WAProto/index.d.ts +79257 -0
  5. package/WAProto/index.js +204305 -131020
  6. package/engine-requirements.js +3 -4
  7. package/lib/Defaults/baileys-version.json +2 -2
  8. package/lib/Defaults/index.js +119 -136
  9. package/lib/Signal/Group/ciphertext-message.js +2 -5
  10. package/lib/Signal/Group/group-session-builder.js +7 -41
  11. package/lib/Signal/Group/group_cipher.js +37 -51
  12. package/lib/Signal/Group/index.js +12 -57
  13. package/lib/Signal/Group/keyhelper.js +7 -44
  14. package/lib/Signal/Group/sender-chain-key.js +7 -15
  15. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  16. package/lib/Signal/Group/sender-key-message.js +9 -12
  17. package/lib/Signal/Group/sender-key-name.js +2 -5
  18. package/lib/Signal/Group/sender-key-record.js +9 -21
  19. package/lib/Signal/Group/sender-key-state.js +27 -42
  20. package/lib/Signal/Group/sender-message-key.js +4 -7
  21. package/lib/Signal/libsignal.js +347 -90
  22. package/lib/Signal/lid-mapping.js +277 -0
  23. package/lib/Socket/Client/index.js +3 -19
  24. package/lib/Socket/Client/types.js +11 -0
  25. package/lib/Socket/Client/websocket.js +54 -0
  26. package/lib/Socket/business.js +162 -43
  27. package/lib/Socket/chats.js +632 -426
  28. package/lib/Socket/communities.js +90 -80
  29. package/lib/Socket/community.js +392 -0
  30. package/lib/Socket/dugong.js +161 -8
  31. package/lib/Socket/groups.js +154 -160
  32. package/lib/Socket/index.js +11 -10
  33. package/lib/Socket/luxu.js +315 -469
  34. package/lib/Socket/messages-recv.js +1421 -615
  35. package/lib/Socket/messages-send.js +1150 -799
  36. package/lib/Socket/mex.js +42 -0
  37. package/lib/Socket/newsletter.js +139 -313
  38. package/lib/Socket/registration.js +2 -1
  39. package/lib/Socket/socket.js +544 -313
  40. package/lib/Store/index.js +10 -10
  41. package/lib/Store/keyed-db.js +108 -0
  42. package/lib/Store/make-cache-manager-store.js +43 -41
  43. package/lib/Store/make-in-memory-store.js +112 -341
  44. package/lib/Store/make-ordered-dictionary.js +14 -20
  45. package/lib/Store/object-repository.js +11 -6
  46. package/lib/Types/Auth.js +2 -2
  47. package/lib/Types/Bussines.js +2 -0
  48. package/lib/Types/Call.js +2 -2
  49. package/lib/Types/Chat.js +8 -4
  50. package/lib/Types/Contact.js +2 -2
  51. package/lib/Types/Events.js +2 -2
  52. package/lib/Types/GroupMetadata.js +2 -2
  53. package/lib/Types/Label.js +3 -5
  54. package/lib/Types/LabelAssociation.js +3 -5
  55. package/lib/Types/Message.js +11 -9
  56. package/lib/Types/Mex.js +37 -0
  57. package/lib/Types/Product.js +2 -2
  58. package/lib/Types/Signal.js +2 -2
  59. package/lib/Types/Socket.js +3 -2
  60. package/lib/Types/State.js +56 -2
  61. package/lib/Types/USync.js +2 -2
  62. package/lib/Types/index.js +15 -31
  63. package/lib/Utils/auth-utils.js +239 -143
  64. package/lib/Utils/browser-utils.js +48 -0
  65. package/lib/Utils/business.js +66 -69
  66. package/lib/Utils/chat-utils.js +396 -253
  67. package/lib/Utils/companion-reg-client-utils.js +35 -0
  68. package/lib/Utils/crypto.js +57 -90
  69. package/lib/Utils/decode-wa-message.js +236 -84
  70. package/lib/Utils/event-buffer.js +185 -77
  71. package/lib/Utils/generics.js +188 -283
  72. package/lib/Utils/history.js +93 -55
  73. package/lib/Utils/identity-change-handler.js +50 -0
  74. package/lib/Utils/index.js +23 -33
  75. package/lib/Utils/link-preview.js +16 -24
  76. package/lib/Utils/logger.js +3 -7
  77. package/lib/Utils/lt-hash.js +3 -46
  78. package/lib/Utils/make-mutex.js +24 -34
  79. package/lib/Utils/message-composer.js +273 -0
  80. package/lib/Utils/message-retry-manager.js +265 -0
  81. package/lib/Utils/messages-media.js +451 -482
  82. package/lib/Utils/messages.js +795 -369
  83. package/lib/Utils/noise-handler.js +145 -99
  84. package/lib/Utils/offline-node-processor.js +40 -0
  85. package/lib/Utils/pre-key-manager.js +106 -0
  86. package/lib/Utils/process-message.js +459 -150
  87. package/lib/Utils/reporting-utils.js +258 -0
  88. package/lib/Utils/signal.js +120 -72
  89. package/lib/Utils/stanza-ack.js +38 -0
  90. package/lib/Utils/sync-action-utils.js +49 -0
  91. package/lib/Utils/tc-token-utils.js +163 -0
  92. package/lib/Utils/use-multi-file-auth-state.js +29 -27
  93. package/lib/Utils/validate-connection.js +73 -99
  94. package/lib/WABinary/constants.js +1281 -20
  95. package/lib/WABinary/decode.js +52 -42
  96. package/lib/WABinary/encode.js +110 -155
  97. package/lib/WABinary/generic-utils.js +55 -49
  98. package/lib/WABinary/index.js +6 -21
  99. package/lib/WABinary/jid-utils.js +76 -40
  100. package/lib/WABinary/types.js +2 -2
  101. package/lib/WAM/BinaryInfo.js +2 -5
  102. package/lib/WAM/constants.js +19071 -11568
  103. package/lib/WAM/encode.js +17 -22
  104. package/lib/WAM/index.js +4 -19
  105. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  106. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  107. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +9 -12
  108. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  109. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  110. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  111. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  112. package/lib/WAUSync/Protocols/index.js +6 -20
  113. package/lib/WAUSync/USyncQuery.js +44 -35
  114. package/lib/WAUSync/USyncUser.js +10 -5
  115. package/lib/WAUSync/index.js +4 -19
  116. package/lib/index.js +14 -32
  117. package/package.json +133 -101
  118. package/lib/Defaults/index.d.ts +0 -53
  119. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  120. package/lib/Signal/Group/group-session-builder.d.ts +0 -14
  121. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  122. package/lib/Signal/Group/index.d.ts +0 -11
  123. package/lib/Signal/Group/keyhelper.d.ts +0 -10
  124. package/lib/Signal/Group/queue-job.d.ts +0 -1
  125. package/lib/Signal/Group/sender-chain-key.d.ts +0 -13
  126. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -16
  127. package/lib/Signal/Group/sender-key-message.d.ts +0 -18
  128. package/lib/Signal/Group/sender-key-name.d.ts +0 -17
  129. package/lib/Signal/Group/sender-key-record.d.ts +0 -30
  130. package/lib/Signal/Group/sender-key-state.d.ts +0 -38
  131. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  132. package/lib/Signal/libsignal.d.ts +0 -3
  133. package/lib/Signal/p +0 -1
  134. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -17
  135. package/lib/Socket/Client/index.d.ts +0 -3
  136. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  137. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  138. package/lib/Socket/business.d.ts +0 -171
  139. package/lib/Socket/chats.d.ts +0 -267
  140. package/lib/Socket/communities.d.ts +0 -180
  141. package/lib/Socket/dugong.d.ts +0 -254
  142. package/lib/Socket/groups.d.ts +0 -115
  143. package/lib/Socket/index.d.ts +0 -173
  144. package/lib/Socket/luxu.d.ts +0 -266
  145. package/lib/Socket/messages-recv.d.ts +0 -161
  146. package/lib/Socket/messages-send.d.ts +0 -183
  147. package/lib/Socket/newsletter.d.ts +0 -134
  148. package/lib/Socket/registration.d.ts +0 -267
  149. package/lib/Socket/socket.d.ts +0 -44
  150. package/lib/Socket/usync.d.ts +0 -36
  151. package/lib/Store/index.d.ts +0 -3
  152. package/lib/Store/make-cache-manager-store.d.ts +0 -13
  153. package/lib/Store/make-in-memory-store.d.ts +0 -118
  154. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  155. package/lib/Store/object-repository.d.ts +0 -10
  156. package/lib/Types/Auth.d.ts +0 -110
  157. package/lib/Types/Call.d.ts +0 -13
  158. package/lib/Types/Chat.d.ts +0 -102
  159. package/lib/Types/Contact.d.ts +0 -19
  160. package/lib/Types/Events.d.ts +0 -157
  161. package/lib/Types/GroupMetadata.d.ts +0 -55
  162. package/lib/Types/Label.d.ts +0 -35
  163. package/lib/Types/LabelAssociation.d.ts +0 -29
  164. package/lib/Types/Message.d.ts +0 -273
  165. package/lib/Types/Newsletter.d.ts +0 -103
  166. package/lib/Types/Product.d.ts +0 -78
  167. package/lib/Types/Signal.d.ts +0 -57
  168. package/lib/Types/Socket.d.ts +0 -111
  169. package/lib/Types/State.d.ts +0 -27
  170. package/lib/Types/USync.d.ts +0 -25
  171. package/lib/Types/index.d.ts +0 -57
  172. package/lib/Utils/auth-utils.d.ts +0 -18
  173. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  174. package/lib/Utils/business.d.ts +0 -22
  175. package/lib/Utils/chat-utils.d.ts +0 -71
  176. package/lib/Utils/crypto.d.ts +0 -41
  177. package/lib/Utils/decode-wa-message.d.ts +0 -19
  178. package/lib/Utils/event-buffer.d.ts +0 -35
  179. package/lib/Utils/generics.d.ts +0 -92
  180. package/lib/Utils/history.d.ts +0 -15
  181. package/lib/Utils/index.d.ts +0 -17
  182. package/lib/Utils/link-preview.d.ts +0 -21
  183. package/lib/Utils/logger.d.ts +0 -4
  184. package/lib/Utils/lt-hash.d.ts +0 -12
  185. package/lib/Utils/make-mutex.d.ts +0 -7
  186. package/lib/Utils/messages-media.d.ts +0 -116
  187. package/lib/Utils/messages.d.ts +0 -77
  188. package/lib/Utils/noise-handler.d.ts +0 -21
  189. package/lib/Utils/process-message.d.ts +0 -41
  190. package/lib/Utils/signal.d.ts +0 -32
  191. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  192. package/lib/Utils/validate-connection.d.ts +0 -11
  193. package/lib/WABinary/constants.d.ts +0 -30
  194. package/lib/WABinary/decode.d.ts +0 -7
  195. package/lib/WABinary/encode.d.ts +0 -3
  196. package/lib/WABinary/generic-utils.d.ts +0 -17
  197. package/lib/WABinary/index.d.ts +0 -5
  198. package/lib/WABinary/jid-utils.d.ts +0 -31
  199. package/lib/WABinary/types.d.ts +0 -18
  200. package/lib/WAM/BinaryInfo.d.ts +0 -17
  201. package/lib/WAM/constants.d.ts +0 -38
  202. package/lib/WAM/encode.d.ts +0 -3
  203. package/lib/WAM/index.d.ts +0 -3
  204. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  205. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  206. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  207. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  208. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  209. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  210. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  211. package/lib/WAUSync/USyncQuery.d.ts +0 -28
  212. package/lib/WAUSync/USyncUser.d.ts +0 -12
  213. package/lib/WAUSync/index.d.ts +0 -3
  214. package/lib/index.d.ts +0 -12
@@ -1,21 +0,0 @@
1
- /// <reference types="node" />
2
- import { Logger } from 'pino';
3
- import { proto } from '../../WAProto';
4
- import { KeyPair } from '../Types';
5
- import { BinaryNode } from '../WABinary';
6
- export declare const makeNoiseHandler: ({ keyPair: { private: privateKey, public: publicKey }, NOISE_HEADER, mobile, logger, routingInfo }: {
7
- keyPair: KeyPair;
8
- NOISE_HEADER: Uint8Array;
9
- mobile: boolean;
10
- logger: Logger;
11
- routingInfo?: Buffer | undefined;
12
- }) => {
13
- encrypt: (plaintext: Uint8Array) => Buffer;
14
- decrypt: (ciphertext: Uint8Array) => Buffer;
15
- authenticate: (data: Uint8Array) => void;
16
- mixIntoKey: (data: Uint8Array) => void;
17
- finishInit: () => void;
18
- processHandshake: ({ serverHello }: proto.HandshakeMessage, noiseKey: KeyPair) => Buffer;
19
- encodeFrame: (data: Buffer | Uint8Array) => Buffer;
20
- decodeFrame: (newData: Buffer | Uint8Array, onFrame: (buff: Uint8Array | BinaryNode) => void) => void;
21
- };
@@ -1,41 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import type { Logger } from 'pino';
3
- import { proto } from '../../WAProto';
4
- import { AuthenticationCreds, BaileysEventEmitter, SignalKeyStoreWithTransaction, SocketConfig } from '../Types';
5
- type ProcessMessageContext = {
6
- shouldProcessHistoryMsg: boolean;
7
- creds: AuthenticationCreds;
8
- keyStore: SignalKeyStoreWithTransaction;
9
- ev: BaileysEventEmitter;
10
- getMessage: SocketConfig['getMessage'];
11
- logger?: Logger;
12
- options: AxiosRequestConfig<{}>;
13
- };
14
- /** Cleans a received message to further processing */
15
- export declare const cleanMessage: (message: proto.IWebMessageInfo, meId: string) => void;
16
- export declare const isRealMessage: (message: proto.IWebMessageInfo, meId: string) => boolean | undefined;
17
- export declare const shouldIncrementChatUnread: (message: proto.IWebMessageInfo) => boolean;
18
- /**
19
- * Get the ID of the chat from the given key.
20
- * Typically -- that'll be the remoteJid, but for broadcasts, it'll be the participant
21
- */
22
- export declare const getChatId: ({ remoteJid, participant, fromMe }: proto.IMessageKey) => string;
23
- type PollContext = {
24
- /** normalised jid of the person that created the poll */
25
- pollCreatorJid: string;
26
- /** ID of the poll creation message */
27
- pollMsgId: string;
28
- /** poll creation message enc key */
29
- pollEncKey: Uint8Array;
30
- /** jid of the person that voted */
31
- voterJid: string;
32
- };
33
- /**
34
- * Decrypt a poll vote
35
- * @param vote encrypted vote
36
- * @param ctx additional info about the poll required for decryption
37
- * @returns list of SHA256 options
38
- */
39
- export declare function decryptPollVote({ encPayload, encIv }: proto.Message.IPollEncValue, { pollCreatorJid, pollMsgId, pollEncKey, voterJid, }: PollContext): proto.Message.PollVoteMessage;
40
- declare const processMessage: (message: proto.IWebMessageInfo, { shouldProcessHistoryMsg, ev, creds, keyStore, logger, options, getMessage }: ProcessMessageContext) => Promise<void>;
41
- export default processMessage;
@@ -1,32 +0,0 @@
1
- import { SignalRepository } from '../Types';
2
- import { AuthenticationCreds, AuthenticationState, KeyPair, SignalIdentity, SignalKeyStore, SignedKeyPair } from '../Types/Auth';
3
- import { BinaryNode, JidWithDevice } from '../WABinary';
4
- export declare const createSignalIdentity: (wid: string, accountSignatureKey: Uint8Array) => SignalIdentity;
5
- export declare const getPreKeys: ({ get }: SignalKeyStore, min: number, limit: number) => Promise<{
6
- [id: string]: KeyPair;
7
- }>;
8
- export declare const generateOrGetPreKeys: (creds: AuthenticationCreds, range: number) => {
9
- newPreKeys: {
10
- [id: number]: KeyPair;
11
- };
12
- lastPreKeyId: number;
13
- preKeysRange: readonly [number, number];
14
- };
15
- export declare const xmppSignedPreKey: (key: SignedKeyPair) => BinaryNode;
16
- export declare const xmppPreKey: (pair: KeyPair, id: number) => BinaryNode;
17
- export declare const parseAndInjectE2ESessions: (node: BinaryNode, repository: SignalRepository) => Promise<void>;
18
- export declare const extractDeviceJids: (result: BinaryNode, myJid: string, excludeZeroDevices: boolean) => JidWithDevice[];
19
- /**
20
- * get the next N keys for upload or processing
21
- * @param count number of pre-keys to get or generate
22
- */
23
- export declare const getNextPreKeys: ({ creds, keys }: AuthenticationState, count: number) => Promise<{
24
- update: Partial<AuthenticationCreds>;
25
- preKeys: {
26
- [id: string]: KeyPair;
27
- };
28
- }>;
29
- export declare const getNextPreKeysNode: (state: AuthenticationState, count: number) => Promise<{
30
- update: Partial<AuthenticationCreds>;
31
- node: BinaryNode;
32
- }>;
@@ -1,13 +0,0 @@
1
- import { AuthenticationState } from '../Types';
2
- /**
3
- * stores the full authentication state in a single folder.
4
- * Far more efficient than singlefileauthstate
5
- *
6
- * Again, I wouldn't endorse this for any production level use other than perhaps a bot.
7
- * Would recommend writing an auth state for use with a proper SQL or No-SQL DB
8
- * */
9
- export declare const useMultiFileAuthState: (folder: string) => Promise<{
10
- state: AuthenticationState;
11
- saveCreds: () => Promise<void>;
12
- }>;
13
-
@@ -1,11 +0,0 @@
1
- import { proto } from '../../WAProto';
2
- import type { AuthenticationCreds, SignalCreds, SocketConfig } from '../Types';
3
- import { BinaryNode } from '../WABinary';
4
- export declare const generateMobileNode: (config: SocketConfig) => proto.IClientPayload;
5
- export declare const generateLoginNode: (userJid: string, config: SocketConfig) => proto.IClientPayload;
6
- export declare const generateRegistrationNode: ({ registrationId, signedPreKey, signedIdentityKey }: SignalCreds, config: SocketConfig) => proto.ClientPayload;
7
- export declare const configureSuccessfulPairing: (stanza: BinaryNode, { advSecretKey, signedIdentityKey, signalIdentities }: Pick<AuthenticationCreds, 'advSecretKey' | 'signedIdentityKey' | 'signalIdentities'>) => {
8
- creds: Partial<AuthenticationCreds>;
9
- reply: BinaryNode;
10
- };
11
- export declare const encodeSignedDeviceIdentity: (account: proto.IADVSignedDeviceIdentity, includeSignatureKey: boolean) => Uint8Array;
@@ -1,30 +0,0 @@
1
- export declare const TAGS: {
2
- LIST_EMPTY: number
3
- DICTIONARY_0: number
4
- DICTIONARY_1: number
5
- DICTIONARY_2: number
6
- DICTIONARY_3: number
7
- INTEROP_JID: number
8
- FB_JID: number
9
- AD_JID: number
10
- LIST_8: number
11
- LIST_16: number
12
- JID_PAIR: number
13
- HEX_8: number
14
- BINARY_8: number
15
- BINARY_20: number
16
- BINARY_32: number
17
- NIBBLE_8: number
18
- PACKED_MAX: number
19
- }
20
-
21
- export declare const DOUBLE_BYTE_TOKENS: string[][]
22
-
23
- export declare const SINGLE_BYTE_TOKENS: (string | null)[]
24
-
25
- export declare const TOKEN_MAP: {
26
- [token: string]: {
27
- dict?: number
28
- index: number
29
- }
30
- }
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- import type { BinaryNode, BinaryNodeCodingOptions } from './types';
3
- export declare const decompressingIfRequired: (buffer: Buffer) => Buffer;
4
- export declare const decodeDecompressedBinaryNode: (buffer: Buffer, opts: Pick<BinaryNodeCodingOptions, 'DOUBLE_BYTE_TOKENS' | 'SINGLE_BYTE_TOKENS' | 'TAGS'>, indexRef?: {
5
- index: number;
6
- }) => BinaryNode;
7
- export declare const decodeBinaryNode: (buff: Buffer) => BinaryNode;
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- import type { BinaryNode, BinaryNodeCodingOptions } from './types';
3
- export declare const encodeBinaryNode: ({ tag, attrs, content }: BinaryNode, opts?: Pick<BinaryNodeCodingOptions, 'TAGS' | 'TOKEN_MAP'>, buffer?: number[]) => Buffer;
@@ -1,17 +0,0 @@
1
- /// <reference types="node" />
2
- import { proto } from '../../WAProto';
3
- import { BinaryNode } from './types';
4
- export declare const getBinaryNodeChildren: (node: BinaryNode | undefined, childTag: string) => BinaryNode[];
5
- export declare const getAllBinaryNodeChildren: ({ content }: BinaryNode) => BinaryNode[];
6
- export declare const getBinaryNodeChild: (node: BinaryNode | undefined, childTag: string) => BinaryNode | undefined;
7
- export declare const getBinaryNodeChildBuffer: (node: BinaryNode | undefined, childTag: string) => Uint8Array | Buffer | undefined;
8
- export declare const getBinaryNodeChildString: (node: BinaryNode | undefined, childTag: string) => string | undefined;
9
- export declare const getBinaryNodeChildUInt: (node: BinaryNode, childTag: string, length: number) => number | undefined;
10
- export declare const assertNodeErrorFree: (node: BinaryNode) => void;
11
- export declare const reduceBinaryNodeToDictionary: (node: BinaryNode, tag: string) => {
12
- [_: string]: string;
13
- };
14
- export declare const getBinaryNodeMessages: ({ content }: BinaryNode) => proto.WebMessageInfo[];
15
- export declare function binaryNodeToString(node: BinaryNode | BinaryNode['content'], i?: number): any;
16
- export declare const getBinaryNodeFilter: (node: BinaryNode[]) => boolean;
17
- export declare const getAdditionalNode: (name: string) => BinaryNode[];
@@ -1,5 +0,0 @@
1
- export * from './encode';
2
- export * from './decode';
3
- export * from './generic-utils';
4
- export * from './jid-utils';
5
- export * from './types';
@@ -1,31 +0,0 @@
1
- export declare const S_WHATSAPP_NET = "@s.whatsapp.net";
2
- export declare const OFFICIAL_BIZ_JID = "16505361212@c.us";
3
- export declare const SERVER_JID = "server@c.us";
4
- export declare const PSA_WID = "0@c.us";
5
- export declare const STORIES_JID = "status@broadcast";
6
- export type JidServer = 'c.us' | 'g.us' | 'broadcast' | 's.whatsapp.net' | 'call' | 'lid' | 'newsletter';
7
- export type JidWithDevice = {
8
- user: string;
9
- device?: number;
10
- };
11
- export type FullJid = JidWithDevice & {
12
- server: JidServer | string;
13
- domainType?: number;
14
- };
15
- export declare const jidEncode: (user: string | number | null, server: JidServer, device?: number, agent?: number) => string;
16
- export declare const jidDecode: (jid: string | undefined) => FullJid | undefined;
17
- /** is the jid a user */
18
- export declare const areJidsSameUser: (jid1: string | undefined, jid2: string | undefined) => boolean;
19
- /** is the jid a user */
20
- export declare const isJidUser: (jid: string | undefined) => boolean | undefined;
21
- /** is the jid a group */
22
- export declare const isLidUser: (jid: string | undefined) => boolean | undefined;
23
- /** is the jid a broadcast */
24
- export declare const isJidBroadcast: (jid: string | undefined) => boolean | undefined;
25
- /** is the jid a group */
26
- export declare const isJidGroup: (jid: string | undefined) => boolean | undefined;
27
- /** is the jid the status broadcast */
28
- export declare const isJidStatusBroadcast: (jid: string) => boolean;
29
- /** is the jid the newsletter */
30
- export declare const isJidNewsLetter: (jid: string | undefined) => boolean | undefined;
31
- export declare const jidNormalizedUser: (jid: string | undefined) => string;
@@ -1,18 +0,0 @@
1
- import * as constants from './constants';
2
- /**
3
- * the binary node WA uses internally for communication
4
- *
5
- * this is manipulated soley as an object and it does not have any functions.
6
- * This is done for easy serialization, to prevent running into issues with prototypes &
7
- * to maintain functional code structure
8
- * */
9
- export type BinaryNode = {
10
- tag: string;
11
- attrs: {
12
- [key: string]: string;
13
- };
14
- content?: BinaryNode[] | string | Uint8Array;
15
- };
16
- export type BinaryNodeAttributes = BinaryNode['attrs'];
17
- export type BinaryNodeData = BinaryNode['content'];
18
- export type BinaryNodeCodingOptions = typeof constants;
@@ -1,17 +0,0 @@
1
- /// <reference types="node" />
2
- export declare class BinaryInfo {
3
- protocolVersion: number;
4
- sequence: number;
5
- events: {
6
- [x: string]: {
7
- props: {
8
- [x: string]: any;
9
- };
10
- globals: {
11
- [x: string]: any;
12
- };
13
- };
14
- }[];
15
- buffer: Buffer[];
16
- constructor(options?: Partial<BinaryInfo>);
17
- }
@@ -1,38 +0,0 @@
1
- export declare const WEB_EVENTS: Event[];
2
- export declare const WEB_GLOBALS: Global[];
3
- export declare const FLAG_BYTE = 8, FLAG_GLOBAL = 0, FLAG_EVENT = 1, FLAG_FIELD = 2, FLAG_EXTENDED = 4;
4
- export type Event = {
5
- name: string;
6
- id: number;
7
- props: {
8
- [key: string]: [number, string | {
9
- [key: string]: number;
10
- }];
11
- };
12
- weight: number;
13
- wamChannel: string;
14
- privateStatsIdInt: number;
15
- };
16
- export type Global = {
17
- name: string;
18
- id: number;
19
- type: string | {
20
- [key: string]: number;
21
- };
22
- validator?: string;
23
- channels: string[];
24
- };
25
- type EventByName<T extends Event['name']> = Extract<Event, {
26
- name: T;
27
- }>;
28
- export type EventInputType = {
29
- [key in Event['name']]: {
30
- props: {
31
- [k in keyof EventByName<key>['props']]: any;
32
- };
33
- globals: {
34
- [x: string]: any;
35
- };
36
- };
37
- } & {};
38
- export {};
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- import { BinaryInfo } from './BinaryInfo';
3
- export declare const encodeWAM: (binaryInfo: BinaryInfo) => Buffer;
@@ -1,3 +0,0 @@
1
- export * from './constants';
2
- export * from './encode';
3
- export * from './BinaryInfo';
@@ -1,9 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- import { USyncUser } from '../USyncUser';
4
- export declare class USyncContactProtocol implements USyncQueryProtocol {
5
- name: string;
6
- getQueryElement(): BinaryNode;
7
- getUserElement(user: USyncUser): BinaryNode;
8
- parser(node: BinaryNode): boolean;
9
- }
@@ -1,22 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- export type KeyIndexData = {
4
- timestamp: number;
5
- signedKeyIndex?: Uint8Array;
6
- expectedTimestamp?: number;
7
- };
8
- export type DeviceListData = {
9
- id: number;
10
- keyIndex?: number;
11
- isHosted?: boolean;
12
- };
13
- export type ParsedDeviceInfo = {
14
- deviceList?: DeviceListData[];
15
- keyIndex?: KeyIndexData;
16
- };
17
- export declare class USyncDeviceProtocol implements USyncQueryProtocol {
18
- name: string;
19
- getQueryElement(): BinaryNode;
20
- getUserElement(): BinaryNode | null;
21
- parser(node: BinaryNode): ParsedDeviceInfo;
22
- }
@@ -1,12 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- export type DisappearingModeData = {
4
- duration: number;
5
- setAt?: Date;
6
- };
7
- export declare class USyncDisappearingModeProtocol implements USyncQueryProtocol {
8
- name: string;
9
- getQueryElement(): BinaryNode;
10
- getUserElement(): null;
11
- parser(node: BinaryNode): DisappearingModeData | undefined;
12
- }
@@ -1,12 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- export type StatusData = {
4
- status?: string | null;
5
- setAt?: Date;
6
- };
7
- export declare class USyncStatusProtocol implements USyncQueryProtocol {
8
- name: string;
9
- getQueryElement(): BinaryNode;
10
- getUserElement(): null;
11
- parser(node: BinaryNode): StatusData | undefined;
12
- }
@@ -1,25 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- import { USyncUser } from '../USyncUser';
4
- export type BotProfileCommand = {
5
- name: string;
6
- description: string;
7
- };
8
- export type BotProfileInfo = {
9
- jid: string;
10
- name: string;
11
- attributes: string;
12
- description: string;
13
- category: string;
14
- isDefault: boolean;
15
- prompts: string[];
16
- personaId: string;
17
- commands: BotProfileCommand[];
18
- commandsDescription: string;
19
- };
20
- export declare class USyncBotProfileProtocol implements USyncQueryProtocol {
21
- name: string;
22
- getQueryElement(): BinaryNode;
23
- getUserElement(user: USyncUser): BinaryNode;
24
- parser(node: BinaryNode): BotProfileInfo;
25
- }
@@ -1,8 +0,0 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- export declare class USyncLIDProtocol implements USyncQueryProtocol {
4
- name: string;
5
- getQueryElement(): BinaryNode;
6
- getUserElement(): null;
7
- parser(node: BinaryNode): string | null;
8
- }
@@ -1,4 +0,0 @@
1
- export * from './USyncDeviceProtocol';
2
- export * from './USyncContactProtocol';
3
- export * from './USyncStatusProtocol';
4
- export * from './USyncDisappearingModeProtocol';
@@ -1,28 +0,0 @@
1
- import { USyncQueryProtocol } from '../Types/USync';
2
- import { BinaryNode } from '../WABinary';
3
- import { USyncUser } from './USyncUser';
4
- export type USyncQueryResultList = {
5
- [protocol: string]: unknown;
6
- id: string;
7
- };
8
- export type USyncQueryResult = {
9
- list: USyncQueryResultList[];
10
- sideList: USyncQueryResultList[];
11
- };
12
- export declare class USyncQuery {
13
- protocols: USyncQueryProtocol[];
14
- users: USyncUser[];
15
- context: string;
16
- mode: string;
17
- constructor();
18
- withMode(mode: string): this;
19
- withContext(context: string): this;
20
- withUser(user: USyncUser): this;
21
- parseUSyncQueryResult(result: BinaryNode): USyncQueryResult | undefined;
22
- withDeviceProtocol(): this;
23
- withContactProtocol(): this;
24
- withStatusProtocol(): this;
25
- withDisappearingModeProtocol(): this;
26
- withBotProfileProtocol(): this;
27
- withLIDProtocol(): this;
28
- }
@@ -1,12 +0,0 @@
1
- export declare class USyncUser {
2
- id: string;
3
- lid: string;
4
- phone: string;
5
- type: string;
6
- personaId: string;
7
- withId(id: string): this;
8
- withLid(lid: string): this;
9
- withPhone(phone: string): this;
10
- withType(type: string): this;
11
- withPersonaId(personaId: string): this;
12
- }
@@ -1,3 +0,0 @@
1
- export * from './Protocols';
2
- export * from './USyncQuery';
3
- export * from './USyncUser';
package/lib/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import makeWASocket from './Socket';
2
- export * from '../WAProto';
3
- export * from './Utils';
4
- export * from './Types';
5
- export * from './Store';
6
- export * from './Defaults';
7
- export * from './WABinary';
8
- export * from './WAM';
9
- export * from './WAUSync';
10
- export type WASocket = ReturnType<typeof makeWASocket>;
11
- export { makeWASocket };
12
- export default makeWASocket;