@scrypted/server 0.0.7 → 0.0.8

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.

@@ -1,119 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PluginComponent = void 0;
7
- const types_1 = require("@scrypted/sdk/types");
8
- const db_types_1 = require("../db-types");
9
- const state_1 = require("../state");
10
- const axios_1 = __importDefault(require("axios"));
11
- const semver_1 = __importDefault(require("semver"));
12
- class PluginComponent {
13
- scrypted;
14
- constructor(scrypted) {
15
- this.scrypted = scrypted;
16
- }
17
- getNativeId(id) {
18
- return this.scrypted.findPluginDeviceById(id)?.nativeId;
19
- }
20
- getStorage(id) {
21
- return this.scrypted.findPluginDeviceById(id)?.storage || {};
22
- }
23
- async setStorage(id, storage) {
24
- const pluginDevice = this.scrypted.findPluginDeviceById(id);
25
- pluginDevice.storage = storage;
26
- await this.scrypted.datastore.upsert(pluginDevice);
27
- const host = this.scrypted.getPluginHostForDeviceId(id);
28
- await host?.remote?.setNativeId?.(pluginDevice.nativeId, pluginDevice._id, storage);
29
- this.scrypted.stateManager.notifyInterfaceEvent(pluginDevice, 'Storage', undefined);
30
- }
31
- async setMixins(id, mixins) {
32
- const pluginDevice = this.scrypted.findPluginDeviceById(id);
33
- this.scrypted.stateManager.setPluginDeviceState(pluginDevice, types_1.ScryptedInterfaceProperty.mixins, [...new Set(mixins)] || []);
34
- await this.scrypted.datastore.upsert(pluginDevice);
35
- const device = this.scrypted.invalidatePluginDevice(id);
36
- await device?.handler.ensureProxy();
37
- }
38
- async getMixins(id) {
39
- console.warn('legacy use of getMixins, use the mixins property');
40
- const pluginDevice = this.scrypted.findPluginDeviceById(id);
41
- return (0, state_1.getState)(pluginDevice, types_1.ScryptedInterfaceProperty.mixins) || [];
42
- }
43
- async getIdForPluginId(pluginId) {
44
- return this.scrypted.findPluginDevice(pluginId)?._id;
45
- }
46
- async getPluginId(id) {
47
- const pluginDevice = this.scrypted.findPluginDeviceById(id);
48
- return pluginDevice.pluginId;
49
- }
50
- async getPluginProcessId(pluginId) {
51
- return this.scrypted.plugins[pluginId]?.worker?.pid;
52
- }
53
- async reload(pluginId) {
54
- const plugin = await this.scrypted.datastore.tryGet(db_types_1.Plugin, pluginId);
55
- await this.scrypted.runPlugin(plugin);
56
- }
57
- async kill(pluginId) {
58
- return this.scrypted.plugins[pluginId]?.kill();
59
- }
60
- async getPackageJson(pluginId) {
61
- const plugin = await this.scrypted.datastore.tryGet(db_types_1.Plugin, pluginId);
62
- return plugin.packageJson;
63
- }
64
- async getDeviceInfo(id) {
65
- const pluginDevice = this.scrypted.findPluginDeviceById(id);
66
- return {
67
- mixins: (0, state_1.getState)(pluginDevice, types_1.ScryptedInterfaceProperty.mixins) || [],
68
- pluginId: pluginDevice.pluginId,
69
- storage: pluginDevice.storage,
70
- nativeId: pluginDevice.nativeId,
71
- };
72
- }
73
- async getPluginInfo(pluginId) {
74
- const plugin = await this.scrypted.datastore.tryGet(db_types_1.Plugin, pluginId);
75
- const host = this.scrypted.plugins[pluginId];
76
- let rpcObjects = 0;
77
- if (host.peer) {
78
- rpcObjects = host.peer.localProxied.size + Object.keys(host.peer.remoteWeakProxies).length;
79
- }
80
- return {
81
- pid: host?.worker?.pid,
82
- stats: host?.stats,
83
- rpcObjects,
84
- packageJson: plugin.packageJson,
85
- id: this.scrypted.findPluginDevice(pluginId),
86
- };
87
- }
88
- async installNpm(pkg, version) {
89
- await this.scrypted.installNpm(pkg, version);
90
- }
91
- async npmInfo(endpoint) {
92
- const response = await (0, axios_1.default)(`https://registry.npmjs.org/${endpoint}`);
93
- return response.data;
94
- }
95
- async updatePlugins() {
96
- console.log('updating plugins');
97
- for (const [plugin, host] of Object.entries(this.scrypted.plugins)) {
98
- try {
99
- const registry = await this.npmInfo(plugin);
100
- const version = registry['dist-tags'].latest;
101
- if (!semver_1.default.gt(version, host.packageJson.version)) {
102
- console.log('plugin up to date:', plugin);
103
- continue;
104
- }
105
- console.log('updating plugin', plugin);
106
- await this.installNpm(plugin);
107
- }
108
- catch (e) {
109
- console.warn('plugin update check or installation failed', e);
110
- }
111
- }
112
- console.log('done updating plugins');
113
- }
114
- async getRemoteServicePort(pluginId, name) {
115
- return this.scrypted.plugins[pluginId].remote.getServicePort(name);
116
- }
117
- }
118
- exports.PluginComponent = PluginComponent;
119
- //# sourceMappingURL=plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/component/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ffmpegLogInitialOutput = void 0;
4
- function ffmpegLogInitialOutput(console, cp, forever) {
5
- function logger(log) {
6
- const ret = (buffer) => {
7
- const str = buffer.toString();
8
- if (!forever && (str.indexOf('frame=') !== -1 || str.indexOf('size=') !== -1)) {
9
- log(str);
10
- log('video/audio detected, discarding further input');
11
- cp.stdout.removeListener('data', ret);
12
- cp.stderr.removeListener('data', ret);
13
- return;
14
- }
15
- log(str);
16
- };
17
- return ret;
18
- }
19
- ;
20
- cp.stdout?.on('data', logger(console.log));
21
- cp.stderr?.on('data', logger(console.error));
22
- }
23
- exports.ffmpegLogInitialOutput = ffmpegLogInitialOutput;
24
- //# sourceMappingURL=ffmpeg-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ffmpeg-helper.js","sourceRoot":"","sources":["../src/ffmpeg-helper.ts"],"names":[],"mappings":";;;AAEA,SAAgB,sBAAsB,CAAC,OAAgB,EAAE,EAAgB,EAAE,OAAiB;IACxF,SAAS,MAAM,CAAC,GAA0B;QACtC,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC3E,GAAG,CAAC,GAAG,CAAC,CAAC;gBACT,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBACtD,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO;aACV;YAED,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAA;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAAA,CAAC;IACF,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC;AAnBD,wDAmBC"}
package/dist/md5.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.md5 = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
8
- function md5(input) {
9
- let hash = crypto_1.default.createHash("MD5");
10
- hash.update(input);
11
- return hash.digest("hex");
12
- }
13
- exports.md5 = md5;
14
- ;
15
- //# sourceMappingURL=md5.js.map
package/dist/md5.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"md5.js","sourceRoot":"","sources":["../src/md5.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,SAAgB,GAAG,CAAC,KAAa;IAC7B,IAAI,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AALD,kBAKC;AAAA,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listenZeroCluster = void 0;
4
- const events_1 = require("events");
5
- async function listenZeroCluster(server) {
6
- while (true) {
7
- const port = 10000 + Math.round(Math.random() * 30000);
8
- server.listen(port);
9
- try {
10
- await (0, events_1.once)(server, 'listening');
11
- return server.address().port;
12
- }
13
- catch (e) {
14
- }
15
- }
16
- }
17
- exports.listenZeroCluster = listenZeroCluster;
18
- //# sourceMappingURL=cluster-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cluster-helper.js","sourceRoot":"","sources":["../../src/plugin/cluster-helper.ts"],"names":[],"mappings":";;;AACA,mCAA8B;AAEvB,KAAK,UAAU,iBAAiB,CAAC,MAAkB;IACtD,OAAO,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI;YACA,MAAM,IAAA,aAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAChC,OAAQ,MAAM,CAAC,OAAO,EAAsB,CAAC,IAAI,CAAC;SACrD;QACD,OAAO,CAAC,EAAE;SACT;KACJ;AACL,CAAC;AAXD,8CAWC"}