bintzge-baileys 2.0.8 → 2.0.9

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 (155) hide show
  1. package/engine-requirements.js +10 -0
  2. package/lib/Defaults/baileys-version.json +2 -2
  3. package/lib/Defaults/index.d.ts +53 -0
  4. package/lib/Defaults/index.js +118 -116
  5. package/lib/Defaults/phonenumber-mcc.json +223 -0
  6. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  7. package/lib/Signal/Group/group-session-builder.d.ts +14 -0
  8. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  9. package/lib/Signal/Group/index.d.ts +11 -0
  10. package/lib/Signal/Group/keyhelper.d.ts +10 -0
  11. package/lib/Signal/Group/queue-job.d.ts +1 -0
  12. package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
  13. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
  14. package/lib/Signal/Group/sender-key-message.d.ts +18 -0
  15. package/lib/Signal/Group/sender-key-name.d.ts +17 -0
  16. package/lib/Signal/Group/sender-key-record.d.ts +30 -0
  17. package/lib/Signal/Group/sender-key-state.d.ts +38 -0
  18. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  19. package/lib/Signal/libsignal.d.ts +3 -0
  20. package/lib/Socket/Bintz.d.ts +266 -0
  21. package/lib/Socket/Bintz.js +580 -0
  22. package/lib/Socket/Client/abstract-socket-client.d.ts +17 -0
  23. package/lib/Socket/Client/index.d.ts +3 -0
  24. package/lib/Socket/Client/index.js +3 -2
  25. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  26. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  27. package/lib/Socket/Client/web-socket-client.d.ts +12 -0
  28. package/lib/Socket/Client/{websocket.js → web-socket-client.js} +5 -54
  29. package/lib/Socket/business.d.ts +171 -0
  30. package/lib/Socket/chats.d.ts +267 -0
  31. package/lib/Socket/chats.js +251 -139
  32. package/lib/Socket/groups.d.ts +115 -0
  33. package/lib/Socket/groups.js +23 -38
  34. package/lib/Socket/index.d.ts +173 -0
  35. package/lib/Socket/index.js +4 -3
  36. package/lib/Socket/messages-recv.d.ts +161 -0
  37. package/lib/Socket/messages-recv.js +1085 -1035
  38. package/lib/Socket/messages-send.d.ts +149 -0
  39. package/lib/Socket/messages-send.js +389 -638
  40. package/lib/Socket/newsletter.d.ts +134 -0
  41. package/lib/Socket/newsletter.js +204 -189
  42. package/lib/Socket/registration.d.ts +267 -0
  43. package/lib/Socket/registration.js +166 -0
  44. package/lib/Socket/socket.d.ts +43 -0
  45. package/lib/Socket/socket.js +21 -12
  46. package/lib/Socket/usync.d.ts +36 -0
  47. package/lib/Socket/usync.js +0 -2
  48. package/lib/Store/index.d.ts +3 -0
  49. package/lib/Store/index.js +3 -1
  50. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  51. package/lib/Store/make-cache-manager-store.js +83 -0
  52. package/lib/Store/make-in-memory-store.d.ts +118 -0
  53. package/lib/Store/make-in-memory-store.js +14 -26
  54. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  55. package/lib/Store/make-ordered-dictionary.js +2 -2
  56. package/lib/Store/object-repository.d.ts +10 -0
  57. package/lib/Types/Auth.d.ts +110 -0
  58. package/lib/Types/Call.d.ts +13 -0
  59. package/lib/Types/Chat.d.ts +102 -0
  60. package/lib/Types/Contact.d.ts +19 -0
  61. package/lib/Types/Events.d.ts +157 -0
  62. package/lib/Types/GroupMetadata.d.ts +55 -0
  63. package/lib/Types/Label.d.ts +35 -0
  64. package/lib/Types/Label.js +1 -1
  65. package/lib/Types/LabelAssociation.d.ts +29 -0
  66. package/lib/Types/LabelAssociation.js +1 -1
  67. package/lib/Types/Message.d.ts +273 -0
  68. package/lib/Types/Message.js +2 -0
  69. package/lib/Types/Newsletter.d.ts +103 -0
  70. package/lib/Types/Newsletter.js +38 -18
  71. package/lib/Types/Product.d.ts +78 -0
  72. package/lib/Types/Signal.d.ts +57 -0
  73. package/lib/Types/Socket.d.ts +111 -0
  74. package/lib/Types/State.d.ts +27 -0
  75. package/lib/Types/USync.d.ts +25 -0
  76. package/lib/Types/index.d.ts +57 -0
  77. package/lib/Types/index.js +2 -2
  78. package/lib/Utils/auth-utils.d.ts +18 -0
  79. package/lib/Utils/auth-utils.js +13 -6
  80. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  81. package/lib/Utils/business.d.ts +22 -0
  82. package/lib/Utils/business.js +2 -2
  83. package/lib/Utils/chat-utils.d.ts +71 -0
  84. package/lib/Utils/chat-utils.js +35 -36
  85. package/lib/Utils/crypto.d.ts +41 -0
  86. package/lib/Utils/crypto.js +38 -76
  87. package/lib/Utils/decode-wa-message.d.ts +19 -0
  88. package/lib/Utils/decode-wa-message.js +56 -65
  89. package/lib/Utils/event-buffer.d.ts +35 -0
  90. package/lib/Utils/event-buffer.js +7 -11
  91. package/lib/Utils/generics.d.ts +92 -0
  92. package/lib/Utils/generics.js +84 -102
  93. package/lib/Utils/history.d.ts +15 -0
  94. package/lib/Utils/history.js +6 -4
  95. package/lib/Utils/index.d.ts +17 -0
  96. package/lib/Utils/link-preview.d.ts +21 -0
  97. package/lib/Utils/link-preview.js +1 -34
  98. package/lib/Utils/logger.d.ts +4 -0
  99. package/lib/Utils/lt-hash.d.ts +12 -0
  100. package/lib/Utils/lt-hash.js +6 -6
  101. package/lib/Utils/make-mutex.d.ts +7 -0
  102. package/lib/Utils/messages-media.d.ts +116 -0
  103. package/lib/Utils/messages-media.js +116 -346
  104. package/lib/Utils/messages.d.ts +77 -0
  105. package/lib/Utils/messages.js +91 -410
  106. package/lib/Utils/noise-handler.d.ts +21 -0
  107. package/lib/Utils/noise-handler.js +23 -19
  108. package/lib/Utils/process-message.d.ts +41 -0
  109. package/lib/Utils/signal.d.ts +32 -0
  110. package/lib/Utils/signal.js +27 -36
  111. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  112. package/lib/Utils/use-multi-file-auth-state.js +0 -6
  113. package/lib/Utils/validate-connection.d.ts +11 -0
  114. package/lib/Utils/validate-connection.js +4 -8
  115. package/lib/WABinary/constants.d.ts +30 -0
  116. package/lib/WABinary/constants.js +13 -1276
  117. package/lib/WABinary/decode.d.ts +7 -0
  118. package/lib/WABinary/decode.js +13 -26
  119. package/lib/WABinary/encode.d.ts +3 -0
  120. package/lib/WABinary/encode.js +152 -137
  121. package/lib/WABinary/generic-utils.d.ts +17 -0
  122. package/lib/WABinary/generic-utils.js +125 -37
  123. package/lib/WABinary/index.d.ts +5 -0
  124. package/lib/WABinary/jid-utils.d.ts +31 -0
  125. package/lib/WABinary/jid-utils.js +5 -12
  126. package/lib/WABinary/types.d.ts +18 -0
  127. package/lib/WAM/BinaryInfo.d.ts +17 -0
  128. package/lib/WAM/constants.d.ts +38 -0
  129. package/lib/WAM/encode.d.ts +3 -0
  130. package/lib/WAM/index.d.ts +3 -0
  131. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  132. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  133. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  134. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +1 -1
  135. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  136. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
  137. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
  138. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  139. package/lib/WAUSync/USyncQuery.d.ts +28 -0
  140. package/lib/WAUSync/USyncUser.d.ts +12 -0
  141. package/lib/WAUSync/index.d.ts +3 -0
  142. package/lib/index.d.ts +12 -0
  143. package/lib/index.js +14 -22
  144. package/package.json +101 -99
  145. package/WAProto/AICommon.js +0 -27981
  146. package/WAProto/AICommon.proto +0 -713
  147. package/WAProto/Ephemeral.js +0 -295
  148. package/WAProto/Ephemeral.proto +0 -7
  149. package/WAProto/GenerateStatics.sh +0 -4
  150. package/WAProto/WAProto.proto +0 -4775
  151. package/WAProto/vyzen.js +0 -7
  152. package/lib/Signal/Group/index/_internal.js +0 -1
  153. package/lib/Socket/setup.js +0 -433
  154. package/lib/Utils/chaanel/vyzen.js +0 -0
  155. /package/lib/Socket/Client/{types.js → abstract-socket-client.js} +0 -0
