@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
@@ -1,340 +0,0 @@
1
- import { threadId, isMainThread } from 'node:worker_threads';
2
- import { EventEmitter } from 'node:events';
3
- import { AnsiLogger, CYAN, db, debugStringify, er, REVERSE, REVERSEOFF } from 'node-ansi-logger';
4
- import { hasParameter, logError, Tracker } from '@matterbridge/utils';
5
- export class WorkerServer extends EventEmitter {
6
- log;
7
- name;
8
- matterbridge;
9
- color;
10
- parentPort;
11
- managerPort;
12
- broadcastChannel = new BroadcastChannel('broadcast-channel');
13
- debug = hasParameter('debug') || hasParameter('verbose');
14
- verbose = hasParameter('verbose');
15
- tracker;
16
- constructor(name, parentPort, workerData) {
17
- super();
18
- this.name = name;
19
- if (!parentPort)
20
- throw new Error(`WorkerServer ${name}: parentPort is not available. This worker must be started by a parent.`);
21
- this.parentPort = parentPort;
22
- if (!workerData.managerPort)
23
- throw new Error('MatterbridgeWorker: managerPort is not available in WorkerData.');
24
- this.managerPort = workerData.managerPort;
25
- if (!workerData.matterbridge)
26
- throw new Error('MatterbridgeWorker: matterbridge is not available in WorkerData.');
27
- this.matterbridge = workerData.matterbridge;
28
- this.color = workerData.color;
29
- this.debug = workerData.debug || false;
30
- this.log = new AnsiLogger({
31
- logName: name + REVERSE + '#' + threadId + REVERSEOFF,
32
- logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */,
33
- logLevel: this.debug ? "debug" /* LogLevel.DEBUG */ : "info" /* LogLevel.INFO */,
34
- });
35
- if (this.color)
36
- this.log.logNameColor = `\x1b[38;5;${this.color}m`;
37
- this.tracker = new Tracker(name, this.debug, false);
38
- // @ts-expect-error accessing private property
39
- this.tracker.log.logNameColor = this.log.logNameColor;
40
- this.log.debug(`WorkerServer creating ${name} threadId ${CYAN}${threadId}${db} and pid ${CYAN}${process.pid}${db} (${isMainThread ? 'main' : 'worker'} thread)...`);
41
- // this.log.debug(`WorkerServer creating ${name} with argv ${debugStringify(process.argv)}${db}...`);
42
- // this.log.debug(`WorkerServer creating ${name} with env ${debugStringify(process.env)}${db}...`);
43
- // Listen for control messages from manager (parentPort)
44
- this.parentPort.on('message', this.controlMessageHandler.bind(this));
45
- // Listen for worker messages from manager (managerPort)
46
- this.managerPort.on('message', this.managerMessageHandler.bind(this));
47
- // Listen for broadcast messages from other workers (broadcastChannel)
48
- this.broadcastChannel.onmessage = this.broadcastMessageHandler.bind(this);
49
- this.log.debug(`WorkerServer created ${name}`);
50
- }
51
- controlMessageHandler(msg) {
52
- // this.log.debug(`WorkerServer ${this.name} received control message: ${debugStringify(msg)}`);
53
- switch (msg.type) {
54
- case 'init':
55
- this.log.debug(`WorkerServer ${this.name} received init`);
56
- this.tracker.start();
57
- break;
58
- case 'ping':
59
- // this.log.debug(`WorkerServer ${this.name}: received ping`);
60
- this.parentPost({ type: 'pong' });
61
- this.tracker.runGarbageCollector('major');
62
- this.tracker.runGarbageCollector('minor');
63
- break;
64
- case 'exit':
65
- this.log.debug(`WorkerServer ${this.name} received exit`);
66
- this.tracker.stop();
67
- break;
68
- }
69
- this.emit('control_message', msg);
70
- }
71
- managerMessageHandler(message) {
72
- // this.log.debug(`WorkerServer ${this.name} received manager message: ${debugStringify(message)}`);
73
- this.emit('manager_message', message);
74
- }
75
- broadcastMessageHandler(event) {
76
- // this.log.debug(`WorkerServer ${this.name} received broadcast message: ${debugStringify(event.data)}`);
77
- this.emit('broadcast_message', event.data);
78
- }
79
- /**
80
- * Generate a pseudo-random identifier between 100,000,000 and 999,999,999.
81
- *
82
- * @returns {number} A nine-digit identifier.
83
- */
84
- getUniqueId() {
85
- return Math.floor(Math.random() * 900000000) + 100000000;
86
- }
87
- /**
88
- * Type guard to verify a value matches the WorkerMessageRequest structure.
89
- *
90
- * @param {unknown} value Value to test.
91
- * @returns {value is WorkerMessageRequest} True when the value looks like a request message.
92
- */
93
- isWorkerRequest(value) {
94
- if (typeof value !== 'object' || value === null) {
95
- return false;
96
- }
97
- const message = value;
98
- if (typeof message.type !== 'string' ||
99
- typeof message.src !== 'string' ||
100
- typeof message.dst !== 'string' ||
101
- typeof message.id !== 'number' ||
102
- typeof message.timestamp !== 'number') {
103
- return false;
104
- }
105
- return message.result === undefined && message.error === undefined;
106
- }
107
- /**
108
- * Type guard to verify a value matches a specific WorkerMessageRequest structure.
109
- *
110
- * @param {unknown} value Value to test.
111
- * @param {K} type Worker message type to match.
112
- * @returns {value is WorkerMessageRequest<K>} True when the value looks like a request message of the requested type.
113
- */
114
- isWorkerRequestOfType(value, type) {
115
- return this.isWorkerRequest(value) && value.type === type;
116
- }
117
- /**
118
- * Type guard to verify a value matches the WorkerMessageResponse structure.
119
- *
120
- * @param {unknown} value Value to test.
121
- * @returns {value is WorkerMessageResponse} True when the value looks like a response message.
122
- */
123
- isWorkerResponse(value) {
124
- if (typeof value !== 'object' || value === null) {
125
- return false;
126
- }
127
- const message = value;
128
- if (typeof message.type !== 'string' ||
129
- typeof message.src !== 'string' ||
130
- typeof message.dst !== 'string' ||
131
- typeof message.id !== 'number' ||
132
- typeof message.timestamp !== 'number') {
133
- return false;
134
- }
135
- const hasError = typeof message.error === 'string';
136
- const hasResult = message.result !== undefined;
137
- return hasError !== hasResult;
138
- }
139
- /**
140
- * Type guard to verify a value matches a specific WorkerMessageResponse structure.
141
- *
142
- * @param {unknown} value Value to test.
143
- * @param {K} type Worker message type to match.
144
- * @returns {value is WorkerMessageResponse<K>} True when the value looks like a response message of the requested type.
145
- */
146
- isWorkerResponseOfType(value, type) {
147
- return this.isWorkerResponse(value) && value.type === type;
148
- }
149
- /**
150
- * Exits the worker process.
151
- *
152
- * This method sends an exit message to the parent, closes all ports and channels, and then exits the process with the given code.
153
- *
154
- * @param {number} code - The exit code (0 for success, non-zero for failure).
155
- */
156
- exit(code) {
157
- this.log.debug(`WorkerServer ${this.name} exiting...`);
158
- this.parentPost({ type: 'exit', success: true });
159
- this.parentPort?.close();
160
- this.managerPort.close();
161
- this.broadcastChannel.close();
162
- setTimeout(() => {
163
- if (WorkerServer.logKeepAlives(this.log)) {
164
- this.log.warn(`WorkerServer ${this.name} has active handles/requests. Forcing exit.`);
165
- // eslint-disable-next-line n/no-process-exit
166
- process.exit(code);
167
- }
168
- }, 100);
169
- }
170
- /**
171
- * Sends a control message to the parent through parentPort
172
- *
173
- * @param {ControlMessage} message - The control message to send.
174
- */
175
- parentPost(message) {
176
- if (!this.parentPort)
177
- throw new Error(`WorkerServer ${this.name}: parentPort is not available.`);
178
- this.parentPort.postMessage(message);
179
- }
180
- /**
181
- * Sends a message to the manager
182
- *
183
- * @param {WorkerMessage} message - The message to send.
184
- */
185
- managerPost(message) {
186
- this.managerPort.postMessage(message);
187
- }
188
- /**
189
- * Broadcast a message to all workers.
190
- *
191
- * @param {WorkerMessage} message - The message to broadcast.
192
- */
193
- broadcast(message) {
194
- if (this.verbose)
195
- this.log.debug(`Broadcasting message: ${debugStringify(message)}`);
196
- this.broadcastChannel.postMessage(message);
197
- }
198
- /**
199
- * Send a request message from the worker implementation.
200
- *
201
- * @template K
202
- * @param {WorkerMessageRequest<K>} message The request message to send.
203
- * @returns {void}
204
- */
205
- request(message) {
206
- if (message.id === undefined) {
207
- message.id = this.getUniqueId();
208
- }
209
- if (message.timestamp === undefined) {
210
- message.timestamp = Date.now();
211
- }
212
- if (!this.isWorkerRequest(message)) {
213
- this.log.error(`Invalid request message format for broadcast: ${debugStringify(message)}`);
214
- return;
215
- }
216
- if (this.verbose)
217
- this.log.debug(`Broadcasting request message: ${debugStringify(message)}`);
218
- try {
219
- this.broadcastChannel.postMessage(message);
220
- }
221
- catch (error) {
222
- logError(this.log, `Failed to broadcast request message ${debugStringify(message)}${er}`, error);
223
- }
224
- }
225
- /**
226
- * Send a response message from the worker implementation.
227
- *
228
- * @template K
229
- * @param {WorkerMessageResponse<K>} message The response message to send.
230
- * @returns {void}
231
- */
232
- respond(message) {
233
- if (typeof message.timestamp === 'number') {
234
- message.elapsed = Date.now() - message.timestamp;
235
- }
236
- if (message.timestamp === undefined) {
237
- message.timestamp = Date.now();
238
- }
239
- if (!this.isWorkerResponse(message)) {
240
- this.log.error(`Invalid response message format for broadcast: ${debugStringify(message)}`);
241
- return;
242
- }
243
- if (this.verbose)
244
- this.log.debug(`Broadcasting response message: ${debugStringify(message)}`);
245
- try {
246
- this.broadcastChannel.postMessage(message);
247
- }
248
- catch (error) {
249
- logError(this.log, `Failed to broadcast response message ${debugStringify(message)}${er}`, error);
250
- }
251
- }
252
- /**
253
- * Fetch data from a worker.
254
- * It broadcasts a request message and waits for a valid response with the same id.
255
- *
256
- * @template K
257
- * @param {WorkerMessageRequest<K>} message - The typed request message to fetch.
258
- * @param {number} timeout - The timeout in milliseconds to wait for a response. Default is 250ms.
259
- * @returns {Promise<WorkerMessageResponseSuccess<K>>} A promise that resolves with the successful response from the worker or rejects on timeout.
260
- * @throws {Error} If the fetch operation times out after 250ms or if an error response is received or if the response is malformed.
261
- */
262
- async fetch(message, timeout = 250) {
263
- if (message.id === undefined) {
264
- message.id = this.getUniqueId();
265
- }
266
- if (message.timestamp === undefined) {
267
- message.timestamp = Date.now();
268
- }
269
- if (this.verbose)
270
- this.log.debug(`Fetching message: ${debugStringify(message)}`);
271
- return new Promise((resolve, reject) => {
272
- const responseHandler = (msg) => {
273
- if (this.isWorkerResponseOfType(msg, message.type) && msg.id === message.id) {
274
- clearTimeout(timeoutId);
275
- this.off('broadcast_message', responseHandler);
276
- if (this.verbose)
277
- this.log.debug(`Fetch response: ${debugStringify(msg)}`);
278
- if ('error' in msg && typeof msg.error === 'string') {
279
- reject(new Error(`Fetch received error response ${msg.error} to message type ${message.type} id ${message.id} from ${message.src} to ${message.dst}`));
280
- }
281
- else if ('result' in msg) {
282
- resolve(msg);
283
- }
284
- else {
285
- reject(new Error(`Fetch received malformed response for message type ${message.type} id ${message.id} from ${message.src} to ${message.dst}`));
286
- }
287
- return;
288
- }
289
- };
290
- this.on('broadcast_message', responseHandler);
291
- this.request(message);
292
- const timeoutId = setTimeout(() => {
293
- this.off('broadcast_message', responseHandler);
294
- reject(new Error(`Fetch timeout after ${timeout}ms for message type ${message.type} id ${message.id} from ${message.src} to ${message.dst}`));
295
- }, timeout);
296
- });
297
- }
298
- /**
299
- * Summarize live libuv handles/requests inside a process.
300
- *
301
- * @param {AnsiLogger} log - Logger to use for output
302
- *
303
- * @returns {number} - The total number of active handles and requests
304
- */
305
- static logKeepAlives(log) {
306
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
307
- const handles = process._getActiveHandles?.() ?? [];
308
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
309
- const requests = process._getActiveRequests?.() ?? [];
310
- const fmtHandle = (h, i) => {
311
- const ctor = h?.constructor?.name ?? 'Unknown';
312
- // Timer-like?
313
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
314
- const hasRef = typeof h?.hasRef === 'function' ? h.hasRef() : undefined;
315
- // MessagePort?
316
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
317
- const isPort = h?.constructor?.name?.includes('MessagePort');
318
- // Socket/Server?
319
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
320
- const fd = h?.fd ?? h?._handle?.fd;
321
- return { i, type: ctor, hasRef, isPort, fd };
322
- };
323
- const fmtReq = (r, i) => {
324
- const ctor = r?.constructor?.name ?? 'Unknown';
325
- return { i, type: ctor };
326
- };
327
- const summary = {
328
- handles: handles.map(fmtHandle),
329
- requests: requests.map(fmtReq),
330
- };
331
- if (summary.handles.length === 0 && summary.requests.length === 0) {
332
- log.debug('KeepAlive: no active handles or requests.');
333
- }
334
- else {
335
- log.debug('KeepAlive:\n', JSON.stringify(summary, null, 2));
336
- }
337
- return summary.handles.length + summary.requests.length;
338
- }
339
- }
340
- //# sourceMappingURL=workerServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerServer.js","sourceRoot":"","sources":["../../src/workers/workerServer.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { MessagePort } from 'node:worker_threads';
2
- import type { Matterbridge } from '../matterbridge.js';
3
- /** Data passed to each worker on creation */
4
- export interface WorkerData {
5
- name: string;
6
- managerPort: MessagePort;
7
- matterbridge: Matterbridge;
8
- color?: number;
9
- debug?: boolean;
10
- }
11
- /** Control messages sent from manager to workers */
12
- export type ControlMessage = {
13
- type: 'init';
14
- success?: boolean;
15
- } | {
16
- type: 'ping';
17
- } | {
18
- type: 'pong';
19
- } | {
20
- type: 'exit';
21
- success?: boolean;
22
- };
23
- //# sourceMappingURL=workerTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerTypes.d.ts","sourceRoot":"","sources":["../../src/workers/workerTypes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- // workerTypes.ts
2
- export {};
3
- //# sourceMappingURL=workerTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerTypes.js","sourceRoot":"","sources":["../../src/workers/workerTypes.ts"],"names":[],"mappings":"AAAA,iBAAiB"}