@devhelm/sdk 1.0.0 → 1.2.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.
@@ -7,6 +7,13 @@ const pageable = z
7
7
  sort: z.array(z.string()),
8
8
  })
9
9
  .strict();
10
+ const ErrorEntry = z
11
+ .object({
12
+ code: z.string().min(1),
13
+ field: z.string().nullish(),
14
+ message: z.string().min(1),
15
+ })
16
+ .strict();
10
17
  const ErrorResponse = z
11
18
  .object({
12
19
  status: z.number().int(),
@@ -14,6 +21,15 @@ const ErrorResponse = z
14
21
  message: z.string(),
15
22
  timestamp: z.number().int(),
16
23
  requestId: z.string().nullish(),
24
+ errors: z.array(ErrorEntry.nullable()).nullish(),
25
+ })
26
+ .strict();
27
+ const DatadogChannelConfig = z
28
+ .object({
29
+ channelType: z.literal("datadog"),
30
+ apiKey: z.string().min(1),
31
+ site: z.string().nullish(),
32
+ tags: z.string().nullish(),
17
33
  })
18
34
  .strict();
19
35
  const DiscordChannelConfig = z
@@ -29,6 +45,53 @@ const EmailChannelConfig = z
29
45
  recipients: z.array(z.string().email()).min(1),
30
46
  })
31
47
  .strict();
48
+ const GitLabChannelConfig = z
49
+ .object({
50
+ channelType: z.literal("gitlab"),
51
+ endpointUrl: z.string().min(1),
52
+ authorizationKey: z.string().min(1),
53
+ })
54
+ .strict();
55
+ const GoogleChatChannelConfig = z
56
+ .object({
57
+ channelType: z.literal("google_chat"),
58
+ webhookUrl: z.string().min(1),
59
+ })
60
+ .strict();
61
+ const IncidentIoChannelConfig = z
62
+ .object({
63
+ channelType: z.literal("incident_io"),
64
+ apiKey: z.string().min(1),
65
+ severityId: z.string().nullish(),
66
+ visibility: z.string().nullish(),
67
+ })
68
+ .strict();
69
+ const JiraChannelConfig = z
70
+ .object({
71
+ channelType: z.literal("jira"),
72
+ domain: z.string().min(1),
73
+ email: z.string().min(1),
74
+ apiToken: z.string().min(1),
75
+ projectKey: z.string().min(1),
76
+ issueType: z.string().nullish(),
77
+ })
78
+ .strict();
79
+ const LinearChannelConfig = z
80
+ .object({
81
+ channelType: z.literal("linear"),
82
+ apiKey: z.string().min(1),
83
+ teamId: z.string().min(1),
84
+ labelId: z.string().nullish(),
85
+ })
86
+ .strict();
87
+ const MattermostChannelConfig = z
88
+ .object({
89
+ channelType: z.literal("mattermost"),
90
+ webhookUrl: z.string().min(1),
91
+ channel: z.string().nullish(),
92
+ iconUrl: z.string().nullish(),
93
+ })
94
+ .strict();
32
95
  const OpsGenieChannelConfig = z
33
96
  .object({
34
97
  channelType: z.literal("opsgenie"),
@@ -43,6 +106,29 @@ const PagerDutyChannelConfig = z
43
106
  severityOverride: z.string().nullish(),
44
107
  })
45
108
  .strict();
109
+ const PushbulletChannelConfig = z
110
+ .object({
111
+ channelType: z.literal("pushbullet"),
112
+ accessToken: z.string().min(1),
113
+ deviceIden: z.string().nullish(),
114
+ })
115
+ .strict();
116
+ const PushoverChannelConfig = z
117
+ .object({
118
+ channelType: z.literal("pushover"),
119
+ userKey: z.string().min(1),
120
+ appToken: z.string().min(1),
121
+ priority: z.string().nullish(),
122
+ sound: z.string().nullish(),
123
+ })
124
+ .strict();
125
+ const RootlyChannelConfig = z
126
+ .object({
127
+ channelType: z.literal("rootly"),
128
+ apiKey: z.string().min(1),
129
+ severity: z.string().nullish(),
130
+ })
131
+ .strict();
46
132
  const SlackChannelConfig = z
47
133
  .object({
48
134
  channelType: z.literal("slack"),
@@ -50,9 +136,23 @@ const SlackChannelConfig = z
50
136
  mentionText: z.string().nullish(),
51
137
  })
52
138
  .strict();
139
+ const SplunkOnCallChannelConfig = z
140
+ .object({
141
+ channelType: z.literal("splunk_oncall"),
142
+ apiKey: z.string().min(1),
143
+ routingKey: z.string().min(1),
144
+ })
145
+ .strict();
53
146
  const TeamsChannelConfig = z
