@mailmodo/cli 0.0.2 → 0.0.3-beta.pr5.8

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 (38) hide show
  1. package/dist/commands/billing/index.d.ts +26 -0
  2. package/dist/commands/billing/index.js +92 -0
  3. package/dist/commands/contacts/index.d.ts +32 -0
  4. package/dist/commands/contacts/index.js +134 -0
  5. package/dist/commands/deploy/index.d.ts +25 -0
  6. package/dist/commands/deploy/index.js +194 -0
  7. package/dist/commands/domain/index.d.ts +27 -0
  8. package/dist/commands/domain/index.js +163 -0
  9. package/dist/commands/edit/index.d.ts +14 -0
  10. package/dist/commands/edit/index.js +96 -0
  11. package/dist/commands/emails/index.d.ts +10 -0
  12. package/dist/commands/emails/index.js +62 -0
  13. package/dist/commands/init/index.d.ts +11 -0
  14. package/dist/commands/init/index.js +124 -0
  15. package/dist/commands/login/index.d.ts +10 -0
  16. package/dist/commands/login/index.js +65 -0
  17. package/dist/commands/logs/index.d.ts +20 -0
  18. package/dist/commands/logs/index.js +82 -0
  19. package/dist/commands/preview/index.d.ts +30 -0
  20. package/dist/commands/preview/index.js +213 -0
  21. package/dist/commands/settings/index.d.ts +19 -0
  22. package/dist/commands/settings/index.js +147 -0
  23. package/dist/commands/status/index.d.ts +10 -0
  24. package/dist/commands/status/index.js +53 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +1 -0
  27. package/dist/lib/api-client.d.ts +41 -0
  28. package/dist/lib/api-client.js +125 -0
  29. package/dist/lib/base-command.d.ts +45 -0
  30. package/dist/lib/base-command.js +69 -0
  31. package/dist/lib/config.d.ts +30 -0
  32. package/dist/lib/config.js +47 -0
  33. package/dist/lib/constants.d.ts +27 -0
  34. package/dist/lib/constants.js +27 -0
  35. package/dist/lib/yaml-config.d.ts +65 -0
  36. package/dist/lib/yaml-config.js +70 -0
  37. package/oclif.manifest.json +582 -2
  38. package/package.json +8 -9
