@mailmodo/cli 0.0.11 → 0.0.12-beta.pr14.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/domain/index.js +24 -10
- package/dist/commands/init/index.js +2 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/constants.d.ts +2 -1
- package/dist/lib/constants.js +3 -1
- package/oclif.manifest.json +96 -96
- package/package.json +2 -2
|
@@ -3,6 +3,7 @@ import { input } from '@inquirer/prompts';
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { BaseCommand } from '../../lib/base-command.js';
|
|
5
5
|
import { API_ENDPOINTS, DNS_GUIDE_URL } from '../../lib/constants.js';
|
|
6
|
+
import { saveConfig } from '../../lib/config.js';
|
|
6
7
|
import { saveYaml } from '../../lib/yaml-config.js';
|
|
7
8
|
export default class Domain extends BaseCommand {
|
|
8
9
|
static description = 'Set up and verify your sending domain';
|
|
@@ -24,22 +25,22 @@ export default class Domain extends BaseCommand {
|
|
|
24
25
|
};
|
|
25
26
|
async run() {
|
|
26
27
|
const { flags } = await this.parse(Domain);
|
|
27
|
-
await this.ensureAuth();
|
|
28
|
+
const config = await this.ensureAuth();
|
|
28
29
|
if (flags.verify) {
|
|
29
|
-
await this.verifyDomain(flags.json);
|
|
30
|
+
await this.verifyDomain(flags.json, config);
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
33
|
if (flags.status) {
|
|
33
|
-
await this.showDomainStatus(flags.json);
|
|
34
|
+
await this.showDomainStatus(flags.json, config);
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
|
-
await this.setupDomain(flags);
|
|
37
|
+
await this.setupDomain(flags, config);
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
40
|
* Interactive domain setup: collects domain, sender email, and business address,
|
|
40
41
|
* then calls the API to retrieve the required DNS records.
|
|
41
42
|
*/
|
|
42
|
-
async setupDomain(flags) {
|
|
43
|
+
async setupDomain(flags, config) {
|
|
43
44
|
const yamlConfig = await this.ensureYaml();
|
|
44
45
|
this.log(`\n ${'─'.repeat(53)}`);
|
|
45
46
|
this.log(` ${chalk.bold('DOMAIN SETUP')}`);
|
|
@@ -84,6 +85,7 @@ export default class Domain extends BaseCommand {
|
|
|
84
85
|
yamlConfig.project.fromEmail = senderEmail;
|
|
85
86
|
yamlConfig.project.address = address;
|
|
86
87
|
await saveYaml(yamlConfig);
|
|
88
|
+
await saveConfig({ ...config, domain });
|
|
87
89
|
const records = response.data?.dnsRecords || [];
|
|
88
90
|
if (flags.json) {
|
|
89
91
|
this.log(JSON.stringify({ dnsRecords: records, domain }, null, 2));
|
|
@@ -104,15 +106,21 @@ export default class Domain extends BaseCommand {
|
|
|
104
106
|
message: "Press Enter once you've added the records, or 'skip'.",
|
|
105
107
|
});
|
|
106
108
|
if (action.toLowerCase() !== 'skip') {
|
|
107
|
-
await this.verifyDomain(false);
|
|
109
|
+
await this.verifyDomain(false, { ...config, domain });
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
/**
|
|
112
114
|
* Calls the domain verification API and displays pass/fail for each DNS record.
|
|
113
115
|
*/
|
|
114
|
-
async verifyDomain(jsonOutput) {
|
|
115
|
-
|
|
116
|
+
async verifyDomain(jsonOutput, config) {
|
|
117
|
+
if (!config.domain) {
|
|
118
|
+
this.error(`No domain configured. Run ${chalk.cyan('mailmodo domain')} to set up your sending domain.`);
|
|
119
|
+
}
|
|
120
|
+
const domain = config.domain;
|
|
121
|
+
const response = await this.withApiSpinner({ json: jsonOutput, text: ' Checking DNS...' }, () => this.apiClient.get(API_ENDPOINTS.DOMAIN_VERIFY, {
|
|
122
|
+
domain,
|
|
123
|
+
}));
|
|
116
124
|
if (!response.ok) {
|
|
117
125
|
this.handleApiError(response);
|
|
118
126
|
}
|
|
@@ -144,8 +152,14 @@ export default class Domain extends BaseCommand {
|
|
|
144
152
|
* Displays domain health metrics including verification status,
|
|
145
153
|
* bounce rate, and spam complaint rate.
|
|
146
154
|
*/
|
|
147
|
-
async showDomainStatus(jsonOutput) {
|
|
148
|
-
|
|
155
|
+
async showDomainStatus(jsonOutput, config) {
|
|
156
|
+
if (!config.domain) {
|
|
157
|
+
this.error(`No domain configured. Run ${chalk.cyan('mailmodo domain')} to set up your sending domain.`);
|
|
158
|
+
}
|
|
159
|
+
const domain = config.domain;
|
|
160
|
+
const response = await this.withApiSpinner({ json: jsonOutput, text: ' Loading domain status...' }, () => this.apiClient.get(API_ENDPOINTS.DOMAIN_STATUS, {
|
|
161
|
+
domain,
|
|
162
|
+
}));
|
|
149
163
|
if (!response.ok) {
|
|
150
164
|
this.handleApiError(response);
|
|
151
165
|
}
|
|
@@ -2,7 +2,7 @@ import { Flags } from '@oclif/core';
|
|
|
2
2
|
import { editor, input, select } from '@inquirer/prompts';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { BaseCommand } from '../../lib/base-command.js';
|
|
5
|
-
import { API_ENDPOINTS, DEFAULT_BRAND_COLOR } from '../../lib/constants.js';
|
|
5
|
+
import { API_ENDPOINTS, DEFAULT_BRAND_COLOR, DEFAULT_MONTHLY_CAP } from '../../lib/constants.js';
|
|
6
6
|
import { saveTemplate, saveYaml, } from '../../lib/yaml-config.js';
|
|
7
7
|
function isValidUrl(value) {
|
|
8
8
|
try {
|
|
@@ -140,6 +140,7 @@ export default class Init extends BaseCommand {
|
|
|
140
140
|
fromEmail: '',
|
|
141
141
|
fromName: `Team ${analysisPayload.productName}`,
|
|
142
142
|
logoUrl: analysisPayload.brand?.logoUrl || '',
|
|
143
|
+
monthlyCap: DEFAULT_MONTHLY_CAP,
|
|
143
144
|
name: analysisPayload.productName,
|
|
144
145
|
replyTo: '',
|
|
145
146
|
type: analysisPayload.pricingModel,
|
package/dist/lib/config.d.ts
CHANGED
package/dist/lib/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const API_BASE_URL
|
|
1
|
+
export declare const API_BASE_URL = "https://app-vertex-debug.azurewebsites.net";
|
|
2
2
|
export declare const API_ENDPOINTS: Readonly<{
|
|
3
3
|
ANALYTICS: "/analytics";
|
|
4
4
|
ANALYZE: "/analyze";
|
|
@@ -23,5 +23,6 @@ export declare const DOCS_URL = "https://mailmodo.com/docs/cli";
|
|
|
23
23
|
export declare const DNS_GUIDE_URL = "https://mailmodo.com/docs/dns";
|
|
24
24
|
export declare const PREVIEW_PORT = 3421;
|
|
25
25
|
export declare const DEFAULT_BRAND_COLOR = "#1A56DB";
|
|
26
|
+
export declare const DEFAULT_MONTHLY_CAP = 5;
|
|
26
27
|
export declare const TEMPLATES_DIR = "mailmodo";
|
|
27
28
|
export declare const YAML_FILE = "mailmodo.yaml";
|
package/dist/lib/constants.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Set by `bin/dev.js` when running the CLI locally (tsx bootstrap). */
|
|
2
2
|
const DEV_API_BASE_URL = 'https://app-vertex-debug.azurewebsites.net';
|
|
3
|
-
const PRODUCTION_API_BASE_URL = 'https://api.mailmodo.com';
|
|
3
|
+
// const PRODUCTION_API_BASE_URL = 'https://api.mailmodo.com';
|
|
4
|
+
const PRODUCTION_API_BASE_URL = 'https://app-vertex-debug.azurewebsites.net';
|
|
4
5
|
export const API_BASE_URL = process.env.MAILMODO_DEV_TSX
|
|
5
6
|
? DEV_API_BASE_URL
|
|
6
7
|
: PRODUCTION_API_BASE_URL;
|
|
@@ -28,5 +29,6 @@ export const DOCS_URL = 'https://mailmodo.com/docs/cli';
|
|
|
28
29
|
export const DNS_GUIDE_URL = 'https://mailmodo.com/docs/dns';
|
|
29
30
|
export const PREVIEW_PORT = 3421;
|
|
30
31
|
export const DEFAULT_BRAND_COLOR = '#1A56DB';
|
|
32
|
+
export const DEFAULT_MONTHLY_CAP = 5;
|
|
31
33
|
export const TEMPLATES_DIR = 'mailmodo';
|
|
32
34
|
export const YAML_FILE = 'mailmodo.yaml';
|
package/oclif.manifest.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
-
"
|
|
3
|
+
"contacts": {
|
|
4
4
|
"aliases": [],
|
|
5
5
|
"args": {},
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Manage contacts — search, export, or delete",
|
|
7
7
|
"examples": [
|
|
8
|
-
"<%= config.bin %>
|
|
9
|
-
"<%= config.bin %>
|
|
10
|
-
"<%= config.bin %>
|
|
8
|
+
"<%= config.bin %> contacts",
|
|
9
|
+
"<%= config.bin %> contacts --search sarah@example.com",
|
|
10
|
+
"<%= config.bin %> contacts --export",
|
|
11
|
+
"<%= config.bin %> contacts --delete sarah@example.com"
|
|
11
12
|
],
|
|
12
13
|
"flags": {
|
|
13
14
|
"json": {
|
|
@@ -23,23 +24,30 @@
|
|
|
23
24
|
"allowNo": false,
|
|
24
25
|
"type": "boolean"
|
|
25
26
|
},
|
|
26
|
-
"
|
|
27
|
-
"description": "
|
|
28
|
-
"name": "
|
|
27
|
+
"delete": {
|
|
28
|
+
"description": "GDPR hard delete a contact by email",
|
|
29
|
+
"name": "delete",
|
|
29
30
|
"hasDynamicHelp": false,
|
|
30
31
|
"multiple": false,
|
|
31
32
|
"type": "option"
|
|
32
33
|
},
|
|
33
|
-
"
|
|
34
|
-
"description": "
|
|
35
|
-
"name": "
|
|
34
|
+
"export": {
|
|
35
|
+
"description": "Export all contacts as CSV",
|
|
36
|
+
"name": "export",
|
|
36
37
|
"allowNo": false,
|
|
37
38
|
"type": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"search": {
|
|
41
|
+
"description": "Search for a contact by email",
|
|
42
|
+
"name": "search",
|
|
43
|
+
"hasDynamicHelp": false,
|
|
44
|
+
"multiple": false,
|
|
45
|
+
"type": "option"
|
|
38
46
|
}
|
|
39
47
|
},
|
|
40
48
|
"hasDynamicHelp": false,
|
|
41
49
|
"hiddenAliases": [],
|
|
42
|
-
"id": "
|
|
50
|
+
"id": "contacts",
|
|
43
51
|
"pluginAlias": "@mailmodo/cli",
|
|
44
52
|
"pluginName": "@mailmodo/cli",
|
|
45
53
|
"pluginType": "core",
|
|
@@ -49,19 +57,18 @@
|
|
|
49
57
|
"relativePath": [
|
|
50
58
|
"dist",
|
|
51
59
|
"commands",
|
|
52
|
-
"
|
|
60
|
+
"contacts",
|
|
53
61
|
"index.js"
|
|
54
62
|
]
|
|
55
63
|
},
|
|
56
|
-
"
|
|
64
|
+
"billing": {
|
|
57
65
|
"aliases": [],
|
|
58
66
|
"args": {},
|
|
59
|
-
"description": "
|
|
67
|
+
"description": "View billing status, manage payment, and set spending cap",
|
|
60
68
|
"examples": [
|
|
61
|
-
"<%= config.bin %>
|
|
62
|
-
"<%= config.bin %>
|
|
63
|
-
"<%= config.bin %>
|
|
64
|
-
"<%= config.bin %> contacts --delete sarah@example.com"
|
|
69
|
+
"<%= config.bin %> billing",
|
|
70
|
+
"<%= config.bin %> billing --status",
|
|
71
|
+
"<%= config.bin %> billing --cap 5"
|
|
65
72
|
],
|
|
66
73
|
"flags": {
|
|
67
74
|
"json": {
|
|
@@ -77,30 +84,23 @@
|
|
|
77
84
|
"allowNo": false,
|
|
78
85
|
"type": "boolean"
|
|
79
86
|
},
|
|
80
|
-
"
|
|
81
|
-
"description": "
|
|
82
|
-
"name": "
|
|
87
|
+
"cap": {
|
|
88
|
+
"description": "Set monthly block cap (max blocks to auto-charge)",
|
|
89
|
+
"name": "cap",
|
|
83
90
|
"hasDynamicHelp": false,
|
|
84
91
|
"multiple": false,
|
|
85
92
|
"type": "option"
|
|
86
93
|
},
|
|
87
|
-
"
|
|
88
|
-
"description": "
|
|
89
|
-
"name": "
|
|
94
|
+
"status": {
|
|
95
|
+
"description": "Show billing status only",
|
|
96
|
+
"name": "status",
|
|
90
97
|
"allowNo": false,
|
|
91
98
|
"type": "boolean"
|
|
92
|
-
},
|
|
93
|
-
"search": {
|
|
94
|
-
"description": "Search for a contact by email",
|
|
95
|
-
"name": "search",
|
|
96
|
-
"hasDynamicHelp": false,
|
|
97
|
-
"multiple": false,
|
|
98
|
-
"type": "option"
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
"hasDynamicHelp": false,
|
|
102
102
|
"hiddenAliases": [],
|
|
103
|
-
"id": "
|
|
103
|
+
"id": "billing",
|
|
104
104
|
"pluginAlias": "@mailmodo/cli",
|
|
105
105
|
"pluginName": "@mailmodo/cli",
|
|
106
106
|
"pluginType": "core",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"relativePath": [
|
|
111
111
|
"dist",
|
|
112
112
|
"commands",
|
|
113
|
-
"
|
|
113
|
+
"billing",
|
|
114
114
|
"index.js"
|
|
115
115
|
]
|
|
116
116
|
},
|
|
@@ -205,13 +205,19 @@
|
|
|
205
205
|
"index.js"
|
|
206
206
|
]
|
|
207
207
|
},
|
|
208
|
-
"
|
|
208
|
+
"edit": {
|
|
209
209
|
"aliases": [],
|
|
210
|
-
"args": {
|
|
211
|
-
|
|
210
|
+
"args": {
|
|
211
|
+
"id": {
|
|
212
|
+
"description": "Email ID to edit",
|
|
213
|
+
"name": "id",
|
|
214
|
+
"required": true
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"description": "Edit an email using AI-assisted natural language changes",
|
|
212
218
|
"examples": [
|
|
213
|
-
"<%= config.bin %>
|
|
214
|
-
"<%= config.bin %>
|
|
219
|
+
"<%= config.bin %> edit welcome",
|
|
220
|
+
"<%= config.bin %> edit welcome --change \"make subject more urgent\" --yes"
|
|
215
221
|
],
|
|
216
222
|
"flags": {
|
|
217
223
|
"json": {
|
|
@@ -226,11 +232,18 @@
|
|
|
226
232
|
"name": "yes",
|
|
227
233
|
"allowNo": false,
|
|
228
234
|
"type": "boolean"
|
|
235
|
+
},
|
|
236
|
+
"change": {
|
|
237
|
+
"description": "Natural language description of the change",
|
|
238
|
+
"name": "change",
|
|
239
|
+
"hasDynamicHelp": false,
|
|
240
|
+
"multiple": false,
|
|
241
|
+
"type": "option"
|
|
229
242
|
}
|
|
230
243
|
},
|
|
231
244
|
"hasDynamicHelp": false,
|
|
232
245
|
"hiddenAliases": [],
|
|
233
|
-
"id": "
|
|
246
|
+
"id": "edit",
|
|
234
247
|
"pluginAlias": "@mailmodo/cli",
|
|
235
248
|
"pluginName": "@mailmodo/cli",
|
|
236
249
|
"pluginType": "core",
|
|
@@ -240,23 +253,17 @@
|
|
|
240
253
|
"relativePath": [
|
|
241
254
|
"dist",
|
|
242
255
|
"commands",
|
|
243
|
-
"
|
|
256
|
+
"edit",
|
|
244
257
|
"index.js"
|
|
245
258
|
]
|
|
246
259
|
},
|
|
247
|
-
"
|
|
260
|
+
"emails": {
|
|
248
261
|
"aliases": [],
|
|
249
|
-
"args": {
|
|
250
|
-
|
|
251
|
-
"description": "Email ID to edit",
|
|
252
|
-
"name": "id",
|
|
253
|
-
"required": true
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
"description": "Edit an email using AI-assisted natural language changes",
|
|
262
|
+
"args": {},
|
|
263
|
+
"description": "List and view configured email sequences",
|
|
257
264
|
"examples": [
|
|
258
|
-
"<%= config.bin %>
|
|
259
|
-
"<%= config.bin %>
|
|
265
|
+
"<%= config.bin %> emails",
|
|
266
|
+
"<%= config.bin %> emails --json"
|
|
260
267
|
],
|
|
261
268
|
"flags": {
|
|
262
269
|
"json": {
|
|
@@ -271,18 +278,11 @@
|
|
|
271
278
|
"name": "yes",
|
|
272
279
|
"allowNo": false,
|
|
273
280
|
"type": "boolean"
|
|
274
|
-
},
|
|
275
|
-
"change": {
|
|
276
|
-
"description": "Natural language description of the change",
|
|
277
|
-
"name": "change",
|
|
278
|
-
"hasDynamicHelp": false,
|
|
279
|
-
"multiple": false,
|
|
280
|
-
"type": "option"
|
|
281
281
|
}
|
|
282
282
|
},
|
|
283
283
|
"hasDynamicHelp": false,
|
|
284
284
|
"hiddenAliases": [],
|
|
285
|
-
"id": "
|
|
285
|
+
"id": "emails",
|
|
286
286
|
"pluginAlias": "@mailmodo/cli",
|
|
287
287
|
"pluginName": "@mailmodo/cli",
|
|
288
288
|
"pluginType": "core",
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
"relativePath": [
|
|
293
293
|
"dist",
|
|
294
294
|
"commands",
|
|
295
|
-
"
|
|
295
|
+
"emails",
|
|
296
296
|
"index.js"
|
|
297
297
|
]
|
|
298
298
|
},
|
|
@@ -419,15 +419,19 @@
|
|
|
419
419
|
"index.js"
|
|
420
420
|
]
|
|
421
421
|
},
|
|
422
|
-
"
|
|
422
|
+
"preview": {
|
|
423
423
|
"aliases": [],
|
|
424
|
-
"args": {
|
|
425
|
-
|
|
424
|
+
"args": {
|
|
425
|
+
"id": {
|
|
426
|
+
"description": "Email ID to preview",
|
|
427
|
+
"name": "id"
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"description": "Preview an email in browser, as text, or send a test",
|
|
426
431
|
"examples": [
|
|
427
|
-
"<%= config.bin %>
|
|
428
|
-
"<%= config.bin %>
|
|
429
|
-
"<%= config.bin %>
|
|
430
|
-
"<%= config.bin %> logs --json"
|
|
432
|
+
"<%= config.bin %> preview welcome",
|
|
433
|
+
"<%= config.bin %> preview welcome --text",
|
|
434
|
+
"<%= config.bin %> preview welcome --send me@example.com"
|
|
431
435
|
],
|
|
432
436
|
"flags": {
|
|
433
437
|
"json": {
|
|
@@ -443,23 +447,23 @@
|
|
|
443
447
|
"allowNo": false,
|
|
444
448
|
"type": "boolean"
|
|
445
449
|
},
|
|
446
|
-
"
|
|
447
|
-
"description": "
|
|
448
|
-
"name": "
|
|
450
|
+
"send": {
|
|
451
|
+
"description": "Send test email to this address",
|
|
452
|
+
"name": "send",
|
|
449
453
|
"hasDynamicHelp": false,
|
|
450
454
|
"multiple": false,
|
|
451
455
|
"type": "option"
|
|
452
456
|
},
|
|
453
|
-
"
|
|
454
|
-
"description": "
|
|
455
|
-
"name": "
|
|
457
|
+
"text": {
|
|
458
|
+
"description": "Output plain text version (for AI agents)",
|
|
459
|
+
"name": "text",
|
|
456
460
|
"allowNo": false,
|
|
457
461
|
"type": "boolean"
|
|
458
462
|
}
|
|
459
463
|
},
|
|
460
464
|
"hasDynamicHelp": false,
|
|
461
465
|
"hiddenAliases": [],
|
|
462
|
-
"id": "
|
|
466
|
+
"id": "preview",
|
|
463
467
|
"pluginAlias": "@mailmodo/cli",
|
|
464
468
|
"pluginName": "@mailmodo/cli",
|
|
465
469
|
"pluginType": "core",
|
|
@@ -469,23 +473,19 @@
|
|
|
469
473
|
"relativePath": [
|
|
470
474
|
"dist",
|
|
471
475
|
"commands",
|
|
472
|
-
"
|
|
476
|
+
"preview",
|
|
473
477
|
"index.js"
|
|
474
478
|
]
|
|
475
479
|
},
|
|
476
|
-
"
|
|
480
|
+
"logs": {
|
|
477
481
|
"aliases": [],
|
|
478
|
-
"args": {
|
|
479
|
-
|
|
480
|
-
"description": "Email ID to preview",
|
|
481
|
-
"name": "id"
|
|
482
|
-
}
|
|
483
|
-
},
|
|
484
|
-
"description": "Preview an email in browser, as text, or send a test",
|
|
482
|
+
"args": {},
|
|
483
|
+
"description": "View email send logs and delivery events",
|
|
485
484
|
"examples": [
|
|
486
|
-
"<%= config.bin %>
|
|
487
|
-
"<%= config.bin %>
|
|
488
|
-
"<%= config.bin %>
|
|
485
|
+
"<%= config.bin %> logs",
|
|
486
|
+
"<%= config.bin %> logs --email sarah@example.com",
|
|
487
|
+
"<%= config.bin %> logs --failed",
|
|
488
|
+
"<%= config.bin %> logs --json"
|
|
489
489
|
],
|
|
490
490
|
"flags": {
|
|
491
491
|
"json": {
|
|
@@ -501,23 +501,23 @@
|
|
|
501
501
|
"allowNo": false,
|
|
502
502
|
"type": "boolean"
|
|
503
503
|
},
|
|
504
|
-
"
|
|
505
|
-
"description": "
|
|
506
|
-
"name": "
|
|
504
|
+
"email": {
|
|
505
|
+
"description": "Filter logs by contact email",
|
|
506
|
+
"name": "email",
|
|
507
507
|
"hasDynamicHelp": false,
|
|
508
508
|
"multiple": false,
|
|
509
509
|
"type": "option"
|
|
510
510
|
},
|
|
511
|
-
"
|
|
512
|
-
"description": "
|
|
513
|
-
"name": "
|
|
511
|
+
"failed": {
|
|
512
|
+
"description": "Show only failed/bounced events",
|
|
513
|
+
"name": "failed",
|
|
514
514
|
"allowNo": false,
|
|
515
515
|
"type": "boolean"
|
|
516
516
|
}
|
|
517
517
|
},
|
|
518
518
|
"hasDynamicHelp": false,
|
|
519
519
|
"hiddenAliases": [],
|
|
520
|
-
"id": "
|
|
520
|
+
"id": "logs",
|
|
521
521
|
"pluginAlias": "@mailmodo/cli",
|
|
522
522
|
"pluginName": "@mailmodo/cli",
|
|
523
523
|
"pluginType": "core",
|
|
@@ -527,7 +527,7 @@
|
|
|
527
527
|
"relativePath": [
|
|
528
528
|
"dist",
|
|
529
529
|
"commands",
|
|
530
|
-
"
|
|
530
|
+
"logs",
|
|
531
531
|
"index.js"
|
|
532
532
|
]
|
|
533
533
|
},
|
|
@@ -618,5 +618,5 @@
|
|
|
618
618
|
]
|
|
619
619
|
}
|
|
620
620
|
},
|
|
621
|
-
"version": "0.0.
|
|
621
|
+
"version": "0.0.12-beta.pr14.18"
|
|
622
622
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailmodo/cli",
|
|
3
3
|
"description": "Email lifecycle automation for the AI-native builder generation.",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.12-beta.pr14.18",
|
|
5
5
|
"author": "provishalk",
|
|
6
6
|
"bin": {
|
|
7
7
|
"mailmodo": "bin/run.js"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@types/chai": "^4",
|
|
25
25
|
"@types/js-yaml": "^4.0.9",
|
|
26
26
|
"@types/mocha": "^10",
|
|
27
|
-
"@types/node": "^18",
|
|
27
|
+
"@types/node": "^18.19.130",
|
|
28
28
|
"chai": "^4",
|
|
29
29
|
"eslint": "^9",
|
|
30
30
|
"eslint-config-oclif": "^6",
|