54
147
  .object({ channelType: z.literal("teams"), webhookUrl: z.string().min(1) })
55
148
  .strict();
149
+ const TelegramChannelConfig = z
150
+ .object({
151
+ channelType: z.literal("telegram"),
152
+ botToken: z.string().min(1),
153
+ chatId: z.string().min(1),
154
+ })
155
+ .strict();
56
156
  const WebhookChannelConfig = z
57
157
  .object({
58
158
  channelType: z.literal("webhook"),
@@ -61,17 +161,33 @@ const WebhookChannelConfig = z
61
161
  customHeaders: z.record(z.string(), z.string().nullable()).nullish(),
62
162
  })
63
163
  .strict();
164
+ const ZapierChannelConfig = z
165
+ .object({ channelType: z.literal("zapier"), webhookUrl: z.string().min(1) })
166
+ .strict();
64
167
  const CreateAlertChannelRequest = z
65
168
  .object({
66
169
  name: z.string().min(0).max(255),
67
170
  config: z.union([
171
+ DatadogChannelConfig,
68
172
  DiscordChannelConfig,
69
173
  EmailChannelConfig,
174
+ GitLabChannelConfig,
175
+ GoogleChatChannelConfig,
176
+ IncidentIoChannelConfig,
177
+ JiraChannelConfig,
178
+ LinearChannelConfig,
179
+ MattermostChannelConfig,
70
180
  OpsGenieChannelConfig,
71
181
  PagerDutyChannelConfig,
182
+ PushbulletChannelConfig,
183
+ PushoverChannelConfig,
184
+ RootlyChannelConfig,
72
185
  SlackChannelConfig,
186
+ SplunkOnCallChannelConfig,
73
187
  TeamsChannelConfig,
188
+ TelegramChannelConfig,
74
189
  WebhookChannelConfig,
190
+ ZapierChannelConfig,
75
191
  ]),
76
192
  managedBy: z
77
193
  .enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"])
@@ -82,13 +198,26 @@ const UpdateAlertChannelRequest = z
82
198
  .object({
83
199
  name: z.string().min(0).max(255),
84
200
  config: z.union([
201
+ DatadogChannelConfig,
85
202
  DiscordChannelConfig,
86
203
  EmailChannelConfig,
204
+ GitLabChannelConfig,
205
+ GoogleChatChannelConfig,
206
+ IncidentIoChannelConfig,
207
+ JiraChannelConfig,
208
+ LinearChannelConfig,
209
+ MattermostChannelConfig,
87
210
  OpsGenieChannelConfig,
88
211
  PagerDutyChannelConfig,
212
+ PushbulletChannelConfig,
213
+ PushoverChannelConfig,
214
+ RootlyChannelConfig,
89
215
  SlackChannelConfig,
216
+ SplunkOnCallChannelConfig,
90
217
  TeamsChannelConfig,
218
+ TelegramChannelConfig,
91
219
  WebhookChannelConfig,
220
+ ZapierChannelConfig,
92
221
  ]),
93
222
  managedBy: z
94
223
  .enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"])
@@ -98,13 +227,26 @@ const UpdateAlertChannelRequest = z
98
227
  const TestAlertChannelRequest = z
99
228
  .object({
100
229
  config: z.union([
230
+ DatadogChannelConfig,
101
231
  DiscordChannelConfig,
102
232
  EmailChannelConfig,
233
+ GitLabChannelConfig,
234
+ GoogleChatChannelConfig,
235
+ IncidentIoChannelConfig,
236
+ JiraChannelConfig,
237
+ LinearChannelConfig,
238
+ MattermostChannelConfig,
103
239
  OpsGenieChannelConfig,
104
240
  PagerDutyChannelConfig,
241
+ PushbulletChannelConfig,
242
+ PushoverChannelConfig,
243
+ RootlyChannelConfig,
105
244
  SlackChannelConfig,
245
+ SplunkOnCallChannelConfig,
106
246
  TeamsChannelConfig,
247
+ TelegramChannelConfig,
107
248
  WebhookChannelConfig,
249
+ ZapierChannelConfig,
108
250
  ]),
109
251
  })
110
252
  .strict();
@@ -947,13 +1089,16 @@ const UpdateAlertSensitivityRequest = z
947
1089
  alertSensitivity: z
948
1090
  .string()
949
1091
  .min(1)
950
- .regex(/ALL|INCIDENTS_ONLY|MAJOR_ONLY/),
1092
+ .regex(/ALL|AWARENESS|INCIDENTS_ONLY|MAJOR_ONLY/),
951
1093
  })
952
1094
  .strict();
953
1095
  const ServiceSubscribeRequest = z
954
1096
  .object({
955
1097
  componentId: z.string().uuid().nullable(),
956
- alertSensitivity: z.string().nullable(),
1098
+ alertSensitivity: z
1099
+ .string()
1100
+ .regex(/ALL|AWARENESS|INCIDENTS_ONLY|MAJOR_ONLY/)
1101
+ .nullable(),
957
1102
  })
958
1103
  .partial()
959
1104
  .strict();
@@ -1010,6 +1155,7 @@ const StatusPageBranding = z
1010
1155
  .regex(/^https?:\/\/.*/)
1011
1156
  .nullable(),
1012
1157
  hidePoweredBy: z.boolean().default(false),
1158
+ showSubscribeButton: z.boolean().default(true),
1013
1159
  customCss: z.string().min(0).max(50000).nullable(),
1014
1160
  customHeadHtml: z.string().min(0).max(50000).nullable(),
1015
1161
  })
