cuki-bailx 1.2.5 → 1.2.6

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 (157) hide show
  1. package/LICENSE +21 -0
  2. package/WAProto/GenerateStatics.sh +4 -0
  3. package/WAProto/WAProto.proto +4775 -0
  4. package/WAProto/index.js +56886 -17506
  5. package/engine-requirements.js +1 -1
  6. package/lib/Defaults/index.js +98 -108
  7. package/lib/Defaults/vyzen-baileysx-version.json +3 -0
  8. package/lib/Signal/libsignal.js +2 -0
  9. package/lib/Socket/Client/index.js +2 -3
  10. package/lib/Socket/Client/{web-socket-client.js → websocket.js} +54 -5
  11. package/lib/Socket/chats.js +224 -173
  12. package/lib/Socket/groups.js +20 -5
  13. package/lib/Socket/index.js +2 -2
  14. package/lib/Socket/messages-recv.js +10 -66
  15. package/lib/Socket/messages-send.js +379 -312
  16. package/lib/Socket/newsletter.js +54 -40
  17. package/lib/Socket/socket.js +58 -32
  18. package/lib/Store/index.js +1 -3
  19. package/lib/Store/make-in-memory-store.js +27 -15
  20. package/lib/Store/make-ordered-dictionary.js +2 -2
  21. package/lib/Types/Label.js +1 -1
  22. package/lib/Types/LabelAssociation.js +1 -1
  23. package/lib/Types/Message.js +0 -2
  24. package/lib/Types/Newsletter.js +3 -17
  25. package/lib/Types/index.js +2 -2
  26. package/lib/Utils/auth-utils.js +6 -13
  27. package/lib/Utils/baileys-event-stream.js +1 -1
  28. package/lib/Utils/browser-utils.js +35 -0
  29. package/lib/Utils/business.js +2 -2
  30. package/lib/Utils/chat-utils.js +36 -35
  31. package/lib/Utils/crypto.js +71 -29
  32. package/lib/Utils/decode-wa-message.js +65 -56
  33. package/lib/Utils/event-buffer.js +13 -9
  34. package/lib/Utils/generics.js +107 -29
  35. package/lib/Utils/history.js +4 -6
  36. package/lib/Utils/index.js +2 -0
  37. package/lib/Utils/link-preview.js +34 -1
  38. package/lib/Utils/lt-hash.js +6 -6
  39. package/lib/Utils/message-retry-manager.js +128 -0
  40. package/lib/Utils/messages-media.js +263 -115
  41. package/lib/Utils/messages.js +500 -93
  42. package/lib/Utils/noise-handler.js +18 -23
  43. package/lib/Utils/process-message.js +108 -25
  44. package/lib/Utils/signal.js +37 -35
  45. package/lib/Utils/use-multi-file-auth-state.js +51 -6
  46. package/lib/Utils/validate-connection.js +90 -66
  47. package/lib/WABinary/constants.js +1276 -13
  48. package/lib/WABinary/decode.js +26 -13
  49. package/lib/WABinary/encode.js +39 -17
  50. package/lib/WABinary/generic-utils.js +2 -85
  51. package/lib/WABinary/jid-utils.js +28 -5
  52. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +1 -1
  53. package/lib/index.js +18 -5
  54. package/package.json +109 -104
  55. package/lib/Defaults/baileys-version.json +0 -3
  56. package/lib/Defaults/index.d.ts +0 -53
  57. package/lib/Defaults/phonenumber-mcc.json +0 -223
  58. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  59. package/lib/Signal/Group/group-session-builder.d.ts +0 -14
  60. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  61. package/lib/Signal/Group/index.d.ts +0 -11
  62. package/lib/Signal/Group/keyhelper.d.ts +0 -10
  63. package/lib/Signal/Group/queue-job.d.ts +0 -1
  64. package/lib/Signal/Group/sender-chain-key.d.ts +0 -13
  65. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -16
  66. package/lib/Signal/Group/sender-key-message.d.ts +0 -18
  67. package/lib/Signal/Group/sender-key-name.d.ts +0 -17
  68. package/lib/Signal/Group/sender-key-record.d.ts +0 -30
  69. package/lib/Signal/Group/sender-key-state.d.ts +0 -38
  70. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  71. package/lib/Signal/libsignal.d.ts +0 -3
  72. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -17
  73. package/lib/Socket/Client/index.d.ts +0 -3
  74. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  75. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  76. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  77. package/lib/Socket/business.d.ts +0 -171
  78. package/lib/Socket/chats.d.ts +0 -80
  79. package/lib/Socket/dugong.d.ts +0 -219
  80. package/lib/Socket/dugong.js +0 -441
  81. package/lib/Socket/groups.d.ts +0 -115
  82. package/lib/Socket/index.d.ts +0 -173
  83. package/lib/Socket/messages-recv.d.ts +0 -161
  84. package/lib/Socket/messages-send.d.ts +0 -149
  85. package/lib/Socket/newsletter.d.ts +0 -134
  86. package/lib/Socket/registration.d.ts +0 -267
  87. package/lib/Socket/registration.js +0 -166
  88. package/lib/Socket/socket.d.ts +0 -43
  89. package/lib/Socket/socket.js.bak +0 -630
  90. package/lib/Socket/usync.d.ts +0 -36
  91. package/lib/Store/index.d.ts +0 -3
  92. package/lib/Store/make-cache-manager-store.d.ts +0 -13
  93. package/lib/Store/make-cache-manager-store.js +0 -83
  94. package/lib/Store/make-in-memory-store.d.ts +0 -118
  95. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  96. package/lib/Store/object-repository.d.ts +0 -10
  97. package/lib/Types/Auth.d.ts +0 -110
  98. package/lib/Types/Call.d.ts +0 -13
  99. package/lib/Types/Chat.d.ts +0 -102
  100. package/lib/Types/Contact.d.ts +0 -19
  101. package/lib/Types/Events.d.ts +0 -157
  102. package/lib/Types/GroupMetadata.d.ts +0 -55
  103. package/lib/Types/Label.d.ts +0 -35
  104. package/lib/Types/LabelAssociation.d.ts +0 -29
  105. package/lib/Types/Message.d.ts +0 -273
  106. package/lib/Types/Newsletter.d.ts +0 -92
  107. package/lib/Types/Product.d.ts +0 -78
  108. package/lib/Types/Signal.d.ts +0 -57
  109. package/lib/Types/Socket.d.ts +0 -111
  110. package/lib/Types/State.d.ts +0 -27
  111. package/lib/Types/USync.d.ts +0 -25
  112. package/lib/Types/index.d.ts +0 -57
  113. package/lib/Utils/auth-utils.d.ts +0 -18
  114. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  115. package/lib/Utils/business.d.ts +0 -22
  116. package/lib/Utils/chat-utils.d.ts +0 -71
  117. package/lib/Utils/crypto.d.ts +0 -41
  118. package/lib/Utils/decode-wa-message.d.ts +0 -19
  119. package/lib/Utils/event-buffer.d.ts +0 -35
  120. package/lib/Utils/generics.d.ts +0 -92
  121. package/lib/Utils/history.d.ts +0 -15
  122. package/lib/Utils/index.d.ts +0 -17
  123. package/lib/Utils/link-preview.d.ts +0 -21
  124. package/lib/Utils/logger.d.ts +0 -4
  125. package/lib/Utils/lt-hash.d.ts +0 -12
  126. package/lib/Utils/make-mutex.d.ts +0 -7
  127. package/lib/Utils/messages-media.d.ts +0 -116
  128. package/lib/Utils/messages.d.ts +0 -77
  129. package/lib/Utils/noise-handler.d.ts +0 -21
  130. package/lib/Utils/process-message.d.ts +0 -41
  131. package/lib/Utils/signal.d.ts +0 -32
  132. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  133. package/lib/Utils/validate-connection.d.ts +0 -11
  134. package/lib/WABinary/constants.d.ts +0 -27
  135. package/lib/WABinary/decode.d.ts +0 -7
  136. package/lib/WABinary/encode.d.ts +0 -3
  137. package/lib/WABinary/generic-utils.d.ts +0 -16
  138. package/lib/WABinary/index.d.ts +0 -5
  139. package/lib/WABinary/jid-utils.d.ts +0 -31
  140. package/lib/WABinary/types.d.ts +0 -18
  141. package/lib/WAM/BinaryInfo.d.ts +0 -17
  142. package/lib/WAM/constants.d.ts +0 -38
  143. package/lib/WAM/encode.d.ts +0 -3
  144. package/lib/WAM/index.d.ts +0 -3
  145. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  146. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  147. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  148. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  149. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  150. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  151. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  152. package/lib/WAUSync/USyncQuery.d.ts +0 -28
  153. package/lib/WAUSync/USyncUser.d.ts +0 -12
  154. package/lib/WAUSync/index.d.ts +0 -3
  155. package/lib/index.d.ts +0 -12
  156. package/lib/index.js.bak +0 -48
  157. /package/lib/Socket/Client/{abstract-socket-client.js → types.js} +0 -0
