@prototypevip/baileys 0.1.2 → 0.1.4
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.
- package/lib/Signal/Group/group_cipher.js +1 -1
- package/lib/Signal/Group/keyhelper.js +1 -1
- package/lib/Signal/Group/sender-chain-key.js +1 -1
- package/lib/Signal/Group/sender-key-message.js +1 -1
- package/lib/Signal/Group/sender-message-key.js +1 -1
- package/lib/Signal/libsignal-wasm/LICENSE +621 -0
- package/lib/Signal/libsignal-wasm/NOTICE.md +11 -0
- package/lib/Signal/libsignal-wasm/README.md +64 -0
- package/lib/Signal/libsignal-wasm/index.d.ts +55 -0
- package/lib/Signal/libsignal-wasm/index.js +14 -0
- package/lib/Signal/libsignal-wasm/protos/WhisperTextProtocol.proto +28 -0
- package/lib/Signal/libsignal-wasm/src/WhisperTextProtocol.js +931 -0
- package/lib/Signal/libsignal-wasm/src/base_key_type.js +7 -0
- package/lib/Signal/libsignal-wasm/src/chain_type.js +6 -0
- package/lib/Signal/libsignal-wasm/src/crypto.d.ts +19 -0
- package/lib/Signal/libsignal-wasm/src/crypto.js +77 -0
- package/lib/Signal/libsignal-wasm/src/curve.d.ts +22 -0
- package/lib/Signal/libsignal-wasm/src/curve.js +69 -0
- package/lib/Signal/libsignal-wasm/src/errors.js +33 -0
- package/lib/Signal/libsignal-wasm/src/keyhelper.js +45 -0
- package/lib/Signal/libsignal-wasm/src/numeric_fingerprint.js +72 -0
- package/lib/Signal/libsignal-wasm/src/protobufs.js +5 -0
- package/lib/Signal/libsignal-wasm/src/protocol_address.js +40 -0
- package/lib/Signal/libsignal-wasm/src/queue_job.js +68 -0
- package/lib/Signal/libsignal-wasm/src/session_builder.js +162 -0
- package/lib/Signal/libsignal-wasm/src/session_cipher.js +336 -0
- package/lib/Signal/libsignal-wasm/src/session_record.js +316 -0
- package/lib/Signal/libsignal.js +2 -2
- package/lib/Socket/index.js +30 -15
- package/lib/Utils/crypto.js +1 -1
- package/lib/Utils/generics.js +4 -27
- package/lib/Utils/index.js +3 -0
- package/lib/Utils/modern-messages.js +10 -0
- package/lib/Utils/newsletter-status.js +651 -0
- package/lib/Utils/status-helpers.js +143 -0
- package/package.json +2 -3
- package/lib/Defaults/index.js.bak-1788476907801 +0 -187
- package/lib/Defaults/index.js.bak-1788479166288 +0 -187
- package/lib/Socket/groups.js.bak-1788476973954 +0 -475
- package/lib/Socket/index.js.bak-1788479281092 +0 -38
- package/lib/Store/prototype-store.js.bak-1788477006895 +0 -983
- package/lib/Utils/interactive-message-handler.js.bak-1788476898661 +0 -478
package/lib/Socket/index.js
CHANGED
|
@@ -2,15 +2,22 @@ import { DEFAULT_CONNECTION_CONFIG } from "../Defaults/index.js";
|
|
|
2
2
|
import { makeCommunitiesSocket } from "./communities.js";
|
|
3
3
|
import { stampSocket } from "../Utils/socket-guard.js";
|
|
4
4
|
import { verifyBrandIntegrity } from "../Utils/integrity-guard.js";
|
|
5
|
+
import {
|
|
6
|
+
makeNewsletterStatusSender,
|
|
7
|
+
makeNewsletterStatusReactionSender,
|
|
8
|
+
makeNewsletterStatusRevokeSender,
|
|
9
|
+
makeNewsletterStatusFetcher,
|
|
10
|
+
makeNewsletterStatusUpdatesFetcher,
|
|
11
|
+
} from "../Utils/newsletter-status.js";
|
|
12
|
+
import { sendPersonalStatus, sendGroupStatus } from "../Utils/status-helpers.js";
|
|
5
13
|
|
|
6
14
|
/**
|
|
7
15
|
* Create a WhatsApp socket.
|
|
8
16
|
* Clean version — without AntiBan.
|
|
17
|
+
* v0.1.4 — Channel Status + Group Status + Personal Status APIs
|
|
9
18
|
*/
|
|
10
19
|
const makeWASocket = (config = {}) => {
|
|
11
|
-
// بصمة "prototype" بتتفحص هنا تلقائي — قبل حتى ما أي سوكت
|
|
12
|
-
// محتاجه استدعاء يدوي من البوت (نفس فلسفة stampSocket تحت). لو حد فَكّ
|
|
13
|
-
// اسم الباكدج أو غيّر بايتات البصمة يدوي، المكتبه بترفض تشتغل خالص.
|
|
20
|
+
// بصمة "prototype" بتتفحص هنا تلقائي — قبل حتى ما أي سوكت يتبني
|
|
14
21
|
if (!verifyBrandIntegrity()) {
|
|
15
22
|
try {
|
|
16
23
|
console.error("[INTEGRITY-GUARD] brand fingerprint mismatch — refusing to start.");
|
|
@@ -32,14 +39,7 @@ const makeWASocket = (config = {}) => {
|
|
|
32
39
|
|
|
33
40
|
const newConfig = { ...DEFAULT_CONNECTION_CONFIG, ...restConfig };
|
|
34
41
|
|
|
35
|
-
//
|
|
36
|
-
// DEFAULT_CONNECTION_CONFIG مباشره كـ `config` وبتقرا منها وقت التشغيل
|
|
37
|
-
// (مش الـ newConfig المدموج فوق)، فأي override زي generateMessageID/
|
|
38
|
-
// generateMessageIDV2 بيتحط هنا كان بيتضاع تماما - الكود الداخلي في
|
|
39
|
-
// المكتبه (زي توليد id الأزرار) كان بيفضل يستخدم القيم الافتراضيه
|
|
40
|
-
// الأصليه (GIN4B0T/G1N4B0T) حتى لو المستخدم غيّرها في makeWASocket().
|
|
41
|
-
// بنعمل mutate للـ object المشترك نفسه عشان أي import ثابت ليه في باقي
|
|
42
|
-
// المكتبه ياخد نفس القيم المدموجه.
|
|
42
|
+
// mutate shared DEFAULT so internal imports see overrides
|
|
43
43
|
Object.assign(DEFAULT_CONNECTION_CONFIG, newConfig);
|
|
44
44
|
|
|
45
45
|
let sock;
|
|
@@ -52,11 +52,26 @@ const makeWASocket = (config = {}) => {
|
|
|
52
52
|
|
|
53
53
|
sock = makeCommunitiesSocket(newConfig);
|
|
54
54
|
|
|
55
|
-
// ختم السوكت تلقائي
|
|
56
|
-
// يدوي بعد ما السوكت يترجع (وده كان سهل يتنسى في ملف 2300+ سطر زي
|
|
57
|
-
// patch.js)، دلوقتي أي سوكت طالع من makeWASocket() بيتختم لوحده.
|
|
55
|
+
// ختم السوكت تلقائي
|
|
58
56
|
stampSocket(sock);
|
|
59
57
|
|
|
58
|
+
// ── Channels & Stories APIs (0.1.4) ──────────────────────────
|
|
59
|
+
// Newsletter / Channel status (Elaina-style transport)
|
|
60
|
+
sock.sendNewsletterStatus = makeNewsletterStatusSender(sock, newConfig);
|
|
61
|
+
sock.sendChannelStatus = sock.sendNewsletterStatus; // alias
|
|
62
|
+
sock.sendNewsletterStatusReaction = makeNewsletterStatusReactionSender(sock);
|
|
63
|
+
sock.revokeNewsletterStatus = makeNewsletterStatusRevokeSender(sock);
|
|
64
|
+
sock.getNewsletterStatuses = makeNewsletterStatusFetcher(sock);
|
|
65
|
+
sock.getNewsletterStatusUpdates = makeNewsletterStatusUpdatesFetcher(sock);
|
|
66
|
+
|
|
67
|
+
// Personal story (status@broadcast)
|
|
68
|
+
sock.sendPersonalStatus = (content, statusJidList, options) =>
|
|
69
|
+
sendPersonalStatus(sock, content, statusJidList, options);
|
|
70
|
+
|
|
71
|
+
// Group story (groupStatusMessageV2 / groupStatus flag)
|
|
72
|
+
sock.sendGroupStatus = (groupJid, content, options) =>
|
|
73
|
+
sendGroupStatus(sock, groupJid, content, options);
|
|
74
|
+
|
|
60
75
|
return sock;
|
|
61
76
|
};
|
|
62
77
|
|
|
@@ -67,4 +82,4 @@ const wrapSocketWithFingerprint = (makeSock, opts) =>
|
|
|
67
82
|
const PRESETS = {};
|
|
68
83
|
|
|
69
84
|
export default makeWASocket;
|
|
70
|
-
export { makeWASocket, wrapSocket, wrapSocketWithFingerprint, PRESETS };
|
|
85
|
+
export { makeWASocket, wrapSocket, wrapSocketWithFingerprint, PRESETS };
|
package/lib/Utils/crypto.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
createHmac,
|
|
6
6
|
randomBytes,
|
|
7
7
|
} from "crypto";
|
|
8
|
-
import * as curve from "libsignal/src/curve.js";
|
|
8
|
+
import * as curve from "../Signal/libsignal-wasm/src/curve.js";
|
|
9
9
|
import { KEY_BUNDLE_TYPE } from "../Defaults/index.js";
|
|
10
10
|
export { md5, hkdf } from "whatsapp-rust-bridge";
|
|
11
11
|
// insure browser & node compatibility
|
package/lib/Utils/generics.js
CHANGED
|
@@ -248,33 +248,10 @@ export function bindWaitForEvent(ev, event) {
|
|
|
248
248
|
export const bindWaitForConnectionUpdate = (ev) =>
|
|
249
249
|
bindWaitForEvent(ev, "connection.update");
|
|
250
250
|
/**
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*/ export const fetchLatestBaileysVersion = async (options = {}) =>
|
|
254
|
-
|
|
255
|
-
"https://raw.githubusercontent.com/whiskeysockets/baileys/master/src/Defaults/baileys-version.json";
|
|
256
|
-
try {
|
|
257
|
-
const response = await fetch(URL, {
|
|
258
|
-
dispatcher: options.dispatcher,
|
|
259
|
-
method: "GET",
|
|
260
|
-
headers: options.headers,
|
|
261
|
-
});
|
|
262
|
-
if (!response.ok) {
|
|
263
|
-
throw new Boom(
|
|
264
|
-
`Failed to fetch latest Baileys version: ${response.statusText}`,
|
|
265
|
-
{ statusCode: response.status },
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
const json = await response.json();
|
|
269
|
-
if (Array.isArray(json.version)) {
|
|
270
|
-
return { version: json.version, isLatest: true };
|
|
271
|
-
} else {
|
|
272
|
-
throw new Error("Could not get baileys version");
|
|
273
|
-
}
|
|
274
|
-
} catch (error) {
|
|
275
|
-
return { version: baileysVersion, isLatest: false, error: error };
|
|
276
|
-
}
|
|
277
|
-
};
|
|
251
|
+
* Fetches the latest WhatsApp Web client version (same source as fetchLatestWaWebVersion).
|
|
252
|
+
* Falls back to the library's built-in version if the fetch fails.
|
|
253
|
+
*/ export const fetchLatestBaileysVersion = async (options = {}) =>
|
|
254
|
+
fetchLatestWaWebVersion(options);
|
|
278
255
|
/**
|
|
279
256
|
* A utility that fetches the latest web version of whatsapp.
|
|
280
257
|
* Use to ensure your WA connection is always on the latest version
|
package/lib/Utils/index.js
CHANGED
|
@@ -31,3 +31,6 @@ export * from "./ai-rich-formatter.js";
|
|
|
31
31
|
export * from "./constants.js";
|
|
32
32
|
export * from "./socket-guard.js";
|
|
33
33
|
export * from "./integrity-guard.js";
|
|
34
|
+
export * from "./newsletter-status.js";
|
|
35
|
+
export * from "./status-helpers.js";
|
|
36
|
+
export * from "./modern-messages.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal modern-messages shim for @prototypevip/baileys
|
|
3
|
+
* Full Elaina modern message builders are optional; status APIs only need identity transform.
|
|
4
|
+
*/
|
|
5
|
+
export const prepareModernMessageContent = (content) => {
|
|
6
|
+
if (!content || typeof content !== "object") return content;
|
|
7
|
+
return content;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default { prepareModernMessageContent };
|