devhelm 0.1.4 → 0.1.6

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 (95) hide show
  1. package/dist/commands/alert-channels/test.js +2 -5
  2. package/dist/commands/alert-channels/test.js.map +1 -1
  3. package/dist/commands/api-keys/revoke.js +1 -2
  4. package/dist/commands/api-keys/revoke.js.map +1 -1
  5. package/dist/commands/auth/login.js +7 -12
  6. package/dist/commands/auth/login.js.map +1 -1
  7. package/dist/commands/auth/me.js +6 -8
  8. package/dist/commands/auth/me.js.map +1 -1
  9. package/dist/commands/data/services/status.js +2 -5
  10. package/dist/commands/data/services/status.js.map +1 -1
  11. package/dist/commands/data/services/uptime.js +5 -8
  12. package/dist/commands/data/services/uptime.js.map +1 -1
  13. package/dist/commands/dependencies/track.js +2 -5
  14. package/dist/commands/dependencies/track.js.map +1 -1
  15. package/dist/commands/deploy/force-unlock.js +57 -0
  16. package/dist/commands/deploy/force-unlock.js.map +1 -0
  17. package/dist/commands/deploy/index.js +234 -0
  18. package/dist/commands/deploy/index.js.map +1 -0
  19. package/dist/commands/incidents/resolve.js +2 -7
  20. package/dist/commands/incidents/resolve.js.map +1 -1
  21. package/dist/commands/init.js +102 -27
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/monitors/pause.js +2 -5
  24. package/dist/commands/monitors/pause.js.map +1 -1
  25. package/dist/commands/monitors/results.js +7 -10
  26. package/dist/commands/monitors/results.js.map +1 -1
  27. package/dist/commands/monitors/resume.js +2 -5
  28. package/dist/commands/monitors/resume.js.map +1 -1
  29. package/dist/commands/monitors/test.js +2 -5
  30. package/dist/commands/monitors/test.js.map +1 -1
  31. package/dist/commands/monitors/versions/get.js +22 -0
  32. package/dist/commands/monitors/versions/get.js.map +1 -0
  33. package/dist/commands/monitors/versions/list.js +30 -0
  34. package/dist/commands/monitors/versions/list.js.map +1 -0
  35. package/dist/commands/notification-policies/test.js +1 -2
  36. package/dist/commands/notification-policies/test.js.map +1 -1
  37. package/dist/commands/plan.js +96 -0
  38. package/dist/commands/plan.js.map +1 -0
  39. package/dist/commands/status.js +4 -6
  40. package/dist/commands/status.js.map +1 -1
  41. package/dist/commands/validate.js +79 -39
  42. package/dist/commands/validate.js.map +1 -1
  43. package/dist/commands/webhooks/test.js +2 -5
  44. package/dist/commands/webhooks/test.js.map +1 -1
  45. package/dist/lib/api-client.js +38 -4
  46. package/dist/lib/api-client.js.map +1 -1
  47. package/dist/lib/auth.js +6 -1
  48. package/dist/lib/auth.js.map +1 -1
  49. package/dist/lib/base-command.js +3 -0
  50. package/dist/lib/base-command.js.map +1 -1
  51. package/dist/lib/crud-commands.js +17 -25
  52. package/dist/lib/crud-commands.js.map +1 -1
  53. package/dist/lib/descriptions.generated.js +7 -3
  54. package/dist/lib/descriptions.generated.js.map +1 -1
  55. package/dist/lib/errors.js +2 -13
  56. package/dist/lib/errors.js.map +1 -1
  57. package/dist/lib/output.js.map +1 -1
  58. package/dist/lib/resource-types.js +2 -0
  59. package/dist/lib/resource-types.js.map +1 -0
  60. package/dist/lib/resources.js +24 -7
  61. package/dist/lib/resources.js.map +1 -1
  62. package/dist/lib/typed-api.js +33 -0
  63. package/dist/lib/typed-api.js.map +1 -0
  64. package/dist/lib/yaml/applier.js +117 -0
  65. package/dist/lib/yaml/applier.js.map +1 -0
  66. package/dist/lib/yaml/differ.js +166 -0
  67. package/dist/lib/yaml/differ.js.map +1 -0
  68. package/dist/lib/yaml/entitlements.js +69 -0
  69. package/dist/lib/yaml/entitlements.js.map +1 -0
  70. package/dist/lib/yaml/handlers.js +480 -0
  71. package/dist/lib/yaml/handlers.js.map +1 -0
  72. package/dist/lib/yaml/index.js +10 -0
  73. package/dist/lib/yaml/index.js.map +1 -0
  74. package/dist/lib/yaml/interpolation.js +77 -0
  75. package/dist/lib/yaml/interpolation.js.map +1 -0
  76. package/dist/lib/yaml/parser.js +140 -0
  77. package/dist/lib/yaml/parser.js.map +1 -0
  78. package/dist/lib/yaml/resolver.js +54 -0
  79. package/dist/lib/yaml/resolver.js.map +1 -0
  80. package/dist/lib/yaml/schema.js +42 -0
  81. package/dist/lib/yaml/schema.js.map +1 -0
  82. package/dist/lib/yaml/state.js +43 -0
  83. package/dist/lib/yaml/state.js.map +1 -0
  84. package/dist/lib/yaml/transform.js +182 -0
  85. package/dist/lib/yaml/transform.js.map +1 -0
  86. package/dist/lib/yaml/types.js +7 -0
  87. package/dist/lib/yaml/types.js.map +1 -0
  88. package/dist/lib/yaml/validator.js +433 -0
  89. package/dist/lib/yaml/validator.js.map +1 -0
  90. package/oclif.manifest.json +584 -225
  91. package/package.json +3 -1
  92. package/dist/commands/incidents/delete.js +0 -4
  93. package/dist/commands/incidents/delete.js.map +0 -1
  94. package/dist/commands/incidents/update.js +0 -4
  95. package/dist/commands/incidents/update.js.map +0 -1
