@scrypted/server 0.123.1 → 0.123.3

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 (98) hide show
  1. package/dist/ip.d.ts +2 -0
  2. package/dist/ip.js +5 -4
  3. package/dist/ip.js.map +1 -1
  4. package/dist/listen-zero.d.ts +5 -2
  5. package/dist/listen-zero.js +2 -1
  6. package/dist/listen-zero.js.map +1 -1
  7. package/dist/plugin/plugin-api.d.ts +9 -3
  8. package/dist/plugin/plugin-api.js +10 -1
  9. package/dist/plugin/plugin-api.js.map +1 -1
  10. package/dist/plugin/plugin-console.d.ts +2 -1
  11. package/dist/plugin/plugin-console.js +27 -6
  12. package/dist/plugin/plugin-console.js.map +1 -1
  13. package/dist/plugin/plugin-host-api.js +1 -1
  14. package/dist/plugin/plugin-host-api.js.map +1 -1
  15. package/dist/plugin/plugin-host.d.ts +4 -7
  16. package/dist/plugin/plugin-host.js +76 -62
  17. package/dist/plugin/plugin-host.js.map +1 -1
  18. package/dist/plugin/plugin-lazy-remote.d.ts +3 -3
  19. package/dist/plugin/plugin-lazy-remote.js +2 -2
  20. package/dist/plugin/plugin-lazy-remote.js.map +1 -1
  21. package/dist/plugin/plugin-remote-stats.d.ts +2 -2
  22. package/dist/plugin/plugin-remote-stats.js +4 -2
  23. package/dist/plugin/plugin-remote-stats.js.map +1 -1
  24. package/dist/plugin/plugin-remote-worker.d.ts +0 -1
  25. package/dist/plugin/plugin-remote-worker.js +77 -335
  26. package/dist/plugin/plugin-remote-worker.js.map +1 -1
  27. package/dist/plugin/plugin-remote.d.ts +3 -3
  28. package/dist/plugin/plugin-remote.js +2 -2
  29. package/dist/plugin/plugin-remote.js.map +1 -1
  30. package/dist/plugin/plugin-repl.js +2 -1
  31. package/dist/plugin/plugin-repl.js.map +1 -1
  32. package/dist/plugin/runtime/cluster-fork.worker.d.ts +9 -0
  33. package/dist/plugin/runtime/cluster-fork.worker.js +73 -0
  34. package/dist/plugin/runtime/cluster-fork.worker.js.map +1 -0
  35. package/dist/plugin/runtime/custom-worker.js +2 -2
  36. package/dist/plugin/runtime/custom-worker.js.map +1 -1
  37. package/dist/plugin/runtime/node-fork-worker.js +5 -3
  38. package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
  39. package/dist/plugin/runtime/python-worker.js +2 -2
  40. package/dist/plugin/runtime/python-worker.js.map +1 -1
  41. package/dist/rpc.d.ts +1 -0
  42. package/dist/rpc.js +3 -2
  43. package/dist/rpc.js.map +1 -1
  44. package/dist/runtime.d.ts +4 -0
  45. package/dist/runtime.js +16 -2
  46. package/dist/runtime.js.map +1 -1
  47. package/dist/scrypted-cluster-common.d.ts +22 -0
  48. package/dist/scrypted-cluster-common.js +332 -0
  49. package/dist/scrypted-cluster-common.js.map +1 -0
  50. package/dist/scrypted-cluster-main.d.ts +2 -0
  51. package/dist/scrypted-cluster-main.js +12 -0
  52. package/dist/scrypted-cluster-main.js.map +1 -0
  53. package/dist/scrypted-cluster.d.ts +38 -0
  54. package/dist/scrypted-cluster.js +277 -0
  55. package/dist/scrypted-cluster.js.map +1 -0
  56. package/dist/scrypted-main-exports.js +20 -14
  57. package/dist/scrypted-main-exports.js.map +1 -1
  58. package/dist/scrypted-server-main.js +8 -15
  59. package/dist/scrypted-server-main.js.map +1 -1
  60. package/dist/server-settings.d.ts +1 -0
  61. package/dist/server-settings.js +2 -1
  62. package/dist/server-settings.js.map +1 -1
  63. package/dist/services/backup.js.map +1 -1
  64. package/dist/services/cluster-fork.d.ts +7 -0
  65. package/dist/services/cluster-fork.js +25 -0
  66. package/dist/services/cluster-fork.js.map +1 -0
  67. package/dist/services/plugin.d.ts +2 -7
  68. package/dist/services/plugin.js +2 -17
  69. package/dist/services/plugin.js.map +1 -1
  70. package/package.json +2 -2
  71. package/python/plugin_remote.py +150 -135
  72. package/python/rpc_reader.py +3 -19
  73. package/src/ip.ts +5 -4
  74. package/src/listen-zero.ts +3 -2
  75. package/src/plugin/plugin-api.ts +11 -3
  76. package/src/plugin/plugin-console.ts +29 -7
  77. package/src/plugin/plugin-host-api.ts +1 -1
  78. package/src/plugin/plugin-host.ts +92 -77
  79. package/src/plugin/plugin-lazy-remote.ts +4 -4
  80. package/src/plugin/plugin-remote-stats.ts +6 -4
  81. package/src/plugin/plugin-remote-worker.ts +91 -376
  82. package/src/plugin/plugin-remote.ts +5 -5
  83. package/src/plugin/plugin-repl.ts +2 -1
  84. package/src/plugin/runtime/cluster-fork.worker.ts +92 -0
  85. package/src/plugin/runtime/custom-worker.ts +2 -2
  86. package/src/plugin/runtime/node-fork-worker.ts +6 -3
  87. package/src/plugin/runtime/python-worker.ts +2 -2
  88. package/src/rpc.ts +3 -2
  89. package/src/runtime.ts +17 -2
  90. package/src/scrypted-cluster-common.ts +374 -0
  91. package/src/scrypted-cluster-main.ts +12 -0
  92. package/src/scrypted-cluster.ts +329 -0
  93. package/src/scrypted-main-exports.ts +22 -16
  94. package/src/scrypted-server-main.ts +15 -23
  95. package/src/server-settings.ts +1 -0
  96. package/src/services/backup.ts +0 -1
  97. package/src/services/cluster-fork.ts +22 -0
  98. package/src/services/plugin.ts +3 -21
