checkly 8.4.0 → 8.5.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 (66) hide show
  1. package/dist/ai-context/checkly.rules.md +153 -1
  2. package/dist/ai-context/context.d.ts +13 -1
  3. package/dist/ai-context/context.js +14 -1
  4. package/dist/ai-context/context.js.map +1 -1
  5. package/dist/ai-context/public-skills/checkly/SKILL.md +3 -1
  6. package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -0
  7. package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -0
  8. package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
  9. package/dist/ai-context/skills-command/references/configure-environment.md +92 -0
  10. package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -0
  11. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +50 -0
  12. package/dist/ai-context/skills-command/references/configure.md +6 -1
  13. package/dist/ai-context/skills-command/references/investigate-test-sessions.md +125 -0
  14. package/dist/ai-context/skills-command/references/investigate.md +3 -0
  15. package/dist/commands/alert-channels/get.d.ts +14 -0
  16. package/dist/commands/alert-channels/get.js +50 -0
  17. package/dist/commands/alert-channels/get.js.map +1 -0
  18. package/dist/commands/alert-channels/list.d.ts +13 -0
  19. package/dist/commands/alert-channels/list.js +64 -0
  20. package/dist/commands/alert-channels/list.js.map +1 -0
  21. package/dist/commands/alert-channels/logs.d.ts +19 -0
  22. package/dist/commands/alert-channels/logs.js +91 -0
  23. package/dist/commands/alert-channels/logs.js.map +1 -0
  24. package/dist/commands/rca/run.d.ts +1 -0
  25. package/dist/commands/rca/run.js +6 -3
  26. package/dist/commands/rca/run.js.map +1 -1
  27. package/dist/commands/test-sessions/get.d.ts +1 -0
  28. package/dist/commands/test-sessions/get.js +28 -1
  29. package/dist/commands/test-sessions/get.js.map +1 -1
  30. package/dist/commands/test-sessions/list.d.ts +22 -0
  31. package/dist/commands/test-sessions/list.js +190 -0
  32. package/dist/commands/test-sessions/list.js.map +1 -0
  33. package/dist/constructs/playwright-check.d.ts +13 -5
  34. package/dist/constructs/playwright-check.js +3 -1
  35. package/dist/constructs/playwright-check.js.map +1 -1
  36. package/dist/formatters/alert-channels.d.ts +15 -0
  37. package/dist/formatters/alert-channels.js +259 -0
  38. package/dist/formatters/alert-channels.js.map +1 -0
  39. package/dist/formatters/checks.js +11 -19
  40. package/dist/formatters/checks.js.map +1 -1
  41. package/dist/formatters/render.d.ts +7 -0
  42. package/dist/formatters/render.js +73 -0
  43. package/dist/formatters/render.js.map +1 -1
  44. package/dist/formatters/test-sessions.d.ts +4 -1
  45. package/dist/formatters/test-sessions.js +93 -0
  46. package/dist/formatters/test-sessions.js.map +1 -1
  47. package/dist/helpers/number.d.ts +3 -0
  48. package/dist/helpers/number.js +20 -0
  49. package/dist/helpers/number.js.map +1 -0
  50. package/dist/rest/alert-channels.d.ts +52 -0
  51. package/dist/rest/alert-channels.js +23 -0
  52. package/dist/rest/alert-channels.js.map +1 -0
  53. package/dist/rest/alert-notifications.d.ts +39 -0
  54. package/dist/rest/alert-notifications.js +19 -0
  55. package/dist/rest/alert-notifications.js.map +1 -0
  56. package/dist/rest/api.d.ts +4 -0
  57. package/dist/rest/api.js +4 -0
  58. package/dist/rest/api.js.map +1 -1
  59. package/dist/rest/rca.d.ts +2 -2
  60. package/dist/rest/rca.js +4 -4
  61. package/dist/rest/rca.js.map +1 -1
  62. package/dist/rest/test-sessions.d.ts +51 -0
  63. package/dist/rest/test-sessions.js +24 -1
  64. package/dist/rest/test-sessions.js.map +1 -1
  65. package/oclif.manifest.json +571 -237
  66. package/package.json +4 -1