@@ -39,6 +39,98 @@
39
39
  "init.js"
40
40
  ]
41
41
  },
42
+ "plan": {
43
+ "aliases": [],
44
+ "args": {},
45
+ "description": "Show what \"devhelm deploy\" would change without applying",
46
+ "examples": [
47
+ "<%= config.bin %> plan",
48
+ "<%= config.bin %> plan -f monitors.yml",
49
+ "<%= config.bin %> plan --prune",
50
+ "<%= config.bin %> plan --prune-all",
51
+ "<%= config.bin %> plan --detailed-exitcode",
52
+ "<%= config.bin %> plan -o json"
53
+ ],
54
+ "flags": {
55
+ "file": {
56
+ "char": "f",
57
+ "description": "Config file or directory (can be specified multiple times)",
58
+ "name": "file",
59
+ "default": [
60
+ "devhelm.yml"
61
+ ],
62
+ "hasDynamicHelp": false,
63
+ "multiple": true,
64
+ "type": "option"
65
+ },
66
+ "prune": {
67
+ "description": "Include deletions of CLI-managed resources not in config",
68
+ "name": "prune",
69
+ "allowNo": false,
70
+ "type": "boolean"
71
+ },
72
+ "prune-all": {
73
+ "description": "Include deletions of ALL resources not in config, including those not managed by the CLI",
74
+ "name": "prune-all",
75
+ "allowNo": false,
76
+ "type": "boolean"
77
+ },
78
+ "detailed-exitcode": {
79
+ "description": "Return exit code 10 if plan has changes (for CI)",
80
+ "name": "detailed-exitcode",
81
+ "allowNo": false,
82
+ "type": "boolean"
83
+ },
84
+ "output": {
85
+ "char": "o",
86
+ "description": "Output format (text or json)",
87
+ "name": "output",
88
+ "default": "text",
89
+ "hasDynamicHelp": false,
90
+ "multiple": false,
91
+ "options": [
92
+ "text",
93
+ "json"
94
+ ],
95
+ "type": "option"
96
+ },
97
+ "api-url": {
98
+ "description": "Override API base URL",
99
+ "name": "api-url",
100
+ "hasDynamicHelp": false,
101
+ "multiple": false,
102
+ "type": "option"
103
+ },
104
+ "api-token": {
105
+ "description": "Override API token",
106
+ "name": "api-token",
107
+ "hasDynamicHelp": false,
108
+ "multiple": false,
109
+ "type": "option"
110
+ },
111
+ "verbose": {
112
+ "char": "v",
113
+ "description": "Show verbose output",
114
+ "name": "verbose",
115
+ "allowNo": false,
116
+ "type": "boolean"
117
+ }
118
+ },
119
+ "hasDynamicHelp": false,
120
+ "hiddenAliases": [],
121
+ "id": "plan",
122
+ "pluginAlias": "devhelm",
123
+ "pluginName": "devhelm",
124
+ "pluginType": "core",
125
+ "strict": true,
126
+ "enableJsonFlag": false,
127
+ "isESM": true,
128
+ "relativePath": [
129
+ "dist",
130
+ "commands",
131
+ "plan.js"
132
+ ]
133
+ },
42
134
  "status": {
43
135
  "aliases": [],
44
136
  "args": {},
@@ -107,12 +199,40 @@
107
199
  "name": "file"
108
200
  }
109
201
  },
110
- "description": "Validate a devhelm.yml configuration file",
202
+ "description": "Validate a devhelm.yml configuration file against the full schema",
111
203
  "examples": [
112
204
  "<%= config.bin %> validate",
113
- "<%= config.bin %> validate devhelm.yml"
205
+ "<%= config.bin %> validate devhelm.yml",
206
+ "<%= config.bin %> validate --strict",
207
+ "<%= config.bin %> validate -o json"
114
208
  ],
115
- "flags": {},
209
+ "flags": {
210
+ "strict": {
211
+ "description": "Fail on warnings (unresolved cross-references, etc.)",
212
+ "name": "strict",
213
+ "allowNo": false,
214
+ "type": "boolean"
215
+ },
216
+ "skip-env": {
217
+ "description": "Skip environment variable interpolation (syntax check only)",
218
+ "name": "skip-env",
219
+ "allowNo": false,
220
+ "type": "boolean"
221
+ },
222
+ "output": {
223
+ "char": "o",
224
+ "description": "Output format (text or json)",
225
+ "name": "output",
226
+ "default": "text",
227
+ "hasDynamicHelp": false,
228
+ "multiple": false,
229
+ "options": [
230
+ "text",
231
+ "json"
232
+ ],
233
+ "type": "option"
234
+ }
235
+ },
116
236
  "hasDynamicHelp": false,
