@oxidezap/baileyrs 0.0.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 (173) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +490 -0
  3. package/WAProto/index.d.ts +13875 -0
  4. package/WAProto/index.js +175 -0
  5. package/lib/Defaults/index.d.ts +9 -0
  6. package/lib/Defaults/index.d.ts.map +1 -0
  7. package/lib/Defaults/index.js +32 -0
  8. package/lib/Defaults/index.js.map +1 -0
  9. package/lib/Socket/blocking.d.ts +6 -0
  10. package/lib/Socket/blocking.d.ts.map +1 -0
  11. package/lib/Socket/blocking.js +9 -0
  12. package/lib/Socket/blocking.js.map +1 -0
  13. package/lib/Socket/chat-actions.d.ts +32 -0
  14. package/lib/Socket/chat-actions.d.ts.map +1 -0
  15. package/lib/Socket/chat-actions.js +78 -0
  16. package/lib/Socket/chat-actions.js.map +1 -0
  17. package/lib/Socket/contacts.d.ts +10 -0
  18. package/lib/Socket/contacts.d.ts.map +1 -0
  19. package/lib/Socket/contacts.js +21 -0
  20. package/lib/Socket/contacts.js.map +1 -0
  21. package/lib/Socket/events.d.ts +10 -0
  22. package/lib/Socket/events.d.ts.map +1 -0
  23. package/lib/Socket/events.js +293 -0
  24. package/lib/Socket/events.js.map +1 -0
  25. package/lib/Socket/groups.d.ts +28 -0
  26. package/lib/Socket/groups.d.ts.map +1 -0
  27. package/lib/Socket/groups.js +90 -0
  28. package/lib/Socket/groups.js.map +1 -0
  29. package/lib/Socket/index.d.ts +202 -0
  30. package/lib/Socket/index.d.ts.map +1 -0
  31. package/lib/Socket/index.js +378 -0
  32. package/lib/Socket/index.js.map +1 -0
  33. package/lib/Socket/messages.d.ts +42 -0
  34. package/lib/Socket/messages.d.ts.map +1 -0
  35. package/lib/Socket/messages.js +172 -0
  36. package/lib/Socket/messages.js.map +1 -0
  37. package/lib/Socket/newsletter.d.ts +9 -0
  38. package/lib/Socket/newsletter.d.ts.map +1 -0
  39. package/lib/Socket/newsletter.js +18 -0
  40. package/lib/Socket/newsletter.js.map +1 -0
  41. package/lib/Socket/presence.d.ts +7 -0
  42. package/lib/Socket/presence.d.ts.map +1 -0
  43. package/lib/Socket/presence.js +12 -0
  44. package/lib/Socket/presence.js.map +1 -0
  45. package/lib/Socket/profile.d.ts +14 -0
  46. package/lib/Socket/profile.d.ts.map +1 -0
  47. package/lib/Socket/profile.js +36 -0
  48. package/lib/Socket/profile.js.map +1 -0
  49. package/lib/Socket/transport.d.ts +12 -0
  50. package/lib/Socket/transport.d.ts.map +1 -0
  51. package/lib/Socket/transport.js +90 -0
  52. package/lib/Socket/transport.js.map +1 -0
  53. package/lib/Socket/types.d.ts +30 -0
  54. package/lib/Socket/types.d.ts.map +1 -0
  55. package/lib/Socket/types.js +3 -0
  56. package/lib/Socket/types.js.map +1 -0
  57. package/lib/Types/Auth.d.ts +144 -0
  58. package/lib/Types/Auth.d.ts.map +1 -0
  59. package/lib/Types/Auth.js +2 -0
  60. package/lib/Types/Auth.js.map +1 -0
  61. package/lib/Types/BinaryNode.d.ts +15 -0
  62. package/lib/Types/BinaryNode.d.ts.map +1 -0
  63. package/lib/Types/BinaryNode.js +2 -0
  64. package/lib/Types/BinaryNode.js.map +1 -0
  65. package/lib/Types/Bussines.d.ts +25 -0
  66. package/lib/Types/Bussines.d.ts.map +1 -0
  67. package/lib/Types/Bussines.js +2 -0
  68. package/lib/Types/Bussines.js.map +1 -0
  69. package/lib/Types/Call.d.ts +15 -0
  70. package/lib/Types/Call.d.ts.map +1 -0
  71. package/lib/Types/Call.js +2 -0
  72. package/lib/Types/Call.js.map +1 -0
  73. package/lib/Types/Chat.d.ts +123 -0
  74. package/lib/Types/Chat.d.ts.map +1 -0
  75. package/lib/Types/Chat.js +8 -0
  76. package/lib/Types/Chat.js.map +1 -0
  77. package/lib/Types/Contact.d.ts +24 -0
  78. package/lib/Types/Contact.d.ts.map +1 -0
  79. package/lib/Types/Contact.js +2 -0
  80. package/lib/Types/Contact.js.map +1 -0
  81. package/lib/Types/Events.d.ts +238 -0
  82. package/lib/Types/Events.d.ts.map +1 -0
  83. package/lib/Types/Events.js +2 -0
  84. package/lib/Types/Events.js.map +1 -0
  85. package/lib/Types/GroupMetadata.d.ts +67 -0
  86. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  87. package/lib/Types/GroupMetadata.js +2 -0
  88. package/lib/Types/GroupMetadata.js.map +1 -0
  89. package/lib/Types/Label.d.ts +47 -0
  90. package/lib/Types/Label.d.ts.map +1 -0
  91. package/lib/Types/Label.js +25 -0
  92. package/lib/Types/Label.js.map +1 -0
  93. package/lib/Types/LabelAssociation.d.ts +30 -0
  94. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  95. package/lib/Types/LabelAssociation.js +7 -0
  96. package/lib/Types/LabelAssociation.js.map +1 -0
  97. package/lib/Types/Message.d.ts +298 -0
  98. package/lib/Types/Message.d.ts.map +1 -0
  99. package/lib/Types/Message.js +12 -0
  100. package/lib/Types/Message.js.map +1 -0
  101. package/lib/Types/Newsletter.d.ts +98 -0
  102. package/lib/Types/Newsletter.d.ts.map +1 -0
  103. package/lib/Types/Newsletter.js +31 -0
  104. package/lib/Types/Newsletter.js.map +1 -0
  105. package/lib/Types/Socket.d.ts +54 -0
  106. package/lib/Types/Socket.d.ts.map +1 -0
  107. package/lib/Types/Socket.js +2 -0
  108. package/lib/Types/Socket.js.map +1 -0
  109. package/lib/Types/State.d.ts +29 -0
  110. package/lib/Types/State.d.ts.map +1 -0
  111. package/lib/Types/State.js +2 -0
  112. package/lib/Types/State.js.map +1 -0
  113. package/lib/Types/index.d.ts +60 -0
  114. package/lib/Types/index.d.ts.map +1 -0
  115. package/lib/Types/index.js +25 -0
  116. package/lib/Types/index.js.map +1 -0
  117. package/lib/Utils/browser-utils.d.ts +3 -0
  118. package/lib/Utils/browser-utils.d.ts.map +1 -0
  119. package/lib/Utils/browser-utils.js +22 -0
  120. package/lib/Utils/browser-utils.js.map +1 -0
  121. package/lib/Utils/event-buffer.d.ts +7 -0
  122. package/lib/Utils/event-buffer.d.ts.map +1 -0
  123. package/lib/Utils/event-buffer.js +42 -0
  124. package/lib/Utils/event-buffer.js.map +1 -0
  125. package/lib/Utils/generics.d.ts +13 -0
  126. package/lib/Utils/generics.d.ts.map +1 -0
  127. package/lib/Utils/generics.js +40 -0
  128. package/lib/Utils/generics.js.map +1 -0
  129. package/lib/Utils/index.d.ts +10 -0
  130. package/lib/Utils/index.d.ts.map +1 -0
  131. package/lib/Utils/index.js +10 -0
  132. package/lib/Utils/index.js.map +1 -0
  133. package/lib/Utils/logger.d.ts +13 -0
  134. package/lib/Utils/logger.d.ts.map +1 -0
  135. package/lib/Utils/logger.js +3 -0
  136. package/lib/Utils/logger.js.map +1 -0
  137. package/lib/Utils/messages-media.d.ts +51 -0
  138. package/lib/Utils/messages-media.d.ts.map +1 -0
  139. package/lib/Utils/messages-media.js +223 -0
  140. package/lib/Utils/messages-media.js.map +1 -0
  141. package/lib/Utils/messages.d.ts +88 -0
  142. package/lib/Utils/messages.d.ts.map +1 -0
  143. package/lib/Utils/messages.js +730 -0
  144. package/lib/Utils/messages.js.map +1 -0
  145. package/lib/Utils/use-bridge-store.d.ts +13 -0
  146. package/lib/Utils/use-bridge-store.d.ts.map +1 -0
  147. package/lib/Utils/use-bridge-store.js +124 -0
  148. package/lib/Utils/use-bridge-store.js.map +1 -0
  149. package/lib/Utils/use-memory-store.d.ts +9 -0
  150. package/lib/Utils/use-memory-store.d.ts.map +1 -0
  151. package/lib/Utils/use-memory-store.js +23 -0
  152. package/lib/Utils/use-memory-store.js.map +1 -0
  153. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  154. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  155. package/lib/Utils/use-multi-file-auth-state.js +26 -0
  156. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  157. package/lib/Utils/wrap-legacy-store.d.ts +36 -0
  158. package/lib/Utils/wrap-legacy-store.d.ts.map +1 -0
  159. package/lib/Utils/wrap-legacy-store.js +708 -0
  160. package/lib/Utils/wrap-legacy-store.js.map +1 -0
  161. package/lib/WABinary/index.d.ts +2 -0
  162. package/lib/WABinary/index.d.ts.map +1 -0
  163. package/lib/WABinary/index.js +2 -0
  164. package/lib/WABinary/index.js.map +1 -0
  165. package/lib/WABinary/jid-utils.d.ts +20 -0
  166. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  167. package/lib/WABinary/jid-utils.js +51 -0
  168. package/lib/WABinary/jid-utils.js.map +1 -0
  169. package/lib/index.d.ts +10 -0
  170. package/lib/index.d.ts.map +1 -0
  171. package/lib/index.js +9 -0
  172. package/lib/index.js.map +1 -0
  173. package/package.json +98 -0
