@sendly/cli 1.0.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 (60) hide show
  1. package/README.md +323 -0
  2. package/bin/run.js +5 -0
  3. package/dist/commands/config/get.d.ts +13 -0
  4. package/dist/commands/config/get.js +38 -0
  5. package/dist/commands/config/list.d.ts +10 -0
  6. package/dist/commands/config/list.js +45 -0
  7. package/dist/commands/config/set.d.ts +14 -0
  8. package/dist/commands/config/set.js +67 -0
  9. package/dist/commands/credits/balance.d.ts +10 -0
  10. package/dist/commands/credits/balance.js +38 -0
  11. package/dist/commands/credits/history.d.ts +11 -0
  12. package/dist/commands/credits/history.js +88 -0
  13. package/dist/commands/doctor.d.ts +23 -0
  14. package/dist/commands/doctor.js +336 -0
  15. package/dist/commands/keys/create.d.ts +12 -0
  16. package/dist/commands/keys/create.js +47 -0
  17. package/dist/commands/keys/list.d.ts +10 -0
  18. package/dist/commands/keys/list.js +65 -0
  19. package/dist/commands/keys/revoke.d.ts +15 -0
  20. package/dist/commands/keys/revoke.js +68 -0
  21. package/dist/commands/login.d.ts +12 -0
  22. package/dist/commands/login.js +114 -0
  23. package/dist/commands/logout.d.ts +10 -0
  24. package/dist/commands/logout.js +20 -0
  25. package/dist/commands/logs/tail.d.ts +17 -0
  26. package/dist/commands/logs/tail.js +183 -0
  27. package/dist/commands/sms/batch.d.ts +16 -0
  28. package/dist/commands/sms/batch.js +163 -0
  29. package/dist/commands/sms/cancel.d.ts +13 -0
  30. package/dist/commands/sms/cancel.js +46 -0
  31. package/dist/commands/sms/get.d.ts +13 -0
  32. package/dist/commands/sms/get.js +51 -0
  33. package/dist/commands/sms/list.d.ts +12 -0
  34. package/dist/commands/sms/list.js +79 -0
  35. package/dist/commands/sms/schedule.d.ts +14 -0
  36. package/dist/commands/sms/schedule.js +91 -0
  37. package/dist/commands/sms/scheduled.d.ts +12 -0
  38. package/dist/commands/sms/scheduled.js +82 -0
  39. package/dist/commands/sms/send.d.ts +13 -0
  40. package/dist/commands/sms/send.js +70 -0
  41. package/dist/commands/webhooks/list.d.ts +10 -0
  42. package/dist/commands/webhooks/list.js +80 -0
  43. package/dist/commands/webhooks/listen.d.ts +20 -0
  44. package/dist/commands/webhooks/listen.js +202 -0
  45. package/dist/commands/whoami.d.ts +10 -0
  46. package/dist/commands/whoami.js +51 -0
  47. package/dist/index.d.ts +26 -0
  48. package/dist/index.js +27 -0
  49. package/dist/lib/api-client.d.ts +52 -0
  50. package/dist/lib/api-client.js +129 -0
  51. package/dist/lib/auth.d.ts +52 -0
  52. package/dist/lib/auth.js +171 -0
  53. package/dist/lib/base-command.d.ts +17 -0
  54. package/dist/lib/base-command.js +60 -0
  55. package/dist/lib/config.d.ts +54 -0
  56. package/dist/lib/config.js +182 -0
  57. package/dist/lib/output.d.ts +43 -0
  58. package/dist/lib/output.js +222 -0
  59. package/oclif.manifest.json +1147 -0
  60. package/package.json +98 -0
