@matterbridge/core 3.5.3 → 3.5.4-dev-20260211-520e349

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 +62 -581
  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 +15 -396
  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/pluginManager.d.ts +0 -307
  97. package/dist/pluginManager.js +6 -346
  98. package/dist/spawn.d.ts +0 -32
  99. package/dist/spawn.js +1 -71
  100. package/dist/utils/export.d.ts +0 -1
  101. package/dist/utils/export.js +0 -1
  102. package/package.json +27 -6
  103. package/dist/cli.d.ts.map +0 -1
  104. package/dist/cli.js.map +0 -1
  105. package/dist/cliEmitter.d.ts.map +0 -1
  106. package/dist/cliEmitter.js.map +0 -1
  107. package/dist/cliHistory.d.ts.map +0 -1
  108. package/dist/cliHistory.js.map +0 -1
  109. package/dist/clusters/export.d.ts.map +0 -1
  110. package/dist/clusters/export.js.map +0 -1
  111. package/dist/crypto/attestationDecoder.d.ts +0 -180
  112. package/dist/crypto/attestationDecoder.d.ts.map +0 -1
  113. package/dist/crypto/attestationDecoder.js +0 -176
  114. package/dist/crypto/attestationDecoder.js.map +0 -1
  115. package/dist/crypto/declarationDecoder.d.ts +0 -72
  116. package/dist/crypto/declarationDecoder.d.ts.map +0 -1
  117. package/dist/crypto/declarationDecoder.js +0 -241
  118. package/dist/crypto/declarationDecoder.js.map +0 -1
  119. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.d.ts +0 -9
  120. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.d.ts.map +0 -1
  121. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.js +0 -120
  122. package/dist/crypto/extract/342/200/220cert/342/200/220extensions.js.map +0 -1
  123. package/dist/crypto/read-extensions.d.ts +0 -2
  124. package/dist/crypto/read-extensions.d.ts.map +0 -1
  125. package/dist/crypto/read-extensions.js +0 -81
  126. package/dist/crypto/read-extensions.js.map +0 -1
  127. package/dist/crypto/testData.d.ts +0 -31
  128. package/dist/crypto/testData.d.ts.map +0 -1
  129. package/dist/crypto/testData.js +0 -131
  130. package/dist/crypto/testData.js.map +0 -1
  131. package/dist/crypto/walk-der.d.ts +0 -2
  132. package/dist/crypto/walk-der.d.ts.map +0 -1
  133. package/dist/crypto/walk-der.js +0 -165
  134. package/dist/crypto/walk-der.js.map +0 -1
  135. package/dist/deviceManager.d.ts.map +0 -1
  136. package/dist/deviceManager.js.map +0 -1
  137. package/dist/devices/airConditioner.d.ts.map +0 -1
  138. package/dist/devices/airConditioner.js.map +0 -1
  139. package/dist/devices/basicVideoPlayer.d.ts.map +0 -1
  140. package/dist/devices/basicVideoPlayer.js.map +0 -1
  141. package/dist/devices/batteryStorage.d.ts.map +0 -1
  142. package/dist/devices/batteryStorage.js.map +0 -1
  143. package/dist/devices/castingVideoPlayer.d.ts.map +0 -1
  144. package/dist/devices/castingVideoPlayer.js.map +0 -1
  145. package/dist/devices/cooktop.d.ts.map +0 -1
  146. package/dist/devices/cooktop.js.map +0 -1
  147. package/dist/devices/dishwasher.d.ts.map +0 -1
  148. package/dist/devices/dishwasher.js.map +0 -1
  149. package/dist/devices/evse.d.ts.map +0 -1
  150. package/dist/devices/evse.js.map +0 -1
  151. package/dist/devices/export.d.ts.map +0 -1
  152. package/dist/devices/export.js.map +0 -1
  153. package/dist/devices/extractorHood.d.ts.map +0 -1
  154. package/dist/devices/extractorHood.js.map +0 -1
  155. package/dist/devices/heatPump.d.ts.map +0 -1
  156. package/dist/devices/heatPump.js.map +0 -1
  157. package/dist/devices/laundryDryer.d.ts.map +0 -1
  158. package/dist/devices/laundryDryer.js.map +0 -1
  159. package/dist/devices/laundryWasher.d.ts.map +0 -1
  160. package/dist/devices/laundryWasher.js.map +0 -1
  161. package/dist/devices/microwaveOven.d.ts.map +0 -1
  162. package/dist/devices/microwaveOven.js.map +0 -1
  163. package/dist/devices/oven.d.ts.map +0 -1
  164. package/dist/devices/oven.js.map +0 -1
  165. package/dist/devices/refrigerator.d.ts.map +0 -1
  166. package/dist/devices/refrigerator.js.map +0 -1
  167. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  168. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  169. package/dist/devices/solarPower.d.ts.map +0 -1
  170. package/dist/devices/solarPower.js.map +0 -1
  171. package/dist/devices/speaker.d.ts.map +0 -1
  172. package/dist/devices/speaker.js.map +0 -1
  173. package/dist/devices/temperatureControl.d.ts.map +0 -1
  174. package/dist/devices/temperatureControl.js.map +0 -1
  175. package/dist/devices/waterHeater.d.ts.map +0 -1
  176. package/dist/devices/waterHeater.js.map +0 -1
  177. package/dist/dgram/export.d.ts.map +0 -1
  178. package/dist/dgram/export.js.map +0 -1
  179. package/dist/export.d.ts.map +0 -1
  180. package/dist/export.js.map +0 -1
  181. package/dist/frontend.d.ts.map +0 -1
  182. package/dist/frontend.js.map +0 -1
  183. package/dist/helpers.d.ts.map +0 -1
  184. package/dist/helpers.js.map +0 -1
  185. package/dist/jestutils/export.d.ts.map +0 -1
  186. package/dist/jestutils/export.js.map +0 -1
  187. package/dist/jestutils/jestHelpers.d.ts.map +0 -1
  188. package/dist/jestutils/jestHelpers.js.map +0 -1
  189. package/dist/matter/behaviors.d.ts.map +0 -1
  190. package/dist/matter/behaviors.js.map +0 -1
  191. package/dist/matter/clusters.d.ts.map +0 -1
  192. package/dist/matter/clusters.js.map +0 -1
  193. package/dist/matter/devices.d.ts.map +0 -1
  194. package/dist/matter/devices.js.map +0 -1
  195. package/dist/matter/endpoints.d.ts.map +0 -1
  196. package/dist/matter/endpoints.js.map +0 -1
  197. package/dist/matter/export.d.ts.map +0 -1
  198. package/dist/matter/export.js.map +0 -1
  199. package/dist/matter/types.d.ts.map +0 -1
  200. package/dist/matter/types.js.map +0 -1
  201. package/dist/matterNode.d.ts.map +0 -1
  202. package/dist/matterNode.js.map +0 -1
  203. package/dist/matterbridge.d.ts.map +0 -1
  204. package/dist/matterbridge.js.map +0 -1
  205. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  206. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  207. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  208. package/dist/matterbridgeBehaviors.js.map +0 -1
  209. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  210. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  211. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  212. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  213. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  214. package/dist/matterbridgeEndpoint.js.map +0 -1
  215. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  216. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  217. package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
  218. package/dist/matterbridgeEndpointTypes.js.map +0 -1
  219. package/dist/matterbridgePlatform.d.ts.map +0 -1
  220. package/dist/matterbridgePlatform.js.map +0 -1
  221. package/dist/mb_coap.d.ts +0 -24
  222. package/dist/mb_coap.d.ts.map +0 -1
  223. package/dist/mb_coap.js +0 -89
  224. package/dist/mb_coap.js.map +0 -1
  225. package/dist/mb_health.d.ts +0 -77
  226. package/dist/mb_health.d.ts.map +0 -1
  227. package/dist/mb_health.js +0 -147
  228. package/dist/mb_health.js.map +0 -1
  229. package/dist/mb_mdns.d.ts +0 -24
  230. package/dist/mb_mdns.d.ts.map +0 -1
  231. package/dist/mb_mdns.js +0 -285
  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
