matterbridge 3.4.7-dev-20260104-6b10cee → 3.4.7-dev-20260112-a00b2bf

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 (167) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +5 -1
  3. package/dist/broadcastServer.d.ts +29 -0
  4. package/dist/broadcastServerTypes.d.ts +798 -0
  5. package/dist/cli.d.ts +6 -0
  6. package/dist/cliEmitter.d.ts +14 -0
  7. package/dist/cliHistory.d.ts +6 -0
  8. package/dist/clusters/export.d.ts +1 -0
  9. package/dist/deviceManager.d.ts +27 -0
  10. package/dist/devices/airConditioner.d.ts +23 -0
  11. package/dist/devices/batteryStorage.d.ts +5 -0
  12. package/dist/devices/cooktop.d.ts +6 -0
  13. package/dist/devices/dishwasher.d.ts +16 -0
  14. package/dist/devices/evse.d.ts +19 -0
  15. package/dist/devices/export.d.ts +16 -0
  16. package/dist/devices/extractorHood.d.ts +5 -0
  17. package/dist/devices/heatPump.d.ts +4 -0
  18. package/dist/devices/laundryDryer.d.ts +9 -0
  19. package/dist/devices/laundryWasher.d.ts +17 -0
  20. package/dist/devices/microwaveOven.d.ts +92 -0
  21. package/dist/devices/oven.d.ts +23 -0
  22. package/dist/devices/refrigerator.d.ts +18 -0
  23. package/dist/devices/roboticVacuumCleaner.d.ts +29 -0
  24. package/dist/devices/solarPower.d.ts +4 -0
  25. package/dist/devices/speaker.d.ts +8 -0
  26. package/dist/devices/temperatureControl.d.ts +145 -0
  27. package/dist/devices/waterHeater.d.ts +37 -0
  28. package/dist/dgram/coap.d.ts +34 -0
  29. package/dist/dgram/dgram.d.ts +45 -0
  30. package/dist/dgram/dgram.js +4 -1
  31. package/dist/dgram/mb_coap.d.ts +1 -0
  32. package/dist/dgram/mb_coap.js +1 -2
  33. package/dist/dgram/mb_mdns.d.ts +1 -0
  34. package/dist/dgram/mb_mdns.js +39 -50
  35. package/dist/dgram/mdns.d.ts +188 -0
  36. package/dist/dgram/multicast.d.ts +18 -0
  37. package/dist/dgram/unicast.d.ts +11 -0
  38. package/dist/frontend.d.ts +58 -0
  39. package/dist/frontendTypes.d.ts +472 -0
  40. package/dist/helpers.d.ts +5 -0
  41. package/dist/index.d.ts +11 -0
  42. package/dist/jestutils/export.d.ts +1 -0
  43. package/dist/jestutils/jestHelpers.d.ts +90 -0
  44. package/dist/logger/export.d.ts +1 -0
  45. package/dist/matter/behaviors.d.ts +1 -0
  46. package/dist/matter/clusters.d.ts +1 -0
  47. package/dist/matter/devices.d.ts +1 -0
  48. package/dist/matter/endpoints.d.ts +1 -0
  49. package/dist/matter/export.d.ts +4 -0
  50. package/dist/matter/types.d.ts +2 -0
  51. package/dist/matterNode.d.ts +84 -0
  52. package/dist/matterbridge.d.ts +152 -0
  53. package/dist/matterbridgeAccessoryPlatform.d.ts +5 -0
  54. package/dist/matterbridgeBehaviors.d.ts +2380 -0
  55. package/dist/matterbridgeDeviceTypes.d.ts +95 -0
  56. package/dist/matterbridgeDynamicPlatform.d.ts +5 -0
  57. package/dist/matterbridgeEndpoint.d.ts +175 -0
  58. package/dist/matterbridgeEndpointHelpers.d.ts +362 -0
  59. package/dist/matterbridgeEndpointTypes.d.ts +96 -0
  60. package/dist/matterbridgePlatform.d.ts +114 -0
  61. package/dist/matterbridgeTypes.d.ts +206 -0
  62. package/dist/pluginManager.d.ts +67 -0
  63. package/dist/shelly.d.ts +24 -0
  64. package/dist/storage/export.d.ts +1 -0
  65. package/dist/update.d.ts +9 -0
  66. package/dist/utils/colorUtils.d.ts +24 -0
  67. package/dist/utils/commandLine.d.ts +6 -0
  68. package/dist/utils/copyDirectory.d.ts +2 -0
  69. package/dist/utils/createDirectory.d.ts +2 -0
  70. package/dist/utils/createZip.d.ts +1 -0
  71. package/dist/utils/deepCopy.d.ts +1 -0
  72. package/dist/utils/deepEqual.d.ts +1 -0
  73. package/dist/utils/error.d.ts +3 -0
  74. package/dist/utils/export.d.ts +12 -0
  75. package/dist/utils/format.d.ts +4 -0
  76. package/dist/utils/hex.d.ts +4 -0
  77. package/dist/utils/inspector.d.ts +24 -0
  78. package/dist/utils/isValid.d.ts +10 -0
  79. package/dist/utils/network.d.ts +25 -0
  80. package/dist/utils/spawn.d.ts +1 -0
  81. package/dist/utils/tracker.d.ts +52 -0
  82. package/dist/utils/wait.d.ts +3 -0
  83. package/dist/workerGlobalPrefix.d.ts +1 -0
  84. package/dist/workerTypes.d.ts +27 -0
  85. package/dist/workers.d.ts +8 -0
  86. package/npm-shrinkwrap.json +904 -131
  87. package/package.json +9 -2
  88. package/packages/dgram/dist/coap.d.ts +34 -0
  89. package/packages/dgram/dist/coap.js +252 -0
  90. package/packages/dgram/dist/dgram.d.ts +45 -0
  91. package/packages/dgram/dist/dgram.js +255 -0
  92. package/packages/dgram/dist/export.d.ts +5 -0
  93. package/packages/dgram/dist/export.js +5 -0
  94. package/packages/dgram/dist/mdns.d.ts +188 -0
  95. package/packages/dgram/dist/mdns.js +702 -0
  96. package/packages/dgram/dist/multicast.d.ts +18 -0
  97. package/packages/dgram/dist/multicast.js +119 -0
  98. package/packages/dgram/dist/unicast.d.ts +11 -0
  99. package/packages/dgram/dist/unicast.js +40 -0
  100. package/packages/dgram/package.json +106 -0
  101. package/packages/jest-utils/LICENSE +202 -0
  102. package/packages/jest-utils/bmc-button.svg +22 -0
  103. package/packages/jest-utils/dist/export.d.ts +1 -0
  104. package/packages/jest-utils/dist/export.js +1 -0
  105. package/packages/jest-utils/matterbridge.svg +50 -0
  106. package/packages/{mb-lib-test → jest-utils}/package.json +12 -10
  107. package/packages/utils/LICENSE +202 -0
  108. package/packages/utils/bmc-button.svg +22 -0
  109. package/packages/utils/dist/colorUtils.d.ts +24 -0
  110. package/packages/utils/dist/colorUtils.js +187 -0
  111. package/packages/utils/dist/commandLine.d.ts +6 -0
  112. package/packages/utils/dist/commandLine.js +63 -0
  113. package/packages/utils/dist/copyDirectory.d.ts +2 -0
  114. package/packages/utils/dist/copyDirectory.js +39 -0
  115. package/packages/utils/dist/createDirectory.d.ts +2 -0
  116. package/packages/utils/dist/createDirectory.js +21 -0
  117. package/packages/utils/dist/createZip.d.ts +1 -0
  118. package/packages/utils/dist/createZip.js +69 -0
  119. package/packages/utils/dist/deepCopy.d.ts +1 -0
  120. package/packages/utils/dist/deepCopy.js +40 -0
  121. package/packages/utils/dist/deepEqual.d.ts +1 -0
  122. package/packages/utils/dist/deepEqual.js +58 -0
  123. package/packages/utils/dist/error.d.ts +3 -0
  124. package/packages/utils/dist/error.js +12 -0
  125. package/packages/utils/dist/export.d.ts +15 -0
  126. package/packages/utils/dist/export.js +15 -0
  127. package/packages/utils/dist/format.d.ts +4 -0
  128. package/packages/utils/dist/format.js +29 -0
  129. package/packages/utils/dist/githubVersion.d.ts +11 -0
  130. package/packages/utils/dist/githubVersion.js +37 -0
  131. package/packages/utils/dist/hex.d.ts +4 -0
  132. package/packages/utils/dist/hex.js +118 -0
  133. package/packages/utils/dist/inspector.d.ts +24 -0
  134. package/packages/utils/dist/inspector.js +200 -0
  135. package/packages/utils/dist/isValid.d.ts +10 -0
  136. package/packages/utils/dist/isValid.js +69 -0
  137. package/packages/utils/dist/network.d.ts +12 -0
  138. package/packages/utils/dist/network.js +105 -0
  139. package/packages/utils/dist/npmRoot.d.ts +1 -0
  140. package/packages/utils/dist/npmRoot.js +13 -0
  141. package/packages/utils/dist/npmVersion.d.ts +1 -0
  142. package/packages/utils/dist/npmVersion.js +43 -0
  143. package/packages/utils/dist/tracker.d.ts +52 -0
  144. package/packages/utils/dist/tracker.js +201 -0
  145. package/packages/utils/dist/wait.d.ts +3 -0
  146. package/packages/utils/dist/wait.js +73 -0
  147. package/packages/utils/matterbridge.svg +50 -0
  148. package/packages/utils/package.json +106 -0
  149. package/packages/vitest-utils/LICENSE +202 -0
  150. package/packages/vitest-utils/bmc-button.svg +22 -0
  151. package/packages/vitest-utils/dist/export.d.ts +1 -0
  152. package/packages/vitest-utils/dist/export.js +1 -0
  153. package/packages/vitest-utils/matterbridge.svg +50 -0
  154. package/packages/vitest-utils/package.json +108 -0
  155. package/reflector/Reflector.md +17 -8
  156. package/dist/dgram/mdnsReflectorClient.js +0 -176
  157. package/dist/dgram/mdnsReflectorServer.js +0 -301
  158. package/dist/dgram/mdnsReflectorTypes.js +0 -5
  159. package/packages/mb-lib-test/dist/module.d.ts +0 -2
  160. package/packages/mb-lib-test/dist/module.js +0 -2
  161. /package/packages/{mb-lib-test → dgram}/LICENSE +0 -0
  162. /package/packages/{mb-lib-test → dgram}/bmc-button.svg +0 -0
  163. /package/packages/{mb-lib-test → dgram}/matterbridge.svg +0 -0
  164. /package/packages/{mb-lib-test/dist/jestutils → jest-utils/dist}/jestHelpers.d.ts +0 -0
  165. /package/packages/{mb-lib-test/dist/jestutils → jest-utils/dist}/jestHelpers.js +0 -0
  166. /package/packages/{mb-lib-test/dist/vitestutils → vitest-utils/dist}/vitestHelpers.d.ts +0 -0
  167. /package/packages/{mb-lib-test/dist/vitestutils → vitest-utils/dist}/vitestHelpers.js +0 -0
