@scrypted/server 0.1.15 → 0.1.16
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/http-interfaces.js +11 -0
- package/dist/http-interfaces.js.map +1 -1
- package/dist/plugin/media.js +57 -34
- package/dist/plugin/media.js.map +1 -1
- package/dist/plugin/plugin-host.js +6 -4
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/plugin-http.js +1 -1
- package/dist/plugin/plugin-http.js.map +1 -1
- package/dist/plugin/plugin-remote-worker.js +118 -7
- package/dist/plugin/plugin-remote-worker.js.map +1 -1
- package/dist/plugin/plugin-remote.js +11 -81
- package/dist/plugin/plugin-remote.js.map +1 -1
- package/dist/plugin/runtime/node-fork-worker.js +11 -3
- package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
- package/dist/plugin/socket-serializer.js +17 -0
- package/dist/plugin/socket-serializer.js.map +1 -0
- package/dist/rpc.js +1 -1
- package/dist/rpc.js.map +1 -1
- package/dist/runtime.js +3 -1
- package/dist/runtime.js.map +1 -1
- package/dist/scrypted-plugin-main.js +4 -1
- package/dist/scrypted-plugin-main.js.map +1 -1
- package/dist/scrypted-server-main.js +45 -8
- package/dist/scrypted-server-main.js.map +1 -1
- package/package.json +2 -2
- package/src/http-interfaces.ts +13 -0
- package/src/plugin/media.ts +66 -34
- package/src/plugin/plugin-api.ts +1 -0
- package/src/plugin/plugin-host.ts +6 -4
- package/src/plugin/plugin-http.ts +2 -2
- package/src/plugin/plugin-remote-worker.ts +138 -10
- package/src/plugin/plugin-remote.ts +14 -88
- package/src/plugin/runtime/node-fork-worker.ts +11 -3
- package/src/plugin/runtime/runtime-worker.ts +1 -1
- package/src/plugin/socket-serializer.ts +15 -0
- package/src/rpc.ts +1 -1
- package/src/runtime.ts +4 -1
- package/src/scrypted-plugin-main.ts +4 -1
- package/src/scrypted-server-main.ts +51 -9
package/dist/http-interfaces.js
CHANGED
@@ -13,6 +13,7 @@ function createResponseInterface(res, unzippedDir, filesPath) {
|
|
13
13
|
[rpc_1.RpcPeer.PROPERTY_PROXY_ONEWAY_METHODS] = [
|
14
14
|
'send',
|
15
15
|
'sendFile',
|
16
|
+
'sendSocket',
|
16
17
|
];
|
17
18
|
send(body, options) {
|
18
19
|
if (options?.code)
|
@@ -52,6 +53,16 @@ function createResponseInterface(res, unzippedDir, filesPath) {
|
|
52
53
|
}
|
53
54
|
res.sendFile(filePath);
|
54
55
|
}
|
56
|
+
sendSocket(socket, options) {
|
57
|
+
if (options?.code)
|
58
|
+
res.status(options.code);
|
59
|
+
if (options?.headers) {
|
60
|
+
for (const header of Object.keys(options.headers)) {
|
61
|
+
res.setHeader(header, options.headers[header]);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
socket.pipe(res);
|
65
|
+
}
|
55
66
|
}
|
56
67
|
return new HttpResponseImpl();
|
57
68
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http-interfaces.js","sourceRoot":"","sources":["../src/http-interfaces.ts"],"names":[],"mappings":";;;;;;AAEA,+BAAgC;AAChC,+BAAwC;AACxC,4CAAoB;
|
1
|
+
{"version":3,"file":"http-interfaces.js","sourceRoot":"","sources":["../src/http-interfaces.ts"],"names":[],"mappings":";;;;;;AAEA,+BAAgC;AAChC,+BAAwC;AACxC,4CAAoB;AAGpB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,SAAgB,uBAAuB,CAAC,GAAa,EAAE,WAAmB,EAAE,SAAiB;IACzF,MAAM,gBAAgB;QAClB,CAAC,aAAO,CAAC,6BAA6B,CAAC,GAAG;YACtC,MAAM;YACN,UAAU;YACV,YAAY;SACf,CAAC;QAMF,IAAI,CAAC,IAAS,EAAE,OAAa;YACzB,IAAI,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,OAAO,EAAE;gBAClB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC/C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAG,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC3D;aACJ;YAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAID,QAAQ,CAAC,IAAS,EAAE,OAA6B;YAC7C,IAAI,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,OAAO,EAAE;gBAClB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC/C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAG,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC3D;aACJ;YAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,IAAI,EAAE;oBACN,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5C;aACJ;YAED,IAAI,QAAQ,GAAG,IAAA,WAAQ,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC1B,QAAQ,GAAG,IAAA,WAAQ,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC1B,QAAQ,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;wBAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;wBACV,OAAO;qBACV;iBACJ;aACJ;YACD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,UAAU,CAAC,MAAkB,EAAE,OAA4B;YACvD,IAAI,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,OAAO,EAAE;gBAClB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC/C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAG,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC3D;aACJ;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;KACJ;IAED,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAtED,0DAsEC"}
|
package/dist/plugin/media.js
CHANGED
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.MediaManagerHostImpl = exports.MediaManagerImpl = exports.MediaManagerBase = void 0;
|
7
|
-
const ffmpeg_static_1 = __importDefault(require("ffmpeg-static"));
|
8
7
|
const types_1 = require("@scrypted/types");
|
9
8
|
const axios_1 = __importDefault(require("axios"));
|
10
9
|
const child_process_1 = __importDefault(require("child_process"));
|
11
10
|
const events_1 = require("events");
|
11
|
+
const ffmpeg_static_1 = __importDefault(require("ffmpeg-static"));
|
12
12
|
const fs_1 = __importDefault(require("fs"));
|
13
13
|
const https_1 = __importDefault(require("https"));
|
14
14
|
const mime_1 = __importDefault(require("mime"));
|
@@ -16,9 +16,8 @@ const mkdirp_1 = __importDefault(require("mkdirp"));
|
|
16
16
|
const node_dijkstra_1 = __importDefault(require("node-dijkstra"));
|
17
17
|
const os_1 = __importDefault(require("os"));
|
18
18
|
const path_1 = __importDefault(require("path"));
|
19
|
-
const rimraf_1 = __importDefault(require("rimraf"));
|
20
|
-
const tmp_1 = __importDefault(require("tmp"));
|
21
19
|
const whatwg_mimetype_1 = __importDefault(require("whatwg-mimetype"));
|
20
|
+
const media_helpers_1 = require("../media-helpers");
|
22
21
|
function typeMatches(target, candidate) {
|
23
22
|
// candidate will accept anything
|
24
23
|
if (candidate === '*' || target === '*')
|
@@ -33,6 +32,7 @@ const httpsAgent = new https_1.default.Agent({
|
|
33
32
|
});
|
34
33
|
class MediaManagerBase {
|
35
34
|
builtinConverters = [];
|
35
|
+
extraConverters = [];
|
36
36
|
constructor() {
|
37
37
|
for (const h of ['http', 'https']) {
|
38
38
|
this.builtinConverters.push({
|
@@ -111,36 +111,47 @@ class MediaManagerBase {
|
|
111
111
|
toMimeType: 'image/jpeg',
|
112
112
|
convert: async (data, fromMimeType, toMimeType, options) => {
|
113
113
|
const console = this.getMixinConsole(options?.sourceId, undefined);
|
114
|
+
const mt = new whatwg_mimetype_1.default(toMimeType);
|
114
115
|
const ffInput = JSON.parse(data.toString());
|
115
116
|
const args = [
|
116
117
|
'-hide_banner',
|
118
|
+
'-y',
|
117
119
|
];
|
118
120
|
args.push(...ffInput.inputArguments);
|
119
|
-
const
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
console.log('converting ffmpeg input to image.');
|
124
|
-
// ffmpegLogInitialOutput(console, cp);
|
125
|
-
cp.on('error', (code) => {
|
126
|
-
console.error('ffmpeg error code', code);
|
127
|
-
});
|
128
|
-
const to = setTimeout(() => {
|
129
|
-
console.log('ffmpeg stream to image convesion timed out.');
|
130
|
-
cp.kill('SIGKILL');
|
131
|
-
}, 10000);
|
132
|
-
clearTimeout(to);
|
133
|
-
const [exitCode] = await (0, events_1.once)(cp, 'exit');
|
134
|
-
if (exitCode)
|
135
|
-
throw new Error(`ffmpeg stream to image convesion failed with exit code: ${exitCode}`);
|
136
|
-
return fs_1.default.readFileSync(tmpfile.name);
|
137
|
-
}
|
138
|
-
finally {
|
139
|
-
rimraf_1.default.sync(tmpfile.name);
|
121
|
+
const width = parseInt(mt.parameters.get('width'));
|
122
|
+
const height = parseInt(mt.parameters.get('height'));
|
123
|
+
if (mt.parameters.get('width') || mt.parameters.get('height')) {
|
124
|
+
args.push('-vf', `scale=${width || -1}:${height || -1}`);
|
140
125
|
}
|
126
|
+
args.push("-vframes", "1", '-f', 'image2', 'pipe:3');
|
127
|
+
const buffers = [];
|
128
|
+
const cp = child_process_1.default.spawn(await this.getFFmpegPath(), args, {
|
129
|
+
stdio: ['pipe', 'pipe', 'pipe', 'pipe'],
|
130
|
+
});
|
131
|
+
console.log('converting ffmpeg input to image.');
|
132
|
+
// ffmpegLogInitialOutput(console, cp);
|
133
|
+
cp.on('error', (code) => {
|
134
|
+
console.error('ffmpeg error code', code);
|
135
|
+
});
|
136
|
+
cp.stdio[3].on('data', data => buffers.push(data));
|
137
|
+
const to = setTimeout(() => {
|
138
|
+
console.log('ffmpeg stream to image convesion timed out.');
|
139
|
+
(0, media_helpers_1.safeKillFFmpeg)(cp);
|
140
|
+
}, 10000);
|
141
|
+
const [exitCode] = await (0, events_1.once)(cp, 'exit');
|
142
|
+
clearTimeout(to);
|
143
|
+
if (exitCode)
|
144
|
+
throw new Error(`ffmpeg stream to image convesion failed with exit code: ${exitCode}`);
|
145
|
+
return Buffer.concat(buffers);
|
141
146
|
}
|
142
147
|
});
|
143
148
|
}
|
149
|
+
async addConverter(converter) {
|
150
|
+
this.extraConverters.push(converter);
|
151
|
+
}
|
152
|
+
async clearConverters() {
|
153
|
+
this.extraConverters = [];
|
154
|
+
}
|
144
155
|
async convertMediaObjectToJSON(mediaObject, toMimeType) {
|
145
156
|
const buffer = await this.convertMediaObjectToBuffer(mediaObject, toMimeType);
|
146
157
|
return JSON.parse(buffer.toString());
|
@@ -176,7 +187,12 @@ class MediaManagerBase {
|
|
176
187
|
const converters = Object.entries(this.getSystemState())
|
177
188
|
.filter(([id, state]) => state[types_1.ScryptedInterfaceProperty.interfaces]?.value?.includes(types_1.ScryptedInterface.BufferConverter))
|
178
189
|
.map(([id]) => this.getDeviceById(id));
|
190
|
+
// builtins should be after system converters. these should not be overriden by system,
|
191
|
+
// as it could cause system instability with misconfiguration.
|
179
192
|
converters.push(...this.builtinConverters);
|
193
|
+
// extra converters are added last and do allow overriding builtins, as
|
194
|
+
// the instability would be confined to a single plugin.
|
195
|
+
converters.push(...this.extraConverters);
|
180
196
|
return converters;
|
181
197
|
}
|
182
198
|
ensureMediaObjectRemote(mediaObject) {
|
@@ -305,13 +321,15 @@ class MediaManagerBase {
|
|
305
321
|
}
|
306
322
|
// edge matches
|
307
323
|
if (mimeMatches(mediaMime, inputMime)) {
|
324
|
+
const weight = parseFloat(inputMime.parameters.get('converter-weight'));
|
308
325
|
// catch all converters should be heavily weighted so as not to use them.
|
309
|
-
mediaNode[targetId] = inputMime.essence === '*/*' ? 1000 : 1;
|
326
|
+
mediaNode[targetId] = weight || (inputMime.essence === '*/*' ? 1000 : 1);
|
310
327
|
}
|
311
328
|
// target output matches
|
312
329
|
if (mimeMatches(outputMime, convertedMime) || converter.toMimeType === types_1.ScryptedMimeTypes.MediaObject) {
|
330
|
+
const weight = parseFloat(inputMime.parameters.get('converter-weight'));
|
313
331
|
// catch all converters should be heavily weighted so as not to use them.
|
314
|
-
node['output'] =
|
332
|
+
node['output'] = weight || (convertedMime.essence === types_1.ScryptedMimeTypes.MediaObject ? 1000 : 1);
|
315
333
|
}
|
316
334
|
}
|
317
335
|
catch (e) {
|
@@ -331,13 +349,21 @@ class MediaManagerBase {
|
|
331
349
|
route.splice(route.length - 1);
|
332
350
|
let value = await mediaObject.getData();
|
333
351
|
let valueMime = new whatwg_mimetype_1.default(mediaObject.mimeType);
|
334
|
-
|
352
|
+
while (route.length) {
|
353
|
+
const node = route.shift();
|
335
354
|
const converter = converterReverseids.get(node);
|
336
355
|
const converterToMimeType = new whatwg_mimetype_1.default(converter.toMimeType);
|
337
356
|
const converterFromMimeType = new whatwg_mimetype_1.default(converter.fromMimeType);
|
338
357
|
const type = converterToMimeType.type === '*' ? valueMime.type : converterToMimeType.type;
|
339
358
|
const subtype = converterToMimeType.subtype === '*' ? valueMime.subtype : converterToMimeType.subtype;
|
340
|
-
|
359
|
+
let targetMimeType = `${type}/${subtype}`;
|
360
|
+
if (!route.length && outputMime.parameters.size) {
|
361
|
+
const withParameters = new whatwg_mimetype_1.default(targetMimeType);
|
362
|
+
for (const k of outputMime.parameters.keys()) {
|
363
|
+
withParameters.parameters.set(k, outputMime.parameters.get(k));
|
364
|
+
}
|
365
|
+
targetMimeType = outputMime.toString();
|
366
|
+
}
|
341
367
|
if (converter.toMimeType === types_1.ScryptedMimeTypes.MediaObject) {
|
342
368
|
const mo = await converter.convert(value, valueMime.essence, toMimeType, { sourceId });
|
343
369
|
const found = await this.convertMediaObjectToBuffer(mo, toMimeType);
|
@@ -382,19 +408,16 @@ class MediaManagerImpl extends MediaManagerBase {
|
|
382
408
|
exports.MediaManagerImpl = MediaManagerImpl;
|
383
409
|
class MediaManagerHostImpl extends MediaManagerBase {
|
384
410
|
pluginDeviceId;
|
385
|
-
|
411
|
+
getSystemState;
|
386
412
|
console;
|
387
413
|
getDeviceById;
|
388
|
-
constructor(pluginDeviceId,
|
414
|
+
constructor(pluginDeviceId, getSystemState, console, getDeviceById) {
|
389
415
|
super();
|
390
416
|
this.pluginDeviceId = pluginDeviceId;
|
391
|
-
this.
|
417
|
+
this.getSystemState = getSystemState;
|
392
418
|
this.console = console;
|
393
419
|
this.getDeviceById = getDeviceById;
|
394
420
|
}
|
395
|
-
getSystemState() {
|
396
|
-
return this.systemState;
|
397
|
-
}
|
398
421
|
getPluginDeviceId() {
|
399
422
|
return this.pluginDeviceId;
|
400
423
|
}
|
package/dist/plugin/media.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/plugin/media.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/plugin/media.ts"],"names":[],"mappings":"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"}
|
@@ -134,7 +134,7 @@ class PluginHost {
|
|
134
134
|
this.io.on('connection', async (socket) => {
|
135
135
|
try {
|
136
136
|
try {
|
137
|
-
if (socket.request.url.indexOf('/api') !== -1) {
|
137
|
+
if (socket.request.url.indexOf('/engine.io/api') !== -1) {
|
138
138
|
if (socket.request.url.indexOf('/public') !== -1) {
|
139
139
|
socket.close();
|
140
140
|
return;
|
@@ -167,7 +167,7 @@ class PluginHost {
|
|
167
167
|
const self = this;
|
168
168
|
const { runtime } = this.packageJson.scrypted;
|
169
169
|
const mediaManager = runtime === 'python'
|
170
|
-
? new media_1.MediaManagerHostImpl(pluginDeviceId, scrypted.stateManager.getSystemState(), console, id => scrypted.getDevice(id))
|
170
|
+
? new media_1.MediaManagerHostImpl(pluginDeviceId, () => scrypted.stateManager.getSystemState(), console, id => scrypted.getDevice(id))
|
171
171
|
: undefined;
|
172
172
|
this.api = new plugin_host_api_1.PluginHostAPI(scrypted, this.pluginId, this, mediaManager);
|
173
173
|
const zipDir = path_1.default.join(pluginVolume, 'zip');
|
@@ -340,7 +340,8 @@ class PluginHost {
|
|
340
340
|
});
|
341
341
|
serializer.setupRpcPeer(rpcPeer);
|
342
342
|
// wrap the host api with a connection specific api that can be torn down on disconnect
|
343
|
-
const
|
343
|
+
const createMediaManager = await this.peer.getParam('createMediaManager');
|
344
|
+
const api = new plugin_api_1.PluginAPIProxy(this.api, await createMediaManager());
|
344
345
|
const kill = () => {
|
345
346
|
serializer.onDisconnected();
|
346
347
|
api.removeListeners();
|
@@ -352,7 +353,8 @@ class PluginHost {
|
|
352
353
|
async createRpcPeer(duplex) {
|
353
354
|
const rpcPeer = (0, rpc_serializer_1.createDuplexRpcPeer)(`api/${this.pluginId}`, 'duplex', duplex, duplex);
|
354
355
|
// wrap the host api with a connection specific api that can be torn down on disconnect
|
355
|
-
const
|
356
|
+
const createMediaManager = await this.peer.getParam('createMediaManager');
|
357
|
+
const api = new plugin_api_1.PluginAPIProxy(this.api, await createMediaManager());
|
356
358
|
const kill = () => {
|
357
359
|
api.removeListeners();
|
358
360
|
};
|
@@ -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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"}
|
@@ -60,7 +60,7 @@ class PluginHttp {
|
|
60
60
|
end(404, 'Not Found');
|
61
61
|
return;
|
62
62
|
}
|
63
|
-
const pluginData = await this.getEndpointPluginData(endpoint, isUpgrade, isEngineIOEndpoint);
|
63
|
+
const pluginData = await this.getEndpointPluginData(req, endpoint, isUpgrade, isEngineIOEndpoint);
|
64
64
|
if (!pluginData) {
|
65
65
|
end(404, 'Not Found');
|
66
66
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin-http.js","sourceRoot":"","sources":["../../src/plugin/plugin-http.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"plugin-http.js","sourceRoot":"","sources":["../../src/plugin/plugin-http.ts"],"names":[],"mappings":"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"}
|
@@ -4,8 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.startPluginRemote = void 0;
|
7
|
+
const adm_zip_1 = __importDefault(require("adm-zip"));
|
7
8
|
const console_1 = require("console");
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
10
|
+
const memfs_1 = require("memfs");
|
8
11
|
const net_1 = __importDefault(require("net"));
|
12
|
+
const path_1 = __importDefault(require("path"));
|
9
13
|
const source_map_support_1 = require("source-map-support");
|
10
14
|
const stream_1 = require("stream");
|
11
15
|
const rpc_1 = require("../rpc");
|
@@ -13,6 +17,8 @@ const media_1 = require("./media");
|
|
13
17
|
const plugin_npm_dependencies_1 = require("./plugin-npm-dependencies");
|
14
18
|
const plugin_remote_1 = require("./plugin-remote");
|
15
19
|
const plugin_repl_1 = require("./plugin-repl");
|
20
|
+
const node_thread_worker_1 = require("./runtime/node-thread-worker");
|
21
|
+
const { link } = require('linkfs');
|
16
22
|
function startPluginRemote(pluginId, peerSend) {
|
17
23
|
const peer = new rpc_1.RpcPeer('unknown', 'host', peerSend);
|
18
24
|
let systemManager;
|
@@ -58,12 +64,16 @@ function startPluginRemote(pluginId, peerSend) {
|
|
58
64
|
pluginsPromise = api.getComponent('plugins');
|
59
65
|
return pluginsPromise;
|
60
66
|
}
|
67
|
+
const deviceConsoles = new Map();
|
61
68
|
const getDeviceConsole = (nativeId) => {
|
62
69
|
// the the plugin console is simply the default console
|
63
70
|
// and gets read from stderr/stdout.
|
64
71
|
if (!nativeId)
|
65
72
|
return console;
|
66
|
-
|
73
|
+
let ret = deviceConsoles.get(nativeId);
|
74
|
+
if (ret)
|
75
|
+
return ret;
|
76
|
+
ret = getConsole(async (stdout, stderr) => {
|
67
77
|
const connect = async () => {
|
68
78
|
const plugins = await getPlugins();
|
69
79
|
const port = await plugins.getRemoteServicePort(peer.selfName, 'console-writer');
|
@@ -84,9 +94,20 @@ function startPluginRemote(pluginId, peerSend) {
|
|
84
94
|
};
|
85
95
|
connect();
|
86
96
|
}, undefined, undefined);
|
97
|
+
deviceConsoles.set(nativeId, ret);
|
98
|
+
return ret;
|
87
99
|
};
|
100
|
+
const mixinConsoles = new Map();
|
88
101
|
const getMixinConsole = (mixinId, nativeId) => {
|
89
|
-
|
102
|
+
let nativeIdConsoles = mixinConsoles.get(nativeId);
|
103
|
+
if (!nativeIdConsoles) {
|
104
|
+
nativeIdConsoles = new Map();
|
105
|
+
mixinConsoles.set(nativeId, nativeIdConsoles);
|
106
|
+
}
|
107
|
+
let ret = nativeIdConsoles.get(mixinId);
|
108
|
+
if (ret)
|
109
|
+
return ret;
|
110
|
+
ret = getConsole(async (stdout, stderr) => {
|
90
111
|
if (!mixinId) {
|
91
112
|
return;
|
92
113
|
}
|
@@ -134,6 +155,8 @@ function startPluginRemote(pluginId, peerSend) {
|
|
134
155
|
};
|
135
156
|
tryConnect();
|
136
157
|
}, getDeviceConsole(nativeId), `[${systemManager.getDeviceById(mixinId)?.name}]`);
|
158
|
+
nativeIdConsoles.set(mixinId, ret);
|
159
|
+
return ret;
|
137
160
|
};
|
138
161
|
peer.getParam('updateStats').then((updateStats) => {
|
139
162
|
let lastCpuUsage;
|
@@ -165,10 +188,6 @@ function startPluginRemote(pluginId, peerSend) {
|
|
165
188
|
api = _api;
|
166
189
|
peer.selfName = pluginId;
|
167
190
|
},
|
168
|
-
onPluginReady: async (scrypted, params, plugin) => {
|
169
|
-
replPort = (0, plugin_repl_1.createREPLServer)(scrypted, params, plugin);
|
170
|
-
postInstallSourceMapSupport(scrypted);
|
171
|
-
},
|
172
191
|
getPluginConsole,
|
173
192
|
getDeviceConsole,
|
174
193
|
getMixinConsole,
|
@@ -180,7 +199,56 @@ function startPluginRemote(pluginId, peerSend) {
|
|
180
199
|
}
|
181
200
|
throw new Error(`unknown service ${name}`);
|
182
201
|
},
|
183
|
-
async onLoadZip(
|
202
|
+
async onLoadZip(scrypted, params, packageJson, zipData, zipOptions) {
|
203
|
+
let volume;
|
204
|
+
let pluginReader;
|
205
|
+
if (zipOptions?.unzippedPath && fs_1.default.existsSync(zipOptions?.unzippedPath)) {
|
206
|
+
volume = link(fs_1.default, ['', path_1.default.join(zipOptions.unzippedPath, 'fs')]);
|
207
|
+
pluginReader = name => {
|
208
|
+
const filename = path_1.default.join(zipOptions.unzippedPath, name);
|
209
|
+
if (!fs_1.default.existsSync(filename))
|
210
|
+
return;
|
211
|
+
return fs_1.default.readFileSync(filename);
|
212
|
+
};
|
213
|
+
}
|
214
|
+
else {
|
215
|
+
const admZip = new adm_zip_1.default(zipData);
|
216
|
+
volume = new memfs_1.Volume();
|
217
|
+
for (const entry of admZip.getEntries()) {
|
218
|
+
if (entry.isDirectory)
|
219
|
+
continue;
|
220
|
+
if (!entry.entryName.startsWith('fs/'))
|
221
|
+
continue;
|
222
|
+
const name = entry.entryName.substring('fs/'.length);
|
223
|
+
volume.mkdirpSync(path_1.default.dirname(name));
|
224
|
+
const data = entry.getData();
|
225
|
+
volume.writeFileSync(name, data);
|
226
|
+
}
|
227
|
+
pluginReader = name => {
|
228
|
+
const entry = admZip.getEntry(name);
|
229
|
+
if (!entry)
|
230
|
+
return;
|
231
|
+
return entry.getData();
|
232
|
+
};
|
233
|
+
}
|
234
|
+
zipData = undefined;
|
235
|
+
const pluginConsole = getPluginConsole?.();
|
236
|
+
params.console = pluginConsole;
|
237
|
+
params.require = (name) => {
|
238
|
+
if (name === 'fakefs' || (name === 'fs' && !packageJson.scrypted.realfs)) {
|
239
|
+
return volume;
|
240
|
+
}
|
241
|
+
if (name === 'realfs') {
|
242
|
+
return require('fs');
|
243
|
+
}
|
244
|
+
const module = require(name);
|
245
|
+
return module;
|
246
|
+
};
|
247
|
+
const window = {};
|
248
|
+
const exports = window;
|
249
|
+
window.exports = exports;
|
250
|
+
params.window = window;
|
251
|
+
params.exports = exports;
|
184
252
|
const entry = pluginReader('main.nodejs.js.map');
|
185
253
|
const map = entry?.toString();
|
186
254
|
// plugins may install their own sourcemap support during startup, so
|
@@ -212,6 +280,49 @@ function startPluginRemote(pluginId, peerSend) {
|
|
212
280
|
});
|
213
281
|
};
|
214
282
|
await (0, plugin_npm_dependencies_1.installOptionalDependencies)(getPluginConsole(), packageJson);
|
283
|
+
const main = pluginReader('main.nodejs.js');
|
284
|
+
pluginReader = undefined;
|
285
|
+
const script = main.toString();
|
286
|
+
scrypted.fork = async () => {
|
287
|
+
const ntw = new node_thread_worker_1.NodeThreadWorker(pluginId, {
|
288
|
+
env: process.env,
|
289
|
+
pluginDebug: undefined,
|
290
|
+
});
|
291
|
+
const threadPeer = new rpc_1.RpcPeer('main', 'thread', (message, reject) => ntw.send(message, reject));
|
292
|
+
threadPeer.params.updateStats = (stats) => {
|
293
|
+
// todo: merge.
|
294
|
+
// this.stats = stats;
|
295
|
+
};
|
296
|
+
ntw.setupRpcPeer(threadPeer);
|
297
|
+
const remote = await (0, plugin_remote_1.setupPluginRemote)(threadPeer, api, pluginId, () => systemManager.getSystemState());
|
298
|
+
const forkOptions = Object.assign({}, zipOptions);
|
299
|
+
forkOptions.fork = true;
|
300
|
+
return remote.loadZip(packageJson, zipData, forkOptions);
|
301
|
+
};
|
302
|
+
try {
|
303
|
+
peer.evalLocal(script, zipOptions?.filename || '/plugin/main.nodejs.js', params);
|
304
|
+
pluginConsole?.log('plugin successfully loaded');
|
305
|
+
if (zipOptions?.fork) {
|
306
|
+
const fork = exports.fork;
|
307
|
+
const ret = await fork();
|
308
|
+
ret[rpc_1.RpcPeer.PROPERTY_JSON_DISABLE_SERIALIZATION] = true;
|
309
|
+
return ret;
|
310
|
+
}
|
311
|
+
let pluginInstance = exports.default;
|
312
|
+
// support exporting a plugin class, plugin main function,
|
313
|
+
// or a plugin instance
|
314
|
+
if (pluginInstance.toString().startsWith('class '))
|
315
|
+
pluginInstance = new pluginInstance();
|
316
|
+
if (typeof pluginInstance === 'function')
|
317
|
+
pluginInstance = await pluginInstance();
|
318
|
+
replPort = (0, plugin_repl_1.createREPLServer)(scrypted, params, pluginInstance);
|
319
|
+
postInstallSourceMapSupport(scrypted);
|
320
|
+
return pluginInstance;
|
321
|
+
}
|
322
|
+
catch (e) {
|
323
|
+
pluginConsole?.error('plugin failed to start', e);
|
324
|
+
throw e;
|
325
|
+
}
|
215
326
|
}
|
216
327
|
}).then(scrypted => {
|
217
328
|
systemManager = scrypted.systemManager;
|