@devhelm/sdk 1.1.0 → 1.3.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.
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { Devhelm } from './client.js';
2
2
  export type { DevhelmConfig, Page, CursorPage } from './types.js';
3
3
  export { DevhelmApiError, DevhelmAuthError, DevhelmConflictError, DevhelmError, DevhelmNotFoundError, DevhelmRateLimitError, DevhelmServerError, DevhelmTransportError, DevhelmValidationError, } from './errors.js';
4
4
  export type { DevhelmApiErrorOptions, ValidationIssue } from './errors.js';
5
- export type { MonitorDto, IncidentDto, IncidentDetailDto, AlertChannelDto, NotificationPolicyDto, EnvironmentDto, SecretDto, TagDto, ResourceGroupDto, WebhookEndpointDto, ApiKeyDto, ApiKeyCreateResponse, ServiceSubscriptionDto, MonitorVersionDto, CheckResultDto, DashboardOverviewDto, DeployLockDto, AssertionTestResultDto, MonitorTestResultDto, MaintenanceWindowDto, IncidentTimelineDto, CheckTraceDto, PolicySnapshotDto, RuleEvaluationDto, IncidentStateTransitionDto, CreateMonitorRequest, UpdateMonitorRequest, CreateManualIncidentRequest, ResolveIncidentRequest, CreateAlertChannelRequest, UpdateAlertChannelRequest, CreateNotificationPolicyRequest, UpdateNotificationPolicyRequest, CreateEnvironmentRequest, UpdateEnvironmentRequest, CreateSecretRequest, UpdateSecretRequest, CreateTagRequest, UpdateTagRequest, CreateResourceGroupRequest, UpdateResourceGroupRequest, AddResourceGroupMemberRequest, CreateWebhookEndpointRequest, UpdateWebhookEndpointRequest, CreateApiKeyRequest, AcquireDeployLockRequest, CreateMaintenanceWindowRequest, UpdateMaintenanceWindowRequest, StatusPageDto, StatusPageComponentDto, StatusPageComponentGroupDto, StatusPageIncidentDto, StatusPageIncidentUpdateDto, StatusPageIncidentComponentDto, StatusPageSubscriberDto, StatusPageCustomDomainDto, StatusPageBranding, CreateStatusPageRequest, UpdateStatusPageRequest, CreateStatusPageComponentRequest, UpdateStatusPageComponentRequest, CreateStatusPageComponentGroupRequest, UpdateStatusPageComponentGroupRequest, CreateStatusPageIncidentRequest, UpdateStatusPageIncidentRequest, CreateStatusPageIncidentUpdateRequest, AddCustomDomainRequest, AdminAddSubscriberRequest, PublishStatusPageIncidentRequest, ReorderComponentsRequest, ReorderPageLayoutRequest, ComponentPosition, AffectedComponent, TestChannelResult, WebhookTestResult, } from './types.js';
5
+ export type { MonitorDto, IncidentDto, IncidentDetailDto, AlertChannelDto, NotificationPolicyDto, EnvironmentDto, SecretDto, TagDto, ResourceGroupDto, WebhookEndpointDto, ApiKeyDto, ApiKeyCreateResponse, ServiceSubscriptionDto, MonitorVersionDto, CheckResultDto, DashboardOverviewDto, DeployLockDto, AssertionTestResultDto, MonitorTestResultDto, MaintenanceWindowDto, ServiceCatalogDto, ServiceDetailDto, ServiceLiveStatusDto, ServiceStatusDto, CategoryDto, GlobalStatusSummaryDto, ServiceComponentDto, ComponentStatusDto, ComponentsSummaryDto, ComponentUptimeSummaryDto, ComponentUptimeDayDto, BatchComponentUptimeDto, ServiceDayDetailDto, ServiceIncidentDto, ServiceIncidentDetailDto, ServiceIncidentUpdateDto, ServiceUptimeResponse, UptimeBucketDto, ScheduledMaintenanceDto, IncidentTimelineDto, CheckTraceDto, PolicySnapshotDto, RuleEvaluationDto, IncidentStateTransitionDto, CreateMonitorRequest, UpdateMonitorRequest, CreateManualIncidentRequest, ResolveIncidentRequest, CreateAlertChannelRequest, UpdateAlertChannelRequest, CreateNotificationPolicyRequest, UpdateNotificationPolicyRequest, CreateEnvironmentRequest, UpdateEnvironmentRequest, CreateSecretRequest, UpdateSecretRequest, CreateTagRequest, UpdateTagRequest, CreateResourceGroupRequest, UpdateResourceGroupRequest, AddResourceGroupMemberRequest, CreateWebhookEndpointRequest, UpdateWebhookEndpointRequest, CreateApiKeyRequest, AcquireDeployLockRequest, CreateMaintenanceWindowRequest, UpdateMaintenanceWindowRequest, ServiceSubscribeRequest, UpdateAlertSensitivityRequest, StatusPageDto, StatusPageComponentDto, StatusPageComponentGroupDto, StatusPageIncidentDto, StatusPageIncidentUpdateDto, StatusPageIncidentComponentDto, StatusPageSubscriberDto, StatusPageCustomDomainDto, StatusPageBranding, CreateStatusPageRequest, UpdateStatusPageRequest, CreateStatusPageComponentRequest, UpdateStatusPageComponentRequest, CreateStatusPageComponentGroupRequest, UpdateStatusPageComponentGroupRequest, CreateStatusPageIncidentRequest, UpdateStatusPageIncidentRequest, CreateStatusPageIncidentUpdateRequest, AddCustomDomainRequest, AdminAddSubscriberRequest, PublishStatusPageIncidentRequest, ReorderComponentsRequest, ReorderPageLayoutRequest, ComponentPosition, AffectedComponent, TestChannelResult, WebhookTestResult, } from './types.js';
6
6
  export * as schemas from './schemas.js';
