@divyacon/piece-mailchimp 0.0.0-stage → 0.1.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.
Files changed (148) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +80 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/add-member-to-list.d.ts +13 -0
  7. package/dist/lib/actions/add-member-to-list.d.ts.map +1 -0
  8. package/dist/lib/actions/add-member-to-list.js +172 -0
  9. package/dist/lib/actions/add-member-to-list.js.map +1 -0
  10. package/dist/lib/actions/add-note-to-subscriber.d.ts +6 -0
  11. package/dist/lib/actions/add-note-to-subscriber.d.ts.map +1 -0
  12. package/dist/lib/actions/add-note-to-subscriber.js +95 -0
  13. package/dist/lib/actions/add-note-to-subscriber.js.map +1 -0
  14. package/dist/lib/actions/add-subscriber-to-tag.d.ts +6 -0
  15. package/dist/lib/actions/add-subscriber-to-tag.d.ts.map +1 -0
  16. package/dist/lib/actions/add-subscriber-to-tag.js +65 -0
  17. package/dist/lib/actions/add-subscriber-to-tag.js.map +1 -0
  18. package/dist/lib/actions/archive-subscriber.d.ts +5 -0
  19. package/dist/lib/actions/archive-subscriber.d.ts.map +1 -0
  20. package/dist/lib/actions/archive-subscriber.js +66 -0
  21. package/dist/lib/actions/archive-subscriber.js.map +1 -0
  22. package/dist/lib/actions/create-audience.d.ts +23 -0
  23. package/dist/lib/actions/create-audience.d.ts.map +1 -0
  24. package/dist/lib/actions/create-audience.js +196 -0
  25. package/dist/lib/actions/create-audience.js.map +1 -0
  26. package/dist/lib/actions/create-campaign.d.ts +15 -0
  27. package/dist/lib/actions/create-campaign.d.ts.map +1 -0
  28. package/dist/lib/actions/create-campaign.js +157 -0
  29. package/dist/lib/actions/create-campaign.js.map +1 -0
  30. package/dist/lib/actions/create-custom-event.d.ts +7 -0
  31. package/dist/lib/actions/create-custom-event.d.ts.map +1 -0
  32. package/dist/lib/actions/create-custom-event.js +65 -0
  33. package/dist/lib/actions/create-custom-event.js.map +1 -0
  34. package/dist/lib/actions/create-tag.d.ts +5 -0
  35. package/dist/lib/actions/create-tag.d.ts.map +1 -0
  36. package/dist/lib/actions/create-tag.js +56 -0
  37. package/dist/lib/actions/create-tag.js.map +1 -0
  38. package/dist/lib/actions/find-campaign.d.ts +6 -0
  39. package/dist/lib/actions/find-campaign.d.ts.map +1 -0
  40. package/dist/lib/actions/find-campaign.js +70 -0
  41. package/dist/lib/actions/find-campaign.js.map +1 -0
  42. package/dist/lib/actions/find-customer.d.ts +9 -0
  43. package/dist/lib/actions/find-customer.d.ts.map +1 -0
  44. package/dist/lib/actions/find-customer.js +87 -0
  45. package/dist/lib/actions/find-customer.js.map +1 -0
  46. package/dist/lib/actions/find-subscriber.d.ts +7 -0
  47. package/dist/lib/actions/find-subscriber.d.ts.map +1 -0
  48. package/dist/lib/actions/find-subscriber.js +307 -0
  49. package/dist/lib/actions/find-subscriber.js.map +1 -0
  50. package/dist/lib/actions/find-tag.d.ts +5 -0
  51. package/dist/lib/actions/find-tag.d.ts.map +1 -0
  52. package/dist/lib/actions/find-tag.js +57 -0
  53. package/dist/lib/actions/find-tag.js.map +1 -0
  54. package/dist/lib/actions/get-campaign-report.d.ts +6 -0
  55. package/dist/lib/actions/get-campaign-report.d.ts.map +1 -0
  56. package/dist/lib/actions/get-campaign-report.js +206 -0
  57. package/dist/lib/actions/get-campaign-report.js.map +1 -0
  58. package/dist/lib/actions/remove-subscriber-from-tag.d.ts +6 -0
  59. package/dist/lib/actions/remove-subscriber-from-tag.d.ts.map +1 -0
  60. package/dist/lib/actions/remove-subscriber-from-tag.js +98 -0
  61. package/dist/lib/actions/remove-subscriber-from-tag.js.map +1 -0
  62. package/dist/lib/actions/send-campaign.d.ts +4 -0
  63. package/dist/lib/actions/send-campaign.d.ts.map +1 -0
  64. package/dist/lib/actions/send-campaign.js +47 -0
  65. package/dist/lib/actions/send-campaign.js.map +1 -0
  66. package/dist/lib/actions/unsubscribe-email.d.ts +8 -0
  67. package/dist/lib/actions/unsubscribe-email.d.ts.map +1 -0
  68. package/dist/lib/actions/unsubscribe-email.js +90 -0
  69. package/dist/lib/actions/unsubscribe-email.js.map +1 -0
  70. package/dist/lib/actions/update-subscriber-status.d.ts +6 -0
  71. package/dist/lib/actions/update-subscriber-status.d.ts.map +1 -0
  72. package/dist/lib/actions/update-subscriber-status.js +54 -0
  73. package/dist/lib/actions/update-subscriber-status.js.map +1 -0
  74. package/dist/lib/common/index.d.ts +30 -0
  75. package/dist/lib/common/index.d.ts.map +1 -0
  76. package/dist/lib/common/index.js +206 -0
  77. package/dist/lib/common/index.js.map +1 -0
  78. package/dist/lib/common/types.d.ts +362 -0
  79. package/dist/lib/common/types.d.ts.map +1 -0
  80. package/dist/lib/common/types.js +54 -0
  81. package/dist/lib/common/types.js.map +1 -0
  82. package/dist/lib/triggers/email-opened-trigger.d.ts +11 -0
  83. package/dist/lib/triggers/email-opened-trigger.d.ts.map +1 -0
  84. package/dist/lib/triggers/email-opened-trigger.js +199 -0
  85. package/dist/lib/triggers/email-opened-trigger.js.map +1 -0
  86. package/dist/lib/triggers/link-clicked-trigger.d.ts +11 -0
  87. package/dist/lib/triggers/link-clicked-trigger.d.ts.map +1 -0
  88. package/dist/lib/triggers/link-clicked-trigger.js +226 -0
  89. package/dist/lib/triggers/link-clicked-trigger.js.map +1 -0
  90. package/dist/lib/triggers/new-campaign-trigger.d.ts +11 -0
  91. package/dist/lib/triggers/new-campaign-trigger.d.ts.map +1 -0
  92. package/dist/lib/triggers/new-campaign-trigger.js +147 -0
  93. package/dist/lib/triggers/new-campaign-trigger.js.map +1 -0
  94. package/dist/lib/triggers/new-customer-trigger.d.ts +11 -0
  95. package/dist/lib/triggers/new-customer-trigger.d.ts.map +1 -0
  96. package/dist/lib/triggers/new-customer-trigger.js +214 -0
  97. package/dist/lib/triggers/new-customer-trigger.js.map +1 -0
  98. package/dist/lib/triggers/new-order-trigger.d.ts +11 -0
  99. package/dist/lib/triggers/new-order-trigger.d.ts.map +1 -0
  100. package/dist/lib/triggers/new-order-trigger.js +270 -0
  101. package/dist/lib/triggers/new-order-trigger.js.map +1 -0
  102. package/dist/lib/triggers/new-segment-tag-subscriber-trigger.d.ts +19 -0
  103. package/dist/lib/triggers/new-segment-tag-subscriber-trigger.d.ts.map +1 -0
  104. package/dist/lib/triggers/new-segment-tag-subscriber-trigger.js +264 -0
  105. package/dist/lib/triggers/new-segment-tag-subscriber-trigger.js.map +1 -0
  106. package/dist/lib/triggers/subscribe-trigger.d.ts +11 -0
  107. package/dist/lib/triggers/subscribe-trigger.d.ts.map +1 -0
  108. package/dist/lib/triggers/subscribe-trigger.js +150 -0
  109. package/dist/lib/triggers/subscribe-trigger.js.map +1 -0
  110. package/dist/lib/triggers/subscriber-updated-trigger.d.ts +11 -0
  111. package/dist/lib/triggers/subscriber-updated-trigger.d.ts.map +1 -0
  112. package/dist/lib/triggers/subscriber-updated-trigger.js +157 -0
  113. package/dist/lib/triggers/subscriber-updated-trigger.js.map +1 -0
  114. package/dist/lib/triggers/unsubscribe-trigger.d.ts +11 -0
  115. package/dist/lib/triggers/unsubscribe-trigger.d.ts.map +1 -0
  116. package/dist/lib/triggers/unsubscribe-trigger.js +196 -0
  117. package/dist/lib/triggers/unsubscribe-trigger.js.map +1 -0
  118. package/package.json +45 -3
  119. package/src/index.ts +77 -0
  120. package/src/lib/actions/add-member-to-list.ts +180 -0
  121. package/src/lib/actions/add-note-to-subscriber.ts +91 -0
  122. package/src/lib/actions/add-subscriber-to-tag.ts +66 -0
  123. package/src/lib/actions/archive-subscriber.ts +64 -0
  124. package/src/lib/actions/create-audience.ts +192 -0
  125. package/src/lib/actions/create-campaign.ts +155 -0
  126. package/src/lib/actions/create-custom-event.ts +63 -0
  127. package/src/lib/actions/create-tag.ts +51 -0
  128. package/src/lib/actions/find-campaign.ts +68 -0
  129. package/src/lib/actions/find-customer.ts +88 -0
  130. package/src/lib/actions/find-subscriber.ts +307 -0
  131. package/src/lib/actions/find-tag.ts +57 -0
  132. package/src/lib/actions/get-campaign-report.ts +204 -0
  133. package/src/lib/actions/remove-subscriber-from-tag.ts +94 -0
  134. package/src/lib/actions/send-campaign.ts +42 -0
  135. package/src/lib/actions/unsubscribe-email.ts +91 -0
  136. package/src/lib/actions/update-subscriber-status.ts +53 -0
  137. package/src/lib/common/index.ts +267 -0
  138. package/src/lib/common/types.ts +410 -0
  139. package/src/lib/triggers/email-opened-trigger.ts +216 -0
  140. package/src/lib/triggers/link-clicked-trigger.ts +244 -0
  141. package/src/lib/triggers/new-campaign-trigger.ts +149 -0
  142. package/src/lib/triggers/new-customer-trigger.ts +230 -0
  143. package/src/lib/triggers/new-order-trigger.ts +288 -0
  144. package/src/lib/triggers/new-segment-tag-subscriber-trigger.ts +286 -0
  145. package/src/lib/triggers/subscribe-trigger.ts +159 -0
  146. package/src/lib/triggers/subscriber-updated-trigger.ts +165 -0
  147. package/src/lib/triggers/unsubscribe-trigger.ts +212 -0
  148. package/README.md +0 -3
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAudience = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/mailchimp/src/lib/actions/create-audience.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const common_1 = require("../common");
10
+ const __1 = require("../..");
11
+ const mailchimp_marketing_1 = tslib_1.__importDefault(require("@mailchimp/mailchimp_marketing"));
12
+ exports.createAudience = (0, pieces_framework_1.createAction)({
13
+ auth: __1.mailchimpAuth,
14
+ name: 'create_audience',
15
+ displayName: 'Create Audience',
16
+ description: 'Create a new audience (list) in your Mailchimp account',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Creates a new audience (list) in the Mailchimp account, including the required physical contact address, permission reminder, and default campaign sender settings. Use to provision a brand-new list to hold subscribers. Not idempotent: each call creates a separate audience even with identical input.', idempotent: false },
19
+ props: {
20
+ name: pieces_framework_1.Property.ShortText({
21
+ displayName: 'List Name',
22
+ description: 'The name of the list',
23
+ required: true,
24
+ }),
25
+ company: pieces_framework_1.Property.ShortText({
26
+ displayName: 'Company',
27
+ description: 'Company name for list contact information',
28
+ required: true,
29
+ }),
30
+ address1: pieces_framework_1.Property.ShortText({
31
+ displayName: 'Address Line 1',
32
+ description: 'Street address for list contact information',
33
+ required: true,
34
+ }),
35
+ address2: pieces_framework_1.Property.ShortText({
36
+ displayName: 'Address Line 2',
37
+ description: 'Additional address information (optional)',
38
+ required: false,
39
+ }),
40
+ city: pieces_framework_1.Property.ShortText({
41
+ displayName: 'City',
42
+ description: 'City for list contact information',
43
+ required: true,
44
+ }),
45
+ state: pieces_framework_1.Property.ShortText({
46
+ displayName: 'State/Province',
47
+ description: 'State or province for list contact information',
48
+ required: false,
49
+ }),
50
+ zip: pieces_framework_1.Property.ShortText({
51
+ displayName: 'ZIP/Postal Code',
52
+ description: 'ZIP or postal code for list contact information',
53
+ required: false,
54
+ }),
55
+ country: pieces_framework_1.Property.ShortText({
56
+ displayName: 'Country',
57
+ description: 'Country for list contact information',
58
+ required: true,
59
+ }),
60
+ phone: pieces_framework_1.Property.ShortText({
61
+ displayName: 'Phone',
62
+ description: 'Phone number for list contact information (optional)',
63
+ required: false,
64
+ }),
65
+ permission_reminder: pieces_framework_1.Property.LongText({
66
+ displayName: 'Permission Reminder',
67
+ description: 'The permission reminder for the list',
68
+ required: true,
69
+ defaultValue: 'You are receiving this email because you signed up for updates from us.',
70
+ }),
71
+ from_name: pieces_framework_1.Property.ShortText({
72
+ displayName: 'Default From Name',
73
+ description: 'Default from name for campaigns',
74
+ required: true,
75
+ }),
76
+ from_email: pieces_framework_1.Property.ShortText({
77
+ displayName: 'Default From Email',
78
+ description: 'Default from email address for campaigns',
79
+ required: true,
80
+ }),
81
+ subject: pieces_framework_1.Property.ShortText({
82
+ displayName: 'Default Subject',
83
+ description: 'Default subject line for campaigns',
84
+ required: true,
85
+ }),
86
+ language: pieces_framework_1.Property.ShortText({
87
+ displayName: 'Language',
88
+ description: 'Default language for campaigns (e.g., "en", "es", "fr")',
89
+ required: true,
90
+ defaultValue: 'en',
91
+ }),
92
+ email_type_option: pieces_framework_1.Property.Checkbox({
93
+ displayName: 'Email Type Option',
94
+ description: 'Whether the list supports multiple email formats (HTML/plain text)',
95
+ required: false,
96
+ defaultValue: true,
97
+ }),
98
+ use_archive_bar: pieces_framework_1.Property.Checkbox({
99
+ displayName: 'Use Archive Bar',
100
+ description: 'Whether campaigns use the Archive Bar in archives by default',
101
+ required: false,
102
+ defaultValue: false,
103
+ }),
104
+ notify_on_subscribe: pieces_framework_1.Property.ShortText({
105
+ displayName: 'Notify on Subscribe',
106
+ description: 'Email address to send subscribe notifications to (optional)',
107
+ required: false,
108
+ }),
109
+ notify_on_unsubscribe: pieces_framework_1.Property.ShortText({
110
+ displayName: 'Notify on Unsubscribe',
111
+ description: 'Email address to send unsubscribe notifications to (optional)',
112
+ required: false,
113
+ }),
114
+ double_optin: pieces_framework_1.Property.Checkbox({
115
+ displayName: 'Double Opt-in',
116
+ description: 'Whether to require subscriber confirmation via email',
117
+ required: false,
118
+ defaultValue: false,
119
+ }),
120
+ marketing_permissions: pieces_framework_1.Property.Checkbox({
121
+ displayName: 'Marketing Permissions',
122
+ description: 'Whether the list has marketing permissions (GDPR) enabled',
123
+ required: false,
124
+ defaultValue: false,
125
+ }),
126
+ },
127
+ run(context) {
128
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
129
+ const accessToken = (0, pieces_common_1.getAccessTokenOrThrow)(context.auth);
130
+ const server = yield common_1.mailchimpCommon.getMailChimpServerPrefix(accessToken);
131
+ const client = mailchimp_marketing_1.default;
132
+ client.setConfig({
133
+ accessToken: accessToken,
134
+ server: server,
135
+ });
136
+ try {
137
+ const listData = {
138
+ name: context.propsValue.name,
139
+ contact: {
140
+ company: context.propsValue.company,
141
+ address1: context.propsValue.address1,
142
+ address2: context.propsValue.address2 || '',
143
+ city: context.propsValue.city,
144
+ state: context.propsValue.state || '',
145
+ zip: context.propsValue.zip || '',
146
+ country: context.propsValue.country,
147
+ phone: context.propsValue.phone || '',
148
+ },
149
+ permission_reminder: context.propsValue.permission_reminder,
150
+ campaign_defaults: {
151
+ from_name: context.propsValue.from_name,
152
+ from_email: context.propsValue.from_email,
153
+ subject: context.propsValue.subject,
154
+ language: context.propsValue.language,
155
+ },
156
+ email_type_option: context.propsValue.email_type_option,
157
+ use_archive_bar: context.propsValue.use_archive_bar,
158
+ notify_on_subscribe: context.propsValue.notify_on_subscribe || '',
159
+ notify_on_unsubscribe: context.propsValue.notify_on_unsubscribe || '',
160
+ double_optin: context.propsValue.double_optin,
161
+ marketing_permissions: context.propsValue.marketing_permissions,
162
+ };
163
+ const list = yield client.lists.createList(listData);
164
+ return {
165
+ success: true,
166
+ id: list.id,
167
+ web_id: list.web_id,
168
+ name: list.name,
169
+ contact: list.contact,
170
+ permission_reminder: list.permission_reminder,
171
+ use_archive_bar: list.use_archive_bar,
172
+ campaign_defaults: list.campaign_defaults,
173
+ notify_on_subscribe: list.notify_on_subscribe,
174
+ notify_on_unsubscribe: list.notify_on_unsubscribe,
175
+ date_created: list.date_created,
176
+ list_rating: list.list_rating,
177
+ email_type_option: list.email_type_option,
178
+ subscribe_url_short: list.subscribe_url_short,
179
+ subscribe_url_long: list.subscribe_url_long,
180
+ beamer_address: list.beamer_address,
181
+ visibility: list.visibility,
182
+ double_optin: list.double_optin,
183
+ has_welcome: list.has_welcome,
184
+ marketing_permissions: list.marketing_permissions,
185
+ modules: list.modules,
186
+ stats: list.stats,
187
+ _links: list._links,
188
+ };
189
+ }
190
+ catch (error) {
191
+ throw new Error(`Failed to create list: ${error.message || JSON.stringify(error)}`);
192
+ }
193
+ });
194
+ },
195
+ });
196
+ //# sourceMappingURL=create-audience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-audience.js","sourceRoot":"","sources":["../../../src/lib/actions/create-audience.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const createCampaign: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>, {
2
+ campaign_type: import("@agnocon/pieces-framework").StaticDropdownProperty<string, true>;
3
+ list_id: import("@agnocon/pieces-framework").DropdownProperty<string, true, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
4
+ subject_line: import("@agnocon/pieces-framework").ShortTextProperty<true>;
5
+ title: import("@agnocon/pieces-framework").ShortTextProperty<true>;
6
+ from_name: import("@agnocon/pieces-framework").ShortTextProperty<true>;
7
+ from_email: import("@agnocon/pieces-framework").ShortTextProperty<true>;
8
+ reply_to: import("@agnocon/pieces-framework").ShortTextProperty<true>;
9
+ to_name: import("@agnocon/pieces-framework").ShortTextProperty<false>;
10
+ content_type: import("@agnocon/pieces-framework").StaticDropdownProperty<string, true>;
11
+ content_url: import("@agnocon/pieces-framework").ShortTextProperty<false>;
12
+ template_id: import("@agnocon/pieces-framework").ShortTextProperty<false>;
13
+ html_content: import("@agnocon/pieces-framework").LongTextProperty<false>;
14
+ }>;
15
+ //# sourceMappingURL=create-campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-campaign.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/create-campaign.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAmJzB,CAAC"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCampaign = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/mailchimp/src/lib/actions/create-campaign.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const common_1 = require("../common");
10
+ const __1 = require("../..");
11
+ const mailchimp_marketing_1 = tslib_1.__importDefault(require("@mailchimp/mailchimp_marketing"));
12
+ exports.createCampaign = (0, pieces_framework_1.createAction)({
13
+ auth: __1.mailchimpAuth,
14
+ name: 'create_campaign',
15
+ displayName: 'Create Campaign',
16
+ description: 'Create a new Mailchimp campaign',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Creates a new draft campaign of a chosen type (regular, plain-text, A/B, RSS, or variate) targeting an audience (list), and optionally sets its content from inline HTML, a hosted URL, or a template depending on the selected content type. Use to set up a campaign for later sending; this does not send it. Not idempotent: each call creates a distinct campaign.', idempotent: false },
19
+ props: {
20
+ campaign_type: pieces_framework_1.Property.StaticDropdown({
21
+ displayName: 'Campaign Type',
22
+ description: 'The type of campaign to create',
23
+ required: true,
24
+ options: {
25
+ options: [
26
+ { label: 'Regular', value: 'regular' },
27
+ { label: 'Plain Text', value: 'plaintext' },
28
+ { label: 'A/B Test', value: 'ab' },
29
+ { label: 'RSS', value: 'rss' },
30
+ { label: 'Variate', value: 'variate' },
31
+ ],
32
+ },
33
+ }),
34
+ list_id: common_1.mailchimpCommon.mailChimpListIdDropdown,
35
+ subject_line: pieces_framework_1.Property.ShortText({
36
+ displayName: 'Subject Line',
37
+ description: 'The subject line for the campaign',
38
+ required: true,
39
+ }),
40
+ title: pieces_framework_1.Property.ShortText({
41
+ displayName: 'Campaign Title',
42
+ description: 'The title of the campaign',
43
+ required: true,
44
+ }),
45
+ from_name: pieces_framework_1.Property.ShortText({
46
+ displayName: 'From Name',
47
+ description: 'The name that will appear in the "From" field',
48
+ required: true,
49
+ }),
50
+ from_email: pieces_framework_1.Property.ShortText({
51
+ displayName: 'From Email',
52
+ description: 'The email address that will appear in the "From" field',
53
+ required: true,
54
+ }),
55
+ reply_to: pieces_framework_1.Property.ShortText({
56
+ displayName: 'Reply To Email',
57
+ description: 'The email address that will receive replies',
58
+ required: true,
59
+ }),
60
+ to_name: pieces_framework_1.Property.ShortText({
61
+ displayName: 'To Name',
62
+ description: 'The name that will appear in the "To" field (e.g., *|FNAME|*)',
63
+ required: false,
64
+ }),
65
+ content_type: pieces_framework_1.Property.StaticDropdown({
66
+ displayName: 'Content Type',
67
+ description: 'How the campaign content is put together',
68
+ required: true,
69
+ options: {
70
+ options: [
71
+ { label: 'Template', value: 'template' },
72
+ { label: 'HTML', value: 'html' },
73
+ { label: 'URL', value: 'url' },
74
+ { label: 'Multichannel', value: 'multichannel' },
75
+ ],
76
+ },
77
+ }),
78
+ content_url: pieces_framework_1.Property.ShortText({
79
+ displayName: 'Content URL',
80
+ description: 'The URL where the campaign content is hosted (required if content_type is "url")',
81
+ required: false,
82
+ }),
83
+ template_id: pieces_framework_1.Property.ShortText({
84
+ displayName: 'Template ID',
85
+ description: 'The ID of the template to use (required if content_type is "template")',
86
+ required: false,
87
+ }),
88
+ html_content: pieces_framework_1.Property.LongText({
89
+ displayName: 'HTML Content',
90
+ description: 'The HTML content for the campaign (required if content_type is "html")',
91
+ required: false,
92
+ }),
93
+ },
94
+ run(context) {
95
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
96
+ var _a, _b;
97
+ const accessToken = (0, pieces_common_1.getAccessTokenOrThrow)(context.auth);
98
+ const server = yield common_1.mailchimpCommon.getMailChimpServerPrefix(accessToken);
99
+ try {
100
+ const client = mailchimp_marketing_1.default;
101
+ client.setConfig({
102
+ accessToken: accessToken,
103
+ server: server,
104
+ });
105
+ const campaignData = {
106
+ type: context.propsValue.campaign_type,
107
+ recipients: {
108
+ list_id: context.propsValue.list_id,
109
+ },
110
+ settings: {
111
+ subject_line: context.propsValue.subject_line,
112
+ title: context.propsValue.title,
113
+ from_name: context.propsValue.from_name,
114
+ from_email: context.propsValue.from_email,
115
+ reply_to: context.propsValue.reply_to,
116
+ to_name: context.propsValue.to_name || '',
117
+ },
118
+ };
119
+ const campaign = yield client.campaigns.create(campaignData);
120
+ // Set campaign content based on content type
121
+ const contentData = {};
122
+ if (context.propsValue.content_type === 'html' && context.propsValue.html_content) {
123
+ contentData.html = context.propsValue.html_content;
124
+ }
125
+ else if (context.propsValue.content_type === 'url' && context.propsValue.content_url) {
126
+ contentData.url = context.propsValue.content_url;
127
+ }
128
+ else if (context.propsValue.content_type === 'template' && context.propsValue.template_id) {
129
+ contentData.template = {
130
+ id: context.propsValue.template_id,
131
+ };
132
+ }
133
+ // Set content if any content data is provided
134
+ if (Object.keys(contentData).length > 0) {
135
+ yield client.campaigns.setContent(campaign.id, contentData);
136
+ }
137
+ return {
138
+ success: true,
139
+ campaign_id: campaign.id,
140
+ campaign_web_id: campaign.web_id,
141
+ campaign_title: (_a = campaign.settings) === null || _a === void 0 ? void 0 : _a.title,
142
+ campaign_subject: (_b = campaign.settings) === null || _b === void 0 ? void 0 : _b.subject_line,
143
+ campaign_status: campaign.status,
144
+ campaign_type: campaign.type,
145
+ created_at: campaign.create_time,
146
+ archive_url: campaign.archive_url,
147
+ _links: campaign._links || [],
148
+ };
149
+ }
150
+ catch (error) {
151
+ console.error('Error creating campaign:', error);
152
+ throw new Error(`Failed to create campaign: ${error.message || JSON.stringify(error)}`);
153
+ }
154
+ });
155
+ },
156
+ });
157
+ //# sourceMappingURL=create-campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-campaign.js","sourceRoot":"","sources":["../../../src/lib/actions/create-campaign.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const createCustomEvent: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>, {
2
+ list_id: import("@agnocon/pieces-framework").DropdownProperty<string, true, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
3
+ email: import("@agnocon/pieces-framework").ShortTextProperty<true>;
4
+ name: import("@agnocon/pieces-framework").ShortTextProperty<true>;
5
+ properties: import("@agnocon/pieces-framework").ObjectProperty<false>;
6
+ }>;
7
+ //# sourceMappingURL=create-custom-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-custom-event.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/create-custom-event.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,iBAAiB;;;;;EAuD5B,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCustomEvent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/mailchimp/src/lib/actions/create-custom-event.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const common_1 = require("../common");
10
+ const __1 = require("../..");
11
+ const mailchimp_marketing_1 = tslib_1.__importDefault(require("@mailchimp/mailchimp_marketing"));
12
+ exports.createCustomEvent = (0, pieces_framework_1.createAction)({
13
+ auth: __1.mailchimpAuth,
14
+ name: 'create_custom_event',
15
+ displayName: 'Create Custom Event',
16
+ description: 'Log a custom event for an existing subscriber, for use in automations and segmentation',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Records a named event (with optional properties) against an existing subscriber, identified by email, in an audience (list). Use to feed subscriber behavior into automations or segments. Not idempotent: each call logs a new, distinct event occurrence.', idempotent: false },
19
+ props: {
20
+ list_id: common_1.mailchimpCommon.mailChimpListIdDropdown,
21
+ email: pieces_framework_1.Property.ShortText({
22
+ displayName: 'Email Address',
23
+ description: 'The email address of the subscriber to log the event for',
24
+ required: true,
25
+ }),
26
+ name: pieces_framework_1.Property.ShortText({
27
+ displayName: 'Event Name',
28
+ description: 'The name of the event (lowercase letters, numbers, and underscores only, e.g. "purchased_item")',
29
+ required: true,
30
+ }),
31
+ properties: pieces_framework_1.Property.Object({
32
+ displayName: 'Properties',
33
+ description: 'Optional key/value data to attach to the event',
34
+ required: false,
35
+ }),
36
+ },
37
+ run(context) {
38
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
39
+ const { list_id, email, name, properties } = context.propsValue;
40
+ const accessToken = (0, pieces_common_1.getAccessTokenOrThrow)(context.auth);
41
+ const server = yield common_1.mailchimpCommon.getMailChimpServerPrefix(accessToken);
42
+ const subscriberHash = common_1.mailchimpCommon.getMD5EmailHash(email);
43
+ const client = mailchimp_marketing_1.default;
44
+ client.setConfig({
45
+ accessToken: accessToken,
46
+ server: server,
47
+ });
48
+ try {
49
+ // Docs: https://mailchimp.com/developer/marketing/api/list-member-events/add-event/
50
+ yield client.lists.createListMemberEvent(list_id, subscriberHash, Object.assign({ name }, (properties ? { properties } : {})));
51
+ return {
52
+ success: true,
53
+ message: `Successfully created event "${name}" for ${email}`,
54
+ list_id,
55
+ email,
56
+ name,
57
+ };
58
+ }
59
+ catch (error) {
60
+ throw new Error(`Failed to create custom event: ${error.message || JSON.stringify(error)}`);
61
+ }
62
+ });
63
+ },
64
+ });
65
+ //# sourceMappingURL=create-custom-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-custom-event.js","sourceRoot":"","sources":["../../../src/lib/actions/create-custom-event.ts"],"names":[],"mappings":";;;;AAAA,+GAA+G;AAC/G,qEAAqE;AACrE,gEAAmE;AACnE,0DAA+D;AAC/D,sCAA4C;AAC5C,6BAAsC;AACtC,iGAAuD;AAG1C,QAAA,iBAAiB,GAAG,IAAA,+BAAY,EAAC;IAC5C,IAAI,EAAE,iBAAa;IACnB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,wFAAwF;IACrG,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,6PAA6P,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7S,KAAK,EAAE;QACL,OAAO,EAAE,wBAAe,CAAC,uBAAuB;QAChD,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,iGAAiG;YAC9G,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAChE,MAAM,WAAW,GAAG,IAAA,qCAAqB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,wBAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,wBAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG,6BAAuC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC;gBACf,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,oFAAoF;gBACpF,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAiB,EAAE,cAAc,kBACxE,IAAI,IACD,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,+BAA+B,IAAI,SAAS,KAAK,EAAE;oBAC5D,OAAO;oBACP,KAAK;oBACL,IAAI;iBACL,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const createTag: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>, {
2
+ list_id: import("@agnocon/pieces-framework").DropdownProperty<string, true, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
3
+ name: import("@agnocon/pieces-framework").ShortTextProperty<true>;
4
+ }>;
5
+ //# sourceMappingURL=create-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/create-tag.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS;;;EA2CpB,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTag = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/mailchimp/src/lib/actions/create-tag.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const common_1 = require("../common");
10
+ const __1 = require("../..");
11
+ const mailchimp_marketing_1 = tslib_1.__importDefault(require("@mailchimp/mailchimp_marketing"));
12
+ exports.createTag = (0, pieces_framework_1.createAction)({
13
+ auth: __1.mailchimpAuth,
14
+ name: 'create_tag',
15
+ displayName: 'Create Tag',
16
+ description: 'Create a new tag in a Mailchimp audience',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Creates a new tag on an audience (list) so it can later be applied to subscribers. Use to set up a tag ahead of tagging contacts. Not idempotent: calling again with the same name creates a duplicate tag.', idempotent: false },
19
+ props: {
20
+ list_id: common_1.mailchimpCommon.mailChimpListIdDropdown,
21
+ name: pieces_framework_1.Property.ShortText({
22
+ displayName: 'Tag Name',
23
+ description: 'The name of the tag to create',
24
+ required: true,
25
+ }),
26
+ },
27
+ run(context) {
28
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ const { list_id, name } = context.propsValue;
30
+ const accessToken = (0, pieces_common_1.getAccessTokenOrThrow)(context.auth);
31
+ const server = yield common_1.mailchimpCommon.getMailChimpServerPrefix(accessToken);
32
+ const client = mailchimp_marketing_1.default;
33
+ client.setConfig({
34
+ accessToken: accessToken,
35
+ server: server,
36
+ });
37
+ try {
38
+ // Tags are static segments with no members yet.
39
+ // Docs: https://mailchimp.com/developer/marketing/api/list-segments/add-segment/
40
+ const segment = yield client.lists.createSegment(list_id, {
41
+ name,
42
+ static_segment: [],
43
+ });
44
+ return {
45
+ success: true,
46
+ message: `Successfully created tag "${name}"`,
47
+ tag: segment,
48
+ };
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Failed to create tag: ${error.message || JSON.stringify(error)}`);
52
+ }
53
+ });
54
+ },
55
+ });
56
+ //# sourceMappingURL=create-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag.js","sourceRoot":"","sources":["../../../src/lib/actions/create-tag.ts"],"names":[],"mappings":";;;;AAAA,sGAAsG;AACtG,qEAAqE;AACrE,gEAAmE;AACnE,0DAA+D;AAC/D,sCAA4C;AAC5C,6BAAsC;AACtC,iGAAuD;AAG1C,QAAA,SAAS,GAAG,IAAA,+BAAY,EAAC;IACpC,IAAI,EAAE,iBAAa;IACnB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,6MAA6M,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7P,KAAK,EAAE;QACL,OAAO,EAAE,wBAAe,CAAC,uBAAuB;QAChD,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAA,qCAAqB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,wBAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAE3E,MAAM,MAAM,GAAG,6BAAuC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC;gBACf,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,gDAAgD;gBAChD,iFAAiF;gBACjF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAiB,EAAE;oBAClE,IAAI;oBACJ,cAAc,EAAE,EAAE;iBACnB,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,6BAA6B,IAAI,GAAG;oBAC7C,GAAG,EAAE,OAAO;iBACb,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const findCampaign: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>, {
2
+ query: import("@agnocon/pieces-framework").ShortTextProperty<true>;
3
+ fields: import("@agnocon/pieces-framework").LongTextProperty<false>;
4
+ exclude_fields: import("@agnocon/pieces-framework").LongTextProperty<false>;
5
+ }>;
6
+ //# sourceMappingURL=find-campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-campaign.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/find-campaign.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY;;;;EA4DvB,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findCampaign = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/mailchimp/src/lib/actions/find-campaign.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const common_1 = require("../common");
10
+ const __1 = require("../..");
11
+ const mailchimp_marketing_1 = tslib_1.__importDefault(require("@mailchimp/mailchimp_marketing"));
12
+ exports.findCampaign = (0, pieces_framework_1.createAction)({
13
+ auth: __1.mailchimpAuth,
14
+ name: 'find_campaign',
15
+ displayName: 'Find Campaign',
16
+ description: 'Search all campaigns for the specified query terms',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Searches all campaigns in the account by a free-text query (matching titles, subject lines, and related fields) and returns the matches. Use to locate a campaign by name or wording before reading or acting on it. Read-only and idempotent; a query is required.', idempotent: true },
19
+ props: {
20
+ query: pieces_framework_1.Property.ShortText({
21
+ displayName: 'Search Query',
22
+ description: 'Search terms to find campaigns',
23
+ required: true,
24
+ }),
25
+ fields: pieces_framework_1.Property.LongText({
26
+ displayName: 'Fields',
27
+ description: 'Comma-separated list of fields to return',
28
+ required: false,
29
+ }),
30
+ exclude_fields: pieces_framework_1.Property.LongText({
31
+ displayName: 'Exclude Fields',
32
+ description: 'Comma-separated list of fields to exclude',
33
+ required: false,
34
+ }),
35
+ },
36
+ run(context) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ const accessToken = (0, pieces_common_1.getAccessTokenOrThrow)(context.auth);
39
+ const server = yield common_1.mailchimpCommon.getMailChimpServerPrefix(accessToken);
40
+ const client = mailchimp_marketing_1.default;
41
+ client.setConfig({
42
+ accessToken: accessToken,
43
+ server: server,
44
+ });
45
+ try {
46
+ const searchParams = {
47
+ query: context.propsValue.query,
48
+ };
49
+ if (context.propsValue.fields) {
50
+ searchParams.fields = context.propsValue.fields.split(',').map(f => f.trim());
51
+ }
52
+ if (context.propsValue.exclude_fields) {
53
+ searchParams.exclude_fields = context.propsValue.exclude_fields.split(',').map(f => f.trim());
54
+ }
55
+ const searchResult = yield client.searchCampaigns.search(searchParams);
56
+ return {
57
+ success: true,
58
+ query: context.propsValue.query,
59
+ results: searchResult.results,
60
+ total_items: searchResult.total_items,
61
+ _links: searchResult._links,
62
+ };
63
+ }
64
+ catch (error) {
65
+ throw new Error(`Failed to search campaigns: ${error.message || JSON.stringify(error)}`);
66
+ }
67
+ });
68
+ },
69
+ });
70
+ //# sourceMappingURL=find-campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-campaign.js","sourceRoot":"","sources":["../../../src/lib/actions/find-campaign.ts"],"names":[],"mappings":";;;;AAAA,yGAAyG;AACzG,qEAAqE;AACrE,gEAAmE;AACnE,0DAA+D;AAC/D,sCAA4C;AAC5C,6BAAsC;AACtC,iGAAuD;AAG1C,QAAA,YAAY,GAAG,IAAA,+BAAY,EAAC;IACvC,IAAI,EAAE,iBAAa;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,qQAAqQ,EAAE,UAAU,EAAE,IAAI,EAAE;IACpT,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACxB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,WAAW,GAAG,IAAA,qCAAqB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,wBAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAE3E,MAAM,MAAM,GAAG,6BAAuC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC;gBACf,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,YAAY,GAAQ;oBACxB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;iBAChC,CAAC;gBAEF,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC9B,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAED,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;oBACtC,YAAY,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChG,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEvE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;oBAC/B,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC5B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}