@sendly/cli 3.27.1 → 3.32.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.
@@ -1,5 +1,59 @@
1
1
  {
2
2
  "commands": {
3
+ "countries": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "List supported countries with pricing (credits per SMS, USD price, tier). No auth required.",
7
+ "examples": [
8
+ "<%= config.bin %> countries",
9
+ "<%= config.bin %> countries --search UK",
10
+ "<%= config.bin %> countries --tier domestic",
11
+ "<%= config.bin %> countries --json"
12
+ ],
13
+ "flags": {
14
+ "json": {
15
+ "description": "Output in JSON format",
16
+ "name": "json",
17
+ "allowNo": false,
18
+ "type": "boolean"
19
+ },
20
+ "quiet": {
21
+ "char": "q",
22
+ "description": "Minimal output",
23
+ "name": "quiet",
24
+ "allowNo": false,
25
+ "type": "boolean"
26
+ },
27
+ "search": {
28
+ "description": "Filter by name, country code, or dial code",
29
+ "name": "search",
30
+ "hasDynamicHelp": false,
31
+ "multiple": false,
32
+ "type": "option"
33
+ },
34
+ "tier": {
35
+ "description": "Filter by pricing tier (domestic, international, etc.)",
36
+ "name": "tier",
37
+ "hasDynamicHelp": false,
38
+ "multiple": false,
39
+ "type": "option"
40
+ }
41
+ },
42
+ "hasDynamicHelp": false,
43
+ "hiddenAliases": [],
44
+ "id": "countries",
45
+ "pluginAlias": "@sendly/cli",
46
+ "pluginName": "@sendly/cli",
47
+ "pluginType": "core",
48
+ "strict": true,
49
+ "enableJsonFlag": false,
50
+ "isESM": true,
51
+ "relativePath": [
52
+ "dist",
53
+ "commands",
54
+ "countries.js"
55
+ ]
56
+ },
3
57
  "doctor": {
4
58
  "aliases": [],
5
59
  "args": {},
@@ -305,6 +359,37 @@
305
359
  "trigger.js"
306
360
  ]
307
361
  },
362
+ "upgrade": {
363
+ "aliases": [],
364
+ "args": {},
365
+ "description": "Upgrade Sendly CLI to the latest version using the package manager that installed it (Homebrew or npm).",
366
+ "examples": [
367
+ "<%= config.bin %> upgrade",
368
+ "<%= config.bin %> upgrade --check"
369
+ ],
370
+ "flags": {
371
+ "check": {
372
+ "description": "Print the upgrade command for your install path without executing it",
373
+ "name": "check",
374
+ "allowNo": false,
375
+ "type": "boolean"
376
+ }
377
+ },
378
+ "hasDynamicHelp": false,
379
+ "hiddenAliases": [],
380
+ "id": "upgrade",
381
+ "pluginAlias": "@sendly/cli",
382
+ "pluginName": "@sendly/cli",
383
+ "pluginType": "core",
384
+ "strict": true,
385
+ "enableJsonFlag": false,
386
+ "isESM": true,
387
+ "relativePath": [
388
+ "dist",
389
+ "commands",
390
+ "upgrade.js"
391
+ ]
392
+ },
308
393
  "whoami": {
309
394
  "aliases": [],
310
395
  "args": {},
@@ -902,25 +987,13 @@
902
987
  "update.js"
903
988
  ]
904
989
  },
