@camera.ui/browser 0.0.83 → 0.0.85

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 (29) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/types/server/src/api/database/types.d.ts +6 -6
  3. package/dist/types/server/src/api/schemas/cameras.schema.d.ts +61 -54
  4. package/dist/types/server/src/api/schemas/users.schema.d.ts +5 -0
  5. package/dist/types/server/src/api/services/cameras.service.d.ts +6 -5
  6. package/dist/types/server/src/api/types/index.d.ts +13 -3
  7. package/dist/types/server/src/api/websocket/index.d.ts +1 -0
  8. package/dist/types/server/src/api/websocket/nsp/metrics.d.ts +4 -22
  9. package/dist/types/server/src/api/websocket/nsp/status.d.ts +4 -15
  10. package/dist/types/server/src/api/websocket/types.d.ts +25 -64
  11. package/dist/types/server/src/camera/controller.d.ts +3 -1
  12. package/dist/types/server/src/camera/index.d.ts +3 -7
  13. package/dist/types/server/src/camera/interfaces/camera.d.ts +1 -1
  14. package/dist/types/server/src/camera/streaming/werift-session.d.ts +10 -1
  15. package/dist/types/server/src/camera/types.d.ts +8 -2
  16. package/dist/types/server/src/decoder/worker.d.ts +1 -2
  17. package/dist/types/server/src/nats/index.d.ts +1 -1
  18. package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +5 -10
  19. package/dist/types/server/src/nats/proxy/deviceManager.d.ts +1 -1
  20. package/dist/types/server/src/nats/types.d.ts +12 -5
  21. package/dist/types/server/src/plugins/types.d.ts +10 -41
  22. package/dist/types/server/src/polyglot/node/plugins/cameraStorage.d.ts +9 -10
  23. package/dist/types/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -3
  24. package/dist/types/server/src/polyglot/node/plugins/schema.d.ts +22 -9
  25. package/dist/types/server/src/polyglot/node/plugins/storageController.d.ts +3 -3
  26. package/dist/types/server/src/services/config/index.d.ts +10 -5
  27. package/dist/types/server/src/services/config/types.d.ts +1 -1
  28. package/dist/types/server/src/services/logger/index.d.ts +3 -9
  29. package/package.json +5 -5
@@ -12,5 +12,5 @@ export declare class DeviceManagerProxy implements DeviceManagerServerProxyMetho
12
12
  createCamera(cameraConfig: CameraConfig, pluginId: string): Promise<Camera>;
13
13
  removeCameraByName(cameraName: string, pluginId: string): Promise<void>;
14
14
  removeCameraById(cameraId: string, pluginId: string): Promise<void>;
15
- handleMessage(message: ProxyMessageStructure): Promise<void | ProxyMessageStructure>;
15
+ requestHandler(message: ProxyMessageStructure): Promise<void | ProxyMessageStructure>;
16
16
  }
@@ -39,6 +39,17 @@ export interface StreamPayload {
39
39
  type: Exclude<VideoStreamingMode, 'webrtc' | 'webrtc/tcp'> | 'webrtc/offer' | 'webrtc/candidate';
40
40
  value: string;
41
41
  }
42
+ export interface RefreshedStates {
43
+ camera: Camera;
44
+ states: StateValues;
45
+ cameraState: boolean;
46
+ prebufferStates: {
47
+ [key: string]: {
48
+ mp4: PrebufferState;
49
+ mpegts: PrebufferState;
50
+ };
51
+ };
52
+ }
42
53
  export interface CameraDeviceProxyMethods {
43
54
  connect(): void;
44
55
  disconnect(): void;
@@ -46,11 +57,7 @@ export interface CameraDeviceProxyMethods {
46
57
  getIceServers(): IceServer[];
47
58
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T]): void;
48
59
  updatePrebufferState(sourceId: string, container: Container, state: PrebufferState): Promise<void>;
49
- refreshStates(): {
50
- camera: Camera;
51
- states: StateValues;
52
- cameraState: boolean;
53
- };
60
+ refreshStates(): RefreshedStates;
54
61
  addCameraSource(source: CameraConfigInputSettings): Promise<void>;
55
62
  updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>): Promise<void>;
