checkly 7.2.0 → 7.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.
Files changed (54) hide show
  1. package/dist/commands/checks/get.d.ts +18 -0
  2. package/dist/commands/checks/get.js +221 -0
  3. package/dist/commands/checks/get.js.map +1 -0
  4. package/dist/commands/checks/list.d.ts +15 -0
  5. package/dist/commands/checks/list.js +142 -0
  6. package/dist/commands/checks/list.js.map +1 -0
  7. package/dist/commands/status-pages/get.d.ts +12 -0
  8. package/dist/commands/status-pages/get.js +75 -0
  9. package/dist/commands/status-pages/get.js.map +1 -0
  10. package/dist/commands/status-pages/list.d.ts +12 -0
  11. package/dist/commands/status-pages/list.js +106 -0
  12. package/dist/commands/status-pages/list.js.map +1 -0
  13. package/dist/formatters/check-result-detail.d.ts +4 -0
  14. package/dist/formatters/check-result-detail.js +357 -0
  15. package/dist/formatters/check-result-detail.js.map +1 -0
  16. package/dist/formatters/checks.d.ts +28 -0
  17. package/dist/formatters/checks.js +314 -0
  18. package/dist/formatters/checks.js.map +1 -0
  19. package/dist/formatters/render.d.ts +28 -0
  20. package/dist/formatters/render.js +168 -0
  21. package/dist/formatters/render.js.map +1 -0
  22. package/dist/formatters/status-pages.d.ts +7 -0
  23. package/dist/formatters/status-pages.js +254 -0
  24. package/dist/formatters/status-pages.js.map +1 -0
  25. package/dist/helpers/command-style.d.ts +1 -0
  26. package/dist/helpers/command-style.js +12 -0
  27. package/dist/helpers/command-style.js.map +1 -1
  28. package/dist/helpers/flags.d.ts +4 -0
  29. package/dist/helpers/flags.js +14 -0
  30. package/dist/helpers/flags.js.map +1 -0
  31. package/dist/rest/api.d.ts +12 -0
  32. package/dist/rest/api.js +13 -1
  33. package/dist/rest/api.js.map +1 -1
  34. package/dist/rest/check-groups.d.ts +16 -0
  35. package/dist/rest/check-groups.js +13 -0
  36. package/dist/rest/check-groups.js.map +1 -0
  37. package/dist/rest/check-results.d.ts +133 -0
  38. package/dist/rest/check-results.js +16 -0
  39. package/dist/rest/check-results.js.map +1 -0
  40. package/dist/rest/check-statuses.d.ts +23 -0
  41. package/dist/rest/check-statuses.js +22 -0
  42. package/dist/rest/check-statuses.js.map +1 -0
  43. package/dist/rest/checks.d.ts +45 -0
  44. package/dist/rest/checks.js +48 -0
  45. package/dist/rest/checks.js.map +1 -0
  46. package/dist/rest/error-groups.d.ts +18 -0
  47. package/dist/rest/error-groups.js +16 -0
  48. package/dist/rest/error-groups.js.map +1 -0
  49. package/dist/rest/status-pages.d.ts +37 -0
  50. package/dist/rest/status-pages.js +18 -0
  51. package/dist/rest/status-pages.js.map +1 -0
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/oclif.manifest.json +400 -125
  54. package/package.json +7 -1
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class CheckStatuses {
4
+ api;
5
+ constructor(api) {
6
+ this.api = api;
7
+ }
8
+ getAll() {
9
+ return this.api.get('/v1/check-statuses');
10
+ }
11
+ async fetchAll() {
12
+ // The check-statuses endpoint returns all entries regardless of limit param,
13
+ // so a single request is sufficient.
14
+ const resp = await this.api.get('/v1/check-statuses');
15
+ return resp.data;
16
+ }
17
+ get(checkId) {
18
+ return this.api.get(`/v1/check-statuses/${checkId}`);
19
+ }
20
+ }
21
+ exports.default = CheckStatuses;
22
+ //# sourceMappingURL=check-statuses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-statuses.js","sourceRoot":"","sources":["../../src/rest/check-statuses.ts"],"names":[],"mappings":";;AAiBA,MAAM,aAAa;IACjB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,oBAAoB,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,6EAA6E;QAC7E,qCAAqC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,oBAAoB,CAAC,CAAA;QACpE,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,GAAG,CAAE,OAAe;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAc,sBAAsB,OAAO,EAAE,CAAC,CAAA;IACnE,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
@@ -0,0 +1,45 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ export interface Check {
3
+ id: string;
4
+ name: string;
5
+ checkType: string;
6
+ activated: boolean;
7
+ muted: boolean;
8
+ frequency: number | null;
9
+ frequencyOffset?: number;
10
+ locations: string[];
11
+ privateLocations?: string[];
12
+ tags: string[];
13
+ groupId: number | null;
14
+ groupOrder: number | null;
15
+ runtimeId: string | null;
16
+ scriptPath: string | null;
17
+ request?: {
18
+ url: string;
19
+ method: string;
20
+ };
21
+ created_at: string;
22
+ updated_at: string | null;
23
+ }
24
+ export interface ListChecksParams {
25
+ limit?: number;
26
+ page?: number;
27
+ tag?: string[];
28
+ checkType?: string;
29
+ search?: string;
30
+ }
31
+ export interface PaginatedChecks {
32
+ checks: Check[];
33
+ total: number;
34
+ page: number;
35
+ limit: number;
36
+ }
37
+ declare class Checks {
38
+ api: AxiosInstance;
39
+ constructor(api: AxiosInstance);
40
+ getAll(params?: ListChecksParams): Promise<import("axios").AxiosResponse<Check[], any, {}>>;
41
+ getAllPaginated(params?: ListChecksParams): Promise<PaginatedChecks>;
42
+ fetchAll(params?: Omit<ListChecksParams, 'page' | 'limit'>): Promise<Check[]>;
43
+ get(id: string): Promise<import("axios").AxiosResponse<Check, any, {}>>;
44
+ }
45
+ export default Checks;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function parseTotalFromContentRange(header) {
4
+ if (!header)
5
+ return null;
6
+ // Content-Range format: "0-24/300" or "*/0"
7
+ const match = header.match(/\/(\d+)$/);
8
+ return match ? parseInt(match[1], 10) : null;
9
+ }
10
+ class Checks {
11
+ api;
12
+ constructor(api) {
13
+ this.api = api;
14
+ }
15
+ getAll(params = {}) {
16
+ return this.api.get('/v1/checks', { params });
17
+ }
18
+ async getAllPaginated(params = {}) {
19
+ const response = await this.api.get('/v1/checks', { params });
20
+ const total = parseTotalFromContentRange(response.headers['content-range']) ?? response.data.length;
21
+ return {
22
+ checks: response.data,
23
+ total,
24
+ page: params.page ?? 1,
25
+ limit: params.limit ?? 10,
26
+ };
27
+ }
28
+ async fetchAll(params = {}) {
29
+ const pageSize = 100;
30
+ const first = await this.getAllPaginated({ ...params, page: 1, limit: pageSize });
31
+ const allChecks = [...first.checks];
32
+ if (first.total <= pageSize)
33
+ return allChecks;
34
+ const totalPages = Math.ceil(first.total / pageSize);
35
+ const remaining = await Promise.all(Array.from({ length: totalPages - 1 }, (_, i) => this.api.get('/v1/checks', {
36
+ params: { ...params, page: i + 2, limit: pageSize },
37
+ }).then(r => r.data)));
38
+ for (const page of remaining) {
39
+ allChecks.push(...page);
40
+ }
41
+ return allChecks;
42
+ }
43
+ get(id) {
44
+ return this.api.get(`/v1/checks/${id}`);
45
+ }
46
+ }
47
+ exports.default = Checks;
48
+ //# sourceMappingURL=checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../src/rest/checks.ts"],"names":[],"mappings":";;AAqCA,SAAS,0BAA0B,CAAE,MAA0B;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,4CAA4C;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9C,CAAC;AAED,MAAM,MAAM;IACV,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,MAAM,CAAE,SAA2B,EAAE;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,SAA2B,EAAE;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACtE,MAAM,KAAK,GAAG,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAA;QACnG,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,KAAK;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,SAAmD,EAAE;QACnE,MAAM,QAAQ,GAAG,GAAG,CAAA;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjF,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAEnC,IAAI,KAAK,CAAC,KAAK,IAAI,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,YAAY,EAAE;YAClC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;SACpD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrB,CACF,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAQ,cAAc,EAAE,EAAE,CAAC,CAAA;IAChD,CAAC;CACF;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ export interface ErrorGroup {
3
+ id: string;
4
+ checkId: string;
5
+ errorHash: string;
6
+ rawErrorMessage: string | null;
7
+ cleanedErrorMessage: string;
8
+ firstSeen: string;
9
+ lastSeen: string;
10
+ archivedUntilNextEvent: boolean;
11
+ }
12
+ declare class ErrorGroups {
13
+ api: AxiosInstance;
14
+ constructor(api: AxiosInstance);
15
+ getByCheckId(checkId: string): Promise<import("axios").AxiosResponse<ErrorGroup[], any, {}>>;
16
+ get(id: string): Promise<import("axios").AxiosResponse<ErrorGroup, any, {}>>;
17
+ }
18
+ export default ErrorGroups;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ErrorGroups {
4
+ api;
5
+ constructor(api) {
6
+ this.api = api;
7
+ }
8
+ getByCheckId(checkId) {
9
+ return this.api.get(`/v1/error-groups/checks/${checkId}`);
10
+ }
11
+ get(id) {
12
+ return this.api.get(`/v1/error-groups/${id}`);
13
+ }
14
+ }
15
+ exports.default = ErrorGroups;
16
+ //# sourceMappingURL=error-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-groups.js","sourceRoot":"","sources":["../../src/rest/error-groups.ts"],"names":[],"mappings":";;AAaA,MAAM,WAAW;IACf,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,YAAY,CAAE,OAAe;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,2BAA2B,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAa,oBAAoB,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,37 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ export interface StatusPageService {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ export interface StatusPageCard {
7
+ id: string;
8
+ name: string;
9
+ services: StatusPageService[];
10
+ }
11
+ export interface StatusPage {
12
+ id: string;
13
+ name: string;
14
+ url: string;
15
+ customDomain: string | null;
16
+ isPrivate: boolean;
17
+ defaultTheme: string;
18
+ cards: StatusPageCard[];
19
+ created_at: string;
20
+ updated_at: string | null;
21
+ }
22
+ export interface StatusPageListParams {
23
+ limit?: number;
24
+ nextId?: string;
25
+ }
26
+ export interface PaginatedStatusPages {
27
+ entries: StatusPage[];
28
+ nextId: string | null;
29
+ length: number;
30
+ }
31
+ declare class StatusPages {
32
+ api: AxiosInstance;
33
+ constructor(api: AxiosInstance);
34
+ getAll(params?: StatusPageListParams): Promise<PaginatedStatusPages>;
35
+ get(id: string): Promise<StatusPage>;
36
+ }
37
+ export default StatusPages;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class StatusPages {
4
+ api;
5
+ constructor(api) {
6
+ this.api = api;
7
+ }
8
+ async getAll(params = {}) {
9
+ const response = await this.api.get('/v1/status-pages', { params });
10
+ return response.data;
11
+ }
12
+ async get(id) {
13
+ const response = await this.api.get(`/v1/status-pages/${id}`);
14
+ return response.data;
15
+ }
16
+ }
17
+ exports.default = StatusPages;
18
+ //# sourceMappingURL=status-pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-pages.js","sourceRoot":"","sources":["../../src/rest/status-pages.ts"],"names":[],"mappings":";;AAoCA,MAAM,WAAW;IACf,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,SAA+B,EAAE;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAuB,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACzF,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,EAAU;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAa,oBAAoB,EAAE,EAAE,CAAC,CAAA;QACzE,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}