@@ -1277,6 +1423,16 @@ const AlertChannelDisplayConfig = z
1277
1423
  severityOverride: z.string().nullable(),
1278
1424
  mentionRoleId: z.string().nullable(),
1279
1425
  customHeaders: z.record(z.string(), z.string().nullable()).nullable(),
1426
+ chatId: z.string().nullable(),
1427
+ priority: z.string().nullable(),
1428
+ channel: z.string().nullable(),
1429
+ routingKey: z.string().nullable(),
1430
+ deviceIden: z.string().nullable(),
1431
+ teamId: z.string().nullable(),
1432
+ visibility: z.string().nullable(),
1433
+ severity: z.string().nullable(),
1434
+ site: z.string().nullable(),
1435
+ projectKey: z.string().nullable(),
1280
1436
  })
1281
1437
  .partial()
1282
1438
  .strict();
@@ -1284,22 +1440,12 @@ const AlertChannelDto = z
1284
1440
  .object({
1285
1441
  id: z.string().uuid(),
1286
1442
  name: z.string(),
1287
- channelType: z.enum([
1288
- "email",
1289
- "webhook",
1290
- "slack",
1291
- "pagerduty",
1292
- "opsgenie",
1293
- "teams",
1294
- "discord",
1295
- ]),
1443
+ channelType: z.string(),
1296
1444
  displayConfig: AlertChannelDisplayConfig.nullish(),
1297
1445
  createdAt: z.string().datetime({ offset: true }),
1298
1446
  updatedAt: z.string().datetime({ offset: true }),
1299
1447
  configHash: z.string().nullish(),
1300
- managedBy: z
1301
- .enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"])
1302
- .nullish(),
1448
+ managedBy: z.string().nullish(),
1303
1449
  lastDeliveryAt: z.string().datetime({ offset: true }).nullish(),
1304
1450
  lastDeliveryStatus: z.string().nullish(),
1305
1451
  })
@@ -1312,18 +1458,8 @@ const AlertDeliveryDto = z
1312
1458
  channelId: z.string().uuid(),
1313
1459
  channel: z.string(),
1314
1460
  channelType: z.string(),
1315
- status: z.enum([
1316
- "PENDING",
1317
- "DELIVERED",
1318
- "RETRY_PENDING",
1319
- "FAILED",
1320
- "CANCELLED",
1321
- ]),
1322
- eventType: z.enum([
1323
- "INCIDENT_CREATED",
1324
- "INCIDENT_RESOLVED",
1325
- "INCIDENT_REOPENED",
1326
- ]),
1461
+ status: z.string(),
1462
+ eventType: z.string(),
1327
1463
  stepNumber: z.number().int(),
1328
1464
  fireCount: z.number().int(),
1329
1465
  attemptCount: z.number().int(),