@@ -0,0 +1,10 @@
1
+ const major = parseInt(process.versions.node.split('.')[0], 10);
2
+
3
+ if (major < 20) {
4
+ console.error(
5
+ `\n❌ This package requires Node.js 20+ to run reliably.\n` +
6
+ ` You are using Node.js ${process.versions.node}.\n` +
7
+ ` Please upgrade to Node.js 20+ to proceed.\n`
8
+ );
9
+ process.exit(1);
10
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": [2, 3000, 1027934701]
3
- }
2
+ "version": [2, 3000, 1030831524]
3
+ }
@@ -0,0 +1,53 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { proto } from '../../WAProto';
4
+ import type { MediaType, SocketConfig } from '../Types';
5
+ export declare const UNAUTHORIZED_CODES: number[];
6
+ export declare const DEFAULT_ORIGIN = "https://web.whatsapp.com";
7
+ export declare const DEF_CALLBACK_PREFIX = "CB:";
8
+ export declare const DEF_TAG_PREFIX = "TAG:";
9
+ export declare const PHONE_CONNECTION_CB = "CB:Pong";
10
+ export declare const WA_DEFAULT_EPHEMERAL: number;
11
+ export declare const NOISE_MODE = "Noise_XX_25519_AESGCM_SHA256\0\0\0\0";
12
+ export declare const DICT_VERSION = 2;
13
+ export declare const KEY_BUNDLE_TYPE: Buffer;
14
+ export declare const NOISE_WA_HEADER: Buffer;
15
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
16
+ export declare const URL_REGEX: RegExp;
17
+ export declare const WA_CERT_DETAILS: {
18
+ SERIAL: number;
19
+ };
20
+ export declare const PROCESSABLE_HISTORY_TYPES: proto.Message.HistorySyncNotification.HistorySyncType[];
21
+ export declare const DEFAULT_CONNECTION_CONFIG: SocketConfig;
22
+ export declare const MEDIA_PATH_MAP: {
23
+ [T in MediaType]?: string;
24
+ };
25
+ export declare const MEDIA_HKDF_KEY_MAPPING: {
26
+ audio: string;
27
+ document: string;
28
+ gif: string;
29
+ image: string;
30
+ ppic: string;
31
+ product: string;
32
+ ptt: string;
33
+ sticker: string;
34
+ video: string;
35
+ 'thumbnail-document': string;
36
+ 'thumbnail-image': string;
37
+ 'thumbnail-video': string;
38
+ 'thumbnail-link': string;
39
+ 'md-msg-hist': string;
40
+ 'md-app-state': string;
41
+ 'product-catalog-image': string;
42
+ 'payment-bg-image': string;
43
+ ptv: string;
44
+ };
45
+ export declare const MEDIA_KEYS: ("ppic" | "product" | "image" | "video" | "sticker" | "audio" | "gif" | "ptt" | "thumbnail-document" | "thumbnail-image" | "thumbnail-link" | "thumbnail-video" | "md-app-state" | "md-msg-hist" | "document" | "product-catalog-image" | "payment-bg-image" | "ptv")[];
46
+ export declare const MIN_PREKEY_COUNT = 5;
47
+ export declare const INITIAL_PREKEY_COUNT = 30;
48
+ export declare const DEFAULT_CACHE_TTLS: {
49
+ SIGNAL_STORE: number;
50
+ MSG_RETRY: number;
51
+ CALL_OFFER: number;
52
+ USER_DEVICES: number;
53
+ };
@@ -1,145 +1,147 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ var __importDefault = this && this.__importDefault || function (a) {
2
+ return a && a.__esModule ? a : { "default": a }
4
3
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
4
+
5
+ Object.defineProperty(exports, "__esModule", { value: !0 });
6
+
6
7
  exports.DEFAULT_CACHE_TTLS =
7
- exports.MIN_UPLOAD_INTERVAL =
8
- exports.UPLOAD_TIMEOUT =
9
- exports.INITIAL_PREKEY_COUNT =
10
- exports.MIN_PREKEY_COUNT =
11
- exports.MEDIA_KEYS =
12
- exports.MEDIA_HKDF_KEY_MAPPING =
13
- exports.MEDIA_PATH_MAP =
14
- exports.DEFAULT_CONNECTION_CONFIG =
15
- exports.PROCESSABLE_HISTORY_TYPES =
16
- exports.WA_CERT_DETAILS =
17
- exports.URL_REGEX =
18
- exports.NOISE_WA_HEADER =
19
- exports.KEY_BUNDLE_TYPE =
20
- exports.DICT_VERSION =
21
- exports.NOISE_MODE =
22
- exports.WA_DEFAULT_EPHEMERAL =
23
- exports.PHONE_CONNECTION_CB =
24
- exports.DEF_TAG_PREFIX =
25
- exports.DEF_CALLBACK_PREFIX =
26
- exports.CALL_AUDIO_PREFIX =
27
- exports.CALL_VIDEO_PREFIX =
28
- exports.DEFAULT_ORIGIN =
29
- exports.WA_ADV_HOSTED_DEVICE_SIG_PREFIX =
30
- exports.WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX =
31
- exports.WA_ADV_DEVICE_SIG_PREFIX =
32
- exports.WA_ADV_ACCOUNT_SIG_PREFIX =
33
- exports.UNAUTHORIZED_CODES = void 0;
8
+ exports.INITIAL_PREKEY_COUNT =
9
+ exports.MIN_PREKEY_COUNT =
10
+ exports.MEDIA_KEYS =
11
+ exports.MEDIA_HKDF_KEY_MAPPING =
12
+ exports.MEDIA_PATH_MAP =
13
+ exports.DEFAULT_CONNECTION_CONFIG =
14
+ exports.PROCESSABLE_HISTORY_TYPES =
15
+ exports.WA_CERT_DETAILS =
16
+ exports.URL_REGEX =
17
+ exports.NOISE_WA_HEADER =
18
+ exports.KEY_BUNDLE_TYPE =
19
+ exports.DICT_VERSION =
20
+ exports.NOISE_MODE =
21
+ exports.WA_DEFAULT_EPHEMERAL =
22
+ exports.PHONE_CONNECTION_CB =
23
+ exports.DEF_TAG_PREFIX =
24
+ exports.DEF_CALLBACK_PREFIX =
25
+ exports.DEFAULT_ORIGIN =
26
+ exports.UNAUTHORIZED_CODES =
27
+ void 0;
28
+
29
+ const crypto_1 = require("crypto");
30
+ const WAProto_1 = require("../../WAProto"),
31
+ libsignal_1 = require("../Signal/libsignal"),
32
+ Utils_1 = require("../Utils"),
33
+ logger_1 = __importDefault(require("../Utils/logger")),
34
+ baileys_version_json_1 = require("./baileys-version.json"),
35
+ phonenumber_mcc_json_1 = __importDefault(require("./phonenumber-mcc.json"));
34
36
 
35
- const WAProto_1 = require("../../WAProto");
36
- const libsignal_1 = require("../Signal/libsignal");
37
- const Utils_1 = require("../Utils");
38
- const logger_1 = __importDefault(require("../Utils/logger"));
39
- const version = [2, 3000, 1027934701];
40
37
  exports.UNAUTHORIZED_CODES = [401, 403, 419];
41
- exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com';
42
- exports.CALL_VIDEO_PREFIX = 'https://call.whatsapp.com/video/';
43
- exports.CALL_AUDIO_PREFIX = 'https://call.whatsapp.com/voice/';
44
- exports.DEF_CALLBACK_PREFIX = 'CB:';
45
- exports.DEF_TAG_PREFIX = 'TAG:';
46
- exports.PHONE_CONNECTION_CB = 'CB:Pong';
47
- exports.WA_ADV_ACCOUNT_SIG_PREFIX = Buffer.from([6, 0]);
48
- exports.WA_ADV_DEVICE_SIG_PREFIX = Buffer.from([6, 1]);
49
- exports.WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX = Buffer.from([6, 5]);
50
- exports.WA_ADV_HOSTED_DEVICE_SIG_PREFIX = Buffer.from([6, 6]);
51
- exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60;
52
- exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0';
53
- exports.DICT_VERSION = 3;
38
+ exports.version = [2, 3000, 1027934701];
39
+ exports.PHONENUMBER_MCC = phonenumber_mcc_json_1.default;
40
+ exports.DEFAULT_ORIGIN = "https://web.whatsapp.com";
41
+ exports.MOBILE_ENDPOINT = 'g.whatsapp.net';
42
+ exports.MOBILE_PORT = 443;
43
+ exports.DEF_CALLBACK_PREFIX = "CB:";
44
+ exports.DEF_TAG_PREFIX = "TAG:";
45
+ exports.PHONE_CONNECTION_CB = "CB:Pong";
46
+ exports.WA_DEFAULT_EPHEMERAL = 604800;
47
+ const WA_VERSION = '2.25.23.24';
48
+ const WA_VERSION_HASH = (0, crypto_1.createHash)('md5').update(WA_VERSION).digest('hex');
49
+ exports.MOBILE_TOKEN = Buffer.from('0a1mLfGUIBVrMKF1RdvLI5lkRBvof6vn0fD2QRSM' + WA_VERSION_HASH);
50
+ exports.MOBILE_REGISTRATION_ENDPOINT = 'https://v.whatsapp.net/v2';
51
+ exports.MOBILE_USERAGENT = `WhatsApp/${WA_VERSION} iOS/17.5.1 Device/Apple-iPhone_13`;
52
+ exports.REGISTRATION_PUBLIC_KEY = Buffer.from([
53
+ 5, 142, 140, 15, 116, 195, 235, 197, 215, 166, 134, 92, 108, 60, 132, 56, 86, 176, 97, 33, 204, 232, 234, 119, 77,
54
+ 34, 251, 111, 18, 37, 18, 48, 45,
55
+ ]);
56
+ exports.NOISE_MODE = "Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00";
57
+ exports.DICT_VERSION = 2;
54
58
  exports.KEY_BUNDLE_TYPE = Buffer.from([5]);
55
59
  exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]);
