matterbridge 3.4.6 → 3.4.7-dev-20260104-6b10cee

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 (354) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README-DOCKER.md +8 -0
  3. package/dist/broadcastServer.js +0 -117
  4. package/dist/broadcastServerTypes.js +0 -24
  5. package/dist/cli.js +1 -97
  6. package/dist/cliEmitter.js +0 -37
  7. package/dist/cliHistory.js +0 -38
  8. package/dist/clusters/export.js +0 -2
  9. package/dist/deviceManager.js +1 -113
  10. package/dist/devices/airConditioner.js +0 -57
  11. package/dist/devices/batteryStorage.js +1 -48
  12. package/dist/devices/cooktop.js +0 -56
  13. package/dist/devices/dishwasher.js +0 -57
  14. package/dist/devices/evse.js +10 -74
  15. package/dist/devices/export.js +0 -5
  16. package/dist/devices/extractorHood.js +0 -43
  17. package/dist/devices/heatPump.js +2 -50
  18. package/dist/devices/laundryDryer.js +3 -62
  19. package/dist/devices/laundryWasher.js +4 -70
  20. package/dist/devices/microwaveOven.js +5 -88
  21. package/dist/devices/oven.js +0 -85
  22. package/dist/devices/refrigerator.js +0 -102
  23. package/dist/devices/roboticVacuumCleaner.js +9 -100
  24. package/dist/devices/solarPower.js +0 -38
  25. package/dist/devices/speaker.js +0 -84
  26. package/dist/devices/temperatureControl.js +3 -24
  27. package/dist/devices/waterHeater.js +2 -82
  28. package/dist/dgram/coap.js +13 -126
  29. package/dist/dgram/dgram.js +6 -114
  30. package/dist/dgram/mb_coap.js +3 -41
  31. package/dist/dgram/mb_mdns.js +23 -77
  32. package/dist/dgram/mdns.js +139 -371
  33. package/dist/dgram/mdnsReflectorClient.js +5 -71
  34. package/dist/dgram/mdnsReflectorServer.js +8 -73
  35. package/dist/dgram/mdnsReflectorTypes.js +1 -24
  36. package/dist/dgram/multicast.js +1 -62
  37. package/dist/dgram/unicast.js +0 -60
  38. package/dist/frontend.js +38 -485
  39. package/dist/frontendTypes.js +0 -45
  40. package/dist/helpers.js +0 -53
  41. package/dist/index.js +0 -25
  42. package/dist/jestutils/export.js +0 -1
  43. package/dist/jestutils/jestHelpers.js +14 -371
  44. package/dist/logger/export.js +0 -1
  45. package/dist/matter/behaviors.js +0 -2
  46. package/dist/matter/clusters.js +0 -2
  47. package/dist/matter/devices.js +0 -2
  48. package/dist/matter/endpoints.js +0 -2
  49. package/dist/matter/export.js +0 -3
  50. package/dist/matter/types.js +0 -3
  51. package/dist/matterNode.js +8 -369
  52. package/dist/matterbridge.js +46 -824
  53. package/dist/matterbridgeAccessoryPlatform.js +0 -38
  54. package/dist/matterbridgeBehaviors.js +5 -68
  55. package/dist/matterbridgeDeviceTypes.js +14 -635
  56. package/dist/matterbridgeDynamicPlatform.js +0 -38
  57. package/dist/matterbridgeEndpoint.js +53 -1457
  58. package/dist/matterbridgeEndpointHelpers.js +20 -483
  59. package/dist/matterbridgeEndpointTypes.js +0 -25
  60. package/dist/matterbridgePlatform.js +1 -451
  61. package/dist/matterbridgeTypes.js +0 -26
  62. package/dist/pluginManager.js +5 -341
  63. package/dist/shelly.js +7 -178
  64. package/dist/storage/export.js +0 -1
  65. package/dist/update.js +1 -93
  66. package/dist/utils/colorUtils.js +2 -97
  67. package/dist/utils/commandLine.js +0 -60
  68. package/dist/utils/copyDirectory.js +0 -37
  69. package/dist/utils/createDirectory.js +0 -33
  70. package/dist/utils/createZip.js +2 -47
  71. package/dist/utils/deepCopy.js +0 -39
  72. package/dist/utils/deepEqual.js +1 -72
  73. package/dist/utils/error.js +0 -42
  74. package/dist/utils/export.js +0 -1
  75. package/dist/utils/format.js +0 -49
  76. package/dist/utils/hex.js +0 -124
  77. package/dist/utils/inspector.js +1 -69
  78. package/dist/utils/isValid.js +0 -93
  79. package/dist/utils/network.js +5 -125
  80. package/dist/utils/spawn.js +1 -71
  81. package/dist/utils/tracker.js +1 -64
  82. package/dist/utils/wait.js +8 -60
  83. package/dist/workerGlobalPrefix.js +5 -37
  84. package/dist/workerTypes.js +0 -24
  85. package/dist/workers.js +4 -68
  86. package/npm-shrinkwrap.json +25 -25
  87. package/package.json +1 -2
  88. package/packages/mb-lib-test/dist/jestutils/jestHelpers.d.ts +21 -0
  89. package/packages/mb-lib-test/dist/jestutils/jestHelpers.js +77 -0
  90. package/packages/mb-lib-test/dist/module.d.ts +2 -0
  91. package/packages/mb-lib-test/dist/module.js +2 -0
  92. package/packages/mb-lib-test/dist/vitestutils/vitestHelpers.d.ts +21 -0
  93. package/packages/mb-lib-test/dist/vitestutils/vitestHelpers.js +77 -0
  94. package/packages/mb-lib-test/package.json +12 -11
  95. package/reflector/DockerDesktopSetup.png +0 -0
  96. package/reflector/Reflector.md +158 -0
  97. package/reflector/ReflectorClient.png +0 -0
  98. package/reflector/ReflectorServer.png +0 -0
  99. package/reflector/docker-compose.yml +32 -0
  100. package/reflector/mDnsPacket.png +0 -0
  101. package/dist/broadcastServer.d.ts +0 -144
  102. package/dist/broadcastServer.d.ts.map +0 -1
  103. package/dist/broadcastServer.js.map +0 -1
  104. package/dist/broadcastServerTypes.d.ts +0 -841
  105. package/dist/broadcastServerTypes.d.ts.map +0 -1
  106. package/dist/broadcastServerTypes.js.map +0 -1
  107. package/dist/cli.d.ts +0 -30
  108. package/dist/cli.d.ts.map +0 -1
  109. package/dist/cli.js.map +0 -1
  110. package/dist/cliEmitter.d.ts +0 -50
  111. package/dist/cliEmitter.d.ts.map +0 -1
  112. package/dist/cliEmitter.js.map +0 -1
  113. package/dist/cliHistory.d.ts +0 -48
  114. package/dist/cliHistory.d.ts.map +0 -1
  115. package/dist/cliHistory.js.map +0 -1
  116. package/dist/clusters/export.d.ts +0 -2
  117. package/dist/clusters/export.d.ts.map +0 -1
  118. package/dist/clusters/export.js.map +0 -1
  119. package/dist/deviceManager.d.ts +0 -135
  120. package/dist/deviceManager.d.ts.map +0 -1
  121. package/dist/deviceManager.js.map +0 -1
  122. package/dist/devices/airConditioner.d.ts +0 -98
  123. package/dist/devices/airConditioner.d.ts.map +0 -1
  124. package/dist/devices/airConditioner.js.map +0 -1
  125. package/dist/devices/batteryStorage.d.ts +0 -48
  126. package/dist/devices/batteryStorage.d.ts.map +0 -1
  127. package/dist/devices/batteryStorage.js.map +0 -1
  128. package/dist/devices/cooktop.d.ts +0 -61
  129. package/dist/devices/cooktop.d.ts.map +0 -1
  130. package/dist/devices/cooktop.js.map +0 -1
  131. package/dist/devices/dishwasher.d.ts +0 -71
  132. package/dist/devices/dishwasher.d.ts.map +0 -1
  133. package/dist/devices/dishwasher.js.map +0 -1
  134. package/dist/devices/evse.d.ts +0 -76
  135. package/dist/devices/evse.d.ts.map +0 -1
  136. package/dist/devices/evse.js.map +0 -1
  137. package/dist/devices/export.d.ts +0 -17
  138. package/dist/devices/export.d.ts.map +0 -1
  139. package/dist/devices/export.js.map +0 -1
  140. package/dist/devices/extractorHood.d.ts +0 -46
  141. package/dist/devices/extractorHood.d.ts.map +0 -1
  142. package/dist/devices/extractorHood.js.map +0 -1
  143. package/dist/devices/heatPump.d.ts +0 -47
  144. package/dist/devices/heatPump.d.ts.map +0 -1
  145. package/dist/devices/heatPump.js.map +0 -1
  146. package/dist/devices/laundryDryer.d.ts +0 -67
  147. package/dist/devices/laundryDryer.d.ts.map +0 -1
  148. package/dist/devices/laundryDryer.js.map +0 -1
  149. package/dist/devices/laundryWasher.d.ts +0 -81
  150. package/dist/devices/laundryWasher.d.ts.map +0 -1
  151. package/dist/devices/laundryWasher.js.map +0 -1
  152. package/dist/devices/microwaveOven.d.ts +0 -168
  153. package/dist/devices/microwaveOven.d.ts.map +0 -1
  154. package/dist/devices/microwaveOven.js.map +0 -1
  155. package/dist/devices/oven.d.ts +0 -105
  156. package/dist/devices/oven.d.ts.map +0 -1
  157. package/dist/devices/oven.js.map +0 -1
  158. package/dist/devices/refrigerator.d.ts +0 -118
  159. package/dist/devices/refrigerator.d.ts.map +0 -1
  160. package/dist/devices/refrigerator.js.map +0 -1
  161. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  162. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  163. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  164. package/dist/devices/solarPower.d.ts +0 -40
  165. package/dist/devices/solarPower.d.ts.map +0 -1
  166. package/dist/devices/solarPower.js.map +0 -1
  167. package/dist/devices/speaker.d.ts +0 -87
  168. package/dist/devices/speaker.d.ts.map +0 -1
  169. package/dist/devices/speaker.js.map +0 -1
  170. package/dist/devices/temperatureControl.d.ts +0 -166
  171. package/dist/devices/temperatureControl.d.ts.map +0 -1
  172. package/dist/devices/temperatureControl.js.map +0 -1
  173. package/dist/devices/waterHeater.d.ts +0 -111
  174. package/dist/devices/waterHeater.d.ts.map +0 -1
  175. package/dist/devices/waterHeater.js.map +0 -1
  176. package/dist/dgram/coap.d.ts +0 -205
  177. package/dist/dgram/coap.d.ts.map +0 -1
  178. package/dist/dgram/coap.js.map +0 -1
  179. package/dist/dgram/dgram.d.ts +0 -143
  180. package/dist/dgram/dgram.d.ts.map +0 -1
  181. package/dist/dgram/dgram.js.map +0 -1
  182. package/dist/dgram/mb_coap.d.ts +0 -24
  183. package/dist/dgram/mb_coap.d.ts.map +0 -1
  184. package/dist/dgram/mb_coap.js.map +0 -1
  185. package/dist/dgram/mb_mdns.d.ts +0 -24
  186. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  187. package/dist/dgram/mb_mdns.js.map +0 -1
  188. package/dist/dgram/mdns.d.ts +0 -371
  189. package/dist/dgram/mdns.d.ts.map +0 -1
  190. package/dist/dgram/mdns.js.map +0 -1
  191. package/dist/dgram/mdnsReflectorClient.d.ts +0 -88
  192. package/dist/dgram/mdnsReflectorClient.d.ts.map +0 -1
  193. package/dist/dgram/mdnsReflectorClient.js.map +0 -1
  194. package/dist/dgram/mdnsReflectorServer.d.ts +0 -78
  195. package/dist/dgram/mdnsReflectorServer.d.ts.map +0 -1
  196. package/dist/dgram/mdnsReflectorServer.js.map +0 -1
  197. package/dist/dgram/mdnsReflectorTypes.d.ts +0 -28
  198. package/dist/dgram/mdnsReflectorTypes.d.ts.map +0 -1
  199. package/dist/dgram/mdnsReflectorTypes.js.map +0 -1
  200. package/dist/dgram/multicast.d.ts +0 -67
  201. package/dist/dgram/multicast.d.ts.map +0 -1
  202. package/dist/dgram/multicast.js.map +0 -1
  203. package/dist/dgram/unicast.d.ts +0 -64
  204. package/dist/dgram/unicast.d.ts.map +0 -1
  205. package/dist/dgram/unicast.js.map +0 -1
  206. package/dist/frontend.d.ts +0 -245
  207. package/dist/frontend.d.ts.map +0 -1
  208. package/dist/frontend.js.map +0 -1
  209. package/dist/frontendTypes.d.ts +0 -529
  210. package/dist/frontendTypes.d.ts.map +0 -1
  211. package/dist/frontendTypes.js.map +0 -1
  212. package/dist/helpers.d.ts +0 -48
  213. package/dist/helpers.d.ts.map +0 -1
  214. package/dist/helpers.js.map +0 -1
  215. package/dist/index.d.ts +0 -34
  216. package/dist/index.d.ts.map +0 -1
  217. package/dist/index.js.map +0 -1
  218. package/dist/jestutils/export.d.ts +0 -2
  219. package/dist/jestutils/export.d.ts.map +0 -1
  220. package/dist/jestutils/export.js.map +0 -1
  221. package/dist/jestutils/jestHelpers.d.ts +0 -345
  222. package/dist/jestutils/jestHelpers.d.ts.map +0 -1
  223. package/dist/jestutils/jestHelpers.js.map +0 -1
  224. package/dist/logger/export.d.ts +0 -2
  225. package/dist/logger/export.d.ts.map +0 -1
  226. package/dist/logger/export.js.map +0 -1
  227. package/dist/matter/behaviors.d.ts +0 -2
  228. package/dist/matter/behaviors.d.ts.map +0 -1
  229. package/dist/matter/behaviors.js.map +0 -1
  230. package/dist/matter/clusters.d.ts +0 -2
  231. package/dist/matter/clusters.d.ts.map +0 -1
  232. package/dist/matter/clusters.js.map +0 -1
  233. package/dist/matter/devices.d.ts +0 -2
  234. package/dist/matter/devices.d.ts.map +0 -1
  235. package/dist/matter/devices.js.map +0 -1
  236. package/dist/matter/endpoints.d.ts +0 -2
  237. package/dist/matter/endpoints.d.ts.map +0 -1
  238. package/dist/matter/endpoints.js.map +0 -1
  239. package/dist/matter/export.d.ts +0 -5
  240. package/dist/matter/export.d.ts.map +0 -1
  241. package/dist/matter/export.js.map +0 -1
  242. package/dist/matter/types.d.ts +0 -3
  243. package/dist/matter/types.d.ts.map +0 -1
  244. package/dist/matter/types.js.map +0 -1
  245. package/dist/matterNode.d.ts +0 -342
  246. package/dist/matterNode.d.ts.map +0 -1
  247. package/dist/matterNode.js.map +0 -1
  248. package/dist/matterbridge.d.ts +0 -505
  249. package/dist/matterbridge.d.ts.map +0 -1
  250. package/dist/matterbridge.js.map +0 -1
  251. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -41
  252. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  253. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  254. package/dist/matterbridgeBehaviors.d.ts +0 -2404
  255. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  256. package/dist/matterbridgeBehaviors.js.map +0 -1
  257. package/dist/matterbridgeDeviceTypes.d.ts +0 -698
  258. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  259. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  260. package/dist/matterbridgeDynamicPlatform.d.ts +0 -41
  261. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  262. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  263. package/dist/matterbridgeEndpoint.d.ts +0 -1507
  264. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  265. package/dist/matterbridgeEndpoint.js.map +0 -1
  266. package/dist/matterbridgeEndpointHelpers.d.ts +0 -787
  267. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  268. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  269. package/dist/matterbridgeEndpointTypes.d.ts +0 -166
  270. package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
  271. package/dist/matterbridgeEndpointTypes.js.map +0 -1
  272. package/dist/matterbridgePlatform.d.ts +0 -539
  273. package/dist/matterbridgePlatform.d.ts.map +0 -1
  274. package/dist/matterbridgePlatform.js.map +0 -1
  275. package/dist/matterbridgeTypes.d.ts +0 -252
  276. package/dist/matterbridgeTypes.d.ts.map +0 -1
  277. package/dist/matterbridgeTypes.js.map +0 -1
  278. package/dist/pluginManager.d.ts +0 -372
  279. package/dist/pluginManager.d.ts.map +0 -1
  280. package/dist/pluginManager.js.map +0 -1
  281. package/dist/shelly.d.ts +0 -181
  282. package/dist/shelly.d.ts.map +0 -1
  283. package/dist/shelly.js.map +0 -1
  284. package/dist/storage/export.d.ts +0 -2
  285. package/dist/storage/export.d.ts.map +0 -1
  286. package/dist/storage/export.js.map +0 -1
  287. package/dist/update.d.ts +0 -84
  288. package/dist/update.d.ts.map +0 -1
  289. package/dist/update.js.map +0 -1
  290. package/dist/utils/colorUtils.d.ts +0 -101
  291. package/dist/utils/colorUtils.d.ts.map +0 -1
  292. package/dist/utils/colorUtils.js.map +0 -1
  293. package/dist/utils/commandLine.d.ts +0 -66
  294. package/dist/utils/commandLine.d.ts.map +0 -1
  295. package/dist/utils/commandLine.js.map +0 -1
  296. package/dist/utils/copyDirectory.d.ts +0 -35
  297. package/dist/utils/copyDirectory.d.ts.map +0 -1
  298. package/dist/utils/copyDirectory.js.map +0 -1
  299. package/dist/utils/createDirectory.d.ts +0 -34
  300. package/dist/utils/createDirectory.d.ts.map +0 -1
  301. package/dist/utils/createDirectory.js.map +0 -1
  302. package/dist/utils/createZip.d.ts +0 -39
  303. package/dist/utils/createZip.d.ts.map +0 -1
  304. package/dist/utils/createZip.js.map +0 -1
  305. package/dist/utils/deepCopy.d.ts +0 -32
  306. package/dist/utils/deepCopy.d.ts.map +0 -1
  307. package/dist/utils/deepCopy.js.map +0 -1
  308. package/dist/utils/deepEqual.d.ts +0 -54
  309. package/dist/utils/deepEqual.d.ts.map +0 -1
  310. package/dist/utils/deepEqual.js.map +0 -1
  311. package/dist/utils/error.d.ts +0 -45
  312. package/dist/utils/error.d.ts.map +0 -1
  313. package/dist/utils/error.js.map +0 -1
  314. package/dist/utils/export.d.ts +0 -13
  315. package/dist/utils/export.d.ts.map +0 -1
  316. package/dist/utils/export.js.map +0 -1
  317. package/dist/utils/format.d.ts +0 -53
  318. package/dist/utils/format.d.ts.map +0 -1
  319. package/dist/utils/format.js.map +0 -1
  320. package/dist/utils/hex.d.ts +0 -89
  321. package/dist/utils/hex.d.ts.map +0 -1
  322. package/dist/utils/hex.js.map +0 -1
  323. package/dist/utils/inspector.d.ts +0 -87
  324. package/dist/utils/inspector.d.ts.map +0 -1
  325. package/dist/utils/inspector.js.map +0 -1
  326. package/dist/utils/isValid.d.ts +0 -103
  327. package/dist/utils/isValid.d.ts.map +0 -1
  328. package/dist/utils/isValid.js.map +0 -1
  329. package/dist/utils/network.d.ts +0 -140
  330. package/dist/utils/network.d.ts.map +0 -1
  331. package/dist/utils/network.js.map +0 -1
  332. package/dist/utils/spawn.d.ts +0 -33
  333. package/dist/utils/spawn.d.ts.map +0 -1
  334. package/dist/utils/spawn.js.map +0 -1
  335. package/dist/utils/tracker.d.ts +0 -108
  336. package/dist/utils/tracker.d.ts.map +0 -1
  337. package/dist/utils/tracker.js.map +0 -1
  338. package/dist/utils/wait.d.ts +0 -54
  339. package/dist/utils/wait.d.ts.map +0 -1
  340. package/dist/utils/wait.js.map +0 -1
  341. package/dist/workerGlobalPrefix.d.ts +0 -25
  342. package/dist/workerGlobalPrefix.d.ts.map +0 -1
  343. package/dist/workerGlobalPrefix.js.map +0 -1
  344. package/dist/workerTypes.d.ts +0 -52
  345. package/dist/workerTypes.d.ts.map +0 -1
  346. package/dist/workerTypes.js.map +0 -1
  347. package/dist/workers.d.ts +0 -69
  348. package/dist/workers.d.ts.map +0 -1
  349. package/dist/workers.js.map +0 -1
  350. package/scripts/data_model.mjs +0 -2058
  351. package/scripts/fetch-chip.mjs +0 -102
  352. package/scripts/marked.mjs +0 -133
  353. package/scripts/markedFooter.html +0 -42
  354. package/scripts/markedHeader.html +0 -78
