@companion-module/base 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0](https://github.com/bitfocus/companion-module-base/compare/v0.3.0...v0.4.0) (2022-10-01)
4
+
5
+
6
+ ### Features
7
+
8
+ * encode ipc payloads with ejson, to make transfer less lossey ([fe1d388](https://github.com/bitfocus/companion-module-base/commit/fe1d3884769801fd1dadf5e62960cba0b98a753b))
9
+ * switch to using child-process ipc instead of socket.io for modules ([c38026f](https://github.com/bitfocus/companion-module-base/commit/c38026f40dbd551d90059ce24260e353df359756))
10
+ * switch to using child-process ipc instead of socket.io for modules ([0256d09](https://github.com/bitfocus/companion-module-base/commit/0256d09e1b0870bb1e825442a1be8e31c2a53eb5))
11
+
3
12
  ## [0.3.0](https://github.com/bitfocus/companion-module-base/compare/v0.2.0...v0.3.0) (2022-09-29)
4
13
 
5
14
 
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "api": {
76
76
  "type": "string",
77
- "description": "Which host-api does it use. Must be socket.io"
77
+ "description": "Which host-api does it use. Must be nodejs-ipc"
78
78
  },
79
79
  "apiVersion": {
80
80
  "type": "string",
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAIxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CAmHN"}
1
+ {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAKxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CA6HN"}
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runEntrypoint = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const SocketIOClient = tslib_1.__importStar(require("socket.io-client"));
6
- const p_timeout_1 = tslib_1.__importDefault(require("p-timeout"));
7
5
  const versions_js_1 = require("./host-api/versions.js");
8
6
  const promises_1 = tslib_1.__importDefault(require("fs/promises"));
9
7
  const util_js_1 = require("./util.js");
10
8
  const node_1 = require("@sentry/node");
11
9
  require("@sentry/tracing");
10
+ const ipc_wrapper_js_1 = require("./host-api/ipc-wrapper.js");
12
11
  let hasEntrypoint = false;
13
12
  // async function readFileUrl(url: URL): Promise<string> {
14
13
  // // Hack to make json files be loadable after being inlined by webpack
@@ -45,21 +44,20 @@ function runEntrypoint(factory, upgradeScripts) {
45
44
  // check manifest api field against apiVersion
46
45
  const manifestBlob = await promises_1.default.readFile(manifestPath);
47
46
  const manifestJson = JSON.parse(manifestBlob.toString());
48
- if (manifestJson.runtime?.api !== versions_js_1.HostApiSocketIo)
47
+ if (manifestJson.runtime?.api !== versions_js_1.HostApiNodeJsIpc)
49
48
  throw new Error(`Module manifest 'api' mismatch`);
50
49
  if (!manifestJson.runtime.apiVersion)
51
50
  throw new Error(`Module manifest 'apiVersion' missing`);
52
51
  const apiVersion = manifestJson.runtime.apiVersion;
52
+ if (!process.send)
53
+ throw new Error('Module is not being run with ipc');
53
54
  console.log(`Starting up module class: ${factory.name}`);
54
55
  const connectionId = process.env.CONNECTION_ID;
55
56
  if (typeof connectionId !== 'string' || !connectionId)
56
57
  throw new Error('Module initialise is missing CONNECTION_ID');
57
- const socketIoUrl = process.env.SOCKETIO_URL;
58
- if (typeof socketIoUrl !== 'string' || !socketIoUrl)
59
- throw new Error('Module initialise is missing SOCKETIO_URL');
60
- const socketIoToken = process.env.SOCKETIO_TOKEN;
61
- if (typeof socketIoToken !== 'string' || !socketIoToken)
62
- throw new Error('Module initialise is missing SOCKETIO_TOKEN');
58
+ const verificationToken = process.env.VERIFICATION_TOKEN;
59
+ if (typeof verificationToken !== 'string' || !verificationToken)
60
+ throw new Error('Module initialise is missing VERIFICATION_TOKEN');
63
61
  // Allow the DSN to be provided as an env variable
64
62
  const sentryDsn = process.env.SENTRY_DSN;
65
63
  const sentryUserId = process.env.SENTRY_USERID;
@@ -85,42 +83,45 @@ function runEntrypoint(factory, upgradeScripts) {
85
83
  console.log('Sentry disabled');
86
84
  }
87
85
  let module;
88
- const socket = SocketIOClient.io(socketIoUrl, {
89
- reconnection: false,
90
- timeout: 5000,
91
- transports: ['websocket'],
92
- });
93
- socket.on('connect', () => {
94
- console.log(`Connected to module-host: ${socket.id}`);
95
- socket.emit('register', apiVersion, connectionId, socketIoToken, () => {
96
- console.log(`Module-host accepted registration`);
97
- module = new factory((0, util_js_1.literal)({
98
- id: connectionId,
99
- socket,
100
- upgradeScripts,
101
- }));
102
- });
103
- });
104
- socket.on('connect_error', (e) => {
105
- console.log(`connection failed to module-host: ${socket.id}`, e.toString());
106
- process.exit(12);
107
- });
108
- socket.on('disconnect', async () => {
109
- console.log(`Disconnected from module-host: ${socket.id}`);
110
- if (module) {
111
- // Try and de-init the module before killing it
112
- try {
113
- const p = module.destroy();
114
- if (p)
115
- await (0, p_timeout_1.default)(p, 5000);
116
- }
117
- catch (e) {
118
- // Ignore
119
- }
120
- }
86
+ const ipcWrapper = new ipc_wrapper_js_1.IpcWrapper({}, (msg) => {
87
+ process.send(msg);
88
+ }, 5000);
89
+ const receiveCallback = (msg) => {
90
+ ipcWrapper.receivedMessage(msg);
91
+ };
92
+ process.on('message', receiveCallback);
93
+ ipcWrapper
94
+ .sendWithCb('register', { apiVersion, connectionId, verificationToken })
95
+ .then(() => {
96
+ process.off('message', receiveCallback);
97
+ console.log(`Module-host accepted registration`);
98
+ module = new factory((0, util_js_1.literal)({
99
+ id: connectionId,
100
+ upgradeScripts,
101
+ _isInstanceBaseProps: true,
102
+ }));
103
+ }, (err) => {
104
+ console.error('Module registration failed');
121
105
  // Kill the process
122
106
  process.exit(11);
107
+ })
108
+ .finally(() => {
109
+ process.off('message', receiveCallback);
123
110
  });
111
+ // socket.on('disconnect', async () => {
112
+ // console.log(`Disconnected from module-host: ${socket.id}`)
113
+ // if (module) {
114
+ // // Try and de-init the module before killing it
115
+ // try {
116
+ // const p = module.destroy()
117
+ // if (p) await PTimeout(p, 5000)
118
+ // } catch (e) {
119
+ // // Ignore
120
+ // }
121
+ // }
122
+ // // Kill the process
123
+ // process.exit(11)
124
+ // })
124
125
  }
125
126
  catch (e) {
126
127
  console.error(`Failed to startup module:`);
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Signature for the handler functions
3
+ */
4
+ declare type HandlerFunction<T extends (...args: any) => any> = (data: Parameters<T>[0]) => Promise<ReturnType<T>>;
5
+ declare type HandlerFunctionOrNever<T> = T extends (...args: any) => any ? HandlerFunction<T> : never;
6
+ /** Map of handler functions */
7
+ declare type EventHandlers<T extends object> = {
8
+ [K in keyof T]: HandlerFunctionOrNever<T[K]>;
9
+ };
10
+ declare type ParamsIfReturnIsNever<T extends (...args: any[]) => any> = ReturnType<T> extends never ? Parameters<T> : never;
11
+ declare type ParamsIfReturnIsValid<T extends (...args: any[]) => any> = ReturnType<T> extends never ? never : Parameters<T>;
12
+ interface IpcCallMessagePacket {
13
+ direction: 'call';
14
+ name: string;
15
+ payload: string;
16
+ callbackId: string | undefined;
17
+ }
18
+ interface IpcResponseMessagePacket {
19
+ direction: 'response';
20
+ callbackId: string;
21
+ success: boolean;
22
+ payload: string;
23
+ }
24
+ export declare class IpcWrapper<TOutbound extends {
25
+ [key: string]: any;
26
+ }, TInbound extends {
27
+ [key: string]: any;
28
+ }> {
29
+ #private;
30
+ constructor(handlers: EventHandlers<TInbound>, sendMessage: (message: IpcCallMessagePacket | IpcResponseMessagePacket) => void, defaultTimeout: number);
31
+ sendWithCb<T extends keyof TOutbound>(name: T, msg: ParamsIfReturnIsValid<TOutbound[T]>[0], defaultResponse?: () => Error, timeout?: number): Promise<ReturnType<TOutbound[T]>>;
32
+ sendWithNoCb<T extends keyof TOutbound>(name: T, msg: ParamsIfReturnIsNever<TOutbound[T]>[0]): void;
33
+ receivedMessage(msg: IpcCallMessagePacket | IpcResponseMessagePacket): void;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=ipc-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-wrapper.d.ts","sourceRoot":"","sources":["../../src/host-api/ipc-wrapper.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,aAAK,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G,aAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAE7F,+BAA+B;AAC/B,aAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED,aAAK,qBAAqB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AACnH,aAAK,qBAAqB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;AAEnH,UAAU,oBAAoB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AACD,UAAU,wBAAwB;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAQD,qBAAa,UAAU,CAAC,SAAS,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,QAAQ,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;gBAQvG,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjC,WAAW,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,wBAAwB,KAAK,IAAI,EAC/E,cAAc,EAAE,MAAM;IAOjB,UAAU,CAAC,CAAC,SAAS,MAAM,SAAS,EACzC,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,eAAe,CAAC,EAAE,MAAM,KAAK,EAC7B,OAAO,GAAE,MAAU,GACjB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IA4BpC,YAAY,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IASnG,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,IAAI;CAuE3E"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var _IpcWrapper_handlers, _IpcWrapper_sendMessage, _IpcWrapper_defaultTimeout, _IpcWrapper_pendingCallbacks;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.IpcWrapper = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const nanoid_1 = require("nanoid");
7
+ const util_1 = require("../util");
8
+ const ejson_1 = tslib_1.__importDefault(require("ejson"));
9
+ class IpcWrapper {
10
+ constructor(handlers, sendMessage, defaultTimeout) {
11
+ _IpcWrapper_handlers.set(this, void 0);
12
+ _IpcWrapper_sendMessage.set(this, void 0);
13
+ _IpcWrapper_defaultTimeout.set(this, void 0);
14
+ _IpcWrapper_pendingCallbacks.set(this, {});
15
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_handlers, handlers, "f");
16
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_sendMessage, sendMessage, "f");
17
+ tslib_1.__classPrivateFieldSet(this, _IpcWrapper_defaultTimeout, defaultTimeout, "f");
18
+ }
19
+ async sendWithCb(name, msg, defaultResponse, timeout = 0) {
20
+ if (timeout <= 0)
21
+ timeout = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_defaultTimeout, "f");
22
+ const callbacks = { timeout: undefined, resolve: () => null, reject: () => null };
23
+ const promise = new Promise((resolve, reject) => {
24
+ callbacks.resolve = resolve;
25
+ callbacks.reject = reject;
26
+ });
27
+ const id = (0, nanoid_1.nanoid)();
28
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_pendingCallbacks, "f")[id] = callbacks;
29
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
30
+ direction: 'call',
31
+ name: String(name),
32
+ payload: ejson_1.default.stringify(msg),
33
+ callbackId: id,
34
+ });
35
+ // Setup a timeout, creating the error in the call, so that the stack trace is useful
36
+ const timeoutError = new Error('Call timed out');
37
+ callbacks.timeout = setTimeout(() => {
38
+ callbacks.reject(defaultResponse ? defaultResponse() : timeoutError);
39
+ }, timeout);
40
+ return promise;
41
+ }
42
+ sendWithNoCb(name, msg) {
43
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
44
+ direction: 'call',
45
+ name: String(name),
46
+ payload: ejson_1.default.stringify(msg),
47
+ callbackId: undefined,
48
+ });
49
+ }
50
+ receivedMessage(msg) {
51
+ const rawMsg = msg;
52
+ switch (msg.direction) {
53
+ case 'call': {
54
+ const handler = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_handlers, "f")[msg.name];
55
+ if (!handler) {
56
+ if (msg.callbackId) {
57
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
58
+ direction: 'response',
59
+ callbackId: msg.callbackId,
60
+ success: false,
61
+ payload: ejson_1.default.stringify(new Error(`Unknown command "${msg.name}"`)),
62
+ });
63
+ }
64
+ return;
65
+ }
66
+ // TODO - should anything be logged here?
67
+ const data = ejson_1.default.parse(msg.payload);
68
+ handler(data).then((res) => {
69
+ if (msg.callbackId) {
70
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
71
+ direction: 'response',
72
+ callbackId: msg.callbackId,
73
+ success: true,
74
+ payload: ejson_1.default.stringify(res),
75
+ });
76
+ }
77
+ }, (err) => {
78
+ if (msg.callbackId) {
79
+ tslib_1.__classPrivateFieldGet(this, _IpcWrapper_sendMessage, "f").call(this, {
80
+ direction: 'response',
81
+ callbackId: msg.callbackId,
82
+ success: false,
83
+ payload: err,
84
+ });
85
+ }
86
+ });
87
+ break;
88
+ }
89
+ case 'response': {
90
+ if (!msg.callbackId) {
91
+ console.error(`Ipc: Response message has no callbackId`);
92
+ return;
93
+ }
94
+ const callbacks = tslib_1.__classPrivateFieldGet(this, _IpcWrapper_pendingCallbacks, "f")[msg.callbackId];
95
+ if (!callbacks) {
96
+ // Likely timed out, we should ignore
97
+ return;
98
+ }
99
+ clearTimeout(callbacks.timeout);
100
+ if (msg.success) {
101
+ callbacks.resolve(msg.payload);
102
+ }
103
+ else {
104
+ callbacks.reject(msg.payload);
105
+ }
106
+ break;
107
+ }
108
+ default:
109
+ (0, util_1.assertNever)(msg);
110
+ console.error(`Ipc: Message of unknown direction "${rawMsg.direction}"`);
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ exports.IpcWrapper = IpcWrapper;
116
+ _IpcWrapper_handlers = new WeakMap(), _IpcWrapper_sendMessage = new WeakMap(), _IpcWrapper_defaultTimeout = new WeakMap(), _IpcWrapper_pendingCallbacks = new WeakMap();
117
+ //# sourceMappingURL=ipc-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc-wrapper.js","sourceRoot":"","sources":["../../src/host-api/ipc-wrapper.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
- export declare const HostApiSocketIo = "socket.io";
1
+ export declare const HostApiNodeJsIpc = "nodejs-ipc";
2
2
  export declare type ResultCallback<T> = (err: any, res: T) => void;
3
3
  export interface ModuleToHostEventsInit {
4
- register: (apiVersion: string, connectionId: string, socketIoToken: string, cb: () => void) => void;
4
+ register: (msg: ModuleRegisterMessage) => void;
5
5
  }
6
6
  export declare type HostToModuleEventsInit = Record<never, never>;
7
+ export interface ModuleRegisterMessage {
8
+ apiVersion: string;
9
+ connectionId: string;
10
+ verificationToken: string;
11
+ }
7
12
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAA;AAE1C,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;CACnG;AACD,oBAAY,sBAAsB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAC9C;AACD,oBAAY,sBAAsB,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CACzB"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HostApiSocketIo = void 0;
4
- exports.HostApiSocketIo = 'socket.io';
3
+ exports.HostApiNodeJsIpc = void 0;
4
+ exports.HostApiNodeJsIpc = 'nodejs-ipc';
5
5
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/host-api/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,YAAY,CAAA"}
@@ -1,24 +1,11 @@
1
- import * as SocketIOClient from 'socket.io-client';
2
1
  import { CompanionStaticUpgradeScript } from '../module-api/upgrade';
3
2
  import { EncodeIsVisible } from '../host-api/api.js';
4
3
  import { CompanionInputFieldBase } from '../module-api/input';
5
- /**
6
- * Signature for the handler functions
7
- */
8
- declare type HandlerFunction<T extends (...args: any) => any> = (data: Parameters<T>[0]) => Promise<ReturnType<T>>;
9
- declare type HandlerFunctionOrNever<T> = T extends (...args: any) => any ? HandlerFunction<T> : never;
10
- /** Map of handler functions */
11
- export declare type EventHandlers<T extends object> = {
12
- [K in keyof T]: HandlerFunctionOrNever<T[K]>;
13
- };
14
- /** Subscribe to all the events defined in the handlers, and wrap with safety and logging */
15
- export declare function listenToEvents<T extends object>(socket: SocketIOClient.Socket<T>, handlers: EventHandlers<T>): void;
16
4
  export declare function serializeIsVisibleFn<T extends CompanionInputFieldBase>(options: T[]): EncodeIsVisible<T>[];
17
5
  export interface InstanceBaseProps<TConfig> {
18
6
  id: string;
19
- socket: SocketIOClient.Socket;
20
7
  upgradeScripts: CompanionStaticUpgradeScript<TConfig>[];
8
+ _isInstanceBaseProps: boolean;
21
9
  }
22
10
  export declare function isInstanceBaseProps<TConfig>(obj: unknown): obj is InstanceBaseProps<TConfig>;
23
- export {};
24
11
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D;;GAEG;AACH,aAAK,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G,aAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAE7F,+BAA+B;AAC/B,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CA0BnH;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAkB1G;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,cAAc,CAAC,MAAM,CAAA;IAC7B,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAA;CACvD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAG5F"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAkB1G;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAA;IACvD,oBAAoB,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAG5F"}
@@ -1,35 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInstanceBaseProps = exports.serializeIsVisibleFn = exports.listenToEvents = void 0;
4
- /** Subscribe to all the events defined in the handlers, and wrap with safety and logging */
5
- function listenToEvents(socket, handlers) {
6
- // const logger = createChildLogger(`module/${connectionId}`);
7
- for (const [event, handler] of Object.entries(handlers)) {
8
- socket.on(event, async (msg, cb) => {
9
- if (!msg || typeof msg !== 'object') {
10
- console.warn(`Received malformed message object "${event}"`);
11
- return; // Ignore messages without correct structure
12
- }
13
- if (cb && typeof cb !== 'function') {
14
- console.warn(`Received malformed callback "${event}"`);
15
- return; // Ignore messages without correct structure
16
- }
17
- try {
18
- // Run it
19
- const handler2 = handler;
20
- const result = await handler2(msg);
21
- if (cb)
22
- cb(null, result);
23
- }
24
- catch (e) {
25
- console.error(`Command failed: ${e}`, e.stack);
26
- if (cb)
27
- cb(e?.toString() ?? JSON.stringify(e), undefined);
28
- }
29
- });
30
- }
31
- }
32
- exports.listenToEvents = listenToEvents;
3
+ exports.isInstanceBaseProps = exports.serializeIsVisibleFn = void 0;
33
4
  function serializeIsVisibleFn(options) {
34
5
  return options.map((option) => {
35
6
  if ('isVisible' in option) {
@@ -51,7 +22,7 @@ function serializeIsVisibleFn(options) {
51
22
  exports.serializeIsVisibleFn = serializeIsVisibleFn;
52
23
  function isInstanceBaseProps(obj) {
53
24
  const obj2 = obj;
54
- return typeof obj2 === 'object' && typeof obj2.id === 'string' && typeof obj2.socket === 'object';
25
+ return typeof obj2 === 'object' && typeof obj2.id === 'string' && obj2._isInstanceBaseProps === true;
55
26
  }
56
27
  exports.isInstanceBaseProps = isInstanceBaseProps;
57
28
  //# sourceMappingURL=base.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/internal/base.ts"],"names":[],"mappings":";;;AAIA,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,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAA;AACrG,CAAC;AAHD,kDAGC"}
@@ -14,8 +14,6 @@ export declare abstract class InstanceBase<TConfig> implements InstanceBaseShare
14
14
  * Create an instance of the module.
15
15
  */
16
16
  constructor(internal: unknown);
17
- private _socketEmitWithCb;
18
- private _socketEmitNoCb;
19
17
  private _handleInit;
20
18
  private _handleDestroy;
21
19
  private _handleConfigUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var _InstanceBase_socket, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_recordingActions, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
2
+ var _InstanceBase_ipcWrapper, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_recordingActions, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.InstanceBase = void 0;
5
5
  const tslib_1 = require("tslib");
@@ -8,12 +8,13 @@ const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
8
8
  const base_js_1 = require("../internal/base.js");
9
9
  const upgrade_js_1 = require("../internal/upgrade.js");
10
10
  const feedback_js_1 = require("../internal/feedback.js");
11
+ const ipc_wrapper_js_1 = require("../host-api/ipc-wrapper.js");
11
12
  class InstanceBase {
12
13
  /**
13
14
  * Create an instance of the module.
14
15
  */
15
16
  constructor(internal) {
16
- _InstanceBase_socket.set(this, void 0);
17
+ _InstanceBase_ipcWrapper.set(this, void 0);
17
18
  _InstanceBase_upgradeScripts.set(this, void 0);
18
19
  _InstanceBase_lifecycleQueue.set(this, new p_queue_1.default({ concurrency: 1 }));
19
20
  _InstanceBase_initialized.set(this, false);
@@ -28,13 +29,9 @@ class InstanceBase {
28
29
  * Create an instance of the module.
29
30
  */
30
31
  );
31
- if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal.socket.connected)
32
+ if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal._isInstanceBaseProps)
32
33
  throw new Error(`Module instance is being constructed incorrectly. Make sure you aren't trying to do this manually`);
33
- tslib_1.__classPrivateFieldSet(this, _InstanceBase_socket, internal.socket, "f");
34
- tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
35
- this.id = internal.id;
36
- // subscribe to socket events from host
37
- (0, base_js_1.listenToEvents)(tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f"), {
34
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_ipcWrapper, new ipc_wrapper_js_1.IpcWrapper({
38
35
  init: this._handleInit.bind(this),
39
36
  destroy: this._handleDestroy.bind(this),
40
37
  updateConfig: this._handleConfigUpdate.bind(this),
@@ -46,23 +43,16 @@ class InstanceBase {
46
43
  learnAction: this._handleLearnAction.bind(this),
47
44
  learnFeedback: this._handleLearnFeedback.bind(this),
48
45
  startStopRecordActions: this._handleStartStopRecordActions.bind(this),
46
+ }, (msg) => {
47
+ process.send(msg);
48
+ }, 5000), "f");
49
+ process.on('message', (msg) => {
50
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").receivedMessage(msg);
49
51
  });
52
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
53
+ this.id = internal.id;
50
54
  this.log('debug', 'Initializing');
51
55
  }
52
- async _socketEmitWithCb(name, msg) {
53
- return new Promise((resolve, reject) => {
54
- const innerCb = (err, res) => {
55
- if (err)
56
- reject(err);
57
- else
58
- resolve(res);
59
- };
60
- tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg, innerCb);
61
- });
62
- }
63
- _socketEmitNoCb(name, msg) {
64
- tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg);
65
- }
66
56
  async _handleInit(msg) {
67
57
  return tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
68
58
  if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
@@ -76,7 +66,7 @@ class InstanceBase {
76
66
  const { updatedActions, updatedFeedbacks, updatedConfig } = (0, upgrade_js_1.runThroughUpgradeScripts)(actions, feedbacks, msg.lastUpgradeIndex, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), msg.config);
77
67
  const config = (updatedConfig ?? msg.config);
78
68
  // Send the upgraded data back to companion now. Just so that if the init crashes, this doesnt have to be repeated
79
- const pSendUpgrade = this._socketEmitWithCb('upgradedItems', {
69
+ const pSendUpgrade = tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithCb('upgradedItems', {
80
70
  updatedActions,
81
71
  updatedFeedbacks,
82
72
  });
@@ -191,7 +181,7 @@ class InstanceBase {
191
181
  }
192
182
  // Send the new values back
193
183
  if (Object.keys(newValues).length > 0) {
194
- this._socketEmitNoCb('updateFeedbackValues', {
184
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
195
185
  values: newValues,
196
186
  });
197
187
  }
@@ -318,7 +308,7 @@ class InstanceBase {
318
308
  * @param newConfig The new config object
319
309
  */
320
310
  saveConfig(newConfig) {
321
- this._socketEmitNoCb('saveConfig', { config: newConfig });
311
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('saveConfig', { config: newConfig });
322
312
  }
323
313
  /**
324
314
  * Set the action definitions for this instance
@@ -340,7 +330,7 @@ class InstanceBase {
340
330
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").set(actionId, action);
341
331
  }
342
332
  }
343
- this._socketEmitNoCb('setActionDefinitions', { actions: hostActions });
333
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setActionDefinitions', { actions: hostActions });
344
334
  }
345
335
  /**
346
336
  * Set the feedback definitions for this instance
@@ -364,7 +354,7 @@ class InstanceBase {
364
354
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").set(feedbackId, feedback);
365
355
  }
366
356
  }
367
- this._socketEmitNoCb('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
357
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
368
358
  }
369
359
  /**
370
360
  * Set the peset definitions for this instance
@@ -380,7 +370,7 @@ class InstanceBase {
380
370
  });
381
371
  }
382
372
  }
383
- this._socketEmitNoCb('setPresetDefinitions', { presets: hostPresets });
373
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setPresetDefinitions', { presets: hostPresets });
384
374
  }
385
375
  /**
386
376
  * Set the variable definitions for this instance
@@ -408,7 +398,7 @@ class InstanceBase {
408
398
  tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").delete(id);
409
399
  }
410
400
  }
411
- this._socketEmitNoCb('setVariableDefinitions', { variables: hostVariables });
401
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setVariableDefinitions', { variables: hostVariables });
412
402
  }
413
403
  /**
414
404
  * Set the values of some variables
@@ -433,7 +423,7 @@ class InstanceBase {
433
423
  });
434
424
  }
435
425
  }
436
- this._socketEmitNoCb('setVariableValues', { newValues: hostValues });
426
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setVariableValues', { newValues: hostValues });
437
427
  }
438
428
  /**
439
429
  * Get the last set value of a variable from this connection
@@ -449,7 +439,7 @@ class InstanceBase {
449
439
  * @returns The string with variables replaced with their values
450
440
  */
451
441
  async parseVariablesInString(text) {
452
- const res = await this._socketEmitWithCb('parseVariablesInString', { text: text });
442
+ const res = await tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithCb('parseVariablesInString', { text: text });
453
443
  return res.text;
454
444
  }
455
445
  /**
@@ -481,7 +471,7 @@ class InstanceBase {
481
471
  }
482
472
  // Send the new values back
483
473
  if (Object.keys(newValues).length > 0) {
484
- this._socketEmitNoCb('updateFeedbackValues', {
474
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
485
475
  values: newValues,
486
476
  });
487
477
  }
@@ -511,7 +501,7 @@ class InstanceBase {
511
501
  }
512
502
  // Send the new values back
513
503
  if (Object.keys(newValues).length > 0) {
514
- this._socketEmitNoCb('updateFeedbackValues', {
504
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('updateFeedbackValues', {
515
505
  values: newValues,
516
506
  });
517
507
  }
@@ -632,7 +622,7 @@ class InstanceBase {
632
622
  recordAction(action, uniquenessId) {
633
623
  if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_recordingActions, "f"))
634
624
  throw new Error('Not currently recording actions');
635
- this._socketEmitNoCb('recordAction', {
625
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('recordAction', {
636
626
  uniquenessId: uniquenessId ?? null,
637
627
  actionId: action.actionId,
638
628
  options: action.options,
@@ -646,7 +636,7 @@ class InstanceBase {
646
636
  * @returns Promise which resolves upon success, or rejects if the variable no longer exists
647
637
  */
648
638
  setCustomVariableValue(variableId, value) {
649
- this._socketEmitNoCb('setCustomVariable', {
639
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('setCustomVariable', {
650
640
  customVariableId: variableId,
651
641
  value,
652
642
  });
@@ -659,7 +649,7 @@ class InstanceBase {
659
649
  * @param args mesage arguments
660
650
  */
661
651
  oscSend(host, port, path, args) {
662
- this._socketEmitNoCb('send-osc', (0, util_js_1.literal)({
652
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('send-osc', (0, util_js_1.literal)({
663
653
  host,
664
654
  port,
665
655
  path,
@@ -672,7 +662,7 @@ class InstanceBase {
672
662
  * @param message Additional information about the status
673
663
  */
674
664
  updateStatus(status, message) {
675
- this._socketEmitNoCb('set-status', (0, util_js_1.literal)({
665
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('set-status', (0, util_js_1.literal)({
676
666
  status,
677
667
  message: message ?? null,
678
668
  }));
@@ -683,12 +673,12 @@ class InstanceBase {
683
673
  * @param message The message text to write
684
674
  */
685
675
  log(level, message) {
686
- this._socketEmitNoCb('log-message', (0, util_js_1.literal)({
676
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_ipcWrapper, "f").sendWithNoCb('log-message', (0, util_js_1.literal)({
687
677
  level,
688
678
  message,
689
679
  }));
690
680
  }
691
681
  }
692
682
  exports.InstanceBase = InstanceBase;
693
- _InstanceBase_socket = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_recordingActions = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
683
+ _InstanceBase_ipcWrapper = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_recordingActions = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
694
684
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { CompanionOptionValues, CompanionInputFieldStaticText, CompanionInputFieldCheckbox, CompanionInputFieldColor, CompanionInputFieldDropdown, CompanionInputFieldMultiDropdown, CompanionInputFieldNumber, CompanionInputFieldTextInput } from './input.js';
3
2
  import { CompanionAdditionalStyleProps, CompanionRequiredStyleProps } from './style.js';
4
3
  export declare type SomeCompanionFeedbackInputField = CompanionInputFieldStaticText | CompanionInputFieldColor | CompanionInputFieldTextInput | CompanionInputFieldDropdown | CompanionInputFieldMultiDropdown | CompanionInputFieldNumber | CompanionInputFieldCheckbox;
@@ -46,7 +45,7 @@ export interface CompanionFeedbackAdvancedEvent extends CompanionFeedbackInfo {
46
45
  export declare type CompanionFeedbackButtonStyleResult = Partial<CompanionRequiredStyleProps & CompanionAdditionalStyleProps>;
47
46
  /** The resulting style of an advanced feedback */
48
47
  export interface CompanionAdvancedFeedbackResult extends CompanionFeedbackButtonStyleResult {
49
- imageBuffer?: Buffer;
48
+ imageBuffer?: Uint8Array;
50
49
  }
51
50
  /**
52
51
  * The common definition of a feedback
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/module-api/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/module-api/feedback.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ module.exports = {
74
74
  },
75
75
  "api": {
76
76
  "type": "string",
77
- "description": "Which host-api does it use. Must be socket.io"
77
+ "description": "Which host-api does it use. Must be nodejs-ipc"
78
78
  },
79
79
  "apiVersion": {
80
80
  "type": "string",
@@ -64,7 +64,7 @@ export interface ModuleManifestRuntime {
64
64
  */
65
65
  type: string;
66
66
  /**
67
- * Which host-api does it use. Must be socket.io
67
+ * Which host-api does it use. Must be nodejs-ipc
68
68
  */
69
69
  api: string;
70
70
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-module/base",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "commonjs",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -23,14 +23,16 @@
23
23
  "@sentry/node": "^7.14.0",
24
24
  "@sentry/tracing": "^7.14.0",
25
25
  "ajv": "^8.11.0",
26
+ "ejson": "^2.2.3",
26
27
  "eventemitter3": "^4.0.7",
28
+ "nanoid": "^3.3.4",
27
29
  "p-queue": "^6.6.2",
28
30
  "p-timeout": "^4.1.0",
29
- "socket.io-client": "^4.5.2",
30
31
  "tslib": "^2.4.0"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@tsconfig/node14": "^1.0.3",
35
+ "@types/ejson": "^2.2.0",
34
36
  "@types/node": "^14.18.31",
35
37
  "json-schema-to-typescript": "^11.0.2",
36
38
  "prettier": "^2.7.1",