checkly 9.4.0 → 9.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.
@@ -49,6 +49,7 @@ export const exampleService = new StatusPageService('example-status-page-service
49
49
  - A v3 status page has no cards or services. Its structure is declared with `StatusPageV3Component` constructs that point at the page via `statusPage`; nest a `SERVICE` under a `GROUP` via `parent`.
50
50
  - `StatusPageV3AutomationRule` opens one incident impacting the listed components when a check whose tags overlap with the rule's `tags` fails, and resolves it on recovery. Requires the automated incident management add-on.
51
51
  - A logical id deployed as a `StatusPage` cannot be redeployed as a `StatusPageV3` (or vice versa); use a new logical id.
52
+ - `themeColors` overrides the page's colors per theme (`light` and `dark`) with hex strings; only the colors you set change, the rest keep the defaults. Requires custom theme colors on the plan.
52
53
  - Type-specific settings are top-level props checked against `type`: both types take `showHistoricalData` (default `true`); only a `GROUP` takes `expandedByDefault` (default `false`). Omit them to keep the defaults.
53
54
 
54
55
  ```ts
@@ -59,6 +60,10 @@ const statusPage = new StatusPageV3('example-status-page-v3', {
59
60
  url: 'example-status-page-v3',
60
61
  customDomain: 'status.example.com',
61
62
  defaultTheme: 'AUTO',
63
+ themeColors: {
64
+ light: { linkFontColor: '#005AC2', primaryButtonBackgroundColor: '#151A1E' },
65
+ dark: { linkFontColor: '#248AFF' },
66
+ },
62
67
  })
63
68
 
64
69
  const webApp = new StatusPageV3Component('example-web-app-group', {
@@ -0,0 +1,4 @@
1
+ import type { StatusPageV3ThemeColorGroup } from '../status-page-v3.js';
2
+ export declare const statusPageV3ThemeColorProperties: (keyof StatusPageV3ThemeColorGroup)[];
3
+ export declare const statusPageV3Themes: readonly ["light", "dark"];
4
+ export declare const hexColorPattern: RegExp;
@@ -0,0 +1,21 @@
1
+ // Typed against the public group so a colour added to one cannot be missed
2
+ // in the other; the backend palette has the same twelve entries.
3
+ const properties = {
4
+ bodyBackgroundColor: true,
5
+ headerBackgroundColor: true,
6
+ headerFontColor: true,
7
+ titleFontColor: true,
8
+ bodyFontColor: true,
9
+ bodyFontColorMuted: true,
10
+ navigationFontColor: true,
11
+ linkFontColor: true,
12
+ cardBackgroundColor: true,
13
+ borderColor: true,
14
+ primaryButtonBackgroundColor: true,
15
+ primaryButtonFontColor: true,
16
+ };
17
+ export const statusPageV3ThemeColorProperties = Object.keys(properties);
18
+ export const statusPageV3Themes = ['light', 'dark'];
19
+ // Same format the backend accepts: #RGB or #RRGGBB, case-insensitive.
20
+ export const hexColorPattern = /^#([0-9A-F]{3}|[0-9A-F]{6})$/i;
21
+ //# sourceMappingURL=status-page-v3-theme-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-page-v3-theme-colors.js","sourceRoot":"","sources":["../../../src/constructs/internal/status-page-v3-theme-colors.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,iEAAiE;AACjE,MAAM,UAAU,GAAoD;IAClE,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;IACzB,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,IAAI;IACjB,4BAA4B,EAAE,IAAI;IAClC,sBAAsB,EAAE,IAAI;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAA0C,CAAA;AAEhH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAA;AAE5D,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Codegen, Context } from './internal/codegen/index.js';
2
2
  import { GeneratedFile, Value } from '../sourcegen/index.js';
3
3
  import { StatusPageTheme } from './status-page.js';
4
+ import type { StatusPageV3ThemeColors } from './status-page-v3.js';
4
5
  export interface StatusPageV3Resource {
5
6
  id: string;
6
7
  name: string;
@@ -19,6 +20,7 @@ export interface StatusPageV3Resource {
19
20
  footerText?: string | null;
20
21
  googleAnalyticsTag?: string | null;
21
22
  allowIndexing?: boolean | null;
23
+ themeColors?: StatusPageV3ThemeColors | null;
22
24
  }
23
25
  export declare function valueForStatusPageV3FromId(genfile: GeneratedFile, physicalId: string): Value;
24
26
  /**
@@ -1,6 +1,29 @@
1
1
  import { Codegen } from './internal/codegen/index.js';
2
+ import { statusPageV3ThemeColorProperties, statusPageV3Themes } from './internal/status-page-v3-theme-colors.js';
2
3
  import { decl, expr, ident } from '../sourcegen/index.js';
3
4
  const construct = 'StatusPageV3';
5
+ // The stored palette is complete, so every color is generated as-is: the CLI
6
+ // does not know the backend defaults and must not guess which ones to omit.
7
+ function themeColorEntries(themeColors) {
8
+ const themes = [];
9
+ for (const theme of statusPageV3Themes) {
10
+ const colors = themeColors[theme];
11
+ if (!colors) {
12
+ continue;
13
+ }
14
+ const entries = [];
15
+ for (const property of statusPageV3ThemeColorProperties) {
16
+ const value = colors[property];
17
+ if (value) {
18
+ entries.push([property, value]);
19
+ }
20
+ }
21
+ if (entries.length > 0) {
22
+ themes.push([theme, entries]);
23
+ }
24
+ }
25
+ return themes;
26
+ }
4
27
  export function valueForStatusPageV3FromId(genfile, physicalId) {
5
28
  genfile.namedImport(construct, 'checkly/constructs');
6
29
  return expr(ident(construct), builder => {
@@ -93,6 +116,18 @@ export class StatusPageV3Codegen extends Codegen {
93
116
  if (resource.allowIndexing === false) {
94
117
  builder.boolean('allowIndexing', false);
95
118
  }
119
+ const themes = resource.themeColors ? themeColorEntries(resource.themeColors) : [];
120
+ if (themes.length > 0) {
121
+ builder.object('themeColors', builder => {
122
+ for (const [theme, colors] of themes) {
123
+ builder.object(theme, builder => {
124
+ for (const [property, value] of colors) {
125
+ builder.string(property, value);
126
+ }
127
+ });
128
+ }
129
+ });
130
+ }
96
131
  });
97
132
  });
98
133
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"status-page-v3-codegen.js","sourceRoot":"","sources":["../../src/constructs/status-page-v3-codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-page-v3-codegen.js","sourceRoot":"","sources":["../../src/constructs/status-page-v3-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAChH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAiB,KAAK,EAAS,MAAM,uBAAuB,CAAA;AAyB/E,MAAM,SAAS,GAAG,cAAc,CAAA;AAEhC,6EAA6E;AAC7E,4EAA4E;AAC5E,SAAS,iBAAiB,CAAE,WAAoC;IAC9D,MAAM,MAAM,GAA6C,EAAE,CAAA;IAC3D,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAA4B,EAAE,CAAA;QAC3C,KAAK,MAAM,QAAQ,IAAI,gCAAgC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAE,OAAsB,EAAE,UAAkB;IACpF,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IAEpD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACrB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAsB,EACtB,UAAkB,EAClB,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QACrD,OAAO,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;YAC3D,OAAO,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,OAA6B;IACpE,QAAQ,CAAE,QAA8B;QACtC,OAAO,qBAAqB,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,OAAO,CAAE,SAAiB,EAAE,QAA8B,EAAE,OAAgB;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzE,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,OAAO,CAAC,kBAAkB,CACxB,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACvD,CAAA;IACH,CAAC;IAED,OAAO,CAAE,SAAiB,EAAE,QAA8B,EAAE,OAAgB;QAC1E,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAE1D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;QAEjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;gBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;wBACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;wBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;wBAEnC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;4BAC1B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;wBACvD,CAAC;wBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BACzB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;wBACrD,CAAC;wBAED,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;wBACvC,CAAC;wBAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BACtB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;wBAC/C,CAAC;wBAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;4BACxB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;wBACnD,CAAC;wBAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;4BACrB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;wBAC7C,CAAC;wBAED,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;4BAC1B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;wBACvD,CAAC;wBAED,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;4BAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;wBACjE,CAAC;wBAED,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;4BAChC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;wBACnE,CAAC;wBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BACzB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;wBACrD,CAAC;wBAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;4BACxB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;wBACnD,CAAC;wBAED,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;4BAChC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;wBACnE,CAAC;wBAED,qEAAqE;wBACrE,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;4BACrC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;wBACzC,CAAC;wBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;wBAClF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;gCACtC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oCACrC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;wCAC9B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;4CACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;wCACjC,CAAC;oCACH,CAAC,CAAC,CAAA;gCACJ,CAAC;4BACH,CAAC,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAC,CAAA;YAEH,OAAO,CAAC,MAAM,EAAE,CAAA;QAClB,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;CACF"}
@@ -1,6 +1,75 @@
1
1
  import { Construct } from './construct.js';
2
2
  import { Diagnostics } from './diagnostics.js';
3
3
  import type { StatusPageTheme } from './status-page.js';
4
+ /**
5
+ * The colors of one theme (light or dark) of a v3 status page. Each color is
6
+ * a hex string such as `#FF0000` or `#F00`. Any color left out keeps
7
+ * Checkly's default for that theme.
8
+ */
9
+ export interface StatusPageV3ThemeColorGroup {
10
+ /**
11
+ * Background of the page.
12
+ */
13
+ bodyBackgroundColor?: string;
14
+ /**
15
+ * Background of the page header.
16
+ */
17
+ headerBackgroundColor?: string;
18
+ /**
19
+ * Text in the page header.
20
+ */
21
+ headerFontColor?: string;
22
+ /**
23
+ * Titles and headings.
24
+ */
25
+ titleFontColor?: string;
26
+ /**
27
+ * Regular body text.
28
+ */
29
+ bodyFontColor?: string;
30
+ /**
31
+ * De-emphasized body text, such as timestamps.
32
+ */
33
+ bodyFontColorMuted?: string;
34
+ /**
35
+ * Navigation links.
36
+ */
37
+ navigationFontColor?: string;
38
+ /**
39
+ * Links in the page content.
40
+ */
41
+ linkFontColor?: string;
42
+ /**
43
+ * Background of component and incident cards.
44
+ */
45
+ cardBackgroundColor?: string;
46
+ /**
47
+ * Borders and dividers.
48
+ */
49
+ borderColor?: string;
50
+ /**
51
+ * Background of primary buttons, such as "Subscribe".
52
+ */
53
+ primaryButtonBackgroundColor?: string;
54
+ /**
55
+ * Text of primary buttons.
56
+ */
57
+ primaryButtonFontColor?: string;
58
+ }
59
+ /**
60
+ * Custom colors of a v3 status page, per theme. Either theme can be left out
61
+ * to keep its defaults.
62
+ */
63
+ export interface StatusPageV3ThemeColors {
64
+ /**
65
+ * Colors used when the page renders in light mode.
66
+ */
67
+ light?: StatusPageV3ThemeColorGroup;
68
+ /**
69
+ * Colors used when the page renders in dark mode.
70
+ */
71
+ dark?: StatusPageV3ThemeColorGroup;
72
+ }
4
73
  export interface StatusPageV3Props {
5
74
  /**
6
75
  * The name of the status page.
@@ -62,6 +131,12 @@ export interface StatusPageV3Props {
62
131
  * Whether search engines may index the public page. Defaults to true.
63
132
  */
64
133
  allowIndexing?: boolean;
134
+ /**
135
+ * Custom colors for the light and dark theme of the page. Only the colors
136
+ * you set are changed; the rest keep Checkly's defaults. Requires custom
137
+ * theme colors to be part of your plan.
138
+ */
139
+ themeColors?: StatusPageV3ThemeColors;
65
140
  }
66
141
  /**
67
142
  * Creates a reference to an existing v3 Status Page.
@@ -104,6 +179,7 @@ export declare class StatusPageV3 extends Construct {
104
179
  footerText?: string;
105
180
  googleAnalyticsTag?: string;
106
181
  allowIndexing?: boolean;
182
+ themeColors?: StatusPageV3ThemeColors;
107
183
  static readonly __checklyType = "status-page";
108
184
  /**
109
185
  * Constructs the v3 Status Page instance
@@ -115,6 +191,8 @@ export declare class StatusPageV3 extends Construct {
115
191
  */
116
192
  constructor(logicalId: string, props: StatusPageV3Props);
117
193
  describe(): string;
194
+ validate(diagnostics: Diagnostics): Promise<void>;
195
+ private validateThemeColors;
118
196
  /**
119
197
  * @param id - The UUID of the existing v3 status page
120
198
  */
@@ -1,5 +1,7 @@
1
1
  import { Construct } from './construct.js';
2
+ import { InvalidPropertyValueDiagnostic } from './construct-diagnostics.js';
2
3
  import { validatePhysicalIdIsUuid } from './internal/common-diagnostics.js';
4
+ import { hexColorPattern, statusPageV3ThemeColorProperties, statusPageV3Themes, } from './internal/status-page-v3-theme-colors.js';
3
5
  import { Session } from './session.js';
4
6
  /**
5
7
  * Creates a reference to an existing v3 Status Page.
@@ -52,6 +54,7 @@ export class StatusPageV3 extends Construct {
52
54
  footerText;
53
55
  googleAnalyticsTag;
54
56
  allowIndexing;
57
+ themeColors;
55
58
  // Same resource type as the v2 page: both live in one table and are told
56
59
  // apart by the `version` discriminator synthesized below.
57
60
  static __checklyType = 'status-page';
@@ -80,11 +83,50 @@ export class StatusPageV3 extends Construct {
80
83
  this.footerText = props.footerText;
81
84
  this.googleAnalyticsTag = props.googleAnalyticsTag;
82
85
  this.allowIndexing = props.allowIndexing;
86
+ this.themeColors = props.themeColors;
83
87
  Session.registerConstruct(this);
84
88
  }
85
89
  describe() {
86
90
  return `StatusPageV3:${this.logicalId}`;
87
91
  }
92
+ async validate(diagnostics) {
93
+ await super.validate(diagnostics);
94
+ this.validateThemeColors(diagnostics);
95
+ }
96
+ // TypeScript already rejects unknown colors and non-string values; this
97
+ // repeats the check at runtime for JavaScript users and loosely typed
98
+ // objects, so a typo is an error here rather than silently dropped by the
99
+ // backend.
100
+ validateThemeColors(diagnostics) {
101
+ if (this.themeColors === undefined) {
102
+ return;
103
+ }
104
+ if (typeof this.themeColors !== 'object' || this.themeColors === null) {
105
+ diagnostics.add(new InvalidPropertyValueDiagnostic('themeColors', new Error('Value must be an object with optional "light" and "dark" color groups.')));
106
+ return;
107
+ }
108
+ for (const theme of statusPageV3Themes) {
109
+ const colors = this.themeColors[theme];
110
+ if (colors === undefined) {
111
+ continue;
112
+ }
113
+ if (typeof colors !== 'object' || colors === null) {
114
+ diagnostics.add(new InvalidPropertyValueDiagnostic(`themeColors.${theme}`, new Error('Value must be an object of color properties.')));
115
+ continue;
116
+ }
117
+ for (const [property, value] of Object.entries(colors)) {
118
+ if (value === undefined) {
119
+ continue;
120
+ }
121
+ if (!statusPageV3ThemeColorProperties.includes(property)) {
122
+ diagnostics.add(new InvalidPropertyValueDiagnostic(`themeColors.${theme}.${property}`, new Error(`Unknown color. Supported colors: ${statusPageV3ThemeColorProperties.join(', ')}.`)));
123
+ }
124
+ else if (typeof value !== 'string' || !hexColorPattern.test(value)) {
125
+ diagnostics.add(new InvalidPropertyValueDiagnostic(`themeColors.${theme}.${property}`, new Error('Value must be a hex color such as "#FF0000" or "#F00".')));
126
+ }
127
+ }
128
+ }
129
+ }
88
130
  /**
89
131
  * @param id - The UUID of the existing v3 status page
90
132
  */
@@ -108,6 +150,7 @@ export class StatusPageV3 extends Construct {
108
150
  footerText: this.footerText,
109
151
  googleAnalyticsTag: this.googleAnalyticsTag,
110
152
  allowIndexing: this.allowIndexing,
153
+ themeColors: this.themeColors,
111
154
  version: 3,
112
155
  };
113
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status-page-v3.js","sourceRoot":"","sources":["../../src/constructs/status-page-v3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-page-v3.js","sourceRoot":"","sources":["../../src/constructs/status-page-v3.ts"],"names":[],"mappings":"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"}
@@ -1488,211 +1488,6 @@
1488
1488
  "logs.js"
1489
1489
  ]
