@scrypted/server 0.7.21 → 0.7.23

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.

Files changed (81) hide show
  1. package/dist/asynciterable-utils.d.ts +2 -0
  2. package/dist/cert.d.ts +6 -0
  3. package/dist/collection.d.ts +1 -0
  4. package/dist/db-types.d.ts +38 -0
  5. package/dist/event-registry.d.ts +19 -0
  6. package/dist/http-interfaces.d.ts +3 -0
  7. package/dist/infer-defaults.d.ts +11 -0
  8. package/dist/io.d.ts +22 -0
  9. package/dist/level.d.ts +110 -0
  10. package/dist/listen-zero.d.ts +10 -0
  11. package/dist/logger.d.ts +29 -0
  12. package/dist/media-helpers.d.ts +5 -0
  13. package/dist/mixin/mixin-cycle.d.ts +3 -0
  14. package/dist/plugin/acl.d.ts +16 -0
  15. package/dist/plugin/descriptor.d.ts +22 -0
  16. package/dist/plugin/media.d.ts +71 -0
  17. package/dist/plugin/plugin-api.d.ts +106 -0
  18. package/dist/plugin/plugin-console.d.ts +28 -0
  19. package/dist/plugin/plugin-debug.d.ts +4 -0
  20. package/dist/plugin/plugin-device.d.ts +54 -0
  21. package/dist/plugin/plugin-error.d.ts +2 -0
  22. package/dist/plugin/plugin-host-api.d.ts +43 -0
  23. package/dist/plugin/plugin-host.d.ts +45 -0
  24. package/dist/plugin/plugin-host.js +8 -25
  25. package/dist/plugin/plugin-host.js.map +1 -1
  26. package/dist/plugin/plugin-http.d.ts +18 -0
  27. package/dist/plugin/plugin-lazy-remote.d.ts +31 -0
  28. package/dist/plugin/plugin-npm-dependencies.d.ts +2 -0
  29. package/dist/plugin/plugin-remote-stats.d.ts +8 -0
  30. package/dist/plugin/plugin-remote-websocket.d.ts +29 -0
  31. package/dist/plugin/plugin-remote-worker.d.ts +2 -0
  32. package/dist/plugin/plugin-remote-worker.js +4 -4
  33. package/dist/plugin/plugin-remote-worker.js.map +1 -1
  34. package/dist/plugin/plugin-remote.d.ts +75 -0
  35. package/dist/plugin/plugin-repl.d.ts +2 -0
  36. package/dist/plugin/plugin-state-check.d.ts +1 -0
  37. package/dist/plugin/plugin-volume.d.ts +3 -0
  38. package/dist/plugin/runtime/child-process-worker.d.ts +20 -0
  39. package/dist/plugin/runtime/node-fork-worker.d.ts +9 -0
  40. package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
  41. package/dist/plugin/runtime/node-thread-worker.d.ts +20 -0
  42. package/dist/plugin/runtime/python-worker.d.ts +10 -0
  43. package/dist/plugin/runtime/runtime-worker.d.ts +26 -0
  44. package/dist/plugin/socket-serializer.d.ts +5 -0
  45. package/dist/plugin/system.d.ts +39 -0
  46. package/dist/rpc-buffer-serializer.d.ts +11 -0
  47. package/dist/rpc-serializer.d.ts +24 -0
  48. package/dist/rpc.d.ts +132 -0
  49. package/dist/runtime.d.ts +103 -0
  50. package/dist/runtime.js +5 -0
  51. package/dist/runtime.js.map +1 -1
  52. package/dist/scrypted-main-exports.d.ts +6 -0
  53. package/dist/scrypted-main-exports.js +8 -3
  54. package/dist/scrypted-main-exports.js.map +1 -1
  55. package/dist/scrypted-main.d.ts +1 -0
  56. package/dist/scrypted-plugin-main.d.ts +2 -0
  57. package/dist/scrypted-server-main.d.ts +6 -0
  58. package/dist/scrypted-server-main.js +2 -1
  59. package/dist/scrypted-server-main.js.map +1 -1
  60. package/dist/server-settings.d.ts +5 -0
  61. package/dist/services/addresses.d.ts +7 -0
  62. package/dist/services/alerts.d.ts +9 -0
  63. package/dist/services/cors.d.ts +18 -0
  64. package/dist/services/info.d.ts +5 -0
  65. package/dist/services/plugin.d.ts +46 -0
  66. package/dist/services/service-control.d.ts +8 -0
  67. package/dist/services/users.d.ts +14 -0
  68. package/dist/sleep.d.ts +1 -0
  69. package/dist/state.d.ts +39 -0
  70. package/dist/threading.d.ts +3 -0
  71. package/dist/usertoken.d.ts +11 -0
  72. package/package.json +2 -1
  73. package/src/plugin/plugin-host.ts +10 -25
  74. package/src/plugin/plugin-remote-worker.ts +4 -4
  75. package/src/plugin/runtime/node-fork-worker.ts +3 -3
  76. package/src/plugin/runtime/runtime-worker.ts +1 -1
  77. package/src/runtime.ts +9 -0
  78. package/src/scrypted-main-exports.ts +10 -3
  79. package/src/scrypted-plugin-main.ts +1 -1
  80. package/src/scrypted-server-main.ts +6 -1
  81. package/tsconfig.json +1 -0
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,132 @@
1
+ /// <reference types="node" />
2
+ export declare function startPeriodicGarbageCollection(): NodeJS.Timer;
3
+ export interface RpcMessage {
4
+ type: string;
5
+ }
6
+ interface RpcResult extends RpcMessage {
7
+ id: string;
8
+ /**
9
+ * @deprecated
10
+ */
11
+ stack?: string;
12
+ /**
13
+ * @deprecated
14
+ */
15
+ message?: string;
16
+ throw?: boolean;
17
+ result?: any;
18
+ }
19
+ interface RpcRemoteProxyValue {
20
+ __remote_proxy_id: string | undefined;
21
+ __remote_proxy_finalizer_id: string | undefined;
22
+ __remote_constructor_name: string;
23
+ __remote_proxy_props: any;
24
+ __remote_proxy_oneway_methods: string[];
25
+ __serialized_value?: any;
26
+ }
27
+ interface Deferred {
28
+ resolve: any;
29
+ reject: any;
30
+ }
31
+ export interface PrimitiveProxyHandler<T extends object> extends ProxyHandler<T> {
32
+ toPrimitive(): any;
33
+ }
34
+ interface SerialiedRpcResultError {
35
+ name: string;
36
+ stack: string;
37
+ message: string;
38
+ }
39
+ export declare class RPCResultError extends Error {
40
+ cause?: Error;
41
+ constructor(peer: RpcPeer, message: string, cause?: Error, options?: {
42
+ name: string;
43
+ stack: string | undefined;
44
+ });
45
+ }
46
+ declare class WeakRef<T> {
47
+ target: T;
48
+ constructor(target: any);
49
+ deref(): T;
50
+ }
51
+ export interface RpcSerializer {
52
+ serialize(value: any, serializationContext?: any): any;
53
+ deserialize(serialized: any, serializationContext?: any): any;
54
+ }
55
+ interface LocalProxiedEntry {
56
+ id: string;
57
+ finalizerId: string | undefined;
58
+ }
59
+ interface ErrorType {
60
+ name: string;
61
+ message: string;
62
+ stack?: string;
63
+ }
64
+ export declare class RpcPeer {
65
+ selfName: string;
66
+ peerName: string;
67
+ send: (message: RpcMessage, reject?: (e: Error) => void, serializationContext?: any) => void;
68
+ idCounter: number;
69
+ params: {
70
+ [name: string]: any;
71
+ };
72
+ pendingResults: {
73
+ [id: string]: Deferred;
74
+ };
75
+ proxyCounter: number;
76
+ localProxied: Map<any, LocalProxiedEntry>;
77
+ localProxyMap: Map<string, any>;
78
+ remoteWeakProxies: {
79
+ [id: string]: WeakRef<any>;
80
+ };
81
+ finalizers: FinalizationRegistry<unknown>;
82
+ nameDeserializerMap: Map<string, RpcSerializer>;
83
+ onProxyTypeSerialization: Map<string, (value: any) => void>;
84
+ onProxySerialization: (value: any, proxyId: string) => any;
85
+ constructorSerializerMap: Map<any, string>;
86
+ transportSafeArgumentTypes: Set<string>;
87
+ killed: Promise<string>;
88
+ killedDeferred: Deferred;
89
+ tags: any;
90
+ static readonly finalizerIdSymbol: unique symbol;
91
+ static remotesCollected: number;
92
+ static remotesCreated: number;
93
+ static activeRpcPeer: RpcPeer;
94
+ static isRpcProxy(value: any): boolean;
95
+ static getDefaultTransportSafeArgumentTypes(): Set<string>;
96
+ static handleFunctionInvocations(thiz: PrimitiveProxyHandler<any>, target: any, p: PropertyKey, receiver: any): any;
97
+ static getIteratorNext(target: any): string;
98
+ static prepareProxyProperties(value: any): any;
99
+ static readonly RPC_RESULT_ERROR_NAME = "RPCResultError";
100
+ static readonly PROPERTY_PROXY_ID = "__proxy_id";
101
+ static readonly PROPERTY_PROXY_ONEWAY_METHODS = "__proxy_oneway_methods";
102
+ static readonly PROPERTY_JSON_DISABLE_SERIALIZATION = "__json_disable_serialization";
103
+ static readonly PROPERTY_PROXY_PROPERTIES = "__proxy_props";
104
+ static readonly PROPERTY_JSON_COPY_SERIALIZE_CHILDREN = "__json_copy_serialize_children";
105
+ static readonly PROBED_PROPERTIES: Set<any>;
106
+ constructor(selfName: string, peerName: string, send: (message: RpcMessage, reject?: (e: Error) => void, serializationContext?: any) => void);
107
+ static isTransportSafe(value: any): boolean;
108
+ isTransportSafe(value: any): boolean;
109
+ createPendingResult(cb: (id: string, reject: (e: Error) => void) => void): Promise<any>;
110
+ kill(message?: string): void;
111
+ addSerializer(ctr: any, name: string, serializer: RpcSerializer): void;
112
+ finalize(entry: LocalProxiedEntry): void;
113
+ getParam(param: string): Promise<any>;
114
+ evalLocal<T>(script: string, filename?: string, coercedParams?: {
115
+ [name: string]: any;
116
+ }): T;
117
+ /**
118
+ * @deprecated
119
+ * @param result
120
+ * @param e
121
+ */
122
+ createErrorResult(result: RpcResult, e: ErrorType): void;
123
+ deserialize(value: any, deserializationContext: any): any;
124
+ deserializeError(e: SerialiedRpcResultError): RPCResultError;
125
+ serializeError(e: ErrorType): RpcRemoteProxyValue;
126
+ serialize(value: any, serializationContext: any): any;
127
+ newProxy(proxyId: string, proxyConstructorName: string, proxyProps: any, proxyOneWayMethods: string[]): any;
128
+ handleMessage(message: RpcMessage, deserializationContext?: any): void;
129
+ private handleMessageInternal;
130
+ }
131
+ export declare function getEvalSource(): string;
132
+ export {};
@@ -0,0 +1,103 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Device, HttpRequest, ScryptedDevice, ScryptedNativeId } from '@scrypted/types';
4
+ import express, { Request, Response } from 'express';
5
+ import { ParamsDictionary } from 'express-serve-static-core';
6
+ import http, { ServerResponse } from 'http';
7
+ import https from 'https';
8
+ import { ParsedQs } from 'qs';
9
+ import WebSocket from "ws";
10
+ import { Plugin, PluginDevice } from './db-types';
11
+ import { IOServer } from './io';
12
+ import { Level } from './level';
13
+ import { Logger } from './logger';
14
+ import { AccessControls } from './plugin/acl';
15
+ import { PluginDebug } from './plugin/plugin-debug';
16
+ import { PluginDeviceProxyHandler } from './plugin/plugin-device';
17
+ import { PluginHost } from './plugin/plugin-host';
18
+ import { PluginHttp } from './plugin/plugin-http';
19
+ import { AddressSettings } from './services/addresses';
20
+ import { Alerts } from './services/alerts';
21
+ import { CORSControl } from './services/cors';
22
+ import { PluginComponent } from './services/plugin';
23
+ import { ServiceControl } from './services/service-control';
24
+ import { UsersService } from './services/users';
25
+ import { ScryptedStateManager } from './state';
26
+ import { RuntimeWorker, RuntimeWorkerOptions } from './plugin/runtime/runtime-worker';
27
+ interface DeviceProxyPair {
28
+ handler: PluginDeviceProxyHandler;
29
+ proxy: ScryptedDevice;
30
+ }
31
+ interface HttpPluginData {
32
+ pluginHost: PluginHost;
33
+ pluginDevice: PluginDevice;
34
+ }
35
+ export declare type RuntimeHost = (mainFilename: string, pluginId: string, options: RuntimeWorkerOptions) => RuntimeWorker;
36
+ export declare class ScryptedRuntime extends PluginHttp<HttpPluginData> {
37
+ mainFilename: string;
38
+ clusterId: string;
39
+ clusterSecret: string;
40
+ datastore: Level;
41
+ plugins: {
42
+ [id: string]: PluginHost;
43
+ };
44
+ pluginDevices: {
45
+ [id: string]: PluginDevice;
46
+ };
47
+ devices: {
48
+ [id: string]: DeviceProxyPair;
49
+ };
50
+ stateManager: ScryptedStateManager;
51
+ logger: Logger;
52
+ devicesLogger: Logger;
53
+ wss: WebSocket.Server;
54
+ wsAtomic: number;
55
+ shellio: IOServer;
56
+ pluginComponent: PluginComponent;
57
+ servieControl: ServiceControl;
58
+ alerts: Alerts;
59
+ corsControl: CORSControl;
60
+ addressSettings: AddressSettings;
61
+ usersService: UsersService;
62
+ pluginHosts: Map<string, RuntimeHost>;
63
+ constructor(mainFilename: string, datastore: Level, insecure: http.Server, secure: https.Server, app: express.Application);
64
+ checkUpgrade(req: express.Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: express.Response<any, Record<string, any>>, pluginData: HttpPluginData): void;
65
+ addAccessControlHeaders(req: http.IncomingMessage, res: http.ServerResponse): void;
66
+ getAccessControlAllowOrigin(headers: http.IncomingHttpHeaders): string;
67
+ getDeviceLogger(device: PluginDevice): Logger;
68
+ getPluginForEndpoint(endpoint: string): Promise<HttpPluginData>;
69
+ shellHandler(req: Request, res: Response): Promise<void>;
70
+ getEndpointPluginData(req: Request, endpoint: string, isUpgrade: boolean, isEngineIOEndpoint: boolean): Promise<HttpPluginData>;
71
+ handleWebSocket(endpoint: string, httpRequest: HttpRequest, ws: WebSocket, pluginData: HttpPluginData): Promise<void>;
72
+ getComponent(componentId: string): Promise<any>;
73
+ getPackageJson(pluginId: string): Promise<any>;
74
+ getAccessControls(username: string): Promise<AccessControls>;
75
+ handleEngineIOEndpoint(req: Request, res: ServerResponse & {
76
+ locals: any;
77
+ }, endpointRequest: HttpRequest, pluginData: HttpPluginData): Promise<void>;
78
+ handleRequestEndpoint(req: Request, res: Response, endpointRequest: HttpRequest, pluginData: HttpPluginData): void;
79
+ killPlugin(pluginId: string): void;
80
+ invalidatePluginDevice(id: string): DeviceProxyPair;
81
+ rebuildPluginDeviceMixinTable(id: string): DeviceProxyPair;
82
+ invalidateMixins(ids: Set<string>): Set<string>;
83
+ installNpm(pkg: string, version?: string, installedSet?: Set<string>): Promise<PluginHost>;
84
+ installPlugin(plugin: Plugin, pluginDebug?: PluginDebug): Promise<PluginHost>;
85
+ setupPluginHostAutoRestart(pluginHost: PluginHost): void;
86
+ loadPlugin(plugin: Plugin, pluginDebug?: PluginDebug): PluginHost;
87
+ probePluginDevices(plugin: Plugin): void;
88
+ runPlugin(plugin: Plugin, pluginDebug?: PluginDebug): PluginHost;
89
+ findPluginDevice?(pluginId: string, nativeId?: ScryptedNativeId): PluginDevice;
90
+ findPluginDeviceById(id: string): PluginDevice;
91
+ findPluginDevices(pluginId: string): PluginDevice[];
92
+ getPluginHostForDeviceId(id: string): PluginHost;
93
+ getDevice<T>(id: string): T & ScryptedDevice;
94
+ removeDevice(device: PluginDevice): Promise<void>;
95
+ upsertDevice(pluginId: string, device: Device): {
96
+ pluginDevicePromise: Promise<PluginDevice>;
97
+ interfacesChanged: boolean;
98
+ };
99
+ notifyPluginDeviceDescriptorChanged(pluginDevice: PluginDevice): Promise<PluginDevice>;
100
+ killall(): void;
101
+ start(): Promise<void>;
102
+ }
103
+ export {};
package/dist/runtime.js CHANGED
@@ -60,6 +60,8 @@ const service_control_1 = require("./services/service-control");
60
60
  const users_1 = require("./services/users");