117
237
  "hiddenAliases": [],
118
238
  "id": "validate",
@@ -424,6 +544,14 @@
424
544
  "name": "verbose",
425
545
  "allowNo": false,
426
546
  "type": "boolean"
547
+ },
548
+ "page-size": {
549
+ "description": "Number of items per API request (1–200)",
550
+ "name": "page-size",
551
+ "default": 200,
552
+ "hasDynamicHelp": false,
553
+ "multiple": false,
554
+ "type": "option"
427
555
  }
428
556
  },
429
557
  "hasDynamicHelp": false,
@@ -860,6 +988,14 @@
860
988
  "name": "verbose",
861
989
  "allowNo": false,
862
990
  "type": "boolean"
991
+ },
992
+ "page-size": {
993
+ "description": "Number of items per API request (1–200)",
994
+ "name": "page-size",
995
+ "default": 200,
996
+ "hasDynamicHelp": false,
997
+ "multiple": false,
998
+ "type": "option"
863
999
  }
864
1000
  },
865
1001
  "hasDynamicHelp": false,
@@ -1204,15 +1340,15 @@
1204
1340
  "dependencies:delete": {
1205
1341
  "aliases": [],
1206
1342
  "args": {
1207
- "id": {
1208
- "description": "dependency id",
1209
- "name": "id",
1343
+ "subscriptionId": {
1344
+ "description": "dependency subscriptionId",
1345
+ "name": "subscriptionId",
1210
1346
  "required": true
1211
1347
  }
1212
1348
  },
1213
1349
  "description": "Delete a dependency",
1214
1350
  "examples": [
1215
- "<%= config.bin %> dependencies delete <id>"
1351
+ "<%= config.bin %> dependencies delete <subscriptionId>"
1216
1352
  ],
1217
1353
  "flags": {
1218
1354
  "output": {
@@ -1270,15 +1406,15 @@
1270
1406
  "dependencies:get": {
1271
1407
  "aliases": [],
1272
1408
  "args": {
1273
- "id": {
1274
- "description": "dependency id",
1275
- "name": "id",
1409
+ "subscriptionId": {
1410
+ "description": "dependency subscriptionId",
1411
+ "name": "subscriptionId",
1276
1412
  "required": true
1277
1413
  }
1278
1414
  },
1279
- "description": "Get a dependency by id",
1415
+ "description": "Get a dependency by subscriptionId",
1280
1416
  "examples": [
1281
- "<%= config.bin %> dependencies get <id>"
1417
+ "<%= config.bin %> dependencies get <subscriptionId>"
1282
1418
  ],
1283
1419
  "flags": {
1284
1420
  "output": {
@@ -1375,6 +1511,14 @@
1375
1511
  "name": "verbose",
1376
1512
  "allowNo": false,
1377
1513
  "type": "boolean"
1514
+ },
1515
+ "page-size": {
1516
+ "description": "Number of items per API request (1–200)",
1517
+ "name": "page-size",
1518
+ "default": 200,
1519
+ "hasDynamicHelp": false,
1520
+ "multiple": false,
1521
+ "type": "option"
1378
1522
  }
1379
1523
  },
1380
1524
  "hasDynamicHelp": false,
@@ -1459,6 +1603,188 @@
1459
1603
  "track.js"
1460
1604
  ]
1461
1605
  },
1606
+ "deploy:force-unlock": {
1607
+ "aliases": [],
1608
+ "args": {},
1609
+ "description": "Force-release a stuck deploy lock on the current workspace",
1610
+ "examples": [
1611
+ "<%= config.bin %> deploy force-unlock",
1612
+ "<%= config.bin %> deploy force-unlock --yes"
1613
+ ],
1614
+ "flags": {
1615
+ "yes": {
1616
+ "char": "y",
1617
+ "description": "Skip confirmation prompt",
1618
+ "name": "yes",
1619
+ "allowNo": false,
1620
+ "type": "boolean"
1621
+ },
1622
+ "api-url": {
1623
+ "description": "Override API base URL",
1624
+ "name": "api-url",
1625
+ "hasDynamicHelp": false,
1626
+ "multiple": false,
1627
+ "type": "option"
1628
+ },
1629
+ "api-token": {
1630
+ "description": "Override API token",
1631
+ "name": "api-token",
1632
+ "hasDynamicHelp": false,
1633
+ "multiple": false,
1634
+ "type": "option"
1635
+ },
1636
+ "verbose": {
1637
+ "char": "v",
1638
+ "description": "Show verbose output",
1639
+ "name": "verbose",
1640
+ "allowNo": false,
1641
+ "type": "boolean"
1642
+ }
1643
+ },
1644
+ "hasDynamicHelp": false,
1645
+ "hiddenAliases": [],
1646
+ "id": "deploy:force-unlock",
1647
+ "pluginAlias": "devhelm",
1648
+ "pluginName": "devhelm",
1649
+ "pluginType": "core",
1650
+ "strict": true,
1651
+ "enableJsonFlag": false,
1652
+ "isESM": true,
1653
+ "relativePath": [
1654
+ "dist",
1655
+ "commands",
1656
+ "deploy",
1657
+ "force-unlock.js"
1658
+ ]
1659
+ },
1660
+ "deploy": {
1661
+ "aliases": [],
1662
+ "args": {},
1663
+ "description": "Deploy devhelm.yml configuration to the DevHelm API",
1664
+ "examples": [
1665
+ "<%= config.bin %> deploy",
1666
+ "<%= config.bin %> deploy --yes",
1667
+ "<%= config.bin %> deploy -f monitors.yml",
1668
+ "<%= config.bin %> deploy --prune --yes",
1669
+ "<%= config.bin %> deploy --prune-all --yes",
1670
+ "<%= config.bin %> deploy --dry-run",
1671
+ "<%= config.bin %> deploy --dry-run --detailed-exitcode",
1672
+ "<%= config.bin %> deploy -o json --yes"
1673
+ ],
1674
+ "flags": {
1675
+ "file": {
1676
+ "char": "f",
1677
+ "description": "Config file or directory (can be specified multiple times)",
1678
+ "name": "file",
1679
+ "default": [
1680
+ "devhelm.yml"
1681
+ ],
1682
+ "hasDynamicHelp": false,
1683
+ "multiple": true,
1684
+ "type": "option"
1685
+ },
1686
+ "yes": {
1687
+ "char": "y",
1688
+ "description": "Skip confirmation prompt (for CI)",
1689
+ "name": "yes",
1690
+ "allowNo": false,
1691
+ "type": "boolean"
1692
+ },
1693
+ "prune": {
1694
+ "description": "Delete CLI-managed resources not present in config",
1695
+ "name": "prune",
1696
+ "allowNo": false,
1697
+ "type": "boolean"
1698
+ },
1699
+ "prune-all": {
1700
+ "description": "Delete ALL resources not in config, including those not managed by the CLI (use with caution)",
1701
+ "name": "prune-all",
1702
+ "allowNo": false,
1703
+ "type": "boolean"
1704
+ },
1705
+ "dry-run": {
1706
+ "description": "Show what would change without applying (same as \"devhelm plan\")",
1707
+ "name": "dry-run",
1708
+ "allowNo": false,
1709
+ "type": "boolean"
1710
+ },
1711
+ "detailed-exitcode": {
1712
+ "description": "Return exit code 10 if dry-run has changes (for CI)",
1713
+ "name": "detailed-exitcode",
1714
+ "allowNo": false,
1715
+ "type": "boolean"
1716
+ },
1717
+ "output": {
1718
+ "char": "o",
1719
+ "description": "Output format (text or json)",
1720
+ "name": "output",
1721
+ "default": "text",
1722
+ "hasDynamicHelp": false,
1723
+ "multiple": false,
1724
+ "options": [
1725
+ "text",
1726
+ "json"
1727
+ ],
1728
+ "type": "option"
1729
+ },
1730
+ "force-unlock": {
1731
+ "description": "Force-break an existing deploy lock before acquiring",
1732
+ "name": "force-unlock",
1733
+ "allowNo": false,
1734
+ "type": "boolean"
1735
+ },
1736
+ "no-lock": {
1737
+ "description": "Skip deploy locking (not recommended for team use)",
1738
+ "name": "no-lock",
1739
+ "allowNo": false,
1740
+ "type": "boolean"
1741
+ },
1742
+ "lock-timeout": {
1743
+ "description": "Seconds to wait for a conflicting lock to release (0 = fail immediately)",
1744
+ "name": "lock-timeout",
1745
+ "default": 0,
1746
+ "hasDynamicHelp": false,
1747
+ "multiple": false,
1748
+ "type": "option"
1749
+ },
1750
+ "api-url": {
1751
+ "description": "Override API base URL",
1752
+ "name": "api-url",
1753
+ "hasDynamicHelp": false,
1754
+ "multiple": false,
1755
+ "type": "option"
1756
+ },
1757
+ "api-token": {
1758
+ "description": "Override API token",
1759
+ "name": "api-token",
1760
+ "hasDynamicHelp": false,
1761
+ "multiple": false,
1762
+ "type": "option"
1763
+ },
1764
+ "verbose": {
1765
+ "char": "v",
1766
+ "description": "Show verbose output",
1767
+ "name": "verbose",
1768
+ "allowNo": false,
1769
+ "type": "boolean"
1770
+ }
1771
+ },
1772
+ "hasDynamicHelp": false,
1773
+ "hiddenAliases": [],
1774
+ "id": "deploy",
1775
+ "pluginAlias": "devhelm",
1776
+ "pluginName": "devhelm",
1777
+ "pluginType": "core",
1778
+ "strict": true,
1779
+ "enableJsonFlag": false,
1780
+ "isESM": true,
1781
+ "relativePath": [
1782
+ "dist",
1783
+ "commands",
1784
+ "deploy",
1785
+ "index.js"
1786
+ ]
1787
+ },
1462
1788
  "environments:create": {
1463
1789
  "aliases": [],
1464
1790
  "args": {},
@@ -1517,13 +1843,6 @@
1517
1843
  "hasDynamicHelp": false,
1518
1844
  "multiple": false,
1519
1845
  "type": "option"
1520
- },
1521
- "color": {
1522
- "description": "Hex color code (defaults to #6B7280 if omitted)",
1523
- "name": "color",
1524
- "hasDynamicHelp": false,
1525
- "multiple": false,
1526
- "type": "option"
1527
1846
  }
1528
1847
  },
1529
1848
  "hasDynamicHelp": false,
@@ -1716,6 +2035,14 @@
1716
2035
  "name": "verbose",
1717
2036
  "allowNo": false,
1718
2037
  "type": "boolean"
2038
+ },
2039
+ "page-size": {
2040
+ "description": "Number of items per API request (1–200)",
2041
+ "name": "page-size",
2042
+ "default": 200,
2043
+ "hasDynamicHelp": false,
2044
+ "multiple": false,
2045
+ "type": "option"
1719
2046
  }
1720
2047
  },
1721
2048
  "hasDynamicHelp": false,
@@ -1789,13 +2116,6 @@
1789
2116
  "hasDynamicHelp": false,
1790
2117
  "multiple": false,
1791
2118
  "type": "option"
1792
- },
1793
- "color": {
1794
- "description": "New color hex code",
1795
- "name": "color",
1796
- "hasDynamicHelp": false,
1797
- "multiple": false,
1798
- "type": "option"
1799
2119
  }
