@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 +0,0 @@
1
- {"version":3,"file":"mb_coap.js","sourceRoot":"","sources":["../src/mb_coap.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- /**
2
- * @description This file contains the bin mb_health to check the Matterbridge health endpoint.
3
- * @file src/mb_health.ts
4
- * @author Luca Liguori
5
- * @created 2026-01-28
6
- * @version 1.0.0
7
- * @license Apache-2.0
8
- *
9
- * Copyright 2025, 2026, 2027 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
- /**
24
- * Checks the Matterbridge health endpoint.
25
- *
26
- * @param {string} url The URL to fetch.
27
- * @param {number} timeoutMs The timeout in milliseconds.
28
- * @returns {Promise<boolean>} True if the endpoint responds with a 2xx status code.
29
- */
30
- export declare function checkHealth(url: string, timeoutMs: number): Promise<boolean>;
31
- /**
32
- * Fetches the health endpoint response.
33
- *
34
- * @param {string} url The URL to fetch.
35
- * @param {number} timeoutMs The timeout in milliseconds.
36
- * @returns {Promise<{ ok: boolean; statusCode: number; body: string; json?: unknown }>} The response details.
37
- */
38
- export declare function fetchHealth(url: string, timeoutMs: number): Promise<{
39
- ok: boolean;
40
- statusCode: number;
41
- body: string;
42
- json?: unknown;
43
- }>;
44
- /**
45
- * Returns the exit code for the health check.
46
- *
47
- * @param {string} url The URL to fetch.
48
- * @param {number} timeoutMs The timeout in milliseconds.
49
- * @returns {Promise<number>} Exit code (0 if ok, 1 otherwise).
50
- */
51
- export declare function mbHealthExitCode(url: string, timeoutMs: number): Promise<number>;
52
- /**
53
- * CLI runner for mb_health.
54
- *
55
- * @param {string} url The URL to fetch.
56
- * @param {number} timeoutMs The timeout in milliseconds.
57
- * @param {(code: number) => never | void} exitFn Exit function (defaults to process.exit).
58
- * @returns {Promise<void>} Resolves when done.
59
- */
60
- export declare function mbHealthCli(url: string, timeoutMs: number, exitFn?: (code: number) => never | void): Promise<void>;
61
- /**
62
- * Default CLI entrypoint for `mb_health`.
63
- *
64
- * @param {(code: number) => never | void} exitFn Exit function (defaults to process.exit).
65
- * @returns {Promise<void>} Resolves when done.
66
- */
67
- export declare function mbHealthMain(exitFn?: (code: number) => never | void): Promise<void>;
68
- /**
69
- * Docker HEALTHCHECK usage:
70
- *
71
- * ```dockerfile
72
- * # After installing the matterbridge package globally (so the `mb_health` bin is on PATH)
73
- * HEALTHCHECK --interval=60s --timeout=10s --start-period=60s --retries=5 \
74
- * CMD mb_health || exit 1
75
- * ```
76
- */
77
- //# sourceMappingURL=mb_health.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mb_health.d.ts","sourceRoot":"","sources":["../src/mb_health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI5E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAiDtI;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAetI;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvG;AAED;;;;;;;;GAQG"}
package/dist/mb_health.js DELETED
@@ -1,147 +0,0 @@
1
- /**
2
- * @description This file contains the bin mb_health to check the Matterbridge health endpoint.
3
- * @file src/mb_health.ts
4
- * @author Luca Liguori
5
- * @created 2026-01-28
6
- * @version 1.0.0
7
- * @license Apache-2.0
8
- *
9
- * Copyright 2025, 2026, 2027 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
- import http from 'node:http';
24
- import https from 'node:https';
25
- /**
26
- * Checks the Matterbridge health endpoint.
27
- *
28
- * @param {string} url The URL to fetch.
29
- * @param {number} timeoutMs The timeout in milliseconds.
30
- * @returns {Promise<boolean>} True if the endpoint responds with a 2xx status code.
31
- */
32
- export function checkHealth(url, timeoutMs) {
33
- return fetchHealth(url, timeoutMs)
34
- .then(({ ok }) => ok)
35
- .catch(() => false);
36
- }
37
- /**
38
- * Fetches the health endpoint response.
39
- *
40
- * @param {string} url The URL to fetch.
41
- * @param {number} timeoutMs The timeout in milliseconds.
42
- * @returns {Promise<{ ok: boolean; statusCode: number; body: string; json?: unknown }>} The response details.
43
- */
44
- export function fetchHealth(url, timeoutMs) {
45
- return new Promise((resolve) => {
46
- const parsedUrl = new URL(url);
47
- const requestImpl = parsedUrl.protocol === 'https:' ? https : http;
48
- const request = requestImpl.request({
49
- protocol: parsedUrl.protocol,
50
- hostname: parsedUrl.hostname,
51
- port: parsedUrl.port,
52
- path: parsedUrl.pathname + parsedUrl.search,
53
- method: 'GET',
54
- headers: {
55
- 'cache-control': 'no-store',
56
- 'accept': 'application/json',
57
- },
58
- }, (response) => {
59
- const chunks = [];
60
- response.on('data', (chunk) => {
61
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
62
- });
63
- response.on('end', () => {
64
- const statusCode = response.statusCode ?? 0;
65
- const ok = statusCode >= 200 && statusCode < 300;
66
- const body = Buffer.concat(chunks).toString('utf8');
67
- let json;
68
- try {
69
- if (body.trim().length > 0)
70
- json = JSON.parse(body);
71
- }
72
- catch {
73
- json = undefined;
74
- }
75
- resolve({ ok, statusCode, body, json });
76
- });
77
- response.on('error', () => {
78
- resolve({ ok: false, statusCode: response.statusCode ?? 0, body: '' });
79
- });
80
- });
81
- request.on('error', () => resolve({ ok: false, statusCode: 0, body: '' }));
82
- request.setTimeout(timeoutMs, () => {
83
- request.destroy();
84
- resolve({ ok: false, statusCode: 0, body: '' });
85
- });
86
- request.end();
87
- });
88
- }
89
- /**
90
- * Returns the exit code for the health check.
91
- *
92
- * @param {string} url The URL to fetch.
93
- * @param {number} timeoutMs The timeout in milliseconds.
94
- * @returns {Promise<number>} Exit code (0 if ok, 1 otherwise).
95
- */
96
- export async function mbHealthExitCode(url, timeoutMs) {
97
- try {
98
- const { ok } = await fetchHealth(url, timeoutMs);
99
- return ok ? 0 : 1;
100
- }
101
- catch {
102
- return 1;
103
- }
104
- }
105
- /**
106
- * CLI runner for mb_health.
107
- *
108
- * @param {string} url The URL to fetch.
109
- * @param {number} timeoutMs The timeout in milliseconds.
110
- * @param {(code: number) => never | void} exitFn Exit function (defaults to process.exit).
111
- * @returns {Promise<void>} Resolves when done.
112
- */
113
- export async function mbHealthCli(url, timeoutMs, exitFn = process.exit) {
114
- const { ok, statusCode, body, json } = await fetchHealth(url, timeoutMs);
115
- if (json !== undefined) {
116
- // eslint-disable-next-line no-console
117
- console.log(JSON.stringify(json, null, 2));
118
- }
119
- else if (body) {
120
- // eslint-disable-next-line no-console
121
- console.log(body);
122
- }
123
- else {
124
- // eslint-disable-next-line no-console
125
- console.log(JSON.stringify({ ok, statusCode }, null, 2));
126
- }
127
- exitFn(ok ? 0 : 1);
128
- }
129
- /**
130
- * Default CLI entrypoint for `mb_health`.
131
- *
132
- * @param {(code: number) => never | void} exitFn Exit function (defaults to process.exit).
133
- * @returns {Promise<void>} Resolves when done.
134
- */
135
- export async function mbHealthMain(exitFn = process.exit) {
136
- await mbHealthCli('http://localhost:8283/health', 5000, exitFn);
137
- }
138
- /**
139
- * Docker HEALTHCHECK usage:
140
- *
141
- * ```dockerfile
142
- * # After installing the matterbridge package globally (so the `mb_health` bin is on PATH)
143
- * HEALTHCHECK --interval=60s --timeout=10s --start-period=60s --retries=5 \
144
- * CMD mb_health || exit 1
145
- * ```
146
- */
147
- //# sourceMappingURL=mb_health.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mb_health.js","sourceRoot":"","sources":["../src/mb_health.ts"],"names":[],"mappings":"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"}
package/dist/mb_mdns.d.ts DELETED
@@ -1,24 +0,0 @@
1
- /**
2
- * @description This file contains the bin mb_mdns for the class Mdns.
3
- * @file src/dgram/mb_mdns.ts
4
- * @author Luca Liguori
5
- * @created 2025-07-22
6
- * @version 1.0.0
7
- * @license Apache-2.0
8
- *
9
- * Copyright 2025, 2026, 2027 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
- export {};
24
- //# sourceMappingURL=mb_mdns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mb_mdns.d.ts","sourceRoot":"","sources":["../src/mb_mdns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
package/dist/mb_mdns.js DELETED
@@ -1,285 +0,0 @@
1
- /**
2
- * @description This file contains the bin mb_mdns for the class Mdns.
3
- * @file src/dgram/mb_mdns.ts
4
- * @author Luca Liguori
5
- * @created 2025-07-22
6
- * @version 1.0.0
7
- * @license Apache-2.0
8
- *
9
- * Copyright 2025, 2026, 2027 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
- import os from 'node:os';
24
- // Net imports
25
- import { MDNS_MULTICAST_IPV4_ADDRESS, MDNS_MULTICAST_IPV6_ADDRESS, MDNS_MULTICAST_PORT, Mdns } from '@matterbridge/dgram';
26
- // Utils imports
27
- import { getIntParameter, getParameter, getStringArrayParameter, hasParameter } from '@matterbridge/utils';
28
- // istanbul ignore next
29
- {
30
- if (hasParameter('h') || hasParameter('help')) {
31
- // eslint-disable-next-line no-console
32
- console.log(`Copyright (c) Matterbridge. All rights reserved. Version 1.0.0.\n`);
33
- // eslint-disable-next-line no-console
34
- console.log(`Usage: mb_mdns [options...]
35
-
36
- If no command line is provided, mb_mdns shows all incoming mDNS records on all interfaces (0.0.0.0 and ::).
37
-
38
- Options:
39
- -h, --help Show this help message and exit.
40
- --interfaceName <name> Network interface name to bind to (default all interfaces).
41
- --ipv4InterfaceAddress <address> IPv4 address of the network interface to bind to (default: 0.0.0.0).
42
- --ipv6InterfaceAddress <address> IPv6 address of the network interface to bind to (default: ::).
43
- --outgoingIpv4InterfaceAddress <address> Outgoing IPv4 address of the network interface (default first external address).
44
- --outgoingIpv6InterfaceAddress <address> Outgoing IPv6 address of the network interface (default first external address).
45
- --advertise <interval> Enable matterbridge mDNS advertisement each ms (default interval: 10000ms).
46
- --query <interval> Enable common mDNS services query each ms (default interval: 10000ms).
47
- --filter <string...> Filter strings to match in the mDNS record name (default: no filter).
48
- --ip-filter <string...> Filter strings to match in the mDNS sender ip address (default: no filter).
49
- --noIpv4 Disable IPv4 mDNS server (default: enabled).
50
- --noIpv6 Disable IPv6 mDNS server (default: enabled).
51
- --no-timeout Disable automatic timeout of 10 minutes. Reflector mode disables timeout automatically.
52
- -d, --debug Enable debug logging (default: disabled).
53
- -v, --verbose Enable verbose logging (default: disabled).
54
- -s, --silent Enable silent mode, only log notices, warnings and errors.
55
-
56
- Examples:
57
- # Listen for Matter device commissioner service records only on eth0 interface
58
- mb_mdns --interfaceName eth0 --filter _matterc._udp
59
-
60
- # Listen for Matter device discovery service records only on eth0 interface
61
- mb_mdns --interfaceName eth0 --filter _matter._tcp
62
-
63
- # Listen for Matter commissioner and discovery service records on all interfaces
64
- mb_mdns --filter _matterc._udp _matter._tcp
65
-
66
- # Listen for Matter commissioner and discovery service records on all interfaces from specific ipv4 and ipv6 ips
67
- mb_mdns --filter _matterc._udp _matter._tcp --ip-filter 192.168.69.20 fe80::1077:2e0d:2c91:aa90
68
-
69
- # Query for mDNS devices every 10s on a specific interface
70
- mb_mdns --interfaceName eth0 --query
71
-
72
- # Advertise _matterbridge._tcp.local every 5s with filter
73
- mb_mdns --advertise 5000 --filter _matterbridge._tcp.local
74
-
75
- # Query each 5s and listen for _matterbridge._tcp.local service records
76
- mb_mdns --query 5000 --filter _matterbridge._tcp.local
77
- `);
78
- // eslint-disable-next-line n/no-process-exit
79
- process.exit(0);
80
- }
81
- // Dynamic JSON import (Node >= 20) with import attributes
82
- const { default: pkg } = await import('../package.json', { with: { type: 'json' } });
83
- let mdnsIpv4QueryInterval;
84
- let mdnsIpv6QueryInterval;
85
- let mdnsIpv4AdvertiseInterval;
86
- let mdnsIpv6AdvertiseInterval;
87
- let mdnsIpv4 = undefined;
88
- let mdnsIpv6 = undefined;
89
- /**
90
- * Cleanup and log device information before exiting.
91
- */
92
- async function cleanupAndLogAndExit() {
93
- clearInterval(mdnsIpv4QueryInterval);
94
- clearInterval(mdnsIpv6QueryInterval);
95
- clearInterval(mdnsIpv4AdvertiseInterval);
96
- clearInterval(mdnsIpv6AdvertiseInterval);
97
- if (hasParameter('advertise')) {
98
- if (mdnsIpv4)
99
- advertise(mdnsIpv4, 0); // Send goodbye with TTL 0
100
- if (mdnsIpv6)
101
- advertise(mdnsIpv6, 0); // Send goodbye with TTL 0
102
- }
103
- await new Promise((resolve) => setTimeout(resolve, 250)); // Wait for 250ms to allow goodbye messages to be sent
104
- mdnsIpv4?.stop();
105
- mdnsIpv6?.stop();
106
- mdnsIpv4?.logDevices();
107
- mdnsIpv6?.logDevices();
108
- await new Promise((resolve) => setTimeout(resolve, 250)); // Wait for 250ms to allow sockets to close
109
- }
110
- const query = (mdns) => {
111
- mdns.log.info('Sending mDNS query for common services...');
112
- try {
113
- mdns.sendQuery([
114
- { name: '_matterc._udp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
115
- { name: '_matter._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
116
- { name: '_matterbridge._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
117
- { name: '_home-assistant._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
118
- { name: '_shelly._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
119
- { name: '_mqtt._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
120
- { name: '_http._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
121
- { name: '_googlecast._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
122
- { name: '_airplay._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
123
- { name: '_amzn-alexa._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
124
- { name: '_companion-link._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
125
- { name: '_hap._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
126
- { name: '_hap._udp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
127
- { name: '_ipp._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
128
- { name: '_ipps._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
129
- { name: '_meshcop._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
130
- { name: '_printer._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
131
- { name: '_raop._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
132
- { name: '_sleep-proxy._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
133
- { name: '_ssh._tcp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
134
- { name: '_services._dns-sd._udp.local', type: 12 /* DnsRecordType.PTR */, class: 1 /* DnsClass.IN */, unicastResponse: true },
135
- ]);
136
- }
137
- catch (error) {
138
- mdns.log.error(`Error sending mDNS query: ${error.message}`);
139
- }
140
- };
141
- /**
142
- * Sends an mDNS advertisement for the HTTP service over UDP IPv4.
143
- *
144
- * @param {Mdns} mdns - The Mdns instance to use for sending the advertisement.
145
- * @param {number} [ttl] - The time-to-live for the advertisement records. Defaults to 120 seconds. Send 0 for goodbye.
146
- */
147
- const advertise = (mdns, ttl = 120) => {
148
- mdns.log.info(`Sending mDNS advertisement for matterbridge service with TTL ${ttl ? ttl.toString() : 'goodbye'}...`);
149
- const httpServiceType = '_http._tcp.local';
150
- const matterbridgeServiceType = '_matterbridge._tcp.local';
151
- const httpInstanceName = 'matterbridge._http._tcp.local';
152
- const matterbridgeInstanceName = 'matterbridge._matterbridge._tcp.local';
153
- const hostName = 'matterbridge.local';
154
- const port = 8283;
155
- const ptrHttpServiceTypeRdata = mdns.encodeDnsName(httpServiceType);
156
- const ptrMatterbridgeServiceTypeRdata = mdns.encodeDnsName(matterbridgeServiceType);
157
- const ptrHttpInstanceRdata = mdns.encodeDnsName(httpInstanceName);
158
- const ptrMatterbridgeInstanceRdata = mdns.encodeDnsName(matterbridgeInstanceName);
159
- const srvRdata = mdns.encodeSrvRdata(0, 0, port, hostName);
160
- const txtRdata = mdns.encodeTxtRdata([`version=${pkg.version}`, 'path=/']);
161
- const answers = [
162
- // PTR records for service types and instances
163
- { name: '_services._dns-sd._udp.local', rtype: 12 /* DnsRecordType.PTR */, rclass: 1 /* DnsClass.IN */, ttl, rdata: ptrHttpServiceTypeRdata },
164
- { name: httpServiceType, rtype: 12 /* DnsRecordType.PTR */, rclass: 1 /* DnsClass.IN */, ttl, rdata: ptrHttpInstanceRdata },
165
- { name: '_services._dns-sd._udp.local', rtype: 12 /* DnsRecordType.PTR */, rclass: 1 /* DnsClass.IN */, ttl, rdata: ptrMatterbridgeServiceTypeRdata },
166
- { name: matterbridgeServiceType, rtype: 12 /* DnsRecordType.PTR */, rclass: 1 /* DnsClass.IN */, ttl, rdata: ptrMatterbridgeInstanceRdata },
167
- // SRV record for the HTTP instance
168
- { name: httpInstanceName, rtype: 33 /* DnsRecordType.SRV */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: srvRdata },
169
- // SRV record for the matterbridge instance
170
- { name: matterbridgeInstanceName, rtype: 33 /* DnsRecordType.SRV */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: srvRdata },
171
- // TXT record for the HTTP instance
172
- { name: httpInstanceName, rtype: 16 /* DnsRecordType.TXT */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: txtRdata },
173
- // TXT record for the matterbridge instance
174
- { name: matterbridgeInstanceName, rtype: 16 /* DnsRecordType.TXT */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: txtRdata },
175
- ];
176
- // Always attempt to add both A and all AAAA records (best effort), regardless of the socket family.
177
- const interfaces = os.networkInterfaces();
178
- // Use specified interface name if provided
179
- let interfaceInfos = mdns.interfaceName ? interfaces[mdns.interfaceName] : undefined;
180
- // Find the first non-internal IPv4 and IPv6 addresses if interface name is not provided or not found
181
- if (!interfaceInfos) {
182
- interfaceInfos = [];
183
- for (const name of Object.keys(interfaces)) {
184
- const infos = interfaces[name];
185
- if (infos && infos.length > 0 && !infos[0].internal) {
186
- interfaceInfos.push(...infos);
187
- break;
188
- }
189
- }
190
- }
191
- // Encode A and AAAA records for all non-internal addresses of the selected interface
192
- for (const info of interfaceInfos) {
193
- if (info.family === 'IPv4' && !info.internal) {
194
- const ipv4 = info.address;
195
- answers.push({ name: hostName, rtype: 1 /* DnsRecordType.A */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: mdns.encodeA(ipv4) });
196
- }
197
- else if (info.family === 'IPv6' && !info.internal) {
198
- const ipv6 = info.address;
199
- answers.push({ name: hostName, rtype: 28 /* DnsRecordType.AAAA */, rclass: 1 /* DnsClass.IN */ | 32768 /* DnsClassFlag.FLUSH */, ttl, rdata: mdns.encodeAAAA(ipv6) });
200
- }
201
- }
202
- try {
203
- mdns.sendResponse(answers);
204
- }
205
- catch (error) {
206
- mdns.log.error(`Error sending mDNS advertisement: ${error.message}`);
207
- }
208
- };
209
- if (!hasParameter('noIpv4')) {
210
- mdnsIpv4 = new Mdns('mDNS Server udp4', MDNS_MULTICAST_IPV4_ADDRESS, MDNS_MULTICAST_PORT, 'udp4', true, getParameter('interfaceName'), getParameter('ipv4InterfaceAddress') || '0.0.0.0', getParameter('outgoingIpv4InterfaceAddress'));
211
- if (hasParameter('v') || hasParameter('verbose'))
212
- mdnsIpv4.listNetworkInterfaces();
213
- // Apply filters if any
214
- const filters = getStringArrayParameter('filter');
215
- if (filters)
216
- mdnsIpv4.filters.push(...filters);
217
- // Apply ip filters if any
218
- const ipFilters = getStringArrayParameter('ip-filter');
219
- if (ipFilters)
220
- mdnsIpv4.ipFilters.push(...ipFilters);
221
- // Handle errors
222
- mdnsIpv4.on('error', (err) => {
223
- mdnsIpv4?.log.error(`mDNS udp4 Server error: ${err.message}\n${err.stack}`);
224
- });
225
- // Start the IPv4 mDNS server
226
- mdnsIpv4.start();
227
- mdnsIpv4.on('ready', (address) => {
228
- mdnsIpv4?.socket.setMulticastLoopback(false);
229
- mdnsIpv4?.log.info(`mdnsIpv4 server ready on ${address.family} ${address.address}:${address.port}`);
230
- if (hasParameter('advertise')) {
231
- advertise(mdnsIpv4);
232
- mdnsIpv4AdvertiseInterval = setInterval(() => advertise(mdnsIpv4), getIntParameter('advertise') || 10000).unref();
233
- }
234
- if (hasParameter('query')) {
235
- query(mdnsIpv4);
236
- mdnsIpv4QueryInterval = setInterval(() => query(mdnsIpv4), getIntParameter('query') || 10000).unref();
237
- }
238
- });
239
- }
240
- if (!hasParameter('noIpv6')) {
241
- mdnsIpv6 = new Mdns('mDNS Server udp6', MDNS_MULTICAST_IPV6_ADDRESS, MDNS_MULTICAST_PORT, 'udp6', true, getParameter('interfaceName'), getParameter('ipv6InterfaceAddress') || '::', getParameter('outgoingIpv6InterfaceAddress'));
242
- if (hasParameter('v') || hasParameter('verbose'))
243
- mdnsIpv6.listNetworkInterfaces();
244
- // Apply filters if any
245
- const filters = getStringArrayParameter('filter');
246
- if (filters)
247
- mdnsIpv6.filters.push(...filters);
248
- // Apply ip filters if any
249
- const ipFilters = getStringArrayParameter('ip-filter');
250
- if (ipFilters)
251
- mdnsIpv6.ipFilters.push(...ipFilters);
252
- // Handle errors
253
- mdnsIpv6.on('error', (err) => {
254
- mdnsIpv6?.log.error(`mDNS udp6 Server error: ${err.message}\n${err.stack}`);
255
- });
256
- // Start the IPv6 mDNS server
257
- mdnsIpv6.start();
258
- mdnsIpv6.on('ready', (address) => {
259
- mdnsIpv6?.socket.setMulticastLoopback(false);
260
- mdnsIpv6?.log.info(`mdnsIpv6 server ready on ${address.family} ${address.address}:${address.port}`);
261
- if (hasParameter('advertise')) {
262
- advertise(mdnsIpv6);
263
- mdnsIpv6AdvertiseInterval = setInterval(() => advertise(mdnsIpv6), getIntParameter('advertise') || 10000).unref();
264
- }
265
- if (hasParameter('query')) {
266
- query(mdnsIpv6);
267
- mdnsIpv6QueryInterval = setInterval(() => query(mdnsIpv6), getIntParameter('query') || 10000).unref();
268
- }
269
- });
270
- }
271
- // Handle Ctrl+C (SIGINT) and SIGTERM to stop and log devices
272
- process.on('SIGINT', async () => {
273
- await cleanupAndLogAndExit();
274
- });
275
- process.on('SIGTERM', async () => {
276
- await cleanupAndLogAndExit();
277
- });
278
- // Exit after a timeout to avoid running indefinitely in test environments
279
- if (!hasParameter('no-timeout')) {
280
- setTimeout(async () => {
281
- await cleanupAndLogAndExit();
282
- }, 600000).unref(); // 10 minutes timeout to exit if no activity
283
- }
284
- }
285
- //# sourceMappingURL=mb_mdns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mb_mdns.js","sourceRoot":"","sources":["../src/mb_mdns.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,YAAY,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAc,QAAQ,EAAgG,MAAM,kBAAkB,CAAC;AAEtJ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAK5E,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAwB,cAAc,EAAE,UAAU,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAGrJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,2CAA2C;AAC3C,MAAM,WAAW,MAAO,SAAQ,SAAS;IACvC,4GAA4G;IAC5G,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACtC;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACvD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAYtD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAXzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoD;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD;;;;OAIG;gBAC0B,YAAY,EAAE,YAAY;IASvD,OAAO,IAAI,IAAI;YAKD,UAAU;IA0LxB;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA8BnB;;;;OAIG;IACH,KAAK,IAAI,MAAM,EAAE;IAIjB;;;;OAIG;IACH,kBAAkB,IAAI,aAAa,EAAE;IAQrC;;;;OAIG;IACH,cAAc,IAAI,SAAS,EAAE;IAQ7B;;;;OAIG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAazE;;;;OAIG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAE9B;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAWjD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAsBtC;;;;;;OAMG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2IzD;;;;;OAKG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBpD;;;;;OAKG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBtD;;;;;OAKG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;IAM1G;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS;IAcxH;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS;IAiBpH;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS;IAiBzH;;;;;OAKG;IAEH,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS;IAmBhE;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IA8HlG;;;;;;;;;OASG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCxD;;;;;;;;;OASG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCzD;;;;;;;;;OASG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCxD;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsCrD;;;;;;;;OAQG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,GAAE,OAAe,EAAE,OAAO,GAAE,MAAW,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAyG5J;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAsCnH;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwCzE;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAE,OAAe,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAsDpJ;;;;;;;;OAQG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgDzD;;;;;;;;;;;;OAYG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3F;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjH;;;;;;;;;OASG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBzD;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;CA6BjD"}