@@ -1,4 +1,584 @@
1
1
  {
2
- "commands": {},
3
- "version": "0.0.2"
2
+ "commands": {
3
+ "billing": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "View billing status, manage payment, and set spending cap",
7
+ "examples": [
8
+ "<%= config.bin %> billing",
9
+ "<%= config.bin %> billing --status",
10
+ "<%= config.bin %> billing --cap 5"
11
+ ],
12
+ "flags": {
13
+ "json": {
14
+ "description": "Output as JSON",
15
+ "name": "json",
16
+ "allowNo": false,
17
+ "type": "boolean"
18
+ },
19
+ "yes": {
20
+ "char": "y",
21
+ "description": "Skip confirmation prompts",
22
+ "name": "yes",
23
+ "allowNo": false,
24
+ "type": "boolean"
25
+ },
26
+ "cap": {
27
+ "description": "Set monthly block cap (max blocks to auto-charge)",
28
+ "name": "cap",
29
+ "hasDynamicHelp": false,
30
+ "multiple": false,
31
+ "type": "option"
32
+ },
33
+ "status": {
34
+ "description": "Show billing status only",
35
+ "name": "status",
36
+ "allowNo": false,
37
+ "type": "boolean"
38
+ }
39
+ },
40
+ "hasDynamicHelp": false,
41
+ "hiddenAliases": [],
42
+ "id": "billing",
43
+ "pluginAlias": "@mailmodo/cli",
44
+ "pluginName": "@mailmodo/cli",
45
+ "pluginType": "core",
46
+ "strict": true,
47
+ "enableJsonFlag": false,
48
+ "isESM": true,
49
+ "relativePath": [
50
+ "dist",
51
+ "commands",
52
+ "billing",
53
+ "index.js"
54
+ ]
55
+ },
56
+ "contacts": {
57
+ "aliases": [],
58
+ "args": {},
59
+ "description": "Manage contacts — search, export, or delete",
60
+ "examples": [
61
+ "<%= config.bin %> contacts",
62
+ "<%= config.bin %> contacts --search sarah@example.com",
63
+ "<%= config.bin %> contacts --export",
64
+ "<%= config.bin %> contacts --delete sarah@example.com"
65
+ ],
66
+ "flags": {
67
+ "json": {
68
+ "description": "Output as JSON",
69
+ "name": "json",
70
+ "allowNo": false,
71
+ "type": "boolean"
72
+ },
73
+ "yes": {
74
+ "char": "y",
75
+ "description": "Skip confirmation prompts",
76
+ "name": "yes",
77
+ "allowNo": false,
78
+ "type": "boolean"
79
+ },
80
+ "delete": {
81
+ "description": "GDPR hard delete a contact by email",
82
+ "name": "delete",
83
+ "hasDynamicHelp": false,
84
+ "multiple": false,
85
+ "type": "option"
86
+ },
87
+ "export": {
88
+ "description": "Export all contacts as CSV",
89
+ "name": "export",
90
+ "allowNo": false,
91
+ "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
+ }
100
+ },
101
+ "hasDynamicHelp": false,
102
+ "hiddenAliases": [],
103
+ "id": "contacts",
104
+ "pluginAlias": "@mailmodo/cli",
105
+ "pluginName": "@mailmodo/cli",
106
+ "pluginType": "core",
107
+ "strict": true,
108
+ "enableJsonFlag": false,
109
+ "isESM": true,
110
+ "relativePath": [
111
+ "dist",
112
+ "commands",
113
+ "contacts",
114
+ "index.js"
115
+ ]
116
+ },
117
+ "deploy": {
118
+ "aliases": [],
119
+ "args": {},
120
+ "description": "Deploy email sequences and verify sending domain",
121
+ "examples": [
122
+ "<%= config.bin %> deploy",
123
+ "<%= config.bin %> deploy --yes"
124
+ ],
125
+ "flags": {
126
+ "json": {
127
+ "description": "Output as JSON",
128
+ "name": "json",
129
+ "allowNo": false,
130
+ "type": "boolean"
131
+ },
132
+ "yes": {
133
+ "char": "y",
134
+ "description": "Skip confirmation prompts",
135
+ "name": "yes",
136
+ "allowNo": false,
137
+ "type": "boolean"
138
+ }
139
+ },
140
+ "hasDynamicHelp": false,
141
+ "hiddenAliases": [],
142
+ "id": "deploy",
143
+ "pluginAlias": "@mailmodo/cli",
144
+ "pluginName": "@mailmodo/cli",
145
+ "pluginType": "core",
146
+ "strict": true,
147
+ "enableJsonFlag": false,
148
+ "isESM": true,
149
+ "relativePath": [
150
+ "dist",
151
+ "commands",
152
+ "deploy",
153
+ "index.js"
154
+ ]
155
+ },
156
+ "domain": {
157
+ "aliases": [],
158
+ "args": {},
159
+ "description": "Set up and verify your sending domain",
160
+ "examples": [
161
+ "<%= config.bin %> domain",
162
+ "<%= config.bin %> domain --verify",
163
+ "<%= config.bin %> domain --status"
164
+ ],
165
+ "flags": {
166
+ "json": {
167
+ "description": "Output as JSON",
168
+ "name": "json",
169
+ "allowNo": false,
170
+ "type": "boolean"
171
+ },
172
+ "yes": {
173
+ "char": "y",
174
+ "description": "Skip confirmation prompts",
175
+ "name": "yes",
176
+ "allowNo": false,
177
+ "type": "boolean"
178
+ },
179
+ "status": {
180
+ "description": "Show domain health status",
181
+ "name": "status",
182
+ "allowNo": false,
183
+ "type": "boolean"
184
+ },
185
+ "verify": {
186
+ "description": "Verify DNS records",
187
+ "name": "verify",
188
+ "allowNo": false,
189
+ "type": "boolean"
190
+ }
191
+ },
192
+ "hasDynamicHelp": false,
193
+ "hiddenAliases": [],
194
+ "id": "domain",
195
+ "pluginAlias": "@mailmodo/cli",
196
+ "pluginName": "@mailmodo/cli",
197
+ "pluginType": "core",
198
+ "strict": true,
199
+ "enableJsonFlag": false,
200
+ "isESM": true,
201
+ "relativePath": [
202
+ "dist",
203
+ "commands",
204
+ "domain",
205
+ "index.js"
206
+ ]
207
+ },
208
+ "edit": {
209
+ "aliases": [],
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",
218
+ "examples": [
219
+ "<%= config.bin %> edit welcome",
220
+ "<%= config.bin %> edit welcome --change \"make subject more urgent\" --yes"
221
+ ],
222
+ "flags": {
223
+ "json": {
224
+ "description": "Output as JSON",
225
+ "name": "json",
226
+ "allowNo": false,
227
+ "type": "boolean"
228
+ },
229
+ "yes": {
230
+ "char": "y",
231
+ "description": "Skip confirmation prompts",
232
+ "name": "yes",
233
+ "allowNo": false,
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"
242
+ }
243
+ },
244
+ "hasDynamicHelp": false,
245
+ "hiddenAliases": [],
246
+ "id": "edit",
247
+ "pluginAlias": "@mailmodo/cli",
248
+ "pluginName": "@mailmodo/cli",
249
+ "pluginType": "core",
250
+ "strict": true,
251
+ "enableJsonFlag": false,
252
+ "isESM": true,
253
+ "relativePath": [
254
+ "dist",
255
+ "commands",
256
+ "edit",
257
+ "index.js"
258
+ ]
259
+ },
260
+ "emails": {
261
+ "aliases": [],
262
+ "args": {},
263
+ "description": "List and view configured email sequences",
264
+ "examples": [
265
+ "<%= config.bin %> emails",
266
+ "<%= config.bin %> emails --json"
267
+ ],
268
+ "flags": {
269
+ "json": {
270
+ "description": "Output as JSON",
271
+ "name": "json",
272
+ "allowNo": false,
273
+ "type": "boolean"
274
+ },
275
+ "yes": {
276
+ "char": "y",
277
+ "description": "Skip confirmation prompts",
278
+ "name": "yes",
279
+ "allowNo": false,
280
+ "type": "boolean"
281
+ }
282
+ },
283
+ "hasDynamicHelp": false,
284
+ "hiddenAliases": [],
285
+ "id": "emails",
286
+ "pluginAlias": "@mailmodo/cli",
287
+ "pluginName": "@mailmodo/cli",
288
+ "pluginType": "core",
289
+ "strict": true,
290
+ "enableJsonFlag": false,
291
+ "isESM": true,
292
+ "relativePath": [
293
+ "dist",
294
+ "commands",
295
+ "emails",
296
+ "index.js"
297
+ ]
298
+ },
299
+ "init": {
300
+ "aliases": [],
301
+ "args": {},
302
+ "description": "Analyze your product and generate email sequences",
303
+ "examples": [
304
+ "<%= config.bin %> init",
305
+ "<%= config.bin %> init --url https://myapp.com --yes"
306
+ ],
307
+ "flags": {
308
+ "json": {
309
+ "description": "Output as JSON",
310
+ "name": "json",
311
+ "allowNo": false,
312
+ "type": "boolean"
313
+ },
314
+ "yes": {
315
+ "char": "y",
316
+ "description": "Skip confirmation prompts",
317
+ "name": "yes",
318
+ "allowNo": false,
319
+ "type": "boolean"
320
+ },
321
+ "url": {
322
+ "description": "Product URL to analyze",
323
+ "name": "url",
324
+ "hasDynamicHelp": false,
325
+ "multiple": false,
326
+ "type": "option"
327
+ }
328
+ },
329
+ "hasDynamicHelp": false,
330
+ "hiddenAliases": [],
331
+ "id": "init",
332
+ "pluginAlias": "@mailmodo/cli",
333
+ "pluginName": "@mailmodo/cli",
334
+ "pluginType": "core",
335
+ "strict": true,
336
+ "enableJsonFlag": false,
337
+ "isESM": true,
338
+ "relativePath": [
339
+ "dist",
340
+ "commands",
341
+ "init",
342
+ "index.js"
343
+ ]
344
+ },
345
+ "login": {
346
+ "aliases": [],
347
+ "args": {},
348
+ "description": "Authenticate with Mailmodo using your API key",
349
+ "examples": [
350
+ "<%= config.bin %> login",
351
+ "MAILMODO_API_KEY=mm_live_xxx <%= config.bin %> login"
352
+ ],
353
+ "flags": {
354
+ "json": {
355
+ "description": "Output as JSON",
356
+ "name": "json",
357
+ "allowNo": false,
358
+ "type": "boolean"
359
+ },
360
+ "yes": {
361
+ "char": "y",
362
+ "description": "Skip confirmation prompts",
363
+ "name": "yes",
364
+ "allowNo": false,
365
+ "type": "boolean"
366
+ }
367
+ },
368
+ "hasDynamicHelp": false,
369
+ "hiddenAliases": [],
370
+ "id": "login",
371
+ "pluginAlias": "@mailmodo/cli",
372
+ "pluginName": "@mailmodo/cli",
373
+ "pluginType": "core",
374
+ "strict": true,
375
+ "enableJsonFlag": false,
376
+ "isESM": true,
377
+ "relativePath": [
378
+ "dist",
379
+ "commands",
380
+ "login",
381
+ "index.js"
382
+ ]
383
+ },
384
+ "logs": {
385
+ "aliases": [],
386
+ "args": {},
387
+ "description": "View email send logs and delivery events",
388
+ "examples": [
389
+ "<%= config.bin %> logs",
390
+ "<%= config.bin %> logs --email sarah@example.com",
391
+ "<%= config.bin %> logs --failed",
392
+ "<%= config.bin %> logs --json"
393
+ ],
394
+ "flags": {
395
+ "json": {
396
+ "description": "Output as JSON",
397
+ "name": "json",
398
+ "allowNo": false,
399
+ "type": "boolean"
400
+ },
401
+ "yes": {
402
+ "char": "y",
403
+ "description": "Skip confirmation prompts",
404
+ "name": "yes",
405
+ "allowNo": false,
406
+ "type": "boolean"
407
+ },
408
+ "email": {
409
+ "description": "Filter logs by contact email",
410
+ "name": "email",
411
+ "hasDynamicHelp": false,
412
+ "multiple": false,
413
+ "type": "option"
414
+ },
415
+ "failed": {
416
+ "description": "Show only failed/bounced events",
417
+ "name": "failed",
418
+ "allowNo": false,
419
+ "type": "boolean"
420
+ }
421
+ },
422
+ "hasDynamicHelp": false,
423
+ "hiddenAliases": [],
424
+ "id": "logs",
425
+ "pluginAlias": "@mailmodo/cli",
426
+ "pluginName": "@mailmodo/cli",
427
+ "pluginType": "core",
428
+ "strict": true,
429
+ "enableJsonFlag": false,
430
+ "isESM": true,
431
+ "relativePath": [
432
+ "dist",
433
+ "commands",
434
+ "logs",
435
+ "index.js"
436
+ ]
437
+ },
438
+ "preview": {
439
+ "aliases": [],
440
+ "args": {
441
+ "id": {
442
+ "description": "Email ID to preview",
443
+ "name": "id"
444
+ }
445
+ },
446
+ "description": "Preview an email in browser, as text, or send a test",
447
+ "examples": [
448
+ "<%= config.bin %> preview welcome",
449
+ "<%= config.bin %> preview welcome --text",
450
+ "<%= config.bin %> preview welcome --send me@example.com"
451
+ ],
452
+ "flags": {
453
+ "json": {
454
+ "description": "Output as JSON",
455
+ "name": "json",
456
+ "allowNo": false,
457
+ "type": "boolean"
458
+ },
459
+ "yes": {
460
+ "char": "y",
461
+ "description": "Skip confirmation prompts",
462
+ "name": "yes",
463
+ "allowNo": false,
464
+ "type": "boolean"
465
+ },
466
+ "send": {
467
+ "description": "Send test email to this address",
468
+ "name": "send",
469
+ "hasDynamicHelp": false,
470
+ "multiple": false,
471
+ "type": "option"
472
+ },
473
+ "text": {
474
+ "description": "Output plain text version (for AI agents)",
475
+ "name": "text",
476
+ "allowNo": false,
477
+ "type": "boolean"
478
+ }
479
+ },
480
+ "hasDynamicHelp": false,
481
+ "hiddenAliases": [],
482
+ "id": "preview",
483
+ "pluginAlias": "@mailmodo/cli",
484
+ "pluginName": "@mailmodo/cli",
485
+ "pluginType": "core",
486
+ "strict": true,
487
+ "enableJsonFlag": false,
488
+ "isESM": true,
489
+ "relativePath": [
490
+ "dist",
491
+ "commands",
492
+ "preview",
493
+ "index.js"
494
+ ]
495
+ },
496
+ "settings": {
497
+ "aliases": [],
498
+ "args": {},
499
+ "description": "View and update project settings",
500
+ "examples": [
501
+ "<%= config.bin %> settings",
502
+ "<%= config.bin %> settings --set brand_color=#0F3460",
503
+ "<%= config.bin %> settings --json"
504
+ ],
505
+ "flags": {
506
+ "json": {
507
+ "description": "Output as JSON",
508
+ "name": "json",
509
+ "allowNo": false,
510
+ "type": "boolean"
511
+ },
512
+ "yes": {
513
+ "char": "y",
514
+ "description": "Skip confirmation prompts",
515
+ "name": "yes",
516
+ "allowNo": false,
517
+ "type": "boolean"
518
+ },
519
+ "set": {
520
+ "description": "Set a setting (format: key=value)",
521
+ "name": "set",
522
+ "hasDynamicHelp": false,
523
+ "multiple": false,
524
+ "type": "option"
525
+ }
526
+ },
527
+ "hasDynamicHelp": false,
528
+ "hiddenAliases": [],
529
+ "id": "settings",
530
+ "pluginAlias": "@mailmodo/cli",
531
+ "pluginName": "@mailmodo/cli",
532
+ "pluginType": "core",
533
+ "strict": true,
534
+ "enableJsonFlag": false,
535
+ "isESM": true,
536
+ "relativePath": [
537
+ "dist",
538
+ "commands",
539
+ "settings",
540
+ "index.js"
541
+ ]
542
+ },
543
+ "status": {
544
+ "aliases": [],
545
+ "args": {},
546
+ "description": "View email performance metrics and quota usage",
547
+ "examples": [
548
+ "<%= config.bin %> status",
549
+ "<%= config.bin %> status --json"
550
+ ],
551
+ "flags": {
552
+ "json": {
553
+ "description": "Output as JSON",
554
+ "name": "json",
555
+ "allowNo": false,
556
+ "type": "boolean"
557
+ },
558
+ "yes": {
559
+ "char": "y",
560
+ "description": "Skip confirmation prompts",
561
+ "name": "yes",
562
+ "allowNo": false,
563
+ "type": "boolean"
564
+ }
565
+ },
566
+ "hasDynamicHelp": false,
567
+ "hiddenAliases": [],
568
+ "id": "status",
569
+ "pluginAlias": "@mailmodo/cli",
570
+ "pluginName": "@mailmodo/cli",
571
+ "pluginType": "core",
572
+ "strict": true,
573
+ "enableJsonFlag": false,
574
+ "isESM": true,
575
+ "relativePath": [
576
+ "dist",
577
+ "commands",
578
+ "status",
579
+ "index.js"
580
+ ]
581
+ }
582
+ },
583
+ "version": "0.0.3-beta.pr5.8"
4
584
  }
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.2",
4
+ "version": "0.0.3-beta.pr5.8",
5
5
  "author": "provishalk",
