@activepieces/piece-reachinbox 0.1.5 → 0.1.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 (85) hide show
  1. package/package.json +7 -12
  2. package/src/index.js +113 -86
  3. package/src/index.d.ts +0 -6
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/add-blocklist.d.ts +0 -6
  7. package/src/lib/actions/add-blocklist.d.ts.map +0 -1
  8. package/src/lib/actions/add-blocklist.js +0 -79
  9. package/src/lib/actions/add-blocklist.js.map +0 -1
  10. package/src/lib/actions/add-email.d.ts +0 -5
  11. package/src/lib/actions/add-email.d.ts.map +0 -1
  12. package/src/lib/actions/add-email.js +0 -93
  13. package/src/lib/actions/add-email.js.map +0 -1
  14. package/src/lib/actions/add-leads.d.ts +0 -8
  15. package/src/lib/actions/add-leads.d.ts.map +0 -1
  16. package/src/lib/actions/add-leads.js +0 -127
  17. package/src/lib/actions/add-leads.js.map +0 -1
  18. package/src/lib/actions/enable-warmup.d.ts +0 -4
  19. package/src/lib/actions/enable-warmup.d.ts.map +0 -1
  20. package/src/lib/actions/enable-warmup.js +0 -86
  21. package/src/lib/actions/enable-warmup.js.map +0 -1
  22. package/src/lib/actions/get-campaign-analytics.d.ts +0 -6
  23. package/src/lib/actions/get-campaign-analytics.d.ts.map +0 -1
  24. package/src/lib/actions/get-campaign-analytics.js +0 -94
  25. package/src/lib/actions/get-campaign-analytics.js.map +0 -1
  26. package/src/lib/actions/get-summary.d.ts +0 -5
  27. package/src/lib/actions/get-summary.d.ts.map +0 -1
  28. package/src/lib/actions/get-summary.js +0 -69
  29. package/src/lib/actions/get-summary.js.map +0 -1
  30. package/src/lib/actions/pause-campaign.d.ts +0 -4
  31. package/src/lib/actions/pause-campaign.d.ts.map +0 -1
  32. package/src/lib/actions/pause-campaign.js +0 -88
  33. package/src/lib/actions/pause-campaign.js.map +0 -1
  34. package/src/lib/actions/pause-warmup.d.ts +0 -4
  35. package/src/lib/actions/pause-warmup.d.ts.map +0 -1
  36. package/src/lib/actions/pause-warmup.js +0 -86
  37. package/src/lib/actions/pause-warmup.js.map +0 -1
  38. package/src/lib/actions/remove-email.d.ts +0 -4
  39. package/src/lib/actions/remove-email.d.ts.map +0 -1
  40. package/src/lib/actions/remove-email.js +0 -83
  41. package/src/lib/actions/remove-email.js.map +0 -1
  42. package/src/lib/actions/set-schedule.d.ts +0 -17
  43. package/src/lib/actions/set-schedule.d.ts.map +0 -1
  44. package/src/lib/actions/set-schedule.js +0 -171
  45. package/src/lib/actions/set-schedule.js.map +0 -1
  46. package/src/lib/actions/start-campaign.d.ts +0 -4
  47. package/src/lib/actions/start-campaign.d.ts.map +0 -1
  48. package/src/lib/actions/start-campaign.js +0 -80
  49. package/src/lib/actions/start-campaign.js.map +0 -1
  50. package/src/lib/actions/update-lead.d.ts +0 -9
  51. package/src/lib/actions/update-lead.d.ts.map +0 -1
  52. package/src/lib/actions/update-lead.js +0 -162
  53. package/src/lib/actions/update-lead.js.map +0 -1
  54. package/src/lib/common/index.d.ts +0 -50
  55. package/src/lib/common/index.d.ts.map +0 -1
  56. package/src/lib/common/index.js +0 -48
  57. package/src/lib/common/index.js.map +0 -1
  58. package/src/lib/triggers/campaign-completed.d.ts +0 -11
  59. package/src/lib/triggers/campaign-completed.d.ts.map +0 -1
  60. package/src/lib/triggers/campaign-completed.js +0 -66
  61. package/src/lib/triggers/campaign-completed.js.map +0 -1
  62. package/src/lib/triggers/email-bounced.d.ts +0 -11
  63. package/src/lib/triggers/email-bounced.d.ts.map +0 -1
  64. package/src/lib/triggers/email-bounced.js +0 -67
  65. package/src/lib/triggers/email-bounced.js.map +0 -1
  66. package/src/lib/triggers/email-opened.d.ts +0 -11
  67. package/src/lib/triggers/email-opened.d.ts.map +0 -1
  68. package/src/lib/triggers/email-opened.js +0 -66
  69. package/src/lib/triggers/email-opened.js.map +0 -1
  70. package/src/lib/triggers/email-sent.d.ts +0 -11
  71. package/src/lib/triggers/email-sent.d.ts.map +0 -1
  72. package/src/lib/triggers/email-sent.js +0 -70
  73. package/src/lib/triggers/email-sent.js.map +0 -1
  74. package/src/lib/triggers/lead-interested.d.ts +0 -11
  75. package/src/lib/triggers/lead-interested.d.ts.map +0 -1
  76. package/src/lib/triggers/lead-interested.js +0 -70
  77. package/src/lib/triggers/lead-interested.js.map +0 -1
  78. package/src/lib/triggers/lead-not-interested.d.ts +0 -11
  79. package/src/lib/triggers/lead-not-interested.d.ts.map +0 -1
  80. package/src/lib/triggers/lead-not-interested.js +0 -68
  81. package/src/lib/triggers/lead-not-interested.js.map +0 -1
  82. package/src/lib/triggers/reply-received.d.ts +0 -11
  83. package/src/lib/triggers/reply-received.d.ts.map +0 -1
  84. package/src/lib/triggers/reply-received.js +0 -67
  85. package/src/lib/triggers/reply-received.js.map +0 -1
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startCampaign = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const index_1 = require("../common/index");
7
- const __1 = require("../..");
8
- const pieces_common_1 = require("@activepieces/pieces-common");
9
- exports.startCampaign = (0, pieces_framework_1.createAction)({
10
- auth: __1.ReachinboxAuth,
11
- name: 'startCampaign',
12
- displayName: 'Start Campaign',
13
- description: 'Starts a Campaign',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Starts (launches or resumes) a ReachInbox campaign, identified by its campaign id, so it begins sending. Use to activate outreach for a campaign. Idempotent: starting an already-running campaign leaves it running.',
17
- idempotent: true,
18
- },
19
- props: {
20
- campaignId: pieces_framework_1.Property.Dropdown({
21
- auth: __1.ReachinboxAuth,
22
- displayName: 'Select Campaign',
23
- description: 'Choose a campaign from the list or enter the campaign ID manually.',
24
- required: true,
25
- refreshers: ['auth'],
26
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
27
- if (!auth) {
28
- return {
29
- disabled: true,
30
- options: [],
31
- placeholder: 'Please connect your account first',
32
- };
33
- }
34
- const campaigns = yield (0, index_1.fetchCampaigns)(auth.secret_text);
35
- return {
36
- options: campaigns.map((campaign) => ({
37
- label: campaign.name,
38
- value: campaign.id,
39
- })),
40
- disabled: campaigns.length === 0,
41
- };
42
- }),
43
- }),
44
- },
45
- run(context) {
46
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
- const { campaignId } = context.propsValue;
48
- if (!campaignId) {
49
- throw new Error('Campaign ID is required.');
50
- }
51
- const url = `${index_1.reachinboxCommon.baseUrl}campaigns/start`;
52
- try {
53
- const response = yield pieces_common_1.httpClient.sendRequest({
54
- method: pieces_common_1.HttpMethod.POST,
55
- url: url,
56
- headers: {
57
- Authorization: `Bearer ${context.auth.secret_text}`,
58
- 'Content-Type': 'application/json',
59
- },
60
- body: {
61
- campaignId: campaignId,
62
- },
63
- });
64
- if (response.status === 200) {
65
- return {
66
- success: true,
67
- message: response.body.message || 'Campaign started successfully.',
68
- };
69
- }
70
- else {
71
- throw new Error(`Failed to start campaign: ${response.body.message}`);
72
- }
73
- }
74
- catch (error) {
75
- throw new Error(`Failed to start campaign: ${error.message}`);
76
- }
77
- });
78
- },
79
- });
80
- //# sourceMappingURL=start-campaign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-campaign.js","sourceRoot":"","sources":["../../../../src/lib/actions/start-campaign.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,2CAAmE;AACnE,6BAAuC;AACvC,+DAAqE;AAExD,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,kBAAc;IACpB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,uNAAuN;QACzN,UAAU,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAChC,IAAI,EAAE,kBAAc;YAChB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EACT,oEAAoE;YACtE,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,mCAAmC;qBACjD,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzD,OAAO;oBACL,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACpC,KAAK,EAAE,QAAQ,CAAC,IAAI;wBACpB,KAAK,EAAE,QAAQ,CAAC,EAAE;qBACnB,CAAC,CAAC;oBACH,QAAQ,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC;iBACjC,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,wBAAgB,CAAC,OAAO,iBAAiB,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;oBAC5C,MAAM,EAAE,0BAAU,CAAC,IAAI;oBACvB,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;wBACnD,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE;wBACJ,UAAU,EAAE,UAAU;qBACvB;iBACF,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,gCAAgC;qBACnE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare const updateLead: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- campaignId: import("@activepieces/pieces-framework").DropdownProperty<number, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
3
- leadId: import("@activepieces/pieces-framework").DropdownProperty<any, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
4
- email: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
- firstName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
- lastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
- customVariables: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
8
- }>;
9
- //# sourceMappingURL=update-lead.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-lead.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/update-lead.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU;;;;;;;EAoKrB,CAAC"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateLead = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const index_1 = require("../common/index");
7
- const __1 = require("../..");
8
- const pieces_common_1 = require("@activepieces/pieces-common");
9
- // Define the updateLead action
10
- exports.updateLead = (0, pieces_framework_1.createAction)({
11
- auth: __1.ReachinboxAuth,
12
- name: 'updateLead',
13
- displayName: 'Update Lead',
14
- description: 'Updates a Lead.',
15
- audience: 'both',
16
- aiMetadata: {
17
- description: "Updates an existing lead in a ReachInbox campaign, overwriting its email, name, and custom-variable attributes. Use to modify a known contact's details. Requires both the campaign id and the lead id; idempotent since it sets the lead to the supplied values.",
18
- idempotent: true,
19
- },
20
- props: {
21
- campaignId: pieces_framework_1.Property.Dropdown({
22
- auth: __1.ReachinboxAuth,
23
- displayName: 'Select Campaign',
24
- description: 'Choose a campaign from the list or enter the campaign ID manually.',
25
- required: true,
26
- refreshers: ['auth'],
27
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
28
- if (!auth) {
29
- return {
30
- disabled: true,
31
- options: [],
32
- placeholder: 'Please connect your account first',
33
- };
34
- }
35
- const campaigns = yield (0, index_1.fetchCampaigns)(auth.secret_text);
36
- return {
37
- options: campaigns.map((campaign) => ({
38
- label: campaign.name,
39
- value: campaign.id,
40
- })),
41
- disabled: campaigns.length === 0,
42
- };
43
- }),
44
- }),
45
- leadId: pieces_framework_1.Property.Dropdown({
46
- auth: __1.ReachinboxAuth,
47
- displayName: 'Select Lead',
48
- description: 'Choose a lead from the selected campaign.',
49
- required: true,
50
- refreshers: ['campaignId'],
51
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, campaignId }) {
52
- if (!campaignId || !auth) {
53
- return {
54
- disabled: true,
55
- options: [],
56
- placeholder: 'Please connect your account first and select a campaign',
57
- };
58
- }
59
- const response = yield pieces_common_1.httpClient.sendRequest({
60
- method: pieces_common_1.HttpMethod.GET,
61
- url: `${index_1.reachinboxCommon.baseUrl}leads?campaignId=${campaignId}&lastLead=false`,
62
- headers: {
63
- Authorization: `Bearer ${auth.secret_text}`,
64
- },
65
- });
66
- if (response.status !== 200) {
67
- throw new Error('Failed to fetch leads.');
68
- }
69
- const leads = Array.isArray(response.body.data.leads)
70
- ? response.body.data.leads
71
- : [];
72
- return {
73
- options: leads.map((lead) => ({
74
- label: lead.email,
75
- value: lead.id,
76
- })),
77
- disabled: leads.length === 0,
78
- };
79
- }),
80
- }),
81
- email: pieces_framework_1.Property.ShortText({
82
- displayName: 'Email',
83
- description: 'Enter the new email address for the lead.',
84
- required: true,
85
- }),
86
- firstName: pieces_framework_1.Property.ShortText({
87
- displayName: 'First Name',
88
- description: 'Enter the new first name for the lead.',
89
- required: false,
90
- }),
91
- lastName: pieces_framework_1.Property.ShortText({
92
- displayName: 'Last Name',
93
- description: 'Enter the new last name for the lead.',
94
- required: false,
95
- }),
96
- customVariables: pieces_framework_1.Property.Array({
97
- displayName: 'Custom Variables',
98
- description: 'Add custom variables as key-value pairs for the lead.',
99
- properties: {
100
- key: pieces_framework_1.Property.ShortText({
101
- displayName: 'Key',
102
- description: 'Enter the key for the custom variable',
103
- required: true,
104
- }),
105
- value: pieces_framework_1.Property.ShortText({
106
- displayName: 'Value',
107
- description: 'Enter the value for the custom variable',
108
- required: true,
109
- }),
110
- },
111
- required: false,
112
- defaultValue: [],
113
- }),
114
- },
115
- run(context) {
116
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
117
- const { campaignId, leadId, email, firstName, lastName, customVariables } = context.propsValue;
118
- if (!campaignId || !leadId) {
119
- throw new Error('Campaign ID and Lead ID are required.');
120
- }
121
- // Safely cast customVariables to CustomVariable[], default to an empty array if undefined
122
- const customVariablesArray = (customVariables ||
123
- []);
124
- // Process the custom variables into a key-value object for the lead attributes
125
- const customVariablesObject = {};
126
- customVariablesArray.forEach((variable) => {
127
- customVariablesObject[variable.key] = variable.value;
128
- });
129
- // Include the custom variables in the lead update request
130
- const url = `${index_1.reachinboxCommon.baseUrl}leads/update`;
131
- try {
132
- const response = yield pieces_common_1.httpClient.sendRequest({
133
- method: pieces_common_1.HttpMethod.PUT,
134
- url: url,
135
- headers: {
136
- Authorization: `Bearer ${context.auth.secret_text}`,
137
- 'Content-Type': 'application/json',
138
- },
139
- body: {
140
- campaignId: campaignId,
141
- leadId: leadId,
142
- email: email,
143
- attributes: Object.assign({ firstName: firstName || '', lastName: lastName || '' }, customVariablesObject),
144
- },
145
- });
146
- if (response.status === 200) {
147
- return {
148
- success: true,
149
- message: response.body.message || 'Lead updated successfully.',
150
- };
151
- }
152
- else {
153
- throw new Error(`Failed to update lead: ${response.body.message}`);
154
- }
155
- }
156
- catch (error) {
157
- throw new Error(`Failed to update lead: ${error.message}`);
158
- }
159
- });
160
- },
161
- });
162
- //# sourceMappingURL=update-lead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-lead.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-lead.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- export declare const reachinboxCommon: {
2
- baseUrl: string;
3
- };
4
- export interface Campaign {
5
- id: number;
6
- name: string;
7
- coreVariables: string[];
8
- dailyLimit: number;
9
- mailsSentToday: number;
10
- accountsToUse: string[];
11
- tracking: boolean;
12
- linkTracking: boolean;
13
- isActive: boolean;
14
- hasStarted: boolean;
15
- lastEmailUsed: number;
16
- delay: number;
17
- randomDelay: number;
18
- stopOnReply: boolean;
19
- createdAt: string;
20
- updatedAt: string;
21
- deletedAt: string | null;
22
- sent: number;
23
- totalOpens: string | null;
24
- totalUniqueOpen: string;
25
- totalReplies: string;
26
- emails: {
27
- sent: number;
28
- totalOpens: number;
29
- totalReplies: number;
30
- };
31
- status: string;
32
- }
33
- export declare const fetchCampaigns: (auth: string) => Promise<Campaign[]>;
34
- export interface AddLeadsRequestBody {
35
- campaignId: string;
36
- leads: {
37
- email: string;
38
- firstName: string;
39
- lastName?: string;
40
- }[];
41
- newCoreVariables: string[];
42
- duplicates: any[];
43
- }
44
- export interface AddLeadsResponse {
45
- success: boolean;
46
- message: string;
47
- leadCount: number;
48
- }
49
- export declare const addLeadsToCampaign: (auth: string, body: AddLeadsRequestBody) => Promise<AddLeadsResponse>;
50
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAIF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,eAAO,MAAM,cAAc,SAAgB,MAAM,KAAG,OAAO,CAAC,QAAQ,EAAE,CAerE,CAAC;AAGF,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,MAAM,kBAAkB,SACvB,MAAM,QACN,mBAAmB,KACxB,OAAO,CAAC,gBAAgB,CAiB1B,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addLeadsToCampaign = exports.fetchCampaigns = exports.reachinboxCommon = void 0;
4
- const tslib_1 = require("tslib");
5
- exports.reachinboxCommon = {
6
- baseUrl: 'https://api.reachinbox.ai/api/v1/',
7
- };
8
- const pieces_common_1 = require("@activepieces/pieces-common");
9
- // Fetch campaigns from the ReachInbox API
10
- const fetchCampaigns = (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
- var _a, _b;
12
- try {
13
- const response = yield pieces_common_1.httpClient.sendRequest({
14
- method: pieces_common_1.HttpMethod.GET,
15
- url: 'https://api.reachinbox.ai/api/v1/campaigns/all?sort=newest&offset=0&limit=50',
16
- headers: {
17
- Authorization: `Bearer ${auth}`,
18
- },
19
- });
20
- return ((_b = (_a = response.body) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.rows) || [];
21
- }
22
- catch (error) {
23
- console.error('Error fetching campaigns:', error);
24
- throw new Error('Failed to fetch campaigns.');
25
- }
26
- });
27
- exports.fetchCampaigns = fetchCampaigns;
28
- // Add leads to a campaign
29
- const addLeadsToCampaign = (auth, body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
30
- try {
31
- const response = yield pieces_common_1.httpClient.sendRequest({
32
- method: pieces_common_1.HttpMethod.POST,
33
- url: 'https://api.reachinbox.ai/api/v1/leads/add',
34
- headers: {
35
- 'Content-Type': 'application/json',
36
- Authorization: `Bearer ${auth}`,
37
- },
38
- body,
39
- });
40
- return response.body;
41
- }
42
- catch (error) {
43
- console.error('Error adding leads:', error);
44
- throw new Error('Failed to add leads to campaign.');
45
- }
46
- });
47
- exports.addLeadsToCampaign = addLeadsToCampaign;
48
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":";;;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,mCAAmC;CAC7C,CAAC;AAEF,+DAAqE;AAgCrE,0CAA0C;AACnC,MAAM,cAAc,GAAG,CAAO,IAAY,EAAuB,EAAE;;IACxE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAM;YACjD,MAAM,EAAE,0BAAU,CAAC,GAAG;YACtB,GAAG,EAAE,8EAA8E;YACnF,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE;aAChC;SACF,CAAC,CAAC;QAEH,OAAO,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,IAAI,KAAI,EAAE,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAA,CAAC;AAfW,QAAA,cAAc,kBAezB;AAqBF,0BAA0B;AACnB,MAAM,kBAAkB,GAAG,CAChC,IAAY,EACZ,IAAyB,EACE,EAAE;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAmB;YAC9D,MAAM,EAAE,0BAAU,CAAC,IAAI;YACvB,GAAG,EAAE,4CAA4C;YACjD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,EAAE;aAChC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAA,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
@@ -1,11 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare const campaignCompleted: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
3
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
4
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
5
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
6
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
7
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
8
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
9
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
10
- }>;
11
- //# sourceMappingURL=campaign-completed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"campaign-completed.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/campaign-completed.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAiBxC,eAAO,MAAM,iBAAiB;;;;;;;;EAwC5B,CAAC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.campaignCompleted = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const campaignCompletedMessage = `
7
- Follow the below steps:
8
-
9
- 1. Login to the ReachInbox dashboard.
10
- 2. Go to the "Profile" section and navigate to the "Settings" tab.
11
- 3. Click on the "Integrations" and go to the "Webhooks". Click on the "Add Webhook" button.
12
- 4. Copy the following webhook URL and paste it into the "Webhook URL" field.
13
- \`\`\`text
14
- {{webhookUrl}}
15
- \`\`\`
16
-
17
- 5. Select the event type as "Campaign Completed".
18
- 6. Click on the "Test Trigger" button to simulate a test and capture the webhook response here.
19
- `;
20
- exports.campaignCompleted = (0, pieces_framework_1.createTrigger)({
21
- name: 'campaignCompleted',
22
- displayName: 'Campaign Completed',
23
- description: 'Triggers when a campaign is completed.',
24
- aiMetadata: {
25
- description: 'Fires when a ReachInbox campaign finishes its full sending sequence (SEQUENCE_COMPLETED). Represents the end of outreach for a campaign, carrying campaign and lead details. Requires the webhook to be configured in ReachInbox.',
26
- },
27
- props: {
28
- markdown: pieces_framework_1.Property.MarkDown({
29
- value: campaignCompletedMessage,
30
- }),
31
- },
32
- sampleData: {
33
- email_id: 1,
34
- lead_id: 1,
35
- lead_email: 'recipient@example.com',
36
- email_account: 'sender@example.com',
37
- step_number: 1,
38
- message_id: '<test-message-id>',
39
- timestamp: '2024-03-18T08:15:51.000Z',
40
- campaign_id: 1,
41
- campaign_name: 'Test Name',
42
- event: 'SEQUENCE_COMPLETED',
43
- user_webhook_id: '1',
44
- lead_first_name: 'Lead First Name',
45
- lead_last_name: 'Lead Last Name',
46
- email_sent_body: 'Sent Email body',
47
- email_replied_body: 'Sent Replied body',
48
- },
49
- type: pieces_framework_1.TriggerStrategy.WEBHOOK,
50
- onEnable(context) {
51
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- // Implement webhook subscription logic here
53
- });
54
- },
55
- onDisable(context) {
56
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
- // Implement webhook unsubscription logic here
58
- });
59
- },
60
- run(context) {
61
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
- return [context.payload.body];
63
- });
64
- },
65
- });
66
- //# sourceMappingURL=campaign-completed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"campaign-completed.js","sourceRoot":"","sources":["../../../../src/lib/triggers/campaign-completed.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AAExC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;GAa9B,CAAC;AAES,QAAA,iBAAiB,GAAG,IAAA,gCAAa,EAAC;IAC7C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,wCAAwC;IACrD,UAAU,EAAE;QACV,WAAW,EACT,mOAAmO;KACtO;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,wBAAwB;SAChC,CAAC;KACH;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,oBAAoB;QACnC,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,iBAAiB;QAClC,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,mBAAmB;KACxC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;YACpB,4CAA4C;QAC9C,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,8CAA8C;QAChD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare const emailBounced: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
3
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
4
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
5
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
6
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
7
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
8
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
9
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
10
- }>;
11
- //# sourceMappingURL=email-bounced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-bounced.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/email-bounced.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAkBxC,eAAO,MAAM,YAAY;;;;;;;;EAwCvB,CAAC"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emailBounced = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const emailBouncedMessage = `
7
-
8
- Follow the below steps:
9
-
10
- 1. Login to the ReachInbox dashboard.
11
- 2. Go to the "Profile" section and navigate to the "Settings" tab.
12
- 3. Click on the "Integrations" and go to the "Webhooks". Click on the "Add Webhook" button.
13
- 4. Copy the following webhook URL and paste it into the "Webhook URL" field.
14
- \`\`\`text
15
- {{webhookUrl}}
16
- \`\`\`
17
-
18
- 5. Select the event type as "Email Bounced".
19
- 6. Click on the "Test Trigger" button to simulate a test and capture the webhook response here.
20
- `;
21
- exports.emailBounced = (0, pieces_framework_1.createTrigger)({
22
- name: 'emailBounced',
23
- displayName: 'Email Bounced',
24
- description: 'Triggers when an email is bounced.',
25
- aiMetadata: {
26
- description: 'Fires when an outreach email bounces (EMAIL_BOUNCED) and was not delivered to the lead. Use to detect undeliverable addresses; payload includes the lead, sending account, and campaign. Requires the webhook to be configured in ReachInbox.',
27
- },
28
- props: {
29
- markdown: pieces_framework_1.Property.MarkDown({
30
- value: emailBouncedMessage,
31
- }),
32
- },
33
- sampleData: {
34
- email_id: 1,
35
- lead_id: 1,
36
- lead_email: 'recipient@example.com',
37
- email_account: 'sender@example.com',
38
- step_number: 1,
39
- message_id: '<test-message-id>',
40
- timestamp: '2024-03-18T08:15:51.000Z',
41
- campaign_id: 1,
42
- campaign_name: 'Test Name',
43
- event: 'EMAIL_BOUNCED',
44
- user_webhook_id: '1',
45
- lead_first_name: 'Lead First Name',
46
- lead_last_name: 'Lead Last Name',
47
- email_sent_body: 'Sent Email body',
48
- email_replied_body: 'Sent Replied body',
49
- },
50
- type: pieces_framework_1.TriggerStrategy.WEBHOOK,
51
- onEnable(context) {
52
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- // Implement webhook subscription logic here
54
- });
55
- },
56
- onDisable(context) {
57
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
- // Implement webhook unsubscription logic here
59
- });
60
- },
61
- run(context) {
62
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
- return [context.payload.body];
64
- });
65
- },
66
- });
67
- //# sourceMappingURL=email-bounced.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-bounced.js","sourceRoot":"","sources":["../../../../src/lib/triggers/email-bounced.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AAExC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;GAczB,CAAC;AAES,QAAA,YAAY,GAAG,IAAA,gCAAa,EAAC;IACxC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE;QACV,WAAW,EACT,+OAA+O;KAClP;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,mBAAmB;SAC3B,CAAC;KACH;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,oBAAoB;QACnC,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,eAAe;QACtB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,iBAAiB;QAClC,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,mBAAmB;KACxC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;YACpB,4CAA4C;QAC9C,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,8CAA8C;QAChD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare const emailOpened: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
3
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
4
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
5
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
6
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
7
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
8
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty | undefined, {
9
- markdown: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
10
- }>;
11
- //# sourceMappingURL=email-opened.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-opened.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/email-opened.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAiBxC,eAAO,MAAM,WAAW;;;;;;;;EAwCtB,CAAC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emailOpened = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const emailOpenedMessage = `
7
- Follow the below steps:
8
-
9
- 1. Login to the ReachInbox dashboard.
10
- 2. Go to the "Profile" section and navigate to the "Settings" tab.
11
- 3. Click on the "Integrations" and go to the "Webhooks". Click on the "Add Webhook" button.
12
- 4. Copy the following webhook URL and paste it into the "Webhook URL" field.
13
- \`\`\`text
14
- {{webhookUrl}}
15
- \`\`\`
16
-
17
- 5. Select the event type as "Email Opened".
18
- 6. Click on the "Test Trigger" button to simulate a test and capture the webhook response here.
19
- `;
20
- exports.emailOpened = (0, pieces_framework_1.createTrigger)({
21
- name: 'emailOpened',
22
- displayName: 'Email Opened',
23
- description: 'Triggers when an email is opened.',
24
- aiMetadata: {
25
- description: 'Fires when a lead opens an outreach email (EMAIL_OPENED). Represents recipient engagement; payload includes the lead, sending account, step, and campaign. Requires the webhook to be configured in ReachInbox.',
26
- },
27
- props: {
28
- markdown: pieces_framework_1.Property.MarkDown({
29
- value: emailOpenedMessage,
30
- }),
31
- },
32
- sampleData: {
33
- email_id: 1,
34
- lead_id: 1,
35
- lead_email: 'recipient@example.com',
36
- email_account: 'sender@example.com',
37
- step_number: 1,
38
- message_id: '<test-message-id>',
39
- timestamp: '2024-03-18T08:15:51.000Z',
40
- campaign_id: 1,
41
- campaign_name: 'Test Name',
42
- event: 'EMAIL_OPENED',
43
- user_webhook_id: '1',
44
- lead_first_name: 'Lead First Name',
45
- lead_last_name: 'Lead Last Name',
46
- email_sent_body: 'Sent Email body',
47
- email_replied_body: 'Sent Replied body',
48
- },
49
- type: pieces_framework_1.TriggerStrategy.WEBHOOK,
50
- onEnable(context) {
51
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- // Implement webhook subscription logic here
53
- });
54
- },
55
- onDisable(context) {
56
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
- // Implement webhook unsubscription logic here
58
- });
59
- },
60
- run(context) {
61
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
- return [context.payload.body];
63
- });
64
- },
65
- });
66
- //# sourceMappingURL=email-opened.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-opened.js","sourceRoot":"","sources":["../../../../src/lib/triggers/email-opened.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AAExC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;GAaxB,CAAC;AAES,QAAA,WAAW,GAAG,IAAA,gCAAa,EAAC;IACvC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,mCAAmC;IAChD,UAAU,EAAE;QACV,WAAW,EACT,iNAAiN;KACpN;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,kBAAkB;SAC1B,CAAC;KACH;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,oBAAoB;QACnC,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,cAAc;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,iBAAiB;QAClC,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,mBAAmB;KACxC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;YACpB,4CAA4C;QAC9C,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,8CAA8C;QAChD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KAAA;CACF,CAAC,CAAC"}