devhelm 0.1.0 → 0.1.1

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 (182) hide show
  1. package/README.md +106 -34
  2. package/dist/commands/alert-channels/create.js +4 -0
  3. package/dist/commands/alert-channels/create.js.map +1 -0
  4. package/dist/commands/alert-channels/delete.js +4 -0
  5. package/dist/commands/alert-channels/delete.js.map +1 -0
  6. package/dist/commands/alert-channels/get.js +4 -0
  7. package/dist/commands/alert-channels/get.js.map +1 -0
  8. package/dist/commands/alert-channels/list.js +4 -0
  9. package/dist/commands/alert-channels/list.js.map +1 -0
  10. package/dist/commands/alert-channels/test.js +19 -0
  11. package/dist/commands/alert-channels/test.js.map +1 -0
  12. package/dist/commands/alert-channels/update.js +4 -0
  13. package/dist/commands/alert-channels/update.js.map +1 -0
  14. package/dist/commands/api-keys/create.js +4 -0
  15. package/dist/commands/api-keys/create.js.map +1 -0
  16. package/dist/commands/api-keys/delete.js +4 -0
  17. package/dist/commands/api-keys/delete.js.map +1 -0
  18. package/dist/commands/api-keys/get.js +4 -0
  19. package/dist/commands/api-keys/get.js.map +1 -0
  20. package/dist/commands/api-keys/list.js +4 -0
  21. package/dist/commands/api-keys/list.js.map +1 -0
  22. package/dist/commands/api-keys/revoke.js +17 -0
  23. package/dist/commands/api-keys/revoke.js.map +1 -0
  24. package/dist/commands/auth/context/create.js +20 -0
  25. package/dist/commands/auth/context/create.js.map +1 -0
  26. package/dist/commands/auth/context/delete.js +18 -0
  27. package/dist/commands/auth/context/delete.js.map +1 -0
  28. package/dist/commands/auth/context/index.js +18 -0
  29. package/dist/commands/auth/context/index.js.map +1 -0
  30. package/dist/commands/auth/context/list.js +29 -0
  31. package/dist/commands/auth/context/list.js.map +1 -0
  32. package/dist/commands/auth/context/use.js +18 -0
  33. package/dist/commands/auth/context/use.js.map +1 -0
  34. package/dist/commands/auth/login.js +51 -0
  35. package/dist/commands/auth/login.js.map +1 -0
  36. package/dist/commands/auth/logout.js +19 -0
  37. package/dist/commands/auth/logout.js.map +1 -0
  38. package/dist/commands/auth/token.js +17 -0
  39. package/dist/commands/auth/token.js.map +1 -0
  40. package/dist/commands/data/services/status.js +19 -0
  41. package/dist/commands/data/services/status.js.map +1 -0
  42. package/dist/commands/data/services/uptime.js +29 -0
  43. package/dist/commands/data/services/uptime.js.map +1 -0
  44. package/dist/commands/dependencies/delete.js +4 -0
  45. package/dist/commands/dependencies/delete.js.map +1 -0
  46. package/dist/commands/dependencies/get.js +4 -0
  47. package/dist/commands/dependencies/get.js.map +1 -0
  48. package/dist/commands/dependencies/list.js +4 -0
  49. package/dist/commands/dependencies/list.js.map +1 -0
  50. package/dist/commands/dependencies/track.js +19 -0
  51. package/dist/commands/dependencies/track.js.map +1 -0
  52. package/dist/commands/environments/create.js +4 -0
  53. package/dist/commands/environments/create.js.map +1 -0
  54. package/dist/commands/environments/delete.js +4 -0
  55. package/dist/commands/environments/delete.js.map +1 -0
  56. package/dist/commands/environments/get.js +4 -0
  57. package/dist/commands/environments/get.js.map +1 -0
  58. package/dist/commands/environments/list.js +4 -0
  59. package/dist/commands/environments/list.js.map +1 -0
  60. package/dist/commands/environments/update.js +4 -0
  61. package/dist/commands/environments/update.js.map +1 -0
  62. package/dist/commands/incidents/create.js +4 -0
  63. package/dist/commands/incidents/create.js.map +1 -0
  64. package/dist/commands/incidents/delete.js +4 -0
  65. package/dist/commands/incidents/delete.js.map +1 -0
  66. package/dist/commands/incidents/get.js +4 -0
  67. package/dist/commands/incidents/get.js.map +1 -0
  68. package/dist/commands/incidents/list.js +4 -0
  69. package/dist/commands/incidents/list.js.map +1 -0
  70. package/dist/commands/incidents/resolve.js +25 -0
  71. package/dist/commands/incidents/resolve.js.map +1 -0
  72. package/dist/commands/incidents/update.js +4 -0
  73. package/dist/commands/incidents/update.js.map +1 -0
  74. package/dist/commands/init.js +61 -0
  75. package/dist/commands/init.js.map +1 -0
  76. package/dist/commands/monitors/create.js +4 -0
  77. package/dist/commands/monitors/create.js.map +1 -0
  78. package/dist/commands/monitors/delete.js +4 -0
  79. package/dist/commands/monitors/delete.js.map +1 -0
  80. package/dist/commands/monitors/get.js +4 -0
  81. package/dist/commands/monitors/get.js.map +1 -0
  82. package/dist/commands/monitors/list.js +3 -33
  83. package/dist/commands/monitors/list.js.map +1 -1
  84. package/dist/commands/monitors/pause.js +19 -0
  85. package/dist/commands/monitors/pause.js.map +1 -0
  86. package/dist/commands/monitors/results.js +29 -0
  87. package/dist/commands/monitors/results.js.map +1 -0
  88. package/dist/commands/monitors/resume.js +19 -0
  89. package/dist/commands/monitors/resume.js.map +1 -0
  90. package/dist/commands/monitors/test.js +20 -0
  91. package/dist/commands/monitors/test.js.map +1 -0
  92. package/dist/commands/monitors/update.js +4 -0
  93. package/dist/commands/monitors/update.js.map +1 -0
  94. package/dist/commands/notification-policies/create.js +4 -0
  95. package/dist/commands/notification-policies/create.js.map +1 -0
  96. package/dist/commands/notification-policies/delete.js +4 -0
  97. package/dist/commands/notification-policies/delete.js.map +1 -0
  98. package/dist/commands/notification-policies/get.js +4 -0
  99. package/dist/commands/notification-policies/get.js.map +1 -0
  100. package/dist/commands/notification-policies/list.js +4 -0
  101. package/dist/commands/notification-policies/list.js.map +1 -0
  102. package/dist/commands/notification-policies/test.js +17 -0
  103. package/dist/commands/notification-policies/test.js.map +1 -0
  104. package/dist/commands/notification-policies/update.js +4 -0
  105. package/dist/commands/notification-policies/update.js.map +1 -0
  106. package/dist/commands/resource-groups/create.js +4 -0
  107. package/dist/commands/resource-groups/create.js.map +1 -0
  108. package/dist/commands/resource-groups/delete.js +4 -0
  109. package/dist/commands/resource-groups/delete.js.map +1 -0
  110. package/dist/commands/resource-groups/get.js +4 -0
  111. package/dist/commands/resource-groups/get.js.map +1 -0
  112. package/dist/commands/resource-groups/list.js +4 -0
  113. package/dist/commands/resource-groups/list.js.map +1 -0
  114. package/dist/commands/resource-groups/update.js +4 -0
  115. package/dist/commands/resource-groups/update.js.map +1 -0
  116. package/dist/commands/secrets/create.js +4 -0
  117. package/dist/commands/secrets/create.js.map +1 -0
  118. package/dist/commands/secrets/delete.js +4 -0
  119. package/dist/commands/secrets/delete.js.map +1 -0
  120. package/dist/commands/secrets/list.js +4 -0
  121. package/dist/commands/secrets/list.js.map +1 -0
  122. package/dist/commands/secrets/update.js +4 -0
  123. package/dist/commands/secrets/update.js.map +1 -0
  124. package/dist/commands/status.js +18 -0
  125. package/dist/commands/status.js.map +1 -0
  126. package/dist/commands/tags/create.js +4 -0
  127. package/dist/commands/tags/create.js.map +1 -0
  128. package/dist/commands/tags/delete.js +4 -0
  129. package/dist/commands/tags/delete.js.map +1 -0
  130. package/dist/commands/tags/get.js +4 -0
  131. package/dist/commands/tags/get.js.map +1 -0
  132. package/dist/commands/tags/list.js +4 -0
  133. package/dist/commands/tags/list.js.map +1 -0
  134. package/dist/commands/tags/update.js +4 -0
  135. package/dist/commands/tags/update.js.map +1 -0
  136. package/dist/commands/validate.js +63 -0
  137. package/dist/commands/validate.js.map +1 -0
  138. package/dist/commands/version.js.map +1 -1
  139. package/dist/commands/webhooks/create.js +4 -0
  140. package/dist/commands/webhooks/create.js.map +1 -0
  141. package/dist/commands/webhooks/delete.js +4 -0
  142. package/dist/commands/webhooks/delete.js.map +1 -0
  143. package/dist/commands/webhooks/get.js +4 -0
  144. package/dist/commands/webhooks/get.js.map +1 -0
  145. package/dist/commands/webhooks/list.js +4 -0
  146. package/dist/commands/webhooks/list.js.map +1 -0
  147. package/dist/commands/webhooks/test.js +19 -0
  148. package/dist/commands/webhooks/test.js.map +1 -0
  149. package/dist/commands/webhooks/update.js +4 -0
  150. package/dist/commands/webhooks/update.js.map +1 -0
  151. package/dist/lib/api-client.js +51 -28
  152. package/dist/lib/api-client.js.map +1 -1
  153. package/dist/lib/api.generated.js +6 -0
  154. package/dist/lib/api.generated.js.map +1 -0
  155. package/dist/lib/auth.js +20 -0
  156. package/dist/lib/auth.js.map +1 -1
  157. package/dist/lib/base-command.js +27 -0
  158. package/dist/lib/base-command.js.map +1 -0
  159. package/dist/lib/crud-commands.js +111 -0
  160. package/dist/lib/crud-commands.js.map +1 -0
  161. package/dist/lib/descriptions.generated.js +210 -0
  162. package/dist/lib/descriptions.generated.js.map +1 -0
  163. package/dist/lib/errors.js +33 -8
  164. package/dist/lib/errors.js.map +1 -1
  165. package/dist/lib/output.js +53 -0
  166. package/dist/lib/output.js.map +1 -0
  167. package/dist/lib/resources.js +365 -0
  168. package/dist/lib/resources.js.map +1 -0
  169. package/oclif.manifest.json +5187 -10
  170. package/package.json +10 -3
  171. package/dist/commands/monitors/list.d.ts +0 -10
  172. package/dist/commands/monitors/list.d.ts.map +0 -1
  173. package/dist/commands/version.d.ts +0 -7
  174. package/dist/commands/version.d.ts.map +0 -1
  175. package/dist/index.d.ts +0 -2
  176. package/dist/index.d.ts.map +0 -1
  177. package/dist/lib/api-client.d.ts +0 -12
  178. package/dist/lib/api-client.d.ts.map +0 -1
  179. package/dist/lib/auth.d.ts +0 -14
  180. package/dist/lib/auth.d.ts.map +0 -1
  181. package/dist/lib/errors.d.ts +0 -12
  182. package/dist/lib/errors.d.ts.map +0 -1
