@scrypted/server 0.144.0 → 0.144.2
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/cert.js +1 -1
- package/dist/cert.js.map +1 -1
- package/dist/cluster/cluster-labels.d.ts +3 -3
- package/dist/cluster/cluster-labels.js +2 -2
- package/dist/cluster/cluster-labels.js.map +1 -1
- package/dist/cluster/cluster-setup.d.ts +3 -3
- package/dist/cluster/cluster-setup.js +3 -3
- package/dist/cluster/cluster-setup.js.map +1 -1
- package/dist/db-types.d.ts +4 -4
- package/dist/db-types.js.map +1 -1
- package/dist/event-registry.d.ts +2 -2
- package/dist/event-registry.js +9 -7
- package/dist/event-registry.js.map +1 -1
- package/dist/fetch/index.d.ts +2 -2
- package/dist/fetch/index.js +3 -6
- package/dist/fetch/index.js.map +1 -1
- package/dist/http-interfaces.js +1 -1
- package/dist/http-interfaces.js.map +1 -1
- package/dist/infer-defaults.d.ts +4 -4
- package/dist/infer-defaults.js +8 -4
- package/dist/infer-defaults.js.map +1 -1
- package/dist/ip.js +2 -1
- package/dist/ip.js.map +1 -1
- package/dist/level.d.ts +3 -3
- package/dist/level.js +1 -0
- package/dist/level.js.map +1 -1
- package/dist/listen-zero.js.map +1 -1
- package/dist/mixin/mixin-cycle.js +6 -6
- package/dist/mixin/mixin-cycle.js.map +1 -1
- package/dist/plugin/acl.js.map +1 -1
- package/dist/plugin/cluster.js.map +1 -1
- package/dist/plugin/descriptor.js +1 -1
- package/dist/plugin/descriptor.js.map +1 -1
- package/dist/plugin/device.d.ts +6 -6
- package/dist/plugin/device.js.map +1 -1
- package/dist/plugin/endpoint.js.map +1 -1
- package/dist/plugin/media.js +19 -14
- package/dist/plugin/media.js.map +1 -1
- package/dist/plugin/mediaobject.d.ts +1 -1
- package/dist/plugin/mediaobject.js.map +1 -1
- package/dist/plugin/plugin-api.d.ts +6 -6
- package/dist/plugin/plugin-api.js +2 -2
- package/dist/plugin/plugin-api.js.map +1 -1
- package/dist/plugin/plugin-console.js +11 -10
- package/dist/plugin/plugin-console.js.map +1 -1
- package/dist/plugin/plugin-device.d.ts +3 -3
- package/dist/plugin/plugin-device.js +2 -0
- package/dist/plugin/plugin-device.js.map +1 -1
- package/dist/plugin/plugin-host-api.d.ts +1 -1
- package/dist/plugin/plugin-host-api.js +19 -5
- package/dist/plugin/plugin-host-api.js.map +1 -1
- package/dist/plugin/plugin-host.js +3 -2
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/plugin-http.d.ts +1 -1
- package/dist/plugin/plugin-http.js +5 -1
- package/dist/plugin/plugin-http.js.map +1 -1
- package/dist/plugin/plugin-lazy-remote.js.map +1 -1
- package/dist/plugin/plugin-remote-websocket.js.map +1 -1
- package/dist/plugin/plugin-remote-worker.js +5 -2
- package/dist/plugin/plugin-remote-worker.js.map +1 -1
- package/dist/plugin/plugin-remote.js +1 -1
- package/dist/plugin/plugin-remote.js.map +1 -1
- package/dist/plugin/plugin-repl.js +6 -2
- package/dist/plugin/plugin-repl.js.map +1 -1
- package/dist/plugin/runtime/child-process-worker.d.ts +4 -4
- package/dist/plugin/runtime/child-process-worker.js +1 -2
- package/dist/plugin/runtime/child-process-worker.js.map +1 -1
- package/dist/plugin/runtime/cluster-fork-worker.d.ts +1 -1
- package/dist/plugin/runtime/cluster-fork-worker.js +2 -0
- package/dist/plugin/runtime/cluster-fork-worker.js.map +1 -1
- package/dist/plugin/runtime/custom-worker.js.map +1 -1
- package/dist/plugin/runtime/node-fork-worker.d.ts +1 -1
- package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
- package/dist/plugin/runtime/node-thread-worker.js.map +1 -1
- package/dist/plugin/runtime/python-worker.js +1 -1
- package/dist/plugin/runtime/python-worker.js.map +1 -1
- package/dist/plugin/runtime/runtime-worker.d.ts +1 -1
- package/dist/plugin/system.d.ts +1 -1
- package/dist/plugin/system.js +1 -0
- package/dist/plugin/system.js.map +1 -1
- package/dist/promise-utils.d.ts +1 -1
- package/dist/promise-utils.js.map +1 -1
- package/dist/rpc-buffer-serializer.d.ts +1 -1
- package/dist/rpc-serializer.js.map +1 -1
- package/dist/rpc.d.ts +10 -9
- package/dist/rpc.js +15 -8
- package/dist/rpc.js.map +1 -1
- package/dist/runtime.d.ts +11 -11
- package/dist/runtime.js +17 -18
- package/dist/runtime.js.map +1 -1
- package/dist/scrypted-cluster-main.js +3 -2
- package/dist/scrypted-cluster-main.js.map +1 -1
- package/dist/scrypted-plugin-main.js +1 -1
- package/dist/scrypted-plugin-main.js.map +1 -1
- package/dist/scrypted-server-main.js +8 -5
- package/dist/scrypted-server-main.js.map +1 -1
- package/dist/server-settings.d.ts +1 -1
- package/dist/server-settings.js +4 -4
- package/dist/server-settings.js.map +1 -1
- package/dist/services/addresses.d.ts +1 -1
- package/dist/services/addresses.js +2 -2
- package/dist/services/addresses.js.map +1 -1
- package/dist/services/alerts.js +2 -2
- package/dist/services/alerts.js.map +1 -1
- package/dist/services/cluster-fork.js.map +1 -1
- package/dist/services/plugin.d.ts +5 -5
- package/dist/services/plugin.js.map +1 -1
- package/dist/services/service-control.js.map +1 -1
- package/dist/services/users.d.ts +2 -2
- package/dist/services/users.js.map +1 -1
- package/dist/state.d.ts +7 -7
- package/dist/state.js +4 -4
- package/dist/state.js.map +1 -1
- package/dist/threading.js.map +1 -1
- package/dist/usertoken.d.ts +2 -2
- package/dist/usertoken.js.map +1 -1
- package/package.json +2 -2
- package/python/cluster_setup.py +13 -4
- package/python/plugin_remote.py +22 -18
- package/python/rpc_reader.py +3 -5
- package/src/cert.ts +2 -2
- package/src/cluster/cluster-labels.ts +4 -4
- package/src/cluster/cluster-setup.ts +20 -20
- package/src/db-types.ts +16 -16
- package/src/event-registry.ts +13 -11
- package/src/fetch/index.ts +4 -7
- package/src/http-interfaces.ts +2 -2
- package/src/infer-defaults.ts +12 -8
- package/src/ip.ts +2 -1
- package/src/level.ts +10 -9
- package/src/listen-zero.ts +1 -1
- package/src/mixin/mixin-cycle.ts +6 -6
- package/src/plugin/acl.ts +1 -1
- package/src/plugin/cluster.ts +2 -2
- package/src/plugin/descriptor.ts +2 -2
- package/src/plugin/device.ts +16 -16
- package/src/plugin/endpoint.ts +4 -4
- package/src/plugin/media.ts +34 -29
- package/src/plugin/mediaobject.ts +3 -3
- package/src/plugin/plugin-api.ts +7 -7
- package/src/plugin/plugin-console.ts +13 -12
- package/src/plugin/plugin-device.ts +20 -18
- package/src/plugin/plugin-host-api.ts +27 -13
- package/src/plugin/plugin-host.ts +26 -25
- package/src/plugin/plugin-http.ts +9 -5
- package/src/plugin/plugin-lazy-remote.ts +1 -1
- package/src/plugin/plugin-remote-websocket.ts +1 -1
- package/src/plugin/plugin-remote-worker.ts +22 -20
- package/src/plugin/plugin-remote.ts +14 -14
- package/src/plugin/plugin-repl.ts +6 -2
- package/src/plugin/runtime/child-process-worker.ts +11 -12
- package/src/plugin/runtime/cluster-fork-worker.ts +2 -0
- package/src/plugin/runtime/custom-worker.ts +6 -6
- package/src/plugin/runtime/node-fork-worker.ts +3 -3
- package/src/plugin/runtime/node-thread-worker.ts +3 -3
- package/src/plugin/runtime/python-worker.ts +14 -14
- package/src/plugin/runtime/runtime-worker.ts +1 -1
- package/src/plugin/system.ts +24 -23
- package/src/promise-utils.ts +4 -4
- package/src/rpc-serializer.ts +3 -3
- package/src/rpc.ts +25 -17
- package/src/runtime.ts +59 -60
- package/src/scrypted-cluster-main.ts +19 -18
- package/src/scrypted-plugin-main.ts +2 -2
- package/src/scrypted-server-main.ts +17 -14
- package/src/server-settings.ts +5 -5
- package/src/services/addresses.ts +3 -3
- package/src/services/alerts.ts +2 -2
- package/src/services/cluster-fork.ts +9 -9
- package/src/services/plugin.ts +15 -15
- package/src/services/service-control.ts +1 -1
- package/src/services/users.ts +3 -3
- package/src/state.ts +21 -21
- package/src/threading.ts +5 -5
- package/src/usertoken.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":";;;;;;AAUA,8CAQC;AAlBD,2CAA8E;AAC9E,oDAA4B;AAC5B,0CAAqC;AACrC,oDAAgD;AAChD,sDAAqD;AAErD,oCAAiC;AACjC,oCAAoC;AAG7B,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAS,EAAC;QAC7B,GAAG,EAAE,8BAA8B,GAAG,EAAE;QACxC,qCAAqC;QACrC,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAa,eAAe;IACxB,QAAQ,CAAkB;IAC1B,YAAY,QAAyB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,KAAa;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-control.js","sourceRoot":"","sources":["../../src/services/service-control.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,oDAAgD;AAEhD,MAAa,cAAc;IACvB,KAAK,CAAC,OAAO;QACT,0DAA0D;QAC1D,sDAAsD;QACtD,YAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;YACrF,MAAM,IAAA,sBAAS,EAAC;gBACZ,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE;oBACL,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"service-control.js","sourceRoot":"","sources":["../../src/services/service-control.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,oDAAgD;AAEhD,MAAa,cAAc;IACvB,KAAK,CAAC,OAAO;QACT,0DAA0D;QAC1D,sDAAsD;QACtD,YAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;YACrF,MAAM,IAAA,sBAAS,EAAC;gBACZ,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE;oBACL,aAAa,EAAE,0BAA2B;iBAC7C;aACJ,CAAC,CAAC;QACP,CAAC;aACI,CAAC;YACF,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;CACJ;AA5BD,wCA4BC"}
|
package/dist/services/users.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare class UsersService {
|
|
|
5
5
|
scrypted: ScryptedRuntime;
|
|
6
6
|
users: Map<string, ScryptedUser>;
|
|
7
7
|
usersPromise: Promise<ScryptedUser[]>;
|
|
8
|
-
static addUserToDatabase(db: WrappedLevel, username: string, password: string, aclId
|
|
8
|
+
static addUserToDatabase(db: WrappedLevel, username: string, password: string, aclId?: string): Promise<ScryptedUser>;
|
|
9
9
|
constructor(scrypted: ScryptedRuntime);
|
|
10
10
|
private ensureUsersPromise;
|
|
11
11
|
private updateUsersPromise;
|
|
@@ -15,7 +15,7 @@ export declare class UsersService {
|
|
|
15
15
|
}[]>;
|
|
16
16
|
removeUser(username: string): Promise<void>;
|
|
17
17
|
removeAllUsers(): Promise<void>;
|
|
18
|
-
addUserInternal(username: string, password: string, aclId
|
|
18
|
+
addUserInternal(username: string, password: string, aclId?: string): Promise<ScryptedUser>;
|
|
19
19
|
addUser(username: string, password: string, aclId: string): Promise<void>;
|
|
20
20
|
}
|
|
21
21
|
export declare function setScryptedUserPassword(user: ScryptedUser, password: string, timestamp: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/services/users.ts"],"names":[],"mappings":";;;;;;AAgFA,0DAKC;AArFD,0CAA2C;AAG3C,oDAA4B;AAE5B,MAAa,YAAY;IAcF;IAbnB,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxC,YAAY,
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/services/users.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ export declare class ScryptedStateManager extends EventRegistry {
|
|
|
7
7
|
upserts: Set<string>;
|
|
8
8
|
upsertThrottle: import("lodash").DebouncedFunc<() => void>;
|
|
9
9
|
constructor(scrypted: ScryptedRuntime);
|
|
10
|
-
getImplementerId(pluginDevice: PluginDevice, eventInterface: ScryptedInterface | string): Promise<string>;
|
|
10
|
+
getImplementerId(pluginDevice: PluginDevice, eventInterface: ScryptedInterface | string | undefined): Promise<string>;
|
|
11
11
|
notifyInterfaceEventFromMixin(pluginDevice: PluginDevice, eventInterface: ScryptedInterface | string, value: any, mixinId: string): Promise<void>;
|
|
12
|
-
setPluginDeviceStateFromMixin(pluginDevice: PluginDevice, property: string, value: any, eventInterface:
|
|
13
|
-
setPluginDeviceState(device: PluginDevice, property: string, value: any, eventInterface?:
|
|
12
|
+
setPluginDeviceStateFromMixin(pluginDevice: PluginDevice, property: string, value: any, eventInterface: string | undefined, mixinId: string): Promise<boolean | undefined>;
|
|
13
|
+
setPluginDeviceState(device: PluginDevice, property: string, value: any, eventInterface?: string): boolean | undefined;
|
|
14
14
|
updateDescriptor(device: PluginDevice): void;
|
|
15
15
|
removeDevice(id: string): void;
|
|
16
|
-
notifyInterfaceEvent(device: PluginDevice, eventInterface: ScryptedInterface | string, value: any, mixinId?: string): void;
|
|
17
|
-
setState(id: string, property: string, value: any): boolean;
|
|
16
|
+
notifyInterfaceEvent(device: PluginDevice | undefined, eventInterface: ScryptedInterface | string, value: any, mixinId?: string): void;
|
|
17
|
+
setState(id: string, property: string, value: any): boolean | undefined;
|
|
18
18
|
getSystemState(): {
|
|
19
19
|
[id: string]: {
|
|
20
20
|
[property: string]: SystemDeviceState;
|
|
@@ -29,10 +29,10 @@ export declare class ScryptedStateManager extends EventRegistry {
|
|
|
29
29
|
}
|
|
30
30
|
interface RefreshThrottle {
|
|
31
31
|
promise: Promise<void>;
|
|
32
|
-
refreshInterface: string;
|
|
32
|
+
refreshInterface: string | undefined;
|
|
33
33
|
userInitiated: boolean;
|
|
34
34
|
tailRefresh: boolean;
|
|
35
35
|
}
|
|
36
|
-
export declare function setState(pluginDevice: PluginDevice, property: string, value: any): boolean;
|
|
36
|
+
export declare function setState(pluginDevice: PluginDevice, property: string, value: any): boolean | undefined;
|
|
37
37
|
export declare function getState(pluginDevice: PluginDevice, property: string): any;
|
|
38
38
|
export {};
|
package/dist/state.js
CHANGED
|
@@ -71,7 +71,6 @@ class ScryptedStateManager extends event_registry_1.EventRegistry {
|
|
|
71
71
|
this.notify(pluginDevice?._id, Date.now(), eventInterface, undefined, value);
|
|
72
72
|
}
|
|
73
73
|
async setPluginDeviceStateFromMixin(pluginDevice, property, value, eventInterface, mixinId) {
|
|
74
|
-
// TODO: crashing here. send descriptor from python too.
|
|
75
74
|
eventInterface = eventInterface || descriptor_1.propertyInterfaces[property];
|
|
76
75
|
const implementerId = await this.getImplementerId(pluginDevice, eventInterface);
|
|
77
76
|
if (implementerId !== mixinId) {
|
|
@@ -153,16 +152,17 @@ class ScryptedStateManager extends event_registry_1.EventRegistry {
|
|
|
153
152
|
})();
|
|
154
153
|
}
|
|
155
154
|
let lastData = undefined;
|
|
155
|
+
let callbackWrapper = callback;
|
|
156
156
|
let cb = (eventDetails, eventData) => {
|
|
157
157
|
if (denoise && lastData === eventData)
|
|
158
158
|
return;
|
|
159
|
-
|
|
159
|
+
callbackWrapper?.(eventDetails, eventData);
|
|
160
160
|
};
|
|
161
161
|
const wrappedRegister = super.listenDevice(id, options, cb);
|
|
162
162
|
return new event_registry_1.EventListenerRegisterImpl(() => {
|
|
163
163
|
wrappedRegister.removeListener();
|
|
164
164
|
cb = undefined;
|
|
165
|
-
|
|
165
|
+
callbackWrapper = undefined;
|
|
166
166
|
polling = false;
|
|
167
167
|
});
|
|
168
168
|
}
|
|
@@ -230,7 +230,7 @@ function isSameValue(value1, value2) {
|
|
|
230
230
|
function setState(pluginDevice, property, value) {
|
|
231
231
|
// device may have been deleted.
|
|
232
232
|
if (!pluginDevice.state)
|
|
233
|
-
return;
|
|
233
|
+
return undefined;
|
|
234
234
|
if (!pluginDevice.state[property])
|
|
235
235
|
pluginDevice.state[property] = {};
|
|
236
236
|
const state = pluginDevice.state[property];
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":";;;;;;AA4QA,4BAUC;AAED,4BAKC;AA7RD,2CAAsK;AACtK,+DAAuC;AAEvC,qDAA+F;AAC/F,oDAAyD;AACzD,0DAA6E;AAE7E,mCAAgC;AAEhC,MAAa,oBAAqB,SAAQ,8BAAa;IACnD,QAAQ,CAAkB;IAC1B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,cAAc,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAC5D,wBAAwB;gBACxB,IAAI,YAAY;oBACZ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC,EAAE,KAAK,EAAE;QACN,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,YAAY,QAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/threading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threading.js","sourceRoot":"","sources":["../src/threading.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;;;AAWxI,8BAuFC;AAhGD,oEAA4C;AAC5C,+BAA+C;AAC/C,4CAAoB;AAOb,KAAK,UAAU,SAAS,CAAI,GAAG,IAAW;IAC7C,IAAI,MAAM,GAA2B,EAAE,CAAC;IACxC,IAAI,OAAO,GAA2B,EAAE,CAAC;IACzC,IAAI,MAAwB,CAAC;IAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACV,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;SACI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;SACI,CAAC;QACF,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,aAAqB,EAAE,OAAY,EAAE,EAAE;QAC9C,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,MAAa,CAAC;YACxB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAc,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,qBAAqB,GAA0B,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtF,MAAM,SAAS,GAAc,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAClF,IAAI,CAAC;gBACD,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"threading.js","sourceRoot":"","sources":["../src/threading.ts"],"names":[],"mappings":"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"}
|
package/dist/usertoken.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ export declare const ONE_DAY_MILLISECONDS = 86400000;
|
|
|
2
2
|
export declare const ONE_YEAR_MILLISECONDS: number;
|
|
3
3
|
export declare class UserToken {
|
|
4
4
|
username: string;
|
|
5
|
-
aclId
|
|
5
|
+
aclId?: string | undefined;
|
|
6
6
|
timestamp: number;
|
|
7
7
|
duration: number;
|
|
8
|
-
constructor(username: string, aclId
|
|
8
|
+
constructor(username: string, aclId?: string | undefined, timestamp?: number, duration?: number);
|
|
9
9
|
static validateToken(token: string): UserToken;
|
|
10
10
|
toString(): string;
|
|
11
11
|
}
|
package/dist/usertoken.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usertoken.js","sourceRoot":"","sources":["../src/usertoken.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,qBAAqB,GAAG,4BAAoB,GAAG,GAAG,CAAC;AAEhE,MAAa,SAAS;IACC;IAAyB;
|
|
1
|
+
{"version":3,"file":"usertoken.js","sourceRoot":"","sources":["../src/usertoken.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,qBAAqB,GAAG,4BAAoB,GAAG,GAAG,CAAC;AAEhE,MAAa,SAAS;IACC;IAAyB;IAAuB;IAA+B;IAAlG,YAAmB,QAAgB,EAAS,KAAc,EAAS,YAAY,IAAI,CAAC,GAAG,EAAE,EAAS,WAAW,4BAAoB;QAA9G,aAAQ,GAAR,QAAQ,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAS;QAAS,cAAS,GAAT,SAAS,CAAa;QAAS,aAAQ,GAAR,QAAQ,CAAuB;IACjI,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAa;QAC9B,IAAI,CAAC,KAAK;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAExC,IAAI,IAKH,CAAC;QACF,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAC1B,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QAClB,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5B,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5B,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,6BAAqB;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,QAAQ;YAChB,CAAC,EAAE,IAAI,CAAC,KAAK;YACb,CAAC,EAAE,IAAI,CAAC,SAAS;YACjB,CAAC,EAAE,IAAI,CAAC,QAAQ;SACnB,CAAC,CAAA;IACN,CAAC;CACJ;AA5CD,8BA4CC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrypted/server",
|
|
3
|
-
"version": "0.144.
|
|
3
|
+
"version": "0.144.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@scrypted/ffmpeg-static": "^6.1.0-build3",
|
|
7
7
|
"@scrypted/node-pty": "^1.0.25",
|
|
8
|
-
"@scrypted/types": "^0.5.
|
|
8
|
+
"@scrypted/types": "^0.5.55",
|
|
9
9
|
"adm-zip": "^0.5.16",
|
|
10
10
|
"body-parser": "^2.2.0",
|
|
11
11
|
"cookie-parser": "^1.4.7",
|
package/python/cluster_setup.py
CHANGED
|
@@ -127,9 +127,13 @@ class ClusterSetup:
|
|
|
127
127
|
except:
|
|
128
128
|
pass
|
|
129
129
|
finally:
|
|
130
|
-
self.clusterPeers.pop(clusterPeerKey)
|
|
130
|
+
self.clusterPeers.pop(clusterPeerKey, None)
|
|
131
131
|
peer.kill("cluster client killed")
|
|
132
132
|
writer.close()
|
|
133
|
+
try:
|
|
134
|
+
await writer.wait_closed()
|
|
135
|
+
except:
|
|
136
|
+
pass
|
|
133
137
|
|
|
134
138
|
clusterRpcServerInfo = await cluster_listen_zero(handleClusterClient)
|
|
135
139
|
self.clusterPort = clusterRpcServerInfo["port"]
|
|
@@ -182,7 +186,7 @@ class ClusterSetup:
|
|
|
182
186
|
)
|
|
183
187
|
)
|
|
184
188
|
except:
|
|
185
|
-
self.clusterPeers.pop(clusterPeerKey)
|
|
189
|
+
self.clusterPeers.pop(clusterPeerKey, None)
|
|
186
190
|
raise
|
|
187
191
|
|
|
188
192
|
async def run_loop():
|
|
@@ -191,7 +195,13 @@ class ClusterSetup:
|
|
|
191
195
|
except:
|
|
192
196
|
pass
|
|
193
197
|
finally:
|
|
194
|
-
self.clusterPeers.pop(clusterPeerKey)
|
|
198
|
+
self.clusterPeers.pop(clusterPeerKey, None)
|
|
199
|
+
clusterPeer.kill("cluster peer killed")
|
|
200
|
+
writer.close()
|
|
201
|
+
try:
|
|
202
|
+
await writer.wait_closed()
|
|
203
|
+
except:
|
|
204
|
+
pass
|
|
195
205
|
|
|
196
206
|
asyncio.run_coroutine_threadsafe(run_loop(), self.loop)
|
|
197
207
|
return clusterPeer
|
|
@@ -264,7 +274,6 @@ async def cluster_listen_zero(
|
|
|
264
274
|
port = cluster_server.sockets[0].getsockname()[1]
|
|
265
275
|
|
|
266
276
|
try:
|
|
267
|
-
print('trying to bind to port', port)
|
|
268
277
|
local_server = await asyncio.start_server(
|
|
269
278
|
callback, host="127.0.0.1", port=port
|
|
270
279
|
)
|
package/python/plugin_remote.py
CHANGED
|
@@ -20,14 +20,10 @@ from io import StringIO
|
|
|
20
20
|
from pathlib import Path
|
|
21
21
|
from typing import Any, Callable, Coroutine, Optional, Set, Tuple, TypedDict
|
|
22
22
|
|
|
23
|
-
import cluster_labels
|
|
24
|
-
import plugin_console
|
|
25
|
-
import plugin_volume as pv
|
|
26
23
|
import rpc
|
|
27
24
|
import rpc_reader
|
|
28
25
|
import scrypted_python.scrypted_sdk.types
|
|
29
26
|
from cluster_setup import ClusterSetup
|
|
30
|
-
from plugin_pip import install_with_pip, need_requirements, remove_pip_dirs
|
|
31
27
|
from scrypted_python.scrypted_sdk import PluginFork, ScryptedStatic
|
|
32
28
|
from scrypted_python.scrypted_sdk.types import (Device, DeviceManifest,
|
|
33
29
|
EventDetails,
|
|
@@ -159,8 +155,8 @@ class EventRegistry(object):
|
|
|
159
155
|
events = set()
|
|
160
156
|
self.listeners[token] = events
|
|
161
157
|
callback = ensure_not_coroutine(callback)
|
|
162
|
-
|
|
163
|
-
return EventListenerRegisterImpl(lambda:
|
|
158
|
+
events.add(callback)
|
|
159
|
+
return EventListenerRegisterImpl(lambda: events.discard(callback))
|
|
164
160
|
|
|
165
161
|
def notify(
|
|
166
162
|
self,
|
|
@@ -649,6 +645,7 @@ class PluginRemote:
|
|
|
649
645
|
):
|
|
650
646
|
self.systemState: Mapping[str, Mapping[str, SystemDeviceState]] = {}
|
|
651
647
|
self.nativeIds: Mapping[str, DeviceStorage] = {}
|
|
648
|
+
self.systemManager: SystemManager = None
|
|
652
649
|
self.mediaManager: MediaManager
|
|
653
650
|
self.clusterManager: ClusterManager
|
|
654
651
|
self.consoles: Mapping[str, Future[Tuple[StreamReader, StreamWriter]]] = {}
|
|
@@ -722,6 +719,13 @@ class PluginRemote:
|
|
|
722
719
|
raise
|
|
723
720
|
|
|
724
721
|
async def loadZipWrapped(self, packageJson, zipAPI: Any, zipOptions: dict):
|
|
722
|
+
# plugin host modules, unused (and not installed) when this module is
|
|
723
|
+
# consumed by a client via the scrypted-sdk package
|
|
724
|
+
import cluster_labels
|
|
725
|
+
import plugin_console
|
|
726
|
+
import plugin_volume as pv
|
|
727
|
+
from plugin_pip import install_with_pip, need_requirements, remove_pip_dirs
|
|
728
|
+
|
|
725
729
|
await self.clusterSetup.initializeCluster(zipOptions)
|
|
726
730
|
|
|
727
731
|
sdk = ScryptedStatic()
|
|
@@ -1113,18 +1117,18 @@ class PluginRemote:
|
|
|
1113
1117
|
|
|
1114
1118
|
async def notify(self, id, eventDetails: EventDetails, value):
|
|
1115
1119
|
property = eventDetails.get("property")
|
|
1116
|
-
if property:
|
|
1117
|
-
state = None
|
|
1118
|
-
if
|
|
1119
|
-
state
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1120
|
+
if property and not eventDetails.get("mixinId"):
|
|
1121
|
+
state = self.systemState.get(id, None) if self.systemState else None
|
|
1122
|
+
if not state:
|
|
1123
|
+
print("state not found for %s" % id)
|
|
1124
|
+
return
|
|
1125
|
+
state[property] = value
|
|
1126
|
+
if self.systemManager:
|
|
1127
|
+
self.systemManager.events.notifyEventDetails(
|
|
1128
|
+
id, eventDetails, value.get("value", None) if value else None
|
|
1129
|
+
)
|
|
1130
|
+
elif self.systemManager:
|
|
1131
|
+
self.systemManager.events.notifyEventDetails(id, eventDetails, value)
|
|
1128
1132
|
|
|
1129
1133
|
async def ioEvent(self, id, event, message=None):
|
|
1130
1134
|
pass
|
package/python/rpc_reader.py
CHANGED
|
@@ -206,7 +206,7 @@ class RpcConnectionTransport(RpcTransport):
|
|
|
206
206
|
return self.writeMessage(bytes(buffer), reject)
|
|
207
207
|
|
|
208
208
|
|
|
209
|
-
async def readLoop(
|
|
209
|
+
async def readLoop(peer: rpc.RpcPeer, rpcTransport: RpcTransport):
|
|
210
210
|
deserializationContext = {"buffers": []}
|
|
211
211
|
|
|
212
212
|
while True:
|
|
@@ -216,9 +216,7 @@ async def readLoop(loop, peer: rpc.RpcPeer, rpcTransport: RpcTransport):
|
|
|
216
216
|
deserializationContext["buffers"].append(message)
|
|
217
217
|
continue
|
|
218
218
|
|
|
219
|
-
asyncio.
|
|
220
|
-
peer.handleMessage(message, deserializationContext), loop
|
|
221
|
-
)
|
|
219
|
+
asyncio.create_task(peer.handleMessage(message, deserializationContext))
|
|
222
220
|
|
|
223
221
|
deserializationContext = {"buffers": []}
|
|
224
222
|
|
|
@@ -246,7 +244,7 @@ async def prepare_peer_readloop(loop: AbstractEventLoop, rpcTransport: RpcTransp
|
|
|
246
244
|
|
|
247
245
|
async def peerReadLoop():
|
|
248
246
|
try:
|
|
249
|
-
await readLoop(
|
|
247
|
+
await readLoop(peer, rpcTransport)
|
|
250
248
|
except:
|
|
251
249
|
peer.kill()
|
|
252
250
|
raise
|
package/src/cert.ts
CHANGED
|
@@ -15,7 +15,7 @@ export interface SelfSignedCertificate {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
export function createSelfSignedCertificate(existing?: SelfSignedCertificate): SelfSignedCertificate {
|
|
18
|
-
let serviceKey: ReturnType<typeof pki.privateKeyFromPem
|
|
18
|
+
let serviceKey: ReturnType<typeof pki.privateKeyFromPem> | undefined;
|
|
19
19
|
// check if existing key is usable
|
|
20
20
|
if (existing?.certificate && existing?.serviceKey && existing?.version === CURRENT_SELF_SIGNED_CERTIFICATE_VERSION) {
|
|
21
21
|
try {
|
|
@@ -30,7 +30,7 @@ export function createSelfSignedCertificate(existing?: SelfSignedCertificate): S
|
|
|
30
30
|
|
|
31
31
|
const certificate = pki.createCertificate();
|
|
32
32
|
|
|
33
|
-
if (
|
|
33
|
+
if (serviceKey) {
|
|
34
34
|
certificate.publicKey = pki.rsa.setPublicKey(serviceKey.n, serviceKey.e);
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
@@ -9,7 +9,7 @@ export function matchesClusterLabels(options: ClusterForkOptions, labels: string
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
// if there is nothing in the any list, consider it matched
|
|
12
|
-
let foundAny: boolean;
|
|
12
|
+
let foundAny: boolean = false;
|
|
13
13
|
if (options?.labels?.any?.length) {
|
|
14
14
|
for (const label of options.labels.any) {
|
|
15
15
|
if (labels.includes(label)) {
|
|
@@ -42,16 +42,16 @@ export function getClusterLabels() {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export function getClusterWorkerWeight() {
|
|
45
|
-
return parseFloat(process.env.SCRYPTED_CLUSTER_WEIGHT) || 1;
|
|
45
|
+
return parseFloat(process.env.SCRYPTED_CLUSTER_WEIGHT || '') || 1;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
export function needsClusterForkWorker(options
|
|
48
|
+
export function needsClusterForkWorker(options?: ClusterForkOptions) {
|
|
49
49
|
return process.env.SCRYPTED_CLUSTER_ADDRESS
|
|
50
50
|
&& options
|
|
51
51
|
&& (!matchesClusterLabels(options, getClusterLabels()) || options.clusterWorkerId);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
export function utilizesClusterForkWorker(options
|
|
54
|
+
export function utilizesClusterForkWorker(options?: ClusterForkOptions) {
|
|
55
55
|
return process.env.SCRYPTED_CLUSTER_ADDRESS
|
|
56
56
|
&& (options?.labels || options?.clusterWorkerId);
|
|
57
57
|
}
|
|
@@ -18,10 +18,10 @@ export function isClusterAddress(address: string) {
|
|
|
18
18
|
return !address || address === process.env.SCRYPTED_CLUSTER_ADDRESS;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export function getClusterObject(clusterId: string, value: any) {
|
|
21
|
+
export function getClusterObject(clusterId: string, value: any): ClusterObject | undefined {
|
|
22
22
|
const clusterObject: ClusterObject = value?.__cluster;
|
|
23
23
|
if (clusterObject?.id !== clusterId)
|
|
24
|
-
return;
|
|
24
|
+
return undefined;
|
|
25
25
|
return clusterObject;
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -219,7 +219,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
219
219
|
const connect = workers.get(connectThreadId);
|
|
220
220
|
const channel = new worker_threads.MessageChannel();
|
|
221
221
|
|
|
222
|
-
worker
|
|
222
|
+
worker!.postMessage({
|
|
223
223
|
port: channel.port1,
|
|
224
224
|
threadId: connectThreadId,
|
|
225
225
|
}, [channel.port1]);
|
|
@@ -233,7 +233,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
233
233
|
else if (connectThreadId === worker_threads.threadId) {
|
|
234
234
|
connectTidPeer(threadId);
|
|
235
235
|
const deferred = tidChannels.get(threadId);
|
|
236
|
-
deferred
|
|
236
|
+
deferred!.resolve(channel.port2);
|
|
237
237
|
}
|
|
238
238
|
else {
|
|
239
239
|
channel.port2.close();
|
|
@@ -269,14 +269,14 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
269
269
|
// can use worker to worker ipc if the address and pid matches and both side are node.
|
|
270
270
|
if (address === SCRYPTED_CLUSTER_ADDRESS && proxyId.startsWith('n-')) {
|
|
271
271
|
const parts = proxyId.split('-');
|
|
272
|
-
const pid = parseInt(parts[1]);
|
|
273
|
-
const tid = parseInt(parts[2]);
|
|
272
|
+
const pid = parseInt(parts[1]!);
|
|
273
|
+
const tid = parseInt(parts[2]!);
|
|
274
274
|
if (pid === process.pid) {
|
|
275
275
|
if (worker_threads.isMainThread && tid === worker_threads.threadId) {
|
|
276
276
|
// main thread can't call itself, so this may be a different thread cluster.
|
|
277
277
|
}
|
|
278
278
|
else {
|
|
279
|
-
return connectIPCObject(clusterObject, parseInt(parts[2]));
|
|
279
|
+
return connectIPCObject(clusterObject, parseInt(parts[2]!));
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
}
|
|
@@ -301,7 +301,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
301
301
|
|
|
302
302
|
const onProxySerialization = (peer: RpcPeer, value: any, sourceKey: string) => {
|
|
303
303
|
const properties = RpcPeer.prepareProxyProperties(value) || {};
|
|
304
|
-
let clusterEntry: ClusterObject = properties.__cluster;
|
|
304
|
+
let clusterEntry: ClusterObject | undefined = properties.__cluster;
|
|
305
305
|
|
|
306
306
|
// ensure globally stable proxyIds.
|
|
307
307
|
// worker threads will embed their pid and tid in the proxy id for cross worker fast path.
|
|
@@ -318,11 +318,11 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
318
318
|
if (!clusterEntry) {
|
|
319
319
|
clusterEntry = {
|
|
320
320
|
id: clusterId,
|
|
321
|
-
address: SCRYPTED_CLUSTER_ADDRESS
|
|
321
|
+
address: SCRYPTED_CLUSTER_ADDRESS!,
|
|
322
322
|
port: clusterPort,
|
|
323
323
|
proxyId,
|
|
324
324
|
sourceKey,
|
|
325
|
-
sha256: null
|
|
325
|
+
sha256: null!,
|
|
326
326
|
};
|
|
327
327
|
clusterEntry.sha256 = computeClusterObjectHash(clusterEntry, clusterSecret);
|
|
328
328
|
properties.__cluster = clusterEntry;
|
|
@@ -347,8 +347,8 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
347
347
|
|
|
348
348
|
|
|
349
349
|
const { server: clusterRpcServer, port } = await clusterListenZero(client => {
|
|
350
|
-
const clusterPeerAddress = client.remoteAddress
|
|
351
|
-
const clusterPeerPort = client.remotePort
|
|
350
|
+
const clusterPeerAddress = client.remoteAddress!;
|
|
351
|
+
const clusterPeerPort = client.remotePort!;
|
|
352
352
|
const clusterPeerKey = getClusterPeerKey(clusterPeerAddress, clusterPeerPort);
|
|
353
353
|
const clusterPeer = createDuplexRpcPeer(peer.selfName, clusterPeerKey, client, client);
|
|
354
354
|
// set params from the primary peer, needed for get getRemote in cluster mode.
|
|
@@ -368,7 +368,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
368
368
|
|
|
369
369
|
clusterPort = port;
|
|
370
370
|
|
|
371
|
-
peer.onProxySerialization = value => onProxySerialization(peer, value, undefined);
|
|
371
|
+
peer.onProxySerialization = value => onProxySerialization(peer, value, undefined!);
|
|
372
372
|
delete peer.params.initializeCluster;
|
|
373
373
|
|
|
374
374
|
peer.killedSafe.finally(() => clusterRpcServer.close());
|
|
@@ -400,7 +400,7 @@ export function setupCluster(peer: RpcPeer) {
|
|
|
400
400
|
|
|
401
401
|
export type InitializeCluster = (cluster: { clusterId: string, clusterSecret: string, clusterWorkerId: string, }) => Promise<void>;
|
|
402
402
|
|
|
403
|
-
export function getScryptedClusterMode(): ['server' | 'client', string, number] {
|
|
403
|
+
export function getScryptedClusterMode(): ['server' | 'client', string, number] | undefined {
|
|
404
404
|
const mode = process.env.SCRYPTED_CLUSTER_MODE as 'server' | 'client';
|
|
405
405
|
|
|
406
406
|
if (!mode) {
|
|
@@ -416,7 +416,7 @@ export function getScryptedClusterMode(): ['server' | 'client', string, number]
|
|
|
416
416
|
console.warn('SCRYPTED_CLUSTER_SECRET is set but SCRYPTED_CLUSTER_MODE is not set. This setting will be ignored.');
|
|
417
417
|
delete process.env.SCRYPTED_CLUSTER_SECRET;
|
|
418
418
|
}
|
|
419
|
-
return;
|
|
419
|
+
return undefined;
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
if (!['server', 'client'].includes(mode))
|
|
@@ -426,7 +426,7 @@ export function getScryptedClusterMode(): ['server' | 'client', string, number]
|
|
|
426
426
|
throw new Error('SCRYPTED_CLUSTER_MODE is set but SCRYPTED_CLUSTER_SECRET is not set.');
|
|
427
427
|
|
|
428
428
|
const [server, sport] = process.env.SCRYPTED_CLUSTER_SERVER?.split(':') || [];
|
|
429
|
-
const port = parseInt(sport) || 10556;
|
|
429
|
+
const port = parseInt(sport!) || 10556;
|
|
430
430
|
const address = process.env.SCRYPTED_CLUSTER_ADDRESS;
|
|
431
431
|
|
|
432
432
|
if (mode === 'client') {
|
|
@@ -444,12 +444,12 @@ export function getScryptedClusterMode(): ['server' | 'client', string, number]
|
|
|
444
444
|
throw new Error('SCRYPTED_CLUSTER_ADDRESS and SCRYPTED_CLUSTER_SERVER must not both be used.');
|
|
445
445
|
|
|
446
446
|
let serverAddress = address || server;
|
|
447
|
-
if (!net.isIP(serverAddress)) {
|
|
447
|
+
if (!net.isIP(serverAddress!)) {
|
|
448
448
|
// due to dhcp changes allowing an interface name for the server address is also valid,
|
|
449
449
|
// resolve using network interfaces.
|
|
450
450
|
const interfaces = os.networkInterfaces();
|
|
451
|
-
const iface = interfaces[serverAddress];
|
|
452
|
-
const ipv4 = iface?.find(i => i.family === 'IPv4');
|
|
451
|
+
const iface = interfaces[serverAddress!];
|
|
452
|
+
const ipv4 = iface?.find((i: os.NetworkInterfaceInfo) => i.family === 'IPv4');
|
|
453
453
|
if (!ipv4)
|
|
454
454
|
throw new Error('SCRYPTED_CLUSTER_ADDRESS is not set.');
|
|
455
455
|
serverAddress = ipv4.address;
|
|
@@ -458,7 +458,7 @@ export function getScryptedClusterMode(): ['server' | 'client', string, number]
|
|
|
458
458
|
delete process.env.SCRYPTED_CLUSTER_SERVER;
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
-
return [mode, server
|
|
461
|
+
return [mode, server!, port];
|
|
462
462
|
}
|
|
463
463
|
|
|
464
464
|
export async function clusterListenZero(callback: (socket: net.Socket) => void) {
|