gifted-baileys 1.5.6 → 1.5.7

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 (252) hide show
  1. package/README.md +9 -0
  2. package/WAProto/WAProto.proto +969 -88
  3. package/WAProto/index.d.ts +13199 -1260
  4. package/WAProto/index.js +124901 -74525
  5. package/lib/Defaults/baileys-version.json +3 -0
  6. package/lib/Defaults/index.d.ts +284 -0
  7. package/{src → lib}/Defaults/index.js +7 -14
  8. package/lib/Signal/libsignal.d.ts +3 -0
  9. package/lib/Signal/libsignal.js +161 -0
  10. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  11. package/lib/Socket/Client/index.d.ts +2 -0
  12. package/{src → lib}/Socket/Client/index.js +2 -3
  13. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  14. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  15. package/lib/Socket/Client/types.d.ts +17 -0
  16. package/lib/Socket/Client/types.js +13 -0
  17. package/lib/Socket/Client/websocket.d.ts +12 -0
  18. package/lib/Socket/Client/websocket.js +62 -0
  19. package/lib/Socket/business.d.ts +170 -0
  20. package/{src → lib}/Socket/business.js +28 -33
  21. package/lib/Socket/chats.d.ts +81 -0
  22. package/{src → lib}/Socket/chats.js +174 -176
  23. package/lib/Socket/groups.d.ts +115 -0
  24. package/{src → lib}/Socket/groups.js +80 -68
  25. package/lib/Socket/index.d.ts +172 -0
  26. package/{src → lib}/Socket/index.js +4 -1
  27. package/lib/Socket/messages-recv.d.ts +158 -0
  28. package/{src → lib}/Socket/messages-recv.js +378 -211
  29. package/lib/Socket/messages-send.d.ts +155 -0
  30. package/{src → lib}/Socket/messages-send.js +452 -177
  31. package/lib/Socket/newsletter.d.ts +132 -0
  32. package/{src → lib}/Socket/newsletter.js +107 -98
  33. package/lib/Socket/registration.d.ts +264 -0
  34. package/{src → lib}/Socket/registration.js +56 -48
  35. package/lib/Socket/socket.d.ts +44 -0
  36. package/{src → lib}/Socket/socket.js +77 -77
  37. package/lib/Socket/usync.d.ts +37 -0
  38. package/lib/Socket/usync.js +70 -0
  39. package/lib/Store/index.d.ts +3 -0
  40. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  41. package/{src → lib}/Store/make-cache-manager-store.js +25 -34
  42. package/lib/Store/make-in-memory-store.d.ts +118 -0
  43. package/{src → lib}/Store/make-in-memory-store.js +36 -32
  44. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  45. package/lib/Store/object-repository.d.ts +10 -0
  46. package/{src → lib}/Store/object-repository.js +1 -1
  47. package/lib/Types/Auth.d.ts +109 -0
  48. package/lib/Types/Call.d.ts +13 -0
  49. package/lib/Types/Chat.d.ts +107 -0
  50. package/{src/Types/Contact.ts → lib/Types/Contact.d.ts} +8 -9
  51. package/lib/Types/Events.d.ts +172 -0
  52. package/lib/Types/GroupMetadata.d.ts +56 -0
  53. package/lib/Types/Label.d.ts +46 -0
  54. package/{src/Types/LabelAssociation.ts → lib/Types/LabelAssociation.d.ts} +16 -22
  55. package/lib/Types/Message.d.ts +433 -0
  56. package/lib/Types/Newsletter.d.ts +92 -0
  57. package/lib/Types/Product.d.ts +78 -0
  58. package/lib/Types/Signal.d.ts +57 -0
  59. package/{src/Types/Socket.ts → lib/Types/Socket.d.ts} +61 -68
  60. package/lib/Types/State.d.ts +27 -0
  61. package/lib/Types/USync.d.ts +25 -0
  62. package/lib/Types/index.d.ts +66 -0
  63. package/lib/Utils/auth-utils.d.ts +18 -0
  64. package/{src → lib}/Utils/auth-utils.js +73 -90
  65. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  66. package/lib/Utils/baileys-event-stream.js +63 -0
  67. package/lib/Utils/business.d.ts +22 -0
  68. package/{src → lib}/Utils/business.js +15 -43
  69. package/lib/Utils/chat-utils.d.ts +70 -0
  70. package/{src → lib}/Utils/chat-utils.js +87 -94
  71. package/lib/Utils/crypto.d.ts +40 -0
  72. package/{src → lib}/Utils/crypto.js +4 -2
  73. package/lib/Utils/decode-wa-message.d.ts +36 -0
  74. package/lib/Utils/decode-wa-message.js +226 -0
  75. package/lib/Utils/event-buffer.d.ts +35 -0
  76. package/{src → lib}/Utils/event-buffer.js +4 -13
  77. package/lib/Utils/generics.d.ts +88 -0
  78. package/{src → lib}/Utils/generics.js +67 -86
  79. package/lib/Utils/history.d.ts +19 -0
  80. package/{src → lib}/Utils/history.js +13 -39
  81. package/lib/Utils/index.d.ts +17 -0
  82. package/lib/Utils/link-preview.d.ts +21 -0
  83. package/{src → lib}/Utils/link-preview.js +17 -54
  84. package/lib/Utils/logger.d.ts +2 -0
  85. package/lib/Utils/lt-hash.d.ts +12 -0
  86. package/lib/Utils/make-mutex.d.ts +7 -0
  87. package/{src → lib}/Utils/make-mutex.js +4 -13
  88. package/lib/Utils/messages-media.d.ts +113 -0
  89. package/{src → lib}/Utils/messages-media.js +193 -255
  90. package/lib/Utils/messages.d.ts +77 -0
  91. package/{src → lib}/Utils/messages.js +588 -118
  92. package/lib/Utils/noise-handler.d.ts +20 -0
  93. package/lib/Utils/process-message.d.ts +41 -0
  94. package/{src → lib}/Utils/process-message.js +27 -30
  95. package/lib/Utils/signal.d.ts +33 -0
  96. package/{src → lib}/Utils/signal.js +25 -42
  97. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  98. package/{src → lib}/Utils/use-multi-file-auth-state.js +27 -28
  99. package/lib/Utils/validate-connection.d.ts +11 -0
  100. package/{src → lib}/Utils/validate-connection.js +40 -9
  101. package/lib/WABinary/constants.d.ts +27 -0
  102. package/lib/WABinary/decode.d.ts +6 -0
  103. package/lib/WABinary/encode.d.ts +2 -0
  104. package/{src → lib}/WABinary/encode.js +16 -10
  105. package/lib/WABinary/generic-utils.d.ts +14 -0
  106. package/lib/WABinary/index.d.ts +5 -0
  107. package/lib/WABinary/jid-utils.d.ts +31 -0
  108. package/lib/WABinary/types.d.ts +18 -0
  109. package/lib/WABinary/types.js +2 -0
  110. package/lib/WAM/BinaryInfo.d.ts +8 -0
  111. package/lib/WAM/constants.d.ts +38 -0
  112. package/lib/WAM/encode.d.ts +2 -0
  113. package/lib/WAM/index.d.ts +3 -0
  114. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  115. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  116. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  117. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  118. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  119. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  120. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  121. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  122. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  123. package/lib/WAUSync/Protocols/index.js +20 -0
  124. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  125. package/lib/WAUSync/USyncQuery.js +79 -0
  126. package/lib/WAUSync/USyncUser.d.ts +10 -0
  127. package/lib/WAUSync/USyncUser.js +22 -0
  128. package/lib/WAUSync/index.d.ts +3 -0
  129. package/lib/WAUSync/index.js +19 -0
  130. package/{src → lib}/index.js +1 -0
  131. package/package.json +26 -8
  132. package/LICENSE +0 -21
  133. package/src/Defaults/baileys-version.json +0 -3
  134. package/src/Defaults/index.ts +0 -131
  135. package/src/README.md +0 -1
  136. package/src/Signal/libsignal.js +0 -180
  137. package/src/Signal/libsignal.ts +0 -141
  138. package/src/Socket/Client/abstract-socket-client.ts +0 -19
  139. package/src/Socket/Client/index.ts +0 -3
  140. package/src/Socket/Client/mobile-socket-client.js +0 -78
  141. package/src/Socket/Client/mobile-socket-client.ts +0 -66
  142. package/src/Socket/Client/web-socket-client.js +0 -75
  143. package/src/Socket/Client/web-socket-client.ts +0 -57
  144. package/src/Socket/business.ts +0 -281
  145. package/src/Socket/chats.ts +0 -1030
  146. package/src/Socket/groups.ts +0 -356
  147. package/src/Socket/index.ts +0 -13
  148. package/src/Socket/messages-recv.ts +0 -985
  149. package/src/Socket/messages-send.ts +0 -871
  150. package/src/Socket/newsletter.ts +0 -282
  151. package/src/Socket/registration.ts +0 -250
  152. package/src/Socket/socket.ts +0 -777
  153. package/src/Store/index.ts +0 -3
  154. package/src/Store/make-cache-manager-store.ts +0 -100
  155. package/src/Store/make-in-memory-store.ts +0 -475
  156. package/src/Store/make-ordered-dictionary.ts +0 -86
  157. package/src/Store/object-repository.ts +0 -32
  158. package/src/Tests/test.app-state-sync.js +0 -204
  159. package/src/Tests/test.app-state-sync.ts +0 -207
  160. package/src/Tests/test.event-buffer.js +0 -270
  161. package/src/Tests/test.event-buffer.ts +0 -319
  162. package/src/Tests/test.key-store.js +0 -76
  163. package/src/Tests/test.key-store.ts +0 -92
  164. package/src/Tests/test.libsignal.js +0 -141
  165. package/src/Tests/test.libsignal.ts +0 -186
  166. package/src/Tests/test.media-download.js +0 -93
  167. package/src/Tests/test.media-download.ts +0 -76
  168. package/src/Tests/test.messages.js +0 -33
  169. package/src/Tests/test.messages.ts +0 -37
  170. package/src/Tests/utils.js +0 -34
  171. package/src/Tests/utils.ts +0 -36
  172. package/src/Types/Auth.ts +0 -113
  173. package/src/Types/Call.ts +0 -15
  174. package/src/Types/Chat.ts +0 -106
  175. package/src/Types/Events.ts +0 -93
  176. package/src/Types/GroupMetadata.ts +0 -53
  177. package/src/Types/Label.ts +0 -36
  178. package/src/Types/Message.ts +0 -288
  179. package/src/Types/Newsletter.ts +0 -98
  180. package/src/Types/Product.ts +0 -85
  181. package/src/Types/Signal.ts +0 -68
  182. package/src/Types/State.ts +0 -29
  183. package/src/Types/index.ts +0 -59
  184. package/src/Utils/auth-utils.ts +0 -222
  185. package/src/Utils/baileys-event-stream.js +0 -92
  186. package/src/Utils/baileys-event-stream.ts +0 -66
  187. package/src/Utils/business.ts +0 -275
  188. package/src/Utils/chat-utils.ts +0 -860
  189. package/src/Utils/crypto.ts +0 -131
  190. package/src/Utils/decode-wa-message.js +0 -211
  191. package/src/Utils/decode-wa-message.ts +0 -228
  192. package/src/Utils/event-buffer.ts +0 -613
  193. package/src/Utils/generics.ts +0 -434
  194. package/src/Utils/history.ts +0 -112
  195. package/src/Utils/index.ts +0 -17
  196. package/src/Utils/link-preview.ts +0 -122
  197. package/src/Utils/logger.ts +0 -3
  198. package/src/Utils/lt-hash.ts +0 -61
  199. package/src/Utils/make-mutex.ts +0 -44
  200. package/src/Utils/messages-media.ts +0 -847
  201. package/src/Utils/messages.ts +0 -956
  202. package/src/Utils/noise-handler.ts +0 -197
  203. package/src/Utils/process-message.ts +0 -414
  204. package/src/Utils/signal.ts +0 -177
  205. package/src/Utils/use-multi-file-auth-state.ts +0 -90
  206. package/src/Utils/validate-connection.ts +0 -238
  207. package/src/WABinary/constants.ts +0 -42
  208. package/src/WABinary/decode.ts +0 -265
  209. package/src/WABinary/encode.ts +0 -236
  210. package/src/WABinary/generic-utils.ts +0 -121
  211. package/src/WABinary/index.ts +0 -5
  212. package/src/WABinary/jid-utils.ts +0 -68
  213. package/src/WABinary/types.ts +0 -17
  214. package/src/WAM/BinaryInfo.ts +0 -12
  215. package/src/WAM/constants.ts +0 -15382
  216. package/src/WAM/encode.ts +0 -174
  217. package/src/WAM/index.ts +0 -3
  218. package/src/gifted +0 -1
  219. package/src/index.ts +0 -13
  220. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  221. /package/{src → lib}/Socket/Client/abstract-socket-client.js +0 -0
  222. /package/{src → lib}/Store/index.js +0 -0
  223. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  224. /package/{src → lib}/Types/Auth.js +0 -0
  225. /package/{src → lib}/Types/Call.js +0 -0
  226. /package/{src → lib}/Types/Chat.js +0 -0
  227. /package/{src → lib}/Types/Contact.js +0 -0
  228. /package/{src → lib}/Types/Events.js +0 -0
  229. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  230. /package/{src → lib}/Types/Label.js +0 -0
  231. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  232. /package/{src → lib}/Types/Message.js +0 -0
  233. /package/{src → lib}/Types/Newsletter.js +0 -0
  234. /package/{src → lib}/Types/Product.js +0 -0
  235. /package/{src → lib}/Types/Signal.js +0 -0
  236. /package/{src → lib}/Types/Socket.js +0 -0
  237. /package/{src → lib}/Types/State.js +0 -0
  238. /package/{src/WABinary/types.js → lib/Types/USync.js} +0 -0
  239. /package/{src → lib}/Types/index.js +0 -0
  240. /package/{src → lib}/Utils/index.js +0 -0
  241. /package/{src → lib}/Utils/logger.js +0 -0
  242. /package/{src → lib}/Utils/lt-hash.js +0 -0
  243. /package/{src → lib}/Utils/noise-handler.js +0 -0
  244. /package/{src → lib}/WABinary/constants.js +0 -0
  245. /package/{src → lib}/WABinary/decode.js +0 -0
  246. /package/{src → lib}/WABinary/generic-utils.js +0 -0
  247. /package/{src → lib}/WABinary/index.js +0 -0
  248. /package/{src → lib}/WABinary/jid-utils.js +0 -0
  249. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  250. /package/{src → lib}/WAM/constants.js +0 -0
  251. /package/{src → lib}/WAM/encode.js +0 -0
  252. /package/{src → lib}/WAM/index.js +0 -0