@@ -0,0 +1,190 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { AuthCommand } from '../authCommand.js';
3
+ import { outputFlag } from '../../helpers/flags.js';
4
+ import * as api from '../../rest/api.js';
5
+ import { formatTestSessionsList, formatTestSessionsListNavigationHints, formatTestSessionsListPaginationInfo, } from '../../formatters/test-sessions.js';
6
+ const statusOptions = ['running', 'failed', 'passed', 'cancelled'];
7
+ const providerOptions = ['github', 'vercel', 'api', 'trigger', 'pw_reporter'];
8
+ function quoteArg(value) {
9
+ if (/^[A-Za-z0-9._/@:+=,-]+$/.test(value))
10
+ return value;
11
+ return `'${value.replace(/'/g, `'\\''`)}'`;
12
+ }
13
+ function parseUnixTimestamp(value, label) {
14
+ if (!value)
15
+ return undefined;
16
+ const trimmed = value.trim();
17
+ if (/^\d+$/.test(trimmed)) {
18
+ return Number(trimmed);
19
+ }
20
+ const timestamp = Date.parse(trimmed);
21
+ if (Number.isNaN(timestamp)) {
22
+ throw new Error(`Invalid --${label} "${value}". Use an ISO date or Unix timestamp in seconds.`);
23
+ }
24
+ return Math.floor(timestamp / 1000);
25
+ }
26
+ function normalizeStatus(value) {
27
+ const normalized = value.trim().toUpperCase();
28
+ return ['RUNNING', 'FAILED', 'PASSED', 'CANCELLED'].includes(normalized)
29
+ ? normalized
30
+ : undefined;
31
+ }
32
+ function normalizeProvider(value) {
33
+ const normalized = value.trim().replace(/-/g, '_').toUpperCase();
34
+ return ['GITHUB', 'VERCEL', 'API', 'TRIGGER', 'PW_REPORTER'].includes(normalized)
35
+ ? normalized
36
+ : undefined;
37
+ }
38
+ function buildListCommand(flags) {
39
+ const parts = ['checkly test-sessions list', '--limit', String(flags.limit)];
40
+ const appendMany = (flag, values) => {
41
+ for (const value of values ?? []) {
42
+ parts.push(flag, quoteArg(value));
43
+ }
44
+ };
45
+ if (flags.from)
46
+ parts.push('--from', quoteArg(flags.from));
47
+ if (flags.to)
48
+ parts.push('--to', quoteArg(flags.to));
49
+ appendMany('--status', flags.status);
50
+ appendMany('--branch', flags.branch);
51
+ appendMany('--user', flags.user);
52
+ appendMany('--provider', flags.provider);
53
+ if (flags['no-users'])
54
+ parts.push('--no-users');
55
+ if (flags.search)
56
+ parts.push('--search', quoteArg(flags.search));
57
+ if (flags['error-group'])
58
+ parts.push('--error-group', quoteArg(flags['error-group']));
59
+ return parts.join(' ');
60
+ }
61
+ export default class TestSessionsList extends AuthCommand {
62
+ static hidden = false;
63
+ static readOnly = true;
64
+ static idempotent = true;
65
+ static description = 'List recorded test sessions.';
66
+ static flags = {
67
+ 'limit': Flags.integer({
68
+ char: 'l',
69
+ description: 'Number of test sessions to return (1-100).',
70
+ default: 20,
71
+ }),
72
+ 'cursor': Flags.string({
73
+ description: 'Cursor for next page (from previous output).',
74
+ }),
75
+ 'from': Flags.string({
76
+ description: 'Only include test sessions created at or after this ISO date or Unix timestamp.',
77
+ }),
78
+ 'to': Flags.string({
79
+ description: 'Only include test sessions created before this ISO date or Unix timestamp.',
80
+ }),
81
+ 'status': Flags.string({
82
+ description: `Filter by test session status: ${statusOptions.join(', ')}. Can be specified multiple times.`,
83
+ multiple: true,
84
+ delimiter: ',',
85
+ }),
86
+ 'branch': Flags.string({
87
+ description: 'Filter by Git branch name. Can be specified multiple times.',
88
+ multiple: true,
89
+ delimiter: ',',
90
+ }),
91
+ 'user': Flags.string({
92
+ description: 'Filter by commit owner or invoking user ID. Can be specified multiple times.',
93
+ multiple: true,
94
+ delimiter: ',',
95
+ }),
96
+ 'no-users': Flags.boolean({
97
+ description: 'Include sessions with no commit owner and no invoking user.',
98
+ default: false,
99
+ }),
100
+ 'provider': Flags.string({
101
+ description: `Filter by test session provider: ${providerOptions.join(', ')}. Can be specified multiple times.`,
102
+ multiple: true,
103
+ delimiter: ',',
104
+ }),
105
+ 'search': Flags.string({
106
+ char: 's',
107
+ description: 'Search test session text fields (3-200 characters).',
108
+ }),
109
+ 'error-group': Flags.string({
110
+ description: 'Filter by test-session error group ID.',
111
+ }),
112
+ 'output': outputFlag({ default: 'table' }),
113
+ };
114
+ async run() {
115
+ const { flags } = await this.parse(TestSessionsList);
116
+ this.style.outputFormat = flags.output;
117
+ if (flags.limit < 1 || flags.limit > 100) {
118
+ this.error('--limit must be an integer between 1 and 100.');
119
+ }
120
+ if (flags.search && (flags.search.length < 3 || flags.search.length > 200)) {
121
+ this.error('--search must be between 3 and 200 characters.');
122
+ }
123
+ const statuses = flags.status?.map(normalizeStatus);
124
+ if (flags.status && statuses?.some(status => !status)) {
125
+ this.error(`Invalid --status value. Valid values: ${statusOptions.join(', ')}.`);
126
+ }
127
+ const providers = flags.provider?.map(normalizeProvider);
128
+ if (flags.provider && providers?.some(provider => !provider)) {
129
+ this.error(`Invalid --provider value. Valid values: ${providerOptions.join(', ')}.`);
130
+ }
131
+ let from;
132
+ let to;
133
+ try {
134
+ from = parseUnixTimestamp(flags.from, 'from');
135
+ to = parseUnixTimestamp(flags.to, 'to');
136
+ }
137
+ catch (err) {
138
+ this.error(err.message);
139
+ }
140
+ const params = {
141
+ from,
142
+ to,
143
+ limit: flags.limit,
144
+ statuses: statuses?.filter(Boolean),
145
+ branches: flags.branch,
146
+ users: flags.user,
147
+ providers: providers?.filter(Boolean),
148
+ noUsers: flags['no-users'] || undefined,
149
+ nextId: flags.cursor,
150
+ textSearch: flags.search,
151
+ errorGroupId: flags['error-group'],
152
+ };
153
+ try {
154
+ const { data } = await api.testSessions.list(params);
155
+ if (flags.output === 'json') {
156
+ this.log(JSON.stringify({
157
+ data: data.entries,
158
+ pagination: {
159
+ nextId: data.nextId,
160
+ length: data.length,
161
+ },
162
+ }, null, 2));
163
+ return;
164
+ }
165
+ if (data.length === 0) {
166
+ this.log('No test sessions found.');
167
+ return;
168
+ }
169
+ const fmt = flags.output === 'md' ? 'md' : 'terminal';
170
+ const lines = [
171
+ formatTestSessionsList(data.entries, fmt),
172
+ ];
173
+ if (fmt === 'terminal') {
174
+ lines.push('');
175
+ lines.push(formatTestSessionsListPaginationInfo(data.length, data.nextId));
176
+ const navHints = formatTestSessionsListNavigationHints(data.nextId, buildListCommand(flags), data.entries[0]?.id);
177
+ if (navHints) {
178
+ lines.push('');
179
+ lines.push(navHints);
180
+ }
181
+ }
182
+ this.log(lines.join('\n'));
183
+ }
184
+ catch (err) {
185
+ this.style.longError('Failed to list test sessions.', err);
186
+ process.exitCode = 1;
187
+ }
188
+ }
189
+ }
190
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/test-sessions/list.ts"],"names":[],"mappings":"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"}
@@ -60,11 +60,17 @@ export interface PlaywrightCheckProps extends Omit<RuntimeCheckProps, 'retryStra
60
60
  */
61
61
  pwTags?: string | string[];
62
62
  /**
63
- * File patterns to include when bundling the test project.
64
- * Use this to include test files, utilities, and other assets.
63
+ * Extra file patterns to bundle alongside the Playwright project.
65
64
  *
66
- * @example "tests/**\/*"
67
- * @example ["tests/**\/*", "utils/**\/*", "fixtures/**\/*"]
65
+ * Test files and anything reachable through `import` are already bundled
66
+ * via Playwright's project discovery and the import graph. Use `include`
67
+ * only for non-code assets that specs read via `fs` at runtime, such as
68
+ * markdown, JSON fixtures, or snapshots that aren't imported anywhere.
69
+ *
70
+ * Globs resolve relative to the directory of `playwrightConfigPath`.
71
+ *
72
+ * @example "fixtures/**\/*.json"
73
+ * @example ["fixtures/**\/*.json", "docs/**\/*.md"]
68
74
  */
69
75
  include?: string | string[];
70
76
  /**
@@ -103,7 +109,9 @@ export interface PlaywrightCheckProps extends Omit<RuntimeCheckProps, 'retryStra
103
109
  * installCommand: 'npm ci',
104
110
  * pwProjects: ['chromium', 'firefox'],
105
111
  * pwTags: ['@smoke', '@critical'],
106
- * include: ['tests/**\/*', 'utils/**\/*'],
112
+ * // `include` is for non-code assets read via `fs` at runtime;
113
+ * // imported files are bundled automatically.
114
+ * include: ['fixtures/**\/*.json'],
107
115
  * groupName: 'E2E Tests',
108
116
  * frequency: Frequency.EVERY_5M
109
117
  * })
@@ -35,7 +35,9 @@ import { Engine } from './engine.js';
35
35
  * installCommand: 'npm ci',
36
36
  * pwProjects: ['chromium', 'firefox'],
37
37
  * pwTags: ['@smoke', '@critical'],
38
- * include: ['tests/**\/*', 'utils/**\/*'],
38
+ * // `include` is for non-code assets read via `fs` at runtime;
39
+ * // imported files are bundled automatically.
40
+ * include: ['fixtures/**\/*.json'],
39
41
  * groupName: 'E2E Tests',
40
42
  * frequency: Frequency.EVERY_5M
41
43
  * })
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-check.js","sourceRoot":"","sources":["../../src/constructs/playwright-check.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEjC,OAAO,EACL,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAA;AAC5D,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,kCAAkC,EAClC,uCAAuC,EACvC,6BAA6B,GAC9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAwB,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAkFpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,cAAc,CAAS;IACvB,WAAW,CAAS;IACpB,oBAAoB,CAAQ;IAC5B,UAAU,CAAU;IACpB,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,MAAM,CAAS;IACf,6FAA6F;IAC7F,SAAS,CAAS;IAElB,YAAa,SAAiB,EAAE,KAA2B;QACzD,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAC3C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;YACjC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YACzB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;YAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACpF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kCAAkC,EAAE,CAAA;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,mBAAmB,IAAI,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;IAES,oBAAoB,CAAE,KAA2B;QACzD,MAAM,KAAK,GAAG,EAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;QAE3D,OAAO,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,EAAE,EACzB;YACE,GAAG,OAAO,CAAC,aAAa;YACxB,6DAA6D;YAC7D,aAAa,EAAE,SAAS;YACxB,6DAA6D;YAC7D,WAAW,EAAE,SAAS;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAE,KAA2B;QACxD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,KAAK,CAAA;QACpB,CAAC;QAED,kCAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAe,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC;QAED,oCAAoC;QACpC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,eAAe,CAAE,QAAsB;QAC5C,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;QAClE,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAE,SAAiB;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aAC/D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC5C,CAAC;IAED,yCAAyC;IAC/B,KAAK,CAAC,mBAAmB,CAAE,WAAwB;QAC3D,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,IAAI,6BAA6B,CAC/C,aAAa,EACb,IAAI,KAAK,CACP,sDAAsD;kBACpD,MAAM;kBACN,gEAAgE;kBAChE,6DAA6D;kBAC7D,UAAU,CACb,CACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,yCAAyC;IAC/B,KAAK,CAAC,qBAAqB,CAAE,WAAwB;QAC7D,+EAA+E;QAC/E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,IAAI,6BAA6B,CAC/C,eAAe,EACf,IAAI,KAAK,CACP,sDAAsD;kBACpD,MAAM;kBACN,gEAAgE;kBAChE,6DAA6D;kBAC7D,UAAU,CACb,CACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAE,WAAwB;QAC5D,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAM,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAE/E,IAAI,gBAAgB,EAAE,GAAG,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9C,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,UAAU,EACV,IAAI,KAAK,CACP,mCAAmC;sBACjC,MAAM;sBACN,uDAAuD;sBACvD,iEAAiE;sBACjE,oBAAoB,CACvB,CACF,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;wBACrC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;wBACvE,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,UAAU,EACV,IAAI,KAAK,CACP,mCAAmC,WAAW,GAAG;8BAC/C,MAAM;8BACN,uDAAuD;8BACvD,iEAAiE;8BACjE,oBAAoB,CACvB,CACF,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,sBAAsB,EACtB,IAAI,KAAK,CACP,sCAAsC,IAAI,CAAC,oBAAoB,MAAM,GAAG,CAAC,OAAO,EAAE,EAClF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,uBAAuB,CAAE,WAAwB;QAC/D,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACnC,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAE1E,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAAC;gBAChG,WAAW,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;oBACpC,KAAK,EAAE,kCAAkC;oBACzC,OAAO,EACL,qDAAqD;0BACnD,oFAAoF;0BACpF,yCAAyC;iBAC9C,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,sBAAsB,EACtB,IAAI,KAAK,CACP,sCAAsC,IAAI,CAAC,oBAAoB,MAAM,GAAG,CAAC,OAAO,EAAE,EAClF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAES,6BAA6B,CAAE,WAAwB;QAC/D,MAAM,wBAAwB,GAAG,uBAAuB,CAAA;QAExD,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;YACtD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;SACjD,CAAA;QAED,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;YACvC,IAAI,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,WAAW,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;oBACpC,KAAK,EAAE,2CAA2C;oBAClD,OAAO,EACL,OAAO,IAAI,sDAAsD;0BAC/D,kFAAkF;0BAClF,mDAAmD,IAAI,GAAG;iBAC/D,CAAC,CAAC,CAAA;gBACH,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAE7C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7D,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,sBAAsB,EACtB,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,oBAAoB,qBAAqB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAC7G,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAA;QAE/C,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,WAAwB;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,qBAAqB,KAAK,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;YACrF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAA;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;gBAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM;oBAC9B,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,8BAA8B,CAAA;gBAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAC5B,QAAQ,EACR,IAAI,KAAK,CACP,MAAM;0BACJ,MAAM;0BACN,uDAAuD;0BACvD,yDAAyD;0BACzD,2DAA2D;0BAC3D,kBAAkB,CAAC,CACxB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM;gBAC3B,CAAC,CAAC,8BAA8B;gBAChC,CAAC,CAAC,kCAAkC,CAAA;YACtC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC9D,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,kBAAkB,CAAE,WAAwB;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAA;YACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACrB,WAAW,CAAC,GAAG,CAAC,IAAI,uCAAuC,CAAC,IAAI,KAAK,CACnE,kEAAkE;sBAChE,WAAW;sBACX,MAAM;sBACN,UAAU,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CACrC,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,IAAI,uCAAuC,CAAC,IAAI,KAAK,CACnE,mEAAmE;kBACjE,WAAW;kBACX,MAAM;kBACN,UAAU,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CACtC,CAAC,CAAC,CAAA;QACL,CAAC;IACH,CAAC;IAED,wBAAwB,CAAE,WAAwB;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,WAAW,CAAC,GAAG,CAAC,IAAI,4BAA4B,CAC9C,WAAW,EACX,IAAI,KAAK,CACP,6DAA6D;kBAC3D,+DAA+D,CAClE,CACF,CAAC,CAAA;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,WAAW,CAAC,GAAG,CAAC,IAAI,6BAA6B,CAC/C,WAAW,EACX,OAAO,EACP,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAC3D,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,EAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,WAAW,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAChD,WAAW,EACX,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,IAAI,CAAC,CAChD,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,WAAmB,EAAE,oBAA4B,EAAE,iBAA4B,EAAE,aAAwB;QAEzG,MAAM,UAAU,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACvH,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5F,OAAO,GAAG,WAAW,aAAa,UAAU,GAAG,UAAU,GAAG,MAAM,EAAE,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAAgB;QAC5B,wEAAwE;QACxE,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO;YAC7C,CAAC,CAAC,EAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE;YACzD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;QAEhB,MAAM,EACJ,QAAQ,EACR,iBAAiB,EACjB,4BAA4B,EAC5B,UAAU,EACV,KAAK,GACN,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAEhF,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAA;QAE/B,MAAM,WAAW,GAAG,EAAe,CAAC,gBAAgB,CAClD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAC9C,4BAA4B,EAC5B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CACZ,CAAA;QAED,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE;YACrC,OAAO;YACP,cAAc,EAAE,OAAO,CAAC,MAAM;YAC9B,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,iBAAiB;YACjB,WAAW;YACX,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAA;IACxF,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,KAAK;YAClB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;SACvF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"playwright-check.js","sourceRoot":"","sources":["../../src/constructs/playwright-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { AlertChannel } from '../rest/alert-channels.js';
2
+ import type { AlertNotification } from '../rest/alert-notifications.js';
3
+ import { type OutputFormat } from './render.js';
4
+ export interface AlertChannelPaginationInfo {
5
+ page: number;
6
+ limit: number;
7
+ total: number;
8
+ }
9
+ export declare function titleFromConfig(channel: AlertChannel): string;
10
+ export declare function formatAlertChannels(channels: AlertChannel[], format: OutputFormat): string;
11
+ export declare function formatAlertChannelPaginationInfo(pagination: AlertChannelPaginationInfo): string;
12
+ export declare function formatAlertChannelNavigationHints(pagination: AlertChannelPaginationInfo): string;
13
+ export declare function formatAlertChannelSubscriptions(channel: AlertChannel, format: OutputFormat): string;
14
+ export declare function formatAlertChannelDetail(channel: AlertChannel, format: OutputFormat): string;
15
+ export declare function formatAlertNotificationLogs(logs: AlertNotification[], format: OutputFormat): string;
@@ -0,0 +1,259 @@
1
+ import chalk from 'chalk';
2
+ import { renderDetailFields, renderTable, formatDate, truncateError, truncateToWidth, } from './render.js';
3
+ function boolLabel(value, format) {
4
+ if (value === undefined)
5
+ return format === 'terminal' ? chalk.dim('-') : '-';
6
+ if (format === 'md')
7
+ return value ? 'yes' : 'no';
8
+ return value ? chalk.green('yes') : chalk.dim('no');
9
+ }
10
+ function normalizeType(type) {
11
+ if (!type)
12
+ return '-';
13
+ return type.toLowerCase().replace(/_/g, ' ');
14
+ }
15
+ function redacted(format) {
16
+ return format === 'terminal' ? chalk.dim('redacted') : 'redacted';
17
+ }
18
+ export function titleFromConfig(channel) {
19
+ const config = channel.config ?? {};
20
+ return channel.name
21
+ ?? config.name
22
+ ?? config.channel
23
+ ?? config.address
24
+ ?? config.serviceName
25
+ ?? config.account
26
+ ?? `${normalizeType(channel.type)} alert channel`;
27
+ }
28
+ function targetFromConfig(channel, format) {
29
+ const config = channel.config ?? {};
30
+ const secret = redacted(format);
31
+ switch (channel.type) {
32
+ case 'EMAIL':
33
+ return String(config.address ?? '-');
34
+ case 'SLACK':
35
+ return config.channel ? String(config.channel) : `Slack webhook (${secret})`;
36
+ case 'SLACK_APP':
37
+ return Array.isArray(config.slackChannels) ? config.slackChannels.join(', ') : '-';
38
+ case 'WEBHOOK':
39
+ return config.name ? String(config.name) : `Webhook URL (${secret})`;
40
+ case 'PAGERDUTY':
41
+ return String(config.serviceName ?? config.account ?? `Service key (${secret})`);
42
+ case 'OPSGENIE':
43
+ return [
44
+ config.name,
45
+ config.region,
46
+ config.priority,
47
+ ].filter(Boolean).join(' / ') || `API key (${secret})`;
48
+ case 'SMS':
49
+ case 'CALL':
50
+ return String(config.name ?? config.number ?? config.phoneNumber ?? '-');
51
+ default:
52
+ return String(config.name ?? '-');
53
+ }
54
+ }
55
+ function enabledEvents(channel, format) {
56
+ const events = [];
57
+ if (channel.sendFailure)
58
+ events.push('failure');
59
+ if (channel.sendRecovery)
60
+ events.push('recovery');
61
+ if (channel.sendDegraded)
62
+ events.push('degraded');
63
+ if (events.length === 0)
64
+ return format === 'terminal' ? chalk.dim('-') : '-';
65
+ return events.join(', ');
66
+ }
67
+ function sslExpiryLabel(channel, format) {
68
+ if (!channel.sslExpiry)
69
+ return boolLabel(false, format);
70
+ const threshold = channel.sslExpiryThreshold ?? 30;
71
+ return `yes (${threshold} days)`;
72
+ }
73
+ function subscriptionCount(channel) {
74
+ return String(channel.subscriptions?.length ?? 0);
75
+ }
76
+ function buildAlertChannelColumns(format) {
77
+ if (format === 'md') {
78
+ return [
79
+ { header: 'Type', value: c => normalizeType(c.type) },
80
+ { header: 'Name', value: titleFromConfig },
81
+ { header: 'Subscriptions', value: subscriptionCount },
82
+ { header: 'Created', value: (c, fmt) => formatDate(c.created_at ?? c.createdAt, fmt) },
83
+ { header: 'ID', value: c => String(c.id) },
84
+ ];
85
+ }
86
+ const termWidth = process.stdout.columns || 120;
87
+ const nameWidth = Math.min(34, Math.floor(termWidth * 0.28));
88
+ const targetWidth = Math.min(28, Math.floor(termWidth * 0.22));
89
+ return [
90
+ { header: 'Type', width: 14, value: c => normalizeType(c.type) },
91
+ { header: 'Name', width: nameWidth, value: c => truncateToWidth(titleFromConfig(c), nameWidth - 2) },
92
+ { header: 'Target', width: targetWidth, value: (c, fmt) => truncateToWidth(targetFromConfig(c, fmt), targetWidth - 2) },
93
+ { header: 'Subs', width: 8, align: 'right', value: subscriptionCount },
94
+ { header: 'Created', width: 24, value: (c, fmt) => formatDate(c.created_at ?? c.createdAt, fmt) },
95
+ { header: 'ID', value: c => chalk.dim(String(c.id)) },
96
+ ];
97
+ }
98
+ export function formatAlertChannels(channels, format) {
99
+ return renderTable(buildAlertChannelColumns(format), channels, format);
100
+ }
101
+ export function formatAlertChannelPaginationInfo(pagination) {
102
+ const { page, limit, total } = pagination;
103
+ const totalPages = Math.max(1, Math.ceil(total / limit));
104
+ const start = total === 0 ? 0 : (page - 1) * limit + 1;
105
+ const end = Math.min(page * limit, total);
106
+ return chalk.dim(`Showing ${start}-${end} of ${total} alert channels (page ${page}/${totalPages})`);
107
+ }
108
+ export function formatAlertChannelNavigationHints(pagination) {
109
+ const { page, limit, total } = pagination;
110
+ const totalPages = Math.ceil(total / limit);
111
+ const lines = [];
112
+ if (page < totalPages) {
113
+ lines.push(` ${chalk.dim('Next page:')} checkly alert-channels list --page ${page + 1}`);
114
+ }
115
+ if (page > 1) {
116
+ lines.push(` ${chalk.dim('Prev page:')} checkly alert-channels list --page ${page - 1}`);
117
+ }
118
+ lines.push(` ${chalk.dim('View channel:')} checkly alert-channels get <id>`);
119
+ lines.push(` ${chalk.dim('View logs:')} checkly alert-channels logs <id> --status failed`);
120
+ return lines.join('\n');
121
+ }
122
+ const alertChannelDetailFields = [
123
+ { label: 'Type', value: c => normalizeType(c.type) },
124
+ { label: 'Target', value: targetFromConfig },
125
+ { label: 'Enabled events', value: enabledEvents },
126
+ { label: 'SSL expiry', value: sslExpiryLabel },
127
+ { label: 'Auto-subscribe', value: (c, fmt) => boolLabel(c.autoSubscribe, fmt) },
128
+ { label: 'Subscriptions', value: subscriptionCount },
129
+ { label: 'Created', value: (c, fmt) => formatDate(c.created_at ?? c.createdAt, fmt) },
130
+ { label: 'Updated', value: (c, fmt) => formatDate(c.updated_at ?? c.updatedAt, fmt) },
131
+ { label: 'ID', value: c => String(c.id) },
132
+ ];
133
+ function subscriptionType(subscription) {
134
+ if (subscription.checkId || subscription.check)
135
+ return 'check';
136
+ if (subscription.groupId || subscription.group)
137
+ return 'group';
138
+ return 'subscription';
139
+ }
140
+ function subscriptionName(subscription, format) {
141
+ const name = subscription.checkName ?? subscription.groupName ?? subscription.check?.name ?? subscription.group?.name;
142
+ if (name)
143
+ return name;
144
+ return format === 'terminal' ? chalk.dim('-') : '-';
145
+ }
146
+ function subscriptionId(subscription) {
147
+ return String(subscription.checkId
148
+ ?? subscription.check?.id
149
+ ?? subscription.groupId
150
+ ?? subscription.group?.id
151
+ ?? subscription.id
152
+ ?? '-');
153
+ }
154
+ function hasSubscriptionNames(subscriptions) {
155
+ return subscriptions.some(subscription => Boolean(subscription.checkName
156
+ ?? subscription.groupName
157
+ ?? subscription.check?.name
158
+ ?? subscription.group?.name));
159
+ }
160
+ function buildSubscriptionColumns(format, subscriptions) {
161
+ const includeName = hasSubscriptionNames(subscriptions);
162
+ if (format === 'md') {
163
+ const columns = [
164
+ { header: 'Type', value: subscriptionType },
165
+ { header: 'ID', value: subscriptionId },
166
+ ];
167
+ if (includeName) {
168
+ columns.splice(1, 0, { header: 'Name', value: (s, fmt) => subscriptionName(s, fmt) });
169
+ }
170
+ return columns;
171
+ }
172
+ const columns = [
173
+ { header: 'Type', width: 14, value: subscriptionType },
174
+ { header: 'ID', value: s => chalk.dim(subscriptionId(s)) },
175
+ ];
176
+ if (includeName) {
177
+ columns.splice(1, 0, {
178
+ header: 'Name',
179
+ width: 32,
180
+ value: (s, fmt) => truncateToWidth(subscriptionName(s, fmt), 30),
181
+ });
182
+ }
183
+ return columns;
184
+ }
185
+ export function formatAlertChannelSubscriptions(channel, format) {
186
+ const subscriptions = channel.subscriptions ?? [];
187
+ if (subscriptions.length === 0)
188
+ return 'No subscriptions configured.';
189
+ return renderTable(buildSubscriptionColumns(format, subscriptions), subscriptions, format);
190
+ }
191
+ export function formatAlertChannelDetail(channel, format) {
192
+ const lines = [];
193
+ lines.push(renderDetailFields(titleFromConfig(channel), alertChannelDetailFields, channel, format));
194
+ lines.push('');
195
+ if (format === 'md') {
196
+ lines.push('## Subscriptions');
197
+ lines.push('');
198
+ }
199
+ else {
200
+ lines.push(chalk.bold('SUBSCRIPTIONS'));
201
+ }
202
+ lines.push(formatAlertChannelSubscriptions(channel, format));
203
+ return lines.join('\n');
204
+ }
205
+ function formatNotificationStatus(status, format) {
206
+ const label = status.toLowerCase().replace(/_/g, ' ');
207
+ if (format === 'md')
208
+ return label;
209
+ switch (status) {
210
+ case 'SUCCESS':
211
+ return chalk.green(label);
212
+ case 'FAILURE':
213
+ case 'RATE_LIMITED':
214
+ return chalk.red(label);
215
+ case 'IN_PROGRESS':
216
+ return chalk.yellow(label);
217
+ default:
218
+ return chalk.dim(label);
219
+ }
220
+ }
221
+ function notificationCheckLabel(log) {
222
+ return String(log.check?.name
223
+ ?? log.checkName
224
+ ?? log.alertConfig?.checkName
225
+ ?? log.checkId
226
+ ?? '-');
227
+ }
228
+ function notificationResultLabel(log) {
229
+ return log.checkResultId ?? '-';
230
+ }
231
+ function notificationMessage(log) {
232
+ return log.notificationResult ?? '-';
233
+ }
234
+ function buildAlertNotificationColumns(format) {
235
+ if (format === 'md') {
236
+ return [
237
+ { header: 'Time', value: l => formatDate(l.timestamp, format) },
238
+ { header: 'Status', value: l => formatNotificationStatus(l.status, format) },
239
+ { header: 'Type', value: l => normalizeType(l.type) },
240
+ { header: 'Check', value: notificationCheckLabel },
241
+ { header: 'Result', value: notificationResultLabel },
242
+ { header: 'Message', value: l => truncateError(notificationMessage(l), 120) },
243
+ ];
244
+ }
245
+ return [
246
+ { header: 'Time', width: 22, value: l => formatDate(l.timestamp, format) },
247
+ { header: 'Status', width: 14, value: l => formatNotificationStatus(l.status, format) },
248
+ { header: 'Type', width: 12, value: l => normalizeType(l.type) },
249
+ { header: 'Check', width: 28, value: l => truncateToWidth(notificationCheckLabel(l), 26) },
250
+ { header: 'Result', width: 22, value: l => chalk.dim(truncateToWidth(notificationResultLabel(l), 20)) },
251
+ { header: 'Message', value: l => truncateError(notificationMessage(l), 80) },
252
+ ];
253
+ }
254
+ export function formatAlertNotificationLogs(logs, format) {
255
+ if (logs.length === 0)
256
+ return 'No alert channel logs found.';
257
+ return renderTable(buildAlertNotificationColumns(format), logs, format);
258
+ }
259
+ //# sourceMappingURL=alert-channels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-channels.js","sourceRoot":"","sources":["../../src/formatters/alert-channels.ts"],"names":[],"mappings":"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"}