1800
2120
  },
1801
2121
  "hasDynamicHelp": false,
@@ -1885,149 +2205,17 @@
1885
2205
  "multiple": false,
1886
2206
  "type": "option"
1887
2207
  },
1888
- "body": {
1889
- "description": "Detailed description or context for the incident",
1890
- "name": "body",
1891
- "hasDynamicHelp": false,
1892
- "multiple": false,
1893
- "type": "option"
1894
- }
1895
- },
1896
- "hasDynamicHelp": false,
1897
- "hiddenAliases": [],
1898
- "id": "incidents:create",
1899
- "pluginAlias": "devhelm",
1900
- "pluginName": "devhelm",
1901
- "pluginType": "core",
1902
- "strict": true,
1903
- "enableJsonFlag": false,
1904
- "isESM": true,
1905
- "relativePath": [
1906
- "dist",
1907
- "commands",
1908
- "incidents",
1909
- "create.js"
1910
- ]
1911
- },
1912
- "incidents:delete": {
1913
- "aliases": [],
1914
- "args": {
1915
- "id": {
1916
- "description": "incident id",
1917
- "name": "id",
1918
- "required": true
1919
- }
1920
- },
1921
- "description": "Delete a incident",
1922
- "examples": [
1923
- "<%= config.bin %> incidents delete <id>"
1924
- ],
1925
- "flags": {
1926
- "output": {
1927
- "char": "o",
1928
- "description": "Output format",
1929
- "name": "output",
1930
- "default": "table",
1931
- "hasDynamicHelp": false,
1932
- "multiple": false,
1933
- "options": [
1934
- "table",
1935
- "json",
1936
- "yaml"
1937
- ],
1938
- "type": "option"
1939
- },
1940
- "api-url": {
1941
- "description": "Override API base URL",
1942
- "name": "api-url",
1943
- "hasDynamicHelp": false,
1944
- "multiple": false,
1945
- "type": "option"
1946
- },
1947
- "api-token": {
1948
- "description": "Override API token",
1949
- "name": "api-token",
1950
- "hasDynamicHelp": false,
1951
- "multiple": false,
1952
- "type": "option"
1953
- },
1954
- "verbose": {
1955
- "char": "v",
1956
- "description": "Show verbose output",
1957
- "name": "verbose",
1958
- "allowNo": false,
1959
- "type": "boolean"
1960
- }
1961
- },
1962
- "hasDynamicHelp": false,
1963
- "hiddenAliases": [],
1964
- "id": "incidents:delete",
1965
- "pluginAlias": "devhelm",
1966
- "pluginName": "devhelm",
1967
- "pluginType": "core",
1968
- "strict": true,
1969
- "enableJsonFlag": false,
1970
- "isESM": true,
1971
- "relativePath": [
1972
- "dist",
1973
- "commands",
1974
- "incidents",
1975
- "delete.js"
1976
- ]
1977
- },
1978
- "incidents:get": {
1979
- "aliases": [],
1980
- "args": {
1981
- "id": {
1982
- "description": "incident id",
1983
- "name": "id",
1984
- "required": true
1985
- }
1986
- },
1987
- "description": "Get a incident by id",
1988
- "examples": [
1989
- "<%= config.bin %> incidents get <id>"
1990
- ],
1991
- "flags": {
1992
- "output": {
1993
- "char": "o",
1994
- "description": "Output format",
1995
- "name": "output",
1996
- "default": "table",
1997
- "hasDynamicHelp": false,
1998
- "multiple": false,
1999
- "options": [
2000
- "table",
2001
- "json",
2002
- "yaml"
2003
- ],
2004
- "type": "option"
2005
- },
2006
- "api-url": {
2007
- "description": "Override API base URL",
2008
- "name": "api-url",
2009
- "hasDynamicHelp": false,
2010
- "multiple": false,
2011
- "type": "option"
2012
- },
2013
- "api-token": {
2014
- "description": "Override API token",
2015
- "name": "api-token",
2208
+ "body": {
2209
+ "description": "Detailed description or context for the incident",
2210
+ "name": "body",
2016
2211
  "hasDynamicHelp": false,
2017
2212
  "multiple": false,
2018
2213
  "type": "option"
2019
- },
2020
- "verbose": {
2021
- "char": "v",
2022
- "description": "Show verbose output",
2023
- "name": "verbose",
2024
- "allowNo": false,
2025
- "type": "boolean"
2026
2214
  }
2027
2215
  },
2028
2216
  "hasDynamicHelp": false,
2029
2217
  "hiddenAliases": [],
2030
- "id": "incidents:get",
2218
+ "id": "incidents:create",
2031
2219
  "pluginAlias": "devhelm",
2032
2220
  "pluginName": "devhelm",
2033
2221
  "pluginType": "core",
@@ -2038,15 +2226,21 @@
2038
2226
  "dist",
2039
2227
  "commands",
2040
2228
  "incidents",
2041
- "get.js"
2229
+ "create.js"
2042
2230
  ]
2043
2231
  },
