@companion-module/host 1.0.3 → 1.1.1
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/CHANGELOG.md +29 -0
- package/dist/context.d.ts +10 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/instance.d.ts +32 -7
- package/dist/instance.d.ts.map +1 -1
- package/dist/instance.js +53 -12
- package/dist/instance.js.map +1 -1
- package/dist/internal/actions.d.ts +5 -4
- package/dist/internal/actions.d.ts.map +1 -1
- package/dist/internal/actions.js +72 -20
- package/dist/internal/actions.js.map +1 -1
- package/dist/internal/composite-elements.d.ts +3 -0
- package/dist/internal/composite-elements.d.ts.map +1 -0
- package/dist/internal/composite-elements.js +44 -0
- package/dist/internal/composite-elements.js.map +1 -0
- package/dist/internal/feedback.d.ts +4 -3
- package/dist/internal/feedback.d.ts.map +1 -1
- package/dist/internal/feedback.js +102 -19
- package/dist/internal/feedback.js.map +1 -1
- package/dist/internal/presets.d.ts +4 -1
- package/dist/internal/presets.d.ts.map +1 -1
- package/dist/internal/presets.js +344 -57
- package/dist/internal/presets.js.map +1 -1
- package/dist/internal/upgrade.d.ts +1 -1
- package/dist/internal/upgrade.d.ts.map +1 -1
- package/dist/internal/upgrade.js +4 -1
- package/dist/internal/upgrade.js.map +1 -1
- package/dist/internal/util.d.ts +13 -1
- package/dist/internal/util.d.ts.map +1 -1
- package/dist/internal/util.js +24 -0
- package/dist/internal/util.js.map +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/schema/common.d.ts +11 -0
- package/dist/schema/common.d.ts.map +1 -0
- package/dist/schema/common.js +13 -0
- package/dist/schema/common.js.map +1 -0
- package/dist/schema/elements.d.ts +4 -0
- package/dist/schema/elements.d.ts.map +1 -0
- package/dist/schema/elements.js +170 -0
- package/dist/schema/elements.js.map +1 -0
- package/dist/schema/options.d.ts +116 -0
- package/dist/schema/options.d.ts.map +1 -0
- package/dist/schema/options.js +92 -0
- package/dist/schema/options.js.map +1 -0
- package/package.json +6 -4
package/dist/internal/presets.js
CHANGED
|
@@ -1,83 +1,341 @@
|
|
|
1
|
-
import
|
|
1
|
+
import semver from 'semver';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { createModuleLogger, INTERNAL_PRESET_MIN_API_VERSION, } from '@companion-module/base';
|
|
4
|
+
import { elementSchema } from '../schema/elements.js';
|
|
2
5
|
import { BANNED_PROPS } from './util.js';
|
|
3
6
|
const logger = createModuleLogger('PresetDefinitionsManager');
|
|
4
|
-
|
|
7
|
+
/** Guard against pathological nesting when recursing into building-block child groups */
|
|
8
|
+
const MAX_PRESET_NESTING_DEPTH = 10;
|
|
9
|
+
/** Whether an action/feedback id references one of Companion's built-in internal definitions */
|
|
10
|
+
function isInternalId(id) {
|
|
11
|
+
return typeof id === 'string' && id.startsWith('internal:');
|
|
12
|
+
}
|
|
13
|
+
/** Collect all element IDs declared in a layered elements tree, recursing into group children */
|
|
14
|
+
function collectElementIds(elements) {
|
|
15
|
+
const ids = new Set();
|
|
16
|
+
for (const el of elements) {
|
|
17
|
+
if (el && typeof el === 'object') {
|
|
18
|
+
const elem = el;
|
|
19
|
+
if (typeof elem.id === 'string')
|
|
20
|
+
ids.add(elem.id);
|
|
21
|
+
if (Array.isArray(elem.children)) {
|
|
22
|
+
for (const id of collectElementIds(elem.children))
|
|
23
|
+
ids.add(id);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return ids;
|
|
28
|
+
}
|
|
29
|
+
export function sanitisePresetDefinitions(actionsManager, feedbacksManager, structure, presets, moduleApiVersion) {
|
|
30
|
+
const result = {
|
|
31
|
+
structure: [],
|
|
32
|
+
presets: {},
|
|
33
|
+
};
|
|
5
34
|
const validActionIds = new Set(actionsManager.getDefinitionIds());
|
|
6
35
|
const validFeedbackIds = new Set(feedbacksManager.getDefinitionIds());
|
|
36
|
+
const validModuleApiVersion = semver.valid(moduleApiVersion, { loose: true });
|
|
37
|
+
/**
|
|
38
|
+
* Whether the module is allowed to reference the given internal action/feedback id.
|
|
39
|
+
* Unknown internal ids, or ids the module is too old to use, are not allowed and will be dropped.
|
|
40
|
+
*/
|
|
41
|
+
function isInternalIdAllowed(id) {
|
|
42
|
+
const minApiVersion = INTERNAL_PRESET_MIN_API_VERSION[id];
|
|
43
|
+
if (!minApiVersion)
|
|
44
|
+
return false;
|
|
45
|
+
if (!validModuleApiVersion)
|
|
46
|
+
return false;
|
|
47
|
+
return semver.gte(validModuleApiVersion, minApiVersion, { loose: true });
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Drop any `internal:*` action/feedback entries the module is not allowed to use (unknown ids, or
|
|
51
|
+
* ids the module is too old for). Allowed internal entries and all module-own entries are kept as-is,
|
|
52
|
+
* recursing into the child groups of building-block entries. Returns new feedbacks/steps arrays, and
|
|
53
|
+
* whether anything was dropped.
|
|
54
|
+
*/
|
|
55
|
+
function dropDisallowedInternalEntries(preset) {
|
|
56
|
+
let dropped = false;
|
|
57
|
+
const keep = (id) => {
|
|
58
|
+
if (!isInternalId(id))
|
|
59
|
+
return true;
|
|
60
|
+
if (isInternalIdAllowed(id))
|
|
61
|
+
return true;
|
|
62
|
+
dropped = true;
|
|
63
|
+
return false;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Recursively filter an array of action/feedback/condition entries: drop disallowed internal
|
|
67
|
+
* entries, and filter the child groups of any building-block entry that remains.
|
|
68
|
+
*/
|
|
69
|
+
const filterEntries = (entries, depth) => {
|
|
70
|
+
if (!Array.isArray(entries))
|
|
71
|
+
return entries;
|
|
72
|
+
if (depth > MAX_PRESET_NESTING_DEPTH)
|
|
73
|
+
return entries;
|
|
74
|
+
const out = [];
|
|
75
|
+
for (const entry of entries) {
|
|
76
|
+
if (!keep(entry?.actionId ?? entry?.feedbackId))
|
|
77
|
+
continue;
|
|
78
|
+
if (entry && entry.children && typeof entry.children === 'object') {
|
|
79
|
+
const children = {};
|
|
80
|
+
for (const [groupId, childEntries] of Object.entries(entry.children)) {
|
|
81
|
+
children[groupId] = filterEntries(childEntries, depth + 1);
|
|
82
|
+
}
|
|
83
|
+
out.push({ ...entry, children });
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
out.push(entry);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return out;
|
|
90
|
+
};
|
|
91
|
+
// `feedbacks` is `preset.feedbacks` with disallowed internal entries dropped. `filterEntries` is
|
|
92
|
+
// generic over the entry type and only removes or recurses into entries — never changing an entry's
|
|
93
|
+
// kind — so it returns `preset.feedbacks`'s own type directly, no cast needed.
|
|
94
|
+
const feedbacks = filterEntries(preset.feedbacks, 0);
|
|
95
|
+
// `steps` is `preset.steps` rebuilt with each action-set (`down`/`up`/...) and numbered delay-group
|
|
96
|
+
// filtered the same way. Unlike `feedbacks`, the step object is rebuilt as a loose record rather than
|
|
97
|
+
// threaded through `filterEntries`, so the cast back to the source type is needed here — tied to the
|
|
98
|
+
// `preset.steps` it reconstructs.
|
|
99
|
+
const steps = (Array.isArray(preset.steps)
|
|
100
|
+
? preset.steps.map((step) => {
|
|
101
|
+
const out = {};
|
|
102
|
+
for (const [key, value] of Object.entries(step)) {
|
|
103
|
+
if (key === 'down' || key === 'up' || key === 'rotate_left' || key === 'rotate_right') {
|
|
104
|
+
out[key] = filterEntries(value, 0);
|
|
105
|
+
}
|
|
106
|
+
else if (/^\d+$/.test(key)) {
|
|
107
|
+
const group = value;
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
out[key] = filterEntries(value, 0);
|
|
110
|
+
}
|
|
111
|
+
else if (group && Array.isArray(group.actions)) {
|
|
112
|
+
out[key] = { ...group, actions: filterEntries(group.actions, 0) };
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
out[key] = value;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
out[key] = value;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return out;
|
|
123
|
+
})
|
|
124
|
+
: preset.steps);
|
|
125
|
+
return { feedbacks, steps, dropped };
|
|
126
|
+
}
|
|
7
127
|
const presetsWithInvalidActionIds = [];
|
|
8
128
|
const presetsWithInvalidFeedbackIds = [];
|
|
129
|
+
const presetsWithInvalidActionOptionKeys = [];
|
|
130
|
+
const presetsWithInvalidFeedbackOptionKeys = [];
|
|
131
|
+
const presetsWithInvalidElements = [];
|
|
132
|
+
const presetsWithInvalidStyleOverrideRefs = [];
|
|
133
|
+
const presetsWithDisallowedInternalIds = [];
|
|
9
134
|
const presetsFailedValidation = [];
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
continue;
|
|
135
|
+
/**
|
|
136
|
+
* Validate and sanitise a single `simple`/`layered` preset definition. Returns the sanitised preset,
|
|
137
|
+
* or `null` if it could not be validated (any failure is recorded in the warning collections above).
|
|
138
|
+
* Entries with an unrecognised `type` (the data is untrusted at runtime) are silently skipped (`null`).
|
|
139
|
+
*/
|
|
140
|
+
function sanitiseOnePreset(preset) {
|
|
141
|
+
if (preset.type !== 'simple' && preset.type !== 'layered')
|
|
142
|
+
return null;
|
|
19
143
|
const presetName = typeof preset.name === 'string' ? preset.name : 'Unknown';
|
|
20
144
|
try {
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
145
|
+
// --- Structural validation ---
|
|
146
|
+
if (!Array.isArray(preset.steps)) {
|
|
147
|
+
presetsFailedValidation.push(presetName);
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
if (!Array.isArray(preset.feedbacks)) {
|
|
151
|
+
presetsFailedValidation.push(presetName);
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
if (preset.type === 'simple' && (!preset.style || typeof preset.style !== 'object')) {
|
|
155
|
+
presetsFailedValidation.push(presetName);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
let sanitisedPreset = preset;
|
|
159
|
+
// --- layered-specific validation ---
|
|
160
|
+
if (preset.type === 'layered') {
|
|
161
|
+
if (!Array.isArray(preset.elements)) {
|
|
162
|
+
presetsFailedValidation.push(presetName);
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
const elemParsed = z.array(elementSchema).safeParse(preset.elements);
|
|
166
|
+
if (!elemParsed.success) {
|
|
167
|
+
presetsWithInvalidElements.push(presetName);
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
// `elemParsed.data` is the zod-validated element tree; the schema's inferred type does not line
|
|
171
|
+
// up with the manifest-driven element type, so cast just that property back to the preset's
|
|
172
|
+
// element shape (the rest of the object keeps its precise type).
|
|
173
|
+
sanitisedPreset = { ...preset, elements: elemParsed.data };
|
|
174
|
+
// Validate that style override element IDs reference declared elements
|
|
175
|
+
const elementIds = collectElementIds(elemParsed.data);
|
|
176
|
+
let hasInvalidRef = false;
|
|
177
|
+
outerFeedback: for (const feedback of preset.feedbacks) {
|
|
178
|
+
if (!Array.isArray(feedback?.styleOverrides))
|
|
179
|
+
continue;
|
|
180
|
+
for (const override of feedback.styleOverrides) {
|
|
181
|
+
if (typeof override?.elementId === 'string' && !elementIds.has(override.elementId)) {
|
|
182
|
+
hasInvalidRef = true;
|
|
183
|
+
break outerFeedback;
|
|
184
|
+
}
|
|
28
185
|
}
|
|
29
186
|
}
|
|
187
|
+
if (hasInvalidRef)
|
|
188
|
+
presetsWithInvalidStyleOverrideRefs.push(presetName);
|
|
30
189
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
190
|
+
// --- Drop internal:* entries the module is not allowed to reference ---
|
|
191
|
+
const internalFiltered = dropDisallowedInternalEntries(sanitisedPreset);
|
|
192
|
+
sanitisedPreset = {
|
|
193
|
+
...sanitisedPreset,
|
|
194
|
+
feedbacks: internalFiltered.feedbacks,
|
|
195
|
+
steps: internalFiltered.steps,
|
|
196
|
+
};
|
|
197
|
+
if (internalFiltered.dropped)
|
|
198
|
+
presetsWithDisallowedInternalIds.push(presetName);
|
|
199
|
+
// --- Validate feedback/action IDs and option keys, recursing into building-block children ---
|
|
200
|
+
let hasInvalidFeedback = false;
|
|
201
|
+
let hasInvalidFeedbackOptionKeys = false;
|
|
34
202
|
let hasInvalidAction = false;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
203
|
+
let hasInvalidActionOptionKeys = false;
|
|
204
|
+
const hasUnknownOptionKeys = (def, options) => {
|
|
205
|
+
if (!def || !options || typeof options !== 'object')
|
|
206
|
+
return false;
|
|
207
|
+
const validKeys = new Set(def.options.map((f) => f.id));
|
|
208
|
+
for (const key of Object.keys(options)) {
|
|
209
|
+
if (!validKeys.has(key))
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
};
|
|
214
|
+
const validateFeedbackEntry = (feedback, depth) => {
|
|
215
|
+
const feedbackId = feedback?.feedbackId;
|
|
216
|
+
// internal references are handled by the filtering above, not validated here
|
|
217
|
+
if (!isInternalId(feedbackId)) {
|
|
218
|
+
if (typeof feedbackId !== 'string' || !validFeedbackIds.has(feedbackId)) {
|
|
219
|
+
hasInvalidFeedback = true;
|
|
220
|
+
}
|
|
221
|
+
else if (hasUnknownOptionKeys(feedbacksManager.getDefinition(feedbackId), feedback?.options)) {
|
|
222
|
+
hasInvalidFeedbackOptionKeys = true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
validateChildren(feedback, depth);
|
|
226
|
+
};
|
|
227
|
+
const validateActionEntry = (action, depth) => {
|
|
228
|
+
const actionId = action?.actionId;
|
|
229
|
+
// internal references are handled by the filtering above, not validated here
|
|
230
|
+
if (!isInternalId(actionId)) {
|
|
231
|
+
if (typeof actionId !== 'string' || !validActionIds.has(actionId)) {
|
|
232
|
+
hasInvalidAction = true;
|
|
53
233
|
}
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
234
|
+
else if (hasUnknownOptionKeys(actionsManager.getDefinition(actionId), action?.options)) {
|
|
235
|
+
hasInvalidActionOptionKeys = true;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
validateChildren(action, depth);
|
|
239
|
+
};
|
|
240
|
+
/** Validate the child groups of a building-block entry, dispatching each child by its shape */
|
|
241
|
+
const validateChildren = (entry, depth) => {
|
|
242
|
+
if (depth > MAX_PRESET_NESTING_DEPTH)
|
|
243
|
+
return;
|
|
244
|
+
if (!entry || !entry.children || typeof entry.children !== 'object')
|
|
245
|
+
return;
|
|
246
|
+
for (const childEntries of Object.values(entry.children)) {
|
|
247
|
+
if (!Array.isArray(childEntries))
|
|
248
|
+
continue;
|
|
249
|
+
for (const child of childEntries) {
|
|
250
|
+
// Child groups hold feedbacks (eg condition groups) or actions; dispatch by shape
|
|
251
|
+
const childView = child;
|
|
252
|
+
if (childView && typeof childView === 'object' && 'feedbackId' in childView) {
|
|
253
|
+
validateFeedbackEntry(childView, depth + 1);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
validateActionEntry(childView, depth + 1);
|
|
70
257
|
}
|
|
71
258
|
}
|
|
72
259
|
}
|
|
260
|
+
};
|
|
261
|
+
// Validate the sanitised preset, so the children of dropped internal entries are not validated
|
|
262
|
+
for (const feedback of sanitisedPreset.feedbacks) {
|
|
263
|
+
validateFeedbackEntry(feedback, 0);
|
|
73
264
|
}
|
|
265
|
+
for (const step of sanitisedPreset.steps) {
|
|
266
|
+
if (!step || typeof step !== 'object')
|
|
267
|
+
continue;
|
|
268
|
+
for (const [key, value] of Object.entries(step)) {
|
|
269
|
+
let actions;
|
|
270
|
+
if (key === 'down' || key === 'up' || key === 'rotate_left' || key === 'rotate_right') {
|
|
271
|
+
actions = value;
|
|
272
|
+
}
|
|
273
|
+
else if (/^\d+$/.test(key)) {
|
|
274
|
+
// Numbered delay-group properties
|
|
275
|
+
actions = Array.isArray(value) ? value : value?.actions;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (!Array.isArray(actions))
|
|
281
|
+
continue;
|
|
282
|
+
for (const action of actions) {
|
|
283
|
+
validateActionEntry(action, 0);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
if (hasInvalidFeedback)
|
|
288
|
+
presetsWithInvalidFeedbackIds.push(presetName);
|
|
289
|
+
if (hasInvalidFeedbackOptionKeys)
|
|
290
|
+
presetsWithInvalidFeedbackOptionKeys.push(presetName);
|
|
74
291
|
if (hasInvalidAction)
|
|
75
292
|
presetsWithInvalidActionIds.push(presetName);
|
|
293
|
+
if (hasInvalidActionOptionKeys)
|
|
294
|
+
presetsWithInvalidActionOptionKeys.push(presetName);
|
|
295
|
+
return sanitisedPreset;
|
|
76
296
|
}
|
|
77
297
|
catch (_e) {
|
|
78
298
|
presetsFailedValidation.push(presetName);
|
|
299
|
+
return null;
|
|
79
300
|
}
|
|
80
301
|
}
|
|
302
|
+
for (const [_id, preset] of Object.entries(presets)) {
|
|
303
|
+
if (!preset)
|
|
304
|
+
continue;
|
|
305
|
+
if (BANNED_PROPS.has(_id)) {
|
|
306
|
+
presetsFailedValidation.push('name' in preset && typeof preset.name === 'string' ? preset.name : _id);
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
// An `alternatives` entry groups several variants of the same logical preset. Validate each
|
|
310
|
+
// variant independently, dropping only the individually-invalid ones (the host application
|
|
311
|
+
// decides which surviving variant to surface). The group is dropped only if none survive.
|
|
312
|
+
if (preset.type === 'alternatives') {
|
|
313
|
+
if (!Array.isArray(preset.variants)) {
|
|
314
|
+
presetsFailedValidation.push(_id);
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
const sanitisedVariants = [];
|
|
318
|
+
for (const variant of preset.variants) {
|
|
319
|
+
if (!variant)
|
|
320
|
+
continue;
|
|
321
|
+
const sanitisedVariant = sanitiseOnePreset(variant);
|
|
322
|
+
if (sanitisedVariant)
|
|
323
|
+
sanitisedVariants.push(sanitisedVariant);
|
|
324
|
+
}
|
|
325
|
+
if (sanitisedVariants.length > 0) {
|
|
326
|
+
result.presets[_id] = { ...preset, variants: sanitisedVariants };
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
// An empty (or entirely-dropped) group would otherwise vanish with no feedback; surface it the
|
|
330
|
+
// same as a malformed non-array group so the author knows why the preset disappeared.
|
|
331
|
+
presetsFailedValidation.push(_id);
|
|
332
|
+
}
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
const sanitisedPreset = sanitiseOnePreset(preset);
|
|
336
|
+
if (sanitisedPreset)
|
|
337
|
+
result.presets[_id] = sanitisedPreset;
|
|
338
|
+
}
|
|
81
339
|
if (presetsFailedValidation.length > 0) {
|
|
82
340
|
logger.warn(`The following preset definitions have errors and could not be validated: ${presetsFailedValidation
|
|
83
341
|
.sort()
|
|
@@ -93,6 +351,31 @@ export function validatePresetDefinitions(actionsManager, feedbacksManager, stru
|
|
|
93
351
|
.sort()
|
|
94
352
|
.join(', ')}`);
|
|
95
353
|
}
|
|
354
|
+
if (presetsWithInvalidFeedbackOptionKeys.length > 0) {
|
|
355
|
+
logger.warn(`The following preset definitions reference unknown feedback option keys: ${presetsWithInvalidFeedbackOptionKeys
|
|
356
|
+
.sort()
|
|
357
|
+
.join(', ')}`);
|
|
358
|
+
}
|
|
359
|
+
if (presetsWithInvalidActionOptionKeys.length > 0) {
|
|
360
|
+
logger.warn(`The following preset definitions reference unknown action option keys: ${presetsWithInvalidActionOptionKeys
|
|
361
|
+
.sort()
|
|
362
|
+
.join(', ')}`);
|
|
363
|
+
}
|
|
364
|
+
if (presetsWithDisallowedInternalIds.length > 0) {
|
|
365
|
+
logger.warn(`The following preset definitions reference internal actions/feedbacks which are not available to this module (unknown id, or the module's api version is too old) and have been removed: ${presetsWithDisallowedInternalIds
|
|
366
|
+
.sort()
|
|
367
|
+
.join(', ')}`);
|
|
368
|
+
}
|
|
369
|
+
if (presetsWithInvalidElements.length > 0) {
|
|
370
|
+
logger.warn(`The following layered preset definitions contain invalid elements: ${presetsWithInvalidElements
|
|
371
|
+
.sort()
|
|
372
|
+
.join(', ')}`);
|
|
373
|
+
}
|
|
374
|
+
if (presetsWithInvalidStyleOverrideRefs.length > 0) {
|
|
375
|
+
logger.warn(`The following layered preset definitions contain feedback style overrides referencing unknown element IDs: ${presetsWithInvalidStyleOverrideRefs
|
|
376
|
+
.sort()
|
|
377
|
+
.join(', ')}`);
|
|
378
|
+
}
|
|
96
379
|
// Cross-reference validation between structure and presets
|
|
97
380
|
const referencedPresetIds = new Set();
|
|
98
381
|
for (const section of structure) {
|
|
@@ -117,10 +400,13 @@ export function validatePresetDefinitions(actionsManager, feedbacksManager, stru
|
|
|
117
400
|
}
|
|
118
401
|
}
|
|
119
402
|
}
|
|
403
|
+
result.structure.push(section);
|
|
120
404
|
}
|
|
121
405
|
// Check for presets not referenced by structure
|
|
122
406
|
const presetsNotReferenced = [];
|
|
123
|
-
for (const presetId of Object.
|
|
407
|
+
for (const [presetId, preset] of Object.entries(presets)) {
|
|
408
|
+
if (!preset)
|
|
409
|
+
continue;
|
|
124
410
|
if (!referencedPresetIds.has(presetId)) {
|
|
125
411
|
presetsNotReferenced.push(presetId);
|
|
126
412
|
}
|
|
@@ -128,7 +414,7 @@ export function validatePresetDefinitions(actionsManager, feedbacksManager, stru
|
|
|
128
414
|
// Check for missing presets referenced by structure
|
|
129
415
|
const referencedMissing = [];
|
|
130
416
|
for (const presetId of referencedPresetIds) {
|
|
131
|
-
if (!
|
|
417
|
+
if (!presets[presetId]) {
|
|
132
418
|
referencedMissing.push(presetId);
|
|
133
419
|
}
|
|
134
420
|
}
|
|
@@ -142,5 +428,6 @@ export function validatePresetDefinitions(actionsManager, feedbacksManager, stru
|
|
|
142
428
|
.sort()
|
|
143
429
|
.join(', ')}`);
|
|
144
430
|
}
|
|
431
|
+
return result;
|
|
145
432
|
}
|
|
146
433
|
//# sourceMappingURL=presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/internal/presets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/internal/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CompanionStaticUpgradeScript } from '@companion-module/base';
|
|
2
|
-
import type { UpgradeActionInstance, UpgradeFeedbackInstance
|
|
2
|
+
import type { UpgradeActionAndFeedbackInstancesResponse, UpgradeActionInstance, UpgradeFeedbackInstance } from '../context.js';
|
|
3
3
|
/**
|
|
4
4
|
* Run through the upgrade scripts for the given data
|
|
5
5
|
* Note: this updates the inputs in place, but the result needs to be sent back to companion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,4BAA4B,EAEjC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACX,yCAAyC,EACzC,qBAAqB,EACrB,uBAAuB,EACvB,MAAM,eAAe,CAAA;AAEtB;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACvC,eAAe,EAAE,qBAAqB,EAAE,EACxC,iBAAiB,EAAE,uBAAuB,EAAE,EAC5C,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,cAAc,EAAE,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EACxD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,2BAA2B,EAAE,OAAO,GAClC,yCAAyC,CAsL3C"}
|
package/dist/internal/upgrade.js
CHANGED
|
@@ -87,6 +87,8 @@ export function runThroughUpgradeScripts(allActionsArray, allFeedbacksArray, def
|
|
|
87
87
|
.map((id) => {
|
|
88
88
|
const inst = allActions[id];
|
|
89
89
|
if (inst) {
|
|
90
|
+
// Note: storeResult is output-only (like feedback `style`), the module must
|
|
91
|
+
// never see the user's chosen value, so it is omitted from the input.
|
|
90
92
|
return literal({
|
|
91
93
|
id: inst.id,
|
|
92
94
|
controlId: inst.controlId,
|
|
@@ -105,7 +107,6 @@ export function runThroughUpgradeScripts(allActionsArray, allFeedbacksArray, def
|
|
|
105
107
|
controlId: inst.controlId,
|
|
106
108
|
feedbackId: inst.feedbackId,
|
|
107
109
|
options: inst.options !== undefined ? structuredClone(inst.options) : {},
|
|
108
|
-
// TODO - style?
|
|
109
110
|
isInverted: inst.isInverted,
|
|
110
111
|
});
|
|
111
112
|
}
|
|
@@ -124,6 +125,8 @@ export function runThroughUpgradeScripts(allActionsArray, allFeedbacksArray, def
|
|
|
124
125
|
instance.actionId = action.actionId;
|
|
125
126
|
instance.options = action.options;
|
|
126
127
|
instance.upgradeIndex = i;
|
|
128
|
+
// storeResult is output-only; preserve the first generation, like feedback `style`
|
|
129
|
+
instance.storeResult = instance.storeResult ?? action.storeResult;
|
|
127
130
|
// Mark it as changed
|
|
128
131
|
updatedActions[action.id] = instance;
|
|
129
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/util.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import { SomeCompanionActionInputField, SomeCompanionFeedbackInputField } from '../main.js';
|
|
1
|
+
import type { SomeCompanionActionInputField, SomeCompanionFeedbackInputField } from '../main.js';
|
|
2
2
|
/** Properties that must never be used as action/feedback/preset/variable IDs to prevent prototype pollution */
|
|
3
3
|
export declare const BANNED_PROPS: Set<string>;
|
|
4
4
|
export declare function hasAnyOldIsVisibleFunctions(options: (SomeCompanionActionInputField | SomeCompanionFeedbackInputField)[] | undefined): boolean;
|
|
5
5
|
export declare function hasAnyOldRequiredProperties(options: (SomeCompanionActionInputField | SomeCompanionFeedbackInputField)[] | undefined): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Find any option ids which are used by more than one input field in the same group, and remove the
|
|
8
|
+
* duplicates so that only the first usage of each id is preserved.
|
|
9
|
+
*
|
|
10
|
+
* Duplicate ids cause unpredictable behaviour, as the fields would otherwise overwrite each other's values.
|
|
11
|
+
*/
|
|
12
|
+
export declare function filterDuplicateOptionIds<T extends {
|
|
13
|
+
id: string;
|
|
14
|
+
}>(options: T[]): {
|
|
15
|
+
options: T[];
|
|
16
|
+
duplicateIds: string[];
|
|
17
|
+
};
|
|
6
18
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/internal/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/internal/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAEhG,+GAA+G;AAC/G,eAAO,MAAM,YAAY,aAQvB,CAAA;AAEF,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,CAAC,6BAA6B,GAAG,+BAA+B,CAAC,EAAE,GAAG,SAAS,GACtF,OAAO,CAQT;AAED,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,CAAC,6BAA6B,GAAG,+BAA+B,CAAC,EAAE,GAAG,SAAS,GACtF,OAAO,CAQT;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAChE,OAAO,EAAE,CAAC,EAAE,GACV;IAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB1C"}
|
package/dist/internal/util.js
CHANGED
|
@@ -26,4 +26,28 @@ export function hasAnyOldRequiredProperties(options) {
|
|
|
26
26
|
}
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Find any option ids which are used by more than one input field in the same group, and remove the
|
|
31
|
+
* duplicates so that only the first usage of each id is preserved.
|
|
32
|
+
*
|
|
33
|
+
* Duplicate ids cause unpredictable behaviour, as the fields would otherwise overwrite each other's values.
|
|
34
|
+
*/
|
|
35
|
+
export function filterDuplicateOptionIds(options) {
|
|
36
|
+
const seen = new Set();
|
|
37
|
+
const duplicates = new Set();
|
|
38
|
+
const filtered = [];
|
|
39
|
+
for (const option of options) {
|
|
40
|
+
if (seen.has(option.id)) {
|
|
41
|
+
duplicates.add(option.id);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
seen.add(option.id);
|
|
45
|
+
filtered.push(option);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Preserve the original array when there is nothing to remove
|
|
49
|
+
if (duplicates.size === 0)
|
|
50
|
+
return { options, duplicateIds: [] };
|
|
51
|
+
return { options: filtered, duplicateIds: Array.from(duplicates) };
|
|
52
|
+
}
|
|
29
53
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/internal/util.ts"],"names":[],"mappings":"AAEA,+GAA+G;AAC/G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IACnC,WAAW;IACX,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;CAClB,CAAC,CAAA;AAEF,MAAM,UAAU,2BAA2B,CAC1C,OAAwF;IAExF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAA;IAC7D,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,OAAwF;IAExF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;IAC9E,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/internal/util.ts"],"names":[],"mappings":"AAEA,+GAA+G;AAC/G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IACnC,WAAW;IACX,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;CAClB,CAAC,CAAA;AAEF,MAAM,UAAU,2BAA2B,CAC1C,OAAwF;IAExF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAA;IAC7D,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,OAAwF;IAExF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;IAC9E,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACvC,OAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,MAAM,QAAQ,GAAQ,EAAE,CAAA;IAExB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACnB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;IACF,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IAE/D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;AACnE,CAAC"}
|