@devhelm/sdk 1.1.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.
@@ -617,7 +617,7 @@ export interface paths {
617
617
  get?: never;
618
618
  put?: never;
619
619
  /** Resend invite */
620
- post: operations["resend"];
620
+ post: operations["resend_1"];
621
621
  delete?: never;
622
622
  options?: never;
623
623
  head?: never;
@@ -1520,7 +1520,7 @@ export interface paths {
1520
1520
  head?: never;
1521
1521
  /**
1522
1522
  * Update alert sensitivity for a subscription
1523
- * @description Controls which external incidents trigger alerts: ALL (any status change), INCIDENTS_ONLY (real vendor incidents, default), MAJOR_ONLY (only DOWN-level incidents).
1523
+ * @description Controls which external incidents trigger alerts and whether they page anyone: ALL (any status change, paged), INCIDENTS_ONLY (real vendor incidents, paged), MAJOR_ONLY (only DOWN-level incidents, paged), AWARENESS (real vendor incidents tracked silently — visible on the dashboard but no alert channels fire; default for new subscriptions).
1524
1524
  */
1525
1525
  patch: operations["updateAlertSensitivity"];
1526
1526
  trace?: never;
@@ -1536,7 +1536,7 @@ export interface paths {
1536
1536
  put?: never;
1537
1537
  /**
1538
1538
  * Subscribe to a service or a component of a service
1539
- * @description Idempotent — returns the existing subscription if an identical one exists. Omit the request body or set componentId to null for a whole-service subscription. Free tier: max 10 subscriptions. Paid tier: unlimited.
1539
+ * @description Idempotent — returns the existing subscription if an identical one exists. Omit the request body or set componentId to null for a whole-service subscription. When alertSensitivity is omitted, new subscriptions default to AWARENESS (silent tracking — the incident appears on the dashboard but no alert channels fire). PATCH /alert-sensitivity to opt in to paging. Free tier: max 10 subscriptions. Paid tier: unlimited.
1540
1540
  */
1541
1541
  post: operations["subscribe_1"];
1542
1542
  delete?: never;
@@ -2479,6 +2479,26 @@ export interface components {
2479
2479
  customHeaders?: {
2480
2480
  [key: string]: string | null;
2481
2481
  } | null;
2482
+ /** @description Telegram chat ID */
2483
+ chatId?: string | null;
2484
+ /** @description Pushover notification priority override */
2485
+ priority?: string | null;
2486
+ /** @description Mattermost channel override */
2487
+ channel?: string | null;
2488
+ /** @description Splunk On-Call routing key */
2489
+ routingKey?: string | null;
2490
+ /** @description Pushbullet target device identifier */
2491
+ deviceIden?: string | null;
2492
+ /** @description Linear team ID for issue creation */
2493
+ teamId?: string | null;
2494
+ /** @description incident.io incident visibility */
2495
+ visibility?: string | null;
2496
+ /** @description Rootly incident severity slug */
2497
+ severity?: string | null;
2498
+ /** @description Datadog site region */
2499
+ site?: string | null;
2500
+ /** @description Jira project key */
2501
+ projectKey?: string | null;
2482
2502
  };
2483
2503
  /** @description Alert channel with non-sensitive configuration metadata */
2484
2504
  AlertChannelDto: {
@@ -3074,7 +3094,7 @@ export interface components {
3074
3094
  CreateAlertChannelRequest: {
3075
3095
  /** @description Human-readable name for this alert channel */
3076
3096
  name: string;
3077
- config: components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["WebhookChannelConfig"];
3097
+ config: components["schemas"]["DatadogChannelConfig"] | components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["GitLabChannelConfig"] | components["schemas"]["GoogleChatChannelConfig"] | components["schemas"]["IncidentIoChannelConfig"] | components["schemas"]["JiraChannelConfig"] | components["schemas"]["LinearChannelConfig"] | components["schemas"]["MattermostChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["PushbulletChannelConfig"] | components["schemas"]["PushoverChannelConfig"] | components["schemas"]["RootlyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["SplunkOnCallChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["TelegramChannelConfig"] | components["schemas"]["WebhookChannelConfig"] | components["schemas"]["ZapierChannelConfig"];
3078
3098
  /**
3079
3099
  * @description Source creating this channel: DASHBOARD, CLI, TERRAFORM, MCP, or API. Defaults to API when omitted.
3080
3100
  * @enum {string|null}
@@ -3453,6 +3473,16 @@ export interface components {
3453
3473
  monitors: components["schemas"]["MonitorsSummaryDto"];
3454
3474
  incidents: components["schemas"]["IncidentsSummaryDto"];
3455
3475
  };
3476
+ DatadogChannelConfig: {
3477
+ /** @enum {string} */
3478
+ channelType: "datadog";
3479
+ /** @description Datadog API key */
3480
+ apiKey: string;
3481
+ /** @description Datadog site region (e.g. datadoghq.com, datadoghq.eu, us3.datadoghq.com) */
3482
+ site?: string | null;
3483
+ /** @description Comma-separated tags to attach to events */
3484
+ tags?: string | null;
3485
+ };
3456
3486
  /** @description Incident that overlapped the day */
3457
3487
  DayIncident: {
3458
3488
  /**
@@ -3795,6 +3825,21 @@ export interface components {
3795
3825
  /** @description Whether this is the default environment for new monitors */
3796
3826
  isDefault: boolean;
3797
3827
  };
3828
+ /** @description One structured validation rejection */
3829
+ ErrorEntry: {
3830
+ /**
3831
+ * @description Stable machine-readable code; see ValidationErrorCode for the registry
3832
+ * @example MONITOR_HEARTBEAT_GRACE_EXCEEDS_INTERVAL
3833
+ */
3834
+ code: string;
3835
+ /**
3836
+ * @description JSON-pointer-like path to the offending field, or null for request-wide errors
3837
+ * @example config.gracePeriod
3838
+ */
3839
+ field?: string | null;
3840
+ /** @description Human-readable message; safe to surface to end users */
3841
+ message: string;
3842
+ };
3798
3843
  /**
3799
3844
  * @description Uniform error envelope returned for every non-2xx response
3800
3845
  * @example {
@@ -3833,6 +3878,8 @@ export interface components {
3833
3878
  * @example 5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a
3834
3879
  */
3835
3880
  requestId?: string | null;
3881
+ /** @description Structured per-field rejections; populated for validation errors, null otherwise */
3882
+ errors?: (components["schemas"]["ErrorEntry"] | null)[] | null;
3836
3883
  };
3837
3884
  /** @description Escalation chain defining which channels to notify; null preserves current */
3838
3885
  EscalationChain: {
@@ -3870,6 +3917,14 @@ export interface components {
3870
3917
  /** @description Human-readable reason for the failure */
3871
3918
  reason: string;
3872
3919
  };
3920
+ GitLabChannelConfig: {
3921
+ /** @enum {string} */
3922
+ channelType: "gitlab";
3923
+ /** @description GitLab alert integration endpoint URL */
3924
+ endpointUrl: string;
3925
+ /** @description Authorization key from GitLab alert integration settings */
3926
+ authorizationKey: string;
3927
+ };
3873
3928
  /** @description Global status summary across all subscribed vendor services */
3874
3929
  GlobalStatusSummaryDto: {
3875
3930
  /**
@@ -3915,6 +3970,12 @@ export interface components {
3915
3970
  /** @description Services that are not fully operational */
3916
3971
  servicesWithIssues: components["schemas"]["ServiceCatalogDto"][];
3917
3972
  };
3973
+ GoogleChatChannelConfig: {
3974
+ /** @enum {string} */
3975
+ channelType: "google_chat";
3976
+ /** @description Google Chat space webhook URL */
3977
+ webhookUrl: string;
3978
+ };
3918
3979
  /** @description Component ordering within a single group */
3919
3980
  GroupComponentOrder: {
3920
3981
  /**
@@ -4314,6 +4375,16 @@ export interface components {
4314
4375
  */
4315
4376
  size: number;
4316
4377
  };
4378
+ IncidentIoChannelConfig: {
4379
+ /** @enum {string} */
4380
+ channelType: "incident_io";
4381
+ /** @description incident.io API key with 'Create incidents' permission */
4382
+ apiKey: string;
4383
+ /** @description Severity ID for created incidents (from List Severities API) */
4384
+ severityId?: string | null;
4385
+ /** @description Incident visibility: public or private (default: public) */
4386
+ visibility?: string | null;
4387
+ };
4317
4388
  /** @description Incident detection, confirmation, and recovery policy for a monitor */
4318
4389
  IncidentPolicyDto: {
4319
4390
  /**
@@ -4488,6 +4559,20 @@ export interface components {
4488
4559
  */
4489
4560
  revokedAt?: string | null;
4490
4561
  };
4562
+ JiraChannelConfig: {
4563
+ /** @enum {string} */
4564
+ channelType: "jira";
4565
+ /** @description Atlassian instance domain (e.g. yourteam.atlassian.net) */
4566
+ domain: string;
4567
+ /** @description Atlassian account email for API authentication */
4568
+ email: string;
4569
+ /** @description Atlassian API token */
4570
+ apiToken: string;
4571
+ /** @description Jira project key where issues are created (e.g. OPS) */
4572
+ projectKey: string;
4573
+ /** @description Issue type name (e.g. Bug, Task, Incident) */
4574
+ issueType?: string | null;
4575
+ };
4491
4576
  JsonPathAssertion: {
4492
4577
  /** @enum {string} */
4493
4578
  type: "json_path";
@@ -4526,6 +4611,16 @@ export interface components {
4526
4611
  */
4527
4612
  lastUsedAt?: string | null;
4528
4613
  };
4614
+ LinearChannelConfig: {
4615
+ /** @enum {string} */
4616
+ channelType: "linear";
4617
+ /** @description Linear API key */
4618
+ apiKey: string;
4619
+ /** @description Team ID to create issues in */
4620
+ teamId: string;
4621
+ /** @description Label ID to attach to created issues */
4622
+ labelId?: string | null;
4623
+ };
4529
4624
  LinkedStatusPageIncidentDto: {
4530
4625
  /** Format: uuid */
4531
4626
  id: string;
@@ -4624,6 +4719,16 @@ export interface components {
4624
4719
  /** @description Values list for multi-value rules like monitor_type_in */
4625
4720
  values?: string[] | null;
4626
4721
  };
4722
+ MattermostChannelConfig: {
4723
+ /** @enum {string} */
4724
+ channelType: "mattermost";
4725
+ /** @description Mattermost incoming webhook URL */
4726
+ webhookUrl: string;
4727
+ /** @description Override channel (if webhook allows) */
4728
+ channel?: string | null;
4729
+ /** @description Custom bot icon URL */
4730
+ iconUrl?: string | null;
4731
+ };
4627
4732
  McpConnectsAssertion: {
4628
4733
  /** @enum {string} */
4629
4734
  type: "mcp_connects";
@@ -5231,6 +5336,26 @@ export interface components {
5231
5336
  /** @description Whether to notify subscribers (default: true) */
5232
5337
  notifySubscribers?: boolean | null;
5233
5338
  };
5339
+ PushbulletChannelConfig: {
5340
+ /** @enum {string} */
5341
+ channelType: "pushbullet";
5342
+ /** @description Pushbullet access token */
5343
+ accessToken: string;
5344
+ /** @description Target device identifier (broadcasts to all if empty) */
5345
+ deviceIden?: string | null;
5346
+ };
5347
+ PushoverChannelConfig: {
5348
+ /** @enum {string} */
5349
+ channelType: "pushover";
5350
+ /** @description Pushover user or group key */
5351
+ userKey: string;
5352
+ /** @description Pushover application API token */
5353
+ appToken: string;
5354
+ /** @description Notification priority override (-2 to 2) */
5355
+ priority?: string | null;
5356
+ /** @description Notification sound override */
5357
+ sound?: string | null;
5358
+ };
5234
5359
  /** @description Rate-limit quota for the current sliding window */
5235
5360
  RateLimitInfo: {
5236
5361
  /**
@@ -5569,6 +5694,14 @@ export interface components {
5569
5694
  */
5570
5695
  interval: number;
5571
5696
  };
5697
+ RootlyChannelConfig: {
5698
+ /** @enum {string} */
5699
+ channelType: "rootly";
5700
+ /** @description Rootly API token with incident creation permission */
5701
+ apiKey: string;
5702
+ /** @description Severity slug override (e.g. sev0, sev1) */
5703
+ severity?: string | null;
5704
+ };
5572
5705
  /** @description All rule evaluations that ran for this check */
5573
5706
  RuleEvaluationDto: {
5574
5707
  /**
@@ -5713,6 +5846,8 @@ export interface components {
5713
5846
  adapterType: string;
5714
5847
  /** Format: int32 */
5715
5848
  pollingIntervalSeconds: number;
5849
+ /** @description Service lifecycle state: ACTIVE, DEGRADED, DEPRECATED, or RETIRED */
5850
+ lifecycleStatus: string;
5716
5851
  enabled: boolean;
5717
5852
  published: boolean;
5718
5853
  overallStatus?: string | null;
@@ -5821,6 +5956,8 @@ export interface components {
5821
5956
  adapterType: string;
5822
5957
  /** Format: int32 */
5823
5958
  pollingIntervalSeconds: number;
5959
+ /** @description Service lifecycle state: ACTIVE, DEGRADED, DEPRECATED, or RETIRED */
5960
+ lifecycleStatus: string;
5824
5961
  enabled: boolean;
5825
5962
  /** Format: date-time */
5826
5963
  createdAt: string;
@@ -5995,7 +6132,7 @@ export interface components {
5995
6132
  * @description ID of the component to subscribe to. Omit or null for whole-service subscription.
5996
6133
  */
5997
6134
  componentId?: string | null;
5998
- /** @description Alert sensitivity level. Defaults to INCIDENTS_ONLY when not provided. */
6135
+ /** @description Alert sensitivity: ALL (any status change), INCIDENTS_ONLY (real vendor incidents, page on every one), MAJOR_ONLY (only DOWN-level incidents), AWARENESS (track silently — show on dashboard, never send alerts). Defaults to AWARENESS when not provided — silent tracking is the friendliest first-run choice; switch to one of the paging modes to opt in to alert-channel fan-out. */
5999
6136
  alertSensitivity?: string | null;
6000
6137
  };
6001
6138
  /** @description An org-level service subscription with current status information */
@@ -6028,7 +6165,7 @@ export interface components {
6028
6165
  */
6029
6166
  componentId?: string | null;
6030
6167
  component?: components["schemas"]["ServiceComponentDto"] | null;
6031
- /** @description Alert sensitivity: ALL (synthetic + real incidents), INCIDENTS_ONLY (real vendor incidents, default), MAJOR_ONLY (real + DOWN severity) */
6168
+ /** @description Alert sensitivity: ALL (synthetic + real incidents, paged), INCIDENTS_ONLY (real vendor incidents, paged), MAJOR_ONLY (real + DOWN severity, paged), AWARENESS (real vendor incidents tracked silently — visible on dashboard, never paged; default for new subscriptions) */
6032
6169
  alertSensitivity: string;
6033
6170
  /**
6034
6171
  * Format: date-time
@@ -6247,6 +6384,14 @@ export interface components {
6247
6384
  /** @description Optional mention text included in notifications, e.g. @channel */
6248
6385
  mentionText?: string | null;
6249
6386
  };
6387
+ SplunkOnCallChannelConfig: {
6388
+ /** @enum {string} */
6389
+ channelType: "splunk_oncall";
6390
+ /** @description Splunk On-Call REST API key */
6391
+ apiKey: string;
6392
+ /** @description Routing key for alert routing */
6393
+ routingKey: string;
6394
+ };
6250
6395
  SslExpiryAssertion: {
6251
6396
  /** @enum {string} */
6252
6397
  type: "ssl_expiry";
@@ -6302,6 +6447,11 @@ export interface components {
6302
6447
  * @default false
6303
6448
  */
6304
6449
  hidePoweredBy: boolean;
6450
+ /**
6451
+ * @description Whether to show the 'Subscribe' button in the header (default: true)
6452
+ * @default true
6453
+ */
6454
+ showSubscribeButton: boolean;
6305
6455
  /** @description Custom CSS injected via <style> on the public page — grants full style control */
6306
6456
  customCss?: string | null;
6307
6457
  /** @description Custom HTML injected into <head> on the public page — grants full script control (analytics, pixels) */
@@ -6880,9 +7030,17 @@ export interface components {
6880
7030
  /** @description Microsoft Teams incoming webhook URL */
6881
7031
  webhookUrl: string;
6882
7032
  };
7033
+ TelegramChannelConfig: {
7034
+ /** @enum {string} */
7035
+ channelType: "telegram";
7036
+ /** @description Telegram bot token from @BotFather */
7037
+ botToken: string;
7038
+ /** @description Chat, group, or channel ID to send alerts to */
7039
+ chatId: string;
7040
+ };
6883
7041
  /** @description Alert channel configuration to test without saving */
6884
7042
  TestAlertChannelRequest: {
6885
- config: components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["WebhookChannelConfig"];
7043
+ config: components["schemas"]["DatadogChannelConfig"] | components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["GitLabChannelConfig"] | components["schemas"]["GoogleChatChannelConfig"] | components["schemas"]["IncidentIoChannelConfig"] | components["schemas"]["JiraChannelConfig"] | components["schemas"]["LinearChannelConfig"] | components["schemas"]["MattermostChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["PushbulletChannelConfig"] | components["schemas"]["PushoverChannelConfig"] | components["schemas"]["RootlyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["SplunkOnCallChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["TelegramChannelConfig"] | components["schemas"]["WebhookChannelConfig"] | components["schemas"]["ZapierChannelConfig"];
6886
7044
  };
6887
7045
  TestChannelResult: {
6888
7046
  success: boolean;
@@ -7042,7 +7200,7 @@ export interface components {
7042
7200
  UpdateAlertChannelRequest: {
7043
7201
  /** @description New channel name (full replacement, not partial update) */
7044
7202
  name: string;
7045
- config: components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["WebhookChannelConfig"];
7203
+ config: components["schemas"]["DatadogChannelConfig"] | components["schemas"]["DiscordChannelConfig"] | components["schemas"]["EmailChannelConfig"] | components["schemas"]["GitLabChannelConfig"] | components["schemas"]["GoogleChatChannelConfig"] | components["schemas"]["IncidentIoChannelConfig"] | components["schemas"]["JiraChannelConfig"] | components["schemas"]["LinearChannelConfig"] | components["schemas"]["MattermostChannelConfig"] | components["schemas"]["OpsGenieChannelConfig"] | components["schemas"]["PagerDutyChannelConfig"] | components["schemas"]["PushbulletChannelConfig"] | components["schemas"]["PushoverChannelConfig"] | components["schemas"]["RootlyChannelConfig"] | components["schemas"]["SlackChannelConfig"] | components["schemas"]["SplunkOnCallChannelConfig"] | components["schemas"]["TeamsChannelConfig"] | components["schemas"]["TelegramChannelConfig"] | components["schemas"]["WebhookChannelConfig"] | components["schemas"]["ZapierChannelConfig"];
7046
7204
  /**
7047
7205
  * @description New attribution source: DASHBOARD, CLI, TERRAFORM, MCP, or API; null preserves current value.
7048
7206
  * @enum {string|null}
@@ -7051,7 +7209,7 @@ export interface components {
7051
7209
  };
7052
7210
  /** @description Request body for updating alert sensitivity on a service subscription */
7053
7211
  UpdateAlertSensitivityRequest: {
7054
- /** @description Alert sensitivity: ALL (any status change), INCIDENTS_ONLY (real vendor incidents, default), MAJOR_ONLY (only DOWN-level incidents) */
7212
+ /** @description Alert sensitivity: ALL (any status change), INCIDENTS_ONLY (real vendor incidents, page on every one), MAJOR_ONLY (only DOWN-level incidents), AWARENESS (track silently — show on dashboard, never send alerts; default for new subscriptions) */
7055
7213
  alertSensitivity: string;
7056
7214
  };
7057
7215
  UpdateApiKeyRequest: {
@@ -7515,6 +7673,12 @@ export interface components {
7515
7673
  */
7516
7674
  orgId: number;
7517
7675
  };
7676
+ ZapierChannelConfig: {
7677
+ /** @enum {string} */
7678
+ channelType: "zapier";
7679
+ /** @description Zapier/n8n/Make catch webhook URL */
7680
+ webhookUrl: string;
7681
+ };
7518
7682
  };
7519
7683
  responses: never;
7520
7684
  parameters: never;
@@ -7528,7 +7692,7 @@ export interface operations {
7528
7692
  parameters: {
7529
7693
  query: {
7530
7694
  /** @description Filter by channel integration type (e.g. SLACK, WEBHOOK, EMAIL) */
7531
- type?: "email" | "webhook" | "slack" | "pagerduty" | "opsgenie" | "teams" | "discord";
7695
+ type?: "email" | "webhook" | "slack" | "pagerduty" | "opsgenie" | "teams" | "discord" | "telegram" | "google_chat" | "pushover" | "mattermost" | "splunk_oncall" | "pushbullet" | "linear" | "incident_io" | "rootly" | "zapier" | "datadog" | "jira" | "gitlab";
7532
7696
  /** @description Filter by managed-by source (DASHBOARD, CLI, TERRAFORM, MCP, API) */
7533
7697
  managedBy?: "DASHBOARD" | "CLI" | "TERRAFORM" | "MCP" | "API";
7534
7698
  /** @description Case-insensitive contains-match on the channel name */
@@ -11699,7 +11863,7 @@ export interface operations {
11699
11863
  };
11700
11864
  };
11701
11865
  };
11702
- resend: {
11866
+ resend_1: {
11703
11867
  parameters: {
11704
11868
  query?: never;
11705
11869
  header?: never;