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.
- package/README.md +106 -34
- package/dist/commands/alert-channels/create.js +4 -0
- package/dist/commands/alert-channels/create.js.map +1 -0
- package/dist/commands/alert-channels/delete.js +4 -0
- package/dist/commands/alert-channels/delete.js.map +1 -0
- package/dist/commands/alert-channels/get.js +4 -0
- package/dist/commands/alert-channels/get.js.map +1 -0
- package/dist/commands/alert-channels/list.js +4 -0
- package/dist/commands/alert-channels/list.js.map +1 -0
- package/dist/commands/alert-channels/test.js +19 -0
- package/dist/commands/alert-channels/test.js.map +1 -0
- package/dist/commands/alert-channels/update.js +4 -0
- package/dist/commands/alert-channels/update.js.map +1 -0
- package/dist/commands/api-keys/create.js +4 -0
- package/dist/commands/api-keys/create.js.map +1 -0
- package/dist/commands/api-keys/delete.js +4 -0
- package/dist/commands/api-keys/delete.js.map +1 -0
- package/dist/commands/api-keys/get.js +4 -0
- package/dist/commands/api-keys/get.js.map +1 -0
- package/dist/commands/api-keys/list.js +4 -0
- package/dist/commands/api-keys/list.js.map +1 -0
- package/dist/commands/api-keys/revoke.js +17 -0
- package/dist/commands/api-keys/revoke.js.map +1 -0
- package/dist/commands/auth/context/create.js +20 -0
- package/dist/commands/auth/context/create.js.map +1 -0
- package/dist/commands/auth/context/delete.js +18 -0
- package/dist/commands/auth/context/delete.js.map +1 -0
- package/dist/commands/auth/context/index.js +18 -0
- package/dist/commands/auth/context/index.js.map +1 -0
- package/dist/commands/auth/context/list.js +29 -0
- package/dist/commands/auth/context/list.js.map +1 -0
- package/dist/commands/auth/context/use.js +18 -0
- package/dist/commands/auth/context/use.js.map +1 -0
- package/dist/commands/auth/login.js +51 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.js +19 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/token.js +17 -0
- package/dist/commands/auth/token.js.map +1 -0
- package/dist/commands/data/services/status.js +19 -0
- package/dist/commands/data/services/status.js.map +1 -0
- package/dist/commands/data/services/uptime.js +29 -0
- package/dist/commands/data/services/uptime.js.map +1 -0
- package/dist/commands/dependencies/delete.js +4 -0
- package/dist/commands/dependencies/delete.js.map +1 -0
- package/dist/commands/dependencies/get.js +4 -0
- package/dist/commands/dependencies/get.js.map +1 -0
- package/dist/commands/dependencies/list.js +4 -0
- package/dist/commands/dependencies/list.js.map +1 -0
- package/dist/commands/dependencies/track.js +19 -0
- package/dist/commands/dependencies/track.js.map +1 -0
- package/dist/commands/environments/create.js +4 -0
- package/dist/commands/environments/create.js.map +1 -0
- package/dist/commands/environments/delete.js +4 -0
- package/dist/commands/environments/delete.js.map +1 -0
- package/dist/commands/environments/get.js +4 -0
- package/dist/commands/environments/get.js.map +1 -0
- package/dist/commands/environments/list.js +4 -0
- package/dist/commands/environments/list.js.map +1 -0
- package/dist/commands/environments/update.js +4 -0
- package/dist/commands/environments/update.js.map +1 -0
- package/dist/commands/incidents/create.js +4 -0
- package/dist/commands/incidents/create.js.map +1 -0
- package/dist/commands/incidents/delete.js +4 -0
- package/dist/commands/incidents/delete.js.map +1 -0
- package/dist/commands/incidents/get.js +4 -0
- package/dist/commands/incidents/get.js.map +1 -0
- package/dist/commands/incidents/list.js +4 -0
- package/dist/commands/incidents/list.js.map +1 -0
- package/dist/commands/incidents/resolve.js +25 -0
- package/dist/commands/incidents/resolve.js.map +1 -0
- package/dist/commands/incidents/update.js +4 -0
- package/dist/commands/incidents/update.js.map +1 -0
- package/dist/commands/init.js +61 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/monitors/create.js +4 -0
- package/dist/commands/monitors/create.js.map +1 -0
- package/dist/commands/monitors/delete.js +4 -0
- package/dist/commands/monitors/delete.js.map +1 -0
- package/dist/commands/monitors/get.js +4 -0
- package/dist/commands/monitors/get.js.map +1 -0
- package/dist/commands/monitors/list.js +3 -33
- package/dist/commands/monitors/list.js.map +1 -1
- package/dist/commands/monitors/pause.js +19 -0
- package/dist/commands/monitors/pause.js.map +1 -0
- package/dist/commands/monitors/results.js +29 -0
- package/dist/commands/monitors/results.js.map +1 -0
- package/dist/commands/monitors/resume.js +19 -0
- package/dist/commands/monitors/resume.js.map +1 -0
- package/dist/commands/monitors/test.js +20 -0
- package/dist/commands/monitors/test.js.map +1 -0
- package/dist/commands/monitors/update.js +4 -0
- package/dist/commands/monitors/update.js.map +1 -0
- package/dist/commands/notification-policies/create.js +4 -0
- package/dist/commands/notification-policies/create.js.map +1 -0
- package/dist/commands/notification-policies/delete.js +4 -0
- package/dist/commands/notification-policies/delete.js.map +1 -0
- package/dist/commands/notification-policies/get.js +4 -0
- package/dist/commands/notification-policies/get.js.map +1 -0
- package/dist/commands/notification-policies/list.js +4 -0
- package/dist/commands/notification-policies/list.js.map +1 -0
- package/dist/commands/notification-policies/test.js +17 -0
- package/dist/commands/notification-policies/test.js.map +1 -0
- package/dist/commands/notification-policies/update.js +4 -0
- package/dist/commands/notification-policies/update.js.map +1 -0
- package/dist/commands/resource-groups/create.js +4 -0
- package/dist/commands/resource-groups/create.js.map +1 -0
- package/dist/commands/resource-groups/delete.js +4 -0
- package/dist/commands/resource-groups/delete.js.map +1 -0
- package/dist/commands/resource-groups/get.js +4 -0
- package/dist/commands/resource-groups/get.js.map +1 -0
- package/dist/commands/resource-groups/list.js +4 -0
- package/dist/commands/resource-groups/list.js.map +1 -0
- package/dist/commands/resource-groups/update.js +4 -0
- package/dist/commands/resource-groups/update.js.map +1 -0
- package/dist/commands/secrets/create.js +4 -0
- package/dist/commands/secrets/create.js.map +1 -0
- package/dist/commands/secrets/delete.js +4 -0
- package/dist/commands/secrets/delete.js.map +1 -0
- package/dist/commands/secrets/list.js +4 -0
- package/dist/commands/secrets/list.js.map +1 -0
- package/dist/commands/secrets/update.js +4 -0
- package/dist/commands/secrets/update.js.map +1 -0
- package/dist/commands/status.js +18 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/tags/create.js +4 -0
- package/dist/commands/tags/create.js.map +1 -0
- package/dist/commands/tags/delete.js +4 -0
- package/dist/commands/tags/delete.js.map +1 -0
- package/dist/commands/tags/get.js +4 -0
- package/dist/commands/tags/get.js.map +1 -0
- package/dist/commands/tags/list.js +4 -0
- package/dist/commands/tags/list.js.map +1 -0
- package/dist/commands/tags/update.js +4 -0
- package/dist/commands/tags/update.js.map +1 -0
- package/dist/commands/validate.js +63 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/version.js.map +1 -1
- package/dist/commands/webhooks/create.js +4 -0
- package/dist/commands/webhooks/create.js.map +1 -0
- package/dist/commands/webhooks/delete.js +4 -0
- package/dist/commands/webhooks/delete.js.map +1 -0
- package/dist/commands/webhooks/get.js +4 -0
- package/dist/commands/webhooks/get.js.map +1 -0
- package/dist/commands/webhooks/list.js +4 -0
- package/dist/commands/webhooks/list.js.map +1 -0
- package/dist/commands/webhooks/test.js +19 -0
- package/dist/commands/webhooks/test.js.map +1 -0
- package/dist/commands/webhooks/update.js +4 -0
- package/dist/commands/webhooks/update.js.map +1 -0
- package/dist/lib/api-client.js +51 -28
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/api.generated.js +6 -0
- package/dist/lib/api.generated.js.map +1 -0
- package/dist/lib/auth.js +20 -0
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/base-command.js +27 -0
- package/dist/lib/base-command.js.map +1 -0
- package/dist/lib/crud-commands.js +111 -0
- package/dist/lib/crud-commands.js.map +1 -0
- package/dist/lib/descriptions.generated.js +210 -0
- package/dist/lib/descriptions.generated.js.map +1 -0
- package/dist/lib/errors.js +33 -8
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/output.js +53 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/resources.js +365 -0
- package/dist/lib/resources.js.map +1 -0
- package/oclif.manifest.json +5187 -10
- package/package.json +10 -3
- package/dist/commands/monitors/list.d.ts +0 -10
- package/dist/commands/monitors/list.d.ts.map +0 -1
- package/dist/commands/version.d.ts +0 -7
- package/dist/commands/version.d.ts.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/api-client.d.ts +0 -12
- package/dist/lib/api-client.d.ts.map +0 -1
- package/dist/lib/auth.d.ts +0 -14
- package/dist/lib/auth.d.ts.map +0 -1
- package/dist/lib/errors.d.ts +0 -12
- package/dist/lib/errors.d.ts.map +0 -1
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// Auto-generated from OpenAPI spec — do not edit manually.
|
|
2
|
+
// Regenerate with: node scripts/extract-descriptions.mjs
|
|
3
|
+
export const fieldDescriptions = {
|
|
4
|
+
"CreateMonitorRequest": {
|
|
5
|
+
"name": "Human-readable name for this monitor",
|
|
6
|
+
"type": "Monitor protocol type",
|
|
7
|
+
"frequencySeconds": "Check frequency in seconds (30–86400, default: 60)",
|
|
8
|
+
"enabled": "Whether the monitor is active (default: true)",
|
|
9
|
+
"regions": "Probe regions to run checks from, e.g. us-east, eu-west",
|
|
10
|
+
"managedBy": "Who manages this monitor: DASHBOARD or CLI",
|
|
11
|
+
"environmentId": "Environment to associate with this monitor",
|
|
12
|
+
"assertions": "Assertions to evaluate against each check result",
|
|
13
|
+
"alertChannelIds": "Alert channels to notify when this monitor triggers"
|
|
14
|
+
},
|
|
15
|
+
"UpdateMonitorRequest": {
|
|
16
|
+
"name": "New monitor name; null preserves current",
|
|
17
|
+
"frequencySeconds": "New check frequency in seconds (30–86400); null preserves current",
|
|
18
|
+
"enabled": "Enable or disable the monitor; null preserves current",
|
|
19
|
+
"regions": "New probe regions; null preserves current",
|
|
20
|
+
"managedBy": "New management source; null preserves current",
|
|
21
|
+
"environmentId": "New environment ID; null preserves current (use clearEnvironmentId to unset)",
|
|
22
|
+
"clearEnvironmentId": "Set to true to remove the environment association",
|
|
23
|
+
"assertions": "Replace all assertions; null preserves current",
|
|
24
|
+
"clearAuth": "Set to true to remove authentication",
|
|
25
|
+
"alertChannelIds": "Replace alert channel list; null preserves current"
|
|
26
|
+
},
|
|
27
|
+
"CreateManualIncidentRequest": {
|
|
28
|
+
"title": "Short summary of the incident",
|
|
29
|
+
"severity": "Incident severity: DOWN, DEGRADED, or MAINTENANCE",
|
|
30
|
+
"monitorId": "Monitor to associate with this incident",
|
|
31
|
+
"body": "Detailed description or context for the incident"
|
|
32
|
+
},
|
|
33
|
+
"CreateAlertChannelRequest": {
|
|
34
|
+
"name": "Human-readable name for this alert channel"
|
|
35
|
+
},
|
|
36
|
+
"UpdateAlertChannelRequest": {
|
|
37
|
+
"name": "New channel name (full replacement, not partial update)"
|
|
38
|
+
},
|
|
39
|
+
"CreateNotificationPolicyRequest": {
|
|
40
|
+
"name": "Human-readable name for this policy",
|
|
41
|
+
"matchRules": "Match rules to evaluate (all must pass; omit or empty for catch-all)",
|
|
42
|
+
"enabled": "Whether this policy is enabled (default true)",
|
|
43
|
+
"priority": "Evaluation priority; higher value = evaluated first (default 0)"
|
|
44
|
+
},
|
|
45
|
+
"UpdateNotificationPolicyRequest": {
|
|
46
|
+
"name": "Human-readable name for this policy",
|
|
47
|
+
"matchRules": "Match rules to evaluate (all must pass; omit or empty for catch-all)",
|
|
48
|
+
"enabled": "Whether this policy is enabled",
|
|
49
|
+
"priority": "Evaluation priority; higher value = evaluated first"
|
|
50
|
+
},
|
|
51
|
+
"CreateEnvironmentRequest": {
|
|
52
|
+
"name": "Human-readable environment name",
|
|
53
|
+
"slug": "URL-safe identifier (lowercase alphanumeric, hyphens, underscores)",
|
|
54
|
+
"variables": "Initial key-value variable pairs for this environment",
|
|
55
|
+
"isDefault": "Whether this is the default environment for new monitors"
|
|
56
|
+
},
|
|
57
|
+
"UpdateEnvironmentRequest": {
|
|
58
|
+
"name": "New environment name; null preserves current",
|
|
59
|
+
"variables": "Replace all variables; null preserves current",
|
|
60
|
+
"isDefault": "Whether this is the default environment; null preserves current"
|
|
61
|
+
},
|
|
62
|
+
"CreateSecretRequest": {
|
|
63
|
+
"key": "Unique secret key within the workspace (max 255 chars)",
|
|
64
|
+
"value": "Secret value, stored encrypted (max 32KB)"
|
|
65
|
+
},
|
|
66
|
+
"UpdateSecretRequest": {
|
|
67
|
+
"value": "New secret value, stored encrypted (max 32KB)"
|
|
68
|
+
},
|
|
69
|
+
"CreateTagRequest": {
|
|
70
|
+
"name": "Tag name, unique within the org",
|
|
71
|
+
"color": "Hex color code (defaults to #6B7280 if omitted)"
|
|
72
|
+
},
|
|
73
|
+
"UpdateTagRequest": {
|
|
74
|
+
"name": "New tag name",
|
|
75
|
+
"color": "New hex color code"
|
|
76
|
+
},
|
|
77
|
+
"CreateResourceGroupRequest": {
|
|
78
|
+
"name": "Human-readable name for this group",
|
|
79
|
+
"description": "Optional description",
|
|
80
|
+
"alertPolicyId": "Optional notification policy to apply for this group",
|
|
81
|
+
"defaultFrequency": "Default check frequency in seconds applied to members (30–86400)",
|
|
82
|
+
"defaultRegions": "Default regions applied to member monitors",
|
|
83
|
+
"defaultAlertChannels": "Default alert channel IDs applied to member monitors",
|
|
84
|
+
"defaultEnvironmentId": "Default environment ID applied to member monitors",
|
|
85
|
+
"healthThresholdType": "Health threshold type: COUNT or PERCENTAGE",
|
|
86
|
+
"healthThresholdValue": "Health threshold value: count (0+) or percentage (0–100)",
|
|
87
|
+
"suppressMemberAlerts": "Suppress member-level alert notifications when group manages alerting",
|
|
88
|
+
"confirmationDelaySeconds": "Confirmation delay in seconds before group incident creation (0–600)",
|
|
89
|
+
"recoveryCooldownMinutes": "Recovery cooldown in minutes after group incident resolves (0–60)"
|
|
90
|
+
},
|
|
91
|
+
"UpdateResourceGroupRequest": {
|
|
92
|
+
"name": "Human-readable name for this group",
|
|
93
|
+
"description": "Optional description; null clears the existing value",
|
|
94
|
+
"alertPolicyId": "Optional notification policy to apply for this group; null clears the existing value",
|
|
95
|
+
"defaultFrequency": "Default check frequency in seconds for members (30–86400); null clears",
|
|
96
|
+
"defaultRegions": "Default regions for member monitors; null clears",
|
|
97
|
+
"defaultAlertChannels": "Default alert channel IDs for member monitors; null clears",
|
|
98
|
+
"defaultEnvironmentId": "Default environment ID for member monitors; null clears",
|
|
99
|
+
"healthThresholdType": "Health threshold type: COUNT or PERCENTAGE; null disables threshold",
|
|
100
|
+
"healthThresholdValue": "Health threshold value; null disables threshold",
|
|
101
|
+
"suppressMemberAlerts": "Suppress member-level alert notifications; null preserves current value",
|
|
102
|
+
"confirmationDelaySeconds": "Confirmation delay in seconds; null clears",
|
|
103
|
+
"recoveryCooldownMinutes": "Recovery cooldown in minutes; null clears"
|
|
104
|
+
},
|
|
105
|
+
"CreateWebhookEndpointRequest": {
|
|
106
|
+
"url": "HTTPS endpoint that receives webhook event payloads",
|
|
107
|
+
"description": "Optional human-readable description",
|
|
108
|
+
"subscribedEvents": "Event types to deliver, e.g. monitor.created, incident.resolved"
|
|
109
|
+
},
|
|
110
|
+
"UpdateWebhookEndpointRequest": {
|
|
111
|
+
"url": "New webhook URL; null preserves current",
|
|
112
|
+
"description": "New description; null preserves current",
|
|
113
|
+
"subscribedEvents": "Replace subscribed events; null preserves current",
|
|
114
|
+
"enabled": "Enable or disable delivery; null preserves current"
|
|
115
|
+
},
|
|
116
|
+
"CreateApiKeyRequest": {
|
|
117
|
+
"name": "Human-readable name to identify this API key",
|
|
118
|
+
"expiresAt": "Optional expiration timestamp in ISO 8601 format"
|
|
119
|
+
},
|
|
120
|
+
"UpdateApiKeyRequest": {
|
|
121
|
+
"name": "New name for this API key"
|
|
122
|
+
},
|
|
123
|
+
"ResolveIncidentRequest": {
|
|
124
|
+
"body": "Optional resolution message or post-mortem notes"
|
|
125
|
+
},
|
|
126
|
+
"MonitorTestRequest": {
|
|
127
|
+
"type": "Monitor protocol type to test",
|
|
128
|
+
"assertions": "Optional assertions to evaluate against the test result"
|
|
129
|
+
},
|
|
130
|
+
"HttpMonitorConfig": {
|
|
131
|
+
"url": "Target URL to send requests to",
|
|
132
|
+
"method": "HTTP method: GET, POST, PUT, PATCH, DELETE, or HEAD",
|
|
133
|
+
"customHeaders": "Additional HTTP headers to include in requests",
|
|
134
|
+
"requestBody": "Request body content for POST/PUT/PATCH methods",
|
|
135
|
+
"contentType": "Content-Type header value for the request body",
|
|
136
|
+
"verifyTls": "Whether to verify TLS certificates (default: true)"
|
|
137
|
+
},
|
|
138
|
+
"TcpMonitorConfig": {
|
|
139
|
+
"host": "Target hostname or IP address",
|
|
140
|
+
"port": "TCP port to connect to",
|
|
141
|
+
"timeoutMs": "Connection timeout in milliseconds"
|
|
142
|
+
},
|
|
143
|
+
"DnsMonitorConfig": {
|
|
144
|
+
"hostname": "Domain name to resolve",
|
|
145
|
+
"recordTypes": "DNS record types to query: A, AAAA, CNAME, MX, NS, TXT, SRV, SOA, CAA, PTR",
|
|
146
|
+
"nameservers": "Custom nameservers to query (uses system defaults if omitted)",
|
|
147
|
+
"timeoutMs": "Per-query timeout in milliseconds",
|
|
148
|
+
"totalTimeoutMs": "Total timeout for all queries in milliseconds"
|
|
149
|
+
},
|
|
150
|
+
"IcmpMonitorConfig": {
|
|
151
|
+
"host": "Target hostname or IP address to ping",
|
|
152
|
+
"packetCount": "Number of ICMP packets to send",
|
|
153
|
+
"timeoutMs": "Ping timeout in milliseconds"
|
|
154
|
+
},
|
|
155
|
+
"HeartbeatMonitorConfig": {
|
|
156
|
+
"expectedInterval": "Expected heartbeat interval in seconds",
|
|
157
|
+
"gracePeriod": "Grace period in seconds before marking as down"
|
|
158
|
+
},
|
|
159
|
+
"McpServerMonitorConfig": {
|
|
160
|
+
"command": "Command to execute to start the MCP server",
|
|
161
|
+
"args": "Command-line arguments for the MCP server process",
|
|
162
|
+
"env": "Environment variables to pass to the MCP server process"
|
|
163
|
+
},
|
|
164
|
+
"SlackChannelConfig": {
|
|
165
|
+
"webhookUrl": "Slack incoming webhook URL",
|
|
166
|
+
"mentionText": "Optional mention text included in notifications, e.g. @channel"
|
|
167
|
+
},
|
|
168
|
+
"DiscordChannelConfig": {
|
|
169
|
+
"webhookUrl": "Discord webhook URL",
|
|
170
|
+
"mentionRoleId": "Optional Discord role ID to mention in notifications"
|
|
171
|
+
},
|
|
172
|
+
"EmailChannelConfig": {
|
|
173
|
+
"recipients": "Email addresses to send notifications to"
|
|
174
|
+
},
|
|
175
|
+
"WebhookChannelConfig": {
|
|
176
|
+
"url": "Webhook endpoint URL that receives alert payloads",
|
|
177
|
+
"signingSecret": "Optional HMAC signing secret for payload verification",
|
|
178
|
+
"customHeaders": "Additional HTTP headers to include in webhook requests"
|
|
179
|
+
},
|
|
180
|
+
"PagerDutyChannelConfig": {
|
|
181
|
+
"routingKey": "PagerDuty Events API v2 routing (integration) key",
|
|
182
|
+
"severityOverride": "Override PagerDuty severity mapping"
|
|
183
|
+
},
|
|
184
|
+
"OpsGenieChannelConfig": {
|
|
185
|
+
"apiKey": "OpsGenie API key for alert creation",
|
|
186
|
+
"region": "OpsGenie API region: us or eu"
|
|
187
|
+
},
|
|
188
|
+
"TeamsChannelConfig": {
|
|
189
|
+
"webhookUrl": "Microsoft Teams incoming webhook URL"
|
|
190
|
+
},
|
|
191
|
+
"EscalationChain": {
|
|
192
|
+
"steps": "Ordered escalation steps, evaluated in sequence",
|
|
193
|
+
"onResolve": "Action when the incident resolves",
|
|
194
|
+
"onReopen": "Action when a resolved incident reopens"
|
|
195
|
+
},
|
|
196
|
+
"EscalationStep": {
|
|
197
|
+
"delayMinutes": "Minutes to wait before executing this step (0 = immediate)",
|
|
198
|
+
"channelIds": "Alert channel IDs to notify in this step",
|
|
199
|
+
"requireAck": "Whether an acknowledgment is required before escalating",
|
|
200
|
+
"repeatIntervalSeconds": "Repeat notification interval in seconds until acknowledged"
|
|
201
|
+
},
|
|
202
|
+
"MatchRule": {
|
|
203
|
+
"type": "Rule type, e.g. severity_gte, monitor_id_in, region_in",
|
|
204
|
+
"value": "Comparison value for single-value rules like severity_gte",
|
|
205
|
+
"monitorIds": "Monitor UUIDs to match for monitor_id_in rules",
|
|
206
|
+
"regions": "Region codes to match for region_in rules",
|
|
207
|
+
"values": "Values list for multi-value rules like monitor_type_in"
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=descriptions.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptions.generated.js","sourceRoot":"","sources":["../../src/lib/descriptions.generated.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import { ApiRequestError } from './api-client.js';
|
|
2
|
+
export const EXIT_CODES = {
|
|
3
|
+
SUCCESS: 0,
|
|
4
|
+
GENERAL: 1,
|
|
5
|
+
AUTH: 2,
|
|
6
|
+
API: 3,
|
|
7
|
+
VALIDATION: 4,
|
|
8
|
+
NOT_FOUND: 5,
|
|
9
|
+
};
|
|
1
10
|
export class DevhelmError extends Error {
|
|
2
11
|
exitCode;
|
|
3
|
-
constructor(message, exitCode =
|
|
12
|
+
constructor(message, exitCode = EXIT_CODES.GENERAL) {
|
|
4
13
|
super(message);
|
|
5
14
|
this.exitCode = exitCode;
|
|
6
15
|
this.name = 'DevhelmError';
|
|
@@ -8,16 +17,32 @@ export class DevhelmError extends Error {
|
|
|
8
17
|
}
|
|
9
18
|
export class AuthError extends DevhelmError {
|
|
10
19
|
constructor(message = 'Not authenticated. Run `devhelm auth login` first.') {
|
|
11
|
-
super(message,
|
|
20
|
+
super(message, EXIT_CODES.AUTH);
|
|
12
21
|
this.name = 'AuthError';
|
|
13
22
|
}
|
|
14
23
|
}
|
|
15
|
-
export class
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.status = status;
|
|
20
|
-
this.name = 'ApiError';
|
|
24
|
+
export class ValidationError extends DevhelmError {
|
|
25
|
+
constructor(message) {
|
|
26
|
+
super(message, EXIT_CODES.VALIDATION);
|
|
27
|
+
this.name = 'ValidationError';
|
|
21
28
|
}
|
|
22
29
|
}
|
|
30
|
+
export class NotFoundError extends DevhelmError {
|
|
31
|
+
constructor(resource, id) {
|
|
32
|
+
super(`${resource} '${id}' not found.`, EXIT_CODES.NOT_FOUND);
|
|
33
|
+
this.name = 'NotFoundError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function handleApiError(error) {
|
|
37
|
+
if (error instanceof ApiRequestError) {
|
|
38
|
+
if (error.status === 401 || error.status === 403) {
|
|
39
|
+
throw new AuthError(`Authentication failed: ${error.message}`);
|
|
40
|
+
}
|
|
41
|
+
if (error.status === 404) {
|
|
42
|
+
throw new DevhelmError(error.message, EXIT_CODES.NOT_FOUND);
|
|
43
|
+
}
|
|
44
|
+
throw new DevhelmError(error.message, EXIT_CODES.API);
|
|
45
|
+
}
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
23
48
|
//# sourceMappingURL=errors.js.map
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG5B;IAFT,YACE,OAAe,EACR,WAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAA;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;CACJ,CAAA;AAEV,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG5B;IAFT,YACE,OAAe,EACR,WAAmB,UAAU,CAAC,OAAO;QAE5C,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,aAAQ,GAAR,QAAQ,CAA6B;QAG5C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,YAAY;IACzC,YAAY,OAAO,GAAG,oDAAoD;QACxE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,QAAgB,EAAE,EAAU;QACtC,KAAK,CAAC,GAAG,QAAQ,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,KAAK,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import Table from 'cli-table3';
|
|
2
|
+
import { stringify as yamlStringify } from 'yaml';
|
|
3
|
+
export function formatOutput(data, format, columns) {
|
|
4
|
+
switch (format) {
|
|
5
|
+
case 'json':
|
|
6
|
+
return JSON.stringify(data, null, 2);
|
|
7
|
+
case 'yaml':
|
|
8
|
+
return yamlStringify(data).trimEnd();
|
|
9
|
+
case 'table':
|
|
10
|
+
return formatTable(data, columns);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function formatTable(data, columns) {
|
|
14
|
+
if (!Array.isArray(data)) {
|
|
15
|
+
return formatSingleRecord(data);
|
|
16
|
+
}
|
|
17
|
+
if (data.length === 0) {
|
|
18
|
+
return 'No results found.';
|
|
19
|
+
}
|
|
20
|
+
if (!columns) {
|
|
21
|
+
columns = Object.keys(data[0]).map((key) => ({
|
|
22
|
+
key,
|
|
23
|
+
header: key.toUpperCase(),
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
const table = new Table({
|
|
27
|
+
head: columns.map((c) => c.header),
|
|
28
|
+
style: { head: ['cyan'] },
|
|
29
|
+
});
|
|
30
|
+
for (const row of data) {
|
|
31
|
+
const r = row;
|
|
32
|
+
table.push(columns.map((c) => {
|
|
33
|
+
if (c.get)
|
|
34
|
+
return c.get(r);
|
|
35
|
+
const val = r[c.key];
|
|
36
|
+
if (val === null || val === undefined)
|
|
37
|
+
return '';
|
|
38
|
+
return String(val);
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
return table.toString();
|
|
42
|
+
}
|
|
43
|
+
function formatSingleRecord(data) {
|
|
44
|
+
const table = new Table({ style: { head: ['cyan'] } });
|
|
45
|
+
for (const [key, value] of Object.entries(data)) {
|
|
46
|
+
if (value === undefined)
|
|
47
|
+
continue;
|
|
48
|
+
const display = typeof value === 'object' ? JSON.stringify(value) : String(value ?? '');
|
|
49
|
+
table.push({ [key]: display });
|
|
50
|
+
}
|
|
51
|
+
return table.toString();
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAC,SAAS,IAAI,aAAa,EAAC,MAAM,MAAM,CAAA;AAW/C,MAAM,UAAU,YAAY,CAC1B,IAAa,EACb,MAAoB,EACpB,OAAqB;IAErB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACtC,KAAK,MAAM;YACT,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;QACtC,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAa,EAAE,OAAqB;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,kBAAkB,CAAC,IAA+B,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG;YACH,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE;SAC1B,CAAC,CAAC,CAAA;IACL,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAC;KACxB,CAAC,CAAA;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,GAA8B,CAAA;QACxC,KAAK,CAAC,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAA;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B;IACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC,CAAC,CAAA;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACvF,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC"}
|