7
7
  export { Monitors } from './resources/monitors.js';
8
8
  export { Incidents } from './resources/incidents.js';
@@ -17,6 +17,8 @@ export { ResourceGroups } from './resources/resource-groups.js';
17
17
  export { Webhooks } from './resources/webhooks.js';
18
18
  export { ApiKeys } from './resources/api-keys.js';
19
19
  export { Dependencies } from './resources/dependencies.js';
20
+ export { Services } from './resources/services.js';
21
+ export type { ServiceListFilters, ServiceIncidentFilters, UptimeRangeOptions } from './resources/services.js';
20
22
  export { DeployLock } from './resources/deploy-lock.js';
21
23
  export { Status } from './resources/status.js';
22
24
  export { StatusPages } from './resources/status-pages.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AACnC,YAAY,EAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,YAAY,CAAA;AAC/D,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAC,sBAAsB,EAAE,eAAe,EAAC,MAAM,aAAa,CAAA;AAGxE,YAAY,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,qCAAqC,EACrC,qCAAqC,EACrC,+BAA+B,EAC/B,+BAA+B,EAC/B,qCAAqC,EACrC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAA;AAGnB,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,YAAY,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,YAAY,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAC3G,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAA;AACrE,YAAY,EAAC,wBAAwB,EAAC,MAAM,oCAAoC,CAAA"}
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ export { ResourceGroups } from './resources/resource-groups.js';
15
15
  export { Webhooks } from './resources/webhooks.js';
16
16
  export { ApiKeys } from './resources/api-keys.js';
17
17
  export { Dependencies } from './resources/dependencies.js';
18
+ export { Services } from './resources/services.js';
18
19
  export { DeployLock } from './resources/deploy-lock.js';
19
20
  export { Status } from './resources/status.js';
20
21
  export { StatusPages } from './resources/status-pages.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AAEnC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAkFpB,kEAAkE;AAClE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,qEAAqE;AACrE,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AAEnC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAuGpB,kEAAkE;AAClE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,qEAAqE;AACrE,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { ApiClient } from '../http.js';
