homebridge 2.0.0-beta.4 → 2.0.0-beta.40

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 (359) hide show
  1. package/README.md +16 -17
  2. package/bin/homebridge.js +22 -0
  3. package/config-sample.json +3 -3
  4. package/dist/api.d.ts +499 -0
  5. package/dist/api.d.ts.map +1 -0
  6. package/dist/api.js +223 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/api.spec.d.ts +2 -0
  9. package/dist/api.spec.d.ts.map +1 -0
  10. package/dist/api.spec.js +413 -0
  11. package/dist/api.spec.js.map +1 -0
  12. package/{lib → dist}/bridgeService.d.ts +19 -10
  13. package/dist/bridgeService.d.ts.map +1 -0
  14. package/{lib → dist}/bridgeService.js +85 -117
  15. package/dist/bridgeService.js.map +1 -0
  16. package/{lib → dist}/childBridgeFork.d.ts +11 -5
  17. package/dist/childBridgeFork.d.ts.map +1 -0
  18. package/{lib → dist}/childBridgeFork.js +93 -44
  19. package/dist/childBridgeFork.js.map +1 -0
  20. package/{lib → dist}/childBridgeService.d.ts +37 -7
  21. package/dist/childBridgeService.d.ts.map +1 -0
  22. package/{lib → dist}/childBridgeService.js +127 -69
  23. package/dist/childBridgeService.js.map +1 -0
  24. package/dist/cli.d.ts +3 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +90 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/externalPortService.d.ts +47 -0
  29. package/dist/externalPortService.d.ts.map +1 -0
  30. package/dist/externalPortService.js +105 -0
  31. package/dist/externalPortService.js.map +1 -0
  32. package/dist/index.d.ts +141 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +53 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/ipcService.d.ts +48 -0
  37. package/dist/ipcService.d.ts.map +1 -0
  38. package/{lib → dist}/ipcService.js +12 -14
  39. package/dist/ipcService.js.map +1 -0
  40. package/{lib → dist}/logger.d.ts +12 -6
  41. package/dist/logger.d.ts.map +1 -0
  42. package/{lib → dist}/logger.js +27 -28
  43. package/dist/logger.js.map +1 -0
  44. package/dist/logger.spec.d.ts +2 -0
  45. package/dist/logger.spec.d.ts.map +1 -0
  46. package/dist/logger.spec.js +95 -0
  47. package/dist/logger.spec.js.map +1 -0
  48. package/dist/matter/ChildBridgeMatterManager.d.ts +96 -0
  49. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
  50. package/dist/matter/ChildBridgeMatterManager.js +399 -0
  51. package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
  52. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +48 -0
  53. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
  54. package/dist/matter/ExternalMatterAccessoryPublisher.js +73 -0
  55. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
  56. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +2 -0
  57. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +1 -0
  58. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +293 -0
  59. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +1 -0
  60. package/dist/matter/MatterAPIImpl.d.ts +504 -0
  61. package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
  62. package/dist/matter/MatterAPIImpl.js +305 -0
  63. package/dist/matter/MatterAPIImpl.js.map +1 -0
  64. package/dist/matter/MatterBridgeManager.d.ts +87 -0
  65. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  66. package/dist/matter/MatterBridgeManager.js +413 -0
  67. package/dist/matter/MatterBridgeManager.js.map +1 -0
  68. package/dist/matter/MatterConfigCollector.d.ts +26 -0
  69. package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
  70. package/dist/matter/MatterConfigCollector.js +78 -0
  71. package/dist/matter/MatterConfigCollector.js.map +1 -0
  72. package/dist/matter/accessoryCache.d.ts +105 -0
  73. package/dist/matter/accessoryCache.d.ts.map +1 -0
  74. package/dist/matter/accessoryCache.js +214 -0
  75. package/dist/matter/accessoryCache.js.map +1 -0
  76. package/dist/matter/accessoryCache.spec.d.ts +2 -0
  77. package/dist/matter/accessoryCache.spec.d.ts.map +1 -0
  78. package/dist/matter/accessoryCache.spec.js +452 -0
  79. package/dist/matter/accessoryCache.spec.js.map +1 -0
  80. package/dist/matter/behaviors/BehaviorRegistry.d.ts +65 -0
  81. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  82. package/dist/matter/behaviors/BehaviorRegistry.js +139 -0
  83. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  84. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +2 -0
  85. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +1 -0
  86. package/dist/matter/behaviors/BehaviorRegistry.spec.js +307 -0
  87. package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +1 -0
  88. package/dist/matter/behaviors/ColorControlBehavior.d.ts +63 -0
  89. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  90. package/dist/matter/behaviors/ColorControlBehavior.js +223 -0
  91. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  92. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +2 -0
  93. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +1 -0
  94. package/dist/matter/behaviors/ColorControlBehavior.spec.js +29 -0
  95. package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +1 -0
  96. package/dist/matter/behaviors/DoorLockBehavior.d.ts +20 -0
  97. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  98. package/dist/matter/behaviors/DoorLockBehavior.js +71 -0
  99. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  100. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +2 -0
  101. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +1 -0
  102. package/dist/matter/behaviors/DoorLockBehavior.spec.js +120 -0
  103. package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +1 -0
  104. package/dist/matter/behaviors/FanControlBehavior.d.ts +20 -0
  105. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  106. package/dist/matter/behaviors/FanControlBehavior.js +71 -0
  107. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  108. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +2 -0
  109. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +1 -0
  110. package/dist/matter/behaviors/FanControlBehavior.spec.js +23 -0
  111. package/dist/matter/behaviors/FanControlBehavior.spec.js.map +1 -0
  112. package/dist/matter/behaviors/IdentifyBehavior.d.ts +20 -0
  113. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  114. package/dist/matter/behaviors/IdentifyBehavior.js +41 -0
  115. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  116. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +2 -0
  117. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +1 -0
  118. package/dist/matter/behaviors/IdentifyBehavior.spec.js +64 -0
  119. package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +1 -0
  120. package/dist/matter/behaviors/LevelControlBehavior.d.ts +33 -0
  121. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  122. package/dist/matter/behaviors/LevelControlBehavior.js +138 -0
  123. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  124. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +2 -0
  125. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +1 -0
  126. package/dist/matter/behaviors/LevelControlBehavior.spec.js +145 -0
  127. package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +1 -0
  128. package/dist/matter/behaviors/OnOffBehavior.d.ts +27 -0
  129. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  130. package/dist/matter/behaviors/OnOffBehavior.js +95 -0
  131. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  132. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +2 -0
  133. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +1 -0
  134. package/dist/matter/behaviors/OnOffBehavior.spec.js +128 -0
  135. package/dist/matter/behaviors/OnOffBehavior.spec.js.map +1 -0
  136. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +19 -0
  137. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  138. package/dist/matter/behaviors/RvcCleanModeBehavior.js +41 -0
  139. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  140. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +2 -0
  141. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +1 -0
  142. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +57 -0
  143. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +1 -0
  144. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +22 -0
  145. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  146. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +86 -0
  147. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  148. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +2 -0
  149. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +1 -0
  150. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +55 -0
  151. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +1 -0
  152. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +19 -0
  153. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  154. package/dist/matter/behaviors/RvcRunModeBehavior.js +41 -0
  155. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  156. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +2 -0
  157. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +1 -0
  158. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +57 -0
  159. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +1 -0
  160. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +21 -0
  161. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  162. package/dist/matter/behaviors/ServiceAreaBehavior.js +61 -0
  163. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  164. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +2 -0
  165. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +1 -0
  166. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +53 -0
  167. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +1 -0
  168. package/dist/matter/behaviors/ThermostatBehavior.d.ts +22 -0
  169. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  170. package/dist/matter/behaviors/ThermostatBehavior.js +127 -0
  171. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  172. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +2 -0
  173. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +1 -0
  174. package/dist/matter/behaviors/ThermostatBehavior.spec.js +23 -0
  175. package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +1 -0
  176. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +31 -0
  177. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  178. package/dist/matter/behaviors/WindowCoveringBehavior.js +158 -0
  179. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  180. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +2 -0
  181. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +1 -0
  182. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +27 -0
  183. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +1 -0
  184. package/dist/matter/behaviors/index.d.ts +20 -0
  185. package/dist/matter/behaviors/index.d.ts.map +1 -0
  186. package/dist/matter/behaviors/index.js +21 -0
  187. package/dist/matter/behaviors/index.js.map +1 -0
  188. package/dist/matter/configValidator.d.ts +81 -0
  189. package/dist/matter/configValidator.d.ts.map +1 -0
  190. package/dist/matter/configValidator.js +240 -0
  191. package/dist/matter/configValidator.js.map +1 -0
  192. package/dist/matter/configValidator.spec.d.ts +2 -0
  193. package/dist/matter/configValidator.spec.d.ts.map +1 -0
  194. package/dist/matter/configValidator.spec.js +390 -0
  195. package/dist/matter/configValidator.spec.js.map +1 -0
  196. package/dist/matter/errorHandler.d.ts +33 -0
  197. package/dist/matter/errorHandler.d.ts.map +1 -0
  198. package/dist/matter/errorHandler.js +113 -0
  199. package/dist/matter/errorHandler.js.map +1 -0
  200. package/dist/matter/errorHandler.spec.d.ts +2 -0
  201. package/dist/matter/errorHandler.spec.d.ts.map +1 -0
  202. package/dist/matter/errorHandler.spec.js +159 -0
  203. package/dist/matter/errorHandler.spec.js.map +1 -0
  204. package/dist/matter/errors.d.ts +178 -0
  205. package/dist/matter/errors.d.ts.map +1 -0
  206. package/dist/matter/errors.js +200 -0
  207. package/dist/matter/errors.js.map +1 -0
  208. package/dist/matter/index.d.ts +127 -0
  209. package/dist/matter/index.d.ts.map +1 -0
  210. package/dist/matter/index.js +23 -0
  211. package/dist/matter/index.js.map +1 -0
  212. package/dist/matter/logFormatter.d.ts +19 -0
  213. package/dist/matter/logFormatter.d.ts.map +1 -0
  214. package/dist/matter/logFormatter.js +158 -0
  215. package/dist/matter/logFormatter.js.map +1 -0
  216. package/dist/matter/logFormatter.spec.d.ts +2 -0
  217. package/dist/matter/logFormatter.spec.d.ts.map +1 -0
  218. package/dist/matter/logFormatter.spec.js +252 -0
  219. package/dist/matter/logFormatter.spec.js.map +1 -0
  220. package/dist/matter/server.d.ts +336 -0
  221. package/dist/matter/server.d.ts.map +1 -0
  222. package/dist/matter/server.js +1810 -0
  223. package/dist/matter/server.js.map +1 -0
  224. package/dist/matter/serverHelpers.d.ts +81 -0
  225. package/dist/matter/serverHelpers.d.ts.map +1 -0
  226. package/dist/matter/serverHelpers.js +326 -0
  227. package/dist/matter/serverHelpers.js.map +1 -0
  228. package/dist/matter/serverHelpers.spec.d.ts +2 -0
  229. package/dist/matter/serverHelpers.spec.d.ts.map +1 -0
  230. package/dist/matter/serverHelpers.spec.js +521 -0
  231. package/dist/matter/serverHelpers.spec.js.map +1 -0
  232. package/dist/matter/sharedTypes.d.ts +164 -0
  233. package/dist/matter/sharedTypes.d.ts.map +1 -0
  234. package/dist/matter/sharedTypes.js +46 -0
  235. package/dist/matter/sharedTypes.js.map +1 -0
  236. package/dist/matter/storage.d.ts +135 -0
  237. package/dist/matter/storage.d.ts.map +1 -0
  238. package/dist/matter/storage.js +424 -0
  239. package/dist/matter/storage.js.map +1 -0
  240. package/dist/matter/storage.spec.d.ts +2 -0
  241. package/dist/matter/storage.spec.d.ts.map +1 -0
  242. package/dist/matter/storage.spec.js +570 -0
  243. package/dist/matter/storage.spec.js.map +1 -0
  244. package/dist/matter/typeHelpers.d.ts +45 -0
  245. package/dist/matter/typeHelpers.d.ts.map +1 -0
  246. package/dist/matter/typeHelpers.js +57 -0
  247. package/dist/matter/typeHelpers.js.map +1 -0
  248. package/dist/matter/typeHelpers.spec.d.ts +2 -0
  249. package/dist/matter/typeHelpers.spec.d.ts.map +1 -0
  250. package/dist/matter/typeHelpers.spec.js +127 -0
  251. package/dist/matter/typeHelpers.spec.js.map +1 -0
  252. package/dist/matter/types.d.ts +826 -0
  253. package/dist/matter/types.d.ts.map +1 -0
  254. package/dist/matter/types.js +204 -0
  255. package/dist/matter/types.js.map +1 -0
  256. package/{lib → dist}/platformAccessory.d.ts +8 -6
  257. package/dist/platformAccessory.d.ts.map +1 -0
  258. package/{lib → dist}/platformAccessory.js +19 -16
  259. package/dist/platformAccessory.js.map +1 -0
  260. package/dist/platformAccessory.spec.d.ts +2 -0
  261. package/dist/platformAccessory.spec.d.ts.map +1 -0
  262. package/dist/platformAccessory.spec.js +126 -0
  263. package/dist/platformAccessory.spec.js.map +1 -0
  264. package/{lib → dist}/plugin.d.ts +2 -3
  265. package/dist/plugin.d.ts.map +1 -0
  266. package/{lib → dist}/plugin.js +39 -51
  267. package/dist/plugin.js.map +1 -0
  268. package/{lib → dist}/pluginManager.d.ts +3 -3
  269. package/dist/pluginManager.d.ts.map +1 -0
  270. package/{lib → dist}/pluginManager.js +76 -81
  271. package/dist/pluginManager.js.map +1 -0
  272. package/dist/pluginManager.spec.d.ts +2 -0
  273. package/dist/pluginManager.spec.d.ts.map +1 -0
  274. package/dist/pluginManager.spec.js +43 -0
  275. package/dist/pluginManager.spec.js.map +1 -0
  276. package/{lib → dist}/server.d.ts +14 -1
  277. package/dist/server.d.ts.map +1 -0
  278. package/{lib → dist}/server.js +193 -123
  279. package/dist/server.js.map +1 -0
  280. package/dist/server.spec.d.ts +2 -0
  281. package/dist/server.spec.d.ts.map +1 -0
  282. package/dist/server.spec.js +57 -0
  283. package/dist/server.spec.js.map +1 -0
  284. package/{lib → dist}/storageService.d.ts.map +1 -1
  285. package/dist/storageService.js +41 -0
  286. package/dist/storageService.js.map +1 -0
  287. package/{lib → dist}/user.d.ts +1 -0
  288. package/dist/user.d.ts.map +1 -0
  289. package/dist/user.js +32 -0
  290. package/dist/user.js.map +1 -0
  291. package/dist/user.spec.d.ts +2 -0
  292. package/dist/user.spec.d.ts.map +1 -0
  293. package/dist/user.spec.js +31 -0
  294. package/dist/user.spec.js.map +1 -0
  295. package/{lib → dist}/util/mac.d.ts +1 -0
  296. package/dist/util/mac.d.ts.map +1 -0
  297. package/dist/util/mac.js +14 -0
  298. package/dist/util/mac.js.map +1 -0
  299. package/dist/util/mac.spec.d.ts +2 -0
  300. package/dist/util/mac.spec.d.ts.map +1 -0
  301. package/dist/util/mac.spec.js +36 -0
  302. package/dist/util/mac.spec.js.map +1 -0
  303. package/dist/version.d.ts.map +1 -0
  304. package/dist/version.js +16 -0
  305. package/dist/version.js.map +1 -0
  306. package/dist/version.spec.d.ts +2 -0
  307. package/dist/version.spec.d.ts.map +1 -0
  308. package/dist/version.spec.js +20 -0
  309. package/dist/version.spec.js.map +1 -0
  310. package/package.json +49 -50
  311. package/bin/homebridge +0 -17
  312. package/lib/api.d.ts +0 -210
  313. package/lib/api.d.ts.map +0 -1
  314. package/lib/api.js +0 -155
  315. package/lib/api.js.map +0 -1
  316. package/lib/bridgeService.d.ts.map +0 -1
  317. package/lib/bridgeService.js.map +0 -1
  318. package/lib/childBridgeFork.d.ts.map +0 -1
  319. package/lib/childBridgeFork.js.map +0 -1
  320. package/lib/childBridgeService.d.ts.map +0 -1
  321. package/lib/childBridgeService.js.map +0 -1
  322. package/lib/cli.d.ts +0 -4
  323. package/lib/cli.d.ts.map +0 -1
  324. package/lib/cli.js +0 -111
  325. package/lib/cli.js.map +0 -1
  326. package/lib/externalPortService.d.ts +0 -33
  327. package/lib/externalPortService.d.ts.map +0 -1
  328. package/lib/externalPortService.js +0 -64
  329. package/lib/externalPortService.js.map +0 -1
  330. package/lib/index.d.ts +0 -76
  331. package/lib/index.d.ts.map +0 -1
  332. package/lib/index.js +0 -72
  333. package/lib/index.js.map +0 -1
  334. package/lib/ipcService.d.ts +0 -33
  335. package/lib/ipcService.d.ts.map +0 -1
  336. package/lib/ipcService.js.map +0 -1
  337. package/lib/logger.d.ts.map +0 -1
  338. package/lib/logger.js.map +0 -1
  339. package/lib/platformAccessory.d.ts.map +0 -1
  340. package/lib/platformAccessory.js.map +0 -1
  341. package/lib/plugin.d.ts.map +0 -1
  342. package/lib/plugin.js.map +0 -1
  343. package/lib/pluginManager.d.ts.map +0 -1
  344. package/lib/pluginManager.js.map +0 -1
  345. package/lib/server.d.ts.map +0 -1
  346. package/lib/server.js.map +0 -1
  347. package/lib/storageService.js +0 -70
  348. package/lib/storageService.js.map +0 -1
  349. package/lib/user.d.ts.map +0 -1
  350. package/lib/user.js +0 -36
  351. package/lib/user.js.map +0 -1
  352. package/lib/util/mac.d.ts.map +0 -1
  353. package/lib/util/mac.js +0 -20
  354. package/lib/util/mac.js.map +0 -1
  355. package/lib/version.d.ts.map +0 -1
  356. package/lib/version.js +0 -21
  357. package/lib/version.js.map +0 -1
  358. /package/{lib → dist}/storageService.d.ts +0 -0
  359. /package/{lib → dist}/version.d.ts +0 -0