6
6
  "bin": {
7
7
  "mailmodo": "bin/run.js"
@@ -11,13 +11,17 @@
11
11
  "@inquirer/prompts": "^8.3.2",
12
12
  "@oclif/core": "^4",
13
13
  "@oclif/plugin-help": "^6",
14
- "@oclif/plugin-plugins": "^5"
14
+ "@oclif/plugin-plugins": "^5",
15
+ "chalk": "^5.6.2",
16
+ "js-yaml": "^4.1.1",
17
+ "open": "^11.0.0"
15
18
  },
16
19
  "devDependencies": {
17
20
  "@eslint/compat": "^1",
18
21
  "@oclif/prettier-config": "^0.2.1",
19
22
  "@oclif/test": "^4",
20
23
  "@types/chai": "^4",
24
+ "@types/js-yaml": "^4.0.9",
21
25
  "@types/mocha": "^10",
22
26
  "@types/node": "^18",
23
27
  "chai": "^4",
@@ -53,16 +57,11 @@
53
57
  "@oclif/plugin-help",
54
58
  "@oclif/plugin-plugins"
55
59
  ],
56
- "topicSeparator": " ",
57
- "topics": {
58
- "hello": {
59
- "description": "Say hello to the world and others"
60
- }
61
- }
60
+ "topicSeparator": " "
62
61
  },
63
62
  "repository": "Mailmodo/mailmodo-cli",
64
63
  "scripts": {
65
- "build": "shx rm -rf dist && tsc -b",
64
+ "build": "shx rm -rf dist tsconfig.tsbuildinfo && tsc -b",
66
65
  "lint": "eslint",
67
66
  "postpack": "shx rm -f oclif.manifest.json",
68
67
  "posttest": "npm run lint",