@@ -0,0 +1,84 @@
1
+ import EventEmitter from 'node:events';
2
+ import '@matter/nodejs';
3
+ import { Diagnostic, StorageContext, StorageManager, StorageService } from '@matter/general';
4
+ import { DeviceCertification, ExposedFabricInformation, MdnsService } from '@matter/protocol';
5
+ import { VendorId, DeviceTypeId } from '@matter/types';
6
+ import { ServerNode, Endpoint, SessionsBehavior } from '@matter/node';
7
+ import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
8
+ import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
9
+ import { SharedMatterbridge, ApiMatter, Plugin, SanitizedExposedFabricInformation, SanitizedSession, PluginName } from './matterbridgeTypes.js';
10
+ import { WorkerMessage } from './broadcastServerTypes.js';
11
+ import { PluginManager } from './pluginManager.js';
12
+ interface MatterEvents {
13
+ ready: [nodeId: string];
14
+ online: [nodeId: string];
15
+ offline: [nodeId: string];
16
+ closed: [];
17
+ }
18
+ export declare class MatterNode extends EventEmitter<MatterEvents> {
19
+ private readonly matterbridge;
20
+ private readonly pluginName?;
21
+ private readonly device?;
22
+ private readonly log;
23
+ private readonly matterLog;
24
+ private readonly environment;
25
+ storeId: string | undefined;
26
+ matterMdnsService: MdnsService | undefined;
27
+ matterStorageService: StorageService | undefined;
28
+ matterStorageManager: StorageManager | undefined;
29
+ matterStorageContext: StorageContext | undefined;
30
+ mdnsInterface: string | undefined;
31
+ ipv4Address: string | undefined;
32
+ ipv6Address: string | undefined;
33
+ port: number | undefined;
34
+ passcode: number | undefined;
35
+ discriminator: number | undefined;
36
+ certification: DeviceCertification.Configuration | undefined;
37
+ serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
38
+ aggregatorNode: Endpoint<AggregatorEndpoint> | undefined;
39
+ aggregatorVendorId: VendorId;
40
+ aggregatorVendorName: string;
41
+ aggregatorProductId: number;
42
+ aggregatorProductName: string;
43
+ aggregatorDeviceType: DeviceTypeId;
44
+ aggregatorSerialNumber: string | undefined;
45
+ aggregatorUniqueId: string | undefined;
46
+ advertisingNodes: Map<string, number>;
47
+ readonly pluginManager: PluginManager;
48
+ readonly dependantMatterNodes: Map<string, MatterNode>;
49
+ private readonly server;
50
+ private readonly debug;
51
+ private readonly verbose;
52
+ constructor(matterbridge: SharedMatterbridge, pluginName?: PluginName | undefined, device?: MatterbridgeEndpoint | undefined);
53
+ msgHandler(msg: WorkerMessage): Promise<void>;
54
+ destroy(closeMdns?: boolean): Promise<void>;
55
+ create(): Promise<void>;
56
+ start(): Promise<void>;
57
+ stop(): Promise<void>;
58
+ createDestinationMatterLogger(): (text: string, message: Diagnostic.Message) => void;
59
+ startMatterStorage(): Promise<void>;
60
+ backupMatterStorage(storageName: string, backupName: string): Promise<void>;
61
+ stopMatterStorage(): Promise<void>;
62
+ createServerNodeContext(storeId: string, deviceName: string, deviceType: DeviceTypeId, vendorId: VendorId, vendorName: string, productId: number, productName: string, serialNumber?: string, uniqueId?: string): Promise<StorageContext>;
63
+ createServerNode(port?: number, passcode?: number, discriminator?: number): Promise<ServerNode<ServerNode.RootEndpoint>>;
64
+ getServerNodeData(serverNode: ServerNode<ServerNode.RootEndpoint>): ApiMatter;
65
+ startServerNode(timeout?: number): Promise<void>;
66
+ stopServerNode(timeout?: number): Promise<void>;
67
+ createAggregatorNode(): Promise<Endpoint<AggregatorEndpoint>>;
68
+ createMatterbridgeServerNode(): Promise<ServerNode<ServerNode.RootEndpoint>>;
69
+ createAccessoryPlugin(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
70
+ createDynamicPlugin(plugin: Plugin | PluginName): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
71
+ createDeviceServerNode(plugin: Plugin | PluginName, device: MatterbridgeEndpoint): Promise<ServerNode<ServerNode.RootEndpoint> | undefined>;
72
+ addBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
73
+ removeBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<MatterbridgeEndpoint | undefined>;
74
+ removeAllBridgedEndpoints(pluginName: string, delay?: number): Promise<void>;
75
+ addVirtualEndpoint(pluginName: string, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<boolean>;
76
+ subscribeAttributeChanged(plugin: Plugin, device: MatterbridgeEndpoint): Promise<void>;
77
+ sanitizeFabricInformations(fabricInfo: ExposedFabricInformation[]): SanitizedExposedFabricInformation[];
78
+ sanitizeSessionInformation(sessions: SessionsBehavior.Session[]): SanitizedSession[];
79
+ setServerReachability(reachable: boolean): Promise<void>;
80
+ setAggregatorReachability(aggregatorNode: Endpoint<AggregatorEndpoint>, reachable: boolean): Promise<void>;
81
+ getVendorIdName: (vendorId: number | undefined) => string;
82
+ yieldToNode(timeout?: number): Promise<void>;
83
+ }
84
+ export {};
@@ -0,0 +1,152 @@
1
+ import EventEmitter from 'node:events';
2
+ import { AnsiLogger, LogLevel } from 'node-ansi-logger';
3
+ import { NodeStorageManager, NodeStorage } from 'node-persist-manager';
4
+ import '@matter/nodejs';
5
+ import { StorageContext, StorageManager, StorageService } from '@matter/general';
6
+ import { DeviceCertification } from '@matter/protocol';
7
+ import { Endpoint, ServerNode } from '@matter/node';
8
+ import { DeviceTypeId, VendorId } from '@matter/types/datatype';
9
+ import { AggregatorEndpoint } from '@matter/node/endpoints';
10
+ import { ApiMatter, MaybePromise, SystemInformation } from './matterbridgeTypes.js';
11
+ import { PluginManager } from './pluginManager.js';
12
+ import { DeviceManager } from './deviceManager.js';
13
+ import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
14
+ import { Frontend } from './frontend.js';
15
+ interface MatterbridgeEvents {
16
+ shutdown: [];
17
+ restart: [];
18
+ update: [];
19
+ initialize_started: [];
20
+ initialize_completed: [];
21
+ online: [nodeid: string];
22
+ offline: [nodeid: string];
23
+ bridge_started: [];
24
+ childbridge_started: [];
25
+ cleanup_started: [];
26
+ cleanup_completed: [];
27
+ startmemorycheck: [];
28
+ stopmemorycheck: [];
29
+ startinspector: [];
30
+ stopinspector: [];
31
+ takeheapsnapshot: [];
32
+ triggergarbagecollection: [];
33
+ }
34
+ export declare class Matterbridge extends EventEmitter<MatterbridgeEvents> {
35
+ systemInformation: SystemInformation;
36
+ homeDirectory: string;
37
+ rootDirectory: string;
38
+ matterbridgeDirectory: string;
39
+ matterbridgePluginDirectory: string;
40
+ matterbridgeCertDirectory: string;
41
+ globalModulesDirectory: string;
42
+ matterbridgeVersion: string;
43
+ matterbridgeLatestVersion: string;
44
+ matterbridgeDevVersion: string;
45
+ frontendVersion: string;
46
+ bridgeMode: 'bridge' | 'childbridge' | 'controller' | '';
47
+ restartMode: 'service' | 'docker' | '';
48
+ virtualMode: 'disabled' | 'outlet' | 'light' | 'switch' | 'mounted_switch';
49
+ readonly profile: string | undefined;
50
+ readonly log: AnsiLogger;
51
+ logLevel: LogLevel;
52
+ fileLogger: boolean;
53
+ readonly matterLog: AnsiLogger;
54
+ matterLogLevel: LogLevel;
55
+ matterFileLogger: boolean;
56
+ readonly readOnly: boolean;
57
+ readonly shellyBoard: boolean;
58
+ shellySysUpdate: boolean;
59
+ shellyMainUpdate: boolean;
60
+ restartRequired: boolean;
61
+ fixedRestartRequired: boolean;
62
+ updateRequired: boolean;
63
+ readonly plugins: PluginManager;
64
+ readonly devices: DeviceManager;
65
+ readonly frontend: Frontend;
66
+ nodeStorage: NodeStorageManager | undefined;
67
+ nodeContext: NodeStorage | undefined;
68
+ protected static instance: Matterbridge | undefined;
69
+ shutdown: boolean;
70
+ private readonly failCountLimit;
71
+ hasCleanupStarted: boolean;
72
+ private initialized;
73
+ private startMatterInterval;
74
+ private readonly startMatterIntervalMs;
75
+ private checkUpdateInterval;
76
+ private checkUpdateTimeout;
77
+ private configureTimeout;
78
+ private reachabilityTimeout;
79
+ private sigintHandler;
80
+ private sigtermHandler;
81
+ private exceptionHandler;
82
+ private rejectionHandler;
83
+ private readonly environment;
84
+ matterStorageService: StorageService | undefined;
85
+ matterStorageManager: StorageManager | undefined;
86
+ matterbridgeContext: StorageContext | undefined;
87
+ controllerContext: StorageContext | undefined;
88
+ mdnsInterface: string | undefined;
89
+ ipv4Address: string | undefined;
90
+ ipv6Address: string | undefined;
91
+ port: number | undefined;
92
+ passcode: number | undefined;
93
+ discriminator: number | undefined;
94
+ certification: DeviceCertification.Configuration | undefined;
95
+ serverNode: ServerNode<ServerNode.RootEndpoint> | undefined;
96
+ aggregatorNode: Endpoint<AggregatorEndpoint> | undefined;
97
+ aggregatorVendorId: VendorId;
98
+ aggregatorVendorName: string;
99
+ aggregatorProductId: number;
100
+ aggregatorProductName: string;
101
+ aggregatorDeviceType: DeviceTypeId;
102
+ aggregatorSerialNumber: string | undefined;
103
+ aggregatorUniqueId: string | undefined;
104
+ advertisingNodes: Map<string, number>;
105
+ private readonly server;
106
+ private readonly verbose;
107
+ private constructor();
108
+ destroy(): void;
109
+ private msgHandler;
110
+ static loadInstance(initialize?: boolean): Promise<Matterbridge>;
111
+ private initialize;
112
+ private parseCommandLine;
113
+ private startPlugins;
114
+ private registerProcessHandlers;
115
+ private deregisterProcessHandlers;
116
+ private logNodeAndSystemInfo;
117
+ setLogLevel(logLevel: LogLevel): Promise<LogLevel>;
118
+ getLogLevel(): MaybePromise<LogLevel>;
119
+ private createDestinationMatterLogger;
120
+ restartProcess(): Promise<void>;
121
+ shutdownProcess(): Promise<void>;
122
+ updateProcess(): Promise<void>;
123
+ unregisterAndShutdownProcess(timeout?: number): Promise<void>;
124
+ shutdownProcessAndReset(): Promise<void>;
125
+ shutdownProcessAndFactoryReset(): Promise<void>;
126
+ private cleanup;
127
+ private startBridge;
128
+ private startChildbridge;
129
+ private startController;
130
+ private startMatterStorage;
131
+ private backupMatterStorage;
132
+ private stopMatterStorage;
133
+ private createServerNodeContext;
134
+ private createServerNode;
135
+ getServerNodeData(serverNode: ServerNode<ServerNode.RootEndpoint>): ApiMatter;
136
+ private startServerNode;
137
+ private stopServerNode;
138
+ private createAggregatorNode;
139
+ private createAccessoryPlugin;
140
+ private createDynamicPlugin;
141
+ private createDeviceServerNode;
142
+ addBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<void>;
143
+ removeBridgedEndpoint(pluginName: string, device: MatterbridgeEndpoint): Promise<void>;
144
+ removeAllBridgedEndpoints(pluginName: string, delay?: number): Promise<void>;
145
+ addVirtualEndpoint(pluginName: string, name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<boolean>;
146
+ private subscribeAttributeChanged;
147
+ private sanitizeFabricInformations;
148
+ private sanitizeSessionInformation;
149
+ private setAggregatorReachability;
150
+ private getVendorIdName;
151
+ }
152
+ export {};
@@ -0,0 +1,5 @@
1
+ import { AnsiLogger } from 'node-ansi-logger';
2
+ import { MatterbridgePlatform, PlatformConfig, PlatformMatterbridge } from './matterbridgePlatform.js';
3
+ export declare class MatterbridgeAccessoryPlatform extends MatterbridgePlatform {
4
+ constructor(matterbridge: PlatformMatterbridge, log: AnsiLogger, config: PlatformConfig);
5
+ }