@@ -0,0 +1,132 @@
1
+ import { NewsletterFetchedUpdate, NewsletterMetadata, NewsletterReactionMode, NewsletterViewRole, SocketConfig, WAMediaUpload } from '../Types';
2
+ import { BinaryNode } from '../WABinary';
3
+ export declare const makeNewsletterSocket: (config: SocketConfig) => {
4
+ subscribeNewsletterUpdates: (jid: string) => Promise<{
5
+ duration: string;
6
+ }>;
7
+ newsletterReactionMode: (jid: string, mode: NewsletterReactionMode) => Promise<void>;
8
+ newsletterUpdateDescription: (jid: string, description?: string) => Promise<void>;
9
+ newsletterUpdateName: (jid: string, name: string) => Promise<void>;
10
+ newsletterUpdatePicture: (jid: string, content: WAMediaUpload) => Promise<void>;
11
+ newsletterRemovePicture: (jid: string) => Promise<void>;
12
+ newsletterUnfollow: (jid: string) => Promise<void>;
13
+ newsletterFollow: (jid: string) => Promise<void>;
14
+ newsletterUnmute: (jid: string) => Promise<void>;
15
+ newsletterMute: (jid: string) => Promise<void>;
16
+ newsletterAction: (jid: string, type: "follow" | "unfollow" | "mute" | "unmute") => Promise<void>;
17
+ newsletterCreate: (name: string, description: string) => Promise<NewsletterMetadata>;
18
+ newsletterMetadata: (type: "invite" | "jid", key: string, role?: NewsletterViewRole) => Promise<NewsletterMetadata>;
19
+ newsletterAdminCount: (jid: string) => Promise<number>;
20
+ /**user is Lid, not Jid */
21
+ newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
22
+ /**user is Lid, not Jid */
23
+ newsletterDemote: (jid: string, user: string) => Promise<void>;
24
+ newsletterDelete: (jid: string) => Promise<void>;
25
+ /**if code wasn't passed, the reaction will be removed (if is reacted) */
26
+ newsletterReactMessage: (jid: string, serverId: string, code?: string) => Promise<void>;
27
+ newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number) => Promise<NewsletterFetchedUpdate[]>;
28
+ newsletterFetchUpdates: (jid: string, count: number, after?: number, since?: number) => Promise<NewsletterFetchedUpdate[]>;
29
+ groupMetadata: (jid: string) => Promise<import("../Types").GroupMetadata>;
30
+ groupCreate: (subject: string, participants: string[]) => Promise<import("../Types").GroupMetadata>;
31
+ groupLeave: (id: string) => Promise<void>;
32
+ groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
33
+ groupRequestParticipantsList: (jid: string) => Promise<{
34
+ [key: string]: string;
35
+ }[]>;
36
+ groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
37
+ status: string;
38
+ jid: string;
39
+ }[]>;
40
+ groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types").ParticipantAction) => Promise<{
41
+ status: string;
42
+ jid: string;
43
+ content: BinaryNode;
44
+ }[]>;
45
+ groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
46
+ groupInviteCode: (jid: string) => Promise<string | undefined>;
47
+ groupRevokeInvite: (jid: string) => Promise<string | undefined>;
48
+ groupAcceptInvite: (code: string) => Promise<string | undefined>;
49
+ groupAcceptInviteV4: (key: string | import("../Types").WAProto.IMessageKey, inviteMessage: import("../Types").WAProto.Message.IGroupInviteMessage) => Promise<string>;
50
+ groupGetInviteInfo: (code: string) => Promise<import("../Types").GroupMetadata>;
51
+ groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
52
+ groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
53
+ groupMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
54
+ groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
55
+ groupFetchAllParticipating: () => Promise<{
56
+ [_: string]: import("../Types").GroupMetadata;
57
+ }>;
58
+ processingMutex: {
59
+ mutex<T>(code: () => Promise<T> | T): Promise<T>;
60
+ };
61
+ fetchPrivacySettings: (force?: boolean) => Promise<{
62
+ [_: string]: string;
63
+ }>;
64
+ upsertMessage: (msg: import("../Types").WAProto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
65
+ appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
66
+ sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string) => Promise<void>;
67
+ presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
68
+ profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
69
+ onWhatsApp: (...jids: string[]) => Promise<{
70
+ exists: boolean;
71
+ jid: string;
72
+ }[]>;
73
+ fetchBlocklist: () => Promise<string[]>;
74
+ fetchStatus: (jid: string) => Promise<{
75
+ status: string | undefined;
76
+ setAt: Date;
77
+ } | undefined>;
78
+ updateProfilePicture: (jid: string, content: WAMediaUpload) => Promise<void>;
79
+ removeProfilePicture: (jid: string) => Promise<void>;
80
+ updateProfileStatus: (status: string) => Promise<void>;
81
+ updateProfileName: (name: string) => Promise<void>;
82
+ updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
83
+ updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
84
+ updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
85
+ updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
86
+ updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
87
+ updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
88
+ updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
89
+ updateDefaultDisappearingMode: (duration: number) => Promise<void>;
90
+ getBusinessProfile: (jid: string) => Promise<import("../Types").WABusinessProfile | void>;
91
+ resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
92
+ chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
93
+ cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
94
+ addChatLabel: (jid: string, labelId: string) => Promise<void>;
95
+ removeChatLabel: (jid: string, labelId: string) => Promise<void>;
96
+ addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
97
+ removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
98
+ star: (jid: string, messages: {
99
+ id: string;
100
+ fromMe?: boolean;
101
+ }[], star: boolean) => Promise<void>;
102
+ type: "md";
103
+ ws: any;
104
+ ev: import("../Types").BaileysEventEmitter & {
105
+ process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): (() => void);
106
+ buffer(): void;
107
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): ((...args: A) => Promise<T>);
108
+ flush(force?: boolean): boolean;
109
+ isBuffering(): boolean;
110
+ };
111
+ authState: {
112
+ creds: import("../Types").AuthenticationCreds;
113
+ keys: import("../Types").SignalKeyStoreWithTransaction;
114
+ };
115
+ signalRepository: import("../Types").SignalRepository;
116
+ user: import("../Types").Contact | undefined;
117
+ generateMessageTag: () => string;
118
+ query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
119
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T>;
120
+ waitForSocketOpen: () => Promise<void>;
121
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
122
+ sendNode: (frame: BinaryNode) => Promise<void>;
123
+ logout: (msg?: string) => Promise<void>;
124
+ end: (error: Error | undefined) => void;
125
+ onUnexpectedError: (err: Error | Boom, msg: string) => void;
126
+ uploadPreKeys: (count?: number) => Promise<void>;
127
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
128
+ requestPairingCode: (phoneNumber: string, pairCode: string) => Promise<string>;
129
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number) => Promise<void>;
130
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<BinaryNode>;
131
+ };
132
+ export declare const extractNewsletterMetadata: (node: BinaryNode, isCreate?: boolean) => NewsletterMetadata;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.extractNewsletterMetadata = exports.makeNewsletterSocket = void 0;
13
4
  const Types_1 = require("../Types");