61
61
  const state_1 = require("./state");
62
62
  const crypto_1 = __importDefault(require("crypto"));
63
+ const python_worker_1 = require("./plugin/runtime/python-worker");
64
+ const node_fork_worker_1 = require("./plugin/runtime/node-fork-worker");
63
65
  const MIN_SCRYPTED_CORE_VERSION = 'v0.1.16';
64
66
  const PLUGIN_DEVICE_STATE_VERSION = 2;
65
67
  class ScryptedRuntime extends plugin_http_1.PluginHttp {
@@ -92,11 +94,14 @@ class ScryptedRuntime extends plugin_http_1.PluginHttp {
92
94
  corsControl = new cors_1.CORSControl(this);
93
95
  addressSettings = new addresses_1.AddressSettings(this);
94
96
  usersService = new users_1.UsersService(this);
97
+ pluginHosts = new Map();
95
98
  constructor(mainFilename, datastore, insecure, secure, app) {
96
99
  super(app);
97
100
  this.mainFilename = mainFilename;
98
101
  this.datastore = datastore;
99
102
  this.app = app;
103
+ this.pluginHosts.set('python', (_, pluginId, options) => new python_worker_1.PythonRuntimeWorker(pluginId, options));
104
+ this.pluginHosts.set('node', (mainFilename, pluginId, options) => new node_fork_worker_1.NodeForkWorker(mainFilename, pluginId, options));
100
105
  app.disable('x-powered-by');
101
106
  this.addMiddleware();
102
107
  app.all('/engine.io/shell', (req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Runtime } from './scrypted-server-main';
2
+ export declare function isChildProcess(): boolean;
3
+ declare function start(mainFilename: string, options?: {
4
+ onRuntimeCreated?: (runtime: Runtime) => Promise<void>;
5
+ }): any;
6
+ export default start;
@@ -3,13 +3,18 @@ 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.isChildProcess = void 0;
6
7
  const v8_1 = __importDefault(require("v8"));
7
8
  const vm_1 = __importDefault(require("vm"));
8
9
  const process_1 = __importDefault(require("process"));
9
10
  const semver_1 = __importDefault(require("semver"));
10
11
  const rpc_1 = require("./rpc");
11
12
  const plugin_error_1 = require("./plugin/plugin-error");
12
- function start(mainFilename) {
13
+ function isChildProcess() {
14
+ return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread';
15
+ }
16
+ exports.isChildProcess = isChildProcess;
17
+ function start(mainFilename, options) {
13
18
  if (!global.gc) {
14
19
  v8_1.default.setFlagsFromString('--expose_gc');
15
20
  global.gc = vm_1.default.runInNewContext("gc");
@@ -33,7 +38,7 @@ function start(mainFilename) {
33
38
  console.error('unhandledRejection', e);
34
39
  });
35
40
  const start = require('./scrypted-plugin-main').default;
36
- start(mainFilename);
41
+ return start(mainFilename);
37
42
  }
38
43
  else {
39
44
  // unhandled rejections are allowed if they are from a rpc/plugin call.
@@ -45,7 +50,7 @@ function start(mainFilename) {
45
50
  console.warn('unhandled rejection of RPC Result', error);
46
51
  });
47
52
  const start = require('./scrypted-server-main').default;
48
- start(mainFilename);
53
+ return start(mainFilename, options);
49
54
  }
50
55
  }
51
56
  exports.default = start;
@@ -1 +1 @@
1
- {"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,4CAAoB;AACpB,sDAA8B;AAC9B,oDAA4B;AAC5B,+BAAuE;AACvE,wDAAoD;AAEpD,SAAS,KAAK,CAAC,YAAoB;IAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACZ,YAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACpC,MAAM,CAAC,EAAE,GAAG,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KACxC;IAED,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;KACtF;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,mCAAmC;IACnC,iBAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC;IAE7D,IAAA,oCAA8B,GAAE,CAAC;IAEjC,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;QACnE,6EAA6E;QAC7E,4CAA4C;QAC5C,iBAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,KAAK,CAAC,YAAY,CAAC,CAAC;KACvB;SACI;QACD,uEAAuE;QACvE,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE;YACrC,IAAI,KAAK,EAAE,WAAW,KAAK,oBAAc,IAAI,KAAK,EAAE,WAAW,KAAK,0BAAW,EAAE;gBAC7E,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM,KAAK,CAAC;aACf;YACD,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,KAAK,CAAC,YAAY,CAAC,CAAC;KACvB;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,4CAAoB;AACpB,sDAA8B;AAC9B,oDAA4B;AAC5B,+BAAuE;AACvE,wDAAoD;AAGpD,SAAgB,cAAc;IAC1B,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAA;AAC5E,CAAC;AAFD,wCAEC;AAED,SAAS,KAAK,CAAC,YAAoB,EAAE,OAEpC;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACZ,YAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACpC,MAAM,CAAC,EAAE,GAAG,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KACxC;IAED,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;KACtF;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,mCAAmC;IACnC,iBAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC;IAE7D,IAAA,oCAA8B,GAAE,CAAC;IAEjC,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;QACnE,6EAA6E;QAC7E,4CAA4C;QAC5C,iBAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;KAC9B;SACI;QACD,uEAAuE;QACvE,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE;YACrC,IAAI,KAAK,EAAE,WAAW,KAAK,oBAAc,IAAI,KAAK,EAAE,WAAW,KAAK,0BAAW,EAAE;gBAC7E,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM,KAAK,CAAC;aACf;YACD,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;KACvC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare function start(mainFilename: string): void;
2
+ export default start;
@@ -0,0 +1,6 @@
1
+ import { ScryptedRuntime } from './runtime';
2
+ export declare type Runtime = ScryptedRuntime;
3
+ declare function start(mainFilename: string, options?: {
4
+ onRuntimeCreated?: (runtime: ScryptedRuntime) => Promise<void>;
5
+ }): Promise<void>;
6
+ export default start;
@@ -95,7 +95,7 @@ app.use(body_parser_1.default.urlencoded({ extended: false }));
95
95
  app.use(body_parser_1.default.json());
96
96
  // parse some custom thing into a Buffer
97
97
  app.use(body_parser_1.default.raw({ type: 'application/zip', limit: 100000000 }));
98
- async function start(mainFilename) {
98
+ async function start(mainFilename, options) {
99
99
  const volumeDir = (0, plugin_volume_1.getScryptedVolume)();
100
100
  mkdirp_1.default.sync(volumeDir);
101
101
  const dbPath = path_1.default.join(volumeDir, 'scrypted.db');
@@ -237,6 +237,7 @@ async function start(mainFilename) {
237
237
  next();
238
238
  });
239
239
  const scrypted = new runtime_1.ScryptedRuntime(mainFilename, db, insecure, secure, app);
240
+ await options?.onRuntimeCreated?.(scrypted);
240
241
  await scrypted.start();
241
242
  listenServerPort('SCRYPTED_SECURE_PORT', server_settings_1.SCRYPTED_SECURE_PORT, secure);
242
243
  listenServerPort('SCRYPTED_INSECURE_PORT', server_settings_1.SCRYPTED_INSECURE_PORT, insecure);
@@ -1 +1 @@
1
- {"version":3,"file":"scrypted-server-main.js","sourceRoot":"","sources":["../src/scrypted-server-main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrypted-server-main.js","sourceRoot":"","sources":["../src/scrypted-server-main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const SCRYPTED_INSECURE_PORT: number;
2
+ export declare const SCRYPTED_SECURE_PORT: number;
3
+ export declare const SCRYPTED_DEBUG_PORT: number;
4
+ export declare function getIpAddress(): string;
5
+ export declare function getHostAddresses(useIpv4: boolean, useIpv6: boolean): string[];
@@ -0,0 +1,7 @@
1
+ import { ScryptedRuntime } from "../runtime";
2
+ export declare class AddressSettings {
3
+ scrypted: ScryptedRuntime;
4
+ constructor(scrypted: ScryptedRuntime);
5
+ setLocalAddresses(addresses: string[]): Promise<void>;
6
+ getLocalAddresses(): Promise<string[]>;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { ScryptedAlert } from "../db-types";
2
+ import { ScryptedRuntime } from "../runtime";
3
+ export declare class Alerts {
4
+ scrypted: ScryptedRuntime;
5
+ constructor(scrypted: ScryptedRuntime);
6
+ getAlerts(): Promise<ScryptedAlert[]>;
7
+ removeAlert(alert: ScryptedAlert): Promise<void>;
8
+ clearAlerts(): Promise<void>;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { ScryptedRuntime } from "../runtime";
2
+ export declare class CORSControl {
3
+ runtime: ScryptedRuntime;
4
+ origins: {
5
+ [id: string]: string[];
6
+ };
7
+ constructor(runtime: ScryptedRuntime);
8
+ getCORS(id: string): Promise<string[]>;
9
+ setCORS(id: string, origins: string[]): Promise<void>;
10
+ }
11
+ export interface CORSServerLegacy {
12
+ tag: string;
13
+ server: string;
14
+ }
15
+ export interface CORSControlLegacy {
16
+ getCORS(): Promise<CORSServerLegacy[]>;
17
+ setCORS(servers: CORSServerLegacy[]): Promise<void>;
18
+ }
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ export declare class Info {
3
+ getVersion(): Promise<any>;
4
+ getScryptedEnv(): Promise<NodeJS.ProcessEnv>;
5
+ }