@@ -1,45 +0,0 @@
1
- // testWorker.ts
2
- // Worker entry for test logic
3
- import { parentPort, workerData } from 'node:worker_threads';
4
- // Third-party modules
5
- import { debugStringify } from 'node-ansi-logger';
6
- import { WorkerServer } from './workerServer.js';
7
- const server = new WorkerServer('TestWorker', parentPort, workerData);
8
- server.on('control_message', async (msg) => {
9
- // Handle control messages from manager if needed
10
- if (msg.type !== 'ping')
11
- server.log.debug(`${server.name} received control message: ${debugStringify(msg)}`);
12
- switch (msg.type) {
13
- case 'init':
14
- // Initialization logic if needed
15
- server.parentPost({ ...msg, success: true });
16
- break;
17
- case 'ping':
18
- // Ping handled in WorkerServer
19
- break;
20
- case 'exit':
21
- // Cleanup logic if needed
22
- server.parentPost({ ...msg, success: true });
23
- server.exit(0);
24
- break;
25
- }
26
- });
27
- server.on('manager_message', async (msg) => {
28
- // Handle direct messages from manager if needed
29
- server.log.debug(`${server.name} received manager message: ${debugStringify(msg)}`);
30
- switch (msg.type) {
31
- default:
32
- // Handle unknown message types
33
- break;
34
- }
35
- });
36
- server.on('broadcast_message', (msg) => {
37
- // Handle broadcast messages from other workers if needed
38
- server.log.debug(`${server.name} received broadcast message: ${debugStringify(msg)}`);
39
- switch (msg.type) {
40
- default:
41
- // Handle unknown message types
42
- break;
43
- }
44
- });
45
- //# sourceMappingURL=testWorker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testWorker.js","sourceRoot":"","sources":["../../src/workers/testWorker.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,8BAA8B;AAE9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEtE,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzC,iDAAiD;IACjD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,8BAA8B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7G,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,iCAAiC;YACjC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,MAAM;YACT,+BAA+B;YAC/B,MAAM;QACR,KAAK,MAAM;YACT,0BAA0B;YAC1B,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,MAAM;IACV,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzC,gDAAgD;IAChD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,8BAA8B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpF,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB;YACE,+BAA+B;YAC/B,MAAM;IACV,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACrC,yDAAyD;IACzD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,gCAAgC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtF,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB;YACE,+BAA+B;YAC/B,MAAM;IACV,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Memory Stress Test (malloc/free simulation).
3
- *
4
- * The allocated buffer stays in the rss space (not in the heap).
5
- * As such, it is not tracked by V8's heap statistics.
6
- * A call to global.gc() is needed to trigger garbage collection and free the memory.
7
- * This requires Node.js to be started with the --expose-gc flag.
8
- * If not started manually, the memory will be freed when the gc is called.
9
- */
10
- export declare function mallocStressTest(): void;
11
- /**
12
- * Read/Write Stress Test with readFileSync and writeFileSync
13
- */
14
- export declare function readWriteStressTest(): Promise<void>;
15
- /**
16
- * CPU Stress Test (simulated work)
17
- */
18
- export declare function cpuStressTest(): void;
19
- //# sourceMappingURL=usage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/workers/usage.ts"],"names":[],"mappings":"AAwCA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,SAe/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,kBAmCxC;AAED;;GAEG;AACH,wBAAgB,aAAa,SAgC5B"}
@@ -1,140 +0,0 @@
1
- /* eslint-disable no-console */
2
- // Use: node --inspect=0.0.0.0:9229 --trace-gc --expose-gc dist/workers/usage --debug --trace --loader --verbose
3
- if (process.argv.includes('--loader') || process.argv.includes('-loader'))
4
- console.log('\u001B[32mUsage loaded.\u001B[40;0m');
5
- // import { Logger, LogLevel as MatterLogLevel, LogFormat as MatterLogFormat } from '@matter/general';
6
- // import { BridgedDeviceBasicInformation } from '@matter/types/clusters/bridged-device-basic-information';
7
- // import { PowerSource } from '@matter/types/clusters/power-source';
8
- // import { FabricAction } from '@matter/protocol';
9
- import { Tracker, Inspector } from '@matterbridge/utils';
10
- // Logger.format = MatterLogFormat.ANSI;
11
- // Logger.level = MatterLogLevel.INFO;
12
- // Logger.get('UsageWorker').info('Usage worker started.');
13
- // Logger.get('UsageWorker').info('Usage worker started.', BridgedDeviceBasicInformation.Cluster.id, PowerSource.Cluster.id);
14
- const tracker = new Tracker('Tracker', true, true);
15
- tracker.start();
16
- const inspector = new Inspector('Inspector', true, true);
17
- await inspector.start();
18
- setTimeout(() => {
19
- tracker.resetPeaks();
20
- }, 30000); // Reset peaks after 30 seconds
21
- setTimeout(() => {
22
- // cpuStressTest();
23
- // mallocStressTest();
24
- // readWriteStressTest();
25
- }, 60000); // After 1 minute
26
- setInterval(() => {
27
- // cpuStressTest();
28
- // mallocStressTest();
29
- // readWriteStressTest();
30
- }, 60000); // Each minute
31
- /**
32
- * Memory Stress Test (malloc/free simulation).
33
- *
34
- * The allocated buffer stays in the rss space (not in the heap).
35
- * As such, it is not tracked by V8's heap statistics.
36
- * A call to global.gc() is needed to trigger garbage collection and free the memory.
37
- * This requires Node.js to be started with the --expose-gc flag.
38
- * If not started manually, the memory will be freed when the gc is called.
39
- */
40
- export function mallocStressTest() {
41
- const allocations = [];
42
- for (let i = 0; i < 50; i++) {
43
- // Allocate 10MB chunks
44
- const buffer = Buffer.alloc(10 * 1024 * 1024, 'a');
45
- allocations.push(buffer);
46
- console.log(`Allocated ${(i + 1) * 10} MB`);
47
- }
48
- // Free memory after some time
49
- setTimeout(() => {
50
- allocations.length = 0; // Clear references
51
- console.log('Freed allocated memory');
52
- tracker.runGarbageCollector('minor');
53
- tracker.runGarbageCollector('major');
54
- }, 30000); // Free after 30 seconds
55
- }
56
- /**
57
- * Read/Write Stress Test with readFileSync and writeFileSync
58
- */
59
- export async function readWriteStressTest() {
60
- const fs = await import('node:fs');
61
- const path = await import('node:path');
62
- const os = await import('node:os');
63
- const filePath = path.join(os.tmpdir(), 'tempfile.dat');
64
- const fd = fs.openSync(filePath, 'w');
65
- const chunk = 'x'.repeat(64 * 1024); // small string stays in heap
66
- const iterations = Math.ceil((50 * 1024 * 1024) / chunk.length);
67
- for (let i = 0; i < iterations; i++) {
68
- fs.writeSync(fd, chunk);
69
- }
70
- fs.closeSync(fd);
71
- console.log('Wrote 50 MB');
72
- const readFd = fs.openSync(filePath, 'r');
73
- const buf = new Uint8Array(chunk.length); // Node accepts any ArrayBufferView
74
- let total = 0;
75
- while (true) {
76
- const bytes = fs.readSync(readFd, buf);
77
- if (bytes === 0)
78
- break;
79
- total += bytes;
80
- // optionally process buf here
81
- }
82
- fs.closeSync(readFd);
83
- console.log(`Read ${total / (1024 * 1024)} MB`);
84
- fs.unlinkSync(filePath);
85
- // Free memory after some time
86
- setTimeout(() => {
87
- tracker.runGarbageCollector('minor');
88
- tracker.runGarbageCollector('major');
89
- }, 30000); // Free after 30 seconds
90
- }
91
- /**
92
- * CPU Stress Test (simulated work)
93
- */
94
- export function cpuStressTest() {
95
- // CPU-intensive work: prime number calculation
96
- const startTime = Date.now();
97
- let _primeCount = 0;
98
- // Calculate primes up to 10000 (CPU intensive)
99
- for (let num = 2; num <= 10000; num++) {
100
- let isPrime = true;
101
- for (let i = 2; i <= Math.sqrt(num); i++) {
102
- if (num % i === 0) {
103
- isPrime = false;
104
- break;
105
- }
106
- }
107
- if (isPrime)
108
- _primeCount++;
109
- }
110
- // More CPU work: array sorting
111
- const largeArray = Array.from({ length: 5000 }, () => Math.random() * 1000000);
112
- largeArray.sort((a, b) => b - a); // Reverse sort
113
- // Hash calculation simulation
114
- let hash = 0;
115
- const str = JSON.stringify(largeArray.slice(0, 100));
116
- for (let i = 0; i < str.length; i++) {
117
- const char = str.charCodeAt(i);
118
- hash = (hash << 5) - hash + char;
119
- hash = hash & hash; // Convert to 32bit integer
120
- }
121
- const _duration = Date.now() - startTime;
122
- console.log(`CPU work completed: Found ${_primeCount} primes, sorted ${largeArray.length} numbers, hash: ${hash}, duration: ${_duration}ms`);
123
- }
124
- /**
125
- * Graceful shutdown
126
- */
127
- async function shutdown() {
128
- console.log('Stopping inspector...');
129
- await inspector.stop();
130
- console.log('Inspector stopped.');
131
- console.log('Stopping tracker...');
132
- tracker.stop();
133
- console.log('Tracker stopped.');
134
- console.log('Usage worker exiting.');
135
- // eslint-disable-next-line n/no-process-exit
136
- process.exit(0);
137
- }
138
- process.on('SIGINT', shutdown);
139
- process.on('SIGTERM', shutdown);
140
- //# sourceMappingURL=usage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/workers/usage.ts"],"names":[],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import { Worker } from 'node:worker_threads';
2
- import { AnsiLogger } from 'node-ansi-logger';
3
- import { WorkerMessage } from '@matterbridge/types';
4
- import { ControlMessage } from './workerTypes.js';
5
- /**
6
- * Generates a unique ID with range 100000-999999.
7
- *
8
- * @returns {number} - A unique ID between 100000 and 999999
9
- */
10
- export declare function getUniqueId(): number;
11
- export declare class WorkerManager {
12
- readonly log: AnsiLogger;
13
- private readonly matterbridgeWorker;
14
- private readonly frontendWorker;
15
- private readonly matterWorker;
16
- private readonly testWorker;
17
- private readonly broadcastChannel;
18
- private readonly matterbridgeChannel;
19
- private readonly frontendChannel;
20
- private readonly matterChannel;
21
- private readonly testChannel;
22
- private readonly pingIntervalTimeout;
23
- private readonly pingIntervalMs;
24
- private matterbridgePongTimeout;
25
- private frontendPongTimeout;
26
- private matterPongTimeout;
27
- private testPongTimeout;
28
- private readonly tracker;
29
- /**
30
- * Creates an instance of WorkerManager, initializing and managing multiple workers.
31
- *
32
- * @remarks
33
- * The manager sets up communication channels between itself and the workers:
34
- * - parentPort: manager <-> worker (control with ControlMessage)
35
- * - port1: manager -> worker (direct communication for messages from manager to worker)
36
- * - port2: manager <- worker (direct communication for messages from worker to manager)
37
- * - broadcastChannel: broadcast messages to manager and all workers
38
- */
39
- constructor();
40
- /**
41
- * Sends a control message to a specific worker.
42
- *
43
- * @param {Worker} worker - The worker to send the message to.
44
- * @param {ControlMessage} msg - The message to send.
45
- */
46
- postControlMessage(worker: Worker, msg: ControlMessage): void;
47
- /**
48
- * Sends a control message to all workers.
49
- *
50
- * @param {ControlMessage} msg - The message to send.
51
- */
52
- postControlMessageToAll(msg: ControlMessage): void;
53
- /**
54
- * Initializes all workers.
55
- */
56
- initializeAllWorkers(): void;
57
- /**
58
- * Shuts down all workers gracefully.
59
- */
60
- shutdownAllWorkers(): void;
61
- /**
62
- * Sends a message to the Matterbridge worker via the port 1 of the established MessageChannel.
63
- *
64
- * @param {MatterbridgeWorkerMessage} message - The message to be posted to the Matterbridge worker.
65
- */
66
- postToMatterbridgeWorker(message: WorkerMessage): void;
67
- /**
68
- * Sends a message to the Frontend worker via the port 1 of the established MessageChannel.
69
- *
70
- * @param {FrontendWorkerMessage} message - The message to be posted to the Frontend worker.
71
- */
72
- postToFrontendWorker(message: WorkerMessage): void;
73
- /**
74
- * Sends a message to the Plugin worker via the port 1 of the established MessageChannel.
75
- *
76
- * @param {PluginWorkerMessage} message - The message to be posted to the Plugin worker.
77
- */
78
- postToMatterWorker(message: WorkerMessage): void;
79
- /**
80
- * Handle messages from matterbridgeWorker.
81
- * It uses the port 2 of the matterbridge MessageChannel for direct communication.
82
- *
83
- * @param {MatterbridgeWorkerMessage} msg The message from the matterbridgeWorker
84
- */
85
- matterbridgeMessageHandler(msg: WorkerMessage): void;
86
- /**
87
- * Handle messages from frontendWorker.
88
- * It uses the port 2 of the frontend MessageChannel for direct communication.
89
- *
90
- * @param {FrontendWorkerMessage} msg The message from the frontendWorker
91
- */
92
- frontendMessageHandler(msg: WorkerMessage): void;
93
- /**
94
- * Handle messages from matterWorker.
95
- * It uses the port 2 of the matter MessageChannel for direct communication.
96
- *
97
- * @param {MatterWorkerMessage} msg The message from the matterWorker
98
- */
99
- matterMessageHandler(msg: WorkerMessage): void;
100
- /**
101
- * Handle messages from testWorker.
102
- * It uses the port 2 of the test MessageChannel for direct communication.
103
- *
104
- * @param {TestWorkerMessage} msg The message from the testWorker
105
- */
106
- testMessageHandler(msg: WorkerMessage): void;
107
- /**
108
- * Handle broadcast messages from other workers.
109
- * It uses the BroadcastChannel for communication.
110
- *
111
- * @param {MessageEvent} event The message event containing the broadcast message
112
- */
113
- broadcastMessageHandler(event: MessageEvent): void;
114
- }
115
- //# sourceMappingURL=workerManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../src/workers/workerManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoC,MAAM,EAAiB,MAAM,qBAAqB,CAAC;AAM9F,OAAO,EAAE,UAAU,EAAiD,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAsB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIxE,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA2D9D;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAiCD,qBAAa,aAAa;IACxB,QAAQ,CAAC,GAAG,aAIT;IAEH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,uBAAuB,CAAyC;IACxE,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,eAAe,CAAyC;IAEhE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE;;;;;;;;;OASG;;IAqKH;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc;IAItD;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,cAAc;IAO3C;;OAEG;IACH,oBAAoB;IAIpB;;OAEG;IACH,kBAAkB;IAUlB;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,aAAa;IAI/C;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,aAAa;IAI3C;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,aAAa;IAIzC;;;;;OAKG;IACH,0BAA0B,CAAC,GAAG,EAAE,aAAa;IAc7C;;;;;OAKG;IACH,sBAAsB,CAAC,GAAG,EAAE,aAAa;IAczC;;;;;OAKG;IACH,oBAAoB,CAAC,GAAG,EAAE,aAAa;IAcvC;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,aAAa;IAQrC;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,YAAY;CAI5C"}