@dx-do/client 6.3.1 → 6.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index.cjs.js +673 -0
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +646 -1
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/src/index.d.ts +13 -0
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/lib/model/maintenance/create.d.ts +137 -0
  8. package/dist/src/lib/model/maintenance/create.d.ts.map +1 -0
  9. package/dist/src/lib/model/maintenance/delete.d.ts +17 -0
  10. package/dist/src/lib/model/maintenance/delete.d.ts.map +1 -0
  11. package/dist/src/lib/model/maintenance/detail.d.ts +128 -0
  12. package/dist/src/lib/model/maintenance/detail.d.ts.map +1 -0
  13. package/dist/src/lib/model/maintenance/filter.d.ts +39 -0
  14. package/dist/src/lib/model/maintenance/filter.d.ts.map +1 -0
  15. package/dist/src/lib/model/maintenance/member.d.ts +61 -0
  16. package/dist/src/lib/model/maintenance/member.d.ts.map +1 -0
  17. package/dist/src/lib/model/maintenance/preview.d.ts +32 -0
  18. package/dist/src/lib/model/maintenance/preview.d.ts.map +1 -0
  19. package/dist/src/lib/model/maintenance/schedule.d.ts +30 -0
  20. package/dist/src/lib/model/maintenance/schedule.d.ts.map +1 -0
  21. package/dist/src/lib/model/maintenance/search.d.ts +67 -0
  22. package/dist/src/lib/model/maintenance/search.d.ts.map +1 -0
  23. package/dist/src/lib/model/sli/group.d.ts +59 -0
  24. package/dist/src/lib/model/sli/group.d.ts.map +1 -0
  25. package/dist/src/lib/model/sli/save.d.ts +54 -0
  26. package/dist/src/lib/model/sli/save.d.ts.map +1 -0
  27. package/dist/src/lib/model/sli/search.d.ts +58 -0
  28. package/dist/src/lib/model/sli/search.d.ts.map +1 -0
  29. package/dist/src/lib/services/maintenance.service.d.ts +51 -0
  30. package/dist/src/lib/services/maintenance.service.d.ts.map +1 -0
  31. package/dist/src/lib/services/service-monolith.d.ts +4 -0
  32. package/dist/src/lib/services/service-monolith.d.ts.map +1 -1
  33. package/dist/src/lib/services/sli.service.d.ts +53 -0
  34. package/dist/src/lib/services/sli.service.d.ts.map +1 -0
  35. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod/v4';
