@scrypted/server 0.0.81 → 0.0.85

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.

@@ -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;
@@ -168,6 +168,11 @@ class PluginDeviceProxyHandler {
168
168
  const userInitiated = argArray[1];
169
169
  return this.scrypted.stateManager.refresh(this.id, refreshInterface, userInitiated);
170
170
  }
171
+ if (method === 'createDevice') {
172
+ const nativeId = await this.applyMixin(method, argArray);
173
+ const newDevice = this.scrypted.findPluginDevice(pluginDevice.pluginId, nativeId);
174
+ return newDevice._id;
175
+ }
171
176
  return this.applyMixin(method, argArray);
172
177
  }
173
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-device.js","sourceRoot":"","sources":["../../src/plugin/plugin-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-device.js","sourceRoot":"","sources":["../../src/plugin/plugin-device.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,7 @@ class PluginHostAPI extends plugin_api_1.PluginAPIManagedListeners {
109
109
  }
110
110
  }
111
111
  async onDeviceDiscovered(device) {
112
- await this.pluginHost.upsertDevice(device);
112
+ return this.pluginHost.upsertDevice(device);
113
113
  }
114
114
  async onDeviceRemoved(nativeId) {
115
115
  await this.scrypted.removeDevice(this.scrypted.findPluginDevice(this.pluginId, nativeId));
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+M;AAE/M,0CAAqC;AACrC,6CAAoE;AAEpE,oCAAoC;AAEpC,+DAAuC;AACvC,gCAAuD;AAGvD,MAAa,aAAc,SAAQ,sCAAyB;IA2BrC;IAAkD;IAA+B;IA1BpG,QAAQ,CAAS;IAEjB,CAAC,mCAA6B,CAAC,GAAG;QAC9B,cAAc;QACd,eAAe;QACf,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,mBAAmB;QACnB,aAAa;QACb,gBAAgB;QAChB,UAAU;KACb,CAAC;IAEF,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sFAAsF,CAAC,CAAC;YACxG,OAAO;SACV;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,YAAmB,QAAyB,EAAE,MAAc,EAAS,UAAsB,EAAS,YAA0B;QAC1H,KAAK,EAAE,CAAC;QADO,aAAQ,GAAR,QAAQ,CAAiB;QAAyB,eAAU,GAAV,UAAU,CAAY;QAAS,iBAAY,GAAZ,YAAY,CAAc;QAE1H,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,QAA0B,EAAE,cAAmB,EAAE,SAAe;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAa,IAAA,gBAAQ,EAAC,MAAM,EAAE,iCAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,gCAAgC,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3I,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,mBAAmB,cAAc,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,WAAwB;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAA0B;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,QAAmC,EAAE,KAAU;QACzE,QAAQ,QAAQ,EAAE;YACd,KAAK,iCAAyB,CAAC,IAAI,CAAC;YACpC,KAAK,iCAAyB,CAAC,IAAI,CAAC;YACpC,KAAK,iCAAyB,CAAC,IAAI;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;gBAC1D,OAAO;YACX;gBACI,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;SAClE;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAe;QACpC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAA0B,EAAE,GAAW,EAAE,KAAU;QAC9D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA0B,EAAE,OAAkC;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,cAA8B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC3H,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC5C;QAED,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;YACzC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAa,EAAE,cAAmB,EAAE,SAAe;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,aAAa,CAAI,EAAU;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,aAAkF;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,KAAoC,EAAE,QAAiE;QAClI,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAA,gBAAQ,EAAC,MAAM,EAAE,iCAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACjJ;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;CACJ;AAnJD,sCAmJC"}
1
+ {"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+M;AAE/M,0CAAqC;AACrC,6CAAoE;AAEpE,oCAAoC;AAEpC,+DAAuC;AACvC,gCAAuD;AAGvD,MAAa,aAAc,SAAQ,sCAAyB;IA2BrC;IAAkD;IAA+B;IA1BpG,QAAQ,CAAS;IAEjB,CAAC,mCAA6B,CAAC,GAAG;QAC9B,cAAc;QACd,eAAe;QACf,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,mBAAmB;QACnB,aAAa;QACb,gBAAgB;QAChB,UAAU;KACb,CAAC;IAEF,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sFAAsF,CAAC,CAAC;YACxG,OAAO;SACV;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,YAAmB,QAAyB,EAAE,MAAc,EAAS,UAAsB,EAAS,YAA0B;QAC1H,KAAK,EAAE,CAAC;QADO,aAAQ,GAAR,QAAQ,CAAiB;QAAyB,eAAU,GAAV,UAAU,CAAY;QAAS,iBAAY,GAAZ,YAAY,CAAc;QAE1H,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,QAA0B,EAAE,cAAmB,EAAE,SAAe;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAa,IAAA,gBAAQ,EAAC,MAAM,EAAE,iCAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,gCAAgC,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3I,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,mBAAmB,cAAc,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,WAAwB;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAA0B;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,QAAmC,EAAE,KAAU;QACzE,QAAQ,QAAQ,EAAE;YACd,KAAK,iCAAyB,CAAC,IAAI,CAAC;YACpC,KAAK,iCAAyB,CAAC,IAAI,CAAC;YACpC,KAAK,iCAAyB,CAAC,IAAI;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;gBAC1D,OAAO;YACX;gBACI,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;SAClE;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAe;QACpC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAA0B,EAAE,GAAW,EAAE,KAAU;QAC9D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA0B,EAAE,OAAkC;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,cAA8B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC3H,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC5C;QAED,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;YACzC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAa,EAAE,cAAmB,EAAE,SAAe;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,aAAa,CAAI,EAAU;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,aAAkF;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,KAAoC,EAAE,QAAiE;QAClI,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,IAAA,gBAAQ,EAAC,MAAM,EAAE,iCAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACjJ;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;CACJ;AAnJD,sCAmJC"}
@@ -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.startPluginClusterWorker = exports.PluginHost = void 0;
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 net_2 = __importDefault(require("net"));
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() {
@@ -76,6 +81,7 @@ class PluginHost {
76
81
  async upsertDevice(upsert) {
77
82
  const pi = await this.scrypted.upsertDevice(this.pluginId, upsert, true);
78
83
  await this.remote.setNativeId(pi.nativeId, pi._id, pi.storage || {});
84
+ return pi._id;
79
85
  }
80
86
  constructor(scrypted, plugin, pluginDebug) {
81
87
  this.pluginDebug = pluginDebug;
@@ -86,7 +92,7 @@ class PluginHost {
86
92
  const logger = scrypted.getDeviceLogger(scrypted.findPluginDevice(plugin._id));
87
93
  const volume = path_1.default.join(process.cwd(), 'volume');
88
94
  const cwd = (0, plugin_volume_1.ensurePluginVolume)(this.pluginId);
89
- this.startPluginClusterHost(logger, {
95
+ this.startPluginHost(logger, {
90
96
  NODE_PATH: path_1.default.join(cwd, 'node_modules'),
91
97
  SCRYPTED_PLUGIN_VOLUME: cwd,
92
98
  }, plugin.packageJson.scrypted.runtime);
@@ -177,7 +183,7 @@ class PluginHost {
177
183
  this.listener.removeListener();
178
184
  });
179
185
  }
180
- startPluginClusterHost(logger, env, runtime) {
186
+ startPluginHost(logger, env, runtime) {
181
187
  let connected = true;
182
188
  if (runtime === 'python') {
183
189
  const args = [
@@ -187,9 +193,9 @@ class PluginHost {
187
193
  args.push('-m', 'debugpy', '--listen', `0.0.0.0:${this.pluginDebug.inspectPort}`, '--wait-for-client');
188
194
  }
189
195
  args.push(path_1.default.join(__dirname, '../../python', 'plugin-remote.py'));
190
- this.worker = child_process_1.default.spawn('python', args, {
196
+ this.worker = child_process_1.default.spawn('python3', args, {
191
197
  // stdin, stdout, stderr, peer in, peer out
192
- stdio: ['pipe', 'inherit', 'inherit', 'pipe', 'pipe'],
198
+ stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe'],
193
199
  env: Object.assign({}, process.env, env),
194
200
  });
195
201
  const peerin = this.worker.stdio[3];
@@ -218,7 +224,7 @@ class PluginHost {
218
224
  execArgv.push(`--inspect=0.0.0.0:${this.pluginDebug.inspectPort}`);
219
225
  }
220
226
  this.worker = child_process_1.default.fork(require.main.filename, ['child'], {
221
- stdio: ['pipe', 'inherit', 'inherit', 'ipc'],
227
+ stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
222
228
  env: Object.assign({}, process.env, env),
223
229
  serialization: 'advanced',
224
230
  execArgv,
@@ -237,8 +243,9 @@ class PluginHost {
237
243
  this.peer.transportSafeArgumentTypes.add(Buffer.name);
238
244
  this.worker.on('message', message => this.peer.handleMessage(message));
239
245
  }
240
- // this.worker.stdout.on('data', data => console.log(data.toString()));
241
- // this.worker.stderr.on('data', data => console.error(data.toString()));
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);
242
249
  this.worker.on('disconnect', () => {
243
250
  connected = false;
244
251
  logger.log('e', `${this.pluginName} disconnected`);
@@ -259,143 +266,19 @@ class PluginHost {
259
266
  }
260
267
  }
261
268
  exports.PluginHost = PluginHost;
262
- async function createConsoleServer(events) {
263
- const outputs = new Map();
264
- const appendOutput = (data, nativeId) => {
265
- if (!nativeId)
266
- nativeId = undefined;
267
- let buffers = outputs.get(nativeId);
268
- if (!buffers) {
269
- buffers = [];
270
- outputs.set(nativeId, buffers);
271
- }
272
- buffers.push(data);
273
- // when we're over 4000 lines or whatever these buffer are,
274
- // truncate down to 2000.
275
- if (buffers.length > 4000)
276
- outputs.set(nativeId, buffers.slice(buffers.length - 2000));
277
- };
278
- events.on('stdout', appendOutput);
279
- events.on('stderr', appendOutput);
280
- const server = new net_1.Server(async (socket) => {
281
- let [filter] = await (0, events_1.once)(socket, 'data');
282
- filter = filter.toString().trim();
283
- if (filter === 'undefined')
284
- filter = undefined;
285
- const buffers = outputs.get(filter);
286
- if (buffers) {
287
- const concat = Buffer.concat(buffers);
288
- outputs.set(filter, [concat]);
289
- socket.write(concat);
290
- }
291
- const cb = (data, nativeId) => {
292
- if (nativeId !== filter)
293
- return;
294
- socket.write(data);
295
- };
296
- events.on('stdout', cb);
297
- events.on('stderr', cb);
298
- const cleanup = () => {
299
- events.removeListener('stdout', cb);
300
- events.removeListener('stderr', cb);
301
- };
302
- socket.on('close', cleanup);
303
- socket.on('error', cleanup);
304
- socket.on('end', cleanup);
305
- });
306
- const writeServer = new net_1.Server(async (socket) => {
307
- const [data] = await (0, events_1.once)(socket, 'data');
308
- let filter = data.toString();
309
- const newline = filter.indexOf('\n');
310
- if (newline !== -1) {
311
- socket.unshift(Buffer.from(filter.substring(newline + 1)));
312
- }
313
- filter = filter.substring(0, newline);
314
- if (filter === 'undefined')
315
- filter = undefined;
316
- const cb = (data) => events.emit('stdout', data, filter);
317
- socket.on('data', cb);
318
- const cleanup = () => {
319
- events.removeListener('data', cb);
320
- };
321
- socket.on('close', cleanup);
322
- socket.on('error', cleanup);
323
- socket.on('end', cleanup);
324
- });
325
- const consoleReader = await (0, listen_zero_1.listenZero)(server);
326
- const consoleWriter = await (0, listen_zero_1.listenZero)(writeServer);
327
- return [consoleReader, consoleWriter];
328
- }
329
- async function createREPLServer(events) {
330
- 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')]);
331
- const { deviceManager, systemManager } = scrypted;
332
- const server = new net_1.Server(async (socket) => {
333
- let [filter] = await (0, events_1.once)(socket, 'data');
334
- filter = filter.toString().trim();
335
- if (filter === 'undefined')
336
- filter = undefined;
337
- const chain = [];
338
- const nativeIds = deviceManager.nativeIds;
339
- const reversed = new Map();
340
- for (const nativeId of nativeIds.keys()) {
341
- reversed.set(nativeIds.get(nativeId).id, nativeId);
342
- }
343
- while (filter) {
344
- const { id } = nativeIds.get(filter);
345
- const d = await systemManager.getDeviceById(id);
346
- chain.push(filter);
347
- filter = reversed.get(d.providerId);
348
- }
349
- chain.reverse();
350
- let device = plugin;
351
- for (const c of chain) {
352
- device = await device.getDevice(c);
353
- }
354
- const ctx = Object.assign(params, {
355
- device
356
- });
357
- delete ctx.console;
358
- delete ctx.window;
359
- delete ctx.WebSocket;
360
- delete ctx.pluginHostAPI;
361
- const replFilter = new Set(['require', 'localStorage']);
362
- const replVariables = Object.keys(ctx).filter(key => !replFilter.has(key));
363
- const welcome = `JavaScript REPL variables:\n${replVariables.map(key => ' ' + key).join('\n')}\n\n`;
364
- socket.write(welcome);
365
- const r = repl_1.default.start({
366
- terminal: true,
367
- input: socket,
368
- output: socket,
369
- // writer(this: REPLServer, obj: any) {
370
- // const ret = util.inspect(obj, {
371
- // colors: true,
372
- // });
373
- // return ret;//.replaceAll('\n', '\r\n');
374
- // },
375
- preview: false,
376
- });
377
- Object.assign(r.context, ctx);
378
- const cleanup = () => {
379
- r.close();
380
- };
381
- socket.on('close', cleanup);
382
- socket.on('error', cleanup);
383
- socket.on('end', cleanup);
384
- });
385
- return (0, listen_zero_1.listenZero)(server);
386
- }
387
- function startPluginClusterWorker() {
269
+ function startPluginRemote() {
388
270
  const peer = new rpc_1.RpcPeer('unknown', 'host', (message, reject) => process.send(message, undefined, {
389
271
  swallowErrors: !reject,
390
272
  }, e => {
391
273
  if (e)
392
- reject(e);
274
+ reject?.(e);
393
275
  }));
394
276
  peer.transportSafeArgumentTypes.add(Buffer.name);
395
277
  process.on('message', message => peer.handleMessage(message));
396
- const events = new ws_1.EventEmitter();
397
278
  let systemManager;
398
279
  let deviceManager;
280
+ let api;
281
+ let pluginId;
399
282
  function idForNativeId(nativeId) {
400
283
  if (!deviceManager)
401
284
  return;
@@ -439,15 +322,30 @@ function startPluginClusterWorker() {
439
322
  };
440
323
  const getDeviceConsole = (nativeId) => {
441
324
  return getConsole(async (stdout, stderr) => {
442
- stdout.on('data', data => events.emit('stdout', data, nativeId));
443
- stderr.on('data', data => events.emit('stderr', data, nativeId));
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();
444
344
  }, undefined, undefined);
445
345
  };
446
346
  const getMixinConsole = (mixinId, nativeId) => {
447
347
  return getConsole(async (stdout, stderr) => {
448
348
  if (!mixinId || !systemManager.getDeviceById(mixinId).mixins.includes(idForNativeId(nativeId))) {
449
- stdout.on('data', data => events.emit('stdout', data, nativeId));
450
- stderr.on('data', data => events.emit('stderr', data, nativeId));
451
349
  return;
452
350
  }
453
351
  const plugins = await systemManager.getComponent('plugins');
@@ -459,7 +357,7 @@ function startPluginClusterWorker() {
459
357
  }
460
358
  const { pluginId, nativeId: mixinNativeId } = await plugins.getDeviceInfo(mixinId);
461
359
  const port = await plugins.getRemoteServicePort(pluginId, 'console-writer');
462
- const socket = net_2.default.connect(port);
360
+ const socket = net_1.default.connect(port);
463
361
  socket.write(mixinNativeId + '\n');
464
362
  const writer = (data) => {
465
363
  let str = data.toString().trim();
@@ -491,26 +389,38 @@ function startPluginClusterWorker() {
491
389
  });
492
390
  global?.gc();
493
391
  }, 10000);
494
- const consolePorts = createConsoleServer(events);
495
- const replPort = createREPLServer(events);
496
- const pluginConsole = getDeviceConsole(undefined);
392
+ let replPort;
393
+ let _pluginConsole;
394
+ const getPluginConsole = () => {
395
+ if (_pluginConsole)
396
+ return _pluginConsole;
397
+ _pluginConsole = getDeviceConsole(undefined);
398
+ };
497
399
  (0, plugin_remote_1.attachPluginRemote)(peer, {
498
- createMediaManager: async (systemManager) => new media_1.MediaManagerImpl(systemManager, pluginConsole),
499
- events,
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,
500
413
  getDeviceConsole,
501
414
  getMixinConsole,
502
415
  async getServicePort(name) {
503
- if (name === 'repl')
416
+ if (name === 'repl') {
417
+ if (!replPort)
418
+ throw new Error('REPL unavailable: Plugin not loaded.');
504
419
  return replPort;
505
- if (name === 'console')
506
- return (await consolePorts)[0];
507
- if (name === 'console-writer')
508
- return (await consolePorts)[1];
420
+ }
509
421
  throw new Error(`unknown service ${name}`);
510
422
  },
511
- async beforeLoadZip(zip, packageJson) {
512
- const pluginId = packageJson.name;
513
- peer.selfName = pluginId;
423
+ async onLoadZip(zip, packageJson) {
514
424
  (0, source_map_support_1.install)({
515
425
  environment: 'node',
516
426
  retrieveSourceMap(source) {
@@ -527,32 +437,22 @@ function startPluginClusterWorker() {
527
437
  return null;
528
438
  }
529
439
  });
530
- const cp = await consolePorts;
531
- const writer = cp[1];
532
- const socket = net_2.default.connect(writer);
533
- await (0, events_1.once)(socket, 'connect');
534
- try {
535
- await (0, plugin_npm_dependencies_1.installOptionalDependencies)(pluginConsole, socket, packageJson);
536
- }
537
- finally {
538
- socket.destroy();
539
- }
440
+ await (0, plugin_npm_dependencies_1.installOptionalDependencies)(getPluginConsole(), packageJson);
540
441
  }
541
442
  }).then(scrypted => {
542
443
  systemManager = scrypted.systemManager;
543
444
  deviceManager = scrypted.deviceManager;
544
- events.emit('scrypted', scrypted);
545
445
  process.on('uncaughtException', e => {
546
- pluginConsole.error('uncaughtException', e);
446
+ getPluginConsole().error('uncaughtException', e);
547
447
  scrypted.log.e('uncaughtException ' + e?.toString());
548
448
  });
549
449
  process.on('unhandledRejection', e => {
550
- pluginConsole.error('unhandledRejection', e);
450
+ getPluginConsole().error('unhandledRejection', e);
551
451
  scrypted.log.e('unhandledRejection ' + e?.toString());
552
452
  });
553
453
  });
554
454
  }
555
- exports.startPluginClusterWorker = startPluginClusterWorker;
455
+ exports.startPluginRemote = startPluginRemote;
556
456
  /**
557
457
  * Warning: do not await in any of these methods unless necessary, otherwise
558
458
  * execution order of state reporting may fail.