@@ -18,39 +9,38 @@ const makeNewsletterSocket = (config) => {
18
9
  const sock = (0, groups_1.makeGroupsSocket)(config);
19
10
  const { authState, signalRepository, query, generateMessageTag } = sock;
20
11
  const encoder = new TextEncoder();
21
- const newsletterQuery = (jid, type, content) => __awaiter(void 0, void 0, void 0, function* () {
22
- return (query({
23
- tag: 'iq',
24
- attrs: {
25
- id: generateMessageTag(),
26
- type,
27
- xmlns: 'newsletter',
28
- to: jid,
29
- },
30
- content
31
- }));
32
- });
33
- const newsletterWMexQuery = (jid, queryId, content) => __awaiter(void 0, void 0, void 0, function* () {
34
- return (query({
35
- tag: 'iq',
36
- attrs: {
37
- id: generateMessageTag(),
38
- type: 'get',
39
- xmlns: 'w:mex',
40
- to: WABinary_1.S_WHATSAPP_NET,
41
- },
42
- content: [
43
- {
44
- tag: 'query',
45
- attrs: { 'query_id': queryId },
46
- content: encoder.encode(JSON.stringify({
47
- variables: Object.assign({ 'newsletter_id': jid }, content)
48
- }))
49
- }
50
- ]
51
- }));
52
- });
53
- const parseFetchedUpdates = (node, type) => __awaiter(void 0, void 0, void 0, function* () {
12
+ const newsletterQuery = async (jid, type, content) => (query({
13
+ tag: 'iq',
14
+ attrs: {
15
+ id: generateMessageTag(),
16
+ type,
17
+ xmlns: 'newsletter',
18
+ to: jid,
19
+ },
20
+ content
21
+ }));
22
+ const newsletterWMexQuery = async (jid, queryId, content) => (query({
23
+ tag: 'iq',
24
+ attrs: {
25
+ id: generateMessageTag(),
26
+ type: 'get',
27
+ xmlns: 'w:mex',
28
+ to: WABinary_1.S_WHATSAPP_NET,
29
+ },
30
+ content: [
31
+ {
32
+ tag: 'query',
33
+ attrs: { 'query_id': queryId },
34
+ content: encoder.encode(JSON.stringify({
35
+ variables: {
36
+ 'newsletter_id': jid,
37
+ ...content
38
+ }
39
+ }))
40
+ }
41
+ ]
42
+ }));
43
+ const parseFetchedUpdates = async (node, type) => {
54
44
  let child;
55
45
  if (type === 'messages') {
56
46
  child = (0, WABinary_1.getBinaryNodeChild)(node, 'messages');
@@ -59,7 +49,7 @@ const makeNewsletterSocket = (config) => {
59
49
  const parent = (0, WABinary_1.getBinaryNodeChild)(node, 'message_updates');
60
50
  child = (0, WABinary_1.getBinaryNodeChild)(parent, 'messages');
61
51
  }
62
- return yield Promise.all((0, WABinary_1.getAllBinaryNodeChildren)(child).map((messageNode) => __awaiter(void 0, void 0, void 0, function* () {
52
+ return await Promise.all((0, WABinary_1.getAllBinaryNodeChildren)(child).map(async (messageNode) => {
63
53
  var _a, _b;
64
54
  messageNode.attrs.from = child === null || child === void 0 ? void 0 : child.attrs.jid;
65
55
  const views = parseInt(((_b = (_a = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'views_count')) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.count) || '0');
@@ -72,52 +62,65 @@ const makeNewsletterSocket = (config) => {
72
62
  reactions
73
63
  };
74
64
  if (type === 'messages') {
75
- const { fullMessage: message, decrypt } = yield (0, Utils_1.decryptMessageNode)(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger);
76
- yield decrypt();
65
+ const { fullMessage: message, decrypt } = await (0, Utils_1.decryptMessageNode)(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger);
66
+ await decrypt();
77
67
  data.message = message;
78
68
  }
79
69
  return data;
80
- })));
81
- });
82
- return Object.assign(Object.assign({}, sock), { subscribeNewsletterUpdates: (jid) => __awaiter(void 0, void 0, void 0, function* () {
70
+ }));
71
+ };
72
+ return {
73
+ ...sock,
74
+ subscribeNewsletterUpdates: async (jid) => {
83
75
  var _a;
84
- const result = yield newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }]);
76
+ const result = await newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }]);
85
77
  return (_a = (0, WABinary_1.getBinaryNodeChild)(result, 'live_updates')) === null || _a === void 0 ? void 0 : _a.attrs;
86
- }), newsletterReactionMode: (jid, mode) => __awaiter(void 0, void 0, void 0, function* () {
87
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
78
+ },
79
+ newsletterReactionMode: async (jid, mode) => {
80
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
88
81
  updates: { settings: { 'reaction_codes': { value: mode } } }
89
82
  });
