@scrypted/server 0.138.4 → 0.138.6
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.
- package/dist/plugin/plugin-host-api.js +1 -1
- package/dist/plugin/plugin-host-api.js.map +1 -1
- package/dist/plugin/plugin-host.js +0 -4
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/runtime/child-process-worker.d.ts +1 -0
- package/dist/plugin/runtime/child-process-worker.js +4 -1
- package/dist/plugin/runtime/child-process-worker.js.map +1 -1
- package/dist/plugin/runtime/node-thread-worker.d.ts +1 -0
- package/dist/plugin/runtime/node-thread-worker.js +2 -0
- package/dist/plugin/runtime/node-thread-worker.js.map +1 -1
- package/dist/plugin/runtime/runtime-worker.d.ts +3 -5
- package/dist/promise-utils.d.ts +13 -0
- package/dist/promise-utils.js +92 -0
- package/dist/promise-utils.js.map +1 -0
- package/dist/runtime.d.ts +3 -3
- package/dist/runtime.js +13 -5
- package/dist/runtime.js.map +1 -1
- package/dist/services/plugin.js +1 -1
- package/dist/services/plugin.js.map +1 -1
- package/package.json +2 -2
- package/python/plugin_remote.py +3 -9
- package/python/plugin_repl.py +103 -299
- package/src/plugin/plugin-host-api.ts +1 -1
- package/src/plugin/plugin-host.ts +0 -4
- package/src/plugin/runtime/child-process-worker.ts +6 -1
- package/src/plugin/runtime/node-thread-worker.ts +4 -1
- package/src/plugin/runtime/runtime-worker.ts +3 -5
- package/src/promise-utils.ts +96 -0
- package/src/runtime.ts +15 -6
- package/src/services/plugin.ts +1 -1
@@ -41,7 +41,7 @@ class PluginHostAPI extends plugin_api_1.PluginAPIManagedListeners {
|
|
41
41
|
logger.log('w', 'plugin restart was requested, but a different instance was found. restart cancelled.');
|
42
42
|
return;
|
43
43
|
}
|
44
|
-
this.scrypted.runPlugin(plugin);
|
44
|
+
await this.scrypted.runPlugin(plugin);
|
45
45
|
}, 15000);
|
46
46
|
constructor(scrypted, pluginId, pluginHost, mediaManager) {
|
47
47
|
super();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA8P;AAC9P,+DAAuC;AACvC,0CAAqC;AAErC,gCAAiC;AAEjC,oCAAoC;AACpC,6CAAqD;AACrD,6CAAoE;AAEpE,6DAAqD;AAErD,MAAa,aAAc,SAAQ,sCAAyB;IA+BrC;IAAoD;IAA+B;IA9BtG,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,WAAW,CAA+D;IAC1E,kBAAkB,CAA2C;IAE7D,CAAC,aAAO,CAAC,6BAA6B,CAAC,GAAG;QACtC,cAAc;QACd,eAAe;QACf,YAAY;QACZ,mBAAmB;QACnB,gBAAgB;QAChB,UAAU;KACb,CAAC;IAEF,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,4EAA4E,CAAC,CAAC;YAC9F,OAAO;QACX,CAAC;QACD,IAAI,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sFAAsF,CAAC,CAAC;YACxG,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"plugin-host-api.js","sourceRoot":"","sources":["../../src/plugin/plugin-host-api.ts"],"names":[],"mappings":"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"}
|
@@ -406,10 +406,6 @@ class PluginHost {
|
|
406
406
|
connected = false;
|
407
407
|
this.peer.kill('plugin disconnected');
|
408
408
|
};
|
409
|
-
this.worker.on('close', () => {
|
410
|
-
logger.log('e', `${this.pluginName} close`);
|
411
|
-
disconnect();
|
412
|
-
});
|
413
409
|
this.worker.on('exit', async (code, signal) => {
|
414
410
|
logger.log('e', `${this.pluginName} exited ${code} ${signal}`);
|
415
411
|
disconnect();
|
@@ -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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"}
|
@@ -5,6 +5,7 @@ import { RuntimeWorker, RuntimeWorkerOptions } from "./runtime-worker";
|
|
5
5
|
export declare abstract class ChildProcessWorker extends EventEmitter implements RuntimeWorker {
|
6
6
|
pluginId: string;
|
7
7
|
protected worker: child_process.ChildProcess;
|
8
|
+
killPromise: Promise<void>;
|
8
9
|
get childProcess(): child_process.ChildProcess;
|
9
10
|
constructor(options: RuntimeWorkerOptions);
|
10
11
|
setupWorker(): void;
|
@@ -1,10 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.ChildProcessWorker = void 0;
|
4
|
+
const events_1 = require("events");
|
4
5
|
const ws_1 = require("ws");
|
5
6
|
class ChildProcessWorker extends ws_1.EventEmitter {
|
6
7
|
pluginId;
|
7
8
|
worker;
|
9
|
+
killPromise;
|
8
10
|
get childProcess() {
|
9
11
|
return this.worker;
|
10
12
|
}
|
@@ -13,7 +15,7 @@ class ChildProcessWorker extends ws_1.EventEmitter {
|
|
13
15
|
this.pluginId = options.packageJson.name;
|
14
16
|
}
|
15
17
|
setupWorker() {
|
16
|
-
this.worker.on('close', (
|
18
|
+
this.worker.on('close', () => this.emit('error', new Error('close')));
|
17
19
|
this.worker.on('disconnect', () => this.emit('error', new Error('disconnect')));
|
18
20
|
this.worker.on('exit', (code, signal) => this.emit('exit', code, signal));
|
19
21
|
this.worker.on('error', e => this.emit('error', e));
|
@@ -23,6 +25,7 @@ class ChildProcessWorker extends ws_1.EventEmitter {
|
|
23
25
|
if (stdio)
|
24
26
|
stdio.on('error', e => this.emit('error', e));
|
25
27
|
}
|
28
|
+
this.killPromise = (0, events_1.once)(this.worker, 'exit').then(() => { }).catch(() => { });
|
26
29
|
}
|
27
30
|
get pid() {
|
28
31
|
return this.worker?.pid;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"child-process-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/child-process-worker.ts"],"names":[],"mappings":";;;AACA,2BAAkC;AAIlC,MAAsB,kBAAmB,SAAQ,iBAAY;IAClD,QAAQ,CAAS;IACd,MAAM,CAA6B;
|
1
|
+
{"version":3,"file":"child-process-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/child-process-worker.ts"],"names":[],"mappings":";;;AACA,mCAA8B;AAC9B,2BAAkC;AAIlC,MAAsB,kBAAmB,SAAQ,iBAAY;IAClD,QAAQ,CAAS;IACd,MAAM,CAA6B;IAC7C,WAAW,CAAgB;IAE3B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,YAAY,OAA6B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;IAE7C,CAAC;IAED,WAAW;QACP,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,4BAA4B;QAC5B,4DAA4D;QAC5D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK;gBACL,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAA,aAAI,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI;QACA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM;YACP,OAAO;QACX,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CAIJ;AArDD,gDAqDC"}
|
@@ -6,6 +6,7 @@ export declare class NodeThreadWorker extends EventEmitter implements RuntimeWor
|
|
6
6
|
pluginId: string;
|
7
7
|
worker: worker_threads.Worker;
|
8
8
|
port: worker_threads.MessagePort;
|
9
|
+
killPromise: Promise<void>;
|
9
10
|
constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions, workerOptions?: worker_threads.WorkerOptions, workerData?: any, transferList?: Array<worker_threads.TransferListItem>);
|
10
11
|
get pid(): number;
|
11
12
|
get stdout(): import("stream").Readable;
|
@@ -42,6 +42,7 @@ class NodeThreadWorker extends events_1.EventEmitter {
|
|
42
42
|
pluginId;
|
43
43
|
worker;
|
44
44
|
port;
|
45
|
+
killPromise;
|
45
46
|
constructor(mainFilename, pluginId, options, workerOptions, workerData, transferList = []) {
|
46
47
|
super();
|
47
48
|
this.pluginId = pluginId;
|
@@ -74,6 +75,7 @@ class NodeThreadWorker extends events_1.EventEmitter {
|
|
74
75
|
this.port.on('close', () => {
|
75
76
|
this.emit('error', new Error('port closed'));
|
76
77
|
});
|
78
|
+
this.killPromise = (0, events_1.once)(this.worker, 'exit').then(() => { }).catch(() => { });
|
77
79
|
}
|
78
80
|
get pid() {
|
79
81
|
return this.worker.threadId;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
+
import net from "net";
|
2
|
+
import { Readable } from "stream";
|
1
3
|
import { RpcMessage, RpcPeer } from "../../rpc";
|
2
4
|
import { PluginDebug } from "../plugin-debug";
|
3
|
-
import { Readable } from "stream";
|
4
|
-
import net from "net";
|
5
5
|
export interface RuntimeWorkerOptions {
|
6
6
|
packageJson: any;
|
7
7
|
pluginDebug: PluginDebug;
|
@@ -14,17 +14,15 @@ export interface RuntimeWorker {
|
|
14
14
|
pid: number;
|
15
15
|
stdout: Readable;
|
16
16
|
stderr: Readable;
|
17
|
+
killPromise: Promise<any>;
|
17
18
|
kill(): void;
|
18
19
|
on(event: 'rpc', listener: (message: any, sendHandle: net.Socket) => void): this;
|
19
20
|
on(event: 'error', listener: (err: Error) => void): this;
|
20
21
|
on(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
21
|
-
on(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
22
22
|
once(event: 'error', listener: (err: Error) => void): this;
|
23
23
|
once(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
24
|
-
once(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
25
24
|
removeListener(event: 'error', listener: (err: Error) => void): this;
|
26
25
|
removeListener(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
27
|
-
removeListener(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
|
28
26
|
send(message: RpcMessage, reject?: (e: Error) => void, serializationContext?: any): void;
|
29
27
|
setupRpcPeer(peer: RpcPeer): void;
|
30
28
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export interface RefreshPromise<T> {
|
2
|
+
promise: Promise<T>;
|
3
|
+
cacheDuration: number;
|
4
|
+
}
|
5
|
+
export declare function singletonPromise<T>(rp: undefined | RefreshPromise<T>, method: () => Promise<T>, cacheDuration?: number): RefreshPromise<T>;
|
6
|
+
export declare class TimeoutError<T> extends Error {
|
7
|
+
promise: Promise<T>;
|
8
|
+
constructor(promise: Promise<T>);
|
9
|
+
}
|
10
|
+
export declare function timeoutPromise<T>(timeout: number, promise: Promise<T>): Promise<T>;
|
11
|
+
export declare function timeoutFunction<T>(timeout: number, f: (isTimedOut: () => boolean) => Promise<T>): Promise<T>;
|
12
|
+
export declare function createPromiseDebouncer<T>(): (func: () => Promise<T>) => Promise<T>;
|
13
|
+
export declare function createMapPromiseDebouncer<T>(): (key: any, debounce: number, func: () => Promise<T>) => Promise<T>;
|
@@ -0,0 +1,92 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TimeoutError = void 0;
|
4
|
+
exports.singletonPromise = singletonPromise;
|
5
|
+
exports.timeoutPromise = timeoutPromise;
|
6
|
+
exports.timeoutFunction = timeoutFunction;
|
7
|
+
exports.createPromiseDebouncer = createPromiseDebouncer;
|
8
|
+
exports.createMapPromiseDebouncer = createMapPromiseDebouncer;
|
9
|
+
function singletonPromise(rp, method, cacheDuration = 0) {
|
10
|
+
if (rp?.promise)
|
11
|
+
return rp;
|
12
|
+
const promise = method();
|
13
|
+
if (!rp) {
|
14
|
+
rp = {
|
15
|
+
promise,
|
16
|
+
cacheDuration,
|
17
|
+
};
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
rp.promise = promise;
|
21
|
+
}
|
22
|
+
promise.finally(() => setTimeout(() => rp.promise = undefined, rp.cacheDuration));
|
23
|
+
return rp;
|
24
|
+
}
|
25
|
+
class TimeoutError extends Error {
|
26
|
+
promise;
|
27
|
+
constructor(promise) {
|
28
|
+
super('Operation Timed Out');
|
29
|
+
this.promise = promise;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.TimeoutError = TimeoutError;
|
33
|
+
function timeoutPromise(timeout, promise) {
|
34
|
+
return new Promise((resolve, reject) => {
|
35
|
+
const t = setTimeout(() => reject(new TimeoutError(promise)), timeout);
|
36
|
+
promise
|
37
|
+
.then(v => {
|
38
|
+
clearTimeout(t);
|
39
|
+
resolve(v);
|
40
|
+
})
|
41
|
+
.catch(e => {
|
42
|
+
clearTimeout(t);
|
43
|
+
reject(e);
|
44
|
+
});
|
45
|
+
});
|
46
|
+
}
|
47
|
+
function timeoutFunction(timeout, f) {
|
48
|
+
return new Promise((resolve, reject) => {
|
49
|
+
let isTimedOut = false;
|
50
|
+
const promise = f(() => isTimedOut);
|
51
|
+
const t = setTimeout(() => {
|
52
|
+
isTimedOut = true;
|
53
|
+
reject(new TimeoutError(promise));
|
54
|
+
}, timeout);
|
55
|
+
promise
|
56
|
+
.then(v => {
|
57
|
+
clearTimeout(t);
|
58
|
+
resolve(v);
|
59
|
+
})
|
60
|
+
.catch(e => {
|
61
|
+
clearTimeout(t);
|
62
|
+
reject(e);
|
63
|
+
});
|
64
|
+
});
|
65
|
+
}
|
66
|
+
function createPromiseDebouncer() {
|
67
|
+
let current;
|
68
|
+
return (func) => {
|
69
|
+
if (!current)
|
70
|
+
current = func().finally(() => current = undefined);
|
71
|
+
return current;
|
72
|
+
};
|
73
|
+
}
|
74
|
+
function createMapPromiseDebouncer() {
|
75
|
+
const map = new Map();
|
76
|
+
return (key, debounce, func) => {
|
77
|
+
const keyStr = JSON.stringify(key);
|
78
|
+
let value = map.get(keyStr);
|
79
|
+
if (!value) {
|
80
|
+
value = func().finally(() => {
|
81
|
+
if (!debounce) {
|
82
|
+
map.delete(keyStr);
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
setTimeout(() => map.delete(keyStr), debounce);
|
86
|
+
});
|
87
|
+
map.set(keyStr, value);
|
88
|
+
}
|
89
|
+
return value;
|
90
|
+
};
|
91
|
+
}
|
92
|
+
//# sourceMappingURL=promise-utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"promise-utils.js","sourceRoot":"","sources":["../src/promise-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
@@ -14,18 +14,18 @@ import { PluginDebug } from './plugin/plugin-debug';
|
|
14
14
|
import { PluginDeviceProxyHandler } from './plugin/plugin-device';
|
15
15
|
import { PluginHost } from './plugin/plugin-host';
|
16
16
|
import { PluginHttp } from './plugin/plugin-http';
|
17
|
+
import { RunningClusterWorker } from './scrypted-cluster-main';
|
17
18
|
import { AddressSettings } from './services/addresses';
|
18
19
|
import { Alerts } from './services/alerts';
|
19
20
|
import { Backup } from './services/backup';
|
20
21
|
import { ClusterForkService } from './services/cluster-fork';
|
21
22
|
import { CORSControl } from './services/cors';
|
23
|
+
import { EnvControl } from './services/env';
|
22
24
|
import { Info } from './services/info';
|
23
25
|
import { PluginComponent } from './services/plugin';
|
24
26
|
import { ServiceControl } from './services/service-control';
|
25
27
|
import { UsersService } from './services/users';
|
26
28
|
import { ScryptedStateManager } from './state';
|
27
|
-
import { RunningClusterWorker } from './scrypted-cluster-main';
|
28
|
-
import { EnvControl } from './services/env';
|
29
29
|
interface DeviceProxyPair {
|
30
30
|
handler: PluginDeviceProxyHandler;
|
31
31
|
proxy: ScryptedDevice;
|
@@ -93,7 +93,7 @@ export declare class ScryptedRuntime extends PluginHttp<HttpPluginData> {
|
|
93
93
|
setupPluginHostAutoRestart(pluginId: string, pluginHost?: PluginHost): void;
|
94
94
|
loadPlugin(plugin: Plugin, pluginDebug?: PluginDebug): PluginHost;
|
95
95
|
probePluginDevices(plugin: Plugin): void;
|
96
|
-
runPlugin(plugin: Plugin, pluginDebug?: PluginDebug): PluginHost
|
96
|
+
runPlugin(plugin: Plugin, pluginDebug?: PluginDebug): Promise<PluginHost>;
|
97
97
|
findPluginDevice(pluginId: string, nativeId?: ScryptedNativeId): PluginDevice;
|
98
98
|
findPluginDeviceById(id: string): PluginDevice;
|
99
99
|
findPluginDevices(pluginId: string): PluginDevice[];
|
package/dist/runtime.js
CHANGED
@@ -40,6 +40,7 @@ const tar_1 = require("tar");
|
|
40
40
|
const url_1 = require("url");
|
41
41
|
const ws_1 = require("ws");
|
42
42
|
const cluster_hash_1 = require("./cluster/cluster-hash");
|
43
|
+
const cluster_setup_1 = require("./cluster/cluster-setup");
|
43
44
|
const db_types_1 = require("./db-types");
|
44
45
|
const http_fetch_1 = require("./fetch/http-fetch");
|
45
46
|
const http_interfaces_1 = require("./http-interfaces");
|
@@ -53,19 +54,19 @@ const plugin_http_1 = require("./plugin/plugin-http");
|
|
53
54
|
const plugin_remote_websocket_1 = require("./plugin/plugin-remote-websocket");
|
54
55
|
const plugin_volume_1 = require("./plugin/plugin-volume");
|
55
56
|
const runtime_host_1 = require("./plugin/runtime/runtime-host");
|
57
|
+
const promise_utils_1 = require("./promise-utils");
|
56
58
|
const server_settings_1 = require("./server-settings");
|
57
59
|
const addresses_1 = require("./services/addresses");
|
58
60
|
const alerts_1 = require("./services/alerts");
|
59
61
|
const backup_1 = require("./services/backup");
|
60
62
|
const cluster_fork_1 = require("./services/cluster-fork");
|
61
63
|
const cors_1 = require("./services/cors");
|
64
|
+
const env_1 = require("./services/env");
|
62
65
|
const info_1 = require("./services/info");
|
63
66
|
const plugin_1 = require("./services/plugin");
|
64
67
|
const service_control_1 = require("./services/service-control");
|
65
68
|
const users_1 = require("./services/users");
|
66
69
|
const state_1 = require("./state");
|
67
|
-
const cluster_setup_1 = require("./cluster/cluster-setup");
|
68
|
-
const env_1 = require("./services/env");
|
69
70
|
const MIN_SCRYPTED_CORE_VERSION = 'v0.2.6';
|
70
71
|
const PLUGIN_DEVICE_STATE_VERSION = 2;
|
71
72
|
class ScryptedRuntime extends plugin_http_1.PluginHttp {
|
@@ -613,7 +614,7 @@ class ScryptedRuntime extends plugin_http_1.PluginHttp {
|
|
613
614
|
return;
|
614
615
|
}
|
615
616
|
try {
|
616
|
-
this.runPlugin(plugin);
|
617
|
+
await this.runPlugin(plugin);
|
617
618
|
}
|
618
619
|
catch (e) {
|
619
620
|
logger.log('e', `error restarting plugin ${pluginId}`);
|
@@ -626,7 +627,6 @@ class ScryptedRuntime extends plugin_http_1.PluginHttp {
|
|
626
627
|
if (pluginHost) {
|
627
628
|
pluginHost.worker.once('error', restart);
|
628
629
|
pluginHost.worker.once('exit', restart);
|
629
|
-
pluginHost.worker.once('close', restart);
|
630
630
|
}
|
631
631
|
else {
|
632
632
|
restart();
|
@@ -679,7 +679,15 @@ class ScryptedRuntime extends plugin_http_1.PluginHttp {
|
|
679
679
|
}
|
680
680
|
}
|
681
681
|
}
|
682
|
-
runPlugin(plugin, pluginDebug) {
|
682
|
+
async runPlugin(plugin, pluginDebug) {
|
683
|
+
const existingPluginHost = this.plugins[plugin._id];
|
684
|
+
const killPromise = existingPluginHost?.worker?.killPromise;
|
685
|
+
if (killPromise) {
|
686
|
+
existingPluginHost?.kill();
|
687
|
+
await (0, promise_utils_1.timeoutPromise)(5000, killPromise).catch(() => {
|
688
|
+
console.warn('plugin worker did not exit in 5 seconds');
|
689
|
+
});
|
690
|
+
}
|
683
691
|
const pluginHost = this.loadPlugin(plugin, pluginDebug);
|
684
692
|
this.probePluginDevices(plugin);
|
685
693
|
return pluginHost;
|