@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.
Files changed (48) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/context.d.ts +10 -2
  3. package/dist/context.d.ts.map +1 -1
  4. package/dist/instance.d.ts +32 -7
  5. package/dist/instance.d.ts.map +1 -1
  6. package/dist/instance.js +53 -12
  7. package/dist/instance.js.map +1 -1
  8. package/dist/internal/actions.d.ts +5 -4
  9. package/dist/internal/actions.d.ts.map +1 -1
  10. package/dist/internal/actions.js +72 -20
  11. package/dist/internal/actions.js.map +1 -1
  12. package/dist/internal/composite-elements.d.ts +3 -0
  13. package/dist/internal/composite-elements.d.ts.map +1 -0
  14. package/dist/internal/composite-elements.js +44 -0
  15. package/dist/internal/composite-elements.js.map +1 -0
  16. package/dist/internal/feedback.d.ts +4 -3
  17. package/dist/internal/feedback.d.ts.map +1 -1
  18. package/dist/internal/feedback.js +102 -19
  19. package/dist/internal/feedback.js.map +1 -1
  20. package/dist/internal/presets.d.ts +4 -1
  21. package/dist/internal/presets.d.ts.map +1 -1
  22. package/dist/internal/presets.js +344 -57
  23. package/dist/internal/presets.js.map +1 -1
  24. package/dist/internal/upgrade.d.ts +1 -1
  25. package/dist/internal/upgrade.d.ts.map +1 -1
  26. package/dist/internal/upgrade.js +4 -1
  27. package/dist/internal/upgrade.js.map +1 -1
  28. package/dist/internal/util.d.ts +13 -1
  29. package/dist/internal/util.d.ts.map +1 -1
  30. package/dist/internal/util.js +24 -0
  31. package/dist/internal/util.js.map +1 -1
  32. package/dist/main.d.ts +1 -0
  33. package/dist/main.d.ts.map +1 -1
  34. package/dist/main.js +1 -0
  35. package/dist/main.js.map +1 -1
  36. package/dist/schema/common.d.ts +11 -0
  37. package/dist/schema/common.d.ts.map +1 -0
  38. package/dist/schema/common.js +13 -0
  39. package/dist/schema/common.js.map +1 -0
  40. package/dist/schema/elements.d.ts +4 -0
  41. package/dist/schema/elements.d.ts.map +1 -0
  42. package/dist/schema/elements.js +170 -0
  43. package/dist/schema/elements.js.map +1 -0
  44. package/dist/schema/options.d.ts +116 -0
  45. package/dist/schema/options.d.ts.map +1 -0
  46. package/dist/schema/options.js +92 -0
  47. package/dist/schema/options.js.map +1 -0
  48. package/package.json +6 -4
@@ -1,83 +1,341 @@
1
- import { createModuleLogger, } from '@companion-module/base';
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
- export function validatePresetDefinitions(actionsManager, feedbacksManager, structure, presets) {
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
- for (const [_id, preset] of Object.entries(presets)) {
11
- if (!preset)
12
- continue;
13
- if (BANNED_PROPS.has(_id)) {
14
- presetsFailedValidation.push(typeof preset.name === 'string' ? preset.name : _id);
15
- continue;
16
- }
17
- if (preset.type !== 'simple')
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
- // Validate feedback IDs
22
- let hasInvalidFeedback = false;
23
- if (Array.isArray(preset.feedbacks)) {
24
- for (const feedback of preset.feedbacks) {
25
- if (!validFeedbackIds.has(feedback.feedbackId)) {
26
- hasInvalidFeedback = true;
27
- break;
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
- if (hasInvalidFeedback)
32
- presetsWithInvalidFeedbackIds.push(presetName);
33
- // Validate action IDs across all steps
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
- if (Array.isArray(preset.steps)) {
36
- for (const step of preset.steps) {
37
- if (hasInvalidAction)
38
- break;
39
- // Check named action arrays
40
- const namedKeys = ['down', 'up', 'rotate_left', 'rotate_right'];
41
- for (const key of namedKeys) {
42
- const actions = step[key];
43
- if (Array.isArray(actions)) {
44
- for (const action of actions) {
45
- if (!validActionIds.has(action.actionId)) {
46
- hasInvalidAction = true;
47
- break;
48
- }
49
- }
50
- }
51
- if (hasInvalidAction)
52
- break;
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 (hasInvalidAction)
55
- break;
56
- // Check numbered delay properties
57
- for (const [key, value] of Object.entries(step)) {
58
- if (hasInvalidAction)
59
- break;
60
- if (/^\d+$/.test(key)) {
61
- const actions = Array.isArray(value) ? value : value?.actions;
62
- if (Array.isArray(actions)) {
63
- for (const action of actions) {
64
- if (!validActionIds.has(action.actionId)) {
65
- hasInvalidAction = true;
66
- break;
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.keys(presets)) {
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 (!(presetId in presets)) {
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, UpgradeActionAndFeedbackInstancesResponse } from '../context.js';
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,EAGN,KAAK,4BAA4B,EAGjC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACX,qBAAqB,EACrB,uBAAuB,EACvB,yCAAyC,EACzC,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,CAmL3C"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"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"}
@@ -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;AAE3F,+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"}
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"}
@@ -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"}