@camera.ui/browser 0.0.68 → 0.0.70
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/bundle.js +1 -1
- package/dist/types/packages/client/browser/src/client.d.ts +2 -2
- package/dist/types/packages/client/browser/src/index.d.ts +2 -2
- package/dist/types/packages/client/browser/src/proxy/cameraDevice.d.ts +4 -5
- package/dist/types/packages/client/browser/src/proxy/deviceManager.d.ts +3 -3
- package/dist/types/packages/client/browser/src/proxy/index.d.ts +4 -4
- package/dist/types/packages/client/browser/src/proxy/pluginsManager.d.ts +2 -2
- package/dist/types/packages/client/browser/src/proxy/systemManager.d.ts +2 -2
- package/dist/types/packages/client/browser/src/socket.d.ts +1 -1
- package/dist/types/packages/client/browser/src/types.d.ts +3 -3
- package/dist/types/server/bin/python.d.ts +43 -0
- package/dist/types/server/src/api/database/index.d.ts +24 -0
- package/dist/types/server/src/api/database/types.d.ts +13 -35
- package/dist/types/server/src/api/go2rtc/api/application.d.ts +9 -0
- package/dist/types/server/src/api/go2rtc/api/config.d.ts +9 -0
- package/dist/types/server/src/api/go2rtc/api/index.d.ts +2 -0
- package/dist/types/server/src/api/go2rtc/api/snapshot.d.ts +8 -0
- package/dist/types/server/src/api/go2rtc/api/streams.d.ts +11 -0
- package/dist/types/server/src/api/go2rtc/index.d.ts +13 -0
- package/dist/types/server/src/api/go2rtc/queue.d.ts +10 -0
- package/dist/types/server/src/api/middlewares/socketAuth.middleware.d.ts +41 -0
- package/dist/types/server/src/api/schemas/backup.schema.d.ts +2 -2
- package/dist/types/server/src/api/schemas/cameras.schema.d.ts +1 -1
- package/dist/types/server/src/api/schemas/config.schema.d.ts +1 -1
- package/dist/types/server/src/api/schemas/go2rtc.schema.d.ts +1 -1
- package/dist/types/server/src/api/schemas/users.schema.d.ts +2 -2
- package/dist/types/server/src/api/services/auth.service.d.ts +20 -0
- package/dist/types/server/src/api/services/cameras.service.d.ts +54 -0
- package/dist/types/server/src/api/services/plugins.service.d.ts +25 -0
- package/dist/types/server/src/api/services/users.service.d.ts +13 -0
- package/dist/types/server/src/api/types/index.d.ts +12 -12
- package/dist/types/server/src/api/utils/constants.d.ts +15 -0
- package/dist/types/server/src/api/websocket/index.d.ts +15 -0
- package/dist/types/server/src/api/websocket/nsp/frame.d.ts +10 -0
- package/dist/types/server/src/api/websocket/nsp/logs.d.ts +11 -0
- package/dist/types/server/src/api/websocket/nsp/metrics.d.ts +33 -0
- package/dist/types/server/src/api/websocket/nsp/notifications.d.ts +11 -0
- package/dist/types/server/src/api/websocket/nsp/plugins.d.ts +13 -0
- package/dist/types/server/src/api/websocket/nsp/server.d.ts +9 -0
- package/dist/types/server/src/api/websocket/nsp/status.d.ts +20 -0
- package/dist/types/server/src/api/websocket/nsp/streams.d.ts +15 -0
- package/dist/types/server/src/api/{ws → websocket}/types.d.ts +3 -3
- package/dist/types/server/src/api.d.ts +44 -0
- package/dist/types/server/src/camera/base/cameraDevice.d.ts +6 -5
- package/dist/types/server/src/camera/base/cameraDeviceBrowser.d.ts +3 -2
- package/dist/types/server/src/camera/base/index.d.ts +18 -3
- package/dist/types/server/src/camera/controller.d.ts +27 -0
- package/dist/types/server/src/camera/streaming/browser/browser-peer-connection.d.ts +4 -4
- package/dist/types/server/src/camera/streaming/browser/browser-streaming-session.d.ts +4 -4
- package/dist/types/server/src/camera/streaming/browser/webrtc-browser-connection.d.ts +5 -5
- package/dist/types/server/src/camera/streaming/peer-connection.d.ts +4 -4
- package/dist/types/server/src/camera/streaming/streaming-session.d.ts +4 -4
- package/dist/types/server/src/camera/streaming/webrtc-connection.d.ts +5 -5
- package/dist/types/server/src/camera/types.d.ts +29 -22
- package/dist/types/server/src/decoder/index.d.ts +11 -0
- package/dist/types/server/src/decoder/types.d.ts +7 -3
- package/dist/types/server/src/decoder/worker/index.d.ts +3 -0
- package/dist/types/server/src/decoder/worker/runtime/base/index.d.ts +36 -0
- package/dist/types/server/src/decoder/worker/runtime/child-process/index.d.ts +17 -0
- package/dist/types/server/src/decoder/worker/runtime/worker-thread/index.d.ts +22 -0
- package/dist/types/server/src/go2rtc/index.d.ts +25 -0
- package/dist/types/server/src/nats/constants.d.ts +1 -0
- package/dist/types/server/src/nats/index.d.ts +34 -0
- package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +96 -0
- package/dist/types/server/src/nats/proxy/deviceManager.d.ts +31 -0
- package/dist/types/server/src/nats/proxy/index.d.ts +4 -0
- package/dist/types/server/src/nats/proxy/pluginsManager.d.ts +12 -0
- package/dist/types/server/src/nats/proxy/systemManager.d.ts +8 -0
- package/dist/types/server/src/nats/queue.d.ts +17 -0
- package/dist/types/server/src/nats/server.d.ts +33 -0
- package/dist/types/server/src/nats/types.d.ts +21 -13
- package/dist/types/server/src/nats/utils.d.ts +4 -0
- package/dist/types/server/src/nats/websocket.d.ts +22 -0
- package/dist/types/server/src/plugins/base.d.ts +7 -0
- package/dist/types/server/src/plugins/index.d.ts +29 -0
- package/dist/types/server/src/plugins/node/api.d.ts +42 -0
- package/dist/types/server/src/plugins/node/cameraStorage.d.ts +108 -0
- package/dist/types/server/src/plugins/node/config.d.ts +104 -0
- package/dist/types/server/src/plugins/node/logger.d.ts +14 -0
- package/dist/types/server/src/plugins/node/proxy/cameraDevice.d.ts +44 -0
- package/dist/types/server/src/plugins/node/proxy/deviceManager.d.ts +47 -0
- package/dist/types/server/src/plugins/node/proxy/index.d.ts +4 -0
- package/dist/types/server/src/plugins/node/proxy/pluginsManager.d.ts +38 -0
- package/dist/types/server/src/plugins/node/proxy/queue.d.ts +18 -0
- package/dist/types/server/src/plugins/node/proxy/systemManager.d.ts +36 -0
- package/dist/types/server/src/plugins/node/schema.d.ts +268 -0
- package/dist/types/server/src/plugins/node/storageController.d.ts +28 -0
- package/dist/types/server/src/plugins/plugin.d.ts +42 -0
- package/dist/types/server/src/plugins/types.d.ts +3 -3
- package/dist/types/server/src/plugins/worker-ipc.d.ts +22 -0
- package/dist/types/server/src/plugins/worker.d.ts +30 -0
- package/dist/types/server/src/services/config/constants.d.ts +6 -0
- package/dist/types/server/src/services/config/index.d.ts +60 -0
- package/dist/types/server/src/services/logger/index.d.ts +28 -0
- package/dist/types/server/src/utils/index.d.ts +6 -0
- package/dist/types/shared/types/index.d.ts +12 -12
- package/package.json +6 -5
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CameraDevice } from '../../../camera/base/cameraDevice.js';
|
|
2
|
+
import type { Camera } from '../../../api/database/types.js';
|
|
3
|
+
import type { CameraSource, OnSetEvent, StateValues } from '../../../camera/types.js';
|
|
4
|
+
import type { Frame } from '../../../decoder/types.js';
|
|
5
|
+
import type { IceServer } from '../../../services/config/types.js';
|
|
6
|
+
import type { PluginAPI } from '../api.js';
|
|
7
|
+
import type { PluginLogger } from '../logger.js';
|
|
8
|
+
export declare class CameraDeviceProxy extends CameraDevice {
|
|
9
|
+
private api;
|
|
10
|
+
private initialized;
|
|
11
|
+
private publisher;
|
|
12
|
+
private client;
|
|
13
|
+
private cameraSubscriber;
|
|
14
|
+
private cameraPluginSubscriber;
|
|
15
|
+
private frameSubscriber?;
|
|
16
|
+
private activeSockets;
|
|
17
|
+
private messageQueue;
|
|
18
|
+
private auth;
|
|
19
|
+
private pluginID;
|
|
20
|
+
private pluginName;
|
|
21
|
+
private clientSubject;
|
|
22
|
+
private cameraSubscriberSubject;
|
|
23
|
+
private cameraPluginSubscriberSubject;
|
|
24
|
+
private frameSubject;
|
|
25
|
+
get sources(): CameraSource[];
|
|
26
|
+
constructor(api: PluginAPI, logger: PluginLogger, camera: Camera, pluginId: string, pluginName: string, auth: {
|
|
27
|
+
user: string;
|
|
28
|
+
pass: string;
|
|
29
|
+
});
|
|
30
|
+
init(): Promise<void>;
|
|
31
|
+
connect(): Promise<void>;
|
|
32
|
+
disconnect(): Promise<void>;
|
|
33
|
+
reboot(): Promise<void>;
|
|
34
|
+
generateFrames(): AsyncIterableIterator<Frame>;
|
|
35
|
+
getFfmpegPath(): Promise<string>;
|
|
36
|
+
getIceServers(): Promise<IceServer[]>;
|
|
37
|
+
updateState<T extends keyof StateValues>(stateName: T, eventData: OnSetEvent<T>): Promise<void>;
|
|
38
|
+
refreshStates(): Promise<void>;
|
|
39
|
+
cleanup(): Promise<void>;
|
|
40
|
+
private connectToServer;
|
|
41
|
+
private requestHandler;
|
|
42
|
+
private listenToMessages;
|
|
43
|
+
private onRequest;
|
|
44
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
|
+
import { CameraDeviceProxy } from './cameraDevice.js';
|
|
4
|
+
import type { CameraDevice } from '../../../camera/base/cameraDevice.js';
|
|
5
|
+
import type { CameraConfig } from '../../../camera/types.js';
|
|
6
|
+
import type { DeviceManagerProxyEventCallbacks, DeviceManagerProxyMethods } from '../../../nats/types.js';
|
|
7
|
+
import type { PluginAPI } from '../api.js';
|
|
8
|
+
import type { PluginLogger } from '../logger.js';
|
|
9
|
+
export declare interface DeviceManager extends DeviceManagerProxyMethods {
|
|
10
|
+
on<E extends keyof DeviceManagerProxyEventCallbacks>(event: E, listener: DeviceManagerProxyEventCallbacks[E]): this;
|
|
11
|
+
once<E extends keyof DeviceManagerProxyEventCallbacks>(event: E, listener: DeviceManagerProxyEventCallbacks[E]): this;
|
|
12
|
+
off<E extends keyof DeviceManagerProxyEventCallbacks>(event: E, listener: DeviceManagerProxyEventCallbacks[E]): this;
|
|
13
|
+
removeListener<E extends keyof DeviceManagerProxyEventCallbacks>(event: E, listener: DeviceManagerProxyEventCallbacks[E]): this;
|
|
14
|
+
removeAllListeners<E extends keyof DeviceManagerProxyEventCallbacks>(event?: E): this;
|
|
15
|
+
}
|
|
16
|
+
export declare class DeviceManager extends EventEmitter implements DeviceManager {
|
|
17
|
+
private api;
|
|
18
|
+
private logger;
|
|
19
|
+
private initialized;
|
|
20
|
+
private publisher;
|
|
21
|
+
private client;
|
|
22
|
+
private subscriber;
|
|
23
|
+
private messageQueue;
|
|
24
|
+
private auth;
|
|
25
|
+
private pluginId;
|
|
26
|
+
private pluginName;
|
|
27
|
+
private clientSubject;
|
|
28
|
+
private subscriberSubject;
|
|
29
|
+
private devices;
|
|
30
|
+
constructor(api: PluginAPI, logger: PluginLogger, pluginId: string, pluginName: string, auth: {
|
|
31
|
+
user: string;
|
|
32
|
+
pass: string;
|
|
33
|
+
});
|
|
34
|
+
init(): Promise<void>;
|
|
35
|
+
getCameraById(id: string): Promise<CameraDevice | undefined>;
|
|
36
|
+
getCameraByName(name: string): Promise<CameraDevice | undefined>;
|
|
37
|
+
createCamera(cameraConfig: CameraConfig): Promise<CameraDevice>;
|
|
38
|
+
removeCameraByName(name: string): Promise<void>;
|
|
39
|
+
removeCameraById(id: string): Promise<void>;
|
|
40
|
+
emit(): boolean;
|
|
41
|
+
configureCameras(cameraDevices: CameraDeviceProxy[]): void;
|
|
42
|
+
private requestHandler;
|
|
43
|
+
private listenToMessages;
|
|
44
|
+
private onRequest;
|
|
45
|
+
private addOrGetCamera;
|
|
46
|
+
private close;
|
|
47
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
|
+
import type { PluginsManagerProxyEventCallbacks, PluginsManagerProxyMethods } from '../../../nats/types.js';
|
|
4
|
+
import type { PluginAPI } from '../api.js';
|
|
5
|
+
import type { PluginLogger } from '../logger.js';
|
|
6
|
+
export declare interface PluginsManager extends PluginsManagerProxyMethods {
|
|
7
|
+
on<E extends keyof PluginsManagerProxyEventCallbacks>(event: E, listener: PluginsManagerProxyEventCallbacks[E]): this;
|
|
8
|
+
once<E extends keyof PluginsManagerProxyEventCallbacks>(event: E, listener: PluginsManagerProxyEventCallbacks[E]): this;
|
|
9
|
+
off<E extends keyof PluginsManagerProxyEventCallbacks>(event: E, listener: PluginsManagerProxyEventCallbacks[E]): this;
|
|
10
|
+
removeListener<E extends keyof PluginsManagerProxyEventCallbacks>(event: E, listener: PluginsManagerProxyEventCallbacks[E]): this;
|
|
11
|
+
removeAllListeners<E extends keyof PluginsManagerProxyEventCallbacks>(event?: E): this;
|
|
12
|
+
}
|
|
13
|
+
export declare class PluginsManager extends EventEmitter implements PluginsManager {
|
|
14
|
+
private api;
|
|
15
|
+
private logger;
|
|
16
|
+
private initialized;
|
|
17
|
+
private publisher;
|
|
18
|
+
private client;
|
|
19
|
+
private subscriber;
|
|
20
|
+
private messageQueue;
|
|
21
|
+
private auth;
|
|
22
|
+
private pluginId;
|
|
23
|
+
private pluginName;
|
|
24
|
+
private clientSubject;
|
|
25
|
+
private subscriberSubject;
|
|
26
|
+
constructor(api: PluginAPI, logger: PluginLogger, pluginId: string, pluginName: string, auth: {
|
|
27
|
+
user: string;
|
|
28
|
+
pass: string;
|
|
29
|
+
});
|
|
30
|
+
init(): Promise<void>;
|
|
31
|
+
emit(): boolean;
|
|
32
|
+
private requestHandler;
|
|
33
|
+
private listenToMessages;
|
|
34
|
+
private onRequest;
|
|
35
|
+
private isPluginMessage;
|
|
36
|
+
private isStorageMessage;
|
|
37
|
+
private close;
|
|
38
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type NatsConnection, type Subscription } from 'nats';
|
|
2
|
+
import type { BaseLogger } from '../../../camera/types.js';
|
|
3
|
+
import type { ProxyMessageStructure } from '../../../nats/types.js';
|
|
4
|
+
export declare class ClientMessageQueue {
|
|
5
|
+
private logger;
|
|
6
|
+
private publisher;
|
|
7
|
+
private subscriber;
|
|
8
|
+
private requestHandler;
|
|
9
|
+
private aborted;
|
|
10
|
+
private isProcessing;
|
|
11
|
+
private queue;
|
|
12
|
+
private pendingResponses;
|
|
13
|
+
constructor(logger: BaseLogger, publisher: NatsConnection, subscriber: Subscription, requestHandler: (message: ProxyMessageStructure) => void);
|
|
14
|
+
abortQueue(): void;
|
|
15
|
+
enqueue(message: ProxyMessageStructure): Promise<any>;
|
|
16
|
+
private processQueue;
|
|
17
|
+
private listenToMessages;
|
|
18
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
|
+
import type { SystemManagerProxyEventCallbacks, SystemManagerProxyMethods } from '../../../nats/types.js';
|
|
4
|
+
import type { PluginAPI } from '../api.js';
|
|
5
|
+
import type { PluginLogger } from '../logger.js';
|
|
6
|
+
export declare interface SystemManager extends SystemManagerProxyMethods {
|
|
7
|
+
on<E extends keyof SystemManagerProxyEventCallbacks>(event: E, listener: SystemManagerProxyEventCallbacks[E]): this;
|
|
8
|
+
once<E extends keyof SystemManagerProxyEventCallbacks>(event: E, listener: SystemManagerProxyEventCallbacks[E]): this;
|
|
9
|
+
off<E extends keyof SystemManagerProxyEventCallbacks>(event: E, listener: SystemManagerProxyEventCallbacks[E]): this;
|
|
10
|
+
removeListener<E extends keyof SystemManagerProxyEventCallbacks>(event: E, listener: SystemManagerProxyEventCallbacks[E]): this;
|
|
11
|
+
removeAllListeners<E extends keyof SystemManagerProxyEventCallbacks>(event?: E): this;
|
|
12
|
+
}
|
|
13
|
+
export declare class SystemManager extends EventEmitter implements SystemManager {
|
|
14
|
+
private api;
|
|
15
|
+
private logger;
|
|
16
|
+
private initialized;
|
|
17
|
+
private publisher;
|
|
18
|
+
private client;
|
|
19
|
+
private subscriber;
|
|
20
|
+
private messageQueue;
|
|
21
|
+
private auth;
|
|
22
|
+
private pluginId;
|
|
23
|
+
private pluginName;
|
|
24
|
+
private clientSubject;
|
|
25
|
+
private subscriberSubject;
|
|
26
|
+
constructor(api: PluginAPI, logger: PluginLogger, pluginId: string, pluginName: string, auth: {
|
|
27
|
+
user: string;
|
|
28
|
+
pass: string;
|
|
29
|
+
});
|
|
30
|
+
init(): Promise<void>;
|
|
31
|
+
emit(): boolean;
|
|
32
|
+
private requestHandler;
|
|
33
|
+
private listenToMessages;
|
|
34
|
+
private onRequest;
|
|
35
|
+
private close;
|
|
36
|
+
}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { z, type ZodTypeAny } from 'zod';
|
|
2
|
+
import type { JsonSchema, JsonSchemaAnyOf, JsonSchemaArray, JsonSchemaBoolean, JsonSchemaButton, JsonSchemaEnum, JsonSchemaNumber, JsonSchemaObject, JsonSchemaObjectWithButtons, JsonSchemaString, PluginJsonSchema, PluginJsonSchemaForm, PluginRootSchema, RootSchema } from '../types.js';
|
|
3
|
+
type RootZodSchema = z.ZodObject<Record<string, ZodTypeAny>, 'strict', ZodTypeAny, {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
}, {
|
|
6
|
+
[x: string]: any;
|
|
7
|
+
}>;
|
|
8
|
+
type OptionalZodString = z.ZodOptional<z.ZodString> | z.ZodString | z.ZodOptional<z.ZodEffects<z.ZodString, string, string>> | z.ZodEffects<z.ZodString, string, string>;
|
|
9
|
+
type OptionalZodNumber = z.ZodOptional<z.ZodNumber> | z.ZodNumber | z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>> | z.ZodEffects<z.ZodNumber, number, number>;
|
|
10
|
+
type OptionalZodBoolean = z.ZodOptional<z.ZodBoolean> | z.ZodBoolean;
|
|
11
|
+
type OptionalZodZobject = z.ZodOptional<z.ZodObject<Record<string, z.ZodTypeAny>, 'strict', z.ZodTypeAny, {
|
|
12
|
+
[x: string]: any;
|
|
13
|
+
}, {
|
|
14
|
+
[x: string]: any;
|
|
15
|
+
}>> | z.ZodObject<Record<string, z.ZodTypeAny>, 'strict', z.ZodTypeAny, {
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
}, {
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
}> | z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>> | z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
20
|
+
type OptionalZodArray = z.ZodOptional<z.ZodType<any, any, any>> | z.ZodType<any, any, any>;
|
|
21
|
+
type OptionalZodEnum = z.ZodOptional<z.ZodUnion<[z.ZodTypeAny, z.ZodTypeAny, ...z.ZodTypeAny[]]>> | z.ZodUnion<[z.ZodTypeAny, z.ZodTypeAny, ...z.ZodTypeAny[]]> | z.ZodEffects<z.ZodAny, any, any> | z.ZodUnion<any>;
|
|
22
|
+
type OptionalZodEnumMultiple = z.ZodOptional<z.ZodArray<z.ZodUnion<[ZodTypeAny, ZodTypeAny, ...ZodTypeAny[]]>, 'many'>> | z.ZodArray<z.ZodUnion<[ZodTypeAny, ZodTypeAny, ...ZodTypeAny[]]>, 'many'> | z.ZodEffects<z.ZodAny, any, any> | z.ZodUnion<any>;
|
|
23
|
+
type ZodAny = z.ZodType<any, any, any>;
|
|
24
|
+
/**
|
|
25
|
+
* Generate root JSON schema from value.
|
|
26
|
+
*
|
|
27
|
+
* @param value - Value.
|
|
28
|
+
* @returns - Root JSON schema.
|
|
29
|
+
*/
|
|
30
|
+
export declare const generateRootSchema: (value: Record<string, any>) => RootSchema;
|
|
31
|
+
/**
|
|
32
|
+
* Generate JSON schema from value.
|
|
33
|
+
*
|
|
34
|
+
* @param value - Value.
|
|
35
|
+
* @returns - JSON schema.
|
|
36
|
+
*/
|
|
37
|
+
export declare const generateSchema: (value: any) => JsonSchema;
|
|
38
|
+
/**
|
|
39
|
+
* Generate a JSON object from a given Root JSON schema.
|
|
40
|
+
*
|
|
41
|
+
* @param rootSchema - The Root JSON schema.
|
|
42
|
+
* @returns - The generated JSON object.
|
|
43
|
+
*/
|
|
44
|
+
export declare const generateJsonFromRootSchema: (rootSchema: RootSchema | PluginRootSchema) => Record<string, any>;
|
|
45
|
+
/**
|
|
46
|
+
* Generate a JSON object from a JSON schema.
|
|
47
|
+
*
|
|
48
|
+
* @param jsonSchema - The JSON schema.
|
|
49
|
+
* @returns - The generated JSON object.
|
|
50
|
+
*/
|
|
51
|
+
export declare const generateJsonFromSchema: (jsonSchema: JsonSchema | PluginJsonSchema) => any;
|
|
52
|
+
/**
|
|
53
|
+
* Generate a JSON object from a given JSON schema and use values from a config file.
|
|
54
|
+
*
|
|
55
|
+
* @param jsonSchema - The JSON schema.
|
|
56
|
+
* @param config - The config file with values to use.
|
|
57
|
+
* @returns - The generated JSON object.
|
|
58
|
+
*/
|
|
59
|
+
export declare const generateJsonFromSchemaWithConfig: (jsonSchema: JsonSchema | PluginJsonSchema, config: Record<string, any>, path?: string) => any;
|
|
60
|
+
/**
|
|
61
|
+
* Removes all functions from a given Plugin JSON schema form.
|
|
62
|
+
*
|
|
63
|
+
* @param schemaForm - The Plugin JSON schema form from which the functions should be removed.
|
|
64
|
+
* @returns - The Plugin JSON schema form without functions.
|
|
65
|
+
*/
|
|
66
|
+
export declare const removeFunctionsFromSchemaForm: (schemaForm: PluginJsonSchemaForm) => PluginJsonSchemaForm;
|
|
67
|
+
/**
|
|
68
|
+
* Removes all functions from a given Plugin JSON schema.
|
|
69
|
+
*
|
|
70
|
+
* @param jsonSchema - The JSON schema from which the functions should be removed.
|
|
71
|
+
* @returns - The JSON schema without functions.
|
|
72
|
+
*/
|
|
73
|
+
export declare const removeFunctionsFromSchema: (jsonSchema: PluginJsonSchema) => PluginJsonSchema;
|
|
74
|
+
/**
|
|
75
|
+
* Converts a config path to a schema path.
|
|
76
|
+
*
|
|
77
|
+
* @param configPath - The config path to be converted.
|
|
78
|
+
* @returns - The converted schema path.
|
|
79
|
+
*/
|
|
80
|
+
export declare const configPathToSchemaPath: (configPath: string) => string;
|
|
81
|
+
/**
|
|
82
|
+
* Converts a schema path to a config path.
|
|
83
|
+
*
|
|
84
|
+
* @param schemaPath - The schema path to be converted.
|
|
85
|
+
* @returns - The converted config path.
|
|
86
|
+
*/
|
|
87
|
+
export declare const schemaPathToConfigPath: (schemaPath: string) => string;
|
|
88
|
+
/**
|
|
89
|
+
* Recursively searches a JSON object for a specific, potentially nested key path and returns its value.
|
|
90
|
+
*
|
|
91
|
+
* @param obj - The JSON object to be searched.
|
|
92
|
+
* @param path - The key path to search for.
|
|
93
|
+
* @returns - The value of the searched key path, if found, otherwise undefined.
|
|
94
|
+
*/
|
|
95
|
+
export declare const getValueByPath: (obj: any, path: string) => any;
|
|
96
|
+
/**
|
|
97
|
+
* Generates a Zod schema from a given JSON schema.
|
|
98
|
+
*
|
|
99
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be generated.
|
|
100
|
+
* @returns - The generated Zod schema.
|
|
101
|
+
*/
|
|
102
|
+
export declare const generateZodSchemaFromRoot: (rootSchema: RootSchema) => RootZodSchema;
|
|
103
|
+
/**
|
|
104
|
+
* Generates a Zod schema from a given JSON schema.
|
|
105
|
+
*
|
|
106
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be generated.
|
|
107
|
+
* @param initial - A boolean indicating whether this is the initial call to the function.
|
|
108
|
+
* This is used for handling nested schemas.
|
|
109
|
+
* @returns - The generated Zod schema.
|
|
110
|
+
*/
|
|
111
|
+
export declare const generateZodSchema: (jsonSchema: JsonSchema) => ZodAny;
|
|
112
|
+
/**
|
|
113
|
+
* Generates a JSON schema for a number.
|
|
114
|
+
*
|
|
115
|
+
* @param value - The number for which the JSON schema should be generated.
|
|
116
|
+
* @returns - The generated JSON schema for the number.
|
|
117
|
+
*/
|
|
118
|
+
export declare const generateNumberSchema: () => JsonSchemaNumber;
|
|
119
|
+
/**
|
|
120
|
+
* Generates a JSON schema for a boolean.
|
|
121
|
+
*
|
|
122
|
+
* @param value - The boolean for which the JSON schema should be generated.
|
|
123
|
+
* @returns - The generated JSON schema for the boolean.
|
|
124
|
+
*/
|
|
125
|
+
export declare const genereateBooleanSchema: () => JsonSchemaBoolean;
|
|
126
|
+
/**
|
|
127
|
+
* Generates a JSON schema for a string.
|
|
128
|
+
*
|
|
129
|
+
* @param value - The string for which the JSON schema should be generated.
|
|
130
|
+
* @returns - The generated JSON schema for the string.
|
|
131
|
+
*/
|
|
132
|
+
export declare const generateStringSchema: (value: string) => JsonSchemaString;
|
|
133
|
+
/**
|
|
134
|
+
* Generates a JSON schema for an enum.
|
|
135
|
+
*
|
|
136
|
+
* @param value - The enum for which the JSON schema should be generated.
|
|
137
|
+
* @param type - The type of the enum.
|
|
138
|
+
* @returns - The generated JSON schema for the enum.
|
|
139
|
+
*/
|
|
140
|
+
export declare const generateEnumSchema: (value: string[]) => JsonSchemaEnum;
|
|
141
|
+
/**
|
|
142
|
+
* Generates a JSON schema for an object.
|
|
143
|
+
*
|
|
144
|
+
* @param value - The object for which the JSON schema should be generated.
|
|
145
|
+
* @returns - The generated JSON schema for the object.
|
|
146
|
+
*/
|
|
147
|
+
export declare const generateObjectSchema: (value: Record<string, any>) => JsonSchemaObject;
|
|
148
|
+
/**
|
|
149
|
+
* Generates a JSON schema for an object including up to two buttons.
|
|
150
|
+
*
|
|
151
|
+
* @param value - The object for which the JSON schema should be generated.
|
|
152
|
+
* @param buttons - Array of min one button and up to two buttons to be included in the schema.
|
|
153
|
+
* @returns - The generated JSON schema for the object.
|
|
154
|
+
*/
|
|
155
|
+
export declare const generateObjectSchemaWithButtons: (value: Record<string, any>, buttons: [JsonSchemaButton, JsonSchemaButton?]) => JsonSchemaObjectWithButtons;
|
|
156
|
+
/**
|
|
157
|
+
* Generates a JSON schema for an array.
|
|
158
|
+
*
|
|
159
|
+
* @param array - The array for which the JSON schema should be generated.
|
|
160
|
+
* @returns - The generated JSON schema for the array.
|
|
161
|
+
*/
|
|
162
|
+
export declare const generateArraySchema: (array: any[]) => JsonSchemaArray;
|
|
163
|
+
/**
|
|
164
|
+
* Checks if the given JSON schema is of string type.
|
|
165
|
+
*
|
|
166
|
+
* @param jsonSchema - The JSON schema to check.
|
|
167
|
+
* @returns - True if the JSON schema is of string type, false otherwise.
|
|
168
|
+
*/
|
|
169
|
+
export declare const isStringType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaString;
|
|
170
|
+
/**
|
|
171
|
+
* Checks if the given JSON schema is of number type.
|
|
172
|
+
*
|
|
173
|
+
* @param jsonSchema - The JSON schema to check.
|
|
174
|
+
* @returns - True if the JSON schema is of number type, false otherwise.
|
|
175
|
+
*/
|
|
176
|
+
export declare const isNumberType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaNumber;
|
|
177
|
+
/**
|
|
178
|
+
* Checks if the given JSON schema is of boolean type.
|
|
179
|
+
*
|
|
180
|
+
* @param jsonSchema - The JSON schema to check.
|
|
181
|
+
* @returns - True if the JSON schema is of boolean type, false otherwise.
|
|
182
|
+
*/
|
|
183
|
+
export declare const isBooleanType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaBoolean;
|
|
184
|
+
/**
|
|
185
|
+
* Checks if the given JSON schema is of enum type.
|
|
186
|
+
*
|
|
187
|
+
* @param jsonSchema - The JSON schema to check.
|
|
188
|
+
* @returns - True if the JSON schema is of enum type, false otherwise.
|
|
189
|
+
*/
|
|
190
|
+
export declare const isEnumType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaEnum;
|
|
191
|
+
/**
|
|
192
|
+
* Checks if the given JSON schema is of object type.
|
|
193
|
+
*
|
|
194
|
+
* @param jsonSchema - The JSON schema to check.
|
|
195
|
+
* @returns - True if the JSON schema is of object type, false otherwise.
|
|
196
|
+
*/
|
|
197
|
+
export declare const isObjectType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaObject;
|
|
198
|
+
/**
|
|
199
|
+
* Checks if the given JSON schema is of object type with buttons.
|
|
200
|
+
*
|
|
201
|
+
* @param jsonSchema - The JSON schema to check.
|
|
202
|
+
* @returns - True if the JSON schema is of object type with buttons, false otherwise.
|
|
203
|
+
*/
|
|
204
|
+
export declare const isObjectTypeWithButtons: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaObjectWithButtons;
|
|
205
|
+
/**
|
|
206
|
+
* Checks if the given JSON schema is of array type.
|
|
207
|
+
*
|
|
208
|
+
* @param jsonSchema - The JSON schema to check.
|
|
209
|
+
* @returns - True if the JSON schema is of array type, false otherwise.
|
|
210
|
+
*/
|
|
211
|
+
export declare const isArrayType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaArray;
|
|
212
|
+
/**
|
|
213
|
+
* Checks if the given value is a JSON AnyOf Schema.
|
|
214
|
+
*
|
|
215
|
+
* @param value - The value to check.
|
|
216
|
+
* @returns - True if the value is a JSON AnyOf schema, false otherwise.
|
|
217
|
+
*/
|
|
218
|
+
export declare const isAnyOfSchema: (value: any) => value is JsonSchemaAnyOf;
|
|
219
|
+
/**
|
|
220
|
+
* Checks if the given value is a JSON Primitive schema.
|
|
221
|
+
*
|
|
222
|
+
* @param value - The value to check.
|
|
223
|
+
* @returns - True if the value is a JSON schema, false otherwise.
|
|
224
|
+
*/
|
|
225
|
+
export declare const isPrimitiveType: (value: any) => value is JsonSchemaString | JsonSchemaNumber | JsonSchemaBoolean | JsonSchemaEnum;
|
|
226
|
+
/**
|
|
227
|
+
* Creates a Zod string schema from a given JSON schema.
|
|
228
|
+
*
|
|
229
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
230
|
+
* @returns - The created Zod string schema.
|
|
231
|
+
*/
|
|
232
|
+
export declare const createZodStringSchema: (jsonSchema: JsonSchemaString) => OptionalZodString;
|
|
233
|
+
/**
|
|
234
|
+
* Creates a Zod number schema from a given JSON schema.
|
|
235
|
+
*
|
|
236
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
237
|
+
* @returns - The created Zod number schema.
|
|
238
|
+
*/
|
|
239
|
+
export declare const createZodNumberSchema: (jsonSchema: JsonSchemaNumber) => OptionalZodNumber;
|
|
240
|
+
/**
|
|
241
|
+
* Creates a Zod boolean schema from a given JSON schema.
|
|
242
|
+
*
|
|
243
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
244
|
+
* @returns - The created Zod boolean schema.
|
|
245
|
+
*/
|
|
246
|
+
export declare const createZodBooleanSchema: (jsonSchema: JsonSchemaBoolean) => OptionalZodBoolean;
|
|
247
|
+
/**
|
|
248
|
+
* Creates a Zod union schema from a given JSON schema.
|
|
249
|
+
*
|
|
250
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
251
|
+
* @returns - The created Zod union schema.
|
|
252
|
+
*/
|
|
253
|
+
export declare const createEnumSchema: (jsonSchema: JsonSchemaEnum) => OptionalZodEnum | OptionalZodEnumMultiple;
|
|
254
|
+
/**
|
|
255
|
+
* Creates a Zod object schema from a given JSON schema.
|
|
256
|
+
*
|
|
257
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
258
|
+
* @returns - The created Zod object schema.
|
|
259
|
+
*/
|
|
260
|
+
export declare const createZodObjectSchema: (jsonSchema: JsonSchemaObject) => OptionalZodZobject;
|
|
261
|
+
/**
|
|
262
|
+
* Creates a Zod array schema from a given JSON schema.
|
|
263
|
+
*
|
|
264
|
+
* @param jsonSchema - The JSON schema from which the Zod schema should be created.
|
|
265
|
+
* @returns - The created Zod array schema.
|
|
266
|
+
*/
|
|
267
|
+
export declare const createZodArraySchema: (jsonSchema: JsonSchemaArray) => OptionalZodArray;
|
|
268
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CameraStorage } from './cameraStorage.js';
|
|
2
|
+
import type { PluginJsonSchemaForm } from '../types.js';
|
|
3
|
+
import type { PluginAPI } from './api.js';
|
|
4
|
+
export declare class StorageController {
|
|
5
|
+
private api;
|
|
6
|
+
private cameraStorages;
|
|
7
|
+
constructor(api: PluginAPI);
|
|
8
|
+
/**
|
|
9
|
+
* Create a camera storage instance
|
|
10
|
+
*
|
|
11
|
+
* @param instance - The plugin instance
|
|
12
|
+
* @param cameraId - The camera id
|
|
13
|
+
* @param schema - The plugin schema
|
|
14
|
+
*/
|
|
15
|
+
createCameraStorage(instance: any, cameraId: string, schema?: PluginJsonSchemaForm): Promise<CameraStorage>;
|
|
16
|
+
/**
|
|
17
|
+
* Get a camera storage instance
|
|
18
|
+
*
|
|
19
|
+
* @param cameraId - The camera id
|
|
20
|
+
*/
|
|
21
|
+
getCameraStorage(cameraId: string): CameraStorage | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Remove a camera storage instance
|
|
24
|
+
*
|
|
25
|
+
* @param cameraId - The camera id
|
|
26
|
+
*/
|
|
27
|
+
removeCameraStorage(cameraId: string): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PythonInstaller } from '../../bin/python.js';
|
|
2
|
+
import { PluginConfigService } from './node/config.js';
|
|
3
|
+
import type { PluginConstructor } from '../api.js';
|
|
4
|
+
import type { CameraUiPlugin, IPackageJson } from '../api/types/index.js';
|
|
5
|
+
import type { PluginContract } from './types.js';
|
|
6
|
+
export interface Context {
|
|
7
|
+
engines?: Record<string, string>;
|
|
8
|
+
dependencies?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export declare class Plugin {
|
|
11
|
+
private logger;
|
|
12
|
+
private configService;
|
|
13
|
+
private _disabled;
|
|
14
|
+
private _info;
|
|
15
|
+
private _contract;
|
|
16
|
+
readonly main: string;
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly pluginName: string;
|
|
19
|
+
readonly displayName: string;
|
|
20
|
+
readonly scope?: string;
|
|
21
|
+
readonly isPython: boolean;
|
|
22
|
+
readonly isESM: boolean;
|
|
23
|
+
readonly isSymLink: boolean;
|
|
24
|
+
readonly installPath: string;
|
|
25
|
+
readonly pythonInstallPath: string;
|
|
26
|
+
readonly configFile: string;
|
|
27
|
+
readonly storagePath: string;
|
|
28
|
+
readonly py: PythonInstaller;
|
|
29
|
+
readonly config: PluginConfigService;
|
|
30
|
+
pluginConstructor?: PluginConstructor;
|
|
31
|
+
private loadContext?;
|
|
32
|
+
get contract(): PluginContract;
|
|
33
|
+
get info(): CameraUiPlugin;
|
|
34
|
+
set info(value: CameraUiPlugin);
|
|
35
|
+
get disabled(): boolean;
|
|
36
|
+
set disabled(value: boolean);
|
|
37
|
+
constructor(pluginName: string, installPath: string, packageJSON: IPackageJson, pluginId: string, scope?: string, storagePath?: string);
|
|
38
|
+
load(): Promise<void>;
|
|
39
|
+
reparsePackageJson(): void;
|
|
40
|
+
private parsePackageJson;
|
|
41
|
+
private parseContract;
|
|
42
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera } from '../api/database/types';
|
|
1
|
+
import type { Camera } from '../api/database/types.js';
|
|
2
2
|
export interface SchemaConfig {
|
|
3
3
|
rootSchema: PluginRootSchema;
|
|
4
4
|
config: Record<string, any>;
|
|
@@ -72,8 +72,8 @@ export interface JsonBaseSchema<T = any> {
|
|
|
72
72
|
}
|
|
73
73
|
export interface PluginJsonBaseSchema<T = any> extends JsonBaseSchema<T> {
|
|
74
74
|
store?: boolean;
|
|
75
|
-
onSet?: (newValue: any, oldValue: any) => Promise<void
|
|
76
|
-
onGet?: () =>
|
|
75
|
+
onSet?: (newValue: any, oldValue: any) => Promise<void>;
|
|
76
|
+
onGet?: () => Promise<any>;
|
|
77
77
|
}
|
|
78
78
|
export interface JsonSchemaString extends JsonBaseSchema<string> {
|
|
79
79
|
type: 'string';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
|
+
import type { ProcessMessage, ProcessResponse } from './types.js';
|
|
4
|
+
export declare interface WorkerIPC {
|
|
5
|
+
on(event: 'message', listener: (message: ProcessResponse) => void): this;
|
|
6
|
+
}
|
|
7
|
+
export declare class WorkerIPC extends EventEmitter {
|
|
8
|
+
private publisher?;
|
|
9
|
+
private subscriber?;
|
|
10
|
+
private id;
|
|
11
|
+
private subject;
|
|
12
|
+
private targetSubject;
|
|
13
|
+
private auth;
|
|
14
|
+
constructor(id: string, auth: {
|
|
15
|
+
user: string;
|
|
16
|
+
pass: string;
|
|
17
|
+
});
|
|
18
|
+
listen(): Promise<void>;
|
|
19
|
+
close(): Promise<void>;
|
|
20
|
+
sendMessage(message: ProcessMessage): void;
|
|
21
|
+
private listenToMessages;
|
|
22
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PLUGIN_STATUS } from './types.js';
|
|
2
|
+
import type { Plugin } from './plugin.js';
|
|
3
|
+
export declare class PluginWorker {
|
|
4
|
+
plugin: Plugin;
|
|
5
|
+
private pluginWorker?;
|
|
6
|
+
private proxyServer;
|
|
7
|
+
private ipc;
|
|
8
|
+
private api;
|
|
9
|
+
private logger;
|
|
10
|
+
private configService;
|
|
11
|
+
private socketService;
|
|
12
|
+
private started;
|
|
13
|
+
private shuttingDown;
|
|
14
|
+
private _status;
|
|
15
|
+
get status(): PLUGIN_STATUS;
|
|
16
|
+
constructor(plugin: Plugin);
|
|
17
|
+
start(): Promise<void>;
|
|
18
|
+
teardown(): Promise<void>;
|
|
19
|
+
restart(): Promise<void>;
|
|
20
|
+
getPID(): number;
|
|
21
|
+
isRunning(): boolean;
|
|
22
|
+
private gatherDevices;
|
|
23
|
+
private kill;
|
|
24
|
+
private setStatus;
|
|
25
|
+
private sendMessage;
|
|
26
|
+
private handleClose;
|
|
27
|
+
private reset;
|
|
28
|
+
private updatePython;
|
|
29
|
+
private cleanedProcessEnv;
|
|
30
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RTCIceServer } from 'werift';
|
|
2
|
+
import type { Go2RtcConfig, IConfig, IceServer } from './types.js';
|
|
3
|
+
export declare const DEFAULT_ICE_SERVERS: IceServer[];
|
|
4
|
+
export declare const DEFAULT_WERIFT_ICE_SERVERS: RTCIceServer[];
|
|
5
|
+
export declare const DEFAULT_CONFIG: IConfig;
|
|
6
|
+
export declare const DEFAULT_GO2RTC_CONFIG: Go2RtcConfig;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import type { Go2RtcConfig, IConfig, Secrets } from './types.js';
|
|
3
|
+
export declare class ConfigService {
|
|
4
|
+
private logger;
|
|
5
|
+
private _config;
|
|
6
|
+
private _go2rtcConfig;
|
|
7
|
+
CAMERAS_ID: string;
|
|
8
|
+
DATABASE_ID: string;
|
|
9
|
+
PLUGINS_ID: string;
|
|
10
|
+
USER_PLUGINS_ID: string;
|
|
11
|
+
SETTINGS_ID: string;
|
|
12
|
+
TOKENS_ID: string;
|
|
13
|
+
USERS_ID: string;
|
|
14
|
+
SECRETS: Secrets;
|
|
15
|
+
static IS_DEV: boolean;
|
|
16
|
+
static IS_DOCKER: boolean;
|
|
17
|
+
static IS_ELECTRON: boolean;
|
|
18
|
+
static IS_HA: boolean;
|
|
19
|
+
static IS_STANDARD: boolean;
|
|
20
|
+
static IS_SERVICE: boolean;
|
|
21
|
+
SERVER_PATH: string;
|
|
22
|
+
INTERFACE_PATH: string;
|
|
23
|
+
static VERSION: string;
|
|
24
|
+
static MIN_NODE_VERSION: string;
|
|
25
|
+
static NODE_VERSION: string;
|
|
26
|
+
HOME_PATH: string;
|
|
27
|
+
STORAGE_PATH: string;
|
|
28
|
+
DATABASE_PATH: string;
|
|
29
|
+
USERS_STORAGE_PATH: string;
|
|
30
|
+
PLUGINS_STORAGE_PATH: string;
|
|
31
|
+
PLUGINS_INSTALL_PATH: string;
|
|
32
|
+
PLUGINS_PJSON_FILE: string;
|
|
33
|
+
LOG_FILE: string;
|
|
34
|
+
CONFIG_FILE: string;
|
|
35
|
+
SECRETS_FILE: string;
|
|
36
|
+
PYTHON_BINARY: string;
|
|
37
|
+
GO2RTC_BINARY: string;
|
|
38
|
+
GO2RTC_CONFIG_FILE: string;
|
|
39
|
+
NATS_BINARY: string;
|
|
40
|
+
UI_PORT: number;
|
|
41
|
+
UI_ELECTRON_PORT: number;
|
|
42
|
+
get config(): IConfig;
|
|
43
|
+
set config(newConfig: IConfig);
|
|
44
|
+
get go2rtcConfig(): Go2RtcConfig;
|
|
45
|
+
set go2rtcConfig(newConfig: Go2RtcConfig);
|
|
46
|
+
constructor();
|
|
47
|
+
read(): void;
|
|
48
|
+
writeConfig(newConfig?: IConfig): void;
|
|
49
|
+
writeGo2RtcConfigFile(newConfig?: Go2RtcConfig): void;
|
|
50
|
+
writeGo2RtcConfigApi(newConfig?: Go2RtcConfig): Promise<void>;
|
|
51
|
+
mergeGo2RtcConfig(): Promise<void>;
|
|
52
|
+
private defaultConfig;
|
|
53
|
+
private defaultGo2RtcConfig;
|
|
54
|
+
private readConfig;
|
|
55
|
+
private readGo2RtcConfig;
|
|
56
|
+
private updateConfig;
|
|
57
|
+
private updateGo2RtcConfig;
|
|
58
|
+
private updateSecrets;
|
|
59
|
+
static extractVersion(str: string): string | null;
|
|
60
|
+
}
|