@companion-module/base 0.0.3

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 (95) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +14 -0
  3. package/dist/common/osc.d.ts +17 -0
  4. package/dist/common/osc.d.ts.map +1 -0
  5. package/dist/common/osc.js +7 -0
  6. package/dist/common/osc.js.map +1 -0
  7. package/dist/entrypoint.d.ts +12 -0
  8. package/dist/entrypoint.d.ts.map +1 -0
  9. package/dist/entrypoint.js +131 -0
  10. package/dist/entrypoint.js.map +1 -0
  11. package/dist/host-api/api.d.ts +212 -0
  12. package/dist/host-api/api.d.ts.map +1 -0
  13. package/dist/host-api/api.js +9 -0
  14. package/dist/host-api/api.js.map +1 -0
  15. package/dist/host-api/versions.d.ts +7 -0
  16. package/dist/host-api/versions.d.ts.map +1 -0
  17. package/dist/host-api/versions.js +5 -0
  18. package/dist/host-api/versions.js.map +1 -0
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +15 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/instance-base.d.ts +12 -0
  24. package/dist/instance-base.d.ts.map +1 -0
  25. package/dist/instance-base.js +3 -0
  26. package/dist/instance-base.js.map +1 -0
  27. package/dist/internal/base.d.ts +24 -0
  28. package/dist/internal/base.d.ts.map +1 -0
  29. package/dist/internal/base.js +57 -0
  30. package/dist/internal/base.js.map +1 -0
  31. package/dist/internal/feedback.d.ts +5 -0
  32. package/dist/internal/feedback.d.ts.map +1 -0
  33. package/dist/internal/feedback.js +34 -0
  34. package/dist/internal/feedback.js.map +1 -0
  35. package/dist/internal/upgrade.d.ts +18 -0
  36. package/dist/internal/upgrade.d.ts.map +1 -0
  37. package/dist/internal/upgrade.js +126 -0
  38. package/dist/internal/upgrade.js.map +1 -0
  39. package/dist/manifest.d.ts +42 -0
  40. package/dist/manifest.d.ts.map +1 -0
  41. package/dist/manifest.js +9 -0
  42. package/dist/manifest.js.map +1 -0
  43. package/dist/module-api/action.d.ts +59 -0
  44. package/dist/module-api/action.d.ts.map +1 -0
  45. package/dist/module-api/action.js +3 -0
  46. package/dist/module-api/action.js.map +1 -0
  47. package/dist/module-api/base.d.ts +137 -0
  48. package/dist/module-api/base.d.ts.map +1 -0
  49. package/dist/module-api/base.js +613 -0
  50. package/dist/module-api/base.js.map +1 -0
  51. package/dist/module-api/config.d.ts +12 -0
  52. package/dist/module-api/config.d.ts.map +1 -0
  53. package/dist/module-api/config.js +3 -0
  54. package/dist/module-api/config.js.map +1 -0
  55. package/dist/module-api/enums.d.ts +21 -0
  56. package/dist/module-api/enums.d.ts.map +1 -0
  57. package/dist/module-api/enums.js +20 -0
  58. package/dist/module-api/enums.js.map +1 -0
  59. package/dist/module-api/feedback.d.ts +106 -0
  60. package/dist/module-api/feedback.d.ts.map +1 -0
  61. package/dist/module-api/feedback.js +3 -0
  62. package/dist/module-api/feedback.js.map +1 -0
  63. package/dist/module-api/http.d.ts +17 -0
  64. package/dist/module-api/http.d.ts.map +1 -0
  65. package/dist/module-api/http.js +3 -0
  66. package/dist/module-api/http.js.map +1 -0
  67. package/dist/module-api/index.d.ts +10 -0
  68. package/dist/module-api/index.d.ts.map +1 -0
  69. package/dist/module-api/index.js +13 -0
  70. package/dist/module-api/index.js.map +1 -0
  71. package/dist/module-api/input.d.ts +136 -0
  72. package/dist/module-api/input.d.ts.map +1 -0
  73. package/dist/module-api/input.js +3 -0
  74. package/dist/module-api/input.js.map +1 -0
  75. package/dist/module-api/preset.d.ts +102 -0
  76. package/dist/module-api/preset.d.ts.map +1 -0
  77. package/dist/module-api/preset.js +3 -0
  78. package/dist/module-api/preset.js.map +1 -0
  79. package/dist/module-api/style.d.ts +20 -0
  80. package/dist/module-api/style.d.ts.map +1 -0
  81. package/dist/module-api/style.js +3 -0
  82. package/dist/module-api/style.js.map +1 -0
  83. package/dist/module-api/upgrade.d.ts +95 -0
  84. package/dist/module-api/upgrade.d.ts.map +1 -0
  85. package/dist/module-api/upgrade.js +56 -0
  86. package/dist/module-api/upgrade.js.map +1 -0
  87. package/dist/module-api/variable.d.ts +18 -0
  88. package/dist/module-api/variable.d.ts.map +1 -0
  89. package/dist/module-api/variable.js +3 -0
  90. package/dist/module-api/variable.js.map +1 -0
  91. package/dist/util.d.ts +12 -0
  92. package/dist/util.d.ts.map +1 -0
  93. package/dist/util.js +37 -0
  94. package/dist/util.js.map +1 -0
  95. package/package.json +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":";;;AAkBA,4FAA4F;AAC5F,SAAgB,cAAc,CAAmB,MAAgC,EAAE,QAA0B;IAC5G,8DAA8D;IAE9D,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACxD,MAAM,CAAC,EAAE,CAAC,KAAY,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAuB,EAAE,EAAE;YACnE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAA;gBAC5D,OAAM,CAAC,4CAA4C;aACnD;YACD,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAA;gBACtD,OAAM,CAAC,4CAA4C;aACnD;YAED,IAAI;gBACH,SAAS;gBACT,MAAM,QAAQ,GAAG,OAA6C,CAAA;gBAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAElC,IAAI,EAAE;oBAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;aACxB;YAAC,OAAO,CAAM,EAAE;gBAChB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC9C,IAAI,EAAE;oBAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;aACzD;QACF,CAAC,CAAC,CAAA;KACF;AACF,CAAC;AA1BD,wCA0BC;AAED,SAAgB,oBAAoB,CAAoC,OAAY;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,IAAI,WAAW,IAAI,MAAM,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;gBAC3C,OAAO;oBACN,GAAG,MAAM;oBACT,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,SAAS;iBACpB,CAAA;aACD;SACD;QAED,4DAA4D;QAC5D,OAAO;YACN,GAAG,MAAM;YACT,WAAW,EAAE,SAAS;SACtB,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,oDAkBC;AAQD,SAAgB,mBAAmB,CAAU,GAAY;IACxD,MAAM,IAAI,GAAG,GAAiC,CAAA;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;AAClG,CAAC;AAHD,kDAGC"}