@@ -1359,7 +1495,7 @@ const AssertionResultDto = z
1359
1495
  .object({
1360
1496
  type: z.string(),
1361
1497
  passed: z.boolean(),
1362
- severity: z.enum(["fail", "warn"]),
1498
+ severity: z.string(),
1363
1499
  message: z.string().nullish(),
1364
1500
  expected: z.string().nullish(),
1365
1501
  actual: z.string().nullish(),
@@ -1367,52 +1503,9 @@ const AssertionResultDto = z
1367
1503
  .strict();
1368
1504
  const AssertionTestResultDto = z
1369
1505
  .object({
1370
- assertionType: z.enum([
1371
- "status_code",
1372
- "response_time",
1373
- "body_contains",
1374
- "json_path",
1375
- "header_value",
1376
- "regex_body",
1377
- "dns_resolves",
1378
- "dns_response_time",
1379
- "dns_expected_ips",
1380
- "dns_expected_cname",
1381
- "dns_record_contains",
1382
- "dns_record_equals",
1383
- "dns_txt_contains",
1384
- "dns_min_answers",
1385
- "dns_max_answers",
1386
- "dns_response_time_warn",
1387
- "dns_ttl_low",
1388
- "dns_ttl_high",
1389
- "mcp_connects",
1390
- "mcp_response_time",
1391
- "mcp_has_capability",
1392
- "mcp_tool_available",
1393
- "mcp_min_tools",
1394
- "mcp_protocol_version",
1395
- "mcp_response_time_warn",
1396
- "mcp_tool_count_changed",
1397
- "ssl_expiry",
1398
- "response_size",
1399
- "redirect_count",
1400
- "redirect_target",
1401
- "response_time_warn",
1402
- "tcp_connects",
1403
- "tcp_response_time",
1404
- "tcp_response_time_warn",
1405
- "icmp_reachable",
1406
- "icmp_response_time",
1407
- "icmp_response_time_warn",
1408
- "icmp_packet_loss",
1409
- "heartbeat_received",
1410
- "heartbeat_max_interval",
1411
- "heartbeat_interval_drift",
1412
- "heartbeat_payload_contains",
1413
- ]),
1506
+ assertionType: z.string(),
1414
1507
  passed: z.boolean(),
1415
- severity: z.enum(["fail", "warn"]),
1508
+ severity: z.string(),
1416
1509
  message: z.string(),
1417
1510
  expected: z.string().nullish(),
1418
1511
  actual: z.string().nullish(),
@@ -1738,6 +1831,7 @@ const ServiceCatalogDto = z
1738
1831
  logoUrl: z.string().nullish(),
1739
1832
  adapterType: z.string(),
1740
1833
  pollingIntervalSeconds: z.number().int(),
1834
+ lifecycleStatus: z.string(),
1741
1835
  enabled: z.boolean(),
1742
1836
  published: z.boolean(),
1743
1837
  overallStatus: z.string().nullish(),
@@ -1880,15 +1974,9 @@ const IncidentDto = z
1880
1974
  id: z.string().uuid(),
1881
1975
  monitorId: z.string().uuid().nullish(),
1882
1976
  organizationId: z.number().int(),
1883
- source: z.enum([
1884
- "AUTOMATIC",
1885
- "MANUAL",
1886
- "MONITORS",
1887
- "STATUS_DATA",
1888
- "RESOURCE_GROUP",
1889
- ]),
1890
- status: z.enum(["WATCHING", "TRIGGERED", "CONFIRMED", "RESOLVED"]),
1891
- severity: z.enum(["DOWN", "DEGRADED", "MAINTENANCE"]),
1977
+ source: z.string(),
1978
+ status: z.string(),
1979
+ severity: z.string(),
1892
1980
  title: z.string().nullish(),
1893
1981
  triggeredByRule: z.string().nullish(),
1894
1982
  affectedRegions: z.array(z.string()),
@@ -1900,9 +1988,7 @@ const IncidentDto = z
1900
1988
  externalRef: z.string().nullish(),
1901
1989
  affectedComponents: z.array(z.string()).nullish(),
1902
1990
  shortlink: z.string().nullish(),
1903
- resolutionReason: z
1904
- .enum(["MANUAL", "AUTO_RECOVERED", "AUTO_RESOLVED"])
1905
- .nullish(),
1991
+ resolutionReason: z.string().nullish(),
1906
1992
  startedAt: z.string().datetime({ offset: true }).nullish(),
1907
1993
  confirmedAt: z.string().datetime({ offset: true }).nullish(),
1908
1994
  resolvedAt: z.string().datetime({ offset: true }).nullish(),
@@ -1925,14 +2011,10 @@ const IncidentUpdateDto = z
1925
2011
  .object({
1926
2012
  id: z.string().uuid(),
1927
2013
  incidentId: z.string().uuid(),
1928
- oldStatus: z
1929
- .enum(["WATCHING", "TRIGGERED", "CONFIRMED", "RESOLVED"])
1930
- .nullish(),
1931
- newStatus: z
1932
- .enum(["WATCHING", "TRIGGERED", "CONFIRMED", "RESOLVED"])
1933
- .nullish(),
2014
+ oldStatus: z.string().nullish(),
2015
+ newStatus: z.string().nullish(),
1934
2016
  body: z.string().nullish(),
1935
- createdBy: z.enum(["SYSTEM", "USER"]).nullish(),
2017
+ createdBy: z.string().nullish(),
1936
2018
  notifySubscribers: z.boolean(),
1937
2019
  createdAt: z.string().datetime({ offset: true }),
1938
2020
  })
@@ -1944,8 +2026,8 @@ const LinkedStatusPageIncidentDto = z
1944
2026
  statusPageName: z.string(),
1945
2027
  statusPageSlug: z.string(),
1946
2028
  title: z.string(),
1947
- status: z.enum(["INVESTIGATING", "IDENTIFIED", "MONITORING", "RESOLVED"]),
1948
- impact: z.enum(["NONE", "MINOR", "MAJOR", "CRITICAL"]),
2029
+ status: z.string(),
2030
+ impact: z.string(),
1949
2031
  scheduled: z.boolean(),
1950
2032
  publishedAt: z.string().datetime({ offset: true }).nullish(),
1951
2033
  })
@@ -2029,14 +2111,7 @@ const IntegrationDto = z
2029
2111
  description: z.string(),
2030
2112
  logoUrl: z.string(),
2031
2113
  authType: z.string(),
2032
- tierAvailability: z.enum([
2033
- "FREE",
2034
- "STARTER",
2035
- "PRO",
2036
- "TEAM",
2037
- "BUSINESS",
2038
- "ENTERPRISE",
2039
- ]),
2114
+ tierAvailability: z.string(),
2040
2115
  lifecycle: z.string(),
2041
2116
  setupGuideUrl: z.string(),
2042
2117
  configSchema: IntegrationConfigSchemaDto,
@@ -2046,7 +2121,7 @@ const InviteDto = z
2046
2121
  .object({
2047
2122
  inviteId: z.number().int(),
2048
2123
  email: z.string(),
2049
- roleOffered: z.enum(["OWNER", "ADMIN", "MEMBER"]),
2124
+ roleOffered: z.string(),
2050
2125
  expiresAt: z.string().datetime({ offset: true }),
2051
2126
  consumedAt: z.string().datetime({ offset: true }).nullish(),
2052
2127
  revokedAt: z.string().datetime({ offset: true }).nullish(),
@@ -2081,15 +2156,8 @@ const MemberDto = z
2081
2156
  userId: z.number().int(),
2082
2157
  email: z.string(),
2083
2158
  name: z.string().nullish(),
2084
- orgRole: z.enum(["OWNER", "ADMIN", "MEMBER"]),
2085
- status: z.enum([
2086
- "INVITED",
2087
- "ACTIVE",
2088
- "SUSPENDED",
2089
- "LEFT",
2090
- "REMOVED",
2091
- "DECLINED",
2092
- ]),
2159
+ orgRole: z.string(),
2160
+ status: z.string(),
2093
2161
  createdAt: z.string().datetime({ offset: true }),
2094
2162
  })
2095
2163
  .strict();
@@ -2097,50 +2165,7 @@ const MonitorAssertionDto = z
2097
2165
  .object({
2098
2166
  id: z.string().uuid(),
2099
2167
  monitorId: z.string().uuid(),
2100
- assertionType: z.enum([
2101
- "status_code",
2102
- "response_time",
2103
- "body_contains",
2104
- "json_path",
2105
- "header_value",
2106
- "regex_body",
2107
- "dns_resolves",
2108
- "dns_response_time",
2109
- "dns_expected_ips",
2110
- "dns_expected_cname",
2111
- "dns_record_contains",
2112
- "dns_record_equals",
2113
- "dns_txt_contains",
2114
- "dns_min_answers",
2115
- "dns_max_answers",
2116
- "dns_response_time_warn",
2117
- "dns_ttl_low",
2118
- "dns_ttl_high",
2119
- "mcp_connects",
2120
- "mcp_response_time",
2121
- "mcp_has_capability",
2122
- "mcp_tool_available",
2123
- "mcp_min_tools",
2124
- "mcp_protocol_version",
2125
- "mcp_response_time_warn",
2126
- "mcp_tool_count_changed",
2127
- "ssl_expiry",
2128
- "response_size",
2129
- "redirect_count",
2130
- "redirect_target",
2131
- "response_time_warn",
2132
- "tcp_connects",
2133
- "tcp_response_time",
2134
- "tcp_response_time_warn",
2135
- "icmp_reachable",
2136
- "icmp_response_time",
2137
- "icmp_response_time_warn",
2138
- "icmp_packet_loss",
2139
- "heartbeat_received",
2140
- "heartbeat_max_interval",
2141
- "heartbeat_interval_drift",
2142
- "heartbeat_payload_contains",
2143
- ]),
2168
+ assertionType: z.string(),
2144
2169
  config: z.union([
2145
2170
  BodyContainsAssertion,
2146
2171
  DnsExpectedCnameAssertion,
@@ -2185,14 +2210,14 @@ const MonitorAssertionDto = z
2185
2210
  TcpResponseTimeAssertion,
2186
2211
  TcpResponseTimeWarnAssertion,
2187
2212
  ]),
2188
- severity: z.enum(["fail", "warn"]),
2213
+ severity: z.string(),
2189
2214
  })
2190
2215
  .strict();
2191
2216
  const MonitorAuthDto = z
2192
2217
  .object({
2193
2218
  id: z.string().uuid(),
2194
2219
  monitorId: z.string().uuid(),
2195
- authType: z.enum(["bearer", "basic", "header", "api_key"]),
2220
+ authType: z.string(),
2196
2221
  config: z.discriminatedUnion("type", [ApiKeyAuthConfig, BasicAuthConfig, BearerAuthConfig, HeaderAuthConfig]),
2197
2222
  })
2198
2223
  .strict();
@@ -2218,7 +2243,7 @@ const MonitorDto = z
2218
2243
  id: z.string().uuid(),
2219
2244
  organizationId: z.number().int(),
2220
2245
  name: z.string().min(1),
2221
- type: z.enum(["HTTP", "DNS", "MCP_SERVER", "TCP", "ICMP", "HEARTBEAT"]),
2246
+ type: z.string(),
2222
2247
  config: z.union([
2223
2248
  DnsMonitorConfig,
2224
2249
  HeartbeatMonitorConfig,
@@ -2230,7 +2255,7 @@ const MonitorDto = z
2230
2255
  frequencySeconds: z.number().int(),
2231
2256
  enabled: z.boolean(),
2232
2257
  regions: z.array(z.string()),
2233
- managedBy: z.enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"]),
2258
+ managedBy: z.string(),
2234
2259
  createdAt: z.string().datetime({ offset: true }),
2235
2260
  updatedAt: z.string().datetime({ offset: true }),
2236
2261
  assertions: z.array(MonitorAssertionDto).nullish(),
@@ -2240,9 +2265,7 @@ const MonitorDto = z
2240
2265
  auth: MonitorAuthConfig.nullish(),
2241
2266
  incidentPolicy: IncidentPolicyDto.nullish(),
2242
2267
  alertChannelIds: z.array(z.string().uuid()).nullish(),
2243
- currentStatus: z
2244
- .enum(["up", "degraded", "down", "paused", "unknown"])
2245
- .nullish(),
2268
+ currentStatus: z.string().nullish(),
2246
2269
  })
2247
2270
  .strict();
2248
2271
  const MonitorReference = z
@@ -2272,7 +2295,7 @@ const MonitorVersionDto = z
2272
2295
  version: z.number().int(),
2273
2296
  snapshot: MonitorDto,
2274
2297
  changedById: z.number().int().nullish(),
2275
- changedVia: z.enum(["API", "DASHBOARD", "CLI", "TERRAFORM"]),
2298
+ changedVia: z.string(),
2276
2299
  changeSummary: z.string().nullish(),
2277
2300
  createdAt: z.string().datetime({ offset: true }),
2278
2301
  })
