@matterbridge/core 3.5.3 → 3.5.4-dev-20260211-c4f9359

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 (294) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +0 -24
  3. package/dist/cli.js +1 -97
  4. package/dist/cliEmitter.d.ts +0 -36
  5. package/dist/cliEmitter.js +0 -37
  6. package/dist/cliHistory.d.ts +0 -42
  7. package/dist/cliHistory.js +0 -38
  8. package/dist/clusters/export.d.ts +0 -1
  9. package/dist/clusters/export.js +0 -2
  10. package/dist/deviceManager.d.ts +0 -108
  11. package/dist/deviceManager.js +1 -114
  12. package/dist/devices/airConditioner.d.ts +0 -75
  13. package/dist/devices/airConditioner.js +0 -57
  14. package/dist/devices/basicVideoPlayer.d.ts +0 -58
  15. package/dist/devices/basicVideoPlayer.js +1 -56
  16. package/dist/devices/batteryStorage.d.ts +0 -43
  17. package/dist/devices/batteryStorage.js +1 -48
  18. package/dist/devices/castingVideoPlayer.d.ts +0 -63
  19. package/dist/devices/castingVideoPlayer.js +2 -65
  20. package/dist/devices/cooktop.d.ts +0 -55
  21. package/dist/devices/cooktop.js +0 -56
  22. package/dist/devices/dishwasher.d.ts +0 -55
  23. package/dist/devices/dishwasher.js +0 -57
  24. package/dist/devices/evse.d.ts +0 -57
  25. package/dist/devices/evse.js +10 -74
  26. package/dist/devices/export.d.ts +0 -1
  27. package/dist/devices/export.js +0 -5
  28. package/dist/devices/extractorHood.d.ts +0 -41
  29. package/dist/devices/extractorHood.js +0 -43
  30. package/dist/devices/heatPump.d.ts +0 -43
  31. package/dist/devices/heatPump.js +2 -50
  32. package/dist/devices/laundryDryer.d.ts +0 -58
  33. package/dist/devices/laundryDryer.js +3 -62
  34. package/dist/devices/laundryWasher.d.ts +0 -64
  35. package/dist/devices/laundryWasher.js +4 -70
  36. package/dist/devices/microwaveOven.d.ts +1 -77
  37. package/dist/devices/microwaveOven.js +5 -88
  38. package/dist/devices/oven.d.ts +0 -82
  39. package/dist/devices/oven.js +0 -85
  40. package/dist/devices/refrigerator.d.ts +0 -100
  41. package/dist/devices/refrigerator.js +0 -102
  42. package/dist/devices/roboticVacuumCleaner.d.ts +0 -83
  43. package/dist/devices/roboticVacuumCleaner.js +9 -100
  44. package/dist/devices/solarPower.d.ts +0 -36
  45. package/dist/devices/solarPower.js +0 -38
  46. package/dist/devices/speaker.d.ts +0 -79
  47. package/dist/devices/speaker.js +0 -84
  48. package/dist/devices/temperatureControl.d.ts +0 -21
  49. package/dist/devices/temperatureControl.js +3 -24
  50. package/dist/devices/waterHeater.d.ts +0 -74
  51. package/dist/devices/waterHeater.js +2 -82
  52. package/dist/dgram/export.d.ts +0 -1
  53. package/dist/dgram/export.js +0 -1
  54. package/dist/export.d.ts +0 -23
  55. package/dist/export.js +0 -28
  56. package/dist/frontend.d.ts +0 -187
  57. package/dist/frontend.js +38 -539
  58. package/dist/helpers.d.ts +0 -43
  59. package/dist/helpers.js +0 -86
  60. package/dist/jestutils/export.d.ts +0 -1
  61. package/dist/jestutils/export.js +0 -1
  62. package/dist/jestutils/jestHelpers.d.ts +0 -259
  63. package/dist/jestutils/jestHelpers.js +14 -395
  64. package/dist/matter/behaviors.d.ts +0 -1
  65. package/dist/matter/behaviors.js +0 -2
  66. package/dist/matter/clusters.d.ts +0 -1
  67. package/dist/matter/clusters.js +0 -2
  68. package/dist/matter/devices.d.ts +0 -1
  69. package/dist/matter/devices.js +0 -2
  70. package/dist/matter/endpoints.d.ts +0 -1
  71. package/dist/matter/endpoints.js +0 -2
  72. package/dist/matter/export.d.ts +0 -1
  73. package/dist/matter/export.js +0 -2
  74. package/dist/matter/types.d.ts +0 -1
  75. package/dist/matter/types.js +0 -2
  76. package/dist/matterNode.d.ts +0 -258
  77. package/dist/matterNode.js +8 -356
  78. package/dist/matterbridge.d.ts +0 -389
  79. package/dist/matterbridge.js +48 -878
  80. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  81. package/dist/matterbridgeAccessoryPlatform.js +0 -50
  82. package/dist/matterbridgeBehaviors.d.ts +0 -24
  83. package/dist/matterbridgeBehaviors.js +5 -65
  84. package/dist/matterbridgeDeviceTypes.d.ts +0 -649
  85. package/dist/matterbridgeDeviceTypes.js +6 -673
  86. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  87. package/dist/matterbridgeDynamicPlatform.js +0 -50
  88. package/dist/matterbridgeEndpoint.d.ts +0 -1369
  89. package/dist/matterbridgeEndpoint.js +56 -1514
  90. package/dist/matterbridgeEndpointHelpers.d.ts +0 -425
  91. package/dist/matterbridgeEndpointHelpers.js +20 -483
  92. package/dist/matterbridgeEndpointTypes.d.ts +0 -70
  93. package/dist/matterbridgeEndpointTypes.js +0 -25
  94. package/dist/matterbridgePlatform.d.ts +0 -434
  95. package/dist/matterbridgePlatform.js +1 -473
  96. package/dist/mb_coap.d.ts +0 -23
  97. package/dist/mb_coap.js +3 -41
  98. package/dist/mb_health.d.ts +0 -67
  99. package/dist/mb_health.js +0 -70
  100. package/dist/mb_mdns.d.ts +0 -23
  101. package/dist/mb_mdns.js +36 -94
  102. package/dist/pluginManager.d.ts +0 -307
  103. package/dist/pluginManager.js +6 -346
  104. package/dist/spawn.d.ts +0 -32
  105. package/dist/spawn.js +1 -71
  106. package/dist/utils/export.d.ts +0 -1
  107. package/dist/utils/export.js +0 -1
  108. package/package.json +27 -6
  109. package/dist/cli.d.ts.map +0 -1
  110. package/dist/cli.js.map +0 -1
  111. package/dist/cliEmitter.d.ts.map +0 -1
  112. package/dist/cliEmitter.js.map +0 -1
  113. package/dist/cliHistory.d.ts.map +0 -1
  114. package/dist/cliHistory.js.map +0 -1
  115. package/dist/clusters/export.d.ts.map +0 -1
  116. package/dist/clusters/export.js.map +0 -1
  117. package/dist/crypto/attestationDecoder.d.ts +0 -180
  118. package/dist/crypto/attestationDecoder.d.ts.map +0 -1
  119. package/dist/crypto/attestationDecoder.js +0 -176
  120. package/dist/crypto/attestationDecoder.js.map +0 -1
  121. package/dist/crypto/declarationDecoder.d.ts +0 -72
  122. package/dist/crypto/declarationDecoder.d.ts.map +0 -1
  123. package/dist/crypto/declarationDecoder.js +0 -241
  124. package/dist/crypto/declarationDecoder.js.map +0 -1
  125. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.d.ts +0 -9
  126. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.d.ts.map +0 -1
  127. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.js +0 -120
  128. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.js.map +0 -1
  129. package/dist/crypto/read-extensions.d.ts +0 -2
  130. package/dist/crypto/read-extensions.d.ts.map +0 -1
  131. package/dist/crypto/read-extensions.js +0 -81
  132. package/dist/crypto/read-extensions.js.map +0 -1
  133. package/dist/crypto/testData.d.ts +0 -31
  134. package/dist/crypto/testData.d.ts.map +0 -1
  135. package/dist/crypto/testData.js +0 -131
  136. package/dist/crypto/testData.js.map +0 -1
  137. package/dist/crypto/walk-der.d.ts +0 -2
  138. package/dist/crypto/walk-der.d.ts.map +0 -1
  139. package/dist/crypto/walk-der.js +0 -165
  140. package/dist/crypto/walk-der.js.map +0 -1
  141. package/dist/deviceManager.d.ts.map +0 -1
  142. package/dist/deviceManager.js.map +0 -1
  143. package/dist/devices/airConditioner.d.ts.map +0 -1
  144. package/dist/devices/airConditioner.js.map +0 -1
  145. package/dist/devices/basicVideoPlayer.d.ts.map +0 -1
  146. package/dist/devices/basicVideoPlayer.js.map +0 -1
  147. package/dist/devices/batteryStorage.d.ts.map +0 -1
  148. package/dist/devices/batteryStorage.js.map +0 -1
  149. package/dist/devices/castingVideoPlayer.d.ts.map +0 -1
  150. package/dist/devices/castingVideoPlayer.js.map +0 -1
  151. package/dist/devices/cooktop.d.ts.map +0 -1
  152. package/dist/devices/cooktop.js.map +0 -1
  153. package/dist/devices/dishwasher.d.ts.map +0 -1
  154. package/dist/devices/dishwasher.js.map +0 -1
  155. package/dist/devices/evse.d.ts.map +0 -1
  156. package/dist/devices/evse.js.map +0 -1
  157. package/dist/devices/export.d.ts.map +0 -1
  158. package/dist/devices/export.js.map +0 -1
  159. package/dist/devices/extractorHood.d.ts.map +0 -1
  160. package/dist/devices/extractorHood.js.map +0 -1
  161. package/dist/devices/heatPump.d.ts.map +0 -1
  162. package/dist/devices/heatPump.js.map +0 -1
  163. package/dist/devices/laundryDryer.d.ts.map +0 -1
  164. package/dist/devices/laundryDryer.js.map +0 -1
  165. package/dist/devices/laundryWasher.d.ts.map +0 -1
  166. package/dist/devices/laundryWasher.js.map +0 -1
  167. package/dist/devices/microwaveOven.d.ts.map +0 -1
  168. package/dist/devices/microwaveOven.js.map +0 -1
  169. package/dist/devices/oven.d.ts.map +0 -1
  170. package/dist/devices/oven.js.map +0 -1
  171. package/dist/devices/refrigerator.d.ts.map +0 -1
  172. package/dist/devices/refrigerator.js.map +0 -1
  173. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  174. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  175. package/dist/devices/solarPower.d.ts.map +0 -1
  176. package/dist/devices/solarPower.js.map +0 -1
  177. package/dist/devices/speaker.d.ts.map +0 -1
  178. package/dist/devices/speaker.js.map +0 -1
  179. package/dist/devices/temperatureControl.d.ts.map +0 -1
  180. package/dist/devices/temperatureControl.js.map +0 -1
  181. package/dist/devices/waterHeater.d.ts.map +0 -1
  182. package/dist/devices/waterHeater.js.map +0 -1
  183. package/dist/dgram/export.d.ts.map +0 -1
  184. package/dist/dgram/export.js.map +0 -1
  185. package/dist/export.d.ts.map +0 -1
  186. package/dist/export.js.map +0 -1
  187. package/dist/frontend.d.ts.map +0 -1
  188. package/dist/frontend.js.map +0 -1
  189. package/dist/helpers.d.ts.map +0 -1
  190. package/dist/helpers.js.map +0 -1
  191. package/dist/jestutils/export.d.ts.map +0 -1
  192. package/dist/jestutils/export.js.map +0 -1
  193. package/dist/jestutils/jestHelpers.d.ts.map +0 -1
  194. package/dist/jestutils/jestHelpers.js.map +0 -1
  195. package/dist/matter/behaviors.d.ts.map +0 -1
  196. package/dist/matter/behaviors.js.map +0 -1
  197. package/dist/matter/clusters.d.ts.map +0 -1
  198. package/dist/matter/clusters.js.map +0 -1
  199. package/dist/matter/devices.d.ts.map +0 -1
  200. package/dist/matter/devices.js.map +0 -1
  201. package/dist/matter/endpoints.d.ts.map +0 -1
  202. package/dist/matter/endpoints.js.map +0 -1
  203. package/dist/matter/export.d.ts.map +0 -1
  204. package/dist/matter/export.js.map +0 -1
  205. package/dist/matter/types.d.ts.map +0 -1
  206. package/dist/matter/types.js.map +0 -1
  207. package/dist/matterNode.d.ts.map +0 -1
  208. package/dist/matterNode.js.map +0 -1
  209. package/dist/matterbridge.d.ts.map +0 -1
  210. package/dist/matterbridge.js.map +0 -1
  211. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  212. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  213. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  214. package/dist/matterbridgeBehaviors.js.map +0 -1
  215. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  216. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  217. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  218. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  219. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  220. package/dist/matterbridgeEndpoint.js.map +0 -1
  221. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  222. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  223. package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
  224. package/dist/matterbridgeEndpointTypes.js.map +0 -1
  225. package/dist/matterbridgePlatform.d.ts.map +0 -1
  226. package/dist/matterbridgePlatform.js.map +0 -1
  227. package/dist/mb_coap.d.ts.map +0 -1
  228. package/dist/mb_coap.js.map +0 -1
  229. package/dist/mb_health.d.ts.map +0 -1
  230. package/dist/mb_health.js.map +0 -1
  231. package/dist/mb_mdns.d.ts.map +0 -1
  232. package/dist/mb_mdns.js.map +0 -1
  233. package/dist/pluginManager.d.ts.map +0 -1
  234. package/dist/pluginManager.js.map +0 -1
  235. package/dist/spawn.d.ts.map +0 -1
  236. package/dist/spawn.js.map +0 -1
  237. package/dist/utils/export.d.ts.map +0 -1
  238. package/dist/utils/export.js.map +0 -1
  239. package/dist/workers/brand.d.ts +0 -25
  240. package/dist/workers/brand.d.ts.map +0 -1
  241. package/dist/workers/brand.extend.d.ts +0 -10
  242. package/dist/workers/brand.extend.d.ts.map +0 -1
  243. package/dist/workers/brand.extend.js +0 -15
  244. package/dist/workers/brand.extend.js.map +0 -1
  245. package/dist/workers/brand.invalid.d.ts +0 -9
  246. package/dist/workers/brand.invalid.d.ts.map +0 -1
  247. package/dist/workers/brand.invalid.js +0 -19
  248. package/dist/workers/brand.invalid.js.map +0 -1
  249. package/dist/workers/brand.js +0 -67
  250. package/dist/workers/brand.js.map +0 -1
  251. package/dist/workers/clusterTypes.d.ts +0 -47
  252. package/dist/workers/clusterTypes.d.ts.map +0 -1
  253. package/dist/workers/clusterTypes.js +0 -57
  254. package/dist/workers/clusterTypes.js.map +0 -1
  255. package/dist/workers/frontendWorker.d.ts +0 -2
  256. package/dist/workers/frontendWorker.d.ts.map +0 -1
  257. package/dist/workers/frontendWorker.js +0 -90
  258. package/dist/workers/frontendWorker.js.map +0 -1
  259. package/dist/workers/helloWorld.d.ts +0 -2
  260. package/dist/workers/helloWorld.d.ts.map +0 -1
  261. package/dist/workers/helloWorld.js +0 -135
  262. package/dist/workers/helloWorld.js.map +0 -1
  263. package/dist/workers/matterWorker.d.ts +0 -2
  264. package/dist/workers/matterWorker.d.ts.map +0 -1
  265. package/dist/workers/matterWorker.js +0 -104
  266. package/dist/workers/matterWorker.js.map +0 -1
  267. package/dist/workers/matterbridgeWorker.d.ts +0 -2
  268. package/dist/workers/matterbridgeWorker.d.ts.map +0 -1
  269. package/dist/workers/matterbridgeWorker.js +0 -75
  270. package/dist/workers/matterbridgeWorker.js.map +0 -1
  271. package/dist/workers/messageLab.d.ts +0 -134
  272. package/dist/workers/messageLab.d.ts.map +0 -1
  273. package/dist/workers/messageLab.js +0 -129
  274. package/dist/workers/messageLab.js.map +0 -1
  275. package/dist/workers/testWorker.d.ts +0 -2
  276. package/dist/workers/testWorker.d.ts.map +0 -1
  277. package/dist/workers/testWorker.js +0 -45
  278. package/dist/workers/testWorker.js.map +0 -1
  279. package/dist/workers/usage.d.ts +0 -19
  280. package/dist/workers/usage.d.ts.map +0 -1
  281. package/dist/workers/usage.js +0 -140
  282. package/dist/workers/usage.js.map +0 -1
  283. package/dist/workers/workerManager.d.ts +0 -115
  284. package/dist/workers/workerManager.d.ts.map +0 -1
  285. package/dist/workers/workerManager.js +0 -464
  286. package/dist/workers/workerManager.js.map +0 -1
  287. package/dist/workers/workerServer.d.ts +0 -126
  288. package/dist/workers/workerServer.d.ts.map +0 -1
  289. package/dist/workers/workerServer.js +0 -340
  290. package/dist/workers/workerServer.js.map +0 -1
  291. package/dist/workers/workerTypes.d.ts +0 -23
  292. package/dist/workers/workerTypes.d.ts.map +0 -1
  293. package/dist/workers/workerTypes.js +0 -3
  294. package/dist/workers/workerTypes.js.map +0 -1
