@matterbridge/core 3.9.0 → 3.9.1-dev-20260614-89d7aeb

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 (73) hide show
  1. package/dist/backend.js +2 -2
  2. package/dist/backendExpress.d.ts +1 -1
  3. package/dist/backendWsServer.d.ts +1 -1
  4. package/dist/behaviors/activatedCarbonFilterMonitoringServer.d.ts +2 -2
  5. package/dist/behaviors/bindingServer.d.ts +3 -3
  6. package/dist/behaviors/booleanStateConfigurationServer.d.ts +2 -2
  7. package/dist/behaviors/colorControlServer.d.ts +9 -9
  8. package/dist/behaviors/deviceEnergyManagementServer.d.ts +4 -4
  9. package/dist/behaviors/doorLockServer.d.ts +17 -17
  10. package/dist/behaviors/fanControlServer.d.ts +2 -2
  11. package/dist/behaviors/hepaFilterMonitoringServer.d.ts +2 -2
  12. package/dist/behaviors/identifyServer.d.ts +1 -1
  13. package/dist/behaviors/levelControlServer.d.ts +1 -1
  14. package/dist/behaviors/matterbridgeServer.d.ts +2 -2
  15. package/dist/behaviors/modeSelectServer.d.ts +1 -1
  16. package/dist/behaviors/operationalStateServer.d.ts +1 -1
  17. package/dist/behaviors/serviceAreaServer.d.ts +1 -1
  18. package/dist/behaviors/smokeCoAlarmServer.d.ts +1 -1
  19. package/dist/behaviors/thermostatServer.d.ts +10 -10
  20. package/dist/behaviors/valveConfigurationAndControlServer.d.ts +1 -1
  21. package/dist/behaviors/windowCoveringServer.d.ts +6 -6
  22. package/dist/cli.js +6 -6
  23. package/dist/clusters/closure-control.d.ts +4 -4
  24. package/dist/clusters/closure-dimension.d.ts +4 -4
  25. package/dist/clusters/soil-measurement.d.ts +3 -3
  26. package/dist/devices/basicVideoPlayer.js +3 -3
  27. package/dist/devices/closure.d.ts +6 -6
  28. package/dist/devices/closurePanel.d.ts +6 -6
  29. package/dist/devices/cooktop.d.ts +1 -1
  30. package/dist/devices/dishwasher.d.ts +1 -1
  31. package/dist/devices/dishwasher.js +1 -1
  32. package/dist/devices/evse.d.ts +3 -3
  33. package/dist/devices/irrigationSystem.d.ts +1 -1
  34. package/dist/devices/laundryDryer.d.ts +1 -1
  35. package/dist/devices/laundryWasher.d.ts +1 -1
  36. package/dist/devices/laundryWasher.js +1 -1
  37. package/dist/devices/oven.d.ts +2 -2
  38. package/dist/devices/refrigerator.d.ts +2 -2
  39. package/dist/devices/roboticVacuumCleaner.d.ts +1 -1
  40. package/dist/devices/roboticVacuumCleaner.js +1 -1
  41. package/dist/devices/soilSensor.d.ts +1 -1
  42. package/dist/devices/solarPower.d.ts +1 -1
  43. package/dist/devices/temperatureControl.d.ts +3 -3
  44. package/dist/frontend.d.ts +1 -1
  45. package/dist/frontend.js +16 -17
  46. package/dist/helpers.d.ts +1 -1
  47. package/dist/jestutils/jestBroadcastServerSpy.d.ts +5 -5
  48. package/dist/jestutils/jestFrontendSpy.d.ts +1 -1
  49. package/dist/jestutils/jestMatterTest.d.ts +5 -5
  50. package/dist/jestutils/jestMatterTest.js +4 -4
  51. package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +2 -2
  52. package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +6 -6
  53. package/dist/jestutils/jestMatterbridgeSpy.d.ts +1 -1
  54. package/dist/jestutils/jestMatterbridgeTest.d.ts +3 -3
  55. package/dist/jestutils/jestMatterbridgeTest.js +1 -1
  56. package/dist/jestutils/logKeepAlives.d.ts +1 -1
  57. package/dist/jestutils/matterRequest.d.ts +1 -1
  58. package/dist/matterbridge.d.ts +6 -6
  59. package/dist/matterbridge.js +20 -21
  60. package/dist/matterbridgeAccessoryPlatform.d.ts +1 -1
  61. package/dist/matterbridgeDeviceTypes.d.ts +1 -1
  62. package/dist/matterbridgeDynamicPlatform.d.ts +1 -1
  63. package/dist/matterbridgeEndpoint.d.ts +10 -10
  64. package/dist/matterbridgeEndpoint.js +4 -4
  65. package/dist/matterbridgeEndpointCommandHandler.d.ts +39 -39
  66. package/dist/matterbridgeEndpointHelpers.d.ts +28 -28
  67. package/dist/matterbridgeEndpointHelpers.js +1 -1
  68. package/dist/matterbridgeEndpointTypes.d.ts +2 -2
  69. package/dist/matterbridgeFactory.d.ts +2 -2
  70. package/dist/matterbridgePlatform.d.ts +4 -4
  71. package/dist/pluginManager.d.ts +1 -1
  72. package/dist/pluginManager.js +3 -3
  73. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
- import { MaybePromise } from '@matter/general';
1
+ import { type MaybePromise } from '@matter/general';
2
2
  import { OvenCavityOperationalStateServer } from '@matter/node/behaviors/oven-cavity-operational-state';