@@ -2283,15 +2306,8 @@ const NotificationDispatchDto = z
2283
2306
  incidentId: z.string().uuid(),
2284
2307
  policyId: z.string().uuid(),
2285
2308
  policyName: z.string().nullish(),
2286
- status: z.enum([
2287
- "PENDING",
2288
- "DISPATCHING",
2289
- "DELIVERED",
2290
- "ESCALATING",
2291
- "ACKNOWLEDGED",
2292
- "COMPLETED",
2293
- ]),
2294
- completionReason: z.enum(["EXHAUSTED", "RESOLVED", "NO_STEPS"]).nullish(),
2309
+ status: z.string(),
2310
+ completionReason: z.string().nullish(),
2295
2311
  currentStep: z.number().int(),
2296
2312
  totalSteps: z.number().int().nullish(),
2297
2313
  acknowledgedAt: z.string().datetime({ offset: true }).nullish(),
@@ -2363,11 +2379,11 @@ const RegionStatusDto = z
2363
2379
  .strict();
2364
2380
  const ResourceGroupHealthDto = z
2365
2381
  .object({
2366
- status: z.enum(["operational", "maintenance", "degraded", "down"]),
2382
+ status: z.string(),
2367
2383
  totalMembers: z.number().int(),
2368
2384
  operationalCount: z.number().int(),
2369
2385
  activeIncidents: z.number().int(),
2370
- thresholdStatus: z.enum(["healthy", "degraded", "down"]).nullish(),
2386
+ thresholdStatus: z.string().nullish(),
2371
2387
  failingCount: z.number().int().nullish(),
2372
2388
  })