905
- "config:get": {
990
+ "contacts:bulk-mark-valid": {
906
991
  "aliases": [],
907
- "args": {
908
- "key": {
909
- "description": "Configuration key",
910
- "name": "key",
911
- "options": [
912
- "environment",
913
- "baseUrl",
914
- "defaultFormat",
915
- "colorEnabled"
916
- ],
917
- "required": true
918
- }
919
- },
920
- "description": "Get a configuration value",
992
+ "args": {},
993
+ "description": "Clear the invalid flag on many contacts at once. Pass --ids (comma-separated, up to 10,000) OR --list <id>, not both. Escape hatch for when auto-mark misclassifies at scale.",
921
994
  "examples": [
922
- "<%= config.bin %> config get environment",
923
- "<%= config.bin %> config get baseUrl"
995
+ "<%= config.bin %> contacts bulk-mark-valid --ids cnt_abc,cnt_def,cnt_ghi",
996
+ "<%= config.bin %> contacts bulk-mark-valid --list lst_xxx"
924
997
  ],
925
998
  "flags": {
926
999
  "json": {
@@ -935,31 +1008,51 @@
935
1008
  "name": "quiet",
936
1009
  "allowNo": false,
937
1010
  "type": "boolean"
1011
+ },
1012
+ "ids": {
1013
+ "description": "Comma-separated contact IDs to clear (max 10,000 per call)",
1014
+ "exclusive": [
1015
+ "list"
1016
+ ],
1017
+ "name": "ids",
1018
+ "hasDynamicHelp": false,
1019
+ "multiple": false,
1020
+ "type": "option"
1021
+ },
1022
+ "list": {
1023
+ "description": "Clear every flagged member of this list ID",
1024
+ "exclusive": [
1025
+ "ids"
1026
+ ],
1027
+ "name": "list",
1028
+ "hasDynamicHelp": false,
1029
+ "multiple": false,
1030
+ "type": "option"
938
1031
  }
939
1032
  },
940
1033
  "hasDynamicHelp": false,
941
1034
  "hiddenAliases": [],
942
- "id": "config:get",
1035
+ "id": "contacts:bulk-mark-valid",
943
1036
  "pluginAlias": "@sendly/cli",
944
1037
  "pluginName": "@sendly/cli",
945
1038
  "pluginType": "core",
946
1039
  "strict": true,
947
- "enableJsonFlag": false,
948
1040
  "isESM": true,
949
1041
  "relativePath": [
950
1042
  "dist",
951
1043
  "commands",
952
- "config",
953
- "get.js"
1044
+ "contacts",
1045
+ "bulk-mark-valid.js"
954
1046
  ]
955
1047
  },
956
- "config:list": {
1048
+ "contacts:check-numbers": {
957
1049
  "aliases": [],
958
1050
  "args": {},
959
- "description": "List all configuration values",
1051
+ "description": "Trigger a background carrier lookup across your contacts. Landlines and other non-SMS-capable numbers are auto-excluded from future campaigns. Runs asynchronously — results populate line_type / carrier_name / invalid_reason on affected contacts within a few minutes.",
960
1052
  "examples": [
961
- "<%= config.bin %> config list",
962
- "<%= config.bin %> config list --json"
1053
+ "<%= config.bin %> contacts check-numbers",
1054
+ "<%= config.bin %> contacts check-numbers --list lst_xxx",
1055
+ "<%= config.bin %> contacts check-numbers --force"
963
1056
  ],
964
1057
  "flags": {
965
1058
  "json": {
@@ -974,79 +1067,35 @@
974
1067
  "name": "quiet",
975
1068
  "allowNo": false,
976
1069
  "type": "boolean"
977
- }
978
- },
979
- "hasDynamicHelp": false,
980
- "hiddenAliases": [],
981
- "id": "config:list",
982
- "pluginAlias": "@sendly/cli",
983
- "pluginName": "@sendly/cli",
984
- "pluginType": "core",
985
- "strict": true,
986
- "enableJsonFlag": false,
987
- "isESM": true,
988
- "relativePath": [
989
- "dist",
990
- "commands",
991
- "config",
992
- "list.js"
993
- ]
994
- },
995
- "config:set": {
996
- "aliases": [],
997
- "args": {
998
- "key": {
999
- "description": "Configuration key",
1000
- "name": "key",
1001
- "options": [
1002
- "environment",
1003
- "baseUrl",
1004
- "defaultFormat",
1005
- "colorEnabled"
1006
- ],
1007
- "required": true
1008
1070
  },
1009
- "value": {
1010
- "description": "Configuration value",
1011
- "name": "value",
1012
- "required": true
1013
- }
1014
- },
1015
- "description": "Set a configuration value",
1016
- "examples": [
1017
- "<%= config.bin %> config set environment live",
1018
- "<%= config.bin %> config set defaultFormat json",
1019
- "<%= config.bin %> config set baseUrl https://api.sendly.live"
1020
- ],
1021
- "flags": {
1022
- "json": {
1023
- "description": "Output in JSON format",
1024
- "name": "json",
1025
- "allowNo": false,
1026
- "type": "boolean"
1071
+ "list": {
1072
+ "char": "l",
1073
+ "description": "Scope the lookup to a single contact list",
1074
+ "name": "list",
1075
+ "hasDynamicHelp": false,
1076
+ "multiple": false,
1077
+ "type": "option"
1027
1078
  },
1028
- "quiet": {
1029
- "char": "q",
1030
- "description": "Minimal output",
1031
- "name": "quiet",
1079
+ "force": {
1080
+ "description": "Re-check contacts even if already looked up",
1081
+ "name": "force",
1032
1082
  "allowNo": false,
1033
1083
  "type": "boolean"
1034
1084
  }
1035
1085
  },
1036
1086
  "hasDynamicHelp": false,
1037
1087
  "hiddenAliases": [],
1038
- "id": "config:set",
1088
+ "id": "contacts:check-numbers",
1039
1089
  "pluginAlias": "@sendly/cli",
1040
1090
  "pluginName": "@sendly/cli",
1041
1091
  "pluginType": "core",
1042
1092
  "strict": true,
1043
- "enableJsonFlag": false,
1044
1093
  "isESM": true,
1045
1094
  "relativePath": [
1046
1095
  "dist",
1047
1096
  "commands",
1048
- "config",
1049
- "set.js"
1097
+ "contacts",
1098
+ "check-numbers.js"
1050
1099
  ]
1051
1100
  },
1052
1101
  "contacts:create": {
@@ -1335,6 +1384,49 @@
1335
1384
  "list.js"
1336
1385
  ]
1337
1386
  },
1387
+ "contacts:mark-valid": {
1388
+ "aliases": [],
1389
+ "args": {
1390
+ "id": {
1391
+ "description": "Contact ID to clear the invalid flag on",
1392
+ "name": "id",
1393
+ "required": true
1394
+ }
1395
+ },
1396
+ "description": "Clear the invalid flag on a contact so future campaigns include it again. Use when you disagree with an auto-exclusion (e.g. the recipient ported from a landline to mobile).",
1397
+ "examples": [
1398
+ "<%= config.bin %> contacts mark-valid cnt_xxx"
1399
+ ],
1400
+ "flags": {
1401
+ "json": {
1402
+ "description": "Output in JSON format",
1403
+ "name": "json",
1404
+ "allowNo": false,
1405
+ "type": "boolean"
1406
+ },
1407
+ "quiet": {
1408
+ "char": "q",
1409
+ "description": "Minimal output",
1410
+ "name": "quiet",
1411
+ "allowNo": false,
1412
+ "type": "boolean"
1413
+ }
1414
+ },
1415
+ "hasDynamicHelp": false,
1416
+ "hiddenAliases": [],
1417
+ "id": "contacts:mark-valid",
1418
+ "pluginAlias": "@sendly/cli",
1419
+ "pluginName": "@sendly/cli",
1420
+ "pluginType": "core",
1421
+ "strict": true,
1422
+ "isESM": true,
1423
+ "relativePath": [
1424
+ "dist",
1425
+ "commands",
1426
+ "contacts",
1427
+ "mark-valid.js"
1428
+ ]
1429
+ },
1338
1430
  "contacts:update": {
1339
1431
  "aliases": [],
1340
1432
  "args": {
@@ -1396,13 +1488,19 @@
1396
1488
  "update.js"
1397
1489
  ]
1398
1490
  },
1399
- "credits:balance": {
1491
+ "conversations:close": {
1400
1492
  "aliases": [],
1401
- "args": {},
1402
- "description": "Check your credit balance",
1493
+ "args": {
1494
+ "id": {
1495
+ "description": "Conversation ID",
1496
+ "name": "id",
1497
+ "required": true
1498
+ }
1499
+ },
1500
+ "description": "Close a conversation",
1403
1501
  "examples": [
1404
- "<%= config.bin %> credits balance",
1405
- "<%= config.bin %> credits balance --json"
1502
+ "<%= config.bin %> conversations close conv_abc123",
1503
+ "<%= config.bin %> conversations close conv_abc123 --json"
1406
1504
  ],
1407
1505
  "flags": {
1408
1506
  "json": {
@@ -1421,7 +1519,7 @@
1421
1519
  },
1422
1520
  "hasDynamicHelp": false,
1423
1521
  "hiddenAliases": [],
1424
- "id": "credits:balance",
1522
+ "id": "conversations:close",
1425
1523
  "pluginAlias": "@sendly/cli",
1426
1524
  "pluginName": "@sendly/cli",
1427
1525
  "pluginType": "core",
@@ -1430,178 +1528,25 @@
1430
1528
  "relativePath": [
1431
1529
  "dist",
1432
1530
  "commands",
1433
- "credits",
1434
- "balance.js"
1531
+ "conversations",
1532
+ "close.js"
1435
1533
  ]
1436
1534
  },
1437
- "credits:history": {
1535
+ "conversations:context": {
1438
1536
  "aliases": [],
1439
- "args": {},
1440
- "description": "View credit transaction history",
1537
+ "args": {
1538
+ "id": {
1539
+ "description": "Conversation ID",
1540
+ "name": "id",
1541
+ "required": true
1542
+ }
1543
+ },
1544
+ "description": "Get LLM-ready conversation context. Returns pre-formatted text with timestamped messages, AI classification, and business context.",
1441
1545
  "examples": [
1442
- "<%= config.bin %> credits history",
1443
- "<%= config.bin %> credits history --limit 10",
1444
- "<%= config.bin %> credits history --json"
1445
- ],
1446
- "flags": {
1447
- "json": {
1448
- "description": "Output in JSON format",
1449
- "name": "json",
1450
- "allowNo": false,
1451
- "type": "boolean"
1452
- },
1453
- "quiet": {
1454
- "char": "q",
1455
- "description": "Minimal output",
1456
- "name": "quiet",
1457
- "allowNo": false,
1458
- "type": "boolean"
1459
- },
1460
- "limit": {
1461
- "char": "l",
1462
- "description": "Number of transactions to show",
1463
- "name": "limit",
1464
- "default": 20,
1465
- "hasDynamicHelp": false,
1466
- "multiple": false,
1467
- "type": "option"
1468
- }
1469
- },
1470
- "hasDynamicHelp": false,
1471
- "hiddenAliases": [],
1472
- "id": "credits:history",
1473
- "pluginAlias": "@sendly/cli",
1474
- "pluginName": "@sendly/cli",
1475
- "pluginType": "core",
1476
- "strict": true,
1477
- "isESM": true,
1478
- "relativePath": [
1479
- "dist",
1480
- "commands",
1481
- "credits",
1482
- "history.js"
1483
- ]
1484
- },
1485
- "credits:transfer": {
1486
- "aliases": [],
1487
- "args": {},
1488
- "description": "Transfer credits between workspaces",
1489
- "examples": [
1490
- "<%= config.bin %> credits transfer --to org_abc123 --amount 500",
1491
- "<%= config.bin %> credits transfer --amount 1000",
1492
- "<%= config.bin %> credits transfer --to org_abc123 --amount 500 --yes"
1493
- ],
1494
- "flags": {
1495
- "json": {
1496
- "description": "Output in JSON format",
1497
- "name": "json",
1498
- "allowNo": false,
1499
- "type": "boolean"
1500
- },
1501
- "quiet": {
1502
- "char": "q",
1503
- "description": "Minimal output",
1504
- "name": "quiet",
1505
- "allowNo": false,
1506
- "type": "boolean"
1507
- },
1508
- "to": {
1509
- "description": "Target workspace ID to transfer credits to",
1510
- "name": "to",
1511
- "hasDynamicHelp": false,
1512
- "multiple": false,
1513
- "type": "option"
1514
- },
1515
- "amount": {
1516
- "char": "a",
1517
- "description": "Number of credits to transfer",
1518
- "name": "amount",
1519
- "hasDynamicHelp": false,
1520
- "multiple": false,
1521
- "type": "option"
1522
- },
1523
- "yes": {
1524
- "char": "y",
1525
- "description": "Skip confirmation prompt",
1526
- "name": "yes",
1527
- "allowNo": false,
1528
- "type": "boolean"
1529
- }
1530
- },
1531
- "hasDynamicHelp": false,
1532
- "hiddenAliases": [],
1533
- "id": "credits:transfer",
1534
- "pluginAlias": "@sendly/cli",
1535
- "pluginName": "@sendly/cli",
1536
- "pluginType": "core",
1537
- "strict": true,
1538
- "isESM": true,
1539
- "relativePath": [
1540
- "dist",
1541
- "commands",
1542
- "credits",
1543
- "transfer.js"
1544
- ]
1545
- },
1546
- "conversations:close": {
1547
- "aliases": [],
1548
- "args": {
1549
- "id": {
1550
- "description": "Conversation ID",
1551
- "name": "id",
1552
- "required": true
1553
- }
1554
- },
1555
- "description": "Close a conversation",
1556
- "examples": [
1557
- "<%= config.bin %> conversations close conv_abc123",
1558
- "<%= config.bin %> conversations close conv_abc123 --json"
1559
- ],
1560
- "flags": {
1561
- "json": {
1562
- "description": "Output in JSON format",
1563
- "name": "json",
1564
- "allowNo": false,
1565
- "type": "boolean"
1566
- },
1567
- "quiet": {
1568
- "char": "q",
1569
- "description": "Minimal output",
1570
- "name": "quiet",
1571
- "allowNo": false,
1572
- "type": "boolean"
1573
- }
1574
- },
1575
- "hasDynamicHelp": false,
1576
- "hiddenAliases": [],
1577
- "id": "conversations:close",
1578
- "pluginAlias": "@sendly/cli",
1579
- "pluginName": "@sendly/cli",
1580
- "pluginType": "core",
1581
- "strict": true,
1582
- "isESM": true,
1583
- "relativePath": [
1584
- "dist",
1585
- "commands",
1586
- "conversations",
1587
- "close.js"
1588
- ]
1589
- },
1590
- "conversations:context": {
1591
- "aliases": [],
1592
- "args": {
1593
- "id": {
1594
- "description": "Conversation ID",
1595
- "name": "id",
1596
- "required": true
1597
- }
1598
- },
1599
- "description": "Get LLM-ready conversation context. Returns pre-formatted text with timestamped messages, AI classification, and business context.",
1600
- "examples": [
1601
- "<%= config.bin %> conversations context conv_abc123",
1602
- "<%= config.bin %> conversations context conv_abc123 --max-messages 10",
1603
- "<%= config.bin %> conversations context conv_abc123 --json",
1604
- "<%= config.bin %> conversations context conv_abc123 --raw"
1546
+ "<%= config.bin %> conversations context conv_abc123",
1547
+ "<%= config.bin %> conversations context conv_abc123 --max-messages 10",
1548
+ "<%= config.bin %> conversations context conv_abc123 --json",
1549
+ "<%= config.bin %> conversations context conv_abc123 --raw"
1605
1550
  ],
1606
1551
  "flags": {
1607
1552
  "json": {
@@ -2058,6 +2003,300 @@
2058
2003
  "update.js"
2059
2004
  ]
2060
2005
  },
2006
+ "config:get": {
2007
+ "aliases": [],
2008
+ "args": {
2009
+ "key": {
2010
+ "description": "Configuration key",
2011
+ "name": "key",
2012
+ "options": [
2013
+ "environment",
2014
+ "baseUrl",
2015
+ "defaultFormat",
2016
+ "colorEnabled"
2017
+ ],
2018
+ "required": true
2019
+ }
2020
+ },
2021
+ "description": "Get a configuration value",
2022
+ "examples": [
2023
+ "<%= config.bin %> config get environment",
2024
+ "<%= config.bin %> config get baseUrl"
2025
+ ],
2026
+ "flags": {
2027
+ "json": {
2028
+ "description": "Output in JSON format",
2029
+ "name": "json",
2030
+ "allowNo": false,
2031
+ "type": "boolean"
2032
+ },
2033
+ "quiet": {
2034
+ "char": "q",
2035
+ "description": "Minimal output",
2036
+ "name": "quiet",
2037
+ "allowNo": false,
2038
+ "type": "boolean"
2039
+ }
2040
+ },
2041
+ "hasDynamicHelp": false,
2042
+ "hiddenAliases": [],
2043
+ "id": "config:get",
2044
+ "pluginAlias": "@sendly/cli",
2045
+ "pluginName": "@sendly/cli",
2046
+ "pluginType": "core",
2047
+ "strict": true,
2048
+ "enableJsonFlag": false,
2049
+ "isESM": true,
2050
+ "relativePath": [
2051
+ "dist",
2052
+ "commands",
2053
+ "config",
2054
+ "get.js"
2055
+ ]
2056
+ },
2057
+ "config:list": {
2058
+ "aliases": [],
2059
+ "args": {},
2060
+ "description": "List all configuration values",
2061
+ "examples": [
2062
+ "<%= config.bin %> config list",
2063
+ "<%= config.bin %> config list --json"
2064
+ ],
2065
+ "flags": {
2066
+ "json": {
2067
+ "description": "Output in JSON format",
2068
+ "name": "json",
2069
+ "allowNo": false,
2070
+ "type": "boolean"
2071
+ },
2072
+ "quiet": {
2073
+ "char": "q",
2074
+ "description": "Minimal output",
2075
+ "name": "quiet",
2076
+ "allowNo": false,
2077
+ "type": "boolean"
2078
+ }
2079
+ },
2080
+ "hasDynamicHelp": false,
2081
+ "hiddenAliases": [],
2082
+ "id": "config:list",
2083
+ "pluginAlias": "@sendly/cli",
2084
+ "pluginName": "@sendly/cli",
2085
+ "pluginType": "core",
2086
+ "strict": true,
2087
+ "enableJsonFlag": false,
2088
+ "isESM": true,
2089
+ "relativePath": [
2090
+ "dist",
2091
+ "commands",
2092
+ "config",
2093
+ "list.js"
2094
+ ]
2095
+ },
2096
+ "config:set": {
2097
+ "aliases": [],
2098
+ "args": {
2099
+ "key": {
2100
+ "description": "Configuration key",
2101
+ "name": "key",
2102
+ "options": [
2103
+ "environment",
2104
+ "baseUrl",
2105
+ "defaultFormat",
2106
+ "colorEnabled"
2107
+ ],
2108
+ "required": true
2109
+ },
2110
+ "value": {
2111
+ "description": "Configuration value",
2112
+ "name": "value",
2113
+ "required": true
2114
+ }
2115
+ },
2116
+ "description": "Set a configuration value",
2117
+ "examples": [
2118
+ "<%= config.bin %> config set environment live",
2119
+ "<%= config.bin %> config set defaultFormat json",
2120
+ "<%= config.bin %> config set baseUrl https://api.sendly.live"
2121
+ ],
2122
+ "flags": {
2123
+ "json": {
2124
+ "description": "Output in JSON format",
2125
+ "name": "json",
2126
+ "allowNo": false,
2127
+ "type": "boolean"
2128
+ },
2129
+ "quiet": {
2130
+ "char": "q",
2131
+ "description": "Minimal output",
2132
+ "name": "quiet",
2133
+ "allowNo": false,
2134
+ "type": "boolean"
2135
+ }
2136
+ },
2137
+ "hasDynamicHelp": false,
2138
+ "hiddenAliases": [],
2139
+ "id": "config:set",
2140
+ "pluginAlias": "@sendly/cli",
2141
+ "pluginName": "@sendly/cli",
2142
+ "pluginType": "core",
2143
+ "strict": true,
2144
+ "enableJsonFlag": false,
2145
+ "isESM": true,
2146
+ "relativePath": [
2147
+ "dist",
2148
+ "commands",
2149
+ "config",
2150
+ "set.js"
2151
+ ]
2152
+ },
2153
+ "credits:balance": {
2154
+ "aliases": [],
2155
+ "args": {},
2156
+ "description": "Check your credit balance",
2157
+ "examples": [
2158
+ "<%= config.bin %> credits balance",
2159
+ "<%= config.bin %> credits balance --json"
2160
+ ],
2161
+ "flags": {
2162
+ "json": {
2163
+ "description": "Output in JSON format",
2164
+ "name": "json",
2165
+ "allowNo": false,
2166
+ "type": "boolean"
2167
+ },
2168
+ "quiet": {
2169
+ "char": "q",
2170
+ "description": "Minimal output",
2171
+ "name": "quiet",
2172
+ "allowNo": false,
2173
+ "type": "boolean"
2174
+ }
2175
+ },
2176
+ "hasDynamicHelp": false,
2177
+ "hiddenAliases": [],
2178
+ "id": "credits:balance",
2179
+ "pluginAlias": "@sendly/cli",
2180
+ "pluginName": "@sendly/cli",
2181
+ "pluginType": "core",
2182
+ "strict": true,
2183
+ "isESM": true,
2184
+ "relativePath": [
2185
+ "dist",
2186
+ "commands",
2187
+ "credits",
2188
+ "balance.js"
2189
+ ]
2190
+ },
2191
+ "credits:history": {
2192
+ "aliases": [],
2193
+ "args": {},
2194
+ "description": "View credit transaction history",
2195
+ "examples": [
2196
+ "<%= config.bin %> credits history",
2197
+ "<%= config.bin %> credits history --limit 10",
2198
+ "<%= config.bin %> credits history --json"
2199
+ ],
2200
+ "flags": {
2201
+ "json": {
2202
+ "description": "Output in JSON format",
2203
+ "name": "json",
2204
+ "allowNo": false,
2205
+ "type": "boolean"
2206
+ },
2207
+ "quiet": {
2208
+ "char": "q",
2209
+ "description": "Minimal output",
2210
+ "name": "quiet",
2211
+ "allowNo": false,
2212
+ "type": "boolean"
2213
+ },
2214
+ "limit": {
2215
+ "char": "l",
2216
+ "description": "Number of transactions to show",
2217
+ "name": "limit",
2218
+ "default": 20,
2219
+ "hasDynamicHelp": false,
2220
+ "multiple": false,
2221
+ "type": "option"
2222
+ }
2223
+ },
2224
+ "hasDynamicHelp": false,
2225
+ "hiddenAliases": [],
2226
+ "id": "credits:history",
2227
+ "pluginAlias": "@sendly/cli",
2228
+ "pluginName": "@sendly/cli",
2229
+ "pluginType": "core",
2230
+ "strict": true,
2231
+ "isESM": true,
2232
+ "relativePath": [
2233
+ "dist",
2234
+ "commands",
2235
+ "credits",
2236
+ "history.js"
2237
+ ]
2238
+ },
2239
+ "credits:transfer": {
2240
+ "aliases": [],
2241
+ "args": {},
2242
+ "description": "Transfer credits between workspaces",
2243
+ "examples": [
2244
+ "<%= config.bin %> credits transfer --to org_abc123 --amount 500",
2245
+ "<%= config.bin %> credits transfer --amount 1000",
2246
+ "<%= config.bin %> credits transfer --to org_abc123 --amount 500 --yes"
2247
+ ],
2248
+ "flags": {
2249
+ "json": {
2250
+ "description": "Output in JSON format",
2251
+ "name": "json",
2252
+ "allowNo": false,
2253
+ "type": "boolean"
2254
+ },
2255
+ "quiet": {
2256
+ "char": "q",
2257
+ "description": "Minimal output",
2258
+ "name": "quiet",
2259
+ "allowNo": false,
2260
+ "type": "boolean"
2261
+ },
2262
+ "to": {
2263
+ "description": "Target workspace ID to transfer credits to",
2264
+ "name": "to",
2265
+ "hasDynamicHelp": false,
2266
+ "multiple": false,
2267
+ "type": "option"
2268
+ },
2269
+ "amount": {
2270
+ "char": "a",
2271
+ "description": "Number of credits to transfer",
2272
+ "name": "amount",
2273
+ "hasDynamicHelp": false,
2274
+ "multiple": false,
2275
+ "type": "option"
2276
+ },
2277
+ "yes": {
2278
+ "char": "y",
2279
+ "description": "Skip confirmation prompt",
2280
+ "name": "yes",
2281
+ "allowNo": false,
2282
+ "type": "boolean"
2283
+ }
2284
+ },
2285
+ "hasDynamicHelp": false,
2286
+ "hiddenAliases": [],
2287
+ "id": "credits:transfer",
2288
+ "pluginAlias": "@sendly/cli",
2289
+ "pluginName": "@sendly/cli",
2290
+ "pluginType": "core",
2291
+ "strict": true,
2292
+ "isESM": true,
2293
+ "relativePath": [
2294
+ "dist",
2295
+ "commands",
2296
+ "credits",
2297
+ "transfer.js"
2298
+ ]
2299
+ },
2061
2300
  "drafts:approve": {
2062
2301
  "aliases": [],
2063
2302
  "args": {
@@ -4204,29 +4443,80 @@
4204
4443
  "multiple": false,
4205
4444
  "type": "option"
4206
4445
  },
4207
- "type": {
4208
- "description": "Message type: marketing (default) or transactional",
4209
- "name": "type",
4210
- "default": "marketing",
4446
+ "type": {
4447
+ "description": "Message type: marketing (default) or transactional",
4448
+ "name": "type",
4449
+ "default": "marketing",
4450
+ "hasDynamicHelp": false,
4451
+ "multiple": false,
4452
+ "options": [
4453
+ "marketing",
4454
+ "transactional"
4455
+ ],
4456
+ "type": "option"
4457
+ },
4458
+ "media-url": {
4459
+ "description": "Media URL to attach (MMS). Can be specified multiple times.",
4460
+ "name": "media-url",
4461
+ "hasDynamicHelp": false,
4462
+ "multiple": true,
4463
+ "type": "option"
4464
+ }
4465
+ },
4466
+ "hasDynamicHelp": false,
4467
+ "hiddenAliases": [],
4468
+ "id": "sms:send",
4469
+ "pluginAlias": "@sendly/cli",
4470
+ "pluginName": "@sendly/cli",
4471
+ "pluginType": "core",
4472
+ "strict": true,
4473
+ "isESM": true,
4474
+ "relativePath": [
4475
+ "dist",
4476
+ "commands",
4477
+ "sms",
4478
+ "send.js"
4479
+ ]
4480
+ },
4481
+ "sms:upload-media": {
4482
+ "aliases": [],
4483
+ "args": {
4484
+ "file": {
4485
+ "description": "Path to the image file (JPEG, PNG, or GIF)",
4486
+ "name": "file",
4487
+ "required": true
4488
+ }
4489
+ },
4490
+ "description": "Upload a JPEG/PNG/GIF image for MMS and get back a public URL to pass to `sms send --media`. Requires MMS to be enabled for your account.",
4491
+ "examples": [
4492
+ "<%= config.bin %> sms upload-media ./promo.jpg",
4493
+ "<%= config.bin %> sms upload-media ./animated.gif --json"
4494
+ ],
4495
+ "flags": {
4496
+ "json": {
4497
+ "description": "Output in JSON format",
4498
+ "name": "json",
4499
+ "allowNo": false,
4500
+ "type": "boolean"
4501
+ },
4502
+ "quiet": {
4503
+ "char": "q",
4504
+ "description": "Minimal output",
4505
+ "name": "quiet",
4506
+ "allowNo": false,
4507
+ "type": "boolean"
4508
+ },
4509
+ "content-type": {
4510
+ "description": "Override the detected mime type",
4511
+ "name": "content-type",
4211
4512
  "hasDynamicHelp": false,
4212
4513
  "multiple": false,
4213
- "options": [
4214
- "marketing",
4215
- "transactional"
4216
- ],
4217
- "type": "option"
4218
- },
4219
- "media-url": {
4220
- "description": "Media URL to attach (MMS). Can be specified multiple times.",
4221
- "name": "media-url",
4222
- "hasDynamicHelp": false,
4223
- "multiple": true,
4224
4514
  "type": "option"
4225
4515
  }
4226
4516
  },
4227
4517
  "hasDynamicHelp": false,
4228
4518
  "hiddenAliases": [],
4229
- "id": "sms:send",
4519
+ "id": "sms:upload-media",
4230
4520
  "pluginAlias": "@sendly/cli",
4231
4521
  "pluginName": "@sendly/cli",
4232
4522
  "pluginType": "core",
@@ -4236,7 +4526,7 @@
4236
4526
  "dist",
4237
4527
  "commands",
4238
4528
  "sms",
4239
- "send.js"
4529
+ "upload-media.js"
4240
4530
  ]
4241
4531
  },
4242
4532
  "teams:create": {
@@ -4671,6 +4961,72 @@
4671
4961
  "delete.js"
4672
4962
  ]
4673
4963
  },
4964
+ "templates:enhance": {
4965
+ "aliases": [],
4966
+ "args": {
4967
+ "text": {
4968
+ "description": "Message text to enhance (alternative to --text / --file)",
4969
+ "name": "text",
4970
+ "required": false
4971
+ }
4972
+ },
4973
+ "description": "AI-enhance a message template for clarity, compliance, and send-readiness. Returns the rewritten text + an explanation.",
4974
+ "examples": [
4975
+ "<%= config.bin %> templates enhance --text \"hey come check out our sale\"",
4976
+ "<%= config.bin %> templates enhance --file ./draft.txt --message-type marketing",
4977
+ "<%= config.bin %> echo \"your sale msg\" | sendly templates enhance --message-type promotional"
4978
+ ],
4979
+ "flags": {
4980
+ "json": {
4981
+ "description": "Output in JSON format",
4982
+ "name": "json",
4983
+ "allowNo": false,
4984
+ "type": "boolean"
4985
+ },
4986
+ "quiet": {
4987
+ "char": "q",
4988
+ "description": "Minimal output",
4989
+ "name": "quiet",
4990
+ "allowNo": false,
4991
+ "type": "boolean"
4992
+ },
4993
+ "text": {
4994
+ "description": "Message text to enhance",
4995
+ "name": "text",
4996
+ "hasDynamicHelp": false,
4997
+ "multiple": false,
4998
+ "type": "option"
4999
+ },
5000
+ "file": {
5001
+ "description": "Read message text from a file path",
5002
+ "name": "file",
5003
+ "hasDynamicHelp": false,
5004
+ "multiple": false,
5005
+ "type": "option"
5006
+ },
5007
+ "message-type": {
5008
+ "description": "Hint the kind of message (e.g. marketing, transactional, notification) for targeted enhancements",
5009
+ "name": "message-type",
5010
+ "hasDynamicHelp": false,
5011
+ "multiple": false,
5012
+ "type": "option"
5013
+ }
5014
+ },
5015
+ "hasDynamicHelp": false,
5016
+ "hiddenAliases": [],
5017
+ "id": "templates:enhance",
5018
+ "pluginAlias": "@sendly/cli",
5019
+ "pluginName": "@sendly/cli",
5020
+ "pluginType": "core",
5021
+ "strict": true,
5022
+ "isESM": true,
5023
+ "relativePath": [
5024
+ "dist",
5025
+ "commands",
5026
+ "templates",
5027
+ "enhance.js"
5028
+ ]
5029
+ },
4674
5030
  "templates:get": {
4675
5031
  "aliases": [],
4676
5032
  "args": {
@@ -4954,8 +5310,7 @@
4954
5310
  "description": "List recent verifications",
4955
5311
  "examples": [
4956
5312
  "<%= config.bin %> verify list",
4957
- "<%= config.bin %> verify list --limit 10",
4958
- "<%= config.bin %> verify list --page 2",
5313
+ "<%= config.bin %> verify list --limit 50",
4959
5314
  "<%= config.bin %> verify list --status verified",
4960
5315
  "<%= config.bin %> verify list --json"
4961
5316
  ],
@@ -4975,28 +5330,13 @@
4975
5330
  },
4976
5331
  "limit": {
4977
5332
  "char": "l",
4978
- "description": "Number of verifications per page",
5333
+ "description": "Number of verifications to fetch (max 100)",
4979
5334
  "name": "limit",
4980
5335
  "default": 20,
4981
5336
  "hasDynamicHelp": false,
4982
5337
  "multiple": false,
4983
5338
  "type": "option"
4984
5339
  },
4985
- "page": {
4986
- "char": "p",
4987
- "description": "Page number (starts at 1)",
4988
- "name": "page",
4989
- "hasDynamicHelp": false,
4990
- "multiple": false,
4991
- "type": "option"
4992
- },
4993
- "offset": {
4994
- "description": "Offset from start (alternative to --page)",
4995
- "name": "offset",
4996
- "hasDynamicHelp": false,
4997
- "multiple": false,
4998
- "type": "option"
4999
- },
5000
5340
  "status": {
5001
5341
  "char": "s",
5002
5342
  "description": "Filter by status (pending, verified, expired, failed)",
@@ -5504,9 +5844,9 @@
5504
5844
  },
5505
5845
  "events": {
5506
5846
  "char": "e",
5507
- "description": "Comma-separated list of events to listen for",
5847
+ "description": "Comma-separated list of events to listen for. Default subscribes to all message.* and contact.* / contacts.* events so nothing is missed during local dev.",
5508
5848
  "name": "events",
5509
- "default": "message.sent,message.delivered,message.failed,message.bounced,message.retrying",
5849
+ "default": "message.sent,message.delivered,message.failed,message.bounced,message.retrying,message.received,message.opt_out,message.opt_in,contact.auto_flagged,contact.marked_valid,contacts.lookup_completed,contacts.bulk_marked_valid",
5510
5850
  "hasDynamicHelp": false,
5511
5851
  "multiple": false,
5512
5852
  "type": "option"
@@ -6135,181 +6475,21 @@
6135
6475
  "flags": {
6136
6476
  "json": {
6137
6477
  "description": "Output in JSON format",
6138
- "name": "json",
6139
- "allowNo": false,
6140
- "type": "boolean"
6141
- },
6142
- "quiet": {
6143
- "char": "q",
6144
- "description": "Minimal output",
6145
- "name": "quiet",
6146
- "allowNo": false,
6147
- "type": "boolean"
6148
- }
6149
- },
6150
- "hasDynamicHelp": false,
6151
- "hiddenAliases": [],
6152
- "id": "enterprise:analytics:delivery",
6153
- "pluginAlias": "@sendly/cli",
6154
- "pluginName": "@sendly/cli",
6155
- "pluginType": "core",
6156
- "strict": true,
6157
- "isESM": true,
6158
- "relativePath": [
6159
- "dist",
6160
- "commands",
6161
- "enterprise",
6162
- "analytics",
6163
- "delivery.js"
6164
- ]
6165
- },
6166
- "enterprise:analytics:messages": {
6167
- "aliases": [],
6168
- "args": {},
6169
- "description": "Get message analytics across all workspaces",
6170
- "examples": [
6171
- "<%= config.bin %> enterprise analytics messages",
6172
- "<%= config.bin %> enterprise analytics messages --period 30d",
6173
- "<%= config.bin %> enterprise analytics messages --period 90d --json"
6174
- ],
6175
- "flags": {
6176
- "json": {
6177
- "description": "Output in JSON format",
6178
- "name": "json",
6179
- "allowNo": false,
6180
- "type": "boolean"
6181
- },
6182
- "quiet": {
6183
- "char": "q",
6184
- "description": "Minimal output",
6185
- "name": "quiet",
6186
- "allowNo": false,
6187
- "type": "boolean"
6188
- },
6189
- "period": {
6190
- "char": "p",
6191
- "description": "Time period (7d, 30d, 90d)",
6192
- "name": "period",
6193
- "default": "7d",
6194
- "hasDynamicHelp": false,
6195
- "multiple": false,
6196
- "options": [
6197
- "7d",
6198
- "30d",
6199
- "90d"
6200
- ],
6201
- "type": "option"
6202
- }
6203
- },
6204
- "hasDynamicHelp": false,
6205
- "hiddenAliases": [],
6206
- "id": "enterprise:analytics:messages",
6207
- "pluginAlias": "@sendly/cli",
6208
- "pluginName": "@sendly/cli",
6209
- "pluginType": "core",
6210
- "strict": true,
6211
- "isESM": true,
6212
- "relativePath": [
6213
- "dist",
6214
- "commands",
6215
- "enterprise",
6216
- "analytics",
6217
- "messages.js"
6218
- ]
6219
- },
6220
- "enterprise:analytics:overview": {
6221
- "aliases": [],
6222
- "args": {},
6223
- "description": "Get enterprise-wide analytics overview",
6224
- "examples": [
6225
- "<%= config.bin %> enterprise analytics overview",
6226
- "<%= config.bin %> enterprise analytics overview --json"
6227
- ],
6228
- "flags": {
6229
- "json": {
6230
- "description": "Output in JSON format",
6231
- "name": "json",
6232
- "allowNo": false,
6233
- "type": "boolean"
6234
- },
6235
- "quiet": {
6236
- "char": "q",
6237
- "description": "Minimal output",
6238
- "name": "quiet",
6239
- "allowNo": false,
6240
- "type": "boolean"
6241
- }
6242
- },
6243
- "hasDynamicHelp": false,
6244
- "hiddenAliases": [],
6245
- "id": "enterprise:analytics:overview",
6246
- "pluginAlias": "@sendly/cli",
6247
- "pluginName": "@sendly/cli",
6248
- "pluginType": "core",
6249
- "strict": true,
6250
- "isESM": true,
6251
- "relativePath": [
6252
- "dist",
6253
- "commands",
6254
- "enterprise",
6255
- "analytics",
6256
- "overview.js"
6257
- ]
6258
- },
6259
- "enterprise:keys:create": {
6260
- "aliases": [],
6261
- "args": {
6262
- "workspaceId": {
6263
- "description": "Workspace ID",
6264
- "name": "workspaceId",
6265
- "required": true
6266
- }
6267
- },
6268
- "description": "Create an API key for an enterprise workspace",
6269
- "examples": [
6270
- "<%= config.bin %> enterprise keys create org_abc123 --name \"Production\"",
6271
- "<%= config.bin %> enterprise keys create org_abc123 --name \"CI\" --type test"
6272
- ],
6273
- "flags": {
6274
- "json": {
6275
- "description": "Output in JSON format",
6276
- "name": "json",
6277
- "allowNo": false,
6278
- "type": "boolean"
6279
- },
6280
- "quiet": {
6281
- "char": "q",
6282
- "description": "Minimal output",
6283
- "name": "quiet",
6284
- "allowNo": false,
6285
- "type": "boolean"
6286
- },
6287
- "name": {
6288
- "char": "n",
6289
- "description": "Name for the API key",
6290
- "name": "name",
6291
- "required": true,
6292
- "hasDynamicHelp": false,
6293
- "multiple": false,
6294
- "type": "option"
6295
- },
6296
- "type": {
6297
- "char": "t",
6298
- "description": "Key type (test or live)",
6299
- "name": "type",
6300
- "default": "live",
6301
- "hasDynamicHelp": false,
6302
- "multiple": false,
6303
- "options": [
6304
- "test",
6305
- "live"
6306
- ],
6307
- "type": "option"
6478
+ "name": "json",
6479
+ "allowNo": false,
6480
+ "type": "boolean"
6481
+ },
6482
+ "quiet": {
6483
+ "char": "q",
6484
+ "description": "Minimal output",
6485
+ "name": "quiet",
6486
+ "allowNo": false,
6487
+ "type": "boolean"
6308
6488
  }
6309
6489
  },
6310
6490
  "hasDynamicHelp": false,
6311
6491
  "hiddenAliases": [],
6312
- "id": "enterprise:keys:create",
6492
+ "id": "enterprise:analytics:delivery",
6313
6493
  "pluginAlias": "@sendly/cli",
6314
6494
  "pluginName": "@sendly/cli",
6315
6495
  "pluginType": "core",
@@ -6319,23 +6499,18 @@
6319
6499
  "dist",
6320
6500
  "commands",
6321
6501
  "enterprise",
6322
- "keys",
6323
- "create.js"
6502
+ "analytics",
6503
+ "delivery.js"
6324
6504
  ]
6325
6505
  },
6326
- "enterprise:keys:list": {
6506
+ "enterprise:analytics:messages": {
6327
6507
  "aliases": [],
6328
- "args": {
6329
- "workspaceId": {
6330
- "description": "Workspace ID",
6331
- "name": "workspaceId",
6332
- "required": true
6333
- }
6334
- },
6335
- "description": "List API keys for an enterprise workspace",
6508
+ "args": {},
6509
+ "description": "Get message analytics across all workspaces",
6336
6510
  "examples": [
6337
- "<%= config.bin %> enterprise keys list org_abc123",
6338
- "<%= config.bin %> enterprise keys list org_abc123 --json"
6511
+ "<%= config.bin %> enterprise analytics messages",
6512
+ "<%= config.bin %> enterprise analytics messages --period 30d",
6513
+ "<%= config.bin %> enterprise analytics messages --period 90d --json"
6339
6514
  ],
6340
6515
  "flags": {
6341
6516
  "json": {
@@ -6350,11 +6525,25 @@
6350
6525
  "name": "quiet",
6351
6526
  "allowNo": false,
6352
6527
  "type": "boolean"
6528
+ },
6529
+ "period": {
6530
+ "char": "p",
6531
+ "description": "Time period (7d, 30d, 90d)",
6532
+ "name": "period",
6533
+ "default": "7d",
6534
+ "hasDynamicHelp": false,
6535
+ "multiple": false,
6536
+ "options": [
6537
+ "7d",
6538
+ "30d",
6539
+ "90d"
6540
+ ],
6541
+ "type": "option"
6353
6542
  }
6354
6543
  },
6355
6544
  "hasDynamicHelp": false,
6356
6545
  "hiddenAliases": [],
6357
- "id": "enterprise:keys:list",
6546
+ "id": "enterprise:analytics:messages",
6358
6547
  "pluginAlias": "@sendly/cli",
6359
6548
  "pluginName": "@sendly/cli",
6360
6549
  "pluginType": "core",
@@ -6364,28 +6553,17 @@
6364
6553
  "dist",
6365
6554
  "commands",
6366
6555
  "enterprise",
6367
- "keys",
6368
- "list.js"
6556
+ "analytics",
6557
+ "messages.js"
6369
6558
  ]
6370
6559
  },
6371
- "enterprise:keys:revoke": {
6560
+ "enterprise:analytics:overview": {
6372
6561
  "aliases": [],
6373
- "args": {
6374
- "workspaceId": {
6375
- "description": "Workspace ID",
6376
- "name": "workspaceId",
6377
- "required": true
6378
- },
6379
- "keyId": {
6380
- "description": "API key ID to revoke",
6381
- "name": "keyId",
6382
- "required": true
6383
- }
6384
- },
6385
- "description": "Revoke an API key for an enterprise workspace",
6562
+ "args": {},
6563
+ "description": "Get enterprise-wide analytics overview",
6386
6564
  "examples": [
6387
- "<%= config.bin %> enterprise keys revoke org_abc123 key_xyz",
6388
- "<%= config.bin %> enterprise keys revoke org_abc123 key_xyz --yes"
6565
+ "<%= config.bin %> enterprise analytics overview",
6566
+ "<%= config.bin %> enterprise analytics overview --json"
6389
6567
  ],
6390
6568
  "flags": {
6391
6569
  "json": {
@@ -6400,18 +6578,11 @@
6400
6578
  "name": "quiet",
6401
6579
  "allowNo": false,
6402
6580
  "type": "boolean"
6403
- },
6404
- "yes": {
6405
- "char": "y",
6406
- "description": "Skip confirmation prompt",
6407
- "name": "yes",
6408
- "allowNo": false,
6409
- "type": "boolean"
6410
6581
  }
6411
6582
  },
6412
6583
  "hasDynamicHelp": false,
6413
6584
  "hiddenAliases": [],
6414
- "id": "enterprise:keys:revoke",
6585
+ "id": "enterprise:analytics:overview",
6415
6586
  "pluginAlias": "@sendly/cli",
6416
6587
  "pluginName": "@sendly/cli",
6417
6588
  "pluginType": "core",
@@ -6421,8 +6592,8 @@
6421
6592
  "dist",
6422
6593
  "commands",
6423
6594
  "enterprise",
6424
- "keys",
6425
- "revoke.js"
6595
+ "analytics",
6596
+ "overview.js"
6426
6597
  ]
6427
6598
  },
6428
6599
  "enterprise:quota:get": {
@@ -6996,7 +7167,176 @@
6996
7167
  "workspaces",
6997
7168
  "suspend.js"
6998
7169
  ]
7170
+ },
7171
+ "enterprise:keys:create": {
7172
+ "aliases": [],
7173
+ "args": {
7174
+ "workspaceId": {
7175
+ "description": "Workspace ID",
7176
+ "name": "workspaceId",
7177
+ "required": true
7178
+ }
7179
+ },
7180
+ "description": "Create an API key for an enterprise workspace",
7181
+ "examples": [
7182
+ "<%= config.bin %> enterprise keys create org_abc123 --name \"Production\"",
7183
+ "<%= config.bin %> enterprise keys create org_abc123 --name \"CI\" --type test"
7184
+ ],
7185
+ "flags": {
7186
+ "json": {
7187
+ "description": "Output in JSON format",
7188
+ "name": "json",
7189
+ "allowNo": false,
7190
+ "type": "boolean"
7191
+ },
7192
+ "quiet": {
7193
+ "char": "q",
7194
+ "description": "Minimal output",
7195
+ "name": "quiet",
7196
+ "allowNo": false,
7197
+ "type": "boolean"
7198
+ },
7199
+ "name": {
7200
+ "char": "n",
7201
+ "description": "Name for the API key",
7202
+ "name": "name",
7203
+ "required": true,
7204
+ "hasDynamicHelp": false,
7205
+ "multiple": false,
7206
+ "type": "option"
7207
+ },
7208
+ "type": {
7209
+ "char": "t",
7210
+ "description": "Key type (test or live)",
7211
+ "name": "type",
7212
+ "default": "live",
7213
+ "hasDynamicHelp": false,
7214
+ "multiple": false,
7215
+ "options": [
7216
+ "test",
7217
+ "live"
7218
+ ],
7219
+ "type": "option"
7220
+ }
7221
+ },
7222
+ "hasDynamicHelp": false,
7223
+ "hiddenAliases": [],
7224
+ "id": "enterprise:keys:create",
7225
+ "pluginAlias": "@sendly/cli",
7226
+ "pluginName": "@sendly/cli",
7227
+ "pluginType": "core",
7228
+ "strict": true,
7229
+ "isESM": true,
7230
+ "relativePath": [
7231
+ "dist",
7232
+ "commands",
7233
+ "enterprise",
7234
+ "keys",
7235
+ "create.js"
7236
+ ]
7237
+ },
7238
+ "enterprise:keys:list": {
7239
+ "aliases": [],
7240
+ "args": {
7241
+ "workspaceId": {
7242
+ "description": "Workspace ID",
7243
+ "name": "workspaceId",
7244
+ "required": true
7245
+ }
7246
+ },
7247
+ "description": "List API keys for an enterprise workspace",
7248
+ "examples": [
7249
+ "<%= config.bin %> enterprise keys list org_abc123",
7250
+ "<%= config.bin %> enterprise keys list org_abc123 --json"
7251
+ ],
7252
+ "flags": {
7253
+ "json": {
7254
+ "description": "Output in JSON format",
7255
+ "name": "json",
7256
+ "allowNo": false,
7257
+ "type": "boolean"
7258
+ },
7259
+ "quiet": {
7260
+ "char": "q",
7261
+ "description": "Minimal output",
7262
+ "name": "quiet",
7263
+ "allowNo": false,
7264
+ "type": "boolean"
7265
+ }
7266
+ },
7267
+ "hasDynamicHelp": false,
7268
+ "hiddenAliases": [],
7269
+ "id": "enterprise:keys:list",
7270
+ "pluginAlias": "@sendly/cli",
7271
+ "pluginName": "@sendly/cli",
7272
+ "pluginType": "core",
7273
+ "strict": true,
7274
+ "isESM": true,
7275
+ "relativePath": [
7276
+ "dist",
7277
+ "commands",
7278
+ "enterprise",
7279
+ "keys",
7280
+ "list.js"
7281
+ ]
7282
+ },
7283
+ "enterprise:keys:revoke": {
7284
+ "aliases": [],
7285
+ "args": {
7286
+ "workspaceId": {
7287
+ "description": "Workspace ID",
7288
+ "name": "workspaceId",
7289
+ "required": true
7290
+ },
7291
+ "keyId": {
7292
+ "description": "API key ID to revoke",
7293
+ "name": "keyId",
7294
+ "required": true
7295
+ }
7296
+ },
7297
+ "description": "Revoke an API key for an enterprise workspace",
7298
+ "examples": [
7299
+ "<%= config.bin %> enterprise keys revoke org_abc123 key_xyz",
7300
+ "<%= config.bin %> enterprise keys revoke org_abc123 key_xyz --yes"
7301
+ ],
7302
+ "flags": {
7303
+ "json": {
7304
+ "description": "Output in JSON format",
7305
+ "name": "json",
7306
+ "allowNo": false,
7307
+ "type": "boolean"
7308
+ },
7309
+ "quiet": {
7310
+ "char": "q",
7311
+ "description": "Minimal output",
7312
+ "name": "quiet",
7313
+ "allowNo": false,
7314
+ "type": "boolean"
7315
+ },
7316
+ "yes": {
7317
+ "char": "y",
7318
+ "description": "Skip confirmation prompt",
7319
+ "name": "yes",
7320
+ "allowNo": false,
7321
+ "type": "boolean"
7322
+ }
7323
+ },
7324
+ "hasDynamicHelp": false,
7325
+ "hiddenAliases": [],
7326
+ "id": "enterprise:keys:revoke",
7327
+ "pluginAlias": "@sendly/cli",
7328
+ "pluginName": "@sendly/cli",
7329
+ "pluginType": "core",
7330
+ "strict": true,
7331
+ "isESM": true,
7332
+ "relativePath": [
7333
+ "dist",
7334
+ "commands",
7335
+ "enterprise",
7336
+ "keys",
7337
+ "revoke.js"
7338
+ ]
6999
7339
  }
7000
7340
  },
7001
- "version": "3.27.1"
7341
+ "version": "3.32.0"
7002
7342
  }