matterbridge 3.4.5-dev-20251225-742588e → 3.4.5

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 (336) hide show
  1. package/CHANGELOG.md +5 -8
  2. package/dist/broadcastServer.d.ts +144 -0
  3. package/dist/broadcastServer.d.ts.map +1 -0
  4. package/dist/broadcastServer.js +117 -0
  5. package/dist/broadcastServer.js.map +1 -0
  6. package/dist/broadcastServerTypes.d.ts +841 -0
  7. package/dist/broadcastServerTypes.d.ts.map +1 -0
  8. package/dist/broadcastServerTypes.js +24 -0
  9. package/dist/broadcastServerTypes.js.map +1 -0
  10. package/dist/cli.d.ts +30 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +97 -1
  13. package/dist/cli.js.map +1 -0
  14. package/dist/cliEmitter.d.ts +50 -0
  15. package/dist/cliEmitter.d.ts.map +1 -0
  16. package/dist/cliEmitter.js +37 -0
  17. package/dist/cliEmitter.js.map +1 -0
  18. package/dist/cliHistory.d.ts +48 -0
  19. package/dist/cliHistory.d.ts.map +1 -0
  20. package/dist/cliHistory.js +38 -0
  21. package/dist/cliHistory.js.map +1 -0
  22. package/dist/clusters/export.d.ts +2 -0
  23. package/dist/clusters/export.d.ts.map +1 -0
  24. package/dist/clusters/export.js +2 -0
  25. package/dist/clusters/export.js.map +1 -0
  26. package/dist/deviceManager.d.ts +135 -0
  27. package/dist/deviceManager.d.ts.map +1 -0
  28. package/dist/deviceManager.js +113 -1
  29. package/dist/deviceManager.js.map +1 -0
  30. package/dist/devices/airConditioner.d.ts +98 -0
  31. package/dist/devices/airConditioner.d.ts.map +1 -0
  32. package/dist/devices/airConditioner.js +57 -0
  33. package/dist/devices/airConditioner.js.map +1 -0
  34. package/dist/devices/batteryStorage.d.ts +48 -0
  35. package/dist/devices/batteryStorage.d.ts.map +1 -0
  36. package/dist/devices/batteryStorage.js +48 -1
  37. package/dist/devices/batteryStorage.js.map +1 -0
  38. package/dist/devices/cooktop.d.ts +61 -0
  39. package/dist/devices/cooktop.d.ts.map +1 -0
  40. package/dist/devices/cooktop.js +56 -0
  41. package/dist/devices/cooktop.js.map +1 -0
  42. package/dist/devices/dishwasher.d.ts +71 -0
  43. package/dist/devices/dishwasher.d.ts.map +1 -0
  44. package/dist/devices/dishwasher.js +57 -0
  45. package/dist/devices/dishwasher.js.map +1 -0
  46. package/dist/devices/evse.d.ts +76 -0
  47. package/dist/devices/evse.d.ts.map +1 -0
  48. package/dist/devices/evse.js +74 -10
  49. package/dist/devices/evse.js.map +1 -0
  50. package/dist/devices/export.d.ts +17 -0
  51. package/dist/devices/export.d.ts.map +1 -0
  52. package/dist/devices/export.js +5 -0
  53. package/dist/devices/export.js.map +1 -0
  54. package/dist/devices/extractorHood.d.ts +46 -0
  55. package/dist/devices/extractorHood.d.ts.map +1 -0
  56. package/dist/devices/extractorHood.js +43 -0
  57. package/dist/devices/extractorHood.js.map +1 -0
  58. package/dist/devices/heatPump.d.ts +47 -0
  59. package/dist/devices/heatPump.d.ts.map +1 -0
  60. package/dist/devices/heatPump.js +50 -2
  61. package/dist/devices/heatPump.js.map +1 -0
  62. package/dist/devices/laundryDryer.d.ts +67 -0
  63. package/dist/devices/laundryDryer.d.ts.map +1 -0
  64. package/dist/devices/laundryDryer.js +62 -3
  65. package/dist/devices/laundryDryer.js.map +1 -0
  66. package/dist/devices/laundryWasher.d.ts +81 -0
  67. package/dist/devices/laundryWasher.d.ts.map +1 -0
  68. package/dist/devices/laundryWasher.js +70 -4
  69. package/dist/devices/laundryWasher.js.map +1 -0
  70. package/dist/devices/microwaveOven.d.ts +168 -0
  71. package/dist/devices/microwaveOven.d.ts.map +1 -0
  72. package/dist/devices/microwaveOven.js +88 -5
  73. package/dist/devices/microwaveOven.js.map +1 -0
  74. package/dist/devices/oven.d.ts +105 -0
  75. package/dist/devices/oven.d.ts.map +1 -0
  76. package/dist/devices/oven.js +85 -0
  77. package/dist/devices/oven.js.map +1 -0
  78. package/dist/devices/refrigerator.d.ts +118 -0
  79. package/dist/devices/refrigerator.d.ts.map +1 -0
  80. package/dist/devices/refrigerator.js +102 -0
  81. package/dist/devices/refrigerator.js.map +1 -0
  82. package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
  83. package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
  84. package/dist/devices/roboticVacuumCleaner.js +100 -9
  85. package/dist/devices/roboticVacuumCleaner.js.map +1 -0
  86. package/dist/devices/solarPower.d.ts +40 -0
  87. package/dist/devices/solarPower.d.ts.map +1 -0
  88. package/dist/devices/solarPower.js +38 -0
  89. package/dist/devices/solarPower.js.map +1 -0
  90. package/dist/devices/speaker.d.ts +87 -0
  91. package/dist/devices/speaker.d.ts.map +1 -0
  92. package/dist/devices/speaker.js +84 -0
  93. package/dist/devices/speaker.js.map +1 -0
  94. package/dist/devices/temperatureControl.d.ts +166 -0
  95. package/dist/devices/temperatureControl.d.ts.map +1 -0
  96. package/dist/devices/temperatureControl.js +24 -3
  97. package/dist/devices/temperatureControl.js.map +1 -0
  98. package/dist/devices/waterHeater.d.ts +111 -0
  99. package/dist/devices/waterHeater.d.ts.map +1 -0
  100. package/dist/devices/waterHeater.js +82 -2
  101. package/dist/devices/waterHeater.js.map +1 -0
  102. package/dist/dgram/coap.d.ts +205 -0
  103. package/dist/dgram/coap.d.ts.map +1 -0
  104. package/dist/dgram/coap.js +126 -13
  105. package/dist/dgram/coap.js.map +1 -0
  106. package/dist/dgram/dgram.d.ts +143 -0
  107. package/dist/dgram/dgram.d.ts.map +1 -0
  108. package/dist/dgram/dgram.js +118 -2
  109. package/dist/dgram/dgram.js.map +1 -0
  110. package/dist/dgram/mb_coap.d.ts +24 -0
  111. package/dist/dgram/mb_coap.d.ts.map +1 -0
  112. package/dist/dgram/mb_coap.js +41 -3
  113. package/dist/dgram/mb_coap.js.map +1 -0
  114. package/dist/dgram/mb_mdns.d.ts +24 -0
  115. package/dist/dgram/mb_mdns.d.ts.map +1 -0
  116. package/dist/dgram/mb_mdns.js +171 -175
  117. package/dist/dgram/mb_mdns.js.map +1 -0
  118. package/dist/dgram/mdns.d.ts +350 -0
  119. package/dist/dgram/mdns.d.ts.map +1 -0
  120. package/dist/dgram/mdns.js +358 -144
  121. package/dist/dgram/mdns.js.map +1 -0
  122. package/dist/dgram/mdnsReflectorClient.d.ts +39 -0
  123. package/dist/dgram/mdnsReflectorClient.d.ts.map +1 -0
  124. package/dist/dgram/mdnsReflectorClient.js +132 -0
  125. package/dist/dgram/mdnsReflectorClient.js.map +1 -0
  126. package/dist/dgram/mdnsReflectorServer.d.ts +54 -0
  127. package/dist/dgram/mdnsReflectorServer.d.ts.map +1 -0
  128. package/dist/dgram/mdnsReflectorServer.js +294 -0
  129. package/dist/dgram/mdnsReflectorServer.js.map +1 -0
  130. package/dist/dgram/mdnsReflectorTypes.d.ts +28 -0
  131. package/dist/dgram/mdnsReflectorTypes.d.ts.map +1 -0
  132. package/dist/dgram/mdnsReflectorTypes.js +28 -0
  133. package/dist/dgram/mdnsReflectorTypes.js.map +1 -0
  134. package/dist/dgram/multicast.d.ts +67 -0
  135. package/dist/dgram/multicast.d.ts.map +1 -0
  136. package/dist/dgram/multicast.js +62 -1
  137. package/dist/dgram/multicast.js.map +1 -0
  138. package/dist/dgram/unicast.d.ts +64 -0
  139. package/dist/dgram/unicast.d.ts.map +1 -0
  140. package/dist/dgram/unicast.js +60 -0
  141. package/dist/dgram/unicast.js.map +1 -0
  142. package/dist/frontend.d.ts +245 -0
  143. package/dist/frontend.d.ts.map +1 -0
  144. package/dist/frontend.js +485 -38
  145. package/dist/frontend.js.map +1 -0
  146. package/dist/frontendTypes.d.ts +529 -0
  147. package/dist/frontendTypes.d.ts.map +1 -0
  148. package/dist/frontendTypes.js +45 -0
  149. package/dist/frontendTypes.js.map +1 -0
  150. package/dist/helpers.d.ts +48 -0
  151. package/dist/helpers.d.ts.map +1 -0
  152. package/dist/helpers.js +53 -0
  153. package/dist/helpers.js.map +1 -0
  154. package/dist/index.d.ts +34 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +25 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/jestutils/export.d.ts +2 -0
  159. package/dist/jestutils/export.d.ts.map +1 -0
  160. package/dist/jestutils/export.js +1 -0
  161. package/dist/jestutils/export.js.map +1 -0
  162. package/dist/jestutils/jestHelpers.d.ts +345 -0
  163. package/dist/jestutils/jestHelpers.d.ts.map +1 -0
  164. package/dist/jestutils/jestHelpers.js +371 -14
  165. package/dist/jestutils/jestHelpers.js.map +1 -0
  166. package/dist/logger/export.d.ts +2 -0
  167. package/dist/logger/export.d.ts.map +1 -0
  168. package/dist/logger/export.js +1 -0
  169. package/dist/logger/export.js.map +1 -0
  170. package/dist/matter/behaviors.d.ts +2 -0
  171. package/dist/matter/behaviors.d.ts.map +1 -0
  172. package/dist/matter/behaviors.js +2 -0
  173. package/dist/matter/behaviors.js.map +1 -0
  174. package/dist/matter/clusters.d.ts +2 -0
  175. package/dist/matter/clusters.d.ts.map +1 -0
  176. package/dist/matter/clusters.js +2 -0
  177. package/dist/matter/clusters.js.map +1 -0
  178. package/dist/matter/devices.d.ts +2 -0
  179. package/dist/matter/devices.d.ts.map +1 -0
  180. package/dist/matter/devices.js +2 -0
  181. package/dist/matter/devices.js.map +1 -0
  182. package/dist/matter/endpoints.d.ts +2 -0
  183. package/dist/matter/endpoints.d.ts.map +1 -0
  184. package/dist/matter/endpoints.js +2 -0
  185. package/dist/matter/endpoints.js.map +1 -0
  186. package/dist/matter/export.d.ts +5 -0
  187. package/dist/matter/export.d.ts.map +1 -0
  188. package/dist/matter/export.js +3 -0
  189. package/dist/matter/export.js.map +1 -0
  190. package/dist/matter/types.d.ts +3 -0
  191. package/dist/matter/types.d.ts.map +1 -0
  192. package/dist/matter/types.js +3 -0
  193. package/dist/matter/types.js.map +1 -0
  194. package/dist/matterNode.d.ts +342 -0
  195. package/dist/matterNode.d.ts.map +1 -0
  196. package/dist/matterNode.js +369 -8
  197. package/dist/matterNode.js.map +1 -0
  198. package/dist/matterbridge.d.ts +505 -0
  199. package/dist/matterbridge.d.ts.map +1 -0
  200. package/dist/matterbridge.js +824 -46
  201. package/dist/matterbridge.js.map +1 -0
  202. package/dist/matterbridgeAccessoryPlatform.d.ts +41 -0
  203. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  204. package/dist/matterbridgeAccessoryPlatform.js +38 -0
  205. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  206. package/dist/matterbridgeBehaviors.d.ts +2404 -0
  207. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  208. package/dist/matterbridgeBehaviors.js +68 -5
  209. package/dist/matterbridgeBehaviors.js.map +1 -0
  210. package/dist/matterbridgeDeviceTypes.d.ts +698 -0
  211. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  212. package/dist/matterbridgeDeviceTypes.js +635 -14
  213. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  214. package/dist/matterbridgeDynamicPlatform.d.ts +41 -0
  215. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  216. package/dist/matterbridgeDynamicPlatform.js +38 -0
  217. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  218. package/dist/matterbridgeEndpoint.d.ts +1507 -0
  219. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  220. package/dist/matterbridgeEndpoint.js +1457 -53
  221. package/dist/matterbridgeEndpoint.js.map +1 -0
  222. package/dist/matterbridgeEndpointHelpers.d.ts +787 -0
  223. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  224. package/dist/matterbridgeEndpointHelpers.js +483 -20
  225. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  226. package/dist/matterbridgeEndpointTypes.d.ts +166 -0
  227. package/dist/matterbridgeEndpointTypes.d.ts.map +1 -0
  228. package/dist/matterbridgeEndpointTypes.js +25 -0
  229. package/dist/matterbridgeEndpointTypes.js.map +1 -0
  230. package/dist/matterbridgePlatform.d.ts +539 -0
  231. package/dist/matterbridgePlatform.d.ts.map +1 -0
  232. package/dist/matterbridgePlatform.js +451 -1
  233. package/dist/matterbridgePlatform.js.map +1 -0
  234. package/dist/matterbridgeTypes.d.ts +252 -0
  235. package/dist/matterbridgeTypes.d.ts.map +1 -0
  236. package/dist/matterbridgeTypes.js +26 -0
  237. package/dist/matterbridgeTypes.js.map +1 -0
  238. package/dist/pluginManager.d.ts +372 -0
  239. package/dist/pluginManager.d.ts.map +1 -0
  240. package/dist/pluginManager.js +341 -5
  241. package/dist/pluginManager.js.map +1 -0
  242. package/dist/shelly.d.ts +181 -0
  243. package/dist/shelly.d.ts.map +1 -0
  244. package/dist/shelly.js +178 -7
  245. package/dist/shelly.js.map +1 -0
  246. package/dist/storage/export.d.ts +2 -0
  247. package/dist/storage/export.d.ts.map +1 -0
  248. package/dist/storage/export.js +1 -0
  249. package/dist/storage/export.js.map +1 -0
  250. package/dist/update.d.ts +84 -0
  251. package/dist/update.d.ts.map +1 -0
  252. package/dist/update.js +93 -1
  253. package/dist/update.js.map +1 -0
  254. package/dist/utils/colorUtils.d.ts +101 -0
  255. package/dist/utils/colorUtils.d.ts.map +1 -0
  256. package/dist/utils/colorUtils.js +97 -2
  257. package/dist/utils/colorUtils.js.map +1 -0
  258. package/dist/utils/commandLine.d.ts +66 -0
  259. package/dist/utils/commandLine.d.ts.map +1 -0
  260. package/dist/utils/commandLine.js +61 -1
  261. package/dist/utils/commandLine.js.map +1 -0
  262. package/dist/utils/copyDirectory.d.ts +35 -0
  263. package/dist/utils/copyDirectory.d.ts.map +1 -0
  264. package/dist/utils/copyDirectory.js +37 -0
  265. package/dist/utils/copyDirectory.js.map +1 -0
  266. package/dist/utils/createDirectory.d.ts +34 -0
  267. package/dist/utils/createDirectory.d.ts.map +1 -0
  268. package/dist/utils/createDirectory.js +33 -0
  269. package/dist/utils/createDirectory.js.map +1 -0
  270. package/dist/utils/createZip.d.ts +39 -0
  271. package/dist/utils/createZip.d.ts.map +1 -0
  272. package/dist/utils/createZip.js +47 -2
  273. package/dist/utils/createZip.js.map +1 -0
  274. package/dist/utils/deepCopy.d.ts +32 -0
  275. package/dist/utils/deepCopy.d.ts.map +1 -0
  276. package/dist/utils/deepCopy.js +39 -0
  277. package/dist/utils/deepCopy.js.map +1 -0
  278. package/dist/utils/deepEqual.d.ts +54 -0
  279. package/dist/utils/deepEqual.d.ts.map +1 -0
  280. package/dist/utils/deepEqual.js +72 -1
  281. package/dist/utils/deepEqual.js.map +1 -0
  282. package/dist/utils/error.d.ts +45 -0
  283. package/dist/utils/error.d.ts.map +1 -0
  284. package/dist/utils/error.js +42 -0
  285. package/dist/utils/error.js.map +1 -0
  286. package/dist/utils/export.d.ts +13 -0
  287. package/dist/utils/export.d.ts.map +1 -0
  288. package/dist/utils/export.js +1 -0
  289. package/dist/utils/export.js.map +1 -0
  290. package/dist/utils/format.d.ts +53 -0
  291. package/dist/utils/format.d.ts.map +1 -0
  292. package/dist/utils/format.js +49 -0
  293. package/dist/utils/format.js.map +1 -0
  294. package/dist/utils/hex.d.ts +89 -0
  295. package/dist/utils/hex.d.ts.map +1 -0
  296. package/dist/utils/hex.js +124 -0
  297. package/dist/utils/hex.js.map +1 -0
  298. package/dist/utils/inspector.d.ts +87 -0
  299. package/dist/utils/inspector.d.ts.map +1 -0
  300. package/dist/utils/inspector.js +69 -1
  301. package/dist/utils/inspector.js.map +1 -0
  302. package/dist/utils/isvalid.d.ts +103 -0
  303. package/dist/utils/isvalid.d.ts.map +1 -0
  304. package/dist/utils/isvalid.js +101 -0
  305. package/dist/utils/isvalid.js.map +1 -0
  306. package/dist/utils/network.d.ts +117 -0
  307. package/dist/utils/network.d.ts.map +1 -0
  308. package/dist/utils/network.js +103 -5
  309. package/dist/utils/network.js.map +1 -0
  310. package/dist/utils/spawn.d.ts +33 -0
  311. package/dist/utils/spawn.d.ts.map +1 -0
  312. package/dist/utils/spawn.js +71 -1
  313. package/dist/utils/spawn.js.map +1 -0
  314. package/dist/utils/tracker.d.ts +108 -0
  315. package/dist/utils/tracker.d.ts.map +1 -0
  316. package/dist/utils/tracker.js +64 -1
  317. package/dist/utils/tracker.js.map +1 -0
  318. package/dist/utils/wait.d.ts +54 -0
  319. package/dist/utils/wait.d.ts.map +1 -0
  320. package/dist/utils/wait.js +60 -8
  321. package/dist/utils/wait.js.map +1 -0
  322. package/dist/workerGlobalPrefix.d.ts +25 -0
  323. package/dist/workerGlobalPrefix.d.ts.map +1 -0
  324. package/dist/workerGlobalPrefix.js +37 -5
  325. package/dist/workerGlobalPrefix.js.map +1 -0
  326. package/dist/workerTypes.d.ts +52 -0
  327. package/dist/workerTypes.d.ts.map +1 -0
  328. package/dist/workerTypes.js +24 -0
  329. package/dist/workerTypes.js.map +1 -0
  330. package/dist/workers.d.ts +69 -0
  331. package/dist/workers.d.ts.map +1 -0
  332. package/dist/workers.js +68 -4
  333. package/dist/workers.js.map +1 -0
  334. package/npm-shrinkwrap.json +2 -2
  335. package/package.json +2 -1
  336. package/dist/dgram/mMdnsReflector.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dgram.d.ts","sourceRoot":"","sources":["../../src/dgram/dgram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAoD,MAAM,kBAAkB,CAAC;AAIhG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY,CAAC,WAAW,CAAC;IAClD,OAAO,UAAgD;IACvD,KAAK,UAA8F;IACnG,MAAM,UAA+C;IACrD,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,KAAK,UAAS;IACd,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;gBACS,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAE,OAAO,GAAG,SAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IA2C/I;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAc3D,OAAO,CAAC,KAAK,EAAE,KAAK;IAIpB,OAAO;IAIP,SAAS;IAIT,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU;IAI9C,WAAW,CAAC,OAAO,EAAE,WAAW;IAKhC,OAAO,CAAC,OAAO,EAAE,WAAW;IAK5B;;;;;;;OAOG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAwCtE;;;;;;;OAOG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA0DtE;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAW9B;;;;;OAKG;IACH,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAe9C;;;;;OAKG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAchE;;;;;OAKG;IACH,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkBxD;;;;;;OAMG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAUvG;;;;OAIG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACH,qBAAqB;CAYtB"}
