@matterbridge/core 3.7.2-dev-20260328-c77b608 → 3.7.2-dev-20260330-bb55c39

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 (76) hide show
  1. package/dist/behaviors/activatedCarbonFilterMonitoringServer.d.ts +8 -0
  2. package/dist/behaviors/activatedCarbonFilterMonitoringServer.js +20 -0
  3. package/dist/{matterbridgeBehaviorsClient.js → behaviors/bindingServer.js} +1 -1
  4. package/dist/behaviors/booleanStateConfigurationServer.d.ts +7 -0
  5. package/dist/behaviors/booleanStateConfigurationServer.js +18 -0
  6. package/dist/behaviors/colorControlServer.d.ts +788 -0
  7. package/dist/behaviors/colorControlServer.js +105 -0
  8. package/dist/behaviors/deviceEnergyManagementModeServer.d.ts +5 -0
  9. package/dist/behaviors/deviceEnergyManagementModeServer.js +42 -0
  10. package/dist/behaviors/deviceEnergyManagementServer.d.ts +306 -0
  11. package/dist/behaviors/deviceEnergyManagementServer.js +31 -0
  12. package/dist/behaviors/doorLockServer.d.ts +28 -0
  13. package/dist/behaviors/doorLockServer.js +97 -0
  14. package/dist/behaviors/export.d.ts +24 -1
  15. package/dist/behaviors/export.js +24 -1
  16. package/dist/behaviors/fanControlServer.d.ts +7 -0
  17. package/dist/behaviors/fanControlServer.js +35 -0
  18. package/dist/behaviors/hepaFilterMonitoringServer.d.ts +8 -0
  19. package/dist/behaviors/hepaFilterMonitoringServer.js +20 -0
  20. package/dist/behaviors/identifyServer.d.ts +6 -0
  21. package/dist/behaviors/identifyServer.js +32 -0
  22. package/dist/behaviors/levelControlServer.d.ts +6 -0
  23. package/dist/behaviors/levelControlServer.js +32 -0
  24. package/dist/behaviors/matterbridgeServer.d.ts +14 -0
  25. package/dist/behaviors/matterbridgeServer.js +15 -0
  26. package/dist/behaviors/modeSelectServer.d.ts +5 -0
  27. package/dist/behaviors/modeSelectServer.js +18 -0
  28. package/dist/behaviors/onOffServer.d.ts +6 -0
  29. package/dist/behaviors/onOffServer.js +46 -0
  30. package/dist/behaviors/operationalStateServer.d.ts +10 -0
  31. package/dist/behaviors/operationalStateServer.js +84 -0
  32. package/dist/behaviors/pinDoorLockServer.d.ts +32 -0
  33. package/dist/behaviors/pinDoorLockServer.js +168 -0
  34. package/dist/behaviors/powerSourceServer.d.ts +4 -0
  35. package/dist/behaviors/powerSourceServer.js +21 -0
  36. package/dist/behaviors/serviceAreaServer.d.ts +5 -0
  37. package/dist/behaviors/serviceAreaServer.js +18 -0
  38. package/dist/behaviors/smokeCoAlarmServer.d.ts +83 -0
  39. package/dist/behaviors/smokeCoAlarmServer.js +18 -0
  40. package/dist/behaviors/switchServer.d.ts +4 -0
  41. package/dist/behaviors/switchServer.js +8 -0
  42. package/dist/behaviors/thermostatServer.d.ts +732 -0
  43. package/dist/behaviors/thermostatServer.js +50 -0
  44. package/dist/behaviors/userPinDoorLockServer.d.ts +57 -0
  45. package/dist/behaviors/userPinDoorLockServer.js +348 -0
  46. package/dist/behaviors/valveConfigurationAndControlServer.d.ts +8 -0
  47. package/dist/behaviors/valveConfigurationAndControlServer.js +44 -0
  48. package/dist/behaviors/windowCoveringServer.d.ts +583 -0
  49. package/dist/behaviors/windowCoveringServer.js +96 -0
  50. package/dist/devices/basicVideoPlayer.js +2 -1
  51. package/dist/devices/castingVideoPlayer.js +1 -1
  52. package/dist/devices/closure.js +1 -1
  53. package/dist/devices/closurePanel.js +1 -1
  54. package/dist/devices/dishwasher.js +2 -1
  55. package/dist/devices/evse.js +1 -1
  56. package/dist/devices/laundryWasher.js +2 -1
  57. package/dist/devices/microwaveOven.js +2 -1
  58. package/dist/devices/oven.js +1 -1
  59. package/dist/devices/refrigerator.js +1 -1
  60. package/dist/devices/roboticVacuumCleaner.js +2 -1
  61. package/dist/devices/temperatureControl.js +1 -1
  62. package/dist/devices/waterHeater.js +1 -1
  63. package/dist/export.d.ts +24 -1
  64. package/dist/export.js +24 -1
  65. package/dist/frontend.js +2 -0
  66. package/dist/matterbridge.d.ts +1 -0
  67. package/dist/matterbridge.js +11 -0
  68. package/dist/matterbridgeEndpoint.d.ts +12 -1
  69. package/dist/matterbridgeEndpoint.js +22 -1
  70. package/dist/matterbridgeEndpointCommandHandler.d.ts +5 -1
  71. package/dist/matterbridgeEndpointHelpers.d.ts +5 -1
  72. package/dist/matterbridgeEndpointHelpers.js +24 -1
  73. package/package.json +9 -5
  74. package/dist/matterbridgeBehaviorsServer.d.ts +0 -2687
  75. package/dist/matterbridgeBehaviorsServer.js +0 -1222
  76. /package/dist/{matterbridgeBehaviorsClient.d.ts → behaviors/bindingServer.d.ts} +0 -0
