@frogbotai/piece-resend 0.29.0 → 0.30.0
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/dist/actions/cancelScheduledEmail.js +10 -4
- package/dist/actions/cancelScheduledEmail.js.map +1 -1
- package/dist/actions/createAudience.js +13 -4
- package/dist/actions/createAudience.js.map +1 -1
- package/dist/actions/createBroadcast.d.ts +1 -1
- package/dist/actions/createBroadcast.js +10 -6
- package/dist/actions/createBroadcast.js.map +1 -1
- package/dist/actions/createContact.js +10 -5
- package/dist/actions/createContact.js.map +1 -1
- package/dist/actions/createDomain.js +16 -7
- package/dist/actions/createDomain.js.map +1 -1
- package/dist/actions/customApiCall.d.ts.map +1 -1
- package/dist/actions/customApiCall.js +27 -24
- package/dist/actions/customApiCall.js.map +1 -1
- package/dist/actions/deleteAudience.js +10 -4
- package/dist/actions/deleteAudience.js.map +1 -1
- package/dist/actions/deleteBroadcast.js +10 -4
- package/dist/actions/deleteBroadcast.js.map +1 -1
- package/dist/actions/deleteContact.js +8 -4
- package/dist/actions/deleteContact.js.map +1 -1
- package/dist/actions/deleteDomain.js +10 -4
- package/dist/actions/deleteDomain.js.map +1 -1
- package/dist/actions/getEmailStatus.js +9 -4
- package/dist/actions/getEmailStatus.js.map +1 -1
- package/dist/actions/listAudiences.js +6 -3
- package/dist/actions/listAudiences.js.map +1 -1
- package/dist/actions/listBroadcasts.js +19 -18
- package/dist/actions/listBroadcasts.js.map +1 -1
- package/dist/actions/listContacts.js +9 -4
- package/dist/actions/listContacts.js.map +1 -1
- package/dist/actions/listDomains.js +15 -12
- package/dist/actions/listDomains.js.map +1 -1
- package/dist/actions/listEmails.js +18 -15
- package/dist/actions/listEmails.js.map +1 -1
- package/dist/actions/rescheduleEmail.js +13 -4
- package/dist/actions/rescheduleEmail.js.map +1 -1
- package/dist/actions/send.d.ts +1 -1
- package/dist/actions/send.js +8 -4
- package/dist/actions/send.js.map +1 -1
- package/dist/actions/sendBatchEmails.d.ts +1 -1
- package/dist/actions/sendBatchEmails.js +13 -7
- package/dist/actions/sendBatchEmails.js.map +1 -1
- package/dist/actions/sendBroadcast.js +15 -6
- package/dist/actions/sendBroadcast.js.map +1 -1
- package/dist/actions/updateContact.js +6 -5
- package/dist/actions/updateContact.js.map +1 -1
- package/dist/actions/verifyDomain.js +10 -4
- package/dist/actions/verifyDomain.js.map +1 -1
- package/dist/client.js +32 -34
- package/dist/client.js.map +1 -1
- package/dist/config.js +8 -2
- package/dist/config.js.map +1 -1
- package/dist/define.js +1 -0
- package/dist/define.js.map +1 -1
- package/dist/email.js +11 -14
- package/dist/email.js.map +1 -1
- package/dist/format.js +11 -8
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/piece-types.js +2 -1
- package/dist/piece-types.js.map +1 -1
- package/package.json +4 -4
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/define.ts"],"names":["createPieceHelpers","defineAction"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,iBAAiB;AAKpD,OAAO,MAAM,EAAEC,YAAY,EAAE,GAAGD,qBAAkD","file":"define.js"}
|
package/dist/email.js
CHANGED
|
@@ -5,23 +5,19 @@ function mapAttachment(attachment) {
|
|
|
5
5
|
if (typeof content !== 'string' && !Buffer.isBuffer(content)) {
|
|
6
6
|
throw new Error("Piece 'resend' email attachments must be a string or Buffer");
|
|
7
7
|
}
|
|
8
|
-
const buffer = typeof content === 'string'
|
|
9
|
-
|
|
10
|
-
:
|
|
11
|
-
|
|
8
|
+
const buffer = typeof content === 'string' ? Buffer.from(content, attachment.encoding) : content;
|
|
9
|
+
return {
|
|
10
|
+
filename: attachment.filename,
|
|
11
|
+
content: buffer.toString('base64')
|
|
12
|
+
};
|
|
12
13
|
}
|
|
13
14
|
function mapBody(content) {
|
|
14
|
-
return Buffer.isBuffer(content)
|
|
15
|
-
? content.toString()
|
|
16
|
-
: typeof content === 'string'
|
|
17
|
-
? content
|
|
18
|
-
: undefined;
|
|
15
|
+
return Buffer.isBuffer(content) ? content.toString() : typeof content === 'string' ? content : undefined;
|
|
19
16
|
}
|
|
20
17
|
export const resendEmail = {
|
|
21
|
-
async send({ message, client, options }) {
|
|
18
|
+
async send ({ message, client, options }) {
|
|
22
19
|
const from = address(message.from ?? options.from);
|
|
23
|
-
if (!from)
|
|
24
|
-
throw new Error('[frogbot] Resend email requires a from address.');
|
|
20
|
+
if (!from) throw new Error('[frogbot] Resend email requires a from address.');
|
|
25
21
|
return send(client, compact({
|
|
26
22
|
from,
|
|
27
23
|
to: addresses(message.to),
|
|
@@ -31,8 +27,9 @@ export const resendEmail = {
|
|
|
31
27
|
subject: message.subject ?? '',
|
|
32
28
|
html: mapBody(message.html),
|
|
33
29
|
text: mapBody(message.text),
|
|
34
|
-
attachments: message.attachments?.map(mapAttachment)
|
|
30
|
+
attachments: message.attachments?.map(mapAttachment)
|
|
35
31
|
}));
|
|
36
|
-
}
|
|
32
|
+
}
|
|
37
33
|
};
|
|
34
|
+
|
|
38
35
|
//# sourceMappingURL=email.js.map
|
package/dist/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/email.ts"],"names":["Buffer","address","addresses","compact","send","mapAttachment","attachment","content","isBuffer","Error","buffer","from","encoding","filename","toString","mapBody","undefined","resendEmail","message","client","options","to","cc","bcc","reply_to","replyTo","subject","html","text","attachments","map"],"mappings":"AAAA,SAASA,MAAM,QAAQ,cAAc;AAKrC,SAASC,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,cAAc;AAGhE,SAASC,cAAcC,UAItB;IACC,MAAMC,UAAUD,YAAYC;IAE5B,IAAI,OAAOA,YAAY,YAAY,CAACP,OAAOQ,QAAQ,CAACD,UAAU;QAC5D,MAAM,IAAIE,MAAM;IAClB;IAEA,MAAMC,SACJ,OAAOH,YAAY,WACfP,OAAOW,IAAI,CAACJ,SAASD,WAAWM,QAAQ,IACxCL;IAEN,OAAO;QAAEM,UAAUP,WAAWO,QAAQ;QAAEN,SAASG,OAAOI,QAAQ,CAAC;IAAU;AAC7E;AAEA,SAASC,QAAQR,OAAgB;IAC/B,OAAOP,OAAOQ,QAAQ,CAACD,WACnBA,QAAQO,QAAQ,KAChB,OAAOP,YAAY,WACjBA,UACAS;AACR;AAEA,OAAO,MAAMC,cAAc;IACzB,MAAMb,MAAK,EAAEc,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAE;QACrC,MAAMT,OAAOV,QAAQiB,QAAQP,IAAI,IAAIS,QAAQT,IAAI;QAEjD,IAAI,CAACA,MAAM,MAAM,IAAIF,MAAM;QAE3B,OAAOL,KACLe,QACAhB,QAAQ;YACNQ;YACAU,IAAInB,UAAUgB,QAAQG,EAAE;YACxBC,IAAIpB,UAAUgB,QAAQI,EAAE;YACxBC,KAAKrB,UAAUgB,QAAQK,GAAG;YAC1BC,UAAUtB,UAAUgB,QAAQO,OAAO;YACnCC,SAASR,QAAQQ,OAAO,IAAI;YAC5BC,MAAMZ,QAAQG,QAAQS,IAAI;YAC1BC,MAAMb,QAAQG,QAAQU,IAAI;YAC1BC,aAAaX,QAAQW,WAAW,EAAEC,IAAIzB;QACxC;IAEJ;AACF,EAA6E","file":"email.js"}
|
package/dist/format.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function compact(value) {
|
|
2
|
-
return Object.fromEntries(Object.entries(value).filter(([, entry])
|
|
2
|
+
return Object.fromEntries(Object.entries(value).filter(([, entry])=>entry !== undefined));
|
|
3
3
|
}
|
|
4
4
|
export function emailBody(input, fallbackReplyTo = false) {
|
|
5
5
|
const { content, content_type, from, from_name, ...values } = input;
|
|
@@ -7,21 +7,24 @@ export function emailBody(input, fallbackReplyTo = false) {
|
|
|
7
7
|
...values,
|
|
8
8
|
from: from_name ? `${from_name} <${from}>` : from,
|
|
9
9
|
reply_to: values.reply_to ?? (fallbackReplyTo ? from : undefined),
|
|
10
|
-
[content_type === 'text' ? 'text' : 'html']: content
|
|
10
|
+
[content_type === 'text' ? 'text' : 'html']: content
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
export function address(value) {
|
|
14
|
-
if (!value || typeof value !== 'object')
|
|
15
|
-
return value;
|
|
14
|
+
if (!value || typeof value !== 'object') return value;
|
|
16
15
|
const candidate = value;
|
|
17
|
-
return candidate.name && candidate.address
|
|
18
|
-
? `${candidate.name} <${candidate.address}>`
|
|
19
|
-
: candidate.address;
|
|
16
|
+
return candidate.name && candidate.address ? `${candidate.name} <${candidate.address}>` : candidate.address;
|
|
20
17
|
}
|
|
21
18
|
export function addresses(value) {
|
|
22
19
|
return Array.isArray(value) ? value.map(address) : address(value);
|
|
23
20
|
}
|
|
24
21
|
export function send(client, body, response = false) {
|
|
25
|
-
return client.request({
|
|
22
|
+
return client.request({
|
|
23
|
+
method: 'POST',
|
|
24
|
+
path: '/emails',
|
|
25
|
+
body,
|
|
26
|
+
response
|
|
27
|
+
});
|
|
26
28
|
}
|
|
29
|
+
|
|
27
30
|
//# sourceMappingURL=format.js.map
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/format.ts"],"names":["compact","value","Object","fromEntries","entries","filter","entry","undefined","emailBody","input","fallbackReplyTo","content","content_type","from","from_name","values","reply_to","address","candidate","name","addresses","Array","isArray","map","send","client","body","response","request","method","path"],"mappings":"AAEA,OAAO,SAASA,QAAQC,KAA8B;IACpD,OAAOC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACH,OAAOI,MAAM,CAAC,CAAC,GAAGC,MAAM,GAAKA,UAAUC;AAClF;AAEA,OAAO,SAASC,UAAUC,KAA8B,EAAEC,kBAAkB,KAAK;IAC/E,MAAM,EAAEC,OAAO,EAAEC,YAAY,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,QAAQ,GAAGN;IAC9D,OAAOT,QAAQ;QACb,GAAGe,MAAM;QACTF,MAAMC,YAAY,GAAGA,UAAU,EAAE,EAAED,KAAK,CAAC,CAAC,GAAGA;QAC7CG,UAAUD,OAAOC,QAAQ,IAAKN,CAAAA,kBAAkBG,OAAON,SAAQ;QAC/D,CAACK,iBAAiB,SAAS,SAAS,OAAO,EAAED;IAC/C;AACF;AAEA,OAAO,SAASM,QAAQhB,KAAc;IACpC,IAAI,CAACA,SAAS,OAAOA,UAAU,UAAU,OAAOA;IAChD,MAAMiB,YAAYjB;IAClB,OAAOiB,UAAUC,IAAI,IAAID,UAAUD,OAAO,GACtC,GAAGC,UAAUC,IAAI,CAAC,EAAE,EAAED,UAAUD,OAAO,CAAC,CAAC,CAAC,GAC1CC,UAAUD,OAAO;AACvB;AAEA,OAAO,SAASG,UAAUnB,KAAc;IACtC,OAAOoB,MAAMC,OAAO,CAACrB,SAASA,MAAMsB,GAAG,CAACN,WAAWA,QAAQhB;AAC7D;AAEA,OAAO,SAASuB,KAAKC,MAAoB,EAAEC,IAA6B,EAAEC,WAAW,KAAK;IACxF,OAAOF,OAAOG,OAAO,CAAC;QAAEC,QAAQ;QAAQC,MAAM;QAAWJ;QAAMC;IAAS;AAC1E","file":"format.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -59,8 +59,8 @@ export declare const createResend: import("frogbot/pieces").PieceFactory<{
|
|
|
59
59
|
reply_to: import("zod").ZodOptional<import("zod").ZodString>;
|
|
60
60
|
preview_text: import("zod").ZodOptional<import("zod").ZodString>;
|
|
61
61
|
content_type: import("zod").ZodEnum<{
|
|
62
|
-
text: "text";
|
|
63
62
|
html: "html";
|
|
63
|
+
text: "text";
|
|
64
64
|
}>;
|
|
65
65
|
content: import("zod").ZodString;
|
|
66
66
|
}, import("zod/v4/core").$strip>, undefined, {
|
|
@@ -293,8 +293,8 @@ export declare const createResend: import("frogbot/pieces").PieceFactory<{
|
|
|
293
293
|
reply_to: import("zod").ZodOptional<import("zod").ZodString>;
|
|
294
294
|
subject: import("zod").ZodString;
|
|
295
295
|
content_type: import("zod").ZodEnum<{
|
|
296
|
-
text: "text";
|
|
297
296
|
html: "html";
|
|
297
|
+
text: "text";
|
|
298
298
|
}>;
|
|
299
299
|
content: import("zod").ZodString;
|
|
300
300
|
scheduled_at: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -313,8 +313,8 @@ export declare const createResend: import("frogbot/pieces").PieceFactory<{
|
|
|
313
313
|
to: import("zod").ZodString;
|
|
314
314
|
subject: import("zod").ZodString;
|
|
315
315
|
content_type: import("zod").ZodEnum<{
|
|
316
|
-
text: "text";
|
|
317
316
|
html: "html";
|
|
317
|
+
text: "text";
|
|
318
318
|
}>;
|
|
319
319
|
content: import("zod").ZodString;
|
|
320
320
|
reply_to: import("zod").ZodOptional<import("zod").ZodString>;
|
package/dist/index.js
CHANGED
|
@@ -46,16 +46,19 @@ export const resendActions = [
|
|
|
46
46
|
'createBroadcast',
|
|
47
47
|
'sendBroadcast',
|
|
48
48
|
'deleteBroadcast',
|
|
49
|
-
'customApiCall'
|
|
49
|
+
'customApiCall'
|
|
50
50
|
];
|
|
51
51
|
export const resendScopes = [];
|
|
52
52
|
export const createResend = definePiece({
|
|
53
53
|
slug: 'resend',
|
|
54
54
|
label: 'Resend',
|
|
55
|
-
admin: {
|
|
55
|
+
admin: {
|
|
56
|
+
description: 'Send email and manage Resend resources',
|
|
57
|
+
group: 'Communication'
|
|
58
|
+
},
|
|
56
59
|
auth: resendAuth,
|
|
57
60
|
options: resendOptions,
|
|
58
|
-
client: ({ auth })
|
|
61
|
+
client: ({ auth })=>createResendClient(auth),
|
|
59
62
|
actions: [
|
|
60
63
|
send,
|
|
61
64
|
sendBatchEmails,
|
|
@@ -78,8 +81,9 @@ export const createResend = definePiece({
|
|
|
78
81
|
createBroadcast,
|
|
79
82
|
sendBroadcast,
|
|
80
83
|
deleteBroadcast,
|
|
81
|
-
customApiCall
|
|
84
|
+
customApiCall
|
|
82
85
|
],
|
|
83
|
-
email: resendEmail
|
|
86
|
+
email: resendEmail
|
|
84
87
|
});
|
|
88
|
+
|
|
85
89
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["definePiece","cancelScheduledEmail","createAudience","createBroadcast","createContact","createDomain","customApiCall","deleteAudience","deleteBroadcast","deleteContact","deleteDomain","getEmailStatus","listAudiences","listBroadcasts","listContacts","listDomains","listEmails","rescheduleEmail","send","sendBatchEmails","sendBroadcast","updateContact","verifyDomain","createResendClient","resendAuth","resendOptions","resendEmail","resendActions","resendScopes","createResend","slug","label","admin","description","group","auth","options","client","actions","email"],"mappings":"AAAA,SAASA,WAAW,QAA8B,iBAAiB;AAEnE,SAASC,oBAAoB,QAAQ,oCAAoC;AACzE,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,eAAe,QAAQ,+BAA+B;AAC/D,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,eAAe,QAAQ,+BAA+B;AAC/D,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,WAAW,QAAQ,2BAA2B;AACvD,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,eAAe,QAAQ,+BAA+B;AAC/D,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,eAAe,QAAQ,+BAA+B;AAC/D,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,kBAAkB,QAA2B,cAAc;AACpE,SAASC,UAAU,EAAEC,aAAa,QAAQ,cAAc;AACxD,SAASC,WAAW,QAAQ,aAAa;AAGzC,OAAO,MAAMC,gBAAgB;IAC3B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAU;AAEX,OAAO,MAAMC,eAAe,EAAE,CAAU;AAExC,OAAO,MAAMC,eAAe7B,YAAY;IACtC8B,MAAM;IACNC,OAAO;IACPC,OAAO;QAAEC,aAAa;QAA0CC,OAAO;IAAgB;IACvFC,MAAMX;IACNY,SAASX;IACTY,QAAQ,CAAC,EAAEF,IAAI,EAAE,GAAKZ,mBAAmBY;IACzCG,SAAS;QACPpB;QACAC;QACAR;QACAK;QACAf;QACAgB;QACAb;QACAiB;QACAZ;QACAK;QACAC;QACAV;QACAK;QACAY;QACAV;QACAV;QACAK;QACAM;QACAV;QACAiB;QACAZ;QACAF;KACD;IACDiC,OAAOb;AACT,GAAwD","file":"index.js"}
|
package/dist/piece-types.js
CHANGED
package/dist/piece-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/piece-types.ts"],"names":[],"mappings":"AAAA,WAsMC","file":"piece-types.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/piece-resend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Resend tools for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"zod": "^4.3.6"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"frogbot": "0.
|
|
30
|
+
"frogbot": "0.30.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"typescript": "5.6.2",
|
|
34
|
-
"frogbot": "0.
|
|
34
|
+
"frogbot": "0.30.0"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"scripts": {
|
|
40
40
|
"generate:types": "frogbot generate:piece-types src/index.ts --export createResend --output src/piece-types.ts",
|
|
41
41
|
"check:types": "pnpm generate:types --check",
|
|
42
|
-
"build": "
|
|
42
|
+
"build": "node ../../../scripts/build-package.mjs",
|
|
43
43
|
"clean": "rm -rf dist",
|
|
44
44
|
"typecheck": "pnpm check:types && tsc --noEmit"
|
|
45
45
|
}
|