60
+ exports.PROTOCOL_VERSION = [5, 2];
61
+ exports.MOBILE_NOISE_HEADER = Buffer.concat([Buffer.from('WA'), Buffer.from(exports.PROTOCOL_VERSION)]);
62
+
56
63
  exports.URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g;
57
- exports.WA_CERT_DETAILS = {
58
- SERIAL: 0,
59
- };
64
+ exports.WA_CERT_DETAILS = { SERIAL: 0 };
65
+
60
66
  exports.PROCESSABLE_HISTORY_TYPES = [
61
67
  WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.INITIAL_BOOTSTRAP,
62
68
  WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.PUSH_NAME,
63
69
  WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.RECENT,
64
70
  WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.FULL,
65
- WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.ON_DEMAND,
71
+ WAProto_1.proto.Message.HistorySyncNotification.HistorySyncType.ON_DEMAND
66
72
  ];
73
+
67
74
  exports.DEFAULT_CONNECTION_CONFIG = {
68
- version: version,
69
- browser: Utils_1.Browsers.ubuntu('Chrome'),
70
- waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
71
- connectTimeoutMs: 20000,
72
- keepAliveIntervalMs: 30000,
73
- logger: logger_1.default.child({ class: 'baileys' }),
74
- printQRInTerminal: false,
75
- emitOwnEvents: true,
76
- defaultQueryTimeoutMs: 60000,
75
+ version: baileys_version_json_1.version,
76
+ browser: Utils_1.Browsers("Chrome"),
77
+ waWebSocketUrl: "wss://web.whatsapp.com/ws/chat",
78
+ connectTimeoutMs: 2E4,
79
+ keepAliveIntervalMs: 3E4,
80
+ logger: logger_1.default.child({ class: "baileys" }),
81
+ printQRInTerminal: !1,
82
+ emitOwnEvents: !0,
83
+ defaultQueryTimeoutMs: 6E4,
77
84
  customUploadHosts: [],
78
85
  retryRequestDelayMs: 250,
79
86
  maxMsgRetryCount: 5,
80
- fireInitQueries: true,
81
- auth: undefined,
82
- markOnlineOnConnect: true,
83
- syncFullHistory: true,
84
- patchMessageBeforeSending: msg => msg,
85
- shouldSyncHistoryMessage: () => true,
86
- shouldIgnoreJid: () => false,
87
+ fireInitQueries: !0,
88
+ auth: void 0,
89
+ markOnlineOnConnect: !0,
90
+ syncFullHistory: !1,
91
+ patchMessageBeforeSending: a => a,
92
+ shouldSyncHistoryMessage: () => !0,
93
+ shouldIgnoreJid: () => !1,
87
94
  linkPreviewImageThumbnailWidth: 192,
88
- transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
89
- generateHighQualityLinkPreview: false,
90
- enableAutoSessionRecreation: true,
91
- enableRecentMessageCache: true,
95
+ transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3E3 },
96
+ generateHighQualityLinkPreview: !1,
92
97
  options: {},
