@scrypted/server 0.115.0 → 0.115.2

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 (49) hide show
  1. package/deno/deno-plugin-remote.ts +4 -0
  2. package/dist/cluster/cluster-hash.js +1 -1
  3. package/dist/cluster/cluster-hash.js.map +1 -1
  4. package/dist/cluster/connect-rpc-object.d.ts +2 -1
  5. package/dist/plugin/plugin-api.d.ts +1 -0
  6. package/dist/plugin/plugin-remote-stats.js +19 -15
  7. package/dist/plugin/plugin-remote-stats.js.map +1 -1
  8. package/dist/plugin/plugin-remote-worker.js +90 -54
  9. package/dist/plugin/plugin-remote-worker.js.map +1 -1
  10. package/dist/plugin/runtime/deno-worker.d.ts +12 -0
  11. package/dist/plugin/runtime/deno-worker.js +84 -0
  12. package/dist/plugin/runtime/deno-worker.js.map +1 -0
  13. package/dist/plugin/runtime/node-fork-worker.d.ts +1 -1
  14. package/dist/plugin/runtime/node-fork-worker.js +2 -2
  15. package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
  16. package/dist/plugin/runtime/node-thread-worker.d.ts +3 -3
  17. package/dist/plugin/runtime/node-thread-worker.js +22 -7
  18. package/dist/plugin/runtime/node-thread-worker.js.map +1 -1
  19. package/dist/rpc-peer-eval.d.ts +4 -1
  20. package/dist/rpc-peer-eval.js +4 -10
  21. package/dist/rpc-peer-eval.js.map +1 -1
  22. package/dist/rpc.d.ts +4 -1
  23. package/dist/rpc.js +8 -4
  24. package/dist/rpc.js.map +1 -1
  25. package/dist/runtime.js +2 -0
  26. package/dist/runtime.js.map +1 -1
  27. package/dist/scrypted-main-exports.js +2 -2
  28. package/dist/scrypted-main-exports.js.map +1 -1
  29. package/dist/scrypted-main.js +4 -1
  30. package/dist/scrypted-main.js.map +1 -1
  31. package/dist/scrypted-plugin-main.js +14 -4
  32. package/dist/scrypted-plugin-main.js.map +1 -1
  33. package/package.json +4 -3
  34. package/python/plugin_remote.py +423 -221
  35. package/python/rpc.py +10 -10
  36. package/src/cluster/cluster-hash.ts +1 -1
  37. package/src/cluster/connect-rpc-object.ts +2 -1
  38. package/src/plugin/plugin-api.ts +1 -0
  39. package/src/plugin/plugin-remote-stats.ts +20 -15
  40. package/src/plugin/plugin-remote-worker.ts +103 -56
  41. package/src/plugin/runtime/deno-worker.ts +91 -0
  42. package/src/plugin/runtime/node-fork-worker.ts +3 -5
  43. package/src/plugin/runtime/node-thread-worker.ts +22 -6
  44. package/src/rpc-peer-eval.ts +9 -14
  45. package/src/rpc.ts +17 -7
  46. package/src/runtime.ts +2 -0
  47. package/src/scrypted-main-exports.ts +2 -2
  48. package/src/scrypted-main.ts +4 -1
  49. package/src/scrypted-plugin-main.ts +14 -4
@@ -0,0 +1,4 @@
1
+ import module from 'module';
2
+
3
+ const require = module.createRequire(import.meta.url);
4
+ require("../dist/scrypted-main.js");
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.computeClusterObjectHash = computeClusterObjectHash;
7
7
  const crypto_1 = __importDefault(require("crypto"));
8
8
  function computeClusterObjectHash(o, clusterSecret) {
9
- const sha256 = crypto_1.default.createHash('sha256').update(`${o.id}${o.port}${o.sourcePort || ''}${o.proxyId}${clusterSecret}`).digest().toString('base64');
9
+ const sha256 = crypto_1.default.createHash('sha256').update(`${o.id}${o.address || ''}${o.port}${o.sourceKey || ''}${o.proxyId}${clusterSecret}`).digest().toString('base64');
10
10
  return sha256;
11
11
  }