package/dist/ip.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import net from 'net';
2
+ export declare const loopbackList: net.BlockList;
1
3
  export declare function isIPv4EmbeddedIPv6(address: string): boolean;
2
4
  export declare function removeIPv4EmbeddedIPv6(address: string): string;
3
5
  export declare function getUsableNetworkAddresses(): string[];
package/dist/ip.js CHANGED
@@ -3,15 +3,16 @@ 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.loopbackList = void 0;
6
7
  exports.isIPv4EmbeddedIPv6 = isIPv4EmbeddedIPv6;
7
8
  exports.removeIPv4EmbeddedIPv6 = removeIPv4EmbeddedIPv6;
8
9
  exports.getUsableNetworkAddresses = getUsableNetworkAddresses;
9
10
  const os_1 = __importDefault(require("os"));
10
11
  const net_1 = __importDefault(require("net"));
12
+ exports.loopbackList = new net_1.default.BlockList();
13
+ exports.loopbackList.addSubnet('127.0.0.0', 8);
14
+ exports.loopbackList.addAddress('::1', 'ipv6');
11
15
  const unusableList = new net_1.default.BlockList();
12
- // loopback
13
- unusableList.addSubnet('127.0.0.0', 8);
14
- unusableList.addAddress('::1', 'ipv6');
15
16
  // link local
16
17
  unusableList.addSubnet('169.254.0.0', 16);
17
18
  unusableList.addSubnet('fe80::', 64, 'ipv6');
@@ -50,7 +51,7 @@ function isUsableNetworkAddress(address) {
50
51
  // ipv6 addresses are "usable" in the context of scrypted if they are public.
51
52
  if (type === 'ipv6' && privateList.check(address, type))
52
53
  return false;
53
- return !unusableList.check(address, type);
54
+ return !unusableList.check(address, type) && !exports.loopbackList.check(address, type);
54
55
  }