@@ -0,0 +1,5 @@
1
+ import { CompanionFeedbackDefinition, CompanionFeedbackInfo } from '../module-api/feedback';
2
+ import { FeedbackInstance } from '../host-api/api';
3
+ export declare function convertFeedbackInstanceToEvent(type: 'boolean' | 'advanced', feedback: FeedbackInstance): CompanionFeedbackInfo;
4
+ export declare function callFeedbackOnDefinition(definition: CompanionFeedbackDefinition, feedback: FeedbackInstance): boolean | import("../module-api/feedback").CompanionAdvancedFeedbackResult;
5
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/internal/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,SAAS,GAAG,UAAU,EAC5B,QAAQ,EAAE,gBAAgB,GACxB,qBAAqB,CAQvB;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,2BAA2B,EAAE,QAAQ,EAAE,gBAAgB,8EAiB3G"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callFeedbackOnDefinition = exports.convertFeedbackInstanceToEvent = void 0;
4
+ function convertFeedbackInstanceToEvent(type, feedback) {
5
+ return {
6
+ type: type,
7
+ id: feedback.id,
8
+ feedbackId: feedback.feedbackId,
9
+ controlId: feedback.controlId,
10
+ options: feedback.options,
11
+ };
12
+ }
13
+ exports.convertFeedbackInstanceToEvent = convertFeedbackInstanceToEvent;
14
+ function callFeedbackOnDefinition(definition, feedback) {
15
+ if (definition.type === 'boolean') {
16
+ return definition.callback({
17
+ ...convertFeedbackInstanceToEvent('boolean', feedback),
18
+ type: 'boolean',
19
+ _rawBank: feedback.rawBank,
20
+ });
21
+ }
22
+ else {
23
+ return definition.callback({
24
+ ...convertFeedbackInstanceToEvent('advanced', feedback),
25
+ type: 'advanced',
26
+ image: feedback.image,
27
+ _page: feedback.page,
28
+ _bank: feedback.bank,
29
+ _rawBank: feedback.rawBank,
30
+ });
31
+ }
32
+ }
33
+ exports.callFeedbackOnDefinition = callFeedbackOnDefinition;
34
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/internal/feedback.ts"],"names":[],"mappings":";;;AAGA,SAAgB,8BAA8B,CAC7C,IAA4B,EAC5B,QAA0B;IAE1B,OAAO;QACN,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;KACzB,CAAA;AACF,CAAC;AAXD,wEAWC;AAED,SAAgB,wBAAwB,CAAC,UAAuC,EAAE,QAA0B;IAC3G,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QAClC,OAAO,UAAU,CAAC,QAAQ,CAAC;YAC1B,GAAG,8BAA8B,CAAC,SAAS,EAAE,QAAQ,CAAC;YACtD,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAA;KACF;SAAM;QACN,OAAO,UAAU,CAAC,QAAQ,CAAC;YAC1B,GAAG,8BAA8B,CAAC,UAAU,EAAE,QAAQ,CAAC;YACvD,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,IAAI;YACpB,KAAK,EAAE,QAAQ,CAAC,IAAI;YACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAA;KACF;AACF,CAAC;AAjBD,4DAiBC"}
@@ -0,0 +1,18 @@
1
+ import { CompanionStaticUpgradeScript } from '../module-api/upgrade.js';
2
+ import { FeedbackInstance, ActionInstance } from '../host-api/api.js';
3
+ export declare function runThroughUpgradeScripts(allActions: {
4
+ [id: string]: ActionInstance | undefined | null;
5
+ }, allFeedbacks: {
6
+ [id: string]: FeedbackInstance | undefined | null;
7
+ }, defaultUpgradeIndex: number | null, upgradeScripts: CompanionStaticUpgradeScript<any>[], config: unknown | undefined): {
8
+ updatedActions: {
9
+ [id: string]: import("../host-api/api.js").ActionInstanceBase | undefined;
10
+ };
11
+ updatedFeedbacks: {
12
+ [id: string]: (import("../host-api/api.js").FeedbackInstanceBase & {
13
+ style?: Partial<Partial<import("../module-api/style.js").CompanionRequiredStyleProps & import("../module-api/style.js").CompanionAdditionalStyleProps>> | undefined;
14
+ }) | undefined;
15
+ };
16
+ updatedConfig: unknown;
17
+ };
18
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA+B,MAAM,oBAAoB,CAAA;AAElG,wBAAgB,wBAAwB,CACvC,UAAU,EAAE;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,EAC/D,YAAY,EAAE;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,EACnE,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,cAAc,EAAE,4BAA4B,CAAC,GAAG,CAAC,EAAE,EACnD,MAAM,EAAE,OAAO,GAAG,SAAS;;;;;;;;;;EA4I3B"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runThroughUpgradeScripts = void 0;
4
+ function runThroughUpgradeScripts(allActions, allFeedbacks, defaultUpgradeIndex, upgradeScripts, config) {
5
+ // First we group all the actions and feedbacks by the version they currently are.
6
+ const pendingUpgradesGrouped = new Map();
7
+ const getPendingSpecialUpgrade = (i) => {
8
+ let v = pendingUpgradesGrouped.get(i);
9
+ if (!v) {
10
+ v = { actions: [], feedbacks: [] };
11
+ pendingUpgradesGrouped.set(i, v);
12
+ }
13
+ return v;
14
+ };
15
+ for (const action of Object.values(allActions)) {
16
+ const upgradeIndex = action?.upgradeIndex ?? defaultUpgradeIndex;
17
+ if (action && typeof upgradeIndex === 'number') {
18
+ const pending = getPendingSpecialUpgrade(upgradeIndex);
19
+ pending.actions.push(action.id);
20
+ }
21
+ }
22
+ for (const feedback of Object.values(allFeedbacks)) {
23
+ const upgradeIndex = feedback?.upgradeIndex ?? defaultUpgradeIndex;
24
+ if (feedback && typeof upgradeIndex === 'number') {
25
+ const pending = getPendingSpecialUpgrade(upgradeIndex);
26
+ pending.feedbacks.push(feedback.id);
27
+ }
28
+ }
29
+ let updatedFeedbacks = {};
30
+ let updatedActions = {};
31
+ if (pendingUpgradesGrouped.size > 0) {
32
+ const pendingUpgradeGroups = Array.from(pendingUpgradesGrouped.keys()).sort();
33
+ const firstUpgradeGroup = Math.min(...pendingUpgradeGroups, defaultUpgradeIndex ?? Number.POSITIVE_INFINITY);
34
+ // Start building arrays of the ids which we are upgrading as we go
35
+ const actionsIdsToUpgrade = [];
36
+ const feedbackIdsToUpgrade = [];
37
+ // Perform the upgrades. We start on the first batch/instance, and work our way up to the last
38
+ const targetCount = upgradeScripts.length;
39
+ for (let i = firstUpgradeGroup; i < targetCount; i++) {
40
+ const group = pendingUpgradesGrouped.get(i - 1);
41
+ if (group) {
42
+ // Update the list of objects that need upgrading
43
+ actionsIdsToUpgrade.push(...group.actions);
44
+ feedbackIdsToUpgrade.push(...group.feedbacks);
45
+ }
46
+ // Only upgrade the config, if we are past the last version we had for it
47
+ const upgradeConfig = config !== undefined && defaultUpgradeIndex !== null && i > defaultUpgradeIndex;
48
+ // We have an upgrade script that can be run
49
+ const fcn = upgradeScripts[i];
50
+ const res = fcn({}, {
51
+ config: upgradeConfig ? config : null,
52
+ // Only pass the actions & feedbacks which need upgrading from this version
53
+ actions: actionsIdsToUpgrade
54
+ .map((id) => {
55
+ const inst = allActions[id];
56
+ if (inst) {
57
+ return {
58
+ id: inst.id,
59
+ controlId: inst.controlId,
60
+ actionId: inst.actionId,
61
+ options: inst.options,
62
+ };
63
+ }
64
+ })
65
+ .filter((v) => !!v),
66
+ feedbacks: feedbackIdsToUpgrade
67
+ .map((id) => {
68
+ const inst = allFeedbacks[id];
69
+ if (inst) {
70
+ return {
71
+ id: inst.id,
72
+ controlId: inst.controlId,
73
+ feedbackId: inst.feedbackId,
74
+ options: inst.options,
75
+ };
76
+ }
77
+ })
78
+ .filter((v) => !!v),
79
+ });
80
+ // Apply changes
81
+ if (upgradeConfig && res.updatedConfig)
82
+ config = res.updatedConfig;
83
+ for (const [id, action] of Object.entries(res.updatedActions)) {
84
+ const instance = allActions[id];
85
+ if (instance) {
86
+ instance.actionId = action.actionId;
87
+ instance.options = action.options;
88
+ // Mark it as changed
89
+ updatedActions[id] = instance;
90
+ }
91
+ }
92
+ for (const [id, feedback] of Object.entries(res.updatedFeedbacks)) {
93
+ const instance = allFeedbacks[id];
94
+ if (instance) {
95
+ instance.feedbackId = feedback.feedbackId;
96
+ instance.options = feedback.options;
97
+ // Mark it as changed
98
+ updatedFeedbacks[id] = {
99
+ ...instance,
100
+ style: updatedFeedbacks[id]?.style ?? feedback.style,
101
+ };
102
+ }
103
+ }
104
+ }
105
+ // Make sure that everything with a upgradeIndex set is sent back
106
+ for (const [id, action] of Object.entries(allActions)) {
107
+ if (!updatedActions[id] && typeof action?.upgradeIndex === 'number') {
108
+ // Send it back to acknowledge that it has been 'upgraded'
109
+ updatedActions[id] = action;
110
+ }
111
+ }
112
+ for (const [id, feedback] of Object.entries(allFeedbacks)) {
113
+ if (!updatedFeedbacks[id] && typeof feedback?.upgradeIndex === 'number') {
114
+ // Send it back to acknowledge that it has been 'upgraded'
115
+ updatedFeedbacks[id] = feedback;
116
+ }
117
+ }
118
+ }
119
+ return {
120
+ updatedActions,
121
+ updatedFeedbacks,
122
+ updatedConfig: config,
123
+ };
124
+ }
125
+ exports.runThroughUpgradeScripts = runThroughUpgradeScripts;
126
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/internal/upgrade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface ModuleManifestMaintainer {
2
+ name: string;
3
+ email?: string;
4
+ github?: string;
5
+ }
6
+ export interface ModuleManifestRuntime {
7
+ /** Type of the module. Must be: node14 */
8
+ type: string;
9
+ /** Which host-api does it use. Must be socket.io */
10
+ api: string;
11
+ /** Entrypoint to pass to the runtime. eg index.js */
12
+ entrypoint: string;
13
+ }
14
+ export interface ModuleManifest {
15
+ /** Unique identifier for the module */
16
+ id: string;
17
+ /** Name of the module */
18
+ name: string;
19
+ shortname: string;
20
+ /** Description of the module */
21
+ description: string;
22
+ /** Current version of the module */
23
+ version: string;
24
+ /** License of the module */
25
+ license: string;
26
+ /** URL to the source repository */
27
+ repository: string;
28
+ /** URL to bug tracker */
29
+ bugs: string;
30
+ /** List of active maintiners */
31
+ maintainers: ModuleManifestMaintainer[];
32
+ /** If the module had a different unique identifier previously, then specify it here */
33
+ legacyIds?: string[];
34
+ /** Information on how to execute the module */
35
+ runtime: ModuleManifestRuntime;
36
+ manufacturer: string;
37
+ products: string[];
38
+ keywords: string[];
39
+ }
40
+ /** Validate that a manifest looks correctly populated */
41
+ export declare function validateManifest(manifest: ModuleManifest): void;
42
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACrC,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IAEX,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;CAElB;AAED,MAAM,WAAW,cAAc;IAC9B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,WAAW,EAAE,wBAAwB,EAAE,CAAA;IACvC,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IAEpB,+CAA+C;IAC/C,OAAO,EAAE,qBAAqB,CAAA;IAE9B,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAE/D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateManifest = void 0;
4
+ /** Validate that a manifest looks correctly populated */
5
+ function validateManifest(manifest) {
6
+ // TODO module-lib
7
+ }
8
+ exports.validateManifest = validateManifest;
9
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":";;;AA+CA,yDAAyD;AACzD,SAAgB,gBAAgB,CAAC,QAAwB;IACxD,kBAAkB;AACnB,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,59 @@
1
+ import { SomeCompanionInputField, CompanionOptionValues } from './input.js';
2
+ /**
3
+ * The definition of an action
4
+ */
5
+ export interface CompanionActionDefinition {
6
+ /** Name to show in the actions list */
7
+ name: string;
8
+ /** Additional description of the action */
9
+ description?: string;
10
+ /** The input fields for the action */
11
+ options: SomeCompanionInputField[];
12
+ /** Called to execute the action */
13
+ callback: (action: CompanionActionEvent) => Promise<void> | void;
14
+ /**
15
+ * Called to report the existence of an action
16
+ * Useful to ensure necessary data is loaded
17
+ */
18
+ subscribe?: (action: CompanionActionInfo) => Promise<void> | void;
19
+ /**
20
+ * Called to report an action has been edited/removed
21
+ * Useful to cleanup subscriptions setup in subscribe
22
+ */
23
+ unsubscribe?: (action: CompanionActionInfo) => Promise<void> | void;
24
+ /**
25
+ * The user requested to 'learn' the values for this action.
26
+ */
27
+ learn?: (action: CompanionActionEvent) => CompanionOptionValues | undefined | Promise<CompanionOptionValues | undefined>;
28
+ }
29
+ /**
30
+ * The definitions of a group of actions
31
+ */
32
+ export interface CompanionActionDefinitions {
33
+ [actionId: string]: CompanionActionDefinition | undefined;
34
+ }
35
+ /**
36
+ * Basic information about an instance of an action
37
+ */
38
+ export interface CompanionActionInfo {
39
+ /** The unique id for this action */
40
+ readonly id: string;
41
+ /** The unique id for the location of this action */
42
+ readonly controlId: string;
43
+ /** The id of the action definition */
44
+ readonly actionId: string;
45
+ /** The user selected options for the action */
46
+ readonly options: CompanionOptionValues;
47
+ }
48
+ /**
49
+ * Extended information for execution of an action
50
+ */
51
+ export interface CompanionActionEvent extends CompanionActionInfo {
52
+ /** @deprecated */
53
+ readonly _deviceId: string | undefined;
54
+ /** @deprecated */
55
+ readonly _page: number;
56
+ /** @deprecated */
57
+ readonly _bank: number;
58
+ }
59
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/module-api/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,OAAO,EAAE,uBAAuB,EAAE,CAAA;IAClC,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChE;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAEnE;;OAEG;IACH,KAAK,CAAC,EAAE,CACP,MAAM,EAAE,oBAAoB,KACxB,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAA;CACnF;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAA;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAGhE,kBAAkB;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/module-api/action.ts"],"names":[],"mappings":""}
@@ -0,0 +1,137 @@
1
+ import { CompanionActionDefinitions } from './action.js';
2
+ import { CompanionFeedbackDefinitions } from './feedback.js';
3
+ import { CompanionPresetDefinitions } from './preset.js';
4
+ import { InstanceStatus, LogLevel } from './enums.js';
5
+ import { ActionInstance, FeedbackInstance } from '../host-api/api.js';
6
+ import { InstanceBaseShared } from '../instance-base.js';
7
+ import { CompanionVariableDefinition, CompanionVariableValue, CompanionVariableValues } from './variable.js';
8
+ import { OSCSomeArguments } from '../common/osc.js';
9
+ import { SomeCompanionConfigField } from './config.js';
10
+ import { CompanionHTTPRequest, CompanionHTTPResponse } from './http.js';
11
+ export declare abstract class InstanceBase<TConfig> implements InstanceBaseShared<TConfig> {
12
+ #private;
13
+ readonly id: string;
14
+ /**
15
+ * Create an instance of the module.
16
+ */
17
+ constructor(internal: unknown);
18
+ private _socketEmit;
19
+ private _handleInit;
20
+ private _handleDestroy;
21
+ private _handleConfigUpdate;
22
+ private _handleExecuteAction;
23
+ private _handleUpdateFeedbacks;
24
+ private _handleUpdateActions;
25
+ private _handleGetConfigFields;
26
+ private _handleHttpRequest;
27
+ private _handleLearnAction;
28
+ private _handleLearnFeedback;
29
+ /**
30
+ * Main initialization function called once the module
31
+ * is OK to start doing things.
32
+ */
33
+ abstract init(config: TConfig): Promise<void>;
34
+ /**
35
+ * Clean up the instance before it is destroyed.
36
+ */
37
+ abstract destroy(): Promise<void>;
38
+ /**
39
+ * Called when the configuration is updated.
40
+ * @param config The new config object
41
+ */
42
+ abstract configUpdated(config: TConfig): Promise<void>;
43
+ /**
44
+ * Save an updated configuration object
45
+ * @param newConfig The new config object
46
+ */
47
+ saveConfig(newConfig: TConfig): Promise<void>;
48
+ /**
49
+ * Creates the configuration fields for web config.
50
+ */
51
+ abstract getConfigFields(): SomeCompanionConfigField[];
52
+ /**
53
+ * Handle HTTP requests from Companion
54
+ * @param request partial request object from Express
55
+ */
56
+ handleHttpRequest?(request: CompanionHTTPRequest): CompanionHTTPResponse | Promise<CompanionHTTPResponse>;
57
+ /**
58
+ * Set the action definitions for this instance
59
+ * @param actions The action definitions
60
+ */
61
+ setActionDefinitions(actions: CompanionActionDefinitions): Promise<void>;
62
+ /**
63
+ * Set the feedback definitions for this instance
64
+ * @param feedbacks The feedback definitions
65
+ */
66
+ setFeedbackDefinitions(feedbacks: CompanionFeedbackDefinitions): Promise<void>;
67
+ /**
68
+ * Set the peset definitions for this instance
69
+ * @param presets The preset definitions
70
+ */
71
+ setPresetDefinitions(presets: CompanionPresetDefinitions): Promise<void>;
72
+ /**
73
+ * Set the variable definitions for this instance
74
+ * @param variables The variable definitions
75
+ */
76
+ setVariableDefinitions(variables: CompanionVariableDefinition[]): Promise<void>;
77
+ /**
78
+ * Set the values of some variables
79
+ * @param values The new values for the variables
80
+ */
81
+ setVariableValues(values: CompanionVariableValues): Promise<void>;
82
+ /**
83
+ * Get the last set value of a variable from this connection
84
+ * @param variableId id of the variable
85
+ * @returns The value
86
+ */
87
+ getVariableValue(variableId: string): CompanionVariableValue | undefined;
88
+ /**
89
+ * Parse and replace all the variables in a string
90
+ * @param text The text to parse
91
+ * @returns The string with variables replaced with their values
92
+ */
93
+ parseVariablesInString(text: string): Promise<string>;
94
+ /**
95
+ * Request all feedbacks of the specified types to be checked for changes
96
+ * @param feedbackTypes The feedback types to check
97
+ */
98
+ checkFeedbacks(...feedbackTypes: string[]): Promise<void>;
99
+ /**
100
+ * Request the specified feedback instances to be checked for changes
101
+ * @param feedbackIds The ids of the feedback instances to check
102
+ */
103
+ checkFeedbacksById(...feedbackIds: string[]): Promise<void>;
104
+ /** @deprecated ? */
105
+ _getAllActions(): ActionInstance[];
106
+ /** @deprecated ? */
107
+ _subscribeActions(actionId?: string): void;
108
+ /** @deprecated ? */
109
+ _unsubscribeActions(actionId?: string): void;
110
+ /** @deprecated ? */
111
+ _getAllFeedbacks(): FeedbackInstance[];
112
+ /** @deprecated ? */
113
+ _subscribeFeedbacks(feedbackId?: string): void;
114
+ /** @deprecated ? */
115
+ _unsubscribeFeedbacks(feedbackId?: string): void;
116
+ /**
117
+ * Send an osc message from the system osc sender
118
+ * @param host destination ip address
119
+ * @param port destination port number
120
+ * @param path message path
121
+ * @param args mesage arguments
122
+ */
123
+ oscSend(host: string, port: number, path: string, args: OSCSomeArguments): Promise<void>;
124
+ /**
125
+ * Update the status of this connection
126
+ * @param status The status level
127
+ * @param message Additional information about the status
128
+ */
129
+ updateStatus(status: InstanceStatus, message?: string | null): Promise<void>;
130
+ /**
131
+ * Write a line to the log
132
+ * @param level The level of the message
133
+ * @param message The message text to write
134
+ */
135
+ log(level: LogLevel, message: string): void;
136
+ }
137
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}