1490
1490
  },
1491
- "assets:download": {
1492
- "aliases": [],
1493
- "args": {},
1494
- "description": "Download result assets.",
1495
- "flags": {
1496
- "check-id": {
1497
- "description": "Check ID for a scheduled check result.",
1498
- "name": "check-id",
1499
- "hasDynamicHelp": false,
1500
- "multiple": false,
1501
- "type": "option"
1502
- },
1503
- "test-session-id": {
1504
- "description": "Test session ID for a test-session result.",
1505
- "name": "test-session-id",
1506
- "hasDynamicHelp": false,
1507
- "multiple": false,
1508
- "type": "option"
1509
- },
1510
- "result-id": {
1511
- "description": "Check result ID or test-session result ID.",
1512
- "name": "result-id",
1513
- "required": true,
1514
- "hasDynamicHelp": false,
1515
- "multiple": false,
1516
- "type": "option"
1517
- },
1518
- "type": {
1519
- "description": "Select assets by type.",
1520
- "name": "type",
1521
- "hasDynamicHelp": false,
1522
- "multiple": false,
1523
- "options": [
1524
- "log",
1525
- "trace",
1526
- "video",
1527
- "screenshot",
1528
- "pcap",
1529
- "report",
1530
- "file",
1531
- "all"
1532
- ],
1533
- "type": "option"
1534
- },
1535
- "asset": {
1536
- "description": "Select an asset by exact Asset/Name value or glob.",
1537
- "name": "asset",
1538
- "hasDynamicHelp": false,
1539
- "multiple": false,
1540
- "type": "option"
1541
- },
1542
- "dir": {
1543
- "description": "Directory to write assets into.",
1544
- "name": "dir",
1545
- "hasDynamicHelp": false,
1546
- "multiple": false,
1547
- "type": "option"
1548
- },
1549
- "force": {
1550
- "description": "Overwrite existing files.",
1551
- "name": "force",
1552
- "allowNo": false,
1553
- "type": "boolean"
1554
- },
1555
- "skip-existing": {
1556
- "description": "Skip files that already exist.",
1557
- "name": "skip-existing",
1558
- "allowNo": false,
1559
- "type": "boolean"
1560
- },
1561
- "output": {
1562
- "char": "o",
1563
- "description": "Output format.",
1564
- "name": "output",
1565
- "default": "table",
1566
- "hasDynamicHelp": false,
1567
- "multiple": false,
1568
- "options": [
1569
- "table",
1570
- "json"
1571
- ],
1572
- "type": "option"
1573
- }
1574
- },
1575
- "hasDynamicHelp": false,
1576
- "hidden": false,
1577
- "hiddenAliases": [],
1578
- "id": "assets:download",
1579
- "pluginAlias": "checkly",
1580
- "pluginName": "checkly",
1581
- "pluginType": "core",
1582
- "strict": true,
1583
- "enableJsonFlag": false,
1584
- "coreCommand": false,
1585
- "readOnly": true,
1586
- "destructive": false,
1587
- "idempotent": true,
1588
- "isESM": true,
1589
- "relativePath": [
1590
- "dist",
1591
- "commands",
1592
- "assets",
1593
- "download.js"
1594
- ]
1595
- },
1596
- "assets:list": {
1597
- "aliases": [],
1598
- "args": {},
1599
- "description": "List result assets.",
1600
- "flags": {
1601
- "check-id": {
1602
- "description": "Check ID for a scheduled check result.",
1603
- "name": "check-id",
1604
- "hasDynamicHelp": false,
1605
- "multiple": false,
1606
- "type": "option"
1607
- },
1608
- "test-session-id": {
1609
- "description": "Test session ID for a test-session result.",
1610
- "name": "test-session-id",
1611
- "hasDynamicHelp": false,
1612
- "multiple": false,
1613
- "type": "option"
1614
- },
1615
- "result-id": {
1616
- "description": "Check result ID or test-session result ID.",
1617
- "name": "result-id",
1618
- "required": true,
1619
- "hasDynamicHelp": false,
1620
- "multiple": false,
1621
- "type": "option"
1622
- },
1623
- "type": {
1624
- "description": "Filter assets by type.",
1625
- "name": "type",
1626
- "default": "all",
1627
- "hasDynamicHelp": false,
1628
- "multiple": false,
1629
- "options": [
1630
- "log",
1631
- "trace",
1632
- "video",
1633
- "screenshot",
1634
- "pcap",
1635
- "report",
1636
- "file",
1637
- "all"
1638
- ],
1639
- "type": "option"
1640
- },
1641
- "asset": {
1642
- "description": "Filter assets by exact Asset/Name value or glob.",
1643
- "name": "asset",
1644
- "hasDynamicHelp": false,
1645
- "multiple": false,
1646
- "type": "option"
1647
- },
1648
- "view": {
1649
- "description": "Human output view. Ignored with --output json.",
1650
- "name": "view",
1651
- "default": "table",
1652
- "hasDynamicHelp": false,
1653
- "multiple": false,
1654
- "options": [
1655
- "table",
1656
- "tree"
1657
- ],
1658
- "type": "option"
1659
- },
1660
- "output": {
1661
- "char": "o",
1662
- "description": "Output format.",
1663
- "name": "output",
1664
- "default": "table",
1665
- "hasDynamicHelp": false,
1666
- "multiple": false,
1667
- "options": [
1668
- "table",
1669
- "json",
1670
- "md"
1671
- ],
1672
- "type": "option"
1673
- }
1674
- },
1675
- "hasDynamicHelp": false,
1676
- "hidden": false,
1677
- "hiddenAliases": [],
1678
- "id": "assets:list",
1679
- "pluginAlias": "checkly",
1680
- "pluginName": "checkly",
1681
- "pluginType": "core",
1682
- "strict": true,
1683
- "enableJsonFlag": false,
1684
- "coreCommand": false,
1685
- "readOnly": true,
1686
- "destructive": false,
1687
- "idempotent": true,
1688
- "isESM": true,
1689
- "relativePath": [
1690
- "dist",
1691
- "commands",
1692
- "assets",
1693
- "list.js"
1694
- ]
1695
- },
1696
1491
  "checks:delete": {
1697
1492
  "aliases": [],
1698
1493
  "args": {
@@ -2193,6 +1988,211 @@
2193
1988
  "stats.js"
2194
1989
  ]
2195
1990
  },
