@camera.ui/browser 0.0.85 → 0.0.87

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.
Files changed (40) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/types/packages/client/browser/src/client.d.ts +3 -1
  3. package/dist/types/packages/client/browser/src/proxy/cameraDevice.d.ts +1 -2
  4. package/dist/types/packages/client/browser/src/proxy/coreManager.d.ts +14 -0
  5. package/dist/types/packages/client/browser/src/proxy/index.d.ts +1 -0
  6. package/dist/types/packages/client/browser/src/streaming/go2rts-session.d.ts +0 -1
  7. package/dist/types/packages/client/browser/src/utils.d.ts +1 -1
  8. package/dist/types/server/src/api/database/index.d.ts +9 -3
  9. package/dist/types/server/src/api/database/types.d.ts +12 -0
  10. package/dist/types/server/src/api/schemas/cameras.schema.d.ts +5 -4
  11. package/dist/types/server/src/api/schemas/system.schema.d.ts +9 -0
  12. package/dist/types/server/src/api/schemas/users.schema.d.ts +36 -36
  13. package/dist/types/server/src/api/services/system.service.d.ts +7 -0
  14. package/dist/types/server/src/api/types/index.d.ts +4 -0
  15. package/dist/types/server/src/api/utils/fetch.d.ts +2 -0
  16. package/dist/types/server/src/api/websocket/nsp/main.d.ts +7 -0
  17. package/dist/types/server/src/api/websocket/nsp/notifications.d.ts +5 -4
  18. package/dist/types/server/src/api/websocket/nsp/server.d.ts +14 -2
  19. package/dist/types/server/src/api/websocket/types.d.ts +1 -1
  20. package/dist/types/server/src/camera/controller.d.ts +0 -3
  21. package/dist/types/server/src/camera/device.d.ts +0 -1
  22. package/dist/types/server/src/camera/index.d.ts +0 -2
  23. package/dist/types/server/src/camera/streaming/peer-connection.d.ts +2 -1
  24. package/dist/types/server/src/camera/streaming/webrtc-connection.d.ts +1 -2
  25. package/dist/types/server/src/camera/streaming/werift-session.d.ts +1 -0
  26. package/dist/types/server/src/camera/types.d.ts +1 -0
  27. package/dist/types/server/src/nats/index.d.ts +4 -1
  28. package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +0 -3
  29. package/dist/types/server/src/nats/proxy/coreManager.d.ts +14 -0
  30. package/dist/types/server/src/nats/types.d.ts +25 -6
  31. package/dist/types/server/src/polyglot/node/plugins/pluginApi.d.ts +3 -0
  32. package/dist/types/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -3
  33. package/dist/types/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +40 -0
  34. package/dist/types/server/src/services/config/index.d.ts +1 -0
  35. package/dist/types/server/src/services/logger/index.d.ts +2 -3
  36. package/dist/types/server/src/utils/network.d.ts +12 -0
  37. package/dist/types/server/src/utils/npm.d.ts +1 -0
  38. package/dist/types/shared/types/index.d.ts +1 -0
  39. package/package.json +3 -3
  40. package/dist/types/server/src/api/websocket/nsp/frameWorker.d.ts +0 -13
@@ -3,7 +3,6 @@ import { BehaviorSubject } from 'rxjs';
3
3
  import { Subscribed } from '../utils/subscribed.js';
4
4
  import type { Observable } from 'rxjs';
5
5
  import type { Camera, CameraActivitySettings, CameraFrameWorkerSettings, CameraInformation, CameraType } from '../api/database/types.js';
6
- import type { IceServer } from '../services/config/types.js';
7
6
  import type { AudioSetEvent, AudioState, BaseLogger, BatterySetEvent, BatteryState, CameraDelegate, CameraPTZDelegate, CameraPrebufferDelegate, CameraSource, Container, DetectionZone, DoorbellSetEvent, DoorbellState, LightSetEvent, LightState, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState, PrebufferState, PrebufferSubject, SetValues, SirenSetEvent, SirenState, StateValues } from './types.js';
