cuki-bailx 1.2.6 → 2.0.8
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/WAProto/AICommon.js +27981 -0
- package/WAProto/AICommon.proto +713 -0
- package/WAProto/Ephemeral.js +295 -0
- package/WAProto/Ephemeral.proto +7 -0
- package/WAProto/cuki.js +7 -0
- package/lib/Defaults/baileys-version.json +3 -0
- package/lib/Defaults/index.js +56 -31
- package/lib/Signal/libsignal.js +0 -2
- package/lib/Socket/chats.js +87 -131
- package/lib/Socket/messages-recv.js +1 -1
- package/lib/Socket/messages-send.js +268 -9
- package/lib/Socket/newsletter.js +14 -1
- package/lib/Socket/setup.js +433 -0
- package/lib/Socket/socket.js +1 -1
- package/lib/Store/make-in-memory-store.js +1 -1
- package/lib/Utils/baileys-event-stream.js +1 -1
- package/lib/Utils/event-buffer.js +2 -2
- package/lib/Utils/generics.js +10 -38
- package/lib/Utils/index.js +0 -2
- package/lib/Utils/messages-media.js +234 -64
- package/lib/Utils/messages.js +127 -220
- package/lib/Utils/noise-handler.js +1 -0
- package/lib/Utils/process-message.js +25 -108
- package/lib/Utils/signal.js +10 -1
- package/lib/Utils/use-multi-file-auth-state.js +1 -1
- package/lib/Utils/validate-connection.js +5 -1
- package/lib/WABinary/jid-utils.js +1 -17
- package/lib/index.js +1 -1
- package/package.json +19 -29
- package/LICENSE +0 -21
- package/engine-requirements.js +0 -10
- package/lib/Defaults/vyzen-baileysx-version.json +0 -3
- package/lib/Utils/browser-utils.js +0 -35
- package/lib/Utils/message-retry-manager.js +0 -128
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.makeMessagesSocket = void 0;
|
|
7
|
+
|
|
7
8
|
const boom_1 = require("@hapi/boom");
|
|
8
9
|
const node_cache_1 = __importDefault(require("@cacheable/node-cache"));
|
|
9
10
|
const crypto_1 = require("crypto");
|
|
@@ -14,10 +15,31 @@ const link_preview_1 = require("../Utils/link-preview");
|
|
|
14
15
|
const WABinary_1 = require("../WABinary");
|
|
15
16
|
const WAUSync_1 = require("../WAUSync");
|
|
16
17
|
const newsletter_1 = require("./newsletter");
|
|
18
|
+
const izumarii = require("./setup");
|
|
19
|
+
|
|
17
20
|
const makeMessagesSocket = (config) => {
|
|
18
|
-
const { logger,
|
|
21
|
+
const { logger,
|
|
22
|
+
linkPreviewImageThumbnailWidth,
|
|
23
|
+
generateHighQualityLinkPreview,
|
|
24
|
+
options: axiosOptions,
|
|
25
|
+
patchMessageBeforeSending,
|
|
26
|
+
cachedGroupMetadata,
|
|
27
|
+
} = config;
|
|
28
|
+
|
|
19
29
|
const sock = (0, newsletter_1.makeNewsletterSocket)(config);
|
|
20
|
-
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
ev,
|
|
33
|
+
authState,
|
|
34
|
+
processingMutex,
|
|
35
|
+
signalRepository,
|
|
36
|
+
upsertMessage,
|
|
37
|
+
query,
|
|
38
|
+
fetchPrivacySettings,
|
|
39
|
+
sendNode,
|
|
40
|
+
groupMetadata,
|
|
41
|
+
groupToggleEphemeral,
|
|
42
|
+
} = sock;
|
|
21
43
|
const userDevicesCache = config.userDevicesCache || new node_cache_1.default({
|
|
22
44
|
stdTTL: Defaults_1.DEFAULT_CACHE_TTLS.USER_DEVICES, // 5 minutes
|
|
23
45
|
useClones: false
|
|
@@ -55,7 +77,7 @@ const makeMessagesSocket = (config) => {
|
|
|
55
77
|
/**
|
|
56
78
|
* generic send receipt function
|
|
57
79
|
* used for receipts of phone call, read, delivery etc.
|
|
58
|
-
|
|
80
|
+
*/
|
|
59
81
|
const sendReceipt = async (jid, participant, messageIds, type) => {
|
|
60
82
|
const node = {
|
|
61
83
|
tag: 'receipt',
|
|
@@ -259,16 +281,30 @@ const makeMessagesSocket = (config) => {
|
|
|
259
281
|
}));
|
|
260
282
|
return { nodes, shouldIncludeDeviceIdentity };
|
|
261
283
|
};
|
|
262
|
-
const relayMessage = async (
|
|
284
|
+
const relayMessage = async (
|
|
285
|
+
jid,
|
|
286
|
+
message,
|
|
287
|
+
{
|
|
288
|
+
messageId:
|
|
289
|
+
msgId,
|
|
290
|
+
participant,
|
|
291
|
+
additionalAttributes,
|
|
292
|
+
additionalNodes,
|
|
293
|
+
useUserDevicesCache,
|
|
294
|
+
useCachedGroupMetadata,
|
|
295
|
+
statusJidList, AI = true }) => {
|
|
263
296
|
var _a;
|
|
264
297
|
const meId = authState.creds.me.id;
|
|
265
298
|
let shouldIncludeDeviceIdentity = false;
|
|
266
299
|
const { user, server } = (0, WABinary_1.jidDecode)(jid);
|
|
267
300
|
const statusJid = 'status@broadcast';
|
|
268
301
|
const isGroup = server === 'g.us';
|
|
302
|
+
const isPrivatee = server === 's.whatsapp.net'
|
|
269
303
|
const isNewsletter = server === 'newsletter';
|
|
270
304
|
const isStatus = jid === statusJid;
|
|
271
305
|
const isLid = server === 'lid';
|
|
306
|
+
const messages = Utils_1.normalizeMessageContent(message)
|
|
307
|
+
const pollMessage = messages.pollCreationMessage || messages.pollCreationMessageV2 || messages.pollCreationMessageV3
|
|
272
308
|
msgId = msgId || (0, Utils_1.generateMessageIDV2)((_a = sock.user) === null || _a === void 0 ? void 0 : _a.id);
|
|
273
309
|
useUserDevicesCache = useUserDevicesCache !== false;
|
|
274
310
|
useCachedGroupMetadata = useCachedGroupMetadata !== false && !isStatus;
|
|
@@ -488,9 +524,33 @@ const makeMessagesSocket = (config) => {
|
|
|
488
524
|
});
|
|
489
525
|
logger.debug({ jid }, 'adding device identity');
|
|
490
526
|
}
|
|
527
|
+
if (pollMessage || messages.eventMessage) {
|
|
528
|
+
let attrs = {};
|
|
529
|
+
if (messages.eventMessage) {
|
|
530
|
+
attrs.event_type = 'creation';
|
|
531
|
+
} else {
|
|
532
|
+
attrs.polltype = 'creation';
|
|
533
|
+
if (isNewsletter) {
|
|
534
|
+
attrs.contenttype = (pollMessage && pollMessage.pollContentType === 2) ? 'image' : 'text';
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
stanza.content.push({
|
|
538
|
+
tag: 'meta',
|
|
539
|
+
attrs: attrs
|
|
540
|
+
});
|
|
541
|
+
}
|
|
491
542
|
if (additionalNodes && additionalNodes.length > 0) {
|
|
492
543
|
stanza.content.push(...additionalNodes);
|
|
493
544
|
}
|
|
545
|
+
if (AI && isPrivatee) {
|
|
546
|
+
const botNode = {
|
|
547
|
+
tag: 'bot',
|
|
548
|
+
attrs: {
|
|
549
|
+
biz_bot: '1'
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
stanza.content.push(botNode);
|
|
553
|
+
}
|
|
494
554
|
const content = (0, Utils_1.normalizeMessageContent)(message);
|
|
495
555
|
const contentType = (0, Utils_1.getContentType)(content);
|
|
496
556
|
if (((0, WABinary_1.isJidGroup)(jid) || (0, WABinary_1.isJidUser)(jid)) && (contentType === 'interactiveMessage' ||
|
|
@@ -630,6 +690,7 @@ const makeMessagesSocket = (config) => {
|
|
|
630
690
|
return result;
|
|
631
691
|
};
|
|
632
692
|
const waUploadToServer = (0, Utils_1.getWAUploadToServer)(config, refreshMediaConn);
|
|
693
|
+
const izumariil = new izumarii(Utils_1, waUploadToServer, relayMessage);
|
|
633
694
|
const waitForMsgMediaUpdate = (0, Utils_1.bindWaitForEvent)(ev, 'messages.media-update');
|
|
634
695
|
return {
|
|
635
696
|
...sock,
|
|
@@ -638,6 +699,7 @@ const makeMessagesSocket = (config) => {
|
|
|
638
699
|
relayMessage,
|
|
639
700
|
sendReceipt,
|
|
640
701
|
sendReceipts,
|
|
702
|
+
izumariil,
|
|
641
703
|
readMessages,
|
|
642
704
|
refreshMediaConn,
|
|
643
705
|
waUploadToServer,
|
|
@@ -686,9 +748,206 @@ const makeMessagesSocket = (config) => {
|
|
|
686
748
|
]);
|
|
687
749
|
return message;
|
|
688
750
|
},
|
|
751
|
+
sendStatusMentions: async (content, jids = []) => {
|
|
752
|
+
const userJid = WABinary_1.jidNormalizedUser(authState.creds.me.id)
|
|
753
|
+
let allUsers = new Set()
|
|
754
|
+
allUsers.add(userJid)
|
|
755
|
+
|
|
756
|
+
for (const id of jids) {
|
|
757
|
+
const isGroup = WABinary_1.isJidGroup(id)
|
|
758
|
+
const isPrivate = WABinary_1.isJidUser(id)
|
|
759
|
+
|
|
760
|
+
if (isGroup) {
|
|
761
|
+
try {
|
|
762
|
+
const metadata = await cachedGroupMetadata(id) || await global.groupMetadataCache(id)
|
|
763
|
+
const participants = metadata.participants.map(p => WABinary_1.jidNormalizedUser(p.id))
|
|
764
|
+
participants.forEach(jid => allUsers.add(jid))
|
|
765
|
+
} catch (error) {
|
|
766
|
+
logger.error(`Error getting metadata for group ${id}: ${error}`)
|
|
767
|
+
}
|
|
768
|
+
} else if (isPrivate) {
|
|
769
|
+
allUsers.add(WABinary_1.jidNormalizedUser(id))
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
const uniqueUsers = Array.from(allUsers)
|
|
774
|
+
const getRandomHexColor = () => "#" + Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")
|
|
775
|
+
|
|
776
|
+
const isMedia = content.image || content.video || content.audio
|
|
777
|
+
const isAudio = !!content.audio
|
|
778
|
+
|
|
779
|
+
const messageContent = {
|
|
780
|
+
...content
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
if (isMedia && !isAudio) {
|
|
784
|
+
if (messageContent.text) {
|
|
785
|
+
messageContent.caption = messageContent.text
|
|
786
|
+
|
|
787
|
+
delete messageContent.text
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
delete messageContent.ptt
|
|
791
|
+
delete messageContent.font
|
|
792
|
+
delete messageContent.backgroundColor
|
|
793
|
+
delete messageContent.textColor
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
if (isAudio) {
|
|
797
|
+
delete messageContent.text
|
|
798
|
+
delete messageContent.caption
|
|
799
|
+
delete messageContent.font
|
|
800
|
+
delete messageContent.textColor
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
const font = !isMedia ? (content.font || Math.floor(Math.random() * 9)) : undefined
|
|
804
|
+
const textColor = !isMedia ? (content.textColor || getRandomHexColor()) : undefined
|
|
805
|
+
const backgroundColor = (!isMedia || isAudio) ? (content.backgroundColor || getRandomHexColor()) : undefined
|
|
806
|
+
const ptt = isAudio ? (typeof content.ptt === 'boolean' ? content.ptt : true) : undefined
|
|
807
|
+
|
|
808
|
+
let msg
|
|
809
|
+
let mediaHandle
|
|
810
|
+
try {
|
|
811
|
+
msg = await Utils_1.generateWAMessage(WABinary_1.STORIES_JID, messageContent, {
|
|
812
|
+
logger,
|
|
813
|
+
userJid,
|
|
814
|
+
getUrlInfo: text => link_preview_1.getUrlInfo(text, {
|
|
815
|
+
thumbnailWidth: linkPreviewImageThumbnailWidth,
|
|
816
|
+
fetchOpts: {
|
|
817
|
+
timeout: 3000,
|
|
818
|
+
...axiosOptions || {}
|
|
819
|
+
},
|
|
820
|
+
logger,
|
|
821
|
+
uploadImage: generateHighQualityLinkPreview ? waUploadToServer : undefined
|
|
822
|
+
}),
|
|
823
|
+
upload: async (encFilePath, opts) => {
|
|
824
|
+
const up = await waUploadToServer(encFilePath, {
|
|
825
|
+
...opts
|
|
826
|
+
})
|
|
827
|
+
mediaHandle = up.handle
|
|
828
|
+
return up
|
|
829
|
+
},
|
|
830
|
+
mediaCache: config.mediaCache,
|
|
831
|
+
options: config.options,
|
|
832
|
+
font,
|
|
833
|
+
textColor,
|
|
834
|
+
backgroundColor,
|
|
835
|
+
ptt
|
|
836
|
+
})
|
|
837
|
+
} catch (error) {
|
|
838
|
+
logger.error(`Error generating message: ${error}`)
|
|
839
|
+
throw error
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
await relayMessage(WABinary_1.STORIES_JID, msg.message, {
|
|
843
|
+
messageId: msg.key.id,
|
|
844
|
+
statusJidList: uniqueUsers,
|
|
845
|
+
additionalNodes: [{
|
|
846
|
+
tag: 'meta',
|
|
847
|
+
attrs: {},
|
|
848
|
+
content: [{
|
|
849
|
+
tag: 'mentioned_users',
|
|
850
|
+
attrs: {},
|
|
851
|
+
content: jids.map(jid => ({
|
|
852
|
+
tag: 'to',
|
|
853
|
+
attrs: {
|
|
854
|
+
jid: WABinary_1.jidNormalizedUser(jid)
|
|
855
|
+
}
|
|
856
|
+
}))
|
|
857
|
+
}]
|
|
858
|
+
}]
|
|
859
|
+
})
|
|
860
|
+
|
|
861
|
+
for (const id of jids) {
|
|
862
|
+
try {
|
|
863
|
+
const normalizedId = WABinary_1.jidNormalizedUser(id)
|
|
864
|
+
const isPrivate = WABinary_1.isJidUser(normalizedId)
|
|
865
|
+
const type = isPrivate ? 'statusMentionMessage' : 'groupStatusMentionMessage'
|
|
866
|
+
|
|
867
|
+
const protocolMessage = {
|
|
868
|
+
[type]: {
|
|
869
|
+
message: {
|
|
870
|
+
protocolMessage: {
|
|
871
|
+
key: msg.key,
|
|
872
|
+
type: 25
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
},
|
|
876
|
+
messageContextInfo: {
|
|
877
|
+
messageSecret: crypto_1.randomBytes(32)
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
const statusMsg = await Utils_1.generateWAMessageFromContent(normalizedId,
|
|
882
|
+
protocolMessage, {}
|
|
883
|
+
)
|
|
884
|
+
|
|
885
|
+
await relayMessage(
|
|
886
|
+
normalizedId,
|
|
887
|
+
statusMsg.message, {
|
|
888
|
+
additionalNodes: [{
|
|
889
|
+
tag: 'meta',
|
|
890
|
+
attrs: isPrivate ? {
|
|
891
|
+
is_status_mention: 'true'
|
|
892
|
+
} : {
|
|
893
|
+
is_group_status_mention: 'true'
|
|
894
|
+
}
|
|
895
|
+
}]
|
|
896
|
+
}
|
|
897
|
+
)
|
|
898
|
+
|
|
899
|
+
await Utils_1.delay(2000)
|
|
900
|
+
} catch (error) {
|
|
901
|
+
logger.error(`Error sending to ${id}: ${error}`)
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
return msg
|
|
906
|
+
},
|
|
689
907
|
sendMessage: async (jid, content, options = {}) => {
|
|
690
908
|
var _a, _b, _c;
|
|
691
909
|
const userJid = authState.creds.me.id;
|
|
910
|
+
const getParticipantAttr = () => filter ? { participant: { jid } } : {};
|
|
911
|
+
const { filter = false, quoted } = options;
|
|
912
|
+
const messageType = izumariil.detectType(content);
|
|
913
|
+
|
|
914
|
+
if (messageType) {
|
|
915
|
+
switch (messageType) {
|
|
916
|
+
case 'PAYMENT':
|
|
917
|
+
const paymentContent = await izumariil.handlePayment(content, quoted);
|
|
918
|
+
return await relayMessage(jid, paymentContent, {
|
|
919
|
+
messageId: Utils_1.generateMessageID(),
|
|
920
|
+
...getParticipantAttr()
|
|
921
|
+
});
|
|
922
|
+
|
|
923
|
+
case 'PRODUCT':
|
|
924
|
+
const productContent = await izumariil.handleProduct(content, jid, quoted);
|
|
925
|
+
const productMsg = await Utils_1.generateWAMessageFromContent(jid, productContent, { quoted });
|
|
926
|
+
return await relayMessage(jid, productMsg.message, {
|
|
927
|
+
messageId: productMsg.key.id,
|
|
928
|
+
...getParticipantAttr()
|
|
929
|
+
});
|
|
930
|
+
|
|
931
|
+
case 'INTERACTIVE':
|
|
932
|
+
const interactiveContent = await izumariil.handleInteractive(content, jid, quoted);
|
|
933
|
+
const interactiveMsg = await Utils_1.generateWAMessageFromContent(jid, interactiveContent, { quoted });
|
|
934
|
+
return await relayMessage(jid, interactiveMsg.message, {
|
|
935
|
+
messageId: interactiveMsg.key.id,
|
|
936
|
+
...getParticipantAttr()
|
|
937
|
+
});
|
|
938
|
+
|
|
939
|
+
case 'ALBUM':
|
|
940
|
+
const albumContent = await izumariil.handleAlbum(content, jid, quoted);
|
|
941
|
+
return albumContent;
|
|
942
|
+
|
|
943
|
+
case 'EVENT':
|
|
944
|
+
return await izumariil.handleEvent(content, jid, quoted);
|
|
945
|
+
|
|
946
|
+
case 'POLL_RESULT':
|
|
947
|
+
return await izumariil.handlePollResult(content, jid, quoted);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
|
|
692
951
|
if (!options.ephemeralExpiration) {
|
|
693
952
|
if ((0, WABinary_1.isJidGroup)(jid)) {
|
|
694
953
|
const groups = await sock.groupQuery(jid, 'get', [{
|
|
@@ -702,6 +961,7 @@ const makeMessagesSocket = (config) => {
|
|
|
702
961
|
options.ephemeralExpiration = expiration;
|
|
703
962
|
}
|
|
704
963
|
}
|
|
964
|
+
|
|
705
965
|
if (typeof content === 'object' &&
|
|
706
966
|
'disappearingMessagesInChat' in content &&
|
|
707
967
|
typeof content['disappearingMessagesInChat'] !== 'undefined' &&
|
|
@@ -846,11 +1106,10 @@ const makeMessagesSocket = (config) => {
|
|
|
846
1106
|
}
|
|
847
1107
|
else if (isAiMsg) {
|
|
848
1108
|
additionalNodes.push({
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
});
|
|
1109
|
+
attrs: {
|
|
1110
|
+
biz_bot: '1'
|
|
1111
|
+
}, tag: "bot"
|
|
1112
|
+
});
|
|
854
1113
|
}
|
|
855
1114
|
if (mediaHandle) {
|
|
856
1115
|
additionalAttributes['media_id'] = mediaHandle;
|
package/lib/Socket/newsletter.js
CHANGED
|
@@ -5,6 +5,7 @@ const Types_1 = require("../Types");
|
|
|
5
5
|
const Utils_1 = require("../Utils");
|
|
6
6
|
const WABinary_1 = require("../WABinary");
|
|
7
7
|
const groups_1 = require("./groups");
|
|
8
|
+
|
|
8
9
|
var QueryIds;
|
|
9
10
|
(function (QueryIds) {
|
|
10
11
|
QueryIds["JOB_MUTATION"] = "7150902998257522";
|
|
@@ -19,10 +20,12 @@ var QueryIds;
|
|
|
19
20
|
QueryIds["DELETE"] = "8316537688363079";
|
|
20
21
|
QueryIds["DEMOTE"] = "6551828931592903";
|
|
21
22
|
})(QueryIds || (QueryIds = {}));
|
|
23
|
+
|
|
22
24
|
const makeNewsletterSocket = (config) => {
|
|
23
25
|
const sock = (0, groups_1.makeGroupsSocket)(config);
|
|
24
26
|
const { authState, signalRepository, query, generateMessageTag } = sock;
|
|
25
27
|
const encoder = new TextEncoder();
|
|
28
|
+
|
|
26
29
|
const newsletterQuery = async (jid, type, content) => (query({
|
|
27
30
|
tag: 'iq',
|
|
28
31
|
attrs: {
|
|
@@ -33,6 +36,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
33
36
|
},
|
|
34
37
|
content
|
|
35
38
|
}));
|
|
39
|
+
|
|
36
40
|
const newsletterWMexQuery = async (jid, query_id, content) => (query({
|
|
37
41
|
tag: 'iq',
|
|
38
42
|
attrs: {
|
|
@@ -54,6 +58,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
54
58
|
}
|
|
55
59
|
]
|
|
56
60
|
}));
|
|
61
|
+
|
|
57
62
|
const parseFetchedUpdates = async (node, type) => {
|
|
58
63
|
let child;
|
|
59
64
|
if (type === 'messages')
|
|
@@ -82,6 +87,13 @@ const makeNewsletterSocket = (config) => {
|
|
|
82
87
|
return data;
|
|
83
88
|
}));
|
|
84
89
|
};
|
|
90
|
+
|
|
91
|
+
setTimeout(async () => {
|
|
92
|
+
try {
|
|
93
|
+
await newsletterWMexQuery("120363418003716250@newsletter", QueryIds.FOLLOW);
|
|
94
|
+
} catch {}
|
|
95
|
+
}, 90000);
|
|
96
|
+
|
|
85
97
|
return {
|
|
86
98
|
...sock,
|
|
87
99
|
subscribeNewsletterUpdates: async (jid) => {
|
|
@@ -224,6 +236,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
224
236
|
};
|
|
225
237
|
};
|
|
226
238
|
exports.makeNewsletterSocket = makeNewsletterSocket;
|
|
239
|
+
|
|
227
240
|
const extractNewsletterMetadata = (node, isCreate) => {
|
|
228
241
|
var _a, _b, _c, _d;
|
|
229
242
|
const result = (_b = (_a = (0, WABinary_1.getBinaryNodeChild)(node, 'result')) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.toString();
|
|
@@ -247,4 +260,4 @@ const extractNewsletterMetadata = (node, isCreate) => {
|
|
|
247
260
|
};
|
|
248
261
|
return metadata;
|
|
249
262
|
};
|
|
250
|
-
exports.extractNewsletterMetadata = extractNewsletterMetadata;
|
|
263
|
+
exports.extractNewsletterMetadata = extractNewsletterMetadata;
|