2373
2389
  .strict();
@@ -2381,7 +2397,7 @@ const ResourceGroupMemberDto = z
2381
2397
  name: z.string().nullish(),
2382
2398
  slug: z.string().nullish(),
2383
2399
  subscriptionId: z.string().uuid().nullish(),
2384
- status: z.enum(["operational", "maintenance", "degraded", "down"]),
2400
+ status: z.string(),
2385
2401
  effectiveFrequency: z.string().nullish(),
2386
2402
  createdAt: z.string().datetime({ offset: true }),
2387
2403
  uptime24h: z.number().nullish(),
@@ -2406,23 +2422,21 @@ const ResourceGroupDto = z
2406
2422
  defaultRetryStrategy: RetryStrategy.nullish(),
2407
2423
  defaultAlertChannels: z.array(z.string().uuid()).nullish(),
2408
2424
  defaultEnvironmentId: z.string().uuid().nullish(),
2409
- healthThresholdType: z.enum(["COUNT", "PERCENTAGE"]).nullish(),
2425
+ healthThresholdType: z.string().nullish(),
2410
2426
  healthThresholdValue: z.number().nullish(),
2411
2427
  suppressMemberAlerts: z.boolean(),
2412
2428
  confirmationDelaySeconds: z.number().int().nullish(),