2044
- "incidents:list": {
2232
+ "incidents:get": {
2045
2233
  "aliases": [],
2046
- "args": {},
2047
- "description": "List all incidents",
2234
+ "args": {
2235
+ "id": {
2236
+ "description": "incident id",
2237
+ "name": "id",
2238
+ "required": true
2239
+ }
2240
+ },
2241
+ "description": "Get a incident by id",
2048
2242
  "examples": [
2049
- "<%= config.bin %> incidents list"
2243
+ "<%= config.bin %> incidents get <id>"
2050
2244
  ],
2051
2245
  "flags": {
2052
2246
  "output": {
@@ -2087,7 +2281,7 @@
2087
2281
  },
2088
2282
  "hasDynamicHelp": false,
2089
2283
  "hiddenAliases": [],
2090
- "id": "incidents:list",
2284
+ "id": "incidents:get",
2091
2285
  "pluginAlias": "devhelm",
2092
2286
  "pluginName": "devhelm",
2093
2287
  "pluginType": "core",
@@ -2098,21 +2292,15 @@
2098
2292
  "dist",
2099
2293
  "commands",
2100
2294
  "incidents",
2101
- "list.js"
2295
+ "get.js"
2102
2296
  ]
2103
2297
  },
2104
- "incidents:resolve": {
2298
+ "incidents:list": {
2105
2299
  "aliases": [],
2106
- "args": {
2107
- "id": {
2108
- "description": "Incident ID",
2109
- "name": "id",
2110
- "required": true
2111
- }
2112
- },
2113
- "description": "Resolve an incident",
2300
+ "args": {},
2301
+ "description": "List all incidents",
2114
2302
  "examples": [
2115
- "<%= config.bin %> incidents resolve 42"
2303
+ "<%= config.bin %> incidents list"
2116
2304
  ],
2117
2305
  "flags": {
2118
2306
  "output": {
@@ -2150,9 +2338,10 @@
2150
2338
  "allowNo": false,
2151
2339
  "type": "boolean"
2152
2340
  },
2153
- "message": {
2154
- "description": "Resolution message",
2155
- "name": "message",
2341
+ "page-size": {
2342
+ "description": "Number of items per API request (1–200)",
2343
+ "name": "page-size",
2344
+ "default": 200,
2156
2345
  "hasDynamicHelp": false,
2157
2346
  "multiple": false,
2158
2347
  "type": "option"
@@ -2160,7 +2349,7 @@
2160
2349
  },
2161
2350
  "hasDynamicHelp": false,
2162
2351
  "hiddenAliases": [],
2163
- "id": "incidents:resolve",
2352
+ "id": "incidents:list",
2164
2353
  "pluginAlias": "devhelm",
2165
2354
  "pluginName": "devhelm",
2166
2355
  "pluginType": "core",
@@ -2171,21 +2360,21 @@
2171
2360
  "dist",
2172
2361
  "commands",
2173
2362
  "incidents",
2174
- "resolve.js"
2363
+ "list.js"
2175
2364
  ]
2176
2365
  },
2177
- "incidents:update": {
2366
+ "incidents:resolve": {
2178
2367
  "aliases": [],
2179
2368
  "args": {
2180
2369
  "id": {
2181
- "description": "incident id",
2370
+ "description": "Incident ID",
2182
2371
  "name": "id",
2183
2372
  "required": true
2184
2373
  }
2185
2374
  },
2186
- "description": "Update a incident",
2375
+ "description": "Resolve an incident",
2187
2376
  "examples": [
2188
- "<%= config.bin %> incidents update <id>"
2377
+ "<%= config.bin %> incidents resolve 42"
2189
2378
  ],
2190
2379
  "flags": {
2191
2380
  "output": {
@@ -2223,37 +2412,9 @@
2223
2412
  "allowNo": false,
2224
2413
  "type": "boolean"
2225
2414
  },
2226
- "title": {
2227
- "description": "Short summary of the incident",
2228
- "name": "title",
2229
- "required": true,
2230
- "hasDynamicHelp": false,
2231
- "multiple": false,
2232
- "type": "option"
2233
- },
2234
- "severity": {
2235
- "description": "Incident severity: DOWN, DEGRADED, or MAINTENANCE",
2236
- "name": "severity",
2237
- "required": true,
2238
- "hasDynamicHelp": false,
2239
- "multiple": false,
2240
- "options": [
2241
- "DOWN",
2242
- "DEGRADED",
2243
- "MAINTENANCE"
2244
- ],
2245
- "type": "option"
2246
- },
2247
- "monitor-id": {
2248
- "description": "Monitor to associate with this incident",
2249
- "name": "monitor-id",
2250
- "hasDynamicHelp": false,
2251
- "multiple": false,
2252
- "type": "option"
2253
- },
2254
- "body": {
2255
- "description": "Detailed description or context for the incident",
2256
- "name": "body",
2415
+ "message": {
2416
+ "description": "Resolution message",
2417
+ "name": "message",
2257
2418
  "hasDynamicHelp": false,
2258
2419
  "multiple": false,
2259
2420
  "type": "option"
@@ -2261,7 +2422,7 @@
2261
2422
  },
2262
2423
  "hasDynamicHelp": false,
2263
2424
  "hiddenAliases": [],
2264
- "id": "incidents:update",
2425
+ "id": "incidents:resolve",
2265
2426
  "pluginAlias": "devhelm",
2266
2427
  "pluginName": "devhelm",
2267
2428
  "pluginType": "core",
@@ -2272,7 +2433,7 @@
2272
2433
  "dist",
2273
2434
  "commands",
2274
2435
  "incidents",
2275
- "update.js"
2436
+ "resolve.js"
2276
2437
  ]
2277
2438
  },
2278
2439
  "monitors:create": {
@@ -2577,6 +2738,14 @@
2577
2738
  "name": "verbose",
2578
2739
  "allowNo": false,
2579
2740
  "type": "boolean"
2741
+ },
2742
+ "page-size": {
2743
+ "description": "Number of items per API request (1–200)",
2744
+ "name": "page-size",
2745
+ "default": 200,
2746
+ "hasDynamicHelp": false,
2747
+ "multiple": false,
2748
+ "type": "option"
2580
2749
  }
2581
2750
  },
2582
2751
  "hasDynamicHelp": false,
@@ -2711,7 +2880,7 @@
2711
2880
  "type": "boolean"
2712
2881
  },
2713
2882
  "limit": {
2714
- "description": "Number of results",
2883
+ "description": "Maximum number of results to show (1–1000)",
2715
2884
  "name": "limit",
2716
2885
  "default": 20,
2717
2886
  "hasDynamicHelp": false,
@@ -3231,6 +3400,14 @@
3231
3400
  "name": "verbose",
3232
3401
  "allowNo": false,
3233
3402
  "type": "boolean"
3403
+ },
3404
+ "page-size": {
3405
+ "description": "Number of items per API request (1–200)",
3406
+ "name": "page-size",
3407
+ "default": 200,
3408
+ "hasDynamicHelp": false,
3409
+ "multiple": false,
3410
+ "type": "option"
3234
3411
  }
3235
3412
  },
3236
3413
  "hasDynamicHelp": false,
@@ -3365,7 +3542,7 @@
3365
3542
  "type": "boolean"
3366
3543
  },
3367
3544
  "name": {
3368
- "description": "Human-readable name for this policy",
3545
+ "description": "Human-readable name for this policy; null preserves current",
3369
3546
  "name": "name",
3370
3547
  "hasDynamicHelp": false,
3371
3548
  "multiple": false,
@@ -3379,7 +3556,7 @@
3379
3556
  "type": "option"
3380
3557
  },
3381
3558
  "enabled": {
3382
- "description": "Whether this policy is enabled",
3559
+ "description": "Whether this policy is enabled; null preserves current",
3383
3560
  "name": "enabled",
3384
3561
  "allowNo": true,
3385
3562
  "type": "boolean"
@@ -3650,6 +3827,14 @@
3650
3827
  "name": "verbose",
3651
3828
  "allowNo": false,
3652
3829
  "type": "boolean"
3830
+ },
3831
+ "page-size": {
3832
+ "description": "Number of items per API request (1–200)",
3833
+ "name": "page-size",
3834
+ "default": 200,
3835
+ "hasDynamicHelp": false,
3836
+ "multiple": false,
3837
+ "type": "option"
3653
3838
  }
3654
3839
  },