1991
+ "assets:download": {
1992
+ "aliases": [],
1993
+ "args": {},
1994
+ "description": "Download result assets.",
1995
+ "flags": {
1996
+ "check-id": {
1997
+ "description": "Check ID for a scheduled check result.",
1998
+ "name": "check-id",
1999
+ "hasDynamicHelp": false,
2000
+ "multiple": false,
2001
+ "type": "option"
2002
+ },
2003
+ "test-session-id": {
2004
+ "description": "Test session ID for a test-session result.",
2005
+ "name": "test-session-id",
2006
+ "hasDynamicHelp": false,
2007
+ "multiple": false,
2008
+ "type": "option"
2009
+ },
2010
+ "result-id": {
2011
+ "description": "Check result ID or test-session result ID.",
2012
+ "name": "result-id",
2013
+ "required": true,
2014
+ "hasDynamicHelp": false,
2015
+ "multiple": false,
2016
+ "type": "option"
2017
+ },
2018
+ "type": {
2019
+ "description": "Select assets by type.",
2020
+ "name": "type",
2021
+ "hasDynamicHelp": false,
2022
+ "multiple": false,
2023
+ "options": [
2024
+ "log",
2025
+ "trace",
2026
+ "video",
2027
+ "screenshot",
2028
+ "pcap",
2029
+ "report",
2030
+ "file",
2031
+ "all"
2032
+ ],
2033
+ "type": "option"
2034
+ },
2035
+ "asset": {
2036
+ "description": "Select an asset by exact Asset/Name value or glob.",
2037
+ "name": "asset",
2038
+ "hasDynamicHelp": false,
2039
+ "multiple": false,
2040
+ "type": "option"
2041
+ },
2042
+ "dir": {
2043
+ "description": "Directory to write assets into.",
2044
+ "name": "dir",
2045
+ "hasDynamicHelp": false,
2046
+ "multiple": false,
2047
+ "type": "option"
2048
+ },
2049
+ "force": {
2050
+ "description": "Overwrite existing files.",
2051
+ "name": "force",
2052
+ "allowNo": false,
2053
+ "type": "boolean"
2054
+ },
2055
+ "skip-existing": {
2056
+ "description": "Skip files that already exist.",
2057
+ "name": "skip-existing",
2058
+ "allowNo": false,
2059
+ "type": "boolean"
2060
+ },
2061
+ "output": {
2062
+ "char": "o",
2063
+ "description": "Output format.",
2064
+ "name": "output",
2065
+ "default": "table",
2066
+ "hasDynamicHelp": false,
2067
+ "multiple": false,
2068
+ "options": [
2069
+ "table",
2070
+ "json"
2071
+ ],
2072
+ "type": "option"
2073
+ }
2074
+ },
2075
+ "hasDynamicHelp": false,
2076
+ "hidden": false,
2077
+ "hiddenAliases": [],
2078
+ "id": "assets:download",
2079
+ "pluginAlias": "checkly",
2080
+ "pluginName": "checkly",
2081
+ "pluginType": "core",
2082
+ "strict": true,
2083
+ "enableJsonFlag": false,
2084
+ "coreCommand": false,
2085
+ "readOnly": true,
2086
+ "destructive": false,
2087
+ "idempotent": true,
2088
+ "isESM": true,
2089
+ "relativePath": [
2090
+ "dist",
2091
+ "commands",
2092
+ "assets",
2093
+ "download.js"
2094
+ ]
2095
+ },
2096
+ "assets:list": {
2097
+ "aliases": [],
2098
+ "args": {},
2099
+ "description": "List result assets.",
2100
+ "flags": {
2101
+ "check-id": {
2102
+ "description": "Check ID for a scheduled check result.",
2103
+ "name": "check-id",
2104
+ "hasDynamicHelp": false,
2105
+ "multiple": false,
2106
+ "type": "option"
2107
+ },
2108
+ "test-session-id": {
2109
+ "description": "Test session ID for a test-session result.",
2110
+ "name": "test-session-id",
2111
+ "hasDynamicHelp": false,
2112
+ "multiple": false,
2113
+ "type": "option"
2114
+ },
2115
+ "result-id": {
2116
+ "description": "Check result ID or test-session result ID.",
2117
+ "name": "result-id",
2118
+ "required": true,
2119
+ "hasDynamicHelp": false,
2120
+ "multiple": false,
2121
+ "type": "option"
2122
+ },
2123
+ "type": {
2124
+ "description": "Filter assets by type.",
2125
+ "name": "type",
2126
+ "default": "all",
2127
+ "hasDynamicHelp": false,
2128
+ "multiple": false,
2129
+ "options": [
2130
+ "log",
2131
+ "trace",
2132
+ "video",
2133
+ "screenshot",
2134
+ "pcap",
2135
+ "report",
2136
+ "file",
2137
+ "all"
2138
+ ],
2139
+ "type": "option"
2140
+ },
2141
+ "asset": {
2142
+ "description": "Filter assets by exact Asset/Name value or glob.",
2143
+ "name": "asset",
2144
+ "hasDynamicHelp": false,
2145
+ "multiple": false,
2146
+ "type": "option"
2147
+ },
2148
+ "view": {
2149
+ "description": "Human output view. Ignored with --output json.",
2150
+ "name": "view",
2151
+ "default": "table",
2152
+ "hasDynamicHelp": false,
2153
+ "multiple": false,
2154
+ "options": [
2155
+ "table",
2156
+ "tree"
2157
+ ],
2158
+ "type": "option"
2159
+ },
2160
+ "output": {
2161
+ "char": "o",
2162
+ "description": "Output format.",
2163
+ "name": "output",
2164
+ "default": "table",
2165
+ "hasDynamicHelp": false,
2166
+ "multiple": false,
2167
+ "options": [
2168
+ "table",
2169
+ "json",
2170
+ "md"
2171
+ ],
2172
+ "type": "option"
2173
+ }
2174
+ },
2175
+ "hasDynamicHelp": false,
2176
+ "hidden": false,
2177
+ "hiddenAliases": [],
2178
+ "id": "assets:list",
2179
+ "pluginAlias": "checkly",
2180
+ "pluginName": "checkly",
2181
+ "pluginType": "core",
2182
+ "strict": true,
2183
+ "enableJsonFlag": false,
2184
+ "coreCommand": false,
2185
+ "readOnly": true,
2186
+ "destructive": false,
2187
+ "idempotent": true,
2188
+ "isESM": true,
2189
+ "relativePath": [
2190
+ "dist",
2191
+ "commands",
2192
+ "assets",
2193
+ "list.js"
2194
+ ]
2195
+ },
2196
2196
  "debug:parse-file": {
2197
2197
  "aliases": [],
2198
2198
  "args": {},
@@ -4132,5 +4132,5 @@
4132
4132
  ]
4133
4133
  }
4134
4134
  },
4135
- "version": "9.4.0"
4135
+ "version": "9.5.0"
4136
4136
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "checkly",
3
- "version": "9.4.0",
3
+ "version": "9.5.0",
4
4
  "type": "module",
5
5
  "description": "Checkly CLI",
6
6
  "main": "dist/index.js",