93
- appStateMacVerification: {
94
- patch: false,
95
- snapshot: false,
96
- },
97
- countryCode: 'US',
98
- getMessage: async () => undefined,
99
- cachedGroupMetadata: async () => undefined,
98
+ appStateMacVerification: { patch: !1, snapshot: !1 },
99
+ countryCode: "US",
100
+ getMessage: async () => { },
101
+ cachedGroupMetadata: async () => { },
100
102
  makeSignalRepository: libsignal_1.makeLibSignalRepository
101
103
  };
104
+
102
105
  exports.MEDIA_PATH_MAP = {
103
- image: '/mms/image',
104
- video: '/mms/video',
105
- document: '/mms/document',
106
- audio: '/mms/audio',
107
- sticker: '/mms/image',
108
- 'thumbnail-link': '/mms/image',
109
- 'product-catalog-image': '/product/image',
110
- 'md-app-state': '',
111
- 'md-msg-hist': '/mms/md-app-state',
112
- 'biz-cover-photo': '/pps/biz-cover-photo'
106
+ image: "/mms/image",
107
+ video: "/mms/video",
108
+ document: "/mms/document",
109
+ audio: "/mms/audio",
110
+ sticker: "/mms/image",
111
+ "thumbnail-link": "/mms/image",
112
+ "product-catalog-image": "/product/image",
113
+ "md-app-state": "",
114
+ "md-msg-hist": "/mms/md-app-state"
113
115
  };
