@continuous-excellence/ze-great-dashboard-client 0.27.9 → 0.27.11

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.
@@ -1,142 +1,351 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "board-config.schema.json",
4
- "title": "Ze Great Dashboard board configuration",
5
3
  "type": "object",
6
- "required": ["boards"],
7
- "additionalProperties": true,
8
4
  "properties": {
9
- "sources": { "type": "object", "additionalProperties": { "$ref": "#/$defs/source" } },
10
- "boards": {
5
+ "sources": {
6
+ "default": {},
11
7
  "type": "object",
12
- "minProperties": 1,
13
- "additionalProperties": { "$ref": "#/$defs/board" }
14
- },
15
- "auth": { "$ref": "#/$defs/auth" }
16
- },
17
- "$defs": {
18
- "duration": { "type": "string", "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$" },
19
- "position": {
20
- "oneOf": [
21
- {
22
- "type": "object",
23
- "required": ["x", "y", "w", "h"],
24
- "properties": {
25
- "x": { "type": "integer", "minimum": 0 },
26
- "y": { "type": "integer", "minimum": 0 },
27
- "w": { "type": "integer", "minimum": 1, "maximum": 12 },
28
- "h": { "type": "integer", "minimum": 1 }
8
+ "propertyNames": {
9
+ "type": "string",
10
+ "minLength": 1
11
+ },
12
+ "additionalProperties": {
13
+ "type": "object",
14
+ "properties": {
15
+ "type": {
16
+ "type": "string",
17
+ "minLength": 1
29
18
  },
30
- "additionalProperties": true
31
- },
32
- {
33
- "type": "object",
34
- "required": ["x", "y", "w", "h"],
35
- "properties": {
36
- "x": { "const": 0 },
37
- "y": { "const": 0 },
38
- "w": { "const": 0 },
39
- "h": { "const": 0 }
19
+ "token_env": {
20
+ "type": "string",
21
+ "minLength": 1
40
22
  },
41
- "additionalProperties": true
42
- }
43
- ]
44
- },
45
- "panel": {
46
- "type": "object",
47
- "required": ["id", "type"],
48
- "additionalProperties": true,
49
- "properties": {
50
- "id": { "type": "string", "minLength": 1 },
51
- "type": { "type": "string", "minLength": 1 },
52
- "label": { "type": "string", "minLength": 1 },
53
- "source": { "type": "string", "minLength": 1 },
54
- "pipeline": { "oneOf": [{ "type": "string" }, { "type": "number" }] },
55
- "density": { "enum": ["auto", "comfortable", "compact"] },
56
- "position": { "$ref": "#/$defs/position" },
57
- "refresh": { "$ref": "#/$defs/duration" },
58
- "running_refresh": { "$ref": "#/$defs/duration" },
59
- "running_completion_refresh": { "$ref": "#/$defs/duration" },
60
- "running_completion_window": { "$ref": "#/$defs/duration" },
61
- "running_animation": {
62
- "enum": [
63
- "radial",
64
- "runway",
65
- "orbit",
66
- "signal-field",
67
- "telemetry-bloom",
68
- "release-transit",
69
- "status-weather",
70
- "falling-shapes",
71
- "off"
72
- ]
23
+ "github_app": {
24
+ "type": "object",
25
+ "properties": {
26
+ "app_id_env": {
27
+ "type": "string",
28
+ "minLength": 1
29
+ },
30
+ "private_key_env": {
31
+ "type": "string",
32
+ "minLength": 1
33
+ },
34
+ "installation_id_env": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ }
38
+ },
39
+ "required": [
40
+ "app_id_env",
41
+ "private_key_env",
42
+ "installation_id_env"
43
+ ],
44
+ "additionalProperties": false
45
+ }
73
46
  },
74
- "demo_run_duration": { "$ref": "#/$defs/duration" },
75
- "demo_review_duration": { "$ref": "#/$defs/duration" },
76
- "link": { "type": "string", "format": "uri" },
77
- "url": { "type": "string", "format": "uri" },
78
- "json_path": {
79
- "type": "string",
80
- "pattern": "^\\$(?:\\.[A-Za-z_][A-Za-z0-9_]*|\\[\\d+\\])*$"
81
- }
47
+ "required": [
48
+ "type"
49
+ ],
50
+ "additionalProperties": {}
82
51
  }
83
52
  },
84
- "board": {
53
+ "boards": {
85
54
  "type": "object",
86
- "required": ["panels"],
87
- "additionalProperties": true,
88
- "properties": {
89
- "refresh": { "$ref": "#/$defs/duration" },
90
- "running_refresh": { "$ref": "#/$defs/duration" },
91
- "running_completion_refresh": { "$ref": "#/$defs/duration" },
92
- "running_completion_window": { "$ref": "#/$defs/duration" },
93
- "panels": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/panel" } }
55
+ "propertyNames": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "additionalProperties": {
60
+ "type": "object",
61
+ "properties": {
62
+ "refresh": {
63
+ "type": "string",
64
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
65
+ },
66
+ "running_refresh": {
67
+ "type": "string",
68
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
69
+ },
70
+ "running_completion_refresh": {
71
+ "type": "string",
72
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
73
+ },
74
+ "running_completion_window": {
75
+ "type": "string",
76
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
77
+ },
78
+ "panels": {
79
+ "minItems": 1,
80
+ "type": "array",
81
+ "items": {
82
+ "type": "object",
83
+ "properties": {
84
+ "label": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ },
88
+ "id": {
89
+ "type": "string",
90
+ "minLength": 1
91
+ },
92
+ "type": {
93
+ "type": "string",
94
+ "minLength": 1
95
+ },
96
+ "source": {
97
+ "type": "string",
98
+ "minLength": 1
99
+ },
100
+ "pipeline": {
101
+ "type": [
102
+ "string",
103
+ "number"
104
+ ]
105
+ },
106
+ "branch": {
107
+ "type": "string",
108
+ "minLength": 1
109
+ },
110
+ "density": {
111
+ "type": "string",
112
+ "enum": [
113
+ "auto",
114
+ "comfortable",
115
+ "compact"
116
+ ]
117
+ },
118
+ "position": {
119
+ "anyOf": [
120
+ {
121
+ "type": "object",
122
+ "properties": {
123
+ "x": {
124
+ "type": "integer",
125
+ "minimum": 0,
126
+ "maximum": 9007199254740991
127
+ },
128
+ "y": {
129
+ "type": "integer",
130
+ "minimum": 0,
131
+ "maximum": 9007199254740991
132
+ },
133
+ "w": {
134
+ "type": "integer",
135
+ "minimum": 1,
136
+ "maximum": 12
137
+ },
138
+ "h": {
139
+ "type": "integer",
140
+ "minimum": 1,
141
+ "maximum": 9007199254740991
142
+ }
143
+ },
144
+ "required": [
145
+ "x",
146
+ "y",
147
+ "w",
148
+ "h"
149
+ ],
150
+ "additionalProperties": false
151
+ },
152
+ {
153
+ "type": "object",
154
+ "properties": {
155
+ "x": {
156
+ "type": "number",
157
+ "const": 0
158
+ },
159
+ "y": {
160
+ "type": "number",
161
+ "const": 0
162
+ },
163
+ "w": {
164
+ "type": "number",
165
+ "const": 0
166
+ },
167
+ "h": {
168
+ "type": "number",
169
+ "const": 0
170
+ }
171
+ },
172
+ "required": [
173
+ "x",
174
+ "y",
175
+ "w",
176
+ "h"
177
+ ],
178
+ "additionalProperties": false
179
+ }
180
+ ]
181
+ },
182
+ "refresh": {
183
+ "type": "string",
184
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
185
+ },
186
+ "running_refresh": {
187
+ "type": "string",
188
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
189
+ },
190
+ "running_completion_refresh": {
191
+ "type": "string",
192
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
193
+ },
194
+ "running_completion_window": {
195
+ "type": "string",
196
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
197
+ },
198
+ "running_animation": {
199
+ "type": "string",
200
+ "enum": [
201
+ "radial",
202
+ "runway",
203
+ "orbit",
204
+ "signal-field",
205
+ "telemetry-bloom",
206
+ "release-transit",
207
+ "status-weather",
208
+ "falling-shapes",
209
+ "snowman",
210
+ "off"
211
+ ]
212
+ },
213
+ "demo_run_duration": {
214
+ "type": "string",
215
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
216
+ },
217
+ "demo_review_duration": {
218
+ "type": "string",
219
+ "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$"
220
+ },
221
+ "link": {
222
+ "type": "string",
223
+ "format": "uri"
224
+ },
225
+ "url": {
226
+ "type": "string",
227
+ "format": "uri"
228
+ },
229
+ "json_path": {
230
+ "type": "string",
231
+ "pattern": "^\\$(?:\\.[A-Za-z_][A-Za-z0-9_]*|\\[\\d+\\])*$"
232
+ },
233
+ "facts": {
234
+ "minItems": 1,
235
+ "maxItems": 4,
236
+ "type": "array",
237
+ "items": {
238
+ "type": "object",
239
+ "properties": {
240
+ "id": {
241
+ "type": "string",
242
+ "minLength": 1
243
+ },
244
+ "label": {
245
+ "type": "string",
246
+ "minLength": 1
247
+ },
248
+ "url": {
249
+ "type": "string",
250
+ "format": "uri"
251
+ },
252
+ "json_path": {
253
+ "type": "string",
254
+ "pattern": "^\\$(?:\\.[A-Za-z_][A-Za-z0-9_]*|\\[\\d+\\])*$"
255
+ }
256
+ },
257
+ "required": [
258
+ "id",
259
+ "label",
260
+ "url"
261
+ ],
262
+ "additionalProperties": false
263
+ }
264
+ }
265
+ },
266
+ "required": [
267
+ "id",
268
+ "type"
269
+ ],
270
+ "additionalProperties": {}
271
+ }
272
+ }
273
+ },
274
+ "required": [
275
+ "panels"
276
+ ],
277
+ "additionalProperties": false
94
278
  }
95
279
  },
96
- "source": {
280
+ "auth": {
97
281
  "type": "object",
98
- "required": ["type"],
99
- "additionalProperties": true,
100
282
  "properties": {
101
- "type": { "type": "string", "minLength": 1 },
102
- "project": {
283
+ "issuer": {
103
284
  "type": "string",
104
- "pattern": "^[^/\\s]+(?:/[^/\\s]+)+$",
105
- "description": "GitLab namespace/project path, including nested groups"
285
+ "format": "uri"
106
286
  },
107
- "branch": { "type": "string", "minLength": 1 },
108
- "url": {
287
+ "client_id": {
109
288
  "type": "string",
110
- "format": "uri",
111
- "description": "HTTPS GitLab instance base URL, optionally with a path prefix"
289
+ "minLength": 1
112
290
  },
113
- "token_env": { "type": "string", "minLength": 1 },
114
- "entra_token_file_env": { "type": "string", "minLength": 1 },
115
- "github_app": {
116
- "type": "object",
117
- "required": ["app_id_env", "private_key_env", "installation_id_env"],
118
- "properties": {
119
- "app_id_env": { "type": "string", "minLength": 1 },
120
- "private_key_env": { "type": "string", "minLength": 1 },
121
- "installation_id_env": { "type": "string", "minLength": 1 }
122
- }
123
- }
124
- }
125
- },
126
- "auth": {
127
- "type": "object",
128
- "required": ["issuer"],
129
- "properties": {
130
- "issuer": { "type": "string", "format": "uri" },
131
- "client_id": { "type": "string", "minLength": 1 },
132
291
  "allow": {
133
292
  "type": "object",
134
293
  "properties": {
135
- "groups": { "type": "array", "items": { "type": "string", "minLength": 1 } },
136
- "subjects": { "type": "array", "items": { "type": "string", "minLength": 1 } }
137
- }
294
+ "groups": {
295
+ "type": "array",
296
+ "items": {
297
+ "type": "string",
298
+ "minLength": 1
299
+ }
300
+ },
301
+ "subjects": {
302
+ "type": "array",
303
+ "items": {
304
+ "type": "string",
305
+ "minLength": 1
306
+ }
307
+ }
308
+ },
309
+ "additionalProperties": false
138
310
  }
139
- }
311
+ },
312
+ "required": [
313
+ "issuer"
314
+ ],
315
+ "additionalProperties": false
316
+ }
317
+ },
318
+ "required": [
319
+ "sources",
320
+ "boards"
321
+ ],
322
+ "additionalProperties": false,
323
+ "$id": "board-config.schema.json",
324
+ "title": "Ze Great Dashboard board configuration",
325
+ "x-dashboard-runtime-rules": [
326
+ {
327
+ "category": "yaml-modeline-and-schema-version",
328
+ "description": "YAML parsing and a first-line modeline that names the selected release schema."
329
+ },
330
+ {
331
+ "category": "unique-panel-and-fact-ids",
332
+ "description": "Panel IDs are unique within a board and fact IDs are unique within a panel."
333
+ },
334
+ {
335
+ "category": "cross-field-configuration",
336
+ "description": "Mutually exclusive and paired fields, including grouped HTTP value fields and credential modes."
337
+ },
338
+ {
339
+ "category": "panel-source-relationships",
340
+ "description": "Panel/source compatibility and source-specific requirements."
341
+ },
342
+ {
343
+ "category": "panel-admission-and-bounded-adapter-operations",
344
+ "description": "Supported panel admission and the proxy operations each adapter is permitted to perform."
345
+ },
346
+ {
347
+ "category": "environment-and-external-availability",
348
+ "description": "Environment-selected boards, credential resolution, and availability of external services."
140
349
  }
141
- }
350
+ ]
142
351
  }
package/client/index.html CHANGED
@@ -11,7 +11,7 @@
11
11
  <title>Trust Dashboard</title>
12
12
 
13
13
  <script type="importmap">{"imports":{"react":"https://esm.sh/react@19.3.0","react/":"https://esm.sh/react@19.3.0/","react-dom":"https://esm.sh/react-dom@19.3.0","react-dom/":"https://esm.sh/react-dom@19.3.0/","scheduler":"https://esm.sh/scheduler@0.28.0","scheduler/":"https://esm.sh/scheduler@0.28.0/","zod":"https://esm.sh/zod@4.6.0","zod/":"https://esm.sh/zod@4.6.0/"}}</script>
14
- <script type="module" crossorigin src="/__ASSET_PATH__/assets/index-YLTkVv3A.js"></script>
14
+ <script type="module" crossorigin src="/__ASSET_PATH__/assets/index-B-lB-qqG.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/__ASSET_PATH__/assets/index-Ce6bhuyS.css">
16
16
  </head>
17
17
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@continuous-excellence/ze-great-dashboard-client",
3
- "version": "0.27.9",
3
+ "version": "0.27.11",
4
4
  "type": "module",
5
5
  "description": "Immutable browser assets for Ze Great Dashboard.",
6
6
  "repository": {