package/README.md CHANGED
@@ -19,4 +19,4 @@
19
19
 
20
20
  ---
21
21
 
22
- Matterbridge internal package (not intended for direct use).
22
+ [Matterbridge](https://matterbridge.io) internal package (not intended for direct use).
package/dist/cli.d.ts CHANGED
@@ -1,29 +1,5 @@
1
- /**
2
- * This file contains the CLI entry point of Matterbridge.
3
- *
4
- * @file cli.ts
5
- * @author Luca Liguori
6
- * @created 2023-12-29
7
- * @version 3.0.0
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2023, 2024, 2025 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { Inspector, Tracker } from '@matterbridge/utils';
25
2
  import type { Matterbridge } from './matterbridge.js';
26
3
  export declare let instance: Matterbridge | undefined;
27
4
  export declare const tracker: Tracker;
28
5
  export declare const inspector: Inspector;
29
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,33 +1,6 @@
1
- /**
2
- * This file contains the CLI entry point of Matterbridge.
3
- *
4
- * @file cli.ts
5
- * @author Luca Liguori
6
- * @created 2023-12-29
7
- * @version 3.0.0
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2023, 2024, 2025 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
- /* eslint-disable no-console */
25
- /* eslint-disable n/no-process-exit */
26
1
  if (process.argv.includes('--loader') || process.argv.includes('-loader'))
27
2
  console.log('\u001B[32mCli loaded.\u001B[40;0m');
28
- // AnsiLogger module
29
3
  import { AnsiLogger } from 'node-ansi-logger';
30
- // Cli
31
4
  import { formatBytes, formatUptime, hasAnyParameter, hasParameter, Inspector, inspectError, Tracker } from '@matterbridge/utils';
32
5
  import { cliEmitter } from './cliEmitter.js';
33
6
  export let instance;
@@ -35,10 +8,7 @@ export const tracker = new Tracker('Cli', false, false);
35
8
  export const inspector = new Inspector('Cli', false, false);
36
9
  if (process.argv.includes('--no-ansi') || process.argv.includes('-no-ansi'))
37
10
  process.env.NO_COLOR = '1';
38
- const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: hasParameter('debug') ? "debug" /* LogLevel.DEBUG */ : "info" /* LogLevel.INFO */ });
39
- /**
40
- * Starts the CPU and memory tracker.
41
- */
11
+ const log = new AnsiLogger({ logName: 'Cli', logTimestampFormat: 4, logLevel: hasParameter('debug') ? "debug" : "info" });
42
12
  function startCpuMemoryCheck() {
43
13
  log.debug(`Cpu memory check starting...`);
44
14
  tracker.start();
@@ -51,50 +21,26 @@ function startCpuMemoryCheck() {
51
21
  });