55
56
  catch (e) {
56
57
  return false;
package/dist/ip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sourceRoot":"","sources":["../src/ip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../src/ip.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import net from 'net';
2
+ import tls from 'tls';
2
3
  export declare class ListenZeroSingleClientTimeoutError extends Error {
3
4
  constructor();
4
5
  }
5
6
  export declare function listenZero(server: net.Server, hostname: string): Promise<number>;
6
- export declare function listenZeroSingleClient(hostname: string, options?: net.ServerOpts, listenTimeout?: number): Promise<{
7
- server: net.Server;
7
+ export declare function listenZeroSingleClient(hostname: string, options?: net.ServerOpts & {
8
+ tls?: boolean;
9
+ }, listenTimeout?: number): Promise<{
10
+ server: tls.Server | net.Server;
8
11
  cancel: () => void;
9
12
  url: string;
10
13
  host: string;
@@ -8,6 +8,7 @@ exports.listenZero = listenZero;
8
8
  exports.listenZeroSingleClient = listenZeroSingleClient;
9
9
  const events_1 = require("events");
10
10
  const net_1 = __importDefault(require("net"));
11
+ const tls_1 = __importDefault(require("tls"));
11
12
  class ListenZeroSingleClientTimeoutError extends Error {
12
13
  constructor() {
13
14
  super('timeout waiting for client');
@@ -20,7 +21,7 @@ async function listenZero(server, hostname) {
20
21
  return server.address().port;
21
22
  }
22
23
  async function listenZeroSingleClient(hostname, options, listenTimeout = 30000) {
23
- const server = new net_1.default.Server(options);
24
+ const server = options?.tls ? new tls_1.default.Server(options) : new net_1.default.Server(options);
24
25
  const port = await listenZero(server, hostname);
25
26
  let cancel;
26
27
  const clientPromise = new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"listen-zero.js","sourceRoot":"","sources":["../src/listen-zero.ts"],"names":[],"mappings":";;;;;;AASA,gCAIC;AAED,wDAkCC;AAjDD,mCAA8B;AAC9B,8CAAsB;AAEtB,MAAa,kCAAmC,SAAQ,KAAK;IACzD;QACI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACvC,CAAC;CACJ;AAJD,gFAIC;AAEM,KAAK,UAAU,UAAU,CAAC,MAAkB,EAAE,QAAgB;IACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC;IAC1C,MAAM,IAAA,aAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,OAAQ,MAAM,CAAC,OAAO,EAAsB,CAAC,IAAI,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,QAAgB,EAAE,OAAwB,EAAE,aAAa,GAAG,KAAK;IAC1G,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhD,IAAI,MAAkB,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAC;QACrD,CAAC,EAAE,aAAa,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;YAC7B,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/B,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAC3B,IAAI,GAAG,WAAW,CAAC;IAEvB,OAAO;QACH,MAAM;QACN,MAAM;QACN,GAAG,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;QAC5B,IAAI;QACJ,IAAI;QACJ,aAAa;KAChB,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"listen-zero.js","sourceRoot":"","sources":["../src/listen-zero.ts"],"names":[],"mappings":";;;;;;AAUA,gCAIC;AAED,wDAkCC;AAlDD,mCAA8B;AAC9B,8CAAsB;AACtB,8CAAsB;AAEtB,MAAa,kCAAmC,SAAQ,KAAK;IACzD;QACI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACvC,CAAC;CACJ;AAJD,gFAIC;AAEM,KAAK,UAAU,UAAU,CAAC,MAAkB,EAAE,QAAgB;IACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC;IAC1C,MAAM,IAAA,aAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,OAAQ,MAAM,CAAC,OAAO,EAAsB,CAAC,IAAI,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,QAAgB,EAAE,OAA4C,EAAE,aAAa,GAAG,KAAK;IAC9H,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhD,IAAI,MAAkB,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAC;QACrD,CAAC,EAAE,aAAa,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;YAC7B,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/B,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAC3B,IAAI,GAAG,WAAW,CAAC;IAEvB,OAAO;QACH,MAAM;QACN,MAAM;QACN,GAAG,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE;QAC5B,IAAI;QACJ,IAAI;QACJ,aAAa;KAChB,CAAA;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Device, DeviceManifest, EventDetails, EventListenerOptions, EventListenerRegister, MediaManager, MediaObject, ScryptedDevice, ScryptedInterfaceDescriptor, ScryptedInterfaceProperty, ScryptedNativeId, SystemDeviceState } from '@scrypted/types';
2
- import { AccessControls } from './acl';
2
+ import type { AccessControls } from './acl';
3
+ import type { PluginStats } from './plugin-remote-stats';
3
4
  export interface PluginLogger {
4
5
  log(level: string, message: string): Promise<void>;
5
6
  clear(): Promise<void>;
@@ -72,8 +73,13 @@ export interface PluginRemoteLoadZipOptions {
72
73
  clusterId: string;
73
74
  clusterSecret: string;
74
75
  }
76
+ export declare class PluginZipAPI {
77
+ getZip: () => Promise<Buffer>;
78
+ updateStats: (stats: PluginStats) => Promise<void>;
79
+ constructor(getZip: () => Promise<Buffer>, updateStats: (stats: PluginStats) => Promise<void>);
80
+ }
75
81
  export interface PluginRemote {
76
- loadZip(packageJson: any, getZip: () => Promise<Buffer>, options: PluginRemoteLoadZipOptions): Promise<any>;
82
+ loadZip(packageJson: any, zipAPI: PluginZipAPI, options: PluginRemoteLoadZipOptions): Promise<any>;
77
83
  setSystemState(state: {
78
84
  [id: string]: {
79
85
  [property: string]: SystemDeviceState;
@@ -92,7 +98,7 @@ export interface PluginRemote {
92
98
  notify(id: string, eventDetails: EventDetails, eventData: SystemDeviceState | any): Promise<void>;
93
99
  ioEvent(id: string, event: string, message?: any): Promise<void>;
94
100
  createDeviceState(id: string, setState: (property: string, value: any) => Promise<any>): Promise<any>;
95
- getServicePort(name: string, ...args: any[]): Promise<number>;
101
+ getServicePort(name: string, ...args: any[]): Promise<[number, string]>;
96
102
  }
97
103
  export interface MediaObjectRemote extends MediaObject {
98
104
  getData(): Promise<Buffer | string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginAPIProxy = exports.PluginAPIManagedListeners = void 0;
3
+ exports.PluginZipAPI = exports.PluginAPIProxy = exports.PluginAPIManagedListeners = void 0;
4
4
  class EventListenerRegisterProxy {
5
5
  listener;
6
6
  listeners;
@@ -117,4 +117,13 @@ class PluginAPIProxy extends PluginAPIManagedListeners {
117
117
  }
118
118
  }
119
119
  exports.PluginAPIProxy = PluginAPIProxy;
120
+ class PluginZipAPI {
121
+ getZip;
122
+ updateStats;
123
+ constructor(getZip, updateStats) {
124
+ this.getZip = getZip;
125
+ this.updateStats = updateStats;
126
+ }
127
+ }
128
+ exports.PluginZipAPI = PluginZipAPI;
120
129
  //# sourceMappingURL=plugin-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { DeviceManager, ScryptedNativeId, SystemManager } from '@scrypted/types';
2
- import { PassThrough, Readable } from 'stream';
2
+ import { PassThrough, Readable, Writable } from 'stream';
3
3
  export interface ConsoleServer {
4
4
  pluginConsole: Console;
5
5
  readPort: number;
@@ -28,3 +28,4 @@ export declare function pipeWorkerConsole(nativeWorker: {
28
28
  stdout: Readable;
29
29
  stderr: Readable;
30
30
  }, useConsole?: Console): void;
31
+ export declare function writeWorkerGenerator(asyncIterator: AsyncGenerator<Buffer>, writable: Writable): Promise<void>;
@@ -27,11 +27,13 @@ exports.getConsole = getConsole;
27
27
  exports.prepareConsoles = prepareConsoles;
28
28
  exports.createConsoleServer = createConsoleServer;
29
29
  exports.pipeWorkerConsole = pipeWorkerConsole;
30
+ exports.writeWorkerGenerator = writeWorkerGenerator;
30
31
  const console_1 = require("console");
31
32
  const events_1 = require("events");
32
33
  const net_1 = __importStar(require("net"));
33
34
  const stream_1 = require("stream");
34
35
  const listen_zero_1 = require("../listen-zero");
36
+ const scrypted_cluster_common_1 = require("../scrypted-cluster-common");
35
37
  function getConsole(hook, also, alsoPrefix) {
36
38
  const stdout = new stream_1.PassThrough();
37
39
  const stderr = new stream_1.PassThrough();
@@ -79,8 +81,11 @@ function prepareConsoles(getConsoleName, systemManager, deviceManager, getPlugin
79
81
  ret = getConsole(async (stdout, stderr) => {
80
82
  const connect = async () => {
81
83
  const plugins = await getPlugins();
82
- const port = await plugins.getRemoteServicePort(getConsoleName(), 'console-writer');
83
- const socket = net_1.default.connect(port);
84
+ const [port, host] = await plugins.getRemoteServicePort(getConsoleName(), 'console-writer');
85
+ const socket = net_1.default.connect({
86
+ port,
87
+ host,
88
+ });
84
89
  socket.write(nativeId + '\n');
85
90
  const writer = (data) => {
86
91
  socket.write(data);
@@ -132,8 +137,12 @@ function prepareConsoles(getConsoleName, systemManager, deviceManager, getPlugin
132
137
  if (!mixin)
133
138
  return;
134
139
  const { pluginId, nativeId: mixinNativeId } = mixin;
135
- const port = await plugins.getRemoteServicePort(pluginId, 'console-writer');
136
- const socket = net_1.default.connect(port);
140
+ const [port, host] = await plugins.getRemoteServicePort(pluginId, 'console-writer');
141
+ const socket = net_1.default.connect({
142
+ port,
143
+ host,
144
+ });
145
+ socket.on('error', () => { });
137
146
  socket.write(mixinNativeId + '\n');
138
147
  const writer = (data) => {
139
148
  let str = data.toString().trim();
@@ -264,8 +273,11 @@ async function createConsoleServer(remoteStdout, remoteStderr, header) {
264
273
  socket.once('error', cleanup);
265
274
  socket.once('end', cleanup);
266
275
  });
267
- const readPort = await (0, listen_zero_1.listenZero)(readServer, '127.0.0.1');
268
- const writePort = await (0, listen_zero_1.listenZero)(writeServer, '127.0.0.1');
276
+ let address = '0.0.0.0';
277
+ if ((0, scrypted_cluster_common_1.isClusterAddress)(address))
278
+ address = '127.0.0.1';
279
+ const readPort = await (0, listen_zero_1.listenZero)(readServer, address);
280
+ const writePort = await (0, listen_zero_1.listenZero)(writeServer, address);
269
281
  return {
270
282
  clear(nativeId) {
271
283
  const pt = outputs.get(nativeId);
@@ -299,4 +311,13 @@ function pipeWorkerConsole(nativeWorker, useConsole = console) {
299
311
  useConsole.error(data.toString());
300
312
  });
301
313
  }
314
+ async function writeWorkerGenerator(asyncIterator, writable) {
315
+ try {
316
+ for await (const data of asyncIterator) {
317
+ writable.write(data);
318
+ }
319
+ }
320
+ catch (e) {
321
+ }
322
+ }
302
323
  //# sourceMappingURL=plugin-console.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-console.js","sourceRoot":"","sources":["../../src/plugin/plugin-console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-console.js","sourceRoot":"","sources":["../../src/plugin/plugin-console.ts"],"names":[],"mappings":"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"}
@@ -171,7 +171,7 @@ class PluginHostAPI extends plugin_api_1.PluginAPIManagedListeners {
171
171
  }
172
172
  async requestRestart() {
173
173
  const logger = await this.getLogger(undefined);
174
- logger.log('i', 'plugin restart was requested');
174
+ logger?.log('i', 'plugin restart was requested');
175
175
  return this.restartDebounced();
176
176
  }
177
177
  async setScryptedInterfaceDescriptors(typesVersion, descriptors) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Device } from '@scrypted/types';
2
- import { Duplex } from 'stream';
3
2
  import WebSocket from 'ws';
4
3
  import { Plugin } from '../db-types';
5
4
  import { IOServer, IOServerSocket } from '../io';
@@ -11,6 +10,7 @@ import { PluginRemote } from './plugin-api';
11
10
  import { ConsoleServer } from './plugin-console';
12
11
  import { PluginDebug } from './plugin-debug';
13
12
  import { PluginHostAPI } from './plugin-host-api';
13
+ import { PluginStats } from './plugin-remote-stats';
14
14
  import { RuntimeWorker } from './runtime/runtime-worker';
15
15
  export declare class UnsupportedRuntimeError extends Error {
16
16
  constructor(runtime: string);
@@ -29,10 +29,8 @@ export declare class PluginHost {
29
29
  api: PluginHostAPI;
30
30
  pluginName: string;
31
31
  packageJson: any;
32
- stats: {
33
- cpuUsage: NodeJS.CpuUsage;
34
- memoryUsage: NodeJS.MemoryUsage;
35
- };
32
+ lastStats: number;
33
+ stats: PluginStats;
36
34
  killed: boolean;
37
35
  consoleServer: Promise<ConsoleServer>;
38
36
  zipHash: string;
@@ -42,7 +40,6 @@ export declare class PluginHost {
42
40
  toString(): string;
43
41
  upsertDevice(upsert: Device): Promise<any>;
44
42
  constructor(scrypted: ScryptedRuntime, plugin: Plugin, pluginDebug?: PluginDebug);
45
- startPluginHost(logger: Logger, env: any, pluginDebug: PluginDebug): void;
43
+ startPluginHost(logger: Logger, env: any, pluginDebug: PluginDebug): Promise<RpcPeer>;
46
44
  createRpcIoPeer(socket: IOServerSocket, accessControls: AccessControls): Promise<PluginRemote>;
47
- createRpcPeer(duplex: Duplex, accessControls: AccessControls): Promise<PluginRemote>;
48
45
  }
@@ -34,6 +34,7 @@ const fs_1 = __importDefault(require("fs"));
34
34
  const os_1 = __importDefault(require("os"));
35
35
  const rpc_1 = require("../rpc");
36
36
  const rpc_serializer_1 = require("../rpc-serializer");
37
+ const scrypted_cluster_common_1 = require("../scrypted-cluster-common");
37
38
  const sleep_1 = require("../sleep");
38
39
  const media_1 = require("./media");
39
40
  const plugin_api_1 = require("./plugin-api");
@@ -43,6 +44,7 @@ const plugin_lazy_remote_1 = require("./plugin-lazy-remote");
43
44
  const plugin_remote_1 = require("./plugin-remote");
44
45
  const plugin_remote_websocket_1 = require("./plugin-remote-websocket");
45
46
  const plugin_volume_1 = require("./plugin-volume");
47
+ const cluster_fork_worker_1 = require("./runtime/cluster-fork.worker");
46
48
  const node_worker_common_1 = require("./runtime/node-worker-common");
47
49
  const serverVersion = require('../../package.json').version;
48
50
  class UnsupportedRuntimeError extends Error {
@@ -76,6 +78,7 @@ class PluginHost {
76
78
  api;
77
79
  pluginName;
78
80
  packageJson;
81
+ lastStats;
79
82
  stats;
80
83
  killed = false;
81
84
  consoleServer;
@@ -148,7 +151,7 @@ class PluginHost {
148
151
  this.zipFile = zipFile;
149
152
  this.unzippedPath = unzippedPath;
150
153
  }
151
- this.startPluginHost(logger, {
154
+ const peerPromise = this.startPluginHost(logger, {
152
155
  SCRYPTED_VOLUME: volume,
153
156
  SCRYPTED_PLUGIN_VOLUME: pluginVolume,
154
157
  }, pluginDebug);
@@ -195,13 +198,23 @@ class PluginHost {
195
198
  });
196
199
  const self = this;
197
200
  const { runtime } = this.packageJson.scrypted;
198
- const mediaManager = runtime === 'python'
201
+ const mediaManager = runtime && runtime !== 'node'
199
202
  ? new media_1.MediaManagerHostImpl(pluginDeviceId, () => scrypted.stateManager.getSystemState(), console, id => scrypted.getDevice(id))
200
203
  : undefined;
201
204
  this.api = new plugin_host_api_1.PluginHostAPI(scrypted, this.pluginId, this, mediaManager);
202
205
  logger.log('i', `loading ${this.pluginName}`);
203
206
  logger.log('i', 'pid ' + this.worker?.pid);
204
- const remotePromise = (0, plugin_remote_1.setupPluginRemote)(this.peer, this.api, self.pluginId, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
207
+ const remotePromise = (async () => {
208
+ let peer;
209
+ try {
210
+ peer = await peerPromise;
211
+ }
212
+ catch (e) {
213
+ logger.log('e', 'plugin failed to start ' + e);
214
+ throw new rpc_1.RPCResultError(this.peer, 'cluster plugin start failed', e);
215
+ }
216
+ return (0, plugin_remote_1.setupPluginRemote)(peer, this.api, self.pluginId, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
217
+ })();
205
218
  const init = (async () => {
206
219
  const remote = await remotePromise;
207
220
  await Promise.all(scrypted.findPluginDevices(self.pluginId)
@@ -229,7 +242,13 @@ class PluginHost {
229
242
  };
230
243
  // original implementation sent the zipBuffer, sending the zipFile name now.
231
244
  // can switch back for non-local plugins.
232
- const modulePromise = remote.loadZip(this.packageJson, async () => fs_1.default.promises.readFile(this.zipFile), loadZipOptions);
245
+ const modulePromise = remote.loadZip(this.packageJson,
246
+ // the plugin is expected to send process stats every 10 seconds.
247
+ // this can be used as a check for liveness.
248
+ new plugin_api_1.PluginZipAPI(async () => fs_1.default.promises.readFile(this.zipFile), async (stats) => {
249
+ this.lastStats = Date.now();
250
+ this.stats = stats;
251
+ }), loadZipOptions);
233
252
  // allow garbage collection of the zip buffer
234
253
  const module = await modulePromise;
235
254
  logger.log('i', `loaded ${this.pluginName}`);
@@ -262,25 +281,55 @@ class PluginHost {
262
281
  const workerHost = this.scrypted.pluginHosts.get(runtime);
263
282
  if (!workerHost)
264
283
  throw new UnsupportedRuntimeError(this.packageJson.scrypted.runtime);
265
- this.worker = workerHost(this.scrypted.mainFilename, this.pluginId, {
266
- packageJson: this.packageJson,
267
- env,
268
- pluginDebug,
269
- unzippedPath: this.unzippedPath,
270
- zipFile: this.zipFile,
271
- zipHash: this.zipHash,
272
- }, this.scrypted);
273
- this.peer = new rpc_1.RpcPeer('host', this.pluginId, (message, reject, serializationContext) => {
274
- if (connected) {
275
- this.worker.send(message, reject, serializationContext);
276
- }
277
- else if (reject) {
278
- reject(new Error('peer disconnected'));
279
- }
280
- });
281
- this.worker.setupRpcPeer(this.peer);
282
- this.worker.stdout.on('data', data => console.log(data.toString()));
283
- this.worker.stderr.on('data', data => console.error(data.toString()));
284
+ let peer;
285
+ if (!(0, cluster_fork_worker_1.needsClusterForkWorker)(this.packageJson.scrypted)) {
286
+ this.peer = new rpc_1.RpcPeer('host', this.pluginId, (message, reject, serializationContext) => {
287
+ if (connected) {
288
+ this.worker.send(message, reject, serializationContext);
289
+ }
290
+ else if (reject) {
291
+ reject(new Error('peer disconnected'));
292
+ }
293
+ });
294
+ peer = Promise.resolve(this.peer);
295
+ this.worker = workerHost(this.scrypted.mainFilename, this.pluginId, {
296
+ packageJson: this.packageJson,
297
+ env,
298
+ pluginDebug,
299
+ unzippedPath: this.unzippedPath,
300
+ zipFile: this.zipFile,
301
+ zipHash: this.zipHash,
302
+ }, this.scrypted);
303
+ this.worker.setupRpcPeer(this.peer);
304
+ this.worker.stdout.on('data', data => console.log(data.toString()));
305
+ this.worker.stderr.on('data', data => console.error(data.toString()));
306
+ }
307
+ else {
308
+ this.peer = new rpc_1.RpcPeer('host', this.pluginId, (message, reject, serializationContext) => {
309
+ if (connected) {
310
+ console.warn('unexpected message to cluster fork worker', message);
311
+ }
312
+ else if (reject) {
313
+ reject(new Error('peer disconnected'));
314
+ }
315
+ });
316
+ const clusterSetup = (0, scrypted_cluster_common_1.prepareClusterPeer)(this.peer);
317
+ const { runtimeWorker, forkPeer } = (0, cluster_fork_worker_1.createClusterForkWorker)((async () => {
318
+ await clusterSetup.initializeCluster({
319
+ clusterId: this.scrypted.clusterId,
320
+ clusterSecret: this.scrypted.clusterSecret,
321
+ });
322
+ return this.scrypted.clusterFork;
323
+ })(), this.zipHash, async () => fs_1.default.promises.readFile(this.zipFile), this.packageJson.scrypted, this.packageJson, clusterSetup.connectRPCObject);
324
+ forkPeer.then(peer => {
325
+ const originalPeer = this.peer;
326
+ originalPeer.killed.then(s => peer.kill(s)).catch(e => peer.kill(e));
327
+ this.peer = peer;
328
+ peer.killed.catch(() => { }).finally(() => originalPeer.kill());
329
+ }).catch(() => { });
330
+ this.worker = runtimeWorker;
331
+ peer = forkPeer;
332
+ }
284
333
  let consoleHeader = `${os_1.default.platform()} ${os_1.default.arch()} ${os_1.default.version()}\nserver version: ${serverVersion}\nplugin version: ${this.pluginId} ${this.packageJson.version}\n`;
285
334
  if (process.env.SCRYPTED_DOCKER_FLAVOR)
286
335
  consoleHeader += `${process.env.SCRYPTED_DOCKER_FLAVOR}\n`;
@@ -301,31 +350,7 @@ class PluginHost {
301
350
  logger.log('e', `${this.pluginName} error ${e}`);
302
351
  disconnect();
303
352
  });
304
- this.worker.on('rpc', async (message, sendHandle) => {
305
- const socket = sendHandle;
306
- const { pluginId, username } = message;
307
- const host = this.scrypted.plugins[pluginId];
308
- if (!host) {
309
- socket.destroy();
310
- return;
311
- }
312
- try {
313
- const accessControls = await this.scrypted.getAccessControls(username);
314
- host.createRpcPeer(socket, accessControls);
315
- }
316
- catch (e) {
317
- socket.destroy();
318
- return;
319
- }
320
- });
321
353
  const startupTime = Date.now();
322
- // the plugin is expected to send process stats every 10 seconds.
323
- // this can be used as a check for liveness.
324
- let lastStats;
325
- this.peer.params.updateStats = (stats) => {
326
- lastStats = Date.now();
327
- this.stats = stats;
328
- };
329
354
  let lastPong;
330
355
  this.peer.params.pong = (time) => {
331
356
  lastPong = time;
@@ -337,7 +362,7 @@ class PluginHost {
337
362
  await (0, sleep_1.sleep)(30000);
338
363
  if (this.killed)
339
364
  return;
340
- pingPromise ||= await this.peer.getParam('ping');
365
+ pingPromise ||= peer.then(p => p.getParam('ping'));
341
366
  const ping = await pingPromise;
342
367
  await ping(Date.now());
343
368
  }
@@ -351,7 +376,7 @@ class PluginHost {
351
376
  const now = Date.now();
352
377
  // plugin may take a while to install, so wait 10 minutes.
353
378
  // after that, require 1 minute checkins.
354
- if (!lastStats || !lastPong) {
379
+ if (!this.lastStats || !lastPong) {
355
380
  if (now - startupTime > 10 * 60 * 1000) {
356
381
  const logger = await this.api.getLogger(undefined);
357
382
  logger.log('e', 'plugin failed to start in a timely manner. restarting.');
@@ -359,7 +384,7 @@ class PluginHost {
359
384
  }
360
385
  return;
361
386
  }
362
- if (!pluginDebug && (lastStats + 60000 < now)) {
387
+ if (!pluginDebug && (this.lastStats + 60000 < now)) {
363
388
  const logger = await this.api.getLogger(undefined);
364
389
  logger.log('e', 'plugin is not reporting stats. restarting.');
365
390
  this.api.requestRestart();
@@ -371,6 +396,7 @@ class PluginHost {
371
396
  }
372
397
  }, 60000);
373
398
  this.peer.killed.finally(() => clearInterval(healthInterval));
399
+ return peer;
374
400
  }
375
401
  async createRpcIoPeer(socket, accessControls) {
376
402
  const serializer = (0, rpc_serializer_1.createRpcSerializer)({
@@ -407,18 +433,6 @@ class PluginHost {
407
433
  socket.on('error', kill);
408
434
  return (0, plugin_remote_1.setupPluginRemote)(rpcPeer, api, null, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
409
435
  }
410
- async createRpcPeer(duplex, accessControls) {
411
- const rpcPeer = (0, rpc_serializer_1.createDuplexRpcPeer)(`api/${this.pluginId}`, 'duplex', duplex, duplex);
412
- rpcPeer.tags.acl = accessControls;
413
- // wrap the host api with a connection specific api that can be torn down on disconnect
414
- const createMediaManager = await this.peer.getParam('createMediaManager');
415
- const api = new plugin_api_1.PluginAPIProxy(this.api, await createMediaManager());
416
- const kill = () => {
417
- api.removeListeners();
418
- };
419
- duplex.on('close', kill);
420
- return (0, plugin_remote_1.setupPluginRemote)(rpcPeer, api, null, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
421
- }
422
436
  }
423
437
  exports.PluginHost = PluginHost;
424
438
  //# sourceMappingURL=plugin-host.js.map