116
+
114
117
  exports.MEDIA_HKDF_KEY_MAPPING = {
115
- 'audio': 'Audio',
116
- 'document': 'Document',
117
- 'gif': 'Video',
118
- 'image': 'Image',
119
- 'ppic': '',
120
- 'product': 'Image',
121
- 'ptt': 'Audio',
122
- 'sticker': 'Image',
123
- 'video': 'Video',
124
- 'thumbnail-document': 'Document Thumbnail',
125
- 'thumbnail-image': 'Image Thumbnail',
126
- 'thumbnail-video': 'Video Thumbnail',
127
- 'thumbnail-link': 'Link Thumbnail',
128
- 'md-msg-hist': 'History',
129
- 'md-app-state': 'App State',
130
- 'product-catalog-image': '',
131
- 'payment-bg-image': 'Payment Background',
132
- 'ptv': 'Video',
133
- 'biz-cover-photo': 'Image'
118
+ audio: "Audio",
119
+ document: "Document",
120
+ gif: "Video",
121
+ image: "Image",
122
+ ppic: "",
123
+ product: "Image",
124
+ ptt: "Audio",
125
+ sticker: "Image",
126
+ video: "Video",
127
+ "thumbnail-document": "Document Thumbnail",
128
+ "thumbnail-image": "Image Thumbnail",
129
+ "thumbnail-video": "Video Thumbnail",
130
+ "thumbnail-link": "Link Thumbnail",
131
+ "md-msg-hist": "History",
132
+ "md-app-state": "App State",
133
+ "product-catalog-image": "",
134
+ "payment-bg-image": "Payment Background",
135
+ ptv: "Video"
134
136
  };