3655
3840
  "hasDynamicHelp": false,
@@ -3939,6 +4124,14 @@
3939
4124
  "name": "verbose",
3940
4125
  "allowNo": false,
3941
4126
  "type": "boolean"
4127
+ },
4128
+ "page-size": {
4129
+ "description": "Number of items per API request (1–200)",
4130
+ "name": "page-size",
4131
+ "default": 200,
4132
+ "hasDynamicHelp": false,
4133
+ "multiple": false,
4134
+ "type": "option"
3942
4135
  }
3943
4136
  },
3944
4137
  "hasDynamicHelp": false,
@@ -4280,6 +4473,14 @@
4280
4473
  "name": "verbose",
4281
4474
  "allowNo": false,
4282
4475
  "type": "boolean"
4476
+ },
4477
+ "page-size": {
4478
+ "description": "Number of items per API request (1–200)",
4479
+ "name": "page-size",
4480
+ "default": 200,
4481
+ "hasDynamicHelp": false,
4482
+ "multiple": false,
4483
+ "type": "option"
4283
4484
  }
4284
4485
  },
4285
4486
  "hasDynamicHelp": false,
@@ -4635,6 +4836,14 @@
4635
4836
  "name": "verbose",
4636
4837
  "allowNo": false,
4637
4838
  "type": "boolean"
