@scrypted/server 0.0.82 → 0.0.86
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.
Potentially problematic release.
This version of @scrypted/server might be problematic. Click here for more details.
- package/dist/plugin/plugin-console.js +93 -0
- package/dist/plugin/plugin-console.js.map +1 -0
- package/dist/plugin/plugin-device.js +1 -1
- package/dist/plugin/plugin-device.js.map +1 -1
- package/dist/plugin/plugin-host.js +72 -173
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/plugin-npm-dependencies.js +2 -2
- package/dist/plugin/plugin-npm-dependencies.js.map +1 -1
- package/dist/plugin/plugin-remote.js +7 -9
- package/dist/plugin/plugin-remote.js.map +1 -1
- package/dist/plugin/plugin-repl.js +69 -0
- package/dist/plugin/plugin-repl.js.map +1 -0
- package/dist/runtime.js +2 -21
- package/dist/runtime.js.map +1 -1
- package/dist/scrypted-main.js +33 -20
- package/dist/scrypted-main.js.map +1 -1
- package/dist/services/plugin.js +8 -0
- package/dist/services/plugin.js.map +1 -1
- package/package.json +1 -1
- package/python/plugin-remote.py +64 -24
- package/python/rpc.py +1 -1
- package/src/plugin/plugin-console.ts +115 -0
- package/src/plugin/plugin-device.ts +1 -1
- package/src/plugin/plugin-host.ts +70 -197
- package/src/plugin/plugin-npm-dependencies.ts +2 -3
- package/src/plugin/plugin-remote.ts +11 -10
- package/src/plugin/plugin-repl.ts +74 -0
- package/src/runtime.ts +2 -24
- package/src/scrypted-main.ts +36 -22
- package/src/services/plugin.ts +8 -0
- package/test/test-cert.json +4 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createConsoleServer = void 0;
|
|
4
|
+
const ws_1 = require("ws");
|
|
5
|
+
const listen_zero_1 = require("./listen-zero");
|
|
6
|
+
const net_1 = require("net");
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
async function createConsoleServer(stdout, stderr) {
|
|
9
|
+
const outputs = new Map();
|
|
10
|
+
const appendOutput = (data, nativeId) => {
|
|
11
|
+
if (!nativeId)
|
|
12
|
+
nativeId = undefined;
|
|
13
|
+
let buffers = outputs.get(nativeId);
|
|
14
|
+
if (!buffers) {
|
|
15
|
+
buffers = [];
|
|
16
|
+
outputs.set(nativeId, buffers);
|
|
17
|
+
}
|
|
18
|
+
buffers.push(data);
|
|
19
|
+
// when we're over 4000 lines or whatever these buffer are,
|
|
20
|
+
// truncate down to 2000.
|
|
21
|
+
if (buffers.length > 4000)
|
|
22
|
+
outputs.set(nativeId, buffers.slice(buffers.length - 2000));
|
|
23
|
+
};
|
|
24
|
+
const sockets = new Set();
|
|
25
|
+
const events = new ws_1.EventEmitter();
|
|
26
|
+
events.on('stdout', appendOutput);
|
|
27
|
+
events.on('stderr', appendOutput);
|
|
28
|
+
stdout.on('data', data => events.emit('stdout', data));
|
|
29
|
+
stderr.on('data', data => events.emit('stderr', data));
|
|
30
|
+
const readServer = new net_1.Server(async (socket) => {
|
|
31
|
+
sockets.add(socket);
|
|
32
|
+
let [filter] = await (0, events_1.once)(socket, 'data');
|
|
33
|
+
filter = filter.toString().trim();
|
|
34
|
+
if (filter === 'undefined')
|
|
35
|
+
filter = undefined;
|
|
36
|
+
const buffers = outputs.get(filter);
|
|
37
|
+
if (buffers) {
|
|
38
|
+
const concat = Buffer.concat(buffers);
|
|
39
|
+
outputs.set(filter, [concat]);
|
|
40
|
+
socket.write(concat);
|
|
41
|
+
}
|
|
42
|
+
const cb = (data, nativeId) => {
|
|
43
|
+
if (nativeId !== filter)
|
|
44
|
+
return;
|
|
45
|
+
socket.write(data);
|
|
46
|
+
};
|
|
47
|
+
events.on('stdout', cb);
|
|
48
|
+
events.on('stderr', cb);
|
|
49
|
+
const cleanup = () => {
|
|
50
|
+
events.removeListener('stdout', cb);
|
|
51
|
+
events.removeListener('stderr', cb);
|
|
52
|
+
socket.destroy();
|
|
53
|
+
socket.removeAllListeners();
|
|
54
|
+
sockets.delete(socket);
|
|
55
|
+
};
|
|
56
|
+
socket.on('close', cleanup);
|
|
57
|
+
socket.on('error', cleanup);
|
|
58
|
+
socket.on('end', cleanup);
|
|
59
|
+
});
|
|
60
|
+
const writeServer = new net_1.Server(async (socket) => {
|
|
61
|
+
sockets.add(socket);
|
|
62
|
+
const [data] = await (0, events_1.once)(socket, 'data');
|
|
63
|
+
let filter = data.toString();
|
|
64
|
+
const newline = filter.indexOf('\n');
|
|
65
|
+
if (newline !== -1) {
|
|
66
|
+
socket.unshift(Buffer.from(filter.substring(newline + 1)));
|
|
67
|
+
}
|
|
68
|
+
filter = filter.substring(0, newline);
|
|
69
|
+
if (filter === 'undefined')
|
|
70
|
+
filter = undefined;
|
|
71
|
+
const cb = (data) => events.emit('stdout', data, filter);
|
|
72
|
+
socket.on('data', cb);
|
|
73
|
+
const cleanup = () => {
|
|
74
|
+
socket.destroy();
|
|
75
|
+
socket.removeAllListeners();
|
|
76
|
+
sockets.delete(socket);
|
|
77
|
+
};
|
|
78
|
+
socket.once('close', cleanup);
|
|
79
|
+
socket.once('error', cleanup);
|
|
80
|
+
socket.once('end', cleanup);
|
|
81
|
+
});
|
|
82
|
+
const readPort = await (0, listen_zero_1.listenZero)(readServer);
|
|
83
|
+
const writePort = await (0, listen_zero_1.listenZero)(writeServer);
|
|
84
|
+
return {
|
|
85
|
+
readPort,
|
|
86
|
+
writePort,
|
|
87
|
+
readServer,
|
|
88
|
+
writeServer,
|
|
89
|
+
sockets,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
exports.createConsoleServer = createConsoleServer;
|
|
93
|
+
//# sourceMappingURL=plugin-console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-console.js","sourceRoot":"","sources":["../../src/plugin/plugin-console.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,12 @@ const descriptor_1 = require("./descriptor");
|
|
|
9
9
|
class PluginDeviceProxyHandler {
|
|
10
10
|
scrypted;
|
|
11
11
|
id;
|
|
12
|
-
// proxy: Promise<any>;
|
|
13
12
|
mixinTable;
|
|
14
13
|
constructor(scrypted, id) {
|
|
15
14
|
this.scrypted = scrypted;
|
|
16
15
|
this.id = id;
|
|
17
16
|
}
|
|
17
|
+
// should this be async?
|
|
18
18
|
invalidate() {
|
|
19
19
|
const mixinTable = this.mixinTable;
|
|
20
20
|
this.mixinTable = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-device.js","sourceRoot":"","sources":["../../src/plugin/plugin-device.ts"],"names":[],"mappings":";;;AAAA,+CAAgO;AAIhO,gCAAmD;AACnD,oCAAoC;AACpC,sDAAmD;AACnD,6CAAgG;AAQhG,MAAa,wBAAwB;IACjC,QAAQ,CAAkB;IAC1B,EAAE,CAAS;IACX,
|
|
1
|
+
{"version":3,"file":"plugin-device.js","sourceRoot":"","sources":["../../src/plugin/plugin-device.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.startPluginRemote = exports.PluginHost = void 0;
|
|
7
7
|
const rpc_1 = require("../rpc");
|
|
8
8
|
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
9
9
|
const types_1 = require("@scrypted/sdk/types");
|
|
@@ -11,22 +11,19 @@ const engine_io_1 = __importDefault(require("engine.io"));
|
|
|
11
11
|
const plugin_remote_1 = require("./plugin-remote");
|
|
12
12
|
const media_1 = require("./media");
|
|
13
13
|
const state_1 = require("../state");
|
|
14
|
-
const ws_1 = require("ws");
|
|
15
|
-
const listen_zero_1 = require("./listen-zero");
|
|
16
|
-
const net_1 = require("net");
|
|
17
|
-
const repl_1 = __importDefault(require("repl"));
|
|
18
|
-
const events_1 = require("events");
|
|
19
14
|
const stream_1 = require("stream");
|
|
20
15
|
const console_1 = require("console");
|
|
21
16
|
const sleep_1 = require("../sleep");
|
|
22
17
|
const plugin_host_api_1 = require("./plugin-host-api");
|
|
23
18
|
const path_1 = __importDefault(require("path"));
|
|
24
19
|
const source_map_support_1 = require("source-map-support");
|
|
25
|
-
const
|
|
20
|
+
const net_1 = __importDefault(require("net"));
|
|
26
21
|
const child_process_1 = __importDefault(require("child_process"));
|
|
27
22
|
const readline_1 = __importDefault(require("readline"));
|
|
28
23
|
const plugin_volume_1 = require("./plugin-volume");
|
|
29
24
|
const plugin_npm_dependencies_1 = require("./plugin-npm-dependencies");
|
|
25
|
+
const plugin_console_1 = require("./plugin-console");
|
|
26
|
+
const plugin_repl_1 = require("./plugin-repl");
|
|
30
27
|
class PluginHost {
|
|
31
28
|
pluginDebug;
|
|
32
29
|
worker;
|
|
@@ -46,6 +43,7 @@ class PluginHost {
|
|
|
46
43
|
listener;
|
|
47
44
|
stats;
|
|
48
45
|
killed = false;
|
|
46
|
+
consoleServer;
|
|
49
47
|
kill() {
|
|
50
48
|
this.killed = true;
|
|
51
49
|
this.listener.removeListener();
|
|
@@ -68,6 +66,13 @@ class PluginHost {
|
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
68
|
}
|
|
69
|
+
this.consoleServer?.then(server => {
|
|
70
|
+
server.readServer.close();
|
|
71
|
+
server.writeServer.close();
|
|
72
|
+
for (const s of server.sockets) {
|
|
73
|
+
s.destroy();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
71
76
|
setTimeout(() => this.peer.kill('plugin killed'), 500);
|
|
72
77
|
}
|
|
73
78
|
toString() {
|
|
@@ -87,7 +92,7 @@ class PluginHost {
|
|
|
87
92
|
const logger = scrypted.getDeviceLogger(scrypted.findPluginDevice(plugin._id));
|
|
88
93
|
const volume = path_1.default.join(process.cwd(), 'volume');
|
|
89
94
|
const cwd = (0, plugin_volume_1.ensurePluginVolume)(this.pluginId);
|
|
90
|
-
this.
|
|
95
|
+
this.startPluginHost(logger, {
|
|
91
96
|
NODE_PATH: path_1.default.join(cwd, 'node_modules'),
|
|
92
97
|
SCRYPTED_PLUGIN_VOLUME: cwd,
|
|
93
98
|
}, plugin.packageJson.scrypted.runtime);
|
|
@@ -178,7 +183,7 @@ class PluginHost {
|
|
|
178
183
|
this.listener.removeListener();
|
|
179
184
|
});
|
|
180
185
|
}
|
|
181
|
-
|
|
186
|
+
startPluginHost(logger, env, runtime) {
|
|
182
187
|
let connected = true;
|
|
183
188
|
if (runtime === 'python') {
|
|
184
189
|
const args = [
|
|
@@ -188,9 +193,9 @@ class PluginHost {
|
|
|
188
193
|
args.push('-m', 'debugpy', '--listen', `0.0.0.0:${this.pluginDebug.inspectPort}`, '--wait-for-client');
|
|
189
194
|
}
|
|
190
195
|
args.push(path_1.default.join(__dirname, '../../python', 'plugin-remote.py'));
|
|
191
|
-
this.worker = child_process_1.default.spawn('
|
|
196
|
+
this.worker = child_process_1.default.spawn('python3', args, {
|
|
192
197
|
// stdin, stdout, stderr, peer in, peer out
|
|
193
|
-
stdio: ['pipe', '
|
|
198
|
+
stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe'],
|
|
194
199
|
env: Object.assign({}, process.env, env),
|
|
195
200
|
});
|
|
196
201
|
const peerin = this.worker.stdio[3];
|
|
@@ -219,7 +224,7 @@ class PluginHost {
|
|
|
219
224
|
execArgv.push(`--inspect=0.0.0.0:${this.pluginDebug.inspectPort}`);
|
|
220
225
|
}
|
|
221
226
|
this.worker = child_process_1.default.fork(require.main.filename, ['child'], {
|
|
222
|
-
stdio: ['pipe', '
|
|
227
|
+
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
|
223
228
|
env: Object.assign({}, process.env, env),
|
|
224
229
|
serialization: 'advanced',
|
|
225
230
|
execArgv,
|
|
@@ -238,8 +243,9 @@ class PluginHost {
|
|
|
238
243
|
this.peer.transportSafeArgumentTypes.add(Buffer.name);
|
|
239
244
|
this.worker.on('message', message => this.peer.handleMessage(message));
|
|
240
245
|
}
|
|
241
|
-
|
|
242
|
-
|
|
246
|
+
this.worker.stdout.on('data', data => console.log(data.toString()));
|
|
247
|
+
this.worker.stderr.on('data', data => console.error(data.toString()));
|
|
248
|
+
this.consoleServer = (0, plugin_console_1.createConsoleServer)(this.worker.stdout, this.worker.stderr);
|
|
243
249
|
this.worker.on('disconnect', () => {
|
|
244
250
|
connected = false;
|
|
245
251
|
logger.log('e', `${this.pluginName} disconnected`);
|
|
@@ -260,132 +266,7 @@ class PluginHost {
|
|
|
260
266
|
}
|
|
261
267
|
}
|
|
262
268
|
exports.PluginHost = PluginHost;
|
|
263
|
-
|
|
264
|
-
const outputs = new Map();
|
|
265
|
-
const appendOutput = (data, nativeId) => {
|
|
266
|
-
if (!nativeId)
|
|
267
|
-
nativeId = undefined;
|
|
268
|
-
let buffers = outputs.get(nativeId);
|
|
269
|
-
if (!buffers) {
|
|
270
|
-
buffers = [];
|
|
271
|
-
outputs.set(nativeId, buffers);
|
|
272
|
-
}
|
|
273
|
-
buffers.push(data);
|
|
274
|
-
// when we're over 4000 lines or whatever these buffer are,
|
|
275
|
-
// truncate down to 2000.
|
|
276
|
-
if (buffers.length > 4000)
|
|
277
|
-
outputs.set(nativeId, buffers.slice(buffers.length - 2000));
|
|
278
|
-
};
|
|
279
|
-
events.on('stdout', appendOutput);
|
|
280
|
-
events.on('stderr', appendOutput);
|
|
281
|
-
const server = new net_1.Server(async (socket) => {
|
|
282
|
-
let [filter] = await (0, events_1.once)(socket, 'data');
|
|
283
|
-
filter = filter.toString().trim();
|
|
284
|
-
if (filter === 'undefined')
|
|
285
|
-
filter = undefined;
|
|
286
|
-
const buffers = outputs.get(filter);
|
|
287
|
-
if (buffers) {
|
|
288
|
-
const concat = Buffer.concat(buffers);
|
|
289
|
-
outputs.set(filter, [concat]);
|
|
290
|
-
socket.write(concat);
|
|
291
|
-
}
|
|
292
|
-
const cb = (data, nativeId) => {
|
|
293
|
-
if (nativeId !== filter)
|
|
294
|
-
return;
|
|
295
|
-
socket.write(data);
|
|
296
|
-
};
|
|
297
|
-
events.on('stdout', cb);
|
|
298
|
-
events.on('stderr', cb);
|
|
299
|
-
const cleanup = () => {
|
|
300
|
-
events.removeListener('stdout', cb);
|
|
301
|
-
events.removeListener('stderr', cb);
|
|
302
|
-
};
|
|
303
|
-
socket.on('close', cleanup);
|
|
304
|
-
socket.on('error', cleanup);
|
|
305
|
-
socket.on('end', cleanup);
|
|
306
|
-
});
|
|
307
|
-
const writeServer = new net_1.Server(async (socket) => {
|
|
308
|
-
const [data] = await (0, events_1.once)(socket, 'data');
|
|
309
|
-
let filter = data.toString();
|
|
310
|
-
const newline = filter.indexOf('\n');
|
|
311
|
-
if (newline !== -1) {
|
|
312
|
-
socket.unshift(Buffer.from(filter.substring(newline + 1)));
|
|
313
|
-
}
|
|
314
|
-
filter = filter.substring(0, newline);
|
|
315
|
-
if (filter === 'undefined')
|
|
316
|
-
filter = undefined;
|
|
317
|
-
const cb = (data) => events.emit('stdout', data, filter);
|
|
318
|
-
socket.on('data', cb);
|
|
319
|
-
const cleanup = () => {
|
|
320
|
-
events.removeListener('data', cb);
|
|
321
|
-
};
|
|
322
|
-
socket.on('close', cleanup);
|
|
323
|
-
socket.on('error', cleanup);
|
|
324
|
-
socket.on('end', cleanup);
|
|
325
|
-
});
|
|
326
|
-
const consoleReader = await (0, listen_zero_1.listenZero)(server);
|
|
327
|
-
const consoleWriter = await (0, listen_zero_1.listenZero)(writeServer);
|
|
328
|
-
return [consoleReader, consoleWriter];
|
|
329
|
-
}
|
|
330
|
-
async function createREPLServer(events) {
|
|
331
|
-
const [[scrypted], [params], [plugin]] = await Promise.all([(0, events_1.once)(events, 'scrypted'), (0, events_1.once)(events, 'params'), (0, events_1.once)(events, 'plugin')]);
|
|
332
|
-
const { deviceManager, systemManager } = scrypted;
|
|
333
|
-
const server = new net_1.Server(async (socket) => {
|
|
334
|
-
let [filter] = await (0, events_1.once)(socket, 'data');
|
|
335
|
-
filter = filter.toString().trim();
|
|
336
|
-
if (filter === 'undefined')
|
|
337
|
-
filter = undefined;
|
|
338
|
-
const chain = [];
|
|
339
|
-
const nativeIds = deviceManager.nativeIds;
|
|
340
|
-
const reversed = new Map();
|
|
341
|
-
for (const nativeId of nativeIds.keys()) {
|
|
342
|
-
reversed.set(nativeIds.get(nativeId).id, nativeId);
|
|
343
|
-
}
|
|
344
|
-
while (filter) {
|
|
345
|
-
const { id } = nativeIds.get(filter);
|
|
346
|
-
const d = await systemManager.getDeviceById(id);
|
|
347
|
-
chain.push(filter);
|
|
348
|
-
filter = reversed.get(d.providerId);
|
|
349
|
-
}
|
|
350
|
-
chain.reverse();
|
|
351
|
-
let device = plugin;
|
|
352
|
-
for (const c of chain) {
|
|
353
|
-
device = await device.getDevice(c);
|
|
354
|
-
}
|
|
355
|
-
const ctx = Object.assign(params, {
|
|
356
|
-
device
|
|
357
|
-
});
|
|
358
|
-
delete ctx.console;
|
|
359
|
-
delete ctx.window;
|
|
360
|
-
delete ctx.WebSocket;
|
|
361
|
-
delete ctx.pluginHostAPI;
|
|
362
|
-
const replFilter = new Set(['require', 'localStorage']);
|
|
363
|
-
const replVariables = Object.keys(ctx).filter(key => !replFilter.has(key));
|
|
364
|
-
const welcome = `JavaScript REPL variables:\n${replVariables.map(key => ' ' + key).join('\n')}\n\n`;
|
|
365
|
-
socket.write(welcome);
|
|
366
|
-
const r = repl_1.default.start({
|
|
367
|
-
terminal: true,
|
|
368
|
-
input: socket,
|
|
369
|
-
output: socket,
|
|
370
|
-
// writer(this: REPLServer, obj: any) {
|
|
371
|
-
// const ret = util.inspect(obj, {
|
|
372
|
-
// colors: true,
|
|
373
|
-
// });
|
|
374
|
-
// return ret;//.replaceAll('\n', '\r\n');
|
|
375
|
-
// },
|
|
376
|
-
preview: false,
|
|
377
|
-
});
|
|
378
|
-
Object.assign(r.context, ctx);
|
|
379
|
-
const cleanup = () => {
|
|
380
|
-
r.close();
|
|
381
|
-
};
|
|
382
|
-
socket.on('close', cleanup);
|
|
383
|
-
socket.on('error', cleanup);
|
|
384
|
-
socket.on('end', cleanup);
|
|
385
|
-
});
|
|
386
|
-
return (0, listen_zero_1.listenZero)(server);
|
|
387
|
-
}
|
|
388
|
-
function startPluginClusterWorker() {
|
|
269
|
+
function startPluginRemote() {
|
|
389
270
|
const peer = new rpc_1.RpcPeer('unknown', 'host', (message, reject) => process.send(message, undefined, {
|
|
390
271
|
swallowErrors: !reject,
|
|
391
272
|
}, e => {
|
|
@@ -394,9 +275,10 @@ function startPluginClusterWorker() {
|
|
|
394
275
|
}));
|
|
395
276
|
peer.transportSafeArgumentTypes.add(Buffer.name);
|
|
396
277
|
process.on('message', message => peer.handleMessage(message));
|
|
397
|
-
const events = new ws_1.EventEmitter();
|
|
398
278
|
let systemManager;
|
|
399
279
|
let deviceManager;
|
|
280
|
+
let api;
|
|
281
|
+
let pluginId;
|
|
400
282
|
function idForNativeId(nativeId) {
|
|
401
283
|
if (!deviceManager)
|
|
402
284
|
return;
|
|
@@ -440,15 +322,30 @@ function startPluginClusterWorker() {
|
|
|
440
322
|
};
|
|
441
323
|
const getDeviceConsole = (nativeId) => {
|
|
442
324
|
return getConsole(async (stdout, stderr) => {
|
|
443
|
-
|
|
444
|
-
|
|
325
|
+
const plugins = await api.getComponent('plugins');
|
|
326
|
+
const connect = async () => {
|
|
327
|
+
const port = await plugins.getRemoteServicePort(peer.selfName, 'console-writer');
|
|
328
|
+
const socket = net_1.default.connect(port);
|
|
329
|
+
socket.write(nativeId + '\n');
|
|
330
|
+
const writer = (data) => {
|
|
331
|
+
socket.write(data);
|
|
332
|
+
};
|
|
333
|
+
stdout.on('data', writer);
|
|
334
|
+
stderr.on('data', writer);
|
|
335
|
+
socket.on('error', () => {
|
|
336
|
+
stdout.removeAllListeners();
|
|
337
|
+
stderr.removeAllListeners();
|
|
338
|
+
stdout.pause();
|
|
339
|
+
stderr.pause();
|
|
340
|
+
setTimeout(connect, 10000);
|
|
341
|
+
});
|
|
342
|
+
};
|
|
343
|
+
connect();
|
|
445
344
|
}, undefined, undefined);
|
|
446
345
|
};
|
|
447
346
|
const getMixinConsole = (mixinId, nativeId) => {
|
|
448
347
|
return getConsole(async (stdout, stderr) => {
|
|
449
348
|
if (!mixinId || !systemManager.getDeviceById(mixinId).mixins.includes(idForNativeId(nativeId))) {
|
|
450
|
-
stdout.on('data', data => events.emit('stdout', data, nativeId));
|
|
451
|
-
stderr.on('data', data => events.emit('stderr', data, nativeId));
|
|
452
349
|
return;
|
|
453
350
|
}
|
|
454
351
|
const plugins = await systemManager.getComponent('plugins');
|
|
@@ -460,7 +357,7 @@ function startPluginClusterWorker() {
|
|
|
460
357
|
}
|
|
461
358
|
const { pluginId, nativeId: mixinNativeId } = await plugins.getDeviceInfo(mixinId);
|
|
462
359
|
const port = await plugins.getRemoteServicePort(pluginId, 'console-writer');
|
|
463
|
-
const socket =
|
|
360
|
+
const socket = net_1.default.connect(port);
|
|
464
361
|
socket.write(mixinNativeId + '\n');
|
|
465
362
|
const writer = (data) => {
|
|
466
363
|
let str = data.toString().trim();
|
|
@@ -492,26 +389,38 @@ function startPluginClusterWorker() {
|
|
|
492
389
|
});
|
|
493
390
|
global?.gc();
|
|
494
391
|
}, 10000);
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
const
|
|
392
|
+
let replPort;
|
|
393
|
+
let _pluginConsole;
|
|
394
|
+
const getPluginConsole = () => {
|
|
395
|
+
if (_pluginConsole)
|
|
396
|
+
return _pluginConsole;
|
|
397
|
+
_pluginConsole = getDeviceConsole(undefined);
|
|
398
|
+
};
|
|
498
399
|
(0, plugin_remote_1.attachPluginRemote)(peer, {
|
|
499
|
-
createMediaManager: async (
|
|
500
|
-
|
|
400
|
+
createMediaManager: async (sm) => {
|
|
401
|
+
systemManager = sm;
|
|
402
|
+
return new media_1.MediaManagerImpl(systemManager, getPluginConsole());
|
|
403
|
+
},
|
|
404
|
+
onGetRemote: async (_api, _pluginId) => {
|
|
405
|
+
api = _api;
|
|
406
|
+
pluginId = _pluginId;
|
|
407
|
+
peer.selfName = pluginId;
|
|
408
|
+
},
|
|
409
|
+
onPluginReady: async (scrypted, params, plugin) => {
|
|
410
|
+
replPort = (0, plugin_repl_1.createREPLServer)(scrypted, params, plugin);
|
|
411
|
+
},
|
|
412
|
+
getPluginConsole,
|
|
501
413
|
getDeviceConsole,
|
|
502
414
|
getMixinConsole,
|
|
503
415
|
async getServicePort(name) {
|
|
504
|
-
if (name === 'repl')
|
|
416
|
+
if (name === 'repl') {
|
|
417
|
+
if (!replPort)
|
|
418
|
+
throw new Error('REPL unavailable: Plugin not loaded.');
|
|
505
419
|
return replPort;
|
|
506
|
-
|
|
507
|
-
return (await consolePorts)[0];
|
|
508
|
-
if (name === 'console-writer')
|
|
509
|
-
return (await consolePorts)[1];
|
|
420
|
+
}
|
|
510
421
|
throw new Error(`unknown service ${name}`);
|
|
511
422
|
},
|
|
512
|
-
async
|
|
513
|
-
const pluginId = packageJson.name;
|
|
514
|
-
peer.selfName = pluginId;
|
|
423
|
+
async onLoadZip(zip, packageJson) {
|
|
515
424
|
(0, source_map_support_1.install)({
|
|
516
425
|
environment: 'node',
|
|
517
426
|
retrieveSourceMap(source) {
|
|
@@ -528,32 +437,22 @@ function startPluginClusterWorker() {
|
|
|
528
437
|
return null;
|
|
529
438
|
}
|
|
530
439
|
});
|
|
531
|
-
|
|
532
|
-
const writer = cp[1];
|
|
533
|
-
const socket = net_2.default.connect(writer);
|
|
534
|
-
await (0, events_1.once)(socket, 'connect');
|
|
535
|
-
try {
|
|
536
|
-
await (0, plugin_npm_dependencies_1.installOptionalDependencies)(pluginConsole, socket, packageJson);
|
|
537
|
-
}
|
|
538
|
-
finally {
|
|
539
|
-
socket.destroy();
|
|
540
|
-
}
|
|
440
|
+
await (0, plugin_npm_dependencies_1.installOptionalDependencies)(getPluginConsole(), packageJson);
|
|
541
441
|
}
|
|
542
442
|
}).then(scrypted => {
|
|
543
443
|
systemManager = scrypted.systemManager;
|
|
544
444
|
deviceManager = scrypted.deviceManager;
|
|
545
|
-
events.emit('scrypted', scrypted);
|
|
546
445
|
process.on('uncaughtException', e => {
|
|
547
|
-
|
|
446
|
+
getPluginConsole().error('uncaughtException', e);
|
|
548
447
|
scrypted.log.e('uncaughtException ' + e?.toString());
|
|
549
448
|
});
|
|
550
449
|
process.on('unhandledRejection', e => {
|
|
551
|
-
|
|
450
|
+
getPluginConsole().error('unhandledRejection', e);
|
|
552
451
|
scrypted.log.e('unhandledRejection ' + e?.toString());
|
|
553
452
|
});
|
|
554
453
|
});
|
|
555
454
|
}
|
|
556
|
-
exports.
|
|
455
|
+
exports.startPluginRemote = startPluginRemote;
|
|
557
456
|
/**
|
|
558
457
|
* Warning: do not await in any of these methods unless necessary, otherwise
|
|
559
458
|
* execution order of state reporting may fail.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../src/plugin/plugin-host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../src/plugin/plugin-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
9
9
|
const child_process_1 = __importDefault(require("child_process"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const events_1 = require("events");
|
|
12
|
-
async function installOptionalDependencies(console,
|
|
12
|
+
async function installOptionalDependencies(console, packageJson) {
|
|
13
13
|
const pluginVolume = (0, plugin_volume_1.ensurePluginVolume)(packageJson.name);
|
|
14
14
|
const optPj = path_1.default.join(pluginVolume, 'package.json');
|
|
15
15
|
let currentPackageJson;
|
|
@@ -37,7 +37,7 @@ async function installOptionalDependencies(console, socket, packageJson) {
|
|
|
37
37
|
fs_1.default.writeFileSync(optPj, JSON.stringify(reduced));
|
|
38
38
|
const cp = child_process_1.default.spawn('npm', ['--prefix', pluginVolume, 'install'], {
|
|
39
39
|
cwd: pluginVolume,
|
|
40
|
-
stdio:
|
|
40
|
+
stdio: 'inherit',
|
|
41
41
|
});
|
|
42
42
|
await (0, events_1.once)(cp, 'exit');
|
|
43
43
|
if (cp.exitCode !== 0)
|