@@ -0,0 +1,378 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import { Buffer } from 'node:buffer';
3
+ import { EventEmitter } from 'node:events';
4
+ import { createWhatsAppClient, initWasmEngine } from 'whatsapp-rust-bridge';
5
+ import { DEFAULT_CONNECTION_CONFIG } from '../Defaults/index.js';
6
+ import { DisconnectReason } from '../Types/index.js';
7
+ import { makeEventBuffer } from '../Utils/event-buffer.js';
8
+ import { downloadMediaMessage } from '../Utils/messages.js';
9
+ import { makeBlockingMethods } from './blocking.js';
10
+ import { makeChatActionMethods } from './chat-actions.js';
11
+ import { makeContactMethods } from './contacts.js';
12
+ import { makeEventHandler } from './events.js';
13
+ import { makeGroupMethods } from './groups.js';
14
+ import { makeMessageMethods } from './messages.js';
15
+ import { makeNewsletterMethods } from './newsletter.js';
16
+ import { makePresenceMethods } from './presence.js';
17
+ import { makeProfileMethods } from './profile.js';
18
+ import { makeHttpClient, makeTransport } from './transport.js';
19
+ let wasmInitialized = false;
20
+ /** Build the signalRepository object that delegates to the bridge */
21
+ function makeSignalRepository(ctx) {
22
+ return {
23
+ decryptMessage: async (opts) => {
24
+ return (await ctx.getClient()).signalDecryptMessage(opts.jid, opts.type, opts.ciphertext);
25
+ },
26
+ encryptMessage: async (opts) => {
27
+ return (await ctx.getClient()).signalEncryptMessage(opts.jid, opts.data);
28
+ },
29
+ decryptGroupMessage: async (opts) => {
30
+ return (await ctx.getClient()).signalDecryptGroupMessage(opts.group, opts.authorJid, opts.msg);
31
+ },
32
+ encryptGroupMessage: async (opts) => {
33
+ return (await ctx.getClient()).signalEncryptGroupMessage(opts.group, opts.data, opts.meId);
34
+ },
35
+ processSenderKeyDistributionMessage: async () => { },
36
+ injectE2ESession: async () => { },
37
+ validateSession: async (jid) => {
38
+ const exists = await (await ctx.getClient()).signalValidateSession(jid);
39
+ return { exists };
40
+ },
41
+ jidToSignalProtocolAddress: (jid) => {
42
+ try {
43
+ return ctx.getClientSync().jidToSignalProtocolAddress(jid);
44
+ }
45
+ catch {
46
+ return `${jid}.0`;
47
+ }
48
+ },
49
+ migrateSession: async () => {
50
+ return { migrated: 0, skipped: 0, total: 0 };
51
+ },
52
+ deleteSession: async (jids) => {
53
+ return (await ctx.getClient()).signalDeleteSessions(jids);
54
+ }
55
+ };
56
+ }
57
+ /** Build the ws EventEmitter with auto-enable raw node forwarding */
58
+ function makeWsEmitter(getClient) {
59
+ const ws = new EventEmitter();
60
+ let rawNodeEnabled = false;
61
+ const originalOn = ws.on.bind(ws);
62
+ ws.on = (event, listener) => {
63
+ if (typeof event === 'string' && event.startsWith('CB:') && !rawNodeEnabled) {
64
+ rawNodeEnabled = true;
65
+ try {
66
+ getClient()?.setRawNodeForwarding(true);
67
+ }
68
+ catch {
69
+ // bridge not ready yet — will enable when it initializes
70
+ }
71
+ }
72
+ return originalOn(event, listener);
73
+ };
74
+ Object.defineProperty(ws, 'isOpen', {
75
+ get: () => getClient()?.isConnected() ?? false,
76
+ enumerable: true
77
+ });
78
+ return { ws, isRawNodeEnabled: () => rawNodeEnabled };
79
+ }
80
+ const makeWASocket = (config) => {
81
+ const fullConfig = { ...DEFAULT_CONNECTION_CONFIG, ...config };
82
+ const { auth, logger } = fullConfig;
83
+ const ev = makeEventBuffer();
84
+ let client;
85
+ let user;
86
+ const { ws, isRawNodeEnabled } = makeWsEmitter(() => client);
87
+ let tagEpoch = 0;
88
+ const tagPrefix = `${Date.now().toString(36)}.`;
89
+ const generateMessageTag = () => `${tagPrefix}${tagEpoch++}`;
90
+ let pairedAccount;
91
+ let cachedAccount;
92
+ const ctx = {
93
+ ev,
94
+ logger,
95
+ fullConfig,
96
+ ws,
97
+ getUser: () => user,
98
+ setUser: u => {
99
+ user = u;
100
+ },
101
+ getClient: async () => {
102
+ await initPromise;
103
+ if (initError) {
104
+ throw new Boom('Bridge client failed to initialize: ' + initError.message, { statusCode: 500 });
105
+ }
106
+ if (!client)
107
+ throw new Boom('Client not initialized', { statusCode: 500 });
108
+ return client;
109
+ },
110
+ getClientSync: () => {
111
+ if (!client)
112
+ throw new Boom('Client not initialized', { statusCode: 500 });
113
+ return client;
114
+ }
115
+ };
116
+ const handleEvent = makeEventHandler(ctx, {
117
+ onPairSuccess: data => {
118
+ pairedAccount = data;
119
+ client
120
+ ?.getAccount?.()
121
+ .then((acc) => {
122
+ cachedAccount = acc ?? undefined;
123
+ })
124
+ .catch(() => { });
125
+ }
126
+ });
127
+ const init = async () => {
128
+ if (!wasmInitialized) {
129
+ initWasmEngine(logger);
130
+ wasmInitialized = true;
131
+ }
132
+ ev.emit('connection.update', { connection: 'connecting' });
133
+ const bridgeStore = auth.store ?? null;
134
+ client = await createWhatsAppClient(makeTransport(fullConfig), makeHttpClient(fullConfig), handleEvent, bridgeStore, fullConfig.cache ?? null);
135
+ const [osName, browserName] = fullConfig.browser;
136
+ await client.setDeviceProps(osName, browserName);
137
+ const [major, minor, patch] = fullConfig.version;
138
+ client.setVersion(major, minor, patch);
139
+ const [jid, lid, account] = await Promise.all([
140
+ client.getJid(),
141
+ client.getLid(),
142
+ client.getAccount().catch(() => undefined)
143
+ ]);
144
+ if (jid) {
145
+ user = { id: jid, lid: lid ?? undefined };
146
+ }
147
+ if (account) {
148
+ cachedAccount = account;
149
+ }
150
+ if (isRawNodeEnabled()) {
151
+ client.setRawNodeForwarding(true);
152
+ }
153
+ client.run();
154
+ };
155
+ let initError;
156
+ const initPromise = init().catch(err => {
157
+ initError = err instanceof Error ? err : new Error(String(err));
158
+ logger.error({ err }, 'failed to initialize bridge client');
159
+ });
160
+ const end = async () => {
161
+ const c = client;
162
+ client = undefined;
163
+ if (c) {
164
+ try {
165
+ await c.disconnect();
166
+ }
167
+ catch {
168
+ /* ignore */
169
+ }
170
+ try {
171
+ await auth.store?.flush?.();
172
+ }
173
+ catch {
174
+ /* ignore */
175
+ }
176
+ try {
177
+ c.free();
178
+ }
179
+ catch {
180
+ /* ignore */
181
+ }
182
+ }
183
+ };
184
+ const logout = async (msg) => {
185
+ user = undefined;
186
+ if (client) {
187
+ try {
188
+ await client.logout();
189
+ }
190
+ catch {
191
+ /* ignore */
192
+ }
193
+ }
194
+ ev.emit('connection.update', {
195
+ connection: 'close',
196
+ lastDisconnect: {
197
+ error: new Boom(msg || 'Logged out', { statusCode: DisconnectReason.loggedOut }),
198
+ date: new Date()
199
+ }
200
+ });
201
+ await end();
202
+ };
203
+ const waitForConnectionUpdate = (check, timeoutMs) => {
204
+ return new Promise((resolve, reject) => {
205
+ let timeout;
206
+ const listener = (update) => {
207
+ if (check(update)) {
208
+ ev.off('connection.update', listener);
209
+ if (timeout)
210
+ clearTimeout(timeout);
211
+ resolve();
212
+ }
213
+ };
214
+ ev.on('connection.update', listener);
215
+ if (timeoutMs) {
216
+ timeout = setTimeout(() => {
217
+ ev.off('connection.update', listener);
218
+ reject(new Boom('Timed out waiting for connection update', { statusCode: 408 }));
219
+ }, timeoutMs);
220
+ }
221
+ });
222
+ };
223
+ const sock = {
224
+ ev,
225
+ logger,
226
+ ws,
227
+ type: 'md',
228
+ get user() {
229
+ return user;
230
+ },
231
+ get waClient() {
232
+ return client;
233
+ },
234
+ get isConnected() {
235
+ return client?.isConnected() ?? false;
236
+ },
237
+ get isLoggedIn() {
238
+ return client?.isLoggedIn() ?? false;
239
+ },
240
+ get authState() {
241
+ return {
242
+ creds: {
243
+ ...auth.creds,
244
+ me: user ? { id: user.id, lid: user.lid } : undefined,
245
+ account: cachedAccount,
246
+ platform: pairedAccount?.platform
247
+ },
248
+ keys: auth.keys ?? {}
249
+ };
250
+ },
251
+ generateMessageTag,
252
+ sendNode: async (frame) => {
253
+ return (await ctx.getClient()).sendNode(frame);
254
+ },
255
+ assertSessions: async (jids, force) => {
256
+ return (await ctx.getClient()).assertSessions(jids, force ?? false);
257
+ },
258
+ getUSyncDevices: async (jids, useCache, ignoreZeroDevices) => {
259
+ return (await ctx.getClient()).getUSyncDevices(jids, useCache, ignoreZeroDevices);
260
+ },
261
+ waitForMessage: (msgId, timeoutMs) => {
262
+ return new Promise((resolve, reject) => {
263
+ const timeout = timeoutMs ?? fullConfig.defaultQueryTimeoutMs;
264
+ let timer;
265
+ const onRecv = (data) => {
266
+ if (timer)
267
+ clearTimeout(timer);
268
+ resolve(data);
269
+ };
270
+ ws.once(`TAG:${msgId}`, onRecv);
271
+ if (timeout) {
272
+ timer = setTimeout(() => {
273
+ ws.off(`TAG:${msgId}`, onRecv);
274
+ reject(new Boom('Timed out waiting for message', { statusCode: DisconnectReason.timedOut }));
275
+ }, timeout);
276
+ }
277
+ });
278
+ },
279
+ query: async (node, timeoutMs) => {
280
+ if (!node.attrs.id) {
281
+ node.attrs.id = generateMessageTag();
282
+ }
283
+ const msgId = node.attrs.id;
284
+ const resultPromise = sock.waitForMessage(msgId, timeoutMs);
285
+ try {
286
+ await sock.sendNode(node);
287
+ }
288
+ catch (err) {
289
+ ws.removeAllListeners(`TAG:${msgId}`);
290
+ throw err;
291
+ }
292
+ return resultPromise;
293
+ },
294
+ sendRawMessage: async (data) => {
295
+ return (await ctx.getClient()).sendRawMessage(data instanceof Uint8Array ? data : new Uint8Array(data));
296
+ },
297
+ createParticipantNodes: async (jids, message, extraAttrs) => {
298
+ return (await ctx.getClient()).createParticipantNodes(jids, message, extraAttrs ?? {});
299
+ },
300
+ signalRepository: makeSignalRepository(ctx),
301
+ /** @deprecated Pre-key management is handled by the Rust bridge. */
302
+ uploadPreKeys: async () => { },
303
+ /** @deprecated Pre-key management is handled by the Rust bridge. */
304
+ uploadPreKeysToServerIfRequired: async () => { },
305
+ end,
306
+ logout,
307
+ waitForConnectionUpdate,
308
+ setAutoReconnect: (enabled) => {
309
+ client?.setAutoReconnect(enabled);
310
+ },
311
+ sendPresenceUpdate: async (presence) => {
312
+ return (await ctx.getClient()).sendPresence(presence);
313
+ },
314
+ fetchPrivacySettings: async () => {
315
+ return (await ctx.getClient()).fetchPrivacySettings();
316
+ },
317
+ updatePrivacySetting: async (category, value) => {
318
+ await (await ctx.getClient()).updatePrivacySetting(category, value);
319
+ },
320
+ updateLastSeenPrivacy: async (value) => {
321
+ await (await ctx.getClient()).updatePrivacySetting('last', value);
322
+ },
323
+ updateOnlinePrivacy: async (value) => {
324
+ await (await ctx.getClient()).updatePrivacySetting('online', value);
325
+ },
326
+ updateProfilePicturePrivacy: async (value) => {
327
+ await (await ctx.getClient()).updatePrivacySetting('profile', value);
328
+ },
329
+ updateStatusPrivacy: async (value) => {
330
+ await (await ctx.getClient()).updatePrivacySetting('status', value);
331
+ },
332
+ updateReadReceiptsPrivacy: async (value) => {
333
+ await (await ctx.getClient()).updatePrivacySetting('readreceipts', value);
334
+ },
335
+ updateGroupsAddPrivacy: async (value) => {
336
+ await (await ctx.getClient()).updatePrivacySetting('groupadd', value);
337
+ },
338
+ updateDefaultDisappearingMode: async (duration) => {
339
+ await (await ctx.getClient()).updateDefaultDisappearingMode(duration);
340
+ },
341
+ rejectCall: async (callId, callFrom) => {
342
+ await (await ctx.getClient()).rejectCall(callId, callFrom);
343
+ },
344
+ fetchStatus: async (...jids) => {
345
+ return (await ctx.getClient()).fetchStatus(jids);
346
+ },
347
+ getBusinessProfile: async (jid) => {
348
+ return (await ctx.getClient()).getBusinessProfile(jid);
349
+ },
350
+ fetchMessageHistory: async (count, oldestMsgKey, oldestMsgTimestamp) => {
351
+ return (await ctx.getClient()).fetchMessageHistory(count, oldestMsgKey.remoteJid || '', oldestMsgKey.id || '', oldestMsgKey.fromMe || false, oldestMsgTimestamp);
352
+ },
353
+ groupMemberAddMode: async (jid, mode) => {
354
+ await (await ctx.getClient()).groupMemberAddMode(jid, mode);
355
+ },
356
+ sendStatusMessage: async (message, recipients) => {
357
+ return (await ctx.getClient()).sendStatusMessage(message, recipients);
358
+ },
359
+ ...makeMessageMethods(ctx),
360
+ ...makeGroupMethods(ctx),
361
+ ...makeContactMethods(ctx),
362
+ ...makeProfileMethods(ctx),
363
+ ...makeChatActionMethods(ctx),
364
+ ...makePresenceMethods(ctx),
365
+ ...makeBlockingMethods(ctx),
366
+ ...makeNewsletterMethods(ctx),
367
+ downloadMedia: async (message, type, options = {}) => {
368
+ return downloadMediaMessage(message, type, options, {
369
+ logger,
370
+ reuploadRequest: (m) => sock.updateMediaMessage(m),
371
+ waClient: await ctx.getClient()
372
+ });
373
+ }
374
+ };
375
+ return sock;
376
+ };
377
+ export default makeWASocket;
378
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Socket/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { AnyMessageContent, MessageGenerationOptions, MessageReceiptType, MessageRelayOptions, WAMessage, WAMessageKey } from '../Types/index.js';
2
+ import { WAProto } from '../Types/index.js';
3
+ import type { SocketContext } from './types.js';
4
+ export declare const makeMessageMethods: (ctx: SocketContext) => {
5
+ sendMessage: (jid: string, content: AnyMessageContent, options?: Omit<MessageGenerationOptions, "waClient" | "logger" | "userJid" | "mediaInNote">) => Promise<WAMessage | undefined>;
6
+ updateMediaMessage: (message: WAMessage) => Promise<WAMessage>;
7
+ /**
8
+ * Low-level message relay — sends a raw proto.IMessage with full control
9
+ * over the message ID. Use `sendMessage` for the high-level API that handles
10
+ * media upload, message generation, link previews, etc.
11
+ *
12
+ * @param jid Recipient JID
13
+ * @param message Raw protobuf Message (snake_case keys)
14
+ * @param options Relay options (messageId, statusJidList)
15
+ * @returns Message ID
16
+ */
17
+ relayMessage: (jid: string, message: WAProto.IMessage, { messageId, statusJidList }?: MessageRelayOptions) => Promise<string>;
18
+ readMessages: (keys: {
19
+ remoteJid: string;
20
+ id: string;
21
+ participant?: string;
22
+ }[]) => Promise<void>;
23
+ /**
24
+ * Send a receipt for messages. The bridge handles most receipt types automatically
25
+ * (delivered, sender). Use `readMessages` for the common case of sending read receipts.
26
+ *
27
+ * Supported types via bridge: 'read', 'read-self'
28
+ * Auto-handled by bridge: 'sender', 'inactive', undefined (delivered)
29
+ * Not supported: 'played', 'hist_sync', 'peer_msg' (logged as warning)
30
+ */
31
+ sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: MessageReceiptType) => Promise<void>;
32
+ /**
33
+ * Send receipts for multiple message keys, grouped by JID and participant.
34
+ */
35
+ sendReceipts: (keys: WAMessageKey[], type: MessageReceiptType) => Promise<void>;
36
+ /**
37
+ * Request resend of a placeholder message via PeerDataOperationRequest.
38
+ * Wraps the request in a protocolMessage and relays it to the chat.
39
+ */
40
+ requestPlaceholderResend: (messageKey: WAMessageKey, _msgData?: Partial<WAMessage>) => Promise<string | undefined>;
41
+ };
42
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/Socket/messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,iBAAiB,EAEjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EAET,YAAY,EACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAa5C,eAAO,MAAM,kBAAkB,GAAI,KAAK,aAAa;uBAE9C,MAAM,WACF,iBAAiB,YAChB,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC,KACzF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;kCAyDG,SAAS,KAAG,OAAO,CAAC,SAAS,CAAC;IAuClE;;;;;;;;;OASG;wBAEG,MAAM,WACF,OAAO,CAAC,QAAQ,iCACK,mBAAmB,KAC/C,OAAO,CAAC,MAAM,CAAC;yBAkBS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAIpF;;;;;;;OAOG;uBACsB,MAAM,eAAe,MAAM,GAAG,SAAS,cAAc,MAAM,EAAE,QAAQ,kBAAkB;IAoBhH;;OAEG;yBACwB,YAAY,EAAE,QAAQ,kBAAkB;IAkBnE;;;OAGG;2CAEU,YAAY,aACb,OAAO,CAAC,SAAS,CAAC,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAa7B,CAAA"}
@@ -0,0 +1,172 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import { encodeProto } from 'whatsapp-rust-bridge';
3
+ import { WAProto } from '../Types/index.js';
4
+ import { generateWAMessage, getContentType, normalizeMessageContent } from '../Utils/messages.js';
5
+ import { jidNormalizedUser } from '../WABinary/index.js';
6
+ /** Extract the media content from a WAMessage (image, video, audio, document, sticker) */
7
+ function getMediaContent(content) {
8
+ return (content?.imageMessage ||
9
+ content?.videoMessage ||
10
+ content?.audioMessage ||
11
+ content?.documentMessage ||
12
+ content?.stickerMessage);
13
+ }
14
+ export const makeMessageMethods = (ctx) => ({
15
+ sendMessage: async (jid, content, options) => {
16
+ const client = await ctx.getClient();
17
+ const user = ctx.getUser();
18
+ const userJid = user?.id ? jidNormalizedUser(user.id) : '';
19
+ const fullMsg = await generateWAMessage(jid, content, {
20
+ ...ctx.fullConfig,
21
+ ...options,
22
+ logger: ctx.logger,
23
+ userJid,
24
+ waClient: client
25
+ });
26
+ const msg = normalizeMessageContent(fullMsg.message);
27
+ if (!msg)
28
+ throw new Boom('Failed to generate message content', { statusCode: 400 });
29
+ const contentType = getContentType(msg);
30
+ if (contentType === 'protocolMessage') {
31
+ const protoMsg = msg.protocolMessage;
32
+ if (protoMsg?.type === WAProto.Message.ProtocolMessage.Type.REVOKE && protoMsg?.key) {
33
+ await client.revokeMessage(jid, protoMsg.key.id);
34
+ return fullMsg;
35
+ }
36
+ if (protoMsg?.type === WAProto.Message.ProtocolMessage.Type.MESSAGE_EDIT &&
37
+ protoMsg?.key &&
38
+ protoMsg?.editedMessage) {
39
+ const editBytes = WAProto.Message.encode(protoMsg.editedMessage).finish();
40
+ const newMsgId = await client.editMessageBytes(jid, protoMsg.key.id, editBytes);
41
+ fullMsg.key.id = newMsgId || fullMsg.key.id;
42
+ return fullMsg;
43
+ }
44
+ }
45
+ // Rust handles messageContextInfo (reporting tokens, message secrets) internally
46
+ delete msg.messageContextInfo;
47
+ let msgId;
48
+ if (jid === 'status@broadcast' && options?.statusJidList?.length) {
49
+ msgId = await client.sendStatusMessage(msg, options.statusJidList);
50
+ }
51
+ else {
52
+ msgId = await client.sendMessage(jid, msg);
53
+ }
54
+ fullMsg.key.id = msgId || fullMsg.key.id;
55
+ ctx.ev.emit('messages.upsert', {
56
+ messages: [fullMsg],
57
+ type: 'append'
58
+ });
59
+ return fullMsg;
60
+ },
61
+ updateMediaMessage: async (message) => {
62
+ const client = await ctx.getClient();
63
+ const content = normalizeMessageContent(message.message);
64
+ const mediaContent = getMediaContent(content);
65
+ if (!mediaContent) {
66
+ throw new Boom('Not a media message', { statusCode: 400 });
67
+ }
68
+ const mediaKey = mediaContent.mediaKey;
69
+ if (!mediaKey) {
70
+ throw new Boom('Message has no media key', { statusCode: 400 });
71
+ }
72
+ const key = message.key;
73
+ const newDirectPath = await client.requestMediaReupload(key.id, key.remoteJid, mediaKey instanceof Uint8Array ? mediaKey : new Uint8Array(mediaKey), !!key.fromMe, key.participant ?? null);
74
+ // Update the message with the new direct path
75
+ // (download uses directPath via Rust bridge, url is informational)
76
+ mediaContent.directPath = newDirectPath;
77
+ ctx.logger.debug({ directPath: newDirectPath, msgId: key.id }, 'media reupload successful');
78
+ ctx.ev.emit('messages.update', [
79
+ {
80
+ key: message.key,
81
+ update: { message: message.message }
82
+ }
83
+ ]);
84
+ return message;
85
+ },
86
+ /**
87
+ * Low-level message relay — sends a raw proto.IMessage with full control
88
+ * over the message ID. Use `sendMessage` for the high-level API that handles
89
+ * media upload, message generation, link previews, etc.
90
+ *
91
+ * @param jid Recipient JID
92
+ * @param message Raw protobuf Message (snake_case keys)
93
+ * @param options Relay options (messageId, statusJidList)
94
+ * @returns Message ID
95
+ */
96
+ relayMessage: async (jid, message, { messageId, statusJidList } = {}) => {
97
+ const client = await ctx.getClient();
98
+ // Rust handles messageContextInfo internally (reporting tokens, message secrets).
99
+ // Strip it to avoid conflicts with the Rust-generated values.
100
+ delete message.messageContextInfo;
101
+ if (jid === 'status@broadcast' && statusJidList?.length) {
102
+ return client.sendStatusMessage(message, statusJidList);
103
+ }
104
+ // Use encodeProto (Rust prost) for binary encoding — it has the full
105
+ // proto schema including InteractiveMessage/FutureProofMessage oneofs
106
+ // that the fork's minimal WAProto doesn't include.
107
+ const bytes = encodeProto('Message', message);
108
+ return client.relayMessageBytes(jid, bytes, messageId ?? null);
109
+ },
110
+ readMessages: async (keys) => {
111
+ await (await ctx.getClient()).readMessages(keys);
112
+ },
113
+ /**
114
+ * Send a receipt for messages. The bridge handles most receipt types automatically
115
+ * (delivered, sender). Use `readMessages` for the common case of sending read receipts.
116
+ *
117
+ * Supported types via bridge: 'read', 'read-self'
118
+ * Auto-handled by bridge: 'sender', 'inactive', undefined (delivered)
119
+ * Not supported: 'played', 'hist_sync', 'peer_msg' (logged as warning)
120
+ */
121
+ sendReceipt: async (jid, participant, messageIds, type) => {
122
+ if (!messageIds.length)
123
+ return;
124
+ if (type === 'read' || type === 'read-self') {
125
+ const keys = messageIds.map(id => ({
126
+ remoteJid: jid,
127
+ id,
128
+ ...(participant ? { participant } : {})
129
+ }));
130
+ await (await ctx.getClient()).readMessages(keys);
131
+ }
132
+ else {
133
+ // delivered/sender/inactive receipts are sent automatically by the Rust bridge
134
+ // played/hist_sync/peer_msg require bridge-side support
135
+ ctx.logger.debug({ type, jid, count: messageIds.length }, 'sendReceipt: type handled automatically by bridge or not yet supported');
136
+ }
137
+ },
138
+ /**
139
+ * Send receipts for multiple message keys, grouped by JID and participant.
140
+ */
141
+ sendReceipts: async (keys, type) => {
142
+ const client = await ctx.getClient();
143
+ if (type === 'read' || type === 'read-self') {
144
+ const readKeys = keys
145
+ .filter(k => !k.fromMe && k.remoteJid && k.id)
146
+ .map(k => ({ remoteJid: k.remoteJid, id: k.id, ...(k.participant ? { participant: k.participant } : {}) }));
147
+ if (readKeys.length) {
148
+ await client.readMessages(readKeys);
149
+ }
150
+ }
151
+ else {
152
+ ctx.logger.debug({ type, count: keys.length }, 'sendReceipts: type handled automatically by bridge or not yet supported');
153
+ }
154
+ },
155
+ /**
156
+ * Request resend of a placeholder message via PeerDataOperationRequest.
157
+ * Wraps the request in a protocolMessage and relays it to the chat.
158
+ */
159
+ requestPlaceholderResend: async (messageKey, _msgData) => {
160
+ const message = {
161
+ protocolMessage: {
162
+ peerDataOperationRequestMessage: {
163
+ peerDataOperationRequestType: WAProto.Message.PeerDataOperationRequestType.PLACEHOLDER_MESSAGE_RESEND,
164
+ placeholderMessageResendRequest: [{ messageKey }]
165
+ },
166
+ type: WAProto.Message.ProtocolMessage.Type.PEER_DATA_OPERATION_REQUEST_MESSAGE
167
+ }
168
+ };
169
+ return (await ctx.getClient()).relayMessage(messageKey.remoteJid, message, null);
170
+ }
171
+ });
172
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/Socket/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SocketContext } from './types.js';
2
+ export declare const makeNewsletterMethods: (ctx: SocketContext) => {
3
+ newsletterCreate: (name: string, description?: string) => Promise<import("whatsapp-rust-bridge").NewsletterMetadataResult>;
4
+ newsletterMetadata: (jid: string) => Promise<import("whatsapp-rust-bridge").NewsletterMetadataResult>;
5
+ newsletterSubscribe: (jid: string) => Promise<import("whatsapp-rust-bridge").NewsletterMetadataResult>;
6
+ newsletterUnsubscribe: (jid: string) => Promise<void>;
7
+ newsletterReactMessage: (jid: string, serverId: string, reaction?: string) => Promise<void>;
8
+ };
9
+ //# sourceMappingURL=newsletter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../../src/Socket/newsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,qBAAqB,GAAI,KAAK,aAAa;6BACxB,MAAM,gBAAgB,MAAM;8BAI3B,MAAM;+BAIL,MAAM;iCAIJ,MAAM;kCAIL,MAAM,YAAY,MAAM,aAAa,MAAM;CAG9E,CAAA"}