3
3
  import { OvenModeServer } from '@matter/node/behaviors/oven-mode';
4
- import { Semtag } from '@matter/types';
4
+ import { type Semtag } from '@matter/types';
5
5
  import { ModeBase } from '@matter/types/clusters/mode-base';
6
6
  import { OperationalState } from '@matter/types/clusters/operational-state';
7
7
  import { OvenMode } from '@matter/types/clusters/oven-mode';
@@ -1,6 +1,6 @@
1
- import { MaybePromise } from '@matter/general';
1
+ import { type MaybePromise } from '@matter/general';
2
2
  import { RefrigeratorAndTemperatureControlledCabinetModeServer } from '@matter/node/behaviors/refrigerator-and-temperature-controlled-cabinet-mode';
3
- import { Semtag } from '@matter/types';
3
+ import { type Semtag } from '@matter/types';
4
4
  import { ModeBase } from '@matter/types/clusters/mode-base';
5
5
  import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/types/clusters/refrigerator-and-temperature-controlled-cabinet-mode';
6
6
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
@@ -9,7 +9,7 @@ import { RvcRunMode } from '@matter/types/clusters/rvc-run-mode';
9
9
  import { ServiceArea } from '@matter/types/clusters/service-area';
10
10
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
11
11
  export declare class RoboticVacuumCleaner extends MatterbridgeEndpoint {
12
- constructor(name: string, serial: string, mode?: 'server' | 'matter' | undefined, currentRunMode?: number, supportedRunModes?: RvcRunMode.ModeOption[], currentCleanMode?: number, supportedCleanModes?: RvcCleanMode.ModeOption[], currentPhase?: number | null, phaseList?: string[] | null, operationalState?: RvcOperationalState.OperationalState, operationalStateList?: RvcOperationalState.OperationalStateStruct[], supportedAreas?: ServiceArea.Area[], selectedAreas?: number[], currentArea?: number | null, supportedMaps?: ServiceArea.Map[]);
12
+ constructor(name: string, serial: string, mode?: 'server' | 'matter', currentRunMode?: number, supportedRunModes?: RvcRunMode.ModeOption[], currentCleanMode?: number, supportedCleanModes?: RvcCleanMode.ModeOption[], currentPhase?: number | null, phaseList?: string[] | null, operationalState?: RvcOperationalState.OperationalState, operationalStateList?: RvcOperationalState.OperationalStateStruct[], supportedAreas?: ServiceArea.Area[], selectedAreas?: number[], currentArea?: number | null, supportedMaps?: ServiceArea.Map[]);
13
13
  createDefaultRvcRunModeClusterServer(currentMode?: number, supportedModes?: RvcRunMode.ModeOption[]): this;
14
14
  createDefaultRvcCleanModeClusterServer(currentMode?: number, supportedModes?: RvcCleanMode.ModeOption[]): this;
15
15
  createDefaultServiceAreaClusterServer(supportedAreas?: ServiceArea.Area[], selectedAreas?: number[], currentArea?: number | null, supportedMaps?: ServiceArea.Map[]): this;
@@ -14,7 +14,7 @@ import { MatterbridgeServiceAreaServer } from '../behaviors/serviceAreaServer.js
14
14
  import { powerSource, roboticVacuumCleaner } from '../matterbridgeDeviceTypes.js';
15
15
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
16
16
  export class RoboticVacuumCleaner extends MatterbridgeEndpoint {
17
- constructor(name, serial, mode = undefined, currentRunMode, supportedRunModes, currentCleanMode, supportedCleanModes, currentPhase = null, phaseList = null, operationalState, operationalStateList, supportedAreas, selectedAreas, currentArea, supportedMaps) {
17
+ constructor(name, serial, mode, currentRunMode, supportedRunModes, currentCleanMode, supportedCleanModes, currentPhase = null, phaseList = null, operationalState, operationalStateList, supportedAreas, selectedAreas, currentArea, supportedMaps) {
18
18
  super([roboticVacuumCleaner, powerSource], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}`, mode });
19
19
  this.createDefaultIdentifyClusterServer()
20
20
  .createDefaultBasicInformationClusterServer(name, serial, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge Robot Vacuum Cleaner')
@@ -1,4 +1,4 @@
1
- import { type MeasurementAccuracy } from '@matter/types/globals';
1
+ import type { MeasurementAccuracy } from '@matter/types/globals';
2
2
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
3
3
  export interface SoilSensorOptions {
4
4
  soilMoistureMeasurementLimits?: MeasurementAccuracy;
@@ -1,4 +1,4 @@
1
- import { Semtag } from '@matter/types/globals';
1
+ import { type Semtag } from '@matter/types/globals';
2
2
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
3
3
  export declare class SolarPower extends MatterbridgeEndpoint {
4
4
  constructor(name: string, serial: string, voltage?: number | bigint | null, current?: number | bigint | null, power?: number | bigint | null, energyExported?: number | bigint, absMinPower?: number, absMaxPower?: number);
@@ -1,11 +1,11 @@
1
1
  import { TemperatureControlServer } from '@matter/node/behaviors/temperature-control';
2
2
  import { TemperatureControl } from '@matter/types/clusters/temperature-control';
3
- import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
3
+ import { type MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
4
4
  export declare function createLevelTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[]): MatterbridgeEndpoint;
5
5
  export declare function createNumberTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number): MatterbridgeEndpoint;
6
6
  declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof TemperatureControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<TemperatureControl, {
7
- temperatureNumber: false;
8
7
  temperatureLevel: true;
8
+ temperatureNumber: false;
9
9
  temperatureStep: false;
10
10
  }>, import("@matter/types").ClusterType.Concrete, new () => {}, "temperatureControl">;
11
11
  export declare class MatterbridgeLevelTemperatureControlServer extends MatterbridgeLevelTemperatureControlServer_base {
@@ -13,8 +13,8 @@ export declare class MatterbridgeLevelTemperatureControlServer extends Matterbri
13
13
  setTemperature(request: TemperatureControl.SetTemperatureRequest): Promise<void>;
14
14
  }
15
15
  declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof TemperatureControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<TemperatureControl, {
16
- temperatureNumber: true;
17
16
  temperatureLevel: false;
17
+ temperatureNumber: true;
18
18
  temperatureStep: true;
19
19
  }>, import("@matter/types").ClusterType.Concrete, new () => {}, "temperatureControl">;
20
20
  export declare class MatterbridgeNumberTemperatureControlServer extends MatterbridgeNumberTemperatureControlServer_base {
@@ -1,5 +1,5 @@
1
1
  import EventEmitter from 'node:events';
2
- import { EndpointNumber } from '@matter/types/datatype';
2
+ import { type EndpointNumber } from '@matter/types/datatype';
3
3
  import type { ApiClusters, ApiDevice, ApiMatter, ApiPlugin, ApiSettings, RefreshRequiredChanged, WsMessageBroadcast } from '@matterbridge/types';
4
4
  import { LogLevel } from 'node-ansi-logger';
5
5
  import type { Matterbridge } from './matterbridge.js';
package/dist/frontend.js CHANGED
@@ -124,7 +124,7 @@ export class Frontend extends EventEmitter {
124
124
  this.log.debug(`Received broadcast response ${CYAN}${msg.type}${db} from ${CYAN}${msg.src}${db}: ${debugStringify(msg)}${db}`);
125
125
  switch (msg.type) {
126
126
  case 'manager_spawn_response':
127
- if (msg.result && msg.result.packageCommand === 'install') {
127
+ if (msg.result?.packageCommand === 'install') {
128
128
  this.wssSendCloseSnackbarMessage(`Installing package ${msg.result.packageName}...`);
129
129
  if (msg.result.success) {
130
130
  this.restartRequired = true;
@@ -137,7 +137,7 @@ export class Frontend extends EventEmitter {
137
137
  this.wssSendSnackbarMessage(`Package ${msg.result.packageName} not installed`, 10, 'error');
138
138
  }
139
139
  }
140
- if (msg.result && msg.result.packageCommand === 'uninstall') {
140
+ if (msg.result?.packageCommand === 'uninstall') {
141
141
  this.wssSendCloseSnackbarMessage(`Uninstalling package ${msg.result.packageName}...`);
142
142
  if (msg.result.success) {
143
143
  this.restartRequired = true;
@@ -152,8 +152,7 @@ export class Frontend extends EventEmitter {
152
152
  }
153
153
  break;
154
154
  case 'manager_archive_response':
155
- if (msg.result &&
156
- msg.result.success &&
155
+ if (msg.result?.success &&
157
156
  isValidString(msg.result.command) &&
158
157
  isValidString(msg.result.archivePath) &&
159
158
  isValidArray(msg.result.sourcePaths) &&
@@ -706,7 +705,7 @@ export class Frontend extends EventEmitter {
706
705
  res.download(path.join(os.tmpdir(), `matterbridge.${NODE_STORAGE_DIR}.zip`), `matterbridge.${NODE_STORAGE_DIR}.zip`, (error) => {
707
706
  this.wssSendCloseSnackbarMessage('Creating matterbridge storage backup...');
708
707
  if (error) {
709
- this.log.error(`Error downloading file ${`matterbridge.${NODE_STORAGE_DIR}.zip`}: ${error instanceof Error ? error.message : error}`);
708
+ this.log.error(`Error downloading file matterbridge.${NODE_STORAGE_DIR}.zip: ${error instanceof Error ? error.message : error}`);
710
709
  res.status(500).send('Error downloading the matterbridge storage file');
711
710
  }
712
711
  else {
@@ -962,7 +961,7 @@ export class Frontend extends EventEmitter {
962
961
  return false;
963
962
  if (device.hasClusterServer(BridgedDeviceBasicInformation.id))
964
963
  return device.getAttribute(BridgedDeviceBasicInformation.id, 'reachable');
965
- if (device.mode === 'server' && device.serverNode && device.serverNode.state.basicInformation.reachable !== undefined)
964
+ if (device.mode === 'server' && device.serverNode?.state.basicInformation.reachable !== undefined)
966
965
  return device.serverNode.state.basicInformation.reachable;
967
966
  if (this.matterbridge.bridgeMode === 'childbridge')
968
967
  return true;
@@ -1003,7 +1002,7 @@ export class Frontend extends EventEmitter {
1003
1002
  const batChargeLevel = device.getAttribute(PowerSource.id, 'batPercentRemaining');
1004
1003
  return isValidNumber(batChargeLevel) ? batChargeLevel / 2 : undefined;
1005
1004
  }
1006
- return undefined;
1005
+ return;
1007
1006
  };
1008
1007
  if (endpoint.hasClusterServer(PowerSource.id))
1009
1008
  return batteryLevel(endpoint);
@@ -1054,11 +1053,11 @@ export class Frontend extends EventEmitter {
1054
1053
  attributes += `Heat to: ${attributeValue / 100}°C `;
1055
1054
  if (clusterName === 'thermostat' && attributeName === 'occupiedCoolingSetpoint' && isValidNumber(attributeValue))
1056
1055
  attributes += `Cool to: ${attributeValue / 100}°C `;
1057
- const modeClusters = ['modeSelect', 'rvcRunMode', 'rvcCleanMode', 'laundryWasherMode', 'ovenMode', 'microwaveOvenMode'];
1058
- if (modeClusters.includes(clusterName) && attributeName === 'supportedModes') {
1056
+ const modeClusters = new Set(['modeSelect', 'rvcRunMode', 'rvcCleanMode', 'laundryWasherMode', 'ovenMode', 'microwaveOvenMode']);
1057
+ if (modeClusters.has(clusterName) && attributeName === 'supportedModes') {
1059
1058
  supportedModes = attributeValue;
1060
1059
  }
1061
- if (modeClusters.includes(clusterName) && attributeName === 'currentMode') {
1060
+ if (modeClusters.has(clusterName) && attributeName === 'currentMode') {
1062
1061
  const supportedMode = supportedModes.find((mode) => mode.mode === attributeValue);
1063
1062
  if (supportedMode)
1064
1063
  attributes += `Mode: ${supportedMode.label} `;
@@ -1199,7 +1198,7 @@ export class Frontend extends EventEmitter {
1199
1198
  const endpoint = this.matterbridge.devices
1200
1199
  .array()
1201
1200
  .find((d) => d.plugin === pluginName && d.maybeNumber === endpointNumber && (!serialNumber || d.serialNumber === serialNumber) && (!uniqueId || d.uniqueId === uniqueId));
1202
- if (!endpoint || !endpoint.plugin || !endpoint.maybeNumber || !endpoint.maybeId || !endpoint.deviceName || !endpoint.serialNumber) {
1201
+ if (!endpoint?.plugin || !endpoint.maybeNumber || !endpoint.maybeId || !endpoint.deviceName || !endpoint.serialNumber) {
1203
1202
  this.log.error(`getClusters: no device found for plugin ${pluginName} and endpoint number ${endpointNumber} (serial: ${serialNumber ?? 'N/A'}, uniqueId: ${uniqueId ?? 'N/A'})`);
1204
1203
  return;
1205
1204
  }
@@ -1871,7 +1870,7 @@ export class Frontend extends EventEmitter {
1871
1870
  }
1872
1871
  break;
1873
1872
  case 'setmatterport':
1874
- const port = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
1873
+ const port = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
1875
1874
  if (isValidNumber(port, 5540, 5600)) {
1876
1875
  this.log.debug(`Set matter commissioning port to ${CYAN}${port}${db}`);
1877
1876
  this.matterbridge.port = this.matterbridge.initialPort = port;
@@ -1890,7 +1889,7 @@ export class Frontend extends EventEmitter {
1890
1889
  }
1891
1890
  break;
1892
1891
  case 'setmatterdiscriminator':
1893
- const discriminator = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
1892
+ const discriminator = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
1894
1893
  if (isValidNumber(discriminator, 0, 4095)) {
1895
1894
  this.log.debug(`Set matter commissioning discriminator to ${CYAN}${discriminator}${db}`);
1896
1895
  this.matterbridge.discriminator = this.matterbridge.initialDiscriminator = discriminator;
@@ -1915,8 +1914,8 @@ export class Frontend extends EventEmitter {
1915
1914
  }
1916
1915
  break;
1917
1916
  case 'setmatterpasscode':
1918
- const passcode = isValidString(data.params.value) ? parseInt(data.params.value) : 0;
1919
- if (isValidNumber(passcode, 1, 99999998) && CommissioningOptions.FORBIDDEN_PASSCODES.includes(passcode) === false) {
1917
+ const passcode = isValidString(data.params.value) ? Number.parseInt(data.params.value) : 0;
1918
+ if (isValidNumber(passcode, 1, 99999998) && !CommissioningOptions.FORBIDDEN_PASSCODES.includes(passcode)) {
1920
1919
  this.matterbridge.passcode = this.matterbridge.initialPasscode = passcode;
1921
1920
  this.log.debug(`Set matter commissioning passcode to ${CYAN}${passcode}${db}`);
1922
1921
  await this.matterbridge.nodeContext?.set('matterpasscode', passcode);
@@ -2101,7 +2100,7 @@ export class Frontend extends EventEmitter {
2101
2100
  this.log.debug('Sending a restart required message to all connected clients');
2102
2101
  this.restartRequired = true;
2103
2102
  this.fixedRestartRequired = fixed;
2104
- if (snackbar === true)
2103
+ if (snackbar)
2105
2104
  this.wssSendSnackbarMessage(`Restart required`, 0);
2106
2105
  this.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'restart_required', success: true, response: { fixed } });
2107
2106
  }
@@ -2110,7 +2109,7 @@ export class Frontend extends EventEmitter {
2110
2109
  return;
2111
2110
  this.log.debug('Sending a restart not required message to all connected clients');
2112
2111
  this.restartRequired = false;
2113
- if (snackbar === true)
2112
+ if (snackbar)
2114
2113
  this.wssSendCloseSnackbarMessage(`Restart required`);
2115
2114
  this.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'restart_not_required', success: true });
2116
2115
  }
package/dist/helpers.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Endpoint } from '@matter/node';
2
- import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
2
+ import { type AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
3
3
  import type { Matterbridge } from './matterbridge.js';
4
4
  export declare function addVirtualDevice(aggregatorEndpoint: Endpoint<AggregatorEndpoint>, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<Endpoint>;
5
5
  export declare function addVirtualDevices(matterbridge: Matterbridge, aggregatorEndpoint: Endpoint<AggregatorEndpoint>): Promise<void>;
@@ -1,12 +1,12 @@
1
1
  export declare const closeBroadcastServerSpy: import("jest-mock").SpiedFunction<() => void>;
2
2
  export declare const getUniqueIdBroadcastServerSpy: import("jest-mock").SpiedFunction<() => number>;
3
3
  export declare const isWorkerRequestBroadcastServerSpy: import("jest-mock").SpiedFunction<(value: unknown) => value is import("@matterbridge/types").WorkerMessageRequest>;
4
- export declare const isWorkerRequestOfTypeBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(value: unknown, type: K) => value is import("@matterbridge/types").WorkerMessageRequest<K>)>;
4
+ export declare const isWorkerRequestOfTypeBroadcastServerSpy: import("jest-mock").SpiedFunction<<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(value: unknown, type: K) => value is import("@matterbridge/types").WorkerMessageRequest<K>>;
5
5
  export declare const isWorkerResponseBroadcastServerSpy: import("jest-mock").SpiedFunction<(value: unknown) => value is import("@matterbridge/types").WorkerMessageResponse>;
6
- export declare const isWorkerResponseOfTypeBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(value: unknown, type: K) => value is import("@matterbridge/types").WorkerMessageResponse<K>)>;
6
+ export declare const isWorkerResponseOfTypeBroadcastServerSpy: import("jest-mock").SpiedFunction<<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(value: unknown, type: K) => value is import("@matterbridge/types").WorkerMessageResponse<K>>;
7
7
  export declare const broadcastBroadcastServerSpy: import("jest-mock").SpiedFunction<(message: import("@matterbridge/types").WorkerMessage) => void>;
8
- export declare const requestBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageRequest<K>) => void)>;
9
- export declare const respondBroadcastServerSpy: import("jest-mock").SpiedFunction<(<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageResponse<K>) => void)>;
10
- export declare const fetchBroadcastServerSpy: import("jest-mock").SpiedFunction<(<T extends import("@matterbridge/types").WorkerMessageRequestAny, K extends Extract<keyof import("@matterbridge/types").WorkerMessageTypes, T["type"]>>(message: T, timeout?: number) => Promise<import("@matterbridge/types").WorkerMessageResponseSuccess<K>>)>;
8
+ export declare const requestBroadcastServerSpy: import("jest-mock").SpiedFunction<<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageRequest<K>) => void>;
9
+ export declare const respondBroadcastServerSpy: import("jest-mock").SpiedFunction<<K extends keyof import("@matterbridge/types").WorkerMessageTypes>(message: import("@matterbridge/types").WorkerMessageResponse<K>) => void>;
10
+ export declare const fetchBroadcastServerSpy: import("jest-mock").SpiedFunction<<T extends import("@matterbridge/types").WorkerMessageRequestAny, K extends Extract<keyof import("@matterbridge/types").WorkerMessageTypes, T['type']>>(message: T, timeout?: number) => Promise<import("@matterbridge/types").WorkerMessageResponseSuccess<K>>>;
11
11
  export declare const broadcastMessageHandlerBroadcastServerSpy: import("jest-mock").SpiedGetter<import("@matterbridge/types").WorkerSrcType> | import("jest-mock").SpiedSetter<import("@matterbridge/types").WorkerSrcType>;
12
12
  export declare const broadcastMessageErrorHandlerBroadcastServerSpy: import("jest-mock").SpiedGetter<import("@matterbridge/types").WorkerSrcType> | import("jest-mock").SpiedSetter<import("@matterbridge/types").WorkerSrcType>;
@@ -1,4 +1,4 @@
1
- export declare const wssSendSnackbarMessageFrontendSpy: import("jest-mock").SpiedFunction<(message: string, timeout?: number, severity?: "info" | "warning" | "error" | "success") => void>;
1
+ export declare const wssSendSnackbarMessageFrontendSpy: import("jest-mock").SpiedFunction<(message: string, timeout?: number, severity?: 'info' | 'warning' | 'error' | 'success') => void>;
2
2
  export declare const wssSendCloseSnackbarMessageFrontendSpy: import("jest-mock").SpiedFunction<(message: string) => void>;
3
3
  export declare const wssSendUpdateRequiredFrontendSpy: import("jest-mock").SpiedFunction<(devVersion?: boolean) => void>;
4
4
  export declare const wssSendRefreshRequiredFrontendSpy: import("jest-mock").SpiedFunction<(changed: import("@matterbridge/types").RefreshRequiredChanged, params?: {
@@ -5,7 +5,7 @@ import { AggregatorEndpoint } from '@matter/node/endpoints';
5
5
  import { DeviceTypeId } from '@matter/types/datatype';
6
6
  import { type PlatformMatterbridge } from '@matterbridge/types';
7
7
  export declare let environment: Environment;
8
- export declare let server: ServerNode<ServerNode.RootEndpoint>;
8
+ export declare let server: ServerNode;
9
9
  export declare let aggregator: Endpoint<AggregatorEndpoint>;
10
10
  export declare function createTestEnvironment(): Promise<Environment>;
11
11
  export declare function destroyTestEnvironment(): Promise<void>;
@@ -13,9 +13,9 @@ export declare function getPlatformMatterbridge(): PlatformMatterbridge;
13
13
  export declare function flushAllEndpointNumberPersistence(targetServer: ServerNode, rounds?: number, ticks?: number, microTurns?: number, pause?: number): Promise<void>;
14
14
  export declare function assertAllEndpointNumbersPersisted(targetServer: ServerNode): Promise<number>;
15
15
  export declare function closeServerNodeStores(targetServer?: ServerNode): Promise<void>;
16
- export declare function createServerNode(port: number, deviceType?: DeviceTypeId, ticks?: number, microTurns?: number, pause?: number): Promise<[ServerNode<ServerNode.RootEndpoint>, Endpoint<AggregatorEndpoint>]>;
17
- export declare function startServerNode(ticks?: number, microTurns?: number, pause?: number): Promise<[ServerNode<ServerNode.RootEndpoint>, Endpoint<AggregatorEndpoint>]>;
16
+ export declare function createServerNode(port: number, deviceType?: DeviceTypeId, ticks?: number, microTurns?: number, pause?: number): Promise<[ServerNode, Endpoint<AggregatorEndpoint>]>;
17
+ export declare function startServerNode(ticks?: number, microTurns?: number, pause?: number): Promise<[ServerNode, Endpoint<AggregatorEndpoint>]>;
18
18
  export declare function stopServerNode(ticks?: number, microTurns?: number, pause?: number): Promise<void>;
19
19
  export declare function flushServerNode(ticks?: number, microTurns?: number, pause?: number): Promise<void>;
20
- export declare function addDevice(owner: ServerNode<ServerNode.RootEndpoint> | Endpoint<AggregatorEndpoint>, device: Endpoint, rounds?: number, pause?: number): Promise<boolean>;
21
- export declare function deleteDevice(owner: ServerNode<ServerNode.RootEndpoint> | Endpoint<AggregatorEndpoint>, device: Endpoint, rounds?: number, pause?: number): Promise<boolean>;
20
+ export declare function addDevice(owner: ServerNode | Endpoint<AggregatorEndpoint>, device: Endpoint, rounds?: number, pause?: number): Promise<boolean>;
21
+ export declare function deleteDevice(owner: ServerNode | Endpoint<AggregatorEndpoint>, device: Endpoint, rounds?: number, pause?: number): Promise<boolean>;
@@ -56,10 +56,10 @@ export function getPlatformMatterbridge() {
56
56
  matterbridgePluginDirectory: path.join(HOMEDIR, 'Matterbridge'),
57
57
  matterbridgeCertDirectory: path.join(HOMEDIR, '.mattercert'),
58
58
  globalModulesDirectory: path.join(HOMEDIR, 'node_modules'),
59
- matterbridgeVersion: '3.9.0',
60
- matterbridgeLatestVersion: '3.9.0',
61
- matterbridgeDevVersion: '3.9.0',
62
- frontendVersion: '3.9.0',
59
+ matterbridgeVersion: '3.9.1',
60
+ matterbridgeLatestVersion: '3.9.1',
61
+ matterbridgeDevVersion: '3.9.1',
62
+ frontendVersion: '3.9.1',
63
63
  bridgeMode: '',
64
64
  restartMode: '',
65
65
  virtualMode: 'mounted_switch',
@@ -25,7 +25,7 @@ export declare const updateAttributeMatterbridgeEndpointSpy: import("jest-mock")
25
25
  (cluster: import("@matter/types").ClusterId | string, attribute: string, value: boolean | number | bigint | string | object | null, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
26
26
  }>;
27
27
  export declare const subscribeAttributeMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<{
28
- <T extends import("@matter/node").Behavior.Type, A extends keyof import("@matter/node").Behavior.StateOf<T>>(cluster: T, attribute: A, listener: (newValue: import("@matter/node").Behavior.StateOf<T>[A], oldValue: import("@matter/node").Behavior.StateOf<T>[A], context: import("@matter/node").ActionContext) => void, log?: import("node-ansi-logger").AnsiLogger): MatterbridgeEndpoint;
28
+ <T extends import("@matter/node").Behavior.Type, A extends keyof import("@matter/node").Behavior.StateOf<T>>(cluster: T, attribute: A, listener: (newValue: InstanceType<T["State"]>[A], oldValue: InstanceType<T["State"]>[A], context: import("@matter/node").ActionContext) => void, log?: import("node-ansi-logger").AnsiLogger): MatterbridgeEndpoint;
29
29
  <T extends import("@matter/types").ClusterType, A extends keyof (T["Typing"] extends {
30
30
  Attributes: infer Attributes;
31
31
  } ? Attributes : {})>(cluster: T, attribute: A, listener: (newValue: (T["Typing"] extends {
@@ -52,4 +52,4 @@ export declare const triggerEventMatterbridgeEndpointSpy: import("jest-mock").Sp
52
52
  } ? Events : Record<string, never>)[E] : never, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
53
53
  (cluster: import("@matter/types").ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: import("node-ansi-logger").AnsiLogger): Promise<boolean>;
54
54
  }>;
55
- export declare const triggerSwitchEventMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<(event: "Single" | "Double" | "Long" | "Press" | "Release", log?: import("node-ansi-logger").AnsiLogger) => Promise<boolean>>;
55
+ export declare const triggerSwitchEventMatterbridgeEndpointSpy: import("jest-mock").SpiedFunction<(event: 'Single' | 'Double' | 'Long' | 'Press' | 'Release', log?: import("node-ansi-logger").AnsiLogger) => Promise<boolean>>;
@@ -1,4 +1,4 @@
1
- export declare const destroyMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
1
+ export declare const destroyMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig>;
2
2
  export declare const onStartMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(reason?: string) => Promise<void>>;
3
3
  export declare const onConfigureMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => Promise<void>>;
4
4
  export declare const onShutdownMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(reason?: string) => Promise<void>>;
@@ -9,7 +9,7 @@ export declare const saveConfigMatterbridgePlatformSpy: import("jest-mock").Spie
9
9
  export declare const getSchemaMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => Promise<import("../matterbridgePlatform.js").PlatformSchema | undefined>>;
10
10
  export declare const setSchemaMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(schema: import("../matterbridgePlatform.js").PlatformSchema) => void>;
11
11
  export declare const wssSendRestartRequiredMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(snackbar?: boolean, fixed?: boolean) => void>;
12
- export declare const wssSendSnackbarMessageMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(message: string, timeout?: number, severity?: "error" | "success" | "info" | "warning") => void>;
12
+ export declare const wssSendSnackbarMessageMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(message: string, timeout?: number, severity?: 'error' | 'success' | 'info' | 'warning') => void>;
13
13
  export declare const sizeMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => number>;
14
14
  export declare const getDevicesMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => import("../matterbridgeEndpoint.js").MatterbridgeEndpoint[]>;
15
15
  export declare const getDeviceByNameMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(deviceName: string) => import("../matterbridgeEndpoint.js").MatterbridgeEndpoint | undefined>;
@@ -20,11 +20,11 @@ export declare const getDeviceByOriginalIdMatterbridgePlatformSpy: import("jest-
20
20
  export declare const getDeviceByNumberMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(number: import("@matter/types").EndpointNumber | number) => import("../matterbridgeEndpoint.js").MatterbridgeEndpoint | undefined>;
21
21
  export declare const hasDeviceNameMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(deviceName: string) => boolean>;
22
22
  export declare const hasDeviceUniqueIdMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(deviceUniqueId: string) => boolean>;
23
- export declare const registerVirtualDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(name: string, type: "light" | "outlet" | "switch" | "mounted_switch", callback: () => Promise<void>) => Promise<boolean>>;
23
+ export declare const registerVirtualDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>) => Promise<boolean>>;
24
24
  export declare const registerDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
25
25
  export declare const unregisterDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
26
26
  export declare const unregisterAllDevicesMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(delay?: number) => Promise<void>>;
27
- export declare const saveSelectsMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
27
+ export declare const saveSelectsMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig>;
28
28
  export declare const clearSelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<() => Promise<void>>;
29
29
  export declare const clearDeviceSelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(serial: string) => Promise<void>>;
30
30
  export declare const clearEntitySelectMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(name: string) => Promise<void>>;
@@ -56,5 +56,5 @@ export declare const getSelectEntitiesMatterbridgePlatformSpy: import("jest-mock
56
56
  export declare const verifyMatterbridgeVersionMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(requiredVersion: string, destroy?: boolean) => boolean>;
57
57
  export declare const validateDeviceMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: string | string[], log?: boolean) => boolean>;
58
58
  export declare const validateEntityMatterbridgePlatformSpy: import("jest-mock").SpiedFunction<(device: string, entity: string, log?: boolean) => boolean>;
59
- export declare const clearEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
60
- export declare const checkEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig | import("../matterbridgePlatform.js").PlatformMatterbridge | import("node-persist-manager").NodeStorage>;
59
+ export declare const clearEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig>;
60
+ export declare const checkEndpointNumbersMatterbridgePlatformSpy: import("jest-mock").SpiedGetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig> | import("jest-mock").SpiedSetter<string | boolean | import("node-ansi-logger").AnsiLogger | import("node-persist-manager").NodeStorage | import("../matterbridgePlatform.js").PlatformMatterbridge | Promise<void> | import("../matterbridgePlatform.js").PlatformConfig>;
@@ -1,4 +1,4 @@
1
1
  export declare const addBridgedEndpointMatterbridgeSpy: import("jest-mock").SpiedFunction<(pluginName: string, device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
2
2
  export declare const removeBridgedEndpointMatterbridgeSpy: import("jest-mock").SpiedFunction<(pluginName: string, device: import("../matterbridgeEndpoint.js").MatterbridgeEndpoint) => Promise<void>>;
3
3
  export declare const removeAllBridgedEndpointsMatterbridgeSpy: import("jest-mock").SpiedFunction<(pluginName: string, delay?: number) => Promise<void>>;
4
- export declare const addVirtualEndpointMatterbridgeSpy: import("jest-mock").SpiedFunction<(pluginName: string, name: string, type: "light" | "outlet" | "switch" | "mounted_switch", callback: () => Promise<void>) => Promise<boolean>>;
4
+ export declare const addVirtualEndpointMatterbridgeSpy: import("jest-mock").SpiedFunction<(pluginName: string, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>) => Promise<boolean>>;
@@ -1,5 +1,5 @@
1
- import { Endpoint, ServerNode } from '@matter/node';
2
- import { AggregatorEndpoint } from '@matter/node/endpoints';
1
+ import { type Endpoint, type ServerNode } from '@matter/node';
2
+ import { type AggregatorEndpoint } from '@matter/node/endpoints';
3
3
  import type { DeviceManager } from '../deviceManager.js';
4
4
  import type { Frontend } from '../frontend.js';
5
5
  import { Matterbridge } from '../matterbridge.js';
@@ -12,7 +12,7 @@ export declare let devices: DeviceManager;
12
12
  export declare function startMatterbridge(bridgeMode?: 'bridge' | 'childbridge' | 'controller' | '', frontendPort?: number, matterPort?: number, passcode?: number, discriminator?: number, pluginSize?: number, devicesSize?: number): Promise<Matterbridge>;
13
13
  export declare function stopMatterbridge(cleanupPause?: number, destroyPause?: number, closeMdns?: boolean, closeRuntime?: boolean): Promise<void>;
14
14
  export declare function createMatterbridgeEnvironment(): Promise<Matterbridge>;
15
- export declare function startMatterbridgeEnvironment(port?: number, createOnly?: boolean): Promise<[ServerNode<ServerNode.RootEndpoint>, Endpoint<AggregatorEndpoint>]>;
15
+ export declare function startMatterbridgeEnvironment(port?: number, createOnly?: boolean): Promise<[ServerNode, Endpoint<AggregatorEndpoint>]>;
16
16
  export declare function addMatterbridgePlatform(platform: MatterbridgePlatform, name?: string): void;
17
17
  export declare function stopMatterbridgeEnvironment(createOnly?: boolean): Promise<void>;
18
18
  export declare function destroyMatterbridgeEnvironment(cleanupPause?: number, destroyPause?: number, closeMdns?: boolean, closeRuntime?: boolean): Promise<void>;
@@ -109,7 +109,7 @@ export async function createMatterbridgeEnvironment() {
109
109
  matterbridge = await Matterbridge.loadInstance(false);
110
110
  expect(matterbridge).toBeDefined();
111
111
  expect(matterbridge).toBeInstanceOf(Matterbridge);
112
- matterbridge.matterbridgeVersion = '3.9.0';
112
+ matterbridge.matterbridgeVersion = '3.9.1';
113
113
  matterbridge.bridgeMode = 'bridge';
114
114
  matterbridge.rootDirectory = path.join(HOMEDIR);
115
115
  matterbridge.homeDirectory = path.join(HOMEDIR);
@@ -1,2 +1,2 @@
1
- import { AnsiLogger } from 'node-ansi-logger';
1
+ import { type AnsiLogger } from 'node-ansi-logger';
2
2
  export declare function logKeepAlives(log?: AnsiLogger): number;
@@ -1,5 +1,5 @@
1
1
  import { ColorControl } from '@matter/types/clusters/color-control';
2
- import { LevelControl } from '@matter/types/clusters/level-control';
2
+ import { type LevelControl } from '@matter/types/clusters/level-control';
3
3
  export declare function getMoveToLevelRequest(level: number, transitionTime: number, executeIfOff: boolean): LevelControl.MoveToLevelRequest;
4
4
  export declare function getMoveToColorTemperatureRequest(colorTemperatureMireds: number, transitionTime: number, executeIfOff: boolean): ColorControl.MoveToColorTemperatureRequest;
5
5
  export declare function getMoveToHueRequest(hue: number, transitionTime: number, executeIfOff: boolean): ColorControl.MoveToHueRequest;
@@ -1,13 +1,13 @@
1
1
  import '@matter/nodejs';
2
2
  import EventEmitter from 'node:events';
3
- import { StorageContext, StorageManager, StorageService } from '@matter/general';
3
+ import { type StorageContext, type StorageManager, StorageService } from '@matter/general';
4
4
  import { Endpoint, ServerNode } from '@matter/node';
5
5
  import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
6
- import { DeviceCertification } from '@matter/protocol';
6
+ import { type DeviceCertification } from '@matter/protocol';
7
7
  import { DeviceTypeId, VendorId } from '@matter/types/datatype';
8
8
  import type { ApiMatter, MaybePromise, PlatformMatterbridge, SharedMatterbridge, SystemInformation } from '@matterbridge/types';
9
9
  import { AnsiLogger, LogLevel } from 'node-ansi-logger';
10
- import { NodeStorage, NodeStorageManager } from 'node-persist-manager';
10
+ import { type NodeStorage, NodeStorageManager } from 'node-persist-manager';
11
11
  import { DeviceManager } from './deviceManager.js';
12
12
  import { Frontend } from './frontend.js';
13
13
  import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
@@ -96,7 +96,7 @@ export declare class Matterbridge extends EventEmitter<MatterbridgeEvents> {
96
96
  discriminator: number | undefined;
97
97
  initialDiscriminator: number | undefined;
98
98
  certification: DeviceCertification.Configuration | undefined;
99
- serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
99
+ serverNode: ServerNode | undefined;
100
100
  aggregatorNode: Endpoint<AggregatorEndpoint> | undefined;
101
101
  aggregatorVendorId: VendorId;
102
102
  aggregatorVendorName: string;
@@ -105,7 +105,7 @@ export declare class Matterbridge extends EventEmitter<MatterbridgeEvents> {
105
105
  aggregatorDeviceType: DeviceTypeId;
106
106
  aggregatorSerialNumber: string | undefined;
107
107
  aggregatorUniqueId: string | undefined;
108
- controllerNode: ServerNode<ServerNode.RootEndpoint> | undefined;
108
+ controllerNode: ServerNode | undefined;
109
109
  controllerVendorId: VendorId;
110
110
  controllerVendorName: string;
111
111
  controllerProductId: number;
@@ -142,7 +142,7 @@ export declare class Matterbridge extends EventEmitter<MatterbridgeEvents> {
142
142
  private stopMatterStorage;
143
143
  private createServerNodeContext;
144
144
  private createServerNode;
145
- getServerNodeData(serverNode: ServerNode<ServerNode.RootEndpoint>): ApiMatter;
145
+ getServerNodeData(serverNode: ServerNode): ApiMatter;
146
146
  private startServerNode;
147
147
  private stopServerNode;
148
148
  private createAggregatorNode;