@@ -15,21 +15,33 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.decodeBinaryNode = exports.decodeDecompressedBinaryNode = exports.decompressingIfRequired = void 0;
37
+ const util_1 = require("util");
27
38
  const zlib_1 = require("zlib");
28
39
  const constants = __importStar(require("./constants"));
29
40
  const jid_utils_1 = require("./jid-utils");
30
- const decompressingIfRequired = (buffer) => {
41
+ const inflatePromise = (0, util_1.promisify)(zlib_1.inflate);
42
+ const decompressingIfRequired = async (buffer) => {
31
43
  if (2 & buffer.readUInt8()) {
32
- buffer = (0, zlib_1.inflateSync)(buffer.slice(1));
44
+ buffer = await inflatePromise(buffer.slice(1));
33
45
  }
34
46
  else { // nodes with no compression have a 0x00 prefix, we remove that
35
47
  buffer = buffer.slice(1);
@@ -144,10 +156,11 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
144
156
  throw new Error('invalid jid pair: ' + i + ', ' + j);
145
157
  };
146
158
  const readAdJid = () => {
147
- const agent = readByte();
159
+ const rawDomainType = readByte();
160
+ const domainType = Number(rawDomainType);
148
161
  const device = readByte();
149
162
  const user = readString(readByte());
150
- return (0, jid_utils_1.jidEncode)(user, agent === 0 ? 's.whatsapp.net' : 'lid', device);
163
+ return (0, jid_utils_1.jidEncode)(user, domainType === 0 || domainType === 128 ? 's.whatsapp.net' : 'lid', device);
151
164
  };
152
165
  const readString = (tag) => {
153
166
  if (tag >= 1 && tag < SINGLE_BYTE_TOKENS.length) {
@@ -245,8 +258,8 @@ const decodeDecompressedBinaryNode = (buffer, opts, indexRef = { index: 0 }) =>
245
258
  };
246
259
  };
247
260
  exports.decodeDecompressedBinaryNode = decodeDecompressedBinaryNode;
248
- const decodeBinaryNode = (buff) => {
249
- const decompBuff = (0, exports.decompressingIfRequired)(buff);
261
+ const decodeBinaryNode = async (buff) => {
262
+ const decompBuff = await (0, exports.decompressingIfRequired)(buff);
250
263
  return (0, exports.decodeDecompressedBinaryNode)(decompBuff, constants);
251
264
  };
252
265
  exports.decodeBinaryNode = decodeBinaryNode;
@@ -15,18 +15,33 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.encodeBinaryNode = void 0;
27
37
  const constants = __importStar(require("./constants"));
28
38
  const jid_utils_1 = require("./jid-utils");
29
- const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0]) => {
39
+ const encodeBinaryNode = (node, opts = constants, buffer = [0]) => {
40
+ const encoded = encodeBinaryNodeInner(node, opts, buffer);
41
+ return Buffer.from(encoded);
42
+ };
43
+ exports.encodeBinaryNode = encodeBinaryNode;
44
+ const encodeBinaryNodeInner = ({ tag, attrs, content }, opts, buffer) => {
30
45
  const { TAGS, TOKEN_MAP } = opts;
31
46
  const pushByte = (value) => buffer.push(value & 0xff);
32
47
  const pushInt = (value, n, littleEndian = false) => {
@@ -134,7 +149,7 @@ const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0
134
149
  }
135
150
  };
136
151
  const isNibble = (str) => {
137
- if (str.length > TAGS.PACKED_MAX) {
152
+ if (!str || str.length > TAGS.PACKED_MAX) {
138
153
  return false;
139
154
  }
140
155
  for (let i = 0; i < str.length; i++) {
@@ -147,19 +162,23 @@ const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0
147
162
  return true;
148
163
  };
149
164
  const isHex = (str) => {
150
- if (str.length > TAGS.PACKED_MAX) {
165
+ if (!str || str.length > TAGS.PACKED_MAX) {
151
166
  return false;
152
167
  }
153
168
  for (let i = 0; i < str.length; i++) {
154
169
  const char = str[i];
155
170
  const isInNibbleRange = char >= '0' && char <= '9';
156
- if (!isInNibbleRange && !(char >= 'A' && char <= 'F') && !(char >= 'a' && char <= 'f')) {
171
+ if (!isInNibbleRange && !(char >= 'A' && char <= 'F')) {
157
172
  return false;
158
173
  }
159
174
  }
160
175
  return true;
161
176
  };
162
177
  const writeString = (str) => {
178
+ if (str === undefined || str === null) {
179
+ pushByte(TAGS.LIST_EMPTY);
180
+ return;
181
+ }
163
182
  const tokenIndex = TOKEN_MAP[str];
164
183
  if (tokenIndex) {
165
184
  if (typeof tokenIndex.dict === 'number') {
@@ -195,7 +214,10 @@ const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0
195
214
  pushInt16(listSize);
196
215
  }
197
216
  };
198
- const validAttributes = Object.keys(attrs).filter(k => (typeof attrs[k] !== 'undefined' && attrs[k] !== null));
217
+ if (!tag) {
218
+ throw new Error('Invalid node: tag cannot be undefined');
219
+ }
220
+ const validAttributes = Object.keys(attrs || {}).filter(k => (typeof attrs[k] !== 'undefined' && attrs[k] !== null));
199
221
  writeListStart(2 * validAttributes.length + 1 + (typeof content !== 'undefined' ? 1 : 0));
200
222
  writeString(tag);
201
223
  for (const key of validAttributes) {
@@ -212,9 +234,10 @@ const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0
212
234
  pushBytes(content);
213
235
  }
214
236
  else if (Array.isArray(content)) {
215
- writeListStart(content.length);
216
- for (const item of content) {
217
- (0, exports.encodeBinaryNode)(item, opts, buffer);
237
+ const validContent = content.filter(item => item && (item.tag || Buffer.isBuffer(item) || item instanceof Uint8Array || typeof item === 'string'));
238
+ writeListStart(validContent.length);
239
+ for (const item of validContent) {
240
+ encodeBinaryNodeInner(item, opts, buffer);
218
241
  }
219
242
  }
220
243
  else if (typeof content === 'undefined') {
@@ -223,6 +246,5 @@ const encodeBinaryNode = ({ tag, attrs, content }, opts = constants, buffer = [0
223
246
  else {
224
247
  throw new Error(`invalid children for header "${tag}": ${content} (${typeof content})`);
225
248
  }
226
- return Buffer.from(buffer);
249
+ return buffer;
227
250
  };
228
- exports.encodeBinaryNode = encodeBinaryNode;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.binaryNodeToString = exports.getBinaryNodeMessages = exports.reduceBinaryNodeToDictionary = exports.assertNodeErrorFree = exports.getBinaryNodeChildUInt = exports.getBinaryNodeChildString = exports.getBinaryNodeChildBuffer = exports.getBinaryNodeChild = exports.getAllBinaryNodeChildren = exports.getBinaryNodeChildren = void 0;
3
+ exports.getBinaryNodeMessages = exports.reduceBinaryNodeToDictionary = exports.assertNodeErrorFree = exports.getBinaryNodeChildUInt = exports.getBinaryNodeChildString = exports.getBinaryNodeChildBuffer = exports.getBinaryNodeChild = exports.getAllBinaryNodeChildren = exports.getBinaryNodeChildren = void 0;
4
+ exports.binaryNodeToString = binaryNodeToString;
4
5
  const boom_1 = require("@hapi/boom");
5
6
  const WAProto_1 = require("../../WAProto");
6
- const Utils_1 = require("../Utils")
7
7
  // some extra useful utilities
8
8
  const getBinaryNodeChildren = (node, childTag) => {
9
9
  if (Array.isArray(node === null || node === void 0 ? void 0 : node.content)) {
@@ -108,86 +108,3 @@ function binaryNodeToString(node, i = 0) {
108
108
  const content = children ? `>\n${children}\n${tabs(i)}</${node.tag}>` : '/>';
109
109
  return tag + content;
110
110
  }
111
- exports.binaryNodeToString = binaryNodeToString;
112
- const getBinaryFilteredBizBot = (nodeContent) => {
113
- if (!Array.isArray(nodeContent)) return false
114
-
115
- return nodeContent.some(b =>
116
- ['bot'].includes(b?.tag) && b?.attrs?.biz_bot === '1'
117
- )
118
- }
119
- exports.getBinaryFilteredBizBot = getBinaryFilteredBizBot;
120
- const getBinaryNodeFilter = (node) => {
121
- if (!Array.isArray(node)) return false
122
-
123
- return node.some(item =>
124
- ['native_flow'].includes(item?.content?.[0]?.content?.[0]?.tag) ||
125
- ['interactive', 'buttons', 'list'].includes(item?.content?.[0]?.tag) ||
126
- ['hsm', 'biz'].includes(item?.tag) ||
127
- ['bot'].includes(item?.tag) && item?.attrs?.biz_bot === '1'
128
- )
129
- }
130
- exports.getBinaryNodeFilter = getBinaryNodeFilter;
131
- const getAdditionalNode = (name) => {
132
- if (name) name = name.toLowerCase()
133
- const ts = Utils_1.unixTimestampSeconds(new Date()) - 77980457
134
-
135
- const flow_name = {
136
- cta_catalog: 'cta_catalog',
137
- mpm: 'mpm',
138
- call_request: 'call_permission_request',
139
- view_catalog: 'automated_greeting_message_view_catalog',
140
- wa_pay_detail: 'wa_payment_transaction_details',
141
- send_location: 'send_location',
142
- }
143
-
144
- if (flow_name[name] || name === 'interactive' || name === 'buttons') {
145
- return [{
146
- tag: 'biz',
147
- attrs: {
148
- actual_actors: '2',
149
- host_storage: '2',
150
- privacy_mode_ts: `${ts}`
151
- },
152
- content: [{
153
- tag: 'engagement',
154
- attrs: {
155
- customer_service_state: 'open',
156
- conversation_state: 'open'
157
- }
158
- }, {
159
- tag: 'interactive',
160
- attrs: {
161
- type: 'native_flow',
162
- v: '1'
163
- },
164
- content: [{
165
- tag: 'native_flow',
166
- attrs: {
167
- v: '9',
168
- name: flow_name[name] ?? 'mixed',
169
- },
170
- content: []
171
- }]
172
- }]
173
- }]
174
- } else {
175
- return [{
176
- tag: 'biz',
177
- attrs: {
178
- actual_actors: '2',
179
- host_storage: '2',
180
- privacy_mode_ts: `${ts}`
181
- },
182
- content: [{
183
- tag: 'engagement',
184
- attrs: {
185
- customer_service_state: 'open',
186
- conversation_state: 'open'
187
- }
188
- }]
189
- }]
190
- }
191
- }
192
- exports.getAdditionalNode = getAdditionalNode;
193
-
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jidNormalizedUser = exports.isJidNewsLetter = exports.isJidStatusBroadcast = exports.isJidGroup = exports.isJidBroadcast = exports.isLidUser = exports.isJidUser = exports.areJidsSameUser = exports.jidDecode = exports.jidEncode = exports.STORIES_JID = exports.PSA_WID = exports.SERVER_JID = exports.OFFICIAL_BIZ_JID = exports.S_WHATSAPP_NET = void 0;
3
+ exports.lidToJid = exports.getBotJid = exports.jidNormalizedUser = exports.isJidBot = exports.isJidStatusBroadcast = exports.isJidGroup = exports.isJidNewsletter = exports.isJidBroadcast = exports.isLidUser = exports.isJidUser = exports.isJidMetaAi = exports.areJidsSameUser = exports.jidDecode = exports.jidEncode = exports.META_AI_JID = exports.STORIES_JID = exports.PSA_WID = exports.SERVER_JID = exports.OFFICIAL_BIZ_JID = exports.S_WHATSAPP_NET = void 0;
4
4
  exports.S_WHATSAPP_NET = '@s.whatsapp.net';
5
5
  exports.OFFICIAL_BIZ_JID = '16505361212@c.us';
6
6
  exports.SERVER_JID = 'server@c.us';
7
7
  exports.PSA_WID = '0@c.us';
8
8
  exports.STORIES_JID = 'status@broadcast';
9
+ exports.META_AI_JID = '13135550002@c.us';
9
10
  const jidEncode = (user, server, device, agent) => {
10
11
  return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`;
11
12
  };
@@ -20,7 +21,7 @@ const jidDecode = (jid) => {
20
21
  const [userAgent, device] = userCombined.split(':');
21
22
  const user = userAgent.split('_')[0];
22
23
  return {
23
- server,
24
+ server: server,
24
25
  user,
25
26
  domainType: server === 'lid' ? 1 : 0,
26
27
  device: device ? +device : undefined
@@ -33,6 +34,9 @@ const areJidsSameUser = (jid1, jid2) => {
33
34
  return (((_a = (0, exports.jidDecode)(jid1)) === null || _a === void 0 ? void 0 : _a.user) === ((_b = (0, exports.jidDecode)(jid2)) === null || _b === void 0 ? void 0 : _b.user));
34
35
  };
35
36
  exports.areJidsSameUser = areJidsSameUser;
37
+ /** is the jid Meta IA */
38
+ const isJidMetaAi = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@bot'));
39
+ exports.isJidMetaAi = isJidMetaAi;
36
40
  /** is the jid a user */
37
41
  const isJidUser = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@s.whatsapp.net'));
38
42
  exports.isJidUser = isJidUser;
@@ -42,15 +46,18 @@ exports.isLidUser = isLidUser;
42
46
  /** is the jid a broadcast */
43
47
  const isJidBroadcast = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@broadcast'));
44
48
  exports.isJidBroadcast = isJidBroadcast;
49
+ /** is the jid a newsletter */
50
+ const isJidNewsletter = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@newsletter'));
51
+ exports.isJidNewsletter = isJidNewsletter;
45
52
  /** is the jid a group */
46
53
  const isJidGroup = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@g.us'));
47
54
  exports.isJidGroup = isJidGroup;
48
55
  /** is the jid the status broadcast */
49
56
  const isJidStatusBroadcast = (jid) => jid === 'status@broadcast';
50
57
  exports.isJidStatusBroadcast = isJidStatusBroadcast;
51
- /** is the jid the newsletter */
52
- const isJidNewsLetter = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('newsletter'));
53
- exports.isJidNewsLetter = isJidNewsLetter;
58
+ const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/;
59
+ const isJidBot = (jid) => (jid && botRegexp.test(jid.split('@')[0]) && jid.endsWith('@c.us'));
60
+ exports.isJidBot = isJidBot;
54
61
  const jidNormalizedUser = (jid) => {
55
62
  const result = (0, exports.jidDecode)(jid);
56
63
  if (!result) {
@@ -60,3 +67,19 @@ const jidNormalizedUser = (jid) => {
60
67
  return (0, exports.jidEncode)(user, server === 'c.us' ? 's.whatsapp.net' : server);
61
68
  };
62
69
  exports.jidNormalizedUser = jidNormalizedUser;
70
+ const lidToJid = jid => jid && jid.endsWith('@lid') ? jid.replace('@lid','@s.whatsapp.net') : jid;
71
+ exports.lidToJid = lidToJid;
72
+ const getBotJid = (jid) => {
73
+ const BOT_MAP = new Map([["867051314767696", "13135550002"], ["1061492271844689", "13135550005"], ["245886058483988", "13135550009"], ["3509905702656130", "13135550012"], ["1059680132034576", "13135550013"], ["715681030623646", "13135550014"], ["1644971366323052", "13135550015"], ["582497970646566", "13135550019"], ["645459357769306", "13135550022"], ["294997126699143", "13135550023"], ["1522631578502677", "13135550027"], ["719421926276396", "13135550030"], ["1788488635002167", "13135550031"], ["24232338603080193", "13135550033"], ["689289903143209", "13135550035"], ["871626054177096", "13135550039"], ["362351902849370", "13135550042"], ["1744617646041527", "13135550043"], ["893887762270570", "13135550046"], ["1155032702135830", "13135550047"], ["333931965993883", "13135550048"], ["853748013058752", "13135550049"], ["1559068611564819", "13135550053"], ["890487432705716", "13135550054"], ["240254602395494", "13135550055"], ["1578420349663261", "13135550062"], ["322908887140421", "13135550065"], ["3713961535514771", "13135550067"], ["997884654811738", "13135550070"], ["403157239387035", "13135550081"], ["535242369074963", "13135550082"], ["946293427247659", "13135550083"], ["3664707673802291", "13135550084"], ["1821827464894892", "13135550085"], ["1760312477828757", "13135550086"], ["439480398712216", "13135550087"], ["1876735582800984", "13135550088"], ["984025089825661", "13135550089"], ["1001336351558186", "13135550090"], ["3739346336347061", "13135550091"], ["3632749426974980", "13135550092"], ["427864203481615", "13135550093"], ["1434734570493055", "13135550094"], ["992873449225921", "13135550095"], ["813087747426445", "13135550096"], ["806369104931434", "13135550098"], ["1220982902403148", "13135550099"], ["1365893374104393", "13135550100"], ["686482033622048", "13135550200"], ["1454999838411253", "13135550201"], ["718584497008509", "13135550202"], ["743520384213443", "13135550301"], ["1147715789823789", "13135550302"], ["1173034540372201", "13135550303"], ["974785541030953", "13135550304"], ["1122200255531507", "13135550305"], ["899669714813162", "13135550306"], ["631880108970650", "13135550307"], ["435816149330026", "13135550308"], ["1368717161184556", "13135550309"], ["7849963461784891", "13135550310"], ["3609617065968984", "13135550312"], ["356273980574602", "13135550313"], ["1043447920539760", "13135550314"], ["1052764336525346", "13135550315"], ["2631118843732685", "13135550316"], ["510505411332176", "13135550317"], ["1945664239227513", "13135550318"], ["1518594378764656", "13135550319"], ["1378821579456138", "13135550320"], ["490214716896013", "13135550321"], ["1028577858870699", "13135550322"], ["308915665545959", "13135550323"], ["845884253678900", "13135550324"], ["995031308616442", "13135550325"], ["2787365464763437", "13135550326"], ["1532790990671645", "13135550327"], ["302617036180485", "13135550328"], ["723376723197227", "13135550329"], ["8393570407377966", "13135550330"], ["1931159970680725", "13135550331"], ["401073885688605", "13135550332"], ["2234478453565422", "13135550334"], ["814748673882312", "13135550335"], ["26133635056281592", "13135550336"], ["1439804456676119", "13135550337"], ["889851503172161", "13135550338"], ["1018283232836879", "13135550339"], ["1012781386779537", "13135559000"], ["823280953239532", "13135559001"], ["1597090934573334", "13135559002"], ["485965054020343", "13135559003"], ["1033381648363446", "13135559004"], ["491802010206446", "13135559005"], ["1017139033184870", "13135559006"], ["499638325922174", "13135559008"], ["468946335863664", "13135559009"], ["1570389776875816", "13135559010"], ["1004342694328995", "13135559011"], ["1012240323971229", "13135559012"], ["392171787222419", "13135559013"], ["952081212945019", "13135559016"], ["444507875070178", "13135559017"], ["1274819440594668", "13135559018"], ["1397041101147050", "13135559019"], ["425657699872640", "13135559020"], ["532292852562549", "13135559021"], ["705863241720292", "13135559022"], ["476449815183959", "13135559023"], ["488071553854222", "13135559024"], ["468693832665397", "13135559025"], ["517422564037340", "13135559026"], ["819805466613825", "13135559027"], ["1847708235641382", "13135559028"], ["716282970644228", "13135559029"], ["521655380527741", "13135559030"], ["476193631941905", "13135559031"], ["485600497445562", "13135559032"], ["440217235683910", "13135559033"], ["523342446758478", "13135559034"], ["514784864360240", "13135559035"], ["505790121814530", "13135559036"], ["420008964419580", "13135559037"], ["492141680204555", "13135559038"], ["388462787271952", "13135559039"], ["423473920752072", "13135559040"], ["489574180468229", "13135559041"], ["432360635854105", "13135559042"], ["477878201669248", "13135559043"], ["351656951234045", "13135559044"], ["430178036732582", "13135559045"], ["434537312944552", "13135559046"], ["1240614300631808", "13135559047"], ["473135945605128", "13135559048"], ["423669800729310", "13135559049"], ["3685666705015792", "13135559050"], ["504196509016638", "13135559051"], ["346844785189449", "13135559052"], ["504823088911074", "13135559053"], ["402669415797083", "13135559054"], ["490939640234431", "13135559055"], ["875124128063715", "13135559056"], ["468788962654605", "13135559057"], ["562386196354570", "13135559058"], ["372159285928791", "13135559059"], ["531017479591050", "13135559060"], ["1328873881401826", "13135559061"], ["1608363646390484", "13135559062"], ["1229628561554232", "13135559063"], ["348802211530364", "13135559064"], ["3708535859420184", "13135559065"], ["415517767742187", "13135559066"], ["479330341612638", "13135559067"], ["480785414723083", "13135559068"], ["387299107507991", "13135559069"], ["333389813188944", "13135559070"], ["391794130316996", "13135559071"], ["457893470576314", "13135559072"], ["435550496166469", "13135559073"], ["1620162702100689", "13135559074"], ["867491058616043", "13135559075"], ["816224117357759", "13135559076"], ["334065176362830", "13135559077"], ["489973170554709", "13135559078"], ["473060669049665", "13135559079"], ["1221505815643060", "13135559080"], ["889000703096359", "13135559081"], ["475235961979883", "13135559082"], ["3434445653519934", "13135559084"], ["524503026827421", "13135559085"], ["1179639046403856", "13135559086"], ["471563305859144", "13135559087"], ["533896609192881", "13135559088"], ["365443583168041", "13135559089"], ["836082305329393", "13135559090"], ["1056787705969916", "13135559091"], ["503312598958357", "13135559092"], ["3718606738453460", "13135559093"], ["826066052850902", "13135559094"], ["1033611345091888", "13135559095"], ["3868390816783240", "13135559096"], ["7462677740498860", "13135559097"], ["436288576108573", "13135559098"], ["1047559746718900", "13135559099"], ["1099299455255491", "13135559100"], ["1202037301040633", "13135559101"], ["1720619402074074", "13135559102"], ["1030422235101467", "13135559103"], ["827238979523502", "13135559104"], ["1516443722284921", "13135559105"], ["1174442747196709", "13135559106"], ["1653165225503842", "13135559107"], ["1037648777635013", "13135559108"], ["551617757299900", "13135559109"], ["1158813558718726", "13135559110"], ["2463236450542262", "13135559111"], ["1550393252501466", "13135559112"], ["2057065188042796", "13135559113"], ["506163028760735", "13135559114"], ["2065249100538481", "13135559115"], ["1041382867195858", "13135559116"], ["886500209499603", "13135559117"], ["1491615624892655", "13135559118"], ["486563697299617", "13135559119"], ["1175736513679463", "13135559120"], ["491811473512352", "13165550064"]]);
74
+ const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
75
+ if (sepIdx < 0) {
76
+ return jid;
77
+ }
78
+ const server = jid.slice(sepIdx + 1);
79
+ if (server !== 'bot')
80
+ return jid;
81
+ const user = jid.slice(0, sepIdx);
82
+ const mappedNumber = BOT_MAP.get(user);
83
+ return mappedNumber ? `${mappedNumber}@s.whatsapp.net` : jid;
84
+ };
85
+ exports.getBotJid = getBotJid;
@@ -16,7 +16,7 @@ class USyncDisappearingModeProtocol {
16
16
  return null;
17
17
  }
18
18
  parser(node) {
19
- if (node.tag === 'status') {
19
+ if (node.tag === 'disappearing_mode') {
20
20
  (0, WABinary_1.assertNodeErrorFree)(node);
21
21
  const duration = +(node === null || node === void 0 ? void 0 : node.attrs.duration);
22
22
  const setAt = new Date(+((node === null || node === void 0 ? void 0 : node.attrs.t) || 0) * 1000);
package/lib/index.js CHANGED
@@ -15,11 +15,12 @@ console.log(`
15
15
  ╚═╝╚══╝╚╩╝╚══╝
16
16
  `);
17
17
 
18
+
18
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
20
  if (k2 === undefined) k2 = k;
20
21
  var desc = Object.getOwnPropertyDescriptor(m, k);
21
22
  if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
- desc = { enumerable: true, get: function() { return m[k]; } };
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
24
  }
24
25
  Object.defineProperty(o, k2, desc);
25
26
  }) : (function(o, m, k, k2) {
@@ -27,15 +28,28 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
27
28
  o[k2] = m[k];
28
29
  }));
29
30
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
30
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
31
+ for (var p in m)
32
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p))
33
+ __createBinding(exports, m, p);
31
34
  };
32
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ var __importDefault = (this && this.__importDefault) || function(mod) {
33
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
37
  };
38
+
35
39
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.makeWASocket = void 0;
40
+ exports.proto = exports.makeWASocket = void 0;
41
+
42
+ const WAProto_1 = require("../WAProto");
43
+ Object.defineProperty(exports, "proto", {
44
+ enumerable: true,
45
+ get: function() {
46
+ return WAProto_1.proto;
47
+ }
48
+ });
49
+
37
50
  const Socket_1 = __importDefault(require("./Socket"));
38
51
  exports.makeWASocket = Socket_1.default;
52
+
39
53
  __exportStar(require("../WAProto"), exports);
40
54
  __exportStar(require("./Utils"), exports);
41
55
  __exportStar(require("./Types"), exports);
@@ -46,4 +60,3 @@ __exportStar(require("./WAM"), exports);
46
60
  __exportStar(require("./WAUSync"), exports);
47
61
 
48
62
  exports.default = Socket_1.default;
49
-
package/package.json CHANGED
@@ -1,110 +1,115 @@
1
1
  {
2
- "name": "cuki-bailx",
3
- "version": "1.2.5",
4
- "description": "Simple whatsapp baileys",
5
- "keywords": [
6
- "whatsapp",
7
- "laurine-wabot",
8
- "baileys",
9
- "whatsapp-web",
10
- "whatsapp-chat",
11
- "whatsapp-group",
12
- "botwa",
13
- "cuki"
14
- ],
15
- "homepage": "—",
16
- "repository": {
17
- "url": ""
2
+ "name": "cuki-bailx",
3
+ "version": "1.2.6",
4
+ "description": "Whatsapp baileys by cuki",
5
+ "keywords": [
6
+ "baileys",
7
+ "baileys-mod",
8
+ "CukiDigital",
9
+ "whatsapp",
10
+ "whatsapp-api",
11
+ "whatsapp-web",
12
+ "whatsapp-bot",
13
+ "automation",
14
+ "multi-device",
15
+ "Hutao-Md"
16
+ ],
17
+ "homepage": "https://whatsapp.com/channel/0029Vb6CHAjK5cDJGJssog3J",
18
+ "license": "MIT",
19
+ "author": "Cuki Digital",
20
+ "main": "lib/index.js",
21
+ "types": "lib/index.d.ts",
22
+ "files": [
23
+ "lib/*",
24
+ "WAProto/*",
25
+ "engine-requirements.js"
26
+ ],
27
+ "scripts": {
28
+ "build:all": "tsc && typedoc",
29
+ "build:docs": "typedoc",
30
+ "build:tsc": "tsc",
31
+ "changelog:last": "conventional-changelog -p angular -r 2",
32
+ "changelog:preview": "conventional-changelog -p angular -u",
33
+ "changelog:update": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
34
+ "example": "node --inspect -r ts-node/register Example/example.ts",
35
+ "gen:protobuf": "sh WAProto/GenerateStatics.sh",
36
+ "lint": "eslint src --ext .js,.ts,.jsx,.tsx",
37
+ "lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
38
+ "prepack": "echo 'Cuki-bailx WhatsApp Library'",
39
+ "prepare": "echo 'Cuki-Bailx WhatsApp Library'",
40
+ "preinstall": "node ./engine-requirements.js",
41
+ "release": "release-it",
42
+ "test": "jest"
43
+ },
44
+ "dependencies": {
45
+ "@adiwajshing/keyed-db": "^0.2.4",
46
+ "@cacheable/node-cache": "^1.4.0",
47
+ "@hapi/boom": "^9.1.3",
48
+ "async-mutex": "^0.5.0",
49
+ "axios": "^1.6.0",
50
+ "chalk": "^4.1.2",
51
+ "gradient-string": "^2.0.2",
52
+ "cache-manager": "^5.7.6",
53
+ "cheerio": "^1.0.0-rc.10",
54
+ "acorn": "^8.15.0",
55
+ "acorn-walk": "^8.3.4",
56
+ "libphonenumber-js": "^1.10.20",
57
+ "libsignal": "npm:@shennmine/libsignal-node",
58
+ "lodash": "^4.17.21",
59
+ "music-metadata": "^7.12.3",
60
+ "pino": "^9.6",
61
+ "protobufjs": "^6.11.3",
62
+ "uuid": "^10.0.0",
63
+ "ws": "^8.13.0"
64
+ },
65
+ "devDependencies": {
66
+ "@adiwajshing/eslint-config": "github:adiwajshing/eslint-config",
67
+ "@types/got": "^9.6.11",
68
+ "@types/jest": "^27.5.1",
69
+ "@types/node": "^16.18.126",
70
+ "@types/sharp": "^0.29.4",
71
+ "@types/ws": "^8.0.0",
72
+ "conventional-changelog-cli": "^2.2.2",
73
+ "eslint": "^8.0.0",
74
+ "jest": "^27.0.6",
75
+ "jimp": "^0.16.1",
76
+ "json": "^11.0.0",
77
+ "link-preview-js": "^3.0.0",
78
+ "open": "^8.4.2",
79
+ "qrcode-terminal": "^0.12.0",
80
+ "release-it": "^15.10.3",
81
+ "sharp": "^0.34.1",
82
+ "ts-jest": "^27.0.3",
83
+ "ts-node": "^10.8.1",
84
+ "typedoc": "^0.27.9",
85
+ "typescript": "^5.8.2"
86
+ },
87
+ "peerDependencies": {
88
+ "audio-decode": "^2.1.3",
89
+ "jimp": "^0.16.1",
90
+ "link-preview-js": "^3.0.0",
91
+ "qrcode-terminal": "^0.12.0",
92
+ "sharp": "^0.34.1"
93
+ },
94
+ "peerDependenciesMeta": {
95
+ "audio-decode": {
96
+ "optional": true
18
97
  },
19
- "license": "MIT",
20
- "author": "Adhiraj Singh",
21
- "main": "lib/index.js",
22
- "types": "lib/index.d.ts",
23
- "files": [
24
- "lib/*",
25
- "WAProto/*.js",
26
- "engine-requirements.js"
27
- ],
28
- "scripts": {
29
- "build:all": "tsc && typedoc",
30
- "build:docs": "typedoc",
31
- "build:tsc": "tsc",
32
- "changelog:last": "conventional-changelog -p angular -r 2",
33
- "changelog:preview": "conventional-changelog -p angular -u",
34
- "changelog:update": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
35
- "example": "node --inspect -r ts-node/register Example/example.ts",
36
- "gen:protobuf": "sh WAProto/GenerateStatics.sh",
37
- "lint": "eslint src --ext .js,.ts,.jsx,.tsx",
38
- "lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
39
- "prepack": "",
40
- "prepare": "",
41
- "preinstall": "node ./engine-requirements.js",
42
- "release": "release-it",
43
- "test": "jest"
98
+ "jimp": {
99
+ "optional": true
44
100
  },
45
- "dependencies": {
46
- "@adiwajshing/keyed-db": "^0.2.4",
47
- "@hapi/boom": "^9.1.3",
48
- "@cacheable/node-cache": "^1.4.0",
49
- "audio-decode": "^2.1.3",
50
- "axios": "^1.3.3",
51
- "cache-manager": "4.0.1",
52
- "chalk": "^4.1.2",
53
- "gradient-string": "^2.0.2",
54
- "futoin-hkdf": "^1.5.1",
55
- "libphonenumber-js": "^1.10.20",
56
- "libsignal": "npm:@shennmine/libsignal-node",
57
- "music-metadata": "^7.12.3",
58
- "node-cache": "^5.1.2",
59
- "pino": "^7.0.0",
60
- "protobufjs": "^7.2.4",
61
- "uuid": "^9.0.0",
62
- "ws": "^8.13.0"
101
+ "link-preview-js": {
102
+ "optional": true
63
103
  },
64
- "devDependencies": {
65
- "@adiwajshing/eslint-config": "github:adiwajshing/eslint-config",
66
- "@types/got": "^9.6.11",
67
- "@types/jest": "^27.5.1",
68
- "@types/node": "^16.0.0",
69
- "@types/sharp": "^0.29.4",
70
- "@types/ws": "^8.0.0",
71
- "conventional-changelog-cli": "^2.2.2",
72
- "eslint": "^8.0.0",
73
- "jest": "^27.0.6",
74
- "jimp": "^0.16.1",
75
- "link-preview-js": "^3.0.0",
76
- "open": "^8.4.2",
77
- "qrcode-terminal": "^0.12.0",
78
- "release-it": "^15.10.3",
79
- "sharp": "^0.30.5",
80
- "ts-jest": "^27.0.3",
81
- "ts-node": "^10.8.1",
82
- "typedoc": "^0.24.7",
83
- "typescript": "^4.6.4",
84
- "json": "^11.0.0"
104
+ "qrcode-terminal": {
105
+ "optional": true
85
106
  },
86
- "peerDependencies": {
87
- "jimp": "^0.16.1",
88
- "link-preview-js": "^3.0.0",
89
- "qrcode-terminal": "^0.12.0",
90
- "sharp": "^0.32.2"
91
- },
92
- "peerDependenciesMeta": {
93
- "jimp": {
94
- "optional": true
95
- },
96
- "link-preview-js": {
97
- "optional": true
98
- },
99
- "qrcode-terminal": {
100
- "optional": true
101
- },
102
- "sharp": {
103
- "optional": true
104
- }
105
- },
106
- "packageManager": "yarn@1.22.19",
107
- "engines": {
108
- "node": ">=20.0.0"
107
+ "sharp": {
108
+ "optional": true
109
109
  }
110
- }
110
+ },
111
+ "packageManager": "yarn@1.22.19",
112
+ "engines": {
113
+ "node": ">=20.0.0"
114
+ }
115
+ }
@@ -1,3 +0,0 @@
1
- {
2
- "version": [2, 3000, 1023223821]
3
- }