137
+
135
138
  exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP);
136
139
  exports.MIN_PREKEY_COUNT = 5;
137
- exports.INITIAL_PREKEY_COUNT = 812;
138
- exports.UPLOAD_TIMEOUT = 30000;
139
- exports.MIN_UPLOAD_INTERVAL = 5000;
140
+ exports.INITIAL_PREKEY_COUNT = 30;
141
+
140
142
  exports.DEFAULT_CACHE_TTLS = {
141
- SIGNAL_STORE: 5 * 60,
142
- MSG_RETRY: 60 * 60,
143
- CALL_OFFER: 5 * 60,
144
- USER_DEVICES: 5 * 60,
143
+ SIGNAL_STORE: 300,
144
+ MSG_RETRY: 3600,
145
+ CALL_OFFER: 300,
146
+ USER_DEVICES: 300
145
147
  };
@@ -0,0 +1,223 @@
1
+ {
2
+ "93": 412,
3
+ "355": 276,
4
+ "213": 603,
5
+ "1-684": 544,
6
+ "376": 213,
7
+ "244": 631,
8
+ "1-264": 365,
9
+ "1-268": 344,
10
+ "54": 722,
11
+ "374": 283,
12
+ "297": 363,
13
+ "61": 505,
14
+ "43": 232,
15
+ "994": 400,
16
+ "1-242": 364,
17
+ "973": 426,
18
+ "880": 470,
19
+ "1-246": 342,
20
+ "375": 257,
21
+ "32": 206,
22
+ "501": 702,
23
+ "229": 616,
24
+ "1-441": 350,
25
+ "975": 402,
26
+ "591": 736,
27
+ "387": 218,
28
+ "267": 652,
29
+ "55": 724,
30
+ "1-284": 348,
31
+ "673": 528,
32
+ "359": 284,
33
+ "226": 613,
34
+ "257": 642,
35
+ "855": 456,
36
+ "237": 624,
37
+ "238": 625,
38
+ "1-345": 346,
39
+ "236": 623,
40
+ "235": 622,
41
+ "56": 730,
42
+ "86": 454,
43
+ "57": 732,
44
+ "269": 654,
45
+ "682": 548,
46
+ "506": 712,
47
+ "385": 219,
48
+ "53": 368,
49
+ "357": 280,
50
+ "420": 230,
51
+ "243": 630,
52
+ "45": 238,
53
+ "253": 638,
54
+ "1-767": 366,
55
+ "1-809": 370,
56
+ "1-849": 370,
57
+ "1-829": 370,
58
+ "593": 740,
59
+ "20": 602,
60
+ "503": 706,
61
+ "240": 627,
62
+ "291": 657,
63
+ "372": 248,
64
+ "251": 636,
65
+ "500": 750,
66
+ "298": 288,
67
+ "679": 542,
68
+ "358": 244,
69
+ "33": 208,
70
+ "689": 547,
71
+ "241": 628,
72
+ "220": 607,
73
+ "995": 282,
74
+ "49": 262,
75
+ "233": 620,
76
+ "350": 266,
77
+ "30": 202,
78
+ "299": 290,
79
+ "1-473": 352,
80
+ "1-671": 535,
81
+ "502": 704,
82
+ "224": 537,
83
+ "592": 738,
84
+ "509": 372,
85
+ "504": 708,
86
+ "852": 454,
87
+ "36": 216,
88
+ "354": 274,
89
+ "91": 404,
90
+ "62": 510,
91
+ "98": 432,
92
+ "964": 418,
93
+ "353": 234,
94
+ "972": 425,
95
+ "39": 222,
96
+ "225": 612,
97
+ "1-876": 338,
98
+ "81": 440,
99
+ "962": 416,
100
+ "254": 639,
101
+ "686": 545,
102
+ "383": 221,
103
+ "965": 419,
104
+ "371": 247,
105
+ "961": 415,
106
+ "266": 651,
107
+ "231": 618,
108
+ "218": 606,
109
+ "423": 295,
110
+ "370": 246,
111
+ "352": 270,
112
+ "389": 294,
113
+ "261": 646,
114
+ "265": 650,
115
+ "60": 502,
116
+ "960": 472,
117
+ "223": 610,
118
+ "356": 278,
119
+ "692": 551,
120
+ "222": 609,
121
+ "230": 617,
122
+ "52": 334,
123
+ "691": 550,
124
+ "373": 259,
125
+ "377": 212,
126
+ "976": 428,
127
+ "382": 297,
128
+ "1-664": 354,
129
+ "212": 604,
130
+ "258": 643,
131
+ "95": 414,
132
+ "264": 649,
133
+ "674": 536,
134
+ "977": 429,
135
+ "31": 204,
136
+ "687": 546,
137
+ "64": 530,
138
+ "505": 710,
139
+ "227": 614,
140
+ "234": 621,
141
+ "683": 555,
142
+ "1-670": 534,
143
+ "47": 242,
144
+ "968": 226,
145
+ "92": 410,
146
+ "680": 552,
147
+ "970": 423,
148
+ "507": 714,
149
+ "675": 537,
150
+ "595": 744,
151
+ "51": 716,
152
+ "63": 515,
153
+ "48": 260,
154
+ "351": 268,
155
+ "1-787, 1-939": 330,
156
+ "974": 427,
157
+ "242": 630,
158
+ "40": 226,
159
+ "7": 250,
160
+ "250": 635,
161
+ "290": 658,
162
+ "1-869": 356,
163
+ "1-758": 358,
164
+ "508": 308,
165
+ "1-784": 360,
166
+ "685": 544,
167
+ "378": 292,
168
+ "239": 626,
169
+ "966": 420,
170
+ "221": 608,
171
+ "381": 220,
172
+ "248": 633,
173
+ "232": 619,
174
+ "65": 525,
175
+ "386": 293,
176
+ "677": 540,
177
+ "27": 655,
178
+ "211": 659,
179
+ "34": 214,
180
+ "94": 413,
181
+ "249": 634,
182
+ "597": 746,
183
+ "268": 653,
184
+ "46": 240,
185
+ "41": 228,
186
+ "963": 417,
187
+ "886": 466,
188
+ "992": 436,
189
+ "255": 640,
190
+ "66": 520,
191
+ "228": 615,
192
+ "690": 554,
193
+ "676": 539,
194
+ "1-868": 374,
195
+ "216": 605,
196
+ "90": 286,
197
+ "993": 438,
198
+ "1-649": 376,
199
+ "688": 553,
200
+ "1-340": 332,
201
+ "256": 641,
202
+ "380": 255,
203
+ "971": 424,
204
+ "44": 234,
205
+ "1": 310,
206
+ "598": 748,
207
+ "998": 434,
208
+ "678": 541,
209
+ "379": 225,
210
+ "58": 734,
211
+ "681": 543,
212
+ "967": 421,
213
+ "260": 645,
214
+ "263": 648,
215
+ "670": 514,
216
+ "245": 632,
217
+ "856": 457,
218
+ "599": 362,
219
+ "850": 467,
220
+ "262": 647,
221
+ "82": 450,
222
+ "84": 452
223
+ }
@@ -0,0 +1,9 @@
1
+ export declare class CiphertextMessage {
2
+ readonly UNSUPPORTED_VERSION: number;
3
+ readonly CURRENT_VERSION: number;
4
+ readonly WHISPER_TYPE: number;
5
+ readonly PREKEY_TYPE: number;
6
+ readonly SENDERKEY_TYPE: number;
7
+ readonly SENDERKEY_DISTRIBUTION_TYPE: number;
8
+ readonly ENCRYPTED_MESSAGE_OVERHEAD: number;
9
+ }
@@ -0,0 +1,14 @@
1
+ import { SenderKeyDistributionMessage } from './sender-key-distribution-message';
2
+ import { SenderKeyName } from './sender-key-name';
3
+ import { SenderKeyRecord } from './sender-key-record';
4
+ interface SenderKeyStore {
5
+ loadSenderKey(senderKeyName: SenderKeyName): Promise<SenderKeyRecord>;
6
+ storeSenderKey(senderKeyName: SenderKeyName, record: SenderKeyRecord): Promise<void>;
7
+ }
8
+ export declare class GroupSessionBuilder {
9
+ private readonly senderKeyStore;
10
+ constructor(senderKeyStore: SenderKeyStore);
11
+ process(senderKeyName: SenderKeyName, senderKeyDistributionMessage: SenderKeyDistributionMessage): Promise<void>;
12
+ create(senderKeyName: SenderKeyName): Promise<SenderKeyDistributionMessage>;
13
+ }
14
+ export {};
@@ -0,0 +1,17 @@
1
+ import { SenderKeyName } from './sender-key-name';
2
+ import { SenderKeyRecord } from './sender-key-record';
3
+ export interface SenderKeyStore {
4
+ loadSenderKey(senderKeyName: SenderKeyName): Promise<SenderKeyRecord>;
5
+ storeSenderKey(senderKeyName: SenderKeyName, record: SenderKeyRecord): Promise<void>;
6
+ }
7
+ export declare class GroupCipher {
8
+ private readonly senderKeyStore;
9
+ private readonly senderKeyName;
10
+ constructor(senderKeyStore: SenderKeyStore, senderKeyName: SenderKeyName);
11
+ private queueJob;
12
+ encrypt(paddedPlaintext: Uint8Array | string): Promise<Uint8Array>;
13
+ decrypt(senderKeyMessageBytes: Uint8Array): Promise<Uint8Array>;
14
+ private getSenderKey;
15
+ private getPlainText;
16
+ private getCipherText;
17
+ }
@@ -0,0 +1,11 @@
1
+ export { GroupSessionBuilder } from './group-session-builder';
2
+ export { SenderKeyDistributionMessage } from './sender-key-distribution-message';
3
+ export { SenderKeyRecord } from './sender-key-record';
4
+ export { SenderKeyName } from './sender-key-name';
5
+ export { GroupCipher } from './group_cipher';
6
+ export { SenderKeyState } from './sender-key-state';
7
+ export { SenderKeyMessage } from './sender-key-message';
8
+ export { SenderMessageKey } from './sender-message-key';
9
+ export { SenderChainKey } from './sender-chain-key';
10
+ export { CiphertextMessage } from './ciphertext-message';
11
+ export * as keyhelper from './keyhelper';
@@ -0,0 +1,10 @@
1
+ import { generateKeyPair } from 'libsignal/src/curve';
2
+ type KeyPairType = ReturnType<typeof generateKeyPair>;
3
+ export declare function generateSenderKey(): Buffer;
4
+ export declare function generateSenderKeyId(): number;
5
+ export interface SigningKeyPair {
6
+ public: Buffer;
7
+ private: Buffer;
8
+ }
9
+ export declare function generateSenderSigningKey(key?: KeyPairType): SigningKeyPair;
10
+ export {};
@@ -0,0 +1 @@
1
+ export default function queueJob<T>(bucket: string | number, awaitable: () => Promise<T>): Promise<T>;
@@ -0,0 +1,13 @@
1
+ import { SenderMessageKey } from './sender-message-key';
2
+ export declare class SenderChainKey {
3
+ private readonly MESSAGE_KEY_SEED;
4
+ private readonly CHAIN_KEY_SEED;
5
+ private readonly iteration;
6
+ private readonly chainKey;
7
+ constructor(iteration: number, chainKey: any);
8
+ getIteration(): number;
9
+ getSenderMessageKey(): SenderMessageKey;
10
+ getNext(): SenderChainKey;
11
+ getSeed(): Uint8Array;
12
+ private getDerivative;
13
+ }
@@ -0,0 +1,16 @@
1
+ import { CiphertextMessage } from './ciphertext-message';
2
+ export declare class SenderKeyDistributionMessage extends CiphertextMessage {
3
+ private readonly id;
4
+ private readonly iteration;
5
+ private readonly chainKey;
6
+ private readonly signatureKey;
7
+ private readonly serialized;
8
+ constructor(id?: number | null, iteration?: number | null, chainKey?: Uint8Array | null, signatureKey?: Uint8Array | null, serialized?: Uint8Array | null);
9
+ private intsToByteHighAndLow;
10
+ serialize(): Uint8Array;
11
+ getType(): number;
12
+ getIteration(): number;
13
+ getChainKey(): Uint8Array;
14
+ getSignatureKey(): Uint8Array;
15
+ getId(): number;
16
+ }