2
+ /**
3
+ * One row of an SLI's match criteria. SLIs select the metrics they watch by a
4
+ * list of these AND-ed filters (e.g. "Source contains bd605" AND "Metric ends
5
+ * with Web Agent Status").
6
+ */
7
+ export declare const SliFilterSchema: z.ZodObject<{
8
+ fieldDescription: z.ZodString;
9
+ field: z.ZodString;
10
+ value: z.ZodString;
11
+ condition: z.ZodString;
12
+ }, z.core.$loose>;
13
+ export type SliFilter = z.infer<typeof SliFilterSchema>;
14
+ /**
15
+ * A full SLI "group" as returned by `groups/search` (per `sliGroups[]` entry)
16
+ * and `groups?groupId=<id>` (single object). This is the **raw** shape that
17
+ * `sli export` writes to disk and `sli import` reads back.
18
+ *
19
+ * The wire terms are `groupName` / `groupId`; the CLI surfaces these to users
20
+ * as `sliName` / `sliId`. The deeply-nested `sliDefinition` / `sloDefinition` /
21
+ * `alertDefinition` blocks are kept **opaque** (loose passthrough) so they
22
+ * round-trip untouched — we model the envelope, not the SLI/SLO math.
23
+ */
24
+ export declare const SliGroupSchema: z.ZodObject<{
25
+ groupName: z.ZodString;
26
+ groupId: z.ZodNumber;
27
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ mgId: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
30
+ filters: z.ZodArray<z.ZodObject<{
31
+ fieldDescription: z.ZodString;
32
+ field: z.ZodString;
33
+ value: z.ZodString;
34
+ condition: z.ZodString;
35
+ }, z.core.$loose>>;
36
+ serviceNames: z.ZodArray<z.ZodString>;
37
+ sliDefinition: z.ZodOptional<z.ZodObject<{
38
+ functions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
39
+ }, z.core.$loose>>;
40
+ sloDefinition: z.ZodOptional<z.ZodObject<{
41
+ functions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
42
+ }, z.core.$loose>>;
43
+ alertDefinition: z.ZodOptional<z.ZodUnknown>;
44
+ creationTime: z.ZodOptional<z.ZodNumber>;
45
+ lastModifiedTime: z.ZodOptional<z.ZodNumber>;
46
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ lastUpdatedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ totalMetrics: z.ZodOptional<z.ZodNumber>;
49
+ breached: z.ZodOptional<z.ZodBoolean>;
50
+ product: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
51
+ enabled: z.ZodOptional<z.ZodBoolean>;
52
+ sliStatusCode: z.ZodOptional<z.ZodNumber>;
53
+ sliStatusMessage: z.ZodOptional<z.ZodString>;
54
+ fixRequired: z.ZodOptional<z.ZodBoolean>;
55
+ pipelineErrors: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
56
+ defaultGroup: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$loose>;
58
+ export type SliGroup = z.infer<typeof SliGroupSchema>;
59
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/sli/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;iBAW1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqDzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod/v4';
2
+ import { SliGroup } from './group';
3
+ /**
4
+ * Request body for `POST oi/v2/metricconfig/groups/save`. Mirrors the writable
5
+ * subset of {@link SliGroupSchema} — read-only server fields (creationTime,
6
+ * createdBy, totalMetrics, …) are not sent.
7
+ *
8
+ * `groupId` is the create/update discriminator: present → update that group;
9
+ * absent → create a new one. `sli import` always omits it so import is
10
+ * create-only and can never overwrite an existing SLI.
11
+ */
12
+ export declare const SliSaveRequestSchema: z.ZodObject<{
13
+ type: z.ZodString;
14
+ groupName: z.ZodString;
15
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ mgId: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
17
+ filters: z.ZodArray<z.ZodObject<{
18
+ fieldDescription: z.ZodString;
19
+ field: z.ZodString;
20
+ value: z.ZodString;
21
+ condition: z.ZodString;
22
+ }, z.core.$loose>>;
23
+ serviceNames: z.ZodArray<z.ZodString>;
24
+ sliDefinition: z.ZodUnknown;
25
+ sloDefinition: z.ZodUnknown;
26
+ alertDefinition: z.ZodOptional<z.ZodUnknown>;
27
+ groupId: z.ZodOptional<z.ZodNumber>;
28
+ }, z.core.$loose>;
29
+ export type SliSaveRequest = z.infer<typeof SliSaveRequestSchema>;
30
+ /**
31
+ * Response from `POST oi/v2/metricconfig/groups/save`.
32
+ */
33
+ export declare const SliSaveResponseSchema: z.ZodObject<{
34
+ groupId: z.ZodNumber;
35
+ message: z.ZodArray<z.ZodString>;
36
+ status: z.ZodString;
37
+ }, z.core.$loose>;
38
+ export type SliSaveResponse = z.infer<typeof SliSaveResponseSchema>;
39
+ /**
40
+ * Projects a read-model {@link SliGroup} onto the writable {@link SliSaveRequest}
41
+ * subset — dropping the read-only server fields (creationTime, createdBy,
42
+ * totalMetrics, …) and normalizing `type` (default `'sli'`) and
43
+ * `alertDefinition` (`null` → `[]`).
44
+ *
45
+ * @param group - The source SLI (e.g. from `getSli` or a raw export file).
46
+ * @param opts.serviceNames - Override the bound services; defaults to the group's.
47
+ * @param opts.create - When true, omit `groupId` so the save *creates* a new SLI;
48
+ * otherwise `groupId` is carried through and the save *updates* in place.
49
+ */
50
+ export declare function toSliSaveRequest(group: SliGroup, opts?: {
51
+ serviceNames?: string[];
52
+ create?: boolean;
53
+ }): SliSaveRequest;
54
+ //# sourceMappingURL=save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/sli/save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;iBAc/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACvD,cAAc,CAgBhB"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod/v4';
2
+ /**
3
+ * Request body for `POST oi/v2/metricconfig/groups/search`. Listing SLIs is a
4
+ * search scoped to `type: "sli"` with a large `pageSize` (the server returns
5
+ * all matching groups up to that cap).
6
+ */
7
+ export declare const SliSearchRequestSchema: z.ZodObject<{
8
+ pageSize: z.ZodNumber;
9
+ type: z.ZodString;
10
+ }, z.core.$loose>;
11
+ export type SliSearchRequest = z.infer<typeof SliSearchRequestSchema>;
12
+ /**
13
+ * Response from `POST oi/v2/metricconfig/groups/search`. The SLIs are in
14
+ * `sliGroups`; the surrounding fields are tenant-wide metric-config limits.
15
+ */
16
+ export declare const SliSearchResponseSchema: z.ZodObject<{
17
+ totalGroups: z.ZodOptional<z.ZodNumber>;
18
+ pageSize: z.ZodOptional<z.ZodNumber>;
19
+ enabledMetrics: z.ZodOptional<z.ZodNumber>;
20
+ allowedMetricGroupsPerService: z.ZodOptional<z.ZodNumber>;
21
+ allowedMetricsPerGroup: z.ZodOptional<z.ZodNumber>;
22
+ sliGroups: z.ZodArray<z.ZodObject<{
23
+ groupName: z.ZodString;
24
+ groupId: z.ZodNumber;
25
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ mgId: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
28
+ filters: z.ZodArray<z.ZodObject<{
29
+ fieldDescription: z.ZodString;
30
+ field: z.ZodString;
31
+ value: z.ZodString;
32
+ condition: z.ZodString;
33
+ }, z.core.$loose>>;
34
+ serviceNames: z.ZodArray<z.ZodString>;
35
+ sliDefinition: z.ZodOptional<z.ZodObject<{
36
+ functions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
37
+ }, z.core.$loose>>;
38
+ sloDefinition: z.ZodOptional<z.ZodObject<{
39
+ functions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
40
+ }, z.core.$loose>>;
41
+ alertDefinition: z.ZodOptional<z.ZodUnknown>;
42
+ creationTime: z.ZodOptional<z.ZodNumber>;
43
+ lastModifiedTime: z.ZodOptional<z.ZodNumber>;
44
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
+ lastUpdatedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ totalMetrics: z.ZodOptional<z.ZodNumber>;
47
+ breached: z.ZodOptional<z.ZodBoolean>;
48
+ product: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
49
+ enabled: z.ZodOptional<z.ZodBoolean>;
50
+ sliStatusCode: z.ZodOptional<z.ZodNumber>;
51
+ sliStatusMessage: z.ZodOptional<z.ZodString>;
52
+ fixRequired: z.ZodOptional<z.ZodBoolean>;
53
+ pipelineErrors: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
54
+ defaultGroup: z.ZodOptional<z.ZodBoolean>;
55
+ }, z.core.$loose>>;
56
+ }, z.core.$loose>;
57
+ export type SliSearchResponse = z.infer<typeof SliSearchResponseSchema>;
58
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/sli/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAelC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { DxSaasService } from './dx-saas.service';
2
+ import { MaintenanceCreateRequest, MaintenanceCreateResponse } from '../model/maintenance/create';
3
+ import { MaintenanceSearchRequest, MaintenanceSearchResponse } from '../model/maintenance/search';
4
+ import { MaintenanceDetail } from '../model/maintenance/detail';
5
+ import { MaintenancePreviewRequest, MaintenancePreviewResponse } from '../model/maintenance/preview';
6
+ import { MaintenanceBulkDeleteResponse } from '../model/maintenance/delete';
7
+ import { Logging } from '@dx-do/util';
8
+ import SimpleLog = Logging.SimpleLog;
9
+ /**
10
+ * Service for DXO2 maintenance windows (schedules) under
11
+ * `oi/v2/api/maintenance/*`. A maintenance window suppresses alarms/SLOs for
12
+ * its targets (services, agents, devices/entities, or raw alarms) over a fixed
13
+ * or recurring schedule. Backs the `maintenance` CLI command group.
14
+ *
15
+ * Uses `oiPost`/`oiGet` (OI namespace). Requests are validated with `parse`
16
+ * (throws); responses with `safeParse` (warn + return raw on mismatch).
17
+ */
18
+ export declare class MaintenanceService {
19
+ private readonly dxSaasService;
20
+ private readonly log;
21
+ constructor(dxSaasService: DxSaasService, log: SimpleLog);
22
+ /** Lists maintenance schedules via `POST …/_search`. Defaults to one large page, newest first. */
23
+ search(request?: Partial<MaintenanceSearchRequest>): Promise<MaintenanceSearchResponse>;
24
+ /** Retrieves a single schedule via `GET …/{id}`. */
25
+ get(scheduleId: string): Promise<MaintenanceDetail>;
26
+ /**
27
+ * Previews the upcoming windows for a (proposed or existing) schedule via
28
+ * `POST …/get-next-windows-preview`.
29
+ *
30
+ * @throws ZodError if the request fails schema validation.
31
+ */
32
+ getNextWindows(request: MaintenancePreviewRequest): Promise<MaintenancePreviewResponse>;
33
+ /**
34
+ * Checks a schedule name via `GET …/validateScheduleName`. Returns the
35
+ * server's bare boolean (semantics confirmed empirically by the caller).
36
+ */
37
+ validateName(name: string): Promise<boolean>;
38
+ /**
39
+ * Creates a maintenance schedule via `POST …`.
40
+ *
41
+ * @throws ZodError if the request fails schema validation.
42
+ */
43
+ create(body: MaintenanceCreateRequest): Promise<MaintenanceCreateResponse>;
44
+ /**
45
+ * Deletes one or more schedules via `POST …/delete?forceStop=…` (bulk).
46
+ */
47
+ delete(scheduleIds: string[], options?: {
48
+ forceStop?: boolean;
49
+ }): Promise<MaintenanceBulkDeleteResponse>;
50
+ }
51
+ //# sourceMappingURL=maintenance.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintenance.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/maintenance.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,wBAAwB,EAExB,yBAAyB,EAE1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,yBAAyB,EAEzB,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAE9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAErC;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,SAAS;IAGjC,kGAAkG;IAC5F,MAAM,CACV,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAC1C,OAAO,CAAC,yBAAyB,CAAC;IAoBrC,oDAAoD;IAC9C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWzD;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAQtC;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlD;;;;OAIG;IACG,MAAM,CACV,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,yBAAyB,CAAC;IAarC;;OAEG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,OAAO,CAAC,6BAA6B,CAAC;CAY1C"}
@@ -7,6 +7,7 @@ import { AlarmService } from './alarm.service';
7
7
  import { AttributeService } from './attribute.service';
8
8
  import { AsmService } from './asm.service';
9
9
  import { BlobService } from './blob.service';
10
+ import { MaintenanceService } from './maintenance.service';
10
11
  import { ManagementModuleService } from './management-module.service';
11
12
  import { MetricGroupingService } from './metric-grouping.service';
12
13
  import { NotificationService } from './notification.service';
@@ -31,6 +32,7 @@ import { O2UniverseService } from './o2-universe.service';
31
32
  import { NASSService } from './nass.service';
32
33
  import { O2NotificationService } from './o2-notification.service';
33
34
  import { ServiceService } from './service.service';
35
+ import { SLIService } from './sli.service';
34
36
  import { SituationService } from './situation.service';
35
37
  import { LogsService } from './logs.service';
36
38
  import { EventService } from './event.service';
@@ -83,6 +85,7 @@ export declare function createServiceMonolith(dxDoConfiguration: DXDoConfigurati
83
85
  dxInventoryService: InventoryService;
84
86
  dxJSExtensionService: JsExtensionService;
85
87
  dxLogsService: LogsService;
88
+ dxMaintenanceService: MaintenanceService;
86
89
  dxManagementModuleService: ManagementModuleService;
87
90
  dxMetricBatchService: MetricBatchService;
88
91
  dxMetricGroupingService: MetricGroupingService;
@@ -99,6 +102,7 @@ export declare function createServiceMonolith(dxDoConfiguration: DXDoConfigurati
99
102
  dxServiceService: ServiceService;
100
103
  dxSessionService: SessionService;
101
104
  dxSituationService: SituationService;
105
+ dxSLIService: SLIService;
102
106
  dxSQLService: SQLService;
103
107
  dxStatesService: DataStoreStatesService;
104
108
  dxTASService: TASService;
@@ -1 +1 @@
1
- {"version":3,"file":"service-monolith.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/service-monolith.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-monolith.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/service-monolith.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { DxSaasService } from './dx-saas.service';
2
+ import type { SliSearchRequest, SliSearchResponse } from '../model/sli/search';
3
+ import type { SliGroup } from '../model/sli/group';
4
+ import type { SliSaveRequest, SliSaveResponse } from '../model/sli/save';
5
+ import { Logging } from '@dx-do/util';
6
+ import SimpleLog = Logging.SimpleLog;
7
+ /**
8
+ * Service for SLIs (Service Level Indicators), modeled by the OI metricconfig
9
+ * API as metric "groups" of `type: "sli"` under `oi/v2/metricconfig/groups/*`.
10
+ *
11
+ * These endpoints require the `x-authorizationview: VIEWALL` header, so this
12
+ * service uses {@link DxSaasService.oiPost} / {@link DxSaasService.oiGet}
13
+ * (which inject it) rather than the plain `tenant*` methods.
14
+ *
15
+ * Requests are validated against their input schema (throws `ZodError`);
16
+ * responses are `safeParse`-validated (warn-on-mismatch, raw still returned).
17
+ * Backs the `sli list` / `sli export` / `sli import` CLI commands.
18
+ */
19
+ export declare class SLIService {
20
+ private readonly dxSaasService;
21
+ private readonly log;
22
+ /**
23
+ * @param dxSaasService - An authenticated {@link DxSaasService} for the target tenant.
24
+ * @param log - Logger conforming to {@link SimpleLog} from `@dx-do/util`.
25
+ */
26
+ constructor(dxSaasService: DxSaasService, log: SimpleLog);
27
+ /**
28
+ * Lists SLIs via `POST oi/v2/metricconfig/groups/search`.
29
+ *
30
+ * @remarks Defaults to `{ pageSize: 5000, type: 'sli' }`; pass a partial
31
+ * override to change the cap. Response is validated but returned raw on
32
+ * mismatch.
33
+ * @throws ZodError if the (merged) request fails schema validation.
34
+ */
35
+ searchSlis(request?: Partial<SliSearchRequest>): Promise<SliSearchResponse>;
36
+ /**
37
+ * Retrieves a single SLI by id via `GET oi/v2/metricconfig/groups?groupId=<id>`.
38
+ * The returned object is the **raw** group `sli export` writes to disk.
39
+ *
40
+ * @remarks Response is validated but returned raw on mismatch.
41
+ */
42
+ getSli(sliId: number): Promise<SliGroup>;
43
+ /**
44
+ * Creates or updates an SLI via `POST oi/v2/metricconfig/groups/save`. Omit
45
+ * `groupId` on the body to create; include it to update.
46
+ *
47
+ * @remarks Request is validated against {@link SliSaveRequestSchema}
48
+ * (throws on bad input); response validated but returned raw on mismatch.
49
+ * @throws ZodError if the request fails schema validation.
50
+ */
51
+ saveSli(body: SliSaveRequest): Promise<SliSaveResponse>;
52
+ }
53
+ //# sourceMappingURL=sli.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sli.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/sli.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;IAMnB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB;;;OAGG;gBAEgB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,SAAS;IAGjC;;;;;;;OAOG;IACG,UAAU,CACd,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAc7B;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY9C;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CAY9D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dx-do/client",
3
- "version": "6.3.1",
3
+ "version": "6.3.3",
4
4
  "description": "Opinionated TS client library for DX O2",
5
5
  "author": "Ki Alam",
6
6
  "logo": {