52
22
  log.debug(`Cpu memory check started`);
53
23
  }
54
- /**
55
- * Stops the CPU and memory tracker.
56
- */
57
24
  function stopCpuMemoryCheck() {
58
25
  log.debug(`Cpu memory check stopping...`);
59
26
  tracker.stop();
60
27
  tracker.removeAllListeners();
61
28
  log.debug(`Cpu memory check stopped`);
62
29
  }
63
- /**
64
- * Starts the inspector for heap sampling.
65
- * This function is called when the -inspect parameter is passed.
66
- */
67
30
  async function startInspector() {
68
31
  await inspector.start();
69
32
  }
70
- /**
71
- * Stops the heap sampling and saves the profile.
72
- * This function is called when the -inspect parameter is passed.
73
- */
74
33
  async function stopInspector() {
75
34
  await inspector.stop();
76
35
  }
77
- /**
78
- * Takes a heap snapshot
79
- */
80
36
  async function takeHeapSnapshot() {
81
37
  await inspector.takeHeapSnapshot();
82
38
  }
83
- /**
84
- * Triggers a manual garbage collection.
85
- * This function is working only if the node process is started with --expose_gc.
86
- *
87
- * @remarks To check the effect of the garbage collection, add also --trace_gc or --trace_gc_verbose.
88
- */
89
39
  function triggerGarbageCollection() {
90
40
  inspector.runGarbageCollector();
91
41
  }
