@cakemail-org/cakemail-cli 1.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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +460 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +66 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/client.d.ts +27 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +41 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/commands/campaigns.d.ts +5 -0
  12. package/dist/commands/campaigns.d.ts.map +1 -0
  13. package/dist/commands/campaigns.js +334 -0
  14. package/dist/commands/campaigns.js.map +1 -0
  15. package/dist/commands/contacts.d.ts +5 -0
  16. package/dist/commands/contacts.d.ts.map +1 -0
  17. package/dist/commands/contacts.js +164 -0
  18. package/dist/commands/contacts.js.map +1 -0
  19. package/dist/commands/emails.d.ts +5 -0
  20. package/dist/commands/emails.d.ts.map +1 -0
  21. package/dist/commands/emails.js +140 -0
  22. package/dist/commands/emails.js.map +1 -0
  23. package/dist/commands/lists.d.ts +5 -0
  24. package/dist/commands/lists.d.ts.map +1 -0
  25. package/dist/commands/lists.js +102 -0
  26. package/dist/commands/lists.js.map +1 -0
  27. package/dist/commands/senders.d.ts +5 -0
  28. package/dist/commands/senders.d.ts.map +1 -0
  29. package/dist/commands/senders.js +168 -0
  30. package/dist/commands/senders.js.map +1 -0
  31. package/dist/commands/templates.d.ts +5 -0
  32. package/dist/commands/templates.d.ts.map +1 -0
  33. package/dist/commands/templates.js +198 -0
  34. package/dist/commands/templates.js.map +1 -0
  35. package/dist/commands/webhooks.d.ts +5 -0
  36. package/dist/commands/webhooks.d.ts.map +1 -0
  37. package/dist/commands/webhooks.js +144 -0
  38. package/dist/commands/webhooks.js.map +1 -0
  39. package/dist/utils/config.d.ts +7 -0
  40. package/dist/utils/config.d.ts.map +1 -0
  41. package/dist/utils/config.js +21 -0
  42. package/dist/utils/config.js.map +1 -0
  43. package/dist/utils/output.d.ts +16 -0
  44. package/dist/utils/output.d.ts.map +1 -0
  45. package/dist/utils/output.js +197 -0
  46. package/dist/utils/output.js.map +1 -0
  47. package/package.json +57 -0