2413
2429
  recoveryCooldownMinutes: z.number().int().nullish(),
2414
2430
  health: ResourceGroupHealthDto,
2415
2431
  members: z.array(ResourceGroupMemberDto).nullish(),
2416
- managedBy: z
2417
- .enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"])
2418
- .nullish(),
2432
+ managedBy: z.string().nullish(),
2419
2433
  createdAt: z.string().datetime({ offset: true }),
2420
2434
  updatedAt: z.string().datetime({ offset: true }),
2421
2435
  })
2422
2436
  .strict();
2423
2437
  const ResultSummaryDto = z
2424
2438
  .object({
2425
- currentStatus: z.enum(["up", "degraded", "down", "paused", "unknown"]),
2439
+ currentStatus: z.string(),
2426
2440
  latestPerRegion: z.array(RegionStatusDto),
2427
2441
  chartData: z.array(ChartBucketDto),
2428
2442
  uptime24h: z.number().nullish(),
@@ -2537,6 +2551,7 @@ const ServiceDetailDto = z
2537
2551
  logoUrl: z.string().nullish(),
2538
2552
  adapterType: z.string(),
2539
2553
  pollingIntervalSeconds: z.number().int(),
2554
+ lifecycleStatus: z.string(),
2540
2555
  enabled: z.boolean(),
2541
2556
  createdAt: z.string().datetime({ offset: true }),
2542
2557
  updatedAt: z.string().datetime({ offset: true }),
@@ -2606,7 +2621,7 @@ const ServiceSubscriptionDto = z
2606
2621
  overallStatus: z.string().nullish(),
2607
2622
  componentId: z.string().uuid().nullish(),
2608
2623
  component: ServiceComponentDto.nullish(),
2609
- alertSensitivity: z.enum(["ALL", "INCIDENTS_ONLY", "MAJOR_ONLY"]),
2624
+ alertSensitivity: z.string().min(1),
2610
2625
  subscribedAt: z.string().datetime({ offset: true }),
2611
2626
  })
2612
2627
  .strict();
@@ -2746,16 +2761,10 @@ const StatusPageComponentDto = z
2746
2761
  groupId: z.string().uuid().nullish(),
2747
2762
  name: z.string().min(1),
2748
2763
  description: z.string().nullish(),
2749
- type: z.enum(["MONITOR", "GROUP", "STATIC"]),
2764
+ type: z.string(),
2750
2765
  monitorId: z.string().uuid().nullish(),
2751
2766
  resourceGroupId: z.string().uuid().nullish(),
2752
- currentStatus: z.enum([
2753
- "OPERATIONAL",
2754
- "DEGRADED_PERFORMANCE",
2755
- "PARTIAL_OUTAGE",
2756
- "MAJOR_OUTAGE",
2757
- "UNDER_MAINTENANCE",
2758
- ]),
2767
+ currentStatus: z.string(),
2759
2768
  showUptime: z.boolean(),
2760
2769
  displayOrder: z.number().int(),
2761
2770
  pageOrder: z.number().int(),
