@mailmodo/cli 0.0.41-beta.pr44.69 → 0.0.42-beta.pr45.71

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.
@@ -113,7 +113,7 @@ export default class Contacts extends BaseCommand {
113
113
  this.log(`\n Export status: ${status ?? 'unknown'}. No download URL yet.\n`);
114
114
  return;
115
115
  }
116
- const fileResult = await this.withApiSpinner({ json: jsonOutput, text: ' Downloading CSV file...' }, () => this.apiClient.getPublicFile(downloadUrl.trim()));
116
+ const fileResult = await this.apiClient.getPublicFile(downloadUrl.trim());
117
117
  if (!fileResult.ok) {
118
118
  this.error(`Download failed: ${fileResult.status} ${fileResult.error ?? ''}\n` +
119
119
  ` URL: ${fileResult.debug.fullUrl}`);
@@ -138,9 +138,15 @@ export default class Deploy extends BaseCommand {
138
138
  if (domainVerify.ok && domainVerify.data?.domainStatus === 'VERIFIED') {
139
139
  return true;
140
140
  }
141
+ if (yamlConfig.project?.domain) {
142
+ if (!flags.json) {
143
+ this.log(`\n ${INFO.DOMAIN_PENDING_VERIFICATION}\n`);
144
+ }
145
+ return false;
146
+ }
141
147
  if (!flags.json) {
142
- this.log(`\n No sending domain verified yet.`);
143
- this.log(` You need to verify a domain before sending emails.`);
148
+ this.log(`\n No sending domain set up yet.`);
149
+ this.log(` You need a verified domain before sending emails.`);
144
150
  this.log(` This is a one-time setup. Takes about 5 minutes.\n`);
145
151
  }
146
152
  if (!flags.yes) {
@@ -97,7 +97,7 @@ export default class Domain extends BaseCommand {
97
97
  this.log(`\n ${INFO.DNS_RECORDS_FAILED}`);
98
98
  if (!dkim) {
99
99
  this.log(`\n DKIM common mistakes:`);
100
- this.log(` - Using TXT instead of CNAME record type`);
100
+ this.log(` - Using CNAME instead of TXT record type`);
101
101
  this.log(` - Including the full domain in the Host field`);
102
102
  this.log(` - Cloudflare: proxy must be OFF (grey cloud, not orange)`);
103
103
  }
@@ -261,7 +261,7 @@ export default class Settings extends BaseCommand {
261
261
  const mimeType = mimeTypes[ext ?? ''] ?? 'application/octet-stream';
262
262
  const formData = new FormData();
263
263
  formData.append('logo', new Blob([new Uint8Array(fileBuffer)], { type: mimeType }), logoPath.split(/[/\\]/).pop() || 'logo.png');
264
- const response = await this.withApiSpinner({ json: false, text: ' Uploading logo file...' }, () => this.apiClient.postFormData(API_ENDPOINTS.ASSETS_LOGO, formData));
264
+ const response = await this.apiClient.postFormData(API_ENDPOINTS.ASSETS_LOGO, formData);
265
265
  if (!response.ok) {
266
266
  this.handleApiError(response);
267
267
  }
@@ -31,6 +31,7 @@ export declare const INFO: {
31
31
  readonly DNS_RECORDS_FAILED: string;
32
32
  readonly DOMAIN_NOT_DEPLOYED_HINT: `When ready, run: ${string}
33
33
  Then: ${string}`;
34
+ readonly DOMAIN_PENDING_VERIFICATION: `Your domain is not verified yet. Please verify it first. Run ${string} to check the status.`;
34
35
  readonly SEQUENCES_NOT_DEPLOYED: `Sequences saved but ${string}.`;
35
36
  };
36
37
  export declare function recordLabel(index: number): string;
@@ -31,6 +31,7 @@ export const INFO = {
31
31
  DNS_PROPAGATION: 'DNS changes take 5–30 minutes to propagate.',
32
32
  DNS_RECORDS_FAILED: chalk.yellow('Some records failed.'),
33
33
  DOMAIN_NOT_DEPLOYED_HINT: `When ready, run: ${chalk.cyan('mailmodo domain')}\n Then: ${chalk.cyan('mailmodo deploy')}`,
34
+ DOMAIN_PENDING_VERIFICATION: `Your domain is not verified yet. Please verify it first. Run ${chalk.cyan('mailmodo domain --verify')} to check the status.`,
34
35
  SEQUENCES_NOT_DEPLOYED: `Sequences saved but ${chalk.yellow('NOT deployed')}.`,
35
36
  };
36
37
  export function recordLabel(index) {
@@ -228,19 +228,13 @@
228
228
  "index.js"
229
229
  ]
230
230
  },
231
- "edit": {
231
+ "emails": {
232
232
  "aliases": [],
233
- "args": {
234
- "id": {
235
- "description": "Email template ID to edit",
236
- "name": "id",
237
- "required": true
238
- }
239
- },
240
- "description": "Edit an email using AI-assisted natural language changes",
233
+ "args": {},
234
+ "description": "List and view configured email sequences",
241
235
  "examples": [
242
- "<%= config.bin %> edit welcome",
243
- "<%= config.bin %> edit welcome --change \"make subject more urgent\" --yes"
236
+ "<%= config.bin %> emails",
237
+ "<%= config.bin %> emails --json"
244
238
  ],
245
239
  "flags": {
246
240
  "json": {
@@ -255,18 +249,11 @@
255
249
  "name": "yes",
256
250
  "allowNo": false,
257
251
  "type": "boolean"
258
- },
259
- "change": {
260
- "description": "Natural language description of the change",
261
- "name": "change",
262
- "hasDynamicHelp": false,
263
- "multiple": false,
264
- "type": "option"
265
252
  }
266
253
  },
267
254
  "hasDynamicHelp": false,
268
255
  "hiddenAliases": [],
269
- "id": "edit",
256
+ "id": "emails",
270
257
  "pluginAlias": "@mailmodo/cli",
271
258
  "pluginName": "@mailmodo/cli",
272
259
  "pluginType": "core",
@@ -276,17 +263,23 @@
276
263
  "relativePath": [
277
264
  "dist",
278
265
  "commands",
279
- "edit",
266
+ "emails",
280
267
  "index.js"
281
268
  ]
282
269
  },
283
- "emails": {
270
+ "edit": {
284
271
  "aliases": [],
285
- "args": {},
286
- "description": "List and view configured email sequences",
272
+ "args": {
273
+ "id": {
274
+ "description": "Email template ID to edit",
275
+ "name": "id",
276
+ "required": true
277
+ }
278
+ },
279
+ "description": "Edit an email using AI-assisted natural language changes",
287
280
  "examples": [
288
- "<%= config.bin %> emails",
289
- "<%= config.bin %> emails --json"
281
+ "<%= config.bin %> edit welcome",
282
+ "<%= config.bin %> edit welcome --change \"make subject more urgent\" --yes"
290
283
  ],
291
284
  "flags": {
292
285
  "json": {
@@ -301,11 +294,18 @@
301
294
  "name": "yes",
302
295
  "allowNo": false,
303
296
  "type": "boolean"
297
+ },
298
+ "change": {
299
+ "description": "Natural language description of the change",
300
+ "name": "change",
301
+ "hasDynamicHelp": false,
302
+ "multiple": false,
303
+ "type": "option"
304
304
  }
305
305
  },
306
306
  "hasDynamicHelp": false,
307
307
  "hiddenAliases": [],
308
- "id": "emails",
308
+ "id": "edit",
309
309
  "pluginAlias": "@mailmodo/cli",
310
310
  "pluginName": "@mailmodo/cli",
311
311
  "pluginType": "core",
@@ -315,7 +315,7 @@
315
315
  "relativePath": [
316
316
  "dist",
317
317
  "commands",
318
- "emails",
318
+ "edit",
319
319
  "index.js"
320
320
  ]
321
321
  },
@@ -657,5 +657,5 @@
657
657
  ]
658
658
  }
659
659
  },
660
- "version": "0.0.41-beta.pr44.69"
660
+ "version": "0.0.42-beta.pr45.71"
661
661
  }
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.41-beta.pr44.69",
4
+ "version": "0.0.42-beta.pr45.71",
5
5
  "author": "provishalk",
6
6
  "bin": {
7
7
  "mailmodo": "bin/run.js"