56
63
  removeCameraSource(sourceId: string): Promise<void>;
@@ -5,7 +5,7 @@ export interface Context {
5
5
  dependencies?: Record<string, string>;
6
6
  }
7
7
  export interface SchemaConfig {
8
- rootSchema: PluginRootSchema;
8
+ rootSchema: RootSchema;
9
9
  config: Record<string, any>;
10
10
  }
11
11
  export declare const PLUGIN_IDENTIFIER_PATTERN: RegExp;
@@ -68,7 +68,7 @@ export interface ProcessResponse {
68
68
  type: PLUGIN_STATUS;
69
69
  data?: ProcessErrorMessage;
70
70
  }
71
- export type JsonSchemaType = 'string' | 'number' | 'boolean' | 'object' | 'array';
71
+ export type JsonSchemaType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'button';
72
72
  export interface JsonBaseSchema<T = any> {
73
73
  type: JsonSchemaType;
74
74
  key?: string;
@@ -81,8 +81,6 @@ export interface JsonBaseSchema<T = any> {
81
81
  group?: string;
82
82
  defaultValue?: T;
83
83
  store?: boolean;
84
- }
85
- export interface PluginJsonBaseSchema<T = any> extends JsonBaseSchema<T> {
86
84
  onSet?: (newValue: any, oldValue: any) => Promise<void>;
87
85
  onGet?: () => Promise<any>;
88
86
  }
@@ -92,76 +90,47 @@ export interface JsonSchemaString extends JsonBaseSchema<string> {
92
90
  minLength?: number;
93
91
  maxLength?: number;
94
92
  }
95
- export interface PluginJsonSchemaString extends PluginJsonBaseSchema<string> {
96
- type: 'string';
97
- format?: 'date-time' | 'date' | 'time' | 'email' | 'uuid' | 'ipv4' | 'ipv6' | 'password' | 'qrCode';
98
- minLength?: number;
99
- maxLength?: number;
100
- }
101
93
  export interface JsonSchemaNumber extends JsonBaseSchema<number> {
102
94
  type: 'number';
103
95
  minimum?: number;
104
96
  maximum?: number;
105
97
  step?: number;
106
98
  }
107
- export interface PluginJsonSchemaNumber extends PluginJsonBaseSchema<number> {
108
- type: 'number';
109
- minimum?: number;
110
- maximum?: number;
111
- step?: number;
112
- }
113
99
  export interface JsonSchemaBoolean extends JsonBaseSchema<boolean> {
114
100
  type: 'boolean';
115
101
  }
116
- export interface PluginJsonSchemaBoolean extends PluginJsonBaseSchema<boolean> {
117
- type: 'boolean';
118
- }
119
102
  export interface JsonSchemaEnum extends JsonBaseSchema<string> {
120
103
  type: 'string';
121
104
  enum: string[];
122
105
  multiple?: boolean;
123
106
  }
124
- export interface PluginJsonSchemaEnum extends PluginJsonBaseSchema<string> {
125
- type: 'string';
126
- enum: string[];
127
- multiple?: boolean;
128
- }
129
107
  export interface JsonSchemaObject extends JsonBaseSchema {
130
108
  type: 'object';
131
109
  opened?: boolean;
132
110
  properties?: JsonSchemaForm;
133
111
  }
134
- export interface PluginJsonSchemaObject extends PluginJsonBaseSchema {
135
- type: 'object';
136
- opened?: boolean;
137
- properties?: PluginJsonSchemaForm;
138
- }
139
- export interface JsonSchemaObjectWithButtons extends JsonSchemaObject {
140
- buttons: [JsonSchemaButton, JsonSchemaButton?];
141
- }
142
112
  export interface JsonSchemaArray extends JsonBaseSchema {
143
113
  type: 'array';
144
114
  opened?: boolean;
145
115
  items?: JsonSchema;
146
116
  }
147
- export interface JsonSchemaButton {
117
+ export interface JsonSchemaButton extends JsonBaseSchema {
118
+ type: 'button';
119
+ }
120
+ export interface JsonSchemaObjectButton {
148
121
  label: string;
149
122
  onSubmit: string;
150
123
  }
151
- export type JsonSchema = JsonSchemaString | JsonSchemaNumber | JsonSchemaBoolean | JsonSchemaEnum | JsonSchemaObject | JsonSchemaObjectWithButtons | JsonSchemaArray;
152
- export type PluginJsonSchema = PluginJsonSchemaString | PluginJsonSchemaNumber | PluginJsonSchemaBoolean | PluginJsonSchemaEnum | PluginJsonSchemaObject;
124
+ export interface JsonSchemaObjectWithButtons extends JsonSchemaObject {
125
+ buttons: JsonSchemaObjectButton[];
126
+ }
127
+ export type JsonSchema = JsonSchemaString | JsonSchemaNumber | JsonSchemaBoolean | JsonSchemaEnum | JsonSchemaObject | JsonSchemaObjectWithButtons | JsonSchemaArray | JsonSchemaButton;
153
128
  export interface JsonSchemaForm {
154
129
  [key: string]: JsonSchema;
155
130
  }
156
- export interface PluginJsonSchemaForm {
157
- [key: string]: PluginJsonSchema;
158
- }
159
131
  export interface RootSchema {
160
132
  schema: JsonSchemaForm;
161
133
  }
162
- export interface PluginRootSchema {
163
- schema: PluginJsonSchemaForm;
164
- }
165
134
  export interface ToastMessage {
166
135
  type: 'info' | 'success' | 'warning' | 'error';
167
136
  message: string;
@@ -1,14 +1,13 @@
1
- import type { PluginJsonSchema, PluginJsonSchemaForm, SchemaConfig } from '../../../plugins/types.js';
1
+ import type { JsonSchema, JsonSchemaForm, SchemaConfig } from '../../../plugins/types.js';
2
2
  import type { API } from './pluginApi.js';
3
- export declare class CameraStorage {
3
+ export declare class CameraStorage<T extends Record<string, any> = Record<string, any>> {
4
4
  private cameraId;
5
5
  private instance;
6
6
  private api;
7
7
  private db;
8
- private _schema;
9
- private _values;
10
- get values(): Record<string, any>;
11
- constructor(api: API, instance: any, cameraId: string, schema?: PluginJsonSchemaForm);
8
+ schema: JsonSchemaForm;
9
+ values: T;
10
+ constructor(api: API, instance: any, cameraId: string, schema?: JsonSchemaForm);
12
11
  /**
13
12
  * Initialize the storage.
14
13
  * This will load the configuration from the database.
@@ -54,7 +53,7 @@ export declare class CameraStorage {
54
53
  *
55
54
  * @param newConfig - The new configuration to set.
56
55
  */
57
- setConfig(newConfig: Record<string, any>): Promise<void>;
56
+ setConfig(newConfig: T): Promise<void>;
58
57
  /**
59
58
  * Add a new schema to the existing schema.
60
59
  * It will also add the value to the configuration.
@@ -63,8 +62,8 @@ export declare class CameraStorage {
63
62
  * @param schema - The new schema to add.
64
63
  * @param path - The path to the schema to add.
65
64
  */
66
- addSchema(schema: PluginJsonSchemaForm): Promise<void>;
67
- addSchema(path: string, schema: PluginJsonSchema): Promise<void>;
65
+ addSchema(schema: JsonSchemaForm): Promise<void>;
66
+ addSchema(path: string, schema: JsonSchema): Promise<void>;
68
67
  /**
69
68
  * Remove a schema by its config path/key from the existing schema.
70
69
  * It will also remove the value from the configuration.
@@ -81,7 +80,7 @@ export declare class CameraStorage {
81
80
  * @param path - The path to the schema to change.
82
81
  * @param schema - The new schema to set.
83
82
  */
84
- changeSchema(path: string, newSchema: Partial<PluginJsonSchema>): Promise<void>;
83
+ changeSchema(path: string, newSchema: Partial<JsonSchema>): Promise<void>;
85
84
  /**
86
85
  * Get a schema by its config path/key.
87
86
  *
@@ -2,7 +2,6 @@ import { EventEmitter } from 'node:events';
2
2
  import { PluginConfigService } from './configService.js';
3
3
  import { StorageController } from './storageController.js';
4
4
  import type { AuthConfig } from '../../../decoder/types.js';
5
- import type { BasePlugin } from '../../../plugins/interfaces/base.js';
6
5
  import type { PluginInfo } from '../../../plugins/types.js';
7
6
  import type { PluginLogger } from './pluginLogger.js';
8
7
  import type { DeviceManager } from './proxy/deviceManager.js';
@@ -28,7 +27,5 @@ export declare class API extends EventEmitter implements PluginAPI {
28
27
  readonly configService: PluginConfigService;
29
28
  readonly storagePath: string;
30
29
  readonly configFile: string;
31
- readonly plugin: BasePlugin;
32
30
  constructor(plugin: PluginInfo, storagePath: string, configFile: string, logger: PluginLogger, proxyEndpoints: string[], auth: AuthConfig);
33
- private loadModule;
34
31
  }
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import type { ZodTypeAny } from 'zod';
3
- import type { JsonSchema, JsonSchemaArray, JsonSchemaBoolean, JsonSchemaButton, JsonSchemaEnum, JsonSchemaForm, JsonSchemaNumber, JsonSchemaObject, JsonSchemaObjectWithButtons, JsonSchemaString, PluginJsonSchema, PluginJsonSchemaForm, PluginRootSchema, RootSchema } from '../../../plugins/types.js';
3
+ import type { JsonSchema, JsonSchemaArray, JsonSchemaBoolean, JsonSchemaButton, JsonSchemaEnum, JsonSchemaForm, JsonSchemaNumber, JsonSchemaObject, JsonSchemaObjectButton, JsonSchemaObjectWithButtons, JsonSchemaString, RootSchema } from '../../../plugins/types.js';
4
4
  type RootZodSchema = z.ZodObject<Record<string, ZodTypeAny>, 'strict', ZodTypeAny, {
5
5
  [x: string]: any;
6
6
  }, {
@@ -42,14 +42,14 @@ export declare const generateSchema: (value: any) => JsonSchema;
42
42
  * @param rootSchema - The Root JSON schema.
43
43
  * @returns - The generated JSON object.
44
44
  */
45
- export declare const generateJsonFromRootSchema: (rootSchema: RootSchema | PluginRootSchema) => Record<string, any>;
45
+ export declare const generateJsonFromRootSchema: (rootSchema: RootSchema) => Record<string, any>;
46
46
  /**
47
47
  * Generate a JSON object from a JSON schema.
48
48
  *
49
49
  * @param jsonSchema - The JSON schema.
50
50
  * @returns - The generated JSON object.
51
51
  */
52
- export declare const generateJsonFromSchema: (jsonSchema: JsonSchema | PluginJsonSchema) => any;
52
+ export declare const generateJsonFromSchema: (jsonSchema: JsonSchema) => any;
53
53
  /**
54
54
  * Generate a JSON object from a given JSON schema and use values from a config file.
55
55
  *
@@ -57,7 +57,7 @@ export declare const generateJsonFromSchema: (jsonSchema: JsonSchema | PluginJso
57
57
  * @param config - The config file with values to use.
58
58
  * @returns - The generated JSON object.
59
59
  */
60
- export declare const generateJsonFromSchemaWithConfig: (jsonSchema: JsonSchema | PluginJsonSchema, config: Record<string, any>, path?: string) => any;
60
+ export declare const generateJsonFromSchemaWithConfig: (jsonSchema: JsonSchema, config: Record<string, any>, path?: string) => any;
61
61
  /**
62
62
  * Generate a new config object from a given JSON schema and use values from a config file.
63
63
  * Contains only storable values.
@@ -73,22 +73,22 @@ export declare const generateStorableConfig: (jsonSchema: JsonSchemaForm | JsonS
73
73
  * @param schemaForm - The Plugin JSON schema form from which the functions should be removed.
74
74
  * @returns - The Plugin JSON schema form without functions.
75
75
  */
76
- export declare const removeFunctionsFromSchemaForm: (schemaForm: PluginJsonSchemaForm) => PluginJsonSchemaForm;
76
+ export declare const removeFunctionsFromSchemaForm: (schemaForm: JsonSchemaForm) => JsonSchemaForm;
77
77
  /**
78
78
  * Removes all functions from a given Plugin JSON schema.
79
79
  *
80
80
  * @param jsonSchema - The JSON schema from which the functions should be removed.
81
81
  * @returns - The JSON schema without functions.
82
82
  */
83
- export declare const removeFunctionsFromSchema: (jsonSchema: PluginJsonSchema) => PluginJsonSchema;
83
+ export declare const removeFunctionsFromSchema: (jsonSchema: JsonSchema) => JsonSchema;
84
84
  /**
85
85
  * Checks if a given JSON schema is readonly.
86
86
  *
87
87
  * @param jsonSchema - The JSON schema to check.
88
88
  * @returns - True if the JSON schema is readonly, false otherwise.
89
89
  */
90
- export declare const schemaIsReadonly: (jsonSchema: JsonSchema | PluginJsonSchema) => boolean;
91
- export declare const schemaIsStorable: (jsonSchema: JsonSchema | PluginJsonSchema) => boolean;
90
+ export declare const schemaIsReadonly: (jsonSchema: JsonSchema) => boolean;
91
+ export declare const schemaIsStorable: (jsonSchema: JsonSchema) => boolean;
92
92
  /**
93
93
  * Converts a config path to a schema path.
94
94
  *
@@ -170,7 +170,7 @@ export declare const generateObjectSchema: (value: Record<string, any>) => JsonS
170
170
  * @param buttons - Array of min one button and up to two buttons to be included in the schema.
171
171
  * @returns - The generated JSON schema for the object.
172
172
  */
173
- export declare const generateObjectSchemaWithButtons: (value: Record<string, any>, buttons: [JsonSchemaButton, JsonSchemaButton?]) => JsonSchemaObjectWithButtons;
173
+ export declare const generateObjectSchemaWithButtons: (value: Record<string, any>, buttons: JsonSchemaObjectButton[]) => JsonSchemaObjectWithButtons;
174
174
  /**
175
175
  * Generates a JSON schema for an array.
176
176
  *
@@ -227,6 +227,19 @@ export declare const isObjectTypeWithButtons: (jsonSchema: Partial<JsonSchema>)
227
227
  * @returns - True if the JSON schema is of array type, false otherwise.
228
228
  */
229
229
  export declare const isArrayType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaArray;
230
+ /**
231
+ * Checks if the given JSON schema is of button type.
232
+ *
233
+ * @param jsonSchema - The JSON schema to check.
234
+ * @returns - True if the JSON schema is of button type, false otherwise.
235
+ */
236
+ export declare const isButtonType: (jsonSchema: Partial<JsonSchema>) => jsonSchema is JsonSchemaButton;
237
+ /**
238
+ * Checks if the given value is a JSON schema.
239
+ *
240
+ * @param value - The value to check.
241
+ * @returns - True if the value is a JSON schema, false otherwise.
242
+ */
230
243
  export declare const isJsonSchema: (value: any) => value is JsonSchema;
231
244
  /**
232
245
  * Checks if the given value is a JSON Primitive schema.
@@ -1,5 +1,5 @@
1
1
  import { CameraStorage } from './cameraStorage.js';
2
- import type { PluginJsonSchemaForm } from '../../../plugins/types.js';
2
+ import type { JsonSchemaForm } from '../../../plugins/types.js';
3
3
  import type { API } from './pluginApi.js';
4
4
  export declare class StorageController {
5
5
  private api;
@@ -12,13 +12,13 @@ export declare class StorageController {
12
12
  * @param cameraId - The camera id
13
13
  * @param schema - The plugin schema
14
14
  */
15
- createCameraStorage(instance: any, cameraId: string, schema?: PluginJsonSchemaForm): CameraStorage;
15
+ createCameraStorage<T extends Record<string, any> = Record<string, any>>(instance: any, cameraId: string, schema?: JsonSchemaForm): CameraStorage<T>;
16
16
  /**
17
17
  * Get a camera storage instance
18
18
  *
19
19
  * @param cameraId - The camera id
20
20
  */
21
- getCameraStorage(cameraId: string): CameraStorage | undefined;
21
+ getCameraStorage<T extends Record<string, any> = Record<string, any>>(cameraId: string): CameraStorage<T> | undefined;
22
22
  /**
23
23
  * Remove a camera storage instance
24
24
  *
@@ -5,13 +5,14 @@ export declare class ConfigService {
5
5
  static readonly IS_DOCKER: boolean;
6
6
  static readonly IS_ELECTRON: boolean;
7
7
  static readonly IS_HA: boolean;
8
- static readonly IS_STANDARD: boolean;
9
- static readonly IS_SERVICE: boolean;
10
- static readonly VERSION: string;
11
- static readonly MIN_NODE_VERSION: string;
8
+ static readonly AS_SERVICE: boolean;
9
+ static readonly APP_NAME: any;
10
+ static get VERSION(): string;
12
11
  static readonly NODE_VERSION: string;
12
+ static readonly MIN_NODE_VERSION: string;
13
13
  static readonly SERVER_PATH: string;
14
14
  static readonly INTERFACE_PATH: string;
15
+ static readonly INSTALL_PATH: string | null;
15
16
  private logger;
16
17
  private _config;
17
18
  private _go2rtcConfig;
@@ -35,7 +36,7 @@ export declare class ConfigService {
35
36
  set config(newConfig: IConfig);
36
37
  get go2rtcConfig(): Go2RtcConfig;
37
38
  set go2rtcConfig(newConfig: Go2RtcConfig);
38
- constructor(storagePath?: string);
39
+ constructor(homePath?: string);
39
40
  static extractVersion(str: string): string | null;
40
41
  read(): void;
41
42
  writeConfig(newConfig?: IConfig): void;
@@ -51,4 +52,8 @@ export declare class ConfigService {
51
52
  private updateSecrets;
52
53
  private createDirs;
53
54
  private generatePluginsPackageJson;
55
+ private safetyEnsureDir;
56
+ private safetyEmptyDir;
57
+ private safetyEnsureFile;
58
+ private getUserHomeDir;
54
59
  }
@@ -2,7 +2,7 @@ export interface Secrets {
2
2
  jwtAccessKey: string;
3
3
  jwtRefreshKey: string;
4
4
  }
5
- export interface Runtime {
5
+ export interface RuntimeInfo {
6
6
  name: string;
7
7
  status: RUNTIME_STATUS;
8
8
  }
@@ -4,16 +4,10 @@ import type { UiNotification } from '../../api/types/index.js';
4
4
  import type { LoggingLevel } from '../config/types.js';
5
5
  export declare class Logger {
6
6
  private _loggerPrefix;
7
- private _debugEnabled;
8
- private _traceEnabled;
9
- private _disableTimestamps;
7
+ debugEnabled: boolean;
8
+ traceEnabled: boolean;
9
+ disableTimestamps: boolean;
10
10
  notifications: UiNotification[];
11
- get debugEnabled(): boolean;
12
- set debugEnabled(state: boolean);
13
- get traceEnabled(): boolean;
14
- set traceEnabled(state: boolean);
15
- get disableTimestamps(): boolean;
16
- set disableTimestamps(state: boolean);
17
11
  get prefix(): string;
18
12
  constructor();
19
13
  log(...args: any[]): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/browser",
3
- "version": "0.0.83",
3
+ "version": "0.0.85",
4
4
  "description": "camera.ui browser client",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "module": "./dist/bundle.js",
@@ -23,7 +23,7 @@
23
23
  "prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
24
24
  },
25
25
  "dependencies": {
26
- "axios": "^1.7.3",
26
+ "axios": "^1.7.4",
27
27
  "lru-cache": "^11.0.0",
28
28
  "rxjs": "^7.8.1",
29
29
  "socket.io-client": "^4.7.5"
@@ -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.0.1",
36
- "@typescript-eslint/parser": "^8.0.1",
35
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
36
+ "@typescript-eslint/parser": "^8.1.0",
37
37
  "bufferutil": "^4.0.8",
38
38
  "eslint": "^8.57.0",
39
39
  "eslint-config-prettier": "^9.1.0",
@@ -42,7 +42,7 @@
42
42
  "rimraf": "^6.0.1",
43
43
  "ts-loader": "^9.5.1",
44
44
  "typescript": "^5.5.4",
45
- "updates": "^16.3.7",
45
+ "updates": "^16.4.0",
46
46
  "utf-8-validate": "^6.0.4",
47
47
  "webpack": "^5.93.0",
48
48
  "webpack-cli": "^5.1.4"