@@ -1,841 +0,0 @@
1
- /**
2
- * This file contains the BroadcastServer types.
3
- *
4
- * @file broadcastServerTypes.ts
5
- * @author Luca Liguori
6
- * @created 2025-10-05
7
- * @version 2.0.0
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
- import { LogLevel } from 'node-ansi-logger';
25
- import { EndpointNumber } from '@matter/types/datatype';
26
- import { RefreshRequiredChanged, WsMessageBroadcast } from './frontendTypes.js';
27
- import type { PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
28
- import type { ApiMatter, ApiPlugin, BaseDevice, Plugin, StoragePlugin } from './matterbridgeTypes.js';
29
- /** Types of worker source */
30
- export type WorkerSrcType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates';
31
- /** Types of worker destination */
32
- export type WorkerDstType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates' | 'all';
33
- /** Normalized message request structure */
34
- type NormalizeRequest<T> = T extends {
35
- params: infer P;
36
- } ? ([P] extends [undefined] ? {
37
- params?: undefined;
38
- } : {
39
- params: P;
40
- }) : Record<never, never>;
41
- /** Message request structure with id, timestamp, src and dst */
42
- type WorkerMessageRequestMap = {
43
- [K in keyof WorkerMessageTypes]: {
44
- type: K;
45
- id?: number;
46
- timestamp?: number;
47
- src: WorkerSrcType;
48
- dst: WorkerDstType;
49
- } & NormalizeRequest<WorkerMessageTypes[K]['request']>;
50
- };
51
- /** Message request structure with id, timestamp, src and dst */
52
- export type WorkerMessageRequest<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequestMap[K];
53
- /** Normalized message response success structure that guarantees a successful result */
54
- type NormalizeResponseSuccess<T> = T & {
55
- error?: never;
56
- };
57
- /** Normalized message response error structure that guarantees an error-only payload */
58
- type NormalizeResponseError<T> = {
59
- error: string;
60
- } & {
61
- [K in keyof T]?: never;
62
- };
63
- /** Normalized message response structure */
64
- type NormalizeResponse<T> = NormalizeResponseSuccess<T> | NormalizeResponseError<T>;
65
- /** Message response structure with id, timestamp, elapsed, src and dst */
66
- type WorkerMessageResponseMap = {
67
- [K in keyof WorkerMessageTypes]: {
68
- type: K;
69
- id?: number;
70
- timestamp?: number;
71
- elapsed?: number;
72
- src: WorkerSrcType;
73
- dst: WorkerDstType;
74
- } & NormalizeResponse<WorkerMessageTypes[K]['response']>;
75
- };
76
- /** Message response structure with id, timestamp, elapsed, src and dst */
77
- export type WorkerMessageResponse<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseMap[K];
78
- /** Message response success structure that guarantees a successful result */
79
- type WorkerMessageResponseSuccessMap = {
80
- [K in keyof WorkerMessageTypes]: {
81
- type: K;
82
- id?: number;
83
- timestamp?: number;
84
- elapsed?: number;
85
- src: WorkerSrcType;
86
- dst: WorkerDstType;
87
- } & NormalizeResponseSuccess<WorkerMessageTypes[K]['response']>;
88
- };
89
- /** Message response success structure that guarantees a successful result */
90
- export type WorkerMessageResponseSuccess<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseSuccessMap[K];
91
- /** Message response error structure */
92
- type WorkerMessageResponseErrorMap = {
93
- [K in keyof WorkerMessageTypes]: {
94
- type: K;
95
- id?: number;
96
- timestamp?: number;
97
- elapsed?: number;
98
- src: WorkerSrcType;
99
- dst: WorkerDstType;
100
- } & NormalizeResponseError<WorkerMessageTypes[K]['response']>;
101
- };
102
- /** Message response error structure */
103
- export type WorkerMessageResponseError<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseErrorMap[K];
104
- /** Convenience alias for any worker request */
105
- export type WorkerMessageRequestAny = WorkerMessageRequest<keyof WorkerMessageTypes>;
106
- /** Resolve a successful response type based on the originating request */
107
- export type WorkerMessageResponseSuccessForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseSuccess<Extract<keyof WorkerMessageTypes, T['type']>>;
108
- /** Resolve an error response type based on the originating request */
109
- export type WorkerMessageResponseErrorForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseError<Extract<keyof WorkerMessageTypes, T['type']>>;
110
- /** Union type for WorkerMessageRequest and WorkerMessageResponse */
111
- export type WorkerMessage<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequest<K> | WorkerMessageResponse<K> | WorkerMessageResponseSuccess<K> | WorkerMessageResponseError<K>;
112
- /** Map of all worker message types with their request and response structures */
113
- export type WorkerMessageTypes = {
114
- 'jest': {
115
- request: {
116
- params: {
117
- userId: number;
118
- };
119
- };
120
- response: {
121
- result: {
122
- name: string;
123
- age: number;
124
- };
125
- };
126
- };
127
- 'jest_simple': {
128
- request: {
129
- params: undefined;
130
- };
131
- response: {
132
- result: {
133
- success: true;
134
- };
135
- };
136
- };
137
- 'get_log_level': {
138
- request: {
139
- params: undefined;
140
- };
141
- response: {
142
- result: {
143
- logLevel: LogLevel;
144
- };
145
- };
146
- };
147
- 'set_log_level': {
148
- request: {
149
- params: {
150
- logLevel: LogLevel;
151
- };
152
- };
153
- response: {
154
- result: {
155
- logLevel: LogLevel;
156
- };
157
- };
158
- };
159
- 'matterbridge_initialize': {
160
- request: {
161
- params: undefined;
162
- };
163
- response: {
164
- result: {
165
- success: true;
166
- };
167
- };
168
- };
169
- 'matterbridge_latest_version': {
170
- request: {
171
- params: {
172
- version: string;
173
- };
174
- };
175
- response: {
176
- result: {
177
- success: true;
178
- };
179
- };
180
- };
181
- 'matterbridge_global_prefix': {
182
- request: {
183
- params: {
184
- prefix: string;
185
- };
186
- };
187
- response: {
188
- result: {
189
- success: true;
190
- };
191
- };
192
- };
193
- 'matterbridge_dev_version': {
194
- request: {
195
- params: {
196
- version: string;
197
- };
198
- };
199
- response: {
200
- result: {
201
- success: true;
202
- };
203
- };
204
- };
205
- 'matterbridge_sys_update': {
206
- request: {
207
- params: {
208
- available: boolean;
209
- };
210
- };
211
- response: {
212
- result: {
213
- success: true;
214
- };
215
- };
216
- };
217
- 'matterbridge_main_update': {
218
- request: {
219
- params: {
220
- available: boolean;
221
- };
222
- };
223
- response: {
224
- result: {
225
- success: true;
226
- };
227
- };
228
- };
229
- 'matter_start': {
230
- request: {
231
- params: {
232
- storeId: string;
233
- };
234
- };
235
- response: {
236
- result: {
237
- storeId: string;
238
- success: true;
239
- };
240
- };
241
- };
242
- 'matter_stop': {
243
- request: {
244
- params: {
245
- storeId: string;
246
- };
247
- };
248
- response: {
249
- result: {
250
- storeId: string;
251
- success: true;
252
- };
253
- };
254
- };
255
- 'frontend_start': {
256
- request: {
257
- params: {
258
- port: number;
259
- };
260
- };
261
- response: {
262
- result: {
263
- success: true;
264
- };
265
- };
266
- };
267
- 'frontend_stop': {
268
- request: {
269
- params: undefined;
270
- };
271
- response: {
272
- result: {
273
- success: true;
274
- };
275
- };
276
- };
277
- 'frontend_refreshrequired': {
278
- request: {
279
- params: {
280
- changed: RefreshRequiredChanged;
281
- matter?: ApiMatter;
282
- };
283
- };
284
- response: {
285
- result: {
286
- success: true;
287
- };
288
- };
289
- };
290
- 'frontend_restartrequired': {
291
- request: {
292
- params: {
293
- snackbar: boolean;
294
- fixed: boolean;
295
- };
296
- };
297
- response: {
298
- result: {
299
- success: true;
300
- };
301
- };
302
- };
303
- 'frontend_restartnotrequired': {
304
- request: {
305
- params: {
306
- snackbar: boolean;
307
- };
308
- };
309
- response: {
310
- result: {
311
- success: true;
312
- };
313
- };
314
- };
315
- 'frontend_updaterequired': {
316
- request: {
317
- params: {
318
- devVersion: boolean;
319
- };
320
- };
321
- response: {
322
- result: {
323
- success: true;
324
- };
325
- };
326
- };
327
- 'frontend_snackbarmessage': {
328
- request: {
329
- params: {
330
- message: string;
331
- timeout?: number;
332
- severity?: 'info' | 'success' | 'warning' | 'error';
333
- };
334
- };
335
- response: {
336
- result: {
337
- success: true;
338
- };
339
- };
340
- };
341
- 'frontend_attributechanged': {
342
- request: {
343
- params: {
344
- plugin: string;
345
- serialNumber: string;
346
- uniqueId: string;
347
- number: EndpointNumber;
348
- id: string;
349
- cluster: string;
350
- attribute: string;
351
- value: number | string | boolean | null;
352
- };
353
- };
354
- response: {
355
- result: {
356
- success: true;
357
- };
358
- };
359
- };
360
- 'frontend_logmessage': {
361
- request: {
362
- params: {
363
- level: string;
364
- time: string;
365
- name: string;
366
- message: string;
367
- };
368
- };
369
- response: {
370
- result: {
371
- success: true;
372
- };
373
- };
374
- };
375
- 'frontend_broadcast_message': {
376
- request: {
377
- params: {
378
- msg: WsMessageBroadcast;
379
- };
380
- };
381
- response: {
382
- result: {
383
- success: true;
384
- };
385
- };
386
- };
387
- 'plugins_length': {
388
- request: {
389
- params: undefined;
390
- };
391
- response: {
392
- result: {
393
- length: number;
394
- };
395
- };
396
- };
397
- 'plugins_size': {
398
- request: {
399
- params: undefined;
400
- };
401
- response: {
402
- result: {
403
- size: number;
404
- };
405
- };
406
- };
407
- 'plugins_has': {
408
- request: {
409
- params: {
410
- name: string;
411
- };
412
- };
413
- response: {
414
- result: {
415
- has: boolean;
416
- };
417
- };
418
- };
419
- 'plugins_get': {
420
- request: {
421
- params: {
422
- name: string;
423
- };
424
- };
425
- response: {
426
- result: {
427
- plugin: ApiPlugin | undefined;
428
- };
429
- };
430
- };
431
- 'plugins_set': {
432
- request: {
433
- params: {
434
- plugin: ApiPlugin;
435
- };
436
- };
437
- response: {
438
- result: {
439
- plugin: ApiPlugin;
440
- };
441
- };
442
- };
443
- 'plugins_clear': {
444
- request: {
445
- params: undefined;
446
- };
447
- response: {
448
- result: {
449
- success: true;
450
- };
451
- };
452
- };
453
- 'plugins_storagepluginarray': {
454
- request: {
455
- params: undefined;
456
- };
457
- response: {
458
- result: {
459
- plugins: StoragePlugin[];
460
- };
461
- };
462
- };
463
- 'plugins_apipluginarray': {
464
- request: {
465
- params: undefined;
466
- };
467
- response: {
468
- result: {
469
- plugins: ApiPlugin[];
470
- };
471
- };
472
- };
473
- 'plugins_loadFromStorage': {
474
- request: {
475
- params: undefined;
476
- };
477
- response: {
478
- result: {
479
- plugins: ApiPlugin[];
480
- };
481
- };
482
- };
483
- 'plugins_saveToStorage': {
484
- request: {
485
- params: undefined;
486
- };
487
- response: {
488
- result: {
489
- count: number;
490
- };
491
- };
492
- };
493
- 'plugins_resolve': {
494
- request: {
495
- params: {
496
- pluginPath: string;
497
- };
498
- };
499
- response: {
500
- result: {
501
- resolved: string | null;
502
- };
503
- };
504
- };
505
- 'plugins_install': {
506
- request: {
507
- params: {
508
- packageName: string;
509
- };
510
- };
511
- response: {
512
- result: {
513
- packageName: string;
514
- success: boolean;
515
- };
516
- };
517
- };
518
- 'plugins_uninstall': {
519
- request: {
520
- params: {
521
- packageName: string;
522
- };
523
- };
524
- response: {
525
- result: {
526
- packageName: string;
527
- success: boolean;
528
- };
529
- };
530
- };
531
- 'plugins_parse': {
532
- request: {
533
- params: {
534
- plugin: Plugin;
535
- };
536
- };
537
- response: {
538
- result: {
539
- packageJson: Record<string, unknown> | null;
540
- };
541
- };
542
- };
543
- 'plugins_enable': {
544
- request: {
545
- params: {
546
- nameOrPath: string;
547
- };
548
- };
549
- response: {
550
- result: {
551
- plugin: ApiPlugin | null;
552
- };
553
- };
554
- };
555
- 'plugins_disable': {
556
- request: {
557
- params: {
558
- nameOrPath: string;
559
- };
560
- };
561
- response: {
562
- result: {
563
- plugin: ApiPlugin | null;
564
- };
565
- };
566
- };
567
- 'plugins_remove': {
568
- request: {
569
- params: {
570
- nameOrPath: string;
571
- };
572
- };
573
- response: {
574
- result: {
575
- plugin: ApiPlugin | null;
576
- };
577
- };
578
- };
579
- 'plugins_add': {
580
- request: {
581
- params: {
582
- nameOrPath: string;
583
- };
584
- };
585
- response: {
586
- result: {
587
- plugin: ApiPlugin | null;
588
- };
589
- };
590
- };
591
- 'plugins_load': {
592
- request: {
593
- params: {
594
- plugin: ApiPlugin | string;
595
- start?: boolean;
596
- message?: string;
597
- configure?: boolean;
598
- };
599
- };
600
- response: {
601
- result: {
602
- platform: unknown | undefined;
603
- };
604
- };
605
- };
606
- 'plugins_start': {
607
- request: {
608
- params: {
609
- plugin: ApiPlugin | string;
610
- message?: string;
611
- configure?: boolean;
612
- };
613
- };
614
- response: {
615
- result: {
616
- plugin: ApiPlugin | undefined;
617
- };
618
- };
619
- };
620
- 'plugins_configure': {
621
- request: {
622
- params: {
623
- plugin: ApiPlugin | string;
624
- };
625
- };
626
- response: {
627
- result: {
628
- plugin: ApiPlugin | undefined;
629
- };
630
- };
631
- };
632
- 'plugins_shutdown': {
633
- request: {
634
- params: {
635
- plugin: ApiPlugin | string;
636
- reason?: string;
637
- removeAllDevices?: boolean;
638
- force?: boolean;
639
- };
640
- };
641
- response: {
642
- result: {
643
- plugin: ApiPlugin | undefined;
644
- };
645
- };
646
- };
647
- 'plugins_loadconfig': {
648
- request: {
649
- params: {
650
- plugin: ApiPlugin;
651
- };
652
- };
653
- response: {
654
- result: {
655
- config: PlatformConfig;
656
- };
657
- };
658
- };
659
- 'plugins_saveconfigfromplugin': {
660
- request: {
661
- params: {
662
- name: string;
663
- restartRequired?: boolean;
664
- };
665
- };
666
- response: {
667
- result: {
668
- success: true;
669
- };
670
- };
671
- };
672
- 'plugins_saveconfigfromjson': {
673
- request: {
674
- params: {
675
- name: string;
676
- config: PlatformConfig;
677
- restartRequired?: boolean;
678
- };
679
- };
680
- response: {
681
- result: {
682
- success: true;
683
- };
684
- };
685
- };
686
- 'plugins_loadschema': {
687
- request: {
688
- params: {
689
- name: string;
690
- };
691
- };
692
- response: {
693
- result: {
694
- schema: PlatformSchema | undefined;
695
- };
696
- };
697
- };
698
- 'plugins_getschema': {
699
- request: {
700
- params: {
701
- name: string;
702
- };
703
- };
704
- response: {
705
- result: {
706
- schema: PlatformSchema | undefined;
707
- };
708
- };
709
- };
710
- 'plugins_setschema': {
711
- request: {
712
- params: {
713
- name: string;
714
- schema: PlatformSchema;
715
- };
716
- };
717
- response: {
718
- result: {
719
- success: true;
720
- };
721
- };
722
- };
723
- 'plugins_set_latest_version': {
724
- request: {
725
- params: {
726
- plugin: ApiPlugin;
727
- version: string;
728
- };
729
- };
730
- response: {
731
- result: {
732
- success: true;
733
- };
734
- };
735
- };
736
- 'plugins_set_dev_version': {
737
- request: {
738
- params: {
739
- plugin: ApiPlugin;
740
- version: string;
741
- };
742
- };
743
- response: {
744
- result: {
745
- success: true;
746
- };
747
- };
748
- };
749
- 'devices_length': {
750
- request: {
751
- params: undefined;
752
- };
753
- response: {
754
- result: {
755
- length: number;
756
- };
757
- };
758
- };
759
- 'devices_size': {
760
- request: {
761
- params: undefined;
762
- };
763
- response: {
764
- result: {
765
- size: number;
766
- };
767
- };
768
- };
769
- 'devices_has': {
770
- request: {
771
- params: {
772
- uniqueId: string;
773
- };
774
- };
775
- response: {
776
- result: {
777
- has: boolean;
778
- };
779
- };
780
- };
781
- 'devices_get': {
782
- request: {
783
- params: {
784
- uniqueId: string;
785
- };
786
- };
787
- response: {
788
- result: {
789
- device: BaseDevice | undefined;
790
- };
791
- };
792
- };
793
- 'devices_set': {
794
- request: {
795
- params: {
796
- device: BaseDevice;
797
- };
798
- };
799
- response: {
800
- result: {
801
- device: BaseDevice;
802
- };
803
- };
804
- };
805
- 'devices_remove': {
806
- request: {
807
- params: {
808
- device: BaseDevice;
809
- };
810
- };
811
- response: {
812
- result: {
813
- success: boolean;
814
- };
815
- };
816
- };
817
- 'devices_clear': {
818
- request: {
819
- params: undefined;
820
- };
821
- response: {
822
- result: {
823
- success: true;
824
- };
825
- };
826
- };
827
- 'devices_basearray': {
828
- request: {
829
- params: {
830
- pluginName?: string;
831
- };
832
- };
833
- response: {
834
- result: {
835
- devices: BaseDevice[];
836
- };
837
- };
838
- };
839
- };
840
- export {};
841
- //# sourceMappingURL=broadcastServerTypes.d.ts.map