12
12
  //# sourceMappingURL=cluster-hash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-hash.js","sourceRoot":"","sources":["../../src/cluster/cluster-hash.ts"],"names":[],"mappings":";;;;;AAGA,4DAGC;AAND,oDAA4B;AAG5B,SAAgB,wBAAwB,CAAC,CAAgB,EAAE,aAAqB;IAC5E,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnJ,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"cluster-hash.js","sourceRoot":"","sources":["../../src/cluster/cluster-hash.ts"],"names":[],"mappings":";;;;;AAGA,4DAGC;AAND,oDAA4B;AAG5B,SAAgB,wBAAwB,CAAC,CAAgB,EAAE,aAAqB;IAC5E,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpK,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  export interface ClusterObject {
2
2
  id: string;
3
+ address: string;
3
4
  port: number;
4
5
  proxyId: string;
5
- sourcePort: number;
6
+ sourceKey: string;
6
7
  sha256: string;
7
8
  }
8
9
  export type ConnectRPCObject = (o: ClusterObject) => Promise<any>;
@@ -68,6 +68,7 @@ export interface PluginRemoteLoadZipOptions {
68
68
  debug?: boolean;
69
69
  zipHash: string;
70
70
  fork?: boolean;
71
+ main?: string;
71
72
  clusterId: string;
72
73
  clusterSecret: string;
73
74
  }
