@matterbridge/core 3.8.0-dev-20260601-a1bf774 → 3.8.0-dev-20260603-c7525fb

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.
@@ -1,13 +1,13 @@
1
1
  import '@matter/nodejs';
2
2
  import EventEmitter from 'node:events';
3
- import { Diagnostic, StorageContext, StorageManager, StorageService } from '@matter/general';
4
- import { Endpoint, ServerNode, SessionsBehavior } from '@matter/node';
3
+ import { type Diagnostic, type StorageContext, type StorageManager, StorageService } from '@matter/general';
4
+ import { Endpoint, ServerNode, type SessionsBehavior } from '@matter/node';
5
5
  import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
6
- import { DeviceCertification, ExposedFabricInformation, MdnsService } from '@matter/protocol';
6
+ import { type DeviceCertification, type ExposedFabricInformation, MdnsService } from '@matter/protocol';
7
7
  import { DeviceTypeId, VendorId } from '@matter/types';
8
8
  import type { ApiMatter, PluginName, SanitizedExposedFabricInformation, SanitizedSession, SharedMatterbridge, WorkerMessage } from '@matterbridge/types';
9
9
  import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
10
- import { Plugin, PluginManager } from './pluginManager.js';
10
+ import { type Plugin, PluginManager } from './pluginManager.js';
11
11
  interface MatterEvents {
12
12
  ready: [nodeId: string];
13
13
  online: [nodeId: string];
@@ -33,7 +33,7 @@ export declare class MatterNode extends EventEmitter<MatterEvents> {
33
33
  passcode: number | undefined;
34
34
  discriminator: number | undefined;
35
35
  certification: DeviceCertification.Configuration | undefined;
36
- serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
36
+ serverNode: ServerNode | undefined;
37
37
  aggregatorNode: Endpoint<AggregatorEndpoint> | undefined;
38
38
  aggregatorVendorId: VendorId;
39
39
  aggregatorVendorName: string;
@@ -59,15 +59,15 @@ export declare class MatterNode extends EventEmitter<MatterEvents> {
59
59
  backupMatterStorage(storageName: string, backupName: string): Promise<void>;
60
60
  stopMatterStorage(): Promise<void>;
61
61
  createServerNodeContext(storeId: string, deviceName: string, deviceType: DeviceTypeId, vendorId: VendorId, vendorName: string, productId: number, productName: string, serialNumber?: string, uniqueId?: string): Promise<StorageContext>;
62
- createServerNode(port?: number, passcode?: number, discriminator?: number): Promise<ServerNode<ServerNode.RootEndpoint>>;
63
- getServerNodeData(serverNode: ServerNode<ServerNode.RootEndpoint>): ApiMatter;
62
+ createServerNode(port?: number, passcode?: number, discriminator?: number): Promise<ServerNode>;
63
+ getServerNodeData(serverNode: ServerNode): ApiMatter;
64
64
  startServerNode(timeout?: number): Promise<void>;
65
65
  stopServerNode(timeout?: number): Promise<void>;
66
66
  createAggregatorNode(): Promise<Endpoint<AggregatorEndpoint>>;
67
- createMatterbridgeServerNode(): Promise<ServerNode<ServerNode.RootEndpoint>>;
68
- createAccessoryPlugin(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
69
- createDynamicPlugin(plugin: Plugin | PluginName): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
70
- createDeviceServerNode(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
67
+ createMatterbridgeServerNode(): Promise<ServerNode>;
68
+ createAccessoryPlugin(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode | undefined>;
69
+ createDynamicPlugin(plugin: Plugin | PluginName): Promise<ServerNode | undefined>;
70
+ createDeviceServerNode(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode | undefined>;
71
71
  addBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
72
72
  removeBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
73
73
  removeAllBridgedEndpoints(pluginName: string, delay?: number): Promise<void>;
@@ -158,7 +158,7 @@ export class MatterNode extends EventEmitter {
158
158
  });
159
159
  this.pluginManager.matterbridge.nodeContext = await this.pluginManager.matterbridge.nodeStorage.createStorage('matterbridge');
160
160
  await this.pluginManager.loadFromStorage();
161
- if (this.pluginName && this.device && this.device.deviceName) {
161
+ if (this.pluginName && this.device?.deviceName) {
162
162
  this.log.debug(`Creating MatterNode instance for server node device ${CYAN}${this.device.deviceName}${db}...`);
163
163
  await this.createDeviceServerNode(this.pluginName, this.device);
164
164
  this.log.debug(`Created MatterNode instance for server node device ${CYAN}${this.device.deviceName}${db}`);
@@ -193,7 +193,7 @@ export class MatterNode extends EventEmitter {
193
193
  if (!this.serverNode && !this.pluginName)
194
194
  throw new Error('Matter server node not created yet. Call create() first.');
195
195
  this.log.info('Starting MatterNode...');
196
- if (this.pluginName && this.device && this.device.deviceName) {
196
+ if (this.pluginName && this.device?.deviceName) {
197
197
  this.log.debug(`Starting MatterNode for server device ${this.pluginName}:${this.device.deviceName}...`);
198
198
  await this.startServerNode();
199
199
  this.log.debug(`Started MatterNode for server device ${this.pluginName}:${this.device.deviceName}`);
@@ -237,7 +237,7 @@ export class MatterNode extends EventEmitter {
237
237
  if (!this.serverNode)
238
238
  throw new Error('Matter server node not created yet. Call create() first.');
239
239
  this.log.info('Stopping MatterNode...');
240
- if (this.pluginName && this.device && this.device.deviceName) {
240
+ if (this.pluginName && this.device?.deviceName) {
241
241
  this.log.debug(`Stopping MatterNode for server device ${this.pluginName}:${this.device.deviceName}...`);
242
242
  await this.stopServerNode();
243
243
  this.serverNode = undefined;
@@ -537,7 +537,7 @@ export class MatterNode extends EventEmitter {
537
537
  throw new Error('Matter server node context not created yet. Call createServerNodeContext() first.');
538
538
  }
539
539
  this.log.notice(`Creating ${await this.matterStorageContext.get('storeId')} aggregator...`);
540
- const aggregatorNode = new Endpoint(AggregatorEndpoint, { id: `${await this.matterStorageContext.get('storeId')}` });
540
+ const aggregatorNode = new Endpoint(AggregatorEndpoint, { id: await this.matterStorageContext.get('storeId') });
541
541
  this.log.info(`Created ${await this.matterStorageContext.get('storeId')} aggregator`);
542
542
  return aggregatorNode;
543
543
  }
@@ -785,7 +785,7 @@ export class MatterNode extends EventEmitter {
785
785
  return true;
786
786
  }
787
787
  async subscribeAttributeChanged(plugin, device) {
788
- if (!plugin || !device || !device.plugin || !device.serialNumber || !device.uniqueId || !device.maybeNumber)
788
+ if (!plugin || !device?.plugin || !device.serialNumber || !device.uniqueId || !device.maybeNumber)
789
789
  return;
790
790
  this.log.debug(`Subscribing attributes for endpoint ${plg}${plugin.name}${db}:${dev}${device.deviceName}${db}:${or}${device.id}${db}:${or}${device.number}${db} (${zb}${device.name}${db})`);
791
791
  if (this.matterbridge.bridgeMode === 'childbridge' && plugin.type === 'AccessoryPlatform' && this.serverNode) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.8.0-dev-20260601-a1bf774",
3
+ "version": "3.8.0-dev-20260603-c7525fb",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -130,10 +130,10 @@
130
130
  ],
131
131
  "dependencies": {
132
132
  "@matter/main": "0.17.0",
133
- "@matterbridge/dgram": "3.8.0-dev-20260601-a1bf774",
134
- "@matterbridge/thread": "3.8.0-dev-20260601-a1bf774",
135
- "@matterbridge/types": "3.8.0-dev-20260601-a1bf774",
136
- "@matterbridge/utils": "3.8.0-dev-20260601-a1bf774",
133
+ "@matterbridge/dgram": "3.8.0-dev-20260603-c7525fb",
134
+ "@matterbridge/thread": "3.8.0-dev-20260603-c7525fb",
135
+ "@matterbridge/types": "3.8.0-dev-20260603-c7525fb",
136
+ "@matterbridge/utils": "3.8.0-dev-20260603-c7525fb",
137
137
  "escape-html": "1.0.3",
138
138
  "express": "5.2.1",
139
139
  "express-rate-limit": "8.5.2",