@@ -0,0 +1,365 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { fieldDescriptions } from './descriptions.generated.js';
3
+ // ── Description lookup from OpenAPI spec ───────────────────────────────
4
+ function desc(schema, field, fallback) {
5
+ return fieldDescriptions[schema]?.[field] ?? fallback ?? field;
6
+ }
7
+ const MONITOR_TYPES = ['HTTP', 'DNS', 'TCP', 'ICMP', 'HEARTBEAT', 'MCP_SERVER'];
8
+ const HTTP_METHODS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD'];
9
+ const INCIDENT_SEVERITIES = ['DOWN', 'DEGRADED', 'MAINTENANCE'];
10
+ const CHANNEL_TYPES = ['SLACK', 'EMAIL', 'PAGERDUTY', 'OPSGENIE', 'DISCORD', 'TEAMS', 'WEBHOOK'];
11
+ // Jackson @JsonSubTypes uses lowercase names, not the class names from the OpenAPI spec
12
+ const CHANNEL_TYPE_MAP = {
13
+ SLACK: 'slack',
14
+ EMAIL: 'email',
15
+ PAGERDUTY: 'pagerduty',
16
+ OPSGENIE: 'opsgenie',
17
+ DISCORD: 'discord',
18
+ TEAMS: 'teams',
19
+ WEBHOOK: 'webhook',
20
+ };
21
+ // ── Resource definitions ───────────────────────────────────────────────
22
+ export const MONITORS = {
23
+ name: 'monitor',
24
+ plural: 'monitors',
25
+ apiPath: '/api/v1/monitors',
26
+ columns: [
27
+ { key: 'id', header: 'ID' },
28
+ { key: 'name', header: 'NAME' },
29
+ { key: 'type', header: 'TYPE' },
30
+ { key: 'status', header: 'STATUS' },
31
+ { key: 'url', header: 'URL' },
32
+ { key: 'frequencySeconds', header: 'FREQUENCY_S' },
33
+ ],
34
+ createFlags: {
35
+ name: Flags.string({ description: desc('CreateMonitorRequest', 'name'), required: true }),
36
+ type: Flags.string({
37
+ description: desc('CreateMonitorRequest', 'type'),
38
+ required: true,
39
+ options: MONITOR_TYPES,
40
+ }),
41
+ url: Flags.string({ description: desc('HttpMonitorConfig', 'url', 'Target URL or host') }),
42
+ frequency: Flags.string({ description: desc('CreateMonitorRequest', 'frequencySeconds'), default: '60' }),
43
+ method: Flags.string({
44
+ description: desc('HttpMonitorConfig', 'method'),
45
+ options: HTTP_METHODS,
46
+ }),
47
+ port: Flags.string({ description: desc('TcpMonitorConfig', 'port', 'TCP port to connect to') }),
48
+ regions: Flags.string({ description: desc('CreateMonitorRequest', 'regions') }),
49
+ },
50
+ updateFlags: {
51
+ name: Flags.string({ description: desc('UpdateMonitorRequest', 'name') }),
52
+ url: Flags.string({ description: desc('HttpMonitorConfig', 'url', 'Target URL or host') }),
53
+ frequency: Flags.string({ description: desc('UpdateMonitorRequest', 'frequencySeconds') }),
54
+ method: Flags.string({ description: desc('HttpMonitorConfig', 'method'), options: HTTP_METHODS }),
55
+ port: Flags.string({ description: desc('TcpMonitorConfig', 'port', 'TCP port to connect to') }),
56
+ },
57
+ bodyBuilder: (raw) => {
58
+ const monitorType = raw.type;
59
+ if (monitorType) {
60
+ const body = {
61
+ name: String(raw.name),
62
+ type: monitorType,
63
+ managedBy: 'CLI',
64
+ frequencySeconds: raw.frequency ? Number(raw.frequency) : 60,
65
+ config: buildMonitorConfig(monitorType, raw),
66
+ };
67
+ if (raw.regions) {
68
+ body.regions = String(raw.regions).split(',').map((s) => s.trim()).filter(Boolean);
69
+ }
70
+ return body;
71
+ }
72
+ const body = {};
73
+ if (raw.name !== undefined)
74
+ body.name = raw.name;
75
+ if (raw.frequency)
76
+ body.frequencySeconds = Number(raw.frequency);
77
+ if (raw.url !== undefined || raw.method !== undefined) {
78
+ body.config = { monitorType: 'HTTP', url: raw.url, method: raw.method || 'GET' };
79
+ }
80
+ return body;
81
+ },
82
+ };
83
+ // openapi-typescript generates MonitorConfig as Record<string, never> (empty base),
84
+ // so the intersection types need casting through the concrete schema types.
85
+ function buildMonitorConfig(type, raw) {
86
+ switch (type) {
87
+ case 'HTTP':
88
+ return { url: String(raw.url ?? ''), method: raw.method || 'GET' };
89
+ case 'TCP':
90
+ return { host: String(raw.url ?? ''), port: raw.port ? Number(raw.port) : 443 };
91
+ case 'DNS':
92
+ return { hostname: String(raw.url ?? '') };
93
+ case 'ICMP':
94
+ return { host: String(raw.url ?? '') };
95
+ case 'HEARTBEAT':
96
+ return { expectedInterval: 60, gracePeriod: 60 };
97
+ case 'MCP_SERVER':
98
+ return { command: String(raw.url ?? '') };
99
+ default:
100
+ return { url: String(raw.url ?? ''), method: 'GET' };
101
+ }
102
+ }
103
+ export const INCIDENTS = {
104
+ name: 'incident',
105
+ plural: 'incidents',
106
+ apiPath: '/api/v1/incidents',
107
+ columns: [
108
+ { key: 'id', header: 'ID' },
109
+ { key: 'title', header: 'TITLE' },
110
+ { key: 'status', header: 'STATUS' },
111
+ { key: 'severity', header: 'SEVERITY' },
112
+ { key: 'monitorName', header: 'MONITOR' },
113
+ { key: 'startedAt', header: 'STARTED' },
114
+ ],
115
+ createFlags: {
116
+ title: Flags.string({ description: desc('CreateManualIncidentRequest', 'title'), required: true }),
117
+ severity: Flags.string({
118
+ description: desc('CreateManualIncidentRequest', 'severity'),
119
+ required: true,
120
+ options: INCIDENT_SEVERITIES,
121
+ }),
122
+ 'monitor-id': Flags.string({ description: desc('CreateManualIncidentRequest', 'monitorId') }),
123
+ body: Flags.string({ description: desc('CreateManualIncidentRequest', 'body') }),
124
+ },
125
+ bodyBuilder: (raw) => {
126
+ const body = {
127
+ title: String(raw.title),
128
+ severity: raw.severity,
129
+ };
130
+ if (raw['monitor-id'] !== undefined)
131
+ body.monitorId = String(raw['monitor-id']);
132
+ if (raw.body !== undefined)
133
+ body.body = String(raw.body);
134
+ return body;
135
+ },
136
+ };
137
+ export const ALERT_CHANNELS = {
138
+ name: 'alert channel',
139
+ plural: 'alert-channels',
140
+ apiPath: '/api/v1/alert-channels',
141
+ columns: [
142
+ { key: 'id', header: 'ID' },
143
+ { key: 'name', header: 'NAME' },
144
+ { key: 'type', header: 'TYPE' },
145
+ { key: 'enabled', header: 'ENABLED' },
146
+ ],
147
+ createFlags: {
148
+ name: Flags.string({ description: desc('CreateAlertChannelRequest', 'name'), required: true }),
149
+ type: Flags.string({
150
+ description: `Alert channel type (${CHANNEL_TYPES.join(', ')})`,
151
+ required: true,
152
+ options: [...CHANNEL_TYPES],
153
+ }),
154
+ config: Flags.string({ description: 'Channel-specific configuration as JSON' }),
155
+ 'webhook-url': Flags.string({ description: desc('SlackChannelConfig', 'webhookUrl', 'Slack/Discord/Teams webhook URL') }),
156
+ },
157
+ updateFlags: {
158
+ name: Flags.string({ description: desc('UpdateAlertChannelRequest', 'name') }),
159
+ type: Flags.string({ description: 'Alert channel type', options: [...CHANNEL_TYPES] }),
160
+ config: Flags.string({ description: 'Channel-specific configuration as JSON' }),
161
+ 'webhook-url': Flags.string({ description: desc('SlackChannelConfig', 'webhookUrl', 'Slack/Discord/Teams webhook URL') }),
162
+ },
163
+ bodyBuilder: (raw) => {
164
+ let config;
165
+ if (raw.config) {
166
+ config = JSON.parse(String(raw.config));
167
+ }
168
+ else {
169
+ const typeKey = String(raw.type || 'SLACK').toUpperCase();
170
+ const channelType = CHANNEL_TYPE_MAP[typeKey] ?? 'slack';
171
+ if (raw['webhook-url'] !== undefined) {
172
+ config = { channelType, webhookUrl: String(raw['webhook-url']) };
173
+ }
174
+ else {
175
+ config = { channelType };
176
+ }
177
+ }
178
+ const body = {};
179
+ if (raw.name !== undefined)
180
+ body.name = raw.name;
181
+ if (config !== undefined)
182
+ body.config = config;
183
+ return body;
184
+ },
185
+ };
186
+ export const NOTIFICATION_POLICIES = {
187
+ name: 'notification policy',
188
+ plural: 'notification-policies',
189
+ apiPath: '/api/v1/notification-policies',
190
+ columns: [
191
+ { key: 'id', header: 'ID' },
192
+ { key: 'name', header: 'NAME' },
193
+ { key: 'enabled', header: 'ENABLED' },
194
+ { key: 'severity', header: 'SEVERITY' },
195
+ ],
196
+ createFlags: {
197
+ name: Flags.string({ description: desc('CreateNotificationPolicyRequest', 'name'), required: true }),
198
+ 'channel-ids': Flags.string({ description: desc('EscalationStep', 'channelIds', 'Comma-separated alert channel IDs for escalation') }),
199
+ enabled: Flags.boolean({ description: desc('CreateNotificationPolicyRequest', 'enabled'), default: true, allowNo: true }),
200
+ },
201
+ updateFlags: {
202
+ name: Flags.string({ description: desc('UpdateNotificationPolicyRequest', 'name') }),
203
+ 'channel-ids': Flags.string({ description: desc('EscalationStep', 'channelIds', 'Comma-separated alert channel IDs') }),
204
+ enabled: Flags.boolean({ description: desc('UpdateNotificationPolicyRequest', 'enabled'), allowNo: true }),
205
+ },
206
+ bodyBuilder: (raw) => {
207
+ const channelIds = raw['channel-ids']
208
+ ? String(raw['channel-ids']).split(',').map((s) => s.trim()).filter(Boolean)
209
+ : [];
210
+ const body = {
211
+ name: String(raw.name),
212
+ escalation: { steps: [{ channelIds, delayMinutes: 0 }] },
213
+ enabled: raw.enabled ?? true,
214
+ priority: 0,
215
+ };
216
+ return body;
217
+ },
218
+ };
219
+ export const ENVIRONMENTS = {
220
+ name: 'environment',
221
+ plural: 'environments',
222
+ apiPath: '/api/v1/environments',
223
+ idField: 'slug',
224
+ columns: [
225
+ { key: 'slug', header: 'SLUG' },
226
+ { key: 'name', header: 'NAME' },
227
+ { key: 'color', header: 'COLOR' },
228
+ { key: 'variableCount', header: 'VARIABLES' },
229
+ ],
230
+ createFlags: {
231
+ name: Flags.string({ description: desc('CreateEnvironmentRequest', 'name'), required: true }),
232
+ slug: Flags.string({ description: desc('CreateEnvironmentRequest', 'slug'), required: true }),
233
+ color: Flags.string({ description: desc('CreateTagRequest', 'color', 'Color hex code') }),
234
+ },
235
+ updateFlags: {
236
+ name: Flags.string({ description: desc('UpdateEnvironmentRequest', 'name') }),
237
+ color: Flags.string({ description: 'New color hex code' }),
238
+ },
239
+ };
240
+ export const SECRETS = {
241
+ name: 'secret',
242
+ plural: 'secrets',
243
+ apiPath: '/api/v1/secrets',
244
+ idField: 'key',
245
+ columns: [
246
+ { key: 'key', header: 'KEY' },
247
+ { key: 'environmentSlug', header: 'ENVIRONMENT' },
248
+ { key: 'createdAt', header: 'CREATED' },
249
+ { key: 'updatedAt', header: 'UPDATED' },
250
+ ],
251
+ createFlags: {
252
+ key: Flags.string({ description: desc('CreateSecretRequest', 'key'), required: true }),
253
+ value: Flags.string({ description: desc('CreateSecretRequest', 'value'), required: true }),
254
+ environment: Flags.string({ description: 'Environment slug to scope this secret to' }),
255
+ },
256
+ updateFlags: {
257
+ value: Flags.string({ description: desc('UpdateSecretRequest', 'value'), required: true }),
258
+ },
259
+ };
260
+ export const TAGS = {
261
+ name: 'tag',
262
+ plural: 'tags',
263
+ apiPath: '/api/v1/tags',
264
+ columns: [
265
+ { key: 'id', header: 'ID' },
266
+ { key: 'name', header: 'NAME' },
267
+ { key: 'color', header: 'COLOR' },
268
+ { key: 'monitorCount', header: 'MONITORS' },
269
+ ],
270
+ createFlags: {
271
+ name: Flags.string({ description: desc('CreateTagRequest', 'name'), required: true }),
272
+ color: Flags.string({ description: desc('CreateTagRequest', 'color') }),
273
+ },
274
+ updateFlags: {
275
+ name: Flags.string({ description: desc('UpdateTagRequest', 'name') }),
276
+ color: Flags.string({ description: desc('UpdateTagRequest', 'color') }),
277
+ },
278
+ };
279
+ export const RESOURCE_GROUPS = {
280
+ name: 'resource group',
281
+ plural: 'resource-groups',
282
+ apiPath: '/api/v1/resource-groups',
283
+ columns: [
284
+ { key: 'id', header: 'ID' },
285
+ { key: 'name', header: 'NAME' },
286
+ { key: 'description', header: 'DESCRIPTION' },
287
+ { key: 'healthStatus', header: 'HEALTH' },
288
+ ],
289
+ createFlags: {
290
+ name: Flags.string({ description: desc('CreateResourceGroupRequest', 'name'), required: true }),
291
+ description: Flags.string({ description: desc('CreateResourceGroupRequest', 'description') }),
292
+ },
293
+ updateFlags: {
294
+ name: Flags.string({ description: desc('UpdateResourceGroupRequest', 'name') }),
295
+ description: Flags.string({ description: desc('UpdateResourceGroupRequest', 'description') }),
296
+ },
297
+ };
298
+ export const WEBHOOKS = {
299
+ name: 'webhook',
300
+ plural: 'webhooks',
301
+ apiPath: '/api/v1/webhooks',
302
+ columns: [
303
+ { key: 'id', header: 'ID' },
304
+ { key: 'url', header: 'URL' },
305
+ { key: 'enabled', header: 'ENABLED' },
306
+ { key: 'events', header: 'EVENTS' },
307
+ ],
308
+ createFlags: {
309
+ url: Flags.string({ description: desc('CreateWebhookEndpointRequest', 'url'), required: true }),
310
+ events: Flags.string({ description: desc('CreateWebhookEndpointRequest', 'subscribedEvents'), required: true }),
311
+ description: Flags.string({ description: desc('CreateWebhookEndpointRequest', 'description') }),
312
+ },
313
+ updateFlags: {
314
+ url: Flags.string({ description: desc('UpdateWebhookEndpointRequest', 'url') }),
315
+ events: Flags.string({ description: desc('UpdateWebhookEndpointRequest', 'subscribedEvents') }),
316
+ description: Flags.string({ description: desc('UpdateWebhookEndpointRequest', 'description') }),
317
+ },
318
+ bodyBuilder: (raw) => {
319
+ const body = {};
320
+ if (raw.url !== undefined)
321
+ body.url = raw.url;
322
+ if (raw.events !== undefined) {
323
+ body.subscribedEvents = String(raw.events).split(',').map((s) => s.trim()).filter(Boolean);
324
+ }
325
+ if (raw.description !== undefined)
326
+ body.description = raw.description;
327
+ return body;
328
+ },
329
+ };
330
+ export const API_KEYS = {
331
+ name: 'API key',
332
+ plural: 'api-keys',
333
+ apiPath: '/api/v1/api-keys',
334
+ columns: [
335
+ { key: 'id', header: 'ID' },
336
+ { key: 'name', header: 'NAME' },
337
+ { key: 'prefix', header: 'PREFIX' },
338
+ { key: 'status', header: 'STATUS' },
339
+ { key: 'lastUsedAt', header: 'LAST USED' },
340
+ { key: 'createdAt', header: 'CREATED' },
341
+ ],
342
+ createFlags: {
343
+ name: Flags.string({ description: desc('CreateApiKeyRequest', 'name'), required: true }),
344
+ 'expires-at': Flags.string({ description: desc('CreateApiKeyRequest', 'expiresAt') }),
345
+ },
346
+ bodyBuilder: (raw) => {
347
+ const body = { name: String(raw.name) };
348
+ if (raw['expires-at'] !== undefined)
349
+ body.expiresAt = String(raw['expires-at']);
350
+ return body;
351
+ },
352
+ };
353
+ export const DEPENDENCIES = {
354
+ name: 'dependency',
355
+ plural: 'dependencies',
356
+ apiPath: '/api/v1/service-subscriptions',
357
+ columns: [
358
+ { key: 'id', header: 'ID' },
359
+ { key: 'serviceName', header: 'SERVICE' },
360
+ { key: 'serviceSlug', header: 'SLUG' },
361
+ { key: 'alertSensitivity', header: 'SENSITIVITY' },
362
+ { key: 'status', header: 'STATUS' },
363
+ ],
364
+ };
365
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/lib/resources.ts"],"names":[],"mappings":"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"}