8
7
  export declare abstract class BaseCameraDevice extends Subscribed {
9
8
  protected logger: BaseLogger;
@@ -59,7 +58,6 @@ export declare abstract class BaseCameraDevice extends Subscribed {
59
58
  get ptz(): CameraPTZDelegate;
60
59
  abstract get sources(): CameraSource[];
61
60
  constructor(camera: Camera, logger: BaseLogger);
62
- abstract getIceServers(): Promise<IceServer[]>;
63
61
  protected abstract cleanup(): void;
64
62
  getValue<T extends keyof StateValues>(stateName: T): StateValues[T];
65
63
  snapshot(forceNew?: boolean): Promise<ArrayBuffer | undefined>;
@@ -20,6 +20,7 @@ export interface BasicPeerConnection {
20
20
  }
21
21
  export interface StreamingConnectionOptions {
22
22
  createPeerConnection?: () => BasicPeerConnection;
23
+ iceServers?: IceServer[];
23
24
  }
24
25
  export declare class WeriftPeerConnection extends Subscribed implements BasicPeerConnection {
25
26
  onAudioRtp: Subject<RtpPacket>;
@@ -33,7 +34,7 @@ export declare class WeriftPeerConnection extends Subscribed implements BasicPee
33
34
  private cameraDevice;
34
35
  private logger;
35
36
  private pc;
36
- constructor(cameraDevice: CameraDevice, iceServers: IceServer[], logger: BaseLogger);
37
+ constructor(cameraDevice: CameraDevice, iceServers: IceServer[] | undefined, logger: BaseLogger);
37
38
  createOffer(): Promise<RTCSessionDescription>;
38
39
  acceptAnswer(answer: {
39
40
  type: 'answer';
@@ -2,7 +2,6 @@ import { ReplaySubject, Subject } from 'rxjs';
2
2
  import { Subscribed } from '../../utils/subscribed.js';
3
3
  import type { Observable } from 'rxjs';
4
4
  import type { RtpPacket } from 'werift';
5
- import type { IceServer } from '../../services/config/types.js';
6
5
  import type { CameraDevice } from '../device.js';
7
6
  import type { BaseLogger } from '../types.js';
8
7
  import type { StreamingConnectionOptions } from './peer-connection.js';
@@ -23,7 +22,7 @@ export declare class WebrtcConnection extends Subscribed {
23
22
  private hasEnded;
24
23
  private cameraDevice;
25
24
  private logger;
26
- constructor(cameraDevice: CameraDevice, sourceName: string, iceServers: IceServer[], logger: BaseLogger, options: StreamingConnectionOptions);
25
+ constructor(cameraDevice: CameraDevice, sourceName: string, logger: BaseLogger, options: StreamingConnectionOptions);
27
26
  sendAudioPacket(rtp: RtpPacket): void;
28
27
  stop(): void;
29
28
  requestKeyFrame(): void;
@@ -29,6 +29,7 @@ export declare class WeriftSession extends Subscribed {
29
29
  reservePort(bufferPorts?: number): Promise<number>;
30
30
  startTranscoding(ffmpegOptions: FfmpegOptions): Promise<void>;
31
31
  transcodeReturnAudio(ffmpegOptions: {
32
+ ffmpegPath: string;
32
33
  input: SpawnInput[];
33
34
  }): Promise<void>;
34
35
  stop(): void;
@@ -14,6 +14,7 @@ export interface BaseLogger {
14
14
  }
15
15
  export type SpawnInput = string | number;
16
16
  export interface FfmpegOptions {
17
+ ffmpegPath: string;
17
18
  input?: SpawnInput[];
18
19
  video?: SpawnInput[] | false;
19
20
  audio?: SpawnInput[];
@@ -1,16 +1,18 @@
1
1
  import { ProxyConnection } from './connection.js';
2
2
  import { CameraDeviceProxy } from './proxy/cameraDevice.js';
3
+ import { CoreManagerProxy } from './proxy/coreManager.js';
3
4
  import { DeviceManagerProxy } from './proxy/deviceManager.js';
4
5
  import { NatsServer } from './server.js';
5
6
  import type { StateValues } from '../camera/types.js';
6
7
  import type { CameraStorage } from '../polyglot/node/plugins/cameraStorage.js';
7
8
  import type { MethodKeys, MethodType } from '../types.js';
8
9
  import type { ProxySubscription } from './subscription.js';
9
- import type { CameraDeviceListenerMessagePayload, DeviceManagerProxyEvents, PluginMap, ProxyAuth } from './types.js';
10
+ import type { CameraDeviceListenerMessagePayload, CoreManagerProxyEvents, DeviceManagerProxyEvents, PluginMap, ProxyAuth } from './types.js';
10
11
  import type { WebsocketProxy } from './websocket.js';
11
12
  export declare class ProxyServer {
12
13
  private api;
13
14
  private logger;
15
+ coreManagerProxy?: CoreManagerProxy;
14
16
  deviceManagerProxy?: DeviceManagerProxy;
15
17
  cameraDeviceProxy?: CameraDeviceProxy;
16
18
  websocketProxy?: WebsocketProxy;
@@ -24,6 +26,7 @@ export declare class ProxyServer {
24
26
  constructor();
25
27
  initialize(): Promise<void>;
26
28
  close(): Promise<void>;
29
+ publishCoreManagerEvent<K extends keyof CoreManagerProxyEvents>(type: K, data: CoreManagerProxyEvents[K]): void;
27
30
  publishDeviceManagerEvent<K extends keyof DeviceManagerProxyEvents>(targetId: string, type: K, data: DeviceManagerProxyEvents[K]): void;
28
31
  publishCameraEvent<K extends keyof StateValues>(cameraId: string, stateName: K, data: {
29
32
  newEvent: StateValues[K];
@@ -1,5 +1,4 @@
1
1
  import type { CameraConfigInputSettings, CameraInterfaces, Container, PrebufferState, SetValues } from '../../camera/types.js';
2
- import type { IceServer } from '../../services/config/types.js';
3
2
  import type { MethodKeys, MethodType } from '../../types.js';
4
3
  import type { MessageQueue } from '../messageQueue.js';
5
4
  import type { CameraDeviceProxyMethods, ProxyMessageStructure, RefreshedStates } from '../types.js';
@@ -12,8 +11,6 @@ export declare class CameraDeviceProxy implements CameraDeviceProxyMethods {
12
11
  constructor(messageQueue: MessageQueue);
13
12
  connect(cameraId: string, pluginId: string): void;
14
13
  disconnect(cameraId: string, pluginId: string): void;
15
- getFfmpegPath(): string;
16
- getIceServers(): IceServer[];
17
14
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T], cameraId: string, pluginId: string): Promise<void>;
18
15
  updatePrebufferState(sourceId: string, container: Container, state: PrebufferState, cameraId: string, pluginId: string): Promise<void>;
19
16
  addCameraSource(source: CameraConfigInputSettings, cameraId: string, pluginId: string): Promise<void>;
@@ -0,0 +1,14 @@
1
+ import type { IceServer } from '../../services/config/types.js';
2
+ import type { MessageQueue } from '../messageQueue.js';
3
+ import type { CoreManagerProxyMethods, ProxyMessageStructure } from '../types.js';
4
+ export declare class CoreManagerProxy implements CoreManagerProxyMethods {
5
+ private configService;
6
+ private pluginsService;
7
+ private systemService;
8
+ private messageQueue;
9
+ constructor(messageQueue: MessageQueue);
10
+ getFFmpegPath(): Promise<string>;
11
+ getServerAddresses(): Promise<string[]>;
12
+ getIceServers(): Promise<IceServer[]>;
13
+ requestHandler(message: ProxyMessageStructure): Promise<void | ProxyMessageStructure>;
14
+ }
@@ -1,4 +1,4 @@
1
- import type { Camera, VideoStreamingMode } from '../api/database/types.js';
1
+ import type { Camera, DBSystem, VideoStreamingMode } from '../api/database/types.js';
2
2
  import type { CameraDevice } from '../camera/device.js';
3
3
  import type { CameraConfig, CameraConfigInputSettings, CameraDelegates, Container, PrebufferState, SetValues, StateValues } from '../camera/types.js';
4
4
  import type { AuthConfig } from '../decoder/types.js';
@@ -21,8 +21,8 @@ export interface ProxyMessageStructure {
21
21
  targetName?: string;
22
22
  pluginId: string;
23
23
  type: 'request' | 'reply';
24
- proxy: 'device' | 'camera' | 'plugin';
25
- client: 'cameraFn' | 'pluginFn' | 'deviceFn' | 'storageFn' | keyof CameraDelegates;
24
+ proxy: 'device' | 'camera' | 'plugin' | 'core';
25
+ client: 'cameraFn' | 'pluginFn' | 'deviceFn' | 'storageFn' | 'coreFn' | keyof CameraDelegates;
26
26
  fn: string;
27
27
  args: any[];
28
28
  timeout: number;
@@ -53,8 +53,6 @@ export interface RefreshedStates {
53
53
  export interface CameraDeviceProxyMethods {
54
54
  connect(): void;
55
55
  disconnect(): void;
56
- getFfmpegPath(): string;
57
- getIceServers(): IceServer[];
58
56
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T]): void;
59
57
  updatePrebufferState(sourceId: string, container: Container, state: PrebufferState): Promise<void>;
60
58
  refreshStates(): RefreshedStates;
@@ -89,7 +87,7 @@ export interface DeviceManagerProxyMethods {
89
87
  }
90
88
  export interface DeviceManagerListenerMessagePayload {
91
89
  type: keyof DeviceManagerProxyEventCallbacks;
92
- data: DeviceManagerProxyEvents['cameraSelected'] | DeviceManagerProxyEvents['cameraDeselected'];
90
+ data: DeviceManagerProxyEvents[keyof DeviceManagerProxyEvents];
93
91
  }
94
92
  export interface DeviceManagerProxyEvents {
95
93
  cameraSelected: {
@@ -109,6 +107,27 @@ export interface DeviceManagerProxyGenericEvent<K extends keyof DeviceManagerPro
109
107
  type: K;
110
108
  data: DeviceManagerProxyEvents[K];
111
109
  }
110
+ export interface CoreManagerProxyMethods {
111
+ getFFmpegPath(): Promise<string>;
112
+ getServerAddresses(): Promise<string[]>;
113
+ getIceServers(): Promise<IceServer[]>;
114
+ }
115
+ export interface CoreManagerListenerMessagePayload {
116
+ type: keyof CoreManagerProxyEventCallbacks;
117
+ data: CoreManagerProxyEvents[keyof CoreManagerProxyEvents];
118
+ }
119
+ export interface CoreManagerProxyEvents {
120
+ systemUpdated: {
121
+ system: DBSystem;
122
+ };
123
+ }
124
+ export interface CoreManagerProxyEventCallbacks {
125
+ systemUpdated: (system: DBSystem) => void;
126
+ }
127
+ export interface CoreManagerProxyGenericEvent<K extends keyof CoreManagerProxyEvents> {
128
+ type: K;
129
+ data: CoreManagerProxyEvents[K];
130
+ }
112
131
  export interface PluginMap {
113
132
  base: BasePlugin;
114
133
  motionDetection: MotionDetectionPlugin;
@@ -4,6 +4,7 @@ import { StorageController } from './storageController.js';
4
4
  import type { AuthConfig } from '../../../decoder/types.js';
5
5
  import type { PluginInfo } from '../../../plugins/types.js';
6
6
  import type { PluginLogger } from './pluginLogger.js';
7
+ import { type CoreManager } from './proxy/coreManager.js';
7
8
  import type { DeviceManager } from './proxy/deviceManager.js';
8
9
  export declare interface PluginAPI {
9
10
  on(event: 'finishLaunching', listener: () => void): this;
@@ -15,6 +16,7 @@ export declare interface PluginAPI {
15
16
  removeListener(event: 'finishLaunching', listener: () => void): this;
16
17
  removeListener(event: 'shutdown', listener: () => void): this;
17
18
  removeAllListeners(event?: string): this;
19
+ readonly coreManager: CoreManager;
18
20
  readonly deviceManager: DeviceManager;
19
21
  readonly storageController: StorageController;
20
22
  readonly configService: PluginConfigService;
@@ -22,6 +24,7 @@ export declare interface PluginAPI {
22
24
  readonly configFile: string;
23
25
  }
24
26
  export declare class API extends EventEmitter implements PluginAPI {
27
+ readonly coreManager: CoreManager;
25
28
  readonly deviceManager: DeviceManager;
26
29
  readonly storageController: StorageController;
27
30
  readonly configService: PluginConfigService;
@@ -8,7 +8,6 @@ import type { CameraConfigInputSettings, CameraDelegates, CameraSource, SetValue
8
8
  import type { AuthConfig, VideoFrame as VideoFrameImp } from '../../../../decoder/types.js';
9
9
  import type { CameraDeviceProxyMethods } from '../../../../nats/types.js';
10
10
  import type { PluginInfo } from '../../../../plugins/types.js';
11
- import type { IceServer } from '../../../../services/config/types.js';
12
11
  import type { MethodKeys, MethodType } from '../../../../types.js';
13
12
  import type { API } from '../pluginApi.js';
14
13
  import type { PluginLogger } from '../pluginLogger.js';
@@ -50,8 +49,6 @@ export declare class CameraDeviceProxy extends CameraDevice {
50
49
  disconnect(): Promise<void>;
51
50
  getFrames(prebufferDuration?: number): AsyncIterableIterator<VideoFrame>;
52
51
  getMotionFrames(): AsyncIterableIterator<MotionFrame>;
53
- getFfmpegPath(): Promise<string>;
54
- getIceServers(): Promise<IceServer[]>;
55
52
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T], frame?: VideoFrameImp): Promise<void>;
56
53
  addCameraSource(source: CameraConfigInputSettings): Promise<void>;
57
54
  updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import type { AuthConfig } from '../../../../decoder/types.js';
3
+ import type { CoreManagerProxyEventCallbacks, CoreManagerProxyMethods } from '../../../../nats/types.js';
4
+ import type { PluginInfo } from '../../../../plugins/types.js';
5
+ import type { IceServer } from '../../../../services/config/types.js';
6
+ import type { API } from '../pluginApi.js';
7
+ import type { PluginLogger } from '../pluginLogger.js';
8
+ export declare interface CoreManager extends CoreManagerProxyMethods {
9
+ on<E extends keyof CoreManagerProxyEventCallbacks>(event: E, listener: CoreManagerProxyEventCallbacks[E]): this;
10
+ once<E extends keyof CoreManagerProxyEventCallbacks>(event: E, listener: CoreManagerProxyEventCallbacks[E]): this;
11
+ off<E extends keyof CoreManagerProxyEventCallbacks>(event: E, listener: CoreManagerProxyEventCallbacks[E]): this;
12
+ removeListener<E extends keyof CoreManagerProxyEventCallbacks>(event: E, listener: CoreManagerProxyEventCallbacks[E]): this;
13
+ removeAllListeners<E extends keyof CoreManagerProxyEventCallbacks>(event?: E): this;
14
+ }
15
+ export declare class CoreManagerProxy extends EventEmitter implements CoreManager {
16
+ private api;
17
+ private logger;
18
+ private initialized;
19
+ private subject;
20
+ private cmSubject;
21
+ private publisher?;
22
+ private dmPublisher?;
23
+ private subscriber?;
24
+ private dmSubscriber?;
25
+ private messageQueue?;
26
+ private auth;
27
+ private proxyEndpoints;
28
+ private plugin;
29
+ constructor(api: API, logger: PluginLogger, plugin: PluginInfo, proxyEndpoints: string[], auth: AuthConfig);
30
+ init(): Promise<void>;
31
+ getFFmpegPath(): Promise<string>;
32
+ getServerAddresses(): Promise<string[]>;
33
+ getIceServers(): Promise<IceServer[]>;
34
+ emit(): boolean;
35
+ private requestHandler;
36
+ private emitEvent;
37
+ private onProxyMessage;
38
+ private onRequest;
39
+ private close;
40
+ }
@@ -28,6 +28,7 @@ export declare class ConfigService {
28
28
  readonly LOG_FILE: string;
29
29
  readonly CONFIG_FILE: string;
30
30
  readonly SECRETS_FILE: string;
31
+ readonly ADMIN_FILE: string;
31
32
  readonly GO2RTC_BINARY: string;
32
33
  readonly GO2RTC_CONFIG_FILE: string;
33
34
  readonly NATS_BINARY: string;
@@ -1,5 +1,4 @@
1
1
  import 'reflect-metadata';
2
- import type { Socket } from 'socket.io';
3
2
  import type { UiNotification } from '../../api/types/index.js';
4
3
  import type { LoggingLevel } from '../config/types.js';
5
4
  export declare class Logger {
@@ -16,9 +15,9 @@ export declare class Logger {
16
15
  attention(...args: any[]): void;
17
16
  debug(...args: any[]): void;
18
17
  trace(...args: any[]): void;
19
- notify(title: string, text: string, type: LoggingLevel, link: string, socket?: Socket): Promise<void>;
18
+ notify(title: string, text: string, type: LoggingLevel, link: string): Promise<void>;
20
19
  formatMessage(level: 'log' | 'warn' | 'error' | 'debug' | 'trace' | 'attention', ...args: any[]): string[];
21
- private setNotification;
22
20
  private formattedArgs;
23
21
  private formatDateTime;
22
+ private checkIfNotificationExists;
24
23
  }
@@ -0,0 +1,12 @@
1
+ import type { Systeminformation } from 'systeminformation';
2
+ export type IPVersion = 'ipv4' | 'ipv6';
3
+ export interface UsableNetworkAddress {
4
+ address: string;
5
+ isPrivate: boolean;
6
+ }
7
+ export declare const isIPv4EmbeddedIPv6: (ip: string) => boolean;
8
+ export declare const extractPureIPAddress: (address: string) => string;
9
+ export declare const isValidNetworkAddress: (ip: string) => boolean;
10
+ export declare const isInternalNetworkAddress: (ip: string) => boolean;
11
+ export declare const fetchViableNetworkAddresses: () => UsableNetworkAddress[];
12
+ export declare const getSystemNetworkInterfaces: () => Promise<Systeminformation.NetworkInterfacesData[]>;
@@ -0,0 +1 @@
1
+ export declare const getNpmPath: () => string[];
@@ -1,6 +1,7 @@
1
1
  export type * from '../../server/src/api/database/types.js';
2
2
  export * from '../../server/src/api/schemas/cameras.schema.js';
3
3
  export * from '../../server/src/api/schemas/plugins.schema.js';
4
+ export * from '../../server/src/api/schemas/system.schema.js';
4
5
  export * from '../../server/src/api/schemas/users.schema.js';
5
6
  export type * from '../../server/src/api/types/index.js';
6
7
  export type * from '../../server/src/api/websocket/types.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/browser",
3
- "version": "0.0.85",
3
+ "version": "0.0.87",
4
4
  "description": "camera.ui browser client",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "module": "./dist/bundle.js",
@@ -32,8 +32,8 @@
32
32
  "@rushstack/eslint-patch": "^1.10.4",
33
33
  "@swc/register": "^0.1.10",
34
34
  "@types/webrtc": "^0.0.43",
35
- "@typescript-eslint/eslint-plugin": "^8.1.0",
36
- "@typescript-eslint/parser": "^8.1.0",
35
+ "@typescript-eslint/eslint-plugin": "^8.2.0",
36
+ "@typescript-eslint/parser": "^8.2.0",
37
37
  "bufferutil": "^4.0.8",
38
38
  "eslint": "^8.57.0",
39
39
  "eslint-config-prettier": "^9.1.0",
@@ -1,13 +0,0 @@
1
- import type { Namespace, Server } from 'socket.io';
2
- import type { PLUGIN_STATUS } from '../../../plugins/types.js';
3
- import type { SocketNsp } from '../types.js';
4
- export declare class FrameWorkerNamespace {
5
- nsp: Namespace;
6
- nspName: SocketNsp;
7
- private frameManager;
8
- constructor(io: Server);
9
- frameWorkerStatus(frameWorkerName: string, callback?: Function): Promise<void | {
10
- frameWorkerName: string;
11
- status: PLUGIN_STATUS;
12
- }>;
13
- }