@activepieces/piece-elastic-email 0.2.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/package.json +17 -0
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +51 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/add-contact.d.ts +12 -0
- package/src/lib/actions/add-contact.d.ts.map +1 -0
- package/src/lib/actions/add-contact.js +95 -0
- package/src/lib/actions/add-contact.js.map +1 -0
- package/src/lib/actions/create-campaign.d.ts +11 -0
- package/src/lib/actions/create-campaign.d.ts.map +1 -0
- package/src/lib/actions/create-campaign.js +79 -0
- package/src/lib/actions/create-campaign.js.map +1 -0
- package/src/lib/actions/create-contact.d.ts +8 -0
- package/src/lib/actions/create-contact.d.ts.map +1 -0
- package/src/lib/actions/create-contact.js +63 -0
- package/src/lib/actions/create-contact.js.map +1 -0
- package/src/lib/actions/create-segment.d.ts +5 -0
- package/src/lib/actions/create-segment.d.ts.map +1 -0
- package/src/lib/actions/create-segment.js +39 -0
- package/src/lib/actions/create-segment.js.map +1 -0
- package/src/lib/actions/list-campaigns.d.ts +6 -0
- package/src/lib/actions/list-campaigns.d.ts.map +1 -0
- package/src/lib/actions/list-campaigns.js +55 -0
- package/src/lib/actions/list-campaigns.js.map +1 -0
- package/src/lib/actions/list-contacts.d.ts +5 -0
- package/src/lib/actions/list-contacts.d.ts.map +1 -0
- package/src/lib/actions/list-contacts.js +47 -0
- package/src/lib/actions/list-contacts.js.map +1 -0
- package/src/lib/actions/send-email.d.ts +17 -0
- package/src/lib/actions/send-email.d.ts.map +1 -0
- package/src/lib/actions/send-email.js +128 -0
- package/src/lib/actions/send-email.js.map +1 -0
- package/src/lib/actions/unsubscribe-contact.d.ts +4 -0
- package/src/lib/actions/unsubscribe-contact.d.ts.map +1 -0
- package/src/lib/actions/unsubscribe-contact.js +34 -0
- package/src/lib/actions/unsubscribe-contact.js.map +1 -0
- package/src/lib/actions/update-campaign.d.ts +12 -0
- package/src/lib/actions/update-campaign.d.ts.map +1 -0
- package/src/lib/actions/update-campaign.js +89 -0
- package/src/lib/actions/update-campaign.js.map +1 -0
- package/src/lib/actions/update-contact.d.ts +7 -0
- package/src/lib/actions/update-contact.d.ts.map +1 -0
- package/src/lib/actions/update-contact.js +47 -0
- package/src/lib/actions/update-contact.js.map +1 -0
- package/src/lib/auth.d.ts +2 -0
- package/src/lib/auth.d.ts.map +1 -0
- package/src/lib/auth.js +59 -0
- package/src/lib/auth.js.map +1 -0
- package/src/lib/common/client.d.ts +9 -0
- package/src/lib/common/client.d.ts.map +1 -0
- package/src/lib/common/client.js +19 -0
- package/src/lib/common/client.js.map +1 -0
- package/src/lib/common/constants.d.ts +8 -0
- package/src/lib/common/constants.d.ts.map +1 -0
- package/src/lib/common/constants.js +47 -0
- package/src/lib/common/constants.js.map +1 -0
- package/src/lib/common/props.d.ts +6 -0
- package/src/lib/common/props.d.ts.map +1 -0
- package/src/lib/common/props.js +165 -0
- package/src/lib/common/props.js.map +1 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendEmailAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const client_1 = require("../common/client");
|
|
9
|
+
const constants_1 = require("../common/constants");
|
|
10
|
+
const props_1 = require("../common/props");
|
|
11
|
+
exports.sendEmailAction = (0, pieces_framework_1.createAction)({
|
|
12
|
+
name: 'send_email',
|
|
13
|
+
displayName: 'Send Email',
|
|
14
|
+
description: 'Send an email to one or more recipients via Elastic Email.',
|
|
15
|
+
auth: auth_1.elasticEmailAuth,
|
|
16
|
+
props: {
|
|
17
|
+
recipients: pieces_framework_1.Property.Array({
|
|
18
|
+
displayName: 'Recipients',
|
|
19
|
+
description: 'List of recipient email addresses.',
|
|
20
|
+
required: true,
|
|
21
|
+
}),
|
|
22
|
+
from: pieces_framework_1.Property.ShortText({
|
|
23
|
+
displayName: 'From',
|
|
24
|
+
description: 'Sender email with optional name (e.g. `email@domain.com` or `John Doe <email@domain.com>`).',
|
|
25
|
+
required: true,
|
|
26
|
+
}),
|
|
27
|
+
subject: pieces_framework_1.Property.ShortText({
|
|
28
|
+
displayName: 'Subject',
|
|
29
|
+
description: 'Email subject line.',
|
|
30
|
+
required: false,
|
|
31
|
+
}),
|
|
32
|
+
bodyContentType: pieces_framework_1.Property.StaticDropdown({
|
|
33
|
+
displayName: 'Body Content Type',
|
|
34
|
+
description: 'Type of body content.',
|
|
35
|
+
required: false,
|
|
36
|
+
options: {
|
|
37
|
+
options: constants_1.BODY_CONTENT_TYPE_OPTIONS.map((s) => ({ label: s, value: s })),
|
|
38
|
+
},
|
|
39
|
+
}),
|
|
40
|
+
bodyContent: pieces_framework_1.Property.LongText({
|
|
41
|
+
displayName: 'Body Content',
|
|
42
|
+
description: 'The actual body content of the email.',
|
|
43
|
+
required: false,
|
|
44
|
+
}),
|
|
45
|
+
replyTo: pieces_framework_1.Property.ShortText({
|
|
46
|
+
displayName: 'Reply To',
|
|
47
|
+
description: 'Reply-to email address.',
|
|
48
|
+
required: false,
|
|
49
|
+
}),
|
|
50
|
+
templateName: props_1.templateNameProp,
|
|
51
|
+
merge: pieces_framework_1.Property.Object({
|
|
52
|
+
displayName: 'Merge Fields',
|
|
53
|
+
description: 'Key-value merge fields shared between recipients. Use in email body like {firstname}, {lastname}.',
|
|
54
|
+
required: false,
|
|
55
|
+
}),
|
|
56
|
+
timeOffset: pieces_framework_1.Property.Number({
|
|
57
|
+
displayName: 'Time Offset (minutes)',
|
|
58
|
+
description: 'Delay sending by this many minutes. Maximum is 35 days (50400 minutes).',
|
|
59
|
+
required: false,
|
|
60
|
+
}),
|
|
61
|
+
poolName: pieces_framework_1.Property.ShortText({
|
|
62
|
+
displayName: 'Pool Name',
|
|
63
|
+
description: 'Name of custom IP pool for sending.',
|
|
64
|
+
required: false,
|
|
65
|
+
}),
|
|
66
|
+
channelName: pieces_framework_1.Property.ShortText({
|
|
67
|
+
displayName: 'Channel Name',
|
|
68
|
+
description: 'Name of the sending channel.',
|
|
69
|
+
required: false,
|
|
70
|
+
}),
|
|
71
|
+
encoding: pieces_framework_1.Property.StaticDropdown({
|
|
72
|
+
displayName: 'Encoding',
|
|
73
|
+
description: 'Encoding type for email headers.',
|
|
74
|
+
required: false,
|
|
75
|
+
options: {
|
|
76
|
+
options: constants_1.ENCODING_OPTIONS.map((s) => ({ label: s, value: s })),
|
|
77
|
+
},
|
|
78
|
+
}),
|
|
79
|
+
trackOpens: pieces_framework_1.Property.Checkbox({
|
|
80
|
+
displayName: 'Track Opens',
|
|
81
|
+
description: 'Track email opens. If not set, uses account default.',
|
|
82
|
+
required: false,
|
|
83
|
+
}),
|
|
84
|
+
trackClicks: pieces_framework_1.Property.Checkbox({
|
|
85
|
+
displayName: 'Track Clicks',
|
|
86
|
+
description: 'Track link clicks. If not set, uses account default.',
|
|
87
|
+
required: false,
|
|
88
|
+
}),
|
|
89
|
+
},
|
|
90
|
+
run(_a) {
|
|
91
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
|
|
92
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
93
|
+
const recipientEmails = ((_b = propsValue.recipients) !== null && _b !== void 0 ? _b : []).map(String);
|
|
94
|
+
return (0, client_1.elasticEmailRequest)({
|
|
95
|
+
apiKey: auth.secret_text,
|
|
96
|
+
method: pieces_common_1.HttpMethod.POST,
|
|
97
|
+
path: '/emails',
|
|
98
|
+
body: {
|
|
99
|
+
Recipients: recipientEmails.map((email) => ({ Email: email })),
|
|
100
|
+
Content: {
|
|
101
|
+
From: propsValue.from,
|
|
102
|
+
Subject: (_c = propsValue.subject) !== null && _c !== void 0 ? _c : undefined,
|
|
103
|
+
Body: (propsValue.bodyContentType || propsValue.bodyContent)
|
|
104
|
+
? [
|
|
105
|
+
{
|
|
106
|
+
ContentType: propsValue.bodyContentType || 'HTML',
|
|
107
|
+
Body: propsValue.bodyContent,
|
|
108
|
+
},
|
|
109
|
+
]
|
|
110
|
+
: undefined,
|
|
111
|
+
ReplyTo: (_d = propsValue.replyTo) !== null && _d !== void 0 ? _d : undefined,
|
|
112
|
+
TemplateName: (_e = propsValue.templateName) !== null && _e !== void 0 ? _e : undefined,
|
|
113
|
+
Merge: (_f = propsValue.merge) !== null && _f !== void 0 ? _f : undefined,
|
|
114
|
+
},
|
|
115
|
+
Options: {
|
|
116
|
+
TimeOffset: (_g = propsValue.timeOffset) !== null && _g !== void 0 ? _g : undefined,
|
|
117
|
+
PoolName: (_h = propsValue.poolName) !== null && _h !== void 0 ? _h : undefined,
|
|
118
|
+
ChannelName: (_j = propsValue.channelName) !== null && _j !== void 0 ? _j : undefined,
|
|
119
|
+
Encoding: (_k = propsValue.encoding) !== null && _k !== void 0 ? _k : undefined,
|
|
120
|
+
TrackOpens: (_l = propsValue.trackOpens) !== null && _l !== void 0 ? _l : undefined,
|
|
121
|
+
TrackClicks: (_m = propsValue.trackClicks) !== null && _m !== void 0 ? _m : undefined,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=send-email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../../../src/lib/actions/send-email.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const unsubscribeContactAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
emails: import("@activepieces/pieces-framework").ArrayProperty<true>;
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=unsubscribe-contact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsubscribe-contact.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/unsubscribe-contact.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB;;EAuBnC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unsubscribeContactAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const client_1 = require("../common/client");
|
|
9
|
+
exports.unsubscribeContactAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
name: 'unsubscribe_contact',
|
|
11
|
+
displayName: 'Unsubscribe Contact',
|
|
12
|
+
description: 'Unsubscribe one or more email addresses from future emails in Elastic Email.',
|
|
13
|
+
auth: auth_1.elasticEmailAuth,
|
|
14
|
+
props: {
|
|
15
|
+
emails: pieces_framework_1.Property.Array({
|
|
16
|
+
displayName: 'Email Addresses',
|
|
17
|
+
description: 'List of email addresses to unsubscribe.',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
run(_a) {
|
|
22
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
|
|
23
|
+
var _b;
|
|
24
|
+
const emails = ((_b = propsValue.emails) !== null && _b !== void 0 ? _b : []).map(String);
|
|
25
|
+
return (0, client_1.elasticEmailRequest)({
|
|
26
|
+
apiKey: auth.secret_text,
|
|
27
|
+
method: pieces_common_1.HttpMethod.POST,
|
|
28
|
+
path: '/suppressions/unsubscribes',
|
|
29
|
+
body: emails,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=unsubscribe-contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsubscribe-contact.js","sourceRoot":"","sources":["../../../../src/lib/actions/unsubscribe-contact.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAAwE;AAExE,kCAA2C;AAC3C,6CAAuD;AAE1C,QAAA,wBAAwB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EACT,8EAA8E;IAChF,IAAI,EAAE,uBAAgB;IACtB,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,KAAK,CAAC;YACrB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EACT,yCAAyC;YAC3C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,IAAI,EAAE,UAAU,EAAE;;YAC5B,MAAM,MAAM,GAAG,CAAC,MAAA,UAAU,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,IAAA,4BAAmB,EAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const updateCampaignAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
campaign: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
from: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
recipientListNames: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
recipientSegmentNames: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
7
|
+
replyTo: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
subject: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
templateName: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
10
|
+
status: import("@activepieces/pieces-framework").StaticDropdownProperty<"Active" | "Deleted" | "Processing" | "Sending" | "Completed" | "Paused" | "Cancelled" | "Draft", false>;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=update-campaign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-campaign.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/update-campaign.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,oBAAoB;;;;;;;;;;EAyF/B,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCampaignAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const client_1 = require("../common/client");
|
|
9
|
+
const constants_1 = require("../common/constants");
|
|
10
|
+
const props_1 = require("../common/props");
|
|
11
|
+
exports.updateCampaignAction = (0, pieces_framework_1.createAction)({
|
|
12
|
+
name: 'update_campaign',
|
|
13
|
+
displayName: 'Update Campaign',
|
|
14
|
+
description: 'Update an existing campaign in Elastic Email.',
|
|
15
|
+
auth: auth_1.elasticEmailAuth,
|
|
16
|
+
props: {
|
|
17
|
+
campaign: props_1.campaignNameProp,
|
|
18
|
+
name: pieces_framework_1.Property.ShortText({
|
|
19
|
+
displayName: 'New Campaign Name',
|
|
20
|
+
description: 'New name for the campaign. Leave empty to keep existing.',
|
|
21
|
+
required: false,
|
|
22
|
+
}),
|
|
23
|
+
from: pieces_framework_1.Property.ShortText({
|
|
24
|
+
displayName: 'From',
|
|
25
|
+
description: 'Sender email with optional name. Leave empty to keep existing.',
|
|
26
|
+
required: false,
|
|
27
|
+
}),
|
|
28
|
+
recipientListNames: props_1.listNamesProp,
|
|
29
|
+
recipientSegmentNames: props_1.segmentNamesProp,
|
|
30
|
+
replyTo: pieces_framework_1.Property.ShortText({
|
|
31
|
+
displayName: 'Reply To',
|
|
32
|
+
description: 'Reply-to email address. Leave empty to keep existing.',
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
subject: pieces_framework_1.Property.ShortText({
|
|
36
|
+
displayName: 'Subject',
|
|
37
|
+
description: 'Email subject. Leave empty to keep existing.',
|
|
38
|
+
required: false,
|
|
39
|
+
}),
|
|
40
|
+
templateName: props_1.templateNameProp,
|
|
41
|
+
status: pieces_framework_1.Property.StaticDropdown({
|
|
42
|
+
displayName: 'Status',
|
|
43
|
+
description: 'Campaign status. Leave empty to keep existing.',
|
|
44
|
+
required: false,
|
|
45
|
+
options: {
|
|
46
|
+
options: constants_1.CAMPAIGN_STATUS_OPTIONS.map((s) => ({ label: s, value: s })),
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
run(_a) {
|
|
51
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
|
|
52
|
+
var _b, _c, _d, _e, _f, _g;
|
|
53
|
+
const campaignName = String(propsValue.campaign);
|
|
54
|
+
// Fetch current campaign to merge unchanged fields
|
|
55
|
+
const current = yield (0, client_1.elasticEmailRequest)({
|
|
56
|
+
apiKey: auth.secret_text,
|
|
57
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
58
|
+
path: `/campaigns/${encodeURIComponent(campaignName)}`,
|
|
59
|
+
});
|
|
60
|
+
const currentContent = (_c = (_b = current.Content) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : {};
|
|
61
|
+
return (0, client_1.elasticEmailRequest)({
|
|
62
|
+
apiKey: auth.secret_text,
|
|
63
|
+
method: pieces_common_1.HttpMethod.PUT,
|
|
64
|
+
path: `/campaigns/${encodeURIComponent(campaignName)}`,
|
|
65
|
+
body: {
|
|
66
|
+
Name: propsValue.name || current.Name,
|
|
67
|
+
Recipients: {
|
|
68
|
+
ListNames: propsValue.recipientListNames && propsValue.recipientListNames.length > 0
|
|
69
|
+
? propsValue.recipientListNames
|
|
70
|
+
: ((_e = (_d = current.Recipients) === null || _d === void 0 ? void 0 : _d.ListNames) !== null && _e !== void 0 ? _e : undefined),
|
|
71
|
+
SegmentNames: propsValue.recipientSegmentNames && propsValue.recipientSegmentNames.length > 0
|
|
72
|
+
? propsValue.recipientSegmentNames
|
|
73
|
+
: ((_g = (_f = current.Recipients) === null || _f === void 0 ? void 0 : _f.SegmentNames) !== null && _g !== void 0 ? _g : undefined),
|
|
74
|
+
},
|
|
75
|
+
Content: [
|
|
76
|
+
{
|
|
77
|
+
From: propsValue.from || currentContent.From,
|
|
78
|
+
ReplyTo: propsValue.replyTo || currentContent.ReplyTo,
|
|
79
|
+
Subject: propsValue.subject || currentContent.Subject,
|
|
80
|
+
TemplateName: propsValue.templateName || currentContent.TemplateName,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
Status: propsValue.status || current.Status,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=update-campaign.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-campaign.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-campaign.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const updateContactAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
contact: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
firstName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
lastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
customFields: import("@activepieces/pieces-framework").ObjectProperty<false>;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=update-contact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-contact.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/update-contact.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB;;;;;EAkC9B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateContactAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const client_1 = require("../common/client");
|
|
9
|
+
const props_1 = require("../common/props");
|
|
10
|
+
exports.updateContactAction = (0, pieces_framework_1.createAction)({
|
|
11
|
+
name: 'update_contact',
|
|
12
|
+
displayName: 'Update Contact',
|
|
13
|
+
description: 'Update an existing contact in Elastic Email.',
|
|
14
|
+
auth: auth_1.elasticEmailAuth,
|
|
15
|
+
props: {
|
|
16
|
+
contact: props_1.contactEmailProp,
|
|
17
|
+
firstName: pieces_framework_1.Property.ShortText({
|
|
18
|
+
displayName: 'First Name',
|
|
19
|
+
required: false,
|
|
20
|
+
}),
|
|
21
|
+
lastName: pieces_framework_1.Property.ShortText({
|
|
22
|
+
displayName: 'Last Name',
|
|
23
|
+
required: false,
|
|
24
|
+
}),
|
|
25
|
+
customFields: pieces_framework_1.Property.Object({
|
|
26
|
+
displayName: 'Custom Fields',
|
|
27
|
+
description: 'Key-value pairs of custom contact fields. Only existing custom fields will be saved.',
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
},
|
|
31
|
+
run(_a) {
|
|
32
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
|
|
33
|
+
var _b, _c, _d;
|
|
34
|
+
return (0, client_1.elasticEmailRequest)({
|
|
35
|
+
apiKey: auth.secret_text,
|
|
36
|
+
method: pieces_common_1.HttpMethod.PUT,
|
|
37
|
+
path: `/contacts/${encodeURIComponent(String(propsValue.contact))}`,
|
|
38
|
+
body: {
|
|
39
|
+
FirstName: (_b = propsValue.firstName) !== null && _b !== void 0 ? _b : undefined,
|
|
40
|
+
LastName: (_c = propsValue.lastName) !== null && _c !== void 0 ? _c : undefined,
|
|
41
|
+
CustomFields: (_d = propsValue.customFields) !== null && _d !== void 0 ? _d : undefined,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=update-contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-contact.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-contact.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAAwE;AAExE,kCAA2C;AAC3C,6CAAuD;AACvD,2CAAmD;AAEtC,QAAA,mBAAmB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,uBAAgB;IACtB,KAAK,EAAE;QACL,OAAO,EAAE,wBAAgB;QACzB,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,eAAe;YAC5B,WAAW,EACT,sFAAsF;YACxF,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,IAAI,EAAE,UAAU,EAAE;;YAC5B,OAAO,IAAA,4BAAmB,EAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,aAAa,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;gBACnE,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAA,UAAU,CAAC,SAAS,mCAAI,SAAS;oBAC5C,QAAQ,EAAE,MAAA,UAAU,CAAC,QAAQ,mCAAI,SAAS;oBAC1C,YAAY,EAAE,MAAA,UAAU,CAAC,YAAY,mCAAI,SAAS;iBACnD;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,mEAqD3B,CAAC"}
|
package/src/lib/auth.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.elasticEmailAuth = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const constants_1 = require("./common/constants");
|
|
8
|
+
exports.elasticEmailAuth = pieces_framework_1.PieceAuth.SecretText({
|
|
9
|
+
displayName: 'API Key',
|
|
10
|
+
description: `
|
|
11
|
+
To obtain your Elastic Email API key:
|
|
12
|
+
1. Log in to your Elastic Email account
|
|
13
|
+
2. Navigate to **Settings → Manage API Keys**
|
|
14
|
+
3. Click **Create API Key**
|
|
15
|
+
4. Ensure the key has the required permissions (Contacts, Campaigns, Emails, Segments)
|
|
16
|
+
5. Copy the key and paste it here
|
|
17
|
+
`,
|
|
18
|
+
required: true,
|
|
19
|
+
validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
20
|
+
try {
|
|
21
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
22
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
23
|
+
url: `${constants_1.ELASTIC_EMAIL_API_BASE}/contacts`,
|
|
24
|
+
headers: {
|
|
25
|
+
'X-ElasticEmail-ApiKey': auth,
|
|
26
|
+
},
|
|
27
|
+
queryParams: { limit: '1' },
|
|
28
|
+
});
|
|
29
|
+
if (response.status === 200) {
|
|
30
|
+
return { valid: true };
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
valid: false,
|
|
34
|
+
error: 'Invalid API key — could not authenticate with Elastic Email.',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
const statusCode = error != null &&
|
|
39
|
+
typeof error === 'object' &&
|
|
40
|
+
'response' in error &&
|
|
41
|
+
error.response != null &&
|
|
42
|
+
typeof error.response === 'object' &&
|
|
43
|
+
'status' in error.response
|
|
44
|
+
? error.response.status
|
|
45
|
+
: undefined;
|
|
46
|
+
if (statusCode === 401 || statusCode === 403) {
|
|
47
|
+
return {
|
|
48
|
+
valid: false,
|
|
49
|
+
error: 'Invalid API key — could not authenticate with Elastic Email.',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
valid: false,
|
|
54
|
+
error: 'Could not reach the Elastic Email API. Check your network connection and try again.',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAA2D;AAC3D,+DAAqE;AAErE,kDAA4D;AAE/C,QAAA,gBAAgB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACnD,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE;;;;;;;GAOZ;IACD,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,kCAAsB,WAAW;gBACzC,OAAO,EAAE;oBACP,uBAAuB,EAAE,IAAI;iBAC9B;gBACD,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aAC5B,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,8DAA8D;aACtE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,UAAU,GACd,KAAK,IAAI,IAAI;gBACb,OAAO,KAAK,KAAK,QAAQ;gBACzB,UAAU,IAAI,KAAK;gBACnB,KAAK,CAAC,QAAQ,IAAI,IAAI;gBACtB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,QAAQ,IAAI,KAAK,CAAC,QAAQ;gBACxB,CAAC,CAAE,KAAK,CAAC,QAA+B,CAAC,MAAM;gBAC/C,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC7C,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,8DAA8D;iBACtE,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,qFAAqF;aACxF,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HttpMethod, QueryParams } from '@activepieces/pieces-common';
|
|
2
|
+
export declare function elasticEmailRequest<T = unknown>({ apiKey, method, path, queryParams, body, }: {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
method: HttpMethod;
|
|
5
|
+
path: string;
|
|
6
|
+
queryParams?: QueryParams;
|
|
7
|
+
body?: unknown;
|
|
8
|
+
}): Promise<T>;
|
|
9
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EAEZ,MAAM,6BAA6B,CAAC;AAIrC,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,EACrD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,WAAW,EACX,IAAI,GACL,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,CAAC,CAAC,CAYb"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.elasticEmailRequest = elasticEmailRequest;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
function elasticEmailRequest(_a) {
|
|
8
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ apiKey, method, path, queryParams, body, }) {
|
|
9
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
10
|
+
method,
|
|
11
|
+
url: `${constants_1.ELASTIC_EMAIL_API_BASE}${path}`,
|
|
12
|
+
headers: Object.assign({ 'X-ElasticEmail-ApiKey': apiKey }, (body ? { 'Content-Type': 'application/json' } : {})),
|
|
13
|
+
queryParams,
|
|
14
|
+
body,
|
|
15
|
+
});
|
|
16
|
+
return response.body;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":";;AAQA,kDAwBC;;AAhCD,+DAIqC;AAErC,2CAAqD;AAErD,SAAsB,mBAAmB;iEAAc,EACrD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,WAAW,EACX,IAAI,GAOL;QACC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAI;YAC/C,MAAM;YACN,GAAG,EAAE,GAAG,kCAAsB,GAAG,IAAI,EAAE;YACvC,OAAO,kBACL,uBAAuB,EAAE,MAAM,IAC5B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxD;YACD,WAAW;YACX,IAAI;SACL,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ELASTIC_EMAIL_API_BASE = "https://api.elasticemail.com/v4";
|
|
2
|
+
export declare const CONTACT_STATUS_OPTIONS: readonly ["Transactional", "Engaged", "Active", "Bounced", "Unsubscribed", "Abuse", "Inactive", "Stale", "NotConfirmed"];
|
|
3
|
+
export declare const CAMPAIGN_STATUS_OPTIONS: readonly ["Deleted", "Active", "Processing", "Sending", "Completed", "Paused", "Cancelled", "Draft"];
|
|
4
|
+
export declare const BODY_CONTENT_TYPE_OPTIONS: readonly ["HTML", "PlainText", "AMP", "CSS"];
|
|
5
|
+
export declare const ENCODING_OPTIONS: readonly ["UserProvided", "None", "Raw7bit", "Raw8bit", "QuotedPrintable", "Base64", "Uue"];
|
|
6
|
+
export declare const CONSENT_TRACKING_OPTIONS: readonly ["Unknown", "Allow", "Deny"];
|
|
7
|
+
export declare const DEFAULT_LIMIT = 100;
|
|
8
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,eAAO,MAAM,sBAAsB,0HAUzB,CAAC;AAEX,eAAO,MAAM,uBAAuB,sGAS1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,8CAK5B,CAAC;AAEX,eAAO,MAAM,gBAAgB,6FAQnB,CAAC;AAEX,eAAO,MAAM,wBAAwB,uCAI3B,CAAC;AAEX,eAAO,MAAM,aAAa,MAAM,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_LIMIT = exports.CONSENT_TRACKING_OPTIONS = exports.ENCODING_OPTIONS = exports.BODY_CONTENT_TYPE_OPTIONS = exports.CAMPAIGN_STATUS_OPTIONS = exports.CONTACT_STATUS_OPTIONS = exports.ELASTIC_EMAIL_API_BASE = void 0;
|
|
4
|
+
exports.ELASTIC_EMAIL_API_BASE = 'https://api.elasticemail.com/v4';
|
|
5
|
+
exports.CONTACT_STATUS_OPTIONS = [
|
|
6
|
+
'Transactional',
|
|
7
|
+
'Engaged',
|
|
8
|
+
'Active',
|
|
9
|
+
'Bounced',
|
|
10
|
+
'Unsubscribed',
|
|
11
|
+
'Abuse',
|
|
12
|
+
'Inactive',
|
|
13
|
+
'Stale',
|
|
14
|
+
'NotConfirmed',
|
|
15
|
+
];
|
|
16
|
+
exports.CAMPAIGN_STATUS_OPTIONS = [
|
|
17
|
+
'Deleted',
|
|
18
|
+
'Active',
|
|
19
|
+
'Processing',
|
|
20
|
+
'Sending',
|
|
21
|
+
'Completed',
|
|
22
|
+
'Paused',
|
|
23
|
+
'Cancelled',
|
|
24
|
+
'Draft',
|
|
25
|
+
];
|
|
26
|
+
exports.BODY_CONTENT_TYPE_OPTIONS = [
|
|
27
|
+
'HTML',
|
|
28
|
+
'PlainText',
|
|
29
|
+
'AMP',
|
|
30
|
+
'CSS',
|
|
31
|
+
];
|
|
32
|
+
exports.ENCODING_OPTIONS = [
|
|
33
|
+
'UserProvided',
|
|
34
|
+
'None',
|
|
35
|
+
'Raw7bit',
|
|
36
|
+
'Raw8bit',
|
|
37
|
+
'QuotedPrintable',
|
|
38
|
+
'Base64',
|
|
39
|
+
'Uue',
|
|
40
|
+
];
|
|
41
|
+
exports.CONSENT_TRACKING_OPTIONS = [
|
|
42
|
+
'Unknown',
|
|
43
|
+
'Allow',
|
|
44
|
+
'Deny',
|
|
45
|
+
];
|
|
46
|
+
exports.DEFAULT_LIMIT = 100;
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/lib/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,iCAAiC,CAAC;AAE3D,QAAA,sBAAsB,GAAG;IACpC,eAAe;IACf,SAAS;IACT,QAAQ;IACR,SAAS;IACT,cAAc;IACd,OAAO;IACP,UAAU;IACV,OAAO;IACP,cAAc;CACN,CAAC;AAEE,QAAA,uBAAuB,GAAG;IACrC,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,WAAW;IACX,QAAQ;IACR,WAAW;IACX,OAAO;CACC,CAAC;AAEE,QAAA,yBAAyB,GAAG;IACvC,MAAM;IACN,WAAW;IACX,KAAK;IACL,KAAK;CACG,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,cAAc;IACd,MAAM;IACN,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,QAAQ;IACR,KAAK;CACG,CAAC;AAEE,QAAA,wBAAwB,GAAG;IACtC,SAAS;IACT,OAAO;IACP,MAAM;CACE,CAAC;AAEE,QAAA,aAAa,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const contactEmailProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
2
|
+
export declare const campaignNameProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
export declare const listNamesProp: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
export declare const segmentNamesProp: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
5
|
+
export declare const templateNameProp: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
//# sourceMappingURL=props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/props.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,gBAAgB,4IA8B3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,4IA8B3B,CAAC;AAEH,eAAO,MAAM,aAAa,wJA8BxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,wJA8B3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,6IA8B3B,CAAC"}
|