@@ -0,0 +1,334 @@
1
+ import { Command } from 'commander';
2
+ import ora from 'ora';
3
+ export function createCampaignsCommand(client, formatter) {
4
+ const campaigns = new Command('campaigns')
5
+ .description('Manage email campaigns');
6
+ // List campaigns
7
+ campaigns
8
+ .command('list')
9
+ .description('List all campaigns')
10
+ .option('-s, --status <status>', 'Filter by status')
11
+ .option('-l, --limit <number>', 'Limit number of results')
12
+ .option('-p, --page <number>', 'Page number')
13
+ .option('--sort <sort>', 'Sort by field: +name, -created_on, +scheduled_for, etc.')
14
+ .option('--filter <filter>', 'Filter (e.g., "status==delivered;name==Newsletter")')
15
+ .action(async (options) => {
16
+ const spinner = ora('Fetching campaigns...').start();
17
+ try {
18
+ const params = {};
19
+ if (options.status)
20
+ params.status = options.status;
21
+ if (options.limit)
22
+ params.per_page = parseInt(options.limit);
23
+ if (options.page)
24
+ params.page = parseInt(options.page);
25
+ if (options.sort)
26
+ params.sort = options.sort;
27
+ if (options.filter)
28
+ params.filter = options.filter;
29
+ const data = await client.sdk.campaigns.list(params);
30
+ spinner.stop();
31
+ formatter.output(data);
32
+ }
33
+ catch (error) {
34
+ spinner.stop();
35
+ formatter.error(error.message);
36
+ process.exit(1);
37
+ }
38
+ });
39
+ // Get campaign
40
+ campaigns
41
+ .command('get <id>')
42
+ .description('Get campaign details')
43
+ .action(async (id) => {
44
+ const spinner = ora(`Fetching campaign ${id}...`).start();
45
+ try {
46
+ const data = await client.sdk.campaigns.get(parseInt(id));
47
+ spinner.stop();
48
+ formatter.output(data);
49
+ }
50
+ catch (error) {
51
+ spinner.stop();
52
+ formatter.error(error.message);
53
+ process.exit(1);
54
+ }
55
+ });
56
+ // Create campaign
57
+ campaigns
58
+ .command('create')
59
+ .description('Create a new campaign')
60
+ .requiredOption('-n, --name <name>', 'Campaign name')
61
+ .requiredOption('-l, --list-id <id>', 'List ID')
62
+ .option('-s, --sender-id <id>', 'Sender ID')
63
+ .option('-t, --template-id <id>', 'Template ID')
64
+ .option('--subject <subject>', 'Email subject')
65
+ .action(async (options) => {
66
+ const spinner = ora('Creating campaign...').start();
67
+ try {
68
+ const payload = {
69
+ name: options.name,
70
+ list_id: parseInt(options.listId),
71
+ };
72
+ if (options.senderId)
73
+ payload.sender_id = parseInt(options.senderId);
74
+ if (options.templateId)
75
+ payload.template_id = parseInt(options.templateId);
76
+ if (options.subject)
77
+ payload.subject = options.subject;
78
+ const data = await client.sdk.campaigns.create(payload);
79
+ spinner.stop();
80
+ formatter.success(`Campaign created: ${data.id}`);
81
+ formatter.output(data);
82
+ }
83
+ catch (error) {
84
+ spinner.stop();
85
+ formatter.error(error.message);
86
+ process.exit(1);
87
+ }
88
+ });
89
+ // Schedule campaign
90
+ campaigns
91
+ .command('schedule <id>')
92
+ .description('Schedule a campaign')
93
+ .requiredOption('-d, --date <datetime>', 'Schedule datetime (ISO 8601)')
94
+ .action(async (id, options) => {
95
+ const spinner = ora(`Scheduling campaign ${id}...`).start();
96
+ try {
97
+ const data = await client.sdk.campaigns.schedule(parseInt(id), {
98
+ scheduled_at: options.date,
99
+ });
100
+ spinner.stop();
101
+ formatter.success(`Campaign ${id} scheduled for ${options.date}`);
102
+ formatter.output(data);
103
+ }
104
+ catch (error) {
105
+ spinner.stop();
106
+ formatter.error(error.message);
107
+ process.exit(1);
108
+ }
109
+ });
110
+ // Send test
111
+ campaigns
112
+ .command('test <id>')
113
+ .description('Send a test email')
114
+ .requiredOption('-e, --email <email>', 'Recipient email address')
115
+ .action(async (id, options) => {
116
+ const spinner = ora(`Sending test email...`).start();
117
+ try {
118
+ await client.sdk.campaigns.sendTest(parseInt(id), [options.email]);
119
+ spinner.stop();
120
+ formatter.success(`Test email sent to ${options.email}`);
121
+ }
122
+ catch (error) {
123
+ spinner.stop();
124
+ formatter.error(error.message);
125
+ process.exit(1);
126
+ }
127
+ });
128
+ // Update campaign
129
+ campaigns
130
+ .command('update <id>')
131
+ .description('Update a campaign')
132
+ .option('-n, --name <name>', 'Campaign name')
133
+ .option('-l, --list-id <id>', 'List ID')
134
+ .option('-s, --sender-id <id>', 'Sender ID')
135
+ .option('-t, --template-id <id>', 'Template ID')
136
+ .option('--subject <subject>', 'Email subject')
137
+ .action(async (id, options) => {
138
+ const spinner = ora(`Updating campaign ${id}...`).start();
139
+ try {
140
+ const payload = {};
141
+ if (options.name)
142
+ payload.name = options.name;
143
+ if (options.listId)
144
+ payload.list_id = parseInt(options.listId);
145
+ if (options.senderId)
146
+ payload.sender_id = parseInt(options.senderId);
147
+ if (options.templateId)
148
+ payload.template_id = parseInt(options.templateId);
149
+ if (options.subject)
150
+ payload.subject = options.subject;
151
+ const data = await client.sdk.campaigns.update(parseInt(id), payload);
152
+ spinner.stop();
153
+ formatter.success(`Campaign ${id} updated`);
154
+ formatter.output(data);
155
+ }
156
+ catch (error) {
157
+ spinner.stop();
158
+ formatter.error(error.message);
159
+ process.exit(1);
160
+ }
161
+ });
162
+ // Delete campaign
163
+ campaigns
164
+ .command('delete <id>')
165
+ .description('Delete a campaign')
166
+ .option('-f, --force', 'Skip confirmation')
167
+ .action(async (id, options) => {
168
+ if (!options.force) {
169
+ formatter.info('Use --force to confirm deletion');
170
+ process.exit(1);
171
+ }
172
+ const spinner = ora(`Deleting campaign ${id}...`).start();
173
+ try {
174
+ await client.sdk.campaigns.delete(parseInt(id));
175
+ spinner.stop();
176
+ formatter.success(`Campaign ${id} deleted`);
177
+ }
178
+ catch (error) {
179
+ spinner.stop();
180
+ formatter.error(error.message);
181
+ process.exit(1);
182
+ }
183
+ });
184
+ // Archive campaign
185
+ campaigns
186
+ .command('archive <id>')
187
+ .description('Archive a campaign')
188
+ .action(async (id) => {
189
+ const spinner = ora(`Archiving campaign ${id}...`).start();
190
+ try {
191
+ const data = await client.sdk.campaigns.archive(parseInt(id));
192
+ spinner.stop();
193
+ formatter.success(`Campaign ${id} archived`);
194
+ formatter.output(data);
195
+ }
196
+ catch (error) {
197
+ spinner.stop();
198
+ formatter.error(error.message);
199
+ process.exit(1);
200
+ }
201
+ });
202
+ // Unarchive campaign
203
+ campaigns
204
+ .command('unarchive <id>')
205
+ .description('Unarchive a campaign')
206
+ .action(async (id) => {
207
+ const spinner = ora(`Unarchiving campaign ${id}...`).start();
208
+ try {
209
+ const data = await client.sdk.campaigns.unarchive(parseInt(id));
210
+ spinner.stop();
211
+ formatter.success(`Campaign ${id} unarchived`);
212
+ formatter.output(data);
213
+ }
214
+ catch (error) {
215
+ spinner.stop();
216
+ formatter.error(error.message);
217
+ process.exit(1);
218
+ }
219
+ });
220
+ // Cancel campaign
221
+ campaigns
222
+ .command('cancel <id>')
223
+ .description('Cancel a campaign')
224
+ .action(async (id) => {
225
+ const spinner = ora(`Canceling campaign ${id}...`).start();
226
+ try {
227
+ const data = await client.sdk.campaigns.cancel(parseInt(id));
228
+ spinner.stop();
229
+ formatter.success(`Campaign ${id} canceled`);
230
+ formatter.output(data);
231
+ }
232
+ catch (error) {
233
+ spinner.stop();
234
+ formatter.error(error.message);
235
+ process.exit(1);
236
+ }
237
+ });
238
+ // Suspend campaign
239
+ campaigns
240
+ .command('suspend <id>')
241
+ .description('Suspend a campaign')
242
+ .action(async (id) => {
243
+ const spinner = ora(`Suspending campaign ${id}...`).start();
244
+ try {
245
+ const data = await client.sdk.campaigns.suspend(parseInt(id));
246
+ spinner.stop();
247
+ formatter.success(`Campaign ${id} suspended`);
248
+ formatter.output(data);
249
+ }
250
+ catch (error) {
251
+ spinner.stop();
252
+ formatter.error(error.message);
253
+ process.exit(1);
254
+ }
255
+ });
256
+ // Resume campaign
257
+ campaigns
258
+ .command('resume <id>')
259
+ .description('Resume a campaign')
260
+ .action(async (id) => {
261
+ const spinner = ora(`Resuming campaign ${id}...`).start();
262
+ try {
263
+ const data = await client.sdk.campaigns.resume(parseInt(id));
264
+ spinner.stop();
265
+ formatter.success(`Campaign ${id} resumed`);
266
+ formatter.output(data);
267
+ }
268
+ catch (error) {
269
+ spinner.stop();
270
+ formatter.error(error.message);
271
+ process.exit(1);
272
+ }
273
+ });
274
+ // Reschedule campaign
275
+ campaigns
276
+ .command('reschedule <id>')
277
+ .description('Reschedule a campaign')
278
+ .requiredOption('-d, --date <datetime>', 'New schedule datetime (ISO 8601)')
279
+ .action(async (id, options) => {
280
+ const spinner = ora(`Rescheduling campaign ${id}...`).start();
281
+ try {
282
+ const data = await client.sdk.campaigns.reschedule(parseInt(id), {
283
+ scheduled_at: options.date,
284
+ });
285
+ spinner.stop();
286
+ formatter.success(`Campaign ${id} rescheduled for ${options.date}`);
287
+ formatter.output(data);
288
+ }
289
+ catch (error) {
290
+ spinner.stop();
291
+ formatter.error(error.message);
292
+ process.exit(1);
293
+ }
294
+ });
295
+ // Unschedule campaign
296
+ campaigns
297
+ .command('unschedule <id>')
298
+ .description('Unschedule a campaign')
299
+ .action(async (id) => {
300
+ const spinner = ora(`Unscheduling campaign ${id}...`).start();
301
+ try {
302
+ const data = await client.sdk.campaigns.unschedule(parseInt(id));
303
+ spinner.stop();
304
+ formatter.success(`Campaign ${id} unscheduled`);
305
+ formatter.output(data);
306
+ }
307
+ catch (error) {
308
+ spinner.stop();
309
+ formatter.error(error.message);
310
+ process.exit(1);
311
+ }
312
+ });
313
+ // List campaign links
314
+ campaigns
315
+ .command('links <id>')
316
+ .description('List campaign links')
317
+ .option('-l, --limit <number>', 'Limit number of results')
318
+ .option('-p, --page <number>', 'Page number')
319
+ .action(async (id, options) => {
320
+ const spinner = ora(`Fetching links for campaign ${id}...`).start();
321
+ try {
322
+ const data = await client.sdk.campaigns.getLinks(parseInt(id));
323
+ spinner.stop();
324
+ formatter.output(data);
325
+ }
326
+ catch (error) {
327
+ spinner.stop();
328
+ formatter.error(error.message);
329
+ process.exit(1);
330
+ }
331
+ });
332
+ return campaigns;
333
+ }
334
+ //# sourceMappingURL=campaigns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaigns.js","sourceRoot":"","sources":["../../src/commands/campaigns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import { CakemailClient } from '../client.js';
3
+ import { OutputFormatter } from '../utils/output.js';
4
+ export declare function createContactsCommand(client: CakemailClient, formatter: OutputFormatter): Command;
5
+ //# sourceMappingURL=contacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/commands/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CA2JjG"}
@@ -0,0 +1,164 @@
1
+ import { Command } from 'commander';
2
+ import ora from 'ora';
3
+ export function createContactsCommand(client, formatter) {
4
+ const contacts = new Command('contacts')
5
+ .description('Manage contacts in lists');
6
+ // List contacts
7
+ contacts
8
+ .command('list <list-id>')
9
+ .description('List contacts in a list')
10
+ .option('-l, --limit <number>', 'Limit number of results')
11
+ .option('-p, --page <number>', 'Page number')
12
+ .option('-q, --query <query>', 'Search query')
13
+ .option('--sort <sort>', 'Sort by field: +email, -subscribed_on, +status, etc.')
14
+ .option('--filter <filter>', 'Filter (e.g., "status==active;email==user@example.com")')
15
+ .action(async (listId, options) => {
16
+ const spinner = ora('Fetching contacts...').start();
17
+ try {
18
+ const params = {
19
+ list_id: parseInt(listId),
20
+ };
21
+ if (options.limit)
22
+ params.per_page = parseInt(options.limit);
23
+ if (options.page)
24
+ params.page = parseInt(options.page);
25
+ if (options.query)
26
+ params.query = options.query;
27
+ if (options.sort)
28
+ params.sort = options.sort;
29
+ if (options.filter)
30
+ params.filter = options.filter;
31
+ const data = await client.sdk.contacts.list(params);
32
+ spinner.stop();
33
+ formatter.output(data);
34
+ }
35
+ catch (error) {
36
+ spinner.stop();
37
+ formatter.error(error.message);
38
+ process.exit(1);
39
+ }
40
+ });
41
+ // Get contact
42
+ contacts
43
+ .command('get <list-id> <contact-id>')
44
+ .description('Get contact details')
45
+ .action(async (listId, contactId) => {
46
+ const spinner = ora(`Fetching contact ${contactId}...`).start();
47
+ try {
48
+ const data = await client.sdk.contacts.get(parseInt(contactId));
49
+ spinner.stop();
50
+ formatter.output(data);
51
+ }
52
+ catch (error) {
53
+ spinner.stop();
54
+ formatter.error(error.message);
55
+ process.exit(1);
56
+ }
57
+ });
58
+ // Add contact
59
+ contacts
60
+ .command('add <list-id>')
61
+ .description('Add a contact to a list')
62
+ .requiredOption('-e, --email <email>', 'Contact email')
63
+ .option('-f, --first-name <name>', 'First name')
64
+ .option('-l, --last-name <name>', 'Last name')
65
+ .option('-d, --data <json>', 'Custom attributes as JSON')
66
+ .action(async (listId, options) => {
67
+ const spinner = ora('Adding contact...').start();
68
+ try {
69
+ const payload = {
70
+ email: options.email,
71
+ list_ids: [parseInt(listId)],
72
+ };
73
+ if (options.firstName)
74
+ payload.first_name = options.firstName;
75
+ if (options.lastName)
76
+ payload.last_name = options.lastName;
77
+ if (options.data) {
78
+ payload.custom_attributes = JSON.parse(options.data);
79
+ }
80
+ const data = await client.sdk.contacts.create(payload);
81
+ spinner.stop();
82
+ formatter.success(`Contact added: ${data.id}`);
83
+ formatter.output(data);
84
+ }
85
+ catch (error) {
86
+ spinner.stop();
87
+ formatter.error(error.message);
88
+ process.exit(1);
89
+ }
90
+ });
91
+ // Update contact
92
+ contacts
93
+ .command('update <list-id> <contact-id>')
94
+ .description('Update a contact')
95
+ .option('-e, --email <email>', 'Contact email')
96
+ .option('-f, --first-name <name>', 'First name')
97
+ .option('-l, --last-name <name>', 'Last name')
98
+ .option('-d, --data <json>', 'Custom attributes as JSON')
99
+ .action(async (listId, contactId, options) => {
100
+ const spinner = ora('Updating contact...').start();
101
+ try {
102
+ const payload = {};
103
+ if (options.email)
104
+ payload.email = options.email;
105
+ if (options.firstName)
106
+ payload.first_name = options.firstName;
107
+ if (options.lastName)
108
+ payload.last_name = options.lastName;
109
+ if (options.data) {
110
+ payload.custom_attributes = JSON.parse(options.data);
111
+ }
112
+ const data = await client.sdk.contacts.update(parseInt(contactId), payload);
113
+ spinner.stop();
114
+ formatter.success(`Contact ${contactId} updated`);
115
+ formatter.output(data);
116
+ }
117
+ catch (error) {
118
+ spinner.stop();
119
+ formatter.error(error.message);
120
+ process.exit(1);
121
+ }
122
+ });
123
+ // Delete contact
124
+ contacts
125
+ .command('delete <list-id> <contact-id>')
126
+ .description('Delete a contact')
127
+ .option('-f, --force', 'Skip confirmation')
128
+ .action(async (listId, contactId, options) => {
129
+ if (!options.force) {
130
+ formatter.info('Use --force to confirm deletion');
131
+ process.exit(1);
132
+ }
133
+ const spinner = ora(`Deleting contact ${contactId}...`).start();
134
+ try {
135
+ await client.sdk.contacts.delete(parseInt(contactId));
136
+ spinner.stop();
137
+ formatter.success(`Contact ${contactId} deleted`);
138
+ }
139
+ catch (error) {
140
+ spinner.stop();
141
+ formatter.error(error.message);
142
+ process.exit(1);
143
+ }
144
+ });
145
+ // Unsubscribe contact
146
+ contacts
147
+ .command('unsubscribe <list-id> <contact-id>')
148
+ .description('Unsubscribe a contact from a list')
149
+ .action(async (listId, contactId) => {
150
+ const spinner = ora(`Unsubscribing contact ${contactId}...`).start();
151
+ try {
152
+ await client.sdk.contacts.unsubscribe(parseInt(contactId), parseInt(listId));
153
+ spinner.stop();
154
+ formatter.success(`Contact ${contactId} unsubscribed`);
155
+ }
156
+ catch (error) {
157
+ spinner.stop();
158
+ formatter.error(error.message);
159
+ process.exit(1);
160
+ }
161
+ });
162
+ return contacts;
163
+ }
164
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/commands/contacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import { CakemailClient } from '../client.js';
3
+ import { OutputFormatter } from '../utils/output.js';
4
+ export declare function createEmailsCommand(client: CakemailClient, formatter: OutputFormatter): Command;
5
+ //# sourceMappingURL=emails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/commands/emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CA8I/F"}