4839
+ },
4840
+ "page-size": {
4841
+ "description": "Number of items per API request (1–200)",
4842
+ "name": "page-size",
4843
+ "default": 200,
4844
+ "hasDynamicHelp": false,
4845
+ "multiple": false,
4846
+ "type": "option"
4638
4847
  }
4639
4848
  },
4640
4849
  "hasDynamicHelp": false,
@@ -5292,7 +5501,157 @@
5292
5501
  "context",
5293
5502
  "use.js"
5294
5503
  ]
5504
+ },
5505
+ "monitors:versions:get": {
5506
+ "aliases": [],
5507
+ "args": {
5508
+ "id": {
5509
+ "description": "Monitor ID",
5510
+ "name": "id",
5511
+ "required": true
5512
+ },
5513
+ "version": {
5514
+ "description": "Version number",
5515
+ "name": "version",
5516
+ "required": true
5517
+ }
5518
+ },
5519
+ "description": "Get a specific version snapshot for a monitor",
5520
+ "examples": [
5521
+ "<%= config.bin %> monitors versions get 42 3",
5522
+ "<%= config.bin %> monitors versions get 42 3 -o json"
5523
+ ],
5524
+ "flags": {
5525
+ "output": {
5526
+ "char": "o",
5527
+ "description": "Output format",
5528
+ "name": "output",
5529
+ "default": "table",
5530
+ "hasDynamicHelp": false,
5531
+ "multiple": false,
5532
+ "options": [
5533
+ "table",
5534
+ "json",
5535
+ "yaml"
5536
+ ],
5537
+ "type": "option"
5538
+ },
5539
+ "api-url": {
5540
+ "description": "Override API base URL",
5541
+ "name": "api-url",
5542
+ "hasDynamicHelp": false,
5543
+ "multiple": false,
5544
+ "type": "option"
5545
+ },
5546
+ "api-token": {
5547
+ "description": "Override API token",
5548
+ "name": "api-token",
5549
+ "hasDynamicHelp": false,
5550
+ "multiple": false,
5551
+ "type": "option"
5552
+ },
5553
+ "verbose": {
5554
+ "char": "v",
5555
+ "description": "Show verbose output",
5556
+ "name": "verbose",
5557
+ "allowNo": false,
5558
+ "type": "boolean"
5559
+ }
5560
+ },
5561
+ "hasDynamicHelp": false,
5562
+ "hiddenAliases": [],
5563
+ "id": "monitors:versions:get",
5564
+ "pluginAlias": "devhelm",
5565
+ "pluginName": "devhelm",
5566
+ "pluginType": "core",
5567
+ "strict": true,
5568
+ "enableJsonFlag": false,
5569
+ "isESM": true,
5570
+ "relativePath": [
5571
+ "dist",
5572
+ "commands",
5573
+ "monitors",
5574
+ "versions",
5575
+ "get.js"
5576
+ ]
5577
+ },
5578
+ "monitors:versions:list": {
5579
+ "aliases": [],
5580
+ "args": {
5581
+ "id": {
5582
+ "description": "Monitor ID",
5583
+ "name": "id",
5584
+ "required": true
5585
+ }
5586
+ },
5587
+ "description": "List version history for a monitor",
5588
+ "examples": [
5589
+ "<%= config.bin %> monitors versions list 42",
5590
+ "<%= config.bin %> monitors versions list 42 --limit 5",
5591
+ "<%= config.bin %> monitors versions list 42 -o json"
5592
+ ],
5593
+ "flags": {
5594
+ "output": {
5595
+ "char": "o",
5596
+ "description": "Output format",
5597
+ "name": "output",
5598
+ "default": "table",
5599
+ "hasDynamicHelp": false,
5600
+ "multiple": false,
5601
+ "options": [
5602
+ "table",
5603
+ "json",
5604
+ "yaml"
5605
+ ],
5606
+ "type": "option"
5607
+ },
5608
+ "api-url": {
5609
+ "description": "Override API base URL",
5610
+ "name": "api-url",
5611
+ "hasDynamicHelp": false,
5612
+ "multiple": false,
5613
+ "type": "option"
5614
+ },
5615
+ "api-token": {
5616
+ "description": "Override API token",
5617
+ "name": "api-token",
5618
+ "hasDynamicHelp": false,
5619
+ "multiple": false,
5620
+ "type": "option"
5621
+ },
5622
+ "verbose": {
5623
+ "char": "v",
5624
+ "description": "Show verbose output",
5625
+ "name": "verbose",
5626
+ "allowNo": false,
5627
+ "type": "boolean"
5628
+ },
5629
+ "limit": {
5630
+ "description": "Maximum number of versions to show",
5631
+ "name": "limit",
5632
+ "default": 20,
5633
+ "hasDynamicHelp": false,
5634
+ "multiple": false,
5635
+ "type": "option"
5636
+ }
5637
+ },
5638
+ "hasDynamicHelp": false,
5639
+ "hiddenAliases": [],
5640
+ "id": "monitors:versions:list",
5641
+ "pluginAlias": "devhelm",
5642
+ "pluginName": "devhelm",
5643
+ "pluginType": "core",
5644
+ "strict": true,
5645
+ "enableJsonFlag": false,
5646
+ "isESM": true,
5647
+ "relativePath": [
5648
+ "dist",
5649
+ "commands",
5650
+ "monitors",
5651
+ "versions",
5652
+ "list.js"
5653
+ ]
5295
5654
  }
5296
5655
  },
5297
- "version": "0.1.4"
5656
+ "version": "0.1.6"
5298
5657
  }