@@ -2789,16 +2798,8 @@ const StatusPageCustomDomainDto = z
2789
2798
  .object({
2790
2799
  id: z.string().uuid(),
2791
2800
  hostname: z.string(),
2792
- status: z.enum([
2793
- "PENDING_VERIFICATION",
2794
- "VERIFICATION_FAILED",
2795
- "VERIFIED",
2796
- "SSL_PENDING",
2797
- "ACTIVE",
2798
- "FAILED",
2799
- "REMOVED",
2800
- ]),
2801
- verificationMethod: z.enum(["CNAME", "TXT"]),
2801
+ status: z.string(),
2802
+ verificationMethod: z.string(),
2802
2803
  verificationToken: z.string(),
2803
2804
  verificationCnameTarget: z.string(),
2804
2805
  verifiedAt: z.string().datetime({ offset: true }).nullish(),
@@ -2823,23 +2824,13 @@ const StatusPageDto = z
2823
2824
  slug: z.string().min(1),
2824
2825
  description: z.string().nullish(),
2825
2826
  branding: StatusPageBranding,
2826
- visibility: z.enum(["PUBLIC", "PASSWORD", "IP_RESTRICTED"]),
2827
+ visibility: z.string(),
2827
2828
  enabled: z.boolean(),
2828
- incidentMode: z.enum(["MANUAL", "REVIEW", "AUTOMATIC"]),
2829
+ incidentMode: z.string(),
2829
2830
  componentCount: z.number().int().nullish(),
2830
2831
  subscriberCount: z.number().int().nullish(),
2831
- overallStatus: z
2832
- .enum([
2833
- "OPERATIONAL",
2834
- "DEGRADED_PERFORMANCE",
2835
- "PARTIAL_OUTAGE",
2836
- "MAJOR_OUTAGE",
2837
- "UNDER_MAINTENANCE",
2838
- ])
2839
- .nullish(),
2840
- managedBy: z
2841
- .enum(["DASHBOARD", "CLI", "TERRAFORM", "MCP", "API"])
2842
- .nullish(),
2832
+ overallStatus: z.string().nullish(),
2833
+ managedBy: z.string().nullish(),
2843
2834
  createdAt: z.string().datetime({ offset: true }),
2844
2835
  updatedAt: z.string().datetime({ offset: true }),
2845
2836
  })
@@ -2850,22 +2841,16 @@ const SingleValueResponseStatusPageDto = z
2850
2841
  const StatusPageIncidentComponentDto = z
2851
2842
  .object({
2852
2843
  statusPageComponentId: z.string().uuid(),
2853
- componentStatus: z.enum([
2854
- "OPERATIONAL",
2855
- "DEGRADED_PERFORMANCE",
2856
- "PARTIAL_OUTAGE",
2857
- "MAJOR_OUTAGE",
2858
- "UNDER_MAINTENANCE",
2859
- ]),
2844
+ componentStatus: z.string(),
2860
2845
  componentName: z.string(),
2861
2846
  })
2862
2847
  .strict();
2863
2848
  const StatusPageIncidentUpdateDto = z
2864
2849
  .object({
2865
2850
  id: z.string().uuid(),
2866
- status: z.enum(["INVESTIGATING", "IDENTIFIED", "MONITORING", "RESOLVED"]),
2851
+ status: z.string(),
2867
2852
  body: z.string(),
2868
- createdBy: z.enum(["USER", "SYSTEM"]).nullish(),
2853
+ createdBy: z.string().nullish(),
2869
2854
  createdByUserId: z.number().int().nullish(),
2870
2855
  notifySubscribers: z.boolean(),
2871
2856
  createdAt: z.string().datetime({ offset: true }),
@@ -2876,8 +2861,8 @@ const StatusPageIncidentDto = z
2876
2861
  id: z.string().uuid(),
2877
2862
  statusPageId: z.string().uuid(),
2878
2863
  title: z.string().min(1),
2879
- status: z.enum(["INVESTIGATING", "IDENTIFIED", "MONITORING", "RESOLVED"]),
2880
- impact: z.enum(["NONE", "MINOR", "MAJOR", "CRITICAL"]),
2864
+ status: z.string(),
2865
+ impact: z.string(),
2881
2866
  scheduled: z.boolean(),
2882
2867
  scheduledFor: z.string().datetime({ offset: true }).nullish(),
2883
2868
  scheduledUntil: z.string().datetime({ offset: true }).nullish(),
@@ -3333,14 +3318,28 @@ const WebhookEventCatalogResponse = z
3333
3318
  .strict();
3334
3319
  export const schemas = {
3335
3320
  pageable,
3321
+ ErrorEntry,
3336
3322
  ErrorResponse,
3323
+ DatadogChannelConfig,
3337
3324
  DiscordChannelConfig,
3338
3325
  EmailChannelConfig,
3326
+ GitLabChannelConfig,
3327
+ GoogleChatChannelConfig,
3328
+ IncidentIoChannelConfig,
3329
+ JiraChannelConfig,
3330
+ LinearChannelConfig,
3331
+ MattermostChannelConfig,
3339
3332
  OpsGenieChannelConfig,
3340
3333
  PagerDutyChannelConfig,
3334
+ PushbulletChannelConfig,
3335
+ PushoverChannelConfig,
3336
+ RootlyChannelConfig,
3341
3337
  SlackChannelConfig,
3338
+ SplunkOnCallChannelConfig,
3342
3339
  TeamsChannelConfig,
3340
+ TelegramChannelConfig,
3343
3341
  WebhookChannelConfig,
3342
+ ZapierChannelConfig,
3344
3343
  CreateAlertChannelRequest,
3345
3344
  UpdateAlertChannelRequest,
3346
3345
  TestAlertChannelRequest,