@@ -0,0 +1,1147 @@
1
+ {
2
+ "commands": {
3
+ "doctor": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Diagnose CLI setup and connectivity issues",
7
+ "examples": [
8
+ "<%= config.bin %> doctor",
9
+ "<%= config.bin %> doctor --json"
10
+ ],
11
+ "flags": {
12
+ "json": {
13
+ "description": "Output in JSON format",
14
+ "name": "json",
15
+ "allowNo": false,
16
+ "type": "boolean"
17
+ },
18
+ "quiet": {
19
+ "char": "q",
20
+ "description": "Minimal output",
21
+ "name": "quiet",
22
+ "allowNo": false,
23
+ "type": "boolean"
24
+ }
25
+ },
26
+ "hasDynamicHelp": false,
27
+ "hiddenAliases": [],
28
+ "id": "doctor",
29
+ "pluginAlias": "@sendly/cli",
30
+ "pluginName": "@sendly/cli",
31
+ "pluginType": "core",
32
+ "strict": true,
33
+ "enableJsonFlag": false,
34
+ "isESM": true,
35
+ "relativePath": [
36
+ "dist",
37
+ "commands",
38
+ "doctor.js"
39
+ ]
40
+ },
41
+ "login": {
42
+ "aliases": [],
43
+ "args": {},
44
+ "description": "Authenticate with Sendly",
45
+ "examples": [
46
+ "<%= config.bin %> login",
47
+ "<%= config.bin %> login --api-key sk_test_v1_xxx"
48
+ ],
49
+ "flags": {
50
+ "json": {
51
+ "description": "Output in JSON format",
52
+ "name": "json",
53
+ "allowNo": false,
54
+ "type": "boolean"
55
+ },
56
+ "quiet": {
57
+ "char": "q",
58
+ "description": "Minimal output",
59
+ "name": "quiet",
60
+ "allowNo": false,
61
+ "type": "boolean"
62
+ },
63
+ "api-key": {
64
+ "char": "k",
65
+ "description": "API key to use for authentication",
66
+ "name": "api-key",
67
+ "hasDynamicHelp": false,
68
+ "multiple": false,
69
+ "type": "option"
70
+ },
71
+ "interactive": {
72
+ "char": "i",
73
+ "description": "Force interactive mode",
74
+ "name": "interactive",
75
+ "allowNo": false,
76
+ "type": "boolean"
77
+ }
78
+ },
79
+ "hasDynamicHelp": false,
80
+ "hiddenAliases": [],
81
+ "id": "login",
82
+ "pluginAlias": "@sendly/cli",
83
+ "pluginName": "@sendly/cli",
84
+ "pluginType": "core",
85
+ "strict": true,
86
+ "enableJsonFlag": false,
87
+ "isESM": true,
88
+ "relativePath": [
89
+ "dist",
90
+ "commands",
91
+ "login.js"
92
+ ]
93
+ },
94
+ "logout": {
95
+ "aliases": [],
96
+ "args": {},
97
+ "description": "Log out of Sendly",
98
+ "examples": [
99
+ "<%= config.bin %> logout"
100
+ ],
101
+ "flags": {
102
+ "json": {
103
+ "description": "Output in JSON format",
104
+ "name": "json",
105
+ "allowNo": false,
106
+ "type": "boolean"
107
+ },
108
+ "quiet": {
109
+ "char": "q",
110
+ "description": "Minimal output",
111
+ "name": "quiet",
112
+ "allowNo": false,
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "hasDynamicHelp": false,
117
+ "hiddenAliases": [],
118
+ "id": "logout",
119
+ "pluginAlias": "@sendly/cli",
120
+ "pluginName": "@sendly/cli",
121
+ "pluginType": "core",
122
+ "strict": true,
123
+ "enableJsonFlag": false,
124
+ "isESM": true,
125
+ "relativePath": [
126
+ "dist",
127
+ "commands",
128
+ "logout.js"
129
+ ]
130
+ },
131
+ "whoami": {
132
+ "aliases": [],
133
+ "args": {},
134
+ "description": "Show current authentication status",
135
+ "examples": [
136
+ "<%= config.bin %> whoami"
137
+ ],
138
+ "flags": {
139
+ "json": {
140
+ "description": "Output in JSON format",
141
+ "name": "json",
142
+ "allowNo": false,
143
+ "type": "boolean"
144
+ },
145
+ "quiet": {
146
+ "char": "q",
147
+ "description": "Minimal output",
148
+ "name": "quiet",
149
+ "allowNo": false,
150
+ "type": "boolean"
151
+ }
152
+ },
153
+ "hasDynamicHelp": false,
154
+ "hiddenAliases": [],
155
+ "id": "whoami",
156
+ "pluginAlias": "@sendly/cli",
157
+ "pluginName": "@sendly/cli",
158
+ "pluginType": "core",
159
+ "strict": true,
160
+ "enableJsonFlag": false,
161
+ "isESM": true,
162
+ "relativePath": [
163
+ "dist",
164
+ "commands",
165
+ "whoami.js"
166
+ ]
167
+ },
168
+ "config:get": {
169
+ "aliases": [],
170
+ "args": {
171
+ "key": {
172
+ "description": "Configuration key",
173
+ "name": "key",
174
+ "options": [
175
+ "environment",
176
+ "baseUrl",
177
+ "defaultFormat",
178
+ "colorEnabled"
179
+ ],
180
+ "required": true
181
+ }
182
+ },
183
+ "description": "Get a configuration value",
184
+ "examples": [
185
+ "<%= config.bin %> config get environment",
186
+ "<%= config.bin %> config get baseUrl"
187
+ ],
188
+ "flags": {
189
+ "json": {
190
+ "description": "Output in JSON format",
191
+ "name": "json",
192
+ "allowNo": false,
193
+ "type": "boolean"
194
+ },
195
+ "quiet": {
196
+ "char": "q",
197
+ "description": "Minimal output",
198
+ "name": "quiet",
199
+ "allowNo": false,
200
+ "type": "boolean"
201
+ }
202
+ },
203
+ "hasDynamicHelp": false,
204
+ "hiddenAliases": [],
205
+ "id": "config:get",
206
+ "pluginAlias": "@sendly/cli",
207
+ "pluginName": "@sendly/cli",
208
+ "pluginType": "core",
209
+ "strict": true,
210
+ "enableJsonFlag": false,
211
+ "isESM": true,
212
+ "relativePath": [
213
+ "dist",
214
+ "commands",
215
+ "config",
216
+ "get.js"
217
+ ]
218
+ },
219
+ "config:list": {
220
+ "aliases": [],
221
+ "args": {},
222
+ "description": "List all configuration values",
223
+ "examples": [
224
+ "<%= config.bin %> config list",
225
+ "<%= config.bin %> config list --json"
226
+ ],
227
+ "flags": {
228
+ "json": {
229
+ "description": "Output in JSON format",
230
+ "name": "json",
231
+ "allowNo": false,
232
+ "type": "boolean"
233
+ },
234
+ "quiet": {
235
+ "char": "q",
236
+ "description": "Minimal output",
237
+ "name": "quiet",
238
+ "allowNo": false,
239
+ "type": "boolean"
240
+ }
241
+ },
242
+ "hasDynamicHelp": false,
243
+ "hiddenAliases": [],
244
+ "id": "config:list",
245
+ "pluginAlias": "@sendly/cli",
246
+ "pluginName": "@sendly/cli",
247
+ "pluginType": "core",
248
+ "strict": true,
249
+ "enableJsonFlag": false,
250
+ "isESM": true,
251
+ "relativePath": [
252
+ "dist",
253
+ "commands",
254
+ "config",
255
+ "list.js"
256
+ ]
257
+ },
258
+ "config:set": {
259
+ "aliases": [],
260
+ "args": {
261
+ "key": {
262
+ "description": "Configuration key",
263
+ "name": "key",
264
+ "options": [
265
+ "environment",
266
+ "baseUrl",
267
+ "defaultFormat",
268
+ "colorEnabled"
269
+ ],
270
+ "required": true
271
+ },
272
+ "value": {
273
+ "description": "Configuration value",
274
+ "name": "value",
275
+ "required": true
276
+ }
277
+ },
278
+ "description": "Set a configuration value",
279
+ "examples": [
280
+ "<%= config.bin %> config set environment live",
281
+ "<%= config.bin %> config set defaultFormat json",
282
+ "<%= config.bin %> config set baseUrl https://api.sendly.live"
283
+ ],
284
+ "flags": {
285
+ "json": {
286
+ "description": "Output in JSON format",
287
+ "name": "json",
288
+ "allowNo": false,
289
+ "type": "boolean"
290
+ },
291
+ "quiet": {
292
+ "char": "q",
293
+ "description": "Minimal output",
294
+ "name": "quiet",
295
+ "allowNo": false,
296
+ "type": "boolean"
297
+ }
298
+ },
299
+ "hasDynamicHelp": false,
300
+ "hiddenAliases": [],
301
+ "id": "config:set",
302
+ "pluginAlias": "@sendly/cli",
303
+ "pluginName": "@sendly/cli",
304
+ "pluginType": "core",
305
+ "strict": true,
306
+ "enableJsonFlag": false,
307
+ "isESM": true,
308
+ "relativePath": [
309
+ "dist",
310
+ "commands",
311
+ "config",
312
+ "set.js"
313
+ ]
314
+ },
315
+ "credits:balance": {
316
+ "aliases": [],
317
+ "args": {},
318
+ "description": "Check your credit balance",
319
+ "examples": [
320
+ "<%= config.bin %> credits balance",
321
+ "<%= config.bin %> credits balance --json"
322
+ ],
323
+ "flags": {
324
+ "json": {
325
+ "description": "Output in JSON format",
326
+ "name": "json",
327
+ "allowNo": false,
328
+ "type": "boolean"
329
+ },
330
+ "quiet": {
331
+ "char": "q",
332
+ "description": "Minimal output",
333
+ "name": "quiet",
334
+ "allowNo": false,
335
+ "type": "boolean"
336
+ }
337
+ },
338
+ "hasDynamicHelp": false,
339
+ "hiddenAliases": [],
340
+ "id": "credits:balance",
341
+ "pluginAlias": "@sendly/cli",
342
+ "pluginName": "@sendly/cli",
343
+ "pluginType": "core",
344
+ "strict": true,
345
+ "isESM": true,
346
+ "relativePath": [
347
+ "dist",
348
+ "commands",
349
+ "credits",
350
+ "balance.js"
351
+ ]
352
+ },
353
+ "credits:history": {
354
+ "aliases": [],
355
+ "args": {},
356
+ "description": "View credit transaction history",
357
+ "examples": [
358
+ "<%= config.bin %> credits history",
359
+ "<%= config.bin %> credits history --limit 10",
360
+ "<%= config.bin %> credits history --json"
361
+ ],
362
+ "flags": {
363
+ "json": {
364
+ "description": "Output in JSON format",
365
+ "name": "json",
366
+ "allowNo": false,
367
+ "type": "boolean"
368
+ },
369
+ "quiet": {
370
+ "char": "q",
371
+ "description": "Minimal output",
372
+ "name": "quiet",
373
+ "allowNo": false,
374
+ "type": "boolean"
375
+ },
376
+ "limit": {
377
+ "char": "l",
378
+ "description": "Number of transactions to show",
379
+ "name": "limit",
380
+ "default": 20,
381
+ "hasDynamicHelp": false,
382
+ "multiple": false,
383
+ "type": "option"
384
+ }
385
+ },
386
+ "hasDynamicHelp": false,
387
+ "hiddenAliases": [],
388
+ "id": "credits:history",
389
+ "pluginAlias": "@sendly/cli",
390
+ "pluginName": "@sendly/cli",
391
+ "pluginType": "core",
392
+ "strict": true,
393
+ "isESM": true,
394
+ "relativePath": [
395
+ "dist",
396
+ "commands",
397
+ "credits",
398
+ "history.js"
399
+ ]
400
+ },
401
+ "keys:create": {
402
+ "aliases": [],
403
+ "args": {},
404
+ "description": "Create a new API key",
405
+ "examples": [
406
+ "<%= config.bin %> keys create --name \"Production\"",
407
+ "<%= config.bin %> keys create --name \"CI Testing\" --type test",
408
+ "<%= config.bin %> keys create --name \"Backend\" --type live --json"
409
+ ],
410
+ "flags": {
411
+ "json": {
412
+ "description": "Output in JSON format",
413
+ "name": "json",
414
+ "allowNo": false,
415
+ "type": "boolean"
416
+ },
417
+ "quiet": {
418
+ "char": "q",
419
+ "description": "Minimal output",
420
+ "name": "quiet",
421
+ "allowNo": false,
422
+ "type": "boolean"
423
+ },
424
+ "name": {
425
+ "char": "n",
426
+ "description": "Name for the API key",
427
+ "name": "name",
428
+ "required": true,
429
+ "hasDynamicHelp": false,
430
+ "multiple": false,
431
+ "type": "option"
432
+ },
433
+ "type": {
434
+ "char": "t",
435
+ "description": "Key type (test or live)",
436
+ "name": "type",
437
+ "default": "test",
438
+ "hasDynamicHelp": false,
439
+ "multiple": false,
440
+ "options": [
441
+ "test",
442
+ "live"
443
+ ],
444
+ "type": "option"
445
+ }
446
+ },
447
+ "hasDynamicHelp": false,
448
+ "hiddenAliases": [],
449
+ "id": "keys:create",
450
+ "pluginAlias": "@sendly/cli",
451
+ "pluginName": "@sendly/cli",
452
+ "pluginType": "core",
453
+ "strict": true,
454
+ "isESM": true,
455
+ "relativePath": [
456
+ "dist",
457
+ "commands",
458
+ "keys",
459
+ "create.js"
460
+ ]
461
+ },
462
+ "keys:list": {
463
+ "aliases": [],
464
+ "args": {},
465
+ "description": "List your API keys",
466
+ "examples": [
467
+ "<%= config.bin %> keys list",
468
+ "<%= config.bin %> keys list --json"
469
+ ],
470
+ "flags": {
471
+ "json": {
472
+ "description": "Output in JSON format",
473
+ "name": "json",
474
+ "allowNo": false,
475
+ "type": "boolean"
476
+ },
477
+ "quiet": {
478
+ "char": "q",
479
+ "description": "Minimal output",
480
+ "name": "quiet",
481
+ "allowNo": false,
482
+ "type": "boolean"
483
+ }
484
+ },
485
+ "hasDynamicHelp": false,
486
+ "hiddenAliases": [],
487
+ "id": "keys:list",
488
+ "pluginAlias": "@sendly/cli",
489
+ "pluginName": "@sendly/cli",
490
+ "pluginType": "core",
491
+ "strict": true,
492
+ "isESM": true,
493
+ "relativePath": [
494
+ "dist",
495
+ "commands",
496
+ "keys",
497
+ "list.js"
498
+ ]
499
+ },
500
+ "keys:revoke": {
501
+ "aliases": [],
502
+ "args": {
503
+ "keyId": {
504
+ "description": "Key ID to revoke (e.g., key_abc123)",
505
+ "name": "keyId",
506
+ "required": true
507
+ }
508
+ },
509
+ "description": "Revoke an API key",
510
+ "examples": [
511
+ "<%= config.bin %> keys revoke key_abc123",
512
+ "<%= config.bin %> keys revoke key_abc123 --reason \"Compromised\"",
513
+ "<%= config.bin %> keys revoke key_abc123 --yes"
514
+ ],
515
+ "flags": {
516
+ "json": {
517
+ "description": "Output in JSON format",
518
+ "name": "json",
519
+ "allowNo": false,
520
+ "type": "boolean"
521
+ },
522
+ "quiet": {
523
+ "char": "q",
524
+ "description": "Minimal output",
525
+ "name": "quiet",
526
+ "allowNo": false,
527
+ "type": "boolean"
528
+ },
529
+ "reason": {
530
+ "char": "r",
531
+ "description": "Reason for revoking the key",
532
+ "name": "reason",
533
+ "hasDynamicHelp": false,
534
+ "multiple": false,
535
+ "type": "option"
536
+ },
537
+ "yes": {
538
+ "char": "y",
539
+ "description": "Skip confirmation prompt",
540
+ "name": "yes",
541
+ "allowNo": false,
542
+ "type": "boolean"
543
+ }
544
+ },
545
+ "hasDynamicHelp": false,
546
+ "hiddenAliases": [],
547
+ "id": "keys:revoke",
548
+ "pluginAlias": "@sendly/cli",
549
+ "pluginName": "@sendly/cli",
550
+ "pluginType": "core",
551
+ "strict": true,
552
+ "isESM": true,
553
+ "relativePath": [
554
+ "dist",
555
+ "commands",
556
+ "keys",
557
+ "revoke.js"
558
+ ]
559
+ },
560
+ "logs:tail": {
561
+ "aliases": [],
562
+ "args": {},
563
+ "description": "Tail logs in real-time (like stripe logs tail)",
564
+ "examples": [
565
+ "<%= config.bin %> logs tail",
566
+ "<%= config.bin %> logs tail --status failed",
567
+ "<%= config.bin %> logs tail --since 1h"
568
+ ],
569
+ "flags": {
570
+ "json": {
571
+ "description": "Output in JSON format",
572
+ "name": "json",
573
+ "allowNo": false,
574
+ "type": "boolean"
575
+ },
576
+ "quiet": {
577
+ "char": "q",
578
+ "description": "Minimal output",
579
+ "name": "quiet",
580
+ "allowNo": false,
581
+ "type": "boolean"
582
+ },
583
+ "status": {
584
+ "char": "s",
585
+ "description": "Filter by status (sent, delivered, failed)",
586
+ "name": "status",
587
+ "hasDynamicHelp": false,
588
+ "multiple": false,
589
+ "type": "option"
590
+ },
591
+ "since": {
592
+ "description": "Show logs since (e.g., 1h, 30m, 1d)",
593
+ "name": "since",
594
+ "default": "1h",
595
+ "hasDynamicHelp": false,
596
+ "multiple": false,
597
+ "type": "option"
598
+ },
599
+ "type": {
600
+ "char": "t",
601
+ "description": "Filter by type (message, api_call, webhook)",
602
+ "name": "type",
603
+ "hasDynamicHelp": false,
604
+ "multiple": false,
605
+ "type": "option"
606
+ }
607
+ },
608
+ "hasDynamicHelp": false,
609
+ "hiddenAliases": [],
610
+ "id": "logs:tail",
611
+ "pluginAlias": "@sendly/cli",
612
+ "pluginName": "@sendly/cli",
613
+ "pluginType": "core",
614
+ "strict": true,
615
+ "isESM": true,
616
+ "relativePath": [
617
+ "dist",
618
+ "commands",
619
+ "logs",
620
+ "tail.js"
621
+ ]
622
+ },
623
+ "sms:batch": {
624
+ "aliases": [],
625
+ "args": {},
626
+ "description": "Send batch SMS messages",
627
+ "examples": [
628
+ "<%= config.bin %> sms batch --file recipients.json",
629
+ "<%= config.bin %> sms batch --to +15551234567,+15559876543 --text \"Hello everyone!\"",
630
+ "<%= config.bin %> sms batch --file recipients.csv --from \"Sendly\"",
631
+ "<%= config.bin %> sms batch --file messages.json --json"
632
+ ],
633
+ "flags": {
634
+ "json": {
635
+ "description": "Output in JSON format",
636
+ "name": "json",
637
+ "allowNo": false,
638
+ "type": "boolean"
639
+ },
640
+ "quiet": {
641
+ "char": "q",
642
+ "description": "Minimal output",
643
+ "name": "quiet",
644
+ "allowNo": false,
645
+ "type": "boolean"
646
+ },
647
+ "file": {
648
+ "char": "F",
649
+ "description": "JSON file with messages array [{to, text}, ...]",
650
+ "exclusive": [
651
+ "to"
652
+ ],
653
+ "name": "file",
654
+ "hasDynamicHelp": false,
655
+ "multiple": false,
656
+ "type": "option"
657
+ },
658
+ "to": {
659
+ "char": "t",
660
+ "description": "Comma-separated recipient phone numbers (E.164 format)",
661
+ "exclusive": [
662
+ "file"
663
+ ],
664
+ "name": "to",
665
+ "hasDynamicHelp": false,
666
+ "multiple": false,
667
+ "type": "option"
668
+ },
669
+ "text": {
670
+ "char": "m",
671
+ "description": "Message text (used with --to flag)",
672
+ "name": "text",
673
+ "hasDynamicHelp": false,
674
+ "multiple": false,
675
+ "type": "option"
676
+ },
677
+ "from": {
678
+ "char": "f",
679
+ "description": "Sender ID or phone number for all messages",
680
+ "name": "from",
681
+ "hasDynamicHelp": false,
682
+ "multiple": false,
683
+ "type": "option"
684
+ }
685
+ },
686
+ "hasDynamicHelp": false,
687
+ "hiddenAliases": [],
688
+ "id": "sms:batch",
689
+ "pluginAlias": "@sendly/cli",
690
+ "pluginName": "@sendly/cli",
691
+ "pluginType": "core",
692
+ "strict": true,
693
+ "isESM": true,
694
+ "relativePath": [
695
+ "dist",
696
+ "commands",
697
+ "sms",
698
+ "batch.js"
699
+ ]
700
+ },
701
+ "sms:cancel": {
702
+ "aliases": [],
703
+ "args": {
704
+ "id": {
705
+ "description": "Scheduled message ID to cancel",
706
+ "name": "id",
707
+ "required": true
708
+ }
709
+ },
710
+ "description": "Cancel a scheduled message",
711
+ "examples": [
712
+ "<%= config.bin %> sms cancel sched_abc123",
713
+ "<%= config.bin %> sms cancel sched_abc123 --json"
714
+ ],
715
+ "flags": {
716
+ "json": {
717
+ "description": "Output in JSON format",
718
+ "name": "json",
719
+ "allowNo": false,
720
+ "type": "boolean"
721
+ },
722
+ "quiet": {
723
+ "char": "q",
724
+ "description": "Minimal output",
725
+ "name": "quiet",
726
+ "allowNo": false,
727
+ "type": "boolean"
728
+ }
729
+ },
730
+ "hasDynamicHelp": false,
731
+ "hiddenAliases": [],
732
+ "id": "sms:cancel",
733
+ "pluginAlias": "@sendly/cli",
734
+ "pluginName": "@sendly/cli",
735
+ "pluginType": "core",
736
+ "strict": true,
737
+ "isESM": true,
738
+ "relativePath": [
739
+ "dist",
740
+ "commands",
741
+ "sms",
742
+ "cancel.js"
743
+ ]
744
+ },
745
+ "sms:get": {
746
+ "aliases": [],
747
+ "args": {
748
+ "id": {
749
+ "description": "Message ID",
750
+ "name": "id",
751
+ "required": true
752
+ }
753
+ },
754
+ "description": "Get details of a specific message",
755
+ "examples": [
756
+ "<%= config.bin %> sms get msg_abc123",
757
+ "<%= config.bin %> sms get msg_abc123 --json"
758
+ ],
759
+ "flags": {
760
+ "json": {
761
+ "description": "Output in JSON format",
762
+ "name": "json",
763
+ "allowNo": false,
764
+ "type": "boolean"
765
+ },
766
+ "quiet": {
767
+ "char": "q",
768
+ "description": "Minimal output",
769
+ "name": "quiet",
770
+ "allowNo": false,
771
+ "type": "boolean"
772
+ }
773
+ },
774
+ "hasDynamicHelp": false,
775
+ "hiddenAliases": [],
776
+ "id": "sms:get",
777
+ "pluginAlias": "@sendly/cli",
778
+ "pluginName": "@sendly/cli",
779
+ "pluginType": "core",
780
+ "strict": true,
781
+ "isESM": true,
782
+ "relativePath": [
783
+ "dist",
784
+ "commands",
785
+ "sms",
786
+ "get.js"
787
+ ]
788
+ },
789
+ "sms:list": {
790
+ "aliases": [],
791
+ "args": {},
792
+ "description": "List sent messages",
793
+ "examples": [
794
+ "<%= config.bin %> sms list",
795
+ "<%= config.bin %> sms list --limit 10",
796
+ "<%= config.bin %> sms list --status delivered",
797
+ "<%= config.bin %> sms list --json"
798
+ ],
799
+ "flags": {
800
+ "json": {
801
+ "description": "Output in JSON format",
802
+ "name": "json",
803
+ "allowNo": false,
804
+ "type": "boolean"
805
+ },
806
+ "quiet": {
807
+ "char": "q",
808
+ "description": "Minimal output",
809
+ "name": "quiet",
810
+ "allowNo": false,
811
+ "type": "boolean"
812
+ },
813
+ "limit": {
814
+ "char": "l",
815
+ "description": "Number of messages to show",
816
+ "name": "limit",
817
+ "default": 20,
818
+ "hasDynamicHelp": false,
819
+ "multiple": false,
820
+ "type": "option"
821
+ },
822
+ "status": {
823
+ "char": "s",
824
+ "description": "Filter by status (queued, sent, delivered, failed)",
825
+ "name": "status",
826
+ "hasDynamicHelp": false,
827
+ "multiple": false,
828
+ "type": "option"
829
+ }
830
+ },
831
+ "hasDynamicHelp": false,
832
+ "hiddenAliases": [],
833
+ "id": "sms:list",
834
+ "pluginAlias": "@sendly/cli",
835
+ "pluginName": "@sendly/cli",
836
+ "pluginType": "core",
837
+ "strict": true,
838
+ "isESM": true,
839
+ "relativePath": [
840
+ "dist",
841
+ "commands",
842
+ "sms",
843
+ "list.js"
844
+ ]
845
+ },
846
+ "sms:schedule": {
847
+ "aliases": [],
848
+ "args": {},
849
+ "description": "Schedule an SMS message for future delivery",
850
+ "examples": [
851
+ "<%= config.bin %> sms schedule --to +15551234567 --text \"Reminder!\" --at \"2025-01-20T10:00:00Z\"",
852
+ "<%= config.bin %> sms schedule --to +15551234567 --text \"Meeting in 1 hour\" --at \"2025-01-15T14:00:00Z\" --from \"Sendly\"",
853
+ "<%= config.bin %> sms schedule --to +15551234567 --text \"Hello!\" --at \"2025-01-20T10:00:00Z\" --json"
854
+ ],
855
+ "flags": {
856
+ "json": {
857
+ "description": "Output in JSON format",
858
+ "name": "json",
859
+ "allowNo": false,
860
+ "type": "boolean"
861
+ },
862
+ "quiet": {
863
+ "char": "q",
864
+ "description": "Minimal output",
865
+ "name": "quiet",
866
+ "allowNo": false,
867
+ "type": "boolean"
868
+ },
869
+ "to": {
870
+ "char": "t",
871
+ "description": "Recipient phone number (E.164 format)",
872
+ "name": "to",
873
+ "required": true,
874
+ "hasDynamicHelp": false,
875
+ "multiple": false,
876
+ "type": "option"
877
+ },
878
+ "text": {
879
+ "char": "m",
880
+ "description": "Message text",
881
+ "name": "text",
882
+ "required": true,
883
+ "hasDynamicHelp": false,
884
+ "multiple": false,
885
+ "type": "option"
886
+ },
887
+ "at": {
888
+ "char": "a",
889
+ "description": "Scheduled time (ISO 8601 format, e.g., 2025-01-20T10:00:00Z)",
890
+ "name": "at",
891
+ "required": true,
892
+ "hasDynamicHelp": false,
893
+ "multiple": false,
894
+ "type": "option"
895
+ },
896
+ "from": {
897
+ "char": "f",
898
+ "description": "Sender ID or phone number",
899
+ "name": "from",
900
+ "hasDynamicHelp": false,
901
+ "multiple": false,
902
+ "type": "option"
903
+ }
904
+ },
905
+ "hasDynamicHelp": false,
906
+ "hiddenAliases": [],
907
+ "id": "sms:schedule",
908
+ "pluginAlias": "@sendly/cli",
909
+ "pluginName": "@sendly/cli",
910
+ "pluginType": "core",
911
+ "strict": true,
912
+ "isESM": true,
913
+ "relativePath": [
914
+ "dist",
915
+ "commands",
916
+ "sms",
917
+ "schedule.js"
918
+ ]
919
+ },
920
+ "sms:scheduled": {
921
+ "aliases": [],
922
+ "args": {},
923
+ "description": "List scheduled messages",
924
+ "examples": [
925
+ "<%= config.bin %> sms scheduled",
926
+ "<%= config.bin %> sms scheduled --limit 10",
927
+ "<%= config.bin %> sms scheduled --status scheduled",
928
+ "<%= config.bin %> sms scheduled --json"
929
+ ],
930
+ "flags": {
931
+ "json": {
932
+ "description": "Output in JSON format",
933
+ "name": "json",
934
+ "allowNo": false,
935
+ "type": "boolean"
936
+ },
937
+ "quiet": {
938
+ "char": "q",
939
+ "description": "Minimal output",
940
+ "name": "quiet",
941
+ "allowNo": false,
942
+ "type": "boolean"
943
+ },
944
+ "limit": {
945
+ "char": "l",
946
+ "description": "Number of messages to show",
947
+ "name": "limit",
948
+ "default": 20,
949
+ "hasDynamicHelp": false,
950
+ "multiple": false,
951
+ "type": "option"
952
+ },
953
+ "status": {
954
+ "char": "s",
955
+ "description": "Filter by status (scheduled, sent, cancelled, failed)",
956
+ "name": "status",
957
+ "hasDynamicHelp": false,
958
+ "multiple": false,
959
+ "type": "option"
960
+ }
961
+ },
962
+ "hasDynamicHelp": false,
963
+ "hiddenAliases": [],
964
+ "id": "sms:scheduled",
965
+ "pluginAlias": "@sendly/cli",
966
+ "pluginName": "@sendly/cli",
967
+ "pluginType": "core",
968
+ "strict": true,
969
+ "isESM": true,
970
+ "relativePath": [
971
+ "dist",
972
+ "commands",
973
+ "sms",
974
+ "scheduled.js"
975
+ ]
976
+ },
977
+ "sms:send": {
978
+ "aliases": [],
979
+ "args": {},
980
+ "description": "Send an SMS message",
981
+ "examples": [
982
+ "<%= config.bin %> sms send --to +15551234567 --text \"Hello!\"",
983
+ "<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --from \"Sendly\"",
984
+ "<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --json"
985
+ ],
986
+ "flags": {
987
+ "json": {
988
+ "description": "Output in JSON format",
989
+ "name": "json",
990
+ "allowNo": false,
991
+ "type": "boolean"
992
+ },
993
+ "quiet": {
994
+ "char": "q",
995
+ "description": "Minimal output",
996
+ "name": "quiet",
997
+ "allowNo": false,
998
+ "type": "boolean"
999
+ },
1000
+ "to": {
1001
+ "char": "t",
1002
+ "description": "Recipient phone number (E.164 format)",
1003
+ "name": "to",
1004
+ "required": true,
1005
+ "hasDynamicHelp": false,
1006
+ "multiple": false,
1007
+ "type": "option"
1008
+ },
1009
+ "text": {
1010
+ "char": "m",
1011
+ "description": "Message text",
1012
+ "name": "text",
1013
+ "required": true,
1014
+ "hasDynamicHelp": false,
1015
+ "multiple": false,
1016
+ "type": "option"
1017
+ },
1018
+ "from": {
1019
+ "char": "f",
1020
+ "description": "Sender ID or phone number",
1021
+ "name": "from",
1022
+ "hasDynamicHelp": false,
1023
+ "multiple": false,
1024
+ "type": "option"
1025
+ }
1026
+ },
1027
+ "hasDynamicHelp": false,
1028
+ "hiddenAliases": [],
1029
+ "id": "sms:send",
1030
+ "pluginAlias": "@sendly/cli",
1031
+ "pluginName": "@sendly/cli",
1032
+ "pluginType": "core",
1033
+ "strict": true,
1034
+ "isESM": true,
1035
+ "relativePath": [
1036
+ "dist",
1037
+ "commands",
1038
+ "sms",
1039
+ "send.js"
1040
+ ]
1041
+ },
1042
+ "webhooks:list": {
1043
+ "aliases": [],
1044
+ "args": {},
1045
+ "description": "List configured webhooks",
1046
+ "examples": [
1047
+ "<%= config.bin %> webhooks list",
1048
+ "<%= config.bin %> webhooks list --json"
1049
+ ],
1050
+ "flags": {
1051
+ "json": {
1052
+ "description": "Output in JSON format",
1053
+ "name": "json",
1054
+ "allowNo": false,
1055
+ "type": "boolean"
1056
+ },
1057
+ "quiet": {
1058
+ "char": "q",
1059
+ "description": "Minimal output",
1060
+ "name": "quiet",
1061
+ "allowNo": false,
1062
+ "type": "boolean"
1063
+ }
1064
+ },
1065
+ "hasDynamicHelp": false,
1066
+ "hiddenAliases": [],
1067
+ "id": "webhooks:list",
1068
+ "pluginAlias": "@sendly/cli",
1069
+ "pluginName": "@sendly/cli",
1070
+ "pluginType": "core",
1071
+ "strict": true,
1072
+ "isESM": true,
1073
+ "relativePath": [
1074
+ "dist",
1075
+ "commands",
1076
+ "webhooks",
1077
+ "list.js"
1078
+ ]
1079
+ },
1080
+ "webhooks:listen": {
1081
+ "aliases": [],
1082
+ "args": {},
1083
+ "description": "Listen for webhooks locally (like Stripe CLI). Creates a secure tunnel to forward events to your local server.",
1084
+ "examples": [
1085
+ "<%= config.bin %> webhooks listen",
1086
+ "<%= config.bin %> webhooks listen --forward http://localhost:3000/webhook",
1087
+ "<%= config.bin %> webhooks listen --events message.delivered,message.failed"
1088
+ ],
1089
+ "flags": {
1090
+ "json": {
1091
+ "description": "Output in JSON format",
1092
+ "name": "json",
1093
+ "allowNo": false,
1094
+ "type": "boolean"
1095
+ },
1096
+ "quiet": {
1097
+ "char": "q",
1098
+ "description": "Minimal output",
1099
+ "name": "quiet",
1100
+ "allowNo": false,
1101
+ "type": "boolean"
1102
+ },
1103
+ "forward": {
1104
+ "char": "f",
1105
+ "description": "Local URL to forward events to",
1106
+ "name": "forward",
1107
+ "default": "http://localhost:3000/webhook",
1108
+ "hasDynamicHelp": false,
1109
+ "multiple": false,
1110
+ "type": "option"
1111
+ },
1112
+ "events": {
1113
+ "char": "e",
1114
+ "description": "Comma-separated list of events to listen for",
1115
+ "name": "events",
1116
+ "default": "message.sent,message.delivered,message.failed,message.bounced",
1117
+ "hasDynamicHelp": false,
1118
+ "multiple": false,
1119
+ "type": "option"
1120
+ },
1121
+ "port": {
1122
+ "char": "p",
1123
+ "description": "Local port for the tunnel (auto-detected from forward URL if not specified)",
1124
+ "name": "port",
1125
+ "hasDynamicHelp": false,
1126
+ "multiple": false,
1127
+ "type": "option"
1128
+ }
1129
+ },
1130
+ "hasDynamicHelp": false,
1131
+ "hiddenAliases": [],
1132
+ "id": "webhooks:listen",
1133
+ "pluginAlias": "@sendly/cli",
1134
+ "pluginName": "@sendly/cli",
1135
+ "pluginType": "core",
1136
+ "strict": true,
1137
+ "isESM": true,
1138
+ "relativePath": [
1139
+ "dist",
1140
+ "commands",
1141
+ "webhooks",
1142
+ "listen.js"
1143
+ ]
1144
+ }
1145
+ },
1146
+ "version": "1.0.0"
1147
+ }