checkly 7.2.0 → 7.3.0-prerelease-51dcdcf

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 +276 -1
  54. package/package.json +7 -1
@@ -0,0 +1,18 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class ChecksGet extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static args: {
6
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ result: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'error-group': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'results-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'results-cursor': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ };
15
+ run(): Promise<void>;
16
+ private showErrorGroupDetail;
17
+ private showResultDetail;
18
+ }
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const core_1 = require("@oclif/core");
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const authCommand_1 = require("../authCommand");
32
+ const flags_1 = require("../../helpers/flags");
33
+ const api = __importStar(require("../../rest/api"));
34
+ const render_1 = require("../../formatters/render");
35
+ const checks_1 = require("../../formatters/checks");
36
+ const check_result_detail_1 = require("../../formatters/check-result-detail");
37
+ class ChecksGet extends authCommand_1.AuthCommand {
38
+ static hidden = false;
39
+ static description = 'Get details of a specific check, including recent results. Use --result to drill into a specific result.';
40
+ static args = {
41
+ id: core_1.Args.string({
42
+ description: 'The ID of the check to retrieve.',
43
+ required: true,
44
+ }),
45
+ };
46
+ static flags = {
47
+ 'result': core_1.Flags.string({
48
+ char: 'r',
49
+ description: 'Show details for a specific result ID.',
50
+ }),
51
+ 'error-group': core_1.Flags.string({
52
+ char: 'e',
53
+ description: 'Show full details for a specific error group ID.',
54
+ }),
55
+ 'results-limit': core_1.Flags.integer({
56
+ description: 'Number of recent results to show.',
57
+ default: 10,
58
+ }),
59
+ 'results-cursor': core_1.Flags.string({
60
+ description: 'Cursor for results pagination (from previous output).',
61
+ }),
62
+ 'output': (0, flags_1.outputFlag)({ default: 'detail' }),
63
+ };
64
+ async run() {
65
+ const { args, flags } = await this.parse(ChecksGet);
66
+ this.style.outputFormat = flags.output;
67
+ try {
68
+ // Result detail mode: drill into a specific result
69
+ if (flags.result) {
70
+ return await this.showResultDetail(args.id, flags.result, flags.output ?? 'detail');
71
+ }
72
+ // Error group detail mode
73
+ if (flags['error-group']) {
74
+ return await this.showErrorGroupDetail(args.id, flags['error-group'], flags.output ?? 'detail');
75
+ }
76
+ const [{ data: check }, statusResp, resultsResp, errorGroupsResp] = await Promise.all([
77
+ api.checks.get(args.id),
78
+ api.checkStatuses.get(args.id).catch(() => ({ data: undefined })),
79
+ api.checkResults.getAll(args.id, {
80
+ limit: flags['results-limit'],
81
+ nextId: flags['results-cursor'],
82
+ }).catch(() => ({ data: { entries: [], nextId: null, length: 0 } })),
83
+ api.errorGroups.getByCheckId(args.id).catch(() => ({ data: [] })),
84
+ ]);
85
+ const status = statusResp.data;
86
+ const { entries: results, nextId } = resultsResp.data;
87
+ const errorGroups = errorGroupsResp.data;
88
+ if (flags.output === 'json') {
89
+ this.log(JSON.stringify({ check, status, results, nextId, errorGroups }, null, 2));
90
+ return;
91
+ }
92
+ const checkWithStatus = { ...check, status };
93
+ const fmt = flags.output === 'md' ? 'md' : 'terminal';
94
+ if (fmt === 'md') {
95
+ const lines = [
96
+ (0, checks_1.formatCheckDetail)(checkWithStatus, fmt),
97
+ ];
98
+ const errorGroupsOutput = (0, checks_1.formatErrorGroups)(errorGroups, fmt);
99
+ if (errorGroupsOutput) {
100
+ lines.push('');
101
+ lines.push(errorGroupsOutput);
102
+ }
103
+ if (results.length > 0) {
104
+ lines.push('');
105
+ lines.push('## Recent Results');
106
+ lines.push('');
107
+ lines.push((0, checks_1.formatResults)(results, fmt));
108
+ }
109
+ this.log(lines.join('\n'));
110
+ return;
111
+ }
112
+ // Detail output
113
+ const output = [];
114
+ output.push((0, checks_1.formatCheckDetail)(checkWithStatus, fmt));
115
+ output.push('');
116
+ const errorGroupsOutput = (0, checks_1.formatErrorGroups)(errorGroups, fmt);
117
+ if (errorGroupsOutput) {
118
+ output.push(errorGroupsOutput);
119
+ output.push('');
120
+ }
121
+ if (results.length > 0) {
122
+ output.push(chalk_1.default.bold('RECENT RESULTS'));
123
+ output.push((0, checks_1.formatResults)(results, fmt));
124
+ }
125
+ else {
126
+ output.push(chalk_1.default.dim('No recent results.'));
127
+ }
128
+ // Navigation hints
129
+ output.push('');
130
+ if (errorGroups.length > 0) {
131
+ const firstActive = errorGroups.find(eg => !eg.archivedUntilNextEvent);
132
+ if (firstActive) {
133
+ output.push(` ${chalk_1.default.dim('View error:')} checkly checks get ${args.id} --error-group ${firstActive.id}`);
134
+ }
135
+ }
136
+ if (results.length > 0) {
137
+ output.push(` ${chalk_1.default.dim('View result:')} checkly checks get ${args.id} --result ${results[0].id}`);
138
+ }
139
+ if (nextId) {
140
+ output.push(` ${chalk_1.default.dim('More results:')} checkly checks get ${args.id} --results-cursor ${nextId}`);
141
+ }
142
+ output.push(` ${chalk_1.default.dim('Back to list:')} checkly checks list`);
143
+ this.log(output.join('\n'));
144
+ }
145
+ catch (err) {
146
+ this.style.longError('Failed to get check details.', err);
147
+ process.exitCode = 1;
148
+ }
149
+ }
150
+ async showErrorGroupDetail(checkId, errorGroupId, outputFormat) {
151
+ const [{ data: errorGroup }, { data: check }] = await Promise.all([
152
+ api.errorGroups.get(errorGroupId),
153
+ api.checks.get(checkId),
154
+ ]);
155
+ if (outputFormat === 'json') {
156
+ this.log(JSON.stringify(errorGroup, null, 2));
157
+ return;
158
+ }
159
+ const fmt = outputFormat === 'md' ? 'md' : 'terminal';
160
+ const cleanMsg = (0, render_1.stripAnsi)(errorGroup.cleanedErrorMessage)
161
+ .replace(/\s+/g, ' ')
162
+ .trim();
163
+ // Show full raw message if available and different from cleaned
164
+ const rawMsg = errorGroup.rawErrorMessage
165
+ ? (0, render_1.stripAnsi)(errorGroup.rawErrorMessage).trim()
166
+ : null;
167
+ if (fmt === 'md') {
168
+ const lines = [
169
+ '# Error Group',
170
+ '',
171
+ `\`\`\`\n${cleanMsg}\n\`\`\``,
172
+ ];
173
+ if (rawMsg && rawMsg !== cleanMsg) {
174
+ lines.push('', '## Full Error', '', `\`\`\`\n${(0, render_1.stripAnsi)(errorGroup.rawErrorMessage).trim()}\n\`\`\``);
175
+ }
176
+ lines.push('', `| Field | Value |`, `| --- | --- |`, `| First seen | ${(0, render_1.formatDate)(errorGroup.firstSeen, fmt)} |`, `| Last seen | ${(0, render_1.formatDate)(errorGroup.lastSeen, fmt)} |`, `| Error group | ${errorGroup.id} |`);
177
+ if (check.scriptPath) {
178
+ lines.push(`| Source file | ${check.scriptPath} |`);
179
+ }
180
+ this.log(lines.join('\n'));
181
+ return;
182
+ }
183
+ const output = [];
184
+ output.push(chalk_1.default.bold('ERROR GROUP'));
185
+ output.push('');
186
+ output.push(chalk_1.default.red(cleanMsg));
187
+ if (rawMsg && rawMsg !== cleanMsg) {
188
+ output.push('');
189
+ output.push(chalk_1.default.bold('FULL ERROR'));
190
+ output.push((0, render_1.stripAnsi)(errorGroup.rawErrorMessage).trim());
191
+ }
192
+ output.push('');
193
+ output.push(`${chalk_1.default.dim('First seen:')} ${(0, render_1.formatDate)(errorGroup.firstSeen, fmt)}`);
194
+ output.push(`${chalk_1.default.dim('Last seen:')} ${(0, render_1.formatDate)(errorGroup.lastSeen, fmt)}`);
195
+ output.push(`${chalk_1.default.dim('Error group:')} ${errorGroup.id}`);
196
+ if (check.scriptPath) {
197
+ output.push(`${chalk_1.default.dim('Source file:')} ${chalk_1.default.cyan(check.scriptPath)}`);
198
+ }
199
+ output.push('');
200
+ output.push(` ${chalk_1.default.dim('Back to check:')} checkly checks get ${checkId}`);
201
+ output.push(` ${chalk_1.default.dim('Back to list:')} checkly checks list`);
202
+ this.log(output.join('\n'));
203
+ }
204
+ async showResultDetail(checkId, resultId, outputFormat) {
205
+ const { data: result } = await api.checkResults.get(checkId, resultId);
206
+ if (outputFormat === 'json') {
207
+ this.log(JSON.stringify(result, null, 2));
208
+ return;
209
+ }
210
+ const fmt = outputFormat === 'md' ? 'md' : 'terminal';
211
+ const output = [];
212
+ output.push((0, check_result_detail_1.formatResultDetail)(result, fmt));
213
+ // Navigation hints
214
+ output.push('');
215
+ output.push(` ${chalk_1.default.dim('Back to check:')} checkly checks get ${checkId}`);
216
+ output.push(` ${chalk_1.default.dim('Back to list:')} checkly checks list`);
217
+ this.log(output.join('\n'));
218
+ }
219
+ }
220
+ exports.default = ChecksGet;
221
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/checks/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class ChecksList extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ tag: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'hide-id': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const core_1 = require("@oclif/core");
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const authCommand_1 = require("../authCommand");
32
+ const flags_1 = require("../../helpers/flags");
33
+ const api = __importStar(require("../../rest/api"));
34
+ const checks_1 = require("../../formatters/checks");
35
+ class ChecksList extends authCommand_1.AuthCommand {
36
+ static hidden = false;
37
+ static description = 'List all checks in your account.';
38
+ static flags = {
39
+ 'limit': core_1.Flags.integer({
40
+ char: 'l',
41
+ description: 'Number of checks to return (1-100).',
42
+ default: 25,
43
+ }),
44
+ 'page': core_1.Flags.integer({
45
+ char: 'p',
46
+ description: 'Page number.',
47
+ default: 1,
48
+ }),
49
+ 'tag': core_1.Flags.string({
50
+ char: 't',
51
+ description: 'Filter by tag. Can be specified multiple times.',
52
+ multiple: true,
53
+ }),
54
+ 'search': core_1.Flags.string({
55
+ char: 's',
56
+ description: 'Filter checks by name (case-insensitive).',
57
+ }),
58
+ 'type': core_1.Flags.string({
59
+ description: 'Filter by check type.',
60
+ options: ['API', 'BROWSER', 'MULTI_STEP', 'HEARTBEAT', 'PLAYWRIGHT', 'TCP', 'DNS', 'ICMP', 'URL'],
61
+ }),
62
+ 'hide-id': core_1.Flags.boolean({
63
+ description: 'Hide check IDs in table output.',
64
+ default: false,
65
+ }),
66
+ 'output': (0, flags_1.outputFlag)({ default: 'table' }),
67
+ };
68
+ async run() {
69
+ const { flags } = await this.parse(ChecksList);
70
+ this.style.outputFormat = flags.output;
71
+ const { page, limit } = flags;
72
+ try {
73
+ // All filtering is server-side — single paginated API call
74
+ const [paginated, statuses] = await Promise.all([
75
+ api.checks.getAllPaginated({
76
+ limit,
77
+ page,
78
+ tag: flags.tag,
79
+ checkType: flags.type,
80
+ search: flags.search,
81
+ }),
82
+ api.checkStatuses.fetchAll().catch(() => []),
83
+ ]);
84
+ const statusMap = new Map(statuses.map(s => [s.checkId, s]));
85
+ const checks = paginated.checks.map(c => ({ ...c, status: statusMap.get(c.id) }));
86
+ const totalChecks = paginated.total;
87
+ const pagination = { page, limit, total: totalChecks };
88
+ // Build active filters for display
89
+ const activeFilters = [];
90
+ if (flags.tag)
91
+ activeFilters.push(...flags.tag.map(t => `tag=${t}`));
92
+ if (flags.search)
93
+ activeFilters.push(`search="${flags.search}"`);
94
+ if (flags.type)
95
+ activeFilters.push(`type=${flags.type}`);
96
+ // JSON output
97
+ if (flags.output === 'json') {
98
+ const totalPages = Math.ceil(totalChecks / limit);
99
+ this.log(JSON.stringify({
100
+ data: checks,
101
+ pagination: { page, limit, total: totalChecks, totalPages },
102
+ }, null, 2));
103
+ return;
104
+ }
105
+ if (totalChecks === 0 && activeFilters.length === 0) {
106
+ this.log('No checks found.');
107
+ return;
108
+ }
109
+ const fmt = flags.output === 'md' ? 'md' : 'terminal';
110
+ // Markdown output
111
+ if (fmt === 'md') {
112
+ this.log((0, checks_1.formatChecks)(checks, fmt, { pagination }));
113
+ return;
114
+ }
115
+ // Table output
116
+ const output = [];
117
+ output.push((0, checks_1.formatSummaryBar)(statuses, totalChecks));
118
+ output.push('');
119
+ if (checks.length === 0) {
120
+ const filterDesc = activeFilters.join(', ');
121
+ output.push(chalk_1.default.dim(`No checks matching: ${filterDesc}`));
122
+ output.push('');
123
+ output.push(chalk_1.default.dim('Try:'));
124
+ output.push(` checkly checks list ${chalk_1.default.dim('(show all)')}`);
125
+ }
126
+ else {
127
+ output.push((0, checks_1.formatChecks)(checks, fmt, { showId: !flags['hide-id'] }));
128
+ output.push('');
129
+ output.push((0, checks_1.formatPaginationInfo)(pagination));
130
+ output.push('');
131
+ output.push((0, checks_1.formatNavigationHints)(pagination, activeFilters));
132
+ }
133
+ this.log(output.join('\n'));
134
+ }
135
+ catch (err) {
136
+ this.style.longError('Failed to list checks.', err);
137
+ process.exitCode = 1;
138
+ }
139
+ }
140
+ }
141
+ exports.default = ChecksList;
142
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/checks/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class StatusPagesGet extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static args: {
6
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const core_1 = require("@oclif/core");
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const authCommand_1 = require("../authCommand");
32
+ const flags_1 = require("../../helpers/flags");
33
+ const api = __importStar(require("../../rest/api"));
34
+ const status_pages_1 = require("../../formatters/status-pages");
35
+ class StatusPagesGet extends authCommand_1.AuthCommand {
36
+ static hidden = false;
37
+ static description = 'Get details of a status page, including its cards and services.';
38
+ static args = {
39
+ id: core_1.Args.string({
40
+ description: 'The ID of the status page to retrieve.',
41
+ required: true,
42
+ }),
43
+ };
44
+ static flags = {
45
+ output: (0, flags_1.outputFlag)({ default: 'detail' }),
46
+ };
47
+ async run() {
48
+ const { args, flags } = await this.parse(StatusPagesGet);
49
+ this.style.outputFormat = flags.output;
50
+ try {
51
+ const statusPage = await api.statusPages.get(args.id);
52
+ if (flags.output === 'json') {
53
+ this.log(JSON.stringify(statusPage, null, 2));
54
+ return;
55
+ }
56
+ const fmt = flags.output === 'md' ? 'md' : 'terminal';
57
+ if (fmt === 'md') {
58
+ this.log((0, status_pages_1.formatStatusPageDetail)(statusPage, fmt));
59
+ return;
60
+ }
61
+ const output = [];
62
+ output.push((0, status_pages_1.formatStatusPageDetail)(statusPage, fmt));
63
+ // Navigation hints
64
+ output.push('');
65
+ output.push(` ${chalk_1.default.dim('Back to list:')} checkly status-pages list`);
66
+ this.log(output.join('\n'));
67
+ }
68
+ catch (err) {
69
+ this.style.longError('Failed to get status page details.', err);
70
+ process.exitCode = 1;
71
+ }
72
+ }
73
+ }
74
+ exports.default = StatusPagesGet;
75
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/status-pages/get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAkC;AAClC,kDAAyB;AACzB,gDAA4C;AAC5C,+CAAgD;AAChD,oDAAqC;AAErC,gEAAsE;AAEtE,MAAqB,cAAe,SAAQ,yBAAW;IACrD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,WAAW,GAAG,iEAAiE,CAAA;IAEtF,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,MAAM,EAAE,IAAA,kBAAU,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KAC1C,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAA;QAEtC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAErD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC7C,OAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAiB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;YAEnE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,IAAA,qCAAsB,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;gBACjD,OAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAA,qCAAsB,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpD,mBAAmB;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAA;YAE1E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;;AA9CH,iCA+CC"}
@@ -0,0 +1,12 @@
1
+ import { AuthCommand } from '../authCommand';
2
+ export default class StatusPagesList extends AuthCommand {
3
+ static hidden: boolean;
4
+ static description: string;
5
+ static flags: {
6
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ cursor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ compact: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const core_1 = require("@oclif/core");
27
+ const authCommand_1 = require("../authCommand");
28
+ const flags_1 = require("../../helpers/flags");
29
+ const api = __importStar(require("../../rest/api"));
30
+ const status_pages_1 = require("../../formatters/status-pages");
31
+ class StatusPagesList extends authCommand_1.AuthCommand {
32
+ static hidden = false;
33
+ static description = 'List all status pages in your account.';
34
+ static flags = {
35
+ limit: core_1.Flags.integer({
36
+ char: 'l',
37
+ description: 'Number of status pages to return (1-100).',
38
+ default: 25,
39
+ }),
40
+ cursor: core_1.Flags.string({
41
+ description: 'Cursor for next page (from previous output).',
42
+ }),
43
+ compact: core_1.Flags.boolean({
44
+ description: 'Show one row per status page instead of per service.',
45
+ default: false,
46
+ }),
47
+ output: (0, flags_1.outputFlag)({ default: 'table' }),
48
+ };
49
+ async run() {
50
+ const { flags } = await this.parse(StatusPagesList);
51
+ this.style.outputFormat = flags.output;
52
+ try {
53
+ const result = await api.statusPages.getAll({
54
+ limit: flags.limit,
55
+ nextId: flags.cursor,
56
+ });
57
+ const { entries, nextId, length } = result;
58
+ // JSON output
59
+ if (flags.output === 'json') {
60
+ this.log(JSON.stringify({
61
+ data: entries,
62
+ pagination: { nextId, length },
63
+ }, null, 2));
64
+ return;
65
+ }
66
+ if (length === 0) {
67
+ this.log('No status pages found.');
68
+ return;
69
+ }
70
+ const fmt = flags.output === 'md' ? 'md' : 'terminal';
71
+ // Markdown output
72
+ if (fmt === 'md') {
73
+ this.log(flags.compact
74
+ ? (0, status_pages_1.formatStatusPagesCompact)(entries, fmt)
75
+ : (0, status_pages_1.formatStatusPagesExpanded)(entries, fmt));
76
+ return;
77
+ }
78
+ // Table output
79
+ const output = [];
80
+ if (flags.compact) {
81
+ output.push((0, status_pages_1.formatStatusPagesCompact)(entries, fmt));
82
+ }
83
+ else {
84
+ output.push((0, status_pages_1.formatStatusPagesExpanded)(entries, fmt));
85
+ }
86
+ output.push('');
87
+ output.push((0, status_pages_1.formatCursorPaginationInfo)(length, nextId));
88
+ if (!flags.compact) {
89
+ output.push('');
90
+ output.push('Hint: use --compact for one row per status page.');
91
+ }
92
+ const navHints = (0, status_pages_1.formatCursorNavigationHints)(nextId);
93
+ if (navHints) {
94
+ output.push('');
95
+ output.push(navHints);
96
+ }
97
+ this.log(output.join('\n'));
98
+ }
99
+ catch (err) {
100
+ this.style.longError('Failed to list status pages.', err);
101
+ process.exitCode = 1;
102
+ }
103
+ }
104
+ }
105
+ exports.default = StatusPagesList;
106
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/status-pages/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CheckResult } from '../rest/check-results';
2
+ import { type OutputFormat, type DetailField } from './render';
3
+ export declare const resultDetailFields: DetailField<CheckResult>[];
4
+ export declare function formatResultDetail(result: CheckResult, format: OutputFormat): string;