@@ -3,21 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startStatsUpdater = startStatsUpdater;
4
4
  function startStatsUpdater(allMemoryStats, updateStats) {
5
5
  setInterval(() => {
6
- const cpuUsage = process.cpuUsage();
7
- allMemoryStats.set(undefined, process.memoryUsage());
8
- const memoryUsage = {
9
- rss: 0,
10
- heapTotal: 0,
11
- heapUsed: 0,
12
- external: 0,
13
- arrayBuffers: 0,
14
- };
15
- for (const mu of allMemoryStats.values()) {
16
- memoryUsage.rss += mu.rss;
17
- memoryUsage.heapTotal += mu.heapTotal;
18
- memoryUsage.heapUsed += mu.heapUsed;
19
- memoryUsage.external += mu.external;
20
- memoryUsage.arrayBuffers += mu.arrayBuffers;
6
+ let cpuUsage;
7
+ let memoryUsage;
8
+ if (process.cpuUsage) {
9
+ cpuUsage = process.cpuUsage();
10
+ allMemoryStats.set(undefined, process.memoryUsage());
11
+ memoryUsage = {
12
+ rss: 0,
13
+ heapTotal: 0,
14
+ heapUsed: 0,
15
+ external: 0,
16
+ arrayBuffers: 0,
17
+ };
18
+ for (const mu of allMemoryStats.values()) {
19
+ memoryUsage.rss += mu.rss;
20
+ memoryUsage.heapTotal += mu.heapTotal;
21
+ memoryUsage.heapUsed += mu.heapUsed;
22
+ memoryUsage.external += mu.external;
23
+ memoryUsage.arrayBuffers += mu.arrayBuffers;
24
+ }
21
25
  }
22
26
  updateStats({
23
27
  type: 'stats',
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-remote-stats.js","sourceRoot":"","sources":["../../src/plugin/plugin-remote-stats.ts"],"names":[],"mappings":";;AAQA,8CA2BC;AA3BD,SAAgB,iBAAiB,CAAC,cAAyD,EAAE,WAAyC;IAClI,WAAW,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAErD,MAAM,WAAW,GAAuB;YACpC,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC;SAClB,CAAA;QAED,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC;YACtC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,CAAC;QAChD,CAAC;QAED,WAAW,CAAC;YACR,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,QAAQ;YACb,WAAW;SACd,CAAC,CAAC;IACP,CAAC,EAAE,KAAK,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"plugin-remote-stats.js","sourceRoot":"","sources":["../../src/plugin/plugin-remote-stats.ts"],"names":[],"mappings":";;AAQA,8CAgCC;AAhCD,SAAgB,iBAAiB,CAAC,cAAyD,EAAE,WAAyC;IAClI,WAAW,CAAC,GAAG,EAAE;QACb,IAAI,QAAyB,CAAC;QAC9B,IAAI,WAA+B,CAAC;QACpC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAErD,WAAW,GAAG;gBACV,GAAG,EAAE,CAAC;gBACN,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;aAClB,CAAA;YAED,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC;gBAC1B,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC;gBACtC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBACpC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBACpC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,CAAC;YAChD,CAAC;QAEL,CAAC;QAED,WAAW,CAAC;YACR,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,QAAQ;YACb,WAAW;SACd,CAAC,CAAC;IACP,CAAC,EAAE,KAAK,CAAC,CAAC;AACd,CAAC"}
@@ -80,33 +80,45 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
80
80
  throw new Error(`unknown service ${name}`);
81
81
  },
82
82
  async onLoadZip(scrypted, params, packageJson, getZip, zipOptions) {
83
+ const mainFile = zipOptions?.main || 'main';
84
+ const mainNodejs = `${mainFile}.nodejs.js`;
85
+ const pluginMainNodeJs = `/plugin/${mainNodejs}`;
86
+ const pluginIdMainNodeJs = `/${pluginId}/${mainNodejs}`;
83
87
  const { clusterId, clusterSecret, zipHash } = zipOptions;
84
88
  const { zipFile, unzippedPath } = await (0, node_worker_common_1.prepareZip)((0, plugin_volume_1.getPluginVolume)(pluginId), zipHash, getZip);
85
- const onProxySerialization = (value, proxyId, sourcePeerPort) => {
89
+ const SCRYPTED_CLUSTER_ADDRESS = process.env.SCRYPTED_CLUSTER_ADDRESS;
90
+ const onProxySerialization = (value, sourceKey) => {
86
91
  const properties = rpc_1.RpcPeer.prepareProxyProperties(value) || {};
87
92
  let clusterEntry = properties.__cluster;
88
- // set the cluster identity if it does not exist.
93
+ // ensure globally stable proxyIds.
94
+ const proxyId = clusterEntry?.proxyId || rpc_1.RpcPeer.generateId();
95
+ // if the cluster entry already exists, check if it belongs to this node.
96
+ // if it belongs to this node, the entry must also be for this peer.
97
+ // relying on the liveness/gc of a different peer may cause race conditions.
98
+ if (clusterEntry && clusterPort === clusterEntry.port && sourceKey !== clusterEntry.sourceKey)
99
+ clusterEntry = undefined;
89
100
  if (!clusterEntry) {
90
101
  clusterEntry = {
91
102
  id: clusterId,
103
+ address: SCRYPTED_CLUSTER_ADDRESS,
92
104
  port: clusterPort,
93
105
  proxyId,
94
- sourcePort: sourcePeerPort,
106
+ sourceKey,
95
107
  sha256: null,
96
108
  };
97
109
  clusterEntry.sha256 = (0, cluster_hash_1.computeClusterObjectHash)(clusterEntry, clusterSecret);
98
110
  properties.__cluster = clusterEntry;
99
111
  }
100
- // always reassign the id and source.
101
- // if this is already a p2p object, and is passed to a different peer,
102
- // a future p2p object must be routed to the correct p2p peer to find the object.
103
- // clusterEntry.proxyId = proxyId;
104
- // clusterEntry.source = source;
105
- return properties;
112
+ return {
113
+ proxyId,
114
+ properties,
115
+ };
106
116
  };
107
117
  peer.onProxySerialization = onProxySerialization;
108
- const resolveObject = async (id, sourcePeerPort) => {
109
- const sourcePeer = sourcePeerPort ? await clusterPeers.get(sourcePeerPort) : peer;
118
+ const resolveObject = async (id, sourceKey) => {
119
+ const sourcePeer = sourceKey
120
+ ? await clusterPeers.get(sourceKey)
121
+ : peer;
110
122
  return sourcePeer?.localProxyMap.get(id);
111
123
  };
112
124
  // all cluster clients, incoming and outgoing, connect with random ports which can be used as peer ids
@@ -114,67 +126,82 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
114
126
  // incoming connections: use the remote random/unique port
115
127
  // outgoing connections: use the local random/unique port
116
128
  const clusterPeers = new Map();
129
+ function getClusterPeerKey(address, port) {
130
+ return `${address}:${port}`;
131
+ }
117
132
  const clusterRpcServer = net_1.default.createServer(client => {
118
133
  const clusterPeer = (0, rpc_serializer_1.createDuplexRpcPeer)(peer.selfName, 'cluster-client', client, client);
134
+ const clusterPeerAddress = client.remoteAddress;
119
135
  const clusterPeerPort = client.remotePort;
120
- clusterPeer.onProxySerialization = (value, proxyId) => onProxySerialization(value, proxyId, clusterPeerPort);
121
- clusterPeers.set(clusterPeerPort, Promise.resolve(clusterPeer));
136
+ const clusterPeerKey = getClusterPeerKey(clusterPeerAddress, clusterPeerPort);
137
+ // the listening peer sourceKey (client address/port) is used by the OTHER peer (the client)
138
+ // to determine if it is already connected to THIS peer (the server).
139
+ clusterPeer.onProxySerialization = (value) => onProxySerialization(value, clusterPeerKey);
140
+ clusterPeers.set(clusterPeerKey, Promise.resolve(clusterPeer));
122
141
  startPluginRemoteOptions?.onClusterPeer?.(clusterPeer);
123
142
  const connectRPCObject = async (o) => {
124
143
  const sha256 = (0, cluster_hash_1.computeClusterObjectHash)(o, clusterSecret);
125
144
  if (sha256 !== o.sha256)
126
145
  throw new Error('secret incorrect');
127
- return resolveObject(o.proxyId, o.sourcePort);
146
+ return resolveObject(o.proxyId, o.sourceKey);
128
147
  };
129
148
  clusterPeer.params['connectRPCObject'] = connectRPCObject;
130
149
  client.on('close', () => {
131
- clusterPeers.delete(clusterPeerPort);
150
+ clusterPeers.delete(clusterPeerKey);
132
151
  clusterPeer.kill('cluster socket closed');
133
152
  });
134
153
  });
135
- const clusterPort = await (0, listen_zero_1.listenZero)(clusterRpcServer, '127.0.0.1');
136
- const ensureClusterPeer = (connectPort) => {
137
- let clusterPeerPromise = clusterPeers.get(connectPort);
138
- if (!clusterPeerPromise) {
139
- clusterPeerPromise = (async () => {
140
- const socket = net_1.default.connect(connectPort, '127.0.0.1');
141
- socket.on('close', () => clusterPeers.delete(connectPort));
142
- try {
143
- await (0, events_1.once)(socket, 'connect');
144
- // the sourcePort will be added to all rpc objects created by this peer session and used by resolveObject for later
145
- // resolution when trying to find the peer.
146
- const sourcePort = socket.address().port;
147
- const clusterPeer = (0, rpc_serializer_1.createDuplexRpcPeer)(peer.selfName, 'cluster-server', socket, socket);
148
- clusterPeer.tags.localPort = sourcePort;
149
- clusterPeer.onProxySerialization = (value, proxyId) => onProxySerialization(value, proxyId, sourcePort);
150
- return clusterPeer;
151
- }
152
- catch (e) {
153
- console.error('failure ipc connect', e);
154
- socket.destroy();
155
- throw e;
156
- }
157
- })();
158
- clusterPeers.set(connectPort, clusterPeerPromise);
159
- }
154
+ const listenAddress = SCRYPTED_CLUSTER_ADDRESS
155
+ ? '0.0.0.0'
156
+ : '127.0.0.1';
157
+ const clusterPort = await (0, listen_zero_1.listenZero)(clusterRpcServer, listenAddress);
158
+ const ensureClusterPeer = (address, connectPort) => {
159
+ if (!address || address === SCRYPTED_CLUSTER_ADDRESS)
160
+ address = '127.0.0.1';
161
+ const clusterPeerKey = getClusterPeerKey(address, connectPort);
162
+ let clusterPeerPromise = clusterPeers.get(clusterPeerKey);
163
+ if (clusterPeerPromise)
164
+ return clusterPeerPromise;
165
+ clusterPeerPromise = (async () => {
166
+ const socket = net_1.default.connect(connectPort, address);
167
+ socket.on('close', () => clusterPeers.delete(clusterPeerKey));
168
+ try {
169
+ await (0, events_1.once)(socket, 'connect');
170
+ // this connecting peer sourceKey (server address/port) is used by the OTHER peer (the server)
171
+ // to determine if it is already connected to THIS peer (the client).
172
+ const { address: sourceAddress, port: sourcePort } = socket.address();
173
+ if (sourceAddress !== SCRYPTED_CLUSTER_ADDRESS && sourceAddress !== '127.0.0.1')
174
+ console.warn("source address mismatch", sourceAddress);
175
+ const sourcePeerKey = getClusterPeerKey(sourceAddress, sourcePort);
176
+ const clusterPeer = (0, rpc_serializer_1.createDuplexRpcPeer)(peer.selfName, 'cluster-server', socket, socket);
177
+ clusterPeer.onProxySerialization = (value) => onProxySerialization(value, sourcePeerKey);
178
+ return clusterPeer;
179
+ }
180
+ catch (e) {
181
+ console.error('failure ipc connect', e);
182
+ socket.destroy();
183
+ throw e;
184
+ }
185
+ })();
186
+ clusterPeers.set(clusterPeerKey, clusterPeerPromise);
160
187
  return clusterPeerPromise;
161
188
  };
162
189
  scrypted.connectRPCObject = async (value) => {
163
190
  const clusterObject = value?.__cluster;
164
191
  if (clusterObject?.id !== clusterId)
165
192
  return value;
166
- const { port, proxyId, sourcePort } = clusterObject;
193
+ const { address, port, proxyId, sourceKey } = clusterObject;
167
194
  // handle the case when trying to connect to an object is on this cluster node,
168
195
  // returning the actual object, rather than initiating a loopback connection.
169
196
  if (port === clusterPort)
170
- return resolveObject(proxyId, sourcePort);
197
+ return resolveObject(proxyId, sourceKey);
171
198
  try {
172
- const clusterPeerPromise = ensureClusterPeer(port);
199
+ const clusterPeerPromise = ensureClusterPeer(address, port);
173
200
  const clusterPeer = await clusterPeerPromise;
174
- // if the localPort is the sourcePort, that means the rpc object already exists as it originated from this node.
175
- // so return the existing proxy.
176
- if (clusterPeer.tags.localPort === sourcePort)
177
- return value;
201
+ // may already have this proxy so check first.
202
+ const existing = clusterPeer.remoteWeakProxies[proxyId]?.deref();
203
+ if (existing)
204
+ return existing;
178
205
  let peerConnectRPCObject = clusterPeer.tags['connectRPCObject'];
179
206
  if (!peerConnectRPCObject) {
180
207
  peerConnectRPCObject = await clusterPeer.getParam('connectRPCObject');
@@ -234,7 +261,7 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
234
261
  // window.exports = exports;
235
262
  // params.window = window;
236
263
  params.exports = exports;
237
- const entry = pluginReader('main.nodejs.js.map');
264
+ const entry = pluginReader(`${mainNodejs}.map`);
238
265
  const map = entry?.toString();
239
266
  // plugins may install their own sourcemap support during startup, so
240
267
  // hook the sourcemap installation after everything is loaded.
@@ -252,11 +279,11 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
252
279
  (0, source_map_support_1.install)({
253
280
  environment: 'node',
254
281
  retrieveSourceMap(source) {
255
- if (source === '/plugin/main.nodejs.js' || source === `/${pluginId}/main.nodejs.js`) {
282
+ if (source === pluginMainNodeJs || source === pluginIdMainNodeJs) {
256
283
  if (!map)
257
284
  return null;
258
285
  return {
259
- url: '/plugin/main.nodejs.js',
286
+ url: pluginMainNodeJs,
260
287
  map,
261
288
  };
262
289
  }
@@ -275,13 +302,13 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
275
302
  pong ||= await peer.getParam('pong');
276
303
  await pong(time);
277
304
  };
278
- const main = pluginReader('main.nodejs.js');
305
+ const main = pluginReader(mainNodejs);
279
306
  const script = main.toString();
280
307
  scrypted.connect = (socket, options) => {
281
308
  process.send(options, socket);
282
309
  };
283
310
  const pluginRemoteAPI = scrypted.pluginRemoteAPI;
284
- scrypted.fork = () => {
311
+ scrypted.fork = (options) => {
285
312
  const ntw = new node_thread_worker_1.NodeThreadWorker(mainFilename, pluginId, {
286
313
  packageJson,
287
314
  env: process.env,
@@ -289,6 +316,8 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
289
316
  zipFile,
290
317
  unzippedPath,
291
318
  zipHash,
319
+ }, {
320
+ name: options?.name,
292
321
  });
293
322
  const result = (async () => {
294
323
  const threadPeer = new rpc_1.RpcPeer('main', 'thread', (message, reject) => ntw.send(message, reject));
@@ -312,17 +341,24 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
312
341
  const forkApi = new PluginForkAPI(api);
313
342
  const remote = await (0, plugin_remote_1.setupPluginRemote)(threadPeer, forkApi, pluginId, { serverVersion }, () => systemManager.getSystemState());
314
343
  forks.add(remote);
315
- ntw.worker.on('exit', () => {
344
+ ntw.on('exit', () => {
316
345
  threadPeer.kill('worker exited');
317
346
  forkApi.removeListeners();
318
347
  forks.delete(remote);
319
348
  allMemoryStats.delete(ntw);
320
349
  });
350
+ ntw.on('error', e => {
351
+ threadPeer.kill('worker error ' + e);
352
+ forkApi.removeListeners();
353
+ forks.delete(remote);
354
+ allMemoryStats.delete(ntw);
355
+ });
321
356
  for (const [nativeId, dmd] of deviceManager.nativeIds.entries()) {
322
357
  await remote.setNativeId(nativeId, dmd.id, dmd.storage);
323
358
  }
324
359
  const forkOptions = Object.assign({}, zipOptions);
325
360
  forkOptions.fork = true;
361
+ forkOptions.main = options?.filename;
326
362
  return remote.loadZip(packageJson, getZip, forkOptions);
327
363
  })();
328
364
  result.catch(() => ntw.kill());
@@ -332,7 +368,7 @@ function startPluginRemote(mainFilename, pluginId, peerSend, startPluginRemoteOp
332
368
  };
333
369
  };
334
370
  try {
335
- const filename = zipOptions?.debug ? '/plugin/main.nodejs.js' : `/${pluginId}/main.nodejs.js`;
371
+ const filename = zipOptions?.debug ? pluginMainNodeJs : pluginIdMainNodeJs;
336
372
  (0, rpc_peer_eval_1.evalLocal)(peer, script, filename, params);
337
373
  if (zipOptions?.fork) {
338
374
  // pluginConsole?.log('plugin forked');
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-remote-worker.js","sourceRoot":"","sources":["../../src/plugin/plugin-remote-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-remote-worker.js","sourceRoot":"","sources":["../../src/plugin/plugin-remote-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { RpcMessage, RpcPeer } from "../../rpc";
2
+ import { createRpcDuplexSerializer } from '../../rpc-serializer';
3
+ import { ChildProcessWorker } from "./child-process-worker";
4
+ import { RuntimeWorkerOptions } from "./runtime-worker";
5
+ export declare class DenoWorker extends ChildProcessWorker {
6
+ serializer: ReturnType<typeof createRpcDuplexSerializer>;
7
+ constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions);
8
+ kill(): void;
9
+ setupRpcPeer(peer: RpcPeer): void;
10
+ send(message: RpcMessage, reject?: (e: Error) => void, serializationContext?: any): void;
11
+ get pid(): number;
12
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DenoWorker = void 0;
7
+ const deno_1 = require("@scrypted/deno");
8
+ const child_process_1 = __importDefault(require("child_process"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const child_process_worker_1 = require("./child-process-worker");
11
+ class DenoWorker extends child_process_worker_1.ChildProcessWorker {
12
+ serializer;
13
+ constructor(mainFilename, pluginId, options) {
14
+ super(pluginId, options);
15
+ const { env, pluginDebug } = options;
16
+ const execArgv = [];
17
+ if (pluginDebug) {
18
+ execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
19
+ }
20
+ const args = [
21
+ '--unstable-byonm', '--unstable-bare-node-builtins', '--unstable-sloppy-imports',
22
+ 'run',
23
+ ...execArgv,
24
+ '--allow-all',
25
+ path_1.default.join(__dirname, '../../../deno', 'deno-plugin-remote.ts'),
26
+ // TODO: send this across.
27
+ // mainFilename.replace('dist', 'src').replace('.js', '.ts'),
28
+ 'child', this.pluginId
29
+ ];
30
+ this.worker = child_process_1.default.spawn((0, deno_1.getDenoPath)(), args, {
31
+ // stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe'],
32
+ stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
33
+ env: Object.assign({
34
+ SCRYPTED_MAIN_FILENAME: mainFilename,
35
+ }, process.env, env),
36
+ serialization: 'json',
37
+ // execArgv,
38
+ });
39
+ this.worker.stderr.on('data', (data) => {
40
+ console.error(`stderr: ${data}`);
41
+ });
42
+ this.worker.stdout.on('data', (data) => {
43
+ console.log(`stdout: ${data}`);
44
+ });
45
+ this.setupWorker();
46
+ }
47
+ kill() {
48
+ }
49
+ setupRpcPeer(peer) {
50
+ this.worker.on('message', (message, sendHandle) => {
51
+ if (message.type && sendHandle) {
52
+ peer.handleMessage(message, {
53
+ sendHandle,
54
+ });
55
+ }
56
+ else if (sendHandle) {
57
+ this.emit('rpc', message, sendHandle);
58
+ }
59
+ else {
60
+ peer.handleMessage(message);
61
+ }
62
+ });
63
+ peer.transportSafeArgumentTypes.add(Buffer.name);
64
+ peer.transportSafeArgumentTypes.add(Uint8Array.name);
65
+ }
66
+ send(message, reject, serializationContext) {
67
+ try {
68
+ if (!this.worker)
69
+ throw new Error('fork worker has been killed');
70
+ this.worker.send(message, serializationContext?.sendHandle, e => {
71
+ if (e && reject)
72
+ reject(e);
73
+ });
74
+ }
75
+ catch (e) {
76
+ reject?.(e);
77
+ }
78
+ }
79
+ get pid() {
80
+ return this.worker?.pid;
81
+ }
82
+ }
83
+ exports.DenoWorker = DenoWorker;
84
+ //# sourceMappingURL=deno-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deno-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/deno-worker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { RuntimeWorkerOptions as RuntimeWorkerOptions } from "./runtime-worker";
2
1
  import { RpcMessage, RpcPeer } from "../../rpc";
3
2
  import { ChildProcessWorker } from "./child-process-worker";
3
+ import { RuntimeWorkerOptions } from "./runtime-worker";
4
4
  export declare class NodeForkWorker extends ChildProcessWorker {
5
5
  constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions);
6
6
  setupRpcPeer(peer: RpcPeer): void;
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NodeForkWorker = void 0;
7
7
  const child_process_1 = __importDefault(require("child_process"));
8
- const child_process_worker_1 = require("./child-process-worker");
9
- const socket_serializer_1 = require("../socket-serializer");
10
8
  const net_1 = __importDefault(require("net"));
9
+ const socket_serializer_1 = require("../socket-serializer");
10
+ const child_process_worker_1 = require("./child-process-worker");
11
11
  class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
12
12
  constructor(mainFilename, pluginId, options) {
13
13
  super(pluginId, options);
@@ -1 +1 @@
1
- {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AACA,kEAA0C;AAG1C,iEAA4D;AAE5D,4DAAgE;AAChE,8CAAsB;AAEtB,MAAa,cAAe,SAAQ,yCAAkB;IAElD,YAAY,YAAoB,EAAE,QAAgB,EAAE,OAA6B;QAC7E,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAErC,MAAM,QAAQ,GAAa,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACxC,aAAa,EAAE,UAAU;YACzB,QAAQ;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC9C,IAAK,OAAe,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,OAAc,EAAE;oBAC/B,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBACI,IAAI,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAG,CAAC,MAAM,EAAE,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAAwB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,MAA2B,EAAE,oBAA0B;QAC7E,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC5D,IAAI,CAAC,IAAI,MAAM;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;CACJ;AA1DD,wCA0DC"}
1
+ {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAC1C,8CAAsB;AAEtB,4DAAgE;AAChE,iEAA4D;AAG5D,MAAa,cAAe,SAAQ,yCAAkB;IAElD,YAAY,YAAoB,EAAE,QAAgB,EAAE,OAA6B;QAC7E,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAErC,MAAM,QAAQ,GAAa,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACxC,aAAa,EAAE,UAAU;YACzB,QAAQ;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC9C,IAAK,OAAe,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,OAAc,EAAE;oBAC/B,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBACI,IAAI,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAG,CAAC,MAAM,EAAE,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAAwB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,MAA2B,EAAE,oBAA0B;QAC7E,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC5D,IAAI,CAAC,IAAI,MAAM;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;CACJ;AA1DD,wCA0DC"}
@@ -1,12 +1,12 @@
1
1
  import worker_threads from "worker_threads";
2
- import { EventEmitter } from "ws";
2
+ import { EventEmitter } from "events";
3
3
  import { RpcMessage, RpcPeer } from "../../rpc";
4
4
  import { RuntimeWorker, RuntimeWorkerOptions } from "./runtime-worker";
5
5
  export declare class NodeThreadWorker extends EventEmitter implements RuntimeWorker {
6
6
  pluginId: string;
7
- terminated: boolean;
8
7
  worker: worker_threads.Worker;
9
- constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions);
8
+ port: worker_threads.MessagePort;
9
+ constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions, workerOptions?: worker_threads.WorkerOptions);
10
10
  get pid(): number;
11
11
  get stdout(): import("stream").Readable;
12
12
  get stderr(): import("stream").Readable;