90
- }), newsletterUpdateDescription: (jid, description) => __awaiter(void 0, void 0, void 0, function* () {
91
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
83
+ },
84
+ newsletterUpdateDescription: async (jid, description) => {
85
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
92
86
  updates: { description: description || '', settings: null }
93
87
  });
94
- }), newsletterUpdateName: (jid, name) => __awaiter(void 0, void 0, void 0, function* () {
95
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
88
+ },
89
+ newsletterUpdateName: async (jid, name) => {
90
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
96
91
  updates: { name, settings: null }
97
92
  });
98
- }), newsletterUpdatePicture: (jid, content) => __awaiter(void 0, void 0, void 0, function* () {
99
- const { img } = yield (0, Utils_1.generateProfilePicture)(content);
100
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
93
+ },
94
+ newsletterUpdatePicture: async (jid, content) => {
95
+ const { img } = await (0, Utils_1.generateProfilePicture)(content);
96
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
101
97
  updates: { picture: img.toString('base64'), settings: null }
102
98
  });
103
- }), newsletterRemovePicture: (jid) => __awaiter(void 0, void 0, void 0, function* () {
104
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
99
+ },
100
+ newsletterRemovePicture: async (jid) => {
101
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
105
102
  updates: { picture: '', settings: null }
106
103
  });