@@ -0,0 +1,105 @@
1
+ import { Logger } from './logger.js';
2
+ /**
3
+ * Allocates ports from the user defined `config.ports` and `config.matterPorts` options
4
+ * This service is used to allocate ports for external accessories on the main bridge, and child bridges.
5
+ * HAP ports and Matter ports are managed separately with their own ranges.
6
+ */
7
+ export class ExternalPortService {
8
+ externalPorts;
9
+ matterPorts;
10
+ nextExternalPort;
11
+ allocatedPorts = new Map();
12
+ allocatedMatterPorts = new Map();
13
+ configuredMatterPorts = new Set();
14
+ constructor(externalPorts, matterPorts, configuredMatterPorts) {
15
+ this.externalPorts = externalPorts;
16
+ this.matterPorts = matterPorts;
17
+ if (configuredMatterPorts) {
18
+ this.configuredMatterPorts = new Set(configuredMatterPorts);
19
+ }
20
+ }
21
+ /**
22
+ * Returns the next available HAP port in the external port config.
23
+ * If the external port is not configured by the user it will return undefined.
24
+ * If the port range has been exhausted it will return undefined.
25
+ */
26
+ async requestPort(username) {
27
+ // check to see if this device has already requested an external port
28
+ const existingPortAllocation = this.allocatedPorts.get(username);
29
+ if (existingPortAllocation) {
30
+ return existingPortAllocation;
31
+ }
32
+ // get the next unused port
33
+ const port = this.getNextFreePort();
34
+ this.allocatedPorts.set(username, port);
35
+ return port;
36
+ }
37
+ /**
38
+ * Returns the next available Matter port in the Matter port config.
39
+ * If Matter ports are not configured, falls back to range 5530-5541.
40
+ * If the port range has been exhausted it will return undefined.
41
+ *
42
+ * @param uuid - Unique identifier for the Matter accessory (can be accessory UUID or other unique string)
43
+ */
44
+ async requestMatterPort(uuid) {
45
+ // Check to see if this accessory has already requested a Matter port
46
+ const existingPortAllocation = this.allocatedMatterPorts.get(uuid);
47
+ if (existingPortAllocation) {
48
+ return existingPortAllocation;
49
+ }
50
+ // Get the next unused Matter port
51
+ const port = this.getNextFreeMatterPort();
52
+ this.allocatedMatterPorts.set(uuid, port);
53
+ return port;
54
+ }
55
+ getNextFreePort() {
56
+ if (!this.externalPorts) {
57
+ return undefined;
58
+ }
59
+ if (this.nextExternalPort === undefined) {
60
+ this.nextExternalPort = this.externalPorts.start;
61
+ return this.nextExternalPort;
62
+ }
63
+ this.nextExternalPort++;
64
+ if (this.nextExternalPort <= this.externalPorts.end) {
65
+ return this.nextExternalPort;
66
+ }
67
+ Logger.internal.warn('External HAP port pool ran out of ports. Falling back to random port assignment.');
68
+ return undefined;
69
+ }
70
+ getNextFreeMatterPort() {
71
+ // Fallback to default range 5530-5541, avoiding already allocated ports
72
+ const rangeStart = this.matterPorts?.start || 5530;
73
+ const rangeEnd = this.matterPorts?.end || 5541;
74
+ const allocatedPortValues = new Set([
75
+ ...this.configuredMatterPorts,
76
+ ...Array.from(this.allocatedMatterPorts.values()).filter((p) => p !== undefined),
77
+ ]);
78
+ // Find first unallocated port in range 5530-5541
79
+ for (let port = rangeStart; port <= rangeEnd; port += 1) {
80
+ if (!allocatedPortValues.has(port)) {
81
+ return port;
82
+ }
83
+ }
84
+ throw new Error(`No available Matter ports in range ${rangeStart}-${rangeEnd}. All ports are already allocated.`);
85
+ }
86
+ }
87
+ /**
88
+ * This is the child bridge version of the port allocation service.
89
+ * It requests free ports from the main bridge's port service via IPC.
90
+ */
91
+ export class ChildBridgeExternalPortService extends ExternalPortService {
92
+ childBridge;
93
+ constructor(childBridge) {
94
+ super();
95
+ this.childBridge = childBridge;
96
+ }
97
+ async requestPort(username) {
98
+ return await this.childBridge.requestExternalPort(username);
99
+ }
100
+ async requestMatterPort(uniqueId) {
101
+ // For child bridges, request Matter port from parent via IPC
102
+ return await this.childBridge.requestMatterPort(uniqueId);
103
+ }
104
+ }
105
+ //# sourceMappingURL=externalPortService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalPortService.js","sourceRoot":"","sources":["../src/externalPortService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Export HAP
3
+ */
4
+ import type { API } from './api.js';
5
+ export type HAP = API['hap'];
6
+ /**
7
+ * Export types for basically everything but the actual API implementation
8
+ */
9
+ export type { AccessoryIdentifier, AccessoryName, AccessoryPlugin, AccessoryPluginConstructor, API, DynamicPlatformPlugin, IndependentPlatformPlugin, MatterAPI, PlatformIdentifier, PlatformName, PlatformPluginConstructor, PluginIdentifier, PluginInitializer, PluginName, ScopedPluginName, StaticPlatformPlugin, } from './api.js';
10
+ /**
11
+ * Export API const enums
12
+ */
13
+ export { APIEvent, PluginType } from './api.js';
14
+ /**
15
+ * Export bridge types
16
+ */
17
+ export type { AccessoryConfig, BridgeConfiguration, HomebridgeConfig, PlatformConfig, } from './bridgeService.js';
18
+ /**
19
+ * Export port types
20
+ */
21
+ export type { ExternalPortsConfiguration } from './externalPortService.js';
22
+ /**
23
+ * Export Logger const enums
24
+ */
25
+ export { LogLevel } from './logger.js';
26
+ /**
27
+ * Export Logger types
28
+ */
29
+ export type { Logger, Logging } from './logger.js';
30
+ /**
31
+ * ═══════════════════════════════════════════════════════════════════════
32
+ * Matter Protocol - Plugin API Exports
33
+ * ═══════════════════════════════════════════════════════════════════════
34
+ */
35
+ /**
36
+ * Matter cache types
37
+ */
38
+ export type { SerializedMatterAccessory } from './matter/accessoryCache.js';
39
+ /**
40
+ * Matter cluster command request types namespace for type-safe handlers
41
+ * @example
42
+ * ```typescript
43
+ * import type { MatterRequests } from 'homebridge'
44
+ *
45
+ * handlers: {
46
+ * levelControl: {
47
+ * moveToLevel: async (args: MatterRequests.MoveToLevel) => {
48
+ * console.log(`Level: ${args.level}`)
49
+ * }
50
+ * }
51
+ * }
52
+ * ```
53
+ */
54
+ export { MatterRequests } from './matter/index.js';
55
+ /**
56
+ * Matter protocol status errors for plugin handlers
57
+ * @example
58
+ * ```typescript
59
+ * import { MatterStatus } from 'homebridge'
60
+ *
61
+ * handlers: {
62
+ * onOff: {
63
+ * on: async () => {
64
+ * if (deviceIsBusy) {
65
+ * throw new MatterStatus.Busy('Device is processing another command')
66
+ * }
67
+ * // ... control device
68
+ * }
69
+ * }
70
+ * }
71
+ * ```
72
+ */
73
+ export { MatterStatus } from './matter/index.js';
74
+ export type { MatterAccessoriesResponse, MatterAccessoryInfo, MatterBridgeMetadata, MatterCommissioningInfo, MatterServerConfig, } from './matter/sharedTypes.js';
75
+ export { ChildMatterMessageType, MatterBridgeStatus } from './matter/sharedTypes.js';
76
+ /**
77
+ * Matter accessory and configuration types
78
+ */
79
+ export type { MatterAccessory, MatterClusterHandlers, MatterClusterName, MatterCommandHandler, MatterConfig, } from './matter/types.js';
80
+ /**
81
+ * ═══════════════════════════════════════════════════════════════════════
82
+ * Matter Protocol - UI Integration Types
83
+ * ═══════════════════════════════════════════════════════════════════════
84
+ */
85
+ /**
86
+ * Matter device types, clusters, and cluster names
87
+ * Access via api.matter.deviceTypes, api.matter.clusters, api.matter.clusterNames
88
+ */
89
+ export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes } from './matter/types.js';
90
+ /**
91
+ * Matter error types for error handling
92
+ */
93
+ export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './matter/types.js';
94
+ export type { EndpointType, MatterErrorDetails } from './matter/types.js';
95
+ /**
96
+ * Export Platform Accessory const enums
97
+ */
98
+ export { PlatformAccessoryEvent } from './platformAccessory.js';
99
+ /**
100
+ * Export Platform Accessory Types
101
+ */
102
+ export type { PlatformAccessory, UnknownContext } from './platformAccessory.js';
103
+ /**
104
+ * Export server types
105
+ */
106
+ export type { HomebridgeOptions } from './server.js';
107
+ /**
108
+ * Export User Types
109
+ */
110
+ export type { User } from './user.js';
111
+ /**
112
+ * Export the CONST ENUMS from hap-nodejs
113
+ * These get converted to their string value at compile time
114
+ * and can be safely used directly.
115
+ */
116
+ export { Access, AccessControlEvent, AccessLevel, AccessoryEventTypes, AdaptiveLightingControllerEvents, AdaptiveLightingControllerMode, AudioBitrate, AudioCodecTypes, AudioRecordingCodecType, AudioRecordingSamplerate, AudioSamplerate, AudioStreamingCodecType, AudioStreamingSamplerate, ButtonState, ButtonType, CameraControllerEvents, Categories, ChangeReason, CharacteristicEventTypes, DataFormatTags, DataStreamConnectionEvent, DataStreamServerEvent, DataStreamStatus, DefaultControllerType, EventTriggerOption, Formats, H264Level, H264Profile, HAPServerEventTypes, HAPStatus, HDSProtocolSpecificErrorReason, HDSStatus, MediaContainerType, PacketDataType, Perms, Protocols, RemoteControllerEvents, ResourceRequestReason, ServiceEventTypes, SiriAudioSessionEvents, SRTPCryptoSuites, StreamRequestTypes, TargetCategory, TargetUpdates, Topics, Units, } from 'hap-nodejs';
117
+ /**
118
+ * Export HAP-NodeJS namespaces as type only
119
+ */
120
+ export type { DataStreamParser } from 'hap-nodejs';
121
+ /**
122
+ * Export HAP-NodeJS classes as type only
123
+ */
124
+ export type { AccessControlManagement, AdaptiveLightingController, CameraController, Characteristic, ColorUtils, DataStreamConnection, DataStreamManagement, DataStreamReader, DataStreamServer, DataStreamWriter, DoorbellController, HAPServer, HapStatusError, HAPStorage, HDSProtocolError, RecordingManagement, RemoteController, RTPStreamManagement, Service, SiriAudioSession, } from 'hap-nodejs';
125
+ /**
126
+ * Export HAP-NodeJS interfaces as type only
127
+ */
128
+ export type { ActiveAdaptiveLightingTransition, AdaptiveLightingOptions, AdaptiveLightingTransitionCurveEntry, BrightnessAdjustmentMultiplierRange, CameraControllerOptions, CameraRecordingConfiguration, CameraRecordingDelegate, CameraStreamingDelegate, CharacteristicOperationContext, CharacteristicProps, Controller, ControllerConstructor, ControllerContext, ControllerServiceMap, DataStreamProtocolHandler, DoorbellOptions, H264CodecParameters, MediaContainerConfiguration, ProxiedSourceResponse, PublishInfo, RecordingManagementState, RecordingPacket, RTPProxyOptions, RTPStreamManagementState, SelectedH264CodecParameters, SerializableController, ServiceConfigurationChange, SiriAudioStreamProducer, SiriAudioStreamProducerConstructor, SourceResponse, VideoRecordingOptions, } from 'hap-nodejs';
129
+ /**
130
+ * Export HAP-NodeJS type aliases as type only
131
+ */
132
+ export type { AccessoriesCallback, AccessoryCharacteristicChange, AdditionalAuthorizationHandler, AddPairingCallback, AudioCodecConfiguration, AudioCodecParameters, AudioFrame, AudioInfo, AudioRecordingCodec, AudioRecordingOptions, AudioStreamingCodec, AudioStreamingOptions, ButtonConfiguration, CameraRecordingOptions, CameraStreamingOptions, CharacteristicChange, CharacteristicGetCallback, CharacteristicGetHandler, CharacteristicSetCallback, CharacteristicSetHandler, CharacteristicValue, ConstructorArgs, ControllerType, ErrorHandler, EventHandler, FrameHandler, GlobalEventHandler, GlobalRequestHandler, HAPHttpError, HAPPincode, IdentificationCallback, IdentifyCallback, InterfaceName, IPAddress, IPv4Address, IPv6Address, ListPairingsCallback, MacAddress, NodeCallback, Nullable, PairCallback, PairingsCallback, PartialAllowingNull, PreparedDataStreamSession, PrepareStreamCallback, PrepareStreamRequest, PrepareStreamResponse, PrimitiveTypes, ReadCharacteristicsCallback, ReconfiguredVideoInfo, ReconfigureStreamRequest, RemovePairingCallback, RequestHandler, Resolution, ResourceRequestCallback, ResponseHandler, RTPTime, SerializedServiceMap, ServiceCharacteristicChange, ServiceId, SessionIdentifier, SnapshotRequest, SnapshotRequestCallback, Source, StartStreamRequest, StateChangeDelegate, StopStreamRequest, StreamingRequest, StreamRequestCallback, StreamSessionIdentifier, SupportedButtonConfiguration, SupportedConfiguration, TargetConfiguration, TLVEncodable, VideoInfo, VideoStreamingOptions, VoidCallback, WithUUID, WriteCharacteristicsCallback, } from 'hap-nodejs';
133
+ /**
134
+ * Export HAP-NodeJS variables as type only
135
+ */
136
+ export type { LegacyTypes, uuid } from 'hap-nodejs';
137
+ /**
138
+ * Export HAP-NodeJS functions as type only
139
+ */
140
+ export type { clone, decode, decodeList, decodeWithLists, encode, epochMillisFromMillisSince2001_01_01, epochMillisFromMillisSince2001_01_01Buffer, once, } from 'hap-nodejs';
141
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Export API const enums
3
+ */
4
+ export { APIEvent, PluginType } from './api.js';
5
+ /**
6
+ * Export Logger const enums
7
+ */
8
+ export { LogLevel } from './logger.js';
9
+ /**
10
+ * Matter protocol status errors for plugin handlers
11
+ * @example
12
+ * ```typescript
13
+ * import { MatterStatus } from 'homebridge'
14
+ *
15
+ * handlers: {
16
+ * onOff: {
17
+ * on: async () => {
18
+ * if (deviceIsBusy) {
19
+ * throw new MatterStatus.Busy('Device is processing another command')
20
+ * }
21
+ * // ... control device
22
+ * }
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export { MatterStatus } from './matter/index.js';
28
+ export { ChildMatterMessageType, MatterBridgeStatus } from './matter/sharedTypes.js';
29
+ /**
30
+ * ═══════════════════════════════════════════════════════════════════════
31
+ * Matter Protocol - UI Integration Types
32
+ * ═══════════════════════════════════════════════════════════════════════
33
+ */
34
+ /**
35
+ * Matter device types, clusters, and cluster names
36
+ * Access via api.matter.deviceTypes, api.matter.clusters, api.matter.clusterNames
37
+ */
38
+ export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes } from './matter/types.js';
39
+ /**
40
+ * Matter error types for error handling
41
+ */
42
+ export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './matter/types.js';
43
+ /**
44
+ * Export Platform Accessory const enums
45
+ */
46
+ export { PlatformAccessoryEvent } from './platformAccessory.js';
47
+ /**
48
+ * Export the CONST ENUMS from hap-nodejs
49
+ * These get converted to their string value at compile time
50
+ * and can be safely used directly.
51
+ */
52
+ export { Access, AccessControlEvent, AccessLevel, AccessoryEventTypes, AdaptiveLightingControllerEvents, AdaptiveLightingControllerMode, AudioBitrate, AudioCodecTypes, AudioRecordingCodecType, AudioRecordingSamplerate, AudioSamplerate, AudioStreamingCodecType, AudioStreamingSamplerate, ButtonState, ButtonType, CameraControllerEvents, Categories, ChangeReason, CharacteristicEventTypes, DataFormatTags, DataStreamConnectionEvent, DataStreamServerEvent, DataStreamStatus, DefaultControllerType, EventTriggerOption, Formats, H264Level, H264Profile, HAPServerEventTypes, HAPStatus, HDSProtocolSpecificErrorReason, HDSStatus, MediaContainerType, PacketDataType, Perms, Protocols, RemoteControllerEvents, ResourceRequestReason, ServiceEventTypes, SiriAudioSessionEvents, SRTPCryptoSuites, StreamRequestTypes, TargetCategory, TargetUpdates, Topics, Units, } from 'hap-nodejs';
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAiB/C;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAmCtC;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAUhD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAapF;;;;GAIG;AAEH;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;GAEG;AACH,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAI1B;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAiB/D;;;;GAIG;AACH,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,8BAA8B,EAC9B,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,GACN,MAAM,YAAY,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export declare const enum IpcIncomingEvent {
3
+ RESTART_CHILD_BRIDGE = "restartChildBridge",
4
+ STOP_CHILD_BRIDGE = "stopChildBridge",
5
+ START_CHILD_BRIDGE = "startChildBridge"
6
+ }
7
+ export declare const enum IpcOutgoingEvent {
8
+ SERVER_STATUS_UPDATE = "serverStatusUpdate",
9
+ CHILD_BRIDGE_STATUS_UPDATE = "childBridgeStatusUpdate"
10
+ }
11
+ /**
12
+ * Server status update message sent from Homebridge to parent process
13
+ */
14
+ export interface ServerStatusUpdate {
15
+ status: string;
16
+ paired: boolean | null;
17
+ setupUri: string | null;
18
+ name: string;
19
+ username: string;
20
+ pin: string;
21
+ matter: {
22
+ enabled: boolean;
23
+ port?: number;
24
+ setupUri?: string;
25
+ pin?: string;
26
+ serialNumber?: string;
27
+ commissioned?: boolean;
28
+ deviceCount?: number;
29
+ };
30
+ }
31
+ export declare interface IpcService {
32
+ on: ((event: IpcIncomingEvent.RESTART_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.STOP_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.START_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this);
33
+ }
34
+ export declare class IpcService extends EventEmitter {
35
+ constructor();
36
+ /**
37
+ * Start the IPC service listeners/
38
+ * Currently this will only listen for messages from a parent process.
39
+ */
40
+ start(): void;
41
+ /**
42
+ * Send a message to connected IPC clients.
43
+ * Currently, this will only send messages if Homebridge was launched as a child_process.fork()
44
+ * from another Node.js process (such as hb-service).
45
+ */
46
+ sendMessage(id: IpcOutgoingEvent, data: unknown): void;
47
+ }
48
+ //# sourceMappingURL=ipcService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcService.d.ts","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,iBAAiB,oBAAoB;IACrC,kBAAkB,qBAAqB;CACxC;AAGD,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,0BAA0B,4BAA4B;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAGD,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,CAAA;CACjU;AAGD,qBAAa,UAAW,SAAQ,YAAY;;IAK1C;;;OAGG;IACI,KAAK,IAAI,IAAI;IASpB;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;CAQ9D"}
@@ -1,21 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IpcService = exports.IpcOutgoingEvent = exports.IpcIncomingEvent = void 0;
4
- const events_1 = require("events");
5
- var IpcIncomingEvent;
1
+ import { EventEmitter } from 'node:events';
2
+ import process from 'node:process';
3
+ // eslint-disable-next-line no-restricted-syntax
4
+ export var IpcIncomingEvent;
6
5
  (function (IpcIncomingEvent) {
7
6
  IpcIncomingEvent["RESTART_CHILD_BRIDGE"] = "restartChildBridge";
8
7
  IpcIncomingEvent["STOP_CHILD_BRIDGE"] = "stopChildBridge";
9
8
  IpcIncomingEvent["START_CHILD_BRIDGE"] = "startChildBridge";
10
- IpcIncomingEvent["CHILD_BRIDGE_METADATA_REQUEST"] = "childBridgeMetadataRequest";
11
- })(IpcIncomingEvent || (exports.IpcIncomingEvent = IpcIncomingEvent = {}));
12
- var IpcOutgoingEvent;
9
+ })(IpcIncomingEvent || (IpcIncomingEvent = {}));
10
+ // eslint-disable-next-line no-restricted-syntax
11
+ export var IpcOutgoingEvent;
13
12
  (function (IpcOutgoingEvent) {
14
13
  IpcOutgoingEvent["SERVER_STATUS_UPDATE"] = "serverStatusUpdate";
15
- IpcOutgoingEvent["CHILD_BRIDGE_METADATA_RESPONSE"] = "childBridgeMetadataResponse";
16
14
  IpcOutgoingEvent["CHILD_BRIDGE_STATUS_UPDATE"] = "childBridgeStatusUpdate";
17
- })(IpcOutgoingEvent || (exports.IpcOutgoingEvent = IpcOutgoingEvent = {}));
18
- class IpcService extends events_1.EventEmitter {
15
+ })(IpcOutgoingEvent || (IpcOutgoingEvent = {}));
16
+ // eslint-disable-next-line ts/no-unsafe-declaration-merging
17
+ export class IpcService extends EventEmitter {
19
18
  constructor() {
20
19
  super();
21
20
  }
@@ -24,8 +23,8 @@ class IpcService extends events_1.EventEmitter {
24
23
  * Currently this will only listen for messages from a parent process.
25
24
  */
26
25
  start() {
27
- process.on("message", (message) => {
28
- if (!message || typeof message !== "object" || !message.id) {
26
+ process.on('message', (message) => {
27
+ if (!message || typeof message !== 'object' || !message.id) {
29
28
  return;
30
29
  }
31
30
  this.emit(message.id, message.data);
@@ -45,5 +44,4 @@ class IpcService extends events_1.EventEmitter {
45
44
  }
46
45
  }
47
46
  }
48
- exports.IpcService = IpcService;
49
47
  //# sourceMappingURL=ipcService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcService.js","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAIjB;AAJD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;AACzC,CAAC,EAJiB,gBAAgB,KAAhB,gBAAgB,QAIjC;AAED,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAGjB;AAHD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,0EAAsD,CAAA;AACxD,CAAC,EAHiB,gBAAgB,KAAhB,gBAAgB,QAGjC;AA4BD,4DAA4D;AAC5D,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAoC,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAoB,EAAE,IAAa;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -24,12 +24,12 @@ export declare const enum LogLevel {
24
24
  export interface Logging {
25
25
  prefix: string;
26
26
  (message: string, ...parameters: any[]): void;
27
- info(message: string, ...parameters: any[]): void;
28
- success(message: string, ...parameters: any[]): void;
29
- warn(message: string, ...parameters: any[]): void;
30
- error(message: string, ...parameters: any[]): void;
31
- debug(message: string, ...parameters: any[]): void;
32
- log(level: LogLevel, message: string, ...parameters: any[]): void;
27
+ info: (message: string, ...parameters: any[]) => void;
28
+ success: (message: string, ...parameters: any[]) => void;
29
+ warn: (message: string, ...parameters: any[]) => void;
30
+ error: (message: string, ...parameters: any[]) => void;
31
+ debug: (message: string, ...parameters: any[]) => void;
32
+ log: (level: LogLevel, message: string, ...parameters: any[]) => void;
33
33
  }
34
34
  /**
35
35
  * Logger class
@@ -59,6 +59,12 @@ export declare class Logger {
59
59
  * @param enabled {boolean}
60
60
  */
61
61
  static setTimestampEnabled(enabled?: boolean): void;
62
+ /**
63
+ * Check if timestamps are enabled in log messages.
64
+ *
65
+ * @returns {boolean} true if timestamps are enabled
66
+ */
67
+ static isTimestampEnabled(): boolean;
62
68
  /**
63
69
  * Forces color in logging output, even if it seems like color is unsupported.
64
70
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAaD;;GAEG;AACH,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAyB1C;;;;OAIG;WACW,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAI5D;;;;OAIG;WACW,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAIhE;;;;OAIG;WACW,kBAAkB,IAAI,OAAO;IAI3C;;OAEG;WACW,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -1,13 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Logger = exports.LogLevel = void 0;
7
- exports.getLogPrefix = getLogPrefix;
8
- /* eslint-disable @typescript-eslint/no-explicit-any */
9
- const util_1 = __importDefault(require("util"));
10
- const chalk_1 = __importDefault(require("chalk"));
1
+ import util from 'node:util';
2
+ import chalk from 'chalk';
11
3
  /**
12
4
  * Log levels to indicate importance of the logged message.
13
5
  * Every level corresponds to a certain color.
@@ -20,18 +12,19 @@ const chalk_1 = __importDefault(require("chalk"));
20
12
  *
21
13
  * Messages with DEBUG level are only displayed if explicitly enabled.
22
14
  */
23
- var LogLevel;
15
+ // eslint-disable-next-line no-restricted-syntax
16
+ export var LogLevel;
24
17
  (function (LogLevel) {
25
18
  LogLevel["INFO"] = "info";
26
19
  LogLevel["SUCCESS"] = "success";
27
20
  LogLevel["WARN"] = "warn";
28
21
  LogLevel["ERROR"] = "error";
29
22
  LogLevel["DEBUG"] = "debug";
30
- })(LogLevel || (exports.LogLevel = LogLevel = {}));
23
+ })(LogLevel || (LogLevel = {}));
31
24
  /**
32
25
  * Logger class
33
26
  */
34
- class Logger {
27
+ export class Logger {
35
28
  static internal = new Logger();
36
29
  static loggerCache = new Map(); // global cache of logger instances by plugin name
37
30
  static debugEnabled = false;
@@ -60,9 +53,8 @@ class Logger {
60
53
  log.debug = logger.debug;
61
54
  log.log = logger.log;
62
55
  log.prefix = logger.prefix;
63
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
- // @ts-ignore
65
- const logging = log; // I aimed to not use ts-ignore in this project, but this evil "thing" above is hell
56
+ // @ts-expect-error: I aimed to not use ts-ignore in this project, but this evil "thing" above is hell
57
+ const logging = log;
66
58
  Logger.loggerCache.set(prefix, logging);
67
59
  return logging;
68
60
  }
@@ -83,11 +75,19 @@ class Logger {
83
75
  static setTimestampEnabled(enabled = true) {
84
76
  Logger.timestampEnabled = enabled;
85
77
  }
78
+ /**
79
+ * Check if timestamps are enabled in log messages.
80
+ *
81
+ * @returns {boolean} true if timestamps are enabled
82
+ */
83
+ static isTimestampEnabled() {
84
+ return Logger.timestampEnabled;
85
+ }
86
86
  /**
87
87
  * Forces color in logging output, even if it seems like color is unsupported.
88
88
  */
89
89
  static forceColor() {
90
- chalk_1.default.level = 1; // `1` - Basic 16 colors support.
90
+ chalk.level = 1; // `1` - Basic 16 colors support.
91
91
  }
92
92
  info(message, ...parameters) {
93
93
  this.log("info" /* LogLevel.INFO */, message, ...parameters);
@@ -108,40 +108,39 @@ class Logger {
108
108
  if (level === "debug" /* LogLevel.DEBUG */ && !Logger.debugEnabled) {
109
109
  return;
110
110
  }
111
- message = util_1.default.format(message, ...parameters);
112
- let loggingFunction = console.log;
111
+ message = util.format(message, ...parameters);
112
+ let loggingFunction = console.log; // eslint-disable-line no-console
113
113
  switch (level) {
114
114
  case "success" /* LogLevel.SUCCESS */:
115
- message = chalk_1.default.green(message);
115
+ message = chalk.green(message);
116
116
  break;
117
117
  case "warn" /* LogLevel.WARN */:
118
- message = chalk_1.default.yellow(message);
118
+ message = chalk.yellow(message);
119
119
  loggingFunction = console.error;
120
120
  break;
121
121
  case "error" /* LogLevel.ERROR */:
122
- message = chalk_1.default.red(message);
122
+ message = chalk.red(message);
123
123
  loggingFunction = console.error;
124
124
  break;
125
125
  case "debug" /* LogLevel.DEBUG */:
126
- message = chalk_1.default.gray(message);
126
+ message = chalk.gray(message);
127
127
  break;
128
128
  }
129
129
  if (this.prefix) {
130
- message = getLogPrefix(this.prefix) + " " + message;
130
+ message = `${getLogPrefix(this.prefix)} ${message}`;
131
131
  }
132
132
  if (Logger.timestampEnabled) {
133
133
  const date = new Date();
134
- message = chalk_1.default.white(`[${date.toLocaleString()}] `) + message;
134
+ message = chalk.white(`[${date.toLocaleString()}] `) + message;
135
135
  }
136
136
  loggingFunction(message);
137
137
  }
138
138
  }
139
- exports.Logger = Logger;
140
139
  /**
141
140
  * Gets the prefix
142
141
  * @param prefix
143
142
  */
144
- function getLogPrefix(prefix) {
145
- return chalk_1.default.cyan(`[${prefix}]`);
143
+ export function getLogPrefix(prefix) {
144
+ return chalk.cyan(`[${prefix}]`);
146
145
  }
147
146
  //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.spec.d.ts","sourceRoot":"","sources":["../src/logger.spec.ts"],"names":[],"mappings":""}