92
- /**
93
- * Registers event handlers for the Matterbridge instance.
94
- */
95
42
  function registerHandlers() {
96
43
  log.debug('Registering event handlers...');
97
- // istanbul ignore next cause registerHandlers is called only if instance is defined
98
44
  if (!instance)
99
45
  return;
100
46
  instance.on('shutdown', () => shutdown());
@@ -108,9 +54,6 @@ function registerHandlers() {
108
54
  instance.on('triggergarbagecollection', () => triggerGarbageCollection());
109
55
  log.debug('Registered event handlers');
110
56
  }
111
- /**
112
- * Shuts down the Matterbridge instance and exits the process.
113
- */
114
57
  async function shutdown() {
115
58
  log.debug('Received shutdown event, exiting...');
116
59
  if (hasParameter('inspect'))
@@ -119,56 +62,26 @@ async function shutdown() {
119
62
  cliEmitter.emit('shutdown');
120
63
  process.exit(0);
121
64
  }
122
- /**
123
- * Restarts the Matterbridge instance.
124
- */
125
65
  async function restart() {
126
66
  log.debug('Received restart event, loading...');
127
67
  const { Matterbridge } = await import('./matterbridge.js');
128
68
  instance = await Matterbridge.loadInstance(true);
129
69
  registerHandlers();
130
70
  }
131
- /**
132
- * Updates the Matterbridge instance.
133
- */
134
71
  async function update() {
135
72
  log.debug('Received update event, updating...');
136
- // TODO: Implement update logic outside of matterbridge
137
73
  const { Matterbridge } = await import('./matterbridge.js');
138
74
  instance = await Matterbridge.loadInstance(true);
139
75
  registerHandlers();
140
76
  }
141
- /**
142
- * Starts the CPU and memory check when the -startmemorycheck parameter is passed.
143
- */
144
77
  function start() {
145
78
  log.debug('Received start memory check event');
146
79
  startCpuMemoryCheck();
147
80
  }
148
- /**
149
- * Stops the CPU and memory check when the -stopmemorycheck parameter is passed.
150
- */
151
81
  function stop() {
152
82
  log.debug('Received stop memory check event');
153
83
  stopCpuMemoryCheck();
154
84
  }
155
- /**
156
- * Main function that initializes the Matterbridge instance and starts the CLI.
157
- *
158
- * @remarks
159
- *
160
- * Debug parameters:
161
- *
162
- * --debug enables debug logging.
163
- *
164
- * --verbose enables verbose logging.
165
- *
166
- * --loader enables loader logging.
167
- *
168
- * --inspect enables the inspector for heap sampling.
169
- *
170
- * --snapshotinterval <milliseconds> can be used to set the heap snapshot interval. Default is undefined. Minimum is 30000 ms.
171
- */
172
85
  async function main() {
173
86
  log.debug(`Cli main() started`);
174
87
  startCpuMemoryCheck();
@@ -178,7 +91,6 @@ async function main() {
178
91
  const { Matterbridge } = await import('./matterbridge.js');
179
92
  instance = await Matterbridge.loadInstance(true);
180
93
  log.debug(`***Matterbridge.loadInstance(true) exited`);
181
- // Check if the instance needs to shut down from parseCommandLine()
182
94
  if (!instance || instance.shutdown) {
183
95
  shutdown();
184
96
  }
@@ -196,18 +108,11 @@ main().catch((error) => {
196
108
  inspectError(log, 'Matterbridge.loadInstance() failed with error', error);
197
109
  shutdown();
198
110
  });
199
- /**
200
- * Displays the version.
201
- */
202
111
  async function version() {
203
- // Dynamic JSON import (Node >= 20) with import attributes
204
112
  const { default: pkg } = await import('../package.json', { with: { type: 'json' } });
205
113
  console.log(`Matterbridge version ${pkg.version}`);
206
114
  process.exit(0);
207
115
  }
208
- /**
209
- * Displays the help.
210
- */
211
116
  function help() {
212
117
  console.log(`
213
118
  Usage: matterbridge [options] [command]
@@ -265,4 +170,3 @@ function help() {
265
170
  `);
266
171
  process.exit(0);
267
172
  }
268
- //# sourceMappingURL=cli.js.map
@@ -1,26 +1,3 @@
1
- /**
2
- * This file contains the CLI emitter.
3
- *
4
- * @file cliEmitter.ts
5
- * @author Luca Liguori
6
- * @created 2025-07-04
7
- * @version 1.0.2
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { EventEmitter } from 'node:events';
25
2
  interface CliEvents {
26
3
  shutdown: [];
@@ -32,19 +9,6 @@ interface CliEvents {
32
9
  export declare const cliEmitter: EventEmitter<CliEvents>;
33
10
  export declare let lastOsCpuUsage: number;
34
11
  export declare let lastProcessCpuUsage: number;
35
- /**
36
- * Sets the last os CPU usage.
37
- *
38
- * @param {number} val - The os CPU usage percentage to set.
39
- * @returns {void}
40
- */
41
12
  export declare function setLastOsCpuUsage(val: number): void;
42
- /**
43
- * Sets the last process CPU usage.
44
- *
45
- * @param {number} val - The process CPU usage percentage to set.
46
- * @returns {void}
47
- */
48
13
  export declare function setLastProcessCpuUsage(val: number): void;
49
14
  export {};
50
- //# sourceMappingURL=cliEmitter.d.ts.map
@@ -1,49 +1,12 @@
1
- /**
2
- * This file contains the CLI emitter.
3
- *
4
- * @file cliEmitter.ts
5
- * @author Luca Liguori
6
- * @created 2025-07-04
7
- * @version 1.0.2
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
- // eslint-disable-next-line no-console
25
1
  if (process.argv.includes('--loader') || process.argv.includes('-loader'))
26
2
  console.log('\u001B[32mCli emitter loaded.\u001B[40;0m');
27
3
  import { EventEmitter } from 'node:events';
28
4
  export const cliEmitter = new EventEmitter();
29
5
  export let lastOsCpuUsage = 0;
30
6
  export let lastProcessCpuUsage = 0;
31
- /**
32
- * Sets the last os CPU usage.
33
- *
34
- * @param {number} val - The os CPU usage percentage to set.
35
- * @returns {void}
36
- */
37
7
  export function setLastOsCpuUsage(val) {
38
8
  lastOsCpuUsage = val;
39
9
  }
40
- /**
41
- * Sets the last process CPU usage.
42
- *
43
- * @param {number} val - The process CPU usage percentage to set.
44
- * @returns {void}
45
- */
46
10
  export function setLastProcessCpuUsage(val) {
47
11
  lastProcessCpuUsage = val;
48
12
  }
49
- //# sourceMappingURL=cliEmitter.js.map
@@ -1,48 +1,6 @@
1
- /**
2
- * This file contains the CLI history page generator.
3
- *
4
- * @file cliHistory.ts
5
- * @author Luca Liguori
6
- * @created 2025-10-09
7
- * @version 1.0.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  export type GenerateHistoryPageOptions = {
25
- /**
26
- * Full path (file name included) for the generated HTML file.
27
- * Defaults to `<current working directory>/history.html`.
28
- */
29
2
  outputPath?: string;
30
- /**
31
- * Title shown in the generated page and browser tab.
32
- * Defaults to `Matterbridge CPU & Memory History`.
33
- */
34
3
  pageTitle?: string;
35
- /**
36
- * Hostname shown in the generated page and browser tab.
37
- */
38
4
  hostname?: string;
39
5
  };
40
- /**
41
- * Generates a static HTML dashboard displaying CPU and memory history.
42
- *
43
- * @param {GenerateHistoryPageOptions} [options] - Optional configuration for output path, page title, and refresh interval.
44
- *
45
- * @returns {string | undefined} The absolute path to the generated HTML file, or undefined if no samples exist.
46
- */
47
6
  export declare function generateHistoryPage(options?: GenerateHistoryPageOptions): string | undefined;
48
- //# sourceMappingURL=cliHistory.d.ts.map
@@ -1,40 +1,9 @@
1
- /**
2
- * This file contains the CLI history page generator.
3
- *
4
- * @file cliHistory.ts
5
- * @author Luca Liguori
6
- * @created 2025-10-09
7
- * @version 1.0.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
- // eslint-disable-next-line no-console
25
1
  if (process.argv.includes('--loader') || process.argv.includes('-loader'))
26
2
  console.log('\u001B[32mCli history loaded.\u001B[40;0m');
27
3
  import { writeFileSync } from 'node:fs';
28
4
  import path from 'node:path';
29
5
  import os from 'node:os';
30
6
  import { Tracker } from '@matterbridge/utils';
31
- /**
32
- * Generates a static HTML dashboard displaying CPU and memory history.
33
- *
34
- * @param {GenerateHistoryPageOptions} [options] - Optional configuration for output path, page title, and refresh interval.
35
- *
36
- * @returns {string | undefined} The absolute path to the generated HTML file, or undefined if no samples exist.
37
- */
38
7
  export function generateHistoryPage(options = {}) {
39
8
  const pageTitle = options.pageTitle ?? 'Matterbridge CPU & Memory History';
40
9
  const hostname = options.hostname ?? os.hostname();
@@ -814,13 +783,6 @@ export function generateHistoryPage(options = {}) {
814
783
  writeFileSync(outputPath, html, { encoding: 'utf-8' });
815
784
  return outputPath;
816
785
  }
817
- /**
818
- * Escapes HTML special characters to prevent breaking embedded markup.
819
- *
820
- * @param {string} input - The string to escape.
821
- * @returns {string} The escaped string safe for HTML contexts.
822
- */
823
786
  function escapeHtml(input) {
824
787
  return input.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
825
788
  }
826
- //# sourceMappingURL=cliHistory.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=export.d.ts.map
@@ -1,3 +1 @@
1
1
  export {};
2
- // Nothing to export right now, but this file is here to make it easier to add exports in the future
3
- //# sourceMappingURL=export.js.map
@@ -1,135 +1,27 @@
1
- /**
2
- * This file contains the DeviceManager class.
3
- *
4
- * @file devices.ts
5
- * @author Luca Liguori
6
- * @created 2024-07-26
7
- * @version 1.1.2
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2024, 2025, 2026 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { LogLevel } from 'node-ansi-logger';
25
2
  import type { BaseDevice } from '@matterbridge/types';
26
3
  import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
27
- /**
28
- * Converts a MatterbridgeEndpoint to a BaseDevice.
29
- *
30
- * @param {MatterbridgeEndpoint} device The MatterbridgeEndpoint to convert.
31
- * @returns {BaseDevice} The converted BaseDevice.
32
- */
33
4
  export declare function toBaseDevice(device: MatterbridgeEndpoint | BaseDevice): BaseDevice;
34
- /**
35
- * Manages Matterbridge devices.
36
- */
37
5
  export declare class DeviceManager {
38
6
  private readonly _devices;
39
7
  private readonly log;
40
8
  private readonly server;
41
9
  private readonly debug;
42
10
  private readonly verbose;
43
- /**
44
- * Creates an instance of DeviceManager.
45
- */
46
11
  constructor();
47
12
  destroy(): void;
48
13
  private msgHandler;
49
- /**
50
- * Gets the number of devices.
51
- *
52
- * @returns {number} The number of devices.
53
- */
54
14
  get length(): number;
55
- /**
56
- * Gets the number of devices.
57
- *
58
- * @returns {number} The number of devices.
59
- */
60
15
  get size(): number;
61
- /**
62
- * Checks if a device with the specified unique ID exists.
63
- *
64
- * @param {string} uniqueId - The unique ID of the device.
65
- * @returns {boolean} True if the device exists, false otherwise.
66
- */
67
16
  has(uniqueId: string): boolean;
68
- /**
69
- * Gets a device by its unique ID.
70
- *
71
- * @param {string} uniqueId - The unique ID of the device.
72
- * @returns {MatterbridgeEndpoint | undefined} The device, or undefined if not found.
73
- */
74
17
  get(uniqueId: string): MatterbridgeEndpoint | undefined;
75
- /**
76
- * Adds a device to the manager.
77
- *
78
- * @param {MatterbridgeEndpoint} device - The device to add.
79
- * @returns {MatterbridgeEndpoint} The added device.
80
- * @throws {Error} If the device does not have a unique ID.
81
- */
82
18
  set(device: MatterbridgeEndpoint): MatterbridgeEndpoint;
83
- /**
84
- * Removes a device from the manager.
85
- *
86
- * @param {MatterbridgeEndpoint} device - The device to remove.
87
- * @returns {boolean} True if the device was removed, false otherwise.
88
- * @throws {Error} If the device does not have a unique ID.
89
- */
90
19
  remove(device: MatterbridgeEndpoint): boolean;
91
- /**
92
- * Clears all devices from the manager.
93
- */
94
20
  clear(): void;
95
- /**
96
- * Converts a MatterbridgeEndpoint to a BaseDevice.
97
- *
98
- * @param {MatterbridgeEndpoint} device The MatterbridgeEndpoint to convert.
99
- * @returns {BaseDevice} The converted BaseDevice.
100
- */
101
21
  private toBaseDevice;
102
- /**
103
- * Gets an array of all devices.
104
- *
105
- * @returns {MatterbridgeEndpoint[]} An array of all devices.
106
- */
107
22
  array(): MatterbridgeEndpoint[];
108
- /**
109
- * Gets a base array of all devices suitable for serialization.
110
- *
111
- * @param {string} [pluginName] - Optional plugin name to filter devices.
112
- * @returns {ApiDevices[]} A base array of all devices.
113
- */
114
23
  baseArray(pluginName?: string): BaseDevice[];
115
- /**
116
- * Iterates over all devices.
117
- *
118
- * @returns {IterableIterator<MatterbridgeEndpoint>} An iterator for the devices.
119
- */
120
24
  [Symbol.iterator](): MapIterator<MatterbridgeEndpoint>;
121
- /**
122
- * Asynchronously iterates over each device and calls the provided callback function.
123
- *
124
- * @param {(device: MatterbridgeEndpoint) => Promise<void>} callback - The callback function to call with each device.
125
- * @returns {Promise<void>} A promise that resolves when all callbacks have been called.
126
- */
127
25
  forEach(callback: (device: MatterbridgeEndpoint) => Promise<void>): Promise<void>;
128
- /**
129
- * Sets the log level.
130
- *
131
- * @param {LogLevel} logLevel - The log level to set.
132
- */
133
26
  set logLevel(logLevel: LogLevel);
134
27
  }
135
- //# sourceMappingURL=deviceManager.d.ts.map