2
- import type { ServiceSubscriptionDto, Page } from '../types.js';
2
+ import type { ServiceSubscriptionDto, ServiceSubscribeRequest, Page } from '../types.js';
3
3
  export declare class Dependencies {
4
4
  private readonly client;
5
5
  constructor(client: ApiClient);
@@ -12,11 +12,14 @@ export declare class Dependencies {
12
12
  /**
13
13
  * Track (subscribe to) a service from the catalog by its slug.
14
14
  *
15
- * The endpoint takes no request body per the OpenAPI spec the slug is
16
- * the entire payload. If a body is added upstream, wire `validateRequest`
17
- * here against the new schema before sending.
15
+ * Optionally scope the subscription to a single component (`componentId`)
16
+ * and/or set the alert sensitivity. When neither option is provided the
17
+ * request is sent without a body, matching the server's defaults
18
+ * (whole-service subscription, default sensitivity).
18
19
  */
19
- track(slug: string): Promise<ServiceSubscriptionDto>;
20
+ track(slug: string, options?: ServiceSubscribeRequest): Promise<ServiceSubscriptionDto>;
21
+ /** Change how sensitively a subscription alerts (e.g. `ALL`, `MAJOR_ONLY`). */
22
+ updateAlertSensitivity(subscriptionId: string | number, alertSensitivity: string): Promise<ServiceSubscriptionDto>;
20
23
  /** Untrack (unsubscribe from) a service subscription. */
21
24
  delete(subscriptionId: string | number): Promise<void>;
22
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,sBAAsB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAI7D,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,uDAAuD;IACjD,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI/C,2DAA2D;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAIjF,+CAA+C;IACzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI/D;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI1D,yDAAyD;IACnD,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,sBAAsB,EAAE,uBAAuB,EAAE,IAAI,EAAC,MAAM,aAAa,CAAA;AAStF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE9C,uDAAuD;IACjD,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI/C,2DAA2D;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAIjF,+CAA+C;IACzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI/D;;;;;;;OAOG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAY7F,+EAA+E;IACzE,sBAAsB,CAC1B,cAAc,EAAE,MAAM,GAAG,MAAM,EAC/B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAYlC,yDAAyD;IACnD,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
@@ -1,5 +1,6 @@
1
- import { ServiceSubscriptionDtoSchema } from '../schemas.js';
1
+ import { ServiceSubscriptionDtoSchema, ServiceSubscribeRequestSchema, UpdateAlertSensitivityRequestSchema, } from '../schemas.js';
2
2
  import { fetchAllPages, fetchPage, fetchSingle, fetchVoid } from '../http.js';
3
+ import { validateRequest } from '../validation.js';
3
4
  export class Dependencies {
4
5
  client;
5
6
  constructor(client) {
@@ -20,12 +21,22 @@ export class Dependencies {
20
21
  /**
21
22
  * Track (subscribe to) a service from the catalog by its slug.
22
23
  *
23
- * The endpoint takes no request body per the OpenAPI spec the slug is
24
- * the entire payload. If a body is added upstream, wire `validateRequest`
25
- * here against the new schema before sending.
24
+ * Optionally scope the subscription to a single component (`componentId`)
25
+ * and/or set the alert sensitivity. When neither option is provided the
26
+ * request is sent without a body, matching the server's defaults
27
+ * (whole-service subscription, default sensitivity).
26
28
  */
27
- async track(slug) {
28
- return fetchSingle(this.client, 'POST', `/api/v1/service-subscriptions/${slug}`, ServiceSubscriptionDtoSchema);
29
+ async track(slug, options) {
30
+ const hasBody = options !== undefined && (options.componentId !== undefined || options.alertSensitivity !== undefined);
31
+ if (hasBody)
32
+ validateRequest(ServiceSubscribeRequestSchema, options, 'dependencies.track');
33
+ return fetchSingle(this.client, 'POST', `/api/v1/service-subscriptions/${slug}`, ServiceSubscriptionDtoSchema, hasBody ? options : undefined);
34
+ }
35
+ /** Change how sensitively a subscription alerts (e.g. `ALL`, `MAJOR_ONLY`). */
36
+ async updateAlertSensitivity(subscriptionId, alertSensitivity) {
37
+ const body = { alertSensitivity };
38
+ validateRequest(UpdateAlertSensitivityRequestSchema, body, 'dependencies.updateAlertSensitivity');
39
+ return fetchSingle(this.client, 'PATCH', `/api/v1/service-subscriptions/${subscriptionId}/alert-sensitivity`, ServiceSubscriptionDtoSchema, body);
29
40
  }
30
41
  /** Untrack (unsubscribe from) a service subscription. */
31
42
  async delete(subscriptionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAE3E,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,uDAAuD;IACvD,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,4BAA4B,CAAC,CAAA;IAClG,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1G,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,GAAG,CAAC,EAAmB;QAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAA;IAC7G,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,iCAAiC,IAAI,EAAE,EAAE,4BAA4B,CAAC,CAAA;IAChH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,MAAM,CAAC,cAA+B;QAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAiC,cAAc,EAAE,CAAC,CAAA;IAClF,CAAC;CACF"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/resources/dependencies.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAEhD,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,uDAAuD;IACvD,KAAK,CAAC,IAAI;QACR,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,4BAA4B,CAAC,CAAA;IAClG,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1G,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,GAAG,CAAC,EAAmB;QAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAA;IAC7G,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAiC;QACzD,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAA;QACtH,IAAI,OAAO;YAAE,eAAe,CAAC,6BAA6B,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAC1F,OAAO,WAAW,CAChB,IAAI,CAAC,MAAM,EACX,MAAM,EACN,iCAAiC,IAAI,EAAE,EACvC,4BAA4B,EAC5B,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAC9B,CAAA;IACH,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,sBAAsB,CAC1B,cAA+B,EAC/B,gBAAwB;QAExB,MAAM,IAAI,GAAG,EAAC,gBAAgB,EAAC,CAAA;QAC/B,eAAe,CAAC,mCAAmC,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAA;QACjG,OAAO,WAAW,CAChB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,iCAAiC,cAAc,oBAAoB,EACnE,4BAA4B,EAC5B,IAAI,CACL,CAAA;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,MAAM,CAAC,cAA+B;QAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAiC,cAAc,EAAE,CAAC,CAAA;IAClF,CAAC;CACF"}
@@ -0,0 +1,90 @@
1
+ import type { ApiClient } from '../http.js';
2
+ import type { ServiceCatalogDto, ServiceDetailDto, ServiceLiveStatusDto, CategoryDto, GlobalStatusSummaryDto, ServiceComponentDto, ComponentUptimeDayDto, BatchComponentUptimeDto, ServiceDayDetailDto, ServiceIncidentDto, ServiceIncidentDetailDto, ServiceUptimeResponse, ScheduledMaintenanceDto, Page, CursorPage } from '../types.js';
3
+ /** Filters for listing catalog services. */
4
+ export interface ServiceListFilters {
5
+ /** Filter by category slug (see `client.services.categories()`). */
6
+ category?: string;
7
+ /** Filter by current overall status (e.g. `OPERATIONAL`, `MAJOR_OUTAGE`). */
8
+ status?: string;
9
+ /** Free-text search over service name and slug. */
10
+ search?: string;
11
+ /** Opaque cursor from a previous page's `nextCursor`. */
12
+ cursor?: string;
13
+ /** Page size. */
14
+ limit?: number;
15
+ }
16
+ /** Filters for listing service incidents (per-service or global). */
17
+ export interface ServiceIncidentFilters {
18
+ /** When set, lists incidents for this service only; otherwise lists across all services. */
19
+ slugOrId?: string;
20
+ /** Filter by incident status (e.g. `investigating`, `resolved`). */
21
+ status?: string;
22
+ /** Only incidents that started at or after this ISO 8601 timestamp. */
23
+ from?: string;
24
+ /** Filter by service category (global mode only). */
25
+ category?: string;
26
+ page?: number;
27
+ size?: number;
28
+ }
29
+ /** Time-range options for component uptime queries. */
30
+ export interface UptimeRangeOptions {
31
+ /** Named period (e.g. `30d`, `90d`). Mutually exclusive with from/to. */
32
+ period?: string;
33
+ /** Range start, ISO 8601. */
34
+ from?: string;
35
+ /** Range end, ISO 8601. */
36
+ to?: string;
37
+ }
38
+ /**
39
+ * Read-only Status Data catalog — third-party services DevHelm polls
40
+ * (their live status, components, incidents, uptime, and maintenances).
41
+ *
42
+ * To subscribe your org to a service for alerting, see
43
+ * `client.dependencies.track()`.
44
+ */
45
+ export declare class Services {
46
+ private readonly client;
47
+ constructor(client: ApiClient);
48
+ /** List catalog services (cursor-paginated). */
49
+ list(options?: ServiceListFilters): Promise<CursorPage<ServiceCatalogDto>>;
50
+ /** Get a single service by slug or UUID. Set `summary` to omit heavy detail sections. */
51
+ get(slugOrId: string, options?: {
52
+ summary?: boolean;
53
+ }): Promise<ServiceDetailDto>;
54
+ /** Current live status of a service (overall + per-component). */
55
+ liveStatus(slugOrId: string): Promise<ServiceLiveStatusDto>;
56
+ /** List catalog categories with per-category service counts. */
57
+ categories(): Promise<CategoryDto[]>;
58
+ /** Global status summary across the whole catalog. */
59
+ summary(): Promise<GlobalStatusSummaryDto>;
60
+ /** List components of a service, optionally scoped to a component group. */
61
+ components(slugOrId: string, options?: {
62
+ groupId?: string;
63
+ }): Promise<ServiceComponentDto[]>;
64
+ /** Daily uptime history for a single component. */
65
+ componentUptime(slugOrId: string, componentId: string, options?: UptimeRangeOptions): Promise<ComponentUptimeDayDto[]>;
66
+ /** Daily uptime history for every component of a service, keyed by component id. */
67
+ batchComponentUptime(slugOrId: string, options?: UptimeRangeOptions): Promise<BatchComponentUptimeDto>;
68
+ /** Detailed breakdown of a single day (`date` as `YYYY-MM-DD`). */
69
+ day(slugOrId: string, date: string): Promise<ServiceDayDetailDto>;
70
+ /**
71
+ * List service incidents (paginated).
72
+ *
73
+ * With `slugOrId` set, lists incidents for that service; without it,
74
+ * lists incidents across the whole catalog (optionally filtered by
75
+ * `category`, which only applies in global mode).
76
+ */
77
+ incidents(options?: ServiceIncidentFilters): Promise<Page<ServiceIncidentDto>>;
78
+ /** Get a single service incident with its update timeline. */
79
+ incident(slugOrId: string, incidentId: string): Promise<ServiceIncidentDetailDto>;
80
+ /** Service-level uptime over a period, bucketed by granularity. */
81
+ uptime(slugOrId: string, options?: {
82
+ period?: string;
83
+ granularity?: string;
84
+ }): Promise<ServiceUptimeResponse>;
85
+ /** List scheduled maintenances for a service, optionally filtered by status(es). */
86
+ maintenances(slugOrId: string, options?: {
87
+ status?: string | string[];
88
+ }): Promise<ScheduledMaintenanceDto[]>;
89
+ }
90
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/resources/services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { ServiceCatalogDtoSchema, ServiceDetailDtoSchema, ServiceLiveStatusDtoSchema, CategoryDtoSchema, GlobalStatusSummaryDtoSchema, ServiceComponentDtoSchema, ComponentUptimeDayDtoSchema, BatchComponentUptimeDtoSchema, ServiceDayDetailDtoSchema, ServiceIncidentDtoSchema, ServiceIncidentDetailDtoSchema, ServiceUptimeResponseSchema, ScheduledMaintenanceDtoSchema, } from '../schemas.js';
2
+ import { apiGet, fetchSingle } from '../http.js';
3
+ import { parsePage, parseCursorPage } from '../validation.js';
4
+ const BASE = '/api/v1/services';
5
+ /**
6
+ * Read-only Status Data catalog — third-party services DevHelm polls
7
+ * (their live status, components, incidents, uptime, and maintenances).
8
+ *
9
+ * To subscribe your org to a service for alerting, see
10
+ * `client.dependencies.track()`.
11
+ */
12
+ export class Services {
13
+ client;
14
+ constructor(client) {
15
+ this.client = client;
16
+ }
17
+ /** List catalog services (cursor-paginated). */
18
+ async list(options = {}) {
19
+ const query = {};
20
+ if (options.category !== undefined)
21
+ query['category'] = options.category;
22
+ if (options.status !== undefined)
23
+ query['status'] = options.status;
24
+ if (options.search !== undefined)
25
+ query['search'] = options.search;
26
+ if (options.cursor !== undefined)
27
+ query['cursor'] = options.cursor;
28
+ if (options.limit !== undefined)
29
+ query['limit'] = options.limit;
30
+ const raw = await apiGet(this.client, BASE, query);
31
+ const validated = parseCursorPage(ServiceCatalogDtoSchema, raw, BASE);
32
+ return {
33
+ data: validated.data,
34
+ nextCursor: validated.nextCursor ?? null,
35
+ hasMore: validated.hasMore,
36
+ };
37
+ }
38
+ /** Get a single service by slug or UUID. Set `summary` to omit heavy detail sections. */
39
+ async get(slugOrId, options = {}) {
40
+ const query = {};
41
+ if (options.summary !== undefined)
42
+ query['summary'] = options.summary;
43
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}`, ServiceDetailDtoSchema, undefined, query);
44
+ }
45
+ /** Current live status of a service (overall + per-component). */
46
+ async liveStatus(slugOrId) {
47
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}/live-status`, ServiceLiveStatusDtoSchema);
48
+ }
49
+ /** List catalog categories with per-category service counts. */
50
+ async categories() {
51
+ const path = '/api/v1/categories';
52
+ const raw = await apiGet(this.client, path);
53
+ return parsePage(CategoryDtoSchema, raw, path).data;
54
+ }
55
+ /** Global status summary across the whole catalog. */
56
+ async summary() {
57
+ return fetchSingle(this.client, 'GET', `${BASE}/summary`, GlobalStatusSummaryDtoSchema);
58
+ }
59
+ /** List components of a service, optionally scoped to a component group. */
60
+ async components(slugOrId, options = {}) {
61
+ const path = `${BASE}/${slugOrId}/components`;
62
+ const query = {};
63
+ if (options.groupId !== undefined)
64
+ query['groupId'] = options.groupId;
65
+ const raw = await apiGet(this.client, path, query);
66
+ return parsePage(ServiceComponentDtoSchema, raw, path).data;
67
+ }
68
+ /** Daily uptime history for a single component. */
69
+ async componentUptime(slugOrId, componentId, options = {}) {
70
+ const path = `${BASE}/${slugOrId}/components/${componentId}/uptime`;
71
+ const raw = await apiGet(this.client, path, buildRangeQuery(options));
72
+ return parsePage(ComponentUptimeDayDtoSchema, raw, path).data;
73
+ }
74
+ /** Daily uptime history for every component of a service, keyed by component id. */
75
+ async batchComponentUptime(slugOrId, options = {}) {
76
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}/components/uptime`, BatchComponentUptimeDtoSchema, undefined, buildRangeQuery(options));
77
+ }
78
+ /** Detailed breakdown of a single day (`date` as `YYYY-MM-DD`). */
79
+ async day(slugOrId, date) {
80
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}/days/${date}`, ServiceDayDetailDtoSchema);
81
+ }
82
+ /**
83
+ * List service incidents (paginated).
84
+ *
85
+ * With `slugOrId` set, lists incidents for that service; without it,
86
+ * lists incidents across the whole catalog (optionally filtered by
87
+ * `category`, which only applies in global mode).
88
+ */
89
+ async incidents(options = {}) {
90
+ const path = options.slugOrId !== undefined ? `${BASE}/${options.slugOrId}/incidents` : `${BASE}/incidents`;
91
+ const query = {
92
+ page: options.page ?? 0,
93
+ size: options.size ?? 20,
94
+ };
95
+ if (options.status !== undefined)
96
+ query['status'] = options.status;
97
+ if (options.from !== undefined)
98
+ query['from'] = options.from;
99
+ if (options.slugOrId === undefined && options.category !== undefined)
100
+ query['category'] = options.category;
101
+ const raw = await apiGet(this.client, path, query);
102
+ const validated = parsePage(ServiceIncidentDtoSchema, raw, path);
103
+ return {
104
+ data: validated.data,
105
+ hasNext: validated.hasNext,
106
+ hasPrev: validated.hasPrev,
107
+ totalElements: validated.totalElements ?? null,
108
+ totalPages: validated.totalPages ?? null,
109
+ };
110
+ }
111
+ /** Get a single service incident with its update timeline. */
112
+ async incident(slugOrId, incidentId) {
113
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}/incidents/${incidentId}`, ServiceIncidentDetailDtoSchema);
114
+ }
115
+ /** Service-level uptime over a period, bucketed by granularity. */
116
+ async uptime(slugOrId, options = {}) {
117
+ const query = {};
118
+ if (options.period !== undefined)
119
+ query['period'] = options.period;
120
+ if (options.granularity !== undefined)
121
+ query['granularity'] = options.granularity;
122
+ return fetchSingle(this.client, 'GET', `${BASE}/${slugOrId}/uptime`, ServiceUptimeResponseSchema, undefined, query);
123
+ }
124
+ /** List scheduled maintenances for a service, optionally filtered by status(es). */
125
+ async maintenances(slugOrId, options = {}) {
126
+ const path = `${BASE}/${slugOrId}/maintenances`;
127
+ const query = {};
128
+ if (options.status !== undefined)
129
+ query['status'] = options.status;
130
+ const raw = await apiGet(this.client, path, query);
131
+ return parsePage(ScheduledMaintenanceDtoSchema, raw, path).data;
132
+ }
133
+ }
134
+ function buildRangeQuery(options) {
135
+ const query = {};
136
+ if (options.period !== undefined)
137
+ query['period'] = options.period;
138
+ if (options.from !== undefined)
139
+ query['from'] = options.from;
140
+ if (options.to !== undefined)
141
+ query['to'] = options.to;
142
+ return query;
143
+ }
144
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/resources/services.ts"],"names":[],"mappings":"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"}