@@ -1,8 +1,39 @@
1
+ /**
2
+ * @description This file contains the class Dgram.
3
+ * @file dgram.ts
4
+ * @author Luca Liguori
5
+ * @created 2025-03-22
6
+ * @version 1.0.1
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
+ // Node.js imports
1
24
  import dgram from 'node:dgram';
2
25
  import EventEmitter from 'node:events';
3
26
  import os from 'node:os';
27
+ // AnsiLogger imports
4
28
  import { AnsiLogger, BLUE, db, idn, nf, rs } from 'node-ansi-logger';
29
+ import { hasParameter } from '../utils/commandLine.js';
30
+ /**
31
+ * This class implements a dgram socket.
32
+ */
5
33
  export class Dgram extends EventEmitter {
34
+ verbose = hasParameter('v') || hasParameter('verbose');
35
+ debug = hasParameter('d') || hasParameter('debug') || hasParameter('v') || hasParameter('verbose');
36
+ silent = hasParameter('s') || hasParameter('silent');
6
37
  log;
7
38
  socket;
8
39
  bound = false;
@@ -10,9 +41,18 @@ export class Dgram extends EventEmitter {
10
41
  interfaceName;
11
42
  interfaceAddress;
12
43
  interfaceNetmask;
44
+ /**
45
+ * Creates an instance of Dgram.
46
+ *
47
+ * @param {string} name - The name of the socket.
48
+ * @param {'udp4' | 'udp6'} socketType - The type of the socket (IPv4 or IPv6).
49
+ * @param {boolean | undefined} reuseAddr - Whether to allow address reuse. Defaults to true.
50
+ * @param {string} [interfaceName] - The name of the network interface to bind to.
51
+ * @param {string} [interfaceAddress] - The address of the network interface to bind to.
52
+ */
13
53
  constructor(name, socketType, reuseAddr = true, interfaceName, interfaceAddress) {
14
54
  super();
15
- this.log = new AnsiLogger({ logName: name, logTimestampFormat: 4, logLevel: "debug" });
55
+ this.log = new AnsiLogger({ logName: name, logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: this.debug ? "debug" /* LogLevel.DEBUG */ : this.silent ? "notice" /* LogLevel.NOTICE */ : "info" /* LogLevel.INFO */ });
16
56
  this.socket = dgram.createSocket({ type: socketType, reuseAddr });
17
57
  this.socketType = socketType;
18
58
  this.interfaceName = interfaceName;
@@ -47,6 +87,13 @@ export class Dgram extends EventEmitter {
47
87
  this.onListening(address);
48
88
  });
49
89
  }
90
+ /**
91
+ * Sends a message to the specified server.
92
+ *
93
+ * @param {Buffer} msg - The message buffer to send.
94
+ * @param {string} serverAddress - The IPv4 address of the destination server.
95
+ * @param {number} serverPort - The port of the destination server.
96
+ */
50
97
  send(msg, serverAddress, serverPort) {
51
98
  this.socket.send(msg, 0, msg.length, serverPort, serverAddress, (error) => {
52
99
  if (error) {
@@ -84,18 +131,30 @@ export class Dgram extends EventEmitter {
84
131
  this.log.info(`Socket ready on ${BLUE}${address.family}${nf} ${BLUE}${address.address}${nf}:${BLUE}${address.port}${nf}`);
85
132
  this.emit('ready', address);
86
133
  }
134
+ /**
135
+ * Retrieves the IPv4 address of the specified network interface or the first external IPv4 interface if no interface is specified.
136
+ * Throws an error if no suitable interface or address is found.
137
+ *
138
+ * @param {string} networkInterface - The name of the network interface to retrieve the IPv4 address from. If not specified, the first external IPv4 interface will be used.
139
+ * @returns {string | undefined} The IPv4 address of the specified network interface or the first external IPv4 interface.
140
+ * @throws {Error} if no suitable interface or address is found.
141
+ */
87
142
  getIpv4InterfaceAddress(networkInterface) {
143
+ // Normalize the interface name: treat an empty string as undefined.
88
144
  if (networkInterface === '')
89
145
  networkInterface = undefined;
90
146
  const interfaces = os.networkInterfaces();
147
+ // If a specific interface is provided but not found, warn and fall back.
91
148
  if (networkInterface && !interfaces[networkInterface]) {
92
149
  this.log.warn(`Interface "${networkInterface}" not found. Using first external IPv4 interface.`);
93
150
  networkInterface = undefined;
94
151
  }
152
+ // If no interface was specified or the provided one doesn't exist, find the first external IPv4 interface.
95
153
  if (!networkInterface) {
96
154
  for (const [interfaceName, interfaceDetails] of Object.entries(interfaces)) {
97
155
  if (!interfaceDetails)
98
156
  continue;
157
+ // Check if at least one external IPv4 address exists on this interface.
99
158
  for (const detail of interfaceDetails) {
100
159
  if (detail.family === 'IPv4' && !detail.internal) {
101
160
  networkInterface = interfaceName;
@@ -109,6 +168,7 @@ export class Dgram extends EventEmitter {
109
168
  if (!networkInterface) {
110
169
  throw new Error(`Didn't find an external IPv4 network interface`);
111
170
  }
171
+ // Select the first external IPv4 address from the interface.
112
172
  const addresses = interfaces[networkInterface];
113
173
  const ipv4Address = addresses?.find((addr) => addr.family === 'IPv4' && !addr.internal);
114
174
  if (!ipv4Address) {
@@ -116,14 +176,25 @@ export class Dgram extends EventEmitter {
116
176
  }
117
177
  return ipv4Address.address;
118
178
  }
179
+ /**
180
+ * Retrieves the IPv6 address of the specified network interface or the first external IPv6 interface if no interface is specified.
181
+ * Throws an error if no suitable interface or address is found.
182
+ *
183
+ * @param {string} [networkInterface] - The name of the network interface to retrieve the IPv6 address from. If not specified, the first external IPv6 interface will be used.
184
+ * @returns {string | undefined} The IPv6 address of the specified network interface or the first external IPv6 interface.
185
+ * @throws {Error} If no suitable interface or address is found.
186
+ */
119
187
  getIpv6InterfaceAddress(networkInterface) {
188
+ // Normalize the interface name: treat an empty string as undefined.
120
189
  if (networkInterface === '')
121
190
  networkInterface = undefined;
122
191
  const interfaces = os.networkInterfaces();
192
+ // If a specific interface is provided, verify it exists. Otherwise, warn and use the first external IPv6 interface.
123
193
  if (networkInterface && !interfaces[networkInterface]) {
124
194
  this.log.warn(`Interface "${networkInterface}" not found. Using first external IPv6 interface.`);
125
195
  networkInterface = undefined;
126
196
  }
197
+ // If no network interface was specified, search for the first external IPv6 interface.
127
198
  if (!networkInterface) {
128
199
  for (const [interfaceName, interfaceDetails] of Object.entries(interfaces)) {
129
200
  if (!interfaceDetails)
@@ -142,18 +213,21 @@ export class Dgram extends EventEmitter {
142
213
  throw new Error(`Didn't find an external IPv6 network interface`);
143
214
  }
144
215
  const addresses = interfaces[networkInterface];
216
+ // Try to find a link-local address and use scopeid
145
217
  const linkLocalAddress = addresses?.find((addr) => addr.family === 'IPv6' && !addr.internal && addr.address.startsWith('fe80'));
146
218
  if (linkLocalAddress) {
147
219
  this.log.debug('Found IPv6 link-local address');
148
220
  return linkLocalAddress.scopeid ? `${linkLocalAddress.address}%${process.platform !== 'win32' ? networkInterface : linkLocalAddress.scopeid}` : linkLocalAddress.address;
149
221
  }
150
222
  this.log.debug('No IPv6 link-local address found');
223
+ // Try to find a unique local address
151
224
  const ulaAddress = addresses?.find((addr) => addr.family === 'IPv6' && !addr.internal && addr.address.startsWith('fd') && addr.netmask === 'ffff:ffff:ffff:ffff::');
152
225
  if (ulaAddress) {
153
226
  this.log.debug('Found IPv6 Unique Local Addresses (ULA) unicast address');
154
227
  return ulaAddress.address;
155
228
  }
156
229
  this.log.debug('No IPv6 Unique Local Addresses (ULA) unicast address found');
230
+ // Try to find a unique local address
157
231
  const uniqueLocalAddress = addresses?.find((addr) => addr.family === 'IPv6' && !addr.internal && addr.address.startsWith('fd'));
158
232
  if (uniqueLocalAddress) {
159
233
  this.log.debug('Found IPv6 Unique Local Addresses (ULA) address');
@@ -162,6 +236,11 @@ export class Dgram extends EventEmitter {
162
236
  this.log.debug('No IPv6 Unique Local Addresses (ULA) address found');
163
237
  throw new Error(`Interface ${networkInterface} does not have a suitable external IPv6 address`);
164
238
  }
239
+ /**
240
+ * Retrieves the names of all available network interfaces.
241
+ *
242
+ * @returns {string[]} An array of network interface names.
243
+ */
165
244
  getInterfacesNames() {
166
245
  const interfaces = os.networkInterfaces();
167
246
  const interfaceNames = [];
@@ -172,6 +251,12 @@ export class Dgram extends EventEmitter {
172
251
  }
173
252
  return interfaceNames;
174
253
  }
254
+ /**
255
+ * Retrieves the scope ID of the first found IPv6 address on the specified network interface or on any interface if none is specified.
256
+ *
257
+ * @param {string} [interfaceName] - The name of the network interface. If not provided, the first found IPv6 address will be used.
258
+ * @returns {string} The scope ID of the first found IPv6 address or an empty string.
259
+ */
175
260
  getIpv6ScopeId(interfaceName) {
176
261
  const interfaces = os.networkInterfaces();
177
262
  for (const name in interfaces) {
@@ -181,17 +266,24 @@ export class Dgram extends EventEmitter {
181
266
  if (iface) {
182
267
  const ipv6Address = iface.find((addr) => addr.family === 'IPv6' && !addr.internal && addr.scopeid);
183
268
  if (ipv6Address) {
184
- return process.platform === 'win32' ? '%' + String(ipv6Address.scopeid) : '%' + name;
269
+ return process.platform === 'win32' ? '%' + String(ipv6Address.scopeid) : '%' + name; // Use the scope ID for Windows, or the interface name for non-Windows platforms
185
270
  }
186
271
  }
187
272
  }
188
273
  return '';
189
274
  }
275
+ /**
276
+ * Retrieves the interface name from the scope id of an IPv6 address.
277
+ *
278
+ * @param {number} scopeId - The scope id of the IPv6 address.
279
+ * @returns {string | undefined} The interface name or undefined if not found.
280
+ */
190
281
  getInterfaceNameFromScopeId(scopeId) {
191
282
  const nets = os.networkInterfaces();
192
283
  for (const ifaceName in nets) {
193
284
  const addresses = nets[ifaceName] || [];
194
285
  for (const addr of addresses) {
286
+ // Check for IPv6 addresses with a matching scope id.
195
287
  if (addr.family === 'IPv6' && addr.scopeid === scopeId) {
196
288
  return ifaceName;
197
289
  }
@@ -199,8 +291,16 @@ export class Dgram extends EventEmitter {
199
291
  }
200
292
  return undefined;
201
293
  }
294
+ /**
295
+ * Retrieves the netmask of the specified interface address.
296
+ *
297
+ * @param {string} interfaceAddress - The interface address for which to retrieve the netmask.
298
+ * @returns {string | undefined} The netmask of the specified interface address or undefined if not found.
299
+ */
202
300
  getNetmask(interfaceAddress) {
301
+ // Remove zone index if present (e.g. for IPv6 "fe80::1%eth0")
203
302
  const noZoneAddress = interfaceAddress.includes('%') ? interfaceAddress.split('%')[0] : interfaceAddress;
303
+ // Iterate over all interfaces.
204
304
  const nets = os.networkInterfaces();
205
305
  for (const ifaceName in nets) {
206
306
  const ifaceAddresses = nets[ifaceName];
@@ -214,6 +314,13 @@ export class Dgram extends EventEmitter {
214
314
  }
215
315
  return undefined;
216
316
  }
317
+ /**
318
+ * Computes the broadcast address given an IPv4 address and netmask.
319
+ *
320
+ * @param {string | undefined} [ipAddress] - The IPv4 address e.g. "192.168.1.20"
321
+ * @param {string | undefined} [netmask] - The IPv4 netmask e.g. "255.255.255.0"
322
+ * @returns {string | undefined} The computed broadcast address, e.g. "192.168.1.255"
323
+ */
217
324
  getIpv4BroadcastAddress(ipAddress, netmask) {
218
325
  if (!ipAddress || !netmask) {
219
326
  return undefined;
@@ -223,9 +330,17 @@ export class Dgram extends EventEmitter {
223
330
  const broadcastParts = ipParts.map((octet, i) => (octet & maskParts[i]) | (255 - maskParts[i]));
224
331
  return broadcastParts.join('.');
225
332
  }
333
+ /**
334
+ * Returns the broadcast IPv6 address.
335
+ *
336
+ * @returns {string} The broadcast IPv6 address, e.g. "ff02::1"
337
+ */
226
338
  getIpv6BroadcastAddress() {
227
339
  return 'ff02::1';
228
340
  }
341
+ /**
342
+ * Logs all available network interfaces and their details.
343
+ */
229
344
  listNetworkInterfaces() {
230
345
  const interfaces = os.networkInterfaces();
231
346
  for (const [name, addresses] of Object.entries(interfaces)) {
@@ -238,3 +353,4 @@ export class Dgram extends EventEmitter {
238
353
  }
239
354
  }
240
355
  }
356
+ //# sourceMappingURL=dgram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dgram.js","sourceRoot":"","sources":["../../src/dgram/dgram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @description This file contains the bin mb_coap for the class Coap.
3
+ * @file src/dgram/mb_coap.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_coap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mb_coap.d.ts","sourceRoot":"","sources":["../../src/dgram/mb_coap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -1,28 +1,65 @@
1
+ /**
2
+ * @description This file contains the bin mb_coap for the class Coap.
3
+ * @file src/dgram/mb_coap.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
+ // Net imports
1
24
  import { COAP_MULTICAST_IPV4_ADDRESS, COAP_MULTICAST_IPV6_ADDRESS, COAP_MULTICAST_PORT } from './multicast.js';
2
25
  import { Coap, COAP_OPTION_URI_PATH } from './coap.js';
26
+ // istanbul ignore next
3
27
  {
4
28
  const coapIpv4 = new Coap('CoAP Server udp4', COAP_MULTICAST_IPV4_ADDRESS, COAP_MULTICAST_PORT, 'udp4', true);
5
29
  const coapIpv6 = new Coap('CoAP Server udp6', COAP_MULTICAST_IPV6_ADDRESS, COAP_MULTICAST_PORT, 'udp6', true);
6
30
  coapIpv4.listNetworkInterfaces();
31
+ /**
32
+ * Cleanup and log device information before exiting.
33
+ */
7
34
  function cleanupAndLogAndExit() {
8
35
  if (process.argv.includes('--coap-udp4'))
9
36
  coapIpv4.stop();
10
37
  if (process.argv.includes('--coap-udp6'))
11
38
  coapIpv6.stop();
39
+ // eslint-disable-next-line n/no-process-exit
12
40
  process.exit(0);
13
41
  }
42
+ /**
43
+ * Queries mDNS services over UDP IPv4 and sends a response for a specific service instance.
44
+ * This function sends a query for Shelly, HTTP, and services, and responds with the appropriate PTR records.
45
+ */
14
46
  const requestUdp4 = () => {
15
47
  coapIpv4.sendRequest(32000, [
16
48
  { number: COAP_OPTION_URI_PATH, value: Buffer.from('cit') },
17
49
  { number: COAP_OPTION_URI_PATH, value: Buffer.from('d') },
18
50
  ], {}, undefined, COAP_MULTICAST_IPV4_ADDRESS, COAP_MULTICAST_PORT);
19
51
  };
52
+ /**
53
+ * Queries mDNS services over UDP IPv4 and sends a response for a specific service instance.
54
+ * This function sends a query for Shelly, HTTP, and services, and responds with the appropriate PTR records.
55
+ */
20
56
  const requestUdp6 = () => {
21
57
  coapIpv6.sendRequest(32000, [
22
58
  { number: COAP_OPTION_URI_PATH, value: Buffer.from('cit') },
23
59
  { number: COAP_OPTION_URI_PATH, value: Buffer.from('d') },
24
60
  ], {}, undefined, COAP_MULTICAST_IPV6_ADDRESS, COAP_MULTICAST_PORT);
25
61
  };
62
+ // Handle Ctrl+C (SIGINT) to stop and log devices
26
63
  process.on('SIGINT', () => {
27
64
  cleanupAndLogAndExit();
28
65
  });
@@ -30,7 +67,7 @@ import { Coap, COAP_OPTION_URI_PATH } from './coap.js';
30
67
  coapIpv4.on('ready', (address) => {
31
68
  coapIpv4.log.info(`coapIpv4 server ready on ${address.family} ${address.address}:${address.port}`);
32
69
  if (!process.argv.includes('--coap-request'))
33
- return;
70
+ return; // Skip querying if --coap-request is not specified
34
71
  requestUdp4();
35
72
  setInterval(() => {
36
73
  requestUdp4();
@@ -40,7 +77,7 @@ import { Coap, COAP_OPTION_URI_PATH } from './coap.js';
40
77
  coapIpv6.on('ready', (address) => {
41
78
  coapIpv6.log.info(`coapIpv6 server ready on ${address.family} ${address.address}:${address.port}`);
42
79
  if (!process.argv.includes('--coap-request'))
43
- return;
80
+ return; // Skip querying if --coap-request is not specified
44
81
  requestUdp6();
45
82
  setInterval(() => {
46
83
  requestUdp6();
@@ -48,5 +85,6 @@ import { Coap, COAP_OPTION_URI_PATH } from './coap.js';
48
85
  });
49
86
  setTimeout(() => {
50
87
  cleanupAndLogAndExit();
51
- }, 600000);
88
+ }, 600000); // 10 minutes timeout to exit if no activity
52
89
  }
90
+ //# sourceMappingURL=mb_coap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mb_coap.js","sourceRoot":"","sources":["../../src/dgram/mb_coap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mb_mdns.d.ts","sourceRoot":"","sources":["../../src/dgram/mb_mdns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}