107
- }), newsletterUnfollow: (jid) => __awaiter(void 0, void 0, void 0, function* () {
108
- yield newsletterWMexQuery(jid, Types_1.QueryIds.UNFOLLOW);
109
- }), newsletterFollow: (jid) => __awaiter(void 0, void 0, void 0, function* () {
110
- yield newsletterWMexQuery(jid, Types_1.QueryIds.FOLLOW);
111
- }), newsletterUnmute: (jid) => __awaiter(void 0, void 0, void 0, function* () {
112
- yield newsletterWMexQuery(jid, Types_1.QueryIds.UNMUTE);
113
- }), newsletterMute: (jid) => __awaiter(void 0, void 0, void 0, function* () {
114
- yield newsletterWMexQuery(jid, Types_1.QueryIds.MUTE);
115
- }), newsletterAction: (jid, type) => __awaiter(void 0, void 0, void 0, function* () {
116
- yield newsletterWMexQuery(jid, type.toUpperCase());
117
- }), newsletterCreate: (name, description, reaction_codes) => __awaiter(void 0, void 0, void 0, function* () {
104
+ },
105
+ newsletterUnfollow: async (jid) => {
106
+ await newsletterWMexQuery(jid, Types_1.QueryIds.UNFOLLOW);
107
+ },
108
+ newsletterFollow: async (jid) => {
109
+ await newsletterWMexQuery(jid, Types_1.QueryIds.FOLLOW);
110
+ },
111
+ newsletterUnmute: async (jid) => {
112
+ await newsletterWMexQuery(jid, Types_1.QueryIds.UNMUTE);
113
+ },
114
+ newsletterMute: async (jid) => {
115
+ await newsletterWMexQuery(jid, Types_1.QueryIds.MUTE);
116
+ },
117
+ newsletterAction: async (jid, type) => {
118
+ await newsletterWMexQuery(jid, Types_1.QueryIds[type.toUpperCase()]);
119
+ },
120
+ newsletterCreate: async (name, description) => {
118
121
  //TODO: Implement TOS system wide for Meta AI, communities, and here etc.
119
122
  /**tos query */
120
- yield query({
123
+ await query({
121
124
  tag: 'iq',
122
125
  attrs: {
123
126
  to: WABinary_1.S_WHATSAPP_NET,
@@ -136,12 +139,13 @@ const makeNewsletterSocket = (config) => {
136
139
  }
137
140
  ]
138
141
  });
139
- const result = yield newsletterWMexQuery(undefined, Types_1.QueryIds.CREATE, {
140
- input: { name, description, settings: { 'reaction_codes': { value: reaction_codes.toUpperCase() } } }
142
+ const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.CREATE, {
143
+ input: { name, description, settings: null }
141
144
  });
142
145
  return (0, exports.extractNewsletterMetadata)(result, true);
143
- }), newsletterMetadata: (type, key, role) => __awaiter(void 0, void 0, void 0, function* () {
144
- const result = yield newsletterWMexQuery(undefined, Types_1.QueryIds.METADATA, {
146
+ },
147
+ newsletterMetadata: async (type, key, role) => {
148
+ const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.METADATA, {
145
149
  input: {
146
150
  key,
147
151
  type: type.toUpperCase(),
@@ -152,53 +156,58 @@ const makeNewsletterSocket = (config) => {
152
156
  'fetch_creation_time': true
153
157
  });
154
158
  return (0, exports.extractNewsletterMetadata)(result);
155
- }), newsletterAdminCount: (jid) => __awaiter(void 0, void 0, void 0, function* () {
159
+ },
160
+ newsletterAdminCount: async (jid) => {
156
161
  var _a, _b;
157
- const result = yield newsletterWMexQuery(jid, Types_1.QueryIds.ADMIN_COUNT);
162
+ const result = await newsletterWMexQuery(jid, Types_1.QueryIds.ADMIN_COUNT);
158
163
  const buff = (_b = (_a = (0, WABinary_1.getBinaryNodeChild)(result, 'result')) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.toString();
159
164
  return JSON.parse(buff).data[Types_1.XWAPaths.ADMIN_COUNT].admin_count;
160
- }),
165
+ },
161
166
  /**user is Lid, not Jid */
162
- newsletterChangeOwner: (jid, user) => __awaiter(void 0, void 0, void 0, function* () {
163
- yield newsletterWMexQuery(jid, Types_1.QueryIds.CHANGE_OWNER, {
167
+ newsletterChangeOwner: async (jid, user) => {
168
+ await newsletterWMexQuery(jid, Types_1.QueryIds.CHANGE_OWNER, {
164
169
  'user_id': user
165
170
  });
166
- }),
171
+ },
167
172
  /**user is Lid, not Jid */
168
- newsletterDemote: (jid, user) => __awaiter(void 0, void 0, void 0, function* () {
169
- yield newsletterWMexQuery(jid, Types_1.QueryIds.DEMOTE, {
173
+ newsletterDemote: async (jid, user) => {
174
+ await newsletterWMexQuery(jid, Types_1.QueryIds.DEMOTE, {
170
175
  'user_id': user
171
176
  });
172
- }), newsletterDelete: (jid) => __awaiter(void 0, void 0, void 0, function* () {
173
- yield newsletterWMexQuery(jid, Types_1.QueryIds.DELETE);
174
- }),
177
+ },
178
+ newsletterDelete: async (jid) => {
179
+ await newsletterWMexQuery(jid, Types_1.QueryIds.DELETE);
180
+ },
175
181
  /**if code wasn't passed, the reaction will be removed (if is reacted) */
176
- newsletterReactMessage: (jid, serverId, code) => __awaiter(void 0, void 0, void 0, function* () {
177
- yield query({
182
+ newsletterReactMessage: async (jid, serverId, code) => {
183
+ await query({
178
184
  tag: 'message',
179
- attrs: Object.assign(Object.assign({ to: jid }, (!code ? { edit: '7' } : {})), { type: 'reaction', 'server_id': serverId, id: (0, Utils_1.generateMessageID)() }),
185
+ attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', 'server_id': serverId, id: (0, Utils_1.generateMessageID)() },
180
186
  content: [{
181
187
  tag: 'reaction',
182
188
  attrs: code ? { code } : {}
183
189
  }]
184
190
  });
185
- }), newsletterFetchMessages: (type, key, count, after) => __awaiter(void 0, void 0, void 0, function* () {
186
- const result = yield newsletterQuery(WABinary_1.S_WHATSAPP_NET, 'get', [
191
+ },
192
+ newsletterFetchMessages: async (type, key, count, after) => {
193
+ const result = await newsletterQuery(WABinary_1.S_WHATSAPP_NET, 'get', [
187
194
  {
188
195
  tag: 'messages',
189
- attrs: Object.assign(Object.assign({ type }, (type === 'invite' ? { key } : { jid: key })), { count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100' })
196
+ attrs: { type, ...(type === 'invite' ? { key } : { jid: key }), count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100' }
190
197
  }
191
198
  ]);
192
- return yield parseFetchedUpdates(result, 'messages');
193
- }), newsletterFetchUpdates: (jid, count, after, since) => __awaiter(void 0, void 0, void 0, function* () {
194
- const result = yield newsletterQuery(jid, 'get', [
199
+ return await parseFetchedUpdates(result, 'messages');
200
+ },
201
+ newsletterFetchUpdates: async (jid, count, after, since) => {
202
+ const result = await newsletterQuery(jid, 'get', [
195
203
  {
196
204
  tag: 'message_updates',
197
205
  attrs: { count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100', since: (since === null || since === void 0 ? void 0 : since.toString()) || '0' }
198
206
  }
199
207
  ]);
200
- return yield parseFetchedUpdates(result, 'updates');
201
- }) });
208
+ return await parseFetchedUpdates(result, 'updates');
209
+ }
210
+ };
202
211
  };
203
212
  exports.makeNewsletterSocket = makeNewsletterSocket;
204
213
  const extractNewsletterMetadata = (node, isCreate) => {