@camera.ui/browser 0.0.94 → 0.0.95

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 (47) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/types/packages/client/browser/src/proxy/cameraDevice.d.ts +3 -1
  3. package/dist/types/packages/client/browser/src/proxy/coreManager.d.ts +2 -2
  4. package/dist/types/packages/common/src/utils/subscribed.d.ts +9 -0
  5. package/dist/types/packages/plugineer/src/polyglot/node/camera/index.d.ts +4 -3
  6. package/dist/types/packages/plugineer/src/polyglot/node/camera/interfaces/prebuffer.d.ts +1 -2
  7. package/dist/types/packages/plugineer/src/polyglot/node/camera/types.d.ts +15 -0
  8. package/dist/types/packages/plugineer/src/polyglot/node/plugins/types.d.ts +136 -0
  9. package/dist/types/packages/plugineer/src/types.d.ts +4 -0
  10. package/dist/types/packages/{common/src/messaging/index.d.ts → plugineer/src/utils/messageQueue.d.ts} +3 -3
  11. package/dist/types/packages/types/src/index.d.ts +657 -0
  12. package/dist/types/server/src/api/database/types.d.ts +1 -122
  13. package/dist/types/server/src/api/schemas/cameras.schema.d.ts +89 -69
  14. package/dist/types/server/src/api/schemas/config.schema.d.ts +6 -6
  15. package/dist/types/server/src/api/schemas/go2rtc.schema.d.ts +84 -84
  16. package/dist/types/server/src/api/schemas/plugins.schema.d.ts +5 -5
  17. package/dist/types/server/src/api/schemas/users.schema.d.ts +48 -48
  18. package/dist/types/server/src/api/services/cameras.service.d.ts +6 -5
  19. package/dist/types/server/src/api/types/index.d.ts +3 -3
  20. package/dist/types/server/src/api/utils/cameraSource.d.ts +2 -0
  21. package/dist/types/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  22. package/dist/types/server/src/api/websocket/types.d.ts +1 -1
  23. package/dist/types/server/src/api.d.ts +2 -2
  24. package/dist/types/server/src/camera/controller.d.ts +13 -3
  25. package/dist/types/server/src/camera/types.d.ts +1 -318
  26. package/dist/types/server/src/decoder/types.d.ts +0 -127
  27. package/dist/types/server/src/decoder/worker.d.ts +2 -2
  28. package/dist/types/server/src/nats/index.d.ts +4 -4
  29. package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +3 -3
  30. package/dist/types/server/src/nats/proxy/coreManager.d.ts +3 -5
  31. package/dist/types/server/src/nats/proxy/deviceManager.d.ts +3 -5
  32. package/dist/types/server/src/nats/types.d.ts +3 -101
  33. package/dist/types/server/src/nats/utils.d.ts +1 -1
  34. package/dist/types/server/src/nats/websocket.d.ts +2 -2
  35. package/dist/types/server/src/plugins/plugin.d.ts +2 -2
  36. package/dist/types/server/src/plugins/types.d.ts +1 -181
  37. package/dist/types/server/src/plugins/worker.d.ts +1 -1
  38. package/dist/types/server/src/services/config/constants.d.ts +2 -1
  39. package/dist/types/server/src/services/config/types.d.ts +1 -5
  40. package/dist/types/shared/types/index.d.ts +4 -3
  41. package/package.json +4 -4
  42. package/dist/types/server/src/plugins/interfaces/audioDetection.d.ts +0 -7
  43. package/dist/types/server/src/plugins/interfaces/base.d.ts +0 -6
  44. package/dist/types/server/src/plugins/interfaces/motionDetection.d.ts +0 -6
  45. package/dist/types/server/src/plugins/interfaces/objectDetection.d.ts +0 -7
  46. /package/dist/types/packages/{common/src/nats/index.d.ts → plugineer/src/utils/nats.d.ts} +0 -0
  47. /package/dist/types/packages/{common/src/packer/index.d.ts → plugineer/src/utils/packer.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ import type { Subscribed as SubscribedInterface } from '@camera.ui/types';
1
2
  import type { Subscription } from 'rxjs';
2
3
  export declare class Subscribed {
3
4
  private readonly subscriptions;
@@ -7,3 +8,11 @@ export declare class Subscribed {
7
8
  protected unsubscribe(): void;
8
9
  protected unsubscribeAdditional(): void;
9
10
  }
11
+ export declare class SubscribedPublic implements SubscribedInterface {
12
+ private readonly subscriptions;
13
+ private readonly additionalSubscriptions;
14
+ addSubscriptions(...subscriptions: Subscription[]): void;
15
+ addAdditionalSubscriptions(...subscriptions: Subscription[]): void;
16
+ unsubscribe(): void;
17
+ unsubscribeAdditional(): void;
18
+ }
@@ -1,10 +1,10 @@
1
1
  import { Subscribed } from '@camera.ui/common/utils';
2
2
  import { LRUCache } from 'lru-cache';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import type { AudioSetEvent, AudioState, BatterySetEvent, BatteryState, Camera, CameraActivitySettings, CameraDelegate, CameraFrameWorkerSettings, CameraInformation, CameraPTZDelegate, CameraPrebufferDelegate, CameraSource, CameraType, DetectionZone, DoorbellSetEvent, DoorbellState, LightSetEvent, LightState, PluginLogger as Logger, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState, SetValues, SirenSetEvent, SirenState, StateValues } from '@camera.ui/types';
4
+ import type { AudioSetEvent, AudioState, BatterySetEvent, BatteryState, Camera, CameraActivitySettings, CameraDelegate, CameraFrameWorkerSettings, CameraInformation, CameraPTZDelegate, CameraPrebufferDelegate, CameraSource, CameraType, DetectionZone, DoorbellSetEvent, DoorbellState, LightSetEvent, LightState, LoggerService, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState, SetValues, SirenSetEvent, SirenState, StateValues } from '@camera.ui/types';
5
5
  import type { Observable } from 'rxjs';
6
6
  export declare abstract class BaseCameraDevice extends Subscribed {
7
- protected logger: Logger;
7
+ protected logger: LoggerService;
8
8
  protected snapshotCache: LRUCache<string, ArrayBuffer, unknown>;
9
9
  protected cameraSubject: BehaviorSubject<Camera>;
10
10
  protected cameraState: BehaviorSubject<boolean>;
@@ -55,7 +55,8 @@ export declare abstract class BaseCameraDevice extends Subscribed {
55
55
  get lowResolutionSource(): CameraSource | undefined;
56
56
  get ptz(): CameraPTZDelegate;
57
57
  abstract get sources(): CameraSource[];
58
- constructor(camera: Camera, logger: Logger);
58
+ abstract get internalSources(): CameraSource[];
59
+ constructor(camera: Camera, logger: LoggerService);
59
60
  protected abstract cleanup(): void;
60
61
  getValue<T extends keyof StateValues>(stateName: T): StateValues[T];
61
62
  snapshot(forceNew?: boolean): Promise<ArrayBuffer | undefined>;
@@ -1,9 +1,8 @@
1
- import type { CameraPrebufferDelegate, Container, PrebufferState, StreamInfo } from '@camera.ui/types';
1
+ import type { CameraPrebufferDelegate, Container, PrebufferState } from '@camera.ui/types';
2
2
  export declare class CameraPrebufferInterface implements CameraPrebufferDelegate {
3
3
  delegate?: CameraPrebufferDelegate;
4
4
  private onRequest;
5
5
  constructor(onRequest: (client: any, fn: string, args?: any[], timeout?: number) => Promise<any>);
6
- getStreamInfo(sourceName: string): Promise<StreamInfo | undefined>;
7
6
  getPrebufferingState(sourceName: string, container: Container): Promise<PrebufferState | undefined>;
8
7
  private _onRequest;
9
8
  }
@@ -0,0 +1,15 @@
1
+ import type { AudioSetEvent, AudioState, BatterySetEvent, BatteryState, DoorbellSetEvent, DoorbellState, FrameData, FrameMetadata, LightSetEvent, LightState, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState, SirenSetEvent, SirenState } from '@camera.ui/types';
2
+ import type { CameraInterface } from './interfaces/camera.js';
3
+ import type { CameraPrebufferInterface } from './interfaces/prebuffer.js';
4
+ import type { CameraPTZInterface } from './interfaces/ptz.js';
5
+ export interface FrameState extends MotionState {
6
+ frameData: FrameData;
7
+ metadata: FrameMetadata;
8
+ }
9
+ export type States = LightState | MotionState | AudioState | ObjectState | DoorbellState | SirenState | BatteryState;
10
+ export type Sets = LightSetEvent | MotionSetEvent | AudioSetEvent | ObjectSetEvent | DoorbellSetEvent | SirenSetEvent | BatterySetEvent;
11
+ export interface CameraInterfaces {
12
+ readonly cameraDelegate: CameraInterface;
13
+ readonly prebufferDelegate: CameraPrebufferInterface;
14
+ readonly ptzDelegate: CameraPTZInterface;
15
+ }
@@ -0,0 +1,136 @@
1
+ import type { Camera, CameraConfigInputSettings, CameraDevice, CameraExtension, ProbeStream, SetValues, StateValues } from '@camera.ui/types';
2
+ export interface ProcessLoadMessage {
3
+ cameras: Camera[];
4
+ plugin: PluginInfo;
5
+ storage: PluginStorage;
6
+ }
7
+ export interface ProcessMessage {
8
+ type: PLUGIN_COMMAND;
9
+ data?: ProcessLoadMessage;
10
+ }
11
+ export interface ProcessResponse {
12
+ type: PLUGIN_STATUS;
13
+ data?: ProcessErrorMessage;
14
+ }
15
+ export declare enum API_EVENT {
16
+ FINISH_LAUNCHING = "finishLaunching",
17
+ SHUTDOWN = "shutdown"
18
+ }
19
+ export declare enum PLUGIN_STATUS {
20
+ READY = "ready",
21
+ STARTING = "starting",
22
+ STARTED = "started",
23
+ STOPPED = "stopped",
24
+ ERROR = "error",
25
+ UNKNOWN = "unknown",
26
+ DISABLED = "disabled"
27
+ }
28
+ export declare enum PLUGIN_COMMAND {
29
+ START = "start",
30
+ STOP = "stop"
31
+ }
32
+ export type ProcessErrorMessage = string;
33
+ export interface PluginStorage {
34
+ installPath: string;
35
+ storagePath: string;
36
+ configFile: string;
37
+ }
38
+ export interface PluginInfo {
39
+ id: string;
40
+ name: string;
41
+ contract: PluginContract;
42
+ }
43
+ export type ExtensionOrSupport = {
44
+ extension: CameraExtension;
45
+ supportAdditionalCameras?: never;
46
+ } | {
47
+ extension?: never;
48
+ supportAdditionalCameras?: boolean;
49
+ };
50
+ export interface PluginContractBase {
51
+ builtIns?: CameraExtensionWithoutHub[];
52
+ dependencies?: string[];
53
+ pythonVersion?: string;
54
+ }
55
+ export type PluginContract = PluginContractBase & ExtensionOrSupport;
56
+ export type CameraExtensionWithoutHub = 'prebuffer' | 'motionDetection' | 'objectDetection' | 'audioDetection' | 'ptz';
57
+ export type Go2RtcIncomingMessage = Go2RtcAnswerMessage | Go2RtcIceCandidateMessage | ErrorMessage;
58
+ export type Go2RtcOutgoingMessage = Go2RtcOfferMessage | Go2RtcIceCandidateMessage;
59
+ export interface Go2RtcOfferMessage {
60
+ type: 'webrtc/offer';
61
+ value: Sdp;
62
+ }
63
+ export interface Go2RtcAnswerMessage {
64
+ type: 'webrtc/answer';
65
+ value: Sdp;
66
+ }
67
+ export interface Go2RtcIceCandidateMessage {
68
+ type: 'webrtc/candidate';
69
+ value: IceCandiate;
70
+ }
71
+ export type Sdp = string;
72
+ export type IceCandiate = string;
73
+ export interface ErrorMessage {
74
+ type: 'error';
75
+ value: string;
76
+ }
77
+ export interface DeviceManagerListenerMessagePayload {
78
+ type: keyof DeviceManagerProxyEventCallbacks;
79
+ data: DeviceManagerProxyEvents[keyof DeviceManagerProxyEvents];
80
+ }
81
+ export interface DeviceManagerProxyEvents {
82
+ cameraSelected: {
83
+ camera: Camera;
84
+ extension: CameraExtension;
85
+ };
86
+ cameraDeselected: {
87
+ camera: Camera;
88
+ extension: CameraExtension;
89
+ };
90
+ }
91
+ export interface DeviceManagerProxyEventCallbacks {
92
+ cameraSelected: (camera: CameraDevice, extension: CameraExtension) => void;
93
+ cameraDeselected: (cameraId: string, extension: CameraExtension) => void;
94
+ }
95
+ export interface DeviceManagerProxyGenericEvent<K extends keyof DeviceManagerProxyEvents> {
96
+ type: K;
97
+ data: DeviceManagerProxyEvents[K];
98
+ }
99
+ export interface CoreManagerListenerMessagePayload {
100
+ type: keyof CoreManagerProxyEventCallbacks;
101
+ data: CoreManagerProxyEvents[keyof CoreManagerProxyEvents];
102
+ }
103
+ export interface CoreManagerProxyEvents {
104
+ }
105
+ export interface CoreManagerProxyEventCallbacks {
106
+ }
107
+ export interface CoreManagerProxyGenericEvent<K extends keyof CoreManagerProxyEvents> {
108
+ type: K;
109
+ data: CoreManagerProxyEvents[K];
110
+ }
111
+ export interface RefreshedStates {
112
+ camera: Camera;
113
+ states: StateValues;
114
+ cameraState: boolean;
115
+ }
116
+ export interface CameraDeviceProxyMethods {
117
+ connect(): void;
118
+ disconnect(): void;
119
+ updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T]): void;
120
+ refreshStates(): RefreshedStates;
121
+ addCameraSource(source: CameraConfigInputSettings): Promise<void>;
122
+ updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>): Promise<void>;
123
+ removeCameraSource(sourceId: string): Promise<void>;
124
+ probeStream(sourceId: string): Promise<ProbeStream | undefined>;
125
+ }
126
+ export interface CameraDeviceListenerStatePayload<K extends keyof StateValues> {
127
+ stateName: K;
128
+ data: {
129
+ newEvent: StateValues[K];
130
+ oldEvent: StateValues[K];
131
+ };
132
+ }
133
+ export interface CameraDeviceListenerMessagePayload {
134
+ type: 'removed' | 'updated' | 'cameraState';
135
+ data?: any;
136
+ }
@@ -0,0 +1,4 @@
1
+ export type MethodKeys<T> = keyof {
2
+ [K in keyof T as T[K] extends (...args: any) => any ? K : never]: any;
3
+ };
4
+ export type MethodType<T, K extends keyof T> = T[K] extends (...args: any) => any ? T[K] : never;
@@ -1,5 +1,5 @@
1
- import type { CameraDelegates, PluginLogger } from '@camera.ui/types';
2
- import type { ProxyConnection, ProxySubscription } from '../nats/index.js';
1
+ import type { CameraDelegates, LoggerService } from '@camera.ui/types';
2
+ import type { ProxyConnection, ProxySubscription } from './nats.js';
3
3
  export declare const NATS_SERVER_SUBJECT = "camera.ui-server";
4
4
  export interface DeserializedError {
5
5
  name: string;
@@ -40,7 +40,7 @@ export declare class MessageQueue {
40
40
  private isProcessing;
41
41
  private queue;
42
42
  private pendingResponses;
43
- constructor(type: 'server' | 'client', publisher: ProxyConnection, subscriber: ProxySubscription, logger: PluginLogger, requestHandler: (message: ProxyMessageStructure) => void);
43
+ constructor(type: 'server' | 'client', publisher: ProxyConnection, subscriber: ProxySubscription, logger: LoggerService, requestHandler: (message: ProxyMessageStructure) => void);
44
44
  abortQueue(): void;
45
45
  enqueue(message: ProxyMessageStructure): Promise<any>;
46
46
  private processQueue;