@@ -0,0 +1,96 @@
1
+ import { WindowCoveringServer } from '@matter/node/behaviors/window-covering';
2
+ import { WindowCovering } from '@matter/types/clusters/window-covering';
3
+ import { MatterbridgeServer } from './matterbridgeServer.js';
4
+ export class MatterbridgeWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
5
+ lookupMovementStatus = ['Stopped', 'Opening', 'Closing', 'Unknown'];
6
+ getMovementStatusLabel(status) {
7
+ return this.lookupMovementStatus[status ?? 3];
8
+ }
9
+ async initialize() {
10
+ const device = this.endpoint.stateOf(MatterbridgeServer);
11
+ device.log.info(`Initializing MatterbridgeWindowCoveringServer (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
12
+ this.internal.disableOperationalModeHandling = true;
13
+ await super.initialize();
14
+ }
15
+ async upOrOpen() {
16
+ const device = this.endpoint.stateOf(MatterbridgeServer);
17
+ device.log.info(`Opening cover (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
18
+ await device.commandHandler.executeHandler('WindowCovering.upOrOpen', {
19
+ command: 'upOrOpen',
20
+ request: {},
21
+ cluster: WindowCoveringServer.id,
22
+ attributes: this.state,
23
+ endpoint: this.endpoint,
24
+ context: this.context,
25
+ });
26
+ device.log.debug(`MatterbridgeWindowCoveringServer: upOrOpen called`);
27
+ await super.upOrOpen();
28
+ device.log.debug(`MatterbridgeWindowCoveringServer: upOrOpen result target ${this.state.targetPositionLiftPercent100ths} current ${this.state.currentPositionLiftPercent100ths} status global ${this.getMovementStatusLabel(this.state.operationalStatus.global)} lift ${this.getMovementStatusLabel(this.state.operationalStatus.lift)} tilt ${this.getMovementStatusLabel(this.state.operationalStatus.tilt)}`);
29
+ }
30
+ async downOrClose() {
31
+ const device = this.endpoint.stateOf(MatterbridgeServer);
32
+ device.log.info(`Closing cover (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
33
+ await device.commandHandler.executeHandler('WindowCovering.downOrClose', {
34
+ command: 'downOrClose',
35
+ request: {},
36
+ cluster: WindowCoveringServer.id,
37
+ attributes: this.state,
38
+ endpoint: this.endpoint,
39
+ context: this.context,
40
+ });
41
+ device.log.debug(`MatterbridgeWindowCoveringServer: downOrClose called`);
42
+ await super.downOrClose();
43
+ device.log.debug(`MatterbridgeWindowCoveringServer: downOrClose result target ${this.state.targetPositionLiftPercent100ths} current ${this.state.currentPositionLiftPercent100ths} status global ${this.getMovementStatusLabel(this.state.operationalStatus.global)} lift ${this.getMovementStatusLabel(this.state.operationalStatus.lift)} tilt ${this.getMovementStatusLabel(this.state.operationalStatus.tilt)}`);
44
+ }
45
+ async stopMotion() {
46
+ const device = this.endpoint.stateOf(MatterbridgeServer);
47
+ device.log.info(`Stopping cover (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
48
+ await device.commandHandler.executeHandler('WindowCovering.stopMotion', {
49
+ command: 'stopMotion',
50
+ request: {},
51
+ cluster: WindowCoveringServer.id,
52
+ attributes: this.state,
53
+ endpoint: this.endpoint,
54
+ context: this.context,
55
+ });
56
+ device.log.debug(`MatterbridgeWindowCoveringServer: stopMotion called`);
57
+ await super.stopMotion();
58
+ device.log.debug(`MatterbridgeWindowCoveringServer: stopMotion result target ${this.state.targetPositionLiftPercent100ths} current ${this.state.currentPositionLiftPercent100ths} status global ${this.getMovementStatusLabel(this.state.operationalStatus.global)} lift ${this.getMovementStatusLabel(this.state.operationalStatus.lift)} tilt ${this.getMovementStatusLabel(this.state.operationalStatus.tilt)}`);
59
+ }
60
+ async goToLiftPercentage(request) {
61
+ const device = this.endpoint.stateOf(MatterbridgeServer);
62
+ device.log.info(`Setting cover lift percentage to ${request.liftPercent100thsValue} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
63
+ await device.commandHandler.executeHandler('WindowCovering.goToLiftPercentage', {
64
+ command: 'goToLiftPercentage',
65
+ request,
66
+ cluster: WindowCoveringServer.id,
67
+ attributes: this.state,
68
+ endpoint: this.endpoint,
69
+ context: this.context,
70
+ });
71
+ device.log.debug(`MatterbridgeWindowCoveringServer: goToLiftPercentage with ${request.liftPercent100thsValue}`);
72
+ await super.goToLiftPercentage(request);
73
+ device.log.debug(`MatterbridgeWindowCoveringServer: goToLiftPercentage result target ${this.state.targetPositionLiftPercent100ths} current ${this.state.currentPositionLiftPercent100ths} status global ${this.getMovementStatusLabel(this.state.operationalStatus.global)} lift ${this.getMovementStatusLabel(this.state.operationalStatus.lift)} tilt ${this.getMovementStatusLabel(this.state.operationalStatus.tilt)}`);
74
+ }
75
+ async goToTiltPercentage(request) {
76
+ const device = this.endpoint.stateOf(MatterbridgeServer);
77
+ device.log.info(`Setting cover tilt percentage to ${request.tiltPercent100thsValue} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
78
+ await device.commandHandler.executeHandler('WindowCovering.goToTiltPercentage', {
79
+ command: 'goToTiltPercentage',
80
+ request,
81
+ cluster: WindowCoveringServer.id,
82
+ attributes: this.state,
83
+ endpoint: this.endpoint,
84
+ context: this.context,
85
+ });
86
+ device.log.debug(`MatterbridgeWindowCoveringServer: goToTiltPercentage with ${request.tiltPercent100thsValue}`);
87
+ await super.goToTiltPercentage(request);
88
+ device.log.debug(`MatterbridgeWindowCoveringServer: goToTiltPercentage result target ${this.state.targetPositionTiltPercent100ths} current ${this.state.currentPositionTiltPercent100ths} status global ${this.getMovementStatusLabel(this.state.operationalStatus.global)} lift ${this.getMovementStatusLabel(this.state.operationalStatus.lift)} tilt ${this.getMovementStatusLabel(this.state.operationalStatus.tilt)}`);
89
+ }
90
+ async handleMovement() {
91
+ }
92
+ }
93
+ export class MatterbridgeLiftWindowCoveringServer extends MatterbridgeWindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift) {
94
+ }
95
+ export class MatterbridgeLiftTiltWindowCoveringServer extends MatterbridgeWindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
96
+ }
@@ -2,7 +2,8 @@ import { KeypadInputServer } from '@matter/node/behaviors/keypad-input';
2
2
  import { MediaPlaybackServer } from '@matter/node/behaviors/media-playback';
3
3
  import { KeypadInput } from '@matter/types/clusters/keypad-input';
4
4
  import { MediaPlayback } from '@matter/types/clusters/media-playback';
5
- import { MatterbridgeOnOffServer, MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
5
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
6
+ import { MatterbridgeOnOffServer } from '../behaviors/onOffServer.js';
6
7
  import { basicVideoPlayer, powerSource } from '../matterbridgeDeviceTypes.js';
7
8
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
8
9
  export class BasicVideoPlayer extends MatterbridgeEndpoint {
@@ -1,6 +1,6 @@
1
1
  import { ContentLauncherServer } from '@matter/node/behaviors/content-launcher';
2
2
  import { MediaPlayback } from '@matter/types/clusters/media-playback';
3
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
3
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
4
4
  import { castingVideoPlayer, powerSource } from '../matterbridgeDeviceTypes.js';
5
5
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
6
6
  import { MatterbridgeKeypadInputServer, MatterbridgeMediaPlaybackServer } from './basicVideoPlayer.js';
@@ -1,8 +1,8 @@
1
1
  import { AttributeElement, ClusterElement, ClusterModel, CommandElement, DatatypeElement, EventElement, FieldElement } from '@matter/main/model';
2
2
  import { ClusterBehavior } from '@matter/node';
3
3
  import { ClusterType } from '@matter/types';
4
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
4
5
  import { ClosureControl } from '../clusters/closure-control.js';
5
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
6
6
  import { closure } from '../matterbridgeDeviceTypes.js';
7
7
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
8
8
  const ClosureControlSchema = ClusterElement({
@@ -1,8 +1,8 @@
1
1
  import { AttributeElement, ClusterElement, ClusterModel, CommandElement, DatatypeElement, FieldElement } from '@matter/main/model';
2
2
  import { ClusterBehavior } from '@matter/node';
3
3
  import { ClusterType } from '@matter/types';
4
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
4
5
  import { ClosureDimension } from '../clusters/closure-dimension.js';
5
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
6
6
  import { closurePanel } from '../matterbridgeDeviceTypes.js';
7
7
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
8
8
  const ClosureDimensionSchema = ClusterElement({
@@ -2,7 +2,8 @@ import { DishwasherAlarmServer } from '@matter/node/behaviors/dishwasher-alarm';
2
2
  import { DishwasherModeServer } from '@matter/node/behaviors/dishwasher-mode';
3
3
  import { DishwasherMode } from '@matter/types/clusters/dishwasher-mode';
4
4
  import { ModeBase } from '@matter/types/clusters/mode-base';
5
- import { MatterbridgeOnOffServer, MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
5
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
6
+ import { MatterbridgeOnOffServer } from '../behaviors/onOffServer.js';
6
7
  import { dishwasher, powerSource } from '../matterbridgeDeviceTypes.js';
7
8
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
8
9
  import { createLevelTemperatureControlClusterServer, createNumberTemperatureControlClusterServer } from './temperatureControl.js';
@@ -4,7 +4,7 @@ import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-man
4
4
  import { EnergyEvse } from '@matter/types/clusters/energy-evse';
5
5
  import { EnergyEvseMode } from '@matter/types/clusters/energy-evse-mode';
6
6
  import { ModeBase } from '@matter/types/clusters/mode-base';
7
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
7
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
8
8
  import { deviceEnergyManagement, electricalSensor, evse, powerSource } from '../matterbridgeDeviceTypes.js';
9
9
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
10
10
  export class Evse extends MatterbridgeEndpoint {
@@ -3,7 +3,8 @@ import { LaundryWasherModeServer } from '@matter/node/behaviors/laundry-washer-m
3
3
  import { LaundryWasherControls } from '@matter/types/clusters/laundry-washer-controls';
4
4
  import { LaundryWasherMode } from '@matter/types/clusters/laundry-washer-mode';
5
5
  import { ModeBase } from '@matter/types/clusters/mode-base';
6
- import { MatterbridgeOnOffServer, MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
6
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
7
+ import { MatterbridgeOnOffServer } from '../behaviors/onOffServer.js';
7
8
  import { laundryWasher, powerSource } from '../matterbridgeDeviceTypes.js';
8
9
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
9
10
  import { createLevelTemperatureControlClusterServer, createNumberTemperatureControlClusterServer } from './temperatureControl.js';
@@ -3,7 +3,8 @@ import { MicrowaveOvenModeServer } from '@matter/node/behaviors/microwave-oven-m
3
3
  import { MicrowaveOvenControl } from '@matter/types/clusters/microwave-oven-control';
4
4
  import { MicrowaveOvenMode } from '@matter/types/clusters/microwave-oven-mode';
5
5
  import { OperationalState } from '@matter/types/clusters/operational-state';
6
- import { MatterbridgeOperationalStateServer, MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
6
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
7
+ import { MatterbridgeOperationalStateServer } from '../behaviors/operationalStateServer.js';
7
8
  import { microwaveOven, powerSource } from '../matterbridgeDeviceTypes.js';
8
9
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
9
10
  export class MicrowaveOven extends MatterbridgeEndpoint {
@@ -3,7 +3,7 @@ import { OvenModeServer } from '@matter/node/behaviors/oven-mode';
3
3
  import { ModeBase } from '@matter/types/clusters/mode-base';
4
4
  import { OperationalState } from '@matter/types/clusters/operational-state';
5
5
  import { OvenMode } from '@matter/types/clusters/oven-mode';
6
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
6
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
7
7
  import { oven, powerSource, temperatureControlledCabinetHeater } from '../matterbridgeDeviceTypes.js';
8
8
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
9
9
  import { createNumberTemperatureControlClusterServer } from './temperatureControl.js';
@@ -2,7 +2,7 @@ import { RefrigeratorAlarmServer } from '@matter/node/behaviors/refrigerator-ala
2
2
  import { RefrigeratorAndTemperatureControlledCabinetModeServer } from '@matter/node/behaviors/refrigerator-and-temperature-controlled-cabinet-mode';
3
3
  import { ModeBase } from '@matter/types/clusters/mode-base';
4
4
  import { RefrigeratorAndTemperatureControlledCabinetMode } from '@matter/types/clusters/refrigerator-and-temperature-controlled-cabinet-mode';
5
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
5
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
6
6
  import { powerSource, refrigerator, temperatureControlledCabinetCooler } from '../matterbridgeDeviceTypes.js';
7
7
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
8
8
  import { createNumberTemperatureControlClusterServer } from './temperatureControl.js';
@@ -9,7 +9,8 @@ import { RvcCleanMode } from '@matter/types/clusters/rvc-clean-mode';
9
9
  import { RvcOperationalState } from '@matter/types/clusters/rvc-operational-state';
10
10
  import { RvcRunMode } from '@matter/types/clusters/rvc-run-mode';
11
11
  import { ServiceArea } from '@matter/types/clusters/service-area';
12
- import { MatterbridgeServer, MatterbridgeServiceAreaServer } from '../matterbridgeBehaviorsServer.js';
12
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
13
+ import { MatterbridgeServiceAreaServer } from '../behaviors/serviceAreaServer.js';
13
14
  import { powerSource, roboticVacuumCleaner } from '../matterbridgeDeviceTypes.js';
14
15
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
15
16
  export class RoboticVacuumCleaner extends MatterbridgeEndpoint {
@@ -1,6 +1,6 @@
1
1
  import { TemperatureControlServer } from '@matter/node/behaviors/temperature-control';
2
2
  import { TemperatureControl } from '@matter/types/clusters/temperature-control';
3
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
3
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
4
4
  export function createLevelTemperatureControlClusterServer(endpoint, selectedTemperatureLevel = 1, supportedTemperatureLevels = ['Cold', 'Warm', 'Hot', '30°', '40°', '60°', '80°']) {
5
5
  endpoint.behaviors.require(MatterbridgeLevelTemperatureControlServer.with(TemperatureControl.Feature.TemperatureLevel), {
6
6
  selectedTemperatureLevel,
@@ -4,7 +4,7 @@ import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-man
4
4
  import { ModeBase } from '@matter/types/clusters/mode-base';
5
5
  import { WaterHeaterManagement } from '@matter/types/clusters/water-heater-management';
6
6
  import { WaterHeaterMode } from '@matter/types/clusters/water-heater-mode';
7
- import { MatterbridgeServer } from '../matterbridgeBehaviorsServer.js';
7
+ import { MatterbridgeServer } from '../behaviors/matterbridgeServer.js';
8
8
  import { deviceEnergyManagement, electricalSensor, powerSource, waterHeater } from '../matterbridgeDeviceTypes.js';
9
9
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
10
10
  export class WaterHeater extends MatterbridgeEndpoint {
package/dist/export.d.ts CHANGED
@@ -1,6 +1,29 @@
1
+ export * from './behaviors/activatedCarbonFilterMonitoringServer.js';
2
+ export * from './behaviors/bindingServer.js';
3
+ export * from './behaviors/booleanStateConfigurationServer.js';
4
+ export * from './behaviors/colorControlServer.js';
5
+ export * from './behaviors/deviceEnergyManagementModeServer.js';
6
+ export * from './behaviors/deviceEnergyManagementServer.js';
7
+ export * from './behaviors/doorLockServer.js';
8
+ export * from './behaviors/fanControlServer.js';
9
+ export * from './behaviors/hepaFilterMonitoringServer.js';
10
+ export * from './behaviors/identifyServer.js';
11
+ export * from './behaviors/levelControlServer.js';
12
+ export * from './behaviors/matterbridgeServer.js';
13
+ export * from './behaviors/modeSelectServer.js';
14
+ export * from './behaviors/onOffServer.js';
15
+ export * from './behaviors/operationalStateServer.js';
16
+ export * from './behaviors/pinDoorLockServer.js';
17
+ export * from './behaviors/powerSourceServer.js';
18
+ export * from './behaviors/serviceAreaServer.js';
19
+ export * from './behaviors/smokeCoAlarmServer.js';
20
+ export * from './behaviors/switchServer.js';
21
+ export * from './behaviors/thermostatServer.js';
22
+ export * from './behaviors/userPinDoorLockServer.js';
23
+ export * from './behaviors/valveConfigurationAndControlServer.js';
24
+ export * from './behaviors/windowCoveringServer.js';
1
25
  export { addVirtualDevice } from './helpers.js';
2
26
  export * from './matterbridgeAccessoryPlatform.js';
3
- export * from './matterbridgeBehaviorsServer.js';
4
27
  export * from './matterbridgeDeviceTypes.js';
5
28
  export * from './matterbridgeDynamicPlatform.js';
6
29
  export * from './matterbridgeEndpoint.js';
package/dist/export.js CHANGED
@@ -1,8 +1,31 @@
1
1
  if (process.argv.includes('--loader') || process.argv.includes('-loader'))
2
2
  console.log('\u001B[32mIndex loaded.\u001B[40;0m');
3
+ export * from './behaviors/activatedCarbonFilterMonitoringServer.js';
4
+ export * from './behaviors/bindingServer.js';
5
+ export * from './behaviors/booleanStateConfigurationServer.js';
6
+ export * from './behaviors/colorControlServer.js';
7
+ export * from './behaviors/deviceEnergyManagementModeServer.js';
8
+ export * from './behaviors/deviceEnergyManagementServer.js';
9
+ export * from './behaviors/doorLockServer.js';
10
+ export * from './behaviors/fanControlServer.js';
11
+ export * from './behaviors/hepaFilterMonitoringServer.js';
12
+ export * from './behaviors/identifyServer.js';
13
+ export * from './behaviors/levelControlServer.js';
14
+ export * from './behaviors/matterbridgeServer.js';
15
+ export * from './behaviors/modeSelectServer.js';
16
+ export * from './behaviors/onOffServer.js';
17
+ export * from './behaviors/operationalStateServer.js';
18
+ export * from './behaviors/pinDoorLockServer.js';
19
+ export * from './behaviors/powerSourceServer.js';
20
+ export * from './behaviors/serviceAreaServer.js';
21
+ export * from './behaviors/smokeCoAlarmServer.js';
22
+ export * from './behaviors/switchServer.js';
23
+ export * from './behaviors/thermostatServer.js';
24
+ export * from './behaviors/userPinDoorLockServer.js';
25
+ export * from './behaviors/valveConfigurationAndControlServer.js';
26
+ export * from './behaviors/windowCoveringServer.js';
3
27
  export { addVirtualDevice } from './helpers.js';
4
28
  export * from './matterbridgeAccessoryPlatform.js';
5
- export * from './matterbridgeBehaviorsServer.js';
6
29
  export * from './matterbridgeDeviceTypes.js';
7
30
  export * from './matterbridgeDynamicPlatform.js';
8
31
  export * from './matterbridgeEndpoint.js';
package/dist/frontend.js CHANGED
@@ -863,6 +863,7 @@ export class Frontend extends EventEmitter {
863
863
  matterbridgeLatestVersion: this.matterbridge.matterbridgeLatestVersion,
864
864
  matterbridgeDevVersion: this.matterbridge.matterbridgeDevVersion,
865
865
  frontendVersion: this.matterbridge.frontendVersion,
866
+ dockerDev: undefined,
866
867
  dockerVersion: undefined,
867
868
  dockerLatestVersion: undefined,
868
869
  dockerDevVersion: undefined,
@@ -1445,6 +1446,7 @@ export class Frontend extends EventEmitter {
1445
1446
  }
1446
1447
  else if (data.method === '/api/checkupdates') {
1447
1448
  this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'CheckUpdates' } });
1449
+ this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'DockerVersion' } });
1448
1450
  sendResponse({ id: data.id, method: data.method, src: 'Matterbridge', dst: data.src, success: true });
1449
1451
  }
1450
1452
  else if (data.method === '/api/shellysysupdate') {
@@ -45,6 +45,7 @@ export declare class Matterbridge extends EventEmitter<MatterbridgeEvents> {
45
45
  matterbridgeLatestVersion: string;
46
46
  matterbridgeDevVersion: string;
47
47
  frontendVersion: string;
48
+ dockerDev: boolean | undefined;
48
49
  dockerVersion: string | undefined;
49
50
  dockerLatestVersion: string | undefined;
50
51
  dockerDevVersion: string | undefined;
@@ -66,6 +66,7 @@ export class Matterbridge extends EventEmitter {
66
66
  matterbridgeLatestVersion = '';
67
67
  matterbridgeDevVersion = '';
68
68
  frontendVersion = '';
69
+ dockerDev;
69
70
  dockerVersion;
70
71
  dockerLatestVersion;
71
72
  dockerDevVersion;
@@ -188,6 +189,7 @@ export class Matterbridge extends EventEmitter {
188
189
  matterbridgeLatestVersion: this.matterbridgeLatestVersion,
189
190
  matterbridgeDevVersion: this.matterbridgeDevVersion,
190
191
  frontendVersion: this.frontendVersion,
192
+ dockerDev: this.dockerDev,
191
193
  dockerVersion: this.dockerVersion,
192
194
  dockerLatestVersion: this.dockerLatestVersion,
193
195
  dockerDevVersion: this.dockerDevVersion,
@@ -231,6 +233,13 @@ export class Matterbridge extends EventEmitter {
231
233
  await this.nodeContext?.set('matterbridgeDevVersion', msg.params.version);
232
234
  this.server.respond({ ...msg, result: { success: true } });
233
235
  break;
236
+ case 'matterbridge_docker_version':
237
+ this.dockerVersion = msg.params.dockerVersion;
238
+ this.dockerDev = msg.params.dockerDev;
239
+ this.dockerDevVersion = msg.params.dockerDevVersion;
240
+ this.dockerLatestVersion = msg.params.dockerLatestVersion;
241
+ this.server.respond({ ...msg, result: { success: true } });
242
+ break;
234
243
  case 'matterbridge_global_prefix':
235
244
  this.globalModulesDirectory = msg.params.prefix;
236
245
  await this.nodeContext?.set('globalModulesDirectory', msg.params.prefix);
@@ -785,10 +794,12 @@ export class Matterbridge extends EventEmitter {
785
794
  clearTimeout(this.checkUpdateTimeout);
786
795
  this.checkUpdateTimeout = setTimeout(() => {
787
796
  this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'CheckUpdates' } });
797
+ this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'DockerVersion' } });
788
798
  }, 300 * 1000).unref();
789
799
  clearInterval(this.checkUpdateInterval);
790
800
  this.checkUpdateInterval = setInterval(() => {
791
801
  this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'CheckUpdates' } });
802
+ this.server.request({ type: 'manager_run', src: 'matterbridge', dst: 'manager', params: { name: 'DockerVersion' } });
792
803
  }, 12 * 60 * 60 * 1000).unref();
793
804
  if (hasParameter('test')) {
794
805
  this.bridgeMode = 'bridge';
@@ -29,6 +29,15 @@ import { MatterbridgeEndpointOptions, SerializedMatterbridgeEndpoint } from './m
29
29
  type BehaviorCommandName<T extends Behavior.Type> = {
30
30
  [K in keyof CommandsOfBehavior<T>]: K;
31
31
  }[keyof CommandsOfBehavior<T>] & string;
32
+ type BehaviorCluster<T extends Behavior.Type> = T extends {
33
+ cluster: infer C extends ClusterType;
34
+ } ? C : ClusterType.Unknown;
35
+ type ClusterEventName<T extends ClusterType> = keyof ClusterType.EventsOf<T> & string;
36
+ type ClusterEventPayload<T extends ClusterType, E extends string> = E extends keyof ClusterType.EventsOf<T> ? ClusterType.EventsOf<T>[E] extends {
37
+ schema: infer S extends import('@matter/types/tlv').TlvSchema<unknown>;
38
+ } ? import('@matter/types/tlv').TypeFromSchema<S> : never : never;
39
+ type BehaviorEventName<T extends Behavior.Type> = ClusterEventName<BehaviorCluster<T>>;
40
+ type BehaviorEventPayload<T extends Behavior.Type, E extends string> = ClusterEventPayload<BehaviorCluster<T>, E>;
32
41
  type CommandsOfBehavior<T extends Behavior.Type> = {
33
42
  [K in keyof InstanceType<T> as InstanceType<T>[K] extends (...args: infer _P) => infer _R ? K : never]: InstanceType<T>[K] extends (...args: infer P) => infer R ? (input: P[0], context?: ActionContext) => Promise<Awaited<R>> : never;
34
43
  };
@@ -84,7 +93,9 @@ export declare class MatterbridgeEndpoint extends Endpoint {
84
93
  getCluster<T extends Behavior.Type>(cluster: T, log?: AnsiLogger): Behavior.StateOf<T> | undefined;
85
94
  getCluster<T extends ClusterType>(cluster: T, log?: AnsiLogger): ClusterType.AttributeValues<T> | undefined;
86
95
  getCluster(cluster: ClusterId | string, log?: AnsiLogger): Record<string, boolean | number | bigint | string | object | undefined | null> | undefined;
87
- triggerEvent(cluster: Behavior.Type | ClusterType | ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: AnsiLogger): Promise<boolean>;
96
+ triggerEvent<T extends Behavior.Type, E extends BehaviorEventName<T>>(cluster: T, event: E, payload: BehaviorEventPayload<T, E>, log?: AnsiLogger): Promise<boolean>;
97
+ triggerEvent<T extends ClusterType, E extends ClusterEventName<T>>(cluster: T, event: E, payload: ClusterEventPayload<T, E>, log?: AnsiLogger): Promise<boolean>;
98
+ triggerEvent(cluster: ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: AnsiLogger): Promise<boolean>;
88
99
  addClusterServers(serverList: ClusterId[]): this;
89
100
  addFixedLabel(label: string, value: string): Promise<this>;
90
101
  addUserLabel(label: string, value: string): Promise<this>;
@@ -62,7 +62,28 @@ import { VendorId } from '@matter/types/datatype';
62
62
  import { inspectError } from '@matterbridge/utils/error';
63
63
  import { isValidNumber, isValidObject, isValidString } from '@matterbridge/utils/validate';
64
64
  import { AnsiLogger, CYAN, db, debugStringify, hk, or, YELLOW, zb } from 'node-ansi-logger';
65
- import { MatterbridgeActivatedCarbonFilterMonitoringServer, MatterbridgeBooleanStateConfigurationServer, MatterbridgeColorControlServer, MatterbridgeDeviceEnergyManagementModeServer, MatterbridgeDeviceEnergyManagementServer, MatterbridgeDoorLockServer, MatterbridgeFanControlServer, MatterbridgeHepaFilterMonitoringServer, MatterbridgeIdentifyServer, MatterbridgeLevelControlServer, MatterbridgeModeSelectServer, MatterbridgeOnOffServer, MatterbridgeOperationalStateServer, MatterbridgePinDoorLockServer, MatterbridgePowerSourceServer, MatterbridgeServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeSwitchServer, MatterbridgeThermostatServer, MatterbridgeUserPinDoorLockServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeWindowCoveringServer, } from './matterbridgeBehaviorsServer.js';
65
+ import { MatterbridgeActivatedCarbonFilterMonitoringServer } from './behaviors/activatedCarbonFilterMonitoringServer.js';
66
+ import { MatterbridgeBooleanStateConfigurationServer } from './behaviors/booleanStateConfigurationServer.js';
67
+ import { MatterbridgeColorControlServer } from './behaviors/colorControlServer.js';
68
+ import { MatterbridgeDeviceEnergyManagementModeServer } from './behaviors/deviceEnergyManagementModeServer.js';
69
+ import { MatterbridgeDeviceEnergyManagementServer } from './behaviors/deviceEnergyManagementServer.js';
70
+ import { MatterbridgeDoorLockServer } from './behaviors/doorLockServer.js';
71
+ import { MatterbridgeFanControlServer } from './behaviors/fanControlServer.js';
72
+ import { MatterbridgeHepaFilterMonitoringServer } from './behaviors/hepaFilterMonitoringServer.js';
73
+ import { MatterbridgeIdentifyServer } from './behaviors/identifyServer.js';
74
+ import { MatterbridgeLevelControlServer } from './behaviors/levelControlServer.js';
75
+ import { MatterbridgeServer } from './behaviors/matterbridgeServer.js';
76
+ import { MatterbridgeModeSelectServer } from './behaviors/modeSelectServer.js';
77
+ import { MatterbridgeOnOffServer } from './behaviors/onOffServer.js';
78
+ import { MatterbridgeOperationalStateServer } from './behaviors/operationalStateServer.js';
79
+ import { MatterbridgePinDoorLockServer } from './behaviors/pinDoorLockServer.js';
80
+ import { MatterbridgePowerSourceServer } from './behaviors/powerSourceServer.js';
81
+ import { MatterbridgeSmokeCoAlarmServer } from './behaviors/smokeCoAlarmServer.js';
82
+ import { MatterbridgeSwitchServer } from './behaviors/switchServer.js';
83
+ import { MatterbridgeThermostatServer } from './behaviors/thermostatServer.js';
84
+ import { MatterbridgeUserPinDoorLockServer } from './behaviors/userPinDoorLockServer.js';
85
+ import { MatterbridgeValveConfigurationAndControlServer } from './behaviors/valveConfigurationAndControlServer.js';
86
+ import { MatterbridgeWindowCoveringServer } from './behaviors/windowCoveringServer.js';
66
87
  import { CommandHandler } from './matterbridgeEndpointCommandHandler.js';
67
88
  import { addClusterServers, addFixedLabel, addOptionalClusterServers, addRequiredClusterServers, addUserLabel, checkNotLatinCharacters, createUniqueId, featuresFor, generateUniqueId, getApparentElectricalPowerMeasurementClusterServer, getAttribute, getAttributeId, getBehavior, getBehaviourTypesFromClusterClientIds, getBehaviourTypesFromClusterServerIds, getCluster, getClusterId, getDefaultDeviceEnergyManagementClusterServer, getDefaultDeviceEnergyManagementModeClusterServer, getDefaultElectricalEnergyMeasurementClusterServer, getDefaultElectricalPowerMeasurementClusterServer, getDefaultFlowMeasurementClusterServer, getDefaultIlluminanceMeasurementClusterServer, getDefaultOccupancySensingClusterServer, getDefaultOperationalStateClusterServer, getDefaultPowerSourceBatteryClusterServer, getDefaultPowerSourceRechargeableBatteryClusterServer, getDefaultPowerSourceReplaceableBatteryClusterServer, getDefaultPowerSourceWiredClusterServer, getDefaultPressureMeasurementClusterServer, getDefaultRelativeHumidityMeasurementClusterServer, getDefaultTemperatureMeasurementClusterServer, invokeBehaviorCommand, lowercaseFirstLetter, setAttribute, setCluster, subscribeAttribute, triggerEvent, updateAttribute, } from './matterbridgeEndpointHelpers.js';
68
89
  const MATTERBRIDGE_ENDPOINT_BRAND = Symbol('MatterbridgeEndpoint.brand');
@@ -1,4 +1,5 @@
1
1
  import { HandlerFunction } from '@matter/general';
2
+ import { ActionContext } from '@matter/main';
2
3
  import type { Attribute } from '@matter/types/cluster';
3
4
  import { ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
4
5
  import { BooleanStateConfiguration } from '@matter/types/clusters/boolean-state-configuration';
@@ -125,7 +126,10 @@ export type ClusterAttributeValues<T extends Record<string, unknown>> = {
125
126
  };
126
127
  export type CommandHandlers = keyof CommandHandlerDataMap;
127
128
  export type CommandHandlerData<T extends CommandHandlers = CommandHandlers> = CommandHandlerDataMap[T];
128
- export type CommandHandlerFunction<T extends CommandHandlers = CommandHandlers> = (data: CommandHandlerData<T>) => void | Promise<void>;
129
+ export type CommandHandlerPayload<T extends CommandHandlers = CommandHandlers> = CommandHandlerData<T> & {
130
+ context?: ActionContext;
131
+ };
132
+ export type CommandHandlerFunction<T extends CommandHandlers = CommandHandlers> = (data: CommandHandlerPayload<T>) => void | Promise<void>;
129
133
  export type CommandHandlerDataMap = {
130
134
  'identify': CommandHandlerData<'Identify.identify'>;
131
135
  'triggerEffect': CommandHandlerData<'Identify.triggerEffect'>;
@@ -18,7 +18,10 @@ import { TemperatureMeasurement } from '@matter/types/clusters/temperature-measu
18
18
  import { ClusterId, VendorId } from '@matter/types/datatype';
19
19
  import { MeasurementType, Semtag } from '@matter/types/globals';
20
20
  import { AnsiLogger } from 'node-ansi-logger';
21
- import { MatterbridgeDeviceEnergyManagementModeServer, MatterbridgeDeviceEnergyManagementServer, MatterbridgeOperationalStateServer, MatterbridgePowerSourceServer } from './matterbridgeBehaviorsServer.js';
21
+ import { MatterbridgeDeviceEnergyManagementModeServer } from './behaviors/deviceEnergyManagementModeServer.js';
22
+ import { MatterbridgeDeviceEnergyManagementServer } from './behaviors/deviceEnergyManagementServer.js';
23
+ import { MatterbridgeOperationalStateServer } from './behaviors/operationalStateServer.js';
24
+ import { MatterbridgePowerSourceServer } from './behaviors/powerSourceServer.js';
22
25
  import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
23
26
  import { CommandHandlers } from './matterbridgeEndpointCommandHandler.js';
24
27
  export declare function capitalizeFirstLetter(name: string): string;
@@ -29,6 +32,7 @@ export declare function generateUniqueId(deviceName: string): string;
29
32
  export declare function createUniqueId(param1: string, param2: string, param3: string, param4: string): string;
30
33
  export declare function getSemtag(semtag: Semtag, label?: string | null | undefined, mfgCode?: VendorId | null): Semtag;
31
34
  export declare function featuresFor(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string): Record<string, boolean | undefined>;
35
+ export declare function internalFor<T extends object = Record<string, unknown>>(endpoint: MatterbridgeEndpoint, cluster: Behavior.Type | ClusterType | ClusterId | string): Promise<T | undefined>;
32
36
  export declare function getBehaviourTypesFromClusterServerIds(clusterServerList: ClusterId[]): Behavior.Type[];
33
37
  export declare function getBehaviourTypesFromClusterClientIds(clusterClientList: ClusterId[]): Behavior.Type[];
34
38
  export declare function getBehaviourTypeFromClusterServerId(clusterId: ClusterId): Behavior.Type;
@@ -82,7 +82,22 @@ import { MeasurementType } from '@matter/types/globals';
82
82
  import { deepEqual } from '@matterbridge/utils/deep-equal';
83
83
  import { isValidArray } from '@matterbridge/utils/validate';
84
84
  import { BLUE, CYAN, db, debugStringify, er, hk, or, YELLOW, zb } from 'node-ansi-logger';
85
- import { MatterbridgeBooleanStateConfigurationServer, MatterbridgeColorControlServer, MatterbridgeDeviceEnergyManagementModeServer, MatterbridgeDeviceEnergyManagementServer, MatterbridgeDoorLockServer, MatterbridgeFanControlServer, MatterbridgeIdentifyServer, MatterbridgeLevelControlServer, MatterbridgeModeSelectServer, MatterbridgeOnOffServer, MatterbridgeOperationalStateServer, MatterbridgePowerSourceServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeThermostatServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeWindowCoveringServer, } from './matterbridgeBehaviorsServer.js';
85
+ import { MatterbridgeBooleanStateConfigurationServer } from './behaviors/booleanStateConfigurationServer.js';
86
+ import { MatterbridgeColorControlServer } from './behaviors/colorControlServer.js';
87
+ import { MatterbridgeDeviceEnergyManagementModeServer } from './behaviors/deviceEnergyManagementModeServer.js';
88
+ import { MatterbridgeDeviceEnergyManagementServer } from './behaviors/deviceEnergyManagementServer.js';
89
+ import { MatterbridgeDoorLockServer } from './behaviors/doorLockServer.js';
90
+ import { MatterbridgeFanControlServer } from './behaviors/fanControlServer.js';
91
+ import { MatterbridgeIdentifyServer } from './behaviors/identifyServer.js';
92
+ import { MatterbridgeLevelControlServer } from './behaviors/levelControlServer.js';
93
+ import { MatterbridgeModeSelectServer } from './behaviors/modeSelectServer.js';
94
+ import { MatterbridgeOnOffServer } from './behaviors/onOffServer.js';
95
+ import { MatterbridgeOperationalStateServer } from './behaviors/operationalStateServer.js';
96
+ import { MatterbridgePowerSourceServer } from './behaviors/powerSourceServer.js';
97
+ import { MatterbridgeSmokeCoAlarmServer } from './behaviors/smokeCoAlarmServer.js';
98
+ import { MatterbridgeThermostatServer } from './behaviors/thermostatServer.js';
99
+ import { MatterbridgeValveConfigurationAndControlServer } from './behaviors/valveConfigurationAndControlServer.js';
100
+ import { MatterbridgeWindowCoveringServer } from './behaviors/windowCoveringServer.js';
86
101
  export function capitalizeFirstLetter(name) {
87
102
  if (!name)
88
103
  return name;
@@ -159,6 +174,14 @@ export function featuresFor(endpoint, cluster) {
159
174
  }
160
175
  return endpoint.behaviors.supported[lowercaseFirstLetter(behaviorId)]['cluster']['supportedFeatures'];
161
176
  }
177
+ export async function internalFor(endpoint, cluster) {
178
+ const behaviorId = getBehavior(endpoint, cluster)?.id;
179
+ if (!behaviorId) {
180
+ endpoint.log?.error(`internalFor error: cluster not found on endpoint ${or}${endpoint.maybeId}${er}:${or}${endpoint.maybeNumber}${er}`);
181
+ return undefined;
182
+ }
183
+ return endpoint.act((agent) => agent[behaviorId]?.internal);
184
+ }
162
185
  export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
163
186
  const behaviorTypes = [];
164
187
  clusterServerList.forEach((clusterId) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.7.2-dev-20260328-c77b608",
3
+ "version": "3.7.2-dev-20260330-bb55c39",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -58,6 +58,10 @@
58
58
  "types": "./dist/clusters/export.d.ts",
59
59
  "import": "./dist/clusters/export.js"
60
60
  },
61
+ "./behaviors": {
62
+ "types": "./dist/behaviors/export.d.ts",
63
+ "import": "./dist/behaviors/export.js"
64
+ },
61
65
  "./utils": {
62
66
  "types": "./dist/utils/export.d.ts",
63
67
  "import": "./dist/utils/export.js"
@@ -122,10 +126,10 @@
122
126
  ],
123
127
  "dependencies": {
124
128
  "@matter/main": "0.16.10",
125
- "@matterbridge/dgram": "3.7.2-dev-20260328-c77b608",
126
- "@matterbridge/thread": "3.7.2-dev-20260328-c77b608",
127
- "@matterbridge/types": "3.7.2-dev-20260328-c77b608",
128
- "@matterbridge/utils": "3.7.2-dev-20260328-c77b608",
129
+ "@matterbridge/dgram": "3.7.2-dev-20260330-bb55c39",
130
+ "@matterbridge/thread": "3.7.2-dev-20260330-bb55c39",
131
+ "@matterbridge/types": "3.7.2-dev-20260330-bb55c39",
132
+ "@matterbridge/utils": "3.7.2-dev-20260330-bb55c39",
129
133
  "express": "5.2.1",
130
134
  "multer": "2.1.1",
131
135
  "node-ansi-logger": "3.2.1-dev-20260327-7069fd7",