@continuous-excellence/ze-great-dashboard-aws 0.28.4 → 0.29.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.
package/dist/cli.js CHANGED
@@ -73,6 +73,8 @@ var positionSchema = z2.union([
73
73
  ]);
74
74
  var panelDensities = ["auto", "comfortable", "compact"];
75
75
  var panelDensitySchema = z2.enum(panelDensities);
76
+ var attentionTreatments = ["beacon", "alarm", "steady"];
77
+ var attentionTreatmentSchema = z2.enum(attentionTreatments);
76
78
  var httpValueJsonPathSchema = z2.string().regex(/^\$(?:\.[A-Za-z_][A-Za-z0-9_]*|\[\d+\])*$/, "must be a simple JSON path");
77
79
  var httpValueFactSchema = z2.object({
78
80
  /** Stable address below the panel; labels and ordering may change without repointing it. */
@@ -118,6 +120,8 @@ var panelSchema = z2.looseObject({
118
120
  branch: z2.string().min(1).optional(),
119
121
  /** Content-density bias; position still controls the panel's explicit grid placement. */
120
122
  density: panelDensitySchema.optional(),
123
+ /** Opt in to the board's presentation-only attention cue when this reading is unhealthy. */
124
+ attention: z2.literal(true).optional(),
121
125
  /** Advisory in v1 — a panel without a position renders in config order rather than not at all. */
122
126
  position: positionSchema.optional(),
123
127
  refresh: durationSchema.optional(),
@@ -287,6 +291,8 @@ var boardSchema = z2.object({
287
291
  running_refresh: durationSchema.optional(),
288
292
  running_completion_refresh: durationSchema.optional(),
289
293
  running_completion_window: durationSchema.optional(),
294
+ /** One board-wide treatment keeps simultaneous important failures unambiguous. */
295
+ attention: z2.object({ treatment: attentionTreatmentSchema }).optional(),
290
296
  panels: z2.array(panelSchema).min(1).superRefine((panels, ctx) => {
291
297
  const seen = /* @__PURE__ */ new Map();
292
298
  panels.forEach((panel, index) => {
@@ -303,6 +309,14 @@ var boardSchema = z2.object({
303
309
  });
304
310
  });
305
311
  })
312
+ }).superRefine((board, ctx) => {
313
+ if (board.panels.some((panel) => panel.attention) && !board.attention)
314
+ ctx.addIssue({
315
+ code: "custom",
316
+ path: ["attention"],
317
+ message: "configure attention.treatment when one or more panels opt into attention",
318
+ params: { constraint: "Important panels require one board attention treatment." }
319
+ });
306
320
  });
307
321
  var authSchema = z2.strictObject({
308
322
  issuer: z2.url(),
package/dist/index.js CHANGED
@@ -754,6 +754,8 @@ var positionSchema = z2.union([
754
754
  ]);
755
755
  var panelDensities = ["auto", "comfortable", "compact"];
756
756
  var panelDensitySchema = z2.enum(panelDensities);
757
+ var attentionTreatments = ["beacon", "alarm", "steady"];
758
+ var attentionTreatmentSchema = z2.enum(attentionTreatments);
757
759
  var httpValueJsonPathSchema = z2.string().regex(/^\$(?:\.[A-Za-z_][A-Za-z0-9_]*|\[\d+\])*$/, "must be a simple JSON path");
758
760
  var httpValueFactSchema = z2.object({
759
761
  /** Stable address below the panel; labels and ordering may change without repointing it. */
@@ -799,6 +801,8 @@ var panelSchema = z2.looseObject({
799
801
  branch: z2.string().min(1).optional(),
800
802
  /** Content-density bias; position still controls the panel's explicit grid placement. */
801
803
  density: panelDensitySchema.optional(),
804
+ /** Opt in to the board's presentation-only attention cue when this reading is unhealthy. */
805
+ attention: z2.literal(true).optional(),
802
806
  /** Advisory in v1 — a panel without a position renders in config order rather than not at all. */
803
807
  position: positionSchema.optional(),
804
808
  refresh: durationSchema.optional(),
@@ -968,6 +972,8 @@ var boardSchema = z2.object({
968
972
  running_refresh: durationSchema.optional(),
969
973
  running_completion_refresh: durationSchema.optional(),
970
974
  running_completion_window: durationSchema.optional(),
975
+ /** One board-wide treatment keeps simultaneous important failures unambiguous. */
976
+ attention: z2.object({ treatment: attentionTreatmentSchema }).optional(),
971
977
  panels: z2.array(panelSchema).min(1).superRefine((panels, ctx) => {
972
978
  const seen = /* @__PURE__ */ new Map();
973
979
  panels.forEach((panel, index) => {
@@ -984,6 +990,14 @@ var boardSchema = z2.object({
984
990
  });
985
991
  });
986
992
  })
993
+ }).superRefine((board, ctx) => {
994
+ if (board.panels.some((panel) => panel.attention) && !board.attention)
995
+ ctx.addIssue({
996
+ code: "custom",
997
+ path: ["attention"],
998
+ message: "configure attention.treatment when one or more panels opt into attention",
999
+ params: { constraint: "Important panels require one board attention treatment." }
1000
+ });
987
1001
  });
988
1002
  var authSchema = z2.strictObject({
989
1003
  issuer: z2.url(),
package/dist/lambda.mjs CHANGED
@@ -69110,6 +69110,8 @@ var positionSchema = external_exports.union([
69110
69110
  ]);
69111
69111
  var panelDensities = ["auto", "comfortable", "compact"];
69112
69112
  var panelDensitySchema = external_exports.enum(panelDensities);
69113
+ var attentionTreatments = ["beacon", "alarm", "steady"];
69114
+ var attentionTreatmentSchema = external_exports.enum(attentionTreatments);
69113
69115
  var httpValueJsonPathSchema = external_exports.string().regex(/^\$(?:\.[A-Za-z_][A-Za-z0-9_]*|\[\d+\])*$/, "must be a simple JSON path");
69114
69116
  var httpValueFactSchema = external_exports.object({
69115
69117
  /** Stable address below the panel; labels and ordering may change without repointing it. */
@@ -69155,6 +69157,8 @@ var panelSchema = external_exports.looseObject({
69155
69157
  branch: external_exports.string().min(1).optional(),
69156
69158
  /** Content-density bias; position still controls the panel's explicit grid placement. */
69157
69159
  density: panelDensitySchema.optional(),
69160
+ /** Opt in to the board's presentation-only attention cue when this reading is unhealthy. */
69161
+ attention: external_exports.literal(true).optional(),
69158
69162
  /** Advisory in v1 — a panel without a position renders in config order rather than not at all. */
69159
69163
  position: positionSchema.optional(),
69160
69164
  refresh: durationSchema.optional(),
@@ -69324,6 +69328,8 @@ var boardSchema = external_exports.object({
69324
69328
  running_refresh: durationSchema.optional(),
69325
69329
  running_completion_refresh: durationSchema.optional(),
69326
69330
  running_completion_window: durationSchema.optional(),
69331
+ /** One board-wide treatment keeps simultaneous important failures unambiguous. */
69332
+ attention: external_exports.object({ treatment: attentionTreatmentSchema }).optional(),
69327
69333
  panels: external_exports.array(panelSchema).min(1).superRefine((panels, ctx) => {
69328
69334
  const seen = /* @__PURE__ */ new Map();
69329
69335
  panels.forEach((panel, index) => {
@@ -69340,6 +69346,14 @@ var boardSchema = external_exports.object({
69340
69346
  });
69341
69347
  });
69342
69348
  })
69349
+ }).superRefine((board, ctx) => {
69350
+ if (board.panels.some((panel) => panel.attention) && !board.attention)
69351
+ ctx.addIssue({
69352
+ code: "custom",
69353
+ path: ["attention"],
69354
+ message: "configure attention.treatment when one or more panels opt into attention",
69355
+ params: { constraint: "Important panels require one board attention treatment." }
69356
+ });
69343
69357
  });
69344
69358
  var authSchema = external_exports.strictObject({
69345
69359
  issuer: external_exports.url(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@continuous-excellence/ze-great-dashboard-aws",
3
- "version": "0.28.4",
3
+ "version": "0.29.0",
4
4
  "type": "module",
5
5
  "description": "AWS server runtime and CloudFormation deployment tooling for Ze Great Dashboard.",
6
6
  "keywords": [